Commit Graph

182 Commits

Author SHA1 Message Date
obrien
28b73f7a82 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
obrien
4699cf5d0b Didn't get them all in revision 1.50. 2002-06-06 03:30:40 +00:00
obrien
616a2ae30e 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
obrien
52aeefcdd8 Tidy do-while.
Requested by:	bde
2002-06-06 03:26:36 +00:00
obrien
6e1cb4b9ca 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
obrien
c2beebb55b Seems we are not ready for revision 1.8. 2002-05-30 06:04:14 +00:00
obrien
f3e84ff8bd Make our default predefines ANSI clean. 2002-05-30 00:58:35 +00:00
obrien
532536cdd5 do-while ASM_OUTPUT_ALIGN to enable its use in more places. 2002-05-12 17:31:12 +00:00
obrien
29ad76a5ac Fixes for building a.out bits.
Submitted by:	bde
2002-05-12 12:01:12 +00:00
obrien
f4aad0fe00 Add tweaks needed when using as the system compiler. 2002-05-10 19:05:07 +00:00
obrien
5eb5239e7b Change symbol values to match freebsd.h to avoid warnings. 2002-05-10 09:02:14 +00:00
obrien
4af4f4a28b Remove files not part of GCC 3.1. 2002-05-10 05:26:57 +00:00
obrien
c95b4b5523 Use the stock (3.1 pre) file. 2002-05-09 22:44:32 +00:00
obrien
e40513279f Use the stock file for now (but leave a note behind about our OBE changes). 2002-05-09 22:42:39 +00:00
obrien
37ab630335 Use the stock (3.1) file. 2002-05-09 22:38:33 +00:00
obrien
5dab80497a We use the stock (3.1) file. 2002-05-09 22:16:22 +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
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
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