| # REQUIRES: x86 | |
| # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/align.s -o %t.o | |
| # RUN: ld.lld -o %t --script %s %t.o | |
| # RUN: llvm-objdump -t %t | FileCheck %s | |
| # CHECK-LABEL: SYMBOL TABLE: | |
| # CHECK-NEXT: 0000000000014008 g .text 0000000000000000 _start | |
| # CHECK-NEXT: 0000000000010000 g *ABS* 0000000000000000 __code_base__ | |
| # CHECK-NEXT: 0000000000001000 g *ABS* 0000000000000000 VAR | |
| # CHECK-NEXT: 0000000000011000 g .bbb 0000000000000000 __start_bbb | |
| # CHECK-NEXT: 0000000000012000 g .bbb 0000000000000000 __end_bbb | |
| VAR = 0x1000; | |
| __code_base__ = 0x10000; | |
| SECTIONS { | |
| . = __code_base__; | |
| .aaa : { *(.aaa) } | |
| .bbb : ALIGN(VAR) { *(.bbb) } | |
| . = ALIGN(., VAR * 4); | |
| .ccc : { *(.ccc) } | |
| __start_bbb = ADDR(.bbb); | |
| __end_bbb = ALIGN(__start_bbb + SIZEOF(.bbb), VAR); | |
| } |