musl-cross-make icon indicating copy to clipboard operation
musl-cross-make copied to clipboard

default binutils to disable compressed debug info

Open rofl0r opened this issue 5 years ago • 3 comments

compressed debug info section is a relatively new feature, and having it on by default causes link errors when the built libraries (most notably libgcc) are later used with an older binutils version (for example binutils 2.27, which was mcm's default version until just recently).

rofl0r avatar Aug 16 '19 17:08 rofl0r

example error encountered (while building fontconfig 2.13.1 for x32): popcountsi2.o): unable to initialize decompress status for section .debug_info

rofl0r avatar Aug 16 '19 17:08 rofl0r

I'm not sure what we should do with this. Compressed debug info is likely a really big win for building gigantic C++ projects that take up multiple GB of disk space due to debug info, but the problem of breaking older tooling is definitely frustrating. We should at least add an example for disabling it, and possibly do it by default as you've requested...

richfelker avatar Aug 16 '19 20:08 richfelker

for the record, in the case i describe i used mcm to compile a native gcc 6.5.0, whose libgcc.a then exposed the problem while using it inside a chroot with binutils 2.27.

Compressed debug info is likely a really big win for building gigantic C++ projects that take up multiple GB of disk space due to debug info,

certainly. though i'd argue that people that want this feature can simply add -Wl,--compress-debug-sections=zlib or -gz=zlib to their CXXFLAGS. (i suppose they had to do that manually as well until 2.32 was made default 3 months ago).

We should at least add an example for disabling it

that would work for me too

rofl0r avatar Aug 16 '19 21:08 rofl0r