Bug 20608 - Relocation truncated to fit: R_ARM_THM_JUMP24 for relocation to PLT entry.
Summary: Relocation truncated to fit: R_ARM_THM_JUMP24 for relocation to PLT entry.
Status: RESOLVED FIXED
Alias: None
Product: binutils
Classification: Unclassified
Component: ld (show other bugs)
Version: 2.25
: P2 normal
Target Milestone: ---
Assignee: Christophe Lyon
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-09-14 09:57 UTC by Peter Smith
Modified: 2016-10-11 12:53 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed: 2016-09-15 00:00:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Smith 2016-09-14 09:57:07 UTC
I'm raising this as a result of an investigation of a buildbot failure found whilst trying to link libclang.so https://llvm.org/bugs/show_bug.cgi?id=27813 

The exact error the buildbot was intermittently seeing was:
DebugHandlerBase.cpp:(.text._ZN4llvm8DenseMapIPKNS_12MachineInstrEPNS_8MCSymbolENS_12DenseMapInfoIS3_EENS_6detail12DenseMapPairIS3_S5_EEE4growEj[_ZN4llvm8DenseMapIPKNS_12MachineInstrEPNS_8MCSymbolENS_12DenseMapInfoIS3_EENS_6detail12DenseMapPairIS3_S5_EEE4growEj]+0x18a): relocation truncated to fit: R_ARM_THM_JUMP24 against symbol `operator delete(void*)@@GLIBCXX_3.4' defined in .text section in /usr/lib/gcc/arm-linux-gnueabihf/4.8/libstdc++.so
collect2: error: ld returned 1 exit status

This sounds similar to https://sourceware.org/bugzilla/show_bug.cgi?id=12965 but that has been fixed for some time.

The failure on the buildbot is with binutils 2.24, but I've also reproducible on 2.25 (the latest ARM build that I have available). 

I don't have access to the original objects from the clang build, but I've made a reproducer for what I think the problem is.

It needs a shared object or some other means of generating a PLT entry for a symbol. The b.w instruction with the R_ARM_THUMB_JUMP24 relocation needs to be in range of the ARM part of the PLT entry, but not in range of the inline Thumb state change that the b.w needs to target. If the instruction is closer the b.w can reach the inline state change, it the instruction is further away than the ARM part then a stub is generated.

The test case is highly sensitive to the distance between the .plt entry and the b.w. I'm using the (Linaro GCC 5.3-2016.02) 5.3.1 20160113 release.

-- shared.c -- 
int func(void) {
    return 0;
}
arm-linux-gnueabihf-gcc shared.c --shared -fPIC -o shared.so

-- space.s --
 .text
 .syntax unified
 .thumb
 .global sp
 .type sp,%function
 .space (1024 * 1024 * 16) - 0x108
 .space 2 // Will fail values 2 or 4
 .global func2
 .type func2,%function
func2:
 b.w func

arm-linux-gnueabihf-gcc space.s -fPIC --shared  -O2 -o test.axf shared.so -mthumb
(.text+0xfffefa): relocation truncated to fit: R_ARM_THM_JUMP24 against symbol `func' defined in .text section in shared.so
collect2: error: ld returned 1 exit status
Comment 1 Christophe Lyon 2016-09-15 16:27:28 UTC
I'll give a look.
Comment 2 Sourceware Commits 2016-09-27 23:45:19 UTC
The master branch has been updated by Christophe Lyon <clyon@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2df2751d1927e1231bbe7d548139da98d6ca9b9a

commit 2df2751d1927e1231bbe7d548139da98d6ca9b9a
Author: Christophe Lyon <christophe.lyon@linaro.org>
Date:   Wed Sep 28 01:37:52 2016 +0200

    [ARM] PR ld/20608 Relocation truncated to fit: R_ARM_THM_JUMP24 for relocation to PLT entry
    
    2016-09-28  Christophe Lyon  <christophe.lyon@linaro.org>
    
    	PR ld/20608
    	bfd/
    	* elf32-arm.c (arm_type_of_stub): Handle the case when the pre-PLT
    	Thumb-ARM stub is too far.
    
    	ld
    	* testsuite/ld-arm/arm-elf.exp: Handle new testcase.
    	* testsuite/ld-arm/farcall-mixed-app2.d: New file.
    	* testsuite/ld-arm/farcall-mixed-app2.r: Likewise.
    	* testsuite/ld-arm/farcall-mixed-app2.s: Likewise.
    	* testsuite/ld-arm/farcall-mixed-app2.sym: Likewise.
Comment 3 Christophe Lyon 2016-09-27 23:45:57 UTC
Now fixed.
Comment 4 Sourceware Commits 2016-10-10 13:33:12 UTC
The binutils-2_27-branch branch has been updated by Christophe Lyon <clyon@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=fc7afe8c75ccd6b34d8381384268d7cbe02cf1ed

commit fc7afe8c75ccd6b34d8381384268d7cbe02cf1ed
Author: Christophe Lyon <christophe.lyon@linaro.org>
Date:   Wed Sep 28 01:37:52 2016 +0200

    [ARM] PR ld/20608 Relocation truncated to fit: R_ARM_THM_JUMP24 for relocation to PLT entry
    
    2016-09-28  Christophe Lyon  <christophe.lyon@linaro.org>
    
    	PR ld/20608
    	bfd/
    	* elf32-arm.c (arm_type_of_stub): Handle the case when the pre-PLT
    	Thumb-ARM stub is too far.
    
    	ld
    	* testsuite/ld-arm/arm-elf.exp: Handle new testcase.
    	* testsuite/ld-arm/farcall-mixed-app2.d: New file.
    	* testsuite/ld-arm/farcall-mixed-app2.r: Likewise.
    	* testsuite/ld-arm/farcall-mixed-app2.s: Likewise.
    	* testsuite/ld-arm/farcall-mixed-app2.sym: Likewise.
Comment 5 Christophe Lyon 2016-10-11 07:00:34 UTC
Fixed in master and 2.27 branch.
Other branches are closed.
Comment 6 Sourceware Commits 2016-10-11 12:53:16 UTC
The master branch has been updated by Nick Clifton <nickc@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a24bb4f0cce83eea8b2ad1542316651143af6f90

commit a24bb4f0cce83eea8b2ad1542316651143af6f90
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Oct 11 13:50:10 2016 +0100

    Enhance objdump so that it will use .got, .plt and .plt.got section symbols when disassembling, and it will use dynamic relocs to interpret entries in the PLT and GOT.
    
    binutils * objdump.c (is_significant_symbol_name): New function.
    	(remove_useless_symbols): Do not remove significanr symbols.
    	(find_symbol_for_address): If an exact match for the specified
    	address has not been found, try scanning the dynamic relocs to see
    	if one of these matches the address.  If so, use the symbol
    	associated with the reloc.
    	(objdump_print_addr_with_symbol): Do not print offsets to symbols
    	with no value.
    	(disassemble_section): Only use dynamic relocs if the user
    	requested this.
    	(disassemble_data): Always load dynamic relocs if they are
    	available.
    
    ld	* ld-aarch64/emit-relocs-515-be.d: Adjust output to match change
    	in objdump.
    	* ld-aarch64/emit-relocs-515.d: Likewise.
    	* ld-aarch64/emit-relocs-516-be.d: Likewise.
    	* ld-aarch64/emit-relocs-516.d: Likewise.
    	* ld-aarch64/farcall-b-plt.d: Likewise.
    	* ld-aarch64/farcall-bl-plt.d: Likewise.
    	* ld-aarch64/gc-plt-relocs.d: Likewise.
    	* ld-aarch64/tls-desc-ie.d: Likewise.
    	* ld-aarch64/tls-tiny-desc.d: Likewise.
    	* ld-aarch64/tls-tiny-gd.d: Likewise.
    	* ld-aarch64/tls-tiny-ie.d: Likewise.
    	* ld-arm/arm-app-abs32.d: Likewise.
    	* ld-arm/arm-app.d: Likewise.
    	* ld-arm/arm-lib-plt32.d: Likewise.
    	* ld-arm/arm-lib.d: Likewise.
    	* ld-arm/armthumb-lib.d: Likewise.
    	* ld-arm/cortex-a8-fix-b-plt.d: Likewise.
    	* ld-arm/cortex-a8-fix-bcc-plt.d: Likewise.
    	* ld-arm/cortex-a8-fix-bl-plt.d: Likewise.
    	* ld-arm/cortex-a8-fix-bl-rel-plt.d: Likewise.
    	* ld-arm/cortex-a8-fix-blx-plt.d: Likewise.
    	* ld-arm/farcall-mixed-app-v5.d: Likewise.
    	* ld-arm/farcall-mixed-app.d: Likewise.
    	* ld-arm/farcall-mixed-app2.d: Likewise.
    	* ld-arm/farcall-mixed-lib-v4t.d: Likewise.
    	* ld-arm/farcall-mixed-lib.d: Likewise.
    	* ld-arm/ifunc-10.dd: Likewise.
    	* ld-arm/ifunc-14.dd: Likewise.
    	* ld-arm/ifunc-15.dd: Likewise.
    	* ld-arm/ifunc-3.dd: Likewise.
    	* ld-arm/ifunc-4.dd: Likewise.
    	* ld-arm/ifunc-9.dd: Likewise.
    	* ld-arm/long-plt-format.d: Likewise.
    	* ld-arm/mixed-app-v5.d: Likewise.
    	* ld-arm/mixed-app.d: Likewise.
    	* ld-arm/mixed-lib.d: Likewise.
    	* ld-arm/tls-lib-loc.d: Likewise.
    	* ld-cris/dso-pltdis1.d: Likewise.
    	* ld-cris/dso-pltdis2.d: Likewise.
    	* ld-cris/dso12-pltdis.d: Likewise.
    	* ld-elf/symbolic-func.r: Likewise.
    	* ld-frv/fdpic-pie-1.d: Likewise.
    	* 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.
    	* ld-frv/tls-dynamic-2.d: Likewise.
    	* ld-frv/tls-initial-shared-2.d: Likewise.
    	* ld-frv/tls-relax-shared-2.d: Likewise.
    	* ld-frv/tls-shared-2.d: Likewise.
    	* ld-i386/plt-nacl.pd: Likewise.
    	* ld-i386/plt-pic-nacl.pd: Likewise.
    	* ld-i386/plt-pic.pd: Likewise.
    	* ld-i386/plt.pd: Likewise.
    	* ld-i386/pr19636-1d-nacl.d: Likewise.
    	* ld-i386/pr19636-1d.d: Likewise.
    	* ld-i386/pr19636-2c-nacl.d: Likewise.
    	* ld-i386/pr19636-2c.d: Likewise.
    	* ld-ifunc/ifunc-21-x86-64.d: Likewise.
    	* ld-ifunc/ifunc-22-x86-64.d: Likewise.
    	* ld-ifunc/pr17154-i386.d: Likewise.
    	* ld-ifunc/pr17154-x86-64.d: Likewise.
    	* ld-m68k/plt1-68020.d: Likewise.
    	* ld-m68k/plt1-cpu32.d: Likewise.
    	* ld-m68k/plt1-isab.d: Likewise.
    	* ld-m68k/plt1-isac.d: Likewise.
    	* ld-metag/shared.d: Likewise.
    	* ld-metag/stub_pic_app.d: Likewise.
    	* ld-metag/stub_pic_shared.d: Likewise.
    	* ld-metag/stub_shared.d: Likewise.
    	* ld-s390/tlsbin_64.dd: Likewise.
    	* ld-s390/tlspic_64.dd: Likewise.
    	* ld-tic6x/shlib-1.dd: Likewise.
    	* ld-tic6x/shlib-1b.dd: Likewise.
    	* ld-tic6x/shlib-1rb.dd: Likewise.
    	* ld-tic6x/shlib-app-1.dd: Likewise.
    	* ld-tic6x/shlib-app-1b.dd: Likewise.
    	* ld-tic6x/shlib-app-1r.dd: Likewise.
    	* ld-tic6x/shlib-app-1rb.dd: Likewise.
    	* ld-tic6x/shlib-noindex.dd: Likewise.
    	* ld-vax-elf/export-class-data.dd: Likewise.
    	* ld-vax-elf/plt-local-lib.dd: Likewise.
    	* ld-vax-elf/plt-local.dd: Likewise.
    	* ld-x86-64/bnd-ifunc-2.d: Likewise.
    	* ld-x86-64/bnd-plt-1.d: Likewise.
    	* ld-x86-64/gotpcrel1.dd: Likewise.
    	* ld-x86-64/libno-plt-1b.dd: Likewise.
    	* ld-x86-64/load1c-nacl.d: Likewise.
    	* ld-x86-64/load1c.d: Likewise.
    	* ld-x86-64/load1d-nacl.d: Likewise.
    	* ld-x86-64/load1d.d: Likewise.
    	* ld-x86-64/mov1a.d: Likewise.
    	* ld-x86-64/mov1b.d: Likewise.
    	* ld-x86-64/mov1c.d: Likewise.
    	* ld-x86-64/mov1d.d: Likewise.
    	* ld-x86-64/mov2a.d: Likewise.
    	* ld-x86-64/mov2b.d: Likewise.
    	* ld-x86-64/mov2c.d: Likewise.
    	* ld-x86-64/mov2d.d: Likewise.
    	* ld-x86-64/mpx3.dd: Likewise.
    	* ld-x86-64/mpx4.dd: Likewise.
    	* ld-x86-64/no-plt-1a.dd: Likewise.
    	* ld-x86-64/no-plt-1b.dd: Likewise.
    	* ld-x86-64/no-plt-1c.dd: Likewise.
    	* ld-x86-64/no-plt-1e.dd: Likewise.
    	* ld-x86-64/no-plt-1f.dd: Likewise.
    	* ld-x86-64/no-plt-1g.dd: Likewise.
    	* ld-x86-64/plt-main-bnd.dd: Likewise.
    	* ld-x86-64/plt-nacl.pd: Likewise.
    	* ld-x86-64/plt.pd: Likewise.
    	* ld-x86-64/pr18591.d: Likewise.
    	* ld-x86-64/pr19609-1c.d: Likewise.
    	* ld-x86-64/pr19609-1e.d: Likewise.
    	* ld-x86-64/pr19609-1j.d: Likewise.
    	* ld-x86-64/pr19609-1l.d: Likewise.
    	* ld-x86-64/pr19609-1m.d: Likewise.
    	* ld-x86-64/pr19609-5b.d: Likewise.
    	* ld-x86-64/pr19609-5c.d: Likewise.
    	* ld-x86-64/pr19609-5e.d: Likewise.
    	* ld-x86-64/pr19609-6b.d: Likewise.
    	* ld-x86-64/pr19609-7b.d: Likewise.
    	* ld-x86-64/pr19609-7d.d: Likewise.
    	* ld-x86-64/pr19636-2d.d: Likewise.
    	* ld-x86-64/pr20093-1.d: Likewise.
    	* ld-x86-64/pr20093-2.d: Likewise.
    	* ld-x86-64/pr20253-1b.d: Likewise.
    	* ld-x86-64/pr20253-1d.d: Likewise.
    	* ld-x86-64/pr20253-1f.d: Likewise.
    	* ld-x86-64/pr20253-1h.d: Likewise.
    	* ld-x86-64/pr20253-1j.d: Likewise.
    	* ld-x86-64/pr20253-1l.d: Likewise.
    	* ld-x86-64/protected3.d: Likewise.
    	* ld-x86-64/tlsbin.dd: Likewise.
    	* ld-x86-64/tlsbin2.dd: Likewise.
    	* ld-x86-64/tlsbindesc.dd: Likewise.
    	* ld-x86-64/tlsdesc-nacl.pd: Likewise.
    	* ld-x86-64/tlsdesc.dd: Likewise.
    	* ld-x86-64/tlsdesc.pd: Likewise.
    	* ld-x86-64/tlsgd10.dd: Likewise.
    	* ld-x86-64/tlsgd5.dd: Likewise.
    	* ld-x86-64/tlsgd6.dd: Likewise.
    	* ld-x86-64/tlsgd8.dd: Likewise.
    	* ld-x86-64/tlsgdesc.dd: Likewise.
    	* ld-x86-64/tlspic.dd: Likewise.
    	* ld-x86-64/tlspic2.dd: Likewise.
    
    2016-10-11  Nick Clifton  <nickc@redhat.com>
    
    	PR ld/20535
    	* emultempl/elf32.em (_search_needed): Add support for pseudo
    	environment variables supported by ld.so.  Namely $ORIGIN, $LIB
    	and $PLATFORM.
    	* configure.ac: Add getauxval to list AC_CHECK_FUNCS list.
    	* config.in: Regenerate.
    	* configure: Regenerate.
    
    2016-10-11  Alan Modra  <amodra@gmail.com>
    
    	* ldlang.c (lang_do_assignments_1): Descend into output section
    	statements that do not yet have bfd sections.  Set symbol section
    	temporarily for symbols defined in such statements to the undefined
    	section.  Don't error on data or reloc statements until final phase.
    	* ldexp.c (exp_fold_tree_1 <etree_assign>): Handle bfd_und_section
    	in expld.section.
    	* testsuite/ld-mmix/bpo-10.d: Adjust.
    	* testsuite/ld-mmix/bpo-11.d: Adjust.
    
    2016-10-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* emulparams/elf64_s390.sh: Move binary start to 16M.
    	* testsuite/ld-s390/tlsbin_64.dd: Adjust testcases accordingly.
    	* testsuite/ld-s390/tlsbin_64.rd: Likewise.
    
    2016-10-07  Alan Modra  <amodra@gmail.com>
    
    	* ldexp.c (MAX): Define.
    	(exp_unop, exp_binop, exp_trinop): Alloc at least enough for
    	etree_type.value.
    
    2016-10-07  Alan Modra  <amodra@gmail.com>
    
    	* testsuite/lib/ld-lib.exp (is_generic_elf): New, extracted from..
    	* testsuite/ld-elf/elf.exp: ..here.
    
    2016-10-06  Ludovic Court?s  <ludo@gnu.org>
    
    	* emulparams/elf32bmipn32-defs.sh: Shift quote of
    	"x$EMULATION_NAME" to the left to work around
    	<http://ftp.gnu.org/gnu/bash/bash-4.2-patches/bash42-007>.
    
    2016-10-06  Alan Modra  <amodra@gmail.com>
    
    	* lexsup.c: Spell fall through comments consistently and add
    	missing fall through comments.
    
    2016-10-06  Alan Modra  <amodra@gmail.com>
    
    	* plugin.c (asymbol_from_plugin_symbol): Avoid compiler warning
    	by adding return.
    
    2016-10-04  Alan Modra  <amodra@gmail.com>
    
    	* ld.texinfo (Expression Section): Update result of arithmetic
    	expressions.
    	* ldexp.c (arith_result_section): New function.
    	(fold_binary): Use it.
    
    2016-10-04  Alan Modra  <amodra@gmail.com>
    
    	* ldexp.c (exp_value_fold): New function.
    	(exp_unop, exp_binop, exp_trinop): Use it.
    
    2016-09-30  Alan Modra  <amodra@gmail.com>
    
    	* scripttempl/v850.sc: Don't reference __ctbp, __ep, __gp when
    	not relocating.
    	* scripttempl/v850_rh850.sc: Likewise.
    
    2016-09-30  Alan Modra  <amodra@gmail.com>
    
    	PR ld/20528
    	* testsuite/ld-elf/pr20528a.d: xfail generic elf targets.  Allow
    	multiple .text sections for hppa-linux.
    	* testsuite/ld-elf/pr20528b.d: Likewise.
    
    2016-09-30  Alan Modra  <amodra@gmail.com>
    
    	* ldmain.c (default_bfd_error_handler): New function pointer.
    	(ld_bfd_error_handler): New function.
    	(main): Arrange to call it on bfd errors/warnings.
    	(ld_bfd_assert_handler): Enable tail call.
    
    2016-09-30  Alan Modra  <amodra@gmail.com>
    
    	* ldlang.c (ignore_bfd_errors): Update params.
    
    2016-09-29  H.J. Lu  <hongjiu.lu@intel.com>
    
    	PR ld/20528
    	* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
    	merge 2 sections with different SHF_EXCLUDE.
    	* testsuite/ld-elf/pr20528a.d: New file.
    	* testsuite/ld-elf/pr20528a.s: Likewise.
    	* testsuite/ld-elf/pr20528b.d: Likewise.
    	* testsuite/ld-elf/pr20528b.s: Likewise.
    
    2016-09-28  Christophe Lyon  <christophe.lyon@linaro.org>
    
    	PR ld/20608
    	* testsuite/ld-arm/arm-elf.exp: Handle new testcase.
    	* testsuite/ld-arm/farcall-mixed-app2.d: New file.
    	* testsuite/ld-arm/farcall-mixed-app2.r: Likewise.
    	* testsuite/ld-arm/farcall-mixed-app2.s: Likewise.
    	* testsuite/ld-arm/farcall-mixed-app2.sym: Likewise.
    
    2016-09-26  Vlad Zakharov  <vzakhar@synopsys.com>
    
    	* Makefile.in: Regenerate.
    	* configure: Likewise.
    
    2016-09-26  Alan Modra  <amodra@gmail.com>
    
    	* testsuite/ld-powerpc/attr-gnu-4-4.s: Delete.
    	* testsuite/ld-powerpc/attr-gnu-4-14.d: Delete.
    	* testsuite/ld-powerpc/attr-gnu-4-24.d: Delete.
    	* testsuite/ld-powerpc/attr-gnu-4-34.d: Delete.
    	* testsuite/ld-powerpc/attr-gnu-4-41.d: Delete.
    	* testsuite/ld-powerpc/attr-gnu-4-32.d: Adjust expected warning.
    	* testsuite/ld-powerpc/attr-gnu-8-23.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-01.d: Adjust expected output.
    	* testsuite/ld-powerpc/attr-gnu-4-02.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-03.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-10.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-11.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-20.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-22.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-33.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-8-11.d: Likewise.
    	* testsuite/ld-powerpc/powerpc.exp: Don't run deleted tests.
    
    2016-09-23  Akihiko Odaki  <akihiko.odaki.4i@stu.hosei.ac.jp>
    
    	PR ld/20595
    	* testsuite/ld-arm/unwind-4.d: Add -q option to linker command
    	line and -r option to objdump command line.  Match emitted relocs
    	to make sure that superflous relocs are not generated.
    
    2016-09-23  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* emulparams/elf64_s390.sh: Change TEXT_START_ADDR to 256MB.
    	* testsuite/ld-s390/tlsbin_64.dd: Adjust testcase accordingly.
    	* testsuite/ld-s390/tlsbin_64.rd: Likewise.
    
    2016-09-22  Nick Clifton  <nickc@redhat.com>
    
    	* emultempl/elf32.em (_try_needed): In verbose mode, report failed
    	attempts to find a needed library.
    
    2016-09-21  Richard Sandiford  <richard.sandiford@arm.com>
    
    	* testsuite/ld-aarch64/emit-relocs-28.d: Expect spaces after ","
    	in addresses.
    	* testsuite/ld-aarch64/emit-relocs-301-be.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-301.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-302-be.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-302.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-310-be.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-310.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-313.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-515-be.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-515.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-516-be.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-516.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-531.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-532.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-533.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-534.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-535.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-536.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-537.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-538.d: Likewise.
    	* testsuite/ld-aarch64/erratum835769.d: Likewise.
    	* testsuite/ld-aarch64/erratum843419.d: Likewise.
    	* testsuite/ld-aarch64/farcall-b-plt.d: Likewise.
    	* testsuite/ld-aarch64/farcall-bl-plt.d: Likewise.
    	* testsuite/ld-aarch64/gc-plt-relocs.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-21.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-7c.d: Likewise.
    	* testsuite/ld-aarch64/tls-desc-ie.d: Likewise.
    	* testsuite/ld-aarch64/tls-large-desc-be.d: Likewise.
    	* testsuite/ld-aarch64/tls-large-desc.d: Likewise.
    	* testsuite/ld-aarch64/tls-large-ie-be.d: Likewise.
    	* testsuite/ld-aarch64/tls-large-ie.d: Likewise.
    	* testsuite/ld-aarch64/tls-relax-all.d: Likewise.
    	* testsuite/ld-aarch64/tls-relax-gd-ie.d: Likewise.
    	* testsuite/ld-aarch64/tls-relax-gdesc-ie-2.d: Likewise.
    	* testsuite/ld-aarch64/tls-relax-gdesc-ie.d: Likewise.
    	* testsuite/ld-aarch64/tls-relax-large-desc-ie-be.d: Likewise.
    	* testsuite/ld-aarch64/tls-relax-large-desc-ie.d: Likewise.
    	* testsuite/ld-aarch64/tls-tiny-desc.d: Likewise.
    	* testsuite/ld-aarch64/tls-tiny-gd.d: Likewise.
    
    gas	* gas/arm/tls.d: Adjust output to match change in objdump.