Commit Graph

42 Commits

Author SHA1 Message Date
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
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
simonb 3c372c50f6 Add __ELF__ to CPP_PREDEFINES for mips platforms. 1998-05-14 04:05:45 +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
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 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
drochner 57b9298f1c fix misoptimization after "ffs(x) - 1"
(as done in egcs)
1998-01-20 16:03:17 +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
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
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
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
kleink f271ef50c9 When `-posix' is specified, link against libposix. 1997-06-24 16:55:05 +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 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
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
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 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
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
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
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 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
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
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 3c36209f8c Re-enable weak alias and sysv pragma support that was lost when we
upgraded to gcc-2.7.  These changes have been submitted to the gcc
maintainers.  With luck, we won't have this problem again...
1996-04-06 00:51:08 +00:00
christos bd9f45b014 Add -D__KPRINTF_ATTRIBUTE__ 1996-04-04 20:17:16 +00:00
briggs 37fbce7fae Fix from Niklas Hallqvist <niklas@appli.se> for extendplussidi.
A missing constraint was allowing a register to get reused prematurely
when doing an addition of two longs into a quad.
1996-02-21 05:34:20 +00:00
jtc 00a38a0584 Added support for m68060 (activate with -m68060). This change has
already been accepted and integrated into the FSF source tree.
1996-02-19 21:26:53 +00:00
jtc ada953057b Remove the DBX_NO_XREFS definition from the NetBSD m68k, ns32k, and
sparc gcc configuration.  It isn't needed, as NetBSD uses gdb.
1996-02-19 21:01:57 +00:00
jtc 6b5e9088a1 Pass -m68030 or -m68040 through to the assembler.
This patch has been submitted and accepted by the FSF and will be
in the next gcc release.
1996-01-16 18:41:47 +00:00
ragge 6691107409 Bug (!) in vax.md causing some compilations to fail; an '$' too much. 1995-12-30 17:19:53 +00:00
phil 4fec4fc912 Changing "..." to <...> for includes. 1995-12-15 08:03:52 +00:00
phil 34527405c3 Import gcc-2.7.2. Since it is in the gcc directory instead of the gcc2
directory, this is being done now.  We will live with two trees until
the "formal" switch over by changing src/gnu/usr.bin/Makefile.
1995-12-01 17:58:53 +00:00