Alan Modra
d1778b88f8
Add a flag to asection, linker_has_input, and use it to reliably
...
determine whether an input section is the first one assigned to
an output section.
2001-05-17 03:58:45 +00:00
DJ Delorie
02649152cc
* Makefile.am (ld.dvi): Search bfd/doc for texinfo files.
...
* Makefile.in: Ditto.
2001-05-14 16:55:23 +00:00
Jakub Jelinek
579f31ac74
* elfxx-ia64.c (is_unwind_section_name): Consider linkonce unwind
...
sections as well.
(elfNN_ia64_final_write_processing): Map .gnu.linkonce.ia64unw.FOO
to .gnu.linkonce.t.FOO text section.
* readelf.c (process_unwind): Print all unwind sections, not just
one.
* config/tc-ia64.c (special_linkonce_name): New.
(make_unw_section): Map .gnu.linkonce.t.FOO text section into
.gnu.linkonce.ia64unw{,i}.FOO.
(ia64_elf_section_type): Handle .gnu.linkonce.ia64unw{,i}.FOO.
(dot_endp): Add comment about it.
* elf/ia64.h (ELF_STRING_ia64_unwind_once): Define.
(ELF_STRING_ia64_unwind_info_once): Define.
* emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Put
.gnu.linkonce.ia64unw{,i} sections into corresponding .IA_64.unwind*
output sections.
* emulparams/elf64_aix.sh (OTHER_READONLY_SECTIONS): Likewise.
2001-05-11 12:36:47 +00:00
Jakub Jelinek
8550eb6e64
* merge.c (struct sec_merge_hash_entry): Add u.entsize and u.suffix
...
fields, change sec into secinfo.
(struct sec_merge_info): Add chain, remove last fields.
(struct sec_merge_sec_info): Add next, sec, psecinfo fields.
(sec_merge_hash_lookup): If lookup could not use a string only
because it has bad alignment, mark the old string for deletion.
(sec_merge_add): Add secinfo argument. Don't compute entry's
position, instead record the section.
(sec_merge_emit): Update for the sec into secinfo change in
struct sec_merge_hash_entry.
(_bfd_merge_section): Only record the section for merging, defer
putting strings into the hash table.
(cmplengthentry, last4_eq, last_eq, record_section, merge_strings,
_bfd_merge_sections): New functions.
(_bfd_merged_section_offset): Update for the sec_merge_hash_entry
changes.
* libbfd-in.h (_bfd_merge_sections): Add prototype.
(_bfd_nolink_bfd_merge_sections): Define.
* libbfd.h: Likewise.
(bfd_generic_merge_sections): Add prototype.
* targets.c (BFD_JUMP_TABLE_LINK): Add _bfd_merge_sections.
(struct bfd_target): Likewise.
* bfd.c (bfd_merge_sections): Define.
* bfd-in2.h: Rebuilt.
* elf.c (_bfd_elf_merge_sections): New function.
* elf-bfd.h (_bfd_elf_merge_sections): Add prototype.
* elfxx-target.h (bfd_elfNN_bfd_merge_sections): Define.
* reloc.c (bfd_generic_merge_sections): New function.
* vms.c (vms_bfd_merge_sections): New function.
* aout-adobe.c (aout_32_bfd_merge_sections): Define.
* aout-target.h (MY_bfd_merge_sections): Define.
* aout-tic30.c (MY_bfd_merge_sections): Define.
* binary.c (binary_bfd_merge_sections): Define.
* bout.c (b_out_bfd_merge_sections): Define.
* coff-alpha.c (_bfd_ecoff_bfd_merge_sections): Define.
* coffcode.c (coff_bfd_merge_sections): Define.
* coff-mips.c (_bfd_ecoff_bfd_merge_sections): Define.
* i386msdos.c (msdos_bfd_merge_sections): Define.
* i386os9k.c (os9k_bfd_merge_sections): Define.
* ieee.c (ieee_bfd_merge_sections): Define.
* ihex.c (ihex_bfd_merge_sections): Define.
* nlm-target.h (nlm_bfd_merge_sections): Define.
* oasys.c (oasys_bfd_merge_sections): Define.
* ppcboot.c (ppcboot_bfd_merge_sections): Define.
* som.c (som_bfd_merge_sections): Define.
* srec.c (srec_bfd_merge_sections): Define.
* tekhex.c (tekhex_bfd_merge_sections): Define.
* versados.c (versados_bfd_merge_sections): Define.
* xcoff-target.h (_bfd_xcoff_bfd_merge_sections): Define.
* ldlang.c (lang_process): Call bfd_merge_sections.
2001-05-11 12:23:48 +00:00
Alan Modra
8e5a525cbb
* ldgram.y: Fix typo.
2001-05-07 09:20:25 +00:00
H.J. Lu
1c9acd948f
2001-05-03 H.J. Lu <hjl@gnu.org>
...
* emultempl/elf32.em: Include "libiberty.h".
(gld${EMULATION_NAME}_vercheck): Call basename () to get the
basename of the bfd filename.
(gld${EMULATION_NAME}_stat_needed): Likewise.
(gld${EMULATION_NAME}_try_needed): Likewise.
(gld${EMULATION_NAME}_open_dynamic_archive): Likewise.
2001-05-03 06:26:26 +00:00
H.J. Lu
14fe918ef2
2001-05-02 H.J. Lu <hjl@gnu.org>
...
* emultempl/pe.em: Include <ctype.h>.
2001-05-02 21:01:03 +00:00
Nick Clifton
c7e4034828
Add gas and ld support for openrisc
2001-05-02 18:14:31 +00:00
H.J. Lu
d1b2b2dcb9
2001-05-02 H.J. Lu <hjl@gnu.org>
...
* ldfile.c: Include "libiberty.h".
* ldlex.l: Likewise.
* ldmisc.c (buystring): Removed.
* ldmisc.h: Likewise.
* ldfile.c: Replace buystring with xstrdup.
* ldlang.c: Likewise.
* ldlex.l: Likewise.
* ldmain.c: Likewise.
* ldmisc.c: Likewise.
* lexsup.c: Likewise.
* mpw-eppcmac.c: Likewise.
2001-05-02 16:42:55 +00:00
Andreas Jaeger
35714f2a5d
* emulparms/elf_x86_64.sh (MAXPAGESIZE): Fix value.
2001-04-30 09:37:08 +00:00
Nick Clifton
884fb58eeb
Give emulation a chance to process unrecognized file before fatal error is
...
reported, not after.
2001-04-28 18:00:10 +00:00
Nick Clifton
87748b3227
Add support for arm-vxworks target
2001-04-27 17:12:18 +00:00
J.T. Conklin
7ce691aec4
* ld.texinfo: Document --fatal-warnings.
...
* ld.1: Regenerate.
* ldmisc.c (vfinfo): Set flag to inhibit making executable if
warnings have been turned into errors.
* lexsup.c (OPTION_WARN_FATAL): Define.
(ld_options): Entry for --fatal-warnings.
(parse_args): Handle OPTION_WARN_FATAL.
* ld.h (ld_config_type): Add fatal_warnings field.
2001-04-13 02:22:23 +00:00
Jakub Jelinek
f5fa8ca231
bfd/
...
* libbfd-in.h (_bfd_merge_section): New.
(_bfd_write_merged_section): New.
(_bfd_merged_section_offset): New.
* libbfd.h: Rebuilt.
* linker.c (_bfd_generic_link_output_symbols): Handle
discard_sec_merge.
* aoutx.h (aout_link_write_symbols): Likewise.
* pdp11.c (aout_link_write_symbols): Likewise.
* elflink.h (elf_link_add_object_symbols): Call _bfd_merge_section.
(elf_bfd_final_link): Adjust global symbols pointing into SEC_MERGE
sections.
(elf_link_sec_merge_syms): New.
(elf_link_input_bfd): Call _bfd_merged_section_offset
and _bfd_write_merged_section.
Handle discard_sec_merge.
* elf-bfd.h (struct elf_link_hash_table): Add merge_info
field.
(struct bfd_elf_section_data): Likewise.
* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_MERGE and
SEC_STRINGS section flags and entsize from their ELF counterparts.
(_bfd_elf_link_hash_table_init): Initialize merge_info.
(elf_fake_sections): Set SHF_MERGE, SHF_STRINGS and sh_entsize
from their BFD counterparts.
* merge.c: New file.
* Makefile.am: Add strtab.lo.
* Makefile.in: Rebuilt.
include/
* bfdlink.h (bfd_link_discard): Add discard_sec_merge.
gas/
* config/obj-elf.c (obj_elf_change_section): Add entsize argument,
handle SHF_MERGE and SHF_STRINGS.
(obj_elf_parse_section_letters): Set SHF_MERGE and SHF_STRINGS.
(obj_elf_section): Allow additional argument specifying entity size.
* write.c (adjust_reloc_syms): Keep relocations against local symbols
in SEC_MERGE sections.
ld/
* ldmain.c (main): Default to discard_sec_merge.
* lexsup.c (OPTION_DISCARD_NONE): Define.
(ld_options): Add --discard-none.
(parse_args): Handle OPTION_DISCARD_NONE.
* ldlang.c (wild_doit): SEC_MERGE should be set in the output
section only if SEC_MERGE and SEC_STRINGS flags and entsize of
all its input sections match.
2001-04-13 00:34:36 +00:00
H.J. Lu
fdec3cfc83
2001-04-05 Steven J. Hill <sjhill@cotw.com>
...
* Makefile.am (ALL_EMULATIONS): Add eelf32ltsmip.o.
(ALL_64_EMULATIONS): Add eelf64btsmip.o and eelf64ltsmip.o.
(eelf32ltsmip.c): New target.
(eelf64btsmip.c): Likewise.
(eelf64ltsmip.c): Likewise.
* Makefile.in: Regenerated.
* configure.tgt (mips*el-*-linux-gnu): Uses traditional MIPS
target.
(mips*-*-linux-gnu*): Likewise.
* emulparams/elf32ltsmip.sh: New. Traditional little endian
MIPS taget.
* emulparams/elf64btsmip.sh: New. Traditional 64bit big endian
target.
* emulparams/elf64ltsmip.sh: New. Traditional 64bit little
endian target.
2001-04-08 05:13:57 +00:00
Hans-Peter Nilsson
589bad82a2
* emulparams/criself.sh (EXECUTABLE_SYMBOLS): Cannot provide
...
correct value of __Stext here.
(TEXT_START_SYMBOLS): Define; always define __Stext, to start of
.startup section.
* emulparams/crislinux.sh: Remove FIXME.
2001-04-05 20:37:54 +00:00
Alan Modra
94202e16cf
Bump page size to 64k
2001-04-02 01:21:27 +00:00
Hans-Peter Nilsson
1268a053f8
* configure.tgt (cris-*-*): Change default emulation to criself.
...
(cris-*-*aout*): New rule.
2001-03-27 02:37:41 +00:00
Alan Modra
d85e9ff7b1
Go to 16k page size on hppa-linux.
2001-03-27 00:42:47 +00:00
Andreas Jaeger
0879a67a8f
2001-03-26 Andreas Jaeger <aj@suse.de>
...
* binutils.texi (nm): Fix texi syntax.
2001-03-26 Andreas Jaeger <aj@suse.de>
* ld.texinfo (Overview): Fix syntax in texi code.
2001-03-26 07:02:59 +00:00
Nick Clifton
0285c67df1
Automate generate on man pages
2001-03-25 20:32:31 +00:00
Nick Clifton
c20ec07b9a
Support the GCC flags '-ffunction-sections' and '-fdata-sections'.
...
Set the VMA of STABS sections to zero.
2001-03-23 23:05:07 +00:00
Ulrich Drepper
cc5ce05235
* emultmpl/elf32.em (gld${EMULATION_NAME}_search_needed): If NAME
...
is an absolute path look only for this file and not along the path.
2001-03-20 18:39:21 +00:00
Ulrich Drepper
a1ab1d2aa3
* emultempl/elf32.em (OPTION_GROUP): New macro.
...
Add new option Bgroup to longopts.
(gld*_parse_args): Handle GROUP_OPTION and recognize -z defs.
(gld*_list_options): Add -Bgroup and -z defs.
* ld.1: Document -Bgroup and -z defs.
* ld.texinfo: Likewise.
2001-03-17 21:24:26 +00:00
Nick Clifton
a2b64bede3
Fixtypos in ChangeLogs, fix copyright dates in files
2001-03-13 06:14:29 +00:00
Michael Meissner
788fca5a32
Add support for -fdata-sections
2001-03-08 02:20:25 +00:00
Alan Modra
1c7566d167
* emultempl/m68kelf.em (m68k_elf_after_allocation): Call
...
after_allocation_default, not gld..._before_allocation.
2001-03-05 05:02:03 +00:00
Matthew Hiller
c19bd1c6f4
*** empty log message ***
2001-03-01 19:39:30 +00:00
Matthew Hiller
1688b748f1
2001-02-28 Matt Hiller <hiller@redhat.com>
...
* testsuite/ld-scripts/crossref.exp: Initialize flags to
[big_or_little_endian].
* testsuite/ld-undefined/undefined.exp: Ditto, and include $flags
in ld invocations.
* testsuite/lib/ld-lib.exp (big_or_little_endian): Recognize -EB,
-eb, EL and el.
(is_endian_output_format): New function.
(default_ld_link): Set flags to [big_or_little_endian] only if ld
is being invoked such that the output format being used is of
known endianness.
(default_ld_simple_link): Ditto.
2001-03-01 19:13:27 +00:00
Alan Modra
27b7e12d2d
Bump version to 2.11.90, fix missing dependencies in bfd/,
...
and run "make dep-am".
2001-02-27 06:43:56 +00:00
Timothy Wall
2bc551c701
Add aix5 settings.
2001-02-27 03:23:00 +00:00
Nick Clifton
1276aefac0
BFD: Catch & report unhandled PE section flags.
...
LD: Catch BFD errors whilst loading symbols and do not produce an executable.
2001-02-27 01:38:06 +00:00
Timothy Wall
41c4999810
Add ia64-*-aix* configuration.
2001-02-22 17:24:33 +00:00
Kazu Hirata
1ac7e077c9
Fix a typo.
2001-02-21 00:19:45 +00:00
H.J. Lu
78f85fd798
2001-02-20 H.J. Lu <hjl@gnu.org>
...
* ldfile.c (ldfile_open_file): Set entry->search_dirs_flag to
false if we found the file.
2001-02-20 21:07:24 +00:00
David O'Brien
fb33b90691
001-02-18 David O'Brien <obrien@FreeBSD.org>
...
* configure.tgt: Add FreeBSD/Alpha, FreeBSD/x86-64, FreeBSD/ia64,
FreeBSD/PowerPC, FreeBSD/arm, and FreeBSD/sparc64 entries.
Approved by: Philip Blundell <philb@gnu.org>
Message-Id: <E14URxF-00023n-00@kings-cross.london.uk.eu.org>
2001-02-19 06:51:51 +00:00
Nick Clifton
e135f41bc2
Add PDP-11 support
2001-02-18 23:33:11 +00:00
David O'Brien
a842aceb48
2001-02-17 David O'Brien <obrien@FreeBSD.org>
...
* configure.host: Add a generic FreeBSD configuration entry such that
all [modern] FreeBSD systems on all platforms will look the same.
Approved by: Alan Modra <alan@linuxcare.com.au>
<Pine.LNX.4.21.0102172155140.30011-100000@front.linuxcare.com.au>
2001-02-18 02:17:24 +00:00
H.J. Lu
24174db0fa
2001-02-14 H.J. Lu <hjl@gnu.org>
...
* configure.tgt: Remove mention of earmelf_linux26.
2001-02-14 18:34:13 +00:00
Richard Henderson
30c3c13a92
* emulparams/elf64_ia64.sh (OTHER_GOT_SYMBOLS): Remove.
2001-02-13 23:07:54 +00:00
H.J. Lu
b46a87b160
2001-02-13 H.J. Lu <hjl@gnu.org>
...
* ldexp.h (node_type): Add etree_provided.
* ldexp.c (exp_fold_tree): Handle etree_provided. Set the node
type to etree_provided if defined by PROVIDE. Allow updating
for etree_provided.
(exp_print_tree): Handle etree_provided.
* mpw-elfmips.c (gldelf32ebmip_find_exp_assignment): Handle
etree_provided.
2001-02-13 22:23:33 +00:00
Richard Henderson
f3988fd901
* emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Add
...
.IA_64.unwind.* pattern to unwind table section and
.IA_64.unwind_info* pattern to unwind info section.
2001-02-10 01:44:39 +00:00
Nick Clifton
a85d7ed0f0
Add s390 support
2001-02-10 00:58:38 +00:00
Jakub Jelinek
780248c402
* configure.tgt (sparc64-*-linux-gnu*): Add elf32_sparc into
...
targ_extra_libpath.
(sparc-*-linux-gnu*): Add elf64_sparc into targ_extra_libpath.
2001-02-09 15:55:14 +00:00
Phil Blundell
0e2534bd04
2001-02-06 Philip Blundell <philb@gnu.org>
...
* Makefile.am: Remove mention of earmelf_linux26.
* Makefile.in: Regenerate.
2001-02-06 08:19:34 +00:00
Phil Blundell
46c1ea57dc
2001-02-04 Philip Blundell <philb@gnu.org>
...
* emulparams/armelf_linux.sh (TEXT_START_ADDR): Set to 0x8000.
* emulparams/armelf_linux26.sh: Delete.
* configure.tgt: Remove mention of armelf_linux26 emulation.
2001-02-04 14:01:35 +00:00
Nick Clifton
0088edd2a0
Replace occurances of -oformat with --oformat.
2001-02-01 18:44:43 +00:00
Alan Modra
02aa14fb32
(lang_leave_overlay): Don't set lma_region when load_base is specified.
2001-01-25 02:31:42 +00:00
Hans-Peter Nilsson
f813923cf3
* emultempl/elf32.em: Correct spelling in comments and listed
...
options.
2001-01-24 06:14:09 +00:00
Alan Modra
c1eb148815
Only set lma_region from the default for the first section
...
of a group of overlay sections.
2001-01-23 11:48:28 +00:00