summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Roskin2000-09-28 20:52:55 +0000
committerPavel Roskin2000-09-28 20:52:55 +0000
commit43f3e6114c175a838161bfb547f469ecdb600c87 (patch)
tree2e0952a6b77d9acbcc232345489ef116fab7eab0
parent8d369e98a5f0fb7612b3d09ff889394bf7ec4f5c (diff)
downloadbusybox-43f3e6114c175a838161bfb547f469ecdb600c87.zip
busybox-43f3e6114c175a838161bfb547f469ecdb600c87.tar.gz
Fixes to allow compilation on systems with glibc 2.1.92
-rw-r--r--insmod.c9
-rw-r--r--miscutils/update.c5
-rw-r--r--modutils/insmod.c9
-rw-r--r--update.c5
4 files changed, 24 insertions, 4 deletions
diff --git a/insmod.c b/insmod.c
index 0c81af6..8267606 100644
--- 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
diff --git a/miscutils/update.c b/miscutils/update.c
index e9f4969..7279d83 100644
--- a/miscutils/update.c
+++ b/miscutils/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
diff --git a/modutils/insmod.c b/modutils/insmod.c
index 0c81af6..8267606 100644
--- a/modutils/insmod.c
+++ b/modutils/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
diff --git a/update.c b/update.c
index e9f4969..7279d83 100644
--- 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