aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>1996-03-10 22:42:16 +0000
committerPeter Wemm <peter@FreeBSD.org>1996-03-10 22:42:16 +0000
commit5cf588eb8b22a737c433d032e1683cacf83190fa (patch)
tree434d0ddb40cf7b34c325d7e035e3fdc2739dd3c4
parent8191d577aad95b408f17980a1f48d0c0bba45428 (diff)
Notes
-rw-r--r--sys/alpha/linux/linux_sysvec.c19
-rw-r--r--sys/i386/linux/linux_sysvec.c19
2 files changed, 36 insertions, 2 deletions
diff --git a/sys/alpha/linux/linux_sysvec.c b/sys/alpha/linux/linux_sysvec.c
index e7a72ae28ef4..c6316ae21aff 100644
--- a/sys/alpha/linux/linux_sysvec.c
+++ b/sys/alpha/linux/linux_sysvec.c
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: linux_sysvec.c,v 1.1 1996/03/02 19:38:01 peter Exp $
+ * $Id: linux_sysvec.c,v 1.2 1996/03/10 08:42:48 sos Exp $
*/
/* XXX we use functions that might not exist. */
@@ -51,6 +51,7 @@
#include <vm/vm_extern.h>
#include <sys/user.h>
#include <sys/exec.h>
+#include <sys/kernel.h>
#include <machine/cpu.h>
#include <machine/frame.h>
#include <machine/reg.h>
@@ -398,3 +399,19 @@ struct sysentvec elf_linux_sysvec = {
linux_prepsyscall,
};
+/*
+ * Installed either via SYSINIT() or via LKM stubs.
+ */
+Elf32_Interp_info linux_interp = {
+ &elf_linux_sysvec,
+ "/lib/ld-linux.so.1",
+ "/compat/linux"
+ };
+
+#ifndef LKM
+/*
+ * XXX: this is WRONG, it needs to be SI_SUB_EXEC, but this is just at the
+ * "proof of concept" stage and will be fixed shortly
+ */
+SYSINIT(linuxelf, SI_SUB_VFS, SI_ORDER_ANY, elf_insert_interp, &linux_interp);
+#endif
diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c
index e7a72ae28ef4..c6316ae21aff 100644
--- a/sys/i386/linux/linux_sysvec.c
+++ b/sys/i386/linux/linux_sysvec.c
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: linux_sysvec.c,v 1.1 1996/03/02 19:38:01 peter Exp $
+ * $Id: linux_sysvec.c,v 1.2 1996/03/10 08:42:48 sos Exp $
*/
/* XXX we use functions that might not exist. */
@@ -51,6 +51,7 @@
#include <vm/vm_extern.h>
#include <sys/user.h>
#include <sys/exec.h>
+#include <sys/kernel.h>
#include <machine/cpu.h>
#include <machine/frame.h>
#include <machine/reg.h>
@@ -398,3 +399,19 @@ struct sysentvec elf_linux_sysvec = {
linux_prepsyscall,
};
+/*
+ * Installed either via SYSINIT() or via LKM stubs.
+ */
+Elf32_Interp_info linux_interp = {
+ &elf_linux_sysvec,
+ "/lib/ld-linux.so.1",
+ "/compat/linux"
+ };
+
+#ifndef LKM
+/*
+ * XXX: this is WRONG, it needs to be SI_SUB_EXEC, but this is just at the
+ * "proof of concept" stage and will be fixed shortly
+ */
+SYSINIT(linuxelf, SI_SUB_VFS, SI_ORDER_ANY, elf_insert_interp, &linux_interp);
+#endif