Date: Sat, 7 Oct 2017 01:10:42 -0700 From: Mark Millard <markmi@dsl-only.net> To: Roman Divacky <rdivacky@vlakno.cz> Cc: Justin Hibbits <jrh29@alumni.cwru.edu>, Warner Losh <imp@bsdimp.com>, FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: C++ in jemalloc Message-ID: <EEE4D3F8-59C5-41C3-8E5D-148A1ECD45D3@dsl-only.net> In-Reply-To: <A47AA10A-550B-4E12-97DE-440F892EE7FC@dsl-only.net> References: <BDC9F954-D0C5-4D7A-9CEA-D4FCA595B2FD@dsl-only.net> <CAHSQbTB76OJYGtwzRRFfThJB5mYOKHi_BC9Eefc7Mn1A0-6sWg@mail.gmail.com> <528ED3CD-8A4B-4F00-8728-7D231DB0811A@dsl-only.net> <20171007064249.GA73770@vlakno.cz> <A47AA10A-550B-4E12-97DE-440F892EE7FC@dsl-only.net>
next in thread | previous in thread | raw e-mail | index | archive | help
[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: >=20 >> Just to clarify my not agreeing with Mark regarding EH on ppc64. >>=20 >> 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. >>=20 >> For details see: >> = https://lists.freebsd.org/pipermail/freebsd-toolchain/2017-May/002961.html= >=20 > Unfortunately my experiments failed to confirm this. Repeating > them now under head -r324071 and ports -r450478 : >=20 > # more exception_test.cpp=20 > #include <exception> >=20 > int main(void) > { > try { throw std::exception(); } > catch (std::exception& e) {} > return 0; > } >=20 > # clang++ -B /usr/local/powerpc64-freebsd/bin -std=3Dc++14 -g -O2 = exception_test.cpp >=20 > # ./a.out > Segmentation fault (core dumped) >=20 > # clang++ -B /usr/local/powerpc64-freebsd/bin -std=3Dc++11 -g = exception_test.cpp >=20 > # ./a.out > Segmentation fault (core dumped) # clang++ -v -B /usr/local/powerpc64-freebsd/bin -std=3Dc++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=3Dstandalone = -dwarf-version=3D2 -debugger-tuning=3Dgdb -resource-dir = /usr/lib/clang/5.0.0 -internal-isystem /usr/include/c++/v1 -std=3Dc++11 = -fdeprecated-macro -fdebug-compilation-dir /root/c_tests -ferror-limit = 19 -fmessage-length 200 -fno-signed-char -fobjc-runtime=3Dgnustep = -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 >=20 > # clang++ -B /usr/local/powerpc64-portbld-freebsd12.0/bin/ -std=3Dc++14 = -g -O2 exception_test.cpp >=20 > # ./a.out > Segmentation fault (core dumped) # clang++ -v -B /usr/local/powerpc64-portbld-freebsd12.0/bin/ -std=3Dc++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=3Dstandalone -dwarf-version=3D2 = -debugger-tuning=3Dgdb -resource-dir /usr/lib/clang/5.0.0 = -internal-isystem /usr/include/c++/v1 -O2 -std=3Dc++14 = -fdeprecated-macro -fdebug-compilation-dir /root/c_tests -ferror-limit = 19 -fmessage-length 200 -fno-signed-char -fobjc-runtime=3Dgnustep = -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=3Dc++11 = -g exception_test.cpp >=20 > # ./a.out > Segmentation fault (core dumped) >=20 >=20 > # 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 =3D=3D=3D Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EEE4D3F8-59C5-41C3-8E5D-148A1ECD45D3>