Commit Graph

729 Commits

Author SHA1 Message Date
Alexander Kabaev
b4b53e1576 Merge revs 1.{2,15} (FREEBSD_NATIVE); 1.21 ("GCC_OPTIONS"); 1.{16,25,27}
(cross compiling issues).
2003-11-07 03:23:43 +00:00
Alexander Kabaev
0ebd98fb58 Merge r1.3 (suppress warnings on K&R main). 2003-11-07 03:21:29 +00:00
Alexander Kabaev
78bcdb61f6 New GCC version. 2003-11-07 03:19:35 +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
31cc83e1e5 Merge r1.8 (printf format error fixes). 2003-11-07 03:13:51 +00:00
Alexander Kabaev
e9c9d25f92 Drop the revision 1.2 (don't let gcc(1) hide warnings in system headers)
and use stock version of this file now.
2003-11-07 03:09:40 +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
b82f80cdc5 Enable warn_system_heders by default. 2003-08-22 03:31:54 +00:00
Alexander Kabaev
7a4310c825 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.2   don't let gcc(1) hide warnings in system headers.

Don't disable warning suppression unconditionally, but rather
make in dependent on warn_system_headers flag, one should be
able to use -Wno-system-headers flag if warnings from system
headers are not desired.
2003-08-22 03:26:30 +00:00
Alexander Kabaev
6ff1e7b00d Merge FreeBSD modifications into gcc 3.3.1-release:
1.8   printf format error fixes.
2003-08-22 03:18:02 +00:00
Alexander Kabaev
d3a52ac3e0 Merge FreeBSD modifications into gcc 3.3.1-release:
1.2   Localize the version string.
2003-08-22 03:16:37 +00:00
Alexander Kabaev
63cde6278d Merge FreeBSD modifications into gcc 3.3.1-release:
1.3 suppress warnings on K&R main.
2003-08-22 03:14:37 +00:00
Alexander Kabaev
5f020c09b4 Merge FreeBSD modifications into gcc 3.3.1-release:
1.2  -fformat-extensions.
  1.7  FORCE_OPTIMIZATION_DOWNGRADE knob for Alpha.
  1.14 -O0 -O1 optimize alignment for time, not size.
2003-08-22 03:13:20 +00:00
Alexander Kabaev
d586a2745c Stock files. 2003-08-22 03:10:47 +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
46b370ef71 Merge FreeBSD changes into GCC 3.3.1-prerelease.
Move FreeBSD specific flag variables from c-decl.c here.
2003-07-11 06:00:50 +00:00
Alexander Kabaev
22bf82941c Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.2 -fformat-extensions.
  1.3 -printf0
  1.6 teach GCC about %y for DDB.
2003-07-11 05:12:46 +00:00
Alexander Kabaev
fff64a6e53 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.3 suppress warnings on K&R main.

  Rev. 1.2 (options for kernel printf enhancements) changes have been
  moved to another
2003-07-11 05:11:14 +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
31653fae42 Use stock version of this file now. 2003-07-11 04:52:32 +00:00
Alexander Kabaev
0f50cc1930 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.2	don't let gcc(1) hide warnings in system headers.
2003-07-11 04:49:30 +00:00
Alexander Kabaev
d5a10d25d8 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.2  -fformat-extensions.
  1.7  FORCE_OPTIMIZATION_DOWNGRADE knob for Alpha.
  1.14 -O0 -O1 optimize alignment for time, not size.
2003-07-11 04:48:05 +00:00
Alexander Kabaev
cf9a9a701d Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.{2,15}	FREEBSD_NATIVE.
  1.21		"GCC_OPTIONS".
  1.{16,25,27}	Cross-compiling issues.
2003-07-11 04:45:39 +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
38ce1a2479 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.2	Localize the version string.
2003-07-11 04:37:16 +00:00
Alexander Kabaev
a4f4ed1ee5 Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.8	printf format error fixes.
2003-07-11 04:34:52 +00:00
Alexander Kabaev
4b47e8ff24 Merge FreeBSD changes into GCC 3.3.1-prerelease:
1.2	Printf format errors fixes.
2003-07-11 04:32:20 +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
43bab0e092 Merge FreeBSD modifications into gcc 3.3.1-pre:
1.2	framework for our kernel printf enhancements.
  1.3	suppress prototype warnings on K&R main.
2003-07-11 04:24:59 +00:00
Alexander Kabaev
df07a219a0 Merge rev. 1.2 (allow profiling of FORTRAN77 programs) info GCC 3.3.1-pre
sources.
2003-07-11 04:03:28 +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
952d62c73c Remove bit about _THREAD_SAFE. deischen committed a change to stdio.h
that totally removed _THREAD_SAFE.

PR:		36167
Submitted by:	gerald
2003-06-25 16:12:05 +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
42194a8171 Merge FreeBSD modifications into gcc 3.2.2 release:
1.8  printf format error fixes.
2003-02-10 06:07:12 +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
Alexander Kabaev
c66fff0155 Merge FreeBSD modifications into gcc 3.2.2 release:
1.11  -mno-align-long-strings.
Note the change 1.15 is not needed anymore.
2003-02-10 06:04:35 +00:00
Alexander Kabaev
6d114ccf45 Update for Gcc 3.2.2 release. 2003-02-10 06:03:47 +00:00
Alexander Kabaev
6f20e984fc Merge FreeBSD modifications into gcc 3.2.2 release:
1.{2,15}     FREEBSD_NATIVE.
  1.21         "GCC_OPTIONS".
  1.{16,25,27} Cross-compiling issues.
2003-02-10 06:03:16 +00:00
Alexander Kabaev
42f979319e Merge FreeBSD modifications into gcc 3.2.2 release:
1.2 -fformat-extensions.
  1.3 -printf0
  1.6 Teach GCC about %y for DDB and implement
      support for the C99 %z format modifier.
2003-02-10 06:00:24 +00:00
Alexander Kabaev
10a72f72d8 Merge FreeBSD modifications into gcc 3.2.2 release:
1.2 kernel printf enhancements framework.
  1.3 suppress prototype warnings on K&R main.
2003-02-10 05:59:19 +00:00
Alexander Kabaev
76c39e5f7b Merge FreeBSD modifications into gcc 3.2.2 release:
1.2  framework for our kernel printf enhancements.
  1.3  suppress prototype warnings on K&R main.
2003-02-10 05:58:19 +00:00
Alexander Kabaev
d79e61dc75 Update HEAD with stock GCC 3.2.2 release files. 2003-02-10 05:57:03 +00:00
Alexander Kabaev
7b74929d74 Gcc 3.2.2-release. 2003-02-10 05:41:50 +00:00
Alexander Kabaev
72983f38e1 This commit was generated by cvs2svn to compensate for changes in r110611,
which included commits to RCS files with non-trunk default branches.
2003-02-10 05:41:50 +00:00
Warner Losh
e4c33f456e -kthread has been dead these many years. This PR has languished for a
long time.  Go ahead and commit the patch since a co-worker has been
working up a code patch in this area and wondered why it hasn't been
committed yet.

PR: 35800
2003-02-01 18:39:32 +00:00
David E. O'Brien
8c5f736449 main() changed its argv declaration, so follow suit in some FBSD added code. 2003-01-29 05:16:58 +00:00
Alexander Kabaev
9361856c8a Fix a bug in GCC which effectively prevents DEFAULT_PCC_STRUCT_RETURN from
having any effect. This restores a calling convention traditionally used
by FreeBSD/i386 and which is expected by a number of assembly sources
in libc.

Reviewed by:	obrien
Approved by:	re (rwatson)
2002-12-22 05:57:53 +00:00
David E. O'Brien
ca894c66e0 _NIH, __NIH__, __N_I_H__, __nih__, _niH_.
*sigh* GCC developers can't seem to make up their mind which pre-defined arch
symbols are the official ones.  So make them, and the Sparc64 using Martians
happy with every permutation.

This fixes f77 and possibly changes some 'long long' handling.

Approved by:	re(bmah)
2002-12-05 18:40:24 +00:00
David E. O'Brien
b7623b4aba I really hate the GCC directory structure of gcc/gcc/gcc/<compiler files> 2002-12-04 21:31:04 +00:00
David E. O'Brien
4f471064d9 Update HEAD with FSF branch 3.2.1 release files. 2002-12-04 16:35:55 +00:00
David E. O'Brien
21da7e2bd7 Use pure stock files. 2002-12-04 16:31:48 +00:00
David E. O'Brien
a83e5e4149 Merge rev 1.8 (printf format error fixes) into Gcc 3.2.1 release. 2002-12-04 16:13:54 +00:00
David E. O'Brien
d4053aa61b Gperf is usable again. We don't need this. 2002-12-04 16:13:07 +00:00
David E. O'Brien
2d858acd9b Fix typo to sync with FSF sources. 2002-12-04 16:09:42 +00:00
David E. O'Brien
df53d8649e Merge revs 1.10 (-mno-align-long-strings) and 1.11 (LONG_TYPE_SIZE override)
into Gcc 3.2.1 release.
2002-12-04 16:07:58 +00:00
David E. O'Brien
c8bf144918 Merge rev 1.11 (-mno-align-long-strings) into Gcc 3.2.1 release. 2002-12-04 16:04:26 +00:00
David E. O'Brien
4172a45f81 Update for Gcc 3.2.1 release. 2002-12-04 16:01:15 +00:00
David E. O'Brien
991cc708ac Merge revs 1.2 (-fformat-extensions), 1.7 (FORCE_OPTIMIZATION_DOWNGRADE knob),
1.14 (-O/-O1 optimize alignment for time, not size) into Gcc 3.2.1 release.
2002-12-04 15:59:56 +00:00
David E. O'Brien
8648049b51 Merge revs 1.{2,15} (FREEBSD_NATIVE); 1.21 ("GCC_OPTIONS"); 1.{16,25,27}
(cross compiling issues) into GCC 3.2.1 release.

Note revs 1.{5,13} (ELF and objformat support) are OBE with the a.out dike-out.
2002-12-04 15:57:11 +00:00
David E. O'Brien
cc30d3f890 Merge revs 1.2 (kernel printf framework) and 1.3 (suppress K&R main warnings)
into Gcc 3.2.1 release.
2002-12-04 15:48:26 +00:00
David E. O'Brien
45fc31f8dd Gcc 3.2.1 release virgin vendor import. (19-Nov-2002) 2002-12-04 15:42:16 +00:00
David E. O'Brien
908ab21d03 This commit was generated by cvs2svn to compensate for changes in r107590,
which included commits to RCS files with non-trunk default branches.
2002-12-04 15:42:16 +00:00
David E. O'Brien
90cbf5083e Gcc 3.2.1 release virgin vendor import. (19-Nov-2002) 2002-12-04 15:15:07 +00:00
David E. O'Brien
2ea5c3f540 This commit was generated by cvs2svn to compensate for changes in r107588,
which included commits to RCS files with non-trunk default branches.
2002-12-04 15:15:07 +00:00
David E. O'Brien
7ec589a9b7 Add spaces around FBSD_ENDFILE_SPEC as it is used in string concatenation.
Approved by:	re(bmah)
2002-12-03 04:31:19 +00:00
David E. O'Brien
14cb1d2267 Update the version number.
Approved by:	bmah, jhb, murray (independently)
2002-11-27 03:36:49 +00:00
David E. O'Brien
f685377c2e Remove our custom mixed ELF/a.out support. This means the base compiler
now only produce ELF objects.  It also makes us closer to stock GCC, and
simplifies the set of changes we still need from stock GCC on every import.

Applauded by:	peter
Approved by:	re
2002-11-26 18:25:20 +00:00
David E. O'Brien
81ac040a36 Sync with the stock FSF 3.2 file. This adds TRANSFER_FROM_TRAMPOLINE,
which is needed in order for nexted C functions to work.
2002-11-05 03:35:56 +00:00
Maxime Henrion
4578a2e652 - Rename the DDB specific %z printf format to %y.
- Make DDB use %y instead of %z.
- Teach GCC about %y.
- Implement support for the C99 %z format modifier.

Approved by:	re@
Reviewed by:	peter
Tested on:	i386, sparc64
2002-10-25 19:41:32 +00:00
David E. O'Brien
be70d88803 ELF low-level toolchain bits now live in /usr/bin, not /usr/libexec/elf. 2002-10-12 01:39:46 +00:00
Alexander Kabaev
ecbe618435 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.8  printf format error fixes

Approved by:	obrien
2002-10-10 04:53:46 +00:00
Alexander Kabaev
e4ec156dda Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.10  -mno-align-long-strings
  1.11  Allow the specification of LONG_TYPE_SIZE on the command line.

Approved by:	obrien
2002-10-10 04:53:15 +00:00
Alexander Kabaev
559be21b12 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.11  -mno-align-long-strings

Approved by:	obrien
2002-10-10 04:52:41 +00:00
Alexander Kabaev
8aa7a77c78 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2  Localize the version number

Approved by:	obrien
2002-10-10 04:52:03 +00:00
Alexander Kabaev
e43930a27b Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2  -fformat-extensions
  1.7  FORCE_OPTIMIZATION_DOWNGRADE knob for Alpha
  1.14 -O0 -O1 should optimize alignment for time, not size

Approved by:	obrien
2002-10-10 04:51:11 +00:00
Alexander Kabaev
c2f7e7c4f8 Use the stock 3.2.1-prerelease file.
Approved by:	obrien
2002-10-10 04:50:29 +00:00
Alexander Kabaev
2a4b2c4b2e Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.\\{2,15\\}     FREEBSD_NATIVE
  1.\\{5,13\\}     ELF, and objformat support
  1.\\{16,23,25\\} Better cross building control
  1.21           'GCC_OPTIONS'
  1.27           cross-arch MD_EXEC_PREFIX fixes
                 cc -print-search-dir fixes
  1.28           Read specs from /usr/libdata/gcc/specs, if available

Approved by:	obrien
2002-10-10 04:49:03 +00:00
Alexander Kabaev
d533a055b5 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 kernel printf enchancements framework

Approved by:	obrien
2002-10-10 04:47:27 +00:00
Alexander Kabaev
819fe3892d Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 kernel printf enchancements framework
  1.3 suppress warnings on K&R main

Approved by:	obrien
2002-10-10 04:46:44 +00:00
Alexander Kabaev
423134a002 Gcc 3.2.1-prerelease from the FSF anoncvs repo gcc-3_2-branch on October 9th 2002 20:15 EST. 2002-10-10 04:40:18 +00:00
Alexander Kabaev
0cd8fdc382 This commit was generated by cvs2svn to compensate for changes in r104752,
which included commits to RCS files with non-trunk default branches.
2002-10-10 04:40:18 +00:00
David E. O'Brien
04a42d5ee0 Turn off the "-O2 flag TRIGGERS KNOWN OPTIMIZER BUGS" warning.
From current testsuite results, the optimizer bugs don't appear to exist
anymore.  RTH@cygnus.com did a lot of work on the Alpha ELF code generator
for GCC 3.2[.0].  A recent FreeBSD/AXP GCC bootstrap is at
http://gcc.gnu.org/ml/gcc-testresults/2002-09/msg00604.html
In this bootstraps, all gcc libraries are built with -O2 and c-torture
gives -O2 a real workout.  None of the remaining failures have anything
to do with -O2 optimizer bugs.

Submitted by:	Loren James Rittle <rittle@latour.rsch.comm.mot.com>
2002-09-22 07:26:38 +00:00
Alexander Kabaev
f92e37bda1 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.8  printf format error fixes

Approved by:	obrien
2002-09-17 04:16:58 +00:00
Alexander Kabaev
acfad454a6 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2  Localize the version number

Approved by:	obrien
2002-09-17 04:15:43 +00:00
Alexander Kabaev
f40fb3f3fd Use the stock 3.2.1-prerelease file.
Approved by:	obrien
2002-09-17 04:14:38 +00:00
Alexander Kabaev
b8bb8eab99 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2  framework for our kernel printf enhancements
  1.3  suppress prototype warning for K&R main

Approved by:	obrien
2002-09-17 04:10:25 +00:00
Alexander Kabaev
acabf91c96 Gcc 3.2.1-prerelease from the FSF anoncvs repo gcc-3_2-branch on 16-Sep-2002 13:23:11 EDT. 2002-09-17 04:03:37 +00:00
Alexander Kabaev
2e88fa161b This commit was generated by cvs2svn to compensate for changes in r103445,
which included commits to RCS files with non-trunk default branches.
2002-09-17 04:03:37 +00:00
David E. O'Brien
3b812710d0 Emacs decides between v8 and v9 based on "__arch64__". So define it.
Desired by:	tmm
2002-09-12 17:19:09 +00:00
David E. O'Brien
4d90773dea Remove some debugging cruft I accidently committed with rev 1.4. 2002-09-12 16:10:21 +00:00
David E. O'Brien
b9cab93186 Try to detect support for the `long long' type so that ANSI-C[89] clean
code will know not to try to use `long long'.
Unfortunately the GCC spec parser will not allow us to properly detect the
"iso9899:1990" and "iso9899:199409" forms of the acceptable -std= arguments,
because of the ':' in the -std argument.  :-(  I have left them in the spec
as a place holder in hopes someone knows a way to make the detection of
them work.

Desired by:	wollman
2002-09-12 16:05:56 +00:00
David E. O'Brien
04d8170094 Bump __FreeBSD_cc_version for gcc 3.1-prerelease -> 3.2.1-snap upgrade. 2002-09-09 06:56:29 +00:00
Alexander Kabaev
6a10d74be1 Revert rev. 1.2. GCC 3.2 seems to have builtin_memset fixed.
Approved by:	obrien
2002-09-01 21:18:18 +00:00
Alexander Kabaev
7055348d02 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.8  printf format error fixes

Approved by:	obrien
2002-09-01 21:16:14 +00:00
Alexander Kabaev
ed7ada7c10 Use the stock 3.2.1-prerelease file.
Approved by:	obrien
2002-09-01 21:13:32 +00:00
Alexander Kabaev
b00eee8d85 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.10  -mno-align-long-strings
  1.11  Allow the specification of LONG_TYPE_SIZE on the command line.

Approved by:	obrien
2002-09-01 21:12:30 +00:00
Alexander Kabaev
7d6e8a6ad0 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.11  -mno-align-long-strings

Approved by:	obrien
2002-09-01 21:11:35 +00:00
Alexander Kabaev
35d17d433c Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.8 Change symbol values to match freebsd.h

Approved by:	obrien
2002-09-01 21:09:26 +00:00
Alexander Kabaev
2556bafc14 Use the stock 3.2.1-prerelease file.
Approved by:	obrien
2002-09-01 21:08:29 +00:00
Alexander Kabaev
4dccc39462 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2  Localize the version number

Approved by:	obrien
2002-09-01 21:07:09 +00:00
Alexander Kabaev
f2f9e41da3 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2  -fformat-extensions
  1.7  optimization downgrade
  1.14 -O0 -O1 should optimize alignment for time, not size

Approved by:	obrien
2002-09-01 21:06:42 +00:00
Alexander Kabaev
a8a3b181ed Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.\{2,15\}     FREEBSD_NATIVE
  1.\{5,13\}     ELF, and objformat support
  1.\{16,23,25\} Better cross building control
  1.21           'GCC_OPTIONS'
  1.27           cross-arch MD_EXEC_PREFIX fixes
                 cc -print-search-dir fixes
  1.28           Read specs from /usr/libdata/gcc/specs,
                 if available

Approved by:	obrien
2002-09-01 21:03:33 +00:00
Alexander Kabaev
ec748e0ef8 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 a.out support

Approved by:	obrien
2002-09-01 21:02:41 +00:00
Alexander Kabaev
e243da3452 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 do not create paradoxical FLOAT_MODE subregs

I am not sure if this is still required.

Approved by:	obrien
2002-09-01 21:01:12 +00:00
Alexander Kabaev
accb351070 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 kernel printf enchancements framework

Approved by:	obrien
2002-09-01 20:57:33 +00:00
Alexander Kabaev
4e9f9a848d Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 don't let gcc(1) hide warnings in system headers.

Approved by:	obrien
2002-09-01 20:56:10 +00:00
Alexander Kabaev
449bacd8c3 Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 kernel printf enchancements framework
  1.3 suppress warnings on K&R main

Approved by:	obrien
2002-09-01 20:53:28 +00:00
Alexander Kabaev
f3575d94a6 Use the stock 3.2.1-prerelease file.
Approved by: obrien
2002-09-01 20:49:59 +00:00
Alexander Kabaev
bb3c979bf5 Gcc 3.2.1-prerelease from the FSF anoncvs repo gcc-3_2-branch on 1-Sep-2002 00:00:01 EDT. 2002-09-01 20:38:57 +00:00
Alexander Kabaev
6be6d6640a This commit was generated by cvs2svn to compensate for changes in r102780,
which included commits to RCS files with non-trunk default branches.
2002-09-01 20:38:57 +00:00
Ruslan Ermilov
26e1070b8b Merge gcc.295/cccp.c,v 1.9: don't let gcc(1) hide warnings in system headers.
Reviewed by:	bde

Original 2.95 change was subject to:

Approved by:	obrien
2002-08-15 08:45:49 +00:00
David E. O'Brien
83728effa9 Fix C++ exception handling. GCC was using the older BSD DBX register numbers
rather than the ELF ABI/SVR4 ones in its DWARF unwinding.

Submitted by:	Alexander Kabaev <ak03@gte.com>
2002-07-12 17:44:24 +00:00
David E. O'Brien
d08a3fc2bc When I decided to use a stock dbxout.c rather than merge the rev 1.2 change
(put the function stabs in traditional order on a.out, or gdb doesn't see
function local variables), I failed to remove the related knobs here.

Effectively were overrode the ELF-wide definition in elfos.h w/o providing
new infrastructure.  This is what caused GDB to fail to debug applications
compiled and linked with -stabs.  This is because GCC was unconditionally
inserts .stabs instruction for functions after the function body.  GDB was
getting confused because what it thinks is function beginning address is
actually function ending address.

Submitted by:	Alexander Kabaev <ak03@gte.com>
2002-07-12 17:35:35 +00:00
David E. O'Brien
568fc330a7 Yep, revision 1.3 was 1/2assed.
This time use the right attribute for null_format_ok.

Submitted by:	bde
2002-07-12 00:49:52 +00:00
David E. O'Brien
fffe57845a Allow XFree86-4 to build
by not creating paradoxical FLOAT_MODE subregs.

Tested by:	se
Obtained from:	http://gcc.gnu.org/ml/gcc/2002-06/msg01709.html
2002-07-03 23:35:06 +00:00
David E. O'Brien
6c8ce4b3c7 Tweaks to make these files live beside our hacked config. 2002-06-21 22:54:24 +00:00
David E. O'Brien
d9adce40ed Tweaks for the 64-bit compiler. 2002-06-21 22:53:03 +00:00
David E. O'Brien
4396d0e99f cc -O0 and -O1 didn't do the easy optimization of alignment for space.
Instead it attempted to do the easy optimization of alignment for time,
which should be to 1-byte alignment on i386's.

Submitted by:	bde
2002-06-21 18:21:30 +00:00
David E. O'Brien
9fc5b9d958 BDE prefers this organization.
Submitted by:	bde
2002-06-21 18:11:22 +00:00
David E. O'Brien
85441ab5f2 cvs -j -j gave me two copies of TARGET_VERSION and I didn't notice
it before committing.
2002-06-10 15:48:23 +00:00
David E. O'Brien
60f9b09d26 Allow one to profile FORTRAN77 programs. 2002-06-09 00:03:56 +00:00
David E. O'Brien
4467cfa4b4 Match the DBX_OUTPUT_MAIN_SOURCE_FILE_END definition in dbxelf.h.
Bug found by:	bde
2002-06-06 18:00:58 +00:00
David E. O'Brien
0d68a433ae Allow the specification of LONG_TYPE_SIZE on the command line.
Submitted by:	bde
2002-06-06 03:39:03 +00:00
David E. O'Brien
670fd7ad58 Implement "-mno-align-long-strings" which prevents pessimization of strings
for space.  -Os could do this, but it was easy to hack an MD version.
This saves a whole 32 bytes in boot2, so I think it is worth using it.
(keep how much worse gcc 3.2 will compile boot2...)

Submitted by:	bde (minus gcc 3.2 commentary)
2002-06-06 03:36:32 +00:00
David E. O'Brien
a56822dd07 Didn't get them all in revision 1.50. 2002-06-06 03:30:40 +00:00
David E. O'Brien
c48e5a6b24 Fix excessive alignment for the aout case, and unbreak genassym for that case.
Our aout linker has alignment hacks and doesn't need gcc to do anything special.

Tested for a year by:	bde :-)
2002-06-06 03:28:49 +00:00
David E. O'Brien
3c3942fcfc Tidy do-while.
Requested by:	bde
2002-06-06 03:26:36 +00:00
David E. O'Brien
74d3af89ef Read specs from /usr/libdata/gcc/specs if it exists. 2002-06-06 00:49:58 +00:00
David E. O'Brien
3a77dcde47 The brokenness in ix86_expand_clrstr is quite visible when you
compare the function with ix86_expand_movstr.

Submitted by:	Tor Egge
2002-06-04 18:06:12 +00:00
David E. O'Brien
ec9ec8af6a Gcc 3.1 (-O) now generates broken inline code for memset in some cases.
This broke newfs (newfs left some garbage in a bitmap).

The ASM for:

	#include <string.h>
	int x, foo[100];
	main()
	{
		memset(&foo[0], 0, x);
	}

is (at least if you have fixed function alignment):

	.file	"z.c"
	.text
	.p2align 2,,3
.globl main
	.type	main,@function
main:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%edi
	pushl	%eax
	movl	x, %ecx
	xorl	%eax, %eax
	shrl	$2, %ecx
	movl	$foo, %edi
	cld
	rep
	stosl
	andl	$-16, %esp
				<-- the lower bits of `len' should be loaded
				    near here
	testl	$2, %edi	<-- this seems to be meant to test the 2^1
				    bit in `len' (not alignment of the pointer
				    like it actually does).  %edi is the wrong
				    register for holding the bits, since it is
				    still needed for the pointer.
	je	.L2
	stosw
.L2:
	testl	$1, %edi	<-- similarly for the 2^0 bit.
	je	.L3
	stosb
.L3:
	movl	-4(%ebp), %edi
	leave
	ret
.Lfe1:
	.size	main,.Lfe1-main
	.comm	foo,400,32
	.comm	x,4,4
	.ident	"GCC: (GNU) 3.1 [FreeBSD] 20020509 (prerelease)"

This seems to only result in (len % 3) bytes not being cleared, since gcc
doesn't seem to use the builtin memset unless it knows that the pointer is
aligned.  If %edi could be misaligned, then too many bytes would be set.

Submitted by:	BDE
2002-06-04 18:04:27 +00:00
David E. O'Brien
e07ec61d37 Seems we are not ready for revision 1.8. 2002-05-30 06:04:14 +00:00
David E. O'Brien
69eafeae74 Make our default predefines ANSI clean. 2002-05-30 00:58:35 +00:00
David E. O'Brien
79a702e6f3 The special checks for %b and %D in rev 1.1 were done before skipping over
any characters between the % and the [bD], so only plain %b and %B worked.
This may un-1/2ass our -fformat-extensions support.

Submitted by:	bde
2002-05-26 16:04:37 +00:00
David E. O'Brien
dcbd867c36 1/2assed reimplementation of c-common.c revs 1.2 (-fformat-extensions)
and 1.3 (printf0) for GCC 3.1.
2002-05-22 16:37:09 +00:00
cvs2svn
dd49f05638 This commit was manufactured by cvs2svn to create branch 'VENDOR-gcc'. 2002-05-17 19:47:49 +00:00
David E. O'Brien
424cbfd989 the processed hash file 2002-05-17 19:47:48 +00:00
Ruslan Ermilov
35abacef2a MD_EXEC_PREFIX doesn't work for the cross-arch compiler.
The change also makes the `cc -print-search-dirs' output
sane (the pre-3.1 way) in the non-cross case.

Draft reviewed by:	obrien
2002-05-16 15:22:58 +00:00
David E. O'Brien
4e3e26a2ed Merge c-common.c rev 1.10 into GCC 3.1
Clarify that the "yields only last 2 digits of year in some locales" warning
does not apply to BSD.

Submitted by:	ache
2002-05-14 01:53:53 +00:00
David E. O'Brien
8a75a69eaf If you want to not warn on K&R main(); this is how it should be implemented. 2002-05-14 01:44:02 +00:00
David E. O'Brien
a353d6a0f1 Merge choose-temp.c rev 1.2 (use /tmp 1st, and then /var/tmp) into GCC 3.1. 2002-05-14 00:33:44 +00:00
David E. O'Brien
2e0c661e02 Add framework for our kernel printf enhancements. 2002-05-14 00:30:25 +00:00
David E. O'Brien
f4603a02f9 Remove files not part of GCC 3.1. 2002-05-12 21:50:48 +00:00
David E. O'Brien
f0ab1657e0 do-while ASM_OUTPUT_ALIGN to enable its use in more places. 2002-05-12 17:31:12 +00:00
David E. O'Brien
79c021244b Fixes for building a.out bits.
Submitted by:	bde
2002-05-12 12:01:12 +00:00
David E. O'Brien
8e4199296c Localize the version number at the request of the GCC developers. 2002-05-11 00:25:50 +00:00
David E. O'Brien
be42e63aec Add tweaks needed when using as the system compiler. 2002-05-10 19:05:07 +00:00
David E. O'Brien
3b2b7c3e7a Change symbol values to match freebsd.h to avoid warnings. 2002-05-10 09:02:14 +00:00
David E. O'Brien
f35f6d5d45 Remove files not part of GCC 3.1. 2002-05-10 05:26:57 +00:00
David E. O'Brien
c16b9cb4c2 Import data for 3.0.2. 2002-05-10 05:21:15 +00:00
David E. O'Brien
df9426806f Use the stock (3.1 pre) file. 2002-05-09 22:44:32 +00:00
David E. O'Brien
2311abec95 Use the stock file for now (but leave a note behind about our OBE changes). 2002-05-09 22:42:39 +00:00
David E. O'Brien
f8263b4181 Merge rev 1.2 (printf format error fixes) in its 1.8 form into Gcc 3.1 pre. 2002-05-09 22:39:46 +00:00
David E. O'Brien
4a81869631 Use the stock (3.1) file. 2002-05-09 22:38:33 +00:00
David E. O'Brien
1c7d68f037 We use the stock (3.1) file. 2002-05-09 22:16:22 +00:00
David E. O'Brien
d89ca98b1b Merge rev 1.2 (-fformat-extensions) and rev 1.7 (optimization downgrade)
into the Gcc 3.1 prerelease.
2002-05-09 22:15:04 +00:00
David E. O'Brien
e913f56bba Use the stock (3.1 pre) file. 2002-05-09 22:08:26 +00:00
David E. O'Brien
e9d2a91a8b Use the stock (3.1) version. 2002-05-09 22:05:33 +00:00
David E. O'Brien
b2eb577abd Merge rev 1.2 [_exit() over exit()] into the Gcc 3.1 prerelease. 2002-05-09 22:04:44 +00:00
David E. O'Brien
aa12b755c1 Merge revs 1.{2,15} (FREEBSD_NATIVE); 1.{5,13} (ELF, and objformat support);
1.{16,23,25} (better cross building control); 1.21 ("GCC_OPTIONS")
into the GCC 3.1 prerelease.
2002-05-09 22:02:01 +00:00
David E. O'Brien
6a38fe7c3a Merge rev 1.2 (a.out support) into the GCC 3.1 prerelease. 2002-05-09 21:44:15 +00:00
David E. O'Brien
bf6ecf8c61 Use the stock 3.1 prerelease version of this for now. 2002-05-09 21:42:32 +00:00
David E. O'Brien
6e85a4c56a Use the stock 3.1 prerelease file now. Rev 1.2 (add_bb) just doesn't
cleanly fit in any more.
2002-05-09 21:41:12 +00:00
David E. O'Brien
ea73da804b Use the stock (3.1) file. 2002-05-09 21:24:44 +00:00
David E. O'Brien
f5902c2a3e We use the stock (3.1) file now. 2002-05-09 21:19:23 +00:00
David E. O'Brien
d341fe2879 Use the stock (3.1) file now.
The choosing of TMPDIR has moved to make-temp-file.c.
2002-05-09 21:15:23 +00:00
David E. O'Brien
6bc913d9ee Use the stock 3.1 prerelease file. 2002-05-09 21:12:10 +00:00
David E. O'Brien
e3f1715f75 Use the stock 3.1-prerelease file. 2002-05-09 21:11:21 +00:00
David E. O'Brien
d5453940b5 Use stock file. 2002-05-09 21:06:15 +00:00
David E. O'Brien
909b401074 Gcc 3.1.0 pre-release from the FSF anoncvs repo on 9-May-2002 15:57:15 EDT. 2002-05-09 20:02:13 +00:00
David E. O'Brien
a922fa645e This commit was generated by cvs2svn to compensate for changes in r96263,
which included commits to RCS files with non-trunk default branches.
2002-05-09 20:02:13 +00:00
David E. O'Brien
2fa9c646bb Alpha MD bits for Gcc 3.1. 2002-05-07 23:28:45 +00:00
David E. O'Brien
fa4cd061df Comment a knob. 2002-05-07 02:26:40 +00:00
David E. O'Brien
f5519e857b The default ASM_OUTPUT_ADDR_DIFF_ELT will now handle our mixed a.out/ELF. 2002-05-07 02:25:52 +00:00
David E. O'Brien
b8df1f7e86 MI bits for Gcc 3.1. 2002-04-30 17:22:42 +00:00
David E. O'Brien
353c69dcb9 i386 MD bits for Gcc 3.1.
These are totally untested.  Do these work?  Hell if I know, I have yet to
bootstrap using these bits.  But people want them, so here they are.
2002-04-30 17:15:01 +00:00
David E. O'Brien
d5d1c5a11e Style changes to reduce diff to things I did in the FSF repo. 2002-04-24 04:49:34 +00:00
David E. O'Brien
51448c0be3 Fix bug where we were loosing our platform-wide ASM_COMMENT_START
definition due to pollution in i386/unix.h.
2002-04-24 04:48:00 +00:00
David E. O'Brien
8e069c8cbe GCC 3.1 uses crtstuff.c on Alpha now. [yay!] 2002-03-27 22:18:22 +00:00
David E. O'Brien
50a5655602 Switch register numbers for DWARF2_DEBUG also. 2002-03-27 05:22:35 +00:00
David E. O'Brien
fcd0ff585f Allow for better control over the GCC front-end when building a cross
compiler.

* Undo the diking out of cross compiler logic from gcc.c rev 1.16.
* Add the `CROSS_STARTFILE_PREFIX' knob.
* Add our own definition of `STANDARD_INCLUDE_DIR'.  This should have been
  included in freebsd-native.h rev 1.5.
2002-03-05 00:17:24 +00:00
David E. O'Brien
a84e77fb7b Allow one to specify a STANDARD_EXEC_PREFIX for GCC (but not BINUTILS) bits. 2002-03-03 04:18:00 +00:00
David E. O'Brien
7486111210 Better granularity of the FREEBSD_NATIVE #ifdef's. 2002-03-02 09:58:48 +00:00
David E. O'Brien
99339e95db Use the default 'ld' emulation rather than hard coding it.
For FreeBSD, 'ld' 2.12.0 uses a different emulation than in the past.
So this change makes the upgrade easier.
2002-02-25 04:49:17 +00:00
David E. O'Brien
e35f7181ce Use the stock [3.1-snap] version of this. 2002-02-06 05:10:06 +00:00
David E. O'Brien
3905f1c147 A slightly more general version of rev 1.2 that might be more acceptable
to the GCC maintainers.
2002-02-06 05:07:17 +00:00
David E. O'Brien
34edb80c80 Merge BDE's printf format error fixes (rev 1.2) into GCC 3.1-snap. 2002-02-06 05:07:01 +00:00
David E. O'Brien
f4625df208 Use the stock GCC 3.1-snap version of this. 2002-02-06 05:05:49 +00:00
David E. O'Brien
eecc1da618 A slightly different version of rev 1.2 that is closer to something the
GCC maintainers might actually accept.
2002-02-06 05:04:25 +00:00
David E. O'Brien
982e216c53 Merge rev 1.2 (printf format error fixes) into GCC 3.1-snap. 2002-02-06 05:03:43 +00:00
David E. O'Brien
08a759af80 Use the stock [3.l-snap] version of this. 2002-02-06 05:02:18 +00:00
David E. O'Brien
229356526c Use the stock [3.1-snap] file. 2002-02-06 05:01:51 +00:00
David E. O'Brien
9864f35a4f Use the stock file for now.
The changes from GCC 2.95.3 to 3.1 are large and it is hard to figure
out how to apply our changes.  Once BDE can properly test GCC 3.1 he'll
add back in our changes.
2002-02-06 05:01:29 +00:00
David E. O'Brien
2b6f3a3db7 Merge the stock gcc-3.1_snap file onto HEAD. 2002-02-06 05:00:48 +00:00
David E. O'Brien
a1640fbb8a Merge rev 1.2 (-fformat-extensions) and rev 1.7 (optimization downgrade)
into GCC 3.1-snap.
2002-02-06 04:59:39 +00:00
David E. O'Brien
21afea8038 We use the stock [3.1-snap] file. 2002-02-06 04:49:08 +00:00
David E. O'Brien
adb423b12d Merge revs 1.{2,15} (FREEBSD_NATIVE); 1.{5,13} (ELF, and objformat support);
1.16 (allow specification of TOOLS_PREFIX); 1.21 ("GCC_OPTIONS")
into GCC 3.1-snap.

Note that rev 1.20 was fixed in the stock GCC 3 sources.
2002-02-06 02:53:38 +00:00
David E. O'Brien
588c983274 Merge rev 1.2 (a.out support) into GCC 3.1-snap. 2002-02-01 19:42:45 +00:00
David E. O'Brien
5e6e19c1c0 Use the stock 3.1-snap file now.
Until we can figure out how to reimpliment our custom format warnings
since the FSF developers totally revamped them, and took away the hooks
we were using to accomplish our desires.
2002-02-01 19:38:44 +00:00
David E. O'Brien
fcce64f0cf Merge rev 1.2 (add_bb) into GCC 3.1-snap.
Note that the "NO_PROFILE_DATA"/"NO_PROFILE_COUNTERS" bits were added
to the stock FSF GCC 2.97 (and thus 3.1) source as i386 Linux needed them
also.  (amazing what can get committed to the FSF GCC when needed by Linux...)
2002-02-01 19:19:08 +00:00
David E. O'Brien
d76ac4b1ae We use the stock [3.1-snap] version of this,
other than having to add $FreeBSD$...
2002-02-01 19:12:03 +00:00
David E. O'Brien
e743a6a21f Use the stock 3.1-snap file now.
I do not think our rev 1.2 changes are needed any longer.
2002-02-01 19:10:11 +00:00
David E. O'Brien
06c0bda4d1 The stock (3.1-snap) version of this file is used now.
The FreeBSD hacks now apply to `config.gcc'.
2002-02-01 18:56:12 +00:00
David E. O'Brien
27e13c821e Go back to stock [3.1-snap] file -- our previous mods are OBE. 2002-02-01 18:54:38 +00:00
David E. O'Brien
1a321c6fba We use the stock 3.1-snap file now.
All the -Wformat related code moved to c-format.c.
2002-02-01 18:53:34 +00:00
David E. O'Brien
dbefadbf9d Use the stock 3.1-snap file now.
I have folded all our local changes into the FSF CVS repo.
2002-02-01 18:50:05 +00:00
David E. O'Brien
1952e2e1c1 Enlist the FreeBSD-CURRENT users as testers of what is to become Gcc 3.1.0.
These bits are taken from the FSF anoncvs repo on 1-Feb-2002 08:20 PST.
2002-02-01 18:16:02 +00:00
David E. O'Brien
11b18c4539 This commit was generated by cvs2svn to compensate for changes in r90075,
which included commits to RCS files with non-trunk default branches.
2002-02-01 18:16:02 +00:00
David E. O'Brien
13696e0464 MFC: gcc.295/config/alpha/freebsd.h revision 1.12:
Remove our definition for FUNCTION_PROFILER as it is wrong.

Note that "jsr $28,_mcount" is a macro for
	ldq $27, _mcount($29)           !literal!1
	jsr $28, ($27), _mcount         !lituse_jsr!1

1. The call to _mcount is added by alpha_expand_prologue after we load the gp.
Our _mcount uses $27 for the incoming address, unlike OSF/1 and Linux,
which use $28.  This probably doesn't matter since we probably don't use $27
within _mcount itself.
2. You can't use this insn with _mcount because it uses the PLT, which clobbers
the return address in $28.  Note that the prologue_mcount pattern carefully
avoids adding the lituse_jsr relocation so that we call through the GOT
directly.

Submitted by:	Richard Henderson <rth@redhat.com>
2002-01-31 17:20:44 +00:00
Peter Wemm
d337ceafd7 Remove files that have been removed from vendor branch 2002-01-27 22:41:09 +00:00
Peter Wemm
418b22b96f This commit was generated by cvs2svn to compensate for changes in r89884,
which included commits to RCS files with non-trunk default branches.
2002-01-27 22:41:09 +00:00
David E. O'Brien
a6d80351b7 Re-initialize gp after a jsr.
When rtld runs the .fini section in a shared lib (C++), the code in
question from .../contrib/gdb/config/alpha/crtbegin.asm first calls
__do_globals_dtors_aux and then __do_frame_takedown.  Unfortunately, the
value of gp after a jsr is undefined and in this case had changed from before
the call, probably as a result of calling code in some other shared library.
The normal calling convention for alpha is to re-initialize gp using
'ldgp gp,0(ra)' after a jsr instruction but in this case no such
re-initialization is done. This leads to a bogus value being read for the
address of __do_frame_takedown and a quick segfault.

Submitted by:   dfr
Obtained from:  GCC 3.0
2001-08-17 22:54:26 +00:00
David E. O'Brien
d549989694 Add the `WANT_FORCE_OPTIMIZATION_DOWNGRADE' knob. If set to an integer
value, it forces GCC to not optimize above this level.  For intance, GCC
made with "WANT_FORCE_OPTIMIZATION_DOWNGRADE=1" is a good setting for the
Alpha platform when building ports.
2001-08-16 06:05:18 +00:00
David E. O'Brien
67c5850a34 Correct the version number. 2001-08-01 18:35:54 +00:00
David E. O'Brien
5a108f415b libiberty file list for the 11-July-2000 import. 2001-07-12 19:03:33 +00:00
David E. O'Brien
872825029c Support the environmental var "GCC_OPTIONS". Which can hold a set of
default options for GCC.  These options are interpreted first and can be
overwritten by explicit command line parameters.  This provides one way of
adding [temporary] options to your world build w/o editing /etc/make.conf.
2001-05-29 09:54:45 +00:00
David E. O'Brien
741a3bc754 Teach gcc about '%+' so it will not warn when using '%+' in a format
string when using strftime(), since our libc supports it.

PR:             26827
Submitted by:   Marc Olzheim <marcolz@ilse.nl>
2001-05-25 19:00:07 +00:00
David E. O'Brien
cb300ebf8e Make it easy for people to use define DWARF2 exceptions unwinding.
If "WANT_DWARF2_UNWIND" you get it.  Note that this is a different C++ ABI
than the FreeBSD default.  So you will need to recompile all your C++ apps
that uses exceptions if you turn this on.  I am adding it here for Yahoo!'s
use and for those that want to be early adopters to what I will make as the
default with the GCC 3.0 import.
2001-05-14 22:45:26 +00:00
David E. O'Brien
3cd4df5a77 Choose the right LIB_SPEC for threads based on "__FreeBSD_version".
This allows someone with an older -current to update their compiler [only].

Inspired by:	Loren James Rittle <rittle@rsch.comm.mot.com>
2001-05-12 04:57:49 +00:00
David E. O'Brien
370d222b7f Remove MIPS support.
It has rotted quite badly and no one has provided updates for it.
2001-04-11 00:12:48 +00:00
David E. O'Brien
66d7199d63 Import the setjump/longjump exception handling fixes from GCC 2.95.3.test3
that were removed from GCC 2.95.3.test4 and the subsequent release due
to problems on HP-UX.  However, they work just fine on all the BSD's.

W/o these patches the following program segmentation faults if compiled
with -O2 (but not -Os or -O or -O0):

#include <stdio.h>

class A {
public:
  A() { printf("c'tor A\n"); }
  ~A(){ printf("d'tor A\n"); }
};

class foo : public A {
public:
  foo()  { printf("C'tor foo\n"); throw 8; }
  ~foo() { printf("D'tor foo\n"); }
};

int main(){
  try { foo fii; }
  catch (int){ printf("catch ...\n"); }
  return 0;
}
2001-03-24 01:58:31 +00:00
David E. O'Brien
8338ba3e77 This commit was generated by cvs2svn to compensate for changes in r74722,
which included commits to RCS files with non-trunk default branches.
2001-03-24 01:58:31 +00:00
David E. O'Brien
41fd0c09eb Remove some files that are no longer in the FSF branch. 2001-03-19 19:50:17 +00:00
David E. O'Brien
1e1e1a599e Merge gcc-2.95.3 changes onto mainline. Update FreeBSD changes to converge
with changes made in the FSF tree.
2001-03-19 19:50:16 +00:00
David E. O'Brien
843b04fb90 Virgin import of the GCC 2.95.3 compilers 2001-03-19 19:46:16 +00:00
David E. O'Brien
59543307c9 This commit was generated by cvs2svn to compensate for changes in r74473,
which included commits to RCS files with non-trunk default branches.
2001-03-19 19:46:16 +00:00