aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2004-03-18bfd/Alan Modra6-138/+163
* elf-bfd.h (struct elf_obj_tdata): Delete dt_soname field. Add dyn_lib_class field. Rearrange for better packing. (elf_dt_soname): Delete. (elf_dyn_lib_class): Define. * elf.c (bfd_elf_set_dt_needed_name): Update comment. (bfd_elf_set_dt_needed_soname): Delete. (bfd_elf_set_dyn_lib_class): New function. * elflink.h (add_dt_needed_tag): New function. Split out from.. (elf_link_add_object_symbols): ..here. Rename "name" to "soname". Use elf_dyn_lib_class to set dt_needed and add_needed. Move fallback initialization of soname. (elf_link_check_versioned_symbol): Test elf_dyn_lib_class instead of elf_dt_soname. * bfd-in.h (enum dynamic_lib_link_class): New. (bfd_elf_set_dt_needed_soname): Delete. (bfd_elf_set_dyn_lib_class): Declare. * bfd-in2.h: Regenerate. ld/ * ld.texinfo: Add --as-needed doco. * ldmain.c (as_needed): New global var. * ldmain.h (as_needed): Declare. * lexsup.c (option_values): Add OPTION_AS_NEEDED and OPTION_NO_AS_NEEDED. (ld_options): Likewise. (parse_args): Handle them. * ldlang.h (lang_input_statement_type): Add as_needed field. * ldlang.c (new_afile): Set p->as_needed. * emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols): New function. (gld${EMULATION_NAME}_try_needed): Use bfd_elf_set_dyn_lib_class. (ld_${EMULATION_NAME}_emulation): Set LDEMUL_RECOGNIZED_FILE entry. * ldlang.c (open_input_bfds): Remove useless cast. (lang_do_assignments_1): Likewise. (lang_for_each_input_section): Delete.
2004-03-18 * elflink.c (_bfd_elf_merge_symbol): Rewrite weak symbol handling.Alan Modra3-142/+54
(_bfd_elf_add_default_symbol): Remove indirect BFD_ASSERTs. * elflink.h (elf_link_add_object_symbols): Don't clear dt_needed in symbol loop. Instead use add_needed to flag tag as written.
2004-03-17daily updateAlan Modra1-1/+1
2004-03-17 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): CorrectNathan Sidwell2-4/+9
logic for null_input_bfd detection.
2004-03-17Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff*.Alan Modra2-2/+11
2004-03-16daily updateAlan Modra1-1/+1
2004-03-16* netbsd-core.c (netbsd_core_file_p) [CORE_FPU_OFFSET]: RemoveMark Kettenis2-21/+6
code.
2004-03-16copyright date.Alan Modra2-3/+3
2004-03-16 * elflink.c (elf_link_read_relocs_from_section): Don't useAlan Modra3-15/+16
NUM_SHDR_ENTRIES in end of reloc calc. Move NULL shdr check.. (_bfd_elf_link_read_relocs): ..to here. * elf32-ppc.c (ppc_elf_relax_section): Formatting.
2004-03-16 * configure.in (HOST_64BIT_TYPE, HOST_U_64BIT_TYPE): Don't overrideAlan Modra3-52/+56
values selected in configure.host. Require both to be defined before setting BFD_HOST_64_BIT_DEFINED. Protect assignment to corresponding BFD_HOST vars with quotes. <${host64}-${target64}-${want64} in *true*>: Don't exempt gcc; Always require BFD_HOST_64_BIT_DEFINED. <file_ptr type>: Find off_t size before emitting message. Combine off_t and ftello64 conditional. * configure: Regenerate.
2004-03-16 * elf32-m32r.c (m32r_elf_create_dynamic_sections): Fix pointerAlan Modra2-144/+150
aliasing warning. Remove trailing whitespace throughout file.
2004-03-15daily updateAlan Modra1-1/+1
2004-03-15 * elf-hppa.h (elf_hppa_relocate_section): Pass input_bfd instead ofDave Anglin3-8/+17
input_section in calls to get_dyn_name. * elf64-hppa.c (get_dyn_name): Change type of first argument to "bfd *". Use section id of first section in input BFD to build dynamic name for local symbols. (elf64_hppa_check_relocs): Pass abfd in call to get_dyn_name.
2004-03-15 * bfd-in.h (bfd_int64_t, bfd_uint64_t): New types.Alan Modra17-522/+589
(BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Don't define here. (bfd_getb64, bfd_getl64, bfd_get_bits): Return bfd_uint64_t. (bfd_getb_signed_64, bfd_getl_signed_64): Return bfd_int64_t. (bfd_putb64, bfd_putl64, bfd_put_bits): Accept bfd_uint64_t. * configure.in (HOST_U_64BIT_TYPE): Set when sizeof long is 8. (BFD_HOST_64_BIT_DEFINED, BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Set when using long. * libbfd.c (EIGHT_GAZILLION, COERCE64): Use bfd_int64_t. (bfd_getb64): Return bfd_uint64_t. Enable when BFD_HOST_64_BIT. (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise. (bfd_putb64): Accept bfd_uint64_t. Enable when BFD_HOST_64_BIT. (bfd_putl64, bfd_put_bits, bfd_get_bits): Likewise. * dwarf2.c (struct attribute): Use bfd_int64_t and bfd_uint64_t. (read_8_bytes, read_indirect_string, read_address): Likewise. (read_abbrevs, parse_comp_unit): Likewise. * targets.c (struct bfd_target): Likewise. * aix386-core.c (NO_GET64, NO_PUT64, NO_GETS64): Define and use. * hppabsd-core.c: Likewise. Formatting. * hpux-core.c: Likewise. * irix-core.c: Likewise. * netbsd-core.c: Likewise. * osf-core.c: Likewise. * ptrace-core.c: Likewise. * sco5-core.c: Likewise. * trad-core.c: Likewise. * configure: Regenerate. * bfd-in2.h: Regenerate.
2004-03-15 * bfd-in.h (bfd_getb64, bfd_getl64): Replace bfd_byte* with void*.Alan Modra19-403/+375
(bfd_getb32, bfd_getl32, bfd_getb16, bfd_getl16): Likewise. (bfd_getb_signed_64, bfd_getl_signed_64): Likewise. (bfd_getb_signed_32, bfd_getl_signed_32): Likewise. (bfd_getb_signed_16, bfd_getl_signed_16): Likewise. (bfd_putb64, bfd_putl64, bfd_putb32, bfd_putl32): Likewise. (bfd_putb16, bfd_putl16, bfd_get_bits, bfd_put_bits): Likewise. * libbfd.c: Likewise in function definitions. (bfd_put_8): Mask with 0xff rather than casting to char. (bfd_putb16, bfd_putl16, bfd_putb32, bfd_putl32): Likewise. (bfd_putb64, bfd_putl64, bfd_put_bits): Likewise. (H_PUT_64, H_PUT_32, H_PUT_16, H_PUT_8): Remove casts, simplify. (H_PUT_S64, H_PUT_S32, H_PUT_S16, H_PUT_S8): Likewise. (H_GET_64, H_GET_32, H_GET_16, H_GET_8): Likewise. (H_GET_S64, H_GET_S32, H_GET_S16, H_GET_S8): Likewise. * libaout.h (H_PUT_64 H_PUT_32, H_PUT_16): Remove casts, simplify. (H_PUT_S64, H_PUT_S32, H_PUT_S16): Likewise. (H_GET_64, H_GET_32, H_GET_16): Likewise. (H_GET_S64, H_GET_S32, H_GET_S16): Likewise. * archive.c (do_slurp_coff_armap): Update swap prototype. * coff-tic54x.c (tic54x_getl32): Replace bfd_byte* with void*. (tic54x_getl_signed_32): Likewise. (tic54x_putl32): Likewise. Mask with 0xff rather than casting to char. * mach-o.c (bfd_mach_o_read_header): Update get32 prototype. * pdp11.c (bfd_getp32): Make static, replace bfd_byte* with void*. (bfd_getp_signed_32, bfd_putp32): Likewise. * targets.c (struct bfd_target): Use void* in place of bfd_byte* for bfd_getx64, bfd_getx_signed_64, bfd_putx64, bfd_getx32, bfd_getx_signed_32, bfd_putx32, bfd_getx16, bfd_getx_signed_16, bfd_putx16, bfd_h_getx64, bfd_h_getx_signed_64, bfd_h_putx64, bfd_h_getx32, bfd_h_getx_signed_32, bfd_h_putx32, bfd_h_getx16, bfd_h_getx_signed_16, bfd_h_putx16. * aix386-core.c (NO_GET, NO_GETS, NO_PUT): Update prototypes. * hppabsd-core.c: Similarly. Rename NO_SIGNED_GET to NO_GETS. * hpux-core.c: Likewise. * irix-core.c: Likewise. * netbsd-core.c: Likewise. * osf-core.c: Likewise. * ptrace-core.c: Likewise. * sco5-core.c: Likewise. * trad-core.c: Likewise. * bfd-in2.h: Regenerate.
2004-03-15 * config.bfd: Add x86-64 vector to NetBSD/i386 if 64bit BFD isAlan Modra2-3/+9
selected.
2004-03-14daily updateAlan Modra1-1/+1
2004-03-13daily updateAlan Modra1-1/+1
2004-03-13* config.bfd: Add x86_64-*-openbsd*.Mark Kettenis4-77/+88
* configure.in (x86_64-*-openbsd*): Set COREFILE to netbsd-core.lo. * configure: Regenerate.
2004-03-12daily updateAlan Modra1-1/+1
2004-03-12Ignore data-only sections when checking interworking statusNick Clifton2-3/+21
2004-03-11daily updateAlan Modra1-1/+1
2004-03-10daily updateAlan Modra1-1/+1
2004-03-09daily updateAlan Modra1-1/+1
2004-03-09Patch from Steve Ellcey for potential race condition.Jim Wilson2-1/+5
* elfxx-ia64.c (plt_full_entry): Change ld8 to ld8.acq.
2004-03-08daily updateAlan Modra1-1/+1
2004-03-07daily updateAlan Modra1-1/+1
2004-03-06daily updateAlan Modra1-1/+1
2004-03-05Reviewed and approved by Alan Modra <amodra@bigpond.net.au>Fred Fish2-7/+11
2004-03-05 Fred Fish <fnf@redhat.com> * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Just force mips16 symbols to be even rather than testing first for even/odd. (_bfd_mips_elf_link_output_symbol_hook): Ditto.
2004-03-05 * elf.c (map_sections_to_segments): Ignore .tbss sections forNathan Sidwell2-1/+8
layout purposes. * ldlang.c (lang_add_section): Don't force SEC_LOAD on SEC_THREAD_LOCAL. (IGNORE_SECTION): Ignore .tbss sections too. (lang_size_sections_1): .tbss sections do not advance dot. * ld-scripts/size.exp: New. * ld-scripts/size-[12].{d,s,t}: New.
2004-03-04daily updateAlan Modra1-1/+1
2004-03-03daily updateAlan Modra1-1/+1
2004-03-03* elflink.c (bfd_elf_record_link_assignment): Mark undefweak andAlexandre Oliva2-0/+12
undefined symbols as hash_new.
2004-03-032003-03-03 Andrew Stubbs <andrew.stubbs@superh.com>Joern Rennecke5-4/+31
opcodes: * sh-dis.c (print_insn_sh): Don't disassemble fp instructions in nofpu mode. Add BFD type bfd_mach_sh4_nommu_nofpu. * sh-opc.h: Add sh4_nommu_nofpu architecture and adjust instructions accordingly. bfd: * archures.c: Add bfd_mach_sh4_nommu_nofpu. * cpu-sh.c: Ditto. * elf32-sh.c: Ditto. * bfd-in2.h: Regenerate. include/elf: * sh.h: Add EF_SH4_NOMMU_NOFPU. gas: * config/tc-sh.c (md_parse_option): Add -isa=sh4-nofpu and -isa=sh4-nommu-nofpu options. Adjust help messages accordingly. (sh_elf_final_processing): Output BFD type sh4_nofpu if that is the most general type or the user specifically requested it. (md_assemble): Add a new error message for when an instruction is understood, but is not allowed due to an -isa option.
2004-03-02* elf32-frv.c (struct frv_pic_relocs_info): Added fixups andAlexandre Oliva2-37/+159
dynrelocs. (_frv_count_got_plt_entries): Initialize them. (frv_pic_relocs_info_find): Add insert argument. Adjust all callers. (frv_pic_relocs_info_for_global): Likewise. (frv_pic_relocs_info_for_local): Likewise. (frv_pic_merge_early_relocs_info): New. (_frv_resolve_final_relocs_info): Use it in case one entry maps to another. (_frv_add_dyn_reloc): Add entry argument. Adjust all callers. Check that we don't exceed the allocated count for entry. (_frv_add_rofixup): Likewise. (_frv_emit_got_relocs_plt_entries): Adjust for coding standards. (elf32_frv_finish_dynamic_sections): Improve error message in case we emit too few rofixup entries.
2004-03-02daily updateAlan Modra1-1/+1
2004-03-01daily updateAlan Modra1-1/+1
2004-03-01Add fr450 support.Richard Sandiford5-6/+54
2004-02-29daily updateAlan Modra1-1/+1
2004-02-292004-02-28 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu4-347/+364
* elf-bfd.h (_bfd_elf_link_add_archive_symbols): New prototype. * elflink.h (is_global_data_symbol_definition): Moved to elflink.c. (elf_link_is_defined_archive_symbol): Likewise. (elf_link_add_archive_symbols): Likewise. Renamed to _bfd_elf_link_add_archive_symbols. * elflink.c (elf_link_is_defined_archive_symbol): Get the size of ELF symbol table entry from backend. (_bfd_elf_link_add_archive_symbols): Call bfd_link_add_symbols instead of elf_link_add_object_symbols.
2004-02-28daily updateAlan Modra1-1/+1
2004-02-28* elf-bfd.h (struct elf_backend_data): AddedAlexandre Oliva5-3/+158
elf_backend_can_make_relative_eh_frame, elf_backend_can_make_lsda_relative_eh_frame and elf_backend_encode_eh_address. (_bfd_elf_encode_eh_address): Declare. (_bfd_elf_can_make_relative): Declare. * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use new hooks to decide whether to attempt to make_relative and make_lsda_relative. (_bfd_elf_write_section_eh_frame_hdr): Call encode_eh_address. (_bfd_elf_can_make_relative): New. (_bfd_elf_encode_eh_address): New. * elf32-frv.c (frv_elf_use_relative_eh_frame): New. (frv_elf_encode_eh_address): New. (elf_backend_can_make_relative_eh_frame): Define. (elf_backend_can_make_lsda_relative_eh_frame): Define. (elf_backend_encode_eh_address): Define. * elfxx-target.h (elf_backend_can_make_relative_eh_frame): Define. (elf_backend_can_make_lsda_relative_eh_frame): Define. (elf_backend_encode_eh_address): Define. (elfNN_bed): Add them.
2004-02-28* elf32-frv.c (elf32_frv_howto_table) <R_FRV_LABEL16>: SetAlexandre Oliva2-1/+6
complain_on_overflow to signed.
2004-02-27daily updateAlan Modra1-1/+1
2004-02-272004-02-27 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-38/+135
* elflink.h (sort_symbol): New. (elf_link_add_object_symbols): Use a sorted symbol array for weakdef.
2004-02-27 * elf32-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCALMartin Schwidefsky3-14/+13
for pc relative relocs. (elf_s390_relocate_section): Likewise. * elf64-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for pc relative relocs. (elf_s390_relocate_section): Likewise.
2004-02-26daily updateAlan Modra1-1/+1
2004-02-262004-02-26 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-1/+6
* elfxx-ia64.c (elfNN_ia64_check_relocs): Fix call to count_dyn_reloc.
2004-02-262004-02-25 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-12/+19
* elfxx-ia64.c (elfNN_ia64_dyn_reloc_entry): Add the reltext. field to track if a relocation is against readonly section. (count_dyn_reloc): Take a new argument for rent->reltext. (elfNN_ia64_check_relocs): Adjust call to count_dyn_reloc. (get_reloc_section): Don't set ia64_info->reltext here. (allocate_dynrel_entries): Set ia64_info->reltext here.
2004-02-25daily updateAlan Modra1-1/+1