From the ld man page:
When creating a dynamically linked executable, using the -E option or the --export-dynamic option causes the linker to add all symbols to the dynamic symbol table. The dynamic symbol table is the set of symbols which are visible from dynamic objects at run time.
This should allow the backtrace(3) to fully resolve the symbols when creating backtrace on an assertion failure.
(cherry picked from commit b05e20c9)
Backported from !6196 (merged)