Commit Graph

1391 Commits

Author SHA1 Message Date
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
itojun
9bbfbbb676 move mrouted out of basesrc, as it carries non-BSD license.
agreed w/ core.
2002-10-01 03:30:50 +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
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
mycroft
2468728dc8 Add missing parens that caused PLT slots >=32768 to jump to the wrong place. 2002-09-25 20:05:14 +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
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