[LLVMdev] [PATCH 2/2 v3] add visibility hidden to tls entry points
Sedat Dilek
sedat.dilek at gmail.com
Tue Feb 17 02:58:06 PST 2015
On Tue, Feb 17, 2015 at 10:40 AM, Marc Dietrich <marvin24 at gmx.de> wrote:
> Avoid redefined symbol errors in clang. Based on a suggestion from
> Rafael Ávila de Espíndola <rafael.espindola at gmail.com> in
> http://llvm.org/bugs/show_bug.cgi?id=19778.
>
> Signed-off-by: Marc Dietrich <marvin24 at gmx.de>
> ---
> v2: - no change
> v3: - include util directory in Makefile.am in order to avoid relative
> include paths,
> - make tls entry points array const
>
I adapted this patch as v4 to fit mesa v10.4.4, but it fails (see
log-file in attached tarball).
- Sedat -
> src/mapi/Makefile.am | 1 +
> src/mapi/entry_x86-64_tls.h | 4 ++--
> src/mapi/entry_x86_tls.h | 5 +++--
> src/mapi/entry_x86_tsd.h | 5 +++--
> 4 files changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/src/mapi/Makefile.am b/src/mapi/Makefile.am
> index 6794682..c42ed52 100644
> --- a/src/mapi/Makefile.am
> +++ b/src/mapi/Makefile.am
> @@ -45,6 +45,7 @@ AM_CPPFLAGS = \
> $(SELINUX_CFLAGS) \
> -I$(top_srcdir)/include \
> -I$(top_srcdir)/src/mapi \
> + -I$(top_srcdir)/src/util \
> -I$(top_builddir)/src/mapi
>
> include Makefile.sources
> diff --git a/src/mapi/entry_x86-64_tls.h b/src/mapi/entry_x86-64_tls.h
> index 71e9d60..2c5d64d 100644
> --- a/src/mapi/entry_x86-64_tls.h
> +++ b/src/mapi/entry_x86-64_tls.h
> @@ -25,6 +25,7 @@
> * Chia-I Wu <olv at lunarg.com>
> */
>
> +#include "macros.h"
> #include "u_macros.h"
>
> __asm__(".text\n"
> @@ -62,8 +63,7 @@ entry_patch_public(void)
> {
> }
>
> -static char
> -x86_64_entry_start[];
> +extern const char HIDDEN x86_64_entry_start[];
>
> mapi_func
> entry_get_public(int slot)
> diff --git a/src/mapi/entry_x86_tls.h b/src/mapi/entry_x86_tls.h
> index fa7bc15..a66edec 100644
> --- a/src/mapi/entry_x86_tls.h
> +++ b/src/mapi/entry_x86_tls.h
> @@ -26,6 +26,7 @@
> */
>
> #include <string.h>
> +#include "macros.h"
> #include "u_macros.h"
>
> __asm__(".text");
> @@ -72,8 +73,8 @@ __asm__(".text");
> extern unsigned long
> x86_current_tls();
>
> -static char x86_entry_start[];
> -static char x86_entry_end[];
> +extern const char HIDDEN x86_entry_start[];
> +extern const char HIDDEN x86_entry_end[];
>
> void
> entry_patch_public(void)
> diff --git a/src/mapi/entry_x86_tsd.h b/src/mapi/entry_x86_tsd.h
> index ece00fa..1de2991 100644
> --- a/src/mapi/entry_x86_tsd.h
> +++ b/src/mapi/entry_x86_tsd.h
> @@ -25,6 +25,7 @@
> * Chia-I Wu <olv at lunarg.com>
> */
>
> +#include "macros.h"
> #include "u_macros.h"
>
> #define X86_ENTRY_SIZE 32
> @@ -59,8 +60,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 HIDDEN x86_entry_start[];
> +extern const char HIDDEN x86_entry_end[];
>
> void
> entry_patch_public(void)
> --
> 2.2.2
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: for-marvin24.tar.gz
Type: application/x-gzip
Size: 12345 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150217/b0e02091/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: for-marvin24.tar.gz.sha256sum
Type: application/octet-stream
Size: 86 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150217/b0e02091/attachment.obj>
More information about the llvm-dev
mailing list