"problems come when we try to us archtiectures not fully supported by out 
libgcc_s.so" ( from https://people.freebsd.org/~db/libgcc.txt ). . .

On armv6 (an rpi2) C++ by itself can have /lib/libgcc_s.so.1 not being 
sufficient, for example with g++6 being used: 

> # g++6 -std=c++14 -O2 cpp_clocks_investigation.cpp
> # ldd a.out
> a.out:
>         libstdc++.so.6 => /usr/local/lib/gcc6/libstdc++.so.6 (0x20100000)
>         libm.so.5 => /lib/libm.so.5 (0x20053000)
>         libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x20076000)
>         libc.so.7 => /lib/libc.so.7 (0x20300000)
> # ./a.out
> /usr/local/lib/gcc6/libstdc++.so.6: Undefined symbol "__aeabi_uldivmod"

By contrast:

> # g++6 -Wl,-rpath=/usr/local/lib/gcc6 -std=c++14 -O2 
> cpp_clocks_investigation.cpp
> # ldd a.out
> a.out:
>         libstdc++.so.6 => /usr/local/lib/gcc6/libstdc++.so.6 (0x20100000)
>         libm.so.5 => /lib/libm.so.5 (0x20053000)
>         libgcc_s.so.1 => /usr/local/lib/gcc6/libgcc_s.so.1 (0x20076000)
>         libc.so.7 => /lib/libc.so.7 (0x20300000)
> # ./a.out
> std::numeric_limits<intmax_t>::max(): 9'223'372'036'854'775'807
. . . (works fine) . . .


Context details:

> # svnlite info /usr/src/ | grep "Re[vl][ia:]"
> Relative URL: ^/stable/11
> Revision: 304029
> Last Changed Rev: 304029

> # uname -apKU
> FreeBSD rpi2 11.0-PRERELEASE FreeBSD 11.0-PRERELEASE #4 r304029M: Sat Aug 13 
> 01:10:34 PDT 2016     
> markmi@FreeBSDx64:/usr/obj/clang/arm.armv6/usr/src/sys/RPI2-N
> ODBG  arm armv6 1100500 1100500


===
Mark Millard
markmi at dsl-only.net

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[email protected]"

Reply via email to