Opened 3 years ago

Last modified 20 months ago

#9399 new defect

ld: warning: could not create compact unwind

Reported by: Daniel Schürmann Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: cfhd
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

When trying to link ffmpeg statically with Mixxx on macOS, the Apple linker is complaining:

2021-08-18T22:06:41.3473950Z ld: warning: could not create compact unwind for _ff_cfhd_init_vlcs: stack subq instruction is too different from dwarf stack size
2021-08-18T22:06:41.3475230Z ld: warning: could not create compact unwind for _ff_rl_init_vlc: stack subq instruction is too different from dwarf stack size

This happens with gcc and clang 12.0.0.12000032

The issue was original reported here:
https://github.com/microsoft/vcpkg/issues/19699

Only these two functions are reported. When I disable cfhd encoder and decoder, one warning disappears.

I can also specify LDFLAGS="-Wl,-no_compact_unwind" to make remove this warning, but that will affect all functions.

Both functions locate big arrays on the stack, my guess it that these arrays are too big for compact unwind.

What is the best option to lower the used stack?

Do you know what is the limit for unwinding, the dwarf stack size?

Thank you.


Change History (6)

comment:1 by Carl Eugen Hoyos, 20 months ago

Keywords: cfhd added; dwarf stack size compact unwind removed
Version: unspecifiedgit-master

While this has little similarities with a valid ticket, I believe ff_cfhd_init_vlcs() and ff_rl_init_vlc() might have issues on some mobile platforms.

comment:4 by Balling, 20 months ago

Is your patch better?

comment:5 by Elon Musk, 20 months ago

Carl patch is too trivial, and not gonna be applied.

comment:6 by Balling, 20 months ago

So does this fix it on MacOS? e6d89d0efd9194198d9964e47bf428be222594ea

I will ping on github...

Note: See TracTickets for help on using tickets.