brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · 0f4586b Raw
111 lines · plain
1# REQUIRES: x862# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t3# RUN: echo "SECTIONS { \4# RUN:   .aaa 0x2000 : { *(.aaa) } \5# RUN:   .bbb 0x1 ? 0x3000 : 0x4000 : { *(.bbb) } \6# RUN:   .ccc ALIGN(CONSTANT(MAXPAGESIZE)) + (. & (CONSTANT(MAXPAGESIZE) - 1)) : { *(.ccc) } \7# RUN:   .ddd 0x5001 : { *(.ddd) } \8# RUN: }" > %t.script9# RUN: ld.lld %t --script %t.script -o %tout10# RUN: llvm-readobj -S %tout | FileCheck %s11 12## Check:13## 1) Simple constant as address.14## 2) That something that contains ":" character, like ternary15##    operator works as expression.16## 3) That complex expressions work.17## 4) That section alignment still applied to explicitly specified address.18 19#CHECK:Sections [20#CHECK:  Section {21#CHECK:    Index: 022#CHECK:    Name:23#CHECK:    Type: SHT_NULL24#CHECK:    Flags [25#CHECK:    ]26#CHECK:    Address: 0x027#CHECK:    Offset: 0x028#CHECK:    Size: 029#CHECK:    Link: 030#CHECK:    Info: 031#CHECK:    AddressAlignment: 032#CHECK:    EntrySize: 033#CHECK:  }34#CHECK:  Section {35#CHECK:    Index: 136#CHECK:    Name: .aaa37#CHECK:    Type: SHT_PROGBITS38#CHECK:    Flags [39#CHECK:      SHF_ALLOC40#CHECK:    ]41#CHECK:    Address: 0x200042#CHECK:    Offset: 0x100043#CHECK:    Size: 844#CHECK:    Link: 045#CHECK:    Info: 046#CHECK:    AddressAlignment: 147#CHECK:    EntrySize: 048#CHECK:  }49#CHECK:  Section {50#CHECK:    Index: 251#CHECK:    Name: .bbb52#CHECK:    Type: SHT_PROGBITS53#CHECK:    Flags [54#CHECK:      SHF_ALLOC55#CHECK:    ]56#CHECK:    Address: 0x300057#CHECK:    Offset: 0x200058#CHECK:    Size: 859#CHECK:    Link: 060#CHECK:    Info: 061#CHECK:    AddressAlignment: 162#CHECK:    EntrySize: 063#CHECK:  }64#CHECK:  Section {65#CHECK:    Index: 366#CHECK:    Name: .ccc67#CHECK:    Type: SHT_PROGBITS68#CHECK:    Flags [69#CHECK:      SHF_ALLOC70#CHECK:    ]71#CHECK:    Address: 0x400872#CHECK:    Offset: 0x300873#CHECK:    Size: 874#CHECK:    Link: 075#CHECK:    Info: 076#CHECK:    AddressAlignment: 177#CHECK:    EntrySize: 078#CHECK:  }79#CHECK:  Section {80#CHECK:    Index: 481#CHECK:    Name: .ddd82#CHECK:    Type: SHT_PROGBITS83#CHECK:    Flags [84#CHECK:      SHF_ALLOC85#CHECK:    ]86#CHECK:    Address: 0x500187#CHECK:    Offset: 0x400188#CHECK:    Size: 2389#CHECK:    Link: 090#CHECK:    Info: 091#CHECK:    AddressAlignment: 1692#CHECK:    EntrySize: 093#CHECK:  }94 95.globl _start96_start:97nop98 99.section .aaa, "a"100.quad 0101 102.section .bbb, "a"103.quad 0104 105.section .ccc, "a"106.quad 0107 108.section .ddd, "a"109.align 16110.quad 0111