+Teresa, who drafted the patch initially. On 31 October 2017 at 15:38, Michael Niedermayer <mich...@niedermayer.cc> wrote:
> On Tue, Oct 31, 2017 at 12:16:18PM +0000, Thomas Köppe wrote: > > Variables used in inline assembly need to be marked with > attribute((used)). > > This should not be the case. > Variables referenced through in/out operands should not need that. > Only ones accessed directly bypassing operands should need this > I've added Teresa to the thread, who initially analyzed the problem. (For background on ThinLTO, see here cppcon talk: https://www.youtube.com/watch?v=p9nH2vZ2mNo.) [...] > > - #define DECLARE_ALIGNED(n,t,v) t __attribute__ ((aligned (n))) > v > > + #define DECLARE_ALIGNED(n,t,v) t av_used __attribute__ > ((aligned (n))) v > > which variables actually are affected/ need this ? > Without this annotation, and when compiling and linking with ThinLTO, I get an undefined reference to "ff_h264_cabac_tables", and also to "ff_pw_96", "ff_pw_53", "ff_pw_42", "ff_w1111" and many more. > Marking all aligned variables as used makes it harder to spot unused > variables leading to accumulation of cruft > I see. Maybe we can annotate only the affected variables more granularly? _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel