diff options
Diffstat (limited to 'test/ELF/linkerscript/alignof.test')
| -rw-r--r-- | test/ELF/linkerscript/alignof.test | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/ELF/linkerscript/alignof.test b/test/ELF/linkerscript/alignof.test new file mode 100644 index 0000000000000..0e3abf6133c9a --- /dev/null +++ b/test/ELF/linkerscript/alignof.test @@ -0,0 +1,24 @@ +# REQUIRES: x86 +# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/alignof.s -o %t +# RUN: ld.lld -o %t1 --script %s %t +# RUN: llvm-objdump -t %t1 | FileCheck %s +# CHECK: SYMBOL TABLE: +# CHECK: 0000000000000008 *ABS* 00000000 _aaa +# CHECK-NEXT: 0000000000000010 *ABS* 00000000 _bbb +# CHECK-NEXT: 0000000000000020 *ABS* 00000000 _ccc + +SECTIONS { + .aaa : { *(.aaa) } + .bbb : { *(.bbb) } + .ccc : { *(.ccc) } + _aaa = ALIGNOF(.aaa); + _bbb = ALIGNOF(.bbb); + _ccc = ALIGNOF(.ccc); +} + +## Check that we error out if trying to get alignment of +## section that does not exist. +# RUN: echo "SECTIONS { _aaa = ALIGNOF(.foo); }" > %t.script +# RUN: not ld.lld -o %t1 --script %t.script %t 2>&1 \ +# RUN: | FileCheck -check-prefix=ERR %s +# ERR: {{.*}}.script:1: undefined section .foo |
