TLS requires kernel >= 2.4.20. Per glapi.tags/android-x86-2.2-r2
| @@ -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" | |||
| @@ -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" | |||