Commit Graph

357 Commits

Author SHA1 Message Date
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
matt b185a88969 In non-BFD assemblers on NetBSD, use the NetBSD method of indicating
weak variables.
1998-10-25 00:26:36 +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 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
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
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
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
scottr 153523c847 Revert last; this breaks compatibility with gcc-2.7.x-compiled
code.
1998-10-14 18:28:16 +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
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
matthias b9fd5a00c7 Add a (missing?) SKIP_WHITESPACE at the beginning of obj_aout_type. This
was present in our "old" gas and at least on the pc532 ".type" creates
a symbol with a zero-length name without this.
1998-10-08 14:26:40 +00:00
matthias ec002dcddf tc-ns32k.h: make this work with te-nbsd.h.
tc-ns32k.c: frag_grow can't take negative arguments, revert to using
obstack_blank_fast in convert_iif.
1998-10-08 14:22:32 +00:00
itohy 7597955012 ctype(3) functions do NOT take value of "char", but "unsigned char" plus EOF
(this is the same range as the return value of getc(3)).
Reference: ISO/IEC 9899:1990  7.3 Character handling <ctype.h>

Fixed illegal usage of NULL.
1998-10-07 08:15:15 +00:00
tv f10fec8d32 arm32 has no INCOMING_RETURN_ADDR_RTX. Fix the DWARF2_UNWIND_INFO goop. 1998-10-04 04:16:28 +00:00
tv 9c3d862cfb Fix -nostdlib handling: don't make that option drop the "-e __start" from
the ld command line.
1998-09-28 19:25:28 +00:00
tv 765a4daca2 Find the proper general VAX and NetBSD MI definitions. 1998-09-15 02:24:54 +00:00
tv efa86546e9 Provide more informational errors when supplying the cpp option -Dname
where "name" is invalid, as requested by <woods@most.weird.com> in PR
bin/5767.
1998-09-15 00:22:02 +00:00
tv 1b8fb38794 Add -t (totals) option as requested by <mrg@eterna.com.au> in PR bin/6133.
Note that -w (warn on non-object archive members) is the libbfd default;
accept the option silently for compatibility.
1998-09-14 18:01:46 +00:00
tv fe75b89f93 Nuke stdio.h's P_tmpdir and explicitly try /tmp after the environment
variables if hosted under NetBSD.  Inspired by <tsutsui@ceres.dti.ne.jp>
in PR bin/5700.
1998-09-14 17:19:35 +00:00
tv c593074e24 Import of egcs 1.1 release (1.1b). 1998-09-13 16:51:44 +00:00
tv c893c988b3 Conflict resolution. 1998-09-13 16:20:35 +00:00
tv b37a043772 Import of egcs 1.1 release (1.1b). 1998-09-13 16:09:19 +00:00
tv 4995df0d60 Import of egcs 1.1 release (1.1b). 1998-09-13 16:08:57 +00:00
kristerw b18f424e81 Make gas generate our a.out format (for sparc and i386) 1998-09-13 13:28:24 +00:00
kristerw d8a28d220b Use the correct size for the relocation records. 1998-09-13 09:33:26 +00:00
kristerw 945df87d76 Infrastructure changes needed by gas a.out support. 1998-09-13 09:30:34 +00:00
kristerw 8d90a29c62 Add N_SIZE 1998-09-13 09:24:33 +00:00
tv 78715691b6 Better comment about TYPE_OPERAND_FORMAT, and add the DWARF2_UNWIND_INFO
fix for arm32.
1998-09-01 16:44:36 +00:00
enami d6b993dd4f Don't warn about #undef unix, otherwise we can't compile uipc_domain.c
and it can't simply nuked.
1998-09-01 08:39:59 +00:00
tv eb3bf55684 Remove -Dunix from predefines, and add a warning to cpp which triggers on
"#if defined(unix)/#ifdef unix/#ifndef unix" if -Dunix is not specified
explicitly:
    warning: deprecated symbol "unix" is no longer predefined
1998-08-29 17:04:56 +00:00
tv 2ecc177404 Remove files obsoleted by egcs import of libiberty. 1998-08-28 16:59:09 +00:00
tv 5990abf3b1 Make sure to include config.h if available. 1998-08-28 16:58:25 +00:00
tv 1f41015535 Get the correct vfork definition from <unistd.h>. 1998-08-28 16:57:07 +00:00
tv 2034bed7f1 Resolve conflicts and get prototypes from the right places (conig.h
guarded).
1998-08-28 16:02:39 +00:00
tv bb655b8a73 Conflict resolution. 1998-08-28 15:59:01 +00:00
tv b5a6ca0501 Update includes that go with theupdated libiberty. 1998-08-28 15:56:36 +00:00
tv 0f6f615875 Update libiberty to that shipped with egcs. Improvements include better
C++ demangling.
1998-08-28 15:39:36 +00:00
tv 858921e399 Undo previous. 1998-08-27 16:04:08 +00:00
matthias 6caa7ce3d9 MEM now has a rtx length of two. Take this into account in calc_address_cost. 1998-08-24 22:54:25 +00:00
tv fe17f99289 Remove files obsoleted in egcs 1.1. 1998-08-24 19:17:11 +00:00
tv 8bbd864248 Import of egcs libstdc++ 1998-08-24 snapshot 1998-08-24 18:45:53 +00:00
tv 687193cf68 Resolve corn flakes. 1998-08-24 18:28:20 +00:00
tv 3fe379ca4b Bugfix import of egcs 1.1, 1998-08-24 snapshot. 1998-08-24 18:00:40 +00:00
tv 2da237ca1f Bugfix import of egcs 1.1, 1998-08-24 snapshot. 1998-08-24 17:55:20 +00:00
tv cd2577488c Work around a strange a.out linker problem: don't define `optind' and
let the system libc define it.
1998-08-22 17:08:48 +00:00
tv 0383db8345 bfd_target_vector is bfd_target **, not bfd_target *[]. 1998-08-22 16:46:33 +00:00
tv c649a98a9b Give basename() a prototype. 1998-08-22 05:51:09 +00:00
tv d0c8c7532a Add ARM relocs (and upcoming BFD_PIC) for automatically generating bfd.h. 1998-08-21 21:08:22 +00:00
tv 9af6c8ed74 Until a better solution can be found, or until the bugs are fixed in egcs,
disable -Wuninitialized as a part of -Wall.
1998-08-21 14:39:34 +00:00
matthias 78516e031b - reorder includes in ns32k.c to avoid warning about MAX/MIN redefinition
- add code for cdecl and stdcall attributes
1998-08-21 10:04:33 +00:00
tv f122239ef3 Use a pointer, not an array, for bfd_target_vector, working around our
linker bogozity.  (So that the array can grow and shrink without
relinking.)
1998-08-21 02:06:09 +00:00
tv 58e1b9d28c Added -Wno-format-y2k (missed this commit). 1998-08-20 20:31:24 +00:00
tv c8f252d3aa Add -Wno-format-y2k option to kill Y2K based strftime() warnings. Note
that -Wformat-y2k doesn't work on C, and doesn't do anything notable by
itself on C++ (use -Wformat).
1998-08-20 20:13:12 +00:00
matthias 8652696101 The egcs-1.1 merge left some old codefragments behind. Removed. 1998-08-20 19:40:29 +00:00
tv 0771761e8e Inlcude "system.h" instead of <stdio.h>. 1998-08-19 21:31:45 +00:00
tv 159f74875c Undefine OBJECT_FORMAT_COFF. 1998-08-19 16:27:37 +00:00
tv 378bab7018 XXX stopgap patch to fix prototyping warning on powerpc. 1998-08-19 16:09:43 +00:00
tv d9b7598034 Completely nuke the -fPIC "ignored" warning. NetBSD target supports PIC
fully (it's just that the assembler and linker output bogosity :).
1998-08-19 15:10:25 +00:00
tv 9fd419ca1c We've switched to mem*() on all platforms. Remove undef of
TARGET_MEM_FUNCTIONS.
1998-08-19 14:39:21 +00:00
tv c6be7a9c9a The global netbsd.h defines TARGET_MEM_FUNCTIONS. 1998-08-19 14:38:42 +00:00
tv 5ebd5ae80d No longer used. 1998-08-19 14:37:47 +00:00
tv d2a09c18be Null-terminate the hostname buffer. 1998-08-18 17:07:08 +00:00
tv 3d4f2f35af Platform-independent unsigned char fix. 1998-08-18 15:36:31 +00:00
tv 3eb68c7948 Need <string.h> for strcpy() and strlen() prototypes. 1998-08-18 13:58:17 +00:00
tv 471ccd3532 Need DWARF2_UNWIND_INFO=0 for -fsjlj-exceptions as default. 1998-08-18 02:47:50 +00:00
tv d6e6f5296d Need DWARF2_UNWIND_INFO=0 to get the right kind of default exception
handling.
1998-08-18 02:42:24 +00:00
tv 577b2ff265 The ASM_DECLARE_FUNCTION_NAME/ASM_DECLARE_OBJECT_NAME stuff is completely
wrong for alpha, and may actually be wrong for more ELF ports than that.
For now, turn it off for ELF, and investigate.
1998-08-17 18:14:53 +00:00
tv e710cf2a57 Provide a definition for MAX_WCHAR_TYPE_SIZE. 1998-08-17 15:39:58 +00:00
tv ba44e6dbd5 Undefining TARGET_VERSION is both bogus and deviant from all ofther gcc
ports.
1998-08-17 15:29:27 +00:00
tv 2eb8687dbb Need definition for HOST_BITS_PER_LONGLONG. 1998-08-17 15:22:01 +00:00
tv 6b6b51c3e4 The arm32 port uses gas by default; turn on --with-gnu-as by default. 1998-08-17 04:05:00 +00:00
tv 78e8c617cc The available system headers are defined by "system.h" - don't try to
second-guess them here.
1998-08-17 04:02:10 +00:00
tv 64c6d5152c "Bonehead." This file is included by others, not used by itself. 1998-08-17 02:19:15 +00:00
tv b62f0811fe Include some files apparently not included in the Cygnus released source (!?). 1998-08-17 02:12:21 +00:00
tv 3156b4cd02 The Alpha tm_file is just alpha/netbsd.h, which includes everything else
that it needs.
1998-08-17 01:44:25 +00:00