Make some improvements to how SORT_* specifiers and EXCLUDE_FILE specifiers are handl...
authorAndrew Burgess <andrew.burgess@embecosm.com>
Fri, 28 Jul 2017 12:01:10 +0000 (13:01 +0100)
committerNick Clifton <nickc@redhat.com>
Fri, 28 Jul 2017 12:01:10 +0000 (13:01 +0100)
commit2b94abd48aef2d91bae1c35c8c10ebfb8757247d
tree6d1abfbf1470194ed0473dedbc483adee48644e5
parenta808670465869100d4178a572da8a1503d727f3b
Make some improvements to how SORT_* specifiers and EXCLUDE_FILE specifiers are handled in the linker script grammar.

* ldgram.y (ldgram_had_keep): Make static.
(ldgram_vers_current_lang): Likewise.
(filename_spec): New rule.
(input_section_spec_no_keep): Use filename_spec.
(wildcard_maybe_exclude): New rule.
(wildcard_spec): Rename to...
(section_name_spec): ...this.
(section_NAME_list): Rename to...
(section_name_list): ...this.
(section_name_spec): Simplifiy and use wildcard_maybe_exclude.
* ldlang.c (placed_commons): Delete.
(lang_add_wild): No longer set placed_commons.
(print_wild_statement): Use full names for SORT specifiers.
* testsuite/ld-scripts/align.exp: Run new tests.
* testsuite/ld-scripts/align3.d: New file.
* testsuite/ld-scripts/align3.t: New file.
* testsuite/ld-scripts/align4.d: New file.
* testsuite/ld-scripts/align4.t: New file.
* testsuite/ld-scripts/align5.d: New file.
* testsuite/ld-scripts/align5.t: New file.
* testsuite/ld-scripts/exclude-file-5.d: New file.
* testsuite/ld-scripts/exclude-file-5.map: New file.
* testsuite/ld-scripts/exclude-file-5.t: New file.
* testsuite/ld-scripts/exclude-file-6.d: New file.
* testsuite/ld-scripts/exclude-file-6.map: New file.
* testsuite/ld-scripts/exclude-file-6.t: New file.
* NEWS: Mention the changes.
20 files changed:
ld/ChangeLog
ld/NEWS
ld/ldgram.y
ld/ldlang.c
ld/testsuite/ld-scripts/align.exp
ld/testsuite/ld-scripts/align3.d [new file with mode: 0644]
ld/testsuite/ld-scripts/align3.t [new file with mode: 0644]
ld/testsuite/ld-scripts/align4.d [new file with mode: 0644]
ld/testsuite/ld-scripts/align4.t [new file with mode: 0644]
ld/testsuite/ld-scripts/align5.d [new file with mode: 0644]
ld/testsuite/ld-scripts/align5.t [new file with mode: 0644]
ld/testsuite/ld-scripts/exclude-file-5.d [new file with mode: 0644]
ld/testsuite/ld-scripts/exclude-file-5.map [new file with mode: 0644]
ld/testsuite/ld-scripts/exclude-file-5.t [new file with mode: 0644]
ld/testsuite/ld-scripts/exclude-file-6.d [new file with mode: 0644]
ld/testsuite/ld-scripts/exclude-file-6.map [new file with mode: 0644]
ld/testsuite/ld-scripts/exclude-file-6.t [new file with mode: 0644]
ld/testsuite/ld-scripts/exclude-file-7.d [new file with mode: 0644]
ld/testsuite/ld-scripts/exclude-file-7.map [new file with mode: 0644]
ld/testsuite/ld-scripts/exclude-file-7.t [new file with mode: 0644]