aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2007-12-02daily updateAlan Modra1-1/+1
2007-12-01daily updateAlan Modra1-1/+1
2007-11-30daily updateAlan Modra1-1/+1
2007-11-30bfd/Richard Sandiford2-1/+7
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use the ELF header to choose between 32-bit and 64-bit relocation structures.
2007-11-29daily updateAlan Modra1-1/+1
2007-11-29 bfd/Mark Shinwell5-1/+40
* archures.c (bfd_mach_mips_loongson_2e): New. (bfd_mach_mips_loongson_2f): New. * bfd-in2.h (bfd_mach_mips_loongson_2e): New. (bfd_mach_mips_loongson_2f): New. * cpu-mips.c: Add I_loongson_2e and I_loongson_2f to anonymous enum. (arch_info_struct): Add Loongson-2E and Loongson-2F entries. * elfxx-mips.c (_bfd_elf_mips_mach): Handle Loongson-2E and Loongson-2F flags. (mips_set_isa_flags): Likewise. (mips_mach_extensions): Add Loongson-2E and Loongson-2F entries. binutils/ * readelf.c (get_machine_flags): Handle Loongson-2E and -2F flags. gas/ * config/tc-mips.c (mips_cpu_info_table): Add loongson2e and loongson2f entries. * doc/c-mips.texi: Document -march=loongson{2e,2f} options. gas/testsuite/ * gas/mips/mips.exp: Add loongson-2e and -2f tests. * gas/mips/loongson-2e.d: New. * gas/mips/loongson-2e.s: New. * gas/mips/loongson-2f.d: New. * gas/mips/loongson-2f.s: New. include/elf/ * mips.h (E_MIPS_MACH_LS2E): New. (E_MIPS_MACH_LS2F): New. include/opcode/ * mips.h (INSN_LOONGSON_2E): New. (INSN_LOONGSON_2F): New. (CPU_LOONGSON_2E): New. (CPU_LOONGSON_2F): New. (OPCODE_IS_MEMBER): Update for Loongson-2E and -2F flags. opcodes/ * mips-dis.c (mips_arch_choices): Add Loongson-2E and -2F entries. * mips-opc.c (IL2E): New. (IL2F): New. (mips_builtin_opcodes): Add Loongson-2E and -2F instructions. Allow movz and movn for Loongson-2E and -2F. Add movnz entry. Move coprocessor encodings to the end of the table. Allow certain MIPS V .ps instructions on the Loongson-2E and -2F.
2007-11-29PR ld/5398Nick Clifton2-4/+16
* elf32-arm.c (bfd_elf32_arm_process_before_allocation): Do not complain if there is no glue bfd, just return.
2007-11-28daily updateAlan Modra1-1/+1
2007-11-28* elf-m10300.c (mn10300_elf_relax_section): Extend previous fix to cover ↵Nick Clifton2-2/+7
forward jumps. * ld-mn10300/i135409-5.s: New test case. Check for relaxation to a 16-bit backward jump instruction. * ld-mn10300/i135409-5.t: Linker script for the new test. * ld-mn10300/i135409-5.d: Expected disassembly of new test. * ld-mn10300/mn10300.exp: Run the new test.
2007-11-27daily updateAlan Modra1-1/+1
2007-11-26daily updateAlan Modra1-1/+1
2007-11-25daily updateAlan Modra1-1/+1
2007-11-24daily updateAlan Modra1-1/+1
2007-11-23daily updateAlan Modra1-1/+1
2007-11-22daily updateAlan Modra1-1/+1
2007-11-21daily updateAlan Modra1-1/+1
2007-11-21* elf-m10300.c (mn10300_elf_relax_section): Allow for alignment relocs whenNick Clifton2-1/+37
computing whether instructions can be relaxed. * ld-mn10300/i135409-4.s: New test case. Check for relaxation to a 16-bit jump instruction. * ld-mn10300/i135409-4.t: Linker script for the new test. * ld-mn10300/i135409-4.d: Expected disassembly of new test. * ld-mn10300/mn10300.exp: Run the new test.
2007-11-20daily updateAlan Modra1-1/+1
2007-11-20* elflink.c (elf_link_output_extsym): Weaken assertion: if --gc-section is ↵Nick Clifton2-4/+14
set, there may be no TLS segment. * lib/ld-lib.exp (check_gc_sections_available): New proc, based on the version in gcc/testsuite/lib/target-supports.exp. * ld-elf/eld.exp: Use check_gc_sections_available.
2007-11-19daily updateAlan Modra1-1/+1
2007-11-19 * elf-bfd.h (bfd_elf_perform_complex_relocation): Update prototype.Alan Modra4-28/+26
* elflink.c (bfd_elf_perform_complex_relocation): Return status. Don't print reloc overflow message. * elf32-mep.c (mep_elf_relocate_section): Handle status from bfd_elf_perform_complex_relocation.
2007-11-18daily updateAlan Modra1-1/+1
2007-11-17daily updateAlan Modra1-1/+1
2007-11-17 [ld/testsuite/ChangeLog]Thiemo Seufer2-2/+46
* ld-mips-elf/attr-gnu-4-14.d, ld-mips-elf/attr-gnu-4-41.d: Adjust warning message for -mfp64 flag. * ld-mips-elf/attr-gnu-4-5.s, ld-mips-elf/attr-gnu-4-04.d, ld-mips-elf/attr-gnu-4-51.d, ld-mips-elf/attr-gnu-4-05.d, ld-mips-elf/attr-gnu-4-15.d, ld-mips-elf/attr-gnu-4-24.d, ld-mips-elf/attr-gnu-4-25.d, ld-mips-elf/attr-gnu-4-34.d, ld-mips-elf/attr-gnu-4-35.d, ld-mips-elf/attr-gnu-4-42.d, ld-mips-elf/attr-gnu-4-43.d, ld-mips-elf/attr-gnu-4-44.d, ld-mips-elf/attr-gnu-4-45.d, ld-mips-elf/attr-gnu-4-40.d, ld-mips-elf/attr-gnu-4-14.d: New testcases files. * ld-mips-elf/mips-elf.exp: Run new testcases. [binutils/ChangeLog] * readelf.c (display_mips_gnu_attribute): Recognize -mips32r2 -mfp64 objects. [include/ChangeLog] * elf/mips.h (Tag_GNU_MIPS_ABI_FP): Mention -mips32r2 -mfp64 variant in comment. [bfd/ChangeLog] * elfxx-mips.c (mips_elf_merge_obj_attributes): Handle -mips32r2 -mfp64 attribute. [gas/ChangeLog] * doc/as.texinfo: Document the new attribute value.
2007-11-16daily updateAlan Modra1-1/+1
2007-11-16* ld-mn10300/mn10300.exp: Fix the start address of the .bss section for the ↵Nick Clifton2-13/+29
i1127740.s test. * elf-m10300.c (mn10300_elf_check_relocs): Fix memory leak and check that bfd_elf_get_elf_syms is only called once.
2007-11-15bfd/ChangeLog:Ulrich Weigand2-0/+11
* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Set udata.p of synthetic symbol to point to the ELF symbol it was derived from. gdb/ChangeLog: * elfread.c (ST_REGULAR, ST_DYNAMIC, ST_SYNTHETIC): New defines. (elf_symtab_read): Rename DYNAMIC argument to TYPE. Do not access ELF-private symbol data when processing synthetic symbols. Use udata.p to get at size of ppc64 synthetic 'dot' symbols. (elf_symfile_read): Pass TYPE argument to elf_symtab_read.
2007-11-15daily updateAlan Modra1-1/+1
2007-11-15 PR 5328Alan Modra2-8/+14
* opncls.c (separate_debug_file_exists): Use fopen/fread rather than open/read and open in binary mode.
2007-11-14daily updateAlan Modra1-1/+1
2007-11-14bfd/Richard Sandiford2-229/+535
2007-09-18 Richard Sandiford <richard@codesourcery.com> * elfxx-mips.c (mips_got_page_range): New structure. (mips_got_page_entry): Likewise. (mips_got_info): Add page_gotno and got_page_entries fields. (mips_elf_got_per_bfd_arg): Add max_pages field. Delete primary_count and current_count fields. (mips_got_page_entry_hash, mips_got_page_entry_eq): New functions. (mips_elf_pages_for_range, mips_elf_record_got_page_entry): Likewise. (mips_elf_get_got_for_bfd): New function, split out from mips_elf_make_got_per_bfd. Initialize the page_gotno and got_page_entries fields when creating a new GOT structure. (mips_elf_make_got_pages_per_bfd): New function. (mips_elf_merge_got_with): New function, split out from mips_elf_make_got_per_bfd. Merge page entries as well as non-page entries. Use the minimum of max_pages and the sum of the page_gotnos to estimate the number of page entries. (mips_elf_merge_gots): Use the minimum of max_pages and the bfd's page_gotno to estimate the number of page entries. Use the above functions. (mips_elf_multi_got): Add page entries as well as non-page entries to the individual per-bfd GOTs. Initialize got_per_bfd_arg.max_pages. Initialize the page_gotno and got_page_entries fields when creating a new primary GOT. Use the minimum of pages and page_gotno when adding the number of pages entries to local_gotno. (mips_elf_create_got_section): Initialize the page_gotno and got_page_entries fields of the GOT structure. (mips_elf_rel_relocation_p, mips_elf_read_rel_addend) (mips_elf_add_lo16_rel_addend, mips_elf_get_section_contents): New functions, split out from... (_bfd_mips_elf_relocate_section): ...here. (_bfd_mips_elf_check_relocs): Record GOT page entries too. (_bfd_mips_relax_section): Use mips_elf_get_section_contents. (_bfd_mips_elf_always_size_sections): Use the smaller of the loadable_size- and page_gotno-derived estimates. ld/testsuite/ 2007-09-18 Richard Sandiford <richard@codesourcery.com> Joseph Myers <joseph@codesourcery.com> * ld-mips-elf/got-page-1.d, ld-mips-elf/got-page-1.s, * ld-mips-elf/got-page-2.d, ld-mips-elf/got-page-2.s, * ld-mips-elf/got-page-3.d, ld-mips-elf/got-page-3a.s, * ld-mips-elf/got-page-3b.s, ld-mips-elf/got-page-3c.s, * ld-mips-elf/got-page-1.ld: New tests. * ld-mips-elf/mips-elf.exp: Run them. * ld-mips-elf/multi-got-1.d, ld-mips-elf/multi-got-no-shared.d, * ld-mips-elf/tls-hidden2-got.d, ld-mips-elf/tls-hidden2.d, * ld-mips-elf/tls-hidden3.d, ld-mips-elf/tls-hidden3.got, * ld-mips-elf/tls-hidden3.r, ld-mips-elf/tls-hidden4.got, * ld-mips-elf/tls-hidden4.r, ld-mips-elf/tls-multi-got-1.d, * ld-mips-elf/tls-multi-got-1.got, ld-mips-elf/tls-multi-got-1.r, * ld-mips-elf/tlsbin-o32.d, ld-mips-elf/tlsbin-o32.got, * ld-mips-elf/tlsdyn-o32-1.d, ld-mips-elf/tlsdyn-o32-1.got, * ld-mips-elf/tlsdyn-o32-2.d, ld-mips-elf/tlsdyn-o32-2.got, * ld-mips-elf/tlsdyn-o32-3.d, ld-mips-elf/tlsdyn-o32-3.got, * ld-mips-elf/tlsdyn-o32.d, ld-mips-elf/tlsdyn-o32.got, * ld-mips-elf/tlslib-o32-hidden.got, ld-mips-elf/tlslib-o32-ver.got, * ld-mips-elf/tlslib-o32.d, ld-mips-elf/tlslib-o32.got: Update for GOT allocation changes.
2007-11-14 * elfxx-mips.c (mips_elf_merge_obj_attributes): PreventThiemo Seufer2-0/+7
unwanted fallthroughs in case statement.
2007-11-13daily updateAlan Modra1-1/+1
2007-11-132007-11-13 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-2/+17
PR binutils/5307 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Don't copy input subsystem if output is different from input.
2007-11-13* config/tc-mn10300.c (mn10300_force_relocation): Force a reloc to be ↵Nick Clifton2-14/+79
generated for alignment fixups. * config/tc-mn10300.h (TC_FORCE_RELOCATION): Call mn10300_force_relocation. * elf-m10300.c (mn10300_elf_final_link_relocate): Prevent the accidental termination of DWARF location list entries. (mn10300_elf_relax_delete_bytes): Stop deletion if an align reloc is encountered that is larger than or not a mutliple of the number of bytes being deleted. When adjusting symbols, any symbols inside the region being deleted must be moved to the end of the region. Move align relocs forward if there is room for them after the deletion of the region.
2007-11-13 PR 5233Alan Modra2-66/+87
* elf.c (rewrite_elf_program_header): Formatting. Add first_matching_lma and first_suggested_lma booleans and use instead of testing matching_lma and suggested_lma for zero.
2007-11-12daily updateAlan Modra1-1/+1
2007-11-122007-11-12 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-4/+23
PR binutils/5299 * peicode.h (pe_bfd_object_p): Save and restore previous bfd state when calling coff_object_p.
2007-11-12 * elf.c (_bfd_elf_get_synthetic_symtab): Only bump the symbolAlan Modra2-2/+8
pointer when we have a valid symbol. Init udata.p to NULL.
2007-11-11daily updateAlan Modra1-1/+1
2007-11-10daily updateAlan Modra1-1/+1
2007-11-09daily updateAlan Modra1-1/+1
2007-11-09 * elf-vxworks.c (elf_vxworks_emit_relocs): Don't clobberNathan Sidwell2-36/+46
rel_hash. Move loop inside if test.
2007-11-09 Apply delta accidentally omitted from 2007-11-05 commit.Danny Smith1-14/+0
* pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Let .data, .text and .bss section use the default.
2007-11-08daily updateAlan Modra1-1/+1
2007-11-08 * elf-vxworks.h (elf_vxworks_add_dynamic_entries): Declare.Nathan Sidwell2-0/+70
(elf_vxworks_finish_dynamic_entry): Declare. * elf-vxworks.c: Include elf/vxworks.h. (elf_vxworks_add_dynamic_entries): New. (elf_vxworks_finish_dynamic_entry): New. * Makefile.am (elf-vxworks.lo): Add dependency. * Makefile.in (elf-vxworks.lo): Add dependency. * elf32-i386.c (elf_i386_size_dynamic_sections, elf_i386_finish_dynamic_sections): Call elf_vxworks_add_dynamic_entries and elf_vxworks_finish_dynamic_entry. * elf32-ppc.c (ppc_elf_size_dynamic_sections, ppc_elf_finish_dynamic_sections): Likewise. * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections, sparc_finish_dyn): Likewise. * elf32-sh.c (sh_elf_size_dynamic_sections, sh_elf_finish_dynamic_sections): Likewise. * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections, _bfd_mips_elf_finish_dynamic_sections): Likewise. * elf32-arm.c (elf32_arm_size_dynamic_sections, elf32_arm_finish_dynamic_sections): Likewise.
2007-11-08 include/elf/Nathan Sidwell9-3/+63
* vxworks.h: New. bfd/ * elf-vxworks.h (elf_vxworks_add_dynamic_entries): Declare. (elf_vxworks_finish_dynamic_entry): Declare. * elf-vxworks.c: Include elf/vxworks.h. (elf_vxworks_add_dynamic_entries): New. (elf_vxworks_finish_dynamic_entry): New. * Makefile.am (elf-vxworks.lo): Add dependency. * Makefile.in (elf-vxworks.lo): Add dependency. * elf32-i386.c (elf_i386_size_dynamic_sections, elf_i386_finish_dynamic_sections): Call elf_vxworks_add_dynamic_entries and elf_vxworks_finish_dynamic_entry. * elf32-ppc.c (ppc_elf_size_dynamic_sections, ppc_elf_finish_dynamic_sections): Likewise. * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections, sparc_finish_dyn): Likewise. * elf32-sh.c (sh_elf_size_dynamic_sections, sh_elf_finish_dynamic_sections): Likewise. * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections, _bfd_mips_elf_finish_dynamic_sections): Likewise. * elf32-arm.c (elf32_arm_size_dynamic_sections, elf32_arm_finish_dynamic_sections): Likewise. ld/ * ld-vxworks/tls-2.d: New. * ld-vxworks/tls-2.s: New.
2007-11-07daily updateAlan Modra1-1/+1
2007-11-07* bfd/elfxx-mips.c (_bfd_mips_elf_fake_sections): Force SHF_MIPS_NOSTRIP onNick Clifton2-1/+14
.debug_frame for Irix.
2007-11-06daily updateAlan Modra1-1/+1