From a4d27d2d385db205a9e6a0983985e02085f910ef Mon Sep 17 00:00:00 2001
From: Eric Andersen <andersen@codepoet.org>
Date: Thu, 19 Aug 2004 19:17:30 +0000
Subject: Patch from Rodney Radford adding x86_64 support.

---
 modutils/insmod.c | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/modutils/insmod.c b/modutils/insmod.c
index d1aa24f14..c057774b6 100644
--- a/modutils/insmod.c
+++ b/modutils/insmod.c
@@ -2,12 +2,15 @@
 /*
  * Mini insmod implementation for busybox
  *
- * This version of insmod supports x86, ARM, SH3/4/5, powerpc, m68k,
+ * This version of insmod supports x86, x86_64, ARM, SH3/4/5, powerpc, m68k,
  * MIPS, v850e, and H8/300.
  *
  * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
  * and Ron Alder <alder@lineo.com>
  *
+ * Rodney Radford <rradford@mindspring.com> 17-Aug-2004.
+ *   Added x86_64 support.
+ *
  * Miles Bader <miles@gnu.org> added NEC V850E support.
  *
  * Modified by Bryan Rittmeyer <bryan@ixiacom.com> to support SH4
@@ -148,6 +151,13 @@ extern int insmod_ng_main( int argc, char **argv);
 #define ELFCLASSM	ELFCLASS32
 #endif
 
+#if defined(__x86_64__)
+#define MATCH_MACHINE(x) (x == EM_X86_64)
+#define SHT_RELM	SHT_REL
+#define Elf64_RelM	Elf64_Rel
+#define ELFCLASSM	ELFCLASS64
+#endif
+
 #if defined(__mc68000__)
 #define CONFIG_USE_GOT_ENTRIES
 #define CONFIG_GOT_ENTRY_SIZE 4
@@ -290,7 +300,7 @@ extern int insmod_ng_main( int argc, char **argv);
 #ifndef MODUTILS_MODULE_H
 static const int MODUTILS_MODULE_H = 1;
 
-#ident "$Id: insmod.c,v 1.122 2004/07/20 15:43:57 sandman Exp $"
+#ident "$Id: insmod.c,v 1.123 2004/08/19 19:17:30 andersen Exp $"
 
 /*======================================================================*/
 /* For sizeof() which are related to the module platform and not to the
@@ -448,7 +458,7 @@ int delete_module(const char *);
 #ifndef MODUTILS_OBJ_H
 static const int MODUTILS_OBJ_H = 1;
 
-#ident "$Id: insmod.c,v 1.122 2004/07/20 15:43:57 sandman Exp $"
+#ident "$Id: insmod.c,v 1.123 2004/08/19 19:17:30 andersen Exp $"
 
 /* The relocatable object is manipulated using elfin types.  */
 
-- 
cgit v1.2.3-55-g6feb