diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2016-09-14 19:14:01 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2016-09-14 19:14:01 +0000 |
| commit | 97bdc7220b0c5083df785fcc7a9fbe6d1326e60b (patch) | |
| tree | 85321a9f08d9c2c458131579bb4af4b846ad0922 | |
| parent | 01f166647195b7ffff11d270648a679fb7b65bf1 (diff) | |
| download | bcm5719-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.cpp | 2 | ||||
| -rw-r--r-- | lld/test/ELF/linkerscript/data-segment-relro.s | 2 |
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) } \ |

