Enable client entry point support.
This commit is contained in:
parent
99c167bba4
commit
38c931abc7
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=39125
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user