Commit Graph

3830 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