From: Dirk Mueller Date: Fri, 17 Oct 2003 13:24:40 +0000 (+0000) Subject: heh, apparently not even SuSE 8.2 has a recent-enough gas :) X-Git-Tag: svn/VALGRIND_2_1_0~117 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1cd8fbe064d31d56d43361fe0e4489634edd8371;p=thirdparty%2Fvalgrind.git heh, apparently not even SuSE 8.2 has a recent-enough gas :) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1945 --- diff --git a/coregrind/vg_startup.S b/coregrind/vg_startup.S index 6b352cd483..5e5d8a7686 100644 --- a/coregrind/vg_startup.S +++ b/coregrind/vg_startup.S @@ -30,6 +30,7 @@ */ #include "vg_constants.h" +#include "../config.h" #--------------------------------------------------------------------- @@ -231,7 +232,9 @@ vg_esp_saved_over_GDB_start: .type VG_(swizzle_esp_then_start_GDB),@function .global VG_(swizzle_esp_then_start_GDB) VG_(swizzle_esp_then_start_GDB): +#ifdef HAVE_GAS_CFI .cfi_startproc +#endif pushal # remember the simulators current stack/frame pointers @@ -258,21 +261,29 @@ VG_(swizzle_esp_then_start_GDB): # push %EBP. This is a faked %ebp-chain pointer. pushl %eax +#ifdef HAVE_GAS_CFI .cfi_adjust_cfa_offset 0x4 +#endif movl %esp, %ebp +#ifdef HAVE_GAS_CFI .cfi_def_cfa_register ebp +#endif call VG_(start_GDB_whilst_on_client_stack) # restore the simulators stack/frame pointer movl vg_ebp_saved_over_GDB_start, %ebp movl vg_esp_saved_over_GDB_start, %esp +#ifdef HAVE_GAS_CFI .cfi_adjust_cfa_offset -0x4 +#endif popal ret +#ifdef HAVE_GAS_CFI .cfi_endproc +#endif # gcc puts this construction at the end of every function. I think it # allows the linker to figure out the size of the function. So we do