From e7cb469e3aa3d5b05953a25f1ef40aea89d058c3 Mon Sep 17 00:00:00 2001 From: andrewfish Date: Wed, 15 Dec 2010 00:58:34 +0000 Subject: Fix issue with CodeSourcery gcc requiring assembly functions to have a .type define inorder to support interworking (calling from thumb(C code) to ARM code (hadn written assembly). We had to add a macro as the .type directive is not supported, or needed, by Xcode. All ARM .S files need to be updated. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11167 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Include/Arm/ProcessorBind.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'MdePkg/Include/Arm') diff --git a/MdePkg/Include/Arm/ProcessorBind.h b/MdePkg/Include/Arm/ProcessorBind.h index 810bf03be0..a68b30b811 100644 --- a/MdePkg/Include/Arm/ProcessorBind.h +++ b/MdePkg/Include/Arm/ProcessorBind.h @@ -110,6 +110,20 @@ typedef INT32 INTN; /// Define this macro to unify the usage. /// #define ASM_GLOBAL .globl + + #if !defined(__APPLE__) + /// + /// ARM EABI defines that the linker should not manipulate call relocations + /// (do bl/blx conversion) unless the target symbol has function type. + /// CodeSourcery 2010.09 started requiring the .type to function properly + /// + #define INTERWORK_FUNC(func__) .type ASM_PFX(func__), %function + #else + // + // .type not supported by Apple Xcode tools + // + #define INTERWORK_FUNC(func__) + #endif #endif /** -- cgit v1.2.3