[FFmpeg-devel] [Question] Technical reason why FFmpeg sets a mstack-alignment value on compile time?

Ronald S. Bultje rsbultje at gmail.com
Sun Nov 13 01:09:47 EET 2022


Hi,

On Sat, Nov 12, 2022 at 1:57 PM Nomis101 <Nomis101 at web.de> wrote:

> Hi.If building FFmpeg, configure does set a value for mstack-alignment,
> for example on macOS
> -mstack-alignment=16. On HandBrake we found there is an issue with current
> Clang in Xcode about
> conflicting 'override-stack-alignment' values if we build with ThinLTO.
>
> "ld: linking module flags 'override-stack-alignment': IDs have conflicting
> values"
>
> I found out why this is. x264 does set -mstack-alignment=64 in configure,
> FFmpeg does set
> -mstack-alignment=16 and this seems to be a conflict when linking. If I
> modify both configure files
> and remove the mstack-alignment part, then the build does finish with no
> error.
>
> And here comes my questions. I was wondering, about the technical reason
> why FFmpeg does set
> mstack-alignment? And if it would be safe to disable it in case FFmpeg is
> compiled with ThinLTO (for
> HandBrake)?
>

It can safely be set to the higher of the two values, it has the same
meaning. Alignment of 64 implies alignment of 16.

Ronald


More information about the ffmpeg-devel mailing list