Commit Graph

1402 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
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
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
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
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
enami
9fdb1e7ba1 Restore other symlink attributes. 2002-10-13 22:58:55 +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
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
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
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
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