Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90908 Signed-off-by: Julien Isorce <j.iso...@samsung.com> --- configure.ac | 2 +- src/mesa/x86-64/xform4.S | 53 +++++++++++++++++++++++++----------------------- src/mesa/x86/assyntax.h | 2 +- 3 files changed, 30 insertions(+), 27 deletions(-)
diff --git a/configure.ac b/configure.ac index ae6d83d..6d699d5 100644 --- a/configure.ac +++ b/configure.ac @@ -615,7 +615,7 @@ if test "x$enable_asm" = xyes; then ;; x86_64|amd64) case "$host_os" in - linux* | *freebsd* | dragonfly* | *netbsd* | openbsd*) + linux* | *freebsd* | dragonfly* | *netbsd* | openbsd* | darwin*) asm_arch=x86_64 ;; esac diff --git a/src/mesa/x86-64/xform4.S b/src/mesa/x86-64/xform4.S index c185f62..17eb7fa 100644 --- a/src/mesa/x86-64/xform4.S +++ b/src/mesa/x86-64/xform4.S @@ -24,14 +24,15 @@ #ifdef USE_X86_64_ASM +#include "x86/assyntax.h" #include "matypes.h" .text .align 16 -.globl _mesa_x86_64_cpuid -.hidden _mesa_x86_64_cpuid -_mesa_x86_64_cpuid: +GLOBL GLNAME(_mesa_x86_64_cpuid) +HIDDEN(_mesa_x86_64_cpuid) +GLNAME(_mesa_x86_64_cpuid): pushq %rbx movl (%rdi), %eax movl 8(%rdi), %ecx @@ -46,9 +47,9 @@ _mesa_x86_64_cpuid: ret .align 16 -.globl _mesa_x86_64_transform_points4_general -.hidden _mesa_x86_64_transform_points4_general -_mesa_x86_64_transform_points4_general: +GLOBL GLNAME(_mesa_x86_64_transform_points4_general) +HIDDEN(_mesa_x86_64_transform_points4_general) +GLNAME(_mesa_x86_64_transform_points4_general): /* * rdi = dest * rsi = matrix @@ -105,8 +106,10 @@ p4_general_loop: p4_general_done: .byte 0xf3 ret - + +#if defined (__ELF__) && defined (__linux__) .section .rodata +#endif .align 16 p4_constants: @@ -122,13 +125,13 @@ p4_constants: .text .align 16 -.globl _mesa_x86_64_transform_points4_3d -.hidden _mesa_x86_64_transform_points4_3d +GLOBL GLNAME(_mesa_x86_64_transform_points4_3d) +HIDDEN(_mesa_x86_64_transform_points4_3d) /* * this is slower than _mesa_x86_64_transform_points4_general * because it ensures that the last matrix row (or is it column?) is 0,0,0,1 */ -_mesa_x86_64_transform_points4_3d: +GLNAME(_mesa_x86_64_transform_points4_3d): leaq p4_constants(%rip), %rax @@ -194,9 +197,9 @@ p4_3d_done: .align 16 -.globl _mesa_x86_64_transform_points4_identity -.hidden _mesa_x86_64_transform_points4_identity -_mesa_x86_64_transform_points4_identity: +GLOBL GLNAME(_mesa_x86_64_transform_points4_identity) +HIDDEN(_mesa_x86_64_transform_points4_identitiy) +GLNAME(_mesa_x86_64_transform_points4_identity): movl V4F_COUNT(%rdx), %ecx /* count */ movzbl V4F_STRIDE(%rdx), %eax /* stride */ @@ -223,9 +226,9 @@ p4_identity_done: .align 16 -.globl _mesa_3dnow_transform_points4_3d_no_rot -.hidden _mesa_3dnow_transform_points4_3d_no_rot -_mesa_3dnow_transform_points4_3d_no_rot: +GLOBL GLNAME(_mesa_3dnow_transform_points4_3d_no_rot) +HIDDEN(_mesa_3dnow_transform_points4_3d_no_rot) +GLNAME(_mesa_3dnow_transform_points4_3d_no_rot): movl V4F_COUNT(%rdx), %ecx /* count */ movzbl V4F_STRIDE(%rdx), %eax /* stride */ @@ -288,9 +291,9 @@ p4_3d_no_rot_done: .align 16 -.globl _mesa_3dnow_transform_points4_perspective -.hidden _mesa_3dnow_transform_points4_perspective -_mesa_3dnow_transform_points4_perspective: +GLOBL GLNAME(_mesa_3dnow_transform_points4_perspective) +HIDDEN(_mesa_3dnow_transform_points4_perspective) +GLNAME(_mesa_3dnow_transform_points4_perspective): movl V4F_COUNT(%rdx), %ecx /* count */ movzbl V4F_STRIDE(%rdx), %eax /* stride */ @@ -355,9 +358,9 @@ p4_perspective_done: ret .align 16 -.globl _mesa_3dnow_transform_points4_2d_no_rot -.hidden _mesa_3dnow_transform_points4_2d_no_rot -_mesa_3dnow_transform_points4_2d_no_rot: +GLOBL GLNAME(_mesa_3dnow_transform_points4_2d_no_rot) +HIDDEN(_mesa_3dnow_transform_points4_2d_no_rot) +GLNAME(_mesa_3dnow_transform_points4_2d_no_rot): movl V4F_COUNT(%rdx), %ecx /* count */ movzbl V4F_STRIDE(%rdx), %eax /* stride */ @@ -411,9 +414,9 @@ p4_2d_no_rot_done: .align 16 -.globl _mesa_3dnow_transform_points4_2d -.hidden _mesa_3dnow_transform_points4_2d -_mesa_3dnow_transform_points4_2d: +GLOBL GLNAME(_mesa_3dnow_transform_points4_2d) +HIDDEN(_mesa_3dnow_transform_points4_2d) +GLNAME(_mesa_3dnow_transform_points4_2d): movl V4F_COUNT(%rdx), %ecx /* count */ movzbl V4F_STRIDE(%rdx), %eax /* stride */ diff --git a/src/mesa/x86/assyntax.h b/src/mesa/x86/assyntax.h index 67867bd..8ba7e50 100644 --- a/src/mesa/x86/assyntax.h +++ b/src/mesa/x86/assyntax.h @@ -255,7 +255,7 @@ #endif /* ACK_ASSEMBLER */ -#if defined(__QNX__) || defined(Lynx) || (defined(SYSV) || defined(SVR4)) && !defined(ACK_ASSEMBLER) || defined(__ELF__) || defined(__GNU__) || defined(__GNUC__) && !defined(__MINGW32__) +#if defined(__QNX__) || defined(Lynx) || (defined(SYSV) || defined(SVR4)) && !defined(ACK_ASSEMBLER) || defined(__ELF__) || defined(__GNU__) || defined(__GNUC__) && !defined(__MINGW32__) && !defined(__APPLE__) #define GLNAME(a) a #else #define GLNAME(a) CONCAT(_,a) -- 1.9.5 (Apple Git-50.3) _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev