| From 5ec140c17b54c25920091501b665b9aa809cc5e8 Mon Sep 17 00:00:00 2001 |
| From: Matt Turner <mattst88@gmail.com> |
| Date: Mon, 11 Jul 2016 10:44:25 -0700 |
| Subject: mapi: Massage code to allow clang to compile. |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| According to https://llvm.org/bugs/show_bug.cgi?id=19778#c3 this code |
| was violating the spec, resulting in it failing to compile. |
| |
| Cc: mesa-stable@lists.freedesktop.org |
| Co-authored-by: Tomasz Paweł Gajc <tpgxyz@gmail.com> |
| Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89599 |
| Reviewed-by: Emil Velikov <emil.velikov@collabora.com> |
| |
| Upstream-Status: Backport |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| |
| diff --git a/configure.ac b/configure.ac |
| index 3799d8d..1ca8359 100644 |
| --- a/configure.ac |
| +++ b/configure.ac |
| @@ -226,6 +226,7 @@ AX_GCC_FUNC_ATTRIBUTE([packed]) |
| AX_GCC_FUNC_ATTRIBUTE([pure]) |
| AX_GCC_FUNC_ATTRIBUTE([returns_nonnull]) |
| AX_GCC_FUNC_ATTRIBUTE([unused]) |
| +AX_GCC_FUNC_ATTRIBUTE([visibility]) |
| AX_GCC_FUNC_ATTRIBUTE([warn_unused_result]) |
| AX_GCC_FUNC_ATTRIBUTE([weak]) |
| |
| diff --git a/src/mapi/entry_x86-64_tls.h b/src/mapi/entry_x86-64_tls.h |
| index 38faccc..c5262a1 100644 |
| --- a/src/mapi/entry_x86-64_tls.h |
| +++ b/src/mapi/entry_x86-64_tls.h |
| @@ -25,6 +25,11 @@ |
| * Chia-I Wu <olv@lunarg.com> |
| */ |
| |
| +#ifdef HAVE_FUNC_ATTRIBUTE_VISIBIITY |
| +#define HIDDEN __attribute__((visibility("hidden"))) |
| +#else |
| +#define HIDDEN |
| +#endif |
| |
| __asm__(".text\n" |
| ".balign 32\n" |
| @@ -54,8 +59,8 @@ entry_patch_public(void) |
| { |
| } |
| |
| -static char |
| -x86_64_entry_start[]; |
| +extern char |
| +x86_64_entry_start[] HIDDEN; |
| |
| mapi_func |
| entry_get_public(int slot) |
| diff --git a/src/mapi/entry_x86_tls.h b/src/mapi/entry_x86_tls.h |
| index 46d2ece..231b409 100644 |
| --- a/src/mapi/entry_x86_tls.h |
| +++ b/src/mapi/entry_x86_tls.h |
| @@ -27,6 +27,12 @@ |
| |
| #include <string.h> |
| |
| +#ifdef HAVE_FUNC_ATTRIBUTE_VISIBIITY |
| +#define HIDDEN __attribute__((visibility("hidden"))) |
| +#else |
| +#define HIDDEN |
| +#endif |
| + |
| __asm__(".text"); |
| |
| __asm__("x86_current_tls:\n\t" |
| @@ -71,8 +77,8 @@ __asm__(".text"); |
| extern unsigned long |
| x86_current_tls(); |
| |
| -static char x86_entry_start[]; |
| -static char x86_entry_end[]; |
| +extern char x86_entry_start[] HIDDEN; |
| +extern char x86_entry_end[] HIDDEN; |
| |
| void |
| entry_patch_public(void) |
| diff --git a/src/mapi/entry_x86_tsd.h b/src/mapi/entry_x86_tsd.h |
| index ea7bacb..03d9735 100644 |
| --- a/src/mapi/entry_x86_tsd.h |
| +++ b/src/mapi/entry_x86_tsd.h |
| @@ -25,6 +25,11 @@ |
| * Chia-I Wu <olv@lunarg.com> |
| */ |
| |
| +#ifdef HAVE_FUNC_ATTRIBUTE_VISIBIITY |
| +#define HIDDEN __attribute__((visibility("hidden"))) |
| +#else |
| +#define HIDDEN |
| +#endif |
| |
| #define X86_ENTRY_SIZE 32 |
| |
| @@ -58,8 +63,8 @@ __asm__(".balign 32\n" |
| #include <string.h> |
| #include "u_execmem.h" |
| |
| -static const char x86_entry_start[]; |
| -static const char x86_entry_end[]; |
| +extern const char x86_entry_start[] HIDDEN; |
| +extern const char x86_entry_end[] HIDDEN; |
| |
| void |
| entry_patch_public(void) |
| -- |
| cgit v0.10.2 |
| |