delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2023/01/30/13:24:37

X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f
X-Recipient: djgpp-workers AT delorie DOT com
X-Yandex-Fwd: 1
X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1675102971;
bh=b3+hlF+uvpqyhKImMvu5s2ZzNkgRj9gEWSNruwBEqmM=;
h=In-Reply-To:References:To:Subject:Message-ID:Date:From;
b=wf6SOzzhsLuwA7c1HPVT0oTojZs8oW99LVl69ImPdQr6hKVUVAFZGshVCKK1w0rU3
Ib0hvzm7tFeBLiUvcQYfBdh8y5VCtHZmWt1j4pf3WD7CmfRXbaBIoM/RlOrT0poDnh
LwrZ7uMw6ExzshP2/g8FKXl91WF707yut+4bx/h4=
Authentication-Results: myt6-bd59def10a3e.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru
Message-ID: <9e891f88-2c96-ce7b-43c7-752a9e4f1147@yandex.ru>
Date: Mon, 30 Jan 2023 23:22:44 +0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.4.2
Subject: [PATCH v2] process: add _dos_exec5()
To: djgpp-workers AT delorie DOT com
References: <efccb9e3-86b5-60b3-9afc-5066f1cfda46 AT yandex DOT ru>
From: "stsp (stsp2 AT yandex DOT ru) [via djgpp-workers AT delorie DOT com]" <djgpp-workers AT delorie DOT com>
In-Reply-To: <efccb9e3-86b5-60b3-9afc-5066f1cfda46@yandex.ru>
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

This is a multi-part message in MIME format.
--------------Kz4v7RpanWQ0iF6e9iyMegdc
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Changes in v2:
- Found parameter shadowing by higher
warning levels. So rename flags to flags2
in direct_exec_tail() which uses "flags" as
a local var.

Log msg:

Same as _dos_exec() but with "flags" as 5th arg.
The flags are passed to AL when calling int21/4Bh.
In addition to an execution mode in AL, freedos defines the loadhigh
flag 0x80.

This allows to implement loadhigh properly.
Without this patch it is possible to implement loadhigh by hands
(by linking UMBs in a changing alloc strat), but in that case UMBs
will remain linked in.
--------------Kz4v7RpanWQ0iF6e9iyMegdc
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-process-add-_dos_exec5.patch"
Content-Disposition: attachment; filename="0001-process-add-_dos_exec5.patch"
Content-Transfer-Encoding: base64

RnJvbSAzMDFlY2ZkMzU4ZWU1N2Q1MjI3MjI3MTFmY2Q3ODdjODQzMDA1NzJkIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTdGFzIFNlcmdlZXYgPHN0c3BAdXNlcnMuc291cmNl
Zm9yZ2UubmV0PgpEYXRlOiBNb24sIDIzIEphbiAyMDIzIDExOjAxOjI5ICswNTAwClN1Ympl
Y3Q6IFtQQVRDSF0gcHJvY2VzczogYWRkIF9kb3NfZXhlYzUoKQoKU2FtZSBhcyBfZG9zX2V4
ZWMoKSBidXQgd2l0aCAiZmxhZ3MiIGFzIDV0aCBhcmcuClRoZSBmbGFncyBhcmUgcGFzc2Vk
IHRvIEFMIHdoZW4gY2FsbGluZyBpbnQyMS80QmguCkluIGFkZGl0aW9uIHRvIGFuIGV4ZWN1
dGlvbiBtb2RlIGluIEFMLCBmcmVlZG9zIGRlZmluZXMgdGhlIGxvYWRoaWdoCmZsYWcgMHg4
MC4KClRoaXMgYWxsb3dzIHRvIGltcGxlbWVudCBsb2FkaGlnaCBwcm9wZXJseS4KV2l0aG91
dCB0aGlzIHBhdGNoIGl0IGlzIHBvc3NpYmxlIHRvIGltcGxlbWVudCBsb2FkaGlnaCBieSBo
YW5kcwooYnkgbGlua2luZyBVTUJzIGluIGEgY2hhbmdpbmcgYWxsb2Mgc3RyYXQpLCBidXQg
aW4gdGhhdCBjYXNlIFVNQnMKd2lsbCByZW1haW4gbGlua2VkIGluLgotLS0KIGluY2x1ZGUv
cHJvY2Vzcy5oICAgICAgICAgICAgICB8ICAzICsrKwogc3JjL2xpYmMvZG9zL3Byb2Nlc3Mv
ZG9zZXhlYy5jIHwgMjkgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIDIgZmlsZXMg
Y2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg
YS9pbmNsdWRlL3Byb2Nlc3MuaCBiL2luY2x1ZGUvcHJvY2Vzcy5oCmluZGV4IGU1NzQ2N2Q0
Li42ZDQ1ZDNiOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9wcm9jZXNzLmgKKysrIGIvaW5jbHVk
ZS9wcm9jZXNzLmgKQEAgLTIyLDYgKzIyLDkgQEAgZXh0ZXJuICJDIiB7CiAjaWZuZGVmIF9Q
T1NJWF9TT1VSQ0UKIAogaW50IF9kb3NfZXhlYyhjb25zdCBjaGFyICpwcm9ncmFtLCBjb25z
dCBjaGFyICphcmdzLCBjaGFyICpjb25zdCBfZW52cFtdLCBjb25zdCBjaGFyICpfbGNtZCk7
CitpbnQgX2Rvc19leGVjNShjb25zdCBjaGFyICpwcm9ncmFtLCBjb25zdCBjaGFyICphcmdz
LCBjaGFyICpjb25zdCBfZW52cFtdLCBjb25zdCBjaGFyICpfbGNtZCwKKyAgICB1bnNpZ25l
ZCBjaGFyIGZsYWdzKTsKKyNkZWZpbmUgSEFWRV9ET1NfRVhFQzUgMQogCiBpbnQgZXhlY2wo
Y29uc3QgY2hhciAqX3BhdGgsIGNvbnN0IGNoYXIgKl9hcmd2MCwgLi4uKTsKIGludCBleGVj
bGUoY29uc3QgY2hhciAqX3BhdGgsIGNvbnN0IGNoYXIgKl9hcmd2MCwgLi4uIC8qLCBjaGFy
ICpjb25zdCBfZW52cFtdICovKTsKZGlmZiAtLWdpdCBhL3NyYy9saWJjL2Rvcy9wcm9jZXNz
L2Rvc2V4ZWMuYyBiL3NyYy9saWJjL2Rvcy9wcm9jZXNzL2Rvc2V4ZWMuYwppbmRleCBkNTQ3
YTMxZi4uYTdjZjg4ZTYgMTAwNjQ0Ci0tLSBhL3NyYy9saWJjL2Rvcy9wcm9jZXNzL2Rvc2V4
ZWMuYworKysgYi9zcmMvbGliYy9kb3MvcHJvY2Vzcy9kb3NleGVjLmMKQEAgLTE3Myw3ICsx
NzMsNyBAQCBzaXplX3QgX19jbWRsaW5lX3N0cl9sZW4gPSBzaXplb2YoX19jbWRsaW5lX3N0
cikgLSAxOwogc3RhdGljIGludAogZGlyZWN0X2V4ZWNfdGFpbF8xKGNvbnN0IGNoYXIgKnBy
b2dyYW0sIGNvbnN0IGNoYXIgKmFyZ3MsCiAgICAgICAgICAgICAgICAgICAgY2hhciAqIGNv
bnN0IGVudnBbXSwgY29uc3QgY2hhciAqcHJveHksIGludCBsZm4sCi0gICAgICAgICAgICAg
ICAgICAgY29uc3QgY2hhciAqY21kbGluZV92YXIpCisgICAgICAgICAgICAgICAgICAgY29u
c3QgY2hhciAqY21kbGluZV92YXIsIHVuc2lnbmVkIGNoYXIgZmxhZ3MpCiB7CiAgIF9fZHBt
aV9yZWdzIHI7CiAgIHVuc2lnbmVkIGxvbmcgcHJvZ3JhbV9sYTsKQEAgLTQyOCw3ICs0Mjgs
NyBAQCBkaXJlY3RfZXhlY190YWlsXzEoY29uc3QgY2hhciAqcHJvZ3JhbSwgY29uc3QgY2hh
ciAqYXJncywKICAgcGFybS5mY2IyX29mZiA9IGZjYjJfbGEgJiAxNTsKICAgZG9zbWVtcHV0
KCZwYXJtLCBzaXplb2YocGFybSksIHBhcm1fbGEpOwogCi0gIHIueC5heCA9IDB4NEIwMDsK
KyAgci54LmF4ID0gMHg0QjAwIHwgZmxhZ3M7CiAgIHIueC5kcyA9IHByb2dyYW1fbGEgLyAx
NjsKICAgci54LmR4ID0gcHJvZ3JhbV9sYSAmIDE1OwogICByLnguZXMgPSBwYXJtX2xhIC8g
MTY7CkBAIC00NzAsNyArNDcwLDcgQEAgZGlyZWN0X2V4ZWNfdGFpbF8xKGNvbnN0IGNoYXIg
KnByb2dyYW0sIGNvbnN0IGNoYXIgKmFyZ3MsCiAKIHN0YXRpYyBpbnQgZGlyZWN0X2V4ZWNf
dGFpbCAoY29uc3QgY2hhciAqcHJvZ3JhbSwgY29uc3QgY2hhciAqYXJncywKIAkJIGNoYXIg
KiBjb25zdCBlbnZwW10sIGNvbnN0IGNoYXIgKnByb3h5LCBpbnQgbGZuLAotCQkgY29uc3Qg
Y2hhciAqY21kbGluZV92YXIpCisJCSBjb25zdCBjaGFyICpjbWRsaW5lX3ZhciwgdW5zaWdu
ZWQgY2hhciBmbGFnczIpCiB7CiAgIGludCBpLCByZXQ7CiAgIGludCBzZWwxLCBzZWwyOwpA
QCAtNTcxLDcgKzU3MSw4IEBAIHN0YXRpYyBpbnQgZGlyZWN0X2V4ZWNfdGFpbCAoY29uc3Qg
Y2hhciAqcHJvZ3JhbSwgY29uc3QgY2hhciAqYXJncywKICAgICB9CiAgIH0KIAotICByZXQg
PSBkaXJlY3RfZXhlY190YWlsXzEocHJvZ3JhbSwgYXJncywgZW52cCwgcHJveHksIGxmbiwg
Y21kbGluZV92YXIpOworICByZXQgPSBkaXJlY3RfZXhlY190YWlsXzEocHJvZ3JhbSwgYXJn
cywgZW52cCwgcHJveHksIGxmbiwgY21kbGluZV92YXIsCisgICAgICBmbGFnczIpOwogCiAg
IGlmICh3b3JrYXJvdW5kX2Rlc2NyaXB0b3JfbGVha3MpICAgLyogRnJlZSB0aGUgdW51c2Vk
IG1hcCAqLwogICB7CkBAIC02MjIsNyArNjIzLDE3IEBAIF9kb3NfZXhlYyhjb25zdCBjaGFy
ICpwcm9ncmFtLCBjb25zdCBjaGFyICphcmdzLCBjaGFyICogY29uc3QgZW52cFtdLAogICB0
YnVmX2JlZyA9IHRidWZfcHRyID0gX190YjsKICAgdGJ1Zl9sZW4gPSBfX3RiX3NpemU7CiAg
IHRidWZfZW5kID0gdGJ1Zl9iZWcgKyB0YnVmX2xlbiAtIDE7Ci0gIHJldHVybiBkaXJlY3Rf
ZXhlY190YWlsKHByb2dyYW0sIGFyZ3MsIGVudnAsIDAsIDIsIGNtZGxpbmVfdmFyKTsKKyAg
cmV0dXJuIGRpcmVjdF9leGVjX3RhaWwocHJvZ3JhbSwgYXJncywgZW52cCwgMCwgMiwgY21k
bGluZV92YXIsIDApOworfQorCitpbnQKK19kb3NfZXhlYzUoY29uc3QgY2hhciAqcHJvZ3Jh
bSwgY29uc3QgY2hhciAqYXJncywgY2hhciAqIGNvbnN0IGVudnBbXSwKKwkgIGNvbnN0IGNo
YXIgKmNtZGxpbmVfdmFyLCB1bnNpZ25lZCBjaGFyIGZsYWdzKQoreworICB0YnVmX2JlZyA9
IHRidWZfcHRyID0gX190YjsKKyAgdGJ1Zl9sZW4gPSBfX3RiX3NpemU7CisgIHRidWZfZW5k
ID0gdGJ1Zl9iZWcgKyB0YnVmX2xlbiAtIDE7CisgIHJldHVybiBkaXJlY3RfZXhlY190YWls
KHByb2dyYW0sIGFyZ3MsIGVudnAsIDAsIDIsIGNtZGxpbmVfdmFyLCBmbGFncyk7CiB9CiAK
IHN0YXRpYyBjaGFyIEdPMzJfVjJfU1RSSU5HW10gPSAiZ28zMi12Mi5leGUiOwpAQCAtODIz
LDcgKzgzNCw3IEBAIHN0YXRpYyBpbnQgZGlyZWN0X2V4ZWMoY29uc3QgY2hhciAqcHJvZ3Jh
bSwgY2hhciAqKmFyZ3YsIGNoYXIgKiplbnZwKQogICB0YnVmX2JlZyA9IHRidWZfcHRyID0g
X190YjsKICAgdGJ1Zl9sZW4gPSBfX3RiX3NpemU7CiAgIHRidWZfZW5kID0gdGJ1Zl9iZWcg
KyB0YnVmX2xlbiAtIDE7Ci0gIHJldHVybiBkaXJlY3RfZXhlY190YWlsKHByb2dyYW0sIGFy
Z3MsIGVudnAsIDAsIDIsIDApOworICByZXR1cm4gZGlyZWN0X2V4ZWNfdGFpbChwcm9ncmFt
LCBhcmdzLCBlbnZwLCAwLCAyLCAwLCAwKTsKIH0KIAogc3RhdGljIGludCBkaXJlY3RfcGVf
ZXhlYyhjb25zdCBjaGFyICpwcm9ncmFtLCBjaGFyICoqYXJndiwgY2hhciAqKmVudnApCkBA
IC05NDQsNyArOTU1LDcgQEAgc3RhdGljIGludCBkaXJlY3RfcGVfZXhlYyhjb25zdCBjaGFy
ICpwcm9ncmFtLCBjaGFyICoqYXJndiwgY2hhciAqKmVudnApCiAgICAgIGNvbnRlbnRzIG9m
IHRoZSBjb21tYW5kIGxpbmUgaW50byB0aGUgQ01ETElORSB2YXJpYWJsZS4KICAgICAgZGly
ZWN0X2V4ZWNfdGFpbCB3aWxsIHRha2UgY2FyZSBvZiB0aGUgZmluYWwgZGV0YWlscy4gKi8K
ICAgcmV0dXJuIGRpcmVjdF9leGVjX3RhaWwocHJvZ3JhbSwgYXJncywgZW52cCwgMCwgMiwK
LQkJCSAgYXJncCAtIGFyZ3MgPiBDTURMRU5fTElNSVQgPyB2YXJwIDogMCk7CisJCQkgIGFy
Z3AgLSBhcmdzID4gQ01ETEVOX0xJTUlUID8gdmFycCA6IDAsIDApOwogfQogCiBzdGF0aWMg
aW50IGdvMzJfZXhlYyhjb25zdCBjaGFyICpwcm9ncmFtLCBjaGFyICoqYXJndiwgY2hhciAq
KmVudnApCkBAIC0xMTM0LDcgKzExNDUsNyBAQCBzdGF0aWMgaW50IGdvMzJfZXhlYyhjb25z
dCBjaGFyICpwcm9ncmFtLCBjaGFyICoqYXJndiwgY2hhciAqKmVudnApCiAgICAgcGNtZCA9
IHByb3h5X2NtZGxpbmU7CiAgIH0KIAotICByZXR1cm4gZGlyZWN0X2V4ZWNfdGFpbChycGF0
aCwgcGNtZCwgZW52cCwgcHByb3h5LCBsZm4sIDApOworICByZXR1cm4gZGlyZWN0X2V4ZWNf
dGFpbChycGF0aCwgcGNtZCwgZW52cCwgcHByb3h5LCBsZm4sIDAsIDApOwogfQogCiBpbnQK
QEAgLTEyODIsNyArMTI5Myw3IEBAIF9fZG9zZXhlY19jb21tYW5kX2V4ZWMoY29uc3QgY2hh
ciAqcHJvZ3JhbSwgY2hhciAqKmFyZ3YsIGNoYXIgKiplbnZwKQogICB0YnVmX2JlZyA9IHRi
dWZfcHRyID0gX190YjsKICAgdGJ1Zl9sZW4gPSBfX3RiX3NpemU7CiAgIHRidWZfZW5kID0g
dGJ1Zl9wdHIgKyB0YnVmX2xlbiAtIDE7Ci0gIHJldHVybiBkaXJlY3RfZXhlY190YWlsKGNv
bXNwZWMsIGNtZGxpbmUsIGVudnAsIDAsIDIsIGNtZGxpbmVfdmFyKTsKKyAgcmV0dXJuIGRp
cmVjdF9leGVjX3RhaWwoY29tc3BlYywgY21kbGluZSwgZW52cCwgMCwgMiwgY21kbGluZV92
YXIsIDApOwogfQogCiBzdGF0aWMgaW50IHNjcmlwdF9leGVjKGNvbnN0IGNoYXIgKnByb2dy
YW0sIGNoYXIgKiphcmd2LCBjaGFyICoqZW52cCkKLS0gCjIuMzcuMgoK

--------------Kz4v7RpanWQ0iF6e9iyMegdc--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019