[FFmpeg-devel] [PATCH] Fix missing used attribute for inline assembly variables
tkoeppe at google.com
Tue Oct 31 17:52:14 EET 2017
+Teresa, who drafted the patch initially.
On 31 October 2017 at 15:38, Michael Niedermayer <michael at niedermayer.cc>
> On Tue, Oct 31, 2017 at 12:16:18PM +0000, Thomas Köppe wrote:
> > Variables used in inline assembly need to be marked with
> 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:
> > - #define DECLARE_ALIGNED(n,t,v) t __attribute__ ((aligned (n)))
> > + #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_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?
More information about the ffmpeg-devel