Commit Graph

354 Commits

Author SHA1 Message Date
matt 67a256629f Make trampolines work on PowerPC. 2004-12-09 23:23:23 +00:00
jwise 48f45412af As discussed on tech-toolchain@netbsd.org, make cpp refuse to attempt to
parse a #include'd file which does not pass S_ISREG() if the environment variable
CPP_RESTRICTED is set.

This is primarily intended for use by programs such as calendar(1) which
use cpp to parse untrusted user files -- without this change (and the corresponding
change to calendar(1)), any user can cause a denial-of-service for the daily
calendar -a run by #include'ing a named pipe.

Many thanks to christos@netbsd for his help in polishing this.
2004-11-30 01:51:13 +00:00
rearnsha d2d54a40b5 Backport changes from the FSF development tree that ensure that code
build for ARM architecture 5 or later is always interworking clean.
2004-08-21 10:48:54 +00:00
dbj 3a92b5a162 fix merge botch. cpp.1 now describes gcc-3.3.3 instead of gcc-3.3.2 2004-08-02 17:43:23 +00:00
dbj d8a2c2edb9 fix merge botch. gcov.1 now describes gcc-3.3.3 instead of gcc-3.3.2 2004-08-02 17:39:51 +00:00
dbj 690507819c fix merge conflict botch that left gcc man page out of date.
now gcc.1 describes gcc-3.3.3 instead of gcc-3.3.2
2004-08-02 17:32:55 +00:00
skrll bd13c00f05 Pull in libgcc_pic in the -shared-libgcc case as well for the millicode
platforms.
2004-07-14 07:18:35 +00:00
skrll b5d3cf6021 Complete the fix for PR 22452 by doing the same thing as stock gcc. That
is, use the symbol versioning script to remove certain symbols from the
dynamic symbol table.

Do the symbol versioning thing for all platforms.

Whilest our ld.elf_so(1) doesn't understand symbol versioning this
doesn't matter as all the exposed symbols appear unversioned until symbol
versioning support is added (if ever).
2004-07-05 12:27:41 +00:00
drochner 18bf932783 don't undefine some macros which are only redefined if _GLIBCPP_USE_C99
is defined - this causes that nothing usable is left unless we implement
enough of C99
(there is a change in gcc-3.4 which is similar in spirit)
should fix PR lib/25930 by Dan McMahill
(I've compiled the whole KDE with this modification successfully)
2004-07-01 21:25:23 +00:00
jmc af9bab3f46 Typo in return type. From PR#25933 2004-06-20 22:30:04 +00:00
mrg aa44da4009 fix a problem with mips alignment. from ian@wasabisystems.com.
Fri Apr  4 17:43:52 2003  Olivier Hainque <hainque at act-europe dot fr>

	* emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
	use of default attributes to agree MEM_ALIGN macro.
2004-06-18 09:30:45 +00:00
uwe 1161112f12 Fix for gcc target/13250 to correctly compile rotations, e.g. in
sha256 code in pkgtools/digest.

Ok by Matthew Green <mrg>.

2004-05-28  Kaz Kojima  <kkojima@gcc.gnu.org>

	PR target/13250
	* config/sh/sh.md (rotlsi3): Use emit_move_insn.
2004-05-29 00:49:15 +00:00
mrg 86a3ebdbd0 fix merge cornflakes with GCC 3.3.3 (final) 2004-05-27 14:48:52 +00:00
drochner 1e0409af82 generate .stabs per default, should fix PR toolchain/25094 2004-05-26 17:12:20 +00:00
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