On Tue, Nov 27, 2012 at 5:27 PM, Måns Rullgård <[email protected]> wrote:
> Sean McGovern <[email protected]> writes:
>
>> On Tuesday, November 27, 2012, Martin Storsjö <[email protected]> wrote:
>>> On Mon, 26 Nov 2012, Sean McGovern wrote:
>>>
>>>> For example, the macro for ff_log2 in libavutil/intmath.h still uses
>>>> ff_log2_tab if you aren't on GCC. suncc doesn't appear to have a facility
>>>> similar to the __builtin_* convenience functions in GCC.
>>>
>>> After taking a closer look at the issue, it seems that the actual culprit
>>> is that suncc doesn't strip out unused static functions if -g is specified.
>>> So any file that happens to include the header that declares the static
>>> inline function that references ff_log2_tab (or similar) will end up with a
>>> reference to that symbol, even if the inline function isn't used at all.
>>>
>>> If building with --disable-debug, the stray inline functions are stripped
>>> as they should, and the build succeeds.
>>>
>>> // Martin
>>
>> Thank you *very much* for looking into this, Martin.
>>
>> I will ensure in my patchset that symbol versioning is disabled when using
>> suncc with debug enabled.
>
> Symbol versioning has nothing to do with this.
No, but disabling it avoids the resulting build failure, because our
symbol versioning script not only attaches symbols, but additionally
hides for instance these tables.
--
regards,
Reinhard
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel