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?

best regards
 Waldemar
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to