Deleted Added
full compact
imgact_coff.c (101771) imgact_coff.c (103128)
1/*-
2 * Copyright (c) 1994 Sean Eric Fagan
3 * Copyright (c) 1994 S�ren Schmidt
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

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

21 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 *
1/*-
2 * Copyright (c) 1994 Sean Eric Fagan
3 * Copyright (c) 1994 S�ren Schmidt
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

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

21 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 *
29 * $FreeBSD: head/sys/i386/ibcs2/imgact_coff.c 101771 2002-08-13 06:55:28Z jeff $
29 * $FreeBSD: head/sys/i386/ibcs2/imgact_coff.c 103128 2002-09-09 15:51:10Z robert $
30 */
31
32#include <sys/param.h>
33#include <sys/systm.h>
34#include <sys/fcntl.h>
35#include <sys/imgact.h>
36#include <sys/kernel.h>
37#include <sys/lock.h>

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

384 if(scns[i].s_size) {
385 char *libbuf;
386 int emul_path_len = strlen(ibcs2_emul_path);
387
388 libbuf = malloc(MAXPATHLEN + emul_path_len,
389 M_TEMP, M_WAITOK);
390 strcpy(libbuf, ibcs2_emul_path);
391
30 */
31
32#include <sys/param.h>
33#include <sys/systm.h>
34#include <sys/fcntl.h>
35#include <sys/imgact.h>
36#include <sys/kernel.h>
37#include <sys/lock.h>

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

384 if(scns[i].s_size) {
385 char *libbuf;
386 int emul_path_len = strlen(ibcs2_emul_path);
387
388 libbuf = malloc(MAXPATHLEN + emul_path_len,
389 M_TEMP, M_WAITOK);
390 strcpy(libbuf, ibcs2_emul_path);
391
392 for (j = off; j < scns[i].s_size + off; j++) {
392 for (j = off; j < scns[i].s_size + off;) {
393 long stroff, nextoff;
393 char *libname;
394
394 char *libname;
395
395 libname = buf + j + 4 * *(long*)(buf + j + 4);
396 j += 4* *(long*)(buf + j);
396 nextoff = 4 * *(long *)(buf + j);
397 stroff = 4 * *(long *)(buf + j + sizeof(long));
397
398
399 libname = buf + j + stroff;
400 j += nextoff;
401
398 DPRINTF(("%s(%d): shared library %s\n",
399 __FILE__, __LINE__, libname));
400 strcpy(&libbuf[emul_path_len], libname);
401/* XXXKSE only 1:1 in coff */ error = coff_load_file(
402 FIRST_THREAD_IN_PROC(imgp->proc), libbuf);
403 if (error)
404 error = coff_load_file(
405 FIRST_THREAD_IN_PROC(imgp->proc),

--- 84 unchanged lines hidden ---
402 DPRINTF(("%s(%d): shared library %s\n",
403 __FILE__, __LINE__, libname));
404 strcpy(&libbuf[emul_path_len], libname);
405/* XXXKSE only 1:1 in coff */ error = coff_load_file(
406 FIRST_THREAD_IN_PROC(imgp->proc), libbuf);
407 if (error)
408 error = coff_load_file(
409 FIRST_THREAD_IN_PROC(imgp->proc),

--- 84 unchanged lines hidden ---