Commit Graph

191 Commits

Author SHA1 Message Date
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
phil ef82a6f04f Remove some unnoticed trailing garbage in a patch. 1997-05-13 21:18:24 +00:00
phil 80e042614d Update gcc2netbsd to generate the current gcc tree when given gcc-2.7.2.
Added a new patch mechanism to gcc2netbsd so changes from the FSF source
are seen in gcc2netbsd.  Sync some Makefiles to output of current gcc2netbsd.
(Cosmetic changes only to the Makefiles.)
1997-05-13 21:01:55 +00:00
mycroft cc4a1553a1 Eliminate bogus redefinitions of standard targets. 1997-05-09 07:50:03 +00:00
mycroft 093617215b Use " includes, and some other cleanup. 1997-05-09 05:07:31 +00:00
mycroft 185b24dd5b Use libinstall::, not install:, to prevent instaling LIB. 1997-05-07 16:20:26 +00:00
mycroft fd8daf980e Add .MAKE to the .OBJDIR hacks, so they work with `make -n'. 1997-05-07 07:15:34 +00:00
thorpej b2435880cc Revert previous change - It causes too many object-level incompatibilites
that violate the Principle of Least Astonishment.
1997-05-05 06:25:15 +00:00
mycroft e6492a1093 Our linker aligns the data and BSS segments to a 4-byte boundary, so
set BIGGEST_ALIGNMENT to 32 by default.
Also, change some other alignemtn constraints to improve performance.
1997-05-02 22:16:46 +00:00
mikel a4bddb19a0 more libgnumalloc.a -> ${LIBGNUMALLOC} 1997-03-27 05:13:52 +00:00
christos 0aad9d4378 Makefile cleanups 1997-03-24 22:02:40 +00:00
jonathan 7d1baa6e30 Add weak symbols on mips by defining ASM_OUTPUT_DEF (for varasm.c) in
arch/mips/netbsd.h.  Add mips/netbsd.h to the gcc2netbsd script.
1997-03-15 01:35:37 +00:00
mycroft 4a647ad6fa Pull in fix from development tree to mark the correct regs as live. 1997-03-12 06:12:27 +00:00
mycroft f525bcf594 Remove the cmpdi pattern, since the operand constraints cannot be enforced
during register spilling.  The default implementation is less optimal in some
cases, but it works.
1997-03-12 06:11:00 +00:00
mouse 412433b44c alternate -> alternative, per PR 2643 1997-03-08 13:26:20 +00:00
jonathan 76f1d1f657 Commit src/gnu/usr.bin/gcc/arch/mips/netbsd.h diffs with minimal
support for shared libraries.  Diffs from Manuel Bouyer, probably
derived from similar OpenBSD gcc diffs.

This change is in the source tree because it was used to build a NetBSD/pmax
shared-lib snapshot.  The change isn't being integrated into  the gcc2netbsd
script until the shared-lib diffs are finalized.
1996-11-17 19:36:51 +00:00
mycroft 5711873831 Build _eh.o. Reported by Simon Gerraty. 1996-11-11 01:06:54 +00:00
jonathan bdc1084483 Commit years-old change for gcc on NetDSB/mips.
The NetbSD libc header files use GCC attributes to emit link-time warning
messages (e.g,. for gets()).   SO, add a definition of the GCC back-end
macro ASM_OUTPUT_SECTION_NAME() to the mips back-end target-specific file.

This adds support for emitting warning attributes to binutils 2.6 or newer.
(Weak references may or may not work also).

This patch has been  submitted to the FSF but hasn't made it into 2.7.2.1,
and seems to have got buried somewhere inside Cygnus.
1996-11-08 22:21:52 +00:00
thorpej 46ac224706 Use ${INSTALL}. 1996-10-18 02:52:59 +00:00
jtc d9b9c6dc0f /usr/tmp -> /var/tmp 1996-07-01 00:29:24 +00:00
mark 0e0fb92b29 Define __KPRINTF_ATTRIBUTE__ in the CCPP_PREDEFINES so we get rid of a
load of compiler warnings.
1996-06-05 19:09:11 +00:00
phil 90be8557fc Add the missing dependencies on the arch.md file. 1996-05-23 04:54:42 +00:00
phil 7b365250a9 Better changes from Matthias Pfaller. 1996-05-23 04:49:45 +00:00
phil 640382281e Bug fixes from Matthias Pfaller. (Will be submitted to Kenner soon.) 1996-05-19 05:27:33 +00:00
phil 82020f146c Add arm32 to the list of architecture configurations to extract. 1996-05-19 05:19:52 +00:00
mark 8b4eb7eeed Commit of arm32 architecture sources for GCC 2.7.2 1996-05-17 21:18:03 +00:00
mark b6ef591915 Commit of arm32 architecture sources for GCC 2.7.2 1996-05-17 21:16:45 +00:00
jtc e4cdcb8d79 soft-float accidently turned off the 68060 bit 1996-05-17 01:56:13 +00:00
jtc a7dc4ab369 Pass -m68060 through to the assembler 1996-05-12 18:52:22 +00:00
mycroft f0c3c199fa Update for removal of cexp.c. 1996-05-11 11:37:59 +00:00
mycroft 152a87dd9d This is generated automatically. 1996-05-11 11:30:58 +00:00
jtc 7d85884ca8 Added support for -R option.
This patch has been accepted by the FSF, and should appear in future
gcc releases.
1996-04-25 18:23:37 +00:00
jtc 7bf481ecb2 Integrate change from the gcc development sources:
Tue Feb 13 17:59:03 1996  Lee Iverson  <leei@Canada.AI.SRI.COM>

	  * gcc.c (DEFAULT_SWITCH_TAKES_ARG): New macro, from SWITCH_TAKES_ARG.
	  (SWITCH_TAKES_ARG): Use it.

This change alows us to add support for the 'R' option in a way that
will minimize differences when it comes to merging a future FSF gcc
release into the NetBSD sources.
1996-04-24 02:35:29 +00:00