[FFmpeg-cvslog] r12484 - in trunk: configure libavutil/internal.h

mru subversion
Tue Mar 18 03:01:20 CET 2008


Author: mru
Date: Tue Mar 18 03:01:20 2008
New Revision: 12484

Log:
check for prefix on extern symbols in configure


Modified:
   trunk/configure
   trunk/libavutil/internal.h

Modified: trunk/configure
==============================================================================
--- trunk/configure	(original)
+++ trunk/configure	Tue Mar 18 03:01:20 2008
@@ -1491,6 +1491,12 @@ if test "$?" != 0; then
     die "C compiler test failed."
 fi
 
+check_cc <<EOF || die "Symbol mangling check failed."
+int ff_extern;
+EOF
+sym=$(nm -P $TMPO)
+extern_prefix=${sym%%ff_extern*}
+
 check_asm inline_asm '""'
 
 if enabled x86; then
@@ -2070,6 +2076,7 @@ enabled asmalign_pot &&
     printf '#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\\n\\t"\n' >> $TMPH ||
     printf '#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\\n\\t"\n' >> $TMPH
 
+echo "#define EXTERN_PREFIX \"${extern_prefix}\"" >> $TMPH
 
 echo "#endif /* FFMPEG_CONFIG_H */" >> $TMPH
 

Modified: trunk/libavutil/internal.h
==============================================================================
--- trunk/libavutil/internal.h	(original)
+++ trunk/libavutil/internal.h	Tue Mar 18 03:01:20 2008
@@ -119,18 +119,10 @@
 #endif
 
 // Use rip-relative addressing if compiling PIC code on x86-64.
-#if defined(__MINGW32__) || defined(__CYGWIN__) || defined(__DJGPP__) || \
-    defined(__OS2__) || defined(__APPLE__) || \
-    (defined (__OpenBSD__) && !defined(__ELF__))
-#    if defined(ARCH_X86_64) && defined(PIC)
-#        define MANGLE(a) "_" #a"(%%rip)"
-#    else
-#        define MANGLE(a) "_" #a
-#    endif
-#elif defined(ARCH_X86_64) && defined(PIC)
-#    define MANGLE(a) #a"(%%rip)"
+#if defined(ARCH_X86_64) && defined(PIC)
+#    define MANGLE(a) EXTERN_PREFIX #a"(%%rip)"
 #else
-#    define MANGLE(a) #a
+#    define MANGLE(a) EXTERN_PREFIX #a
 #endif
 
 /* debug stuff */




More information about the ffmpeg-cvslog mailing list