summaryrefslogtreecommitdiff
path: root/MdePkg/Include/Arm
diff options
context:
space:
mode:
authorandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2011-02-01 05:01:35 +0000
committerandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2011-02-01 05:01:35 +0000
commit4c8a6e069c908c65b60ee5b89db6cc3c5981f9a1 (patch)
treeb3abb08135e33021e4da6843919215879541e23b /MdePkg/Include/Arm
parentd6bf79a7f52ee90fa3d81b60d360beae0dc88e55 (diff)
downloadedk2-platforms-4c8a6e069c908c65b60ee5b89db6cc3c5981f9a1.tar.xz
Replace INTERWORK_FUNC, with GCC_ASM_EXPORT() and GCC_ASM_IMPORT() and update the rest of the MdePkg ARM assembler to use the macro. Leave the old INTERWORK_FUNC macro in place until we can make sure all the other packages have been updated and then it can be removed.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11289 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Include/Arm')
-rw-r--r--MdePkg/Include/Arm/ProcessorBind.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/MdePkg/Include/Arm/ProcessorBind.h b/MdePkg/Include/Arm/ProcessorBind.h
index a68b30b811..8fad2a8990 100644
--- a/MdePkg/Include/Arm/ProcessorBind.h
+++ b/MdePkg/Include/Arm/ProcessorBind.h
@@ -118,11 +118,26 @@ typedef INT32 INTN;
/// CodeSourcery 2010.09 started requiring the .type to function properly
///
#define INTERWORK_FUNC(func__) .type ASM_PFX(func__), %function
+
+ #define GCC_ASM_EXPORT(func__) \
+ .global _CONCATENATE (__USER_LABEL_PREFIX__, func__) ;\
+ .type ASM_PFX(func__), %function
+
+ #define GCC_ASM_IMPORT(func__) \
+ .extern _CONCATENATE (__USER_LABEL_PREFIX__, func__)
+
#else
//
// .type not supported by Apple Xcode tools
//
- #define INTERWORK_FUNC(func__)
+ #define INTERWORK_FUNC(func__)
+
+ #define GCC_ASM_EXPORT(func__) \
+ .globl _CONCATENATE (__USER_LABEL_PREFIX__, func__) \
+
+ #define GCC_ASM_IMPORT(name) \
+ .extern _CONCATENATE (__USER_LABEL_PREFIX__, name)
+
#endif
#endif
@@ -139,3 +154,5 @@ typedef INT32 INTN;
#define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPointer)
#endif
+
+