]> git.ipfire.org Git - thirdparty/binutils-gdb.git/log
thirdparty/binutils-gdb.git
7 years agoDon't fail in elf32_hppa_set_gp
Alan Modra [Sat, 5 Aug 2017 13:58:21 +0000 (23:28 +0930)] 
Don't fail in elf32_hppa_set_gp

The base bfd_link_hash_table works fine here, the only thing to watch
out for is to only set elf_gp if the output is ELF.

bfd/
* elf32-hppa.c (elf32_hppa_set_gp): Don't require an
hppa_link_hash_table.
ld/
* testsuite/ld-unique/pr21529.d: Don't xfail hppa.

7 years agoAdd more targets to the list of architectures not supporting format changing during...
Nick Clifton [Thu, 3 Aug 2017 10:59:32 +0000 (11:59 +0100)] 
Add more targets to the list of architectures not supporting format changing during linking.  Fix seg-faults triggered when this is attempted.

PR ld/21884
* testsuite/ld-elf/pr21884.d: Add AVR, HPPA, IA64, M68HC1x and
SCORE to list of targets not supporting file format changes during
linking.
* testsuite/ld-unique/pr21529.d: Likewise.
* emultempl/avrelf.em (_before_allocation): Skip for non-ELF
output formats.
(avr_elf_create_output_section_statements): Fail if the output
format is not ELF.
(avr_finish): Do not access the ELF header in non-ELF format
output bfds.
* emultempl/m68hc1xelf.em (_before_allocation): Skip for non-ELF
output formats.
(m68hc11elf_create_output_section_statements): Fail if the putput
format is not ELF.
(m68hc11elf_after_allocation): Skip for non-ELF output formats.

7 years ago__tls_get_addr_opt stub eh_frame info
Alan Modra [Tue, 25 Jul 2017 04:22:32 +0000 (13:52 +0930)] 
__tls_get_addr_opt stub eh_frame info

Since the __tls_get_addr_opt stub saves LR and makes a call, eh_frame
info should be generated to describe how to unwind through the stub.

The patch also changes the way the backend iterates over stubs, from
looking at all sections in stub_bfd to which all dynamic sections are
attached as well, to iterating over the group list, which gets just
the stub sections.  Most binaries will have just one or two stub
groups, so this is a little faster.

bfd/
* elf64-ppc.c (struct map_stub): Add tls_get_addr_opt_bctrl.
(stub_eh_frame_size): New function.
(ppc_size_one_stub): Set group tls_get_addr_opt_bctrl.
(group_sections): Init group tls_get_addr_opt_bctrl.
(ppc64_elf_size_stubs): Update sizing and initialization of
.eh_frame.  Iteration over stubs via group list.
(ppc64_elf_build_stubs): Iterate over stubs via group list.
(ppc64_elf_finish_dynamic_sections): Update finalization of
.eh_frame.
ld/
* testsuite/ld-powerpc/tlsopt5.s: Add cfi.
* testsuite/ld-powerpc/tlsopt5.d: Update.
* testsuite/ld-powerpc/tlsopt5.wf: New file.
* testsuite/ld-powerpc/powerpc.exp: Perform new tlsopt5 test.

7 years agoppc32 tlsopt tests
Alan Modra [Fri, 14 Jul 2017 09:07:26 +0000 (18:37 +0930)] 
ppc32 tlsopt tests

These all were odd in that they used r13 as the GOT pointer.  That
didn't matter for the purpose of testing, but would never occur in
practice.  Also, the tlsopt5 tests could have their global dynamic
sequences optimized to initial exec, so link with -shared.

* testsuite/ld-powerpc/powerpc.exp: Add -shared to tlsop5 tests.
* testsuite/ld-powerpc/tlsopt5.d: Adjust.
* testsuite/ld-powerpc/tlsopt1_32.s: Use r30 as GOT pointer.
* testsuite/ld-powerpc/tlsopt2_32.s: Likewise.
* testsuite/ld-powerpc/tlsopt3_32.s: Likewise.
* testsuite/ld-powerpc/tlsopt4_32.s: Likewise.
* testsuite/ld-powerpc/tlsopt5_32.s: Rewrite.
* testsuite/ld-powerpc/tlsopt1_32.d: Adjust.
* testsuite/ld-powerpc/tlsopt2_32.d: Adjust.
* testsuite/ld-powerpc/tlsopt3_32.d: Adjust.
* testsuite/ld-powerpc/tlsopt5_32.d: Adjust.

7 years agoAutomatic date update in version.in
GDB Administrator [Wed, 23 Aug 2017 00:02:22 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Mon, 21 Aug 2017 00:02:40 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Sun, 20 Aug 2017 00:02:34 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Sat, 19 Aug 2017 00:02:23 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoFix buffer overrun when parsing a corrupt tekhex binary.
Nick Clifton [Fri, 18 Aug 2017 07:47:16 +0000 (08:47 +0100)] 
Fix buffer overrun when parsing a corrupt tekhex binary.

PR binutils/21962
* tekhex.c (getsym): Fix check for source pointer walking off the
end of the input buffer.

7 years agoAutomatic date update in version.in
GDB Administrator [Fri, 18 Aug 2017 00:02:20 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years ago[AArch64] Skip IFUNC relocations in debug sections
Szabolcs Nagy [Thu, 17 Aug 2017 13:48:03 +0000 (14:48 +0100)] 
[AArch64] Skip IFUNC relocations in debug sections

Skip IFUNC relocations in debug sections ignored by ld.so.
Fixes the following ld test failures on aarch64:

FAIL: Build libpr18808.so
FAIL: Build libpr18808.so_2
FAIL: Run pr18808

aborting at bfd/elfnn-aarch64.c:4986 in elf64_aarch64_final_link_relocate.

bfd/
PR ld/18808
* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Skip IFUNC
relocations in debug sections, change abort to _bfd_error_handler.

7 years ago[AArch64] Fix PR18841 ifunc relocation ordering
Szabolcs Nagy [Tue, 4 Jul 2017 14:43:59 +0000 (15:43 +0100)] 
[AArch64] Fix PR18841 ifunc relocation ordering

In order to get the ifunc relocs properly sorted the correct class
needs to be returned.  The code mimics what has been done for x86.

Fixes
FAIL: Run pr18841 with libpr18841c.so

bfd/
PR ld/18841
* elfnn-aarch64.c (elfNN_aarch64_reloc_type_class): Return
reloc_class_ifunc for ifunc symbols.

7 years agoAutomatic date update in version.in
GDB Administrator [Thu, 17 Aug 2017 00:02:46 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Wed, 16 Aug 2017 00:18:01 +0000 (00:18 +0000)] 
Automatic date update in version.in

7 years ago[Patch AArch64] Turn lr, fp, ip0 and ip1 into proper aliases
Ramana Radhakrishnan [Tue, 15 Aug 2017 12:58:01 +0000 (13:58 +0100)] 
[Patch AArch64] Turn lr, fp, ip0 and ip1 into proper aliases

We got a report from the linux-arm-kernel folks about getting spurious
warnings when building the kernel with binutils 2.29. See
https://www.spinics.net/lists/arm-kernel/msg599929.html

which boils down to this testcase.

$> cat /tmp/tst.s
    lr .req x30
    /tmp/tst.s: Assembler messages:
    /tmp/tst.s:1: Warning: ignoring attempt to redefine built-in register 'lr'

Instead let's treat this as a proper alias at startup time thus
avoiding the problem and treating these as proper aliases
rather than new registers. This means that attempts to redefine
the alias with the same "name" will provoke no warning and attempts
to redefine the alias to something else will provoke the above mentioned
warning.

Tested make check-gas and no regressions.

Ok to apply to trunk (and backport to 2.29 branch)?

Regards
Ramana

7 years agoAutomatic date update in version.in
GDB Administrator [Mon, 14 Aug 2017 00:02:37 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agold: Replace --rpath with -Wl,--rpath,
H.J. Lu [Tue, 8 Aug 2017 21:13:46 +0000 (14:13 -0700)] 
ld: Replace --rpath with -Wl,--rpath,

"--rpath ../bfd/.libs ../bfd/.libs/libbfd.so" isn't a valid compiler
command-line option.  We should use -Wl,--rpath, instead of --rpath.

PR ld/21923
* configure.ac (TESTBFDLIB): Replace --rpath with -Wl,--rpath,
for --disable-static.
* configure: Regenerated.

(cherry picked from commit fe22cbc418b35ed6ea3252a204bd351f8c201e0b and
 9165f4548be8612161fb90cfad9bd0cc6a752c90)

7 years agold: Restore linker scripts in PR ld/21884 tests
H.J. Lu [Sun, 13 Aug 2017 12:41:37 +0000 (05:41 -0700)] 
ld: Restore linker scripts in PR ld/21884 tests

OUTPUT_FORMAT in linker script of PR ld/21884 tests is needed to trigger
PR ld/21884.  Restore linker scripts and add nacl versions of the same
tests.

* testsuite/ld-i386/i386.exp: Run pr21884-nacl.
* testsuite/ld-x86-64/x86-64.exp: Likewise.
* testsuite/ld-i386/pr21884.d: Don't run on nacl targets.
* testsuite/ld-x86-64/pr21884.d: Likewise.
* testsuite/ld-i386/pr21884.t: Revert the last change.
* testsuite/ld-x86-64/pr21884.t: Likewise.
* testsuite/ld-i386/pr21884-nacl.d: New file.
* testsuite/ld-i386/pr21884-nacl.t: Likewise.
* testsuite/ld-x86-64/pr21884-nacl.d: Likewise.
* testsuite/ld-x86-64/pr21884-nacl.t: Likewise.

(cherry picked from commit 34c4758cc210e2ca042b0373938e57fd6844f89d)

7 years agoFix i686-nacl and x86_64-nacl pr21884 failures
Alan Modra [Sun, 13 Aug 2017 00:04:04 +0000 (09:34 +0930)] 
Fix i686-nacl and x86_64-nacl pr21884 failures

OUTPUT_FORMAT in the script results in "./ld-new: target elf32-i386
not found" and similarly for the x86_64 test.

* testsuite/ld-i386/pr21884.t: Remove unneeded format, arch and entry.
* testsuite/ld-x86-64/pr21884.t: Likewise.

7 years agoAutomatic date update in version.in
GDB Administrator [Sun, 13 Aug 2017 00:02:08 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Sat, 12 Aug 2017 00:01:50 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoDo not choose a non-ELF format input file to hold the linker created GOT sections.
Nick Clifton [Mon, 7 Aug 2017 09:09:51 +0000 (10:09 +0100)] 
Do not choose a non-ELF format input file to hold the linker created GOT sections.

bfd/

PR 21884
* elf32-i386.c (elf_i386_link_setup_gnu_properties): If the dynobj
has not been set then use the bfd returned by
_bfd_elf_link_setup_gnu_properties.  If that is null then search
through all the input bfds selecting the first normal, ELF format
one.
* elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Likewise.

ld/

PR ld/21884
* testsuite/ld-i386/i386.exp: Run pr21884.
* testsuite/ld-x86-64/x86-64.exp: Likewise.
* testsuite/ld-i386/pr21884.d: New file.
* testsuite/ld-i386/pr21884.t: Likewise.
* testsuite/ld-x86-64/pr21884.d: Likewise.
* testsuite/ld-x86-64/pr21884.t: Likewise.

(cherry picked from commit b7a18930e3925c4092bd975e95bc3603aa1418d9 and
 9593aade74f0da0c08a4ab55e4c59173b07b1f63)

7 years agoAutomatic date update in version.in
GDB Administrator [Fri, 11 Aug 2017 00:02:21 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoBackport fix for a Darwin x86 assembler bug from the mainline.
Nick Clifton [Thu, 10 Aug 2017 16:17:20 +0000 (17:17 +0100)] 
Backport fix for a Darwin x86 assembler bug from the mainline.

PR gas/21939
* config/obj-macho.c (obj_mach_o_set_indirect_symbols): Increase
size of indirect_syms array so that it is large enough to hold
every symbol if necessary.

7 years agoAutomatic date update in version.in
GDB Administrator [Thu, 10 Aug 2017 00:02:38 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years ago[ARM] Don't warn on REG_SP when used in CRC32 instructions
Jiong Wang [Wed, 9 Aug 2017 16:52:54 +0000 (17:52 +0100)] 
[ARM] Don't warn on REG_SP when used in CRC32 instructions

According to ARMv8-A architecture manual, REG_SP is allowed in CRC32
instructions in Thumb mode.  It is REG_PC that will cause unpredictable
behaviours on both ARM and Thumb.

This patch removes the incorrect warning on Thumb mode.

Meanwhile the disassembler is updated to use format "<bitfield>R" instead of
"<bitfield>S".  "<bitfield>S" is not used elsewhere. so I have deleted related
code from the disassembler.

gas/
* config/tc-arm.c (do_crc32_1): Remove warning on REG_SP for thumb_mode.
* testsuite/gas/arm/crc32-armv8-a-bad.d: Update exepcted result.
* testsuite/gas/arm/crc32-armv8-r-bad.d: Likewise.
* testsuite/gas/arm/crc32-armv8-a.d: Likewise.
* testsuite/gas/arm/crc32-armv8-r.d: Likewise.
* testsuite/gas/arm/crc32-armv8-ar-bad.s: Update test case.
* testsuite/gas/arm/crc32-armv8-ar.s: Likewise.
* testsuite/gas/arm/crc32-bad.l: Update expected error message.

opcode/
* arm-dis.c (thumb32_opcodes): Use format 'R' instead of 'S' for
register operands in CRC instructions.
(print_insn_thumb32): Remove "<bitfield>S" support.  Updated the
comments.

7 years agoAutomatic date update in version.in
GDB Administrator [Wed, 9 Aug 2017 00:02:06 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoPR21017, microblaze missing _GLOBAL_OFFSET_TABLE_ symbol
Alan Modra [Tue, 8 Aug 2017 04:35:33 +0000 (14:05 +0930)] 
PR21017, microblaze missing _GLOBAL_OFFSET_TABLE_ symbol

PR 21017
* elf32-microblaze.c (microblaze_elf_check_relocs): Don't bump
got.refcount for GOTOFF relocs, just create .got section.

7 years agoAutomatic date update in version.in
GDB Administrator [Tue, 8 Aug 2017 00:01:50 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Mon, 7 Aug 2017 00:01:56 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Sun, 6 Aug 2017 00:01:39 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Sat, 5 Aug 2017 00:01:34 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Fri, 4 Aug 2017 00:01:40 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoELF checks for orphan placement
Alan Modra [Thu, 3 Aug 2017 04:31:34 +0000 (14:01 +0930)] 
ELF checks for orphan placement

The loop checking for previous orphan placement should run even when
the output is non-ELF.

PR ld/21884
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Revert
last change.  Rename iself to elfinput.  Expand comments.  Condition
ELF checks on having both input and output ELF files.  Extract..
(elf_orphan_compatible): ..this new function.

7 years agoAutomatic date update in version.in
GDB Administrator [Thu, 3 Aug 2017 00:02:06 +0000 (00:02 +0000)] 
Automatic date update in version.in

7 years agoFix double-word branch on bit instruction.
John David Anglin [Wed, 2 Aug 2017 16:06:16 +0000 (12:06 -0400)] 
Fix double-word branch on bit instruction.

        Backport from mainline
        2017-07-31  John David Anglin  <danglin@gcc.gnu.org>

        * config/tc-hppa.c (pa_ip): Clear `d' bit in branch on bit instructions
        with a double-word condition and a fixed bit position greater than 31.

7 years agoCheck ELF section header only for ELF output
H.J. Lu [Wed, 2 Aug 2017 12:10:29 +0000 (05:10 -0700)] 
Check ELF section header only for ELF output

When placing an orphan input section, check ELF section header only for
ELF output.

PR ld/21884
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Check
ELF section header only for ELF output.
* testsuite/ld-elf/pr21884.d: New test.
* testsuite/ld-elf/pr21884.t: Likewise.
* testsuite/ld-elf/pr21884a.s: Likewise.
* testsuite/ld-elf/pr21884b.s: Likewise.

(cherry picked from commit db99ecc08f5b66fbe9cb72e90352c7f77ec71a6e)

7 years agoAutomatic date update in version.in
GDB Administrator [Wed, 2 Aug 2017 00:01:46 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoS/390: Fix claimfile failures
Andreas Krebbel [Tue, 1 Aug 2017 13:15:38 +0000 (15:15 +0200)] 
S/390: Fix claimfile failures

This fixes a segfault when trying to access the local_plt field in the
s390 specific elf data althoug the underlaying object is a generic elf
object.

This fixes the following testsuite failures:

< FAIL: plugin claimfile replace symbol with source
< FAIL: plugin claimfile resolve symbol with source
< FAIL: plugin claimfile replace file with source
< FAIL: plugin set symbol visibility with source
< FAIL: plugin ignore lib with source
< FAIL: plugin claimfile replace lib with source
< FAIL: plugin 2 with source lib
< FAIL: load plugin 2 with source
< FAIL: plugin 3 with source lib
< FAIL: load plugin 3 with source

bfd/ChangeLog:

2017-08-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

Backport from mainline
2017-08-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* elf32-s390.c (elf_s390_finish_dynamic_sections): Skip if it
isn't the S/390 specific elf data.
* elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.

7 years agoS/390: Fix segfault when linking -shared -nostartfiles
Andreas Krebbel [Tue, 1 Aug 2017 08:56:59 +0000 (10:56 +0200)] 
S/390: Fix segfault when linking -shared -nostartfiles

Regression-tested on s390x.

bfd/ChangeLog:

2017-08-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

Backport from mainline
2017-07-28  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* elf32-s390.c (elf_s390_finish_dynamic_sections): Add NULL
pointer check for htab->elf.irelplt.
* elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.

7 years agoS/390: Support z14 as CPU name.
Andreas Krebbel [Tue, 1 Aug 2017 08:56:59 +0000 (10:56 +0200)] 
S/390: Support z14 as CPU name.

With IBM z14 officially announced I can add z14 as CPU name.

No regressions with that patch on s390x.

gas/ChangeLog:

2017-08-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

Backport from mainline
2017-07-21  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/tc-s390.c (s390_parse_cpu): Add z14 as alternate CPU
name.
* doc/as.texinfo: Add z14 to CPU string list.
* doc/c-s390.texi: Likewise.

opcodes/ChangeLog:

2017-08-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

Backport from mainline
2017-07-21  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* s390-mkopc.c (main): Enable z14 as CPU string in the opcode
table.

7 years agoAutomatic date update in version.in
GDB Administrator [Tue, 1 Aug 2017 00:01:47 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoPR 21847, PowerPC64 --plt-localentry again
Alan Modra [Mon, 31 Jul 2017 00:48:46 +0000 (10:18 +0930)] 
PR 21847, PowerPC64 --plt-localentry again

This makes ld warn about --plt-localentry if a version of glibc
without the necessary ld.so checks is detected, and revises the
documentation.

bfd/
* elf64-ppc.c (ppc64_elf_tls_setup): Warn on --plt-localentry
without ld.so checks.
gold/
* powerpc.cc (Target_powerpc::scan_relocs): Warn on --plt-localentry
without ld.so checks.
ld/
* ld.texinfo (plt-localentry): Revise.

7 years agoAutomatic date update in version.in
GDB Administrator [Mon, 31 Jul 2017 00:01:19 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Sun, 30 Jul 2017 00:01:47 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoPR 21847, Don't default PowerPC64 to --plt-localentry
Alan Modra [Sat, 29 Jul 2017 03:03:35 +0000 (12:33 +0930)] 
PR 21847, Don't default PowerPC64 to --plt-localentry

The big comment in ppc64_elf_tls_setup says why.  I've also added some
code to the bfd linker that catches the -lpthread -lc symbol
differences and disable generation of optimized call stubs even when
--plt-localentry is activated.  Gold doesn't yet have that.

PR 21847
bfd/
* elf64-ppc.c (struct ppc_link_hash_entry): Add non_zero_localentry.
(ppc64_elf_merge_symbol): Set non_zero_localentry.
(is_elfv2_localentry0): Test non_zero_localentry.
(ppc64_elf_tls_setup): Default to --no-plt-localentry.
gold/
* powerpc.cc (Target_powerpc::scan_relocs): Default to
--no-plt-localentry.
ld/
* ld.texinfo (plt-localentry): Document.

7 years agoAutomatic date update in version.in
GDB Administrator [Sat, 29 Jul 2017 00:01:49 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agogold: Add put_ch_reserved to 64-bit Chdr_write
H.J. Lu [Fri, 28 Jul 2017 20:39:42 +0000 (13:39 -0700)] 
gold: Add put_ch_reserved to 64-bit Chdr_write

The 64-bit ELF compression header has a reserved field.  It should be
cleared to avoid random bits in it.

elfcpp/

PR gold/21857
* elfcpp.h (Chdr_write): Add put_ch_reserved.
(Chdr_write<64, true>::put_ch_reserved): New.
(Chdr_write<64, false>::put_ch_reserved): Likewise.

gold/

PR gold/21857
* compressed_output.cc (Output_compressed_section::set_final_data_size):
Call put_ch_reserved to clear the reserved field for 64-bit ELF.

(cherry picked from commit 49ba15a23a9d3d8a109ce2fd5053822eee7f1fdf)

7 years agoAutomatic date update in version.in
GDB Administrator [Fri, 28 Jul 2017 00:01:34 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoMove AVR .progmemx.* sections to higher memory.
Georg-Johann Lay [Thu, 27 Jul 2017 13:20:50 +0000 (14:20 +0100)] 
Move AVR .progmemx.* sections to higher memory.

PR ld/21849
* scripttempl/avr.sc: Split .progmemx.* from .progmem.* and locate
former at a higher address.

7 years agoAutomatic date update in version.in
GDB Administrator [Thu, 27 Jul 2017 00:01:59 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoGold: Fix mips.cc for GCC 4.2
H.J. Lu [Wed, 26 Jul 2017 17:39:20 +0000 (10:39 -0700)] 
Gold: Fix mips.cc for GCC 4.2

GCC 4.2 fails to compile "(uint64_t) 0x800080008000" with

error: integer constant is too large for ‘long’ type

This patch adds "llu" suffix to 0x800080008000 for GCC 4.2.

* mips.cc (Mips_relocate_functions): Add "llu" suffix to
0x800080008000.

(cherry picked from commit 104f0515d038716599728f8e2b58aefe3fc188aa)

7 years agoAutomatic date update in version.in
GDB Administrator [Wed, 26 Jul 2017 00:01:32 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoUpdated French translation for the BFD library.
Nick Clifton [Tue, 25 Jul 2017 08:48:28 +0000 (09:48 +0100)] 
Updated French translation for the BFD library.

7 years agoAutomatic date update in version.in
GDB Administrator [Tue, 25 Jul 2017 00:03:01 +0000 (00:03 +0000)] 
Automatic date update in version.in

7 years agoBump version to 2.29.0
Tristan Gingold [Mon, 24 Jul 2017 10:53:49 +0000 (12:53 +0200)] 
Bump version to 2.29.0

bfd/
2017-07-24  Tristan Gingold  <gingold@adacore.com>

* version.m4: Bump version to 2.29.0
* configure: Regenerate.

binutils/
2017-07-24  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

gas/
2017-07-24  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

gprof/
2017-07-24  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

ld/
2017-07-24  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

opcodes/
2017-07-24  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

7 years agoBump version to 2.29 binutils-2_29
Tristan Gingold [Mon, 24 Jul 2017 10:30:28 +0000 (12:30 +0200)] 
Bump version to 2.29

bfd/
2017-07-24  Tristan Gingold  <gingold@adacore.com>

* version.m4: Bump version to 2.29
* configure: Regenerate.

binutils/
2017-07-24  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

gas/
2017-07-24  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

gprof/
2017-07-24  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

ld/
2017-07-24  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

opcodes/
2017-07-24  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

7 years agoAutomatic date update in version.in
GDB Administrator [Mon, 24 Jul 2017 00:01:49 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoCorrect eh_frame info for __glink_PLTresolve
Alan Modra [Sun, 23 Jul 2017 10:33:40 +0000 (20:03 +0930)] 
Correct eh_frame info for __glink_PLTresolve

My PPC64_OPT_LOCALENTRY patch of June 1, git commit f378ab099d, and
the later gold change, git commit 7ee7ff7015, added an insn in
__glink_PLTresolve which needs a corresponding adjustment in the
eh_frame info for asynchronous exceptions to unwind correctly.

It would have been OK for both ABIs to use +5 for the advance before
restore of LR, since we can put the DW_CFA_restore_extended on any
insn after the actual restore and before the r12/r0 copy is clobbered,
but it's slightly better to delay as much as possible.  There are
then more addresses where fewer CFA program insns are executed.

bfd/
* elf64-ppc.c (ppc64_elf_size_stubs): Correct advance to
restore of LR.
gold/
* powerpc.cc (glink_eh_frame_fde_64v2): Correct advance to
restore of LR.
(glink_eh_frame_fde_64v1): Advance to restore of LR at latest
possible insn.

7 years agoAutomatic date update in version.in
GDB Administrator [Sun, 23 Jul 2017 00:01:28 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Sat, 22 Jul 2017 00:01:49 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoUpdated French translation for the binutils subdirectory.
Nick Clifton [Fri, 21 Jul 2017 15:02:44 +0000 (16:02 +0100)] 
Updated French translation for the binutils subdirectory.

* po/fr.po: Updated French translation.

7 years agoAutomatic date update in version.in
GDB Administrator [Fri, 21 Jul 2017 00:01:23 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoUpdate German translation for the opcodes library.
Nick Clifton [Thu, 20 Jul 2017 10:49:12 +0000 (11:49 +0100)] 
Update German translation for the opcodes library.

* po/de.po: Updated German translation.

7 years agoAutomatic date update in version.in
GDB Administrator [Thu, 20 Jul 2017 00:01:56 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Wed, 19 Jul 2017 00:01:49 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoUpdate translations.
Nick Clifton [Tue, 18 Jul 2017 13:41:22 +0000 (14:41 +0100)] 
Update translations.

bfd * po/es.po: Updated translation.
* po/fi.po: Likewise.
* po/fr.po: Likewise.
* po/id.po: Likewise.
* po/ja.po: Likewise.
* po/ro.po: Likewise.
* po/ru.po: Likewise.
* po/sr.po: Likewise.
* po/sv.po: Likewise.
* po/tr.po: Likewise.
* po/uk.po: Likewise.
* po/vi.po: Likewise.
* po/zh_CN.po: Likewise.

* po/hr.po: New translation.
* configure.ac (ALL_LINGUAS): Add hr.
* configure: Regenerate.

gold * po/es.po: Updated translation.
* po/fi.po: Likewise.
* po/fr.po: Likewise.
* po/id.po: Likewise.
* po/it.po: Likewise.
* po/vi.po: Likewise.
* po/zh_CN.po: Likewise.

* po/ja.po: New translation.
* po/sv.po: Likewise.
* po/uk.po: Likewise.

ld * po/bg.po: Updated translation.
* po/da.po: Likewise.
* po/es.po: Likewise.
* po/fi.po: Likewise.
* po/fr.po: Likewise.
* po/id.po: Likewise.
* po/it.po: Likewise.
* po/ja.po: Likewise.
* po/tr.po: Likewise.
* po/uk.po: Likewise.
* po/vi.po: Likewise.
* po/zh_CN.po: Likewise.
* po/zh_TW.po: Likewise.

* po/ru.po: New translation.
* po/de.po: Likewise.
* configure.ac (ALL_LINGUAS): Add ru and de.
* configure: Regenerate.

binutils* po/bg.po: Updated translation.
* po/ca.po: Likewise.
* po/da.po: Likewise.
* po/es.po: Likewise.
* po/fi.po: Likewise.
* po/fr.po: Likewise.
* po/hr.po: Likewise.
* po/id.po: Likewise.
* po/it.po: Likewise.
* po/ja.po: Likewise.
* po/ro.po: Likewise.
* po/ru.po: Likewise.
* po/sk.po: Likewise.
* po/sr.po: Likewise.
* po/sv.po: Likewise.
* po/tr.po: Likewise.
* po/uk.po: Likewise.
* po/vi.po: Likewise.
* po/zh_CN.po: Likewise.
* po/zh_TW.po: Likewise.

gas * po/es.po: Updated translation.
* po/fi.po: Likewise.
* po/fr.po: Likewise.
* po/id.po: Likewise.
* po/ja.po: Likewise.
* po/ru.po: Likewise.
* po/sv.po: Likewise.
* po/tr.po: Likewise.
* po/uk.po: Likewise.
* po/zh_CN.po: Likewise.

gprof * po/bg.po: Updated translation.
* po/da.po: Likewise.
* po/de.po: Likewise.
* po/eo.po: Likewise.
* po/es.po: Likewise.
* po/fi.po: Likewise.
* po/fr.po: Likewise.
* po/ga.po: Likewise.
* po/hu.po: Likewise.
* po/id.po: Likewise.
* po/it.po: Likewise.
* po/ja.po: Likewise.
* po/ms.po: Likewise.
* po/nl.po: Likewise.
* po/pt_BR.po: Likewise.
* po/ro.po: Likewise.
* po/ru.po: Likewise.
* po/sr.po: Likewise.
* po/sv.po: Likewise.
* po/tr.po: Likewise.
* po/uk.po: Likewise.
* po/vi.po: Likewise.

opcodes * po/da.po: Updated translation.
* po/de.po: Likewise.
* po/es.po: Likewise.
* po/fi.po: Likewise.
* po/fr.po: Likewise.
* po/id.po: Likewise.
* po/it.po: Likewise.
* po/nl.po: Likewise.
* po/pt_BR.po: Likewise.
* po/ro.po: Likewise.
* po/sv.po: Likewise.
* po/tr.po: Likewise.
* po/uk.po: Likewise.
* po/vi.po: Likewise.
* po/zh_CN.po: Likewise.

7 years agoAutomatic date update in version.in
GDB Administrator [Tue, 18 Jul 2017 00:01:41 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoSupport single digit GCC version
H.J. Lu [Tue, 11 Jul 2017 15:37:48 +0000 (08:37 -0700)] 
Support single digit GCC version

On Fedora 26, "g++ -dumpversion" displays "7", instead of "7.1.1".
Update selective.exp to support single digit GCC version.  Also
remove duplicated [4-9] version check.

* testsuite/ld-selective/selective.exp: Support single digit
GCC version.

(cherry picked from commit 61a0857c0fb512ce6a2ba4315a37fcce744f6045)

7 years agox86-64: Limit PIC check to shared library build
H.J. Lu [Mon, 17 Jul 2017 19:17:59 +0000 (12:17 -0700)] 
x86-64: Limit PIC check to shared library build

When building an executable, undefined symbols are error and undefined
weak symbols are resolved to zero.  We only need to check PIC for
building a shared library.

bfd/

PR ld/21782
* elf64-x86-64.c (elf_x86_64_relocate_section): Limit PIC check
to shared library.

ld/

PR ld/21782
* testsuite/ld-x86-64/pie3-nacl.d: New file.
* testsuite/ld-x86-64/pie3.d: Likewise.
* testsuite/ld-x86-64/pie3.s: Likewise.
* testsuite/ld-x86-64/x86-64.exp: Run pie3 and pie3-nacl.

(cherry picked from commit c5bb8910e80c6cd80c63541f86471c18375c8198)

7 years agoCorrect previous fix to ar, so that it now only comaplains about a lack of input...
Nick Clifton [Mon, 17 Jul 2017 09:53:53 +0000 (10:53 +0100)] 
Correct previous fix to ar, so that it now only comaplains about a lack of input files if not running in MRI mode.

PR 21433
* ar.c (main): Skip check for no files on the command line when
running in MRI mode.

7 years agoAutomatic date update in version.in
GDB Administrator [Mon, 17 Jul 2017 00:01:53 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years ago__tls_get_addr_opt GOT entries
Alan Modra [Sun, 16 Jul 2017 02:20:52 +0000 (11:50 +0930)] 
__tls_get_addr_opt GOT entries

My 2017-01-24 patch (commit f0158f44) wrongly applied an optimization
of GOT entries for the __tls_get_addr_opt stub, to shared libraries.

When the TLS segment layout is known, as it is for the executable and
shared libraries loaded at initial program start, powerpc supports a
__tls_get_addr optimization.  On the first call to __tls_get_addr for
a given __tls_index GOT entry, the DTPMOD word is set to zero and the
DTPREL word to the thread pointer offset to the thread variable.  This
allows the __tls_get_addr_opt stub to return that value immediately
without making a call into glibc for any subsequent __tls_get_addr
calls using that __tls_index GOT entry.

That's all fine, but I thought I'd be clever and when the thread
variable is local, set up the GOT entry as if __tls_get_addr had
already been called.  Which is good only for the executable, since ld
cannot know the TLS layout for shared libraries.

Of course, if this only applies to executables there isn't much point
to the optimization.  Normally, GD and LD code in an executable will
be converted to IE or LE, losing the __tls_get_addr call.  So the only
time it will trigger is with --no-tls-optimize.  Thus, revert all
support.

* elf64-ppc.c (ppc64_elf_relocate_section): Don't optimize
__tls_index GOT entries when using __tls_get_addr_opt stub.
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.

7 years agoAutomatic date update in version.in
GDB Administrator [Sun, 16 Jul 2017 00:01:42 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Sat, 15 Jul 2017 00:01:53 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoPR ld/21529: Use a linker script to limit output with the test case
Maciej W. Rozycki [Fri, 14 Jul 2017 10:53:08 +0000 (11:53 +0100)] 
PR ld/21529: Use a linker script to limit output with the test case

Complement commit d9409498813c ("Add a testcase for PR ld/21529") and
use a linker script to prevent an inter-segment gap arranged by the
default linker script associated with some targets such as `rx-elf':

$ ld -e main -o tmpdir/dump-elf tmpdir/pr21529.o
$ readelf -l tmpdir/dump-elf
Elf file type is EXEC (Executable file)
Entry point 0x10000004
There are 2 program headers, starting at offset 52

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x001000 0x10000000 0x10000000 0x00008 0x00008 R E 0x1000
  LOAD           0x001ffc 0xbffffffc 0xbffffffc 0x00004 0x00004 RW  0x1000

 Section to Segment mapping:
  Segment Sections...
   00     .text
   01     .stack
$

and converted to padding with the use of the binary BFD for output from
producing unreasonably large files.

ld/
* testsuite/ld-unique/pr21529.ld: New test linker script.
* testsuite/ld-unique/pr21529.d: Use it.

(cherry picked from commit 211b0bed95b3f6b177a541ec52302b8febd6b49c)

7 years agoAutomatic date update in version.in
GDB Administrator [Fri, 14 Jul 2017 00:01:31 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Thu, 13 Jul 2017 00:01:50 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoFixing for PR gold/21491 - Errata workaround can produce broken images.
Han Shen [Mon, 10 Jul 2017 22:23:05 +0000 (15:23 -0700)] 
Fixing for PR gold/21491 - Errata workaround can produce broken images.

The problem is caused by the fact that gold is relocating the stubs
for an entire output section when it processes the relocations for a
particular input section that happened to be designated as the stub
table "owner". The Relocate_task for that input section may or may not
run before the Relocate_task for another input section that contains
the code that needs the erratum fix, but doesn't "own" the stub
table. If it runs before (or might even race with) that other task, it
ends up with a copy of the unrelocated original instruction.

In other words - when calling fix_errata() from
do_relocate_sections(), gold is going through the list of errata stubs
that are associated only with that object. This routine updates the
stored original instruction and replaces it in the output view with a
branch to the stub. Later, as gold is going through the object file's
input sections, it then checks for stub tables "owned" by each input
section, and writes out all the stubs from that stub table, regardless
of what object file each stub is associated with.

Fixed by relocating the erratum stub only after the corresponding
errata spot is fixed. That is to have fix_errata() call
Stub_table::relocate_erratum_stub() for each stub.

gold/ChangeLog
2017-07-06  Han Shen  <shenhan@google.com>

PR gold/21491

* aarch64.cc (Erratum_stub::invalidate_erratum_stub): New method.
(Erratum_stub::is_invalidated_erratum_stub): New method.
(Stub_table::relocate_reloc_stub): Renamed from "relocate_stub".
(Stub_table::relocate_reloc_stubs): Renamed from "relocate_stubs".
(Stub_table::relocate_erratum_stub): New method.
(AArch64_relobj::fix_errata_and_relocate_erratum_stubs): Renamed from
"fix_errata".
(Target_aarch64::relocate_reloc_stub): Renamed from "relocate_stub".

7 years agoFix compile time warnings when using gcc 7.1.1
Nick Clifton [Wed, 12 Jul 2017 11:19:30 +0000 (12:19 +0100)] 
Fix compile time warnings when using gcc 7.1.1

bfd * elf32-xtensa.c (elf_xtensa_get_plt_section): Increase length of
plt_name buffer.
(elf_xtensa_get_gotplt_section): Increase length of got_name
buffer.
* mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add a
default return of FALSE.
* mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc): Add a
default return of FALSE.

binutils * dwarf.c (dwarf_vmatoa_1): Do not pass a NULL string pointer to
sprintf.
* srconv.c (walk_tree_type): Initialise the spare field of the
IT_dty structure.

gas * config/tc-pru.c (md_assemble): Add continue statement after
handling 'E' operand character.
* config/tc-v850.c (md_assemble): Initialise the 'insn' variable.

7 years agoAutomatic date update in version.in
GDB Administrator [Wed, 12 Jul 2017 00:01:33 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years ago[AArch64] Use "#pass" instead of "#..." to filter multiple lines
Jiong Wang [Tue, 11 Jul 2017 10:33:53 +0000 (11:33 +0100)] 
[AArch64] Use "#pass" instead of "#..." to filter multiple lines

ld/
* testsuite/ld-aarch64/dt_textrel.d: Use "#pass" instead of ".*" to
filter out remaining lines.

7 years agoAutomatic date update in version.in
GDB Administrator [Tue, 11 Jul 2017 00:01:40 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoFix compile time warning when building for powerpc-aix target.
Nick Clifton [Mon, 10 Jul 2017 12:19:16 +0000 (13:19 +0100)] 
Fix compile time warning when building for powerpc-aix target.

* coffcode.h (coff_slurp_symbol_table): Do not include an entry
for C_AIX_WEAKEXT if it has the same value as C_WEAKEXT.

7 years agoAutomatic date update in version.in
GDB Administrator [Mon, 10 Jul 2017 00:01:37 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Sun, 9 Jul 2017 00:01:33 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoAutomatic date update in version.in
GDB Administrator [Sat, 8 Jul 2017 00:01:35 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoMIPS/LD: Fix a segfault from ELF `e_flags' access with non-ELF output BFD
Maciej W. Rozycki [Fri, 7 Jul 2017 16:58:03 +0000 (17:58 +0100)] 
MIPS/LD: Fix a segfault from ELF `e_flags' access with non-ELF output BFD

Fix a commit 861fb55ab50a ("Defer allocation of R_MIPS_REL32 GOT
slots"), <https://sourceware.org/ml/binutils/2008-08/msg00096.html>,
regression and a more recent:

FAIL: ld-unique/pr21529

new LD test case failure, observed with all the relevant MIPS targets
whenever the linker is invoked with one or more ELF inputs and the
output format set to `binary'.

The culprit is a segmentation fault caused in `mips_before_allocation'
by a null pointer dereference, where an attempt is made to access the
ELF file header's `e_flags' member, for the purpose of determining
whether to produce a PLT and copy relocations, without first checking
that the output BFD is ELF.  The `e_flags' member is stored in BFD's
private data pointed to by `tdep', which in the case of the `binary' BFD
is null, causing the segmentation fault.  With other non-ELF BFDs such
as SREC `tdep' is not null and consequently no crash may happen and in
that case random data will be interpreted as it was `e_flags'.

Disable the access to `e_flags' then and all the associated checks and
consequently never produce a PLT and copy relocations if output is not a
MIPS ELF BFD, matching `_bfd_mips_elf_merge_private_bfd_data' that does
not process `e_flags' in that case either and therefore does not let us
decide here anyway if all the input objects included in the link are
suitable for use with a PLT and copy relocations.

ld/
* emultempl/mipself.em (mips_before_allocation): Avoid ELF
processing if not MIPS ELF.
* testsuite/ld-mips-elf/binary.d: New test.
* testsuite/ld-mips-elf/binary.ld: New test linker script.
* testsuite/ld-mips-elf/binary.s: New test source.
* testsuite/ld-mips-elf/mips-elf.exp: Run the new test.

(cherry picked from commit e54cb31aa33a124f746ff40c134e20e6d2bc6c34)

7 years agoMake ppc476 testcases more robust
Alan Modra [Fri, 7 Jul 2017 14:19:42 +0000 (23:49 +0930)] 
Make ppc476 testcases more robust

* testsuite/ld-powerpc/ppc476-shared.lnk: Align .bss.
* testsuite/ld-powerpc/ppc476-shared.d: Adjust.
* testsuite/ld-powerpc/ppc476-shared2.d: Adjust.

7 years agoMove print_insn_XXX to an opcodes internal header, again
Alan Modra [Fri, 7 Jul 2017 02:44:53 +0000 (12:14 +0930)] 
Move print_insn_XXX to an opcodes internal header, again

88c1242dc0a changed some generated files rather than the source.

* cgen-dis.in: Include disassemble.h, not dis-asm.h.
* m32c-dis.c: Regenerate.
* mep-dis.c: Regenerate.

7 years agoAdd some missing xcoff support
Alan Modra [Fri, 7 Jul 2017 01:01:27 +0000 (10:31 +0930)] 
Add some missing xcoff support

* coffcode.h (coff_slurp_symbol_table): Handle C_AIX_WEAKEXT.

7 years agoApply ld/Makefile.in patch to the correct file
Alan Modra [Fri, 7 Jul 2017 01:00:53 +0000 (10:30 +0930)] 
Apply ld/Makefile.in patch to the correct file

Makefile.in is generated.

* Makefile.am (eelf64_s390.c): Depend on emultempl/s390.em.

7 years agoAnother _doprnt fix for %L handling
Alan Modra [Fri, 7 Jul 2017 00:49:08 +0000 (10:19 +0930)] 
Another _doprnt fix for %L handling

* bfd.c (_doprnt): Replace "L" with "ll" when printing bfd_vma
as long long.  Move code replacing "ll" with "I64", and simplify.

7 years agoAutomatic date update in version.in
GDB Administrator [Fri, 7 Jul 2017 00:01:32 +0000 (00:01 +0000)] 
Automatic date update in version.in

7 years agoConvert 'L' to 'l' when setting wide_width to 1
H.J. Lu [Thu, 6 Jul 2017 13:52:13 +0000 (06:52 -0700)] 
Convert 'L' to 'l' when setting wide_width to 1

When setting wide_width to 1, convert 'L' to 'l'.  Otherwise, %Lx/%Lu/%Ld
will be passed to fprintf which will treat the argument as long long.

* bfd.c (_doprnt): Convert 'L' to 'l' when setting wide_width
to 1.

(cherry picked from commit a0b7b105236d5bc65e8d3a35f1b4f34bcc5e3705)

7 years agoFix build with GCC 4.2
H.J. Lu [Wed, 5 Jul 2017 16:04:51 +0000 (09:04 -0700)] 
Fix build with GCC 4.2

Fix GCC 4.2 warnings like:

cc1: warnings being treated as errors
binutils-gdb/bfd/dwarf2.c:1844: warning: declaration of ‘time’ shadows a global declaration
/usr/include/time.h:187: warning: shadowed declaration is here
binutils-gdb/bfd/dwarf2.c: In function ‘line_info_add_file_name’:
binutils-gdb/bfd/dwarf2.c:1854: warning: declaration of ‘time’ shadows a global declaration
/usr/include/time.h:187: warning: shadowed declaration is here

bfd/

* dwarf2.c (line_info_add_include_dir_stub): Replace time with
xtime.
(line_info_add_file_name): Likewise.
(decode_line_info): Likewise.

binutils/

* dwarf.c (display_debug_names): Replace index with xindex.

(cherry picked from commit 1d827a720c9659cc8d54059ccc3efae24b875c03)

8 years ago[Patch ARM] Support MVFR2 VFP Coprocessor register for ARMv8-A
Ramana Radhakrishnan [Tue, 4 Jul 2017 15:18:47 +0000 (16:18 +0100)] 
[Patch ARM] Support MVFR2 VFP Coprocessor register for ARMv8-A

This patch adds support mvfr2 control registers for armv8-a as
this was missed from the original port to armv8-a (documented
at G6.2.109 in (Issue B.a) of the ARM-ARM. This was discovered
by an internal user of the GNU toolchain.

I'd like to backport this to the binutils 2.28 and binutils 2.29
release branch if possible (with suitable testing and basically
checking removing the armv8-r parts).

Tristan - are you ok with the backports ?

Applied to trunk.

regards Ramana

2017-07-04  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * gas/config/tc-arm.c (arm_regs): Add MVFR2.
        (do_vmrs): Constraint for MVFR2 and armv8.
        (do_vmsr): Likewise.
        * gas/testsuite/gas/arm/armv8-a+fp.d: Update.
        * gas/testsuite/gas/arm/armv8-ar+fp.s: Likewise.
        * gas/testsuite/gas/arm/armv8-r+fp.d: Likewise.
        * gas/testsuite/gas/arm/vfp-bad.s: Likewise.
        * gas/testsuite/gas/arm/vfp-bad.l: Likewise.
        * opcodes/arm-dis.c: Support MVFR2 in disassembly
        with vmrs and vmsr.

8 years agoBump release.
Tristan Gingold [Tue, 4 Jul 2017 09:24:31 +0000 (11:24 +0200)] 
Bump release.

bfd/
2017-07-04  Tristan Gingold  <gingold@adacore.com>

* version.m4: Bump version to 2.28.90
* configure: Regenerate.

binutils/
2017-07-04  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

gas/
2017-07-04  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

gprof/
2017-07-04  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

ld/
2017-07-04  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

opcodes/
2017-07-04  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

8 years agoAdd markers.
Tristan Gingold [Tue, 4 Jul 2017 09:06:02 +0000 (11:06 +0200)] 
Add markers.

binutils/
2017-07-04  Tristan Gingold  <gingold@adacore.com>

* NEWS: Add marker for 2.29.

gas/
2017-07-04  Tristan Gingold  <gingold@adacore.com>

* NEWS: Add marker for 2.29.

ld/
2017-07-04  Tristan Gingold  <gingold@adacore.com>

* NEWS: Add marker for 2.29.

8 years ago[AArch64] Remove useless and incorrect assertion
Jiong Wang [Mon, 3 Jul 2017 16:15:26 +0000 (17:15 +0100)] 
[AArch64] Remove useless and incorrect assertion

The outer caller elf_link_output_extsym in elflink.c is a traverse function on
all external symbol, and it will only call *finish_dynamic_symbol if some
conditions is meet.  It is executed conditionally.

If the condition to trigger that assertion is satisified, it then won't satify
the outer check in finish_dynamic_symbol, so *finish_dynamic_symbol won't be
called that the assertion is expected to be dead code.

If elf_link_output_extsym is a traverse function that unconditionally called
on external symbols decided to be exported, then an assertion to make sure these
symbols are in sane status might make sense.

bfd/
        * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Remove the
        sanity check at the head of this function.