Sat Feb 22 09:25:22 2020 UTC ()
optimize a tail-call in previous


(tnn)
diff -r1.150 -r1.151 pkgsrc/graphics/MesaLib/distinfo
diff -r1.4 -r1.5 pkgsrc/graphics/MesaLib/patches/patch-src_mapi_entry__x86__tls.h

cvs diff -r1.150 -r1.151 pkgsrc/graphics/MesaLib/distinfo (expand / switch to unified diff)

--- pkgsrc/graphics/MesaLib/distinfo 2020/02/22 07:52:01 1.150
+++ pkgsrc/graphics/MesaLib/distinfo 2020/02/22 09:25:22 1.151
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1$NetBSD: distinfo,v 1.150 2020/02/22 07:52:01 tnn Exp $ 1$NetBSD: distinfo,v 1.151 2020/02/22 09:25:22 tnn Exp $
2 2
3SHA1 (mesa-19.2.7.tar.xz) = 9b8ebf66770353a48bd710e12e2727fb33645f44 3SHA1 (mesa-19.2.7.tar.xz) = 9b8ebf66770353a48bd710e12e2727fb33645f44
4RMD160 (mesa-19.2.7.tar.xz) = 5323b623ac22c168b86548cf6d842ce004e346a9 4RMD160 (mesa-19.2.7.tar.xz) = 5323b623ac22c168b86548cf6d842ce004e346a9
5SHA512 (mesa-19.2.7.tar.xz) = 87a82664381432e956ee23dc92bec5accf667606232e38d9458d67132c16fdc44584f65671293b83f00c58ad7742b80e942a5d1bd66d457705be60aaaf35395b 5SHA512 (mesa-19.2.7.tar.xz) = 87a82664381432e956ee23dc92bec5accf667606232e38d9458d67132c16fdc44584f65671293b83f00c58ad7742b80e942a5d1bd66d457705be60aaaf35395b
6Size (mesa-19.2.7.tar.xz) = 11460812 bytes 6Size (mesa-19.2.7.tar.xz) = 11460812 bytes
7SHA1 (patch-include_c11_threads__posix.h) = e1dca04b5c514d20123ef99338c6dabedbc14c5f 7SHA1 (patch-include_c11_threads__posix.h) = e1dca04b5c514d20123ef99338c6dabedbc14c5f
8SHA1 (patch-src_amd_common_ac__debug.c) = 8233367c3b5bc344442ea8d19488fdd1e3791ae9 8SHA1 (patch-src_amd_common_ac__debug.c) = 8233367c3b5bc344442ea8d19488fdd1e3791ae9
9SHA1 (patch-src_compiler_builtin__type__macros.h) = e4868011711fb89a293580a12eb603b8e7162336 9SHA1 (patch-src_compiler_builtin__type__macros.h) = e4868011711fb89a293580a12eb603b8e7162336
10SHA1 (patch-src_compiler_glsl_glsl__parser__extras.cpp) = ef114d6e288e6d212fce9d1c0606f7d454a171c4 10SHA1 (patch-src_compiler_glsl_glsl__parser__extras.cpp) = ef114d6e288e6d212fce9d1c0606f7d454a171c4
11SHA1 (patch-src_egl_drivers_dri2_platform__drm.c) = 9230fbae2c04246ebca8437ecad694bbae857fbe 11SHA1 (patch-src_egl_drivers_dri2_platform__drm.c) = 9230fbae2c04246ebca8437ecad694bbae857fbe
12SHA1 (patch-src_egl_drivers_dri2_platform__x11.c) = 49e48c31eacb79d1da357fe70eaffd2926b5280e 12SHA1 (patch-src_egl_drivers_dri2_platform__x11.c) = 49e48c31eacb79d1da357fe70eaffd2926b5280e
13SHA1 (patch-src_egl_main_eglglobals.c) = 0d52014f52e62fc5fa6650336ddb0011ecf331e6 13SHA1 (patch-src_egl_main_eglglobals.c) = 0d52014f52e62fc5fa6650336ddb0011ecf331e6
14SHA1 (patch-src_gallium_auxiliary_pipe-loader_pipe__loader__drm.c) = f913b779404e6bd8ae707a4fd66eb7c1dca9b311 14SHA1 (patch-src_gallium_auxiliary_pipe-loader_pipe__loader__drm.c) = f913b779404e6bd8ae707a4fd66eb7c1dca9b311
@@ -21,26 +21,26 @@ SHA1 (patch-src_gallium_include_pipe_p__ @@ -21,26 +21,26 @@ SHA1 (patch-src_gallium_include_pipe_p__
21SHA1 (patch-src_gallium_state__trackers_clover_llvm_invocation.cpp) = 3053db09fbfffffd82e232b60b244a0a80c8f181 21SHA1 (patch-src_gallium_state__trackers_clover_llvm_invocation.cpp) = 3053db09fbfffffd82e232b60b244a0a80c8f181
22SHA1 (patch-src_gallium_state__trackers_clover_llvm_metadata.hpp) = c97d38098ea03658bc193a50e445b87f1c020839 22SHA1 (patch-src_gallium_state__trackers_clover_llvm_metadata.hpp) = c97d38098ea03658bc193a50e445b87f1c020839
23SHA1 (patch-src_gallium_state__trackers_clover_util_range.hpp) = cdc78067986c1b92818472c4201c58ef1b42c4f4 23SHA1 (patch-src_gallium_state__trackers_clover_util_range.hpp) = cdc78067986c1b92818472c4201c58ef1b42c4f4
24SHA1 (patch-src_glx_dri__common.h) = 0274877f8c65a4bb729536a897df4704897a4c6e 24SHA1 (patch-src_glx_dri__common.h) = 0274877f8c65a4bb729536a897df4704897a4c6e
25SHA1 (patch-src_glx_dri__glx.c) = 8fd48776e9953b18bd17ba130d90ae2935e67242 25SHA1 (patch-src_glx_dri__glx.c) = 8fd48776e9953b18bd17ba130d90ae2935e67242
26SHA1 (patch-src_glx_glxclient.h) = f0358179ae397bc8677597b0ccb9a471f40f15de 26SHA1 (patch-src_glx_glxclient.h) = f0358179ae397bc8677597b0ccb9a471f40f15de
27SHA1 (patch-src_glx_glxcurrent.c) = a872950c2cb08f60c1d018d0490c610a764ab468 27SHA1 (patch-src_glx_glxcurrent.c) = a872950c2cb08f60c1d018d0490c610a764ab468
28SHA1 (patch-src_glx_glxext.c) = 15c2c5e0c6b5095ce849fb86ad148aa05d7d907a 28SHA1 (patch-src_glx_glxext.c) = 15c2c5e0c6b5095ce849fb86ad148aa05d7d907a
29SHA1 (patch-src_intel_compiler_brw__fs__bank__conflicts.cpp) = 6276d2c6846bb4dd08699921bec4e20202a17478 29SHA1 (patch-src_intel_compiler_brw__fs__bank__conflicts.cpp) = 6276d2c6846bb4dd08699921bec4e20202a17478
30SHA1 (patch-src_intel_perf_gen__perf.c) = 526f36d96bd9d72893764da2b9e78cb9b70de92b 30SHA1 (patch-src_intel_perf_gen__perf.c) = 526f36d96bd9d72893764da2b9e78cb9b70de92b
31SHA1 (patch-src_intel_tools_aubinator__error__decode.c) = d8f636e3c3e76763a505a1dce23de0b198ad62fa 31SHA1 (patch-src_intel_tools_aubinator__error__decode.c) = d8f636e3c3e76763a505a1dce23de0b198ad62fa
32SHA1 (patch-src_loader_loader.c) = 303e941f9b8afa6ee8053107af01e2c26e6ff118 32SHA1 (patch-src_loader_loader.c) = 303e941f9b8afa6ee8053107af01e2c26e6ff118
33SHA1 (patch-src_mapi_entry__x86-64__tls.h) = cbbb95b96414609a9cd05af75c9544f8e6938280 33SHA1 (patch-src_mapi_entry__x86-64__tls.h) = cbbb95b96414609a9cd05af75c9544f8e6938280
34SHA1 (patch-src_mapi_entry__x86__tls.h) = c8ad1cb3854efeba8d709a66bdddb818854820ea 34SHA1 (patch-src_mapi_entry__x86__tls.h) = e5229912def548856662b0d764b0f2fc07457a57
35SHA1 (patch-src_mapi_u__current.c) = 4e3ec6e253af3737f77ecd43e56044ba2b81e699 35SHA1 (patch-src_mapi_u__current.c) = 4e3ec6e253af3737f77ecd43e56044ba2b81e699
36SHA1 (patch-src_mapi_u__current.h) = 9f4744681381a0959fda2926a436f296c89577f3 36SHA1 (patch-src_mapi_u__current.h) = 9f4744681381a0959fda2926a436f296c89577f3
37SHA1 (patch-src_mesa_main_extensions.c) = 2f48bdb1176c2878bb33bcfab7556172b50a987e 37SHA1 (patch-src_mesa_main_extensions.c) = 2f48bdb1176c2878bb33bcfab7556172b50a987e
38SHA1 (patch-src_mesa_main_macros.h) = c5dceaa8dc02a58e5b2273d82e3fe1cc12e327d3 38SHA1 (patch-src_mesa_main_macros.h) = c5dceaa8dc02a58e5b2273d82e3fe1cc12e327d3
39SHA1 (patch-src_mesa_main_marshal.h) = 4e4c08796a61aaa9f2463a9797e382e2e29860e9 39SHA1 (patch-src_mesa_main_marshal.h) = 4e4c08796a61aaa9f2463a9797e382e2e29860e9
40SHA1 (patch-src_mesa_main_shader__query.cpp) = 3f9c31645d87855759def11344dee16af23c7be3 40SHA1 (patch-src_mesa_main_shader__query.cpp) = 3f9c31645d87855759def11344dee16af23c7be3
41SHA1 (patch-src_mesa_x86_common__x86.c) = f8c4b93443ef66d017f6aa114b877565b30f2598 41SHA1 (patch-src_mesa_x86_common__x86.c) = f8c4b93443ef66d017f6aa114b877565b30f2598
42SHA1 (patch-src_util_build__id.c) = 7a9547bbda9d2fb9f0018ccf27b70b59e497aa2c 42SHA1 (patch-src_util_build__id.c) = 7a9547bbda9d2fb9f0018ccf27b70b59e497aa2c
43SHA1 (patch-src_util_strndup.h) = 73f49694ca48ad6b9a9d8346c5b84fddec2463bd 43SHA1 (patch-src_util_strndup.h) = 73f49694ca48ad6b9a9d8346c5b84fddec2463bd
44SHA1 (patch-src_util_u__atomic.h) = 31d4514538ef5ee53012695eb5c66134aaec981e 44SHA1 (patch-src_util_u__atomic.h) = 31d4514538ef5ee53012695eb5c66134aaec981e
45SHA1 (patch-src_util_u__queue.c) = ed1ea3f6fc37e9a64894a3e865c48691b6e01b2c 45SHA1 (patch-src_util_u__queue.c) = ed1ea3f6fc37e9a64894a3e865c48691b6e01b2c
46SHA1 (patch-src_util_u__thread.h) = 60c14883925ac60e26efbeee5bef257d081bcc51 46SHA1 (patch-src_util_u__thread.h) = 60c14883925ac60e26efbeee5bef257d081bcc51

cvs diff -r1.4 -r1.5 pkgsrc/graphics/MesaLib/patches/patch-src_mapi_entry__x86__tls.h (expand / switch to unified diff)

--- pkgsrc/graphics/MesaLib/patches/patch-src_mapi_entry__x86__tls.h 2020/02/22 07:52:01 1.4
+++ pkgsrc/graphics/MesaLib/patches/patch-src_mapi_entry__x86__tls.h 2020/02/22 09:25:22 1.5
@@ -1,43 +1,42 @@ @@ -1,43 +1,42 @@
1$NetBSD: patch-src_mapi_entry__x86__tls.h,v 1.4 2020/02/22 07:52:01 tnn Exp $ 1$NetBSD: patch-src_mapi_entry__x86__tls.h,v 1.5 2020/02/22 09:25:22 tnn Exp $
2 2
3NetBSD only supports zero-initialized initial-exec tls variables in conjuction 3NetBSD only supports zero-initialized initial-exec tls variables in conjuction
4with dlopen(3) at the moment. 4with dlopen(3) at the moment.
5 5
6--- src/mapi/entry_x86_tls.h.orig 2019-12-04 22:10:14.000000000 +0000 6--- src/mapi/entry_x86_tls.h.orig 2019-12-04 22:10:14.000000000 +0000
7+++ src/mapi/entry_x86_tls.h 7+++ src/mapi/entry_x86_tls.h
8@@ -43,6 +43,21 @@ __asm__("x86_current_tls:\n\t" 8@@ -43,6 +43,20 @@ __asm__("x86_current_tls:\n\t"
9 "movl " ENTRY_CURRENT_TABLE "@GOTNTPOFF(%eax), %eax\n\t" 9 "movl " ENTRY_CURRENT_TABLE "@GOTNTPOFF(%eax), %eax\n\t"
10 "ret"); 10 "ret");
11  11
12+#if defined(__NetBSD__) 12+#if defined(__NetBSD__)
13+__asm__("x86_current_table_helper:\n\t" 13+__asm__("x86_current_table_helper:\n\t"
14+ "movl %gs:(%eax), %eax\n\t" \ 14+ "movl %gs:(%eax), %eax\n\t" \
15+ "testl %eax, %eax\n\t" \ 15+ "testl %eax, %eax\n\t" \
16+ "je 1f\n\t" \ 16+ "je 1f\n\t" \
17+ "ret\n\t" \ 17+ "ret\n\t" \
18+ "1:\n\t" \ 18+ "1:\n\t" \
19+ "call 2f\n\t" \ 19+ "call 2f\n\t" \
20+ "2:\n\t" \ 20+ "2:\n\t" \
21+ "popl %eax\n\t" \ 21+ "popl %eax\n\t" \
22+ "addl $_GLOBAL_OFFSET_TABLE_+[.-2b], %eax\n\t" \ 22+ "addl $_GLOBAL_OFFSET_TABLE_+[.-2b], %eax\n\t" \
23+ "call *" ENTRY_CURRENT_TABLE_GET "@GOT(%eax)\n\t" \ 23+ "jmp *" ENTRY_CURRENT_TABLE_GET "@GOT(%eax)");
24+ "ret"); 
25+#endif 24+#endif
26+ 25+
27 #ifndef GLX_X86_READONLY_TEXT 26 #ifndef GLX_X86_READONLY_TEXT
28 __asm__(".section wtext, \"awx\", @progbits"); 27 __asm__(".section wtext, \"awx\", @progbits");
29 #endif /* GLX_X86_READONLY_TEXT */ 28 #endif /* GLX_X86_READONLY_TEXT */
30@@ -56,10 +71,17 @@ __asm__(".balign 16\n" 29@@ -56,10 +70,17 @@ __asm__(".balign 16\n"
31 ".balign 16\n" \ 30 ".balign 16\n" \
32 func ":" 31 func ":"
33  32
34+#if defined(__NetBSD__) 33+#if defined(__NetBSD__)
35+#define STUB_ASM_CODE(slot) \ 34+#define STUB_ASM_CODE(slot) \
36+ "call x86_current_tls\n\t" \ 35+ "call x86_current_tls\n\t" \
37+ "call x86_current_table_helper\n\t" \ 36+ "call x86_current_table_helper\n\t" \
38+ "jmp *(4 * " slot ")(%eax)" 37+ "jmp *(4 * " slot ")(%eax)"
39+#else 38+#else
40 #define STUB_ASM_CODE(slot) \ 39 #define STUB_ASM_CODE(slot) \
41 "call x86_current_tls\n\t" \ 40 "call x86_current_tls\n\t" \
42 "movl %gs:(%eax), %eax\n\t" \ 41 "movl %gs:(%eax), %eax\n\t" \
43 "jmp *(4 * " slot ")(%eax)" 42 "jmp *(4 * " slot ")(%eax)"