head 1.4; access; symbols pkgsrc-2013Q2:1.4.0.6 pkgsrc-2013Q2-base:1.4 pkgsrc-2012Q4:1.4.0.4 pkgsrc-2012Q4-base:1.4 pkgsrc-2011Q4:1.4.0.2 pkgsrc-2011Q4-base:1.4 pkgsrc-2011Q2:1.3.0.66 pkgsrc-2011Q2-base:1.3 pkgsrc-2011Q1:1.3.0.64 pkgsrc-2011Q1-base:1.3 pkgsrc-2010Q4:1.3.0.62 pkgsrc-2010Q4-base:1.3 pkgsrc-2010Q3:1.3.0.60 pkgsrc-2010Q3-base:1.3 pkgsrc-2010Q2:1.3.0.58 pkgsrc-2010Q2-base:1.3 pkgsrc-2010Q1:1.3.0.56 pkgsrc-2010Q1-base:1.3 pkgsrc-2009Q4:1.3.0.54 pkgsrc-2009Q4-base:1.3 pkgsrc-2009Q3:1.3.0.52 pkgsrc-2009Q3-base:1.3 pkgsrc-2009Q2:1.3.0.50 pkgsrc-2009Q2-base:1.3 pkgsrc-2009Q1:1.3.0.48 pkgsrc-2009Q1-base:1.3 pkgsrc-2008Q4:1.3.0.46 pkgsrc-2008Q4-base:1.3 pkgsrc-2008Q3:1.3.0.44 pkgsrc-2008Q3-base:1.3 cube-native-xorg:1.3.0.42 cube-native-xorg-base:1.3 pkgsrc-2008Q2:1.3.0.40 pkgsrc-2008Q2-base:1.3 cwrapper:1.3.0.38 pkgsrc-2008Q1:1.3.0.36 pkgsrc-2008Q1-base:1.3 pkgsrc-2007Q4:1.3.0.34 pkgsrc-2007Q4-base:1.3 pkgsrc-2007Q3:1.3.0.32 pkgsrc-2007Q3-base:1.3 pkgsrc-2007Q2:1.3.0.30 pkgsrc-2007Q2-base:1.3 pkgsrc-2007Q1:1.3.0.28 pkgsrc-2007Q1-base:1.3 pkgsrc-2006Q4:1.3.0.26 pkgsrc-2006Q4-base:1.3 pkgsrc-2006Q3:1.3.0.24 pkgsrc-2006Q3-base:1.3 pkgsrc-2006Q2:1.3.0.22 pkgsrc-2006Q2-base:1.3 pkgsrc-2006Q1:1.3.0.20 pkgsrc-2006Q1-base:1.3 pkgsrc-2005Q4:1.3.0.18 pkgsrc-2005Q4-base:1.3 pkgsrc-2005Q3:1.3.0.16 pkgsrc-2005Q3-base:1.3 pkgsrc-2005Q2:1.3.0.14 pkgsrc-2005Q2-base:1.3 pkgsrc-2005Q1:1.3.0.12 pkgsrc-2005Q1-base:1.3 pkgsrc-2004Q4:1.3.0.10 pkgsrc-2004Q4-base:1.3 pkgsrc-2004Q3:1.3.0.8 pkgsrc-2004Q3-base:1.3 pkgsrc-2004Q2:1.3.0.6 pkgsrc-2004Q2-base:1.3 pkgsrc-2004Q1:1.3.0.4 pkgsrc-2004Q1-base:1.3 pkgsrc-2003Q4:1.3.0.2 pkgsrc-2003Q4-base:1.3 netbsd-1-6-1:1.2.0.6 netbsd-1-6-1-base:1.2 netbsd-1-6:1.2.0.8 netbsd-1-6-RELEASE-base:1.2 pkgviews:1.2.0.4 pkgviews-base:1.2 buildlink2:1.2.0.2 buildlink2-base:1.2 netbsd-1-5-PATCH003:1.2 netbsd-1-5-PATCH001:1.2 netbsd-1-5-RELEASE:1.2 netbsd-1-4-PATCH003:1.2 netbsd-1-4-PATCH002:1.2; locks; strict; comment @# @; 1.4 date 2011.10.02.14.11.53; author wiz; state dead; branches; next 1.3; 1.3 date 2003.06.06.11.55.07; author jmmv; state Exp; branches; next 1.2; 1.2 date 99.12.18.22.10.02; author christos; state Exp; branches; next 1.1; 1.1 date 99.12.18.01.46.29; author christos; state Exp; branches; next ; desc @@ 1.4 log @Remove packages scheduled to be deleted according to the pkgsrc-2011Q2 release notes. @ text @$NetBSD: patch-ah,v 1.3 2003/06/06 11:55:07 jmmv Exp $ --- doscmd_loader.c.orig 2003-06-06 14:00:18.000000000 +0200 +++ doscmd_loader.c @@@@ -31,38 +31,50 @@@@ */ #include -#include +#include +#include +#include +#include /* * reserve space in "low" memory for the interrupt vector table */ static const char filler[4096] = { 0, }; -#define _PATH_DOS_KERNEL_DIR "/usr/libexec/" +#define _PATH_DOS_KERNEL_DIR "%PREFIX%/libexec/" #define _PATH_DOS_KERNEL "doscmd.kernel" -int +static char *locations[] = { + _PATH_DOS_KERNEL, + "obj/" _PATH_DOS_KERNEL, + _PATH_DOS_KERNEL_DIR _PATH_DOS_KERNEL, + NULL +}; + +u_long load_kernel(void) { - FILE *fp; - struct exec exec; - int start_address; - - if ((fp = fopen(_PATH_DOS_KERNEL, "r")) == NULL && - (fp = fopen("obj/" _PATH_DOS_KERNEL, "r")) == NULL && - (fp = fopen(_PATH_DOS_KERNEL_DIR _PATH_DOS_KERNEL, "r")) == NULL) + int i, fd; + size_t size; + struct stat st; + + for (i = 0; locations[i] != NULL; i++) { + if ((fd = open(locations[i], O_RDONLY)) != -1) + break; + } + if (locations[i] == NULL) err(1, "load_kernel"); - if (fread(&exec, sizeof(exec), 1, fp) != 1 || N_GETMAGIC(exec) != OMAGIC) - errx(1, "bad kernel file format"); + if (fstat(fd, &st) == -1) + err(1, "fstat"); - start_address = exec.a_entry & (~(getpagesize() - 1)); - if (brk(start_address + exec.a_text + exec.a_data + exec.a_bss) < 0) - err(1, "load_kernel"); - fread((char *)start_address, exec.a_text + exec.a_data, 1, fp); - bzero((char *)(start_address + exec.a_text + exec.a_data), exec.a_bss); - fclose(fp); - return(exec.a_entry); + size = st.st_size + START_ADDRESS; + + if (mmap((void *)START_ADDRESS, st.st_size, + PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, fd, 0) == MAP_FAILED) + err(1, "mmap"); + + return(START_ADDRESS); } void @ 1.3 log @Merge two patches fixing the same file (doscmd_loader.c); they were causing problems as one was undoing changes done by the other. @ text @d1 1 a1 1 $NetBSD: patch-ah,v 1.2 1999/12/18 22:10:02 christos Exp $ @ 1.2 log @Use objcopy to make the binary file and load it directly, instead of using loadfile which is less portable. [suggested by Tron] @ text @d1 1 a1 1 $NetBSD: patch-ah,v 1.1 1999/12/18 01:46:29 christos Exp $ d3 2 a4 2 --- doscmd_loader.c.orig Fri Dec 17 22:48:20 1999 +++ doscmd_loader.c Sat Dec 18 17:01:53 1999 d20 2 a21 2 -#define _PATH_DOS_KERNEL_DIR "%PREFIX%/libexec/" +#define _PATH_DOS_KERNEL_DIR "/usr/pkg/libexec/" @ 1.1 log @- Fix Makefile to work with elf - Fix RO string that got written - Add mmap() when we run ELF, because we need to map lomem - Fix uninitialized reference in di->location - Make doscmd_loader use loadfile() [Tested only with ELF] @ text @d1 1 a1 1 $NetBSD$ d3 3 a5 3 --- doscmd_loader.c.orig Fri Dec 17 20:40:25 1999 +++ doscmd_loader.c Sun Dec 5 18:11:38 1999 @@@@ -31,38 +31,52 @@@@ d11 3 a13 1 +#include "loadfile.h" a31 3 +#define COUNT (COUNT_TEXT|COUNT_DATA|COUNT_BSS) +#define LOAD (LOAD_TEXT|LOAD_DATA|LOAD_BSS) + d37 2 a38 4 int start_address; + int i; + u_long marks[MARK_MAX]; d42 4 d47 1 a47 1 + if (access(locations[i], R_OK) != -1) d55 2 a56 3 + memset(marks, 0, sizeof(marks)); + if (loadfile(locations[i], marks, COUNT) == -1) + err(1, "loadfile(COUNT)"); d65 1 a65 5 + if (brk((void *)marks[MARK_END]) == -1) + err(1, "brk"); + + if (loadfile(locations[i], marks, LOAD) == -1) + err(1, "loadfile(LOAD)"); d67 5 a71 1 + return(marks[MARK_ENTRY]); @