sdt.h (GNUC_VERSION) Include __GNUC_RH_RELEASE__. Check for at least gcc 4.4.4
* 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
#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