diff options
Diffstat (limited to 'meta/recipes-multimedia/flac/flac-1.2.1/asm-pic.patch')
-rw-r--r-- | meta/recipes-multimedia/flac/flac-1.2.1/asm-pic.patch | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/meta/recipes-multimedia/flac/flac-1.2.1/asm-pic.patch b/meta/recipes-multimedia/flac/flac-1.2.1/asm-pic.patch deleted file mode 100644 index 43f29cf1ee..0000000000 --- a/meta/recipes-multimedia/flac/flac-1.2.1/asm-pic.patch +++ /dev/null @@ -1,99 +0,0 @@ -Upstream-Status: Backport -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From 12022d90dd3adc9f37dc2b16358cbecfe3c5be1c Mon Sep 17 00:00:00 2001 -From: Samuli Suominen <drac@gentoo.org> -Date: Sun, 15 Jul 2012 15:45:10 +1000 -Subject: [PATCH] Fix assembler code to make it PIC so the dynamic linker does - not have to do text relocations on-the-fly. Patch from Gentoo - via Jaren Stangret <sirjaren@gmail.com> - -Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com> ---- - src/libFLAC/ia32/bitreader_asm.nasm | 27 +++++++++++++++++++++++++++ - 1 files changed, 27 insertions(+), 0 deletions(-) - -diff --git a/src/libFLAC/ia32/bitreader_asm.nasm b/src/libFLAC/ia32/bitreader_asm.nasm -index c6bb8c2..4cd0ea2 100644 ---- a/src/libFLAC/ia32/bitreader_asm.nasm -+++ b/src/libFLAC/ia32/bitreader_asm.nasm -@@ -140,8 +140,13 @@ cident FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap - %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE - mov edi, _FLAC__crc16_table - %else -+%ifdef OBJ_FORMAT_elf -+ mov edi, [esp + 16] ; saved ebx (GOT base) -+ lea edi, [edi + FLAC__crc16_table wrt ..gotoff] -+%else - mov edi, FLAC__crc16_table - %endif -+%endif - ;; eax (ax) crc a.k.a. br->read_crc - ;; ebx (bl) intermediate result index into FLAC__crc16_table[] - ;; ecx br->crc16_align -@@ -216,8 +221,13 @@ cident FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap - %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE - mov edi, _FLAC__crc16_table - %else -+%ifdef OBJ_FORMAT_elf -+ mov edi, [esp + 16] ; saved ebx (GOT base) -+ lea edi, [edi + FLAC__crc16_table wrt ..gotoff] -+%else - mov edi, FLAC__crc16_table - %endif -+%endif - ;; eax (ax) crc a.k.a. br->read_crc - ;; ebx (bl) intermediate result index into FLAC__crc16_table[] - ;; ecx br->crc16_align -@@ -316,8 +326,13 @@ cident FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap - %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE - call _bitreader_read_from_client_ - %else -+%ifdef OBJ_FORMAT_elf -+ mov ebx, [esp + 20] ; saved ebx (GOT base) -+ call bitreader_read_from_client_ wrt ..plt -+%else - call bitreader_read_from_client_ - %endif -+%endif - pop edx ; /* discard, unused */ - pop ecx ; /* restore */ - mov esi, [ebp + 16] ; cwords = br->consumed_words; -@@ -363,13 +378,20 @@ cident FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap - mov [ebp + 16], esi ; br->consumed_words = cwords; - mov [ebp + 20], ecx ; br->consumed_bits = cbits; - push ecx ; /* save */ -+ push ebx ; /* save */ - push ebp ; /* push br argument */ - %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE - call _bitreader_read_from_client_ - %else -+%ifdef OBJ_FORMAT_elf -+ mov ebx, [esp + 24] ; saved ebx (GOT base) -+ call bitreader_read_from_client_ wrt ..plt -+%else - call bitreader_read_from_client_ - %endif -+%endif - pop edx ; /* discard, unused */ -+ pop ebx ; /* restore */ - pop ecx ; /* restore */ - mov esi, [ebp + 16] ; cwords = br->consumed_words; - ; ucbits = (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8 - cbits; -@@ -438,8 +460,13 @@ cident FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap - %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE - mov edi, _FLAC__crc16_table - %else -+%ifdef OBJ_FORMAT_elf -+ mov edi, [esp + 24] ; saved ebx (GOT base) -+ lea edi, [edi + FLAC__crc16_table wrt ..gotoff] -+%else - mov edi, FLAC__crc16_table - %endif -+%endif - ;; eax (ax) crc a.k.a. br->read_crc - ;; ebx (bl) intermediate result index into FLAC__crc16_table[] - ;; ecx br->crc16_align --- -1.7.2.5 - |