adapt for changes to kern/exec_elf32.c

This commit is contained in:
drochner 2003-10-31 14:04:35 +00:00
parent 24082a2293
commit 714de0452f
9 changed files with 33 additions and 36 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: freebsd_exec_elf32.c,v 1.11 2003/06/29 22:29:16 fvdl Exp $ */ /* $NetBSD: freebsd_exec_elf32.c,v 1.12 2003/10/31 14:04:35 drochner Exp $ */
/* /*
* Copyright (c) 1993, 1994 Christopher G. Demetriou * Copyright (c) 1993, 1994 Christopher G. Demetriou
@ -31,7 +31,7 @@
*/ */
#include <sys/cdefs.h> #include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: freebsd_exec_elf32.c,v 1.11 2003/06/29 22:29:16 fvdl Exp $"); __KERNEL_RCSID(0, "$NetBSD: freebsd_exec_elf32.c,v 1.12 2003/10/31 14:04:35 drochner Exp $");
#include <sys/param.h> #include <sys/param.h>
#include <sys/systm.h> #include <sys/systm.h>
@ -115,12 +115,11 @@ ELFNAME2(freebsd,probe)(p, epp, veh, itp, pos)
free(ph, M_TEMP); free(ph, M_TEMP);
} }
if (itp[0]) { if (itp) {
if ((error = emul_find_interp(p, epp->ep_esch->es_emul->e_path, if ((error = emul_find_interp(p, epp->ep_esch->es_emul->e_path,
itp))) itp)))
return error; return error;
} }
*pos = ELF_NO_ADDR;
#ifdef DEBUG_FREEBSD_ELF #ifdef DEBUG_FREEBSD_ELF
printf("freebsd_elf32_probe: returning 0\n"); printf("freebsd_elf32_probe: returning 0\n");
#endif #endif

View File

@ -1,4 +1,4 @@
/* $NetBSD: ibcs2_exec_elf32.c,v 1.6 2003/06/29 22:29:20 fvdl Exp $ */ /* $NetBSD: ibcs2_exec_elf32.c,v 1.7 2003/10/31 14:04:35 drochner Exp $ */
/* /*
* Copyright (c) 1994, 1995, 1998 Scott Bartram * Copyright (c) 1994, 1995, 1998 Scott Bartram
@ -35,7 +35,7 @@
*/ */
#include <sys/cdefs.h> #include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: ibcs2_exec_elf32.c,v 1.6 2003/06/29 22:29:20 fvdl Exp $"); __KERNEL_RCSID(0, "$NetBSD: ibcs2_exec_elf32.c,v 1.7 2003/10/31 14:04:35 drochner Exp $");
#define ELFSIZE 32 #define ELFSIZE 32
@ -132,10 +132,9 @@ ibcs2_elf32_probe(p, epp, eh, itp, pos)
if ((error = ibcs2_elf32_signature(p, epp, eh)) != 0) if ((error = ibcs2_elf32_signature(p, epp, eh)) != 0)
return error; return error;
if (itp[0]) { if (itp) {
if ((error = emul_find_interp(p, epp->ep_esch->es_emul->e_path, itp))) if ((error = emul_find_interp(p, epp->ep_esch->es_emul->e_path, itp)))
return error; return error;
} }
*pos = ELF32_NO_ADDR;
return 0; return 0;
} }

View File

@ -1,4 +1,4 @@
/* $NetBSD: linux_exec_elf32.c,v 1.65 2003/10/27 07:07:34 chs Exp $ */ /* $NetBSD: linux_exec_elf32.c,v 1.66 2003/10/31 14:04:36 drochner Exp $ */
/*- /*-
* Copyright (c) 1995, 1998, 2000, 2001 The NetBSD Foundation, Inc. * Copyright (c) 1995, 1998, 2000, 2001 The NetBSD Foundation, Inc.
@ -42,7 +42,7 @@
*/ */
#include <sys/cdefs.h> #include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: linux_exec_elf32.c,v 1.65 2003/10/27 07:07:34 chs Exp $"); __KERNEL_RCSID(0, "$NetBSD: linux_exec_elf32.c,v 1.66 2003/10/31 14:04:36 drochner Exp $");
#ifndef ELFSIZE #ifndef ELFSIZE
/* XXX should die */ /* XXX should die */
@ -294,7 +294,7 @@ ELFNAME2(linux,signature)(p, epp, eh, itp)
} }
/* Check for certain intepreter names. */ /* Check for certain intepreter names. */
if (itp[0]) { if (itp) {
if (!strncmp(itp, "/lib/ld-linux", 13) || if (!strncmp(itp, "/lib/ld-linux", 13) ||
!strncmp(itp, "/lib/ld.so.", 11)) !strncmp(itp, "/lib/ld.so.", 11))
error = 0; error = 0;
@ -329,12 +329,11 @@ ELFNAME2(linux,probe)(p, epp, eh, itp, pos)
1) 1)
return error; return error;
if (itp[0]) { if (itp) {
if ((error = emul_find_interp(p, epp->ep_esch->es_emul->e_path, if ((error = emul_find_interp(p, epp->ep_esch->es_emul->e_path,
itp))) itp)))
return (error); return (error);
} }
*pos = ELF_NO_ADDR;
DPRINTF(("linux_probe: returning 0\n")); DPRINTF(("linux_probe: returning 0\n"));
return 0; return 0;
} }

View File

@ -1,4 +1,4 @@
/* $NetBSD: netbsd32_exec_elf32.c,v 1.20 2003/10/13 14:22:20 agc Exp $ */ /* $NetBSD: netbsd32_exec_elf32.c,v 1.21 2003/10/31 14:04:36 drochner Exp $ */
/* from: NetBSD: exec_aout.c,v 1.15 1996/09/26 23:34:46 cgd Exp */ /* from: NetBSD: exec_aout.c,v 1.15 1996/09/26 23:34:46 cgd Exp */
/* /*
@ -59,7 +59,7 @@
*/ */
#include <sys/cdefs.h> #include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: netbsd32_exec_elf32.c,v 1.20 2003/10/13 14:22:20 agc Exp $"); __KERNEL_RCSID(0, "$NetBSD: netbsd32_exec_elf32.c,v 1.21 2003/10/31 14:04:36 drochner Exp $");
#define ELFSIZE 32 #define ELFSIZE 32
@ -105,7 +105,7 @@ ELFNAME2(netbsd32,probe_noteless)(struct proc *p, struct exec_package *epp,
{ {
int error; int error;
if (itp[0]) { if (itp) {
/* Translate interpreter name if needed */ /* Translate interpreter name if needed */
if ((error = emul_find_interp(p, epp->ep_esch->es_emul->e_path, if ((error = emul_find_interp(p, epp->ep_esch->es_emul->e_path,
itp)) != 0) itp)) != 0)
@ -114,7 +114,9 @@ ELFNAME2(netbsd32,probe_noteless)(struct proc *p, struct exec_package *epp,
epp->ep_flags |= EXEC_32; epp->ep_flags |= EXEC_32;
epp->ep_vm_minaddr = VM_MIN_ADDRESS; epp->ep_vm_minaddr = VM_MIN_ADDRESS;
epp->ep_vm_maxaddr = USRSTACK32; epp->ep_vm_maxaddr = USRSTACK32;
*pos = ELFDEFNNAME(NO_ADDR); #ifdef ELF_INTERP_NON_RELOCATABLE
*pos = ELF_LINK_ADDR;
#endif
return 0; return 0;
} }

View File

@ -1,4 +1,4 @@
/* $NetBSD: svr4_exec.h,v 1.22 2003/06/29 22:29:46 fvdl Exp $ */ /* $NetBSD: svr4_exec.h,v 1.23 2003/10/31 14:04:36 drochner Exp $ */
/*- /*-
* Copyright (c) 1994 The NetBSD Foundation, Inc. * Copyright (c) 1994 The NetBSD Foundation, Inc.
@ -68,10 +68,6 @@
#define SVR4_INTERP_ADDR 0x10000000 #define SVR4_INTERP_ADDR 0x10000000
#endif #endif
#ifndef SVR4_INTERP_ADDR
# define SVR4_INTERP_ADDR ELFDEFNNAME(NO_ADDR)
#endif
extern const struct emul emul_svr4; extern const struct emul emul_svr4;
void svr4_setregs __P((struct lwp *, struct exec_package *, u_long)); void svr4_setregs __P((struct lwp *, struct exec_package *, u_long));

View File

@ -1,4 +1,4 @@
/* $NetBSD: svr4_exec_elf32.c,v 1.7 2003/06/29 22:29:46 fvdl Exp $ */ /* $NetBSD: svr4_exec_elf32.c,v 1.8 2003/10/31 14:04:36 drochner Exp $ */
/*- /*-
* Copyright (c) 1994 The NetBSD Foundation, Inc. * Copyright (c) 1994 The NetBSD Foundation, Inc.
@ -37,7 +37,7 @@
*/ */
#include <sys/cdefs.h> #include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: svr4_exec_elf32.c,v 1.7 2003/06/29 22:29:46 fvdl Exp $"); __KERNEL_RCSID(0, "$NetBSD: svr4_exec_elf32.c,v 1.8 2003/10/31 14:04:36 drochner Exp $");
#define ELFSIZE 32 /* XXX should die */ #define ELFSIZE 32 /* XXX should die */
@ -71,10 +71,12 @@ svr4_elf32_probe(p, epp, eh, itp, pos)
{ {
int error; int error;
if (itp[0]) { if (itp) {
if ((error = emul_find_interp(p, epp->ep_esch->es_emul->e_path, itp))) if ((error = emul_find_interp(p, epp->ep_esch->es_emul->e_path, itp)))
return error; return error;
} }
#ifdef SVR4_INTERP_ADDR
*pos = SVR4_INTERP_ADDR; *pos = SVR4_INTERP_ADDR;
#endif
return 0; return 0;
} }

View File

@ -1,4 +1,4 @@
/* $NetBSD: svr4_exec_elf64.c,v 1.8 2003/06/29 22:29:46 fvdl Exp $ */ /* $NetBSD: svr4_exec_elf64.c,v 1.9 2003/10/31 14:04:36 drochner Exp $ */
/*- /*-
* Copyright (c) 1994 The NetBSD Foundation, Inc. * Copyright (c) 1994 The NetBSD Foundation, Inc.
@ -37,7 +37,7 @@
*/ */
#include <sys/cdefs.h> #include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: svr4_exec_elf64.c,v 1.8 2003/06/29 22:29:46 fvdl Exp $"); __KERNEL_RCSID(0, "$NetBSD: svr4_exec_elf64.c,v 1.9 2003/10/31 14:04:36 drochner Exp $");
#define ELFSIZE 64 /* XXX should die */ #define ELFSIZE 64 /* XXX should die */
@ -71,10 +71,12 @@ svr4_elf64_probe(p, epp, eh, itp, pos)
{ {
int error; int error;
if (itp[0]) { if (itp) {
if ((error = emul_find_interp(p, epp->ep_esch->es_emul->e_path, itp))) if ((error = emul_find_interp(p, epp->ep_esch->es_emul->e_path, itp)))
return error; return error;
} }
#ifdef SVR4_INTERP_ADDR
*pos = SVR4_INTERP_ADDR; *pos = SVR4_INTERP_ADDR;
#endif
return 0; return 0;
} }

View File

@ -1,4 +1,4 @@
/* $NetBSD: svr4_32_exec.h,v 1.7 2003/06/29 22:29:50 fvdl Exp $ */ /* $NetBSD: svr4_32_exec.h,v 1.8 2003/10/31 14:04:36 drochner Exp $ */
/*- /*-
* Copyright (c) 1994 The NetBSD Foundation, Inc. * Copyright (c) 1994 The NetBSD Foundation, Inc.
@ -67,10 +67,6 @@ int svr4_32_copyargs __P((struct proc *, struct exec_package *, struct ps_string
#endif #endif
#endif #endif
#ifndef SVR4_32_INTERP_ADDR
# define SVR4_32_INTERP_ADDR ELFDEFNNAME(NO_ADDR)
#endif
extern const struct emul emul_svr4_32; extern const struct emul emul_svr4_32;
void svr4_32_setregs __P((struct lwp *, struct exec_package *, u_long)); void svr4_32_setregs __P((struct lwp *, struct exec_package *, u_long));

View File

@ -1,4 +1,4 @@
/* $NetBSD: svr4_32_exec_elf32.c,v 1.12 2003/06/29 22:29:50 fvdl Exp $ */ /* $NetBSD: svr4_32_exec_elf32.c,v 1.13 2003/10/31 14:04:36 drochner Exp $ */
/*- /*-
* Copyright (c) 1994 The NetBSD Foundation, Inc. * Copyright (c) 1994 The NetBSD Foundation, Inc.
@ -37,7 +37,7 @@
*/ */
#include <sys/cdefs.h> #include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: svr4_32_exec_elf32.c,v 1.12 2003/06/29 22:29:50 fvdl Exp $"); __KERNEL_RCSID(0, "$NetBSD: svr4_32_exec_elf32.c,v 1.13 2003/10/31 14:04:36 drochner Exp $");
#define ELFSIZE 32 /* XXX should die */ #define ELFSIZE 32 /* XXX should die */
@ -284,11 +284,13 @@ svr4_32_elf32_probe(p, epp, eh, itp, pos)
{ {
int error; int error;
if (itp[0]) { if (itp) {
if ((error = emul_find_interp(p, epp->ep_esch->es_emul->e_path, itp))) if ((error = emul_find_interp(p, epp->ep_esch->es_emul->e_path, itp)))
return error; return error;
} }
epp->ep_flags |= EXEC_32; epp->ep_flags |= EXEC_32;
#ifdef SVR4_32_INTERP_ADDR
*pos = SVR4_32_INTERP_ADDR; *pos = SVR4_32_INTERP_ADDR;
#endif
return 0; return 0;
} }