(I must have forgotten to rebase first!) On 30 October 2017 at 20:14, Thomas Köppe <tkoe...@google.com> wrote:
> It should be under __GNUC__ -- something went wrong with the patch! I'll > make a new one. Sorry about that! > > On 30 October 2017 at 19:31, James Almer <jamr...@gmail.com> wrote: > >> On 10/30/2017 4:17 PM, Thomas Köppe wrote: >> > Variables used in inline assembly need to be marked with >> attribute((used)). >> > Static constants already were, via the define of DECLARE_ASM_CONST. >> > But DECLARE_ALIGNED does not add this attribute, and some of the >> variables >> > defined with it are const only used in inline assembly, and therefore >> > appeared dead. >> > >> > This change makes FFMPEG linkable with Clang's ThinLTO. >> > >> > --- >> > libavcodec/cabac.c | 2 +- >> > libavutil/mem.h | 2 +- >> > 2 files changed, 2 insertions(+), 2 deletions(-) >> > >> > diff --git a/libavcodec/cabac.c b/libavcodec/cabac.c >> > index dd2b057c6d..7321b48901 100644 >> > --- a/libavcodec/cabac.c >> > +++ b/libavcodec/cabac.c >> > @@ -32,7 +32,7 @@ >> > #include "cabac.h" >> > #include "cabac_functions.h" >> > >> > -const uint8_t ff_h264_cabac_tables[512 + 4*2*64 + 4*64 + 63] = { >> > +DECLARE_ALIGNED(1, const uint8_t, ff_h264_cabac_tables)[512 + 4*2*64 + >> > 4*64 + 63] = { >> > 9,8,7,7,6,6,6,6,5,5,5,5,5,5,5,5, >> > 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, >> > 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, >> > diff --git a/libavutil/mem.h b/libavutil/mem.h >> > index 527cd03191..db06e109be 100644 >> > --- a/libavutil/mem.h >> > +++ b/libavutil/mem.h >> > @@ -98,7 +98,7 @@ >> > AV_PRAGMA(DATA_ALIGN(v,n)) \ >> > static const t __attribute__((aligned(n))) v >> > #elif defined(__DJGPP__) >> >> Is your intention to change the DJGPP path, or the gnuc/clang path? >> >> > - #define DECLARE_ALIGNED(n,t,v) t __attribute__ ((aligned >> > (FFMIN(n, 16)))) v >> > + #define DECLARE_ALIGNED(n,t,v) t av_used __attribute__ >> ((aligned >> > (FFMIN(n, 16)))) v >> > #define DECLARE_ASM_CONST(n,t,v) static const t av_used >> > __attribute__ ((aligned (FFMIN(n, 16)))) v >> > #elif defined(__GNUC__) || defined(__clang__) >> > #define DECLARE_ALIGNED(n,t,v) t __attribute__ ((aligned >> (n))) v >> > >> >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> > > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel