diff -upr procps-3.2.8.orig/proc/sysinfo.c procps-3.2.8/proc/sysinfo.c --- procps-3.2.8.orig/proc/sysinfo.c 2008-03-24 04:33:43.000000000 +0000 +++ procps-3.2.8/proc/sysinfo.c 2011-02-07 18:14:16.476982472 +0000 @@ -212,6 +212,7 @@ static int check_for_privs(void){ static void init_libproc(void) __attribute__((constructor)); static void init_libproc(void){ have_privs = check_for_privs(); + init_Linux_version(); // ought to count CPUs in /proc/stat instead of relying // on glibc, which foolishly tries to parse /proc/cpuinfo // diff -upr procps-3.2.8.orig/proc/version.c procps-3.2.8/proc/version.c --- procps-3.2.8.orig/proc/version.c 2003-01-29 01:11:43.000000000 +0000 +++ procps-3.2.8/proc/version.c 2011-02-07 18:13:12.283649138 +0000 @@ -33,8 +33,7 @@ void display_version(void) { int linux_version_code; -static void init_Linux_version(void) __attribute__((constructor)); -static void init_Linux_version(void) { +void init_Linux_version(void) { static struct utsname uts; int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 3 */ diff -upr procps-3.2.8.orig/proc/version.h procps-3.2.8/proc/version.h --- procps-3.2.8.orig/proc/version.h 2002-12-15 00:08:32.000000000 +0000 +++ procps-3.2.8/proc/version.h 2011-02-07 18:14:20.263649138 +0000 @@ -14,6 +14,7 @@ EXTERN_C_BEGIN +extern void init_Linux_version(void); extern void display_version(void); /* display suite version */ extern const char procps_version[]; /* global buf for suite version */