NetBSD/sys/arch/riscv
pooka 01d7ebdd80 Fix PTHREAD_FOO_INITIALIZER for C++ by not using volatile in the relevant
pthread types in C++ builds, attempt 2.

The problem with attempt 1 was making assumptions of what the MD
__cpu_simple_lock_t (declared volatile) looks like.  To get a same type
except non-volatile, we change the MD type to __cpu_simple_lock_nv_t
and typedef __cpu_simple_lock_t as a volatile __cpu_simple_lock_nv_t.
IMO, __cpu_simple_lock_t should not be volatile at all, but changing it
now is too risky.

Fixes at least Rumprun w/ gcc 5.1/5.2.  Furthermore, the mpd application
(and possibly others) will no longer require NetBSD-specific patches.

Tested: build.sh for i386, Rumprun for x86_64 w/ gcc 5.2.

Based on the patch from Christos in lib/49989.
2015-08-27 12:30:50 +00:00
..
conf Don't mention stab and DWARF sections, because these (poorly mtaintained) 2015-08-24 08:13:07 +00:00
htif Beginnings of RISCV kernel support. Note that the pmap support is not yet 2015-03-28 16:13:56 +00:00
include Fix PTHREAD_FOO_INITIALIZER for C++ by not using volatile in the relevant 2015-08-27 12:30:50 +00:00
riscv Accept the one instruction penalty and just use PTR_LA instead of doing 2015-03-31 11:53:13 +00:00
Makefile