You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

41 lines
1.3 KiB

--- 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