Hi Waldemar,

On this specific issue of simple flat binaries not working on m68k.
This fixes the issue:

  http://marc.info/?l=linux-m68k&m=146976701216533&w=2

I can run your hello binary now with no problems after this is
applied.

Regards
Greg



On 08/06/16 21:38, Greg Ungerer wrote:
> 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