Commit Graph

2299 Commits

Author SHA1 Message Date
tv
04162329d6 Enable ld.new on alpha. 1999-02-03 01:32:53 +00:00
tv
9d8e94a575 Update to 2.9.1. 1999-02-03 01:32:40 +00:00
tv
77dc2e157a Reorganize, and enable gas.new on arm32. 1999-02-03 01:11:23 +00:00
tv
4a3f8b97da Re-enable binutils based gprof on Alpha. 1999-02-03 00:52:10 +00:00
tv
6f9f9c2a10 Re-enable binutils-based gprof for i386, and disable old gprof on i386. 1999-02-03 00:17:35 +00:00
tv
f5abe789ad Update to 2.9.1. 1999-02-03 00:15:09 +00:00
tv
7f64159fa3 Reenable:
- binutils on all architectures (including PowerPC!),
- gdb on i386,
- gas.new on alpha and i386.
1999-02-02 22:48:11 +00:00
tv
942ddff25b Fix up ELF sources list. 1999-02-02 22:16:57 +00:00
tv
19b7fecf53 Get rid of !powerpc cruft. 1999-02-02 22:05:58 +00:00
tv
34923965e0 Separate the configuration into one per architecture - maintaining hacks
for multi-arch config.h is too much trouble.  Add skeletons generated from
a './configure --target=' for each architecture.
1999-02-02 22:02:47 +00:00
tv
3b3908f06f Update the C++ demangler to one from the egcs 1.2 trunk, dated 19980131.
This is a bit more robust than that in egcs 1.1.1, and recognizes more
(but not yet all) template constructions.
1999-02-02 21:00:32 +00:00
tv
939670a527 Re-enable libbfd on all platforms including PowerPC. (Will re-enable
individual bfd dependent programs one at a time, as they are verified.)
1999-02-02 20:46:37 +00:00
tv
586a0960e7 Nuke ld testsuite (wasn't updated with 2.9.1, and can be obtained via
third party sources)
1999-02-02 20:34:12 +00:00
tv
f226c2f097 Nuke gas testsuite (wasn't updated with 2.9.1, and can be obtained via
third party sources)
1999-02-02 20:31:08 +00:00
tv
5accb47df8 It's now called "aout-arm32.c" with a dash. 1999-02-02 20:31:07 +00:00
tv
bdb3f58851 Nuke gas testsuite (wasn't updated with 2.9.1, and can be obtained via
third party sources)
1999-02-02 20:30:27 +00:00
tv
7b850c06da Resolve conflicts and update NetBSD local changes tobinutils 2.9.1. 1999-02-02 20:26:57 +00:00
tv
3677e2d7cb Update to binutils' bfd 2.9.1. 1999-02-02 20:00:39 +00:00
tv
2e8b57510c By popular demand, import binutils 2.9.1. 1999-02-02 19:51:16 +00:00
tv
16d7798441 Turn off bits of the toolchain from building on a recursive make: binutils,
bfd, gas.new, ld.new, gdb, gprof; in anticipation of the binutils-2.9.1
import.
1999-02-02 17:45:02 +00:00
thorpej
0febb464c7 Oops, fix the NO_UNDERLINE CPP hack. 1999-02-02 02:04:40 +00:00
tv
fd7f133baa Always include <unistd.h> so we get the vfork prototype.
Noticed by <wada@faraday.ee.ibaraki.ac.jp>.
1999-02-02 00:29:09 +00:00
christos
afe4450a51 undefine the solaris builtin 64 bit div/rem functions; we don't have them. 1999-01-31 22:21:47 +00:00
christos
83d09787de Choose the elf template if DEFAULT_ELF is defined. 1999-01-31 21:45:40 +00:00
christos
c3cd75c8c9 Remove the i386 test for defining DEFAULT_ELF; the sparc uses is now too,
and it is harmless.
1999-01-31 21:45:08 +00:00
christos
cd9cbd137a correct cpp spec for elf. 1999-01-31 21:18:36 +00:00
christos
349701a92b Elf bits. 1999-01-31 21:17:27 +00:00
christos
6a495c0638 Default to elf if the object format says so. 1999-01-31 21:16:46 +00:00
kim
d6f02000ee Added z[ef]grep. 1999-01-31 14:33:33 +00:00
christos
a955c6698d Since someone added a warning for "unix" in cpphash.c, we need to define
a warning function...
1999-01-31 13:05:08 +00:00
tv
14f0c3bc52 Nuke `generated' sources from dist in beforedepend (shouldn't affect a
`correct' r/o source tree, as those files shouldn't exist; this is to make
up for the fact that they weren't nuked before ld.new was activated....)
1999-01-30 12:38:32 +00:00
tv
295c0f16b9 These should have been removed a long time ago. 1999-01-30 12:29:01 +00:00
thorpej
9b50aa223b ELFSIZE=32. 1999-01-28 23:38:27 +00:00
thorpej
2d24864f72 Add i[3456]86-*-netbsdelf*) target. 1999-01-28 23:32:51 +00:00
thorpej
9f32ccf21d Add an i[34567]86-*-netbsdelf*) target. 1999-01-28 22:01:27 +00:00
thorpej
18c36e6cd5 Add an i386-*-netbsdelf*) target. 1999-01-28 22:00:20 +00:00
thorpej
9b3208fc2b Add an i[3456]86-*-netbsdelf* target, and add bfd_elf32_i386_vec to
i[3456]86-*-netbsd*.
1999-01-28 21:59:53 +00:00
tv
74a786bfb5 Make __pure_virtual() use __terminate(), not _exit(), so that it's easier
to catch within a debugger.
1999-01-28 16:05:26 +00:00
perry
6360520821 Temporarily disable groff_mmse.7 -- we will re-enable it soon when we
have an internationalized man page hierarchy in place.
1999-01-26 02:49:13 +00:00
christos
f2aadc8f93 Don't include '/' as a comment character on ELF. This probably violates
some assembler standard, but we cannot use '/' as the divide operator
otherwise!
1999-01-25 18:38:49 +00:00
eeh
433b3e50de sparc64 also needs 64-bit BFD. 1999-01-23 20:51:57 +00:00
mycroft
cebde81965 Patch from Richard Earnshaw which fixes a reload problem with
(reload (mem (mem ...) patterns.  Makes BIND 4 compile with -O2, among
others.
1999-01-23 01:27:17 +00:00
thorpej
00250899d5 Argh, typo in previous. 1999-01-22 22:24:29 +00:00
thorpej
435e3187c6 If the object format is ELF, build match.S with -DNO_UNDERLINE. 1999-01-22 22:18:28 +00:00
tv
ef1a003862 Significantly reduce code size of programs which use string, complex,
or the Allocator heavily.  (For common types, these are already
instantiated in libstdc++, and do not need implicit instantiation.)
1999-01-19 15:27:24 +00:00
christos
f2cded7b79 Enable -DLINTCOMMENT 1999-01-18 21:14:50 +00:00
tron
175f482885 Fix for broken send file function supplied by Frederick Bruckman in
in PR bin/6834.
1999-01-18 20:54:43 +00:00
mrg
d170a5e781 use gas.new and ld.new on sparc64 1999-01-18 10:18:54 +00:00
simonb
67be258b1b Don't use the distributed yacc'd and lex'd files; build our own with
our own tools from the original .y/.l files.
1999-01-18 04:12:15 +00:00
eeh
36db6b8dda Make cc call gas with `-Av9a' (thanks mrg). 1999-01-17 02:13:18 +00:00
simonb
876bcd2228 Update bc to 1.05a and dc to 1.2, which source in src/gnu/dist/bc. 1999-01-16 05:57:47 +00:00
simonb
936563acd1 Apply previous NetBSD patch:
wouldn't compile due to clash with type of (undeclared) strlen
	on alpha.  Fixed by including string.h.
1999-01-16 05:25:06 +00:00
simonb
d8088da674 Apply previous NetBSD patch:
PR/5793: Fix core dump caused by input strings more than
	127 characters in length when readline is used (rl_len was
	a *char*!!!). Undo disabling of readline (this fix was like
	``finger hurts, cut hand'') I guess PR/5793 is already closed...
Also GC rl_start.
1999-01-16 05:20:42 +00:00
simonb
ceb1d3610a Import bc-1.05a 1999-01-16 00:21:25 +00:00
he
94a54434a5 Fix 'pand' MMX instruction opcode (and disassemble).
Crucial assistance from Bill Sommerfeld on port-i386.
Fixes bin/6809 by yours truly.
1999-01-14 21:25:21 +00:00
kleink
f220184aa1 Make REGISTER_PREFIX actually work, and add a REGISTER_PREFIX_OPTIONAL compile-
time option.
1999-01-14 18:47:20 +00:00
kleink
3ed4fcf61e In userland, pull in <errno.h> instead of <sys/errno.h> for the declaration
of errno.
1999-01-11 22:39:59 +00:00
christos
07c1a182cd need bsd.own.mk and fix typo. 1999-01-11 11:49:20 +00:00
christos
f9cf96d39c Add an elf compiler spec. 1999-01-11 11:01:38 +00:00
christos
e6ce4ee5c9 Pass -DDEFAULT_ELF if i386 && OBJECT_FMT == ELF 1999-01-11 10:59:25 +00:00
christos
b2e8a46873 Add elf stuff. 1999-01-11 10:57:06 +00:00
christos
e3772ce299 Add the ability to compile an ELF assembler on i386 if OBJECT_FMT == "ELF" 1999-01-11 10:55:21 +00:00
christos
ae2cecd233 Add ELF emulation, and make it default if OBJECT_FMT == ELF 1999-01-11 09:53:26 +00:00
kristerw
be7b817514 Static buffers are evil. Allocate it dynamically instead.
This was taken from gas-2.9.1
1999-01-10 00:32:33 +00:00
christos
a3b9ba9f0e In the NO_UNDERSCORES case we need an extra `*' in ASM_GENERATE_INTERNAL_LABEL
otherwise using the macro in dbxout.c, eats the initial `.'. Probably someone
forgot that one, because the `*' is present in other implementations.
... tv said go for it.
1999-01-07 10:22:49 +00:00
itohy
d5c73c26a3 Hack "install" for non-root build. 1999-01-07 05:56:30 +00:00
tv
e607b7f0e1 Add a "c89" wrapper script (may or may not become a "real" frontend
shipped with egcs in the future).
1999-01-05 15:42:35 +00:00
itohy
85da239ef8 Fix byte order swapping for cross linker. 1999-01-05 10:02:20 +00:00
tv
78e96b963d This file is no longer in egcs 1.1.1. 1999-01-04 18:57:35 +00:00
tv
b5a5a3842f Also add a manpage link for fort77. 1999-01-02 23:56:24 +00:00
tv
b0a62946c3 This is also called "f77" and "fort77". 1999-01-02 23:55:13 +00:00
tv
47c304787b Add fort77' as a synonym for f77' and `g77' as required by the Single
UNIX Specification.
1999-01-02 23:51:51 +00:00
kristerw
38a6811363 Verify that the symbols are of the right kind when applying fixup
to segment data. This prevens gas from SEGV when seeing code of
the type

    L0:
          addl    $(Loop-L0-3),%eax
    Loop:

This solves PR 6486 from Anders Hjalmarsson.
1999-01-02 19:25:40 +00:00
kristerw
d6d1167518 Minor cleanup of the 'obj_fix_adjustable' macro. 1999-01-02 01:07:51 +00:00
cjs
a5b9b9c815 Include sys/resource.h, because otherwise RLIMIT_STACK is not set
and ld does not bump up its stack limit. This causes large links
(such as the kernel) to segfault on machines with a small stack
limit (particularly sparc, .5 MB).
1998-12-30 15:09:04 +00:00
tv
df33f1f8ad Turn gas.new and ld off on arm32, for now. (Awaiting binutils 2.9.1.) 1998-12-30 15:03:31 +00:00
kristerw
9c2a161620 Enable use of mmap. 1998-12-30 01:19:18 +00:00
tv
e70cacd07d We don't want both NOMAN= and MAN= in the same Makefile. 1998-12-29 15:13:03 +00:00
tv
9d24a9a5c4 Add build structure for gasp (GNU Assembler Preprocessor) which is shipped
with gas; don't enable until gas.new is default everywhere.
1998-12-29 15:12:27 +00:00
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
tv
6acc855e3e Add bfd targets used by other binary emulations that NetBSD recognizes:
- a.out-i386-bsd
- a.out-i386-freebsd
- coff-i386
1998-12-28 20:39:54 +00:00
tv
8c88ddc66a Add dependency to _arch.mk file on targets.{o,so,po}. 1998-12-28 20:38:50 +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
kristerw
3f4b5577f4 Enable strip for a.out too 1998-12-19 23:50:15 +00:00
thorpej
091c4310d7 No need to descend into directories that no longer exist. 1998-12-17 22:36:42 +00:00
pk
4ba42b7d80 shlib.c has been Moved to `src/libexec/ld.aout_so'
etc.c and ld.h have been obsoleted.
1998-12-17 15:41:48 +00:00
pk
0ea0854e75 These files now live in `src/libexec/ld.aout_so/arch' 1998-12-17 15:38:54 +00:00
pk
aca560d3b4 Adjust include directories.
Enable standard gcc error checking.
1998-12-17 15:17:27 +00:00
pk
e9e87c8bee Collect implementation definitions in `ld_i.h' and use that in other files.
Deal with missing and incorrect prototypes, so this compiles with gcc's
strict error checking turned on.
1998-12-17 14:34:51 +00:00
mrg
ca73b352a6 - install ldscripts into /usr/libdata/ldscripts.
- fix makefile to set SCRIPTDIR to /usr/libdata, to stop ld from
  looking in /usr/libdata/ldscripts/ldscripts.
- enable elf32_sparc & sun4 emulation in ld.new (elf32_sparc appears
  to work correctly, sun4 untested).
- add elf64_sparc emul to the list while i'm here...
1998-12-17 13:59:05 +00:00
pk
9f709b3e8b The a.out version of ld.so now lives in `src/libexec/ld.aout_so' 1998-12-17 11:50:58 +00:00
pk
cec94710e3 ldconfig(8) now lives in `src/sbin/ldconfig' 1998-12-17 11:47:20 +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
itohy
73de6f8893 Fix typo. :-) 1998-12-16 11:45:12 +00:00
pk
b489374794 ldd & ldconfig are no longer here. 1998-12-15 22:36:24 +00:00
pk
1ad0913030 Cast down the prototype revolt for now.. 1998-12-15 22:34:38 +00:00
pk
fc2f406a64 Pull in proper headers; deal with compiler warnings; miscelleneous KNF. 1998-12-15 22:27:14 +00:00
pk
6dc44fab77 ldd has moved to `src/usr.bin/ldd/ldd_aout' 1998-12-15 22:10:19 +00:00
pk
b53366509b Deal with compiler warnings: format strings, prototypes, variable initialization. 1998-12-15 21:35:17 +00:00
pk
c03c29c0e4 Prototypes. 1998-12-15 21:33:00 +00:00
pk
f6f34d9c9f Pull in <a.out.h>. 1998-12-15 21:28:28 +00:00
pk
7e47c7f32b Add & correct prototypes. 1998-12-15 21:27:08 +00:00
pk
631ebffde3 Layout & compiler warnings. 1998-12-15 21:23:57 +00:00
pk
ad3e459220 NetBSD -> __NetBSD__ 1998-12-15 21:22:52 +00:00
drochner
becaf78b7b <bsd.own.mk> is still needed for OBJECT_FMT 1998-12-13 12:54:33 +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
tv
1343ef3796 GC old gcc 2.7.2.2. 1998-12-12 23:44:22 +00:00
kristerw
20c1f51323 Add sparc and i386 1998-12-12 21:57:19 +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
ff2bf3becc Add -DLINTCOMMENT 1998-12-09 14:44:03 +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
tron
4a605844ff Back out previous change, this is a swedish manual page. 1998-12-05 22:01:58 +00:00
tron
2026cecd29 Fix typo noted by Nigel Reed in PR install/6530. 1998-12-05 21:55:58 +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
mycroft
dedf21f286 Put back code to use pc-relative branches in the PLT, and avoid doing cache
flushes.
1998-12-03 15:56:51 +00:00
mycroft
26fce3548b Use the `first' argument to md_fix_jmpslot(). 1998-12-03 15:46:28 +00:00
eeh
56fb54c1af Add sparc64 support. 1998-11-28 22:44:22 +00:00
eeh
d445f3c355 Need to select a DEFAULT_TARGET_CPU when building in-tree 1998-11-28 17:55:43 +00:00
mycroft
b9f91bf762 Don't overwrite the n_other field, either. 1998-11-24 18:24:30 +00:00
mycroft
f2a59297e3 Also avoid frobbing the EXT bit. 1998-11-24 18:13:19 +00:00
mycroft
2d3f6b20d7 Er, exempt only set symbols from being frobbed. 1998-11-24 18:07:03 +00:00
mycroft
a9264c7e35 Do not screw with debugging symbols that have forward references.
Fixes an obscure problem with -O3 and global {con,de}structors with egcs.
1998-11-24 17:59:33 +00:00
mrg
5cb0850ffc build a sparc64 linker. 1998-11-23 09:44:35 +00:00
mrg
dfc88dfc2b build a sparc64 assembler. 1998-11-23 09:40:27 +00:00
mrg
009d565122 fix style nit in previous. 1998-11-23 09:29:56 +00:00
mrg
b2e121ab60 build a sparc64 compiler. 1998-11-23 09:24:43 +00:00
mrg
d55e9c12a6 build a sparc64 libbfd. 1998-11-23 09:23:30 +00:00
mrg
80cc7163d4 need the extra objs on sparc64 (at least, that is what a cross compiler did for libgcc) 1998-11-23 09:22:22 +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
c4ae740a91 Enable objcopy 1998-11-21 22:54:34 +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
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
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
tv
451f0e3c25 Fix TARGET_DEFAULT as reported by <chas@cmf.nrl.navy.mil> in PR
port-m68k/6288.
1998-10-14 14:55:30 +00:00
tv
492d363964 Conflict resolution from 14 Oct import 1998-10-14 14:40:18 +00:00
tv
82ce0181bd Import egcs 1.1 (branch), 14 Oct 1998 sources 1998-10-14 14:35:59 +00:00
tv
dd23d5aa0c Import egcs 1.1 (branch), 14 Oct 1998 sources. 1998-10-14 14:28:50 +00:00
christos
228c19b92a Revert, I was wrong... 1998-10-14 12:32:37 +00:00
christos
c80d25532b Only pick up the .c file. 1998-10-14 12:19:15 +00:00
christos
dc95c94a01 Fix dependencies for parse.h 1998-10-14 12:10:15 +00:00
matt
dbe1ebecab Pretend we don't have <sys/param.h>. Gcc doesn't really need it and
including it causes redefinitions of MIN and MAX.
1998-10-14 01:48:43 +00:00
matt
cc0b4bda88 DWARF2_UNWIND should be undefined otherwise dwarf2out.c won't compile
because it is expecting another macro which vax gcc doesn't have or need.
1998-10-14 01:47:05 +00:00
matt
048bef97f2 EGCS fix for VAX. It is illegal to shift by more bits than is can be
contained in the type.  This was cc to die when initialize the
tetra long values on vax because it was trying to shift by -64.
This in turn was causing a reserved operand fault resulting in a SIGILL.
1998-10-14 01:45:16 +00:00
mark
55436d0a18 Don't define obj_fix_adjustable here as it is defined in obj-aout.h 1998-10-14 01:00:34 +00:00
matt
3e32065c73 Teach bfd that NetBSD/vax can have two MIDs. 1998-10-12 01:43:38 +00:00
matt
bb27fa210f Get shared libraries a lot closer to working. 1998-10-12 01:33:35 +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