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
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