[PATCH] D42190: Handle parsing AT(ADDR(.foo-bar))

Rafael Avila de Espindola via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 17 13:40:36 PST 2018


espindola updated this revision to Diff 130265.
espindola added a comment.

Don't add a RAII class.


https://reviews.llvm.org/D42190

Files:
  ELF/ScriptParser.cpp
  test/ELF/linkerscript/parse-section-in-addr.s


Index: test/ELF/linkerscript/parse-section-in-addr.s
===================================================================
--- /dev/null
+++ test/ELF/linkerscript/parse-section-in-addr.s
@@ -0,0 +1,10 @@
+# REQUIRES: x86
+# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
+
+# RUN: echo "SECTIONS {                                   \
+# RUN:         .foo-bar : AT(ADDR(.foo-bar)) { *(.text) } \
+# RUN:       }" > %t.script
+# RUN: ld.lld -o %t.so --script %t.script %t.o -shared
+# RUN: llvm-readelf -S %t.so | FileCheck %s
+
+# CHECK: .foo-bar
Index: ELF/ScriptParser.cpp
===================================================================
--- ELF/ScriptParser.cpp
+++ ELF/ScriptParser.cpp
@@ -923,7 +923,10 @@
 
 StringRef ScriptParser::readParenLiteral() {
   expect("(");
+  bool Orig = InExpr;
+  InExpr = false;
   StringRef Tok = next();
+  InExpr = Orig;
   expect(")");
   return Tok;
 }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D42190.130265.patch
Type: text/x-patch
Size: 911 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180117/b08f306a/attachment.bin>


More information about the llvm-commits mailing list