diff options
| author | Suren A. Chilingaryan <csa@suren.me> | 2019-09-01 00:00:32 +0200 | 
|---|---|---|
| committer | Suren A. Chilingaryan <csa@suren.me> | 2019-09-01 00:00:32 +0200 | 
| commit | ca9627e70852f6b2e835660df870fe3ab405882d (patch) | |
| tree | 0a008b1d5b16fa0679a195ed7b5662c7891f591c /media-plugins/xmms-flac/files/flac-1.2.1-asm.patch | |
| download | darklin4-ca9627e70852f6b2e835660df870fe3ab405882d.tar.gz darklin4-ca9627e70852f6b2e835660df870fe3ab405882d.tar.bz2 darklin4-ca9627e70852f6b2e835660df870fe3ab405882d.tar.xz darklin4-ca9627e70852f6b2e835660df870fe3ab405882d.zip  | |
Initial import
Diffstat (limited to 'media-plugins/xmms-flac/files/flac-1.2.1-asm.patch')
| -rw-r--r-- | media-plugins/xmms-flac/files/flac-1.2.1-asm.patch | 80 | 
1 files changed, 80 insertions, 0 deletions
diff --git a/media-plugins/xmms-flac/files/flac-1.2.1-asm.patch b/media-plugins/xmms-flac/files/flac-1.2.1-asm.patch new file mode 100644 index 0000000..cc832ee --- /dev/null +++ b/media-plugins/xmms-flac/files/flac-1.2.1-asm.patch @@ -0,0 +1,80 @@ +diff -urp flac-1.2.1-old/src/libFLAC/ia32/bitreader_asm.nasm flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm +--- flac-1.2.1-old/src/libFLAC/ia32/bitreader_asm.nasm	2007-03-30 02:54:53.000000000 +0200 ++++ flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm	2007-09-27 21:39:45.000000000 +0200 +@@ -140,8 +140,13 @@ cident FLAC__bitreader_read_rice_signed_ + %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_ + %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 +@@ -315,8 +325,13 @@ cident FLAC__bitreader_read_rice_signed_ + %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; +@@ -362,13 +377,20 @@ cident FLAC__bitreader_read_rice_signed_ + 	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; +@@ -437,8 +459,13 @@ cident FLAC__bitreader_read_rice_signed_ + %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  | 
