procps/procps-3.2.8-fix-unknown-HZ.dif
2010-10-29 09:49:08 +00:00

49 lines
1.5 KiB
Plaintext

--- a/proc/sig.c
+++ b/proc/sig.c 2010-10-29 09:15:13.872426803 +0000
@@ -231,7 +231,7 @@ void unix_print_signals(void){
}
/* sanity check */
-static int init_signal_list(void) __attribute__((constructor));
+static int init_signal_list(void) __attribute__((constructor (103)));
static int init_signal_list(void){
if(number_of_signals != 31){
fprintf(stderr, "WARNING: %d signals -- adjust and recompile.\n", number_of_signals);
--- a/proc/sysinfo.c
+++ b/proc/sysinfo.c 2010-10-29 09:12:17.768426168 +0000
@@ -158,6 +158,14 @@ static void old_Hertz_hack(void){
unsigned long long jiffies;
unsigned h;
char *restrict savelocale;
+ long hz;
+
+#ifdef _SC_CLK_TCK
+ if((hz = sysconf(_SC_CLK_TCK)) > 0){
+ Hertz = hz;
+ return;
+ }
+#endif
savelocale = setlocale(LC_NUMERIC, NULL);
setlocale(LC_NUMERIC, "C");
@@ -258,7 +266,7 @@ long smp_num_cpus(void)
return(_smp_num_cpus);
}
-static void init_libproc(void) __attribute__((constructor));
+static void init_libproc(void) __attribute__((constructor (102)));
static void init_libproc(void){
have_privs = check_for_privs();
--- a/proc/version.c
+++ b/proc/version.c 2010-10-29 09:11:53.192426444 +0000
@@ -33,7 +33,7 @@ void display_version(void) {
int linux_version_code;
-static void init_Linux_version(void) __attribute__((constructor));
+static void init_Linux_version(void) __attribute__((constructor (101)));
static void init_Linux_version(void) {
static struct utsname uts;
int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 3 */