Commit Graph

1913 Commits

Author SHA1 Message Date
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
matt
b185a88969 In non-BFD assemblers on NetBSD, use the NetBSD method of indicating
weak variables.
1998-10-25 00:26:36 +00:00
kristerw
a2030d670f Revert last change, since it treats external SIZE symbols as
weak undefined symbols. The problem it tried to solve is
actually a bug in non bfd gas.new.

Fixes PR port-i386/6351 from Bernd Ernesti.
1998-10-24 21:07:15 +00:00
matt
8f7b610683 More fixes and optimizations for VAX shared library support. Including
one that makes vfork work.
1998-10-23 00:51:36 +00:00
matt
42ba16dee7 Make the BINDER debug messages a bit more useful (print index and jmpslot
address too).
1998-10-23 00:44:44 +00:00
matt
bbd553f2e6 Eliminate more RRS text warnings. Fix a few fatal_insns with g++. 1998-10-21 06:39:55 +00:00
matt
6ee7d63576 It seems that gas.new has new types to indicate weakness
of symbols.  Adapt our ld to it.
1998-10-21 06:13:08 +00:00
matt
89f233dee8 Not all architecures are IEEE math. Don't define IEEE_drem on VAX. 1998-10-20 18:11:04 +00:00
kleink
069e8a5d77 GC empty `FILES' section. 1998-10-20 16:46:15 +00:00
matt
b472384710 Another small PIC bug fix. 1998-10-20 15:36:48 +00:00
matt
85da69cb36 More PIC bug fixes. 1998-10-20 14:58:44 +00:00
matt
d57a728bc2 If trying to covert operand to indirect and it already is
indirect, complain with a fatal error.
1998-10-19 23:35:07 +00:00
ross
a029e1e7ca Also descend into ld/ldconfig even for ld.new platforms. 1998-10-19 07:06:51 +00:00
ross
af935fa530 Even if we are a MACHINE_ARCH that builds ld.new, descend anyway into
ld/rtld & ld/ld.so so the man pages are installed.
1998-10-19 06:53:24 +00:00
ross
9883e3833c Descend into gprof if ${OBJECT_FMT} == "ELF". 1998-10-19 04:18:15 +00:00
ross
56fc9f5a6c Do some g/c and add -I${DESTDIR}/usr/include/bfd. The problem is that
bfd.h is a generated file and may end up in the objdir, which might be
.../obj, might be .../obj.${MACHINE} (but what about crosscompilers?)
etc etc. It seems best to use the one installed in DESTDIR; I hope
a DESTDIR setting is required for crosstool builds.
1998-10-19 04:15:10 +00:00
matt
baff1e8043 Switch the NetBSD/vax over to gas.new 1998-10-19 03:12:50 +00:00
matt
4f1a79cfbd Back out change to md_make_gotreloc which added 4 arguement of got_t *.
Add argument to md_fix_jmpslot indicating whether this the first (i.e
tranfer) jmpslot or not.  Add better support for VAX (the VAX can support
pure text code; let ld that advantage of it).  Checking in verified and
working versions of rtld VAX support routines.
1998-10-19 03:09:31 +00:00
matt
40b1bb9563 A large number of changes to enable PIC support and shared libraries
for NetBSD/vax.
1998-10-19 03:01:52 +00:00
matt
f94bc8f4df Add AUX_LABEL (need for VAX JSB/JMP "jmp" slots). 1998-10-19 00:30:57 +00:00
ragge
01921e4c4b TARGET_PAGE_SIZE should be 4k. 1998-10-18 08:48:59 +00:00
matt
c04e8d03ca Fix bug where "calls x, *foo" went through PLT, not GOT. 1998-10-18 06:54:13 +00:00
matt
058ca7f5d6 Add PIC mode support. Note that most of the support for PIC mode on
the VAX is inside gas.  There are cooperative changes in gcc/egcs and
ld as well.
1998-10-17 18:55:23 +00:00
matt
6178b5ccd0 Add a M_VAX (old 1K MID) for gas. 1998-10-17 18:49:50 +00:00
matt
d3b202ace6 Add a type label (needed for VAX assembly). 1998-10-17 18:49:09 +00:00
matt
25f52e1ec4 Add VAX support to gas.new. 1998-10-17 18:26:10 +00:00
itohy
102d06b78c 1. The 1st arg of sprintf() shall be nul terminated
(The C specification can read as such and our implementation of sprintf()
issues strlen() to the arg).
2. Eliminate memory leaks.
1998-10-17 17:14:01 +00:00
itohy
9d79a50f6a Correct return value of md_midcompat(). 1998-10-17 17:08:21 +00:00
tv
57d34f92e8 Set MAX_OFILE_ALIGNMENT to 32 as suggested by <chas@cmf.nrl.navy.mil> in
PR port-m68k/6308.  Since m68k's can access doubles fine on a 32-bit
boundary, this does not need to be 64.
1998-10-16 20:07:15 +00:00
tv
cacab8b6b5 Define __arm__ in CPP_PREDEFINES as on other ARM OS's. Suggested by
<rearnsha@arm.com>.
1998-10-16 19:50:46 +00:00
tv
e1ceba9eb2 Split the .NOPATH workaround into each cc1 Makefile, as f771 also uses
Makefile.cc1 and has a real parse.c....
1998-10-14 20:46:35 +00:00
scottr
153523c847 Revert last; this breaks compatibility with gcc-2.7.x-compiled
code.
1998-10-14 18:28:16 +00:00
tv
a2335d74f8 One of the tabs somehow got transformed into spaces. 1998-10-14 16:58:18 +00:00
tv
d6fc439bd1 Forcibly remove the "generated" files in gnu/dist automatically so they
will not interfere with a build.
1998-10-14 16:55:52 +00:00
tv
216cff3633 Revert <sys/param.h> workaround as approved by matt. 1998-10-14 16:53:43 +00:00
tv
38d1dc7ea7 Only build on gcc 2.7.x. 1998-10-14 15:05:30 +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