aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-01-13Use require !skip_shlib_testsTom Tromey74-238/+75
This changes some tests to use "require !skip_shlib_tests".
2023-01-13Use require !skip_cplus_testsTom Tromey171-265/+171
This changes some tests to use "require !skip_cplus_tests".
2023-01-13Use require is_x86_like_targetTom Tromey18-77/+18
This changes some tests to use "require is_x86_like_target".
2023-01-13Use require dwarf2_supportTom Tromey215-661/+215
This changes some tests to use "require dwarf2_support".
2023-01-13Use require supports_process_recordTom Tromey10-66/+26
This changes some tests to use "require supports_process_record".
2023-01-13Use require supports_reverseTom Tromey30-101/+30
This changes some tests to use "require supports_reverse".
2023-01-13Use unsupported in 'require'Tom Tromey1-1/+1
This changes 'require' to use 'unsupported' rather than 'untested'. The latter doesn't really seem to be correct according to the DejaGNU documentation: Declares a test was not run. `untested' writes in the log file a message beginning with _UNTESTED_, appending the `message' argument. For example, you might use this in a dummy test whose only role is to record that a test does not yet exist for some feature. The example there, and some text elsewhere, is what makes me think this isn't a great fit. On the other hand, 'unsupported' says: Declares that a test case depends on some facility that does not exist in the testing environment.
2023-01-13Change 'require' to accept a list of predicatesTom Tromey11-41/+30
This changes 'require' to accept a list of simple predicates. For now, each predicate is just the name of a proc, optionally prefixed with "!" to indicate that the result should be inverted. It's possible to make this fancier, but so far I haven't done so. One idea I had is to allow a predicate to have associated text to display on failure. Another is to convert the predicates that need a running gdb (e.g., skip_python_tests) to start their own gdb, and then 'require' could enforce the rule that gdb not be running when it is called.
2023-01-13Don't use ensure_gdb_index with requireTom Tromey6-6/+24
This series changes 'require' to take a list of simple predicates. This patch backs out the one use of 'require' that doesn't conform to this -- calling ensure_gdb_index.
2023-01-13gprofng: PR29987 bfd/archive.c:1447: undefined reference to `filename_ncmp'Vladimir Mezentsev7-26/+4
gprofng/ChangeLog 2023-01-12 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> PR gprofng/29987 * configure.ac: Remove dependencies on libbfd and libiberty. * gprofng/src/Makefile.am: Likewise. * configure: Rebuild. * Makefile.in: Rebuild. * src/Makefile.in: Rebuild. * doc/Makefile.in: Rebuild. * gp-display-html/Makefile.in: Rebuild.
2023-01-13libsframe: replace an strncat with strcatIndu Bhagat1-2/+1
Calling strncat with the size of the src string is not so meaningful. The length argument to strncat should specify the remaining bytes bytes in the destination; although in this case, it appears to be unncessary altogether to use strncat in the first place. libsframe/ * sframe-dump.c (dump_sframe_func_with_fres): Use of strcat is just as fine.
2023-01-13gdbserver: add comments to read_inferior_memory functionAndrew Burgess3-0/+7
Just adding some comments to the gdbserver read_inferior_memory function. No actual code changes.
2023-01-13gdb/infrun: add debug print in print_signal_received_reasonAndrew Burgess1-0/+2
It would have helped me to see an infrun debug line being printed from print_signal_received_reason, so I'm adding one.
2023-01-13gdb: int to bool conversion for normal_stopAndrew Burgess3-9/+7
Change the return type of normal_stop (infrun.c) from int to bool. Update callers. I've also converted the (void) to () in the function declaration and definition, given I was changing those lines anyway. There should be no user visible changes after this commit.
2023-01-13Updated Romainian translation for the bfd sub-directoryNick Clifton2-2742/+2820
2023-01-13Automatic date update in version.inGDB Administrator1-1/+1
2023-01-12Disable ptype/o for dynamic typesTom Tromey3-0/+82
A user pointed out that "ptype/o" of a certain Ada type -- while in C mode -- caused gdb to crash. The bug here is that dynamic types can't really be printed this way. This patch avoids the bug by disabling the "/o" feature in this case. Note that using "ptype/o" in this way makes sense for the time being, because the Ada code doesn't support the "/o" feature (yet); and in any case gdb should not crash.
2023-01-12ARM: Fix ld bloat introduced between binutils-2.38 and 2.39Hans-Peter Nilsson1-4/+0
Since commit 9833b7757d24, "PR28824, relro security issues", ELF_MAXPAGESIZE matters much more, with regards to layout of the linked file. That commit fixed an actual bug, but also exposes a problem for targets were that value is too high. For example, for ARM(32, a.k.a. "Aarch32") specifically bfd_arch_arm, it's set to 64 KiB, making all Linux(/GNU) targets pay an extra amount of up to 60 KiB of bloat in DSO:s and executables. This matters when there are many such files, and where storage is expensive. It's *mostly* bloat when using a Linux kernel, as ARM(32) is a good example of an target where ELF_MAXPAGESIZE is set to an extreme value for an obscure corner-case. The ARM (32-bit) kernel has 4 KiB pages, has had that value forever, and can't be configured to any other value. The use-case is IIUC "Aarch32" emulation on an "Aarch64" (arm64) kernel, but not just that, but a setup where the Linux page-size is configured to something other than the *default* 4 KiB. Not sure there actually any such systems in use, again with both Aarch32 compatibility support and a non-4KiB pagesize, with all the warnings in the kernel config and requiring the "EXPERT" level set on. So, let's do like x86-64 in a2267dbfc9e1 "x86-64: Use only one default max-page-size" and set ELF_MAXPAGESIZE to 4096. bfd: * elf32-arm.c (ELF_MAXPAGESIZE): Always set to 0x1000.
2023-01-12ld/testsuite: Adjust for ELF_MAXPAGESIZE 0x1000Hans-Peter Nilsson7-29/+32
Many tests reflect a setting of ELF_MAXPAGESIZE to 64 KiB. With ELF_MAXPAGESIZE changed to 4 KiB, layout is sometimes different and symbols end up in other places. Avoid churn and regexpification of old test patterns by passing the max-page-size setting active at the time. ld/testsuite: * testsuite/ld-arm/arm-elf.exp, testsuite/ld-arm/non-contiguous-arm2.d, testsuite/ld-arm/non-contiguous-arm3.d, testsuite/ld-arm/non-contiguous-arm5.d, testsuite/ld-arm/non-contiguous-arm6.d, testsuite/ld-arm/thumb-plt-got.d, testsuite/ld-arm/thumb-plt.d: Pass -z max-page-size=0x10000 explicitly to test that rely on that value in output-matching patterns.
2023-01-12libctf: ctf-link outdated input check faultyNick Alcock1-6/+29
This check has a pair of faults which, combined, can lead to memory corruption. Firstly, it assumes that the values of the ctf_link_inputs hash are ctf_dict_t's: they are not, they are ctf_link_input_t's, a much shorter structure. So the flags check which is the core of this is faulty (but happens, by chance, to give the right output on most architectures, since usually we happen to get a 0 here, so the test that checks this usually passes). Worse, the warning that is emitted when the test fails is added to the wrong dict -- it's added to the input dict, whose warning list is never consumed, rendering the whole check useless. But the dict it adds to is still the wrong type, so we end up overwriting something deep in memory (or, much more likely, dereferencing a garbage pointer and crashing). Fixing both reveals another problem: the link input is an *archive* consisting of multiple members, so we have to consider whether to check all of them for the outdated-func-info thing we are checking here. However, no compiler exists that emits a mixture of members with this flag on and members with it off, and the linker always reserializes (and upgrades) such things when it sees them: so all members in a given archive must have the same value of the flag, so we only need to check one member per input archive. libctf/ PR libctf/29983 * ctf-link.c (ctf_link_warn_outdated_inputs): Get the types of members of ctf_link_inputs right, fixing a possible spurious tesst failure / wild pointer deref / overwrite. Emit the warning message into the right dict.
2023-01-12libctf: skip the testsuite from inside dejagnuNick Alcock5-70/+61
The libctf testsuite uses Tcl try/catch to trap run_output errors. This is only supported in reasonably recent Tcls, so we detect the lack of try/catch and suppress the testsuite via an Automake conditional in its absence. But this turns out not to work: Automake produces a check-DEJAGNU target regardless of the value of this conditional and sticks it in an unconditionally-executed part of the makefile, so the testsuite gets executed anyway, and fails with a nasty-looking syntax error. We can't disable it by taking "dejagnu" out of AUTOMAKE_OPTIONS, because if you do that Automake stops you using RUNTEST, RUNTESTFLAGS and other variables users would expect to work. So move to disabling the testsuite from inside the testsuite itself, importing the value of the former Automake conditional as a Tcl variable and exiting very early in default.exp if it's false. * configure.ac (TCL_TRY): No longer an Automake conditional. Rename to... (HAVE_TCL_TRY): ... this. * Makefile.am: Drop TCL_TRY. (development.exp): Set have_tcl_try. * testsuite/config/default.exp: Exit if have_tcl_try is false. * configure: Regenerated. * Makefile.in: Likewise.
2023-01-12ctf: fix various dreadful typos in the ctf_archive format commentsNick Alcock1-4/+4
When defining a format it helps to a) get the endianness right when you explicitly state what it is and b) define things in terms of fields that exist rather than fields that don't. (A bunch of changes of names during implementation were not reflected in these comments...) Thanks to Jose "Eye of the Eagle" Marchesi for spotting these. include/ * ctf.h (struct ctf_archive) [ctfa_ctfs]: The size element of this is in little-endian byte order, not network byte order. (struct ctf_archive_modent): This is positioned right after the end fo the struct ctf_archive, not at the offset of a nonexistent field. The number of elements in the array depends on ctfa_ndicts, not another nonexistent field.
2023-01-12Ensure that libbacktrace/allocfail.sh is not deleted when creating release ↵Nick Clifton3-2/+7
tarballs. * Makefile.am (CLEANFILES): Import patch from upstream to prevent allocafail.sh from being removed when running 'make clean'.
2023-01-12Use __func__ rather than __FUNCTION__Alan Modra13-34/+33
We already use C99's __func__ in places, use it more generally. This patch doesn't change uses in the testsuite. I've also left one in gold.h that is protected by GCC_VERSION < 4003. If any of the remaining uses bothers anyone I invite patches. bfd/ * bfd-in.h: Replace __FUNCTION__ with __func__. * elf32-bfin.c: Likewise. * elfnn-aarch64.c: Likewise. * elfxx-sparc.c: Likewise. * bfd-in2.h: Regenerate. gas/ * config/tc-cris.c: Replace __FUNCTION__ with __func__. * config/tc-m68hc11.c: Likewise. * config/tc-msp430.c: Likewise. gold/ * dwp.h: Replace __FUNCTION__ with __func__. * gold.h: Likewise, except for use inside GCC_VERSION < 4003. ld/ * emultempl/pe.em: Replace __FUNCTION__ with __func__. * emultempl/pep.em: Likewise. * pe-dll.c: Likewise.
2023-01-12Remove myself as hppa32 maintainerAlan Modra1-1/+0
Reflects the reality that I haven't done much on hppa32 for years.
2023-01-11sim: build: drop subdir Makefile.in filesMike Frysinger31-645/+0
These aren't used anymore, so punt them all.
2023-01-12Automatic date update in version.inGDB Administrator1-1/+1
2023-01-11gdb/doc: fix install-html with Texinfo 7Simon Marchi1-3/+12
Starting with Texinfo 7 (this commit [1]), the output directory for the HTML doc format is gdb/doc/gdb_html, rather than gdb/doc/gdb previously. This breaks the install-html target, which expects the HTML doc to be in gdb/doc/gdb: $ make install-html MAKEINFO=makeinfo DESTDIR=/tmp/install make[1]: Entering directory '/home/simark/build/binutils-gdb/gdb' make[2]: Entering directory '/home/simark/build/binutils-gdb/gdb/doc' makeinfo -DHAVE_MAKEINFO_CLICK --html -I /home/simark/src/binutils-gdb/gdb/doc/../../readline/readline/doc -I /home/simark/src/binutils-gdb/gdb/doc/../mi -I /home/simark/src/binutils-gdb/gdb/doc /home/simark/src/binutils-gdb/gdb/doc/gdb.texinfo makeinfo -DHAVE_MAKEINFO_CLICK --html -I /home/simark/src/binutils-gdb/gdb/doc /home/simark/src/binutils-gdb/gdb/doc/stabs.texinfo makeinfo -DHAVE_MAKEINFO_CLICK --html -I /home/simark/src/binutils-gdb/gdb/doc /home/simark/src/binutils-gdb/gdb/doc/annotate.texinfo test -z "/usr/local/share/doc/gdb" || /bin/sh /home/simark/src/binutils-gdb/gdb/doc/../../mkinstalldirs "/tmp/install/usr/local/share/doc/gdb" /usr/bin/install -c -m 644 '/home/simark/src/binutils-gdb/gdb/doc/gdb' '/tmp/install/usr/local/share/doc/gdb/gdb' /usr/bin/install: cannot stat '/home/simark/src/binutils-gdb/gdb/doc/gdb': No such file or directory /usr/bin/install -c -m 644 '/home/simark/src/binutils-gdb/gdb/doc/stabs' '/tmp/install/usr/local/share/doc/gdb/stabs' /usr/bin/install: cannot stat '/home/simark/src/binutils-gdb/gdb/doc/stabs': No such file or directory /usr/bin/install -c -m 644 '/home/simark/src/binutils-gdb/gdb/doc/annotate' '/tmp/install/usr/local/share/doc/gdb/annotate' /usr/bin/install: cannot stat '/home/simark/src/binutils-gdb/gdb/doc/annotate': No such file or directory make[2]: *** [Makefile:278: install-html] Error 1 make[2]: Leaving directory '/home/simark/build/binutils-gdb/gdb/doc' make[1]: *** [Makefile:2240: subdir_do] Error 1 make[1]: Leaving directory '/home/simark/build/binutils-gdb/gdb' make: *** [Makefile:2006: install-html] Error 2 Fix this by adding -o switches to the HTML targets, to force the output directories. [1] https://git.savannah.gnu.org/cgit/texinfo.git/commit/?id=a868421baf9c44227c43490687f8d6b8d6c95414 Change-Id: Ie147dc7b4a52eb2348005b8dc006a41b0784621f
2023-01-11gdb: Update gdbarch.py with latest changes in gdbarch.cThiago Jung Bauermann1-3/+3
Commit 2b16913cdca2 ("gdb: make gdbarch_alloc take ownership of the tdep") changed gdbarch.c without updating gdbarch.py. As a result, running gdbarch.py reverts those changes and causes the build to fail. So change gdbarch.py to generate the current version of gdbarch.c. Approved-By: Simon Marchi <simon.marchi@efficios.com>
2023-01-11Set _WIN32_WINNT in common.m4 configure checkTom Tromey5-5/+48
GCC recently added support for the Windows thread model, enabling libstdc++ to support Windows natively. However, this supporrt requires a version of Windows later than the minimum version that is supported by GDB. PR build/29966 points out that the GDB configure test for std::thread does not work in this situation, because _WIN32_WINNT is not defined in test program, and so <thread> seems to be fine. This patch is an attempt to fix the problem, by using the same setting for _WIN32_WINNT at configure time as is used at build time. I don't have access to one of the older systems so I don't think I can truly test this. I did do a mingw cross build, though. I'm going to ask the bug reporter to test it. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29966
2023-01-11[gdb/testsuite] Fix regexp in gdb.threads/dlopen-libpthread.expSimon Marchi1-2/+2
Fix regexp in gdb.threads/dlopen-libpthread.exp: 'libpthread\\.so' -> '/libpthread\\.so'. Tested on x86_64-linux.
2023-01-11Fix XPASS weak symbols on x86_64-mingw32Alan Modra1-10/+11
Fixes commit 16fea92ccd99. * testsuite/ld-scripts/weak.exp: Don't xfail x86_64 PE targets. Do xfail other PE OS triplets by moving code setting xfails.
2023-01-11Fix a potential illegal memory access in the BFD library when parsing a ↵Nick Clifton2-1/+7
corrupt DWARF file. PR 29988 * dwarf2.c (read_indexed_address): Fix check for an out of range offset.
2023-01-11[gdb/testsuite] Fix gdb.threads/dlopen-libpthread.exp for upstream glibc, againTom de Vries2-6/+41
On an x86_64 laptop running ubuntu 22.04.1 with unity desktop: ... $ echo $XDG_CURRENT_DESKTOP Unity:Unity7:ubuntu ... I have: ... $ echo $LD_PRELOAD libgtk3-nocsd.so.0 ... due to package gtk3-nocsd, a package recommended by unity-session. Consequently, for each exec these dependencies are pulled in, including libpthread.so.0: ... $ lddtree /lib/x86_64-linux-gnu/libgtk3-nocsd.so.0 libgtk3-nocsd.so.0 => /lib/x86_64-linux-gnu/libgtk3-nocsd.so.0 (interpreter => none) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 ld-linux-x86-64.so.2 => /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 ... So, while test-case gdb.threads/dlopen-libpthread.exp appears to run ok: ... # of expected passes 12 # of unsupported tests 1 ... with LD_PRELOAD="" we have instead: ... (gdb) PASS: gdb.threads/dlopen-libpthread.exp: continue to breakpoint: notify info sharedlibrary^M From To Syms Read Shared Object Library^M $hex $hex Yes /lib64/ld-linux-x86-64.so.2^M $hex $hex Yes /lib/x86_64-linux-gnu/libc.so.6^M $hex $hex Yes dlopen-libpthread.so^M (gdb) FAIL: gdb.threads/dlopen-libpthread.exp: libpthread.so found ... The problem is that libpthread is expected as dependency of dlopen-libpthread.so, but it's missing: ... $ lddtree dlopen-libpthread.so dlopen-libpthread.so => ./dlopen-libpthread.so (interpreter => none) libc.so.6 => $outputs/gdb.threads/dlopen-libpthread/dlopen-libpthread.so.d/libc.so.6 ld-linux-x86-64.so.2 => /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 ... due to having glibc 2.35, which has libpthread integrated into libc. Fix this by: - adding a proc has_dependency - using [has_dependency $exec libpthread.so] as hint that libpthread may be preloaded - using ![has_dependency $shlib libpthread.so] to detect that the libpthread.so dependency is missing. Also add a missing return after untested "no matching probes". Tested on x86_64-linux, with and without LD_PRELOAD="".
2023-01-11gas/RISC-V: adjust assembler for opcode table re-orderingJan Beulich1-0/+11
PR gas/29940 With the single-operand JAL entry now sitting ahead of the two-operand one, the parsing of a two-operand insn would first try to parse an 'a'- style operand, resulting in the insertion of bogus (and otherwise unused) undefined symbols in the symbol table, having register names. Since 'a' is used as 1st operand only with J and JAL, and since JAL is the only insn _also_ allowing for a register as 1st operand (and then there being a 2nd one), special case this parsing aspect right there. Reviewed-by: Palmer Dabbelt <palmer@rivosinc.com>
2023-01-11Tidy some global bfd state used by gasAlan Modra1-0/+2
* subsegs.c (subsegs_end): Clear abs and und userdata.
2023-01-11now_seg after closing output fileAlan Modra1-0/+2
now_seg, a pointer into the output file sections, isn't valid after the output file is closed. gas doesn't and shouldn't use now_seg after this point of course, but let's be safe. * output-file.c (output_file_close): Clear now_seg and now_subseg.
2023-01-11Automatic date update in version.inGDB Administrator1-1/+1
2023-01-10Fix bug in 'say_where' transformTom Tromey1-2/+2
The patch to change say_where into a method introduced a bug. This patch fixes it.
2023-01-10gas: Restore tc_pe_dwarf2_emit_offset for pe-aarch64Mark Harmstone2-0/+16
Restores tc_pe_dwarf2_emit_offset in tc-aarch64.c, which is needed to make sure that DWARF offsets are encoded correctly (they're secrels in COFF). There were remnants of this there before, but they were removed by Jedidiah's original patch - presumably because we didn't yet have .secrel32.
2023-01-10Add aarch64-w64-mingw32 targetMark Harmstone14-24/+109
This adds a mingw target for aarch64, including windres and dlltool. Note that the old value of jmp_aarch64_bytes was wrong, and this does the same thing as MSVC does.
2023-01-10Add .secrel32 for pe-aarch64Mark Harmstone4-20/+108
Adds the .secrel32 pseudo-directive and its corresponding relocation.
2023-01-10Add pe-aarch64 relocationsMark Harmstone9-43/+1388
This adds the remaining pe-aarch64 relocations, and gets them working. It also brings in the constant directives from ELF, as otherwise .word would be 2 rather than 4 bytes, and .xword and .dword wouldn't be defined.
2023-01-10Fix size of external_reloc for pe-aarch64Mark Harmstone2-6/+1
This patch series finishes off the work by Jedidiah Thompson, and adds support for creating aarch64 PE images. This should be essentially complete: I've used this to create a "hello world" Windows program in asm, and (with GCC patches) a UEFI program in C. I think the only things missing are the .secidx relocation, which is needed for PDBs, and the SEH pseudos used for C++ exceptions. This first patch fixes the size of RELSZ; I'm not sure why it was 14 in the first place. This is the size of the "Base Relocation Block" in https://learn.microsoft.com/en-us/windows/win32/debug/pe-format, and AFAIK should be 10 for everything.
2023-01-10gdb/dwarf2: Fix 'rw_pieced_value' for values casted to different type.Rohr, Stephan2-4/+51
The 'rw_pieced_value' function is executed when fetching a (lazy) variable described by 'DW_OP_piece' or 'DW_OP_bit_piece'. The function checks the 'type' and 'enclosing_type' fields of the value for identity. * The 'type' field describes the type of a value. * In most cases, the 'enclosing_type' field is identical to the 'type' field. * Scenarios where the 'type' and 'enclosing_type' of an object differ are described in 'gdb/value.c'. Possible cases are: * If a value represents a C++ object, then the 'type' field gives the object's compile-time type. If the object actually belongs to some class derived from `type', perhaps with other base classes and additional members, then `type' is just a subobject of the real thing, and the full object is probably larger than `type' would suggest. * If 'type' is a dynamic class (i.e. one with a vtable), then GDB can actually determine the object's run-time type by looking at the run-time type information in the vtable. GDB may then elect to read the entire object. * If the user casts a variable to a different type (e.g. 'print (<type> []) <variable>'), the value's type is updated before reading the value. If a lazy value is fetched, GDB allocates space based on the enclosing type's length and typically reads the 'full' object. This is not implemented for pieced values and causes an internal error if 'type' and 'enclosing_type' of a value are not identical. However, GDB can read the value based on its type. Thus, this patch fixes the previously mentioned cases by removing the check for identity. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=28605 gdb/ChangeLog: 2022-04-13 Stephan Rohr <stephan.rohr@intel.com> * dwarf2/loc.c (rw_pieced_value): Fix check on 'type' and 'enlcosing_type' when reading pieced value 'v'. gdb/testsuite/ChangeLog: 2022-04-13 Stephan Rohr <stephan.rohr@intel.com> * gdb.dwarf2/shortpiece.exp: Added test cases.
2023-01-10Convert say_where to method on code_breakpointTom Tromey2-25/+28
'say_where' is only useful (and only called for) code breakpoints, so convert it to be a protected method on code_breakpoint.
2023-01-10gdb/doc: use @value{GDBP} in some spotsSimon Marchi1-117/+117
Examples are supposed to use @value{GDBP} instead of the literal "(gdb)" (many of them already do). Update a bunch of spots where it wasn't the case. Change-Id: I601adaad61fd277a5fceea1759e49cede72e456d
2023-01-10gdb/doc: use @value{GDBN} in some spotsSimon Marchi1-4/+4
Change some spots to use "@value{GDBN}" instead of just "GDB". Change-Id: I3fc26438e603538271cf33e4d148be5fda9ece7e
2023-01-10gdb/doc: some whitespace fixesSimon Marchi2-24/+24
For consistency, replace tabs with spaces in all gdb.texinfo menus. Change-Id: I0801a72cf82a8afe49ec842244f42d30719634ce
2023-01-10IBM zSystems: Fix offset relative to static TLSStefan Schulze Frielinghaus4-4/+24
For local exec TLS relocations of the form foo@NTPOFF+x the addend was ignored. bfd/ChangeLog: * elf32-s390.c (elf_s390_relocate_section): Honor addend for R_390_TLS_LE32. * elf64-s390.c (elf_s390_relocate_section): Honor addend for R_390_TLS_LE64. ld/ChangeLog: * testsuite/ld-s390/reloctlsle-1.d: New test. * testsuite/ld-s390/reloctlsle-1.s: New test.