summaryrefslogtreecommitdiff
path: root/modutils
diff options
context:
space:
mode:
authorEric Andersen2004-08-19 19:17:30 +0000
committerEric Andersen2004-08-19 19:17:30 +0000
commita4d27d2d385db205a9e6a0983985e02085f910ef (patch)
tree257074c755cd8af523a8381baf14791ab81885f8 /modutils
parenta9eb33ddc73f2e98063798652b23d4191e7d5a0e (diff)
downloadbusybox-a4d27d2d385db205a9e6a0983985e02085f910ef.zip
busybox-a4d27d2d385db205a9e6a0983985e02085f910ef.tar.gz
Patch from Rodney Radford adding x86_64 support.
Diffstat (limited to 'modutils')
-rw-r--r--modutils/insmod.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/modutils/insmod.c b/modutils/insmod.c
index d1aa24f..c057774 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. */