
#14300: FreeBSD 10.3 toolchain is terribly broken ---------------------------------+---------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: closed Priority: normal | Milestone: Component: Compiler | Version: 8.2.1 Resolution: fixed | Keywords: Operating System: FreeBSD | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #13974 | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Changes (by bgamari): * status: new => closed * resolution: => fixed Old description:
== `clang`, `ld.bfd` with `SplitSections=NO`
Fails in the final bindist test with, {{{ /usr/bin/install -c -m 755 libraries/gen_contents_index "/usr/home/ben /bin- dist-8.2.1.20170929-FreeBSD/test/inst/share/doc/ghc-8.2.1.20170929/html/libraries/" [1 of 1] Compiling Main ( /usr/home/ben/bin- dist-8.2.1.20170929-FreeBSD/test/hi.hs, /usr/home/ben/bin- dist-8.2.1.20170929-FreeBSD/test/hi.o ) Linking /usr/home/ben/bin-dist-8.2.1.20170929-FreeBSD/test/hi ... /usr/bin/ld: Base__199.o: access beyond end of merged section (-24) /usr/bin/ld: Base__201.o: access beyond end of merged section (-24) ... }}}
== `clang`, `ld.bfd` with `SplitSections=YES`
fails with, {{{ bindisttest/"install dir"/bin/ghc --make bindisttest/HelloWorld [1 of 1] Compiling Main ( bindisttest/HelloWorld.lhs, bindisttest/HelloWorld.o ) Linking bindisttest/HelloWorld ... /usr/home/ben/bin-dist-8.2.1.20170929-FreeBSD/ghc/bindisttest/install dir/lib/ghc-8.2.1.20170929/base-4.10.0.0/libHSbase-4.10.0.0.a(Base.o):base_ControlziExceptionziBase_absentError_info: warning: relocation refers to discarded section /usr/home/ben/bin-dist-8.2.1.20170929-FreeBSD/ghc/bindisttest/install dir/lib/ghc-8.2.1.20170929/base-4.10.0.0/libHSbase-4.10.0.0.a(Base.o)(.text.r3zN_info+0x44): warning: relocation refers to discarded section /usr/home/ben/bin-dist-8.2.1.20170929-FreeBSD/ghc/bindisttest/install dir/lib/ghc-8.2.1.20170929/base-4.10.0.0/libHSbase-4.10.0.0.a(Base.o)(.text.r3zP_info+0x44): warning: relocation refers to discarded section /usr/home/ben/bin-dist-8.2.1.20170929-FreeBSD/ghc/bindisttest/install dir/lib/ghc-8.2.1.20170929/base-4.10.0.0/libHSbase-4.10.0.0.a(Base.o)(.text.r3zR_info+0x44): warning: relocation refers to discarded section ... }}}
== `clang`, `ld.gold`, `SplitSections=NO`
{{{ ... }}}
New description: == `clang`, `ld.bfd` with `SplitSections=NO` Fails in the final bindist test with, {{{ /usr/bin/install -c -m 755 libraries/gen_contents_index "/usr/home/ben /bin- dist-8.2.1.20170929-FreeBSD/test/inst/share/doc/ghc-8.2.1.20170929/html/libraries/" [1 of 1] Compiling Main ( /usr/home/ben/bin- dist-8.2.1.20170929-FreeBSD/test/hi.hs, /usr/home/ben/bin- dist-8.2.1.20170929-FreeBSD/test/hi.o ) Linking /usr/home/ben/bin-dist-8.2.1.20170929-FreeBSD/test/hi ... /usr/bin/ld: Base__199.o: access beyond end of merged section (-24) /usr/bin/ld: Base__201.o: access beyond end of merged section (-24) ... }}} == `clang`, `ld.bfd` with `SplitSections=YES` fails with, {{{ bindisttest/"install dir"/bin/ghc --make bindisttest/HelloWorld [1 of 1] Compiling Main ( bindisttest/HelloWorld.lhs, bindisttest/HelloWorld.o ) Linking bindisttest/HelloWorld ... /usr/home/ben/bin-dist-8.2.1.20170929-FreeBSD/ghc/bindisttest/install dir/lib/ghc-8.2.1.20170929/base-4.10.0.0/libHSbase-4.10.0.0.a(Base.o):base_ControlziExceptionziBase_absentError_info: warning: relocation refers to discarded section /usr/home/ben/bin-dist-8.2.1.20170929-FreeBSD/ghc/bindisttest/install dir/lib/ghc-8.2.1.20170929/base-4.10.0.0/libHSbase-4.10.0.0.a(Base.o)(.text.r3zN_info+0x44): warning: relocation refers to discarded section /usr/home/ben/bin-dist-8.2.1.20170929-FreeBSD/ghc/bindisttest/install dir/lib/ghc-8.2.1.20170929/base-4.10.0.0/libHSbase-4.10.0.0.a(Base.o)(.text.r3zP_info+0x44): warning: relocation refers to discarded section /usr/home/ben/bin-dist-8.2.1.20170929-FreeBSD/ghc/bindisttest/install dir/lib/ghc-8.2.1.20170929/base-4.10.0.0/libHSbase-4.10.0.0.a(Base.o)(.text.r3zR_info+0x44): warning: relocation refers to discarded section ... }}} == `clang`, `ld.gold`, `SplitSections=NO` {{{ ... }}} == `gcc`, `ld.gold`, `SplitSections=NO` {{{ /usr/local/bin/ld.gold: fatal error: cannot mix -r with dynamic object /usr/lib/libthr.so collect2: error: ld returned 1 exit status `gcc' failed in phase `Linker'. (Exit code: 1) gmake[1]: *** [iserv/ghc.mk:93: iserv/stage2_p/build/GHCi/Utils.p_o] Error 1 }}} -- Comment: Indeed `gcc5` and `ld.gold` with `SplitSections=NO` appears to work. I didn't try `SplitSections=YES`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14300#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler