[FFmpeg-devel] addcompat does work correctly when overridden functions are declared to use a non-default calling convention
Yu Xiaolei
dreifachstein at gmail.com
Sat May 17 11:15:41 CEST 2014
Android armeabi-v7a-hard defaults to hardfp abi while using softfp on
JNI and system library calls.
It relies on these functions being marked with correct abi through
__attribute__((pcs("aapcs"))).
When addcompat adds -Dstrtod=avpriv_strtod to compiler flags and
avpriv_strtod implementation redeclares it through:
#undef strtod
double strtod(const char *, char **);
avpriv_strtod ends up calling system strtod with hardfp abi.
I think it is at least not future proof to assume libc functions being
always declared without a calling convention,
but cannot come up with a better non-intrusive solution.
More information about the ffmpeg-devel
mailing list