Commit Graph

375 Commits

Author SHA1 Message Date
Alexander Kabaev
2286fe7635 Second attempt at eliminating .text relocations in shared libraries
compiled with stack protector.

Use libssp_nonshared library to pull __stack_chk_fail_local symbol into
each library that needs it instead of pulling it from libc. GCC
generates local calls to this function which result in absolute
relocations put into position-independent code segment, making dynamic
loader do extra work every time given shared library is being relocated
and making affected text pages non-shareable.

Reviewed by:        kib
Approved by:        re (kib)
2009-07-14 21:19:13 +00:00
David E. O'Brien
5a33926c5b If arm.h is going to define WCHAR_TYPE, don't assume WCHAR_TYPE_SIZE
doesn't already have a definition.

Reported by:	imp
2008-09-10 15:47:31 +00:00
David E. O'Brien
0b4f8552dd We're not quite ready for the full %(endian_spec). 2008-09-01 23:09:45 +00:00
David E. O'Brien
1b34d5982b Add __unix__. Tweak __KPRINTF_ATTRIBUTE__ while I'm here. 2008-09-01 22:22:44 +00:00
David E. O'Brien
4bdc01a9f9 Add FreeBSD/MIPS support to GCC. 2008-09-01 18:46:03 +00:00
David E. O'Brien
9dec52bfb2 Turn cc_tools/Makefile and Makefile.tgt into a "linear" read. Shared
parts of the configuration aren't duplicated, and arch-specific exceptions
are made "in-place".  Also clean up the FreeBSD/amd64 config a little.
2008-08-31 23:38:28 +00:00
David Schultz
1b93600c85 Make -mfancy-math-387 the default on FreeBSD, as it is on most other
operating systems. Previously, gcc would inhibit the generation of
fsqrt, fsin, and several other floating point instructions, for the
benefit of the old in-kernel math emulator, which was removed over 5
years ago.
2008-08-10 19:02:57 +00:00
David E. O'Brien
b370e2cfea White space fixes. 2008-06-28 15:28:17 +00:00
David E. O'Brien
c4a2958381 Reduce diff to vendor. 2008-06-28 15:17:02 +00:00
Peter Wemm
497e80a371 Reorganize the gcc vendor import work area. This flattens out a bunch
of unnecessary path components that are relics of cvs2svn.

(These are directory moves)
2008-06-01 00:03:21 +00:00
Marius Strobl
3df889c865 Allow the targeted CPU type to be set via -mcpu instead of
limiting to the hardcoded equivalent of -mcpu=ultrasparc.

PR:		109510
MFC after:	3 months
2007-12-09 17:41:47 +00:00
Alexander Kabaev
4da6937165 Update locally changed files to GCC 4.2.1.
Approved by: re (kensmith)
2007-08-14 03:04:42 +00:00
Alexander Kabaev
89ec829aba Merge files that are no longer carry FreeBSD local changes.
Approved by:	re (kensmith)
2007-08-14 03:02:26 +00:00
Alexander Kabaev
23baddbde1 GCC 4.2.1 release. 2007-08-14 02:45:23 +00:00
Alexander Kabaev
997921685c This commit was generated by cvs2svn to compensate for changes in r171825,
which included commits to RCS files with non-trunk default branches.
2007-08-14 02:45:23 +00:00
Olivier Houchard
67de64dde8 FreeBSD expects VFP, so use that as the default FPU.
Reviewed by:	kan
2007-05-21 08:38:42 +00:00
Alexander Kabaev
fe32ca9af4 Merge arm-freebsd.h.diff directly into the target file. Maintaining
separate patch is much more painful than taking this file off the
vendor branch.
2007-05-19 03:11:26 +00:00
Alexander Kabaev
888346df5f Remove files that are no more part of GCC distribution from FSF branch. 2007-05-19 02:42:17 +00:00
Alexander Kabaev
ef444676f3 This commit was generated by cvs2svn to compensate for changes in r169708,
which included commits to RCS files with non-trunk default branches.
2007-05-19 02:42:17 +00:00
Alexander Kabaev
8902467bb7 Remove files that are not part of GCC distribution anymore. 2007-05-19 02:34:18 +00:00
Alexander Kabaev
096b39c236 Update configuration files for GCC 4.2. 2007-05-19 02:30:20 +00:00
Alexander Kabaev
0d6df2bb56 Merge local FreeBSD changes for -mno-align-long-strings. 2007-05-19 02:26:26 +00:00
Alexander Kabaev
9d6b9560a8 FreeBSD uses unchanged versions of this files. 2007-05-19 02:12:21 +00:00
Alexander Kabaev
6b834ef156 GCC 4.2.0 release. 2007-05-19 01:19:51 +00:00
Alexander Kabaev
533952614f This commit was generated by cvs2svn to compensate for changes in r169689,
which included commits to RCS files with non-trunk default branches.
2007-05-19 01:19:51 +00:00
Alexander Kabaev
f2d5255ddd Resolve conflicts after GCC 3.4.6 20060825 import. 2006-08-26 21:37:21 +00:00
Alexander Kabaev
e35cf0a56c Gcc 3.4.6 as of 2006/08/25 #116475. 2006-08-26 21:29:10 +00:00
Alexander Kabaev
35cc3dc5ba This commit was generated by cvs2svn to compensate for changes in r161651,
which included commits to RCS files with non-trunk default branches.
2006-08-26 21:29:10 +00:00
David E. O'Brien
a1cfcf9970 Locate __FreeBSD_cc_version's value beside __FreeBSD__'s value to make it
easier to keep them in sync.
2005-10-30 19:04:47 +00:00
David E. O'Brien
67ae096798 Catch up with FreeBSD 7. 2005-10-29 09:13:31 +00:00
Craig Rodrigues
5dbed42856 Submitted following patch to FSF GCC:
* freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS):
	  Use builtin_define_with_int_value() instead of
	  adding a new check for every new major FreeBSD version.

Motivated by:	simon
Discussed with:	obrien, kan
2005-10-27 23:57:55 +00:00
David E. O'Brien
8d85d711c3 Fix bug where GCC thought athlon-tbird had SSE support. 2005-07-19 21:53:22 +00:00
Scott Long
98e104cbc9 Patch the freebsd spec file for PowerPC so that PIC code builds correctly.
This allows FreeBSD/PPC to build and run out of stock CVS sources.  This
also takes the file off of the vendor branch.

Submitted by: kan, grehan
Approved by: re, kan
2005-07-07 21:40:37 +00:00
Alexander Kabaev
b297022008 Enable handling of MS-compatible packing push and pop pragmas. This change was
inadvertedly left out of the last import.
2005-06-03 17:35:13 +00:00
Alexander Kabaev
441d901f19 Fix a typo from previos commit. 2005-06-03 05:58:56 +00:00
Alexander Kabaev
65bbb3030a Catch up with changes in BDX_OUTPUT_[LR]BRAC callers. 2005-06-03 04:19:23 +00:00
Alexander Kabaev
c3cbf7fdb9 Merge conflicts for GCC 3.4.4. 2005-06-03 04:02:20 +00:00
Alexander Kabaev
31a119f3ed Stock files. 2005-06-03 03:50:42 +00:00
Alexander Kabaev
d51085f37e Gcc 3.4.4 release. 2005-06-03 03:28:44 +00:00
Alexander Kabaev
4101e78861 This commit was generated by cvs2svn to compensate for changes in r146895,
which included commits to RCS files with non-trunk default branches.
2005-06-03 03:28:44 +00:00
David E. O'Brien
b4e8286b3b Enter the long awaited start of FreeBSD 6.0! 2004-08-21 03:58:39 +00:00
Alexander Kabaev
292f200484 Remove files that are not part of GCC 3.4.x from the vendor branch. 2004-08-12 16:41:42 +00:00
Alexander Kabaev
6d3e93598f This commit was generated by cvs2svn to compensate for changes in r133582,
which included commits to RCS files with non-trunk default branches.
2004-08-12 16:41:42 +00:00
Alexander Kabaev
dfa9c64b20 Remove obsolete ASM_FINAL_SPEC definition.
Reported by:	green
2004-07-29 21:49:34 +00:00
Alexander Kabaev
eba800a0ec Update sparc64 MD bits to GCC 3.4.2-prerelease. 2004-07-28 05:00:13 +00:00
Alexander Kabaev
b76a1e10e7 Merge FreeBSD changes into GCC 3.4.2-prerelease:
1.2   Tweaks to make this file live beside our hacked config.
2004-07-28 04:56:54 +00:00
Alexander Kabaev
85336dcfdf Merge r1.10 (-mno-align-long-strings) and r1.11 (make LONG_TYPE_SIZE
overridable from the command line).
2004-07-28 04:49:58 +00:00
Alexander Kabaev
c4471ac9b4 Merge r1.11 (-mno-align-long-strings). 2004-07-28 04:47:35 +00:00
Alexander Kabaev
025f702c81 Update Amd64 MD bits for GCC 3.4.2-prerelease. 2004-07-28 04:44:23 +00:00
Alexander Kabaev
fed81232e9 Update i386 MD bits for GCC 3.4.2-prerelease. 2004-07-28 04:41:42 +00:00
Alexander Kabaev
cd778f4053 Update Alpha config MD bits for GCC 3.4.2-prerelease. 2004-07-28 04:39:15 +00:00
Alexander Kabaev
7217bc1ccb Merge FreeBSD modifications into gcc 3.4.2-prerelease:
1.8 Change symbol values to match freebsd.h.
2004-07-28 04:35:51 +00:00
Alexander Kabaev
9e7f3a944a Update MI config bits for GCC 3.4.2-prerelease. 2004-07-28 04:34:05 +00:00
Alexander Kabaev
4fc9ee4449 Update for GCC 3.4.2. Bump __FreeBSD_cc_version_ and use correct ELF
interpreter on FreeBSD 5.x series.
2004-07-28 04:31:47 +00:00
Alexander Kabaev
f246de45e2 Use stock GCC versions on these files. 2004-07-28 03:36:15 +00:00
Alexander Kabaev
9a63ad9273 Gcc 3.4.2 20040728. 2004-07-28 03:11:36 +00:00
Alexander Kabaev
4609cf73ba This commit was generated by cvs2svn to compensate for changes in r132718,
which included commits to RCS files with non-trunk default branches.
2004-07-28 03:11:36 +00:00
David E. O'Brien
255eea9a74 Grrr. our rev 1.19 (FSF GCC rev 1.579) is causing some problems on 32-bit
systems.  So only use the rev 1.19 (FSF GCC rev 1.579) change on 64-bit
systems.
2004-06-19 20:40:00 +00:00
David E. O'Brien
a3bfe8fd89 Merge FSF GCC rev 1.579 change ((x86_output_mi_thunk): Don't pass MEM to
%P0, just SYMBOL_REF) into GCC 3.3.3.  This fixes the bad C++ thunks code
generation building Firefox on AMD64.

Submitted by:	Sean McNeil <sean@mcneil.com>
2004-06-19 07:29:04 +00:00
Daniel Eischen
f24e6a4f39 Make gcc -pthread link to -lpthread instead of -lc_r. 2004-01-30 12:14:19 +00:00
Alexander Kabaev
0fb0a43f46 Remove files not part of GCC 3.3.x. 2004-01-05 20:27:51 +00:00
Alexander Kabaev
8412b382ed This commit was generated by cvs2svn to compensate for changes in r124151,
which included commits to RCS files with non-trunk default branches.
2004-01-05 20:27:51 +00:00
Alexander Kabaev
6c9999e01d Fix ASM_OUTPUT_LABELREF to deal with TSL model prefixes GCC
started to use internally. They need to be stripped before
the name of the label or symbol is printed.
2003-12-22 04:27:17 +00:00
David E. O'Brien
2572485481 One might want to correctly generate 32-bit code on an Opteron.
Submitted by:	peter
2003-12-16 05:40:06 +00:00
David E. O'Brien
6778cdfd3f Consistently define __LP64__ on all our 64-bit platforms. 2003-12-15 10:34:01 +00:00
Daniel Eischen
cd902b7719 Remove a comment stating that -pthread isn't supported. 2003-11-10 18:52:57 +00:00
Alexander Kabaev
7c755eb0ac Merge r1.11 (-mno-align-long-strings). 2003-11-07 03:17:46 +00:00
Alexander Kabaev
e52bc8a3d6 Merge r1.10 (-mno-align-long-strings) and r1.11 (make LONG_TYPE_SIZE
overridable from the command line).
2003-11-07 03:16:22 +00:00
Alexander Kabaev
3697be5590 No FreeBSD-local changes in these files. 2003-11-07 03:05:29 +00:00
Alexander Kabaev
ea875f6efe Gcc 3.3.3 20031106. 2003-11-07 02:43:04 +00:00
Alexander Kabaev
26b1f5924a This commit was generated by cvs2svn to compensate for changes in r122180,
which included commits to RCS files with non-trunk default branches.
2003-11-07 02:43:04 +00:00
Daniel Eischen
0fa21a585c The ports freeze may take longer than anticipated. Instead of
waiting for it to be delayed, temporarily back out the -pthread
removal until the freeze is lifted.

Freeze possibly taking longer than necessary:	will
Requested by:	kris
2003-09-21 07:59:16 +00:00
David E. O'Brien
b62fd55fde Bump __FreeBSD_cc_version for (1) 5.1 (post-mortem) (2) -pthread changes. 2003-09-12 19:19:10 +00:00
Daniel Eischen
7231b5a661 Remove the -pthread option (in FreeBSD versions 500016 and greater) as
threatened over 2 years ago.

Why?  -pthread was a hack to prevent linking to both libc and libc_r
and became unecessary when libc_r became free of libc.  Now that we
have multiple thread libraries from which to choose, it is more confusing
because you can't link to more than one threads library at a time.
Things like autoconf and libtool sometimes detect -pthread and
also -lc_r, and in conjunction with ports usage of ${PTHREAD_LIBS},
really wacky things ensue when PTHREAD_LIBS is set to another
threads library.  This might not be so bad if the build broke
when this happens, but it doesn't and you don't know it until
funny things happen when you run the application (or use an
affected library).

Reviewed by:    obrien
2003-09-03 15:44:34 +00:00
Daniel Eischen
ee6e0476d2 Backout rev 1.10.
Requested by:	obrien
2003-09-01 05:31:33 +00:00
Daniel Eischen
d489dec95c Remove -pthread as a compiler option. It was deprecated 2.5 years
ago, but not removed.

No reply from:	threads, kan, obrien
2003-08-31 22:38:52 +00:00
David E. O'Brien
1bbeaa6437 Reformat FBSD_{START,END}FILE_SPEC to FSF coding standards.
Use these in our i386, amd64, and alpha platforms.
2003-08-24 16:56:31 +00:00
Alexander Kabaev
50ebf00d84 Gcc 3.3.1-release. 2003-08-22 02:56:07 +00:00
Alexander Kabaev
eae42ca5bc This commit was generated by cvs2svn to compensate for changes in r119256,
which included commits to RCS files with non-trunk default branches.
2003-08-22 02:56:07 +00:00
Gordon Tetlow
29bd4869a1 Tell the toolchain to look for rtld in /libexec instead of /usr/libexec. 2003-08-17 08:17:44 +00:00
David E. O'Brien
fda6f0c4a1 This file became OBE when we went to GCC 3. 2003-07-17 17:15:22 +00:00
Alexander Kabaev
e329c5e19f Do not override FP rounding options for 32bit platforms. amd64 doesn't
need this.
2003-07-12 19:33:34 +00:00
Alexander Kabaev
06432e3a6a Update for GCC 3.3.1-prerelease. 2003-07-11 05:09:19 +00:00
Alexander Kabaev
bec4705400 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.8 Change symbol values to match freebsd.h.
2003-07-11 05:05:45 +00:00
Alexander Kabaev
e815c3de60 Update for 3.3.1-prerelease. 2003-07-11 05:03:47 +00:00
Alexander Kabaev
aaa8c4b302 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.4 Look into right directory when linking 32-bit binaries.
2003-07-11 04:54:45 +00:00
Alexander Kabaev
b8edac44d5 Merge FreeBSD changes into GCC 3.3.1-prerelease:
1.2	Tweaks to make this file live beside our hacked config.
2003-07-11 04:43:01 +00:00
Alexander Kabaev
600d347e40 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.11	-mno-align-long-strings.
2003-07-11 04:29:35 +00:00
Alexander Kabaev
27998756bd Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.10  -mno-align-long-strings.
  1.11  Allow the specification of LONG_TYPE_SIZE on the command line.
2003-07-11 04:28:01 +00:00
Alexander Kabaev
b2bcf6753d FreeBSD uses stock versions of these GCC files. 2003-07-11 04:00:23 +00:00
Alexander Kabaev
bd0df3aa27 Gcc 3.3.1-pre as of 2003-07-11. 2003-07-11 03:40:53 +00:00
Alexander Kabaev
46c315278f This commit was generated by cvs2svn to compensate for changes in r117395,
which included commits to RCS files with non-trunk default branches.
2003-07-11 03:40:53 +00:00
David E. O'Brien
f8f4e47610 I goofed in rev 1.59 (a.out support axing) and missed getting FUNCTION_PROFILER
fully clean.  This resulted in inserted garbage into the produced assembly code
when the gcc -pg and -fPIC options are used together.

PR:		i386/50598
Submitted by:	Don Lewis <truckman@freebsd.org>
2003-05-08 16:02:22 +00:00
David E. O'Brien
a12d8aed9a We're changing the platform name from x86[_-]86 to amd64. 2003-04-26 20:04:38 +00:00
David E. O'Brien
1143283a26 Fix the LINK_SPEC. Our i386 32-bit emulation name changed.
We also need to look in the proper directory for 32-bit libs.
2003-04-26 19:20:25 +00:00
David E. O'Brien
9ad1907230 Remove the last vestiges (I hope) of the mixed ELF/a.out support.
As a plus we can use the stock CC1_SPEC and ASM_SPEC for AMD64.
2003-04-26 19:16:54 +00:00
Alexander Kabaev
f6a013dc14 Teach gcc how to put unitialized data into BSS on FreeBSD. 2003-04-13 01:04:01 +00:00
Alexander Kabaev
fabd8bcd49 Remove files incidentally imported from the wrong place during
3.2.1 import. They are not used by any of our system GCC versions
and will be physically removed from repository soon.

Reviewed by:	obrien
2003-03-26 18:12:01 +00:00
Alexander Kabaev
0c0bdf85fa This commit was generated by cvs2svn to compensate for changes in r112680,
which included commits to RCS files with non-trunk default branches.
2003-03-26 18:12:01 +00:00
Alexander Kabaev
a81f4c40b7 Merge FreeBSD modifications into gcc 3.2.2 release:
1.10  -mno-align-long-strings.
  1.11  Allow the specification of LONG_TYPE_SIZE on the command line.
2003-02-10 06:05:16 +00:00