Mesa (master): mapi: Add ABI-tag note.

Chia-I Wu olv at kemper.freedesktop.org
Sat Dec 18 07:07:20 UTC 2010


Module: Mesa
Branch: master
Commit: c7119e281b21bcfc88e5fdce2a5d8ebdbf6c6b62
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c7119e281b21bcfc88e5fdce2a5d8ebdbf6c6b62

Author: Chia-I Wu <olv at lunarg.com>
Date:   Fri Dec 17 03:11:53 2010 +0800

mapi: Add ABI-tag note.

TLS requires kernel >= 2.4.20.  Per glapi.

---

 src/mapi/mapi/entry_x86-64_tls.h |   13 +++++++++++++
 src/mapi/mapi/entry_x86_tls.h    |   13 +++++++++++++
 2 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/src/mapi/mapi/entry_x86-64_tls.h b/src/mapi/mapi/entry_x86-64_tls.h
index 2fbe73b..cc3d5a8 100644
--- a/src/mapi/mapi/entry_x86-64_tls.h
+++ b/src/mapi/mapi/entry_x86-64_tls.h
@@ -30,6 +30,19 @@
 #include "u_execmem.h"
 #include "u_macros.h"
 
+#ifdef __linux__
+__asm__(".section .note.ABI-tag, \"a\"\n\t"
+        ".p2align 2\n\t"
+        ".long 1f - 0f\n\t"      /* name length */
+        ".long 3f - 2f\n\t"      /* data length */
+        ".long 1\n\t"            /* note length */
+        "0: .asciz \"GNU\"\n\t"  /* vendor name */
+        "1: .p2align 2\n\t"
+        "2: .long 0\n\t"         /* note data: the ABI tag */
+        ".long 2,4,20\n\t"       /* Minimum kernel version w/TLS */
+        "3: .p2align 2\n\t");    /* pad out section */
+#endif /* __linux__ */
+
 __asm__(".text");
 
 __asm__("x86_64_current_tls:\n\t"
diff --git a/src/mapi/mapi/entry_x86_tls.h b/src/mapi/mapi/entry_x86_tls.h
index d4f7d98..9a1f6e4 100644
--- a/src/mapi/mapi/entry_x86_tls.h
+++ b/src/mapi/mapi/entry_x86_tls.h
@@ -30,6 +30,19 @@
 #include "u_execmem.h"
 #include "u_macros.h"
 
+#ifdef __linux__
+__asm__(".section .note.ABI-tag, \"a\"\n\t"
+        ".p2align 2\n\t"
+        ".long 1f - 0f\n\t"      /* name length */
+        ".long 3f - 2f\n\t"      /* data length */
+        ".long 1\n\t"            /* note length */
+        "0: .asciz \"GNU\"\n\t"  /* vendor name */
+        "1: .p2align 2\n\t"
+        "2: .long 0\n\t"         /* note data: the ABI tag */
+        ".long 2,4,20\n\t"       /* Minimum kernel version w/TLS */
+        "3: .p2align 2\n\t");    /* pad out section */
+#endif /* __linux__ */
+
 __asm__(".text");
 
 __asm__("x86_current_tls:\n\t"




More information about the mesa-commit mailing list