diff options
author | simonb <simonb> | 2001-03-25 11:34:57 +0000 |
---|---|---|
committer | simonb <simonb> | 2001-03-25 11:34:57 +0000 |
commit | 8f654b9d8d9349a68fac2611fcf0287c62ed8982 (patch) | |
tree | 4e768c2fda68ddce8a576651b0943ed4a10b9798 /audio/madplay/patches | |
parent | 0954de5ad043fa91bf471286587e1ab1c8fb8f8d (diff) | |
download | pkgsrc-8f654b9d8d9349a68fac2611fcf0287c62ed8982.tar.gz |
Add a patch from Andre McCurdy <armccurdy@yahoo.co.uk> to fix the arm32
PIC code. Fixes PR pkg/12312 from Ignatios Souvatzis.
Diffstat (limited to 'audio/madplay/patches')
-rw-r--r-- | audio/madplay/patches/patch-ab | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/audio/madplay/patches/patch-ab b/audio/madplay/patches/patch-ab new file mode 100644 index 00000000000..0e0aa3a9fc3 --- /dev/null +++ b/audio/madplay/patches/patch-ab @@ -0,0 +1,88 @@ +$NetBSD: patch-ab,v 1.3 2001/03/25 11:34:57 simonb Exp $ + +This patch should be in the next madplay release and can be +deleted then - simonb (20010325). + +--- libmad/imdct_l_arm.S.orig Mon Sep 25 04:49:38 2000 ++++ libmad/imdct_l_arm.S Sun Mar 25 19:02:43 2001 +@@ -1,5 +1,5 @@ + /***************************************************************************** +-* Copyright (C) 2000 Andre McCurdy <armccurdy@yahoo.co.uk> ++* Copyright (C) 2000-2001 Andre McCurdy <armccurdy@yahoo.co.uk> + * + * This program is free software. you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -24,6 +24,9 @@ + * + * $Id: patch-ab,v 1.3 2001/03/25 11:34:57 simonb Exp $ + * ++* 2001/03/24: Andre McCurdy <armccurdy@yahoo.co.uk> ++* - Corrected PIC unsafe loading of address of 'imdct36_long_karray' ++* + * 2000/09/20: Robert Leslie <rob@mars.org> + * - Added a global symbol with leading underscore per suggestion of + * Simon Burge to support linking with the a.out format. +@@ -465,7 +468,7 @@ + + @---- + +- ldr r2, =imdct36_long_karray @ base address of Knn array ++ add r2, pc, #(imdct36_long_karray-.-8) @ r2 = base address of Knn array (PIC safe ?) + + + loop: +@@ -515,12 +518,29 @@ + + movs r8, r8, lsl #8 @ push result location index off the top end + beq loop @ loop back if completion flag not set ++ b imdct_l_windowing @ branch to windowing stage if looping finished ++ ++imdct36_long_karray: ++ ++ .word K17, -K13, K10, -K06, -K05, K01, -K00, K04, -K07, K11, K12, -K16, 0x00000000 ++ .word K13, K07, K16, K01, K10, -K05, K04, -K11, K00, -K17, K06, -K12, 0x00200800 ++ .word K11, K17, K05, K12, -K01, K06, -K07, K00, -K13, K04, -K16, K10, 0x00200c00 ++ .word K07, K00, -K12, K05, -K16, -K10, K11, -K17, K04, K13, K01, K06, 0x00001400 ++ .word K05, K10, -K00, -K17, K07, -K13, K12, K06, -K16, K01, -K11, -K04, 0x00181800 ++ .word K01, K05, -K07, -K11, K13, K17, -K16, -K12, K10, K06, -K04, -K00, 0x00102000 ++ .word -K16, K12, -K11, K07, K04, -K00, -K01, K05, -K06, K10, K13, -K17, 0x00284800 ++ .word -K12, K06, K17, -K00, -K11, K04, K05, -K10, K01, K16, -K07, -K13, 0x00085000 ++ .word -K10, K16, K04, -K13, -K00, K07, K06, -K01, -K12, -K05, K17, K11, 0x00105400 ++ .word -K06, -K01, K13, K04, K17, -K11, -K10, -K16, -K05, K12, K00, K07, 0x00185c00 ++ .word -K04, -K11, -K01, K16, K06, K12, K13, -K07, -K17, -K00, -K10, -K05, 0x00006000 ++ .word -K00, -K04, -K06, -K10, -K12, -K16, -K17, -K13, -K11, -K07, -K05, -K01, 0x00206801 + + + @---- + @------------------------------------------------------------------------- + @---- + ++imdct_l_windowing: + + ldr r11, [sp, #80] @ fetch function parameter 3 from out of the stack + ldmia r1!, { r0, r2 - r9 } @ load 9 words from x0, update pointer +@@ -973,24 +993,6 @@ + + add sp, sp, #(21*4) @ return stack frame + ldmia sp!, { r4 - r11, pc } @ restore callee saved regs, and return +- +- @---- +- +- +-imdct36_long_karray: +- +- .word K17, -K13, K10, -K06, -K05, K01, -K00, K04, -K07, K11, K12, -K16, 0x00000000 +- .word K13, K07, K16, K01, K10, -K05, K04, -K11, K00, -K17, K06, -K12, 0x00200800 +- .word K11, K17, K05, K12, -K01, K06, -K07, K00, -K13, K04, -K16, K10, 0x00200c00 +- .word K07, K00, -K12, K05, -K16, -K10, K11, -K17, K04, K13, K01, K06, 0x00001400 +- .word K05, K10, -K00, -K17, K07, -K13, K12, K06, -K16, K01, -K11, -K04, 0x00181800 +- .word K01, K05, -K07, -K11, K13, K17, -K16, -K12, K10, K06, -K04, -K00, 0x00102000 +- .word -K16, K12, -K11, K07, K04, -K00, -K01, K05, -K06, K10, K13, -K17, 0x00284800 +- .word -K12, K06, K17, -K00, -K11, K04, K05, -K10, K01, K16, -K07, -K13, 0x00085000 +- .word -K10, K16, K04, -K13, -K00, K07, K06, -K01, -K12, -K05, K17, K11, 0x00105400 +- .word -K06, -K01, K13, K04, K17, -K11, -K10, -K16, -K05, K12, K00, K07, 0x00185c00 +- .word -K04, -K11, -K01, K16, K06, K12, K13, -K07, -K17, -K00, -K10, -K05, 0x00006000 +- .word -K00, -K04, -K06, -K10, -K12, -K16, -K17, -K13, -K11, -K07, -K05, -K01, 0x00206801 + + @---- + @END |