Re: Need help debugging hedgewars

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://pastebin.com/r03HxDrX

rsp            0x7fffffffd6e8	0x7fffffffd6e8     BAD: not 16-byte aligned

pc=> 0x7ffff613616c <__GI__dl_catch_error+108>:	movaps %xmm0,0x50(%rsp)

The problem is that the effective address 0x...738 is not 16-byte aligned,
and this generates SIGSEGV because 'movaps' requires 16-byte alignment.

__GI__dl_catch_error is storing 128 bits (16 bytes) from register %xmm0
into the local stack frame at address (0x50 + %rsp) = (0x50 + 0x7fffffffd6e8)
using the opcode 'movaps' which is "MOVe Aligned Packed Single [precision floating point]".
Given that the runtime dynamic loader does not use floating point,
this is probably a compiler optimization for zero-ing out two adjacent
8-byte pointers.  Check the glibc source code for "dl_catch_error".

These days the stack pointer %rsp is supposed to be 16-byte aligned
"all the time".  So either there is a compiler error, or setjmp/longjmp
error, or a stack-alignment error in the signal handler for _some_other_
signal (not the current SIGSEGV).  Diagnose the compiler error by
    (gdb) disassemble __GI__dl_catch_error
to see whether the compiler maintains 16-byte alignment.
For setjmp/longjmp inquire at glibc.
For signal handler ask glibc and kernel.

--

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux