Re: qemu coldfire SIGILL with pthread app
Greg Ungerer <[email protected]> Wed, 8 Jun 2016 21:38:58 +1000
| Newsgroups | gmane.linux.uclinux.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Waldemar, Sorry for the slow response. The uclinux-dev email list seems very unreliable at the moment. I never got your last response, but I can see it in the archives: http://mailman.uclinux.org/pipermail/uclinux-dev/2016-May/052747.html > Waldemar Brodkorb wbx at openadk.org > Fri May 27 15:35:58 EDT 2016 > > Previous message: [uClinux-dev] qemu coldfire SIGILL with pthread app > Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] > > Hi Greg, > Greg Ungerer wrote, > >> Hi Waldemar, >> >> On 26/05/16 22:05, Waldemar Brodkorb wrote: >> > Greg Ungerer wrote, >> >> On 20/05/16 14:20, Waldemar Brodkorb wrote: >> >>> Greg Ungerer wrote, >> >>>> On 16/05/16 19:54, Waldemar Brodkorb wrote: >> >>>>> I compile and test the thread test app from here on >> >>>>> Qemu coldfire emulation: >> >>>>> http://debug.openadk.org/arm-pthreads/hello.c >> >>>>> >> >>>>> Sometimes it works, sometimes I get SIGILL. >> >>>>> Tested with buildroot and qemu_m68k_mcf5208_defconfig. It uses gcc >> >>>>> 4.9.3 and binutils 2.25.1. The kernel is 4.5.3 including the signal >> >>>>> handler patch. uClibc-ng 1.0.14 is used. >> >>>>> >> >>>>> Any idea? >> >>>> >> >>>> Do you get the SIGILL when running without strace? >> >>> >> >>> Yes. >> >>> >> >>>> How often does it work, and not work? >> >>> >> >>> ~ # ill=0; for i in $(seq 1 50); do /test; if [ $? -ne 0 ]; then ill=$(($ill+1)) ;fi; sleep 2; done >> >>> ~ # echo $ill >> >>> 30 >> >>> >> >>> It is not always the same. >> >> >> >> Ok. I expect I would see it pretty easily though if I >> >> run hello 100 times for example. >> >> >> >> >> >>>> I have a setup with a gcc-5.3/binutils-2.25.1 toolchain building >> >>>> linux-4.6 and using uClibc-ng-1.0.14 and using your hello.c test >> >>>> app and I don't see any SIGILLs. Ran it quite a few times but >> >>>> didn't see any. >> >>> >> >>> Hmm. I now changed to gcc 5.3.0 and see the same problem. >> >>> Need to try linux-4.6. What version of Qemu are you using? >> >>> I recently updated to 2.6.0. >> >> >> >> I was using an older 2.3.50. But I just pulled down 2.6 and >> >> tried again. I still don't see any SIGILLs. >> >> >> >> Looking at your strace dump and mine it puzzles me that the initial >> >> startup is a little different. On my dump the first output >> >> write() is the 3rd system call. On your traces it is much later. >> >> >> >> Can you send me your hello (and hello.gdb) binaries? >> > >> > They are here: >> > http://debug.openadk.org/coldfire/ >> >> Thanks. I can reproduce it with that binary easily. >> >> >> > Are you using linuxthreads.old or linuxthreads.new? >> > I use old, and new will be removed in the next uClibc-ng release. >> >> I am using the old linux threads. I have attached my uClibc-ng >> config so you can see what I am using. >> >> I can see that your hello binary is a good bit smaller than mine. >> The code generated looks quite different too. Do you compile apps >> and libs with -msep-data? > > That is the exact reason. I used FLAT without -msep-data. > When I use -msep-data I get no SIGILL. > > Any idea why simple FLAT breaks the binaries? No, not sure why. I would have thought it should work. Regards Greg _______________________________________________ uClinux-dev mailing list [email protected] http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by [email protected] To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev