]> git.proxmox.com Git - mirror_edk2.git/blobdiff - StdLib/Include/sys/cdefs_aout.h
StdLib: Patches and updates for ARM.
[mirror_edk2.git] / StdLib / Include / sys / cdefs_aout.h
index 0ce4fd9d2d5d4ee23dd24e7ffec7e945e8a186d6..274991875ac2147b5e67a4f9bd49b5b1261a0ac8 100644 (file)
 \r
 #ifdef __GNUC__\r
 #if __STDC__\r
-    #ifndef   DONT_USE_STRONG_WEAK_ALIAS\r
-#define __strong_alias(alias,sym)               \\r
-    __asm(".global " _C_LABEL_STRING(#alias) "\n"     \\r
-      _C_LABEL_STRING(#alias) " = " _C_LABEL_STRING(#sym));\r
-#define __weak_alias(alias,sym)           \\r
-    __asm(".weak " _C_LABEL_STRING(#alias) "\n"     \\r
-      _C_LABEL_STRING(#alias) " = " _C_LABEL_STRING(#sym));\r
-\r
-/* Do not use __weak_extern, use __weak_reference instead */\r
-#define __weak_extern(sym)            \\r
-    __asm(".weak " _C_LABEL_STRING(#sym));\r
-\r
-#if __GNUC_PREREQ__(4, 0)\r
-#define __weak_reference(sym) __attribute__((__weakref__))\r
-#else\r
-#define __weak_reference(sym) ; __asm(".weak " _C_LABEL_STRING(#sym))\r
-#endif\r
-\r
-#define __warn_references(sym,msg)          \\r
-  __asm(".stabs \"" msg "\",30,0,0,0");       \\r
-  __asm(".stabs \"_" #sym "\",1,0,0,0");\r
+  #ifndef   DONT_USE_STRONG_WEAK_ALIAS\r
+    #define __strong_alias(alias,sym)               \\r
+        __asm(".global " _C_LABEL_STRING(#alias) "\n"     \\r
+          _C_LABEL_STRING(#alias) " = " _C_LABEL_STRING(#sym));\r
+    #define __weak_alias(alias,sym)           \\r
+        __asm(".weak " _C_LABEL_STRING(#alias) "\n"     \\r
+          _C_LABEL_STRING(#alias) " = " _C_LABEL_STRING(#sym));\r
+\r
+    /* Do not use __weak_extern, use __weak_reference instead */\r
+    #define __weak_extern(sym)            \\r
+        __asm(".weak " _C_LABEL_STRING(#sym));\r
+\r
+    #if __GNUC_PREREQ__(4, 0)\r
+      #define __weak_reference(sym) __attribute__((__weakref__))\r
     #else\r
-      #define __strong_alias(alias,sym)   /* NOTHING */\r
-      #define __weak_alias(alias,sym)     /* NOTHING */\r
-      #define __weak_extern(sym)          /* NOTHING */\r
-      #define __weak_reference(sym)       /* NOTHING */\r
+      #define __weak_reference(sym) ; __asm(".weak " _C_LABEL_STRING(#sym))\r
+    #endif\r
+\r
+    #define __warn_references(sym,msg)          \\r
+      __asm(".stabs \"" msg "\",30,0,0,0");       \\r
+      __asm(".stabs \"_" #sym "\",1,0,0,0");\r
+  #else\r
+    #define __strong_alias(alias,sym)   /* NOTHING */\r
+    #define __weak_alias(alias,sym)     /* NOTHING */\r
+    #define __weak_extern(sym)          /* NOTHING */\r
+    #define __weak_reference(sym)       /* NOTHING */\r
 \r
+    #if !defined(__CC_ARM)\r
       #define __warn_references(sym,msg)          \\r
               __asm(".stabs \"" msg "\",30,0,0,0");       \\r
               __asm(".stabs \"_" #sym "\",1,0,0,0");\r
+    #else\r
+      #define __warn_references(sym,msg)\r
     #endif\r
-#else /* __STDC__ */\r
-#define __weak_alias(alias,sym) ___weak_alias(_/**/alias,_/**/sym)\r
-#define ___weak_alias(alias,sym)          \\r
-    __asm(".weak alias\nalias = sym");\r
-/* Do not use __weak_extern, use __weak_reference instead */\r
-#define __weak_extern(sym) ___weak_extern(_/**/sym)\r
-#define ___weak_extern(sym)           \\r
-    __asm(".weak sym");\r
-\r
-#if __GNUC_PREREQ__(4, 0)\r
-#define __weak_reference(sym) __attribute__((__weakref__))\r
-#else\r
-#define ___weak_reference(sym)  ; __asm(".weak sym");\r
-#define __weak_reference(sym) ___weak_reference(_/**/sym)\r
-#endif\r
-\r
-#define __warn_references(sym,msg)          \\r
-  __asm(".stabs msg,30,0,0,0");         \\r
-  __asm(".stabs \"_/**/sym\",1,0,0,0");\r
+  #endif\r
+#else   /* __STDC__ */\r
+  #define __weak_alias(alias,sym) ___weak_alias(_/**/alias,_/**/sym)\r
+  #define ___weak_alias(alias,sym)          \\r
+      __asm(".weak alias\nalias = sym");\r
+  /* Do not use __weak_extern, use __weak_reference instead */\r
+  #define __weak_extern(sym) ___weak_extern(_/**/sym)\r
+  #define ___weak_extern(sym)           \\r
+      __asm(".weak sym");\r
+\r
+  #if __GNUC_PREREQ__(4, 0)\r
+    #define __weak_reference(sym) __attribute__((__weakref__))\r
+  #else\r
+    #define ___weak_reference(sym)  ; __asm(".weak sym");\r
+    #define __weak_reference(sym) ___weak_reference(_/**/sym)\r
+  #endif\r
+\r
+  #define __warn_references(sym,msg)          \\r
+    __asm(".stabs msg,30,0,0,0");         \\r
+    __asm(".stabs \"_/**/sym\",1,0,0,0");\r
 #endif /* __STDC__ */\r
 #else /* __GNUC__ */\r
-#define __warn_references(sym,msg)\r
+  #define __warn_references(sym,msg)\r
 #endif /* __GNUC__ */\r
 \r
 #if defined(__sh__)   /* XXX SH COFF */\r