Files
clang-p2996/lld/test/LinkerScript/memory-valid.test
Meador Inge 2ce1ea86d0 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
2015-03-11 15:34:44 +00:00

57 lines
1.1 KiB
Plaintext

/*
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: }
*/