Ping! Can we get this in for 1.6? thanks -- PMM
On 16 July 2013 18:44, Peter Maydell <peter.mayd...@linaro.org> wrote: > This patchset enables NPTL on all linux-user targets; this is a > change for i386, m68k, mipsn32, mipsn32el, mips64, mips64el, > or32, ppc64, ppc46abi32, sparc, sparc32plus, sparc64, unicore32 > and x86_64 (but not plain ppc or plain mips). > > 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. > I tested x86-64 and i386 with a chroot on an ARM host: they > generally work though they still have missing bits (for instance > x86-64 has no implementation of setup_frame etc for signal handling!). > > Changes v2->v3: > * fixed dumb typos in m68k pointed out by Laurent > * included Alex's patch for i386 TLS setting > * added a patch for x86-64 (turns out to be easy) > * new patch which fixes bugs in clone() argument order for > cris, x86-64, m68k, openrisc, unicore32 (noticed for > x86-64 since otherwise glibc asserts in fork; others fixed > based on examination of kernel source code) > * new patch adding a missing 'break' in i386's get_thread_area > (noticed in review of the m68k patch in that area) > * new patch which removes all the now-redundant configure > machinery and ifdefs > > Alexander Graf (1): > linux-user: Add i386 TLS setter > > Peter Maydell (12): > 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 > linux-user: Add missing 'break' in i386 get_thread_area syscall > linux-user: Clean up handling of clone() argument order > linux-user: Enable NPTL for x86-64 > configure: Make NPTL non-optional > > configure | 34 ++-------------- > include/exec/gdbstub.h | 2 +- > linux-user/arm/syscall.h | 2 + > linux-user/cris/syscall.h | 2 + > linux-user/i386/syscall.h | 2 + > linux-user/i386/target_cpu.h | 19 ++++++++- > linux-user/m68k/target_cpu.h | 6 ++- > linux-user/main.c | 43 -------------------- > linux-user/microblaze/syscall.h | 2 + > linux-user/mips/syscall.h | 2 + > linux-user/mips64/syscall.h | 2 + > linux-user/mmap.c | 11 ----- > linux-user/openrisc/target_cpu.h | 9 ++++- > linux-user/ppc/syscall.h | 2 + > linux-user/qemu.h | 20 ++++------ > linux-user/s390x/syscall.h | 2 + > linux-user/sparc/syscall.h | 7 ++++ > linux-user/sparc/target_cpu.h | 16 ++++++-- > linux-user/sparc64/syscall.h | 7 ++++ > linux-user/syscall.c | 82 > +++++++++++++------------------------- > 20 files changed, 110 insertions(+), 162 deletions(-) > > -- > 1.7.9.5 > >