summaryrefslogtreecommitdiff
path: root/ld/testsuite
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2021-08-14 09:32:35 +0930
committerAlan Modra <amodra@gmail.com>2021-08-14 09:54:48 +0930
commit4ffb22ec4040030ea36829c74076f35b3ca0872a (patch)
tree16484472ec9b5cdaf746debdd2f62cb499f94406 /ld/testsuite
parent96ddc891f296b9a5f4a2e6788adb38d93b1e14ca (diff)
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')
-rw-r--r--ld/testsuite/ld-elf/overlay.t8
1 files changed, 5 insertions, 3 deletions
diff --git a/ld/testsuite/ld-elf/overlay.t b/ld/testsuite/ld-elf/overlay.t
index 2c50a6b1a4..640af9650f 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")