Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
the symbol's section is the undefined section.
* gas/testsuite/gas/elf/symtab.s: New test.
gas/testsuite/gas/elf/symtab.d: New expected output.
gas/testsuite/gas/elf/elf.exp: Run the new symbtab test.
|
|
|
|
|
|
|
|
|
|
|
|
include/elf/
* xtensa.h (R_XTENSA_32_PCREL): New.
bfd/
* elf32-xtensa.c (elf_howto_table): Add R_XTENSA_32_PCREL.
(elf_xtensa_reloc_type_lookup): Handle BFD_RELOC_32_PCREL.
(elf_xtensa_check_relocs): Use default case for all relocations that
need nothing done here.
(elf_xtensa_do_reloc): Compute self_address for all relocation types.
Handle R_XTENSA_32_PCREL.
(elf_xtensa_relocate_section): Check for R_XTENSA_32_PCREL for dynamic
symbols.
(check_section_ebb_pcrels_fit): Ignore R_XTENSA_32_PCREL relocations.
gas/
* config/tc-xtensa.c (O_pcrel): Define.
(suffix_relocs): Add pcrel suffix.
(md_pseudo_table): Add 4byte and 2byte directives.
(xtensa_elf_cons): Pass correct pcrel argument to fix_new_exp.
(xg_assemble_literal): Likewise. Check for O_pcrel.
(expression_maybe_register): Reorganize. Handle BFD_RELOC_32_PCREL.
(xg_valid_literal_expression): Allow O_pcrel.
(md_pcrel_from, md_apply_fix): Handle BFD_RELOC_32_PCREL.
(tc_gen_reloc): Fix punctuation in error message.
gas/testsuite/
* gas/xtensa/all.exp: Run new pcrel test.
* gas/xtensa/err-pcrel.s: New.
* gas/xtensa/pcrel.d: New.
* gas/xtensa/pcrel.s: New.
* gas/xtensa/xtensa-err.exp: New.
|
|
|
|
|
|
non-function symbols for overlay stubs.
|
|
|
|
entry for all dynamic objects.
|
|
|
|
|
|
|
|
|
|
|
|
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use the
ELF header to choose between 32-bit and 64-bit relocation structures.
|
|
|
|
* 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.
|
|
* elf32-arm.c (bfd_elf32_arm_process_before_allocation): Do not complain if
there is no glue bfd, just return.
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
* 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.
|
|
|
|
|
|
* 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.
|
|
|
|
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.
|
|
* 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.
|
|
|
|
* opncls.c (separate_debug_file_exists): Use fopen/fread
rather than open/read and open in binary mode.
|
|
|
|
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.
|
|
unwanted fallthroughs in case statement.
|
|
|
|
PR binutils/5307
* peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Don't
copy input subsystem if output is different from input.
|
|
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.
|