[Bug 207359] projects/clang380-import for TARGET_ARCH=powerpc64 via powerpc64-gcc : c++ exceptions unbounded loop in _Unwind_RaiseException (9 line program)
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Tue Feb 23 09:03:04 UTC 2016
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=207359
--- Comment #1 from Mark Millard <markmi at dsl-only.net> ---
(Now using projects/clang380-import -r295902 as a context.)
TARGET_ARCH=powerpc64 here.
It looks like FreeBSD's /lib/libgcc_s.so.1 is incompatible with using the pair:
/usr/lib/libc++.so.1 and /lib/libcxxrt.so.1 .
Details follow.
Later below I list the ldd output for compiling the exception_test.cpp example
under different compilers with different options that change what ldd shows and
how .so's are found/bound. Some are using. . .
ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib
/usr/local/lib/compat/pkg /usr/local/lib/compat/pkg /usr/local/lib/gcc49
/usr/local/lib/gcc6
and others are explicitly bound, such as by -Wl,-rpath=<?> .
The only combinations that do not work are the ones that mix 3 things together:
/usr/lib/libc++.so.1
/lib/libcxxrt.so.1
/lib/libgcc_s.so.1
That is: exception_test.clang++380.powerpc64 and
exception_test.powerpc64-gcc.powerpc64 get the unbounded looping and the others
work fine.
By contrast /lib/libgcc_s.so.1 works with:
/usr/local/lib/gcc49/libstdc++.so.6
and
/usr/local/lib/gcc6/libstdc++.so.6
Of course a matched libstdc++/libgcc_s for a specific compiler also works.
# ldd *powerpc64
exception_test.clang++380.powerpc64:
libc++.so.1 => /usr/lib/libc++.so.1 (0x50054000)
libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x5015a000)
libm.so.5 => /lib/libm.so.5 (0x50181000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x501be000)
libc.so.7 => /lib/libc.so.7 (0x501e4000)
exception_test.g++49-implicitgcc49.powerpc64:
libstdc++.so.6 => /usr/local/lib/gcc49/libstdc++.so.6 (0x50054000)
libm.so.5 => /lib/libm.so.5 (0x501ed000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x5022a000)
libc.so.7 => /lib/libc.so.7 (0x50250000)
exception_test.g++49.powerpc64:
libstdc++.so.6 => /usr/local/lib/gcc49/libstdc++.so.6 (0x50054000)
libm.so.5 => /lib/libm.so.5 (0x501ed000)
libgcc_s.so.1 => /usr/local/lib/gcc49/libgcc_s.so.1 (0x5022a000)
libc.so.7 => /lib/libc.so.7 (0x50253000)
exception_test.g++6-implicitgcc49.powerpc64:
libstdc++.so.6 => /usr/local/lib/gcc49/libstdc++.so.6 (0x50054000)
libm.so.5 => /lib/libm.so.5 (0x501ed000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x5022a000)
libc.so.7 => /lib/libc.so.7 (0x50250000)
exception_test.g++6.powerpc64:
libstdc++.so.6 => /usr/local/lib/gcc6/libstdc++.so.6 (0x50054000)
libm.so.5 => /lib/libm.so.5 (0x502a6000)
libgcc_s.so.1 => /usr/local/lib/gcc6/libgcc_s.so.1 (0x502e3000)
libc.so.7 => /lib/libc.so.7 (0x5030a000)
exception_test.powerpc64-gcc.powerpc64:
libc++.so.1 => /usr/lib/libc++.so.1 (0x50053000)
libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x50159000)
libm.so.5 => /lib/libm.so.5 (0x50180000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x501bd000)
libc.so.7 => /lib/libc.so.7 (0x501e3000)
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list