Alan Modra
58821868a5
* elflink.h: Formatting fixes, tidy prototypes.
...
(elf_link_assign_sym_version): Move common code out of loop.
2002-07-16 12:31:35 +00:00
Alan Modra
c89583f83f
* elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
...
reloc section size is zero. Correct reloc output location.
2002-07-16 09:00:42 +00:00
Alan Modra
ba94744e3b
* elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
...
the final type for the e_fsel selector when generating PA2.0W code.
(elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
relocations.
2002-07-16 02:26:30 +00:00
Alan Modra
923ffb13fd
daily update
2002-07-16 00:00:04 +00:00
H.J. Lu
96a94295f2
bfd/
...
2002-07-14 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_link_assign_sym_version): Hide the default
definition if there is a hidden versioned definition.
ld/
2002-07-14 H.J. Lu <hjl@gnu.org>
* ld.texinfo: Document a .symver takes precedence over a
version script.
2002-07-15 02:23:26 +00:00
Alan Modra
e4c35ea24e
daily update
2002-07-15 00:00:05 +00:00
Alan Modra
f971e29ff1
daily update
2002-07-14 00:00:05 +00:00
Alan Modra
a9d9051eab
daily update
2002-07-13 00:00:04 +00:00
Hans-Peter Nilsson
6849c52f0a
* elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
...
dynamic reference test in assertion when initializing GOT with
static contents. Just assert that there are either no dynamic
sections, the symbol is defined in the regular objects or that the
symbol is undef weak. Tweak comment.
(elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
only if the symbol isn't defined in the program and isn't undef
weak.
(elf_cris_adjust_dynamic_symbol): Simplify condition for getting
rid of PLT entry: only do it if the symbol isn't defined in a DSO.
When doing so, clear ELF_LINK_HASH_NEEDS_PLT. Tweak comments.
(elf_cris_discard_excess_program_dynamics): Don't consider
ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
2002-07-12 15:54:57 +00:00
Alan Modra
ce66b72326
daily update
2002-07-12 00:00:03 +00:00
Alan Modra
239e1f3afa
* elf32-i386.c (elf_i386_relocate_section): Don't complain about
...
unresolved debugging relocs in dynamic applications.
* elf32-s390.c (elf_s390_relocate_section): Likewise.
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
* elf64-s390.c (elf_s390_relocate_section): Likewise.
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
2002-07-11 05:33:28 +00:00
Alan Modra
6cce648081
daily update
2002-07-11 00:00:05 +00:00
Alan Modra
f5e87a1da3
* elf64-ppc.c (ONES): Define.
...
(ppc64_elf_howto_table): Use ONES here to avoid warnings. Fill in
missing src_mask fields. Tweak R_PPC64_NONE, R_PPC64_COPY. Fill
in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
2002-07-10 11:46:19 +00:00
Alan Modra
2f6d9989b7
* elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
...
(ppc64_elf_set_private_flags): Delete.
(ppc64_elf_section_from_shdr): Delete.
(ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
(ppc64_elf_fake_sections): Delete.
(bfd_elf64_bfd_set_private_flags): Don't define.
(bfd_elf64_get_symbol_info): Likewise.
(elf_backend_section_from_shdr): Likewise.
(elf_backend_fake_sections): Likewise.
2002-07-10 10:28:44 +00:00
Alan Modra
0594c12d8e
* elf.c: (assign_section_numbers) Set sh_entsize for .stab only
...
when not already set.
* elf64-sparc.c: (sparc64_elf_fake_sections): New function.
(elf_backend_fake_sections): Define.
2002-07-10 04:59:42 +00:00
Alan Modra
e59b4d067a
daily update
2002-07-10 00:00:04 +00:00
Alan Modra
699cb9b870
* merge.c (_bfd_merge_section): Remove redundant output_section check.
...
Formatting.
(_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
2002-07-09 23:47:22 +00:00
Hans-Peter Nilsson
0a4787a081
* elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
...
NULL sym_hashes to just before use.
<case R_CRIS_32_GOTREL>: In test for local symbol, accept also
symbol with non-default visibility.
<case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
<case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
Ditto.
(cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
symbol with non-default visibility.
(cris_elf_check_relocs): At tests for local symbol before
increasing h->plt.refcount, also check for non-default
visibility. Ditto when checking for local symbol to eliminate
pc-relative runtime relocs.
2002-07-09 03:49:27 +00:00
Alan Modra
2b8f7433db
daily update
2002-07-09 00:00:06 +00:00
Alan Modra
aecc8f8acd
* elf.c: Formatting.
...
(IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
(INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
(copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
segments.
2002-07-08 08:13:37 +00:00
Mark Mitchell
e9168c1e2b
* cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
...
account the impact of relocation count overflow when computing
section offsets.
* coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
or not to apply the PE COFF reloc overflow handling. Fix a
fencepost error in deciding whether or not to use that technique.
2002-07-08 05:34:08 +00:00
Alan Modra
d1e122bd6a
daily update
2002-07-08 00:00:06 +00:00
Alan Modra
6cdc0ccc12
* elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
...
change type of locsyms.
(bfd_elf_get_elf_syms): Declare.
* elf.c (bfd_elf_get_elf_syms): New function.
(group_signature): Use bfd_elf_get_elf_syms.
(bfd_section_from_r_symndx): Likewise.
* elfcode.h (elf_slurp_symbol_table): Likewise.
* elflink.h (elf_link_is_defined_archive_symbol): Likewise.
(elf_link_add_object_symbols): Likewise. Reorganise to increase
locality of various data structures. Properly free internal relocs.
(elf_bfd_final_link): Properly free internal relocs.
(elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
(elf_link_input_bfd): Likewise.
(elf_gc_mark): Likewise. Properly free internal relocs.
(elf_gc_sweep): Properly free internal relocs.
(elf_reloc_symbol_deleted_p): No need to swap syms in.
(elf_bfd_discard_info): Use bfd_elf_get_elf_syms. Properly free
internal relocs.
* elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
Properly free possibly cached info.
(mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
(mn10200_elf_symbol_address_p): Pass in internal syms. Remove
symbol swapping code.
(mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
Properly free possibly cached info.
* elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
(mn10300_elf_relax_delete_bytes): Likewise.
(mn10300_elf_symbol_address_p): Likewise.
(mn10300_elf_get_relocated_section_contents): Likewise.
* elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
(elf32_h8_relax_delete_bytes): Likewise.
(elf32_h8_symbol_address_p): Likewise.
(elf32_h8_get_relocated_section_contents): Likewise.
* elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
(m32r_elf_relax_delete_bytes): Likewise.
(m32r_elf_get_relocated_section_contents): Likewise.
* elf32-sh.c (sh_elf_reloc_loop): Free section contents using
elf_section_data to determine whether cached.
(sh_elf_relax_section): As above for elf-m10200.c.
(sh_elf_relax_delete_bytes): Likewise.
(sh_elf_get_relocated_section_contents): Likewise.
* elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
* elf64-alpha.c (elf64_alpha_relax_section): As above. Also delay
reading of local syms.
* elf64-mmix.c (mmix_elf_relax_section): Likewise.
* elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
* elfxx-ia64.c (elfNN_ia64_relax_section): As above.
* elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
relocs.
* elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
free internal relocs and section contents. Don't read symbols.
* elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
(elf32_hppa_size_stubs): Don't free local syms.
* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
reading of local syms. Use bfd_elf_get_elf_syms. Properly free
possibly cached info.
* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
* elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
* elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
all_local_syms.
(get_local_syms): Delete function.
(edit_opd): Use bfd_elf_get_elf_syms. Free on error exit. Cache
on exit.
(ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms. Free/cache on exit.
2002-07-07 09:10:41 +00:00
Alan Modra
fcb95fb109
daily update
2002-07-07 00:00:06 +00:00
Alan Modra
f558386d13
daily update
2002-07-06 00:00:05 +00:00
Jim Wilson
b3212001ca
This makes gprof work with non-standard text sections.
...
* syms.c (decode_section_type): New.
(bfd_decode_symclass): Call decode_section_type.
2002-07-05 20:29:38 +00:00
Alan Modra
6d0d2cd21e
daily update
2002-07-05 00:00:05 +00:00
Jakub Jelinek
894bb1ee03
* merge.c (_bfd_merged_section_offset): Avoid accessing byte before
...
section content start.
Reported by Michael Schumacher <mike@hightec-rt.com>.
2002-07-04 15:57:24 +00:00
Alan Modra
bc0ba53708
* section.c (_bfd_strip_section_from_output): Remove unnecessary
...
link order code. Don't actually remove the output section here;
Just set a flag for the linker to do so.
* elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
sections when setting up output section dynsyms.
2002-07-04 14:40:25 +00:00
Alan Modra
797fc050a0
* elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
...
fudge.
* elf.c (bfd_section_from_shdr): Work around broken hpux shared
libs here instead.
2002-07-04 13:26:30 +00:00
Alan Modra
d82fc7fa84
daily update
2002-07-04 00:00:04 +00:00
Alan Modra
a2f65c535c
daily update
2002-07-03 00:00:05 +00:00
Martin Schwidefsky
99881371eb
2002-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
...
* elf64-s390.c (create_got_section): Set .got section alignment to
8 bytes.
(elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
2002-07-02 09:05:51 +00:00
Alan Modra
47d9a59134
* elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.
2002-07-02 04:31:22 +00:00
Alan Modra
319fb920c5
daily update
2002-07-02 00:00:05 +00:00
Jason Thorpe
179d3252e3
include/elf:
...
2002-07-01 Matt Thomas <matt@3am-software.com>
* Rename EF_* to EF_VAX_*.
bfd:
2002-07-01 Matt Thomas <matt@3am-software.com>
* elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
to EF_VAX_*.
binutils:
2002-07-01 Matt Thomas <matt@3am-software.com>
* readelf.c: Include "elf/vax.h".
(guess_is_rela): Move EM_VAX from unknown to RELA case.
(dump_relocations): Handle VAX relocations.
(get_machine_flags): Handle VAX machine flags.
2002-07-01 16:43:38 +00:00
Thiemo Seufer
4a14403c9f
* elfxx-mips.c (ABI_64_P): Fix comment.
...
(MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
new section names for N64 ABI.
(mips_elf_output_extsym): No special _gp_disp handling for NewABI.
(mips_elf_calculate_relocation): Code formatting.
(mips_elf_create_dynamic_relocation): Likewise.
(_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
(_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
(_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
in any NewABI.
(_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
for NewABI.
(_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
(_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
here, too.
2002-07-01 10:01:01 +00:00
Andreas Schwab
607c0e0944
* elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
...
R_X86_64_64 to R_X86_64_RELATIVE.
2002-07-01 08:47:13 +00:00
Alan Modra
ba26fd966c
* vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
...
* Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
Run "make dep-am".
* config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
host_aout_vec.
* configure.in (vaxbsd_vec): Add.
* targets.c (vaxbsd_vec): Add.
* Makefile.in: Rebuild.
* configure: Rebuild.
* po/SRC-POTFILES.in: Rebuild.
2002-07-01 08:31:53 +00:00
Alan Modra
1e2f5b6e6b
* elflink.h (elf_gc_mark): Pass in the section whose relocs we are
...
examining to gc_mark_hook, rather than the bfd.
(elf_gc_sections): Adjust.
* elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
* elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
* elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
* elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
* elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
* elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
* elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
* elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
* elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
* elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
* elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
* elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
* elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
* elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
* elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
* elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
* elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
* elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
* elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
* elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
* elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
* elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
* elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
* elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
* elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
* elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
* elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
* elf32-frv.c (elf32_frv_gc_mark_hook): Likewise. Also remove
redundant local sym tests.
* elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
(link_hash_newfunc): Init is_entry.
(ppc64_elf_copy_indirect_symbol): Copy is_entry.
(ppc64_elf_link_hash_table_create): Init all_local_syms.
(create_linkage_sections): Use bfd_make_section_anyway rather than
bfd_make_section.
(ppc64_elf_mark_entry_syms): New function.
(ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab. Set
up opd entry to function section map.
(ppc64_elf_gc_mark_hook): Special case opd section relocs, and
relocs that reference the opd section.
(edit_opd): New function.
(ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
(ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
(get_local_syms): Do so here. Exit if we already have local syms.
Remove bogus comment imported from elf32-hppa.c. Don't attempt to
read local syms on non-ELF input.
(ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
than duplicating it's function here. Adjust free of internal
relocs to suit.
(ppc64_elf_relocate_section): Adjust local syms in opd section.
* elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
* elf32-hppa.c (elf32_hppa_size_stubs): Call
_bfd_elf32_link_read_relocs rather than duplicating it's function
here. Adjust free of internal relocs to suit.
2002-07-01 08:06:47 +00:00
Andreas Jaeger
1b71fb54e3
* elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
...
are not allowed in shared libs code, enforce -fPIC.
2002-07-01 06:42:27 +00:00
Alan Modra
8c8c7ed1df
daily update
2002-07-01 00:00:06 +00:00
Alan Modra
b16575a2ea
daily update
2002-06-30 00:00:05 +00:00
Hans-Peter Nilsson
8d28f606dc
* mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
...
trailing zero-sequences when there's previous left-over data.
2002-06-29 21:45:09 +00:00
Alan Modra
42c15cc220
daily update
2002-06-29 00:00:06 +00:00
Alan Modra
9e2dd5dcde
daily update
2002-06-28 00:01:04 +00:00
Jeff Law
5ac81c745e
* elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
...
(elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
and opd_rel_sec in order for starting rela section. Check _raw_size.
(elf_backend_reloc_type_class): Define.
2002-06-27 22:57:02 +00:00
Alan Modra
91a4d5692a
2002-06-27 Kevin Buettner <kevinb@redhat.com>
...
* dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
DWARF2 formats.
2002-06-27 11:51:42 +00:00
Alan Modra
feee612b24
* cpu-powerpc.c: Comment on ordering of arch_info.
...
* elf32-ppc.c (ppc_elf_object_p): New function.
(elf_backend_object_p): Define.
* elf64-ppc.c (ppc64_elf_object_p): New function.
(elf_backend_object_p): Define.
2002-06-27 11:29:15 +00:00
Alan Modra
feb1911aea
daily update
2002-06-27 00:00:06 +00:00
Jason Thorpe
a4e6cefc0d
* configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.
...
* configure: Regenerate.
2002-06-26 03:10:20 +00:00
Alan Modra
0d8641dd17
daily update
2002-06-26 00:00:18 +00:00
Nick Clifton
dae2dd0d26
Check unit->addr_size to read in the proper number of prologue bytes.
2002-06-25 19:10:00 +00:00
Nick Clifton
8f28b84541
fixup position of #ifdef BFD64 for powerpc delta recently applied.
2002-06-25 17:29:53 +00:00
Nick Clifton
680f9d5c14
Only create a selvecs for aix5coff64_vec if 64-bit bfd support has been enabled.
2002-06-25 10:05:05 +00:00
Alan Modra
d4c88bbbc9
* elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.
...
* elf32-hppa.c (hppa_add_stub): Likewise.
* elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
* elflink.h (elf_add_default_symbol): Fix comment typo.
(elf_add_default_symbol): Replace strcpy and strncpy with memcpy.
(elf_link_add_object_symbols): Likewise.
(elf_link_assign_sym_version): Likewise.
* hash.c (bfd_hash_lookup): Likewise.
* linker.c (_bfd_generic_link_add_one_symbol): Likewise.
* section.c (bfd_get_unique_section_name): Likewise.
* syms.c (_bfd_stab_section_find_nearest_line): Likewise.
* elf.c (_bfd_elf_make_section_from_phdr): Likewise.
(assign_section_numbers): Likewise.
(_bfd_elfcore_make_pseudosection): Likewise.
(elfcore_grok_lwpstatus): Likewise.
(elfcore_grok_win32pstatus): Likewise.
(elfcore_write_note): Constify input params. Use PTR instead of
void *. Include terminating NUL in namesz. Correct padding.
Support NULL "name" param. Use memcpy instead of strcpy.
(elfcore_write_prpsinfo): Constify input params.
(elfcore_write_prstatus): Likewise. Use PTR instead of void *.
(elfcore_write_lwpstatus): Likewise.
(elfcore_write_pstatus): Likewise.
(elfcore_write_prfpreg): Likewise.
(elfcore_write_prxfpreg): Likewise.
* elf-bfd.h (elfcore_write_note): Update declaration.
(elfcore_write_prpsinfo): Likewise.
(elfcore_write_prstatus): Likewise.
(elfcore_write_pstatus): Likewise.
(elfcore_write_prfpreg): Likewise.
(elfcore_write_prxfpreg): Likewise.
(elfcore_write_lwpstatus): Likewise.
2002-06-25 09:40:45 +00:00
Nick Clifton
b0ac09d2fb
Set BSF_FUNCTION for symbols of type stProc and stStaticProc.
...
Formatting tidy ups.
2002-06-25 08:47:31 +00:00
Alan Modra
021d609642
* coff-rs6000.c (xcoff_generate_rtinit): Fix typo.
2002-06-25 07:40:49 +00:00
Alan Modra
82e5191826
* aout-adobe.c: Don't compare against "true" or "false.
...
* aout-target.h: Likewise.
* aoutx.h: Likewise.
* archive.c: Likewise.
* bout.c: Likewise.
* cache.c: Likewise.
* coff-a29k.c: Likewise.
* coff-alpha.c: Likewise.
* coff-i386.c: Likewise.
* coff-mips.c: Likewise.
* coff-or32.c: Likewise.
* coff64-rs6000.c: Likewise.
* coffcode.h: Likewise.
* coffgen.c: Likewise.
* cpu-ns32k.c: Likewise.
* ecoff.c: Likewise.
* ecofflink.c: Likewise.
* elf.c: Likewise.
* elf32-arm.h: Likewise.
* elf32-cris.c: Likewise.
* elf32-d30v.c: Likewise.
* elf32-i386.c: Likewise.
* elf32-mcore.c: Likewise.
* elf32-ppc.c: Likewise.
* elf32-sh.c: Likewise.
* elf32-sh64.c: Likewise.
* elf32-v850.c: Likewise.
* elf64-alpha.c: Likewise.
* elf64-sh64.c: Likewise.
* elfcode.h: Likewise.
* elfcore.h: Likewise.
* elflink.h: Likewise.
* elfxx-mips.c: Likewise.
* i386os9k.c: Likewise.
* ieee.c: Likewise.
* libbfd.c: Likewise.
* linker.c: Likewise.
* mmo.c: Likewise.
* nlm32-alpha.c: Likewise.
* nlm32-i386.c: Likewise.
* nlm32-ppc.c: Likewise.
* nlm32-sparc.c: Likewise.
* nlmcode.h: Likewise.
* oasys.c: Likewise.
* pdp11.c: Likewise.
* peicode.h: Likewise.
* reloc.c: Likewise.
* som.c: Likewise.
* srec.c: Likewise.
* tekhex.c: Likewise.
* vms.c: Likewise.
* xcofflink.c: Likewise.
* elf64-sparc.c: Edit comment to not use "== false".
* aoutf1.h: Don't use "? true : false".
* ecoff.c: Likewise.
* format.c: Likewise.
* ieee.c: Likewise.
* linker.c: Likewise.
* mmo.c: Likewise.
* oasys.c: Likewise.
2002-06-25 06:21:54 +00:00
Alan Modra
d226df4d47
daily update
2002-06-25 00:11:06 +00:00
Alan Modra
0f67e2ff77
daily update
2002-06-24 00:00:07 +00:00
Alan Modra
48fc70a2b6
* elflink.h (elf_link_add_archive_symbols): For the default
...
version, check references with only one `@' first.
2002-06-23 12:44:31 +00:00
Alan Modra
47b7c2db07
* elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New
...
function.
(allocate_global_data_dlt): Don't add millicode symbols to dynamic
symbol table.
(allocate_global_data_opd, allocate_dynrel_entries): Likewise.
(elf64_hppa_size_dynamic_sections): Revise to use
elf64_hppa_mark_milli_and_exported_functions.
(elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode
symbols out of dynamic symbol table.
2002-06-23 09:05:59 +00:00
Alan Modra
bb3fff1e12
* Makefile.in: Regenerate.
...
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
* configure: Regenerate.
* po/SRC-POTFILES.in: Regenerate.
2002-06-23 02:09:05 +00:00
Alan Modra
f5d44ba06b
2002-06-23 Alan Modra <amodra@bigpond.net.au>
...
* elflink.h: Comment typo fixes.
2002-06-23 H.J. Lu <hjl@gnu.org>
* elf-bfd.h (elf_link_loaded_list): New structure.
(elf_link_hash_table): Add "loaded".
* elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded".
* elflink.h (elf_link_check_versioned_symbol): New function.
(elf_link_output_extsym): Call elf_link_check_versioned_symbol.
2002-06-23 02:04:28 +00:00
Alan Modra
d7eac87a3f
daily update
2002-06-23 00:00:07 +00:00
Alan Modra
a9419e526c
daily update
2002-06-22 00:00:07 +00:00
Alan Modra
256333c7ea
daily update
2002-06-21 00:00:08 +00:00
Alan Modra
1ae9cf22fa
daily update
2002-06-20 00:00:05 +00:00
Nick Clifton
cc36acdfd5
If the target does not support an ELF style has table, return true, indicating
...
that nothing needed to be done, rather than false, indicating that the
section's size could not be computed.
2002-06-19 10:07:37 +00:00
Alan Modra
9d9a8108cc
daily update
2002-06-19 00:00:07 +00:00
Dave Brolley
4e5ba5b7eb
2002-06-18 Dave Brolley <brolley@redhat.com>
...
From Catherine Moore, Michael Meissner, Dave Brolley:
* po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c
* targets.c: Support bfd_elf32_frv_vec.
* reloc.c: Add FRV relocs.
* configure.in: Add support for bfd-elf32-frv-vec.
* config.bfd (targ_cpu): Add support for frv-*-elf.
* archures.c: Add frv arch and machines.
* Makefile.am (ALL_MACHINES): Add cpu-frv.lo.
(ALL_MACHINES_CFILES): Add cpu-frv.c.
(BFD32_BACKENDS): Add elf32-frv.lo.
(BFD32_BACKENDS_CFILES): Add elf32-frv.c
(cpu-frv.lo): New target.
(elf32-frv.lo): New target.
* cpu-frv.c: New file.
* elf32-frv.c: New file.
2002-06-18 21:10:55 +00:00
Jakub Jelinek
7ece0d85fd
binutils/
...
* readelf.c (get_file_header): Only read the first section header if
e_shoff is non-zero.
bfd/
* elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
e_shnum == 0.
Only read the first section header if e_shoff is non-zero.
Don't consider e_shstrndx if there are no sections.
2002-06-18 14:09:06 +00:00
Alan Modra
bc67e3a921
daily update
2002-06-18 00:00:06 +00:00
Tom Rix
57fb03ac80
Fix pc relocations.
2002-06-17 13:43:50 +00:00
Alan Modra
767e34d13c
* opncls.c (bfd_openr): Remove redundant bfd_set_error.
...
(bfd_fdopenr): Likewise.
(bfd_openstreamr): Likewise.
(bfd_openw): Likewise.
2002-06-17 02:33:42 +00:00
Alan Modra
341ca62211
* targets.c: Sort target vecs.
...
(_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec,
bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec,
bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec,
bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec.
* configure.in: Sort target vecs. Add m88kmach3_vec.
* configure: Regenerate.
2002-06-17 02:27:38 +00:00
Alan Modra
1e81458254
daily update
2002-06-17 00:00:06 +00:00
Hans-Peter Nilsson
dfbbae4ca3
* elf64-mmix.c (bpo_reloc_request_sort_fn): Use member
...
bpo_reloc_no to break sort order ties, not address of items.
2002-06-16 20:48:46 +00:00
Jeff Law
d663e1cd53
* elf-hppa.h (elf_hppa_final_link): Fix formatting in comment.
...
Skip excluded sections in determing __gp value.
(elf_hppa_final_link_relocate): Use the symbol's address in
R_PARISC_FPTR64 relocations that don't need an opd entry.
* elf64-hppa.c (allocate_dynrel_entries): Simplify code.
(elf64_hppa_finalize_dynreloc): Likewise.
(elf64_hppa_size_dynamic_sections): Move comments and fix typo.
(elf64_hppa_finish_dynamic_symbol): Break up assert.
2002-06-16 15:32:08 +00:00
Alan Modra
b9ab661c81
daily update
2002-06-16 00:00:04 +00:00
Alan Modra
e75700dfba
daily update
2002-06-15 00:00:05 +00:00
Nick Clifton
a829521801
Enable 16 byte alignment for .bss, .data and .text sections so that sse and
...
sse2 code will work.
2002-06-14 11:24:12 +00:00
Alan Modra
9faaac0e27
daily update
2002-06-14 00:00:05 +00:00
Joern Rennecke
5d9b5481e3
Individual processor configurations for sh-elf / sh-linux:
...
gcc:
* config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
* config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
* sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
(SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
(SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
(SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
(SELECT_SH5_COMPACT_NOFPU): Likewise.
(TARGET_SWITCHES): Use them.
(TARGET_CPU_DEFAULT): Define if not already defined.
(TARGET_DEFAULT): Use it.
(LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
* config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
* config/sh/t-monolib: New file.
bfd:
config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
sh[1234]*-elf*.
ld:
* configure.tgt: Add support for sh[1234]*le*-*-elf, sh[1234]*-*-elf.
Still outstanding:
config.sub:
* config.sub: Add support for sh[12], sh3e, sh[1234]le, sh3ele,
shle, sh[1234]le, sh3ele, sh64le.
2002-06-13 20:11:35 +00:00
Alan Modra
3b2687aae5
daily update
2002-06-13 00:00:06 +00:00
Jeff Law
2cb69dd361
* elflink.h (elf_bfd_final_link): Improve error handling for missing
...
dynamic sections.
2002-06-12 18:14:05 +00:00
Jeff Law
3db4b61245
* elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry
...
for a symbol that has no output section.
(allocate_dynrel_entries): Correct comment.
(elf64_hppa_finalize_dynreloc): Likewise. Don't create an opd entry
unless we want one.
(elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL.
(elf64_hppa_finalize_dlt): Likewise. Prevent segfault for symbols
with no section. Remove unnecessary parentheses.
2002-06-12 18:12:25 +00:00
Tom Rix
f381349953
Change text alignement to 4 bytes.
2002-06-12 16:04:39 +00:00
Alan Modra
bbd24b5b2e
daily update
2002-06-12 00:00:05 +00:00
Alan Modra
013585f27e
daily update
2002-06-11 00:00:06 +00:00
Richard Sandiford
0ebaf18527
* section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE
...
for removed output sections.
2002-06-10 16:10:43 +00:00
Nick Clifton
ebe3e2d199
Use htab_create_alloc with calloc, not htab_alloc.
2002-06-10 10:18:33 +00:00
Alan Modra
ea09de6a21
daily update
2002-06-10 00:00:06 +00:00
H.J. Lu
0b14c2aa9b
2002-06-08 H.J. Lu <hjl@gnu.org>
...
* elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
work around a long long bug in gcc 2.96 on mips.
2002-06-09 03:08:54 +00:00
Alan Modra
05b65acb41
daily update
2002-06-09 00:00:03 +00:00
Jason Thorpe
3c2bfad6a0
* Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
...
(BFD32_BACKENDS_CFILES): Add vax1knetbsd.c.
Regenerate dependency lists.
* Makefile.in: Regenerate.
* config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add
vax1knetbsd_vec to targ_selvecs.
* configure.in: Add vax1knetbsd_vec.
* configure: Regenerate.
* targets.c (_bfd_target_vector): Add vax1knetbsd_vec.
* vax1knetbsd.c: New file.
* vaxnetbsd.c: Update copyright years.
(TARGET_PAGE_SIZE): Set to 0x1000.
(DEFAULT_MID): Set to M_VAX4K_NETBSD.
2002-06-08 23:23:08 +00:00
Jason Thorpe
91149be392
2002-06-08 Matt Thomas <matt@3am-software.com>
...
* libaout.h (enum machine_type): Add M_VAX4K_NETBSD.
2002-06-08 23:01:10 +00:00
Alan Modra
21e152480c
* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static.
2002-06-08 12:27:33 +00:00
Alan Modra
796f6cb780
* Makefile.am: Fix quote style in last change.
...
* Makefile.in: Regenerate.
2002-06-08 08:50:44 +00:00
Alan Modra
e90b95f66d
* Makefile.am: Run "make dep-am".
...
* Makefile.in: Regenerate.
2002-06-08 08:45:03 +00:00
Alan Modra
3f9c735ef4
* armnetbsd.c: Replace CONST with const.
...
* corefile.c: Likewise.
* elf32-dlx.c: Likewise.
* elf64-mips.c: Likewise.
* mmo.c: Likewise.
* ns32knetbsd.c: Likewise.
2002-06-08 07:27:52 +00:00
Alan Modra
986b7daaef
* elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash
...
table is elf64-sparc.
2002-06-08 03:01:47 +00:00
Alan Modra
965cd73762
daily update
2002-06-08 00:00:04 +00:00
Thiemo Seufer
5a65966349
* elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.
...
Fix RELA addends to get not shifted in the result. Don't do special
handling of R_MIPS_64 for NewABI.
2002-06-07 23:43:41 +00:00
Alan Modra
9bab7074b0
Replace bfd_alloc/bfd_malloc + memset with bfd_zalloc/bfd_zmalloc
2002-06-07 15:04:49 +00:00
Alan Modra
1126897b36
* elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with
...
"group" union.
(elf_group_name): Update.
(elf_group_id): Define.
(bfd_elf_set_group_contents): Declare.
* elf.c (elf_fake_sections): Qualify use of elf_group_name.
(set_group_contents): Rename to bfd_elf_set_group_contents. Remove
ATTRIBUTE_UNUSED from failedptrarg. If elf_group_id is set, use
that sym for the signature.
(_bfd_elf_compute_section_file_positions): Don't call
set_group_contents for "ld -r" case.
(swap_out_syms): Use bfd_zalloc.
* elflink.h (elf_link_add_archive_symbols): Likewise.
(NAME(bfd_elf,size_dynamic_sections)): Likewise.
(elf_bfd_final_link): Call bfd_elf_set_group_contents.
2002-06-07 14:57:11 +00:00
Alan Modra
3fad3c7c22
* elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
...
relocs in opd for non-shared too.
2002-06-07 10:21:53 +00:00
Alan Modra
c46f20ef0a
* Makefile.am (libbfd.h): Don't use "echo -n".
...
(libcoff.h, bfd.h): Likewise.
* Makefile.in: Regenerate.
2002-06-07 07:37:20 +00:00
Alan Modra
feb2269354
daily update
2002-06-07 00:11:11 +00:00
Jeff Law
76f99c63fb
* elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
...
relocations.
2002-06-06 21:33:11 +00:00
Nick Clifton
7217313c59
Include libiberty.h
2002-06-06 10:47:27 +00:00
Alan Modra
6cb2281567
* peXXigen.c (pe_print_idata): Remove unused variable.
2002-06-06 10:45:14 +00:00
Nick Clifton
1ed89aa92e
Do not include empty sections in loadable segments.
2002-06-06 10:03:38 +00:00
Alan Modra
abd4c6a26d
* bfdint.texi: Change registry@sco.com to registry@caldera.com.
2002-06-06 09:58:57 +00:00
Richard Sandiford
644c4c80f9
* stabs.c (_bfd_link_section_stabs): Check that the symbol offset
...
is within the .stabstr section.
2002-06-06 09:24:56 +00:00
Alan Modra
f8ecb12b16
elf_swap_symbol_in args should be "const PTR", not "const PTR *".
2002-06-06 00:29:22 +00:00
Alan Modra
a1c1c00904
daily update
2002-06-06 00:00:05 +00:00
Joern Rennecke
7a33bc1016
gcc:
...
* config.gcc (sh-*-elf*, sh64*-*-elf*): Unify.
(shl*-*-elf*): Add.
* config/sh/t-be (MULTILIB_ENDIAN): Set.
* config/sh/t-le (MULTILIB_ENDIAN): Likewise.
* t-sh (MULTILIB_ENDIAN): Set.
(MULTILIB_OPTIONS): Use it.
* t-sh64 (MULTILIB_OPTIONS): Likewise.
(MULTILIB_DIRNAMES): Likewise.
bfd:
* config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
ld:
configure.tgt (shle*-*-elf*, sh64le-*-elf*): New configurations.
2002-06-05 19:54:28 +00:00
Alan Modra
9dce4196b4
* elf.c (group_signature): Swap in the whole symbol, and handle
...
extracting section symbol names.
(setup_group): Add comment.
(set_group_contents): When called from objcopy or ld, arrange for
section contents to be written. Write group member output section
indices to allow objcopy to reorganize sections.
(_bfd_elf_copy_private_section_data): Copy group info.
2002-06-05 14:06:12 +00:00
Alan Modra
73ff0d563c
* elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
...
(bfd_elf32_swap_symbol_in): Update prototype.
(bfd_elf64_swap_symbol_in): Likewise.
* elfcode.h (elf_swap_symbol_in): Change input args to const PTR *.
(elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
* elflink.h (elf_link_is_defined_archive_symbol): Likewise.
(elf_link_add_object_symbols): Likewise.
(elf_link_record_local_dynamic_symbol): Likewise.
(elf_link_input_bfd): Likewise.
(elf_gc_mark): Likewise.
(elf_reloc_symbol_deleted_p): Likewise.
* elf-m10200.c (mn10200_elf_relax_section): Likewise.
(mn10200_elf_relax_delete_bytes): Likewise.
(mn10200_elf_symbol_address_p): Likewise.
(mn10200_elf_get_relocated_section_contents): Likewise.
* elf-m10300.c (mn10300_elf_relax_section): Likewise.
(mn10300_elf_relax_section): Likewise.
(mn10300_elf_relax_delete_bytes): Likewise.
(mn10300_elf_symbol_address_p): Likewise.
(mn10300_elf_get_relocated_section_contents): Likewise.
* elf32-h8300.c (elf32_h8_relax_section): Likewise.
(elf32_h8_relax_delete_bytes): Likewise.
(elf32_h8_symbol_address_p): Likewise.
(elf32_h8_get_relocated_section_contents): Likewise.
* elf32-hppa.c (get_local_syms): Likewise.
* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
* elf32-sh.c (sh_elf_relax_section): Likewise.
(sh_elf_relax_delete_bytes): Likewise.
(sh_elf_get_relocated_section_contents): Likewise.
* elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
* elf64-alpha.c (elf64_alpha_relax_section): Likewise.
* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
* elf64-mmix.c (mmix_elf_relax_section): Likewise.
* elf64-ppc.c (get_local_syms): Likewise.
* elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
* elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
* elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser.
* elf64-alpha.c (alpha_elf_size_info): Likewise.
* elf64-hppa.c (hppa64_elf_size_info): Likewise.
* elf64-mips.c (mips_elf64_size_info): Likewise.
* elf64-s390.c (s390_elf64_size_info): Likewise.
* elf64-sparc.c (sparc64_elf_size_info): Likewise.
2002-06-05 13:32:02 +00:00
Maciej W. Rozycki
53bfd6b45b
* elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
...
elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
_bfd_mips_elf_ignore_discarded_relocs.
elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
2002-06-05 10:31:47 +00:00
H.J. Lu
d4df96e6ca
2002-06-05 H.J. Lu <hjl@gnu.org>
...
* elfxx-mips.c (mips_elf_calculate_relocation): Call
_bfd_elf_rel_local_sym for STT_SECTION relocations against
the SEC_MERGE section.
2002-06-05 06:50:16 +00:00
Alan Modra
3cac74d016
* coff-alpha.c: Update copyright date.
...
* coff-mips.c: Likewise.
* xcoff-target.h: Likewise.
2002-06-05 04:22:27 +00:00
Alan Modra
e61463e1e6
* bfd-in.h: Remove "taken from the source" comment.
...
* libbfd-in.h: Likewise.
* libcoff-in.h: Likewise.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* libcoff.h: Regenerate.
* elf.c (bfd_elf_discard_group): Return true.
* elf-bfd.h (bfd_elf_discard_group): Declare.
* bfd-in.h (bfd_elf_discard_group): Don't declare here.
* section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
* bfd.c (bfd_discard_group): Define.
* targets.c (struct bfd_target): Add _bfd_discard_group.
(BFD_JUMP_TABLE_LINK): Here too.
* libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
* aout-adobe.c (aout_32_bfd_discard_group): Define.
* aout-target.h (MY_bfd_discard_group): Define.
* aout-tic30.c (MY_bfd_discard_group): Define.
* binary.c (binary_bfd_discard_group): Define.
* bout.c (b_out_bfd_discard_group): Define.
* coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
* coffcode.h (coff_bfd_discard_group): Define.
* coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
* elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
* i386msdos.c (msdos_bfd_discard_group): Define.
* i386os9k.c (os9k_bfd_discard_group): Define.
* ieee.c (ieee_bfd_discard_group): Define.
* ihex.c (ihex_bfd_discard_group): Define.
* mmo.c (mmo_bfd_discard_group): Define.
* nlm-target.h (nlm_bfd_discard_group): Define.
* oasys.c (oasys_bfd_discard_group): Define.
* ppcboot.c (ppcboot_bfd_discard_group): Define.
* som.c (som_bfd_discard_group): Define.
* srec.c (srec_bfd_discard_group): Define.
* tekhex.c (tekhex_bfd_discard_group): Define.
* versados.c (versados_bfd_discard_group): Define.
* vms.c (vms_bfd_discard_group): Define.
* xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
* coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
(aix5coff64_vec): Likewise.
* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
2002-06-05 03:43:11 +00:00
Alan Modra
86fb1dece3
* Makefile.am (libbfd.h): Add "Extracted from.." comment.
...
(libcoff.h, bfd.h): Likewise.
* Makefile.in: Regenerate.
2002-06-05 03:40:58 +00:00
Jason Thorpe
9cba27b282
bfd/
...
* Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo.
(BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c.
(elf32-sh64-com.lo): New dependency list.
* Makefile.in: Regenerate.
* configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec)
(bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add
elf32-sh64-com.lo.
* configure: Regenerate.
* elf32-sh64.c (sh64_address_in_cranges)
(sh64_get_contents_type, sh64_address_is_shmedia): Move to...
(crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb):
(crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to...
* elf32-sh64-com.c: ...here. New file.
include/elf/
* sh.h (_bfd_sh64_crange_qsort_cmpb, _bfd_sh64_crange_qsort_cmpl)
(_bfd_sh64_crange_bsearch_cmpb, _bfd_sh64_crange_bsearch_cmpl): New
prototypes.
2002-06-05 01:50:42 +00:00
Alan Modra
58aaa5e6a5
daily update
2002-06-05 00:00:05 +00:00
Alan Modra
8d2c33be03
* elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove
...
ATTRIBUTE_UNUSED on used params.
* elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks
before calling bfd_section_from_elf_index on local syms.
* elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
2002-06-04 05:28:52 +00:00
Jason Thorpe
5b0e55b627
bfd:
...
* Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
(BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
(BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
(BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
(elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
* Makefile.in: Regenerate.
* config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
(sh64-*-netbsd*): New targets.
* configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
* configure: Regenerate.
* elf32-sh64-nbsd.c: New file.
* elf64-sh64-nbsd.c: New file.
* targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
bfd_elf64_sh64lnbsd_vec.
gas:
* configure.in (sh5*): Set cpu_type to sh64 and endian to big.
(sh5le*, sh64le*): Set cpu_type to sh64 and endian to little.
(sh5*-*-netbsd*, sh64*-*-netbsd*): New targets.
* configure: Regenerate.
* config/tc-sh64.c (sh64_target_format): Add support for NetBSD
environment.
ld:
* Makefile.am (ALL_EMULATIONS): Add eshelf32_nbsd.o,
eshlelf32_nbsd.o, eshelf64_nbsd.o, and eshlelf64_nbsd.o.
(eshelf32_nbsd.c, eshelf64_nbsd.c, eshlelf32_nbsd.c)
(eshlelf64_nbsd.c): New rules.
* Makefile.in: Regenerate.
* configure.tgt (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
(sh64-*-netbsd*): New targets.
* emulparams/shelf32_nbsd.sh: New file.
* emulparams/shelf64_nbsd.sh: New file.
* emulparams/shlelf32_nbsd.sh: New file.
* emulparams/shlelf64_nbsd.sh: New file.
opcodes:
* configure.in: Add "sh5*-*" to list of targets which include
sh64 support.
* configure: Regenerate.
2002-06-04 02:57:44 +00:00
Alan Modra
b885599bed
* elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
...
(bfd_section_from_shdr): Likewise. Set section name of group
sections from signature.
(group_signature): Split out from setup_group. Ensure symbol table
is available.
(bfd_elf_discard_group): New function.
(_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on
.gnu.linkonce* sections if they are members of a group.
(set_group_contents): Set GRP_COMDAT flag.
* section.c (bfd_discard_group): New function.
* bfd-in.h (bfd_elf_discard_group): Declare.
* bfd-in2.h: Regenerate.
* elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field.
(elf_linkonce_p): Define.
2002-06-04 01:05:21 +00:00
Alan Modra
90937f86aa
* elf.c (bfd_section_from_shdr): Make "name" const.
...
* elf-bfd.h (elf_backend_section_from_shdr): Likewise.
* elf32-i370.c (i370_elf_section_from_shdr): Likewise.
* elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
* elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
* elf32-v850.c (v850_elf_section_from_shdr): Likewise.
* elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
* elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
* elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise.
* elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
* elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
* elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
2002-06-04 00:51:08 +00:00
Alan Modra
8898d63eae
daily update
2002-06-04 00:00:04 +00:00
Maciej W. Rozycki
cf6fb9ce2f
* elfxx-mips.c (ABI_64_P): Use backend's data to determine the
...
ABI.
2002-06-03 18:42:54 +00:00
Kazu Hirata
cedb70c545
* elf32-arc.c: Fix formatting.
...
* elf32-arm.h: Likewise.
* elf32-cris.c: Likewise.
* elf32-dlx.c: Likewise.
* elf32-hppa.c: Likewise.
* elf32-i386.c: Likewise.
* elf32-i386qnx.c: Likewise.
* elf32-or32.c: Likewise.
* elf32-s390.c: Likewise.
* elf32-sh64.c: Likewise.
* elf32-vax.c: Likewise.
* elf32-xstormy16.c: Likewise.
* elf64-alpha.c: Likewise.
* elf64-mmix.c: Likewise.
* elf64-ppc.c: Likewise.
* elf64-s390.c: Likewise.
* elf64-sh64.c: Likewise.
* elf64-x86-64.c: Likewise.
2002-06-03 01:57:10 +00:00
Alan Modra
67a9cc025d
daily update
2002-06-03 00:00:05 +00:00
Richard Henderson
048d873d69
* elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference
...
null when there are no got entries for a symbol.
(elf64_alpha_relax_find_tls_segment): Rearrange to avoid
uninitialized variable warning.
2002-06-02 08:35:51 +00:00
Richard Henderson
4a67a09883
* elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for
...
undefined symbols here.
(elf64_alpha_relax_section): Do it here. Also test for not
defined in the current module.
(elf64_alpha_relocate_section_r): Split out of ...
(elf64_alpha_relocate_section): ... here. Don't dereference
NULL when looking up local got entries.
2002-06-02 06:23:30 +00:00
Richard Henderson
f44f99a52f
* elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined
...
symbols from JSR relaxation.
(elf64_alpha_size_plt_section_1): New.
(elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ...
(elf64_alpha_size_rela_got_1): ... here.
(elf64_alpha_size_dynamic_sections): Split out .rela.got bits ...
(elf64_alpha_size_rela_got_section): ... here.
(elf64_alpha_size_plt_section): New.
(elf64_alpha_relax_section): Call them.
(elf64_alpha_size_got_sections): Remove output_bfd arg.
(elf64_alpha_finish_dynamic_symbol): Check gotent use_count.
2002-06-02 03:58:40 +00:00
Richard Henderson
9e756d64bb
include/elf/
...
* alpha.h (LITUSE_ALPHA_ADDR, LITUSE_ALPHA_BASE, LITUSE_ALPHA_BYTOFF,
LITUSE_ALPHA_JSR, LITUSE_ALPHA_TLSGD, LITUSE_ALPHA_TLSLDM): New.
gas/
* config/tc-alpha.c: Move LITUSE constants to "elf/alpha.h".
Rename them LITUSE_ALPHA_*.
bfd/
* elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
(elf64_alpha_relocate_section): Use them. Reject LE TLS relocs
in shared libraries. Fix DTPRELHI and TPRELHI value.
(INSN_ADDQ, INSN_RDUNIQ): New.
(struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
(elf64_alpha_relax_with_lituse): Return boolean. Remove irelend
argument. Reject dynamic symbols. Use LITUSE symbolic constants.
(elf64_alpha_relax_got_load): Rename from relax_without_lituse.
Handle GOTDTPREL and GOTTPREL relocations.
(elf64_alpha_relax_gprelhilo): New.
(elf64_alpha_relax_tls_get_addr): New.
(elf64_alpha_relax_find_tls_segment): New.
(elf64_alpha_relax_section): Handle TLS relocations.
(ALPHA_ELF_LINK_HASH_TLS_IE): New.
(elf64_alpha_check_relocs): Set it.
2002-06-02 02:28:45 +00:00
Alan Modra
868a747d4d
daily update
2002-06-02 00:00:06 +00:00
Richard Henderson
b646261c73
* elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
2002-06-01 21:56:41 +00:00
Richard Henderson
d7e41a96e6
* elf64-alpha.c: Remove dead code.
2002-06-01 21:28:59 +00:00
Richard Henderson
c853d7f69e
* elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
...
check; don't suppress dynamic relocs for non-allocated sections.
2002-06-01 21:25:33 +00:00
Alan Modra
4700754efc
daily update
2002-06-01 00:00:05 +00:00
Alan Modra
08e0ee059e
* bfd-in2.h: Regenerate.
...
* libbfd.h: Regenerate.
* po/SRC-POTFILES.in: Regenerate.
2002-05-31 04:23:27 +00:00
Alan Modra
5f33339467
* elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
...
space for bss .plt.
2002-05-31 04:19:32 +00:00
Alan Modra
caf47ea6a3
* Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo.
...
(BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c.
Run "make dep-am".
* Makefile.in: Regenerate.
* config.bfd: Add i[3456]86-*-nto-qnx* support.
* configure.in: Add bfd_elf32_i386qnx_vec support.
* configure: Regenerate.
* elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos,
is_contained_by_filepos, and copy_private_bfd_data_p.
* elf.c (assign_file_positions_for_segments): Call backend
set_nonloadable_filepos. Fix non-K&R call to _bfd_error_handler.
(IS_CONTAINED_BY_FILEPOS): Define.
(INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS.
(copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS. Typo fix.
Fix non-K&R call to _bfd_error_handler.
(_bfd_elf_copy_private_section_data): Use backend
copy_private_bfd_data_p.
* elf32-i386.c: Don't include elfxx-target.h when
ELF32_I386_C_INCLUDED is defined.
* elf32-i386qnx.c: New QNX elf backend file.
* elfxx-target.h: Add elf_backend_set_nonloadable_filepos,
elf_backend_is_contained_by_filepos, and
elf_backend_do_copy_private_bfd_data.
* targets.c: Add bfd_target bfd_elf32_i386qnx_vec.
2002-05-31 02:59:47 +00:00
Alan Modra
5bc5648443
* elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define.
...
Move other similar defines to start of file.
2002-05-31 02:28:53 +00:00
Tom Rix
1b164155d9
Add 16 bit R_RBA.
2002-05-31 01:07:21 +00:00
Alan Modra
fdd89c9823
daily update
2002-05-31 00:00:06 +00:00
Richard Henderson
3765b1be13
include/elf/
...
* alpha.h (R_ALPHA_TLSGD, R_ALPHA_TLSLDM, R_ALPHA_DTPMOD64,
R_ALPHA_GOTDTPREL, R_ALPHA_DTPREL64, R_ALPHA_DTPRELHI,
R_ALPHA_DTPRELLO, R_ALPHA_DTPREL16, R_ALPHA_GOTTPREL, R_ALPHA_TPREL64,
R_ALPHA_TPRELHI, R_ALPHA_TPRELLO, R_ALPHA_TPREL16): New.
bfd/
* elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
(ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
(ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
(struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
(struct alpha_elf_obj_tdata): Rename total_got_entries and
n_local_got_entries to total_got_size and local_got_size.
(elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
(alpha_got_entry_size): New.
(elf64_alpha_relax_with_lituse): Use it.
(elf64_alpha_relax_without_lituse): Likewise.
(MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
(get_got_entry): New.
(elf64_alpha_check_relocs): Handle TLS relocs. Reorganize.
(elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
(elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
(elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
(elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
(elf64_alpha_calc_got_offsets): Likewise.
(alpha_dynamic_entries_for_reloc): New.
(elf64_alpha_calc_dynrel_sizes): Use it.
(elf64_alpha_size_dynamic_sections): Likewise.
(elf64_alpha_relocate_section): Handle TLS relocations.
* reloc.c: Add Alpha TLS relocations.
* bfd-in2.h, libbfd.h: Rebuild.
gas/
* expr.h (operatorT): Add O_md17..O_md32.
* config/tc-alpha.c (O_lituse_tlsgd, O_lituse_tlsldm, O_tlsgd,
O_tlsldm, O_gotdtprel, O_dtprelhi, O_dtprello, O_dtprel, O_gottprel,
O_tprelhi, O_tprello, O_tprel): New.
(USER_RELOC_P, alpha_reloc_op_tag, debug_exp): Include them.
(DUMMY_RELOC_LITUSE_TLSGD, DUMMY_RELOC_LITUSE_TLSLDM): New.
(LITUSE_TLSGD, LITUSE_TLSLDM): New.
(struct alpha_reloc_tag): Add master, saw_tlsgd, saw_tlsld,
saw_lu_tlsgd, saw_lu_tlsldm. Make multi_section_p a bit field.
(md_apply_fix3): Handle TLS relocations.
(alpha_force_relocation, alpha_fix_adjustable): Likewise.
(alpha_adjust_symtab_relocs): Sort LITERAL relocs after the
associated TLS reloc. Check lituse_tls relocs match up.
(emit_insn): Handle TLS relocations.
(ldX_op): Remove.
gas/testsuite/
* gas/alpha/elf-tls-1.s, gas/alpha/elf-tls-1.d: New.
* gas/alpha/elf-tls-2.s, gas/alpha/elf-tls-1.l: New.
* gas/alpha/elf-tls-3.s, gas/alpha/elf-tls-1.l: New.
* gas/alpha/alpha.exp: Run them.
2002-05-30 22:01:38 +00:00
Nick Clifton
5e226794ca
Remove double printed import table lines; add Bound-To comment.
2002-05-30 11:06:10 +00:00
Jason Thorpe
90ace9e95d
2002-05-29 Matt Thomas <matt@3am-software.com>
...
* Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
(BFD32_BACKENDS_CFILES): Add elf32-vax.c.
(elf32-vax.lo): New rule.
* Makefile.in: Regenerate.
* configure.in (bfd_elf32_vax_vec)
(vaxnetbsd_vec): New vectors.
* configure: Regenerate.
* config.bfd (vax-*-netbsdelf*)
(vax-*-netbsdaout*)
(vax-*-netbsd*): New targets.
* elf32-vax.c: New file.
* reloc.c: Add VAX relocations.
* bfd-in2.h: Regenerate.
* targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
2002-05-30 02:14:13 +00:00
Jason Thorpe
4a253e8176
* config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
...
and bfd_elf32_bigarm_vec to targ_selvecs.
2002-05-29 21:10:18 +00:00
Christopher Faylor
6e7c73dd85
* peXXigen.c (pe_print_idata): Fix seg faults on printing import tables with
...
auto-imported symbols.
2002-05-29 20:06:28 +00:00
Nick Clifton
8afb0e028c
Fix genreation of arm <->thumb glue stubs by ensuring that they are in the last section linked.
2002-05-29 16:03:04 +00:00
Nick Clifton
a95653f53e
Move declaration and initialisation of saw_line and saw_func out of for loop.
...
(Actual patch accidentally checked in yesterday!)
2002-05-29 08:46:58 +00:00
Alan Modra
7cdc5bba78
* elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
...
(bfd_elf64_get_symbol_info): Define.
* elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
2002-05-29 05:00:01 +00:00
Alan Modra
4c7aad1c75
* cpu-h8300.c: Make default h8300 machine first in machine list.
2002-05-29 00:58:46 +00:00
Alan Modra
69ed25ef57
daily update
2002-05-29 00:00:05 +00:00
Nick Clifton
d172d4ba03
Add DLX target
2002-05-28 14:08:47 +00:00
Alan Modra
8cf23aec33
daily update
2002-05-28 00:26:27 +00:00
Alan Modra
b9d2bdcb04
daily update
2002-05-27 00:00:06 +00:00
Alan Modra
c2f89d5dd7
daily update
2002-05-26 00:00:05 +00:00
Alan Modra
428d0de365
* elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
2002-05-25 13:09:37 +00:00
Alan Modra
f742faa65b
* chew.c: Use #include "" instead of <> for local header files.
2002-05-25 12:50:18 +00:00
Alan Modra
d1329ca363
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
...
(ppc64_elf_check_relocs): Don't set up function descriptor symbol
strings to point inside function code sym string.
(func_desc_adjust): Likewise.
(ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
2002-05-25 10:13:23 +00:00
Alan Modra
43f8ec3896
daily update
2002-05-25 00:00:06 +00:00
Michal Ludvig
3bab7989f4
2002-05-24 Michal Ludvig <mludvig@suse.cz>
...
* elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
(elf64_x86_64_grok_psinfo): Added.
2002-05-24 14:25:08 +00:00
Nick Clifton
436e8db0b7
Add a target for i386-netbsdpe.
2002-05-24 09:26:58 +00:00
Alan Modra
ea1e4b0d54
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
...
and is_func_descriptor.
(func_desc_adjust): Hide function code sym in shared libs unless
there is a matching exported function descriptor sym.
2002-05-24 04:07:38 +00:00
Alan Modra
8a18e99d4c
daily update
2002-05-24 00:00:06 +00:00
Jakub Jelinek
13ae64f3c7
* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
...
for symbols from SHF_TLS section.
(_bfd_elf_print_private_bfd_data): Add PT_TLS.
(elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
(map_sections_to_segments): Build PT_TLS segment if necessary.
(assign_file_positions_for_segments): Likewise.
(get_program_header_size): Account for PT_TLS segment.
(swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
SEC_THREAD_LOCAL sections to STT_TLS.
* reloc.c: Add 386 and IA-64 TLS relocs.
* section.c (SEC_THREAD_LOCAL): Define.
(SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
Remove.
* elflink.h (elf_link_add_object_symbols): Support .tcommon.
(size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
unconditionally.
(struct elf_final_link_info): Add first_tls_sec.
(elf_bfd_final_link): Set first_tls_sec.
Compute elf_hash_table (info)->tls_segment.
(elf_link_output_extsym): Handle STT_TLS symbols.
(elf_link_input_bfd): Likewise.
* syms.c (BSF_THREAD_LOCAL): Define.
* bfd-in2.h: Rebuilt.
* libbfd.h: Rebuilt.
* elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
elf_i386_mkobject, elf_i386_object_p): New functions.
(elf_howto_table): Add TLS relocs.
(elf_i386_reloc_type_lookup): Support TLS relocs.
(elf_i386_info_to_howto_rel): Likewise.
(struct elf_i386_link_hash_entry): Add tls_type.
(struct elf_i386_obj_tdata): New.
(elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
New macros.
(struct elf_i386_link_hash_table): Add tls_ldm_got.
(link_hash_newfunc): Clear tls_type.
(elf_i386_check_relocs): Support TLS relocs.
(elf_i386_gc_sweep_hook): Likewise.
(allocate_dynrelocs): Likewise.
(elf_i386_size_dynamic_sections): Likewise.
(elf_i386_relocate_section): Likewise.
(elf_i386_finish_dynamic_symbol): Likewise.
(bfd_elf32_mkobject, elf_backend_object_p): Define.
* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
want_tprel, want_dtpmod, want_dtprel.
(elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
(ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
R_IA64_LTOFF_TPREL22.
(elf_code_to_howto_index): Add TLS relocs.
(elfNN_ia64_check_relocs): Support TLS relocs.
(allocate_global_data_got): Account for TLS .got data.
(allocate_dynrel_entries): Account for TLS dynamic relocations.
(elfNN_ia64_install_value): Supprt TLS relocs.
(set_got_entry): Support TLS relocs.
(elfNN_ia64_relocate_section): Likewise.
* config/obj-elf.c (elf_common): Renamed from obj_elf_common.
(obj_elf_common): Call elf_common.
(obj_elf_tls_common): New function.
(elf_pseudo_tab): Support .tls_common.
(special_sections): Add .tdata and .tbss.
(obj_elf_change_section): Set SEC_THREAD_LOCAL for SHF_TLS
sections.
(obj_elf_parse_section_letters): Support T in section flags (SHF_TLS).
(obj_elf_parse_section_letters): Include T in error message.
* config/tc-ppc.c (ppc_section_letter): Likewise.
* config/tc-alpha.c (alpha_elf_section_letter): Likewise.
(tc_gen_reloc): Handle SEC_THREAD_LOCAL the same way as
SEC_MERGE.
* config/tc-sparc.c (md_apply_fix3): Likewise.
* config/tc-i386.c (tc_i386_fix_adjustable): Add TLS relocs.
Define them if not BFD_ASSEMBLER.
(lex_got): Support @TLSGD, @TLSLDM, @GOTTPOFF, @TPOFF, @DTPOFF
and @NTPOFF.
(md_apply_fix3): Add TLS relocs.
* config/tc-ia64.c (enum reloc_func): Add FUNC_DTP_MODULE,
FUNC_DTP_RELATIVE, FUNC_TP_RELATIVE, FUNC_LT_DTP_MODULE,
FUNC_LT_DTP_RELATIVE, FUNC_LT_TP_RELATIVE.
(pseudo_func): Support @dtpmod(), @dtprel() and @tprel().
(ia64_elf_section_letter): Include T in error message.
(md_begin): Support TLS operators.
(md_operand): Likewise.
(ia64_gen_real_reloc_type): Support TLS relocs.
* testsuite/gas/i386/tlspic.s: New file.
* testsuite/gas/i386/tlsd.s: New file.
* testsuite/gas/i386/tlsnopic.s: New file.
* testsuite/gas/i386/tlsd.d: New file.
* testsuite/gas/i386/tlsnopic.d: New file.
* testsuite/gas/i386/tlspic.d: New file.
* testsuite/gas/i386/i386.exp: Add tlsd, tlsnopic and tlspic tests.
* testsuite/gas/ia64/tls.s: New file.
* testsuite/gas/ia64/tls.d: New file.
* testsuite/gas/ia64/ia64.exp: Add tls test.
* write.c (adjust_reloc_syms): Don't change symbols in
SEC_THREAD_LOCAL sections to STT_SECTION + addend.
* elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define.
* elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22.
* elf/i386.h: Add TLS relocs.
* scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss.
* ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for
output section if necessary. Handle .tbss.
(lang_size_sections): Clear _raw_size for .tbss section
(it allocates space in PT_TLS segment only).
* ldwrite.c (build_link_order): Build link order for .tbss too.
* readelf.c (get_segment_type): Add PT_TLS.
(get_elf_section_flags): Add SHF_TLS.
(get_dynamic_flags): Optimize. Add DF_STATIC_TLS.
(process_dynamic_segment): Use puts instead of printf.
(get_symbol_type): Support STT_TLS.
* objdump.c (dump_section_header): Remove SEC_CONSTRUCTOR_TEXT,
SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS.
Add SEC_THREAD_LOCAL.
2002-05-23 13:12:53 +00:00
Nick Clifton
c62e1cc30f
For the Thumb BLX reloc round the relocation up rather than down.
2002-05-23 12:37:57 +00:00
Alan Modra
9ee0b326c9
daily update
2002-05-23 00:00:04 +00:00
H.J. Lu
c5a43a5dc5
2002-05-21 H.J. Lu (hjl@gnu.org)
...
* linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
definition.
2002-05-22 05:06:18 +00:00
Alan Modra
afbe61cf19
* elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
...
(ppc64_elf_relocate_section): Handle unresolved relocs in opd.
2002-05-22 04:22:08 +00:00
Alan Modra
9c07fe7cfa
* elf64-ppc.c (ppc64_elf_relocate_section): Return false for
...
unresolved relocs.
(ppc64_elf_size_dynamic_sections): Check for splt NULL.
2002-05-22 00:04:40 +00:00
Alan Modra
c7a4707351
daily update
2002-05-22 00:00:05 +00:00
Thiemo Seufer
21611032e1
* objdump.c (dump_headers): Fix output formatting for ELF32
...
architectures in a BFD64 enabled toolchain.
* bfd/bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
non-ELF targets.
2002-05-21 16:21:18 +00:00
Thiemo Seufer
41241523bf
* elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
...
an error value.
* elflink.h (elf_link_output_relocs): Likewise. Improve error message.
return with false on error.
(elf_link_input_bfd): Check reloc_emitter return value.
2002-05-21 16:03:46 +00:00
Jason Thorpe
658f25883a
bfd:
...
* config.bfd (armeb-*-netbsdelf*): New target.
ld:
* Makefile.am (ALL_EMULATIONS): Add earmelfb_nbsd.o.
(earmelfb_nbsd.c): New rule.
* Makefile.in: Regenerate.
* configure.tgt (armeb-*-netbsdelf*): New target.
(arm-*-netbsdelf*): Add armelfb_nbsd to targ_extra_emuls.
(arm-*-netbsd*): Likewise.
* emulparams/armelfb_nbsd.sh: New file.
2002-05-21 15:11:04 +00:00
Alan Modra
dd45e91811
daily update
2002-05-21 00:00:06 +00:00
Alan Modra
c862ae314d
* elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
...
at the plt call stub.
2002-05-20 13:12:41 +00:00
Alan Modra
7a4f993ee5
daily update
2002-05-20 00:00:07 +00:00
Thiemo Seufer
6dd1484515
* cpu-mips.c (mips_compatible): Don't try to check machine
...
compatibility.
2002-05-19 21:06:34 +00:00
Alan Modra
1a89f665fc
daily update
2002-05-19 00:00:06 +00:00
Tom Rix
a58d9c34ef
Fix C_FILE auxent.
2002-05-18 13:13:12 +00:00
Alan Modra
6e3d2bb55f
daily update
2002-05-18 00:00:05 +00:00
Alan Modra
ef60b7ff0e
* elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
...
(ppc64_elf_relocate_section): Don't warn about reloc overflow when
we've already warned about an undefined symbol. Report more
detail on reloc errors.
2002-05-17 13:25:04 +00:00
Alan Modra
a703a6ea4e
* acinclude.m4 (AM_INSTALL_LIBBFD): New.
...
* configure.in: Invoke AM_INSTALL_LIBBFD.
* Makefile.am (install-data-local): Revert 2002-05-13. Move to..
(install_libbfd): .. New target.
(uninstall_libbfd): Likewise.
(install-bfdlibLTLIBRARIES): Likewise.
(uninstall-bfdlibLTLIBRARIES): Likewise.
(bfdlibdir): New.
(bfdincludedir): New.
(lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
2002-05-17 10:34:03 +00:00
Nick Clifton
2c13d98be1
Remove computation of len from inside hash loop.
2002-05-17 09:52:04 +00:00
Alan Modra
ed2368c9a8
daily update
2002-05-17 00:00:04 +00:00
Nick Clifton
629936c5b1
Add targets for sh64-linux (little endian and big endian).
2002-05-16 08:19:19 +00:00
Alan Modra
51db274664
daily update
2002-05-16 00:00:06 +00:00
Nick Clifton
e4cf60a822
Do not assume that the first thunk is located in the same section as the
...
import table. Instead check, and if necessary load the section containing
the thunk.
2002-05-15 15:28:12 +00:00
Nick Clifton
d1e66cd4a4
Replace bfd_read with bfd_bread.
2002-05-15 13:47:12 +00:00
Alan Modra
2d653fc760
Fix ld --just-symbols
...
* aix5ppc-core.c: Warning fixes.
* aout-adobe.c (aout_32_bfd_link_just_syms): Define.
* aout-target.h (MY_bfd_link_just_syms): Define.
* aout-tic30.c (MY_bfd_link_just_syms): Define.
* bfd.c (bfd_link_just_syms): Define.
* binary.c (binary_bfd_link_just_syms): Define.
* bout.c (b_out_bfd_link_just_syms): Define.
* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
* coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
* coffcode.h (coff_bfd_link_just_syms): Define.
* elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
(elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
(_bfd_elf_link_just_syms): Declare.
* elf.c (_bfd_elf_link_just_syms): New function.
* elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
sections haven't already been discarded by the linker.
* elflink.h (elf_link_add_object_symbols): Likewise for stab
sections and SEC_MERGE sections.
(elf_bfd_discard_info): Similarly here.
* elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
* i386msdos.c (msdos_bfd_link_just_syms): Define.
* i386os9k.c (os9k_bfd_link_just_syms): Define.
* ieee.c (ieee_bfd_link_just_syms): Define.
* ihex.c (ihex_bfd_link_just_syms): Define.
* libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
(_bfd_generic_link_just_syms): Declare.
* libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
* linker.c (_bfd_generic_link_just_syms): New function.
* mmo.c (mmo_bfd_link_just_syms): Define.
* nlm-target.h (nlm_bfd_link_just_syms): Define.
* oasys.c (oasys_bfd_link_just_syms): Define.
* ppcboot.c (ppcboot_bfd_link_just_syms): Define.
* som.c (som_bfd_link_just_syms): Define.
* srec.c (srec_bfd_link_just_syms): Define.
* targets.c (struct bfd_target): Add _bfd_link_just_syms.
(BFD_JUMP_TABLE_LINK): And here.
* tekhex.c (tekhex_bfd_link_just_syms): Define.
* versados.c (versados_bfd_link_just_syms): Define.
* vms.c (vms_bfd_link_just_syms): Define.
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
2002-05-15 00:18:58 +00:00
Alan Modra
879d6525f7
daily update
2002-05-15 00:00:05 +00:00