check for prefix on extern symbols in configure

Originally committed as revision 12484 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Måns Rullgård 2008-03-18 02:01:20 +00:00
parent 6fcc9af012
commit b4d96ba2a8
2 changed files with 10 additions and 11 deletions

7
configure vendored
View File

@ -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

View File

@ -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 */