[I'm adding examples with output from clang -v since it explicitly shows the path used for ld and such.] On 2017-Oct-7, at 12:58 AM, Mark Millard <markmi at dsl-only.net> wrote: > On 2017-Oct-6, at 11:42 PM, Roman Divacky <rdivacky at vlakno.cz> wrote: > >> Just to clarify my not agreeing with Mark regarding EH on ppc64. >> >> Last time I tried to fix ppc64 exceptions handling as generated by clang >> it turned out that simply using gnu ld from ports fixes the issue. >> >> For details see: >> https://lists.freebsd.org/pipermail/freebsd-toolchain/2017-May/002961.html > > Unfortunately my experiments failed to confirm this. Repeating > them now under head -r324071 and ports -r450478 : > > # more exception_test.cpp > #include <exception> > > int main(void) > { > try { throw std::exception(); } > catch (std::exception& e) {} > return 0; > } > > # clang++ -B /usr/local/powerpc64-freebsd/bin -std=c++14 -g -O2 exception_test.cpp > > # ./a.out > Segmentation fault (core dumped) > > # clang++ -B /usr/local/powerpc64-freebsd/bin -std=c++11 -g exception_test.cpp > > # ./a.out > Segmentation fault (core dumped) # clang++ -v -B /usr/local/powerpc64-freebsd/bin -std=c++11 -g exception_test.cpp FreeBSD clang version 5.0.0 (tags/RELEASE_500/final 312559) (based on LLVM 5.0.0svn) Target: powerpc64-unknown-freebsd12.0 Thread model: posix InstalledDir: /usr/bin "/usr/bin/clang++" -cc1 -triple powerpc64-unknown-freebsd12.0 -emit-obj -mrelax-all -disable-free -main-file-name exception_test.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -masm-verbose -mconstructor-aliases -target-cpu ppc64 -mfloat-abi hard -v -dwarf-column-info -debug-info-kind=standalone -dwarf-version=2 -debugger-tuning=gdb -resource-dir /usr/lib/clang/5.0.0 -internal-isystem /usr/include/c++/v1 -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /root/c_tests -ferror-limit 19 -fmessage-length 200 -fno-signed-char -fobjc-runtime=gnustep -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/exception_test-ba79a4.o -x c++ exception_test.cpp clang -cc1 version 5.0.0 based upon LLVM 5.0.0svn default target powerpc64-unknown-freebsd12.0 #include "..." search starts here: #include <...> search starts here: /usr/include/c++/v1 /usr/lib/clang/5.0.0/include /usr/include End of search list. "/usr/local/powerpc64-freebsd/bin/ld" --eh-frame-hdr -dynamic-linker /libexec/ld-elf.so.1 --enable-new-dtags -o a.out /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/lib /tmp/exception_test-ba79a4.o -lc++ -lm -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/crtend.o /usr/lib/crtn.o # ./a.out Segmentation fault (core dumped) > # ls -lt /usr/local/powerpc64-freebsd/bin > total 56704 > lrwxr-xr-x 1 root wheel 32 Jul 2 19:27 size -> ../../bin/powerpc64-freebsd-size > -r-xr-xr-x 4 root wheel 7072791 Jul 2 19:27 ld > -r-xr-xr-x 4 root wheel 7072791 Jul 2 19:27 ld.bfd > -r-xr-xr-x 2 root wheel 6881822 Jul 2 19:27 as > -r-xr-xr-x 2 root wheel 6128889 Jul 2 19:27 strip > -r-xr-xr-x 2 root wheel 5253417 Jul 2 19:27 nm > -r-xr-xr-x 2 root wheel 1284139 Jul 2 19:27 readelf > -r-xr-xr-x 2 root wheel 6128882 Jul 2 19:27 objcopy > -r-xr-xr-x 2 root wheel 5384166 Jul 2 19:27 ranlib > -r-xr-xr-x 2 root wheel 5384159 Jul 2 19:27 ar > -r-xr-xr-x 2 root wheel 6914775 Jul 2 19:27 objdump > > # clang++ -B /usr/local/powerpc64-portbld-freebsd12.0/bin/ -std=c++14 -g -O2 exception_test.cpp > > # ./a.out > Segmentation fault (core dumped) # clang++ -v -B /usr/local/powerpc64-portbld-freebsd12.0/bin/ -std=c++14 -g -O2 exception_test.cpp FreeBSD clang version 5.0.0 (tags/RELEASE_500/final 312559) (based on LLVM 5.0.0svn) Target: powerpc64-unknown-freebsd12.0 Thread model: posix InstalledDir: /usr/bin "/usr/bin/clang++" -cc1 -triple powerpc64-unknown-freebsd12.0 -emit-obj -disable-free -main-file-name exception_test.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -masm-verbose -mconstructor-aliases -target-cpu ppc64 -mfloat-abi hard -v -dwarf-column-info -debug-info-kind=standalone -dwarf-version=2 -debugger-tuning=gdb -resource-dir /usr/lib/clang/5.0.0 -internal-isystem /usr/include/c++/v1 -O2 -std=c++14 -fdeprecated-macro -fdebug-compilation-dir /root/c_tests -ferror-limit 19 -fmessage-length 200 -fno-signed-char -fobjc-runtime=gnustep -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o /tmp/exception_test-3ebf72.o -x c++ exception_test.cpp clang -cc1 version 5.0.0 based upon LLVM 5.0.0svn default target powerpc64-unknown-freebsd12.0 #include "..." search starts here: #include <...> search starts here: /usr/include/c++/v1 /usr/lib/clang/5.0.0/include /usr/include End of search list. "/usr/local/powerpc64-portbld-freebsd12.0/bin/ld" --eh-frame-hdr -dynamic-linker /libexec/ld-elf.so.1 --enable-new-dtags -o a.out /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/lib /tmp/exception_test-3ebf72.o -lc++ -lm -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/crtend.o /usr/lib/crtn.o # ./a.out Segmentation fault (core dumped) > # clang++ -B /usr/local/powerpc64-portbld-freebsd12.0/bin/ -std=c++11 -g exception_test.cpp > > # ./a.out > Segmentation fault (core dumped) > > > # ls -lt /usr/local/powerpc64-portbld-freebsd12.0/bin/ > total 363584 > -r-xr-xr-x 4 root wheel 59993201 Jul 2 23:44 ld > -r-xr-xr-x 4 root wheel 59993201 Jul 2 23:44 ld.bfd > -r-xr-xr-x 2 root wheel 29843304 Jul 2 23:44 as > -r-xr-xr-x 2 root wheel 29046519 Jul 2 23:44 strip > -r-xr-xr-x 2 root wheel 28207257 Jul 2 23:44 nm > -r-xr-xr-x 2 root wheel 1178483 Jul 2 23:44 readelf > -r-xr-xr-x 1 root wheel 28329180 Jul 2 23:44 dlltool > -r-xr-xr-x 2 root wheel 29046512 Jul 2 23:44 objcopy > -r-xr-xr-x 2 root wheel 28334599 Jul 2 23:44 ranlib > -r-xr-xr-x 2 root wheel 28334592 Jul 2 23:44 ar > -r-xr-xr-x 2 root wheel 49540244 Jul 2 23:44 objdump === Mark Millard markmi at dsl-only.netReceived on Sat Oct 07 2017 - 06:10:45 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:13 UTC