Commit Graph

1822 Commits

Author SHA1 Message Date
mrg
40c539ae8c first cut mknative-gcc for gcc7 amd64. i've hand edited some
libgcc files to ease mknative updates.

not functional yet.
2019-01-19 17:11:52 +00:00
mrg
ac39157870 begin to handle new unwind.h and gthr-default.h stuff.
put gthr stuff in a common makefile.

remove ancient unused Makefile.srcs.
2019-01-19 17:11:02 +00:00
mrg
1887939342 regen these for <GCC 7.4.0. 2019-01-19 17:04:06 +00:00
mrg
56f09d6642 gcc 7 will use gcc-7 subdir. 2019-01-19 12:57:32 +00:00
mrg
62ffddee45 disable new s-selftest rule that relies upon missing testsuite. 2019-01-19 12:32:06 +00:00
mrg
a41324a9f3 first pass at merging GCC 7.4.0. unlikely to compile.. 2019-01-19 12:10:03 +00:00
mrg
b17d1066a7 import GCC 7.4.0. main changes include:
The non-standard C++0x type traits has_trivial_default_constructor,
has_trivial_copy_constructor and has_trivial_copy_assign have been
removed.

On ARM targets (arm*-*-*), a bug introduced in GCC 5 that affects
conformance to the procedure call standard (AAPCS) has been fixed.

Many optimiser improvements

DWARF-5 support.

Many new and enhanced warnings.

Warnings about format strings now underline the pertinent part of
the string, and can offer suggested fixes.

Several new warnings related to buffer overflows and buffer
truncation.

New __builtin_add_overflow_p, __builtin_sub_overflow_p,
__builtin_mul_overflow_p built-ins added that test for overflow.

The C++ front end has experimental support for all of the current
C++17 draft.

The -fverbose-asm option has been expanded to prints comments
showing the source lines that correspond to the assembly.

The gcc and g++ driver programs will now provide suggestions for
misspelled arguments to command-line options.


AArch64 specific:

GCC has been updated to the latest revision of the procedure call
standard (AAPCS64) to provide support for parameter passing when
data types have been over-aligned.

The ARMv8.2-A and ARMv8.3-A architecture are now supported.

ARM specific:

Support for the ARMv5 and ARMv5E architectures has been
deprecated (which have no known implementations).

A new command-line option -mpure-code has been added. It does not
allow constant data to be placed in code sections.

x86 specific:

Support for the AVX-512 4FMAPS, 4VNNIW, VPOPCNTDQ and Software
Guard Extensions (SGX) ISA extensions has been added.

PPC specific:

GCC now diagnoses inline assembly that clobbers register r2.

RISC-V specific:

Support for the RISC-V instruction set has been added.

SH specific:

Support for SH5/SH64 has been removed.

Support for SH2A has been enhanced.
2019-01-19 10:13:58 +00:00
christos
a9dc9217bb Descend and build includes even if mkgcccmds=no because we need the header
files during cross build too.
2019-01-18 17:31:39 +00:00
christos
76718fd7da Use the proper stack aligment for the architecture. Fixes broken asan
tests on i386.
2019-01-17 20:36:51 +00:00
christos
3e93b12a17 now that our profiled c library is pic, we can use it in shared objects 2019-01-06 18:15:53 +00:00
christos
a493019100 now that our profiled c library is pic we can use it in shared objects 2019-01-06 18:15:18 +00:00
christos
5ebdac6786 propagate profiling fix from gcc.old:
g++ needs the profiling libraries for stdc++ and math to work.
2019-01-04 18:36:50 +00:00
christos
9b7d2d5975 Specify that we need the profiled libraries when we are linking c++ with
profiling.
2019-01-04 18:35:45 +00:00
christos
ee77022a0d remove the new 2.31 netbsd mips vectors and use the ones we used before
(regen)
2018-12-31 20:57:13 +00:00
christos
5daa785cd5 forgot to commit compilation fix. 2018-12-30 22:48:31 +00:00
rin
dee7fb843d PR toolchain/53810
PR toolchain/53684
PR toolchain/53685

No one defines TARGET_DEFAULT_CPU anymore. Use ENABLE_SHARED_LIBGCC
instead to determine whether GCC is configured for m68k or m68000.
This fixes C++ binaries on m68k, that require libgcc_s.

OK mrg
2018-12-28 21:30:20 +00:00
christos
8005419b95 regen 2018-12-28 21:22:44 +00:00
christos
12b7d692ce remove armnbsd which is not supported anymore. 2018-12-28 20:43:25 +00:00
christos
7e4a484d9f remove m68k a.out/4k and sh64 vectors that are not supported anymore. 2018-12-28 15:46:30 +00:00
christos
dd94f3d50b remove sparc a.out emulations (not supported anymore) 2018-12-28 15:28:36 +00:00
christos
1bcb226eab Remove initfini array rest (restore original FSF version). 2018-12-27 14:53:05 +00:00
mrg
f98fc28f8b make savecore for arm64 basically work.
- move MD lwp "md_ktf" member into struct pcb.  the pcb is used by
  the gdb "bsd-kvm" target code to find the stack of each thread
  and needs to be available in a well known location.
- implement aarch64_nbsd_supply_pcb() in GDB.  makes basic gdb work
  on a crash dump.
- remove '#if L_MD_KTF + 8 == L_MD_CPACR' conditional code, as there
  is no more L_MD_KTF.

with this gdb has minimal working functionality with "target kvm",
and crash can at least "ps" on a crash dump.

ok skrll.
2018-12-27 09:55:27 +00:00
mrg
361b5e9a25 s/Free/Net/; s/amd64/aarch64/. 2018-12-21 11:11:40 +00:00
mrg
0e9d255287 rewrite the CPU identification on arm64:
- publish per-cpu data
- publish a whole bunch of info in struct aarch64_sysctl_cpu_id
  instead of various individual nodes (there are 16 total.)
- add MIDR extractor bits
- define ARMv8.2-A id_aa64mmfr2_el1 and id_aa64zfr0_el1 regs,
  but avoid using them until we make sure they exist.  (these
  members are added to aarch64_sysctl_cpu_id to avoid future
  compat issues.)

the arm32 and aarch32 version of these need to be adjusted as
well (and aarch32 data published at all.)  still trying to
work out how to make the same userland binary running on a
real arm32 or an aarch32 system can work sanely here.

ok ryo@.
2018-11-20 01:59:51 +00:00
mrg
9977f8ab49 pull across from gcc/: regen after GCC 6.5. 2018-11-11 23:14:16 +00:00
mrg
b8bf2b1845 regen after GCC 6.5. 2018-11-11 23:13:10 +00:00
mrg
cb0339e943 merge GCC 6.5.0 into gcc.old. 2018-11-11 22:49:37 +00:00
mrg
e9afa17a23 merge GCC 6.5 into gcc.old (properly this time.) 2018-11-11 20:59:07 +00:00
christos
bbcc6d539d regen 2018-11-08 02:30:14 +00:00
christos
73124e42b8 delete i386 aout vec which has been removed 2018-11-08 02:30:06 +00:00
christos
7c6f6726e3 merge conflicts 2018-11-07 01:13:51 +00:00
christos
c1a2098819 2018-07-18 Nick Clifton <nickc@redhat.com>
2.31.1 Release point.

2018-07-18  Nick Clifton  <nickc@redhat.com>

	* (DEVO_SUPPORT): Fix typo in previous delta.
	(do_proto_toplev): Add --quiet option to configure command line.

2018-07-16  Nick Clifton  <nickc@redhat.com>

	* src-release.sh (DEVO_SUPPORT): Add test-driver and ar-lib.

2018-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config.sub: Sync with upstream version 2018-07-03.

2018-07-05  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config.guess: Sync with upstream version 2018-06-26.
	* config.sub: Sync with upstream version 2018-07-02.

2018-06-24  Nick Clifton  <nickc@redhat.com>

	* configure: Regenerate.

2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>

	* libtool.m4: Use AC_LANG_SOURCE.
	* configure.ac: Remove AC_PREREQ, use AC_LANG_SOURCE.
	* README-maintainer-mode: Update version requirements.
	* ar-lib: New file.
	* test-driver: New file.
	* configure: Re-generate.

2018-06-18  Eric Botcazou  <ebotcazou@adacore.com>

	* Makefile.def (fortran): Add check-target-libgomp-fortran.
	* Makefile.tpl (check-target-libgomp-fortran): New phony target.
	* Makefile.in: Regenerate.

	* configure: Regenerate.

2018-06-18  Simon Marchi  <simon.marchi@ericsson.com>

	* configure.ac: Sync with GCC, remove MPX-related things.

2018-05-01  Nick Clifton  <nickc@redhat.com>

	* config.guess: Synchronize with config project master sources.
	* config.sub: Likewise.

2018-05-01  Francois H. Theron  <francois.theron@netronome.com>

	* configure.ac: Added "nfp" target.
	* configure: Regenerate.

2018-02-13  Maciej W. Rozycki  <macro@mips.com>

	* configure.ac <wasm32-*-*> (noconfigdirs): Add `ld'.
	* configure: Regenerate.

2018-01-30  Nick Clifton  <nickc@redhat.com>

	* src-release.sh (do_proto_toplev): Add patterns for more junk files
	to delete before creating the tarball.

2018-01-29  Nick Clifton  <nickc@redhat.com>

	* src-release.sh (do_proto_toplev): Strip patch remnant files from
	the sources before creating the tarball.

2018-01-13  Nick Clifton  <nickc@redhat.com>

	* src-release.sh: Update copyright notice.  Change reference to devo
	to be a reference to root.
2018-11-06 21:18:32 +00:00
mrg
c9de0e081b - make the build depend upon the BASE-VER file.
- workaround a problem only see with -O2 in ipa-inline.c: it can't
  convince itself that an integer underflow can't happen.
2018-11-06 06:17:29 +00:00
mrg
13795cc727 regenerate everything for GCC 6.5.
sh3eb and sh3el had a problem wtih libstdc++ i had to work around for now.
2018-11-05 08:46:31 +00:00
mrg
52c8e45302 GCC 6.5 ios_failure.cc needs to be compiled with cxx mode. 2018-11-05 08:45:32 +00:00
mrg
d64c77df5f merge GCC 6.5. needs mknative as some new files appeared. 2018-11-04 00:38:12 +00:00
mrg
d79abf0858 import GCC 6.5.0. this is largely a maint release with no
particularly features listed here:

   http://gcc.gnu.org/gcc-6/changes.html

this fixes over 250 PRs in the GCC bugzilla:

   https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=6.5
2018-11-04 00:12:20 +00:00
martin
cd54eb5ef0 VAX does not fully populate the register move costs table, so do not
access it w/o checks.
Hack to work around PR toolchain/53176.
2018-10-29 10:22:56 +00:00
christos
0bee54c3d5 The syslog format attribute is a superset of the printf format attribute
so allow functions marked with the printf format attribute to call syslog
without producing warnings with -Wmissing-format-attribute.
2018-09-14 20:46:46 +00:00
christos
0883f3731a fix the build; this was mis-generated before to an empty file. 2018-09-07 18:41:39 +00:00
mrg
866b3c4cbe merge in missing changes from gcc to gcc.old (both GCC 6.4.):
--
redo mknative-gcc for all ports.  main changes include:
- "#define HAVE_CC_TLS 1" for most/all ports, thanks maya@
- "#define _GLIBCXX_HAVE_LDEXPL 1" and "#define _GLIBCXX_HAVE_TGMATH_H 1"
  for many ports
- arm64 and amd64 had a broken c++config.h that disabled many things
- configargs.h has more normalisation
- ppc64 has a few things fixed, must have missed several mknative rounds
--
regen to pull out INTERNAL_CFLAGS.
--
pull -DHAVE_CC_TLS out of $(INTERNAL_CFLAGS) if it is there, and add
it to CPPFLAGS.

this fixes PR#53567 for me.
2018-09-05 06:26:58 +00:00
mrg
7ef108d600 pull -DHAVE_CC_TLS out of $(INTERNAL_CFLAGS) if it is there, and add
it to CPPFLAGS.

this fixes PR#53567 for me.
2018-09-05 00:51:42 +00:00
mrg
8d0a685795 regen to pull out INTERNAL_CFLAGS. 2018-09-05 00:22:07 +00:00
mrg
82c55164cb redo mknative-gcc for all ports. main changes include:
- "#define HAVE_CC_TLS 1" for most/all ports, thanks maya@
- "#define _GLIBCXX_HAVE_LDEXPL 1" and "#define _GLIBCXX_HAVE_TGMATH_H 1"
  for many ports
- arm64 and amd64 had a broken c++config.h that disabled many things
- configargs.h has more normalisation
- ppc64 has a few things fixed, must have missed several mknative rounds
2018-09-04 18:52:49 +00:00
maya
9e53aadb1c Correct missing paren and regen for gcc.old, too.
Now HAVE_CC_TLS will be defined in confdefs.h.
2018-09-03 22:52:00 +00:00
maya
73c0b39422 Correct extra parens, regen configure (selectively)
Fixes root cause of PR toolchain/53567
2018-09-03 22:41:00 +00:00
mrg
2dd16a5c31 consolidate path for gcc-version specific into GCC_INCSDIR, and
have it derived from the HAVE_GCC value so it does not need to
be modified for newer GCCs.
2018-08-12 21:48:56 +00:00
mrg
4877c284cc fix the sanitizer include path. 2018-08-02 07:47:30 +00:00
mrg
63ce0b47ae merge GCC 6.4 into gcc.old. 2018-08-02 00:02:46 +00:00
mrg
f13786ea7f import GCC 6.4 srcs into gcc.old in preparation for GCC 7.x.
these are netbsd GCC srcs from 20180801.
2018-08-01 22:18:23 +00:00