Deleted Added
sdiff udiff text old ( 12130 ) new ( 12458 )
full compact
1/*-
2 * Copyright (c) 1994-1995 S�ren Schmidt
3 * All rights reserved.
4 *
5 * Based heavily on /sys/kern/imgact_aout.c which is:
6 * Copyright (c) 1993, David Greenman
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 14 unchanged lines hidden (view full) ---

23 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
24 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 *
31 * $Id: imgact_linux.c,v 1.2 1995/08/24 10:32:27 davidg Exp $
32 */
33
34#include <sys/param.h>
35#include <sys/systm.h>
36#include <sys/resourcevar.h>
37#include <sys/exec.h>
38#include <sys/mman.h>
39#include <sys/imgact.h>
40#include <sys/imgact_aout.h>
41#include <sys/kernel.h>
42#include <sys/sysent.h>
43
44#include <vm/vm.h>
45#include <vm/vm_kern.h>
46
47int
48exec_linux_imgact(imgp)
49 struct image_params *imgp;
50{
51 struct exec *a_out = (struct exec *) imgp->image_header;
52 struct vmspace *vmspace = imgp->proc->p_vmspace;
53 unsigned long vmaddr, virtual_offset, file_offset;
54 unsigned long buffer, bss_size;
55 int error;
56 extern struct sysentvec linux_sysvec;
57
58 if (((a_out->a_magic >> 16) & 0xff) != 0x64)
59 return -1;
60
61 /*
62 * Set file/virtual offset based on a.out variant.
63 */
64 switch ((int)(a_out->a_magic & 0xffff)) {

--- 173 unchanged lines hidden ---