Enable client entry point support.

This commit is contained in:
Robert Nordier 1998-09-13 13:28:07 +00:00
parent 99c167bba4
commit 38c931abc7
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=39125
3 changed files with 9 additions and 5 deletions

View File

@ -13,7 +13,7 @@
# purpose.
#
# $Id:$
# $Id: btx.s,v 1.1.1.1 1998/09/12 04:29:23 rnordier Exp $
#
# Memory layout.
@ -219,7 +219,7 @@ init.9: xorl %ecx,%ecx # Zero
pushl %eax # Set ESP
pushl $0x202 # Set flags (IF set)
pushl $SEL_UCODE # Set CS
pushl $0x0 # Set EIP
pushl btx_hdr+0xc # Set EIP
pushl %ecx # Set GS
pushl %ecx # Set FS
pushl %ecx # Set DS

View File

@ -13,7 +13,7 @@
# purpose.
#
# $Id:$
# $Id: btx.s,v 1.1.1.1 1998/09/12 04:29:23 rnordier Exp $
#
# Memory layout.
@ -219,7 +219,7 @@ init.9: xorl %ecx,%ecx # Zero
pushl %eax # Set ESP
pushl $0x202 # Set flags (IF set)
pushl $SEL_UCODE # Set CS
pushl $0x0 # Set EIP
pushl btx_hdr+0xc # Set EIP
pushl %ecx # Set GS
pushl %ecx # Set FS
pushl %ecx # Set DS

View File

@ -26,7 +26,7 @@
#ifndef lint
static const char rcsid[] =
"$Id:$";
"$Id: btxld.c,v 1.1.1.1 1998/09/12 06:49:48 rnordier Exp $";
#endif /* not lint */
#include <sys/types.h>
@ -100,6 +100,8 @@ static unsigned format; /* Output format */
static uint32_t centry; /* Client entry address */
static uint32_t lentry; /* Loader entry address */
static int Eflag; /* Client entry option */
static int quiet; /* Inhibit warnings */
static int verbose; /* Display information */
@ -142,6 +144,7 @@ main(int argc, char *argv[])
break;
case 'E':
centry = optaddr(optarg);
Eflag = 1;
break;
case 'e':
lentry = optaddr(optarg);
@ -239,6 +242,7 @@ btxld(const char *iname)
cwr++;
}
btx.btx_pgctl -= cwr;
btx.btx_entry = Eflag ? centry : ihdr.entry;
if (snprintf(name, sizeof(name), "%s.tmp", oname) >= sizeof(name))
errx(2, "%s: Filename too long", oname);
if ((fdo = open(name, O_CREAT | O_TRUNC | O_WRONLY, 0666)) == -1)