[lld] r281521 - Handle arbitrary expressions in DATA_SEGMENT_RELRO_END.

Rafael Espindola via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 14 12:14:01 PDT 2016


Author: rafael
Date: Wed Sep 14 14:14:01 2016
New Revision: 281521

URL: http://llvm.org/viewvc/llvm-project?rev=281521&view=rev
Log:
Handle arbitrary expressions in DATA_SEGMENT_RELRO_END.

Modified:
    lld/trunk/ELF/LinkerScript.cpp
    lld/trunk/test/ELF/linkerscript/data-segment-relro.s

Modified: lld/trunk/ELF/LinkerScript.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/LinkerScript.cpp?rev=281521&r1=281520&r2=281521&view=diff
==============================================================================
--- lld/trunk/ELF/LinkerScript.cpp (original)
+++ lld/trunk/ELF/LinkerScript.cpp Wed Sep 14 14:14:01 2016
@@ -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(")");

Modified: lld/trunk/test/ELF/linkerscript/data-segment-relro.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/linkerscript/data-segment-relro.s?rev=281521&r1=281520&r2=281521&view=diff
==============================================================================
--- lld/trunk/test/ELF/linkerscript/data-segment-relro.s (original)
+++ lld/trunk/test/ELF/linkerscript/data-segment-relro.s Wed Sep 14 14:14:01 2016
@@ -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) } \




More information about the llvm-commits mailing list