diff options
Diffstat (limited to 'media-libs/libsdl/files/libsdl-1.2.10-PIC-hidden-symbols.patch')
-rw-r--r-- | media-libs/libsdl/files/libsdl-1.2.10-PIC-hidden-symbols.patch | 168 |
1 files changed, 168 insertions, 0 deletions
diff --git a/media-libs/libsdl/files/libsdl-1.2.10-PIC-hidden-symbols.patch b/media-libs/libsdl/files/libsdl-1.2.10-PIC-hidden-symbols.patch new file mode 100644 index 000000000000..857fc6591aa3 --- /dev/null +++ b/media-libs/libsdl/files/libsdl-1.2.10-PIC-hidden-symbols.patch @@ -0,0 +1,168 @@ +kill off textrels by hiding internal symbols + +http://bugzilla.libsdl.org/show_bug.cgi?id=157 +http://www.libsdl.org/pipermail/sdl/2006-March/073618.html + +--- configure.in ++++ configure.in +@@ -591,10 +591,13 @@ CheckNASM() + , enable_nasm=yes) + if test x$enable_video = xyes -a x$enable_assembly = xyes -a x$enable_nasm = xyes; then +- AC_PATH_PROG(NASM, nasm) +- if test x$NASM != x -a x$NASM != x'"$NASM"'; then ++ AC_PATH_PROG(NASM, yasm) ++ if test "x$NASM" = x -o "x$NASM" = x'"$NASM"'; then ++ AC_PATH_PROG(NASM, nasm) ++ fi ++ if test "x$NASM" != x -a "x$NASM" != x'"$NASM"'; then + AC_DEFINE(SDL_HERMES_BLITTERS) + SOURCES="$SOURCES $srcdir/src/hermes/*.asm" +- if test x$NASMFLAGS = x; then ++ if test x"$NASMFLAGS" = x; then + case $ARCH in + win32) + NASMFLAGS="-f win32" +@@ -607,6 +610,15 @@ AC_HELP_STRING([--enable-nasm], [use nas + ;; + esac + fi ++ NASMFLAGS="$NASMFLAGS -i $srcdir/src/hermes/" ++ ++ dnl See if hidden visibility is supported ++ echo 'GLOBAL _bar:function hidden' > nasm_vis.asm ++ if $NASM $NASMFLAGS nasm_vis.asm -o nasm_vis.o >&AS_MESSAGE_LOG_FD ; then ++ NASMFLAGS="$NASMFLAGS -DHIDDEN_VISIBILITY" ++ fi ++ rm -f nasm_vis.asm nasm_vis.o ++ + AC_SUBST(NASM) + AC_SUBST(NASMFLAGS) + +--- src/hermes/mmx_main.asm ++++ src/hermes/mmx_main.asm +@@ -9,8 +9,10 @@ + + BITS 32 + +-GLOBAL _ConvertMMX +-GLOBAL _mmxreturn ++%include "common.asm" ++ ++SDL_FUNC _ConvertMMX ++SDL_FUNC _mmxreturn + + SECTION .text + +--- src/hermes/mmxp2_32.asm ++++ src/hermes/mmxp2_32.asm +@@ -20,12 +20,13 @@ + + BITS 32 + ++%include "common.asm" + +-GLOBAL _ConvertMMXpII32_24RGB888 +-GLOBAL _ConvertMMXpII32_16RGB565 +-GLOBAL _ConvertMMXpII32_16BGR565 +-GLOBAL _ConvertMMXpII32_16RGB555 +-GLOBAL _ConvertMMXpII32_16BGR555 ++SDL_FUNC _ConvertMMXpII32_24RGB888 ++SDL_FUNC _ConvertMMXpII32_16RGB565 ++SDL_FUNC _ConvertMMXpII32_16BGR565 ++SDL_FUNC _ConvertMMXpII32_16RGB555 ++SDL_FUNC _ConvertMMXpII32_16BGR555 + + EXTERN _mmxreturn + +--- src/hermes/x86_main.asm ++++ src/hermes/x86_main.asm +@@ -11,10 +11,12 @@ + + BITS 32 + +-GLOBAL _ConvertX86 +-GLOBAL _x86return ++%include "common.asm" ++ ++SDL_FUNC _ConvertX86 ++SDL_FUNC _x86return + +-GLOBAL _Hermes_X86_CPU ++SDL_FUNC _Hermes_X86_CPU + + SECTION .text + +--- src/hermes/x86p_16.asm ++++ src/hermes/x86p_16.asm +@@ -10,19 +10,14 @@ + ; Used with permission. + ; + +- + BITS 32 + +-GLOBAL _ConvertX86p16_32RGB888 +-GLOBAL _ConvertX86p16_32BGR888 +-GLOBAL _ConvertX86p16_32RGBA888 +-GLOBAL _ConvertX86p16_32BGRA888 +-GLOBAL _ConvertX86p16_24RGB888 +-GLOBAL _ConvertX86p16_24BGR888 +-GLOBAL _ConvertX86p16_16BGR565 +-GLOBAL _ConvertX86p16_16RGB555 +-GLOBAL _ConvertX86p16_16BGR555 +-GLOBAL _ConvertX86p16_8RGB332 ++%include "common.asm" ++ ++SDL_FUNC _ConvertX86p16_16BGR565 ++SDL_FUNC _ConvertX86p16_16RGB555 ++SDL_FUNC _ConvertX86p16_16BGR555 ++SDL_FUNC _ConvertX86p16_8RGB332 + + EXTERN _ConvertX86 + EXTERN _x86return +--- src/hermes/x86p_32.asm ++++ src/hermes/x86p_32.asm +@@ -9,19 +9,20 @@ + ; Most routines are (c) Glenn Fiedler (ptc@gaffer.org), used with permission + ; + +- + BITS 32 + +-GLOBAL _ConvertX86p32_32BGR888 +-GLOBAL _ConvertX86p32_32RGBA888 +-GLOBAL _ConvertX86p32_32BGRA888 +-GLOBAL _ConvertX86p32_24RGB888 +-GLOBAL _ConvertX86p32_24BGR888 +-GLOBAL _ConvertX86p32_16RGB565 +-GLOBAL _ConvertX86p32_16BGR565 +-GLOBAL _ConvertX86p32_16RGB555 +-GLOBAL _ConvertX86p32_16BGR555 +-GLOBAL _ConvertX86p32_8RGB332 ++%include "common.asm" ++ ++SDL_FUNC _ConvertX86p32_32BGR888 ++SDL_FUNC _ConvertX86p32_32RGBA888 ++SDL_FUNC _ConvertX86p32_32BGRA888 ++SDL_FUNC _ConvertX86p32_24RGB888 ++SDL_FUNC _ConvertX86p32_24BGR888 ++SDL_FUNC _ConvertX86p32_16RGB565 ++SDL_FUNC _ConvertX86p32_16BGR565 ++SDL_FUNC _ConvertX86p32_16RGB555 ++SDL_FUNC _ConvertX86p32_16BGR555 ++SDL_FUNC _ConvertX86p32_8RGB332 + + EXTERN _x86return + +--- src/hermes/common.asm ++++ src/hermes/common.asm +@@ -0,0 +1,9 @@ ++; Some common macros for hermes nasm code ++ ++%macro SDL_FUNC 1 ++%ifdef HIDDEN_VISIBILITY ++GLOBAL %1:function hidden ++%else ++GLOBAL %1:function ++%endif ++%endmacro |