1# REQUIRES: x86 2# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t 3 4# RUN: echo "SECTIONS { \ 5# RUN: .aaa : { *(.aaa) } \ 6# RUN: .bbb : { *(.bbb) } \ 7# RUN: .ccc : { *(.ccc) } \ 8# RUN: _aaa = SIZEOF(.aaa); \ 9# RUN: _bbb = SIZEOF(.bbb); \ 10# RUN: _ccc = SIZEOF(.ccc); \ 11# RUN: }" > %t.script 12# RUN: ld.lld -o %t1 --script %t.script %t 13# RUN: llvm-objdump -t -section-headers %t1 | FileCheck %s 14# CHECK: Sections: 15# CHECK-NEXT: Idx Name Size 16# CHECK-NEXT: 0 00000000 17# CHECK-NEXT: 1 .aaa 00000008 18# CHECK-NEXT: 2 .bbb 00000010 19# CHECK-NEXT: 3 .ccc 00000018 20# CHECK: SYMBOL TABLE: 21# CHECK-NEXT: 0000000000000000 *UND* 00000000 22# CHECK-NEXT: .text 00000000 _start 23# CHECK-NEXT: 0000000000000008 *ABS* 00000000 _aaa 24# CHECK-NEXT: 0000000000000010 *ABS* 00000000 _bbb 25# CHECK-NEXT: 0000000000000018 *ABS* 00000000 _ccc 26 27## SIZEOF(.nonexistent_section) should return 0. 28# RUN: echo "SECTIONS { \ 29# RUN: .aaa : { *(.aaa) } \ 30# RUN: .bbb : { *(.bbb) } \ 31# RUN: .ccc : { *(.ccc) } \ 32# RUN: _aaa = SIZEOF(.foo); \ 33# RUN: }" > %t.script 34# RUN: ld.lld -o %t1 --script %t.script %t 35# RUN: llvm-objdump -t -section-headers %t1 | FileCheck -check-prefix=CHECK2 %s 36 37# CHECK2: 0000000000000000 *ABS* 00000000 _aaa 38 39.global _start 40_start: 41 nop 42 43.section .aaa,"a" 44 .quad 0 45 46.section .bbb,"a" 47 .quad 0 48 .quad 0 49 50.section .ccc,"a" 51 .quad 0 52 .quad 0 53 .quad 0 54