diff options
author | Mike Frysinger <vapier.adi@gmail.com> | 2008-02-16 15:17:31 +0000 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2008-02-16 15:17:31 +0000 |
commit | e44d7c659ba56d7efd6de10d5d99a1c44fd997fa (patch) | |
tree | b1cf54484d3258d0c5a06fe4da641b4dd1ace3e6 /libavcodec/bfin/vp3_idct_bfin.S | |
parent | 2d83fe90e32b39a038ce5d779a3f2a1d45059784 (diff) | |
download | ffmpeg-e44d7c659ba56d7efd6de10d5d99a1c44fd997fa.tar.gz |
FLAT objects cannot have multiple sections, so using the L1 attributes breaks
linking. The FDPIC relocs also break for any other format. Thus check the
compiler environment and select the appropriate sections/relocs.
patch by Mike Frysinger, vapier.adi a gmail d com
Originally committed as revision 12125 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/bfin/vp3_idct_bfin.S')
-rw-r--r-- | libavcodec/bfin/vp3_idct_bfin.S | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libavcodec/bfin/vp3_idct_bfin.S b/libavcodec/bfin/vp3_idct_bfin.S index 1ed9209cdd..ec8c1bee77 100644 --- a/libavcodec/bfin/vp3_idct_bfin.S +++ b/libavcodec/bfin/vp3_idct_bfin.S @@ -30,7 +30,11 @@ Registers Used : A0, A1, R0-R7, I0-I3, B0, B2, B3, M0-M2, L0-L3, P0-P5, LC0. #include "config_bfin.h" +#ifdef __FDPIC__ .section .l1.data.B,"aw",@progbits +#else +.data +#endif .align 4; coefs: @@ -45,7 +49,9 @@ coefs: .short 0x18F9; //cos(7pi/16) .short 0x7D8A; //cos(pi/16) +#ifdef __FDPIC__ .section .l1.data.A +#endif vtmp: .space 256 @@ -54,6 +60,7 @@ vtmp: .space 256 #define TMP2 FP-16 +.text DEFUN(vp3_idct,mL1, (DCTELEM *block)): @@ -61,8 +68,8 @@ DEFUN(vp3_idct,mL1, link 16; [--SP] = (R7:4, P5:3); // Push the registers onto the stack. B0 = R0; // Pointer to Input matrix - R1 = [P3+coefs@GOT17M4]; // Pointer to Coefficients - R2 = [P3+vtmp@GOT17M4]; // Pointer to Temporary matrix + RELOC(R1, P3, coefs); // Pointer to Coefficients + RELOC(R2, P3, vtmp); // Pointer to Temporary matrix B3 = R1; B2 = R2; L3 = 20; // L3 is used for making the coefficient array |