Commit Graph

217 Commits

Author SHA1 Message Date
obrien
5dab80497a We use the stock (3.1) file. 2002-05-09 22:16:22 +00:00
obrien
c8f5fc7032 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
obrien
98051db4df 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
obrien
3c0c831761 Alpha MD bits for Gcc 3.1. 2002-05-07 23:28:45 +00:00
obrien
21304809df Comment a knob. 2002-05-07 02:26:40 +00:00
obrien
9ced709070 The default ASM_OUTPUT_ADDR_DIFF_ELT will now handle our mixed a.out/ELF. 2002-05-07 02:25:52 +00:00
obrien
1e3fa59089 MI bits for Gcc 3.1. 2002-04-30 17:22:42 +00:00
obrien
9a9ba1484f 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
obrien
257900c741 Style changes to reduce diff to things I did in the FSF repo. 2002-04-24 04:49:34 +00:00
obrien
638b01d99e 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
obrien
3e278e7acd GCC 3.1 uses crtstuff.c on Alpha now. [yay!] 2002-03-27 22:18:22 +00:00
obrien
9b5143f94f Switch register numbers for DWARF2_DEBUG also. 2002-03-27 05:22:35 +00:00
obrien
d3a0922fcf 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
obrien
6687f51a11 Use the stock [3.l-snap] version of this. 2002-02-06 05:02:18 +00:00
obrien
a33632ba5a Use the stock [3.1-snap] file. 2002-02-06 05:01:51 +00:00
obrien
bad15f47f4 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
obrien
757b03860f Merge the stock gcc-3.1_snap file onto HEAD. 2002-02-06 05:00:48 +00:00
obrien
c9ab9ae440 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
obrien
170a7bc58b 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
obrien
9e7f705ccb 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
2ecfd8bd04 Remove files that have been removed from vendor branch 2002-01-27 22:41:09 +00:00
peter
b91a8c787a 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
obrien
d40943f1a4 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
obrien
0983569eda 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
obrien
a7ff9d3249 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
obrien
831148a589 Remove some files that are no longer in the FSF branch. 2001-03-19 19:50:17 +00:00
obrien
6830f79554 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
obrien
bc8a8f48cf Virgin import of the GCC 2.95.3 compilers 2001-03-19 19:46:16 +00:00
obrien
dcea9e494b Change "NO_PROFILE_DATA" to "NO_PROFILE_COUNTERS" to match the commit by
the FSF/GCC people in the stock 2.97 source that is like our custom change
modulo the conditional compilation symbol.
2001-03-02 08:46:15 +00:00
obrien
c2acd8fa31 Move the obvious bits of mixed ELF and a.out support down into this MD
header to reduce the difference of our sources to the stock GNU/FSF ones.
While the mix binary format support was nice to have in the FreeBSD MI
header as a frame work, it just clutters up too much and makes the FreeBSD
MI header more different from the FSF/GNU stock one than it needs to be.
2001-03-02 02:46:05 +00:00
obrien
370995c37f Push as much as was easy of the mixed ELF & a.out support for the i386
into the i386 MD FreeBSD header.  Also comment tweaking, continuation line
style changes, and other minor changes to make this closer to the latest
FSF/GNU 3.0 sources (to reduce my headache when 3.0 is imported).
2001-03-02 02:42:42 +00:00
obrien
24ec32f09f Stylistic changes mirroring ones done in the FSF/GNU 3.0 development sources. 2001-02-28 22:37:32 +00:00
obrien
b545fa1c7f Merge gcc-2.95.3-test3 changes onto mainline. Bump FreeBSD cc version. 2001-02-17 08:35:00 +00:00
obrien
c67d59390e Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #3 2001-02-17 08:34:50 +00:00
obrien
a15849488b This commit was generated by cvs2svn to compensate for changes in r72562,
which included commits to RCS files with non-trunk default branches.
2001-02-17 08:34:50 +00:00
obrien
93d05d1855 Bump __FreeBSD_cc_version to 500002 to show the -pthread option change. 2001-02-08 05:27:17 +00:00
jdp
b0eae7994f Make the "-pthread" option work again, now that libc_r has to be
linked in addition to libc rather than instead of libc.

Ideally, "-pthread" would now be equivalent to adding "-lc_r" to the
end of the link command.  But it is slightly different in this
implementation.  Adding "-lc_r" to the link command would produce a
"ld" command line containing this:

    ... -lc_r /usr/lib/libgcc.a -lc /usr/lib/libgcc.a ...

but this implementation of the "-pthread" option produces this:

    ... /usr/lib/libgcc.a -lc_r -lc /usr/lib/libgcc.a ...

It would be possible to make them identical, but that doesn't fit
as nicely into GCC's way of doing things.  I don't think the ordering
change will make any difference in practice.
2001-01-25 18:57:13 +00:00
obrien
b2d68729b2 Merge gcc.2.95.3-test1 changes onto mainline 2001-01-03 17:17:01 +00:00
obrien
c49a039ffd This commit was generated by cvs2svn to compensate for changes in r70635,
which included commits to RCS files with non-trunk default branches.
2001-01-03 17:16:04 +00:00
obrien
e103926ab5 Enlist the FreeBSD-CURRENT users as testers of GCC 2.95.3 Release Candidate #1 2001-01-03 17:16:04 +00:00
obrien
19fd5b1366 Properly format the SUBTARGET_SWITCHES so that ``gcc -v --help'' prints
them out.

PR:		19326
Submitted by:	Naohiko Tsuji <yakisoba@f2.dion.ne.jp>
2000-11-11 04:50:51 +00:00
obrien
4b7105175f Remove the -kthread option that matched [sort of] the LinuxThreads port.
This option depended on bits not part of the base system and required
people to install the LinuxThreads port in a manner non-consistent with
the workings of our Ports Collection.
The directions for properly linking with LinuxThreads are given by that
port at install time.

Requested by:	jasone
2000-11-07 21:49:08 +00:00
obrien
a2cdf6684f Start using crt[in].o to adhear to the ELF ABI
(and crtstuff.c's requirements).
2000-10-30 12:25:22 +00:00
obrien
890b30850f Bring in bug fixes from the GCC anoncvs server's "gcc-2_95-branch"
branch as of May 26th, 2000.  [these are changes March 31 - May 24th]
2000-05-27 02:25:28 +00:00
obrien
2213994dde This commit was generated by cvs2svn to compensate for changes in r60967,
which included commits to RCS files with non-trunk default branches.
2000-05-27 02:25:28 +00:00
obrien
0360392802 Do not use DWARF2 unwinding mechanisms for C++ exceptions on all of our
platforms.
2000-05-22 06:52:04 +00:00
obrien
c474a49cac ASM_DECLARE_OBJECT_NAME and ASM_FINISH_DECLARE_OBJECT are ELF MI routines
to generate the special .type and .size directives which are used to set
the corresponding fields of the linker symbol table entries in the ELF
object file.  As such they are not i386-specific and thus belong in our
MI header.  Otherwise on the Alpha we don't properly give the type and
size of dynamic symbols.  Bintuil versions past 2.9.1 warn of this and
w/o this change, `ld' generates a lot of warnings during a `make world'.
2000-05-20 10:14:43 +00:00
obrien
13cef0c010 Clean up the FreeBSD configuration files -- includes removing the usage
of svr4.h on the i386, and moving all the shared arch neutral bits into
the FreeBSD general config header.
2000-03-23 10:18:26 +00:00
obrien
d30e2783e9 This is FreeBSD version 5.0. 2000-03-23 01:20:46 +00:00
obrien
6995e4285b Fix our -mprofiler-epilogue code.
"The problem is that egcs/gcc-2.95's reorganisation of the prologue and
epilogue code to use rtl instead of output_asm_insn() completely broke our
hooks.  rtl is emitted in a different order, only after optimisation, while
output_asm_insn() is emitted immediately.  rtl is presumably used so that
the prologue and epilogue can be optimised.

I couldn't find any good examples to copy.  gcc's own
FUNCTION_BLOCK_PROFILER still uses output_asm_insn() and seems to be
completely broken.  One of the XXX comments points to this.

IIRC, the hacks here basically arrange to emit magic label names; then when
the magic names are output, they are transformed into prologue and epilogue
code."

Submitted by:	bde
2000-01-29 13:06:33 +00:00
obrien
3050fca7ad Bump __FreeBSD_version and __FreeBSD_cc_version due to the C++ ABI change
in GCC 2.95.2 from -fvtable-thunks to -fno-vtable-thunks by default.
2000-01-27 23:12:38 +00:00
obrien
d581a449b9 Do not use "DEFAULT_VTABLE_THUNKS". The bugs that have existed since
EGCS 1.x have not been worked out.  And with 4.0 RELEASE comming quickly
we need C++ to be stable and usable.
2000-01-25 06:58:15 +00:00
obrien
d41539bd1f Merge in the restore pic register fix from the vendor branch.
PR:		3441
Submitted by:	Mark Diekhans <markd@Grizzly.COM>
2000-01-22 16:04:30 +00:00
obrien
19e1413b5d Bring in bug fixes from the GCC anoncvs server's "gcc-2_95-branch"
branch on Jan 20th, 2000.
2000-01-22 02:59:08 +00:00
obrien
0c931ae0a1 This commit was generated by cvs2svn to compensate for changes in r56385,
which included commits to RCS files with non-trunk default branches.
2000-01-22 02:59:08 +00:00
obrien
119cfeff30 Use symbolic values rather than constants in TARGET_DEFAULT.
Submitted by:	bde on -current
1999-12-19 07:40:17 +00:00
obrien
4cced586e8 Use a unified CPP_SPEC. 1999-12-19 06:42:24 +00:00
obrien
f1e75fd104 Fix my CPP_SPEC synatax screwup.
Totally pissed at self:	obrien
1999-12-16 02:03:35 +00:00
obrien
fc793cf05b Remove the defining of __i486__ baesd on TARGET_CPU_DEFAULT and !m386 or m486. 1999-12-15 10:16:25 +00:00
obrien
5498842a41 Virgin import of the GCC 2.95.1 compilers
(gcc/config/i386/freebsd.h renamed to freebsd-aout.h)
1999-11-24 06:24:35 +00:00
obrien
77fa5db577 This commit was generated by cvs2svn to compensate for changes in r53660,
which included commits to RCS files with non-trunk default branches.
1999-11-24 06:24:35 +00:00
obrien
722d29dd3f Virgin import of gcc from EGCS 1.1.2.
(renamed to freebsd-aout.h)
1999-11-24 06:23:43 +00:00
obrien
53fe286fed This commit was generated by cvs2svn to compensate for changes in r53657,
which included commits to RCS files with non-trunk default branches.
1999-11-24 06:23:43 +00:00
obrien
cada3a5382 Virgin import of GCC 2.7.2.3's gcc/config/i386/freebsd.h for a.out systems.
[This has been renamed to freebsd-aout.h to not conflict with our own
hacked up version.]
1999-11-24 06:22:22 +00:00
obrien
262bec7848 This commit was generated by cvs2svn to compensate for changes in r53654,
which included commits to RCS files with non-trunk default branches.
1999-11-24 06:22:22 +00:00
obrien
224187cfed * Remove a trailing ";" from a macro.
* Style cleanup.
1999-11-17 07:18:25 +00:00
obrien
4c6571b53b This temperary file can die now. 1999-11-17 07:03:32 +00:00
obrien
ff78e4a96e Fix a minor bogon. 1999-11-15 19:26:58 +00:00
obrien
aad7f00e38 Undo rev 1.13 (define "OBSTACK_CHUNK_SIZE" as getpagesize()).
It causes internal compiler errors and sig 11's with GCC 2.95.2.
1999-11-15 07:57:13 +00:00
obrien
9151d1432f Add rev 1.2 profiling tweaks, to GCC 2.95.2. 1999-11-15 04:33:36 +00:00
obrien
53ecec3782 Use the stock 2.95.2 file here.
I cannot determine if our previous (rev 1.2) changes for ObjC are still
appropriate.
1999-11-15 04:28:55 +00:00
obrien
3470fefd25 Bump __FreeBSD_cc_version due to the compiler upgrade. 1999-11-15 04:25:13 +00:00
obrien
196d3fb65e Make cross-compilation work for Alpha on i386 machines.
Note that the optimizer has a bug somewhere.  This means that only -O0
works at this time.

Submitted by:	marcel
1999-11-14 12:07:57 +00:00
obrien
89cb48b53d Remove 'SET_ASM_OP' macro, which is unused now and rather harmful
for recent Egcs 1.1.x.

Submitted by:	simokawa
1999-11-14 12:04:02 +00:00
obrien
0caf21e247 Changes for Alpha and EGCS.
*  Commonalities with i386, moved to a FreeBSD wide config file.
*  Major additions to this file were adapted from Hidetoshi Shimokawa
   <simokawa@FreeBSD.ORG>'s Alpha suppliment to the Egcs 1.1.2 port.
1999-11-14 12:01:58 +00:00
marcel
1b5e9c01a9 Make cross-compilation work for Alpha on i386 machines. Note that
the optimizer has a bug somewhere. This means that only -O0 works
at this time.
1999-11-12 16:36:16 +00:00
obrien
4b66dfb903 Virgin import of the GCC 2.95.2 compilers 1999-11-01 08:28:22 +00:00
obrien
244fe162cc This commit was generated by cvs2svn to compensate for changes in r52750,
which included commits to RCS files with non-trunk default branches.
1999-11-01 08:28:22 +00:00
obrien
d883fc3415 Use this stock version of this. 1999-10-16 08:13:35 +00:00
obrien
cf3ead1aa1 Use the stock file here. I cannot determine if our previous (rev 1.2)
changes for ObjC are still appropriate.
1999-10-16 08:12:02 +00:00
obrien
4e49c9209b Use stock file here. 1999-10-16 08:10:36 +00:00
obrien
d6efeabb7a Bring our profiling tweaks from rev 1.2 into GCC 2.95.1. 1999-10-16 08:08:21 +00:00
obrien
cae8fa8120 Virgin import of the GCC 2.95.1 compilers 1999-10-16 06:09:09 +00:00
obrien
8f3bf11ba2 This commit was generated by cvs2svn to compensate for changes in r52284,
which included commits to RCS files with non-trunk default branches.
1999-10-16 06:09:09 +00:00
obrien
3dcb5df695 Register the fact we want expand_main_function() to invoke __main. 1999-10-15 20:56:19 +00:00
obrien
1555d44f14 Remove a useless blank line, I accidently added. 1999-10-12 00:35:49 +00:00
obrien
9f1f03f986 Move RCS tag to our normal place. 1999-10-10 22:43:12 +00:00
obrien
2dc205f241 Style cleanups:
* be consistant on protecting "#define FOO"s with "#undef FOO".
* be consistant that macro params are upper case, and commas are followed
  by a space in the macro definition
* protect macro param expansion by ()'s
* break long lines
* line continuations chars to consistant column
* remove trailing spaces
1999-10-10 22:33:40 +00:00
obrien
76d75beacc Remove things common to all FreeBSD platforms. They will now live in a
FreeBSD wide config file.

This includes "WORD_SWITCH_TAKES_ARG" & "SWITCH_TAKES_ARG".  Platforms
such as FreeBSD/MIPS will need to override these two defintions, but it
can #undef them and define them approapiately.
1999-10-10 22:17:24 +00:00
obrien
4e55baf141 Bring our profiling tweaks into EGCS 1.1.2. 1999-09-19 10:43:38 +00:00
obrien
28a04200f0 "COMMENT_BEGIN" is no longer used. 1999-09-19 10:32:18 +00:00
obrien
7d1a76ba11 Support linking against libgcc_r.
Submitted by:	Luoqi Chen <luoqi@chen.ml.org>
1999-09-19 10:31:14 +00:00
obrien
eed2bb0659 This should get us the same functionality we had with GCC 2.7.2.1.
*  Support for our dual ELF/a.out building ability
*  Our custom ASM_* definitions
*  Our custom debugger and profiling related definitions
*  Our custom STARTFILE/ENDFILE specs

*  The stock EGCS 1.1.2 freebsd-elf.h file depended on
   egcs-1.1.2/gcc/config/linux.h, which included "svr4.h".  We will
   include "svr4.h" via our "tm.h" definition.  So add the few bits
   from "linux.h" we actually needed.

*  Using our current crtbegin.o/crtend.o we cannot support the DWARF2
   unwinding mechanisms.  In the future we will switch to the
   non-sjlj-exceptions type exception machanism.  However the `make world'
   bootstrap problems with the EGCS crtstuff.c must be overcome first.

*  Our a.out gas doesn't "know" to use NOP's for aligns while in the text
   section.  Thus the a.out alignment generation needed tweaking from
   what we did with GCC 2.7.2.  [from BDE]

*  The definition of SUPPORTS_ONE_ONLY prevents the compiler from trying
   to use "linkonce" sections for a.out.  The definition of
   NO_DBX_FUNCTION_END we had causes it to avoid .stabs symbols that the
   assembler cannot handle for a.out.  [from JDP]

*  The previous "EXCEPTION_SECTION_FUNCTION" is the wrong name for EGCS.
   It also needed tweaking for EGCS.  [from JDP]

Also bump __FreeBSD_cc_version to 400002 in case we need to know we are
using EGCS at some point.
1999-09-19 10:28:57 +00:00
obrien
9fae78db4f Use the stock EGCS version of this. 1999-09-19 09:09:21 +00:00
obrien
1307fb8ba8 Use the stock EGCS 1.1.2 file here. Our previous changes are OBE.
(code change by rev 1.3 has been removed, and 1.2 is not needed since
contrib/gcc/cp/except.c is now the stock one)
1999-08-30 10:50:39 +00:00
obrien
ba9b2147f2 Use the stock EGCS 1.1.2 file here. I cannot determine if our previous
changes for ObjC are still appropriate.
1999-08-30 10:27:11 +00:00
obrien
1d16d23ff8 This brings rev 1.2 into EGCS 1.1.2. Also tweaks gleemed from EGCS
ChangeLog's.  Note that rev 1.3 changes (HOST_PTR_PRINTF) was not
brought into EGCS 1.1.2 as that is the default.
1999-08-30 10:12:33 +00:00
obrien
0bedf4fb30 Virgin import of gcc from EGCS 1.1.2 1999-08-26 09:30:50 +00:00
obrien
ad6db0c2d6 This commit was generated by cvs2svn to compensate for changes in r50397,
which included commits to RCS files with non-trunk default branches.
1999-08-26 09:30:50 +00:00
obrien
46e13824b3 * Consistantly surround macro parameters with ()
* Consistantly put spaces after "," in macro param lists
* Consistantly align continuation characters.
* Don't need to supply all variations of __FOO__ in CPP_PREDEFINES,
  gcc will do that for us.
1999-08-20 09:01:55 +00:00