Commit Graph

242 Commits

Author SHA1 Message Date
tsutsui 9e1d562a1f - tm.h is automatically generated by configure in gnu/dist/gcc,
so egcs/arch/mips/tm.h should not contain any #ifdefs
- Use -DTARGET_{BIG,LITTLE}_ENDIAN_DEFAULT (which are used in egcs-current)
  to switch mipseb/mipsel
2000-02-19 00:44:31 +00:00
tsutsui 5c8ea7f9f0 Add mipseb support to egcs distfiles. 2000-02-16 11:28:45 +00:00
tsutsui 9658fcaa61 Add support of mipseb target. 2000-02-16 11:23:48 +00:00
kristerw 46e954b5e5 C++ exceptions doesn't work in i386 shared libs when using sjlj exceptions
(as a.out does per default.)  This is because the compiler forgets to
restore the PIC register after a builtin_setjmp (i.e. when catching an
exception.)  This fix is taken from the gcc 2.95 branch.

Fixes PR#9110.
2000-02-01 19:29:33 +00:00
mycroft f6f389921a #define POSIX 2000-01-19 03:57:17 +00:00
msaitoh d64461f26b apply some patches from egcs-current (to make gcc more reliable) 2000-01-06 19:20:35 +00:00
msaitoh 6bba0f3f4a pass arg 4 of the qsort() correctly. 2000-01-02 11:01:02 +00:00
thorpej 4a9e81df67 Pass in the appropriate machine directive to the assembler if an -mcpu=...
option is given to the compiler.  It's silly to have to specify it twice
on a command line (e.g. -mcpu=ev56 -Wa,-mev56), especially considering
that if you don't, and the compiler emits e.g. a BWX instruction, the
assembler will treat it as a macro, open-coding an equivalent, which can
have some serious unwanted side-effects in some situations.

Also, don't treat e.g. 21164 and ev5 as equivalent; the assembler treats
them differently: 21164 enables PALcode-only instructions, while ev5
does not.
1999-12-03 06:37:47 +00:00
msaitoh f0af9ff8e6 add "system.h" 1999-11-26 07:55:14 +00:00
drochner 16dcb3a8fd more radical fix for the last problem, from the egcs/gcc mailing list
(http://egcs.cygnus.com/ml/gcc/1999-10/msg00400.html).
Log message:
          * combine.c (get_last_value): If the last set of a register
        is after subst_low_cuid, then we can not use it to determine
        the register's last value.
1999-10-25 19:30:19 +00:00
msaitoh 8b2c663a45 gcc for sh3 1999-10-07 17:27:35 +00:00
takemura cdabc2eb91 Hpcmips needs completely FPU instruction free user land.
XXX, this modification is kinda ad-hoc.
1999-09-29 13:19:13 +00:00
kleink 0b9965d236 For ELF, rename the profiling entry from mcount to __mcount to avoid clashing
with the user's namespace, also within file scope; for binary compatibility,
define a weak alias for the previous name to cover our tracks.
1999-09-27 09:47:44 +00:00
drochner cfab800438 Fix for a misoptimization, from the egcs/gcc mailing list
(http://egcs.cygnus.com/ml/gcc/1999-08/msg00760.html).
Log message:
        * combine.c (get_last_value): Don't look for earlier sets if the last
        known set is somewhere in between the insns being combined.
1999-09-04 11:18:40 +00:00
kleink a8b1129af9 Nuke explicit entry symbol specification; crt0 provides _start, which is
expected by the ELF ld.
1999-08-23 09:36:38 +00:00
mycroft 3e780a5eb1 From the egcs development tree:
Fix problems with autoincrement/autodecrement caused by changes to the way
memcpy() calls are generated between egcs 1.1.1 and 1.1.2.
1999-07-29 09:09:18 +00:00
fvdl b2e6565c2c Do DBX debugging symbols (stabs) the usual ELF way, using relative
offsets to the beginning of the function. Other i386 ELF systems do
this as well, and gdb expects it by default.
1999-07-07 22:23:35 +00:00
christos 20cde7d22e For now make the warning that we are passing a NULL format to printf
like functions, only a pedantic warning. This will allow us to fix the
err functions.
1999-06-07 02:48:00 +00:00
pk fc9e9301f8 Sync with <machine/ansi.h>: `size_t' is now a `long'. 1999-06-05 12:56:28 +00:00
kleink 8cc362229b G/C predefition of `m68k'; update a debugging-related comment. 1999-05-29 17:22:56 +00:00
kleink 2a213ac8a5 m68k/ELF target configuration. 1999-05-27 14:37:14 +00:00
pk 02f27b16c8 XXX Temporarily disable the tablejump switch{} implementation when
compiling into PIC code.   Currently, the tablejump method requires
Global Offset Table access which undermines its use in self-relocating
code such as the run-time linker.
1999-05-27 12:18:35 +00:00
mycroft f836f11767 Patch from Richard Earnshaw to work around the ldrb label-movement problem. 1999-05-05 22:02:58 +00:00
mark 891c358faa Fix ASM_OUTPUT_IDENT macro to emit a suitable .ident for gas. 1999-04-26 07:04:08 +00:00
ragge b72c3b5451 Fix evil bitfield bug. 1999-04-25 00:10:44 +00:00
kleink f60b17cd56 Correct comparison length botch in `deprecated unix' symbol check;
fixes PR bin/7343.
1999-04-10 15:14:11 +00:00
tv d2833781e6 Merge egcs 1.1.2 conflicts. 1999-04-06 16:04:00 +00:00
tv d3989ee704 Import egcs 1.1.2 to fix some optimizer bugs on i386 and sparc, among others. 1999-04-06 15:07:33 +00:00
fvdl f7ca917a98 Adapt NetBSD/i386 configuration to egcs changes wrt. TARGET_DEFAULT. This
should make it stop outputting i387 instructions that the emulator can't
handle.
1999-04-01 21:15:43 +00:00
cgd 9a817a0932 if using -Os, don't pad loops and branches to 'nice' boundaries w/nops 1999-03-27 19:20:33 +00:00
tron af027d2768 Patches for "gcc" optimization bug on "arm32" supplied by Richard Earnshaw.
Fixes PR port-arm32/7157.
1999-03-16 11:54:52 +00:00
mrg a3032595bd add LINK_SPEC defines that i have "-m elf{32,64}_sparc" set correctly, like other ports. 1999-03-11 00:11:10 +00:00
mycroft c0832bbcc0 Fix Yet Another Bug in fold_truthop(), which causes the RHS mask to be
truncated if lnbitsize<rnbitsize.
1999-03-10 12:25:40 +00:00
mycroft 3171ae377b Fix another bug in fold_truthop(). When comparing two bitfields where the
lhs and rhs have the same size, but are in different bit positions, and the
masks are also shifted, we could erroneously omit the shift.
1999-03-04 10:08:08 +00:00
mycroft 391c435609 When folding two bitfield comparisons, make sure we include any mask applied
to the bitfields.  Fixes PR 7066.
1999-03-04 05:38:06 +00:00
jonathan 1192ce7d8f Patch FUNCTION_PROFILER to avoid code-scheduling botch when compiling
with -mabicalls: the gcc/egcs code emits hand-scheduled code with an
insn in a "jal _mcount" delayslot. But with -mabicalls, the "jal"
expands into a call via $t9 and the delay-slot is already filled.

See PR#5248.
1999-02-27 03:36:28 +00:00
christos 32df41f56e Disable more damage from sol2.h; this time it is the quad operators. 1999-02-14 17:14:08 +00:00
tv 530f6be402 Add Info directory entry. 1999-02-11 15:57:31 +00:00
christos d994312f03 Don't copy the alpha config verbatim :-) We are not a 64 bit system... 1999-02-09 13:09:30 +00:00
christos f3593df82a Add svr4 like .size and .type stuff 1999-02-07 17:43:25 +00:00
tv 4888046be5 Make "cc -shared" work properly on a.out, and have it link in c++rt0
automatically (such that C++ shlibs will work).
1999-02-05 13:29:51 +00:00
tv 82c5de77a5 Remove duplicate TYPE_OPERAND_FORMAT define, so that it uses the `#'
instead of `%' character.  Also remove the LINK_SPEC - no other NetBSD
platform sends `-X' to the linker by default, so make it uniform.
1999-02-05 13:20:48 +00:00
tv ae250d0e0a Round 2 of gnu/dist cleanup:
- remove ChangeLogs (still available on vendor FSF/CYGNUS branch, 1.1.1)
- remove many target-system config files unrelated to NetBSD targets
1999-02-04 04:25:21 +00:00
tv cfd9e06cc3 Make ARM uniform and use only the global t-netbsd make fragment. 1999-02-04 03:14:07 +00:00
tv f02bdb7a26 NetBSD's a.out linker can't align more than 8, so don't use the
DATA_ALIGNMENT and CONSTANT_ALIGNMENT macros from i386.h.
1999-02-04 02:00:15 +00:00
tv a1cc137e16 Insert internal collect2 functions that shouldn't be defined here, but are
needed as they are the only prototypes for these functions.
1999-02-04 00:34:27 +00:00
tv 39d9eb47d8 First round of gnu/dist cleanup - remove:
- files removed in binutils 2.8.1 or 2.9.1
- some testsuite stuff
- VMS, MS-DOS, and MPW Macintosh build environmanet (most of which are
  quite old and out of maintenance)
- generated GNU info files
- non-NetBSD-target makefile fragments
1999-02-03 18:50:07 +00:00
christos f9708a901f Make this compile again:
- update demangle.h with ../include/demangle.h
- include "scan.h" to get definitions for xmalloc.c
- remove include of libiberty.h
- Hi tv!
1999-02-03 18:07:45 +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
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