From 03a03b7fcb88e059110cf2ad22d779084e42d831 Mon Sep 17 00:00:00 2001 From: Petr Písař Date: Feb 24 2011 17:16:23 +0000 Subject: Adapt to nasm-2.09 nasm has changed and statred to generate ELFs without GNU-stack header leading to library marked as having executable stack. --- diff --git a/SDL-1.2.14-nasm-2.09-compat.patch b/SDL-1.2.14-nasm-2.09-compat.patch new file mode 100644 index 0000000..f85ef38 --- /dev/null +++ b/SDL-1.2.14-nasm-2.09-compat.patch @@ -0,0 +1,100 @@ +From 0d8a1536a20cc834273789ae4251bff226a2a54c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Thu, 24 Feb 2011 15:49:35 +0100 +Subject: [PATCH] nasm 2.09 compatibility + +nasm-2.09 makes `elf' alias to `elf32', thus __OUTPUT_FORMAT__ macro +becomes `elf32' instead of `elf' (on x86). Unmatched macro value causes +omitting .note.GNU-stack marker and creates ELFs with executable stack. +This is unneeded and attracts security policies like SELinux. +--- + configure.in | 4 ++-- + src/hermes/mmx_main.asm | 2 +- + src/hermes/mmxp2_32.asm | 2 +- + src/hermes/x86_main.asm | 2 +- + src/hermes/x86p_16.asm | 2 +- + src/hermes/x86p_32.asm | 2 +- + 6 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/configure.in b/configure.in +index a7e9b18..04f212b 100644 +--- a/configure.in ++++ b/configure.in +@@ -740,12 +740,12 @@ AC_HELP_STRING([--enable-nasm], [use nasm assembly blitters on x86 [[default=yes + NASMFLAGS="-f macho" + ;; + *) +- NASMFLAGS="-f elf" ++ NASMFLAGS="-f elf32" + ;; + esac + fi + +- echo "%ifidn __OUTPUT_FORMAT__,elf" > unquoted-sections ++ echo "%ifidn __OUTPUT_FORMAT__,elf32" > unquoted-sections + echo "section .note.GNU-stack noalloc noexec nowrite progbits" >> unquoted-sections + echo "%endif" >> unquoted-sections + CompileNASM unquoted-sections || NASM="" +diff --git a/src/hermes/mmx_main.asm b/src/hermes/mmx_main.asm +index c3886d6..00032b9 100644 +--- a/src/hermes/mmx_main.asm ++++ b/src/hermes/mmx_main.asm +@@ -69,6 +69,6 @@ endconvert: + + ret + +-%ifidn __OUTPUT_FORMAT__,elf ++%ifidn __OUTPUT_FORMAT__,elf32 + section .note.GNU-stack noalloc noexec nowrite progbits + %endif +diff --git a/src/hermes/mmxp2_32.asm b/src/hermes/mmxp2_32.asm +index d2d31ec..b7c1eeb 100644 +--- a/src/hermes/mmxp2_32.asm ++++ b/src/hermes/mmxp2_32.asm +@@ -400,6 +400,6 @@ _convert_bgr555_cheat: + .L4: + retn + +-%ifidn __OUTPUT_FORMAT__,elf ++%ifidn __OUTPUT_FORMAT__,elf32 + section .note.GNU-stack noalloc noexec nowrite progbits + %endif +diff --git a/src/hermes/x86_main.asm b/src/hermes/x86_main.asm +index e78bf8f..f7dd3db 100644 +--- a/src/hermes/x86_main.asm ++++ b/src/hermes/x86_main.asm +@@ -70,6 +70,6 @@ endconvert: + + + +-%ifidn __OUTPUT_FORMAT__,elf ++%ifidn __OUTPUT_FORMAT__,elf32 + section .note.GNU-stack noalloc noexec nowrite progbits + %endif +diff --git a/src/hermes/x86p_16.asm b/src/hermes/x86p_16.asm +index e35c75d..fcb6f5a 100644 +--- a/src/hermes/x86p_16.asm ++++ b/src/hermes/x86p_16.asm +@@ -485,6 +485,6 @@ _ConvertX86p16_8RGB332: + .L7 pop ebp + retn + +-%ifidn __OUTPUT_FORMAT__,elf ++%ifidn __OUTPUT_FORMAT__,elf32 + section .note.GNU-stack noalloc noexec nowrite progbits + %endif +diff --git a/src/hermes/x86p_32.asm b/src/hermes/x86p_32.asm +index 4446c1c..819157f 100644 +--- a/src/hermes/x86p_32.asm ++++ b/src/hermes/x86p_32.asm +@@ -1040,6 +1040,6 @@ _ConvertX86p32_8RGB332: + .L4: + retn + +-%ifidn __OUTPUT_FORMAT__,elf ++%ifidn __OUTPUT_FORMAT__,elf32 + section .note.GNU-stack noalloc noexec nowrite progbits + %endif +-- +1.7.4 + diff --git a/SDL.spec b/SDL.spec index 0690c3d..460877e 100644 --- a/SDL.spec +++ b/SDL.spec @@ -1,7 +1,7 @@ Summary: A cross-platform multimedia library Name: SDL Version: 1.2.14 -Release: 11%{?dist} +Release: 12%{?dist} # Source: http://www.libsdl.org/release/%%{name}-%%{version}.tar.gz # To create the repackaged archive use ./repackage.sh %%{version} Source0: %{name}-%{version}_repackaged.tar.gz @@ -22,6 +22,8 @@ Patch5: SDL-1.2.14-x11_grab_down_button.patch Patch6: SDL-1.2.14-linux_2.6_joystick.patch # Do not call memcpy() on overlapping areas, in upstream, sdl1090, rh669844 Patch7: SDL-1.2.14-SDL_BlitCopyOverlap_memcpy.patch +# nasm-2.09 aliased elf to elf32, rh678818 +Patch8: SDL-1.2.14-nasm-2.09-compat.patch URL: http://www.libsdl.org/ License: LGPLv2+ @@ -83,6 +85,7 @@ static SDL applications. %patch5 -p1 -b .x11_grab_down_button %patch6 -p1 -b .linux_2.6_joystick %patch7 -p1 -b .SDL_BlitCopyOverlap_memcpy +%patch8 -p1 -b .nasm209 for F in CREDITS; do iconv -f iso8859-1 -t utf-8 < "$F" > "${F}.utf" touch --reference "$F" "${F}.utf" @@ -145,6 +148,9 @@ rm -rf %{buildroot} %{_libdir}/lib*.a %changelog +* Thu Feb 24 2011 Petr Pisar - 1.2.14-12 +- Adapt to nasm-2.09 (bug #678818) + * Fri Feb 18 2011 Petr Pisar - 1.2.14-11 - Correct patch application - Make intradependecies architecture specific