]> git.ipfire.org Git - thirdparty/binutils-gdb.git/log
thirdparty/binutils-gdb.git
7 years agoRemove padding before stub sections.
Marcus Shawcroft [Sun, 22 Mar 2015 07:48:07 +0000 (07:48 +0000)] 
Remove padding before stub sections.

Lower stub alignment from 8 to 4 bytes thus removing padding between
input section content and stub section content.

7 years agoAdjust veneer count.
Marcus Shawcroft [Wed, 25 Mar 2015 14:39:14 +0000 (14:39 +0000)] 
Adjust veneer count.

7 years agoFactor out _bfd_aarch64_get_stub_for_link_section.
Marcus Shawcroft [Mon, 2 Mar 2015 12:11:40 +0000 (12:11 +0000)] 
Factor out _bfd_aarch64_get_stub_for_link_section.

7 years agoRefactor section_group[] representation.
Marcus Shawcroft [Sat, 28 Feb 2015 00:17:22 +0000 (00:17 +0000)] 
Refactor section_group[] representation.

Change the behaviour of section_group[] such that .stub_sec points to
the stub section attached to the indexed section rather than the stub
section attached to the link_section pointed to be the index section.

This provides a mechanism to get to the stub section following any
input section.  While still allowing the section grouping mechanism to
find the section group stub section associated with an input section
by first following the link_sec pointer.

7 years agoRefactor generation of 835769 workaround stubs.
Marcus Shawcroft [Fri, 20 Mar 2015 19:08:00 +0000 (19:08 +0000)] 
Refactor generation of 835769 workaround stubs.

This patch recognizes that we only need to perform one scan for the
835769 errata and that this scan can take place before we insert
branch stubs.  The erratum scan code is relocated and adjusted to
create stub entries directly rather than populating an intermediate
representation.  Since stub entries are created immediately we can
drop the adhoc stub size adjustment code and allow the generic stub
sizing code to deal with 835769 stub entries.

This patch restructures the code but does not change the workaround
used to deal with erratum 83679, the exact placement of workaround
stubs in the final image may change slightly after this patch due to
stubs being created in a different order.

7 years agoUse _bfd_aarch64_add_stub_entry_in_group.
Marcus Shawcroft [Tue, 24 Mar 2015 11:24:50 +0000 (11:24 +0000)] 
Use _bfd_aarch64_add_stub_entry_in_group.

Adjust the 835769 workaround code to use
_bfd_aarch64_add_stub_entry_in_group rather than inspect the
underlying section_group structure directly.

7 years agoFix build -- missing ';'
Keith Seitz [Mon, 23 Mar 2015 18:41:11 +0000 (11:41 -0700)] 
Fix build -- missing ';'

bfd/ChangeLog

* elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Add
missing ';'.

7 years agoFactor out _bfd_aarch64_erratum_835769_stub_name
Marcus Shawcroft [Fri, 20 Mar 2015 18:54:59 +0000 (18:54 +0000)] 
Factor out _bfd_aarch64_erratum_835769_stub_name

7 years agoFactor out _bfd_aarch64_resize_stubs()
Marcus Shawcroft [Fri, 20 Mar 2015 20:20:35 +0000 (20:20 +0000)] 
Factor out _bfd_aarch64_resize_stubs()

7 years agoFactor stub creation code into _bfd_aarch64_create_stub_section.
Marcus Shawcroft [Tue, 10 Mar 2015 13:16:28 +0000 (13:16 +0000)] 
Factor stub creation code into _bfd_aarch64_create_stub_section.

7 years agoFactor out common behaviour between elf_aarch64_create_or_find_stub_sec and elfNN_aar...
Marcus Shawcroft [Sat, 28 Feb 2015 00:10:21 +0000 (00:10 +0000)] 
Factor out common behaviour between elf_aarch64_create_or_find_stub_sec and elfNN_aarch64_add_stub

7 years agoFlip sense of erratum_835769_scan.
Marcus Shawcroft [Fri, 20 Mar 2015 18:49:29 +0000 (18:49 +0000)] 
Flip sense of erratum_835769_scan.

7 years agoDrop unused argument to elf_aarch64_create_or_find_stub_sec
Marcus Shawcroft [Sat, 28 Feb 2015 00:06:26 +0000 (00:06 +0000)] 
Drop unused argument to elf_aarch64_create_or_find_stub_sec

7 years agoRemove unused variable.
Marcus Shawcroft [Sun, 22 Mar 2015 07:59:48 +0000 (07:59 +0000)] 
Remove unused variable.

7 years agoRemove dead code.
Marcus Shawcroft [Sun, 22 Mar 2015 07:57:18 +0000 (07:57 +0000)] 
Remove dead code.

7 years agoRemoving unused functions.
Marcus Shawcroft [Wed, 4 Mar 2015 12:21:02 +0000 (12:21 +0000)] 
Removing unused functions.

Removing a group of unused functions from the AArch64 BFD backend.

7 years agoRemove Load/Store register (unscaled immediate) alias.
Jiong Wang [Tue, 10 Mar 2015 11:27:56 +0000 (11:27 +0000)] 
Remove Load/Store register (unscaled immediate) alias.

opcodes/ChangeLog:

2015-03-10  Renlin Li  <renlin.li@arm.com>

* aarch64-tbl.h (aarch64_opcode_table): Remove strub, ldurb, ldursb,
         stur, ldur, sturh, ldurh, ldursh, ldursw, prfum F_HAS_ALIAS flag and
         related alias.
* aarch64-asm-2.c: Regenerate.
* aarch64-dis-2.c: Likewise.
* aarch64-opc-2.c: Likewise.

gas/testsuite/ChangeLog:

2015-03-10  Renlin Li  <renlin.li@arm.com>

* gas/aarch64/ldst-reg-uns-imm.d: Adjust expected output.
* gas/aarch64/ldst-reg-unscaled-imm.d: Likewise.
* gas/aarch64/reloc-insn.d: Likewise.

Change-Id: I4fb72ef042024f5c9ea6df5dc365a7e36e92068c

10 years agobfd/version.h: Bump VERSION
Will Newton [Mon, 5 Jan 2015 16:40:40 +0000 (16:40 +0000)] 
bfd/version.h: Bump VERSION

10 years agobfd/version.h: Update VERSION for 2.25 2015.01 release
Will Newton [Mon, 5 Jan 2015 16:30:49 +0000 (16:30 +0000)] 
bfd/version.h: Update VERSION for 2.25 2015.01 release

10 years agosrc-release.sh: Use configure.ac instead of configure.in
Will Newton [Mon, 5 Jan 2015 16:29:56 +0000 (16:29 +0000)] 
src-release.sh: Use configure.ac instead of configure.in

10 years agobfd/version.h: Bump version
Will Newton [Mon, 5 Jan 2015 16:29:39 +0000 (16:29 +0000)] 
bfd/version.h: Bump version

10 years agobfd/version.h: Update version for 2.25 2015.01-1 release
Will Newton [Mon, 5 Jan 2015 16:09:57 +0000 (16:09 +0000)] 
bfd/version.h: Update version for 2.25 2015.01-1 release

10 years agosrc-release.sh: Add support for building binutils-linaro
Will Newton [Mon, 5 Jan 2015 16:08:47 +0000 (16:08 +0000)] 
src-release.sh: Add support for building binutils-linaro

10 years agobfd/version.h: Bump VERSION
Will Newton [Mon, 5 Jan 2015 16:08:31 +0000 (16:08 +0000)] 
bfd/version.h: Bump VERSION

10 years agobfd/version.h: Update version for 2.25 2015.01 release
Will Newton [Mon, 5 Jan 2015 15:53:23 +0000 (15:53 +0000)] 
bfd/version.h: Update version for 2.25 2015.01 release

10 years agoAssign file position for .strtab only if needed
H.J. Lu [Mon, 5 Jan 2015 12:42:37 +0000 (04:42 -0800)] 
Assign file position for .strtab only if needed

bfd/

PR ld/17773
* elflink.c (bfd_elf_final_link): Assign the file position for
the symbol string table only there are symbols to be emitted.

ld/testsuite/

PR ld/17773
* ld-elf/binutils.exp (binutils_test): Add an optional
readelf_options.  Replace -l with $readelf_options.  Add a
gap test.
* ld/testsuite/ld-elf/gap.s: New file.

10 years agoAutomatic date update in version.in
GDB Administrator [Mon, 5 Jan 2015 00:00:54 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Sun, 4 Jan 2015 00:00:58 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Sat, 3 Jan 2015 00:01:00 +0000 (00:01 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Fri, 2 Jan 2015 00:00:58 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Thu, 1 Jan 2015 00:00:53 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Wed, 31 Dec 2014 00:01:06 +0000 (00:01 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Tue, 30 Dec 2014 00:01:11 +0000 (00:01 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Mon, 29 Dec 2014 00:01:08 +0000 (00:01 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Sun, 28 Dec 2014 00:00:53 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Sat, 27 Dec 2014 00:01:00 +0000 (00:01 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Fri, 26 Dec 2014 00:00:49 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Thu, 25 Dec 2014 00:00:47 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Wed, 24 Dec 2014 00:00:52 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoBump to version 2.25.0
Tristan Gingold [Tue, 23 Dec 2014 15:48:31 +0000 (16:48 +0100)] 
Bump to version 2.25.0

bfd/
2014-12-23  Tristan Gingold  <gingold@adacore.com>

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

binutils/
2014-12-23  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

gas/
2014-12-23  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

gprof/
2014-12-23  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

ld/
2014-12-23  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

opcodes/
2014-12-23  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

10 years agoAdd generated files. binutils-2_25
Tristan Gingold [Tue, 23 Dec 2014 14:54:51 +0000 (15:54 +0100)] 
Add generated files.

10 years agoVersion 2.25
Tristan Gingold [Tue, 23 Dec 2014 14:23:18 +0000 (15:23 +0100)] 
Version 2.25

bfd/
2014-12-23  Tristan Gingold  <gingold@adacore.com>

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

binutils/
2014-12-23  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

gas/
2014-12-23  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

gprof/
2014-12-23  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

ld/
2014-12-23  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

opcodes/
2014-12-23  Tristan Gingold  <gingold@adacore.com>

* configure: Regenerate.

10 years agoAutomatic date update in version.in
GDB Administrator [Tue, 23 Dec 2014 00:00:57 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Mon, 22 Dec 2014 00:00:58 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Sun, 21 Dec 2014 00:00:59 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Sat, 20 Dec 2014 00:00:57 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoRework the alignment check for BFD_RELOC_MIPS_18_PCREL_S3.
Matthew Fortune [Tue, 16 Dec 2014 12:39:22 +0000 (12:39 +0000)] 
Rework the alignment check for BFD_RELOC_MIPS_18_PCREL_S3.

gas/

* config/tc-mips.c (md_apply_fix): Apply alignment check
to the symbol and offset rather than *valP for
BFD_RELOC_MIPS_18_PCREL_S3.  Also update the error message
for BFD_RELOC_MIPS_19_PCREL_S2.

gas/testsuite/

* gas/mips/r6-64.s: Remove .align directives from LDPC
instructions and add further tests for LDPC.
* gas/mips/r6-64-n32.d: remove the NOPs from LDPC expected
output and update for new tests.
* gas/mips/r6-64-n64.d: Likewise.
* gas/mips/ldpc-unalign.l: New file.
* gas/mips/ldpc-unalign.s: Likewise.
* gas/mips/mips.exp: Run ldpc-unalign test.

10 years agoFix all failing FPXX tests for tx39-elf.
Matthew Fortune [Thu, 18 Dec 2014 21:28:07 +0000 (21:28 +0000)] 
Fix all failing FPXX tests for tx39-elf.

ld/testsuite/

* ld-mips-elf/attr-gnu-4-00.d: Relax check for ISA extension.
* ld-mips-elf/attr-gnu-4-01.d: Likewise.
* ld-mips-elf/attr-gnu-4-02.d: Likewise.
* ld-mips-elf/attr-gnu-4-03.d: Likewise.
* ld-mips-elf/attr-gnu-4-08.d: Likewise.
* ld-mips-elf/attr-gnu-4-10.d: Likewise.
* ld-mips-elf/attr-gnu-4-11.d: Likewise.
* ld-mips-elf/attr-gnu-4-18.d: Likewise.
* ld-mips-elf/attr-gnu-4-20.d: Likewise.
* ld-mips-elf/attr-gnu-4-22.d: Likewise.
* ld-mips-elf/attr-gnu-4-28.d: Likewise.
* ld-mips-elf/attr-gnu-4-30.d: Likewise.
* ld-mips-elf/attr-gnu-4-33.d: Likewise.
* ld-mips-elf/attr-gnu-4-38.d: Likewise.
* ld-mips-elf/attr-gnu-4-44.d: Likewise.

10 years agoFix undefined weak symbol reloc tests
Matthew Fortune [Thu, 18 Dec 2014 20:08:38 +0000 (20:08 +0000)] 
Fix undefined weak symbol reloc tests

ld/testsuite/

* ld-mips-elf/mips-elf.exp: Update undefweak-overflow tests.
* ld-mips-elf/undefweak-overflow-n32.d: Remove.
* ld-mips-elf/undefweak-overflow-n64.d: Likewise.
* ld-mips-elf/undefweak-overflow.s: Set mips64r6, noreorder and
add a label to mark the micromips region.
* ld-mips-elf/undefweak-overflow.d: Update expected output.

10 years agoAdd in a JALRC alias and fix the NAL instruction.
Matthew Fortune [Tue, 16 Dec 2014 13:33:56 +0000 (13:33 +0000)] 
Add in a JALRC alias and fix the NAL instruction.

opcodes/

* mips-opc.c (mips_builtin_opcodes): Add JALRC alias for JIALC.
Remove the operand from NAL.

gas/testsuite/

* gas/mips/r6.s: Test JALRC and NAL
* gas/mips/r6-n32.d: Add expected output for JALRC and NAL.
* gas/mips/r6-n64.d: Likewise.
* gas/mips/r6.d: Likewise.

10 years ago[MIPS] When calculating a relocation using an undefined weak symbol don't check for...
Andrew Bennett [Thu, 20 Nov 2014 15:40:16 +0000 (15:40 +0000)] 
[MIPS] When calculating a relocation using an undefined weak symbol don't check for overflow.

In MIPS the relocation calculation only ignores the overflow checks for undefined
weak symbols on relocations associated with j/jal.   This patch extends this to
the relocations used by the: b* instructions; pc/gp relative symbol offsets; and the
lwpc/ldpc MIPS r6 instructions.

bfd/
* elfxx-mips.c (mips_elf_calculate_relocation): Only check for overflow
on non-weak undefined symbols.

ld/testsuite/
* ld-mips-elf/mips-elf.exp: Add in undefined weak overflow tests for
o32, n32 and n64.
* ld-mips-elf/undefweak-overflow.s: New test.
* ld-mips-elf/undefweak-overflow.d: New test.
* ld-mips-elf/undefweak-overflow-n32.d: New test.
* ld-mips-elf/undefweak-overflow-n64.d: New test.

10 years agoAutomatic date update in version.in
GDB Administrator [Fri, 19 Dec 2014 00:00:54 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Thu, 18 Dec 2014 00:00:49 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Wed, 17 Dec 2014 00:00:57 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Tue, 16 Dec 2014 00:00:51 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoCheck corrupt input
H.J. Lu [Mon, 15 Dec 2014 16:27:57 +0000 (08:27 -0800)] 
Check corrupt input

PR ld/17713
* elflink.c (_bfd_elf_gc_mark_rsec): Check corrupt input.

10 years agoAutomatic date update in version.in
GDB Administrator [Mon, 15 Dec 2014 00:00:57 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoHandle weak alias for PIE with copy reloc
H.J. Lu [Sun, 14 Dec 2014 07:37:22 +0000 (23:37 -0800)] 
Handle weak alias for PIE with copy reloc

When there is a weak symbol with a real definition, the processor
independent code will have arranged for us to see the real definition
first.  We need to copy the needs_copy bit from the real definition and
check it when allowing copy reloc in PIE.

bfd/

PR ld/17689
* elf64-x86-64.c (elf_x86_64_link_hash_entry): Add needs_copy.
Change has_bnd_reloc to bit field.
(elf_x86_64_link_hash_newfunc): Initialize needs_copy and
has_bnd_reloc to 0.
(elf_x86_64_check_relocs): Set has_bnd_reloc to 1 instead
of TRUE.
(elf_x86_64_adjust_dynamic_symbol): Copy needs_copy from the
real definition to a weak symbol.
(elf_x86_64_allocate_dynrelocs): Also check needs_copy of a
weak symbol for PIE when discarding space for relocs against
symbols which turn out to need copy relocs.
(elf_x86_64_relocate_section): Also check needs_copy of a
weak symbol for PIE with copy reloc.

ld/testsuite/

PR ld/17689
* ld-x86-64/pr17689.out: New file.
* ld-x86-64/pr17689.rd: Likewise.
* ld-x86-64/pr17689a.c: Likewise.
* ld-x86-64/pr17689b.S: Likewise.

* ld-x86-64/x86-64.exp: Run PR ld/17689 tests.

10 years agoAutomatic date update in version.in
GDB Administrator [Sun, 14 Dec 2014 00:00:45 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Sat, 13 Dec 2014 00:00:50 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Fri, 12 Dec 2014 00:00:44 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Thu, 11 Dec 2014 00:00:54 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoDon't access elf tdata in dwarf.c without first checking for an ELF bfd
Alan Modra [Wed, 10 Dec 2014 03:36:42 +0000 (14:06 +1030)] 
Don't access elf tdata in dwarf.c without first checking for an ELF bfd

_bfd_dwarf2_find_nearest_line may be called on a COFF bfd.

* dwarf2.c (read_address): Check bfd_target_elf_flavour before
calling get_elf_backend_data.
(_bfd_dwarf2_find_nearest_line): Fix parens.

10 years agoAutomatic date update in version.in
GDB Administrator [Wed, 10 Dec 2014 00:00:50 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Tue, 9 Dec 2014 00:00:47 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Mon, 8 Dec 2014 00:00:48 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Sun, 7 Dec 2014 00:00:56 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Sat, 6 Dec 2014 00:00:52 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoDefine bfd_elf32_get_synthetic_symtab for x32
H.J. Lu [Fri, 5 Dec 2014 12:52:47 +0000 (04:52 -0800)] 
Define bfd_elf32_get_synthetic_symtab for x32

* elf64-x86-64.c (bfd_elf32_get_synthetic_symtab): New.

10 years agoAdd _bfd_elf_ifunc_get_synthetic_symtab
H.J. Lu [Thu, 4 Dec 2014 22:19:41 +0000 (14:19 -0800)] 
Add _bfd_elf_ifunc_get_synthetic_symtab

In i386 and x86-64 binaries with ifunc, relocations against .got.plt
section may not be in the same order as entries in PLT section.  This
patch adds _bfd_elf_ifunc_get_synthetic_symtab.  It takes a function
pointer which returns an array of PLT entry symbol values.  It calls
the function pointer to get the PLT entry symbol value array indexed
by relocation index, instead of calling plt_sym_val on each relocation
index.

PR binutils/17677
* elf-bfd.h (_bfd_elf_ifunc_get_synthetic_symtab): New prototype.
* elf-ifunc.c (_bfd_elf_ifunc_get_synthetic_symtab): New
function.
* elf32-i386.c (elf_i386_plt_sym_val): Removed.
(elf_backend_plt_sym_val): Likewise.
(elf_i386_get_plt_sym_val): New.
(elf_i386_get_synthetic_symtab): Likewise.
(bfd_elf32_get_synthetic_symtab): Likewise.
* elf64-x86-64.c (elf_x86_64_plt_sym_val): Removed.
(elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise.
(elf_backend_plt_sym_val): Likewise.
(elf_x86_64_get_plt_sym_val): New.
(elf_x86_64_get_synthetic_symtab): Use
_bfd_elf_ifunc_get_synthetic_symtab.
(bfd_elf64_get_synthetic_symtab): Don't undefine for NaCl.

10 years agoAutomatic date update in version.in
GDB Administrator [Fri, 5 Dec 2014 00:00:49 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoPowerPC gold, fix 32-bit branch address arithmetic
Alan Modra [Thu, 4 Dec 2014 11:15:05 +0000 (21:45 +1030)] 
PowerPC gold, fix 32-bit branch address arithmetic

Mixing 64-bit and 32-bit types led to the wrong promotions.  Keep
calculation in same type.  Also fix a case where PLTREL24 reloc addend
should be ignored.

* Powerpc.cc (Target_powerpc::Branch_info::make_stub): Ignore
addend of PLTREL24 reloc when not generating a plt stub.  Make
max_branch_offset an "Address".
(Target_powerpc::Relocate::relocate): Make max_branch_offset
an "Address".

10 years agopowerpc gold, work around pr17670
Alan Modra [Wed, 3 Dec 2014 05:47:23 +0000 (16:17 +1030)] 
powerpc gold, work around pr17670

pr17670 is about an assert triggering on a branch to an undefined
weak symbol, the symbol being undefined due to dropping its comdat
group section.  (Well sort of.  The symbol is actually defined in
an .opd section which isn't part of the group, but the code section
the opd entry points at is dropped.)  So don't assert.
Also, don't make long branch stubs to such symbols, and arrange to
have target-reloc.h code warn when applying relocs that use the sym.

PR 17670
* symtab.cc (Symbol::set_undefined): Remove assertion.
* powerpc.cc (Target_powerpc::symval_for_branch): Don't assert
on symbols defined in discarded sections, instead return false.
Rearrange params, update all callers.
(Target_powerpc::Branch_info::make_stub): Don't make stubs for
branches to syms in discarded sections.
(Global_symbol_visitor_opd::operator()): Set discarded opd syms
undefined and flag as discarded.
(Target_powerpc::Relocate::relocate): Localize variable.

10 years agoAutomatic date update in version.in
GDB Administrator [Thu, 4 Dec 2014 00:01:02 +0000 (00:01 +0000)] 
Automatic date update in version.in

10 years agoReplace copyreloc-main.c with copyreloc-main.S
H.J. Lu [Wed, 3 Dec 2014 16:40:19 +0000 (08:40 -0800)] 
Replace copyreloc-main.c with copyreloc-main.S

* ld-x86-64/copyreloc-main.c: Removed.
* ld-x86-64/copyreloc-main.S: New.
* ld-x86-64/x86-64.exp: Replace copyreloc-main.c with
copyreloc-main.S.

10 years agoReformat elf_x86_64_create_dynamic_sections
H.J. Lu [Wed, 3 Dec 2014 16:10:04 +0000 (08:10 -0800)] 
Reformat elf_x86_64_create_dynamic_sections

* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Reformat.

10 years agopowerpc gold, fix pr17566
Alan Modra [Wed, 3 Dec 2014 11:26:19 +0000 (21:56 +1030)] 
powerpc gold, fix pr17566

Code stolen from arm.cc.

PR 17566
* powerpc.cc (Target_powerpc::Scan::local): Use add_local_section
when adding dynamic relocations against section symbols.

10 years agoX86-64: Allow copy relocs for building PIE
H.J. Lu [Tue, 2 Dec 2014 23:14:28 +0000 (15:14 -0800)] 
X86-64: Allow copy relocs for building PIE

This patch allows copy relocs for non-GOT pc-relative relocation in PIE.

bfd/

* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Always
allow copy relocs for building executables.
(elf_x86_64_adjust_dynamic_symbol): Allocate copy relocs for
PIE.
(elf_x86_64_allocate_dynrelocs): For PIE, discard space for
relocs against symbols which turn out to need copy relocs.
(elf_x86_64_relocate_section): Don't copy a pc-relative
relocation into the output file if the symbol needs copy reloc.

ld/testsuite/

* ld-x86-64/copyreloc-lib.c: New file.
* ld-x86-64/copyreloc-main.c: Likewise.
* ld-x86-64/copyreloc-main.out: Likewise.
* ld-x86-64/copyreloc-main1.rd: Likewise.
* ld-x86-64/copyreloc-main2.rd: Likewise.

* ld-x86-64/x86-64.exp: Run copyreloc tests.

10 years agoAutomatic date update in version.in
GDB Administrator [Wed, 3 Dec 2014 00:00:51 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Tue, 2 Dec 2014 00:01:00 +0000 (00:01 +0000)] 
Automatic date update in version.in

10 years agoAdd tests for PR ld/16452 and PR ld/16457
H.J. Lu [Mon, 1 Dec 2014 14:06:21 +0000 (06:06 -0800)] 
Add tests for PR ld/16452 and PR ld/16457

PR ld/16452
PR ld/16457
* ld-elf/pr16452.map: New file.
* ld-elf/pr16452.od: Likewise.
* ld-elf/pr16452a.c: Likewise.
* ld-elf/pr16452b.c: Likewise.
* ld-elf/pr16457.od: Likewise.

* ld-elf/shared.exp (build_tests): Add tests for PR ld/16452 and
PR ld/16457.

10 years agoAutomatic date update in version.in
GDB Administrator [Mon, 1 Dec 2014 00:00:49 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoPower4 should treat mftb as extended mfspr mnemonic
Alan Modra [Sat, 29 Nov 2014 08:43:17 +0000 (19:13 +1030)] 
Power4 should treat mftb as extended mfspr mnemonic

On further reading of ISA manual it appears gas should have been
treating mftb and mftbu as extended mnemonics for mfspr, for ISA 2.03
and later.

opcodes/
* ppc-opc.c (powerpc_opcodes): Make mftb* generate mfspr for
power4 and later.
gas/testsuite/
* gas/ppc/a2.d: Update for mftb change.
* gas/ppc/476.d: Likewise.

10 years agoDon't deprecate powerpc mftb insn
Alan Modra [Fri, 28 Nov 2014 02:51:52 +0000 (13:21 +1030)] 
Don't deprecate powerpc mftb insn

mftb is marked phased out in the architecture manual, but we can keep
it as an extended mnemonic for mftbl.

* ppc-opc.c (powerpc_opcodes <mftb>): Don't deprecate for power7.
(TB): Delete.
(insert_tbr, extract_tbr): Validate tbr number.

10 years agoDon't output symbol version definitions for non-DT_NEEDED libs
Alan Modra [Thu, 27 Nov 2014 04:46:49 +0000 (15:16 +1030)] 
Don't output symbol version definitions for non-DT_NEEDED libs

PR 16452, 16457
* elflink.c (_bfd_elf_link_find_version_dependencies): Exclude
symbols from libraries that won't be listed in DT_NEEDED.
(elf_link_output_extsym): Don't output verdefs for such symbols.

10 years agoAutomatic date update in version.in
GDB Administrator [Sun, 30 Nov 2014 00:01:05 +0000 (00:01 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Sat, 29 Nov 2014 00:00:50 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Fri, 28 Nov 2014 00:00:46 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Thu, 27 Nov 2014 00:01:07 +0000 (00:01 +0000)] 
Automatic date update in version.in

10 years ago[GOLD] PowerPC relaxation corner case
Alan Modra [Wed, 26 Nov 2014 00:25:58 +0000 (10:55 +1030)] 
[GOLD] PowerPC relaxation corner case

It's possible for the section grouping code to decide that the last
section looked at (the first section by address) doesn't fit into a
group.  In one case that section is already a group owner and that is
handled correctly.  In other cases the section should be put into its
own group.  Like this:

* powerpc.cc (Stub_control::set_output_and_owner): New function.
(Target_powerpc::group_sections): Use it.

10 years agoFix corrupted .eh_frame section with LTO and --gc-sections.
Cary Coutant [Tue, 25 Nov 2014 21:55:42 +0000 (13:55 -0800)] 
Fix corrupted .eh_frame section with LTO and --gc-sections.

Backport from trunk:

When --gc-sections is turned on during an LTO link, the .eh_frame sections
from deferred files are processed before those from the replacement files.
As a result, the section end-cap from crtendS.o is placed ahead of
the .eh_frame data from the replacement files. This patch fixes the bug
by skipping the layout of the deferred sections during GC pass 2.

gold/
PR gold/17639
* object.cc (Sized_relobj_file): Initialize is_deferred_layout_.
(Sized_relobj_file::do_layout): Handle deferred sections properly
during GC pass 1. Don't add reloc sections to deferred list twice.
* object.h (Sized_relobj_file::is_deferred_layout): New function.
(Sized_relobj_file::is_deferred_layout_): New data member.

10 years agoAutomatic date update in version.in
GDB Administrator [Wed, 26 Nov 2014 00:01:02 +0000 (00:01 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Tue, 25 Nov 2014 00:01:45 +0000 (00:01 +0000)] 
Automatic date update in version.in

10 years ago[AArch64] Cortex-A53 Erratum 835769 -- sort maps
Jiong Wang [Mon, 24 Nov 2014 13:49:48 +0000 (13:49 +0000)] 
[AArch64] Cortex-A53 Erratum 835769 -- sort maps

2014-11-24  Tejas Belagod  <tejas.belagod@arm.com>

  bfd/
    * elfnn-aarch64.c (elf_aarch64_compare_mapping): New.
    (erratum_835769_scan): Sort map list.

10 years agoPowerPC64 --plt-align
Alan Modra [Mon, 24 Nov 2014 02:11:33 +0000 (12:41 +1030)] 
PowerPC64 --plt-align

Alignment of plt stubs was broken, firstly because the option was
being dropped due to the alignment value not being set in the "params"
struct used in elf64-ppc.c, and secondly due to not calculating the
number of alignment boundary crossings correctly.

bfd/
* elf64-ppc.c (plt_stub_pad): Correct.
ld/
* ld.texinfo: Correct --plt-align documentation.
* emultempl/ppc64elf.em (plt_stub_align): Delete.  Use and set
params.plt_stub_align instead.

10 years agoAutomatic date update in version.in
GDB Administrator [Mon, 24 Nov 2014 00:00:56 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Sun, 23 Nov 2014 00:00:59 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Sat, 22 Nov 2014 00:00:56 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoAutomatic date update in version.in
GDB Administrator [Fri, 21 Nov 2014 00:00:52 +0000 (00:00 +0000)] 
Automatic date update in version.in

10 years agoPPC gold doesn't check for overflow properly
Alan Modra [Thu, 20 Nov 2014 21:45:04 +0000 (08:15 +1030)] 
PPC gold doesn't check for overflow properly

* powerpc.cc (Target_powerpc::Relocate::relocate): Correct test
for undefined weaks.