Commit Graph

3880 Commits

Author SHA1 Message Date
kristerw
980f45b693 Place EH labels on the permanent obstack. Fixes PR 18314.
Background:
Originally, the EH labels were placed on the permanent obstack, which
could end up using a lot of memory (for heavy inlining) since inlined
labels also needed to be permanent as a result of this.

This was changed in

   Wed Dec  9 09:12:40 1998  Andrew MacLeod  <amacleod@cygnus.com>

	* except.h (struct handler_info): Add handler_number field.
	* except.c (gen_exception_label): EH labels no longer need to be
	on the permanent obstack.
	(get_new_handler): Set the label number field.
	(output_exception_table_entry): Regenerate handler label reference
	from the label number field.
	(init_eh): Remove a blank line.
	* integrate.c (get_label_from_map): Labels no longer need to be
	on the permanent obstack.

by using the label numbers instead of the label structures in most cases.
The operative word here is "most" cases. Addresses to the EH RTX was still
used in (at least) flow.c, that now used freed memory. Oops.

For this to happen, the freed address of the RTX representing a EH label
must be reused for a new label that is located in dead code. delete_block()
will then see that this RTX is mentioned in the EH table, and (incorrectly)
remove the exception handler.

This might be seen when, for example, compiling
src/gnu/dist/groff/src/roff/troff/node.cc for m68k.
2002-12-16 19:33:50 +00:00
thorpej
807b74c49c Skip sys_errlist for __APPLE__. 2002-12-16 06:35:48 +00:00
tron
6c9c8b753c Fix toolchain build problem. 2002-12-13 15:37:10 +00:00
imp
d1f4286bb5 FreeBSD needs the same special hacks for sys_errlist and sys_siglist during
cross building.
2002-12-10 17:39:52 +00:00
thorpej
8ddcb88aa5 Avoid conflict with reserved identifier "log". 2002-12-06 16:01:14 +00:00
scw
f88b19a600 Avoid strict-alias warnings. 2002-12-06 09:57:58 +00:00
christos
a5eb73d466 Better fix for the portability cast problem via Urban Boquist. 2002-11-28 22:04:46 +00:00
christos
a65d983bd0 this is not used anymore. 2002-11-28 22:03:41 +00:00
christos
71a5c52102 we have mkstemp 2002-11-28 22:03:11 +00:00
itojun
8d1263a490 deal with systems with sizeof(void *) != sizeof(int) 2002-11-28 10:00:17 +00:00
itojun
935a2e30db fix pointer-to-int cast problem 2002-11-28 09:57:16 +00:00
christos
c4b90ab8cd resolve conflicts. I have not tested ipv6 or gssapi. 2002-11-28 05:59:06 +00:00
christos
6040caeaed add annotate.c and remove rtag.c for 1.11.2 2002-11-28 05:57:55 +00:00
christos
56783dd727 import cvs-1.11.2 2002-11-28 04:53:41 +00:00
itojun
9b18994fd3 sync w/ 1.1.12. 2002-11-26 03:38:12 +00:00
itojun
fd0368cb1f postfix 1.1.12 2002-11-26 03:29:46 +00:00
thorpej
3ff9eb92d3 Make it possible for the a.out BFD back-end to merge read-only
sections with .text if the following 3 conditions are true:

1. Section has file contents and is read-only.
2. The VMA of the section is after the end of .text and before
   the start of .data.
3. The image is demand-pageable (otherwise, a_text in the header
   will not reflect the gap between .text and .data).

Fixes PR 19164.
2002-11-25 23:15:15 +00:00
thorpej
9022b5f984 In ASM_SPEC:
* If -mhard-float is passed to the compiler, pass -mfpa10 to the assembler.
* If -msoft-float is passed to the compiler, pass -mfpu=softvfp to the
  assembler.
* If neither -mhard-float nor -msoft-float are passed to the compiler,
  pass -mfpu=softvfp to the assembler.

These changes properly mark objects as using soft-VFP, as is the default
code generation for NetBSD ARM ELF.
2002-11-21 17:57:35 +00:00
thorpej
aedbc29a82 Various changes to support soft-vfp:
* FPU_MEMMULTI -- only include the FPU_FPA10 bit.
* FPU_ARCH_VFP -- define, meaning "uses VFP-format layout".
* FPU_FPA -- define short-hand for (FPU_CORE|FPU_FPA10).
* FPU_DEFAULT -- FPU_ALL -> FPU_FPA.
* Floating point instructions -- FPU_ALL -> FPU_FPA.
* Also set F_SOFT_FLOAT if FPU_ARCH_VFP.
* Set F_VFP_FLOAT if FPU_ARCH_VFP.
* md_atof: lay out bytes properly if using VFP.
* Accept -mfpu=softvfp.
* For -mall, set the FPU part of cpu_variant to FPU_FPA, instead of
  FPU_ALL.
2002-11-21 06:32:20 +00:00
thorpej
fafe44f640 From bintuils-current:
In elf32_arm_merge_private_bfd_data(), if the input-bfd and output-bfd
do not have matching VFP indication, report an error.
2002-11-21 06:27:33 +00:00
thorpej
efce487d2d Define the header bit indicating VFP-format floating point. 2002-11-21 06:25:57 +00:00
thorpej
bdf3ddd15f Regenerate (unfortuantely, with a much later version of bison). 2002-11-20 06:57:01 +00:00
thorpej
accdd8107f Fix a problem with placing orphaned sections (like the ones with
C-referenceable names, i.e. "link sets") that happens with explicit
LMAs in the linker script:

	* As orphans are sorted after sections, the effective
	  size of the section is changed.  Record a size ajustment
	  for each orphan that is sorted after the section.

...and for sections which have an explicit load address expression:

	* The first time an orphan is sorted after a section,
	  copy the load_base expression to the orphan, adding
	  the _unadjusted_ size of the parent section.  We need
	  to use the unadjusted size because by the time the
	  expression can be folded, all of the orphan size
	  adjustments will have accumulated, resulting in misplacing
	  the orphan.

	* For each subsequent orphan sorted after a section,
	  set the load_base of the orphan to the load address
	  of the previous orphan plus the size of the previous
	  orphan (actually, the unadjusted size, but for orphans,
	  size and unadjusted size are always equal).
2002-11-20 06:51:07 +00:00
thorpej
ee325b474f Back-port "spec functions" from GCC 3.3. Use if "if-exists()" spec
function to include crti.o/crtn.o in the STARTFILE and ENDFILE
specs, respectively.

Corresponding GCC ChangeLog entry:

2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>

        * gcc.c (The Specs Language): Document spec functions.
        (static_spec_functions, lookup_spec_function)
        (eval_spec_function, handle_spec_function)
        (if_exists_spec_function, alloc_args): New.
        (execute): Abort if processing_spec_function is true.
        (do_spec_1): Hand off spec to handle_spec_function if %:
        is encountered.  If processing_spec_function is true,
        end any pending argument when the end of the string is reached.
        (main): Use alloc_args to allocate the initial argument vector.
        * gcc.h (struct spec_function): New.
        (lang_specific_spec_functions): New extern.

        * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
        (ENDFILE_SPEC): Add if-exists(crtn%O%s).
        * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
2002-11-19 04:46:12 +00:00
thorpej
260b39b0f5 Put const data in .rodata (cut-and-pasted from linux-elf.h). Pass -matpcs
to the assembler.
2002-11-17 06:03:07 +00:00
thorpej
6cdb340cbc Define __ABICALLS__ if -mno-abicalls is not specified. 2002-11-10 18:01:50 +00:00
thorpej
79a6015e7e Fix PIC handling logic in ASM_SPEC: always pass -KPIC to the assembler
unless one of the following flags are passed to the compiler:

	-mno-abicalls
	-fno-pic
	-fno-PIC

Based on the following change in gcc-current:

2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>

        * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
        unless -fno-pic or -fno-PIC is specified.

The -mno-abicalls handling is new to this patch, and will be checked
into gcc-current shortly.
2002-11-09 08:09:21 +00:00
heinz
30a9e0125d Correct list of options for 'commit': '-F file', as mentioned in the
explanation of 'commit'.

Minor nit.
2002-11-06 22:26:47 +00:00
thorpej
8fa28a286c Bring in the following change from Binutils-current:
2002-09-28  Matt Thomas  <matt@3am-software.com>
            Jason Thorpe  <thorpej@wasabisystems.com>

        * config/tc-vax.c (md_estimate_size_before_relax): Only try to
        convert undefined references to GOT32/PLT32 if PIC code is
        requested.  Fix comment.
2002-11-05 14:33:35 +00:00
thorpej
b4f17138b9 * Tidy up CC1_SPEC. Remove the -mno-pic flag, which didn't actually
work properly.
* Add a new -mno-asm-pic flag which tells the assembler to assemble
  the code non-PIC even if it was compiled PIC.
2002-11-05 14:31:58 +00:00
thorpej
64a5da6461 Revise previous to xstrdup the basename earlier; an intervening call to
basename() was occurring.

Pointed out by Matthias Drochner.
2002-11-01 16:07:37 +00:00
thorpej
f8b18efd0c xstrdup the return value of basename() before recording it in the bfd
with bfd_elf_set_dt_needed_soname().  Fixes the "NEEDED crtend.o"
problem reported on tech-toolchain/current-users.

Problem spotted by Ryo HAYASAKA <ryoh@jaist.ac.jp>.
2002-10-31 23:21:17 +00:00
wiz
30d6695239 Comment out cross-references to man pages that don't exist.
Closes PR 18862 by rtr at wasabisystems com.
2002-10-31 02:51:06 +00:00
rafal
2fdb31c4e3 Fix a bug with list handling that caused this to abort with a "extraneous
<string>" message if the stars were aligned incorrectly due to fast-and-
loose list handling.

The list handling code didn't discriminate between list nodes and list
heads, resulting in string comparisons using memory in the "list heads
by length" array as the target of the comparison; if the string being
handled was short enough and the pointers present in the list heads
array were just the right form the tool would get spurious matches and
exit with the above message.

PR toolchain/18858
2002-10-30 18:14:37 +00:00
thorpej
1268b2dbc5 Add an x86_initialize_trampoline() function, similar to GCC 3.3,
change INITIALIZE_TRAMPOLINE() to use it, and apply the following
patch to it (which I have already submitted to GCC 3.3):

	* config/i386/i386.c (x86_initialize_trampoline): Emit a call
	to __enable_execute_stack with the address of the trampoline
	if TRANSFER_FROM_TRAMPOLINE is defined.

Define a TRANSFER_FROM_TRAMPOLINE suitable for NetBSD targets, to enable
stack execution on target machines which can separate exec permissions for
a region:

	* config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define.
	* config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
	as NETBSD_ENABLE_EXECUTE_STACK.
	* config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
	* config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
	* config/sparc/netbsd-elf-common.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
	* config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.

(A similar patch will be submitted to GCC 3.3.)
2002-10-18 16:23:47 +00:00
thorpej
00b192ce18 Bring in the following fix from gcc-current:
2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>

        * config/alpha/alpha.c (alpha_initialize_trampoline): Use
        tramp, not addr, to pass the trampoline address to
        __enable_execute_stack.

Otherwise, incorrect behavior would result if the trampoline happend
to stradle a page boundary.
2002-10-17 21:01:03 +00:00
itojun
f1215ef8af add missnig -I to gnu/dist/mrouted, which is needed by gcc 3.2
(somehow 2.95 automagically includes it into -I path)
2002-10-17 12:50:00 +00:00
christos
706c1ce906 Flip the pax switch 2002-10-16 15:23:59 +00:00
enami
9fdb1e7ba1 Restore other symlink attributes. 2002-10-13 22:58:55 +00:00
martin
14cde9f60d Add a few dependencies to make sure libtar/fnmatch.h is generated before
anything includes <fnmatch.h>. Using our native /usr/include/fnmatch.h is
no good idea, they are incompatible.

XXX - why is tar using it's own implementation?

I'm not sure this is the right way to handle the problem, but it made
a "make cleandir && make" here possible again.
2002-10-13 18:41:48 +00:00
agc
84c3d85401 If we're going to rely on a pre-generated getdate.c, we might as well rely
on one generated with the correct functionality inside it.
2002-10-11 08:58:44 +00:00
drochner
3dd7978358 add a dummy pattern rule to avoid yacc invocation
(which fails with r/o src tree)
2002-10-10 13:03:19 +00:00
itojun
4384c54c01 switch to GNU tar 1.13.25 with security fixes. 2002-10-10 08:22:22 +00:00
itojun
e076df538c seemingly more correct ".." patch by Solar Designer <solar@openwall.com>,
from bugtraq posting
2002-10-09 19:58:35 +00:00
itojun
9ad5cf147a sort 2002-10-09 19:54:05 +00:00
itojun
05b137baea allow --unbzip2 for backward compat
-y is not allowed as -y is reserved by GNU tar camp, it seems.
2002-10-09 19:53:25 +00:00
itojun
1130454b1c bring in --fast-read code from freebsd. 2002-10-09 19:28:14 +00:00
itojun
34c781b6f4 sync with latest --help output. 2002-10-09 17:01:34 +00:00
itojun
caaeaa46d8 patch from redhat rpm - check st_mode earlier 2002-10-09 16:40:21 +00:00
itojun
99ba27c717 vide --fast-read (no-op) 2002-10-09 16:23:27 +00:00
itojun
b8621000a9 correct LDADD/DPADD 2002-10-09 16:17:45 +00:00
itojun
b33ebc5522 no file in .CURDIR 2002-10-09 16:14:55 +00:00
itojun
d9bffe1f20 split internal library build into subdir. 2002-10-09 16:13:07 +00:00
itojun
6dee53867d --norecurse and --unlink for backward compat 2002-10-09 12:01:29 +00:00
itojun
c873f2dfba dot-dot security fix, from redhat tar-1.13.25-1.6.src.rpm 2002-10-09 12:01:11 +00:00
itojun
d67562c763 new GNU tar based on gnu/dist/tar. (to replace gnu/usr.bin/tar in the
near future - hopefully)
2002-10-09 11:55:02 +00:00
itojun
fab68d14ac GNU tar 1.13.25 from alpha.gnu.org 2002-10-09 10:09:12 +00:00
itojun
29ef0d0d98 more strict checking on command invocation.
http://www.sendmail.org/smrsh.adv.txt, NetBSD PR 18516
2002-10-03 03:31:46 +00:00
wiz
12d694f3c4 Fix lots of typos. Some spotted by Adrian Mrva. 2002-10-02 15:39:09 +00:00
wiz
0cddcd9152 interpreted instead of intepreted. By Adrian Mrva. 2002-10-02 11:12:41 +00:00
wiz
659da00975 hve -> have. 2002-10-02 10:00:53 +00:00
thorpej
cde0a5d6aa __mcount uses jsb linkage, so there is no need to skip the (non-existent)
register save mask.  Profiling now works.

Also, use asm_fprintf() in FUNCTION_PROFILER.
2002-10-02 00:50:24 +00:00
itojun
c3cbda0efb move mbone tools out of basesrc, as they use part of mrouted 2002-10-01 03:50:07 +00:00
itojun
d0a9c54d7d latest license terms, via openbsd 2002-10-01 03:41:13 +00:00
itojun
9bbfbbb676 move mrouted out of basesrc, as it carries non-BSD license.
agreed w/ core.
2002-10-01 03:30:50 +00:00
grant
2f722d4d84 Include DOMAIN(generic) so that various standard configuration items are
included, notably enabling the use of /etc/mail/local-host-names.
2002-09-30 01:27:05 +00:00
thorpej
e870e0c546 Pick up the following change from binutils-current:
2002-09-28  Jason Thorpe  <thorpej@wasabisystems.com>

        * elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
        .got sections.
2002-09-28 23:19:01 +00:00
wiz
398c2e6b26 Change argument handling to be like in groff-1.18, thus avoiding
a possible buffer overflow.
2002-09-27 15:05:11 +00:00
wiz
dcc8010de1 ANSIfy, de-__P, complete sync of usage with man page. 2002-09-27 07:28:18 +00:00
wiz
9e9685df35 Sync usage with man page. 2002-09-27 07:25:17 +00:00
wiz
fefd5e68e0 Bump date for -x addition. Sort options in usage. 2002-09-27 07:25:07 +00:00
mycroft
b06a300a8a Fix a bug WRT -vomit-frame-pointer -- use_return_insn() must return false if
we saved the GOT pointer register.
Note: This is already fixed in the GCC 3 sources, but GCC 3 uses a different
condition to determine whether to save and restore the register, so the patch
cannot be the same.
2002-09-26 14:21:39 +00:00
dbj
2cbb8bc3bf add the -x option to extract the filesystem image from the kernel 2002-09-26 10:40:59 +00:00
mycroft
2468728dc8 Add missing parens that caused PLT slots >=32768 to jump to the wrong place. 2002-09-25 20:05:14 +00:00
wiz
3a300f71f9 Re-add, it is still used, but one only sees it in a full build, not a tools
build.
2002-09-22 13:06:44 +00:00
wiz
e751d90149 Now that the old toolchain is gone, rename gdb.new to gdb, as requested
in a comment in gdb.new's Makefile. Remove that comment.
2002-09-22 12:58:23 +00:00
wiz
ed5d7e73eb Remove some survivors of the old-toolchain removal. 2002-09-22 10:31:16 +00:00
wiz
625e362cc2 Remove completely outdated maintenance history, and add proper NetBSD RCS tag. 2002-09-22 09:47:56 +00:00
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