Kurt Roeckx <kurt <at> roeckx.be> writes: > The new elfutils (0.157-1) segfaults on IA64. I've been trying > to debug this on merulo but ran into #691576. When using a core > file I also don't get any backtrace. > > The problem I'm seeing is: > (sid_ia64-dchroot)kroeckx <at> merulo:~/elfutils-0.157/tests$ > LD_LIBRARY_PATH=../libelf:../libdw:../backends/ /home/kroeckx/elfutils-0.157/tests/addrcfi > -e testfileppc32.bz2 0x100004c0 > dwarf_cfi_addrframe (.eh_frame): no matching address range > .debug_frame has 0x100004c0 => [0x100004c0, 0x100004d0): > return address in reg65 > CFA location expression: bregx(1) > integer reg0 (r0): undefined > Segmentation fault (core dumped) > [...] > > Can someone help me get any useful information about this?
You might already have seen this upstream, but just in case, this was fixed by: commit 3dec3e110bb2a2453156868e1221dc8192399e3e Author: Mark Wielaard <[email protected]> Date: Sun Oct 6 17:04:07 2013 +0200 backends: ppc_abi_cfi reg1 use DW_CFA_val_offset not DW_CFA_val_expression. Register rules using expressions are stored using an offset from the start of the .eh_frame or .debug_frame ELF section data. Since abi_cfi rules aren't stored in those ELF sections they should use neither DW_CFA_expression nor DW_CFA_val_expression. The only backend that used DW_CFA_val_expression was ppc_cfi.c. It was easier to express the same rule using DW_CFA_val_offset than to change the code to handle register rules using expressions. On most architectures this did work by accident. See the definition of struct dwarf_frame_register value in libdw/cfi.h to see why. But on ia64 the abi_cfi data and actual frame data were placed too far apart and caused a crash in tests/run-addrcfi.sh for ppc32. Signed-off-by: Mark Wielaard <[email protected]> See also the discussion at: https://lists.fedorahosted.org/pipermail/elfutils-devel/2013-October/003297.html Cheers, Mark -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

