|
From: <sv...@va...> - 2010-10-08 15:55:07
|
Author: bart
Date: 2010-10-08 16:54:57 +0100 (Fri, 08 Oct 2010)
New Revision: 11415
Log:
Only enable CFI annotations when __GCC_HAVE_DWARF2_CFI_ASM is defined. This should work for all platforms, all gcc versions and with and without -fno-dwarf2-cfi-asm / -fno-asynchronous-unwind-tables. Thanks to Jakub Jelinek for the hint.
Modified:
trunk/include/valgrind.h
Modified: trunk/include/valgrind.h
===================================================================
--- trunk/include/valgrind.h 2010-10-08 06:58:25 UTC (rev 11414)
+++ trunk/include/valgrind.h 2010-10-08 15:54:57 UTC (rev 11415)
@@ -1221,11 +1221,9 @@
Oh .. and this all needs to be conditionalised so that it is
unchanged from before this commit, when compiled with older gccs
- that don't support __builtin_frame_address. And also, skip
- it on Darwin (at least for the moment) since I can't figure out
- how to do the .cfi directives there.
+ that don't support __builtin_frame_address.
*/
-#if defined(__GNUC__) && !defined(PLAT_amd64_darwin)
+#if defined(__GCC_HAVE_DWARF2_CFI_ASM)
# define __FRAME_POINTER \
,"r"(__builtin_frame_address(0))
# define VALGRIND_CFI_PROLOGUE \
|
|
From: Julian S. <js...@ac...> - 2010-10-08 16:55:54
|
And we can now get rid of the associated configure test, yes? J On Friday, October 08, 2010, sv...@va... wrote: > Author: bart > Date: 2010-10-08 16:54:57 +0100 (Fri, 08 Oct 2010) > New Revision: 11415 > > Log: > Only enable CFI annotations when __GCC_HAVE_DWARF2_CFI_ASM is defined. This > should work for all platforms, all gcc versions and with and without > -fno-dwarf2-cfi-asm / -fno-asynchronous-unwind-tables. Thanks to Jakub > Jelinek for the hint. > > Modified: > trunk/include/valgrind.h > > > Modified: trunk/include/valgrind.h > =================================================================== > --- trunk/include/valgrind.h 2010-10-08 06:58:25 UTC (rev 11414) > +++ trunk/include/valgrind.h 2010-10-08 15:54:57 UTC (rev 11415) > @@ -1221,11 +1221,9 @@ > > Oh .. and this all needs to be conditionalised so that it is > unchanged from before this commit, when compiled with older gccs > - that don't support __builtin_frame_address. And also, skip > - it on Darwin (at least for the moment) since I can't figure out > - how to do the .cfi directives there. > + that don't support __builtin_frame_address. > */ > -#if defined(__GNUC__) && !defined(PLAT_amd64_darwin) > +#if defined(__GCC_HAVE_DWARF2_CFI_ASM) > # define __FRAME_POINTER \ > ,"r"(__builtin_frame_address(0)) > # define VALGRIND_CFI_PROLOGUE \ > > > --------------------------------------------------------------------------- > --- Beautiful is writing same markup. Internet Explorer 9 supports > standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. > Spend less time writing and rewriting code and more time creating great > experiences on the web. Be a part of the beta today. > http://p.sf.net/sfu/beautyoftheweb > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers |
|
From: Bart V. A. <bva...@ac...> - 2010-10-08 17:01:03
|
Hello Julian, I agree. Sorry that I haven't had the time yet to remove the configure test for __builtin_frame_address(). Bart. On Fri, Oct 8, 2010 at 6:53 PM, Julian Seward <js...@ac...> wrote: > > And we can now get rid of the associated configure test, yes? > > J > > On Friday, October 08, 2010, sv...@va... wrote: > > Author: bart > > Date: 2010-10-08 16:54:57 +0100 (Fri, 08 Oct 2010) > > New Revision: 11415 > > > > Log: > > Only enable CFI annotations when __GCC_HAVE_DWARF2_CFI_ASM is defined. This > > should work for all platforms, all gcc versions and with and without > > -fno-dwarf2-cfi-asm / -fno-asynchronous-unwind-tables. Thanks to Jakub > > Jelinek for the hint. > > > > Modified: > > trunk/include/valgrind.h > > > > > > Modified: trunk/include/valgrind.h > > =================================================================== > > --- trunk/include/valgrind.h 2010-10-08 06:58:25 UTC (rev 11414) > > +++ trunk/include/valgrind.h 2010-10-08 15:54:57 UTC (rev 11415) > > @@ -1221,11 +1221,9 @@ > > > > Oh .. and this all needs to be conditionalised so that it is > > unchanged from before this commit, when compiled with older gccs > > - that don't support __builtin_frame_address. And also, skip > > - it on Darwin (at least for the moment) since I can't figure out > > - how to do the .cfi directives there. > > + that don't support __builtin_frame_address. > > */ > > -#if defined(__GNUC__) && !defined(PLAT_amd64_darwin) > > +#if defined(__GCC_HAVE_DWARF2_CFI_ASM) > > # define __FRAME_POINTER \ > > ,"r"(__builtin_frame_address(0)) > > # define VALGRIND_CFI_PROLOGUE \ > > > > |