Commit Graph

1949 Commits

Author SHA1 Message Date
mrg ea29f88089 add sparc64--netbsd support. 1998-11-21 17:50:09 +00:00
mrg d842fea8df EM_SPARC64 is 43 _NOT_ 11 (which is bad-endian RS6000 :). this was accepted by the binutils maintainers several months ago... 1998-11-21 17:29:15 +00:00
mrg 747cbdde89 deal with `sparc64--netbsd'. 1998-11-21 04:39:03 +00:00
mrg c1b5511954 these are my NetBSD/sparc64 compiler descriptions. treat only as "work in progress." 1998-11-21 04:28:59 +00:00
tv 5f9a39a821 Add %{R*} to the LINK_SPECs which don't have them, to make rpath options
consistent on the compiler's front end.  (Note that -Wl,-R/path/ is still
the preferred usage in third-party software for 1.2+ compatibility.)
1998-11-17 18:22:51 +00:00
tv 1e43fc94f3 Make -G an option letter that takes an argument. Also nuke HAVE_ATEXIT as
that's in the global netbsd.h.
1998-11-17 18:15:28 +00:00
kristerw 54cd15a72e Make gas.new default for i386 and sparc. 1998-11-16 18:49:54 +00:00
frueauf b9900d38da Make this work again if BSDOBJDIR is set. 1998-11-16 09:45:48 +00:00
kristerw 6c9bbc91b6 Fix some weak symbol lossage. 1998-11-15 19:06:28 +00:00
jonathan 947b194cdf Add timestamp files and move-if-change logic for machine-generated source.
`make build UPDATE=1'  relinks the generators, forcing a rebuild
of insn-*.[ch]. Which, without move-if-change,  forces a full recompile.
1998-11-15 04:31:06 +00:00
tv c33b9ddf0b Conflict resolution from 1.1.1pre2 import. 1998-11-14 04:27:16 +00:00
tv 7500a991df Import egcs 1.1.1 prerelease 2 1998-11-14 04:14:09 +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
lukem 41adf160f1 add install 1998-11-09 22:47:36 +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
jonathan 6850880028 Use Standard SVR4 ctor/dtor mechanism: emit vectors for C++ file-level
constructors/destructors in .ctor/.dtor sections, respectively.

[cf:  src/gnu/usr.bin/gcc/arch/mips/netbsd.h	rev 1.10]
1998-11-07 18:00:10 +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
jonathan 9348758e57 GNU gprof does not support mips targets (lacks MD files.) 1998-11-05 04:14:56 +00:00
jonathan 6d127dfb63 Revert previous patch. Replace with patch from Cygnus binutils
maintainers which implements gnu c++ exception dynsums while
preserving compatiblity with Irix5 linker. (by no longer identyifying
particular sections that appear inside the .dynsym section).
1998-11-01 22:01:14 +00:00
jonathan 7431d9c704 Fixup last line of previous revision (editor buffer mishap?) 1998-10-31 12:52:34 +00:00
jonathan fe7810c7dc egcs-1.1 netbsd/mips config fixes:
1. Change linkspec to not pass -nostdlib to binutils ld, since on mips,
      ld parses "-nostdlib" as a set of short options which produce
      nonworking binaries.
  2.  Turn off ASM_OUTPUT_DEF definition: the egcs iris6.h says that
      our old definition (from gcc 2.7.2.2 iris5.h isnt really whats
      wanted here.
  3.  Turn off SET_ASM_OP (which defaults to .set) to stop
      dwarf2out.c from emitting debug(?) info for C++ using ".set",
      since both gas and mips as use .set to control assembler
      optimizations, not for equating labels. From iris6.h.
      and nonzero -G values are incompatible with PIC.
  4.  Set default GVALUE (for -G) to 0; this target always produces PIC
      by default, and on mips, PIC is incompatible with `small' segment.
  5.  Set TARGET_DEFAULT to enable "-mdebuga" to defeat
      GO_IF_LEGITIMATE_ADDRESS "smarts". GO_IF_LEGITIMATE_ADDRESS pretends
      that mips supports an address mode of constant + register.
      For constants larger than 16 bits, that relies on assembler fixups
      via $at.  egcs 1.1 (expr.c delta 1.76) may break up those addresses
      such that the backend cannot output them as offsets in load or store
      instructions anymore; no other patterns match so egcs coredumps.
1998-10-31 12:07:01 +00:00
matt 6b48270d7f Add a "new" reloc since tells ld that the DISP32 can become a GLOB_DAT. 1998-10-31 09:45:55 +00:00
matt ce394ac326 Add hook to convert some DISP32 relocs to BASREL through a GOT entry.
[XXX not perfect since gotslot are allocated on a per-symbol basis but
not a per-symbol & addend tuple.  This makes impossible to have separate
GOT entries to ___sF (stdin), ___sF+88 (stdout), and ___sF+176 (stderr)]
1998-10-31 09:04:29 +00:00
matt 931b784473 Remove reference to unused include file. 1998-10-31 08:59:58 +00:00
matt 64f4491c2e Add a hook for converting "normal" DISP32 relocs that refer to data symbols
in a shared object to BASEREL relocs through a GOT entry.
1998-10-31 08:56:24 +00:00
jonathan 35721185e0 gcc uses "mips" as the config subdirectory and arch-dependent filename
(eg config/mips/mips.md) for all mips targets, irrespective of
endian-ness or int size.  Update Makefile to match.
XXX sparc64, others?
1998-10-31 02:16:38 +00:00
jonathan 945f042426 egcs-1.1 emits .gcc_exception_table sections for C++ exception info on
mips, which causes binutils-2.8.1 ld (also 2.9.1) to coredump due to
an unrecognized dynsym index.

add ".gcc_except_table" to the list of section names which can appear
in the .dynsym section of an elf-mips [irix5, sic] binary. Confirmed
to fix the coredump for both binutils 2.8.1 and 2.9.1 ld.

Patch from Castor Fu <castor@geocast.com>. Reported to bug-gnu-misc
with this patch, should appear in a future binutils release.
1998-10-31 01:55:24 +00:00
jonathan 0244692638 patch solib.c from gdb 4.16 to work around non-relocation and
misfeatures with ELF on mips. Without this, gdb gets addresess in
shared-libraries wrong and reports `heuristic fencepost' error.

(cf. the special-case solib functions duplicated in irix5-nat.c.)
1998-10-30 06:33:00 +00:00
matt d7585142e2 Include VAX instruction disassembly support into bfd. (XXX case[lbw] still
needs to be done.)
1998-10-29 17:31:10 +00:00
matt 87cd4ef9e6 More PIC fixes. 1998-10-28 15:56:20 +00:00
matt ba7ad80c79 Fix cut&paste error. 1998-10-28 15:54:46 +00:00
matt 540ce132a7 Many fixes. Produes correct code now for strtoq.c and gawk. 1998-10-28 15:53:24 +00:00