aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/bfin/config_bfin.h
diff options
context:
space:
mode:
authorMike Frysinger <vapier.adi@gmail.com>2008-02-16 15:17:31 +0000
committerDiego Biurrun <diego@biurrun.de>2008-02-16 15:17:31 +0000
commite44d7c659ba56d7efd6de10d5d99a1c44fd997fa (patch)
treeb1cf54484d3258d0c5a06fe4da641b4dd1ace3e6 /libavcodec/bfin/config_bfin.h
parent2d83fe90e32b39a038ce5d779a3f2a1d45059784 (diff)
downloadffmpeg-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/config_bfin.h')
-rw-r--r--libavcodec/bfin/config_bfin.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/libavcodec/bfin/config_bfin.h b/libavcodec/bfin/config_bfin.h
index 85b478fb08..0f0eab6bef 100644
--- a/libavcodec/bfin/config_bfin.h
+++ b/libavcodec/bfin/config_bfin.h
@@ -35,10 +35,14 @@ DEFUN(put_pixels_clamped,mL1,
#ifndef DEFUN
+#define mL3 .text
#ifndef mL1
+#ifdef __FDPIC__
#define mL1 .l1.text
+#else
+#define mL1 mL3
+#endif
#endif
-#define mL3 .text
#define DEFUN(fname,where,interface) \
.section where; \
@@ -50,6 +54,11 @@ DEFUN(put_pixels_clamped,mL1,
#define DEFUN_END(fname) \
.size _ff_bfin_ ## fname, . - _ff_bfin_ ## fname
+#ifdef __FDPIC__
+#define RELOC(reg,got,obj) reg = [got + obj@GOT17M4]
+#else
+#define RELOC(reg,got,obj) reg.L = obj; reg.H = obj
+#endif
#endif