X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fcompat.h;h=43d920cec18adbadd8cd04cf4d28e1059267c7ac;hb=4e6893b5e5cb57b316f4d40a6adb832b19785d19;hp=08dfe05cd0bb9a7bc00f9e159b0d621f98dc0ea6;hpb=6b6bccd9f51a22ea889f3809c8a695bb8bad4412;p=util-vserver.git diff --git a/util-vserver/compat.h b/util-vserver/compat.h index 08dfe05..43d920c 100644 --- a/util-vserver/compat.h +++ b/util-vserver/compat.h @@ -38,15 +38,16 @@ # define UNUSED __attribute__((__unused__)) # define NORETURN __attribute__((__noreturn__)) # define CONST __attribute__((__const__)) -# if __GNUC__>3 || (__GNUC__==3 && __GNUC_MINOR__>=3) +# if __GNUC__*0x10000 + __GNUC_MINOR__*0x100 + __GNUC_PATCHLEVEL__ >= 0x30300 # define NONNULL(ARGS) __attribute__((__nonnull__ ARGS)) # define ALWAYSINLINE __attribute__((__always_inline__)) # else # define NONNULL(ARGS) # define ALWAYSINLINE +# define PURE # endif -# if __GNUC__>=3 -# define PURE __attribute__((__pure__)) +# if __GNUC__*0x10000 + __GNUC_MINOR__*0x100 + __GNUC_PATCHLEVEL__ >= 0x30303 +# define PURE __attribute__((__pure__)) # else # define PURE # endif @@ -59,6 +60,10 @@ # define CONST #endif + // shamelessly stolen from dietlibc +#define LINK_WARNING(symbol,msg) \ + __asm__ (".section .gnu.warning." symbol "\n\t.string \"" msg "\"\n\t.previous") + #if !defined(__builtin_expect) && (__GNUC__+0)<3 # define __builtin_expect(foo,bar) (foo) #endif @@ -77,6 +82,12 @@ typedef uint32_t xid_t; #endif +#ifndef HAVE_NID_T +#include +typedef uint32_t nid_t; +#endif + + #if defined(__dietlibc__) #define TEMP_FAILURE_RETRY(expression) \ (__extension__ \