This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi Richard, On 27 December 2013 01:03, Richard Henderson <rth@twiddle.net> wrote: > On 12/26/2013 04:25 AM, Venkataramanan Kumar wrote: >> +#ifdef PTR_DEMANGLE >> ldp x29, x30, [x0, #JB_X29<<3] >> - >> + PTR_DEMANGLE (x4, x30, x3, x2) >> + mov x30, x4 >> +#else > > Why not load into x4 and then demangle into x30 directly? I.e. > > ldp x29, x4, [x0, #JB_X29<<3] > PTR_DEMANGLE (x30, x4, x3, x2) > > > r~ Yes this can be done. Also I changed the mangling code to use store pair instruction. Attached is the revised patch. I will do a cross test on V8 foundation model again. ChangeLog.aarch64: ----------------------------- 2013-12-26 Venkataramanan Kumar <venkataramanan.kumar@linaro.org> * sysdeps/aarch64/__longjmp.S (__longjmp): Demangle sp and lr when restoring register values. * sysdeps/aarch64/setjmp.S (__sigsetjmp): Mangle sp and lr before storing register values. * sysdeps/arm/jmpbuf-unwind.h (_jmpbuf_sp): Remove. * sysdeps/aarch64/jmpbuf-offsets.h (_jmpbuf_sp): Add. (JB_FRAME_ADDRESS): call _jmpbuf_sp. * sysdeps/aarch64/sysdep.h (LDST_PCREL) : New macros. (LDST_GLOBAL): Likewise. * sysdeps/unix/sysv/linux/aarch64/sysdep.h (PTR_MANGLE): New macro. (PTR_DEMANGLE): Likewise. (PTR_MANGLE2): Likewise. (PTR_DEMANGLE2): Likewise. regards Venkat.
Attachment:
aarch64.glibc.pointer.mangle.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |