blob: 956c52a93b0418cbf0950830be10fd31480fa791 [file] [log] [blame]
// REQUIRES: aarch64
// RUN: split-file %s %t.dir && cd %t.dir
// RUN: llvm-mc -filetype=obj -triple=aarch64-windows arm64-data-sym.s -o arm64-data-sym.obj
// RUN: llvm-mc -filetype=obj -triple=arm64ec-windows arm64ec-data-sym.s -o arm64ec-data-sym.obj
// RUN: lld-link -machine:arm64x -dll -out:out.dll -map -mapinfo:exports arm64-data-sym.obj arm64ec-data-sym.obj
// RUN: FileCheck %s < out.map
// CHECK: Start Length Name Class
// CHECK-NEXT: 0001:00000000 00001004H .text CODE
// CHECK-NEXT: 0004:00000000 00000008H .data DATA
// CHECK-NEXT: 0004:00000008 00000000H .bss DATA
// CHECK-EMPTY:
// CHECK-NEXT: Address Publics by Value Rva+Base Lib:Object
// CHECK-EMPTY:
// CHECK-NEXT: 0001:00000000 _DllMainCRTStartup 0000000180001000 arm64-data-sym.obj
// CHECK-NEXT: 0001:00001000 _DllMainCRTStartup 0000000180002000 arm64ec-data-sym.obj
// CHECK-NEXT: 0004:00000000 arm64_data_sym 0000000180005000 arm64-data-sym.obj
// CHECK-NEXT: 0004:00000004 arm64ec_data_sym 0000000180005004 arm64ec-data-sym.obj
// CHECK-EMPTY:
// CHECK-NEXT: entry point at 0002:00000000
// CHECK-EMPTY:
// CHECK-NEXT: Static symbols
// CHECK-EMPTY:
// CHECK-EMPTY:
// CHECK-NEXT: Exports
// CHECK-EMPTY:
// CHECK-NEXT: ordinal name
// CHECK-EMPTY:
// CHECK-NEXT: 1 arm64ec_data_sym
#--- arm64ec-data-sym.s
.text
.globl _DllMainCRTStartup
_DllMainCRTStartup:
ret
.data
.globl arm64ec_data_sym
.p2align 2, 0x0
arm64ec_data_sym:
.word 0x02020202
.section .drectve
.ascii "-export:arm64ec_data_sym,DATA"
#--- arm64-data-sym.s
.text
.globl _DllMainCRTStartup
_DllMainCRTStartup:
ret
.data
.globl arm64_data_sym
.p2align 2, 0x0
arm64_data_sym:
.word 0x01010101
.section .drectve
.ascii "-export:arm64_data_sym,DATA"