From 8dff25c658064a4ac2f1d92a03212043d8d3af23 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Sun, 26 Dec 2010 00:53:40 +0000 Subject: [PATCH] [packages] procps: the recently added "HZ fix" introduces constructor priorities which GCC < 4.0 does not support, protect those with a gcc version check SVN-Revision: 24828 --- utils/procps/patches/020_hz_fix.patch | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/utils/procps/patches/020_hz_fix.patch b/utils/procps/patches/020_hz_fix.patch index 7b185c95b6..1a4e482640 100644 --- a/utils/procps/patches/020_hz_fix.patch +++ b/utils/procps/patches/020_hz_fix.patch @@ -1,22 +1,30 @@ --- a/proc/sysinfo.c +++ b/proc/sysinfo.c -@@ -209,7 +209,7 @@ static int check_for_privs(void){ +@@ -209,7 +209,12 @@ static int check_for_privs(void){ return !!rc; } --static void init_libproc(void) __attribute__((constructor)); ++#if __GNUC__ < 4 + static void init_libproc(void) __attribute__((constructor)); ++#else +static void init_libproc(void) __attribute__((constructor(200))); ++#endif ++ static void init_libproc(void){ have_privs = check_for_privs(); // ought to count CPUs in /proc/stat instead of relying --- a/proc/version.c +++ b/proc/version.c -@@ -33,7 +33,7 @@ void display_version(void) { +@@ -33,7 +33,12 @@ void display_version(void) { int linux_version_code; --static void init_Linux_version(void) __attribute__((constructor)); ++#if __GNUC__ < 4 + static void init_Linux_version(void) __attribute__((constructor)); ++#else +static void init_Linux_version(void) __attribute__((constructor(100))); ++#endif ++ static void init_Linux_version(void) { static struct utsname uts; int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 3 */ -- 2.30.2