llvm-project/lld/test/COFF/autoimport-arm64x-data.test

76 lines
2.7 KiB
Plaintext

# REQUIRES: aarch64
RUN: split-file %s %t.dir && cd %t.dir
RUN: llvm-lib -machine:arm64x -out:libtest.a -defArm64Native:test.def -def:test.def
RUN: llvm-mc -triple=arm64ec-windows-gnu arm64ec.s -filetype=obj -o arm64ec.obj
RUN: llvm-mc -triple=aarch64-windows-gnu aarch64.s -filetype=obj -o aarch64.obj
RUN: llvm-mc -filetype=obj -triple=arm64ec-windows %S/Inputs/loadconfig-arm64ec.s -o loadconfig-arm64ec.obj
RUN: llvm-mc -filetype=obj -triple=aarch64-windows %S/Inputs/loadconfig-arm64.s -o loadconfig-arm64.obj
RUN: lld-link -machine:arm64x -out:out.dll -dll -noentry arm64ec.obj aarch64.obj libtest.a loadconfig-arm64.obj loadconfig-arm64ec.obj -lldmingw
RUN: llvm-readobj --coff-imports out.dll | FileCheck -check-prefix=IMPORTS %s
RUN: llvm-objdump -s out.dll | FileCheck --check-prefix=CONTENTS %s
IMPORTS: Import {
IMPORTS-NEXT: Name: test.dll
IMPORTS-NEXT: ImportLookupTableRVA: 0x5{{.*}}
IMPORTS-NEXT: ImportAddressTableRVA: 0x4000
IMPORTS-NEXT: Symbol: variable (0)
IMPORTS-NEXT: }
IMPORTS-NEXT: HybridObject {
IMPORTS: Import {
IMPORTS-NEXT: Name: test.dll
IMPORTS-NEXT: ImportLookupTableRVA: 0x5{{.*}}
IMPORTS-NEXT: ImportAddressTableRVA: 0x4000
IMPORTS-NEXT: Symbol: variable (0)
IMPORTS-NEXT: }
IMPORTS-NEXT: }
Native ARM64 runtime pseudo relocation list header at 0x5164, consisting of 0x0, 0x0, 0x1.
The runtime pseudo relocation is from an aarch64.obj object file, with import from 0x4000,
applied at 0x9018 with a size of 64 bits. ARM64EC runtime pseudo relocation list header at
0x517c, consisting of 0x0, 0x0, 0x1. The runtime pseudo relocation is from arm64ec.obj
object file, with import from 0x4000, applied at 0x9000 with a size of 64 bits.
CONTENTS: Contents of section .rdata:
CONTENTS: 180005160 00300000 00000000 00000000 01000000
CONTENTS: 180005170 00400000 18900000 40000000 00000000
CONTENTS: 180005180 00000000 01000000 00400000 00900000
CONTENTS: 180005190 40000000
CONTENTS: Contents of section .test:
CONTENTS-NEXT: 180009000 00400080 01000000 7c510080 01000000
CONTENTS-NEXT: 180009010 94510080 01000000 00400080 01000000
CONTENTS-NEXT: 180009020 64510080 01000000 7c510080 01000000
#--- arm64ec.s
.text
.global "#_pei386_runtime_relocator"
"#_pei386_runtime_relocator":
ret
.weak_anti_dep _pei386_runtime_relocator
.set _pei386_runtime_relocator,"#_pei386_runtime_relocator"
.section .test,"dr"
.quad variable
.quad __RUNTIME_PSEUDO_RELOC_LIST__
.quad __RUNTIME_PSEUDO_RELOC_LIST_END__
#--- aarch64.s
.text
.global _pei386_runtime_relocator
_pei386_runtime_relocator:
ret
.section .test,"dr"
.quad variable
.quad __RUNTIME_PSEUDO_RELOC_LIST__
.quad __RUNTIME_PSEUDO_RELOC_LIST_END__
#--- test.def
LIBRARY test.dll
EXPORTS
variable DATA