Commit Graph

344 Commits

Author SHA1 Message Date
kristerw a20ab6118b gcc places relocations for class references in the text segment. That
is wrong for pic code. Remedy that.

This removes those annoying 'RRS text relocation' warnings when building
libobjc.
1998-12-29 02:03:58 +00:00
kristerw 28131ce85a Add '-d' flag for compatibility with the old strip. 1998-12-22 23:04:41 +00:00
kristerw ab2e248758 NetBSD always saves a_midmag as big-endian, but libbfd use the same
endianess as the arch in its internal structures, so we may have to change
the byte order when we write the exec header. The problem is that we need
the little endian version for libbfd to DTRT with the rest of the file.

Solve this by writing the exec header after the rest of the file has been
written.
1998-12-21 03:27:02 +00:00
mrg 5549691ddf set ELFSIZE=32 here 1998-12-16 15:01:50 +00:00
mrg 18e4e7bd52 add support for "sparc-*-netbsdelf" 1998-12-16 15:01:44 +00:00
mrg c57e92ccdf add support for "sparc-*-netbsdelf" 1998-12-16 14:49:45 +00:00
mrg 33e708f1c7 add a new target "sparc-*-netbsdelf". note that "em=" here is broken. but that is OK as it is broken everywhere here pretty much. 1998-12-16 14:33:14 +00:00
mrg 67f1109836 for sparc-*-netbsd, also enable elf32_sparc & sunos_big. add new target, tentatively named sparc-*-netbsdelf, that uses elf32_sparc as the default target. 1998-12-16 14:31:00 +00:00
mrg ee64a079d3 turn arm32 (uname -m) & NetBSD (uname -s) into arm-unknown-netbsdX.Y, so that it works for GNU naming 1998-12-16 14:19:54 +00:00
tv 8031b43d5f Import egcs 1.1.1 (release). 1998-12-13 00:15:30 +00:00
tv b5075450ce Conflict resolution. 1998-12-13 00:12:17 +00:00
tv 1bd5f31faa Import egcs 1.1.1 (release). 1998-12-13 00:04:06 +00:00
kristerw 51bd2f0605 Use correct parameters (TARGET_PAGE_SIZE etc.) 1998-12-12 21:53:14 +00:00
christos 272c18109a Add -DLINTCOMMENT for the previous change so that it is easy to spot. 1998-12-09 14:50:02 +00:00
christos 875e080659 Add a new flag -CC, that preserves comments in macro definitions and expands
them in the right place in the file. Used for lint(1).
1998-12-09 12:26:17 +00:00
mycroft 21bf4404e6 GC some unused code. 1998-12-04 17:35:53 +00:00
mycroft 79410cf933 Switch the reloc type to GOT32 earlier, and do not permit GOT32 relocs to be
turned into section-relative relocs.
1998-12-04 17:22:52 +00:00
mycroft 3934bd1d8b More bug fixes from Richard Earnshaw:
* Fix problems with moving constants smaller than the word size.
* Fix problems with CSE trying to shortcut PIC references.
1998-12-03 16:05:47 +00:00
eeh d445f3c355 Need to select a DEFAULT_TARGET_CPU when building in-tree 1998-11-28 17:55:43 +00:00
mrg f1580cbe73 add __arch64__, __sparcv9__ and remove unix, from CPP_PREDEFINES. 1998-11-23 09:16:57 +00:00
mrg 1bf8dbcfa8 set ELFSIZE to 64 here, so that ELFALIGN gets set to 8, so ALIGN() gets called with an argument. 1998-11-23 02:47:59 +00:00
mrg c5121a9ba4 add sparc64--netbsd support 1998-11-23 02:47:37 +00:00
mrg eb11f92a79 make this work. seems it needed `long int' and `long unsigned int' *exactly*
otherwise it wanted to dump core.  strange.  seems to work OK now.
1998-11-22 07:54:00 +00:00
kristerw cc2b58be2a Prevent gdb from getting stuck in _PROCEDURE_LINKAGE_TABLE_ ()
Closes my PR bin/6323.
1998-11-21 23:43:48 +00:00
kristerw b502b56ff5 Changes to make strip and objcopy work for a.out 1998-11-21 22:42:32 +00:00
kristerw e39ec0adc1 NetBSD specific things needed by the shared library support. 1998-11-21 22:38:40 +00:00
mycroft 500c26b496 Post-1.1.1pre2 patches from me and Richard Earnshaw. Fixes problems with
allocation of the r10 register, and some cases where code would fail to
compile.
1998-11-21 22:09:32 +00:00
mycroft facb3de742 Post-1.1.1pre2 patch from Jeff Law, via the egcs repository, which fixes some
problems with register allocation.
In particular, this should fix if_we on the i386, and GNU malloc on the m68k.
1998-11-21 22:06:47 +00:00
mrg 8bb0deaa38 add sparc64--netbsd support. enable all sparc targets for sparcnetbsd_vec 1998-11-21 17:51:11 +00:00
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 6c9bbc91b6 Fix some weak symbol lossage. 1998-11-15 19:06:28 +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 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
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
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