Commit Graph

340 Commits

Author SHA1 Message Date
abs 199212f421 Apply gcc PR target/14302 to fix ARM compiler issues triggered by at
least glib, glib2, and pkgconfig.

    2004-02-26  Richard Earnshaw  <rearnsha@arm.com>
	   Daniel Jacobowitz  <drow@mvista.com>

	   PR target/14302
	   * arm.h (ARM_GO_IF_LEGITIMATE_ADDRESS): Don't check the mode
	   size for minipool references.

Many thanks to Richard Earnshaw for close to instant copy of the gcc patch.
Bump gcc version to "3.3.3 (NetBSD nb3 20040520)"
2004-05-19 23:44:18 +00:00
mrg ffae1c8494 bump version for SPARC fixes (from kjk via martin) 2004-05-03 00:32:02 +00:00
martin 37f4d4c4d6 Bring in a change from gcc-current to fix double -> unsigned long
conversions and generally avoid 128 bit (emulated) floats in between.
This fixes heaps of problems in perl >= 5.7.1, where integer values
and unsigned values are separated by the interpreter.

Thu Feb 26 18:40:40 2004 UTC by ebotcazou:
	* config/sparc/sparc-protos.h (sparc_emit_floatunsdi): Add 'mode'.
	(sparc_emit_fixunsdi): New prototype.
	* config/sparc/sparc.c (sparc_emit_floatunsdi): Use 'mode' argument.
	(sparc_emit_fixunsdi): New function.
	* config/sparc/sparc.md (floatunsdisf2): Use 'general_operand' for
	operand 1.  Pass SFmode to sparc_emit_floatunsdi.
	(floatunsdidf2): Use 'general_operand' for operand 1.  Pass DFmode
	to sparc_emit_floatunsdi.
	(fixuns_truncsfdi2): New expander.
	(fixuns_truncdfdi2): Likewise.
2004-05-02 11:00:06 +00:00
skrll 903a6d7af8 We're using the Linux ELF ABI on NetBSD. Make sure $$dyncall knows this. 2004-04-30 08:13:08 +00:00
mrg 12448037ad apply the changes in PR#22489.
2003-07-10  Kazu Hirata	 <kazu@cs.umass.edu>

	PR c/11449
	* fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
	of HOST_WIDE_INT.
	(fold_single_bit_test): If sign_bit_p() fails, assume that the
	bit being tested is not a sign bit.

2003-07-04  Jeff Law  <law@redhat.com>

	PR c/11428
	* expr.c (do_store_flag): Pass in the correct result type
	when calling fold_single_bit_test.
	* fold-const.c (fold_single_bit_test): Use result_type for the
	result when folding a sign bit test.

2003-07-02  Jeff Law  <law@redhat.com>

	* expr.c (do_store_flag): Remove special case folding for
	single bit tests.  Instead call back into the commonized folder
	routine.
	* fold-const.c (fold_single_bit_test): New function, mostly
	extracted from do_store_flag, with an additional case extracted
	from fold.
	(fold): Call fold_single_bit_test appropriately.
	* tree.h (fold_single_bit_test): Prototype.
2004-04-05 14:32:56 +00:00
martin 8998b47e17 Pull in sparc64 fix from gcc cvs:
Forbid mode changes from SImode for lower FP regs if ARCH64.
Fixes PR 23380 and PR 23124.
2004-03-22 22:56:09 +00:00
mrg f433e33bb4 also define __sparcv9. noted by heas@ 2004-03-21 01:22:12 +00:00
skrll 824aa68c5a Add __PIC__ and __pic__ to TARGET_OS_CPP_BUILTINS for all NetBSD platforms
and object formats.

This fixes a problem in libgcc_s.so on powerpc pointed out to me by
Aymeric Vincent in private email.

OK'd by Jason.
2004-03-03 20:09:51 +00:00
mrg eaa3c8ce1b backout part of rev1.6: don't set machine_suffix and just_machine_suffix
in NETBSD_NATIVE mode.  from enami.
2004-03-01 07:36:59 +00:00
mrg d9c305d49d merge gcc 3.3.3 cornflakes 2004-03-01 07:27:18 +00:00
mrg 18e7b0d6a5 initial import of GCC 3.3.3, which fixes a few more bugs from the prior
3.3.3-pre snapshot we were using.

visit http://gcc.gnu.org/gcc-3.3/changes.html#3.3.3 for more details.
2004-03-01 03:43:04 +00:00
mrg ec14d423fc initial import of GCC 3.3.3, which fixes a few more bugs from the prior
3.3.3-pre snapshot we were using.

visit http://gcc.gnu.org/gcc-3.3/changes.html#3.3.3 for more details.
2004-03-01 03:32:51 +00:00
skrll b263dbdd73 Be more gcc like in the way we deal with libgcc so that sh3/hppa millicode
and exception handling have a chance of working properly.

        - creates libgcc, libgcc_eh and libgcc_s

        - updates LIBGCC_SPEC to use them appropriately.

          There's a hack in here at the moment with respect to libgcc_so in that it
          is preferable to link against libgcc_so will only when -shared-libgcc is
          specified (the c++ frontend does this automatically.) Configurations where
          LINK_EH_SPEC is defined already do this. The gcc configuration for
          NetBSD/alpha and another NetBSD platform (I forget which) actually define
          LINK_EH_SPEC probably by accident rather than design.

        - updates share/mk to use the compiler's knowledge of what needs linking into
          libraries and executables. This removes an hppa hack.

        - updates the sets for the newly created libgcc* files.

	- support for linking against the _pg version of libgcc has been removed.
2004-02-15 19:52:27 +00:00
skrll f6f3dd9b5f Pass -Bsymbolic down to the linker when -symbolic is used.
OK'd by Jason a while ago.
2004-02-12 18:51:41 +00:00
mrg cf10ab1d3c minor NETBSD_NATIVE adjustments needed for GCC3.3.3. 2004-02-11 16:01:48 +00:00
mrg bce4dd7994 re-add generated files our builds need.
(not sure why these are not in the 20040209 tarball.)
2004-02-10 13:41:16 +00:00
mrg 5722a41a7b merge cornflakes for gcc 3.3.2-pre20040209. 2004-02-10 12:56:21 +00:00
mrg ca85c986ec import GCC 3.3.3-pre20040209. this fixes dozens of bugs from the
GCC database, several logged by netbsd users/developers.  total
count in various area:
	3 - Bootstrap failures and issues
	19 - Internal compiler errors (multi-platform)
	13 - C and optimization bugs
	42 - C++ compiler and library
	1 - Java compiler and library
	1 - Objective-C compiler and library
	3 - Fortran compiler and library
	5 - x86-specific (Intel/AMD)
	4 - PowerPC-specific
	3 - SPARC-specific
	1 - ARM-specific
	4 - ia64-specific
	3 - Alpha-specific
	2 - HPPA-specific
	1 - S390-specific
	6 - SH-specific
	5 - Other embedded target specific
	1 - GNU HURD-specific
	1 - Tru64 Unix specific
	2 - AIX-specific
	1 - IRIX-specific
	1 - Solaris-specific
	2 - Testsuite problems (compiler is not affected)
	1 - Miscellaneous

total:  125
2004-02-10 12:15:15 +00:00
mrg 2d9d64e9bd import GCC 3.3.3-pre20040209. this fixes dozens of bugs from the
GCC database, several logged by netbsd users/developers.  total
count in various area:
	3 - Bootstrap failures and issues
	19 - Internal compiler errors (multi-platform)
	13 - C and optimization bugs
	42 - C++ compiler and library
	1 - Java compiler and library
	1 - Objective-C compiler and library
	3 - Fortran compiler and library
	5 - x86-specific (Intel/AMD)
	4 - PowerPC-specific
	3 - SPARC-specific
	1 - ARM-specific
	4 - ia64-specific
	3 - Alpha-specific
	2 - HPPA-specific
	1 - S390-specific
	6 - SH-specific
	5 - Other embedded target specific
	1 - GNU HURD-specific
	1 - Tru64 Unix specific
	2 - AIX-specific
	1 - IRIX-specific
	1 - Solaris-specific
	2 - Testsuite problems (compiler is not affected)
	1 - Miscellaneous

total:  125
2004-02-10 12:05:11 +00:00
skrll 95cfd78c59 Updates so that mknative gets the right things.
- Disable symbol versioning (for now)
	- Make sure that libiberty knows its being configured with a
	  cross compiler.
	- The CXX_* variables are no longer needed/used.
	- LIB2FUNCS_EXTRA gets pulled in via LIB2ADD
	- Get LIB1ASMFUNCS and LIB2ASMSRC
	- MAYBE_USE_COLLECT2 got renamed to USE_COLLECT2 (but might not
	  be used)
	- Get EXTRA_HEADERS so that we get generate the right paths for
	  CPPFLAGS
	- Get some variables related to shared libgcc
2004-02-10 09:37:58 +00:00
rearnsha 79d79358ab Pull up the following patch from the main gcc tree.
PR optimization/13037
	* loop.c (update_giv_derive): Ignore redundant sets of a biv
	when calculating how to derive a giv from a biv.
This fixes the underlying problem in toolchain/23002.
2003-12-13 12:20:53 +00:00
matt a29393ca12 Pull in the following change from gcc mainline:
2003-11-30  Alan Modra  <amodra@bigpond.net.au>

        * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
        set SECTION_WRITE on TARGET_RELOCATABLE.
2003-12-12 17:43:37 +00:00
mrg 12dc5d733c now that medlow is the defalut, no need to force it in -p/-pg.
suggested and tested by martin.
2003-12-08 13:15:01 +00:00
matt f158bd2750 Make nan matches __builtin_nan(const char *). 2003-12-08 03:18:07 +00:00
scw 0e54a63381 Recognise sh5 and sh5le. 2003-12-07 09:58:56 +00:00
nathanw d8637f542a Use $(build_exeext) in both the source and destination, like the other
rules.
2003-11-20 18:43:58 +00:00
nathanw 0dcab12a43 Add a missing $(build_exeext) 2003-11-19 23:45:25 +00:00
scw 9bf3f153c5 Apply a patch from Richard Earnshaw which fixes a half-word load/store
codegen bug on armeb.
2003-11-11 12:04:13 +00:00
mrg b6f7d4362f default armeb*netbsd* to ARM_FLAG_BIG_END 2003-11-08 06:57:26 +00:00
scw 2a38410f5e Need to add TARGET_ENDIAN_DEFAULT=ARM_FLAG_BIG_END to tm_defines if
configuring for armeb.
2003-11-04 14:45:16 +00:00
mycroft b9c785bd44 As seen on tech-toolchain:
So the problem is thus:

* The {u,}mulsidi3 generate two parallel sets which modify the upper and lower
halves of the target register.

* life_analysis() does not track subregister modifications -- if you don't
modify the whole register with a single set, it considers the register
unused.

The simple, if klugy, solution to this is to stick an explicit clobber in.  It
seems to work.

While doing this, I noticed that constant folding was not happening for
32x32->64 multiplies.  This is because the parallel set generated by
{u,}mulsidi3 cannot be folded at all.  To solve this, I first expand to a
normal multiply, and then use a define_insn_and_split to convert it to the
parallel set after CSE and constant folding.

This patch has also been submitted to GCC bugzilla, but who knows if I'll get
a reply to that.
2003-10-29 21:25:03 +00:00
matt f22eb2930b From gcc-patches:
* real.c (encode_ieee_single): Ensure proper promotion.
Back out change to i386.c
2003-10-28 19:08:12 +00:00
mrg 2a50c63fdf change the "long" version from "3.3.2-nb1" to "3.3.2 (NetBSD nb1 20031026)"
which is more inline with what we used previously.
2003-10-27 16:42:33 +00:00
thorpej 75516c03f7 When running mkfixinc.sh, explicltly export SHELL, as well, since on
some platforms (e.g. OS X), we disable exporting make(1) variables in
the environment due to ARG_MAX limitations.
2003-10-27 16:20:04 +00:00
mrg ce063d020a fix a bad merge: s/ifdef/ifndef/. fixes PR#23275 2003-10-26 09:45:44 +00:00
matt 1bafa7eae6 Fix LP64 bug. 2003-10-26 01:32:22 +00:00
matt 4be480cd15 Fix 64LPism. Use 1L instead of 1 so that sign extension doesn't happen on
bit 31.
2003-10-25 21:55:37 +00:00
skrll ee632a37d0 more NULL fallout. 2003-10-21 10:47:48 +00:00
mrg 459d14eddf change the version string to 3.3.2-nb1 so that gcc.c likes it. 2003-10-18 14:47:01 +00:00
mrg 8b9e2c6e0a - call this version "3.3.2nb1" (while some of our changes to 3.3.1 were
in 3.3.2, many were not.)
- use our bug reporting address, not GCC's.
2003-10-18 13:15:05 +00:00
mrg 9376f2c5fa merge gcc 3.3.2 2003-10-18 11:54:13 +00:00
mrg eaf2241a0a initial import of GCC 3.3.2. this is a bug-fix release that fixes dozens
of bugs in both MI and many NetBSD MD parts.

visit http://gcc.gnu.org/gcc-3.3/changes.html#3.3.2 for more details.
2003-10-18 11:13:12 +00:00
mrg cd84f3bd94 initial import of GCC 3.3.2. this is a bug-fix release that fixes dozens
of bugs in both MI and many NetBSD MD parts.

visit http://gcc.gnu.org/gcc-3.3/changes.html#3.3.2 for more details.
2003-10-18 11:03:09 +00:00
matt 9d4b91ab87 Keep the unsigned, just add HOST_WIDE_INT. 2003-10-16 22:08:01 +00:00
matt 6bcdd1cd1e Cast using HOST_WIDE_INT, not unsigned. 2003-10-16 22:02:25 +00:00
lukem 56528942aa "anti-timestamp-skew" fixes for gengtype-yacc.c and gengtype-lex.c 2003-10-16 04:35:17 +00:00
skrll fd905830f3 Don't pull in libgcc_pic.a for -shared - it was added as a workaround for
gcc 2.95.3. Removing this fixes EH for gcc 3.3 by using the .eh.section
support in libcrt{begin,end}

Closes PR 22673.
2003-10-13 13:19:41 +00:00
lukem d47cc49cff Add rules to prevent c-parse.c and objc-parse.c from being rebuilt if the
respective .y file has a newer timestamp (usually due to cvs checkout issues);
the code isn't .OBJDIR friendly, and it's unnecessary in our build envrionment.
2003-10-10 15:25:17 +00:00
lukem 83590dd4eb Change method used to disable ``maintainer-mode'' style rules to one
that is more "[cvs] diff" friendly.
Method suggested by Chris Demetriou on source-changes@ on July 25.
2003-10-10 15:14:16 +00:00
matt 1a3bbf394a Override TARGET_DEFAULTS to include MASK_STRICT_ALIGN (for IBM403).
It still includes (MASK_POWERPC | MASK_NEW_MNEMONICS) as well.
Change STACK_BOUNDARY to 128 to make Altivec'ed code easier to deal with.
2003-10-10 01:58:55 +00:00