From: Julian Seward Date: Tue, 27 Feb 2007 18:37:21 +0000 (+0000) Subject: Add .eh_frame gunk for VG_(amd64_linux_REDIR_FOR_vgettimeofday) and X-Git-Tag: svn/VALGRIND_3_3_0~344 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=270b21426d277b3518c83c61b4a21e4756fb3130;p=thirdparty%2Fvalgrind.git Add .eh_frame gunk for VG_(amd64_linux_REDIR_FOR_vgettimeofday) and VG_(amd64_linux_REDIR_FOR_vgettimeofday) so they can participate in stack unwinding. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6622 --- diff --git a/coregrind/m_trampoline.S b/coregrind/m_trampoline.S index 56c7743ef1..4ae58e15e0 100644 --- a/coregrind/m_trampoline.S +++ b/coregrind/m_trampoline.S @@ -157,16 +157,64 @@ VG_(amd64_linux_SUBST_FOR_rt_sigreturn): ud2 .global VG_(amd64_linux_REDIR_FOR_vgettimeofday) +.type VG_(amd64_linux_REDIR_FOR_vgettimeofday), @function VG_(amd64_linux_REDIR_FOR_vgettimeofday): +.LfnB2: movq $__NR_gettimeofday, %rax syscall ret - +.LfnE2: +.size VG_(amd64_linux_REDIR_FOR_vgettimeofday), .-LfnB2 + .global VG_(amd64_linux_REDIR_FOR_vtime) +.type VG_(amd64_linux_REDIR_FOR_vtime), @function VG_(amd64_linux_REDIR_FOR_vtime): +.LfnB3: movq $__NR_time, %rax syscall ret +.LfnE3: +.size VG_(amd64_linux_REDIR_FOR_vtime), .-LfnB3 + +/* A CIE for the above two functions, followed by their FDEs */ + .section .eh_frame,"a",@progbits +.Lframe1: + .long .LEcie1-.LScie1 +.LScie1: + .long 0x0 + .byte 0x1 + .string "zR" + .uleb128 0x1 + .sleb128 -8 + .byte 0x10 + .uleb128 0x1 + .byte 0x3 + .byte 0xc + .uleb128 0x7 + .uleb128 0x8 + .byte 0x90 + .uleb128 0x1 + .align 8 +.LEcie1: +.LSfde2: + .long .LEfde2-.LASfde2 +.LASfde2: + .long .LASfde2-.Lframe1 + .long .LfnB2 + .long .LfnE2-.LfnB2 + .uleb128 0x0 + .align 8 +.LEfde2: +.LSfde3: + .long .LEfde3-.LASfde3 +.LASfde3: + .long .LASfde3-.Lframe1 + .long .LfnB3 + .long .LfnE3-.LfnB3 + .uleb128 0x0 + .align 8 +.LEfde3: + .previous .global VG_(trampoline_stuff_end) VG_(trampoline_stuff_end):