Commit Graph

2222 Commits

Author SHA1 Message Date
jakllsch
d1868e6ec7 mknative-gcc for gcc 9.3.0 and aarch64eb 2020-09-06 23:23:21 +00:00
christos
dfab1b7eb2 comment out ioctl that is only defined for the kernel 2020-09-06 17:15:09 +00:00
mrg
701bf241fe note that aarch64, earm*, sh3*, sparc*, vax, and x86-64 are
slightly updated in status.  x86-64 and sparc and mips64-eb
all appear to work well enough to complete or get well into
an atf run (still going.)

note first ICE segv on sh3
2020-09-06 13:06:03 +00:00
mrg
472eadc88c re-port to netbsd/sparc*
fix build on non-constant pagesize platforms and for dkbad.
2020-09-06 10:55:16 +00:00
mrg
d2657b0349 build-hash-table.lo and build-vec.lo depend upon $HASH_TABLE_H not $GGC_H 2020-09-06 10:50:53 +00:00
mrg
eccee43a27 fix merge botch: netbsd doesn't want any of this. 2020-09-06 05:30:17 +00:00
mrg
4983628f40 mknative-gcc for gcc 9.3.0 and earmv5*. 2020-09-06 02:25:13 +00:00
mrg
45b0095c0d update mknative-gcc status. everything but earmv5 is done, though
few have been tested to actually build yet.
2020-09-05 23:18:49 +00:00
mrg
3d883ed1cc mknative-gcc for gcc 9.3.0 and arm, earmv[467]*, i386, mipseb, mips64*,
and powerpc64.
2020-09-05 23:13:13 +00:00
mrg
79ec32295a don't include vxworks-dummy.h twice 2020-09-05 22:41:17 +00:00
mrg
dec7c72467 mknative-gcc for gcc 9.3.0 and arm64, alpha, hppa, ia64, m68*, mipseb,
powerpc, riscv*, sh3*, sparc*, vax.

move data from README.gcc8 to README.gcc9.
2020-09-05 22:16:57 +00:00
mrg
15f8aa285a make GCC 9.3.0 build itself:
- common-target is needed before common now
- complete build-sort.o framework
- fix cyclic dep
- fix .c vs .cc issues
2020-09-05 14:24:25 +00:00
mrg
b5ca7043a9 mknative-gcc for gcc 9.3.0 and amd64.
the tree has quite a number of issues to resolve before it builds.
2020-09-05 13:41:00 +00:00
mrg
57c87668e3 work around various headers not being fully open without some
special #define being present (ie, define them.)
2020-09-05 13:36:49 +00:00
mrg
5db494bf17 fix various merge botches; we may need to re-port the ThreadLister code. 2020-09-05 13:35:55 +00:00
mrg
c4c51006fe find header files in /usr/include/gcc-9 and the gcc cpu dir. 2020-09-05 12:19:25 +00:00
mrg
fbc31b01a6 endfor not endif 2020-09-05 11:40:56 +00:00
mrg
8ecbf5f02b port reachover framework to GCC 9. 2020-09-05 09:50:15 +00:00
mrg
654d12c008 merge GCC 9.3.0. 2020-09-05 09:12:22 +00:00
mrg
181254a7b1 initial import of GCC 9.3.0. changes include:
- live patching support
- shell completion help
- generally better diagnostic output (less verbose/more useful)
- diagnostics and optimisation choices can be emitted in json
- asan memory usage reduction
- many general, and specific to switch, inter-procedure,
  profile and link-time optimisations.  from the release notes:
  "Overall compile time of Firefox 66 and LibreOffice 6.2.3 on
  an 8-core machine was reduced by about 5% compared to GCC 8.3"
- OpenMP 5.0 support
- better spell-guesser
- partial experimental support for c2x and c++2a
- c++17 is no longer experimental
- arm AAPCS GCC 6-8 structure passing bug fixed, may cause
  incompatibility (restored compat with GCC 5 and earlier.)
- openrisc support
2020-09-05 07:52:00 +00:00
jakllsch
e98c6d562d Native GCC (old) for aarch64eb 2020-09-04 02:30:44 +00:00
jakllsch
8ee653d33c Native GCC (new) for aarch64eb 2020-09-04 02:29:54 +00:00
jakllsch
998e6be0d9 Build driver-aarch64.c for both endians of aarch64 2020-09-04 02:26:57 +00:00
jakllsch
6bc7d0c5ed Regen native-binutils for aarch64eb 2020-09-04 02:24:57 +00:00
jakllsch
dbd5c7f03a Treat aarch64eb the same as aarch64, enabling aarch64eb build 2020-09-03 18:30:05 +00:00
jakllsch
9f4a03f995 Teach config.gcc about NetBSD aarch64eb 2020-09-02 14:13:20 +00:00
mrg
a2dc1f3fac merge GCC 8.4 into gcc.old. 2020-08-19 07:46:31 +00:00
mrg
cef8759bd7 initial GCC 8.4 -> gcc.old import. 2020-08-18 23:31:16 +00:00
mrg
04ac9a9074 regen mknative files for GCC 7.5. 2020-08-13 07:19:59 +00:00
mrg
f3b893878b delete this file; it needs to be newer than the .l file or
else sys.mk will attempt to write it to the source tree,
which may be r/o and fail.

XXX may cause updates builds to fail because a file listed
in .depend won't exist anymore.
2020-08-12 06:42:53 +00:00
mrg
a05ac97e64 merge GCC 7.5.0 into gcc.old. .. just in time to be obsolete? :) 2020-08-11 08:45:54 +00:00
mrg
a3e9eb183f re-import GCC 8.4.0. 2020-08-11 05:30:02 +00:00
mrg
8b6133e5b3 import GCC 7.5.0. doing this here so that the vendor branch has
the code we'll merge into gcc.old and the netbsd-9 tree gcc tree.
GCC 8.4.0 will be imported immediately on top of this again,
restoring the current status.

these PRs in the GCC bugzilla are fixed with this update:

89869 80693 89795 84272 85593 86669 87148 87647 87895 88103 88107 88563
88870 88976 89002 89187 89195 89234 89303 89314 89354 89361 89403 89412
89512 89520 89590 89621 89663 89679 89704 89734 89872 89933 90090 90208
87075 85870 89009 89242 88167 80864 81933 85890 86608 87145 88857 89024
89119 89214 89511 89612 89705 89400 81740 82186 84552 86554 87609 88105
88149 88415 88739 88903 89135 89223 89296 89505 89572 89677 89698 89710
90006 90020 90071 90328 90474 91126 91162 91812 91887 90075 88998 89945
87047 87506 88074 88656 88740 91137 89008 84010 89349 91136 91347 91995
89397 87030 60702 78884 85594 87649 87725 88181 88470 88553 88568 88588
88620 88644 88906 88949 89246 89587 89726 89768 89796 89998 90108 90756
90950 91704 88825 88983 86538 51333 89446 90220 91308 92143 89392 90213
90278 91131 91200 91510 89037 91481 87673 88418 88938 88948 90547 27221
58321 61250 67183 67958 77583 83531 86215 88648 88720 88726 89091 89466
89629 90105 90329 90585 90760 90924 91087 89222 81956 71861 35031 69455
81849 82993 85798 88138 88155 88169 88205 88206 88228 88249 88269 88376
77703 80260 82077 86248 88393 90786 57048 66089 66695 67679 68009 71723
72714 84394 85544 87734 88298 90937 91557 63891 64132 65342 68649 68717
71066 71860 71935 77746 78421 78645 78865 78983 79485 79540 85953 88326
89651 90744
2020-08-11 05:10:28 +00:00
rin
a23bb52581 Update table for m68000 and m68k ports:
- m68000 and m68k are running.
- ``make release'' completes for all m68k ports.
- amiga, mac68k, and sun3 are running.
2020-08-10 10:42:10 +00:00
rin
6207338cca PR port-m68k/55556
Reset STACK_BOUNDARY to default, 16, to fix strange freeze for amiga,
when kernel is compiled by GCC8.

For m68k, the stack pointer is required to be aligned to 16-bit boundary
by architecture. Whereas System V ABI demands it to be aligned to 32-bit
boundary.

According to the document, STACK_BOUNDARY is ``the minimum alignment
enforced by hardware for the stack pointer on this machine.'' Whereas,
PREFERRED_STACK_BOUNDARY should be used ``if you wish to preserve a
certain alignment for the stack pointer, greater than what the hardware
enforces.''

Therefore, STACK_BOUNDARY and PREFERRED_STACK_BOUNDARY should be 16 and
32, respectively, for m68k. This is how Linux/m68k does.

GCC 8 generates codes that wisely allocate 64-bit objects on stack by
using STACK_BOUNDARY. This corrupts the stack frame if it is not properly
aligned.

Since the architecture only guarantees the stack pointer to be aligned to
16-bit boundary, it is not aligned to 32-bit boundary in an instance in
general. If the interrupt occurs at this moment, the interrupt handler
spoils the stack frame as explained above, which results in the mysterious
kernel freezes.

I guess that similar failures can occur even for userland with signal.

With this setting, amiga kernel works just fine as far as I can see.
Furthermore, I've confirmed for amiga, mac68k, and sun3,

(1)   Kernel compiled by patched GCC8 works with
(1-a) userland built by GCC7 and non-modified GCC8, and
(1-b) userland built by patched GCC8.

(2)   Userland binaries compiled by GCC7 and non-modified GCC8 work fine
      with kernel and base libraries built by patched GCC8.

(3)   There's no regression observed for tests/kernel, tests/lib/libc/sys,
      and tests/lib/libc/gen.

This also fixes sun2 kernel to a considerable extent. With non-modified
GCC8, sun2 kernel crashes in strange ways during the early boot stages.
With this change, it boots singleuser.

OK mrg
2020-08-10 06:24:39 +00:00
christos
d913e2166f regen for a.out vectors 2020-08-08 19:26:33 +00:00
christos
51b06f7eb5 Put back the a.out netbsd and bsd vector. They are useful for debugging
old a.out binaries and take ~0 space.
2020-08-08 19:26:09 +00:00
lukem
7115637964 Fix addition of C++ .cc source to SRCS
Fix assumption that all of the source files are .c, as some are .cc.

Not tested, based on similar change to
  external/gpl3/gcc/usr.bin/cc1plus/Makefile
2020-07-01 08:25:44 +00:00
lukem
b252a0e204 use ggc-none.c not ggc-none.o in SRCS
not tested, based on similar change to
 external/gpl3/gcc/usr.bin/lto-wrapper/Makefile
2020-07-01 07:54:24 +00:00
lukem
41feef0356 Fix addition of C++ .cc source to SRCS
Fix assumption that all of the source files are .c, as some are .cc.
2020-06-29 08:34:17 +00:00
lukem
96e11f690b use ggc-none.c not ggc-none.o in SRCS 2020-06-29 08:30:42 +00:00
rin
c57c4e528d PR bin/55411 (Akihiko HAYASHI)
Remove stray ``&&'' introduced in the previous revision, so that
host tools are correctly passed to configure script.

No similar problem for gcc.old. No release branches are affected.
2020-06-24 05:06:08 +00:00
fox
cdb11efe4c external/gpl3/gcc: Suppress -Werror=maybe-uninitialized
Seems like false positive since the ASM_GENERATE_INTERNAL_LABEL macro
stores the value into prev_label, so it is alright for prev_label to
be uninitialized.

Error was reported when build.sh was run with MKSANITIZER=yes flag.

Reviewed by: kamil@
2020-06-12 14:37:51 +00:00
mrg
7be42f8044 don't elide fortran components. we'd like to revive g77-as-gfortran. 2020-06-02 08:03:59 +00:00
mrg
fcbd0d0d40 alpha, vax, and sh3 have switched. (sh3 swithed a month ago by
accident when i wrote ${MACHINE_ARCH} != "sh3", but this should
have been MACHINE_CPU.)  this means m68k is the only one left.

update various other parts and note some of the m68k issues.
2020-05-29 01:18:50 +00:00
rin
4322d47d74 Revive entrypoint heuristics, accidentally removed in the previous.
Now, e.g., "b main" works again for "gdb /bin/echo" as expected.

See more details:
http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/dist/gdb/alpha-tdep.c#rev1.2

XXX
Single-stepping into shared libraries still fails sometimes;
tracee does not stop at a function in shared library.
We need further analysis...
2020-05-23 00:30:40 +00:00
mrg
303aa44c57 fix build on netbsd-9 hosts. 2020-05-18 21:28:10 +00:00
joerg
0daa3ac7e4 Ignore unused private fields when building with clang 2020-05-15 14:29:53 +00:00
joerg
bdfc26edeb Don't allow building with clang, uses GCC-specific attributes. 2020-05-15 14:29:29 +00:00
rin
4b3fcbc125 Remove hack for amiga introduced for 68060:
http://cvsweb.netbsd.org/bsdweb.cgi/src/gnu/usr.bin/gdb6/libgdb/Attic/Makefile#rev1.9

Now, gdb works fine even if compiled with -march=68060 and -mtune=68060.
2020-05-03 07:10:27 +00:00