[Bug 207325] projects/clang380-import for TARGET_ARCH=powerpc : c++ exceptions cause SEGV (9 line program)

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Feb 21 04:17:43 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=207325

--- Comment #2 from Mark Millard <markmi at dsl-only.net> ---
More comparisons/contrasts:

Renaming the failing a.outs to:

exception_test.clang++380 (requires libc++/libcxxrt)
exception_test.g++49
exception_test.g++5

and using the g++ ones from a 11.0-CURRENT built via gcc 4.2.1 has them all
working fine. (clang requires libraries not present and so is not tested this
way.)

On a 11.0-CURRENT built via gcc 4.2.1 producing a

exception_test.g++421

and later using it on a clang 3.8.0 based projects/clang380-import -r295601
buildworld gets the SEGV. (It works fine in its original environment.)

Using g++49 to make the following point about the working -Wl,rpath=? compiles
vs. the other failing ones --via differencing ldd output under the clang 3.8.0
based buildworld:

# diff exception_test.ldd_g++49_*
1c1
< exception_test.g++49:
---
> exception_test.g++49_rpath:
4,5c4,5
<       libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x419a1000)
<       libc.so.7 => /lib/libc.so.7 (0x419c0000)
---
> 	libgcc_s.so.1 => /usr/local/lib/gcc49/libgcc_s.so.1 (0x419a1000)
> 	libc.so.7 => /lib/libc.so.7 (0x419c4000)
# 

All the falling exception_test.* variants bind:

libgcc_s.so.1 => /lib/libgcc_s.so.1

clang++ output or g++ output does not matter: No exception_test.* so bound
avoids the SEGV.

All of the

libgcc_s.so.1 => /usr/local/lib/gcc*/libgcc_s.so.1

bindings work fine.



I will note that the exception_test.g++* ones produced from the clang 3.8.0
buildworld context without -Wl,-rpath=? use (in that same buildworld
environment):

ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib
/usr/local/lib/gcc49 /usr/local/lib/gcc5 /usr/local/lib/gcc6

to bind:

libstdc++.so.6 => /usr/local/lib/gcc49/libstdc++.so.6

but the exception_test.clang++380 example does not use that library yet still
has the SEGV problem. It is libgcc_s.so.1 that makes the difference.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list