Skip to content

rts: unrust 'libbfd' debug symbols parser

For quite a long while you might have seen such ./configure output:

checking bfd.h usability... yes
checking bfd.h presence... yes
checking for bfd.h... yes
...
checking for bfd_uncompress_section_contents in -lbfd... no

which means very interesting debug bit in rts (+RTS -Di) is disabled. It's because most of functions in bfd.h are actually macros, thus test fails: config.log:

configure:9545: checking for bfd_uncompress_section_contents in -lbfd
configure:9570: x86_64-pc-linux-gnu-gcc -o conftest -march=corei7-avx -mtune=corei7-avx -O2 -pipe -fdiagnostics-show-option -frecord-gcc-switches -ggdb3 -march=corei7-avx -march=corei7-avx -m
tune=corei7-avx -mtune=corei7-avx -ggdb3 -fno-stack-protector -Wa,--noexecstack -Wa,--noexecstack -fno-stack-protector  -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,--hash-size=31 -Wl,--r
educe-memory-overheads conftest.c -lbfd  -liberty  >&5
/tmp/portage/dev-lang/ghc-7.6.3-r1/temp/ccCEvDZ7.o: In function `main':
/tmp/portage/dev-lang/ghc-7.6.3-r1/work/ghc-7.6.3/conftest.c:99: undefined reference to `bfd_uncompress_section_contents'

We don't use that function anyways, thus i've picked bfd_init.

Trac metadata
Trac field Value
Version 7.6.3
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information