Commit Graph

195 Commits

Author SHA1 Message Date
is 1ee229bdd2 Remove pattern for arith_adjacentmem in arm.md, thus fixing
PR toolchain/45576 at a very small run-time cost.

This was suggested by Richard Earnshaw.

A real fix is known to be in gcc 4.5.3 (as in NetBSD-current) and in
gcc-current; don't apply in that tree.
2011-11-07 20:35:39 +00:00
matt 8798b98c60 If we are compiling -msoft-float, define _SOFT_FLOAT 2011-06-11 00:57:29 +00:00
tsutsui c2c4ea5e04 Pull following m68k softfloat fixes from upstream:
---
Revision 109143
2005-12-29  Paul Brook  <paul@codesourcery.com>
	* config/m68k/fpgnulib.c (__extendsfdf2): Handle negative zero.
	(__truncdfsf2): Ditto.
	(__extenddfxf2): Ditto.
	(__truncxfdf2): Ditto.
	* config/m68k/lb1sf68.asm (__addsf3): Return -0.0 for -0.0 + -0.0.
	(__adddf3): Ditto.
---
Revision 109145
2005-12-29  Paul Brook  <paul@codesourcery.com>
	* config/m68k/lb1sf68.asm (__cmpdf2): Fix typo in immediate mask.
	Create wrapper and rename body...
	(__cmpdf2_internal): ... to this.  Return correct value for unordered
	result.
	(__cmpsf2): Create wrapper and rename body...
	(__cmpsf2_internal): ... to this.  Return corerct value for unordered
	result.
	(__eqdf2, __nedf2, __gtdf2, __gedf2, __ltdf2, __ledf2): Use
	__cmpdf2_internal.
	(__eqsf2, __nesf2, __gtsf2, __gesf2, __ltsf2, __lesf2): Use
	__cmpsf2_internal.
---
Revision 110744
	* gcc/config/m68k/lb1sf68.asm (__divsf3, __divdf3, __mulsf3,
	__muldf3): Return a correctly signed zero.
---

Note:
 - lb1sf68.asm revision 110744 is still GPLv2.
 - fpgnulib.c is not GPLed.
2011-06-07 14:22:14 +00:00
tsutsui 078de69e1f Pull the following revision from upstream to provide __unordsf2() and
other missing softfloat functions:
---
Revision 108487
2005-12-13  Paul Brook  <paul@codesourcery.com>
	* config/m68k/fpgnulib.c (__unordsf2, __unorddf2, __unordxf2,
	__floatunsidf, __floatunsisf, __floatunsixf): New functions.
---

Fixes link errors of sources that refer isnan() on m68000.

Note this file is not GPLed.
2011-06-06 12:02:26 +00:00
christos 4c16c0afd2 Add missing prototype for __cmpdf2 2011-05-19 03:18:01 +00:00
christos b58828d4bd Add a no_stack_protector function attribute to localize the effect
of disabling stack protection on a function-by-function level, as
opposed to per source file.
2011-05-08 01:49:32 +00:00
joerg dd04acc9a4 Move the headers for compiler and platform specific intrinsincs from
/usr/include to /usr/include/gcc-4.1.
2011-04-15 13:42:22 +00:00
joerg c5c155b784 Add back a stylish new line. 2011-04-10 21:25:56 +00:00
joerg 63235c7b3d Reduce difference between src/tools/gcc and src/gnu/usr.bin/gcc4
configuration. All but the target to helper programs should be the same.
Mark include directories as sysroot-relative.
2011-04-10 16:50:18 +00:00
joerg 6d711022e5 Don't install limits.h. 2011-04-10 16:48:51 +00:00
joerg e9921aeb08 Don't install stddef.h and friends, they don't work as intended without
patching. Since our own versions are fine, don't bother.
2011-03-24 13:31:30 +00:00
matt a1de880e3c Define HAVE_AS_TLS until our build tools figure out how to do it. 2011-03-12 07:57:38 +00:00
skrll 95e309863f Look for TLS on hppa on netbsd. 2011-03-10 15:14:49 +00:00
matt 3998b655ea Explicitly make sure TARGET_SECURE_PLT is defined correctly rather than
relying on HAVE_AS_REL16 from "auto-host.h".
2011-02-25 22:36:10 +00:00
matt 73f5a201e2 Default NetBSD to -msecure-plt now. 2011-02-10 07:18:29 +00:00
matt b2fee41732 Default mips64 to softfloat. 2011-01-23 06:29:52 +00:00
matt 9925d622a5 Enable E500 (mpc85xx) support in GCC. 2011-01-18 00:19:28 +00:00
matt bd081d44b9 Make the MIPS N32/N64 ABIs properly support 128-bit long doubles. With this
change, we should be fully conformant with the N32 and N64 ABIs.
Add {fpclassify,infinity,isnan,ininf,signbit}l_ieee754.c back to lib/libc/gen.
Note that infinityl_ieee754.c will work with either 64-bit, 80-bit, or
128-bit long doubles.
2011-01-17 23:53:03 +00:00
matt fbd8cee2df Emit DWARF relocation in its expected form 2010-12-22 02:58:35 +00:00
wiz 3d3c5d42cb Observe the following spelling:
- wide character (noun)
- wide-character (adjective)

Inspired by jmc@OpenBSD.
2010-12-16 17:42:25 +00:00
skrll 4da31ee6bb Don't create weird notes section in hppa binaries.
XXX maybe pa_netbsd_file_start is the proper fix.
2010-11-25 21:37:04 +00:00
skrll 50eaa87a8f Update pa-netbsd.h to match pa-linux.h where it should. That is, remove
local definitions of

	ASM_PREFERRED_EH_DATA_FORMAT
	ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX

and make it obvious we're not using local ASM_OUTPUT_INTERNAL_LABEL

This fixes the current build problems (and probably more)
2010-11-10 18:28:29 +00:00
matt f2d2b6453a Don't use/rely on a constraint. Move the constraint predicate
to the pattern's condition.
2010-07-27 16:30:38 +00:00
matt 6910a36f83 Only allow jbls/jblc x(r) iff (x & 3) == 0 2010-07-27 01:13:41 +00:00
jnemeth 60fc9fff98 PR/43642 - OKANO Takayoshi -- update bug reporting URL in GCC 2010-07-19 20:05:06 +00:00
mrg 2eb85043a2 don't use the __{BIG,LITTLE}_ENDIAN__ test on NetBSD. it doesn't give
the right result for some platforms, and the later valid tests are
never used.  (this problem seems fixed in newer autoconf...)
2010-05-08 02:58:33 +00:00
drochner 8d2b0eb1d3 make the stdc++ headers usable for clang++. clang wants that __weakref__
declarations are "static", gcc-4.1 uses "extern" here.
(gcc-4.2 uses "static" as well, so this looks like a bug in gcc.)
approved by mrg
2010-05-06 10:01:20 +00:00
mrg 1872638e5b don't include linux unwind support. we don't do this on 32 bit ppc,
we don't have the symbols to support it, and it breaks c++ linking.
from dennis.c.ferguson@gmail.com in PR#43041.
2010-03-27 20:11:06 +00:00
matt 36c802e628 Merge gcc mips64 support from matt-nb5-mips64. 2009-12-14 00:40:04 +00:00
joerg 62bcbea33d Add the -iremap option to gcc(1) and cpp(1). This option specifies a
prefix transformation rule for __FILE__ and can be used to avoid
hard-coding the location of the source tree in the resulting binary.
2009-11-11 19:03:52 +00:00
martin 5526bb0709 If TARGET_FLOAT_FORMAT is not IEEE_FLOAT_FORMAT (i.e. we have no NaNs),
do not compile special code to fix up different NaN values.
Re-enable complex support functions in libgcc for vax.
2009-10-01 20:07:09 +00:00
skrll 9f68db4a1a Use += in previous so the flags from config/t-netbsd aren't lost. 2009-08-16 17:33:14 +00:00
matt 20078a6d9f Pull in a hunk from t-linux64 for compile flags for CRTSTUFF 2009-08-16 13:16:52 +00:00
matt a630fd3317 Merge most of the builtin_defines from Linux since they are far superior
to the ones NetBSD has and it allows easier porting.
2009-08-12 02:12:44 +00:00
joerg 3b0eba3055 Sort sourcefile after all other options. 2009-04-30 00:53:48 +00:00
joerg a968608a18 Include option as item for -Wp description to match the rest of the
table.
2009-04-29 23:53:28 +00:00
joerg e9cce58739 Fix markup for -fdiagnostics-show-options. Don't split @code{} over
lines. Ensure that sentences are consistently followed by two spaces.
2009-04-29 23:46:39 +00:00
phx 1872c0f94c Applied a patch from Roman Zippel to fix jump table addressing in the M68k
codegen.

Taken from the gcc mailing list January 2007:
http://gcc.gnu.org/ml/gcc-patches/2007-01/msg02476.html

2007-01-30  Roman Zippel <zippel@linux-m68k.org>

        * config/m68k/m68k.c (output_move_himode)
	config/m68k/m68k.md: remove jump table recognition
	* config/m68k/m68k.c (ASM_OUTPUT_CASE_FETCH): use simple pc
	relative addressing

Approved by Christos Zoulas, Alistair Crooks and Matthew Green.
2008-11-20 22:53:17 +00:00
phx 8fea32b8ab Reverted my last modification, because it included GPLv3 code. Sorry. 2008-11-13 18:10:56 +00:00
phx b933ea4d67 Fixed jump table bugs (e.g. detected when compiling lang/php5 for m68k).
The patch was suggested by Gunther Nikl <gnikl@baltic.net> and is part
of gcc 4.3.x.

	Backport from mainline (SVN 128601):
	2007-09-19  Roman Zippel <zippel@linux-m68k.org>

	* config/m68k/m68k.c (output_move_himode): Remove jump table
	recognition.
	config/m68k/m68k.md (lea): Likewise.
	* config/m68k/m68k.c (print_operand_address): Use simple pc
	relative addressing.
2008-11-12 21:40:03 +00:00
mrg 9917d709a8 - add a i386/t-netbsd64 makefile fragment to build 32/64 bit
libgcc/multilib on amd64
- enable the 32/64 bit libgcc/multilib support on sparc64
- adapt mknative-gcc to grab multilib.h
- use --enable-multilib on amd64 and sparc64

none of this affects the installed tools yet, just the src/tools one.
2008-10-11 05:03:43 +00:00
mrg 5e3d72fe31 move the code that sets ld_vers and other variables so that it is
always executed, regardless of cached values.  this lets the comdat
version test for gas work properly.
2008-10-06 00:07:08 +00:00
mrg 983106fbb3 fix a 2 year old fix that broke genmultilib. ${CONFIG_SHELL}
wasn't expanded inside cat >tmpmultilib<<\EOF due to the \.
use two cat's to generate these files now, one with EOF and
one with \EOF.
2008-10-05 23:04:00 +00:00
mrg 674db90903 merge cornflakes from gcc-4-1-20080831-139820 2008-08-31 09:51:31 +00:00
mrg 603b7728c3 import GCC 4.1-branch from 20080831 / svn 139820.
this fixes at least these GCC PR's:

	middle-end/35163
	target/34393
	middle_end/34150
	middle-end/34627
	middle-end/33631
	c++/34950
	c++/34774
	c++/35007
	libstdc++/20448
	libstdc++/20451
2008-08-31 09:28:43 +00:00
mrg e03df4d47b regen for this commit:
revision 1.9
date: 2008/08/31 08:16:45;  author: mrg;  state: Exp;  lines: +11 -17
move the AC_CACHE_CHECK(__stack_chk_fail, [ ... ]) code out
of the linux-specific section, so that it will be used by
everyone.

use AC_CHECK_FUNS() to check for __stack_chk_guard on netbsd.

now this test is properly cross-compile friendly.
2008-08-31 08:17:21 +00:00
mrg 556a5211d2 move the AC_CACHE_CHECK(__stack_chk_fail, [ ... ]) code out
of the linux-specific section, so that it will be used by
everyone.

use AC_CHECK_FUNS() to check for __stack_chk_guard on netbsd.

now this test is properly cross-compile friendly.
2008-08-31 08:16:45 +00:00
martin 92ee6fcbd5 Do not completely overwrite tm_defines in m68k specific target selection,
it may have been set globaly before for NETBSD_ENABLE_PTHREADS.
This caused wrong (old, pre NetBSD 2.0) builtin specs for m68k.
Fixes PR toolchain/38931.
2008-08-24 08:38:14 +00:00
lukem 18a7b6ae04 Tweak rules to disable generation of .c files from .l / .y.
(Goal is to minimize differences with the vendor file)
Fix PR 38152.
2008-08-12 10:09:31 +00:00
tsutsui 407e634a58 Pull the follwoing fix from upstream:
http://gcc.gnu.org/viewcvs/trunk/gcc/config/m68k/m68k.md#rev117181
>       * config/m68k/m68k.md (negsf2, negdf2, negxf2): Use
>       -2147483647 - 1 instead of 0x80000000.

Fixes "internal compiler error: in do_SUBST" on compiling
floating point ops with -msoft-float or -m68010 on LP64 hosts,
and may also close PR toolchain/38359.  Tested on alpha.
2008-05-01 23:50:32 +00:00