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 <jann...@gnu.org> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.com