Patch from Rodney Radford adding x86_64 support.
authorEric Andersen <andersen@codepoet.org>
Thu, 19 Aug 2004 19:17:30 +0000 (19:17 -0000)
committerEric Andersen <andersen@codepoet.org>
Thu, 19 Aug 2004 19:17:30 +0000 (19:17 -0000)
modutils/insmod.c

index d1aa24f14c6b0738a25f06fad6cd54a4c94143f4..c057774b6ad47810c2f43b3ea200004c71d0e6d5 100644 (file)
@@ -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.  */