|
--- a/proc/sysinfo.c
|
|
+++ b/proc/sysinfo.c
|
|
@@ -209,7 +209,12 @@ static int check_for_privs(void){
|
|
return !!rc;
|
|
}
|
|
|
|
+#if __GNUC__ < 4 || __GNUC_MINOR__ < 3
|
|
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,12 @@ void display_version(void) {
|
|
|
|
int linux_version_code;
|
|
|
|
+#if __GNUC__ < 4 || __GNUC_MINOR__ < 3
|
|
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 */
|
|
--- a/proc/module.mk
|
|
+++ b/proc/module.mk
|
|
@@ -76,7 +76,7 @@ proc/$(ANAME): $(LIBOBJ)
|
|
|
|
#proc/$(SONAME): proc/library.map
|
|
proc/$(SONAME): $(LIBOBJ)
|
|
- $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) -shared -Wl,-soname,$(SONAME) -Wl,--version-script=proc/library.map -o $@ $^ -lc
|
|
+ $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) -shared -Wl,-soname,$(SONAME) -Wl,--version-script=proc/library.map -o $@ $(sort $^) -lc
|
|
|
|
|
|
# AUTOMATIC DEPENDENCY GENERATION -- GCC AND GNUMAKE DEPENDENT
|