aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2005-01-25bfd/ChangeLog:Alexandre Oliva5-215/+2550
2004-12-10 Alexandre Oliva <aoliva@redhat.com> * elf32-frv.c (elf32_frv_relocate_section): Force local binding for TLSMOFF. * reloc.c: Add R_FRV_TLSMOFF. * elf32-frv.c (elf32_frv_howto_table): Likewise. (frv_reloc_map, frv_reloc_type_lookup): Map it. (elf32_frv_relocate_section): Handle it. (elf32_frv_check_relocs): Likewise. * libbfd.h, bfd-in2.h: Rebuilt. 2004-11-26 Alexandre Oliva <aoliva@redhat.com> * elf32-frv.c (_frvfdpic_emit_got_relocs_plt_entries): Don't crash when given an undefweak TLS symbol. Fix constant TLS PLT entries such that they return the constant in gr9. (_frvfdpic_relax_tls_entries): Don't crash for undefweak TLS symbols. (_frvfdpic_size_got_plt): Set _cooked_size of dynamic sections. too, such that they shrink on relaxation. (elf32_frvfdpic_finish_dynamic_sections): Check __ROFIXUP_END__ as marking the position right past the _GLOBAL_OFFSET_TABLE_ value. (_frvfdpic_assign_plt_entries): Shrink constant TLS PLT entries if we can guarantee the use of 16-bit constants. 2004-11-10 Alexandre Oliva <aoliva@redhat.com> Introduce TLS support for FR-V FDPIC. * reloc.c: Add TLS relocations. * elf32-frv.c (elf32_frv_howto_table): Add TLS relocations. (elf32_frv_rel_tlsdesc_value_howto): New. (elf32_frv_rel_tlsoff_howto): New. (frv_reloc_map): Add new mappings. (struct frvfdpic_elf_link_hash_table): Add pointer to summary reloc information. (frvfdpic_dynamic_got_plt_info): New. (frvfdpic_plt_tls_ret_offset): New. (ELF_DYNAMIC_INTERPRETER, DEFAULT_STACK_SIZE): Move earlier. (struct _frvfdpic_dynamic_got_info): Likewise. Add TLS members. (struct _frvfdpic_dynamic_got_plt_info): Likewise. (FRVFDPIC_SYM_LOCAL): Regard symbols defined in the absolute section as local. (struct frvfdpic_relocs_info): Add TLS fields. (frvfdpic_relocs_info_hash): Warning clean up. (frvfdpic_relocs_info_find): Initialize tlsplt_entry. (frvfdpic_pic_merge_early_relocs_info): Merge TLS fields. (FRVFDPIC_TLS_BIAS): Define. (tls_biased_base): New. (_frvfdpic_emit_got_relocs_plt_entries): Deal with TLS relocations. (frv_reloc_type_lookup): Likewise. (frvfdpic_info_to_howto_rel): Likewise. (elf32_frv_relocate_section): Likewise. (_frv_create_got_section): Create the PLT section here. (elf32_frvfdpic_create_dynamic_sections): Not here. (_frvfdpic_count_nontls_entries): Move out of... (_frvfdpic_count_got_plt_entries): ... here. (_frvfdpic_count_tls_entries): Likewise. Add TLS support. (_frvfdpic_count_relocs_fixups): Likewise. Add relaxation support. (_frvfdpic_relax_tls_entries): New. (_frvfdpic_compute_got_alloc_data): Add TLS support. (_frvfdpic_get_tlsdesc_entry): New. (_frvfdpic_assign_got_entries): Add TLS support. (_frvfdpic_assign_plt_entries): Likewise. (_frvfdpic_reset_got_plt_entries): New. (_frvfdpic_size_got_plt): Move out of... (elf32_frvfdpic_size_dynamic_sections): ... here. (_frvfdpic_relax_got_plt_entries): New. (elf32_frvfdpic_relax_section): New. (elf32_frvfdpic_finish_dynamic_sections): Add TLS sanity check. (elf32_frv_check_relocs): Add TLS support. (bfd_elf32_bfd_relax_section): Define for FDPIC. * libbfd.h, bfd-in2.h: Rebuilt. cpu/ChangeLog: 2004-11-10 Alexandre Oliva <aoliva@redhat.com> * frv.cpu: Add support for TLS annotations in loads and calll. * frv.opc (parse_symbolic_address): New. (parse_ldd_annotation): New. (parse_call_annotation): New. (parse_ld_annotation): New. (parse_ulo16, parse_uslo16): Use parse_symbolic_address. Introduce TLS relocations. (parse_d12, parse_s12, parse_u12): Likewise. (parse_uhi16): Likewise. Fix constant checking on 64-bit host. (parse_call_label, print_at): New. gas/ChangeLog: * config/tc-frv.c (md_apply_fix3): Mark TLS symbols as such. 2004-12-10 Alexandre Oliva <aoliva@redhat.com> * config/tc-frv.c (frv_pic_ptr): Add tlsmoff support. 2004-11-10 Alexandre Oliva <aoliva@redhat.com> * cgen.c (gas_cgen_parse_operand): Handle CGEN_PARSE_OPERAND_SYMBOLIC. * config/tc-frv.c (md_cgen_lookup_reloc): Handle TLS relocations. (frv_force_relocation): Likewise. Fix handling of PIC relocations. (md_apply_fix3): Likewise. include/elf/ChangeLog: 2004-12-10 Alexandre Oliva <aoliva@redhat.com> * frv.h: Add R_FRV_TLSMOFF. 2004-11-10 Alexandre Oliva <aoliva@redhat.com> * frv.h: Add TLS relocations. include/opcode/ChangeLog: 2004-11-10 Alexandre Oliva <aoliva@redhat.com> * cgen.h (enum cgen_parse_operand_type): Add CGEN_PARSE_OPERAND_SYMBOLIC. ld/testsuite/ChangeLog: * ld-frv/fdpic.exp: Add -mfdpic to ASFLAGS. * ld-frv/tls.exp: Likewise. 2004-11-26 Alexandre Oliva <aoliva@redhat.com> * ld-frv/tls-3.s: New. * ld-frv/tls-static-3.d: New. * ld-frv/tls-dynamic-3.d: New. * ld-frv/tls-pie-3.d: New. * ld-frv/tls-shared-3.d: New. * ld-frv/tls-relax-static-3.d: New. * ld-frv/tls-relax-dynamic-3.d: New. * ld-frv/tls-relax-pie-3.d: New. * ld-frv/tls-relax-shared-3.d: New. * ld-frv/tls.exp: Run the new tests. * ld-frv/tls-dynamic-2.d: Adjust for improved relaxation. * ld-frv/tls-relax-dynamic-2.d: Likewise. * ld-frv/tls-relax-initial-shared-2.d: Likewise. 2004-11-10 Alexandre Oliva <aoliva@redhat.com> * ld-frv/tls-1-dep.s: New. * ld-frv/tls-1-shared.lds: New. * ld-frv/tls-1.s: New. * ld-frv/tls-2.s: New. * ld-frv/tls-dynamic-1.d: New. * ld-frv/tls-dynamic-2.d: New. * ld-frv/tls-initial-shared-2.d: New. * ld-frv/tls-pie-1.d: New. * ld-frv/tls-relax-dynamic-1.d: New. * ld-frv/tls-relax-dynamic-2.d: New. * ld-frv/tls-relax-initial-shared-2.d: New. * ld-frv/tls-relax-pie-1.d: New. * ld-frv/tls-relax-shared-1.d: New. * ld-frv/tls-relax-shared-2.d: New. * ld-frv/tls-relax-static-1.d: New. * ld-frv/tls-shared-1-fail.d: New. * ld-frv/tls-shared-1.d: New. * ld-frv/tls-shared-2.d: New. * ld-frv/tls-static-1.d: New. * ld-frv/tls.exp: New. * ld-frv/fdpic-pie-1.d: Adjust for 64-bit host. * ld-frv/fdpic-pie-2.d: Likewise. * ld-frv/fdpic-pie-6.d: Likewise. * ld-frv/fdpic-pie-7.d: Likewise. * ld-frv/fdpic-pie-8.d: Likewise. * ld-frv/fdpic-shared-1.d: Likewise. * ld-frv/fdpic-shared-2.d: Likewise. * ld-frv/fdpic-shared-3.d: Likewise. * ld-frv/fdpic-shared-4.d: Likewise. * ld-frv/fdpic-shared-5.d: Likewise. * ld-frv/fdpic-shared-6.d: Likewise. * ld-frv/fdpic-shared-7.d: Likewise. * ld-frv/fdpic-shared-8.d: Likewise. * ld-frv/fdpic-shared-local-2.d: Likewise. * ld-frv/fdpic-shared-local-8.d: Likewise. * ld-frv/fdpic-static-1.d: Likewise. * ld-frv/fdpic-static-2.d: Likewise. * ld-frv/fdpic-static-6.d: Likewise. * ld-frv/fdpic-static-7.d: Likewise. * ld-frv/fdpic-static-8.d: Likewise. opcodes/ChangeLog: 2004-11-10 Alexandre Oliva <aoliva@redhat.com> * frv-asm.c: Rebuilt. * frv-desc.c: Rebuilt. * frv-desc.h: Rebuilt. * frv-dis.c: Rebuilt. * frv-ibld.c: Rebuilt. * frv-opc.c: Rebuilt. * frv-opc.h: Rebuilt.
2005-01-25bfd/Alan Modra2-18/+30
* elf.c (_bfd_elf_get_dynamic_reloc_upper_bound): Only include loadable reloc sections. (_bfd_elf_canonicalize_dynamic_reloc): Likewise. (_bfd_elf_get_synthetic_symtab): Return 0 if no dynamic syms. binutils/ * nm.c (display_rel_file): Read dynamic syms before calling bfd_get_synthetic_symtab.
2005-01-25bfd/Alan Modra2-37/+61
* elflink.c (elf_link_add_object_symbols): Don't create link dynamic sections immediately when linking shared libs. Instead, wait until we know a lib is needed. (_bfd_elf_link_create_dynstrtab): Extract from.. (_bfd_elf_link_create_dynamic_sections_): ..here. (elf_add_dt_needed_tag): Call _bfd_elf_link_create_dynstrtab and _bfd_elf_link_create_dynamic_sections. Add abfd param. Allow for non-existent .dynamic. (elf_link_output_extsym): Don't complain about undefined symbols in as-needed dynamic libs that aren't actually linked. ld/ * emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Formatting. (gld${EMULATION_NAME}_after_open): Ignore needed libs if they were only needed by an as-needed lib that didn't get linked.
2005-01-24daily updateAlan Modra1-1/+1
2005-01-242005-01-24 Andrew Cagney <cagney@gnu.org>Andrew Cagney2-2/+8
* gettext.m4: Only fall back to ../intl/ when it's present.
2005-01-23daily updateAlan Modra1-1/+1
2005-01-22daily updateAlan Modra1-1/+1
2005-01-21daily updateAlan Modra1-1/+1
2005-01-21 * aout-encap.c: Remove unused file.Ben Elliston2-239/+4
2005-01-20daily updateAlan Modra1-1/+1
2005-01-19daily updateAlan Modra1-1/+1
2005-01-192005-01-19 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-1/+12
PR 679 * elflink.c (_bfd_elf_dynamic_symbol_p): Only protected non-function symbols are local. (_bfd_elf_symbol_refs_local_p): Likewise.
2005-01-18daily updateAlan Modra1-1/+1
2005-01-18bfd/Alan Modra3-3/+8
* bfd.c (bfd_link_just_syms): Add abfd param. * bfd-in2.h: Regenerate. ld/ * ldlang.c (section_already_linked): Adjust bfd_link_just_syms call. (lang_place_orphans): Don't abort on just_syms_flag, instead call bfd_link_just_syms.
2005-01-17daily updateAlan Modra1-1/+1
2005-01-17 * elf-eh-frame.c (skip_cfa_op, skip_non_nops): New functions.Richard Sandiford2-4/+128
(_bfd_elf_discard_section_eh_frame): Use them to interpret the CFA instructions. If the amount of padding is known, reduce the size of the CIE or FDE by that amount.
2005-01-17 * elf-bfd.h (struct cie): Use bfd_vmas for code_align, ra_column andRichard Sandiford3-56/+143
augmentation_size. Use bfd_signed_vmas for data_align. * elf-eh-frame.c (read_uleb128, read_sleb128): Delete in favor of... (read_byte, skip_leb128, read_uleb128, read_sleb128): ...these new functions. Don't read past the end of the enclosing CIE or FDE. (skip_bytes): New utility function. (_bfd_elf_discard_section_eh_frame): Use new functions, adding more sanity checking. (_bfd_elf_write_section_eh_frame): Use new functions.
2005-01-17 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use anRichard Sandiford2-45/+42
assert-style REQUIRE() macro to handle sanity checks.
2005-01-172005-01-17 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu6-126/+93
* dwarf2.c (dwarf2_debug): Move info_ptr_unit to ... (comp_unit): Here. (read_unsigned_leb128): Removed. (read_signed_leb128): Removed. (find_abstract_instance_name): Updated. (parse_comp_unit): Accept info_ptr_unit. (_bfd_dwarf2_find_nearest_line): Set info_ptr_unit for each comp unit and pass it to parse_comp_unit. * elf-eh-frame.c (read_unsigned_leb128): Moved to ... (read_signed_leb128): Moved to ... * libbfd.c: Here. * libbfd-in.h (read_unsigned_leb128): New prototype. (read_signed_leb128): Likewise. * libbfd.h: Regenerated.
2005-01-17Fix SH2A machine variants in order to correctly select instruction inheritanceNick Clifton4-127/+204
2005-01-16daily updateAlan Modra1-1/+1
2005-01-15daily updateAlan Modra1-1/+1
2005-01-152005-01-15 Andrew Cagney <cagney@gnu.org>Andrew Cagney4-153/+244
* bfd.m4: New file. * acinclude.m4: Move BFD_NEED_DECLARATION, BFD_HAVE_SYS_PROCFS_TYPE and BFD_HAVE_SYS_PROCFS_TYPE_MEMBER to the new file bfd.m4. Include ../bfd/bfd.m4. * configure: Re-generate.
2005-01-14daily updateAlan Modra1-1/+1
2005-01-13daily updateAlan Modra1-1/+1
2005-01-12daily updateAlan Modra1-1/+1
2005-01-12include/elf/Alan Modra2-29/+29
* ppc.h (R_PPC_RELAX32_PLT, R_PPC_RELAX32PC_PLT): Define. (R_PPC_RELAX32, R_PPC_RELAX32PC): Adjust value. bfd/ * elf32-ppc.c (ppc_elf_howto_raw): Delete RELAX32* entries. (ppc_elf_relax_section): Use PLT variants of RELAX32 relocs for reaching PLT. (ppc_elf_relocate_section): Handle R_PPC_RELAX32_PLT and R_PPC_RELAX32PC_PLT.
2005-01-11daily updateAlan Modra1-1/+1
2005-01-11 * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Follow indirect and warningAlan Modra16-128/+200
symbols. * elf32-arm.c (elf32_arm_gc_sweep_hook): Likewise. * elf32-cris.c (cris_elf_gc_sweep_hook): Likewise. * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise. * elf32-i386.c (elf_i386_gc_sweep_hook): Likewise. * elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise. * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise. * elf32-ppc.c (ppc_elf_gc_sweep_hook): Likewise. * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise. * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise. * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise. * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise. * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise. * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise. * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
2005-01-11 * elf32-ppc.c (ppc_elf_create_dynamic_sections): CorrectAlan Modra2-2/+7
.dynsbss flags.
2005-01-10daily updateAlan Modra1-1/+1
2005-01-10Add support for maxq10 and maxq20 machine valuesNick Clifton5-17/+67
2005-01-10 * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): When linking aEric Botcazou2-1/+11
non-shared object, do not reserve space in .plt and .rela.plt for regular symbols neither defined nor referenced in shared objects.
2005-01-09daily updateAlan Modra1-1/+1
2005-01-09 * elf32-sparc.c (elf32_sparc_link_hash_table_create): Use bfd_zmallocEric Botcazou2-16/+11
to zero the structure. (create_got_section): Use BFD_ASSERT instead of abort.
2005-01-09 * elf64-sparc.c (struct sparc64_elf_link_hash_table): New 'sgot' andEric Botcazou2-25/+86
'srelgot' fields. (create_got_section): New function. (sparc64_elf_create_dynamic_sections): Likewise. (sparc64_elf_check_relocs): Invoke create_got_section instead of _bfd_elf_create_got_section. Use the sgot and srelgot shortcuts. (sparc64_elf_size_dynamic_sections): Use the srelgot shortcut. (sparc64_elf_relocate_section): Use the sgot and srelgot shortcuts. (sparc64_elf_finish_dynamic_symbol): Likewise. (sparc64_elf_finish_dynamic_sections): Use the sgot shortcut. (elf_backend_create_dynamic_sections): Define to sparc64_elf_create_dynamic_sections.
2005-01-09 * elf32-sparc.c (elf32_sparc_omit_section_dynsym): New function.Eric Botcazou3-0/+48
(elf_backend_omit_section_dynsym): Define to it. * elf64-sparc.c (sparc64_elf_omit_section_dynsym): New function. (elf_backend_omit_section_dynsym): Define to it.
2005-01-08daily updateAlan Modra1-1/+1
2005-01-07daily updateAlan Modra1-1/+1
2005-01-07 * bfd/elf.c (INCLUDE_SECTION_IN_SEGMENT): Don't put empty sections intoJakub Jelinek2-1/+15
PT_DYNAMIC segment, unless .dynamic.
2005-01-06daily updateAlan Modra1-1/+1
2005-01-062005-01-06 Paul Brook <paul@codesourcery.com>Paul Brook6-265/+279
bfd/ * config.bfd: Add entry for arm-*-vxworks and arm-*-windiss. * configure.in: Add bfd_elf32_{big,little}arm_vxworks_vec. * configure: Regenerate. * elf32-arm.c: Add VxWorks target bfd. (USE_REL): Remove. (elf32_arm_link_hash_table): Add use_rel. (elf32_arm_link_hash_table_create, elf32_arm_final_link_relocate, elf32_arm_relocate_section): Replace USE_REL with runtime check. Correct offset calculation for RELA case. (elf_backend_may_use_rel_p, elf_backend_may_use_rela_p, elf_backend_default_use_rela_p, elf_backend_rela_normal): Define. (elf32_arm_vxworks_link_hash_table_create): New function. * targets.c (bfd_elf32_bigarm_vxworks_vec): Add declaration. (bfd_elf32_littlearm_vxworks_vec): Ditto. (_bfd_target_vector): Add bfd_elf32_{big,little}arm_vxworks_vec. gas/ * config/tc-arm.c (FPU_DEFAULT): Define for TE_VXWORKS. (md_begin): Handle TE_VXWORKS for FP defaults. (md_apply_fix3): Correct rela offsets. (elf32_arm_target_format): Add VxWorks targets. ld/ * Makefie.am: Add earmelf_vxworks. * Makefile.in: Regenerate. * configure.tgt: Make arm-*-vxworks a separate case. * emulparams/armelf_vxworks.sh: New function.
2005-01-06bfd/Alan Modra6-58/+241
* elf64-ppc.c (struct ppc_link_hash_table): Add no_multi_toc and multi_toc_needed. (has_toc_reloc, makes_toc_func_call, call_check_in_progress): Define. (ppc64_elf_check_relocs): Update references to has_gp_reloc. (ppc64_elf_setup_section_lists): Add no_multi_toc parm, set htab bit. (ppc64_elf_next_toc_section): Heed no_multi_toc. (ppc64_elf_reinit_toc): Set multi_toc_needed. (toc_adjusting_stub_needed): Rewrite. (ppc64_elf_next_input_section): Use multi_toc_needed to shortcut toc tests. Adjust for toc_adjusting_stub_needed changes. (ppc64_elf_size_stubs): Update references to has_gp_reloc. * elf64-ppc.h (ppc64_elf_setup_section_lists): Update prototype. * section.c: Expand comment on backend bits. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. ld/ * emultempl/ppc64elf.em (no_multi_toc): New var. (gld${EMULATION_NAME}_finish): Pass to ppc64_elf_setup_section_lists. (OPTION_NO_MULTI_TOC): Define. (PARSE_AND_LIST_LONGOPTS): Add --no-multi-toc support. (PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Likewise.
2005-01-06 * elf64-ppc.c (ppc64_elf_size_stubs): When determining need forAlan Modra2-2/+6
toc adjusting stub, do not test source section flags.
2005-01-05daily updateAlan Modra1-1/+1
2005-01-05 * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflowsEric Botcazou2-3/+12
from STABS debugging sections again.
2005-01-05Approved by nickc@redhat.com:Fred Fish2-1/+55
2005-01-05 Fred Fish <fnf@specifixinc.com> * dwarf2.c (struct dwarf2_debug): Add info_ptr_unit member. (find_abstract_instance_name): New function. (scan_unit_for_functions): Handle DW_TAG_inlined_subroutine. (scan_unit_for_functions): Handle DW_AT_abstract_origin. (_bfd_dwarf2_find_nearest_line): Initialize info_ptr_unit.
2005-01-04daily updateAlan Modra1-1/+1
2005-01-03daily updateAlan Modra1-1/+1
2005-01-02daily updateAlan Modra1-1/+1