Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
* bfd-in2.h: Regenerated.
* libcoff.h: Likewise.
|
|
|
|
|
|
determine whether an input section is the first one assigned to
an output section.
|
|
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-04-25 Frank Ch. Eigler <fche@redhat.com>
* bfd-in.h (bfd_cache_close): Declare newly exported function.
* bfd-in2.h: Regenerated.
|
|
|
|
* bfd-in2.h: Regenerate.
|
|
* 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.
|
|
BFD_RELOC_CRIS_JUMP_SLOT, BFD_RELOC_CRIS_RELATIVE,
BFD_RELOC_CRIS_32_GOT, BFD_RELOC_CRIS_16_GOT,
BFD_RELOC_CRIS_32_GOTPLT, BFD_RELOC_CRIS_16_GOTPLT,
BFD_RELOC_CRIS_32_GOTREL, BFD_RELOC_CRIS_32_PLT_GOTREL,
BFD_RELOC_CRIS_32_PLT_PCREL): New relocs.
* bfd-in2.h, libbfd.h: Regenerate.
|
|
|
|
|
|
|
|
|
|
* bfd-in2.h: Fix formatting.
* libbfd.h: Likewise.
|
|
* bfd-in2.h: Rebuild.
|
|
* aoutx.h: Fix formatting.
* bfd.c: Likewise.
* bfd-in2.h: Likewise.
* bfd-in.h: Likewise.
* cpu-i386.c: Likewise.
* cpu-m68hc11.c: Likewise.
* dwarf2.c: Likewise.
* elf64-x86-64.c: Likewise.
* format.c: Likewise.
* freebsd.h: Likewise.
* hash.c: Likewise.
* hp300hpux.c: Likewise.
* hppabsd-core.c: Likewise.
* hpux-core.c: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* aoutx.h: Fix formatting.
* bfd-in.h: Likewise.
* bfd-in2.h: Likewise.
* cache.c: Likewise.
* cisco-core.c: Likewise.
* coff64-rs6000.c: Likewise.
* coffcode.h: Likewise.
* coffswap.h: Likewise.
* corefile.c: Likewise.
|
|
|
|
* bfd-in.h: Fix formatting.
* bfd-in2.h: Likewise.
* bfd.c: Likewise.
* bout.c: Likewise.
|
|
(allocate_dynrel_entries): Likewise.
(elfNN_ia64_relocate_section): Likewise. Set REL addends correctly.
(set_pltoff_entry): Likewise.
(ia64_howto_table): Remove R_IA64_SEGBASE, and R_IA64_EPLT[ML]SB
(elfNN_ia64_reloc_type_lookup): Likewise.
(elfNN_ia64_install_value): Likewise.
(elfNN_ia64_relocate_section): Likewise.
* reloc.c (BFD_RELOC_IA64_SEGBASE): Remove.
(BFD_RELOC_IA64_EPLTMSB, BFD_RELOC_IA64_EPLTLSB): Remove.
|
|
* bfd-in.h: Fix formatting.
* bfd-in2.h: Likewise.
|
|
* archures.c: (bfd_mach_ia64_elf64, bfd_mach_ia64_elf32) Add defines
to differentiate elf32 and elf64 on ia64.
* bfd-in2.h: Regenerate.
* config.bfd: Add target for "ia64*-*-hpux*".
* configure.in: Add bfd_elf32_ia64_big_vec to selvecs switch.
* configure: Regenerate.
* cpu-ia64.c (bfd_ia64_elf32_arch) Add elf32 arch info structure.
* targets.c: Add bfd_target bfd_elf32_ia64_big_vec.
* Makefile.am: Make elf32-ia64.c and elf64-ia64.c derived objects
from elfxx-ia64.c. Add depenency rules for making elf32-ia64.lo.
* Makefile.in: Regnerate.
* elf64-ia64.c: Deleted
* elfxx-ia64.c: New file, paramaterized version of elf64-ia64.c.
|
|
|
|
* config/tc-sparc.c (sparc_ip): Fix a bug which caused v9_arg_p
instructions to loose any special insn->architecture mask.
* config/tc-sparc.c (v9a_asr_table): Add v9b ASRs.
(sparc_md_end, sparc_arch_types, sparc_arch,
sparc_elf_final_processing): Handle v8plusb and v9b architectures.
(sparc_ip): Handle siam mode operands. Support v9b ASRs (and
request v9b architecture if they are used).
bfd/
* elf32-sparc.c (elf32_sparc_merge_private_bfd_data,
elf32_sparc_object_p, elf32_sparc_final_write_processing):
Support v8plusb.
* elf64-sparc.c (sparc64_elf_merge_private_bfd_data,
sparc64_elf_object_p): Support v9b.
* archures.c: Declare v8plusb and v9b machines.
* bfd-in2.h: Ditto.
* cpu-sparc.c: Ditto.
include/opcode/
* sparc.h (enum sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_V9B.
Note that '3' is used for siam operand.
opcodes/
* sparc-dis.c (v9a_asr_reg_names): Add v9b ASRs.
(compute_arch_mask): Add v8plusb and v9b machines.
(print_insn_sparc): siam mode decoding, accept ASRs up to 25.
* opcodes/sparc-opc.c: Support for Cheetah instruction set.
(prefetch_table): Add #invalidate.
|
|
link-once section symbols.
|
|
|
|
|
|
Who invented c++ anyway?
|
|
(bfd_get_unique_section_name): New function.
|
|
Update generated files
|
|
R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New.
(sh_reloc_map): Add new relocs.
(sh_elf_check_relocs, sh_elf_link_hash_newfunc,
sh_elf_link_hash_table_create, sh_elf_adjust_dynamic_symbol,
sh_elf_size_dynamic_sections, sh_elf_finish_dynamic_symbol,
sh_elf_finishe_dynamic_sections, sh_elf_discard_copies): New
functions.
(ELF_DYNAMIC_INTERPRETER, PLT_ENTRY_SIZE): Define.
(elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
elf_sh_plt_entry_be, elf_sh_plt_entry_le,
elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
New array constants.
(elf_sh_plt0_entry, elf_sh_plt_entry, elf_sh_pic_plt_entry):
New variables.
(elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset,
elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset,
elf_sh_plt_reloc_offset): Define.
(elf_sh_pcrel_relocs_copied, elf_sh_link_hash_entry,
elf_sh_link_hash_table): New structs.
(sh_elf_link_hash_traverse, sh_elf_hash_table): New macros.
(sh_elf_relocate_section, sh_elf_check_relocs): Handle new
relocation types.
(elf_backend_create_dynamic_sections,
bfd_elf32_bfd_link_hash_table_create,
elf_backend_adjust_dynamic_symbol,
elf_backend_size_dynamic_sections,
elf_backend_finish_dynamic_symbol,
elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
elf_backend_plt_readonly, elf_backend_want_plt_sym,
elf_backend_got_header_size, elf_backend_plt_header_size):
Define.
* reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT,
BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE, BFD_RELOC_SH_GOTPC):
New relocs.
* bfd-in2.h, libbfd.h: Rebuilt.
|
|
* elf-bfd.h (elf_link_hash_table): Add runpath.
* bfd-in.h (bfd_elf_get_runpath_list): New prototype.
* bfd-in2.h: Rebuilt.
* elf.c (_bfd_elf_link_hash_table_init): Initialize the
"runpath" field to NULL.
(bfd_elf_get_runpath_list): New function.
* elflink.h (elf_link_add_object_symbols): Record DT_RPATH and
DT_RUNPATH entries.
|
|
many segments.
|
|
* section.c: Back out the change made by Nick Clifton
<nickc@cygnus.com> on 2000-07-31. It breaks stripping dynamic
binaries.
* bfd-in2.h: Likewise.
* elf.c: Likewise.
|
|
* reloc.c (BFD_RELOC_860_*): New bfd relocs for i860.
* bfd-in2.h, libbfd.h: Regenerate.
|
|
|
|
|
|
(ALL_MACHINES_CFILES): Add cpu-cris.c.
(BFD32_BACKENDS): Add aout-cris.lo and elf32-cris.lo.
(BFD32_BACKENDS_CFILES): Add aout-cris.c and elf32-cris.c.
(cpu-cris.lo, aout-cris.lo, elf32-cris.lo): New rules.
* Makefile.in: Rebuild.
* aclocal.m4: Rebuild.
* aoutx.h (NAME(aout,machine_type)): Add case for bfd_arch_cris.
* archures.c (enum bfd_architecture): Add bfd_arch_cris.
(bfd_cris_arch): Declare.
(bfd_archures_list): Add bfd_cris_arch.
* bfd-in2.h: Rebuild.
* config.bfd: (cris-*-*): New target.
* configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vectors.
* configure: Rebuild.
* elf.c (prep_headers): Add bfd_arch_cris.
* libbfd.h: Rebuild.
* libaout.h (enum machine_type): Add M_CRIS.
* reloc.c: Add CRIS relocations.
* targets.c (bfd_target bfd_elf32_cris_vec, cris_aout_vec):
Declare.
(bfd_target_vect): Add bfd_elf32_cris_vec and cris_aout_vec.
* cpu-cris.c, aout-cris.c, elf32-cris.c: New files.
* po/POTFILES.in, po/bfd.pot: Regenerate.
|
|
* bfd-in.h (bfd_elf_set_dt_needed_soname): New.
* bfd-in2.h: Rebuild.
* elf-bfd.h (elf_obj_tdata): Add dt_soname.
(elf_dt_soname): New.
* elf.c (bfd_elf_set_dt_needed_soname): New.
* elflink.h (elf_link_add_object_symbols): Add the DT_NEEDED
entry if the shared object loaded by DT_NEEDED is used to
resolve the reference in a regular object.
|
|
Rename bfd_elf_get_sign_extend_vma to bfd_get_sign_extend_vma
|
|
|
|
Tidy comments and replace deprecated CONST with const.
|