diff options
author | Alan Modra <amodra@gmail.com> | 2021-08-14 09:32:35 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2021-08-14 09:54:48 +0930 |
commit | 4ffb22ec4040030ea36829c74076f35b3ca0872a (patch) | |
tree | 16484472ec9b5cdaf746debdd2f62cb499f94406 /ld/testsuite/ld-elf | |
parent | 96ddc891f296b9a5f4a2e6788adb38d93b1e14ca (diff) | |
download | fsf-binutils-gdb-4ffb22ec4040030ea36829c74076f35b3ca0872a.zip fsf-binutils-gdb-4ffb22ec4040030ea36829c74076f35b3ca0872a.tar.gz fsf-binutils-gdb-4ffb22ec4040030ea36829c74076f35b3ca0872a.tar.bz2 |
ld script fill pattern expression
It turns out we do need to backtrack when parsing after all. The
fill_opt component in the section rule swiches to EXPRESSION and back
to SCRIPT, and to find the end of an expression it is necessary to
look ahead one token.
* ldgram.y (section): Throw away lookahead NAME token.
(overlay_section): Likewise.
* testsuite/ld-elf/overlay.t: Add fill pattern on overlays.
Test fill pattern before stupidly named normal sections too,
and before /DISCARD/.
Diffstat (limited to 'ld/testsuite/ld-elf')
-rw-r--r-- | ld/testsuite/ld-elf/overlay.t | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/ld/testsuite/ld-elf/overlay.t b/ld/testsuite/ld-elf/overlay.t index 2c50a6b..640af96 100644 --- a/ld/testsuite/ld-elf/overlay.t +++ b/ld/testsuite/ld-elf/overlay.t @@ -6,9 +6,11 @@ SECTIONS { .text1 {*(.text1)} .text2 {*(.text2)} - .silly-name1 { *(.silly-name1) } - .silly-name2 { *(.silly-name2) } - } + .silly-name1 { *(.silly-name1) } = 0 + .silly-name2 { *(.silly-name2) } = 0 + } = 0 + .silly-name3 : { *(.silly-name3) } = 0 + .silly-name4 : { *(.silly-name4) } = 0 /DISCARD/ : { *(.*) } ASSERT(ADDR(.text1)==ADDR(.text2), "overlay error") ASSERT(ADDR(.silly-name1)==ADDR(.silly-name2), "silly overlay error") |