Commit 5ec140c1 authored by Matt Turner's avatar Matt Turner

mapi: Massage code to allow clang to compile.

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's avatarTomasz Paweł Gajc <tpgxyz@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89599Reviewed-by: 's avatarEmil Velikov <emil.velikov@collabora.com>
parent 6bc54911
......@@ -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])
......
......@@ -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)
......
......@@ -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)
......
......@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment