GCC_ASM_EXPORT() not only exports a symbol as a function, it also emits
a .type <xxx>, %function directive, which is used by the ARM linker to
decide whether to emit interworking branches. So replace the explicit
.global with GCC_ASM_EXPORT(), or the code will not be callable from
Thumb-2 code.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <[email protected]>
---
 OvmfPkg/Library/XenHypercallLib/Arm/Hypercall.S | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/OvmfPkg/Library/XenHypercallLib/Arm/Hypercall.S 
b/OvmfPkg/Library/XenHypercallLib/Arm/Hypercall.S
index b38e1a8f18da..c12c8658b729 100644
--- a/OvmfPkg/Library/XenHypercallLib/Arm/Hypercall.S
+++ b/OvmfPkg/Library/XenHypercallLib/Arm/Hypercall.S
@@ -16,7 +16,8 @@
 #include <IndustryStandard/Xen/arch-arm/xen.h>
 
   .text
-  .global   ASM_PFX(XenHypercall2)
+GCC_ASM_EXPORT(XenHypercall2)
+
 ASM_PFX(XenHypercall2):
   mov     r12, r0
   mov     r0, r1
-- 
2.5.0

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to