Commit Graph

564 Commits

Author SHA1 Message Date
thorpej
104c77b807 The preprocessor in Apple's GCC 3.1 doesn't like being passed a macro
with empty arguments on each side of the comma; hack around this.
2003-03-12 23:00:40 +00:00
thorpej
834dd24299 Fix a couple of merge errors. 2003-03-12 03:46:11 +00:00
thorpej
9e72adcc79 Grok "z" (size_t) and "t" (ptrdiff_t) format length modifiers. 2003-03-11 21:39:34 +00:00
thorpej
53c077e6a5 Pull in a patch from GCC 3.3 that's been in my local tree for a long time:
(*mulsi3_compare0, *mulsi_compare0_scratch, *mulsi3addsi_compare0,
*mulsi3addsi_compare0_scratch): Predicate on !arm_is_xscale.

(mulhisi3, *mulhisi3addsi, *mulhidi3adddi): New patterns, predicated
on arm_is_xscale.
2003-03-06 20:58:20 +00:00
matt
bd8300b07a Update ELF_MAXPAGESIZE to 64K to match elf32vax.sc. This to facilitate
page table page sharing.
2003-03-06 07:36:30 +00:00
thorpej
d61bfb46b5 Make sure we output %progbits instead of @progbits. @ is a comment
character in ARM assembly.
2003-03-05 22:03:22 +00:00
thorpej
7c31b2a553 Fix a merge error which could result in the linker crashing
for static links.  Should fix toolchain/20589.
2003-03-05 21:34:27 +00:00
thorpej
925de95670 Remove the adjust-section-size-for-orphan code. That patch was rejected
by the FSF binutils maintainers, who instead suggested a different way
of addressing the problem.

(Besides, the size adjustment code was broken by the binutils update,
since about 1/2 of the changes got lost.)
2003-03-05 21:02:56 +00:00
thorpej
8844d7e3c0 In place_orphan, simplify the way we allow non-code read-only sections
to be merged with .text if no .rodata section is present.
2003-03-05 20:27:33 +00:00
thorpej
a69c74895f Fix a merge error. 2003-03-05 16:55:48 +00:00
matt
df4902d922 NetBSD doesn't support PS_REGNUM or anything >= MQ_REGNUM. 2003-03-04 21:12:32 +00:00
tsutsui
f2ff066472 print_insn_shl() in gnu/dist/toolchain/opcodes/sh-dis.c has been merged
into print_insn_sh(), and print_insn_sh() now checks info->endian
so set it accordingly.

Based on diff from the Sourceware gdb cvsweb:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/sh-tdep.c.diff?r1=1.59&r2=1.60&cvsroot=src
2003-03-03 16:58:17 +00:00
tsutsui
bc724094e3 Put back some lines removed on 2.13.2.1 merge.
(NetBSD/sh3 actually needs ENTRY=_start)
2003-03-03 16:46:16 +00:00
lukem
c2d985356e Consistently comment out rules which attempt to rebuild .info from .texinfo,
(and associated targets for .dvi et al), as well as man pages from .pod,
using a prefix of `#  '.

This prevents a variety of build issues caused by situations such as
cvs checkouts which result in the .texinfo file being slightly newer
than the .info file, and the build process trying to unnecessarily
regenerate them, which will fail in a variety of circumstances
(build tools not available, read-only source, etc ...)

Once a better solution is found, we can switch to it.
For now, this improves things greatly and should reduce a lot of
support requests that would undoubtably appear otherwise...
2003-03-02 13:11:04 +00:00
mrg
2920dd6064 oops; re-enable the asconfig.texi rule. 2003-03-02 08:16:09 +00:00
mrg
5de74f4030 add the prototype for lbasename here where it belongs. 2003-03-01 15:31:34 +00:00
mrg
bc8fc1085d merge binutils 2.13.2.1 2003-03-01 12:25:55 +00:00
mrg
f84a38cd2d binutils 2.13.2.1 import 2003-03-01 11:28:30 +00:00
mrg
ee06049914 import of (most of) binutils 2.13.2.1. no top level, and cut down include/
libiberty.  (gcc update later can update libiberty properly.)
2003-03-01 10:06:40 +00:00
thorpej
5bfc4a9390 Define _REENTRANT as well as _PTHREADS if -pthread is specified on the
command line.
2003-02-28 17:30:12 +00:00
matt
0f7a451b3f Chnage data offset so that is aligned to the next 64KB boundary after text. 2003-02-27 09:38:20 +00:00
nathanw
da54f07b88 Print thread name, if any. 2003-02-27 00:55:43 +00:00
jmc
db7162553c Make sure a few instances of mkinstalldirs is run via $SHELL so it's not
counting on exec permissions from the checked out source
2003-02-22 10:06:52 +00:00
nathanw
99922845b9 Include both application threads and "raw" LWPs in GDB's list of
threads. This is useful for a variety of things, including examing the
internal state of the thread library when things are going wrong
there.

Currently only works on core files; both ptrace and gdb will need a
bit more work before this will be useful on live processes.

Inspired by the similar behavior of the Solaris thread module.
2003-02-17 20:32:04 +00:00
martin
28067ee7b9 Fix an unitialized variable (from binutils 2.13).
Fixes PR toolchain/20377.
2003-02-17 09:33:03 +00:00
rearnsha
66b1593cdb * arm.c (arm_reload_in_hi): Ensure that the scratch register does
not overlap our final result register.

Fixes problem that causes Metafont in teTeX to crash.* arm.c (arm_reload_in_hi): Ensure that the scratch register does
not overlap our final result register.

Fixes problem that causes Metafont in teTeX to crash.
2003-02-15 10:07:16 +00:00
tsutsui
c10cb12be7 Pull up changes from binutils master sources
<http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/?cvsroot=src>
to fix relocation problem on linking startup routines for sh3:

src/bfd/elf32-sh.c revision 1.36:
> * elf32-sh.c (sh_elf_howto_table, R_SH_REL32): Make
> partial_inplace, matching assembler output.  Set src_mask to
> all ones.
> (sh_elf_relocate_section): Delete misplaced comment.
> For relocatable linking against section symbol, call
> _bfd_relocate_contents for partial_inplace relocs and adjust
> rel->r_addend for others.
> <case R_SH_DIR32, R_SH_REL32>: Fetch partial_inplace addend with
> bfd_get_32, not at rel->r_addend.

src/gas/config/tc-sh.c revision 1.43:
> * config/tc-sh.c (md_pcrel_from_section): Transformed from
> md_pcrel_from.  Handle pc-relativeness against link-time
> symbol.  Handle relativeness to elsewhere than the fixup.

src/gas/config/tc-sh.h revision 1.14:
> * config/tc-sh.h (MD_PCREL_FROM_SECTION): Define.
> (md_pcrel_from_section): Prototype.

Thanks to Kaz Kojima and Jason R Thorpe for their comments.
2003-02-08 17:09:35 +00:00
lukem
cde74ef45d Remove dependencies on .y files as well.
Per request from Jason "Mr. Toolchain" Thorpe.
2003-02-08 08:43:02 +00:00
lukem
0de4f7b5d2 Remove dependency of $(srcdir)/c-gperf.h on c-parse.gperf, because we
don't have gperf in the base system, and differences in timestamps in
these files due to a cvs checkout can cause lossage.
2003-02-07 04:14:27 +00:00
martin
855375b3f6 Don't try to look back in the instruction stream beyound it's start
if an object file starts with a branch/call/jump instruction creating
a branch delay slot at offset < 8.
2003-02-02 01:15:42 +00:00
simonb
0fd8c49338 Add a --redefine-syms-file option from Chris Demetriou's proposed patch
in http://sources.redhat.com/ml/binutils/2002-09/msg00505.html.
2003-01-29 10:26:22 +00:00
thorpej
e5cd4ce42c Bump version to nb4 to reflect the -pthread option. (Thanks for the
reminder, Klaus..)
2003-01-28 18:36:04 +00:00
jdolecek
a725c77213 do NOT force definition of _POSIX_SOURCE, at least not on NetBSD,
especially when you follow using non-POSIX vfork()

defining _POSIX_SOURCE means "POSIX clean environment", which means
(besides other things) that we won't get proper definition of e.g.
vfork() and end up with the compatibility stub
2003-01-28 14:37:21 +00:00
tsutsui
2d9f30d305 Since sh--netbsdelf doesn't have leading underscore,
don't define __USER_LABEL_PREFIX__ as "_" in cpp.
Ok'ed by thorpej.
2003-01-25 17:35:53 +00:00
thorpej
fbea162b87 * Use gthr-posix.h if --enable-threads.
* If -pthread is specified, add -lpthread and -D_PTHREADS.

More thread support to come; this is just a start (sigh, it's
handled so much nicer in 3.3...).
2003-01-24 22:40:02 +00:00
martin
d05cc42d06 Thread support for sparc and sparc64, not yet complete. 2003-01-19 18:32:39 +00:00
christos
18d9e78838 merge nathanw_sa 2003-01-18 21:59:41 +00:00
christos
83ddcbcf97 merge nathanw_sa 2003-01-18 21:42:07 +00:00
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
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