Age | Commit message (Collapse) | Author | Files | Lines |
|
2007-09-20 H.J. Lu <hongjiu.lu@intel.com>
PR 658
* config/tc-i386.c (SCALE1_WHEN_NO_INDEX): Removed.
(set_allow_index_reg): New.
(allow_index_reg): Likewise.
(md_pseudo_table): Add "allow_index_reg" and
"disallow_index_reg".
(build_modrm_byte): Set i.sib.index to NO_INDEX_REGISTER for
fake index registers.
(i386_scale): Updated.
(i386_index_check): Support fake index registers.
(parse_real_register): Return NULL on eiz/riz if fake index
registers aren't allowed.
gas/testsuite/
2007-09-20 H.J. Lu <hongjiu.lu@intel.com>
PR 658
* gas/i386/i386.exp: Run sib-intel, x86-64-sib and
x86-64-sib-intel.
* gas/i386/nops-1-i386-i686.d: Updated.
* gas/i386/nops-1-i386.d: Likewise.
* gas/i386/nops-1.d: Likewise.
* gas/i386/nops-2-i386.d: Likewise.
* gas/i386/nops-2-merom.d: Likewise.
* gas/i386/nops-2.d: Likewise.
* gas/i386/nops-3-i386.d: Likewise.
* gas/i386/nops-3.d : Likewise.
* gas/i386/sib.d: Likewise.
* gas/i386/sib.s: Use %eiz in testcases.
* gas/i386/sib-intel.d: New.
* gas/i386/x86-64-sib-intel.d: Likewise.
* gas/i386/x86-64-sib.d: Likewise.
* gas/i386/x86-64-sib.s: Likewise.
ld/testsuite/
2007-09-20 H.J. Lu <hongjiu.lu@intel.com>
PR 658
* ld-i386/tlsbin.dd: Updated.
* ld-i386/tlsld1.dd: Likewise.
opcodes/
2007-09-20 H.J. Lu <hongjiu.lu@intel.com>
PR 658
* 386-dis.c (index64): New.
(index32): Likewise.
(intel_index64): Likewise.
(intel_index32): Likewise.
(att_index64): Likewise.
(att_index32): Likewise.
(print_insn): Set index64 and index32.
(OP_E_extended): Use index64/index32 for index register for
SIB with INDEX == 4.
* i386-opc.h (RegEiz): New.
(RegRiz): Likewise.
* i386-reg.tbl: Add eiz and riz.
* i386-tbl.h: Regenerated.
|
|
prevent the use of the small data area.
|
|
2007-09-17 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/3281
PR binutils/5037
* elf-bfd.h (elf_obj_tdata): Remove relro.
* elf.c (get_program_header_size): Check info->relro instead
of elf_tdata (abfd)->relro.
(_bfd_elf_map_sections_to_segments): Likewise.
(assign_file_positions_for_load_sections): Don't set
PT_GNU_RELRO segment alignment here.
(assign_file_positions_for_non_load_sections): Properly set up
PT_GNU_RELRO segment for copying executable/shared library.
(rewrite_elf_program_header): Remove PT_GNU_RELRO segment.
(copy_elf_program_header): Set p_size and p_size_valid fields for
PT_GNU_RELRO segment.
include/elf/
2007-09-17 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/3281
PR binutils/5037
* internal.h (elf_segment_map): Add p_size and p_size_valid.
(ELF_IS_SECTION_IN_SEGMENT): Allow SHF_TLS sections in
PT_GNU_RELRO segments.
ld/
2007-09-17 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/3281
PR binutils/5037
* ldexp.h (ldexp_control): Add relro, relro_start_stat and
relro_end_stat.
* ldexp.c (fold_binary): Set expld.dataseg.relro to
exp_dataseg_relro_start or exp_dataseg_relro_end when
seeing DATA_SEGMENT_ALIGN or DATA_SEGMENT_RELRO_END,
respectively.
* ldlang.c (lang_size_sections_1): Properly set
expld.dataseg.relro_start_stat and
expld.dataseg.relro_end_stat.
(find_relro_section_callback): New function.
(lang_find_relro_sections_1): Likewise.
(lang_find_relro_sections): Likewise.
(lang_process): Call lang_find_relro_sections for
non-relocatable link.
ld/testsuite/
2007-09-17 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/3281
PR binutils/5037
* ld-elf/binutils.exp: Update "-z relro" tests to use relro1.s.
Add "-z relro" tests with relro2.s. Add "-z relro" tests with
TLS for objcopy.
* ld-elf/relro1.s: New file.
* ld-elf/relro2.s: Likewise.
|
|
|
|
* emultempl/elf32.em: Check DF_BIND_NOW instead of DT_BIND_NOW.
|
|
* emultempl/elf32.em (write_build_id_section): Correct test for
"missing" .note.gnu.build-id. Downgrade error to a warning if
it has been discarded.
|
|
condition under which we build a bfd_data_link_order.
|
|
add it to $flags when $ccexe matches *++*.
(run_ld_link_exec_tests): Pull in global CXXFLAGS and execute CXX
with CXXFLAGS when $lang matches c++.
(run_cc_link_tests): Likewise.
|
|
2007-09-02 H.J. Lu <hongjiu.lu@intel.com>
PR ld/4986
* dwarf2.c (new_line_sorts_after): Undo the last change.
(add_line_info): Only keep the last entry with the same address
and end sequence.
ld/testsuite/
2007-09-02 H.J. Lu <hongjiu.lu@intel.com>
PR ld/4986
* ld-ia64/line.exp: New.
* ld-ia64/undefined.s: Likewise.
* ld-x86-64/line.exp: Don't check CC.
|
|
2007-08-31 H.J. Lu <hongjiu.lu@intel.com>
PR ld/4986
* dwarf2.c (new_line_sorts_after): Also compare line number.
ld/testsuite/
2007-08-31 H.J. Lu <hongjiu.lu@intel.com>
PR ld/4986
* ld-x86-64/line.exp: New
* ld-x86-64/undefined.s: Likewise.
|
|
expressions are correctly computed.
* testsuite/ld-script/map-address.d,
* testsuite/ld-script/map-address.t: Add a test for testing DEFINED in map output.
|
|
assigned to phdrs. Avoid multiple forward scans for a section
with phdr assignment.
|
|
2007-08-28 Mark Shinwell <shinwell@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* elf32-arm.c (elf32_arm_compare_mapping): Compare first on vma,
then on type.
binutils/testsuite:
2007-08-28 Mark Shinwell <shinwell@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* binutils-all/ar.exp (long_filenames): Delete temporary files on
the host.
* binutils-all/arm/objdump.exp: Only check "which $OBJDUMP" if
host is local.
* binutils-all/objcopy.exp: Use ${srecfile} to get the name of the
srec file to be passed to binutils_run.
(objcopy_test_readelf): Use remote_exec.
* binutils-all/readelf.exp (readelf_find_size): Use remote_exec.
(readelf_test): Likewise.
(readelf_wi_test): Likewise.
* lib/utils-lib.exp (run_dump_test): Only check "which $binary" if
host is local. Use remote_exec. Use $tempfile not
tmpdir/bintest.o.
gas:
2007-08-28 Mark Shinwell <shinwell@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* as.c (main): Flush stderr before printing listings to ensure
consistent output order across platforms.
gas/testsuite:
2007-08-28 Mark Shinwell <shinwell@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* lib/gas-defs.exp (gas_version): Use remote_* functions instead
of exec.
(gas_host_run): New.
(gas_run): Use gas_host_run.
(gas_start): Likewise.
(run_dump_test): Likewise.
(objdump): Use gas_host_run.
(objdump_start_no_subdir): Likewise.
* lib/gas-dg.exp (gas-dg-test): Use "remote_file host delete".
* lib/run: Remove.
* gas/macros/macros.exp: Download app4b.s to host.
* gas/i386/i386.exp (gas_64_check): Use gas_host_run.
(gas_32_check): Likewise.
* gas/maxq10/maxq10.exp (gas_64_check): Likewise
(gas_32_check): Likewise.
* gas/maxq20/maxq20.exp (gas_64_check): Likewise
(gas_32_check): Likewise.
* gas/sparc/sparc.exp (gas_64_check): Likewise.
* gas/cfi/cfi.exp: Likewise.
* gas/elf/elf.exp (run_list_test): Likewise. Use temporary file
for readelf output in place of pipe.
* gas/all/gas.exp: Download incbin.dat to host.
(do_comment): Allow \r\r\n.
ld:
2007-08-28 Mark Shinwell <shinwell@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* ldlang.c (sort_sections_by_lma): Sort by internal id after lma
for stable sort.
ld/testsuite:
2007-08-28 Mark Shinwell <shinwell@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* ld-elfcomm/elfcomm.exp: Use run_host_cmd. Only check "which
$CC" if host is local.
* ld-checks/checks.exp: Use run_host_cmd.
* ld-elf/exclude.exp: Likewise.
* ld-elf/elf.exp: Download merge.ld if host is remote.
* ld-elf/binutils.exp (binutils_test): Use remote_exec.
* ld-elf/tls_common.exp: Use run_host_cmd.
* lib/ld-lib.exp (ld_version): Only check "which $ld" if host is
local. Use remote_exec.
(run_host_cmd): New.
(run_host_cmd_yesno): New.
(default_ld_relocate): Use run_host_cmd_yesno.
(default_ld_link): Likewise.
(default_ld_simple_link): Use run_host_cmd.
(default_ld_compile): Only check "which $ccprog" if host is local.
Use remote_file and remote_exec.
(default_ld_assemble): Only check "which $as" if host is local.
Use run_host_cmd.
(default_ld_nm): Use remote_exec, remote_upload and remote_file.
(run_dump_test): Use remote_exec, remote_upload and remote_file.
Only check "which $binary" if host is local.
(run_ld_link_tests): Use remote_exec, remote_upload and
remote_file.
* ld-selective/selective.exp: Only check "which $CXX" if host is
local. Use remote_exec.
* ld-scripts/phdrs.exp: Only check "which $objdump" if host is
local. Use run_host_cmd.
* ld-scripts/phdrs2.exp: Likewise.
* ld-scripts/weak.exp: Likewise.
* ld-undefined/weak-undef.exp: Likewise.
* ld-scripts/crossref.exp: Only check "which $CC" if host is local.
Use run_host_cmd.
* ld-scripts/map-address.exp: Upload map_address.map if host is
remote.
* ld-srec/srec.exp (run_srec_tests): Use run_host_cmd. Only check
"which $CC" and "which $CXX" if host is local.
* ld-undefined/undefined.exp: Only check "which $CC" if host is
local. Use remote_file and run_host_cmd.
* config/default.exp: Use remote_exec to create tmpdir.
|
|
|
|
* ld-i386/i386.exp (i386tests): Add a test for TLS IE->LE
transition.
Run tlsie2, tlsie3, tlsie4 and tlsie5.
* ld-i386/tlsie1.dd: New file.
* ld-i386/tlsie1.s: Likewise.
* ld-i386/tlsie2.d: Likewise.
* ld-i386/tlsie2.s: Likewise.
* ld-i386/tlsie3.d: Likewise.
* ld-i386/tlsie3.s: Likewise.
* ld-i386/tlsie4.d: Likewise.
* ld-i386/tlsie4.s: Likewise.
* ld-i386/tlsie5.d: Likewise.
* ld-i386/tlsie5.s: Likewise.
* ld-x86-64/tlsgd2.d: Likewise.
* ld-x86-64/tlsgd2.s: Likewise.
* ld-x86-64/tlsgd3.d: Likewise.
* ld-x86-64/tlsgd3.s: Likewise.
* ld-x86-64/tlsie1.dd: Likewise.
* ld-x86-64/tlsie1.s: Likewise.
* ld-x86-64/tlsie2.d: Likewise.
* ld-x86-64/tlsie2.s: Likewise.
* ld-x86-64/tlsie3.d: Likewise.
* ld-x86-64/tlsie3.s: Likewise.
* ld-x86-64/x86-64.exp (x86_64tests): Add a test for TLS LD->LE
transition.
Run tlsgd2, tlsgd3, tlsie2 and tlsie3.
|
|
2007-08-23 H.J. Lu <hongjiu.lu@intel.com>
* elf32-i386.c: Include "bfd_stdint.h".
(elf_i386_rtype_to_howto): New function.
(elf_i386_info_to_howto_rel): Use it.
(x86_64_opcode16): New union type.
(elf_i386_check_tls_transition): New function.
(elf_i386_tls_transition): Updated to check transition and
issue an error if a transition isn't supported.
(elf_i386_check_relocs): Return FALSE if
elf_i386_tls_transition returns FALSE.
(elf_i386_gc_sweep_hook): Likewise.
(elf_i386_relocate_section): Likewise. Remove BFD_ASSERT
on TLS transitions.
* elf64-x86-64.c: Include "bfd_stdint.h".
(x86_64_opcode16): New union type.
(x86_64_opcode32): Likewise.
(elf64_x86_64_check_tls_transition): New function.
(elf64_x86_64_tls_transition): Updated to check transition and
issue an error if a transition isn't supported.
(elf64_x86_64_check_relocs): Return FALSE if
elf64_x86_64_tls_transition returns FALSE.
(elf64_x86_64_gc_sweep_hook): Likewise.
(elf64_x86_64_relocate_section): Likewise. Remove BFD_ASSERT
on TLS transitions.
ld/testsuite/
2007-08-23 H.J. Lu <hongjiu.lu@intel.com>
* ld-i386/tlsbinpic.s: Add a new GD -> IE test.
* ld-i386/tlsgd1.s: Add a new GD -> LE test.
* ld-i386/tlsbin.dd: Updated.
* ld-i386/tlsbin.rd: Likewise.
* ld-i386/tlsgd1.dd: Likewise.
|
|
|
|
Change sparc64-*-linux-* to sparc64*-*-linux-*.
* configure.host: Handle sparcv*-*-linux-* the same as
sparc-*-linux-*. Change sparc64-*-linux-* to sparc64*-*-linux-*.
* ld-sparc/tlssunnopic32.dd: Fix up #target.
* ld-sparc/tlssunnopic32.rd: Likewise.
* ld-sparc/tlssunnopic32.sd: Likewise.
* ld-sparc/tlssunnopic64.dd: Likewise.
* ld-sparc/tlssunnopic64.rd: Likewise.
* ld-sparc/tlssunnopic64.sd: Likewise.
|
|
* emultempl/armcoff.em: Likewise.
* emultempl/armelf.em: Likewise.
* emultempl/avrelf.em: Likewise.
* emultempl/elf32.em: Likewise.
* emultempl/hppaelf.em: Likewise.
* emultempl/ia64elf.em: Likewise.
* emultempl/m68hc1xelf.em: Likewise.
* emultempl/ppc32elf.em: Likewise.
* emultempl/ppc64elf.em: Likewise.
* emultempl/scoreelf.em: Likewise.
* emultempl/spuelf.em: Likewise.
* emultempl/ticoff.em: Likewise.
* emultempl/vxworks.em: Likewise.
* emultempl/xtensaelf.em: Likewise.
|
|
* lexsup.c (ld_options): Don't use tabs in help text.
* emultempl/armcoff.em (gld${EMULATION_NAME}_finish): Fix typo.
* emultempl/pe.em (gld${EMULATION_NAME}_finish): Fix typo.
|
|
* lib/ld-lib.exp (run_dump_test): Allow [big_or_little_endian]
to appear in assembler and linker options.
* ld-mips-elf/vxworks1-static.d (ld): Add [big_or_little_endian].
|
|
|
|
xfails.
|
|
* emultempl/elf32.em (after_open): Return immediately when
non-ELF output.
|
|
2007-08-14 H.J. Lu <hongjiu.lu@intel.com>
PR ld/4918
* elf32-i386.c (elf_i386_relocate_section): Allow R_386_PC32
on ___tls_get_addr for GD->LE/LD->LE transitions when not
building shared library.
* elf64-x86-64.c (elf64_x86_64_relocate_section): Allow
R_X86_64_PC32 on __tls_get_addr for GD->LE/LD->LE transitions
when not building shared library.
ld/testsuite/
2007-08-14 H.J. Lu <hongjiu.lu@intel.com>
PR ld/4918
* ld-i386/i386.exp (i386tests): Add tlsgd1 and tlsld1 tests.
* ld-x86-64/x86-64.exp (x86_64tests): Likewise.
* ld-i386/tlsgd1.dd: New file.
* ld-i386/tlsgd1.s: Likewise.
* ld-i386/tlsld1.dd: Likewise.
* ld-i386/tlsld1.s: Likewise.
* ld-x86-64/tlsgd1.dd: Likewise.
* ld-x86-64/tlsgd1.s: Likewise.
* ld-x86-64/tlsld1.dd: Likewise.
* ld-x86-64/tlsld1.s: Likewise.
|
|
* elfxx-mips.c (mips_elf_link_hash_table): Add computed_got_sizes.
(mips_elf_record_global_got_symbol): Increment local_gotno for
each forced-local symbol.
(_bfd_mips_elf_check_relocs): Pass forced-local call symbols to
mips_elf_record_global_got_symbol for VxWorks too.
(_bfd_mips_elf_always_size_sections): Set computed_got_sizes
to true after computing the GOT size.
(_bfd_mips_elf_hide_symbol): Increase local_gotno whenever
got.offset == 1. Only adjust global_gotno if computed_got_sizes.
For VxWorks, add a local entry when hiding a symbol that needs a
plt but has not been marked as needing a global got entry.
(_bfd_mips_elf_link_hash_table_create): Set computed_got_sizes to
false.
ld/testsuite/
* ld-mips-elf/vxworks-forced-local-1.d,
* ld-mips-elf/vxworks-forced-local-1.s,
* ld-mips-elf/vxworks-forced-local-1.ver: New test.
* ld-mips-elf/mips-elf.exp: Run it.
* ld-mips-elf/tlsdyn-o32-2.d: Adjust for removal of unnecessary
local GOT entry.
* ld-mips-elf/tlsdyn-o32-2.got: Likewise.
* ld-mips-elf/tlsdyn-o32-3.d: Likewise.
* ld-mips-elf/tlsdyn-o32-3.got: Likewise.
* ld-mips-elf/vxworks1-lib.dd: Likewise.
* ld-mips-elf/vxworks1-lib.rd: Likewise.
|
|
* elf64-ppc.c (ADDI_R12_R12, LD_R11_0R2, LD_R2_0R2): Define.
Update stub comments.
(build_plt_stub): Build two variants, one without "addis".
(ppc_build_one_stub): Build stubs without "addis" if possible.
(ppc_size_one_stub): Size new stubs.
ld/testsuite/
* ld-powerpc/relbrlt.s (.text.pad2): Adjust space.
* ld-powerpc/relbrlt.d: Update.
* ld-powerpc/tlsexe.d: Update.
* ld-powerpc/tlsexe.g: Update.
* ld-powerpc/tlsexe.r: Update.
* ld-powerpc/tlsexetoc.d: Update.
* ld-powerpc/tlsexetoc.g: Update.
* ld-powerpc/tlsexetoc.r: Update.
* ld-powerpc/tlsso.d: Update.
* ld-powerpc/tlsso.g: Update.
* ld-powerpc/tlsso.r: Update.
* ld-powerpc/tlstocso.d: Update.
* ld-powerpc/tlstocso.g: Update.
|
|
* po/fi.po: New file.
* configure: Regenerated.
|
|
|
|
|
|
|
|
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
|
|
PR ld/4875
* elf-hints-local.h: Include bfd_stdint.h. Use uint32_t
instead of u_int32_t.
* sha1.h: Include bfd_stdint.h instead of <stdint.h>.
|
|
* genscripts.sh: Delete all references to NONPAGED_TEXT_START_ADDR.
* ldint.texinfo: Likewise.
* emulparams/armaoutb.sh (NONPAGED_TEXT_START_ADDRESS): Delete.
* emulparams/armaoutl.sh: Likewise.
* emulparams/arcelf.sh (NONPAGED_TEXT_START_ADDR): Delete.
* emulparams/bfin.sh: Likewise
* emulparams/crisaout.sh: Likewise
* emulparams/elf32_sparc.sh: Likewise
* emulparams/elf32am33lin.sh: Likewise
* emulparams/elf32b4300.sh: Likewise
* emulparams/elf32bmip.sh: Likewise
* emulparams/elf32mcore.sh: Likewise
* emulparams/elf32xtensa.sh: Likewise
* emulparams/elf64_s390.sh: Likewise
* emulparams/elf64_sparc.sh: Likewise
* emulparams/elf64alpha.sh: Likewise
* emulparams/elf_i386.sh: Likewise
* emulparams/elf_i386_be.sh: Likewise
* emulparams/elf_i386_chaos.sh: Likewise
* emulparams/elf_i386_ldso.sh: Likewise
* emulparams/elf_i386_vxworks.sh: Likewise
* emulparams/elf_s390.sh: Likewise
* emulparams/elf_x86_64.sh: Likewise
* emulparams/i386aout.sh: Likewise
* emulparams/i386moss.sh: Likewise
* emulparams/i386msdos.sh: Likewise
* emulparams/i386nto.sh: Likewise
* emulparams/i386nw.sh: Likewise
* emulparams/m68kaout.sh: Likewise
* emulparams/m68kelf.sh: Likewise
* emulparams/ppcnw.sh: Likewise
* emulparams/sun4.sh: Likewise
* emulparams/tic80coff.sh: Likewise
* emulparams/vaxnbsd.sh: Likewise
* emulparams/armnbsd.sh (NONPAGED_TEXT_START_ADDR): Delete.
(TEXT_START_ADDR): Set for -n, -N.
* emulparams/coff_sparc.sh: Likewise
* emulparams/elf32vax.sh: Likewise
* emulparams/i386bsd.sh: Likewise
* emulparams/i386go32.sh: Likewise
* emulparams/i386linux.sh: Likewise
* emulparams/i386lynx.sh: Likewise
* emulparams/i386mach.sh: Likewise
* emulparams/m68k4knbsd.sh: Likewise
* emulparams/m68klinux.sh: Likewise
* emulparams/m68knbsd.sh: Likewise
* emulparams/ns32knbsd.sh: Likewise
* emulparams/pc532macha.sh: Likewise
* emulparams/ppclynx.sh: Likewise
* emulparams/scoreelf.sh: Likewise
* emulparams/sparcaout.sh: Likewise
* emulparams/sparclinux.sh: Likewise
* emulparams/sun3.sh: Likewise
* emulparams/vsta.sh: Likewise
|
|
|
|
* ld-pe/secrel_64.d: New.
|
|
(gld_xxx_recognized_file): Use pep_bfd_is_dll for detection of shared objects.
* pe-dll.c: (autofilter_symbollist_i386): Define set for amd64 mingw target.
|
|
|
|
ld-mips-elf/reloc-5.s, ld-mips-elf/reloc-5.d: New tests.
* ld-mips-elf/mips-elf.exp: Invoke them.
|
|
|
|
|
|
* ldlang.c (lang_insert_orphan): When searching through linker
script to place an orphan, don't stop on statements that appear
outside of SECTIONS.
* emultempl/elf32.em (output_rel_find): Prefer read-only alloc
sections over read/write alloc sections.
ld/testsuite/
* ld-elf/weak-dyn-1.rd: Adjust.
|
|
|
|
|
|
* ld.texinfo (Options): Extend the description of the -O command line option.
|
|
* ld-arm/arm-elf.exp (armelftests): Add callweak.
* ld-arm/callweak.d: New test.
* ld-arm/callweak.s: New test.
|
|
|
|
|
|
|
|
* elflink.c (_bfd_elf_fix_symbol_flags): Only assert the type
of weakdef->root.type if weakdef has no regular definition.
ld/testsuite/
* ld-elf/weak-dyn-1a.s, ld-elf/weak-dyn-1b.s, ld-elf/weak-dyn-1.ld,
* ld-elf/weak-dyn-1.rd: New test.
* ld-elf/elf.exp: Run it.
|