| # REQUIRES: amdgpu |
| # RUN: llvm-mc -filetype=obj -triple amdgcn--amdhsa -mcpu=kaveri %s -o %t.o |
| # RUN: ld.lld -shared %t.o -o %t |
| # RUN: llvm-readobj -sections -symbols -program-headers %t | FileCheck %s |
| |
| .type glob0, @object |
| .data |
| .globl glob0 |
| glob0: |
| .long 1 |
| .size glob0, 4 |
| |
| .type glob1, @object |
| .section .rodata, #alloc |
| .globl glob1 |
| glob1: |
| .long 2 |
| .size glob1, 4 |
| |
| # CHECK: Section { |
| # CHECK: Name: .rodata |
| # CHECK: Type: SHT_PROGBITS |
| # CHECK: Flags [ (0x2) |
| # CHECK: SHF_ALLOC (0x2) |
| # CHECK: ] |
| # CHECK: Address: [[RODATA_ADDR:[0-9xa-f]+]] |
| # CHECK: } |
| |
| # CHECK: Section { |
| # CHECK: Name: .data |
| # CHECK: Type: SHT_PROGBITS |
| # CHECK: Flags [ (0x3) |
| # CHECK: SHF_ALLOC (0x2) |
| # CHECK: SHF_WRITE (0x1) |
| # CHECK: ] |
| # CHECK: Address: [[DATA_ADDR:[0-9xa-f]+]] |
| # CHECK: } |
| |
| # CHECK: Symbol { |
| # CHECK: Name: glob0 |
| # CHECK: Value: [[DATA_ADDR]] |
| # CHECK: Size: 4 |
| # CHECK: Type: Object |
| # CHECK: Section: .data |
| # CHECK: } |
| |
| # CHECK: Symbol { |
| # CHECK: Name: glob1 |
| # CHECK: Value: [[RODATA_ADDR]] |
| # CHECK: Size: 4 |
| # CHECK: Type: Object |
| # CHECK: Section: .rodata |
| # CHECK: } |
| |
| # CHECK: ProgramHeader { |
| # CHECK: Type: PT_LOAD |
| # CHECK: VirtualAddress: |
| # CHECK: } |
| |
| # CHECK: ProgramHeader { |
| # CHECK: Type: PT_LOAD |
| # CHECK: VirtualAddress: |
| # CHECK: } |