Hi Janneke, 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) >* sysdeps/unix/sysv/linux/arm/brk.c (__brk): Likewise.Likewise. Duplicate "Likewise". Otherwise LGTM! >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. I'm building it right now and will have a look.