amd/addrlib: fix build on non-x86 platforms
authorGreg V <greg@unrelenting.technology>
Sun, 26 Jan 2020 11:22:45 +0000 (14:22 +0300)
committerMarge Bot <eric+marge@anholt.net>
Wed, 26 Feb 2020 20:10:52 +0000 (20:10 +0000)
regparm(0) attribute does not work on aarch64 (and presumably powerpc64 and others).
Default to not specifying any calling convention on non-amd64/i386 platforms.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3567>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3567>

src/amd/addrlib/inc/addrtypes.h

index 7d8ca9266781a087dbfbec3ab9d954d5103d17c4..c17e817e3aa7292306ea4536cdb1bf6b8111de20 100644 (file)
@@ -87,9 +87,7 @@ typedef int            INT;
 #endif
 
 #ifndef ADDR_FASTCALL
-    #if defined(BRAHMA_ARM)
-        #define ADDR_FASTCALL
-    #elif defined(__GNUC__)
+    #if defined(__GNUC__)
         #define ADDR_FASTCALL __attribute__((regparm(0)))
     #else
         #define ADDR_FASTCALL __fastcall
@@ -115,7 +113,11 @@ typedef int            INT;
     #define ADDR_INLINE   __inline
 #endif // #if defined(__GNUC__)
 
-#define ADDR_API ADDR_FASTCALL //default call convention is fast call
+#if defined(__amd64__) || defined(__x86_64__) || defined(__i386__)
+    #define ADDR_API ADDR_FASTCALL // default call convention is fast call
+#else
+    #define ADDR_API
+#endif
 
 /**
 ****************************************************************************************************