This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH 0/7] Linker script sort/exclue handling
- From: Andrew Burgess <andrew dot burgess at embecosm dot com>
- To: binutils at sourceware dot org
- Cc: Andrew Burgess <andrew dot burgess at embecosm dot com>
- Date: Wed, 26 Jul 2017 16:21:43 +0200
- Subject: [PATCH 0/7] Linker script sort/exclue handling
- Authentication-results: sourceware.org; auth=none
This series of patches makes some improvements to how SORT_*
specifiers and EXCLUDE_FILE specifiers are handled in the linker
script grammar. The aim was to try and make linker script parsing a
little stricter in this area, and also to remove some inconsistencies.
There's also a few related clean up patches, deleting unused code,
making variables static, and renaming some grammar rules (hopefully
for the better).
I've tested the series against 250 different targets, the only
new failures are on alpha64-dec-vms, alpha-dec-vms, mipsisa64sr71k-elf,
and sh-pe, but these targets all fail other similar tests and so
probably need some additional fixing outside the scope of this series.
All feedback welcome,
Thanks,
Andrew
---
Andrew Burgess (7):
ld: Make some variables static
ld: Remove unused file static variable
ld: New filename_spec rule in grammar file
ld: Rename wildcard_spec to section_name_spec in grammar
ld: Use full names for SORT_* specifiers in map files
ld: Make SORT_BY_* and EXCLUDE_FILE separate rules in the grammar
ld: Rename rule in grammar file
ld/ChangeLog | 54 +++++++++++++++++
ld/NEWS | 7 +++
ld/ldgram.y | 97 ++++++++++++++----------------
ld/ldlang.c | 50 ++++++++++++---
ld/testsuite/ld-scripts/align.exp | 3 +
ld/testsuite/ld-scripts/align3.d | 3 +
ld/testsuite/ld-scripts/align3.t | 10 +++
ld/testsuite/ld-scripts/align4.d | 3 +
ld/testsuite/ld-scripts/align4.t | 10 +++
ld/testsuite/ld-scripts/align5.d | 7 +++
ld/testsuite/ld-scripts/align5.t | 11 ++++
ld/testsuite/ld-scripts/exclude-file-5.d | 5 ++
ld/testsuite/ld-scripts/exclude-file-5.map | 8 +++
ld/testsuite/ld-scripts/exclude-file-5.t | 11 ++++
ld/testsuite/ld-scripts/exclude-file-6.d | 5 ++
ld/testsuite/ld-scripts/exclude-file-6.map | 8 +++
ld/testsuite/ld-scripts/exclude-file-6.t | 11 ++++
ld/testsuite/ld-scripts/exclude-file-7.d | 5 ++
ld/testsuite/ld-scripts/exclude-file-7.map | 8 +++
ld/testsuite/ld-scripts/exclude-file-7.t | 11 ++++
20 files changed, 267 insertions(+), 60 deletions(-)
create mode 100644 ld/testsuite/ld-scripts/align3.d
create mode 100644 ld/testsuite/ld-scripts/align3.t
create mode 100644 ld/testsuite/ld-scripts/align4.d
create mode 100644 ld/testsuite/ld-scripts/align4.t
create mode 100644 ld/testsuite/ld-scripts/align5.d
create mode 100644 ld/testsuite/ld-scripts/align5.t
create mode 100644 ld/testsuite/ld-scripts/exclude-file-5.d
create mode 100644 ld/testsuite/ld-scripts/exclude-file-5.map
create mode 100644 ld/testsuite/ld-scripts/exclude-file-5.t
create mode 100644 ld/testsuite/ld-scripts/exclude-file-6.d
create mode 100644 ld/testsuite/ld-scripts/exclude-file-6.map
create mode 100644 ld/testsuite/ld-scripts/exclude-file-6.t
create mode 100644 ld/testsuite/ld-scripts/exclude-file-7.d
create mode 100644 ld/testsuite/ld-scripts/exclude-file-7.map
create mode 100644 ld/testsuite/ld-scripts/exclude-file-7.t
--
2.13.3