1# REQUIRES: x86
2# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/define.s -o %t.o
3# RUN: ld.lld -o %t --script %s %t.o
4# RUN: llvm-objdump --section-headers %t | FileCheck %s
5
6EXTERN(extern_defined)
7SECTIONS {
8  . = DEFINED(defined) ? 0x11000 : .;
9  .foo : { *(.foo*) }
10  . = DEFINED(notdefined) ? 0x12000 : 0x13000;
11  .bar : { *(.bar*) }
12  . = DEFINED(extern_defined) ? 0x14000 : 0x15000;
13  .test : { *(.test*) }
14}
15
16# CHECK: 1 .foo  00000008 0000000000011000 DATA
17# CHECK: 2 .bar  00000008 0000000000013000 DATA
18# CHECK: 3 .test  00000008 0000000000015000 DATA
19# CHECK: 4 .text 00000000 0000000000015008 TEXT
20