This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
gdb and binutils branch master updated. 9d7b48dc6e8415e95f5228a6f66b414827eb0204
- From: aburgess at sourceware dot org
- To: binutils-cvs at sourceware dot org
- Date: 23 Dec 2014 15:46:17 -0000
- Subject: gdb and binutils branch master updated. 9d7b48dc6e8415e95f5228a6f66b414827eb0204
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".
The branch, master has been updated
via 9d7b48dc6e8415e95f5228a6f66b414827eb0204 (commit)
via eac7440d805bec68f583db395aa42c38615daf14 (commit)
from c01feb367543270196672dedf9a8365a2d8d3cff (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=9d7b48dc6e8415e95f5228a6f66b414827eb0204
commit 9d7b48dc6e8415e95f5228a6f66b414827eb0204
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sat Nov 22 23:25:17 2014 +0000
AVR/ld: Propagate link-relax elf header flag correctly.
The AVR target has an elf header flag to indicate if an object was
assembler ready for linker relaxation. If a partial link is performed
then it is important that the link-relax flag in the output object is
set correctly, otherwise, during the final link, we might try to perform
linker relaxation on code that was not assembled suitably.
As the link-relax elf header covers the entire object file we must be
conservative when setting the flag in the output object, so, for a
partial link, any input object that does not have the link-relax flag
set will cause the output object to also not have the link-relax flag
set.
This conservative approach could be softened in future, we only need to
disable the link relax flag if an input file is not marked link-relax
ready, and the input file contains a relaxable section. However, I've
left this optimisation for a later day.
For the final link I've overloaded the use of the link-relax elf header
flag, in a final executable, the flag now indicates if the executable
was built with linker relaxation on or not.
ld/ChangeLog:
* emultempl/avrelf.em: Add include of elf/avr.h.
(avr_finish): New function.
(LDEMUL_FINISH): Added.
ld/testsuite/ChangeLog:
* ld-avr/relax-elf-flags-01.d: New file.
* ld-avr/relax-elf-flags-02.d: New file.
* ld-avr/relax-elf-flags-03.d: New file.
* ld-avr/relax-elf-flags-04.d: New file.
* ld-avr/relax-elf-flags-05.d: New file.
* ld-avr/relax-elf-flags-06.d: New file.
* ld-avr/relax-elf-flags-07.d: New file.
* ld-avr/relax-elf-flags-08.d: New file.
* ld-avr/relax-elf-flags-a.s: New file.
* ld-avr/relax-elf-flags-b.s: New file.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=eac7440d805bec68f583db395aa42c38615daf14
commit eac7440d805bec68f583db395aa42c38615daf14
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date: Sat Nov 22 23:19:31 2014 +0000
AVR: Only set link-relax elf flag when appropriate.
The AVR target uses a bit in the elf header flags to indicate if the
object was assembled ready for linker relaxation. Previously this flag
was always set, even when the object was not assembled ready for linker
relaxation.
This patch moves setting of the flag into the assembler, and sets it
only when the assembler is preparing the file for linker relaxation.
bfd/ChangeLog:
* elf32-avr.c (bfd_elf_avr_final_write_processing): Don't set
EF_AVR_LINKRELAX_PREPARED unconditionally.
gas/ChangeLog:
* config/tc-avr.c: Add include for elf/avr.h.
(avr_elf_final_processing): New function.
* config/tc-avr.h (elf_tc_final_processing): Define.
(avr_elf_final_processing): Declare
gas/testsuite/ChangeLog:
* gas/avr/link-relax-elf-flag-clear.d: New file.
* gas/avr/link-relax-elf-flag-set.d: New file.
* gas/avr/link-relax-elf-flag.s: New file.
-----------------------------------------------------------------------
Summary of changes:
bfd/ChangeLog | 5 +++
bfd/elf32-avr.c | 1 -
gas/ChangeLog | 7 ++++
gas/config/tc-avr.c | 9 ++++-
gas/config/tc-avr.h | 3 ++
gas/testsuite/ChangeLog | 6 +++
gas/testsuite/gas/avr/link-relax-elf-flag-clear.d | 10 ++++++
gas/testsuite/gas/avr/link-relax-elf-flag-set.d | 10 ++++++
gas/testsuite/gas/avr/link-relax-elf-flag.s | 4 ++
ld/ChangeLog | 6 +++
ld/emultempl/avrelf.em | 37 +++++++++++++++++++++
ld/testsuite/ChangeLog | 13 +++++++
ld/testsuite/ld-avr/relax-elf-flags-01.d | 12 +++++++
ld/testsuite/ld-avr/relax-elf-flags-02.d | 12 +++++++
ld/testsuite/ld-avr/relax-elf-flags-03.d | 12 +++++++
ld/testsuite/ld-avr/relax-elf-flags-04.d | 12 +++++++
ld/testsuite/ld-avr/relax-elf-flags-05.d | 12 +++++++
ld/testsuite/ld-avr/relax-elf-flags-06.d | 12 +++++++
ld/testsuite/ld-avr/relax-elf-flags-07.d | 12 +++++++
ld/testsuite/ld-avr/relax-elf-flags-08.d | 12 +++++++
ld/testsuite/ld-avr/relax-elf-flags-a.s | 4 ++
ld/testsuite/ld-avr/relax-elf-flags-b.s | 4 ++
22 files changed, 213 insertions(+), 2 deletions(-)
create mode 100644 gas/testsuite/gas/avr/link-relax-elf-flag-clear.d
create mode 100644 gas/testsuite/gas/avr/link-relax-elf-flag-set.d
create mode 100644 gas/testsuite/gas/avr/link-relax-elf-flag.s
create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-01.d
create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-02.d
create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-03.d
create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-04.d
create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-05.d
create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-06.d
create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-07.d
create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-08.d
create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-a.s
create mode 100644 ld/testsuite/ld-avr/relax-elf-flags-b.s
hooks/post-receive
--
gdb and binutils