This patchset enables NPTL on all linux-user targets except i386 and x86-64; this is a change for m68k, mipsn32, mipsn32el, mips64, mips64el, or32, ppc64, ppc46abi32, sparc, sparc32plus, sparc64, unicore32 (but not plain ppc or plain mips). The first four patches have been on list before and reviewed; the last four are new.
(i386 is addressed by Alex's patch; x86-64 I need to investigate more closely to figure out how it's supposed to work; then we can commit a patch which rips out CONFIG_USE_NPTL completely.) Testing: I've tested with a chroot that or32 and sparc32plus work; in both cases there were basic bugs in linux-user support (stat didn't work on or32; pipe busted on sparc; see separate patches) from which I conclude that these were simply untested targets, so the bar for "make things at least not worse" is an extremely low one. I cannot find any m68k binaries which don't die with an illegal instruction very early on (probably because we emulate coldfire and most m68k binaries assume 680x0), so I am treating that target as basically also broken. I've also tested PPC and PPC64 chroots, and of course the linux-user-0.3 testset from the wiki. Peter Maydell (8): configure: Flip default of target_nptl configure: Don't say target_nptl="no" if there is no linux-user target configure: Enable threading on all ppc and mips linux-user targets configure: Enable threading for unicore32-linux-user linux-user: Move includes of target-specific headers to end of qemu.h linux-user: Enable NPTL for OpenRISC linux-user: Enable NPTL for SPARC targets linux-user: Enable NPTL for m68k configure | 13 +++---------- linux-user/m68k/target_cpu.h | 6 +++++- linux-user/openrisc/target_cpu.h | 9 +++++++-- linux-user/qemu.h | 10 ++++++++-- linux-user/sparc/target_cpu.h | 16 ++++++++++++---- linux-user/syscall.c | 10 ++++++++++ 6 files changed, 45 insertions(+), 19 deletions(-) -- 1.7.9.5