From 985adad37f66be2b1796641360296b7632c7f290 Mon Sep 17 00:00:00 2001 From: Stan Cox Date: Tue, 9 Mar 2010 17:40:04 -0500 Subject: Include __GNUC_RH_RELEASE__ in the volatile check. sdt.h (GNUC_VERSION) Include __GNUC_RH_RELEASE__. Check for at least gcc 4.4.4 --- NEWS | 4 ++-- includes/sys/sdt.h | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index bd65b2a3..26ae195b 100644 --- a/NEWS +++ b/NEWS @@ -1,7 +1,7 @@ * What's new -- User space marker arguments no longer use volatile if richer DWARF debuginfo - is available. +- User space marker arguments no longer use volatile if the version of gcc, + which must be at least 4.4.4, supports richer DWARF debuginfo. - A new construct for error handling is available. It is similar to c++ exception catching, using try and catch as new keywords. Within a handler diff --git a/includes/sys/sdt.h b/includes/sys/sdt.h index 314f9cc1..971b0c8b 100644 --- a/includes/sys/sdt.h +++ b/includes/sys/sdt.h @@ -80,8 +80,11 @@ #define STAP_UPROBE_GUARD 0x31425250 -#define GNUC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) -#if GNUC_VERSION >= 40403 +#ifndef __GNUC_RH_RELEASE__ +#define __GNUC_RH_RELEASE__ 0 +#endif +#define GNUC_VERSION (__GNUC__ * 1000000 + __GNUC_MINOR__ * 10000 + __GNUC_PATCHLEVEL__ * 100 + __GNUC_RH_RELEASE__) +#if GNUC_VERSION >= 4040400 && ! defined VOLATILE #define VOLATILE_ARG #else #define VOLATILE_ARG volatile -- cgit