summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2016-09-14 19:14:01 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2016-09-14 19:14:01 +0000
commit97bdc7220b0c5083df785fcc7a9fbe6d1326e60b (patch)
tree85321a9f08d9c2c458131579bb4af4b846ad0922
parent01f166647195b7ffff11d270648a679fb7b65bf1 (diff)
downloadbcm5719-llvm-97bdc7220b0c5083df785fcc7a9fbe6d1326e60b.tar.gz
bcm5719-llvm-97bdc7220b0c5083df785fcc7a9fbe6d1326e60b.zip
Handle arbitrary expressions in DATA_SEGMENT_RELRO_END.
llvm-svn: 281521
-rw-r--r--lld/ELF/LinkerScript.cpp2
-rw-r--r--lld/test/ELF/linkerscript/data-segment-relro.s2
2 files changed, 2 insertions, 2 deletions
diff --git a/lld/ELF/LinkerScript.cpp b/lld/ELF/LinkerScript.cpp
index 103277729e3..310392c3c18 100644
--- a/lld/ELF/LinkerScript.cpp
+++ b/lld/ELF/LinkerScript.cpp
@@ -1330,7 +1330,7 @@ Expr ScriptParser::readPrimary() {
// the next page boundary for simplicity.
if (Tok == "DATA_SEGMENT_RELRO_END") {
expect("(");
- next();
+ readExpr();
expect(",");
readExpr();
expect(")");
diff --git a/lld/test/ELF/linkerscript/data-segment-relro.s b/lld/test/ELF/linkerscript/data-segment-relro.s
index 94734110ca0..118be033c21 100644
--- a/lld/test/ELF/linkerscript/data-segment-relro.s
+++ b/lld/test/ELF/linkerscript/data-segment-relro.s
@@ -9,7 +9,7 @@
# RUN: . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); \
# RUN: .dynamic : { *(.dynamic) } \
# RUN: .got : { *(.got) } \
-# RUN: . = DATA_SEGMENT_RELRO_END (24, .); \
+# RUN: . = DATA_SEGMENT_RELRO_END (1 ? 24 : 0, .); \
# RUN: .got.plt : { *(.got.plt) } \
# RUN: .data : { *(.data) } \
# RUN: .bss : { *(.bss) } \
OpenPOWER on IntegriCloud