diff options
Diffstat (limited to 'test/ELF/linkerscript/section-align.s')
| -rw-r--r-- | test/ELF/linkerscript/section-align.s | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/test/ELF/linkerscript/section-align.s b/test/ELF/linkerscript/section-align.s new file mode 100644 index 000000000000..f4bdb0feac6d --- /dev/null +++ b/test/ELF/linkerscript/section-align.s @@ -0,0 +1,62 @@ +# REQUIRES: x86 +# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t + +# RUN: echo "SECTIONS { \ +# RUN: .aaa : ALIGN(4096) { *(.aaa) } \ +# RUN: .bbb : ALIGN(4096 * 4) { *(.bbb) } \ +# RUN: .ccc : ALIGN(4096 * 8) { *(.ccc) } \ +# RUN: }" > %t.script +# RUN: ld.lld -o %t1 --script %t.script %t +# RUN: llvm-readobj -sections %t1 | FileCheck %s + +.global _start +_start: + nop + +// CHECK: Name: .aaa +// CHECK-NEXT: Type: SHT_PROGBITS +// CHECK-NEXT: Flags [ +// CHECK-NEXT: SHF_ALLOC +// CHECK-NEXT: ] +// CHECK-NEXT: Address: +// CHECK-NEXT: Offset: +// CHECK-NEXT: Size: 8 +// CHECK-NEXT: Link: 0 +// CHECK-NEXT: Info: 0 +// CHECK-NEXT: AddressAlignment: 4096 +// CHECK-NEXT: EntrySize: + +.section .aaa, "a" +.quad 0 + +// CHECK: Name: .bbb +// CHECK-NEXT: Type: SHT_PROGBITS +// CHECK-NEXT: Flags [ +// CHECK-NEXT: SHF_ALLOC +// CHECK-NEXT: ] +// CHECK-NEXT: Address: +// CHECK-NEXT: Offset: +// CHECK-NEXT: Size: 8 +// CHECK-NEXT: Link: 0 +// CHECK-NEXT: Info: 0 +// CHECK-NEXT: AddressAlignment: 16384 +// CHECK-NEXT: EntrySize: + +.section .bbb, "a" +.quad 0 + +// CHECK: Name: .ccc +// CHECK-NEXT: Type: SHT_PROGBITS +// CHECK-NEXT: Flags [ +// CHECK-NEXT: SHF_ALLOC +// CHECK-NEXT: ] +// CHECK-NEXT: Address: +// CHECK-NEXT: Offset: +// CHECK-NEXT: Size: 8 +// CHECK-NEXT: Link: 0 +// CHECK-NEXT: Info: 0 +// CHECK-NEXT: AddressAlignment: 32768 +// CHECK-NEXT: EntrySize: + +.section .ccc, "a" +.quad 0 |
