]> git.ipfire.org Git - thirdparty/binutils-gdb.git/log
thirdparty/binutils-gdb.git
7 years ago[AArch64] Support for ARMv8.1a Adv.SIMD instructions
Matthew Wahab [Tue, 2 Jun 2015 11:20:00 +0000 (12:20 +0100)] 
[AArch64] Support for ARMv8.1a Adv.SIMD instructions

2015-06-02  Matthew Wahab  <matthew.wahab@arm.com>

gas/
  * config/tc-aarch64.c (aarch64_features): Add "rdma".
  * doc/c-aarch64.texi (AArch64 Extensions): Add "rdma".

gas/testsuite/
  * rdma-directive.d: New.
  * rdma.d: New.
  * rdma.s: New.

include/opcode/
  * aarch64.h (AARCH64_FEATURE_RDMA): New.

opcode/
  * aarch64-tbl.h (aarch64_feature_rdma): New.
  (RDMA): New.
  (aarch64_opcode_table): Add "sqrmlah" and "sqrdmlsh" instructions.
  * aarch64-asm-2.c: Regenerate.
  * aarch64-dis-2.c: Regenerate.
  * aarch64-opc-2.c: Regenerate.

7 years ago[AArch64] Support for ARMv8.1a Limited Ordering Regions extension
Matthew Wahab [Tue, 2 Jun 2015 10:29:15 +0000 (11:29 +0100)] 
[AArch64] Support for ARMv8.1a Limited Ordering Regions extension

2015-06-02  Matthew Wahab  <matthew.wahab@arm.com>
include/
  * aarch64.h (AARCH64_FEATURE_LOR): New.

opcodes/
  * aarch64-tbl.h (aarch64_feature_lor): New.
  (LOR): New.
  (aarch64_opdocde_table): Add "ldlar", "ldlarb", "ldlarh", "stllr",
  "stllrb", "stllrh".
  * aarch64-asm-2.c: Regenerate.
  * aarch64-dis-2.c: Regenerate.
  * aarch64-opc-2.c: Regenerate.

gas/
  * config/tc-aarch64.c (aarch64_features): Add "lor".
  * doc/c-aarch64.c (Aarch64 Extensions): Add "lor" to list of
  architecture extensions.

gas/testsuite/
  * lor-directive.d: New.
  * lor.d: New.
  * lor.s: New.

7 years ago[AArch64][GAS] Add support for PAN architecture extension
Adhemerval Zanella [Tue, 6 Oct 2015 17:42:12 +0000 (17:42 +0000)] 
[AArch64][GAS] Add support for PAN architecture extension

2015-06-01  Matthew Wahab  <matthew.wahab@arm.com>
gas/
* config/tc-aarch64.c (parse_sys_reg): New parameter.  Check
target support.  Fix whitespace.
(parse_operands): Update for parse_sys_reg changes.
(aarch64_features): Add "pan".
* doc/c-aarch64.texi (Aarch64 Extensions): Add "pan".

gas/testsuite/
* pan-directive.d: New.
* pan.d: New.
* pan.s: New

Change-Id: I161395ecea6aa607c6c7dccec797b5c558a9efad

7 years ago[AARCH64] Document .arch and .arch_extension directive
Jiong Wang [Tue, 3 Feb 2015 14:02:24 +0000 (14:02 +0000)] 
[AARCH64] Document .arch and .arch_extension directive

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

  gas/
    * doc/c-aarch64.texi (.arch): Document the directive.
    (.arch_extension): Likewise.

Change-Id: I8ec6bf2a389dd1c39fa0a65648a816c61764962c

7 years agoaarch64: allow adding/removing just feature flags via .arch_extension
Jan Beulich [Tue, 18 Nov 2014 13:08:28 +0000 (14:08 +0100)] 
aarch64: allow adding/removing just feature flags via .arch_extension

Rather than requiring to always also set/change the base architecture,
allow just en-/disabling of architecture extensions, matching what ARM
has.

Change-Id: Ibef421216db84a1e90679141be1153fdc115c6d0

7 years agoarm: fix extension feature disabling
Jan Beulich [Wed, 7 Jan 2015 08:39:27 +0000 (09:39 +0100)] 
arm: fix extension feature disabling

Using e.g.

.arch_extension simd
.arch_extension nocrypto

so far results in SIMD support getting disabled, which I can't see being
the purpose of the "no"-prefixed variants of architecture extension
specifications.

Of course it is questionable whether the current, counter intuitive
behavior needs to be retained, and the new behavior perhaps be made work
through e.g. a newly recognized "no-" prefix.

gas/
2015-01-07  Jan Beulich <jbeulich@suse.com>

* gas/config/tc-arm.c (struct arm_option_extension_value_table):
Split field "value" into fields "merge_value" and "clear_value".
(arm_extensions): Adjust initializer accordingly.

Change-Id: I1e06fe022e4b592dd52b702c8653140af2fffa5b

7 years ago[AArch64][libopcode] Add support for PAN architecture extension
Matthew Wahab [Mon, 1 Jun 2015 15:00:28 +0000 (16:00 +0100)] 
[AArch64][libopcode] Add support for PAN architecture extension

The ARMv8.1 architecture introduced the Privileged Access Never extension. This
adds a processor state field PSTATE.PAN which can be accessed using the MRS/MSR
instructions.

This patch adds support for the PAN architecture feature and processor state
field to libopcode.

include/opcode
2015-06-01  Matthew Wahab  <matthew.wahab@arm.com>

* aarch64.h (AARCH64_FEATURE_PAN): New.
(aarch64_sys_reg_supported_p): Declare.
(aarch64_pstatefield_supported_p): Declare.

opcodes/
2015-06-01  Matthew Wahab  <matthew.wahab@arm.com>
* aarch64-opc.c (F_ARCHEXT): New.
(aarch64_sys_regs): Add "pan".
(aarch64_sys_reg_supported_p): New.
(aarch64_pstatefields): Add "pan".
(aarch64_pstatefield_supported_p): New.

Change-Id: I536285a540ecb6ab4fe265e342003c58e9851bca

7 years agogas: section name substitution sequence
Nicolas Pitre [Wed, 10 Jun 2015 03:06:29 +0000 (23:06 -0400)] 
gas: section name substitution sequence

This patch adds the ability to automatically construct a section name
based on the prior section.

When gas is invoked with --sectname-subst, the occurrence of %S in a
section name will be substituted by the name of the current section. For
example:

.macro exception_code
.pushsection %S.exception
[exception code here]
.popsection
.endm

.text
[code]
exception_code
[...]

.section .init
[init code]
exception_code
[...]

The first and second exception_code invocations create the
.text.exception and the .init.exception sections respectively.  This is
useful e.g. to discriminate between anciliary sections that are tied to
.init code and can be discarded at run time when initialization is over
vs anciliary sections tied to .text sections that need to stay resident.

* as.c (show_usage): Document --sectname-subst.
(parse_args): Add --sectname-subst.
* as.h (flag_sectname_subst): New.
* config/obj-elf.c (obj_elf_section_name): Add %S substitution.
* doc/as.texinfo: Document it.

Change-Id: Id580667a5ef03a1d7a11e9bdabd8012703025311

7 years agoChange format of version string
Maxim Kuvyrkov [Wed, 29 Apr 2015 16:41:50 +0000 (18:41 +0200)] 
Change format of version string

7 years agoWorkaround for Cortex A53 erratum 843419
Marcus Shawcroft [Tue, 24 Feb 2015 12:04:41 +0000 (12:04 +0000)] 
Workaround for Cortex A53 erratum 843419

Some early revisions of the Cortex-A53 have an erratum (843419).  The
details of the erratum are quite complex and involve dynamic
conditions.  For the purposes of the workaround we have simplified the
static conditions to an ADRP in the last two instructions of a 4KByte
page, followed within four instructions by a load/store dependent on
the ADRP.

This patch adds support to conservatively scan for and workaround
Cortex A53 erratum 843419.  There are two different workaround
strategies used.  The first is to rewrite ADRP instructions which form
part of an erratum sequence with an ADR instruction.  In situations
where the ADR provides insufficient offset the dependent load or store
instruction from the sequence is moved to a stub section and branches
are inserted from the original sequence to the relocated instruction
and back again.

Stub section sizes are rounded up to a multiple of 4096 in order to
ensure that the act of inserting work around stubs does not create
more errata sequences.

Workaround stubs are always inserted into the stub section associated
with the input section containing the erratum sequence.  This ensures
that the fully relocated form of the veneered load store instruction
is available at the point in time when the stub section is written.

7 years agoImplement branch over stub section.
Marcus Shawcroft [Sun, 22 Mar 2015 08:31:18 +0000 (08:31 +0000)] 
Implement branch over stub section.

Ensure that injection of a stub section does not break a link where
there is an xpectation that flow of control can pass from one input
section to another simply by linking the input sections in series.

The solution here is to allow stub sections to be inserted after any
input section (existing behaviour), but inject an additional branch at
the start of each stub section such that control flow falling into the
stub section will branch over the stub section.

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