Commit Graph

3752 Commits

Author SHA1 Message Date
thorpej
914a9c522b -D__STRONGARM__ for -mcpu=strongarm* 2002-09-21 00:26:47 +00:00
thorpej
0604df808f Do -D__XSCALE__ -D__ARM_ARCH_5TE__ for -march=xscale, as well, as
GCC 3.x does.
2002-09-21 00:19:30 +00:00
rearnsha
efc53cb5f7 Pull up the following patch from FSF GCC (fixes aborts when compiling
large functions for ARMv4):
Fri Nov 12 13:31:54 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
* config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Treat QImode
addresses the same way GO_IF_LEGITIMATE_INDEX does.
2002-09-19 21:52:29 +00:00
lukem
0ac69ffac4 - use NETBSDSRCDIR as appropriate
- makefile lint (moving NOxx to top of file,
  include <bsd.own.mk> as necessary, ...)
2002-09-19 03:09:31 +00:00
lukem
1addf6d6b3 makefile delint and reorg 2002-09-19 01:58:06 +00:00
thorpej
1dd1ce77c1 Remove more old toolchain bits. 2002-09-17 23:24:52 +00:00
thorpej
3b08abd277 * Eliminate the USE_NEW_TOOLCHAIN variable. Instead, split it into
two variables:

  TOOLCHAIN_MISSING -- set to "yes" on platforms for which there is
  no working in-tree toolchain (hppa, ns32k, sh5, x86_64).

  EXTERNAL_TOOLCHAIN -- if defined by the user, points to the root of
  an external toolchain (e.g. /usr/local/gnu).  This enables the cross-build
  framework even for TOOLCHAIN_MISSING platforms.

  If TOOLCHAIN_MISSING is set to "yes", MKGDB, MKBFD, and MKGCC are all
  unconditionally set to "no", since the bits are not there to build.

  If EXTERNAL_TOOLCHAIN is set, MKGCC is unconditionally set to "no",
  since the external toolchain's compiler is not in-sync with the
  in-tree compiler support components (e.g. libgcc).

* Set MACHINE_CPU much earlier in bsd.own.mk, so that more tests in
  that file can use it.
2002-09-17 23:18:25 +00:00
toshii
0a4b948848 Make sure to write back correct FP state. Fixes port-i386/17927. 2002-09-17 07:05:09 +00:00
thorpej
263d19930b Remove binutils 2.9. 2002-09-16 19:23:29 +00:00
thorpej
0f9c63ed39 Remove binutils 2.9. 2002-09-16 18:41:54 +00:00
thorpej
39c9c4310b Delete bintuils 2.9. 2002-09-16 18:13:05 +00:00
thorpej
e795439f84 Delete bintuils 2.9. 2002-09-16 17:59:12 +00:00
thorpej
2a57f8214b Remove gdb-4.17. 2002-09-16 17:42:22 +00:00
thorpej
e2ba73e2b5 Remove gdb-4.17. 2002-09-16 17:32:21 +00:00
thorpej
c07fb42b05 Remove gdb-4.17. 2002-09-16 17:22:20 +00:00
thorpej
f408d84a70 Remove the old egcs compiler. 2002-09-16 17:12:08 +00:00
thorpej
1bdb20e71b Remove the old egcs compiler. 2002-09-16 16:53:47 +00:00
thorpej
0b58bd1716 Remove the old egcs compiler. 2002-09-16 16:50:59 +00:00
thorpej
88edc7e11d Remove the old egcs compiler. 2002-09-16 16:40:58 +00:00
thorpej
f6abb51010 Remove the old egcs compiler. 2002-09-16 16:39:52 +00:00
thorpej
089852526d Remove files used by the egcs/bintutils 2.9 toolchain. 2002-09-16 16:36:51 +00:00
thorpej
4ae80dbd09 Delete the egcs/binutils 2.9 toolchain. Remove USE_NEW_TOOLCHAIN
conditionals.
2002-09-16 16:22:15 +00:00
thorpej
4b7235a207 bfd_vms is not a pointer type, so use 0 instead of NULL. 2002-09-13 15:29:08 +00:00
thorpej
68a6263e36 * Pull in config.h if building as a host tool.
* bfd_vma is not a pointer type, so use 0 instead of NULL.
2002-09-13 15:28:44 +00:00
matt
25c3b57cd5 Don't emit R_VAX_GLOB_DAT for symbolic links. Eliminate all
local_got_offset cruft that's was still there.  Change the way
got_entries were assigned.  Now do it in elf_vax_size_dynamic_sections.
Add a routine elf_vax_instantiate_got_entries which assigns space in
the GOT or changes to normal PC32 references for static or symbolic links.
2002-09-12 17:51:33 +00:00
lukem
5d2cdf0811 Add missing "echo", as pointed out by Havard Eidnes <he@netbsd.org>
in PR [bin/18155].  (Whilst this fix needs to be fed back to Wietse Venema,
there's no reason not to fix it locally...)
2002-09-06 05:36:14 +00:00
thorpej
4c30492b6c * Rename ARM_FLAG_ATPCS_STACK_ALIGN to ARM_FLAG_ATPCS.
* Rename TARGET_ATPCS_STACK_ALIGN to TARGET_ATPCS.
* Move APTCS aggregate return rules to arm_return_in_memory(), conditional
  on TARGET_ATPCS, and make it also return true for variable-sized aggregates.
2002-08-28 17:33:54 +00:00
mycroft
c38b03a8c7 Fix SELECT_SECTION() so that C++ run-time type info constructors do not go in
.rodata on PIC systems, which was causing text relocations (and associated
performance loss).
2002-08-28 14:05:58 +00:00
nathanw
a7a8c9a009 Not for the trunk yet. 2002-08-28 00:00:57 +00:00
nathanw
0e972f7cec Support for debugging threaded programs, with libpthread and libpthread_dbg. 2002-08-27 23:56:43 +00:00
lukem
ed401558f2 Implement MKDYNAMICROOT, which currently defaults to "no", but will
be changed in the future to "yes".

If MKDYNAMICROOT == "no", there is no change from existing behaviour
of a static /bin and /sbin (and a few programs in elsewhere).

If MKDYNAMICROOT == "yes", the following changes occur:
    in <bsd.own.mk>:
	SHLIBDIR?=     /lib
	SHLINKDIR?=	/lib
    in various Makefiles, the following entry is DISABLED.
	LDSTATIC?=-static
This results in all programs (except those "standalone" programs built
in sys/arch/*/stand) are linked dynamically, the shared linker is moved
from /usr/libexec to /lib (with a compat symlink), and the shared
libraries used by /bin and /sbin programs are moved from /usr/lib to
/lib (with compat symlinks).
2002-08-27 14:46:11 +00:00
matt
e38f37f289 Make sure mips targets build properly on 64bit hosts. 2002-08-24 16:50:10 +00:00
thorpej
97f9d76ce8 arm.c, arm.h:
* Declare arm_arch5 and arm_arch5e.  Set arm_arch5 for if -mcpu=arm10tdmi,
  -mcpu=arm1020t, -mcpu=xscale, -march=armv5, -march=armv5e, -march=armv5te.
  Set arm_arch5e for -mcpu=xscale, -march=armv5e, -march=armv5te.

arm.md:

* Define the "clz" insn for arm_arch5.
* Define an "ffssi2" expander for arm_arch5 which uses "clz".
2002-08-21 01:27:14 +00:00
thorpej
0414c14b05 Changes to better support XScale, round 1, back-ported from GCC 3.2.
The GCC ChangeLog does not have a complete description to quote here,
so:

arm.c:

* arm_override_options(): Set arm_is_scale according to the the
  -mcpu=xscale option.  Set arm_constant_limit to 2 if arm_is_xscale.
* arm_adjust_cost(): If arm_is_xscale, account for stalls that can
  occur due to shifted operands.
* arm_gen_load_multiple(): Account for the cost of ldm vs. ldr if
  arm_is_xscale.
* arm_gen_store_multiple(): Likewise for stm vs. str.

arm.h:

* CONSTANT_ALIGNMENT(): Use a constant alignment factor of 2 if
  arm_is_xscale.
* MOVE_RATIO: Set to 4 if arm_is_xscale.

arm.md:

* Add XScale scheduling parameters.
* Define a "shift" attribute (used by arm_adjust_cost()) and give it
  to the appropriate operands on andsi_not_shiftsi_si, *shiftsi3,
  *shiftsi3_compare0, *shiftsi3_compare0_scratch, *notsi_shiftsi,
  *notsi_shiftsi_compare0, *not_shiftsi_compare0_scratch,
  abssi2, *neg_abssi2, extendsidi2, *cmpsi_shiftsi, *cmpsi_shiftsi_swp,
  *cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0,
  *arith_shiftsi_compare0_scratch, *sub_shiftsi, *sub_shiftsi_compare0,
  *sub_shiftsi_compare0_scratch, *if_shift_move, *if_move_shift,
  and *if_shift_shift.
2002-08-20 23:46:44 +00:00
wiz
c33e4efde0 Remove superfluous Ns. 2002-08-20 15:28:11 +00:00
lukem
16683a00df Explicitly move setting of NOxxx (et al) to the top of the Makefile
(before including <bsd.own.mk>)
2002-08-19 15:01:34 +00:00
lukem
8f96758140 Use ${NETBSDSRCDIR}/some/path instead of ${.CURDIR}/../../../some/path (etc).
(Reduces make output by ~ 20%)
2002-08-19 09:46:39 +00:00
thorpej
7dfd5a8bef 2002-08-16 Nick Clifton <nickc@redhat.com>
* gprof.c (main): Remove spurious test for __alpha__.
2002-08-17 03:03:53 +00:00
itojun
7bab20a582 bitmask operation audit (s/&&/&/). from openbsd 2002-08-08 15:12:09 +00:00
thorpej
e83b2dfbd8 Define __ARMEL__ if little-endian, as gcc 3.x does. 2002-08-07 03:35:51 +00:00
thorpej
7a6acd854a * Add -march=armv5, -march=armv5t, -march=armv5te, which are internally
treated like -march=armv4t, but which generate __ARM_ARCH_5__,
  __ARM_ARCH_5T__, and __ARM_ARCH_5TE__ defines, respecitively.
* Add -mcpu=xscale, which is internally treated like -mcpu=strongarm,
  but which generates __ARM_ARCH_5TE__ and __XSCALE__ defines.

These command-line options and definitions are consistent with gcc 3.x,
and allow NetBSD Makefiles to use them in a forward-compatible way, and
also give hand-tuned source code (e.g. assembly) a chance of tuning for
XScale.
2002-08-07 03:27:39 +00:00
mjl
7fc6ed7c11 Correct obviously wrong memset() args. OK'd by itojun. 2002-07-20 16:51:43 +00:00
mycroft
c5c651d529 If there is no PLT, do not output a DT_PLTGOT entry, as this causes the
dynamic linker to blast other things (like the second GOT entry).
2002-07-18 17:35:09 +00:00
itojun
ab94671147 parse T_AAAA responses. patch sent to wietse. 2002-07-17 21:23:04 +00:00
fredette
f53ba8285a Now build profiled libraries on m68000. 2002-07-17 18:46:12 +00:00
mycroft
e5b593969a Whack the atexit(_IO_cleanup), as per ../../libio/cleanup.c 1.2, for the same
reasons:
1) There is already a destructor that does this.  The atexit() is superfluous.
2) If libstdc++ is loaded dynamically by dlopen() and then is removed by
   dlclose(), the pointer is no longer valid and the program would core dump
   at exit() time.  (This caused xmms to core dump at exit when xmms-sid was
   installed, for example.)
2002-07-17 18:01:22 +00:00
itojun
5cfce202f7 wrong arg to memset. OpenBSD PR 2822 2002-07-16 23:08:04 +00:00
itojun
b3f9de2ade awrong memset() arg. OpenBSD PR 2822. 2002-07-16 23:07:33 +00:00
thorpej
b767b60c60 Add "(NetBSD nb3)" to the version string. 2002-07-15 15:44:53 +00:00
aymeric
1f11daa1ee Bump to nb3, following revision 1.2 of expr.c 2002-07-15 15:12:48 +00:00