aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2011-05-12bfd/Jan Kratochvil6-0/+182
* config.in: Regenerated. * configure: Regenerated. * configure.in: New tests for HAVE_PRPSINFO_T_PR_PID, HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID and HAVE_PSINFO32_T_PR_PID. * elf.c (elfcore_grok_psinfo): Protect reading psinfo.pr_pid by HAVE_PRPSINFO_T_PR_PID, HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID and HAVE_PSINFO32_T_PR_PID. * hosts/x86-64linux.h (HAVE_PRPSINFO32_T_PR_PID): New redefinition.
2011-05-12daily updateAlan Modra1-1/+1
2011-05-11daily updateAlan Modra1-1/+1
2011-05-10bfd/Jan Kratochvil4-0/+13
* elf.c (elfcore_grok_psinfo): Initialize CORE_PID for both native and 32bit psinfo. * elf32-ppc.c (ppc_elf_grok_psinfo): Initialize core_pid. * elf64-ppc.c (ppc64_elf_grok_psinfo): Likewise.
2011-05-10daily updateAlan Modra1-1/+1
2011-05-092011-05-09 Paul Brook <paul@codesourcery.com>Paul Brook4-0/+486
bfd/ * bfd-in.h (elf32_tic6x_fix_exidx_coverage): Add prototype. * bfd-in2.h: Regenerate. * elf32-tic6x.c: Include limits.h. (tic6x_unwind_edit_type, tic6x_unwind_table_edit, _tic6x_elf_section_data): New. (elf32_tic6x_section_data): Define. (elf32_tic6x_new_section_hook): Allocate target specific data. (elf32_tic6x_add_unwind_table_edit): New function. (get_tic6x_elf_section_data, elf32_tic6x_adjust_exidx_size, elf32_tic6x_insert_cantunwind_after, elf32_tic6x_add_low31, elf32_tic6x_copy_exidx_entry): New functions. (elf_backend_write_section): Define. ld/ * emultempl/tic6xdsbt.em (merge_exidx_entries): New. (compare_output_sec_vma): New function. (gld${EMULATION_NAME}_after_allocation): New function. (OPTION_NO_MERGE_EXIDX_ENTRIES): Define. (PARSE_AND_LIST_OPTIONS): Add --no-merge-exidx-entries. (PARSE_AND_LIST_ARGS_CASES): Add OPTION_NO_MERGE_EXIDX_ENTRIES. (LDEMUL_AFTER_ALLOCATION): Set. * ld.texinfo: Document c6x --no-merge-exidx-entries. ld/testsuite/ * ld-tic6x/discard-unwind.ld: New. * ld-tic6x/unwind.ld: New. * ld-tic6x/unwind-1.d: New test. * ld-tic6x/unwind-1.s: New test. * ld-tic6x/unwind-2.d: New test. * ld-tic6x/unwind-2.s: New test. * ld-tic6x/unwind-3.d: New test. * ld-tic6x/unwind-3.s: New test. * ld-tic6x/unwind-4.d: New test. * ld-tic6x/unwind-4.s: New test. * ld-tic6x/unwind-5.d: New test. * ld-tic6x/unwind-5.s: New test. * ld-tic6x/unwind-6.d: New test.
2011-05-092011-05-09 Paul Brook <paul@codesourcery.com>Paul Brook2-0/+37
bfd/ * elf32-tic6x.c (is_tic6x_elf_unwind_section_name, elf32_tic6x_fake_sections): New functions. (elf_backend_fake_sections): Define. gas/ * config/tc-tic6x.c (streq): Define. (tic6x_get_unwind): New. (s_tic6x_cantunwind, s_tic6x_handlerdata, s_tic6x_endp, s_tic6x_personalityindex, s_tic6x_personality): New functions. (md_pseudo_table): Add "endp", "handlerdata", "personalityindex", "personality" and "cantunwind". (tic6x_regname_to_dw2regnum, tic6x_frame_initial_instructions, tic6x_start_unwind_section, tic6x_unwind_frame_regs, tic6x_pop_rts_offset_little, tic6x_pop_rts_offset_big, tic6x_unwind_reg_from_dwarf, tic6x_flush_unwind_word, tic6x_unwind_byte, tic6x_unwind_2byte, tic6x_unwind_uleb, tic6x_cfi_startproc, output_exidx_entry, tic6x_output_unwinding, tic6x_cfi_endproc): New. * config/tc-tic6x.h (TIC6X_NUM_UNWIND_REGS): Define. (tic6x_unwind_info): New. (tic6x_segment_info_type): Add marked_pr_dependency, unwind and text_unwind. (TARGET_USE_CFIPOP, tc_regname_to_dw2regnum, tc_cfi_frame_initial_instructions, DWARF2_DEFAULT_RETURN_COLUMN, DWARF2_CIE_DATA_ALIGNMENT, tc_cfi_startproc, tc_cfi_endproc, tc_cfi_section_name): Define. * doc/c-tic6x.texi: Document new unwinding directives. * dw2gencfi.c (tc_cfi_startproc, tc_cfi_endproc): Add default definitions. (cfi_insn_data, fde_entry, CFI_adjust_cfa_offset, CFI_return_column, CFI_rel_offset, CFI_escape, CFI_signal_frame, CFI_val_encoded_addr): Move to dw2gencfi.h. (CFI_EMIT_target): Define. (dot_cfi_sections): Check tc_cfi_section_name. (dot_cfi_startproc): Use tc_cfi_startproc. (dot_cfi_endproc): Use tc_cfi_endproc. * dw2gencfi.h (cfi_insn_data, fde_entry, CFI_adjust_cfa_offset, CFI_return_column, CFI_rel_offset, CFI_escape, CFI_signal_frame, CFI_val_encoded_addr): Move to here from dw2gencfi.c. gas/testsuite: * gas/tic6x/unwind-1.d: New test. * gas/tic6x/unwind-1.s: New test. * gas/tic6x/unwind-2.d: New test. * gas/tic6x/unwind-2.s: New test. * gas/tic6x/unwind-3.d: New test. * gas/tic6x/unwind-3.s: New test. * gas/tic6x/unwind-bad-1.d: New test. * gas/tic6x/unwind-bad-1.s: New test. * gas/tic6x/unwind-bad-1.l: New test. * gas/tic6x/unwind-bad-2.d: New test. * gas/tic6x/unwind-bad-2.s: New test. * gas/tic6x/unwind-bad-2.l: New test. include/ * elf/tic6x.h (ELF_STRING_C6000_unwind, ELF_STRING_C6000_unwind_info, ELF_STRING_C6000_unwind_once, ELF_STRING_C6000_unwind_info_once): Define.
2011-05-092011-05-09 Paul Brook <paul@codesourcery.com>Paul Brook2-0/+53
bfd/ * elf32-tic6x.c (elf32_tic6x_gc_mark_extra_sections): New function. (elf_backend_gc_mark_extra_sections): Define.
2011-05-09daily updateAlan Modra1-1/+1
2011-05-08daily updateAlan Modra1-1/+1
2011-05-07bfd/ChangeLog:Dave Korn2-0/+35
PR ld/12365 * cofflink.c (bfd_coff_link_input_bfd): Check for and warn about references to symbols defined in discarded sections. ld/ChangeLog: PR ld/12365 * scripttempl/pe.sc (__rt_psrelocs_start): New symbol definition. (__rt_psrelocs_end): Likewise. (__rt_psrelocs_size): Likewise difference between the above. (__RUNTIME_PSEUDO_RELOC_LIST_END__): Move outside .rdata section immediately after end of pseudo-reloc data. (___RUNTIME_PSEUDO_RELOC_LIST_END___): Likewise. (__RUNTIME_PSEUDO_RELOC_LIST__): Move outside .rdata section and calculate backward from list end. (___RUNTIME_PSEUDO_RELOC_LIST___): Likewise. * scripttempl/pep.sc: Likewise. ld/testsuite/ChangeLog: PR ld/12365 * ld-plugin/plugin-7.d: Allow underscore in error message. * ld-plugin/plugin-8.d: Likewise.
2011-05-07 PR ld/12365Dave Korn2-4/+16
* coffgen.c (coff_write_symbol): Assume input section is its own output section if output_section member not set. (coff_write_alien_symbol): Likewise.
2011-05-07Reverse copy .ctors/.dtors sections if needed.H.J. Lu5-16/+91
bfd/ 2011-05-07 H.J. Lu <hongjiu.lu@intel.com> PR ld/12730 * elf.c (_bfd_elf_section_offset): Check SEC_ELF_REVERSE_COPY. * elflink.c (elf_link_input_bfd): Reverse copy .ctors/.dtors sections if needed. * section.c (SEC_ELF_REVERSE_COPY): New. * bfd-in2.h: Regenerated. ld/testsuite/ 2011-05-07 H.J. Lu <hongjiu.lu@intel.com> PR ld/12730 * ld-elf/elf.exp (array_tests): Add "pr12730". (array_tests_pie): New. (array_tests_static): Add -static for "static init array mixed". Add "static pr12730". Run array_tests_pie for Linux. * ld-elf/init-mixed.c (ctor1007): Renamed to ... (ctor1007a): This. (ctor1007b): New. (ctors1007): Remove ctor1007. Add ctor1007b and ctor1007a. (dtor1007): Renamed to ... (dtor1007a): This. (dtor1007b): New. (dtors1007): Remove dtor1007. Add dtor1007b and dtor1007a. (ctor65535): Renamed to ... (ctor65535a): This. (ctor65535b): New. (ctors65535): Remove ctor65535. Add ctor65535b and ctor65535a. (dtor65535): Renamed to ... (dtor65535a): This. (dtor65535b): New. (dtors65535): Remove dtor65535. Add dtor65535b and dtor65535a. * ld-elf/pr12730.cc: New. * ld-elf/pr12730.out: Likewise.
2011-05-07 PR 12739Alan Modra3-4/+10
* libbfd.c (bfd_get_8, bfd_get_signed_8): Use const cast. * bfd-in2.h: Regenerate.
2011-05-07daily updateAlan Modra1-1/+1
2011-05-062011-05-06 Tristan Gingold <gingold@adacore.com>Tristan Gingold2-17/+59
* vms-alpha.c (evax_section_flags): Remove SEC_IN_MEMORY. (_bfd_vms_slurp_egsd): Rename old_flags to vms_flags. Handle any code section. Add comments. (alpha_vms_object_p): Use void * instead of PTR. (alpha_vms_create_eisd_for_section): Fix test for setting DZRO. (build_module_list): Guard against no DST section. Add comments. (alpha_vms_link_output_symbol): Discard undefined symbols. (alpha_vms_get_section_contents): Simply memcpy if the section was already loaded. Fix typo. (vms_new_section_hook): Use void * instead of PTR. (vms_alpha_vec): Ditto.
2011-05-06bfd/Richard Sandiford2-1/+12
* elf32-arm.c (cortex_a8_erratum_scan): If the stub is a Thumb branch to a PLT entry, redirect it to the PLT's Thumb entry point. ld/testsuite/ * ld-arm/cortex-a8-fix-b-plt.s, ld-arm/cortex-a8-fix-b-plt.d, ld-arm/cortex-a8-fix-bcc-plt.s, ld-arm/cortex-a8-fix-bcc-plt.d, ld-arm/cortex-a8-fix-bl-plt.s, ld-arm/cortex-a8-fix-bl-plt.d, ld-arm/cortex-a8-fix-blx-plt.s, ld-arm/cortex-a8-fix-blx-plt.d, ld-arm/cortex-a8-fix-plt.ld: New tests. * ld-arm/arm-elf.exp: Run them.
2011-05-06daily updateAlan Modra1-1/+1
2011-05-05bfd/Bernd Schmidt2-17/+37
* elf32-tic6x.c (elf32_tic6x_final_link): New function. (elf32_tic6x_merge_attributes): Do not warn for PID or PIC mismatch. Choose the lower of the two values. (bfd_elf32_bfd_final_link): New macro. ld/testsuite/ * ld-tic6x/shared-nopic.d: New test. * ld-tic6x/shared-nopid.d: New test. * ld-tic6x/attr-pid-21.d: Don't expect a warning; check readelf output instead. * ld-tic6x/attr-pid-12.d: Likewise. * ld-tic6x/attr-pic-01.d: Likewise. * ld-tic6x/attr-pic-10.d: Likewise. * ld-tic6x/attr-pid-01.d: Likewise. * ld-tic6x/attr-pid-10.d: Likewise. * ld-tic6x/attr-pid-02.d: Likewise. * ld-tic6x/attr-pid-20.d: Likewise. * ld-tic6x/got-reloc-inrange.d: Pass -mpic and -mpid options to gas.
2011-05-05daily updateAlan Modra1-1/+1
2011-05-04include/coffTristan Gingold3-13/+23
2011-05-04 Tristan Gingold <gingold@adacore.com> * rs6000.h (union external_auxent): Add x_ftype field. * rs6k64.h: (struct external_auxent): Remap x_file field. bfd/ 2011-04-28 Tristan Gingold <gingold@adacore.com> * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Adjust for x_file. (bfd_xcoff_swap_aux_out): Ditto. * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Ditto. (bfd_xcoff64_swap_aux_out): Ditto.
2011-05-04 PR ld/12727Alan Modra2-0/+8
* elf64-ppc.c (ppc_build_one_stub <ppc_sub_plt_call>): Clear was_undefined on dot-symbols.
2011-05-04daily updateAlan Modra1-1/+1
2011-05-032011-05-03 Paul Brook <paul@codesourcery.com>Paul Brook2-2/+37
bfd/ * elf32-tic6x.c (elf32_tic6x_howto_table, elf32_tic6x_howto_table_rel, (elf32_tic6x_gc_sweep_hook, elf32_tic6x_relocate_section, elf32_tic6x_check_relocs): Add R_C6000_EHTYPE. gas/ * config/tc-tic6x.c (s_ehtype): New function. (md_pseudo_table): Add "ehtype". (tic6x_fix_adjustable, md_apply_fix): BFD_RELOC_C6000_EHTYPE. * doc/c-tic6x.texi: Document .ehtype directive. ld/testsuite/ * ld-tic6x/ehtype-reloc-1-rel.d: New test. * ld-tic6x/ehtype-reloc-1.d: New test. * ld-tic6x/ehtype-reloc-1.s: New test.
2011-05-03daily updateAlan Modra1-1/+1
2011-05-02daily updateAlan Modra1-1/+1
2011-05-01 PR ld/12718Alan Modra3-2/+13
* elf32-i386.c (elf_i386_check_relocs): Ensure dynobj set before creating ifunc sections. * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2011-05-01daily updateAlan Modra1-1/+1
2011-04-30Correct parameter names for elf_x86_64_merge_symbol.H.J. Lu2-6/+11
2011-04-30 H.J. Lu <hongjiu.lu@intel.com> * elf64-x86-64.c (elf_x86_64_merge_symbol): Correct parameter names.
2011-04-30daily updateAlan Modra1-1/+1
2011-04-29daily updateAlan Modra1-1/+1
2011-04-28 * bfdio.c (memory_bstat): Pass correct size to memset.Tom Tromey2-2/+6
2011-04-28bfd: constify a few arraysMike Frysinger5-4/+11
2011-04-28daily updateAlan Modra1-1/+1
2011-04-27daily updateAlan Modra1-1/+1
2011-04-26 * dw2gencfi.c (dwcfi_seg_list): New struct.Nick Clifton2-1/+9
(dwcfi_hash): New static hash variable. (get_debugseg_name): New. (alloc_debugseg_item): New. (make_debug_seg): New. (dwcfi_hash_insert): New. (dwcfi_hash_find): New. (dwcfi_hash_find_or_make): New. (cfi_insn_data): New member cur_seg. (cie_entry): Likewise. (fde_entry): New cseg and handled members. (alloc_fde_entry): Initialize cseg member. (alloc_cfi_insn_data): Initialize cur_seg member. (dot_cfi_sections): Compare for beginning of section names via strncmp. (get_cfi_seg): New. (cfi_finish): Treat link-once sections. (is_now_linkonce_segment): New local helper. (output_cie): Ignore cie entries not member of current segment. (output_fde): Likewise. (select_cie_for_fde): Likewise. (cfi_change_reg_numbers): Add new argument for current segment and ignore insn elements, if not part of current segment. * ehopt.c (get_cie_info): Use strncmp for section name matching. (heck_eh_frame): Likewise. * coffcode.h (sec_to_styp_flags): Allow linkonce for debugging sections. * scripttempl/pe.sc: Handle .eh_frame($|.)* sections. * scripttempl/pep.sc: Likewise. * ld-pe/pe.exp: Add cfi/cfi32 tests. * ld-pe/cfi.d: New. * ld-pe/cfi32.d: New. * ld-pe/cfia.s: New. * ld-pe/cfib.s: New.
2011-04-262011-04-26 Tristan Gingold <gingold@adacore.com>Tristan Gingold2-215/+143
* coff64-rs6000.c: Convert to ISO-C. Remove PARAMS and PTR macros.
2011-04-26daily updateAlan Modra1-1/+1
2011-04-25daily updateAlan Modra1-1/+1
2011-04-24 PR ld/12365Alan Modra4-9/+19
PR ld/12696 include/ * bfdlink.h (ENUM_BITFIELD): Define. (struct bfd_link_hash_entry): Make "type" a bitfield. Add "non_ir_ref". (struct bfd_link_callbacks <notice>): Pass bfd_link_hash_entry pointer rather than "name". bfd/ * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Update "notice" call. * linker.c (_bfd_link_hash_newfunc): Clear bitfields. (_bfd_generic_link_add_one_symbol): Update "notice" call. * elflink.c (_bfd_elf_merge_symbol): Don't skip weak redefs when it is a redef of an IR symbol in a real BFD. ld/ * ldmain.c (notice): Delete "name" param, add "h". * plugin.c (plugin_notice): Likewise. Set non_ir_ref. Handle redefinitions of IR symbols in real BFDs. (plugin_multiple_definition, plugin_multiple_common): Delete. (non_ironly_hash, init_non_ironly_hash): Delete. (is_visible_from_outside): Traverse entry_symbol chain. (get_symbols): Use non_ir_ref flag rather than hash lookup.
2011-04-24daily updateAlan Modra1-1/+1
2011-04-23Warn relocation in readonly section in a shared object.H.J. Lu3-2/+32
2011-04-22 H.J. Lu <hongjiu.lu@intel.com> * elf32-i386.c (elf_i386_readonly_dynrelocs): Warn relocation in readonly section in a shared object. (elf_i386_size_dynamic_sections): Likewise. * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise. (elf_x86_64_size_dynamic_sections): Likewise.
2011-04-23daily updateAlan Modra1-1/+1
2011-04-22daily updateAlan Modra1-1/+1
2011-04-21Skip local IFUNC symbols when checking dynamic relocs in read-only sections.H.J. Lu3-0/+15
bfd/ 2011-04-21 H.J. Lu <hongjiu.lu@intel.com> PR ld/12694 * elf32-i386.c (elf_i386_readonly_dynrelocs): Skip local IFUNC symbols. * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise. ld/testsuite/ 2011-04-21 H.J. Lu <hongjiu.lu@intel.com> PR ld/12694 * ld-ifunc/ifunc-14-i386.d: New. * ld-ifunc/ifunc-14-x86-64.d: Likewise. * ld-ifunc/ifunc-14a.s: Likewise. * ld-ifunc/ifunc-14b.s: Likewise.
2011-04-21Return false on dynamic symbol error.H.J. Lu3-2/+8
2011-04-21 H.J. Lu <hongjiu.lu@intel.com> * elf32-i386.c (elf_i386_finish_dynamic_symbol): Return false on dynamic symbol error. * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
2011-04-21daily updateAlan Modra1-1/+1
2011-04-202011-04-20 Tristan Gingold <gingold@adacore.com>Tristan Gingold2-0/+6
* config.bfd (alpha*-*-*vms*, ia64*-*-*vms*): Define targ_selvecs.
2011-04-20bfd/Alan Modra4-11/+27
* hash.c (bfd_default_hash_table_size): Make it an unsigned long. (bfd_hash_table_init_n): Overflow checking. (bfd_hash_set_default_size): Return current size. Take unsigned long arg. Add 65537 to hash_size primes. * bfd-in.h (bfd_hash_set_default_size): Update prototype. * bfd-in2.h: Regenerate. gas/ * hash.c (set_gas_hash_table_size): Use bfd_hash_set_default_size. (hash_new_sized): New function, split out from.. (hash_new): ..here. ld/ * ld.h (ld_config_type <hash_table_size>): Make it an unsigned long.
2011-04-20bfd/Jan Kratochvil2-1/+6
* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Fix +1 overrun of memmove elements.