Fixes to allow compilation on systems with glibc 2.1.92
authorPavel Roskin <proski@gnu.org>
Thu, 28 Sep 2000 20:52:55 +0000 (20:52 -0000)
committerPavel Roskin <proski@gnu.org>
Thu, 28 Sep 2000 20:52:55 +0000 (20:52 -0000)
insmod.c
miscutils/update.c
modutils/insmod.c
update.c

index 0c81af6f03e62db0085197ff89c0e4e3ad27ddc6..8267606e10ab5701d64595dcd8f91cdf703f5e90 100644 (file)
--- a/insmod.c
+++ b/insmod.c
@@ -77,7 +77,7 @@
 #ifndef MODUTILS_MODULE_H
 #define MODUTILS_MODULE_H 1
 
-#ident "$Id: insmod.c,v 1.25 2000/09/25 21:45:58 andersen Exp $"
+#ident "$Id: insmod.c,v 1.26 2000/09/28 20:52:55 proski Exp $"
 
 /* This file contains the structures used by the 2.0 and 2.1 kernels.
    We do not use the kernel headers directly because we do not wish
@@ -283,7 +283,7 @@ int delete_module(const char *);
 #ifndef MODUTILS_OBJ_H
 #define MODUTILS_OBJ_H 1
 
-#ident "$Id: insmod.c,v 1.25 2000/09/25 21:45:58 andersen Exp $"
+#ident "$Id: insmod.c,v 1.26 2000/09/28 20:52:55 proski Exp $"
 
 /* The relocatable object is manipulated using elfin types.  */
 
@@ -323,7 +323,12 @@ int delete_module(const char *);
 /* this is the previous behavior, but it does result in
    insmod.c being broken on anything except i386 */
 
+#ifndef EM_486
+#define MATCH_MACHINE(x)  (x == EM_386)
+#else
 #define MATCH_MACHINE(x)  (x == EM_386 || x == EM_486)
+#endif
+
 #define SHT_RELM       SHT_REL
 #define Elf32_RelM     Elf32_Rel
 
index e9f4969135efa53679316e2224567390f22e874b..7279d83a87981c3d47ddd370c76b597d41080600 100644 (file)
@@ -72,7 +72,12 @@ extern int update_main(int argc, char **argv)
                /* Become a proper daemon */
                setsid();
                chdir("/");
+#ifdef OPEN_MAX
                for (pid = 0; pid < OPEN_MAX; pid++) close(pid);
+#else
+               /* glibc 2.1.92 requires using sysconf(_SC_OPEN_MAX) */
+               for (pid = 0; pid < sysconf(_SC_OPEN_MAX); pid++) close(pid);
+#endif
 
                /*
                 * This is no longer necessary since 1.3.5x, but it will harmlessly
index 0c81af6f03e62db0085197ff89c0e4e3ad27ddc6..8267606e10ab5701d64595dcd8f91cdf703f5e90 100644 (file)
@@ -77,7 +77,7 @@
 #ifndef MODUTILS_MODULE_H
 #define MODUTILS_MODULE_H 1
 
-#ident "$Id: insmod.c,v 1.25 2000/09/25 21:45:58 andersen Exp $"
+#ident "$Id: insmod.c,v 1.26 2000/09/28 20:52:55 proski Exp $"
 
 /* This file contains the structures used by the 2.0 and 2.1 kernels.
    We do not use the kernel headers directly because we do not wish
@@ -283,7 +283,7 @@ int delete_module(const char *);
 #ifndef MODUTILS_OBJ_H
 #define MODUTILS_OBJ_H 1
 
-#ident "$Id: insmod.c,v 1.25 2000/09/25 21:45:58 andersen Exp $"
+#ident "$Id: insmod.c,v 1.26 2000/09/28 20:52:55 proski Exp $"
 
 /* The relocatable object is manipulated using elfin types.  */
 
@@ -323,7 +323,12 @@ int delete_module(const char *);
 /* this is the previous behavior, but it does result in
    insmod.c being broken on anything except i386 */
 
+#ifndef EM_486
+#define MATCH_MACHINE(x)  (x == EM_386)
+#else
 #define MATCH_MACHINE(x)  (x == EM_386 || x == EM_486)
+#endif
+
 #define SHT_RELM       SHT_REL
 #define Elf32_RelM     Elf32_Rel
 
index e9f4969135efa53679316e2224567390f22e874b..7279d83a87981c3d47ddd370c76b597d41080600 100644 (file)
--- a/update.c
+++ b/update.c
@@ -72,7 +72,12 @@ extern int update_main(int argc, char **argv)
                /* Become a proper daemon */
                setsid();
                chdir("/");
+#ifdef OPEN_MAX
                for (pid = 0; pid < OPEN_MAX; pid++) close(pid);
+#else
+               /* glibc 2.1.92 requires using sysconf(_SC_OPEN_MAX) */
+               for (pid = 0; pid < sysconf(_SC_OPEN_MAX); pid++) close(pid);
+#endif
 
                /*
                 * This is no longer necessary since 1.3.5x, but it will harmlessly