Danny Milosavljevic writes:
Hello Danny,
> Nice!
>
> Patch review:
>
>>+#if __ARM_EABI__
>>+#define CLEAR_CACHE(BEG,END) \
>>+{ \
>>+ register unsigned long _beg __asm ("a1") = (unsigned long)(BEG); \
>>+ register unsigned long _end __asm ("a2") = (unsigned long)(END); \
>>+ register unsigned long _flg __asm ("a3") = 0;
>>\
>>+ __asm __volatile ("mov r7, 0x9f0002\n\t" \
>
> should be mov r7, 0xf0002 in EABI.
> (SWI #(0x900000 + syscallnr) is for OABI syscalls only)
Ok, great; that could help!
>>* sysdeps/unix/sysv/linux/arm/brk.c (__brk): Likewise.Likewise.
>
> Duplicate "Likewise".
>
> Otherwise LGTM!
Thanks. Testing a fixup now (currently only on my branch @gitlab).
>>But something like puts or printf segfaults "Illegal
>>instruction" in strlen:
>
>>--8<---------------cut here---------------start------------->8---
>>(gdb) disas /r
>>Dump of assembler code for function strlen:
>> 0x0000d160 <+0>: 03 10 c0 e3 bic r1, r0, #3
>>=> 0x0000d164 <+4>: 04 20 91 e4 ldr r2, [r1], #4
>>--8<---------------cut here---------------end--------------->8---
>
> Hmm... looks good to me? Weird.
Yes...
> I'm building it right now and will have a look.
Great, thanks!
Janneke
--
Jan Nieuwenhuizen <[email protected]> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.com