diff options
author | andrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-12-15 00:58:34 +0000 |
---|---|---|
committer | andrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-12-15 00:58:34 +0000 |
commit | e7cb469e3aa3d5b05953a25f1ef40aea89d058c3 (patch) | |
tree | e0c5566224f5d00fc50873dbf2add9dc2856c7fa /MdePkg/Include/Arm | |
parent | 5792e320d321b7330d9c59859b183e310a34b7a3 (diff) | |
download | edk2-platforms-e7cb469e3aa3d5b05953a25f1ef40aea89d058c3.tar.xz |
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
Diffstat (limited to 'MdePkg/Include/Arm')
-rw-r--r-- | MdePkg/Include/Arm/ProcessorBind.h | 14 |
1 files changed, 14 insertions, 0 deletions
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
/**
|