Commit Graph

244 Commits

Author SHA1 Message Date
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
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 cd9cbd137a correct cpp spec for elf. 1999-01-31 21:18:36 +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
thorpej 9f32ccf21d Add an i[34567]86-*-netbsdelf*) target. 1999-01-28 22:01:27 +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
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
eeh 36db6b8dda Make cc call gas with `-Av9a' (thanks mrg). 1999-01-17 02:13:18 +00:00
christos f9cf96d39c Add an elf compiler spec. 1999-01-11 11:01:38 +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
tv 78e96b963d This file is no longer in egcs 1.1.1. 1999-01-04 18:57:35 +00:00
tv b0a62946c3 This is also called "f77" and "fort77". 1999-01-02 23:55:13 +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
mrg c57e92ccdf add support for "sparc-*-netbsdelf" 1998-12-16 14:49:45 +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
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 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 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
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 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
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 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 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 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 40b1bb9563 A large number of changes to enable PIC support and shared libraries
for NetBSD/vax.
1998-10-19 03:01:52 +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 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
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 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 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
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
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 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 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 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 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
tv d65b2e3afa Don't define STANDARD_{EXEC,STARTFILE}_PREFIX here; do it in the Makefile
like the GNU setup does.
1998-08-16 21:28:20 +00:00
tv b32c2a3ab9 Use the proper <arch>/xm-netbsd.h file as the xm_file on each port. 1998-08-16 21:14:33 +00:00
tv 667decf81a Resolve conflicts, fix up c-common, and clean up import of egcs 1.1. 1998-08-16 20:41:00 +00:00
tv 6fe7eeb157 Import egcs-1.1 gcc, 19980816 snapshot 1998-08-16 17:45:46 +00:00
tv 45ddfeba03 Import egcs-1.1 gcc, 19980816 snapshot 1998-08-16 17:35:45 +00:00
tv ebc00ce7b0 Add mipsel-*-netbsd* as synonym for mips-dec-netbsd*. Don't yet add
mipseb-*-netbsd* as this requires some MD header file twiddling.
1998-07-27 01:42:24 +00:00
thorpej a6fea1b57c Add -D__ELF__ to CPP_PREDEFINES (per the Other gcc) 1998-05-14 04:16:40 +00:00
mycroft 99a8464fa0 Nuke the previous, now that it's done elsewhere. 1998-05-07 04:17:13 +00:00
mycroft 52463c691f Set MD_EXEC_PREFIX and MD_STARTFILE_PREFIX here. 1998-05-07 04:15:07 +00:00
mycroft 147bf39e19 We don't want the MD_EXEC_PREFIX for SysV. 1998-05-07 03:55:58 +00:00
mycroft 3229c8b030 Oops; need a LINK_SPEC here to override the entry point name. 1998-05-06 09:36:01 +00:00
mycroft 1125919631 Nuke USG and COLLECT_EXPORT_LIST. 1998-05-06 08:33:19 +00:00
mycroft a931908bc3 Don't define TARGET_NAME here. 1998-05-06 07:49:00 +00:00
mycroft a039a5720b Fix erroneous line breaks in LINK_SPEC. 1998-04-30 12:52:54 +00:00
mycroft f9955a6ead Fix bizarreness with USE_COLLECT2 being overridden. 1998-04-30 10:41:55 +00:00
mycroft 3b1b451897 Regen. 1998-04-30 09:26:13 +00:00
mycroft 2eefd74d43 First pass at PowerPC support, and disable collect2 on all NetBSD platforms. 1998-04-30 09:21:47 +00:00
tv d00ec01b00 Add Bernd Schmidt's fix for H.J.Lu's codegen bug as discussed on
egcs-bugs@cygnus.com.  This is in 1.1 (and we may have to update to 1.1
to gain many other fixes, unfortunately).
1998-04-28 13:53:53 +00:00
mycroft c4c72f4c84 Move the previous into the i386-specific section. It needs to be done
differently on other ports.
1998-04-25 01:32:59 +00:00
mycroft 18e058d8ed Make sure PIC relocations go in a writable data section. 1998-04-24 21:11:09 +00:00
cgd fea06d4c21 add back in the old NetBSD changes. Also, add in a PIC GOT
offset fix from the snapshot.
1998-04-19 01:05:27 +00:00
cgd f502d8c9f4 sync with EGCS 1.0.2 1998-04-19 01:01:20 +00:00
cgd 51183f1bb3 re-import egcs 1.0.2 ARM bits. trying to use the snapshot's bits was a
nice idea, but caused more problems than it was worth.
1998-04-19 00:56:34 +00:00
cgd 92c6f02e55 consistency the rest of the NetBSD/arm32 toolchain: make TYPE_OPERAND_FMT
be "#%s".  This generates assembly consistent (w.r.t. .type directive)
with asm.h and what the existing compiler generates.  (The old definition
was "%%%s", and the assmbler choked on the %'s.)
1998-04-18 19:02:13 +00:00
cgd 4a1dac1736 don't warn about PIC code being unsupported, because that always-warn
situation with -fpic will always break NetBSD builds (which use -Werror).
PIC code generation seems ... less than perfect, at this time; it still
aborts occasionally.
1998-04-18 00:39:43 +00:00
cgd ce07f954d8 define SYS_SIGLIST_DECLARED in a way that's consistent with config.h 1998-04-18 00:37:33 +00:00
cgd 6a4f33b13a merge changes from 980411 snapshot import. a couple of macros got new
arguments, so mark them as XXX and make them compatible with 1.0.2.
1998-04-18 00:32:28 +00:00
cgd 39de2f4adb Import EGCS 980411 snapshot's gcc/config/arm bits. 1998-04-18 00:22:33 +00:00
thorpej ef3c228075 Fix the definition of TARGET_VERSION. 1998-04-17 23:54:03 +00:00
thorpej 7f756d0c18 Rewrite this file (again). Copy the Linux Alpha config, and tweak it
to work with NetBSD.  Use as many NetBSD common definitions as possible.
1998-04-17 23:50:03 +00:00
matthias d3d91d4d63 ns32k specific changes for "our" gcc ported over to egcs by Ian Dall. 1998-04-17 19:41:18 +00:00
cgd e3e48e335a undef ASM_WEAKEN_LABEL, because the NetBSD/arm32 assembler (or, at least
the one that I have) doesn't seem to do the right thing with weak
references, which causes libgcc c++ function lossage.
1998-04-17 18:24:12 +00:00
mrg d8d4004939 pull over some things from the old gcc, and clean up. 1998-04-17 06:06:09 +00:00
mrg 6f7e681840 clean up slightly. 1998-04-17 06:05:42 +00:00
mrg 3b9f5eaac1 define HAVE_STRERROR to 1, not nothing. 1998-04-16 17:59:21 +00:00
mrg ba821ac657 - include <alpha/elf.h> (though this is currently quite linux centric, we
can use it with a small tweak (see below).
- also define __ELF__
- GC some unnecessary defines.
- define a sane TARGET_VERSION macro.
- provide alpha/ELF ASM_SPEC and LINK_SPEC macros.

all from thorpej.
1998-04-16 17:58:23 +00:00
mrg 877072df9c - move a.out specific defines between (commented) #ifdef NETBSD_AOUT
- add ELF specific defines #ifdef NETBSD_ELF (from thorpej, via his
  alpha/netbsd.h).
1998-04-16 17:56:12 +00:00
tv d2af5c2742 ARM32 fixes from cgd: GNU uses "arm", not "arm32" for the architecture;
missing backslash in netbsd.h; wrong prototype in arm.h.  Still not PIC
capable, yet.
1998-04-15 21:54:05 +00:00
mrg 0ecb816bd6 rewrite <alpha/netbsd.h>. still does not quite work. 1998-04-15 08:19:26 +00:00
mrg 21431cfbea do not define MD_STARTFILE_PREFIX under NetBSD. 1998-04-15 01:53:13 +00:00
mrg 51b0ae9977 include <string.h> 1998-04-15 01:43:52 +00:00
tv aa9dc830d0 Add note that -nostdlib is passed to the linker. 1998-04-07 13:16:28 +00:00
tv 5ada55b10c Remove files automagically generated by yacc so they don't get picked up
by a .PATH: statement, and _will_ be generated.
1998-04-01 02:55:43 +00:00
tv 17130ff0d5 add __vfork14() compensation by including <unistd.h> as inspired by our
in-tree gcc.  make this special activity conditional on __NetBSD__.
1998-04-01 01:50:31 +00:00
ross 50b7806b40 Add an egcs config boilerplate file. 1998-03-31 06:43:43 +00:00
scottr 67d9c0902b Need to include tree.h to resolve a problem with a missing prototype
for dwarf2out_cli_label().
1998-03-31 06:00:05 +00:00
mycroft 696d43df9d This is a kluge, but make sure we get tconfig.h from the right place. 1998-03-30 21:55:48 +00:00
mrg a057e5253b comment bogus main warning even with -Wno-main. 1998-03-30 17:06:33 +00:00
mrg d0b9c83285 pull over arm32/signed char fix from usr.bin/gcc 1998-03-30 07:25:25 +00:00
mrg 290de3be42 merge netbsd/powerpc gcc changes from toolchain/gcc 1998-03-30 04:33:11 +00:00
mrg 8e92b678e2 merge netbsd/alpha gcc changes from toolchain/gcc 1998-03-30 04:30:26 +00:00
mrg ae088afd9c add -D__KPRINTF_ATTRIBUTE to CPP_PREDEFINES 1998-03-30 03:23:31 +00:00
mrg 5e78440996 merge netbsd changes for gcc. pmax still missing. 1998-03-29 11:36:52 +00:00
mrg d3c5e32f1d initial import of the egcs 1.0.2 compiler 1998-03-29 08:14:27 +00:00