summaryrefslogtreecommitdiffstats
path: root/lld/test/LinkerScript/memory-valid.test
diff options
context:
space:
mode:
authorMeador Inge <meadori@codesourcery.com>2015-03-11 15:34:44 +0000
committerMeador Inge <meadori@codesourcery.com>2015-03-11 15:34:44 +0000
commit2ce1ea86d0b30436110972f5d5f0814094027a97 (patch)
tree4a795824f4201eb13f4939704b175a62e535a8b5 /lld/test/LinkerScript/memory-valid.test
parentc04b6f242ca4a16165bea8043c2cdc19407cf240 (diff)
downloadbcm5719-llvm-2ce1ea86d0b30436110972f5d5f0814094027a97.tar.gz
bcm5719-llvm-2ce1ea86d0b30436110972f5d5f0814094027a97.zip
LinkerScript: Add parsing of the MEMORY command
This patch implements parsing of the GNU ld MEMORY command [1]. The command and the memory block definitions are parsed as specified (including the slightly strange "o" and "l" keywords). Evaluation will be added at a later point in time. [1] https://sourceware.org/binutils/docs-2.25/ld/MEMORY.html llvm-svn: 231928
Diffstat (limited to 'lld/test/LinkerScript/memory-valid.test')
-rw-r--r--lld/test/LinkerScript/memory-valid.test56
1 files changed, 56 insertions, 0 deletions
diff --git a/lld/test/LinkerScript/memory-valid.test b/lld/test/LinkerScript/memory-valid.test
new file mode 100644
index 00000000000..7a0e906c5fb
--- /dev/null
+++ b/lld/test/LinkerScript/memory-valid.test
@@ -0,0 +1,56 @@
+/*
+ RUN: linker-script-test %s | FileCheck %s
+*/
+
+MEMORY
+{
+ ram (rwx) : ORIGIN = 0x20000000, LENGTH = 96K
+ rom (rx) : org = 0x0, len = 256K
+ boot : o = 0x1000000, l = 0x5f00
+}
+
+/*
+CHECK: kw_memory: MEMORY
+CHECK: l_brace: {
+CHECK: identifier: ram
+CHECK: l_paren: (
+CHECK: identifier: rwx
+CHECK: r_paren: )
+CHECK: colon: :
+CHECK: kw_origin: ORIGIN
+CHECK: equal: =
+CHECK: number: 0x20000000
+CHECK: comma: ,
+CHECK: kw_length: LENGTH
+CHECK: equal: =
+CHECK: number: 96K
+CHECK: identifier: rom
+CHECK: l_paren: (
+CHECK: identifier: rx
+CHECK: r_paren: )
+CHECK: colon: :
+CHECK: kw_origin: org
+CHECK: equal: =
+CHECK: number: 0x0
+CHECK: comma: ,
+CHECK: kw_length: len
+CHECK: equal: =
+CHECK: number: 256K
+CHECK: identifier: boot
+CHECK: colon: :
+CHECK: kw_origin: o
+CHECK: equal: =
+CHECK: number: 0x1000000
+CHECK: comma: ,
+CHECK: kw_length: l
+CHECK: equal: =
+CHECK: number: 0x5f00
+CHECK: r_brace: }
+CHECK: eof:
+CHECK: MEMORY
+CHECK: {
+CHECK: ram (rwx) : ORIGIN = 536870912, LENGTH = 98304
+CHECK: rom (rx) : ORIGIN = 0, LENGTH = 262144
+CHECK: boot : ORIGIN = 16777216, LENGTH = 24320
+CHECK: }
+*/
OpenPOWER on IntegriCloud