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/fdct_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/fdct_bfin.S')
-rw-r--r-- | libavcodec/bfin/fdct_bfin.S | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libavcodec/bfin/fdct_bfin.S b/libavcodec/bfin/fdct_bfin.S index 9f3ef1fa8a..03f2709e3c 100644 --- a/libavcodec/bfin/fdct_bfin.S +++ b/libavcodec/bfin/fdct_bfin.S @@ -129,23 +129,30 @@ root:/u/ffmpeg/bhead/libavcodec> #include "config_bfin.h" +#ifdef __FDPIC__ .section .l1.data.B,"aw",@progbits +#else +.data +#endif .align 4; dct_coeff: .short 0x5a82, 0x2d41, 0x187e, 0x3b21, 0x0c7c, 0x3ec5, 0x238e, 0x3537; +#ifdef __FDPIC__ .section .l1.data.A,"aw",@progbits +#endif .align 4 vtmp: .space 128 +.text DEFUN(fdct,mL1, (DCTELEM *block)): [--SP] = (R7:4, P5:3); // Push the registers onto the stack. b0 = r0; - r0 = [P3+dct_coeff@GOT17M4]; + RELOC(r0, P3, dct_coeff); b3 = r0; - r0 = [P3+vtmp@GOT17M4]; + RELOC(r0, P3, vtmp); b2 = r0; L3 = 16; // L3 is set to 16 to make the coefficient |