Hi, > I am totally open for both solutions, but I am afraid, I have not enough > understanding of all this to implement this myself. I can try patches, > either for uClibc or libunwind, and I am also willing to push a working > change upstream, but I definitely need more guidance if I am supposed to > write these patches myself.
You might want to consult the uclibc developers, especially if the descriptions are systematically not there for asm functions. Maybe they have something to suggest. I won't be able to help you produce a patch. I don't develop on ARM and actually have no first-hand experience writing CIEs/FDEs. I can suggest a few examples: libunwind x86 assembler routines (a), and use of 'eh_frame', 'sleb' or 'uleb' in linux and glibc (b, c). I didn't find uclibc git repository which offered grep, only (d). In the ARM asm I found there, no debug_frames. In theory .cfi_startproc / .cfi_adjust_cfa_offset / .cfi_offset / .cfi_endproc might help, at least if your assembler supports them and you familiarise yourself a bit with the DWARF standard at http://dwarfstd.org. It should be possible to make stand-alone asm file then run readelf on the object file, just to make tests. (a) http://git.savannah.gnu.org/gitweb/?p=libunwind.git;a=blob;f=src/x86/siglongjmp.S;hb=HEAD http://git.savannah.gnu.org/gitweb/?p=libunwind.git;a=blob;f=src/x86/getcontext-freebsd.S;hb=HEAD (b) http://repo.or.cz/w/glibc.git?a=search&h=HEAD&st=grep&s=eh_frame http://repo.or.cz/w/glibc.git?a=search&h=HEAD&st=grep&s=uleb (c) http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git&a=search&h=HEAD&st=grep&s=debug_frame http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git&a=search&h=HEAD&st=grep&s=eh_frame http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git&a=search&h=HEAD&st=grep&s=uleb (d) http://git.uclibc.org/uClibc/tree/ Regards, Lassi _______________________________________________ Libunwind-devel mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/libunwind-devel
