Commit Graph

223 Commits

Author SHA1 Message Date
matt
5ac8a0b7ba powerpc support for 2.95.3 2001-07-19 22:13:23 +00:00
mrg
4523fd67d7 build a mipsel-netbsd gcc & libgcc. 2001-07-19 18:35:22 +00:00
matt
15d3102358 Initial 2.95.3 support for ARM-ELF. 2001-07-19 15:27:16 +00:00
mrg
c88bdb3273 build a sparc (elf) gcc 2.95.3 2001-07-19 15:20:13 +00:00
mrg
4331a0fffa freshly generated sparc64 config that seems able to build a working c & c++
compiler....  now we just need binutils & gdb :)
2001-07-19 00:54:24 +00:00
tv
652e52ca13 Use g++spec.c, not cppspec.c. (Thinko.) 2001-07-18 18:25:29 +00:00
tv
77c3a78e27 Regen. 2001-07-18 18:17:58 +00:00
tv
f392296088 Fix BINDIR/MKMAN. 2001-07-18 14:02:43 +00:00
tv
75050b108b Add cpp and cpp0. 2001-07-18 14:02:26 +00:00
tv
9bfd60ec3d Add frontend /usr/bin/cpp (now a real binary) and /usr/libexec/cpp0
(formerly /usr/libexec/cpp).
2001-07-18 14:01:14 +00:00
tv
8ee0a1461c Fix links and manpages. 2001-07-18 14:00:11 +00:00
tv
865939c423 Make "make depend" work correctly. 2001-07-18 13:59:17 +00:00
tv
634ebd4dc4 Add gcc 2.95.2 build framework, and i386 config files from toolchain2netbsd.
This should not be used directly for building host tools; rather, the top
level bootstrap (to be committed separately) should be used to build the
entire system including this compiler.
2001-06-18 16:18:30 +00:00
tv
1343ef3796 GC old gcc 2.7.2.2. 1998-12-12 23:44:22 +00:00
christos
ff2bf3becc Add -DLINTCOMMENT 1998-12-09 14:44:03 +00:00
mycroft
cab96925f3 Grad the adddi3 pattern from egcs -- which prevents the insn from getting too
complicated to allocate all the registers it needs.
Fixes PR 5199.
1998-11-12 16:40:47 +00:00
mycroft
2ea86fa2ea Redo the previous:
GC all of the backward branch code (which wasn't used).
Separate the a.out stuff into a separate .h file.
Some other random cleanup.
Leave the arm_preserved_register() hack for now.
1998-11-12 11:03:23 +00:00
mycroft
bc4bd03685 Various changes culled from 2.8/egcs to clean this up a bit. 1998-11-12 03:03:34 +00:00
mycroft
1ef4e62a74 Fix from 2.8/egcs to handle the case where a comparison is optimized out
during a reversal.  Fixes PR 5564.
1998-11-11 22:06:47 +00:00
mycroft
b4380f21bb Remove an unneeded hack. 1998-11-11 21:19:44 +00:00
mycroft
21135fece3 Remove the useless S constraints in the casesi_internal pattern. 1998-11-11 20:39:21 +00:00
mycroft
6f8f9f2158 Remove a bogus -- and possibly dangerous -- hack to work around a bug in
genoutput.c.
1998-11-11 20:33:25 +00:00
mycroft
d301e03afb Look inside USEs for dups. 1998-11-11 20:27:36 +00:00
mycroft
5116c09218 Changes from egcs to fix flow analysis bugs relating to -Wuninitialized and
-fomit-frame-pointer.
1998-11-11 19:03:36 +00:00
mycroft
d6f5342639 Modify the ARM PIC changes to be the same as they were done in GCC 2.8. 1998-11-11 18:34:43 +00:00
mycroft
2faed9af34 Delete bogus comment. 1998-11-11 18:32:50 +00:00
mycroft
9612fc2c3b Remove duplicated comment. 1998-11-11 12:13:32 +00:00
mycroft
3f758b12b4 Import corrected load/store multiple code from egcs. 1998-11-11 09:07:17 +00:00
mycroft
5fedd08634 Work around the bug that causes unrecognizable smin insns.
This is truly gross.
1998-11-11 02:57:13 +00:00
mycroft
246ed829a5 Don't fold equality comparisons with constants if the operand is larger than
the word size.
1998-11-10 18:51:45 +00:00
mycroft
f247710583 Change the version number again. 1998-11-09 18:22:04 +00:00
mycroft
100e0d5e7e From the 2.8 tree:
(find_dummy_reload): New parameter earlyclobber.  If set then don't
use IN for the reload if it also appears elsewhere in the insn.  All
callers changed.

This fixes problems compiling editors/emacs and games/abuse on the Shark.
1998-11-09 18:19:07 +00:00
mycroft
1ee9406232 (global_conflicts): Explicitly ignore real registers. 1998-11-09 18:16:15 +00:00
mycroft
7884b51fe1 From David Edelsohn, via the GCC 2.8 development sources:
* loop.c (combine_movables): Earlier insns don't match later ones.
This fixes compilation problems with sa(1) and pkgsrc/games/abuse.
1998-11-09 14:37:52 +00:00
mycroft
ffe8316398 Fix a code generation bug in store_expr() when the rhs is a memory location
pointed to by a postincremented (or postdecremented) pointer and the value
of the assignment is reused.
1998-11-08 14:58:09 +00:00
mhitch
b2b8303852 C++ support changes:
Generate .ctors and .dtors sections which contain the contructor and
deconstructor function addresses.

Use .init and .fini sections to call the functions to call those functions.

Include the crtbegin and crtend object files which perform those calls.
1998-11-06 04:33:43 +00:00
tv
334db9e84c Do not link in -lg++ by default, ever. It is not a supported library any
longer.
1998-10-14 15:01:09 +00:00
christos
228a8f9869 PR/6265: Chas Williams: minor bug in assembler output from gcc
(produces 'empty' symbols)
1998-10-09 11:13:21 +00:00
jonathan
e70308f9ea cleanup: Use sigemptyset() if HAVE_SIGEMPTYSET defined,
otherwise zero out entire struct sigaction.
1998-09-28 22:36:09 +00:00
jonathan
1d4590b75f sa_mask (sigset_t) is no longer integral, so initialize to zero via
function call. Code is used on OSF/1, too, so no __sigemptyset.
1998-09-28 21:41:23 +00:00
jonathan
0663f303b1 Back out rev 1.6: passing "-nostdlib" to binutils ld results in
binaries that abort immediately on exec().  binutils ld apparently
treats "-nostdlib" as a set of one-char options?)
1998-09-28 21:37:11 +00:00
wrstuden
d8c791aaf4 Teach gcc how to be cross-compiled before it dies. 1998-09-12 19:45:37 +00:00
matt
44525e4d53 Slight tweak so that indirect references thru the PC are not used
in PIC mode.
1998-08-29 21:10:40 +00:00
mycroft
e41c61fee9 Slight cleanup. Nuke things defined in ../netbsd.h, and nuke -Driscbsd. 1998-08-04 20:48:19 +00:00
thorpej
19445c4010 Reverse the sense of the MACHINE_ARCH test to test the arch's that should
NOT build these things (a much shorter list :-)
1998-07-28 18:53:40 +00:00
tv
e13ccaa4be Cope with "mipsel". This is not yet useable for "mipseb," but that
_should_ be dealt with as part of the egcs import before 1.4.
1998-07-27 02:29:24 +00:00
tv
eb1936059e Match mips, mipseb, and mipsel. 1998-07-27 01:11:08 +00:00
rvb
a7bec6f8a2 The .o files should depend on the h file, not the .c files 1998-07-10 16:37:55 +00:00
tv
1a9b4ce852 "Fix" ASM_WEAKEN_LABEL so libgcc2 will compile happily. This _should_ be
fixed in libbfd for compliance with the other platforms when switching to
egcs as the compiler for arm32.
1998-06-09 17:58:27 +00:00
pk
07584841b6 Don't build lint library 1998-05-20 12:34:14 +00:00
simonb
3c372c50f6 Add __ELF__ to CPP_PREDEFINES for mips platforms. 1998-05-14 04:05:45 +00:00
enami
2e7b340a0c Use a name based on a target name instead of fixed one as a name of
intermediate file so that parallel make works.
1998-05-08 00:36:07 +00:00
tv
482063559a .y.c <sys.mk> rule fixes. Don't create a y.tab.h file unless asked for,
and use smarter creation of the header file.
1998-04-09 00:32:31 +00:00
tv
aa9dc830d0 Add note that -nostdlib is passed to the linker. 1998-04-07 13:16:28 +00:00
matthias
6a93608a3d ns32k.c:
* ns32k_gen_operand is no longer needed.
* new function symbolic_reference_mentioned_p (stolen from i386).
* make print_operand dtrt when printing symbolic "constants" in picmode
  and abort for the cases that it can't handle (e.g. symbol+offset).

ns32k.h:
* Use NS32K_DISPLACEMENT_P wherever suitable.
* make LEGITIMATE_PIC_OPERAND_P dtrt to make the ns32k_gen_operand hack
  unnecessary.

ns32k.md:
* Use general_operand instead of ns32k_gen_operand everywhere.
* replace "rmn" by "g" again.
* make addsi3 dtrt for pic.

The comments in ns32k.md still need some updates.
Thank's again to Ian Dall for his help.
1998-03-30 20:21:01 +00:00
mhitch
9893e4c551 The mips port now uses /usr/libexec/ld.elf_so. 1998-03-26 02:13:18 +00:00
cgd
e31461b53c use CHAR_MIN to determine if 'char' is unsigned, and conditionalize
the code in __objc_code_char() appropriately.  Thanks to
Alan Barrett <apb@iafrica.com> for providing a good way to do this.
1998-03-24 23:17:21 +00:00
matthias
6aa3cd8c81 backout "rmn" -> ns32k_gen_operand change. This needs more thought and
testing.
1998-03-24 22:47:10 +00:00
matthias
0042eeb18d gcc-ns32k mega commit compiled by Ian Dall.
This commits several enhancements done over the last years:
- adddi3 subdi3 insn definitions: Jon Buller (ns32k.md, ns32k.c)
- ffssi2 adddi3 and subdi3 bug fixes: Matthias Pfaller (ns32k.c, ns32k.md)
- movstrsi reimplimentation: Ian Dall (ns32k.c, ns32k.md, ns32k.h)
- 32381 fpu support (extra registers, multiply - add instructions):
  Ian Dall (ns32k.c, ns32k.h, ns32k.md)
- divmoddisi: (re) implimentation Ian Dall (ns32k.md)
- use predicate rather than register constraints to allow better code for
  non pic case: Ian Dall (ns32k.md, ns32k.c)
- clean up of many macros in ns32k.h: Ian Dall
1998-03-13 22:57:49 +00:00
tv
1491cb8af5 PR #4869: Make gcc frontend use proper vfork() by including <unistd.h> and
changing exit() to _exit().  Modest performance improveent, too.
1998-03-09 12:57:23 +00:00
tv
e58b3726c3 PR #3606: add -nostdlib to ld's command line if -nostdlib is on cc's
command line.  This behaviour is how it's documented; it should work
that way.  Also fixes building a release tree on a -current system (which
bit me with the sparc secr set I built for pk).
1998-03-06 17:42:50 +00:00
cgd
0924c4443d Make sure the reason that NOLINT is set is documented. Additionally
in places where it should be set (or has to be set right now), do so.
1998-02-19 02:17:05 +00:00
cgd
80678449fe explicitly set NOLINT in libgcc and libobjc Makefiles. There's
nothing sensible to make lint libraries of in here.
1998-02-05 23:47:24 +00:00
drochner
57b9298f1c fix misoptimization after "ffs(x) - 1"
(as done in egcs)
1998-01-20 16:03:17 +00:00
lukem
493c7002e7 note that /var/tmp isn't the default for TMPDIR 1998-01-09 06:02:38 +00:00
veego
a0d473d24a Use the same ifndef from src/gnu/usr.bin/gcc/cc/gcc.c rev 1.6 (lukem):
> don't try using P_tmpdir (from <stdio.h>, defined as "/var/tmp/" on
> NetBSD), or "/usr/tmp" for temp files - just use "/tmp".
> from ronald khoo in [bin/4224]
1998-01-06 20:11:58 +00:00
lukem
95073cdb54 don't try using P_tmpdir (from <stdio.h>, defined as "/var/tmp/" on NetBSD),
or "/usr/tmp" for temp files - just use "/tmp". from ronald khoo in [bin/4224]
1998-01-06 12:47:43 +00:00
mycroft
21816067e1 Eliminate DECL_C_STATIC() and DECL_PUBLIC(), as in egcs.
Make sure TREE_PUBLIC() is set for inline functions which are not static, so
that they actually get instantiated.
1997-12-16 09:22:28 +00:00
mikel
06c1873d83 add missing ".o"; from Brian Grayson in PR 4487 1997-12-04 09:03:18 +00:00
thorpej
3cac099fca Don't do function CSE; it tickles a bizarre bug in other parts of the
toolchain.

This is only a temporary work-around until we either fix the other toolchain
bug or switch to a different toolchain.
1997-11-04 20:59:11 +00:00
mycroft
1c81e53081 From Mike Stump, via egcs:
+ 	* stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
+ 	we are packing a structure.  This allows a structure with only
+ 	bytes to be aligned on a byte boundary and have no padding on a
+ 	m68k.
1997-11-03 12:23:14 +00:00
mycroft
b5a9af9fec From Mike Stump, via egcs:
* c-decl.c (start_struct): Ensure that structs with forward
 	declarations are in fact packed when -fpack-struct is given.
1997-11-03 12:21:51 +00:00
lukem
bdda42e958 use .m.o rules from <bsd.lib.mk> 1997-10-28 12:43:35 +00:00
lukem
da49bfcda7 use CPPFLAGS instead of CFLAGS 1997-10-25 10:10:19 +00:00
is
f2af392200 Fix PR 3123 by Robert Dick.
Gcc used to create code to create trampolines (for nested functions) for
m68k without properly flushing the caches, leading to segmentation violations
on 68040/68060 systems.
Fixed by:
- importing the gcc 2.7.2.3 trampoline creation code into arch/m68k/m68k.h
- adding the OS-specific code for this into arch/m68k/netbsd.h
These changes have been reflected in gcc2netbsd.
1997-10-24 21:25:46 +00:00
is
560b960e0d finalize Objective-C support, closing PR 4200 by Peter Simons:
- add /usr/include/objc to mtree
- set libobjc/Makefile INCSDIR=/usr/include/objc
- put to-be-installed includes to libobjc/Makefile into INCS=
- add the Objective-C source files to the appropriate lists.
- as the objc include files are installed now, no need to patch most
  of the files.
- add /usr/include/obj/* to src/distrib/comp/mi
The changes have been applied to gcc2netbsd, and this script was then used
to create the new version of the files in libobjc/.
1997-10-22 12:56:37 +00:00
mark
9ad19504c3 Fix bugs found with various levels of optimisation while implementing
PIC support for GCC/arm.
This fix is untested on platforms other than the ARM and is only enabled
if GCC_27_ARM32_PIC_SUPPORT is defined.
These fixes are only required for GCC 2.7 and will not be needed in 2.8+
1997-10-19 19:05:51 +00:00
mark
df179fd1e4 Fix bug found with optimisation and -fhandle-exception while implementing
PIC support for GCC/arm.
This fix is untested on platforms other that the ARM and is only enabled
if GCC_27_ARM32_PIC_SUPPORT is defined.
1997-10-19 19:01:28 +00:00
mark
baa72d9de9 Added PIC support for the ARM version of GCC 2.7.2.2 implemented by
Norm Rubin and Richard Earnshaw.
PIC support for ARM will form part of the standard GCC tree from 2.8
onwards.
Also default to building soft-float as the resulting code will be a lot
faster then using emulated floating point instructions.
1997-10-19 18:56:38 +00:00
lukem
291223920b fix make -j race condition when building libs 1997-10-18 06:21:28 +00:00
mycroft
6d66d9e789 Modify the version number so people know that this isn't their father's GCC. 1997-10-10 01:05:03 +00:00
mycroft
1e9143a549 Make sure TREE_PUBLIC() is false for static function declarations. This was
an abstraction violation, and broke compilation of libqt on the i386 port.
1997-10-10 01:00:38 +00:00
jonathan
07a2c597a0 Change GCC's INITIALIZE_TRAMPOLINE() function as submitted to Cygnus:
emit a call _cacheflush() to ensure Icache consistency
    after writing trampoline code for lexical closures onto the stack
    (i.e., into the Dcache).

GCC 2.x (x <= 7.2.2) emits a call cacehflush(), polluting the user
namespace.
1997-10-06 21:19:11 +00:00
mycroft
a6c7350ef2 Import a few reload bug fixes from 2.8. 1997-10-01 02:21:39 +00:00
mycroft
49ce788d15 Import a few reload bug fixes from 2.8. 1997-10-01 02:21:33 +00:00
mycroft
9a36ae0c8f Import change from development sources to follow a REG_EQUIV for a REG in
memref_referenced_p(); otherwise there are cases where a later set that changes
the memory location may be moved too early, and thus the new value will be
(incorrectly) used where it should not be.
1997-10-01 02:12:21 +00:00
mrg
68a93585b8 update with recent change. also fix warning (and bug) from perl -w 1997-06-25 03:31:56 +00:00
kleink
f271ef50c9 When `-posix' is specified, link against libposix. 1997-06-24 16:55:05 +00:00
chopps
5559da2d04 use += not =. Propogate change to gcc2netbsd 1997-06-24 12:25:57 +00:00
mrg
586ed80911 install all man pages. 1997-06-23 13:25:41 +00:00
cjs
7a66732d34 Back out BUILDDIR and NOINSTALL changes. 1997-05-31 21:21:13 +00:00
cjs
83498d7e88 Remove empty libinstall target and add NOINSTALL=1. 1997-05-30 13:43:06 +00:00
mycroft
2b799e1f99 Nuke bogus all: dependency. 1997-05-16 21:16:47 +00:00
phil
a55656a0f8 Get the last place for 2.7.2.1 -> 2.7.2.2. 1997-05-16 19:28:31 +00:00
phil
afce939db2 Update for changes to arch/netbsd.h. 1997-05-15 00:33:59 +00:00
phil
aadf5347f8 Add STARTFILE_SPEC so -pg and -static will use the proper crt0.o, mcrt0.o
or scrt0.o.  (Fix from PR 2763.  Other parts of 2763 not needed because
lib/csu/* already makes the proper .o files for all ports except mips.)
1997-05-15 00:27:38 +00:00
phil
0c62738797 OK, OK! It is now 2.7.2.2. 1997-05-14 19:26:32 +00:00
phil
47dc8ebd2e Cleanup one patch that just changed a $Id: field. 1997-05-14 07:02:00 +00:00
phil
6b7792164b Make sure copies are 2.7.2.1 versions. 1997-05-14 06:44:20 +00:00
phil
e49d2c410f Import of gcc-2.7.2.1. 1997-05-14 05:04:53 +00:00