delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2022/08/02/03:07:56

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
X-Recipient: djgpp AT delorie DOT com
X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112;
h=to:subject:message-id:date:from:references:in-reply-to:mime-version
:from:to:cc;
bh=4/wKXmkmgTzlWxBsTJPTwjBizIykz6sFaVVIosdHHDM=;
b=TdFgG+AXNzuyKihdCwKscuQt7AZD5SP1wuR/dWE+OtnuI7BM2LbikG9na5B//FJP6d
35hSvkrD3B+IaEeM6dOhphlQbXUNabQLxWmYvefTNGy8FwetqgJjHb7lJVKxTpUFrWX+
sl+m3vfKAf+ci7gIbbeFKA4u8fIiggVlacnw6usw+lSEPczlKjNwk5oB+P0R6JQjOtcM
qVsTinRRPDULUB5ZrAaVuiW3CuMHxNM48bzHqppWNSal2pGIr3xbsccI/gta6pLdtqjb
p74K4OET2X/GhOVipsBz17fR/B1giwu/+iN2MM62yiro4aRx5Nf6ejTa0t5HTosy3/1S
D/1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=to:subject:message-id:date:from:references:in-reply-to:mime-version
:x-gm-message-state:from:to:cc;
bh=4/wKXmkmgTzlWxBsTJPTwjBizIykz6sFaVVIosdHHDM=;
b=7JRzy9z7jggXCHBIVnW6TOwPjVzTPw2Hnt0gaFdwfi+6cYybXqQFQBbhKTiVyFPIbL
SUBtNfC1HtxQrH+IeqzKGO1sIAvWreIzIgne6/HWDwQnc9R0J0idF4Mupcf7o46TosJu
WdrzyMSO30djC9k10bTlRpror7aSBwTO6w7kqrzRtBa+tUD7qvVL9MyIFg6OTCoRnnSb
Rh0W2oQakyxMOoBQ9P9DD20Ehx97m4qEwb/sKp+Kk2ybxP7zIFf5Q9N5J1nP1beXOcZ3
8jLj+Aerw20gaO5Z0AdiUu0RtIZhv8W6SAgMLG8PTb7meKF0FfCApTLPsnwmY/rvsJWd
CXWg==
X-Gm-Message-State: ACgBeo2TIStSCZeUj7QT4f4pBTIYr30mz/50dL6I1TNWNt1h8s5LDs7j
wb7FssQbSyFDUUGcNHzm6NLZlK/AHZblvjiJLMpkqNfDlk8=
X-Google-Smtp-Source: AA6agR4AGykRriXRQi365xX9PLbN6svXE3MhGtR103HNSlKKaJqfxPjVVNWYiCKifBFdviZDGuGmxbqG/RrQfmFGhBo=
X-Received: by 2002:adf:a1d2:0:b0:21e:bc22:f550 with SMTP id
v18-20020adfa1d2000000b0021ebc22f550mr12519477wrv.399.1659424059543; Tue, 02
Aug 2022 00:07:39 -0700 (PDT)
MIME-Version: 1.0
In-Reply-To: <414f3e66.a1.182565154ec.Coremail.lostxwind@163.com>
References: <3c11b033 DOT 75 DOT 182562fe32f DOT Coremail DOT lostxwind AT 163 DOT com> <414f3e66 DOT a1 DOT 182565154ec DOT Coremail DOT lostxwind AT 163 DOT com>
From: "Ozkan Sezer (sezeroz AT gmail DOT com) [via djgpp AT delorie DOT com]" <djgpp AT delorie DOT com>
Date: Tue, 2 Aug 2022 10:07:39 +0300
Message-ID: <CAA2C=vCKayVtwbC7xaPtcfZ2a6PDPLAa8K2diCRN52=yi9R_Og@mail.gmail.com>
Subject: Fwd: BUGREPORT: ___dpmi_get_raw_mode_switch_addr() modifies SI
register and doesn't save it
To: djgpp AT delorie DOT com
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

The 'djgpp' mailing list is more active - forwarding this to it:

---------- Forwarded message ----------
From: "lostxwind  (lostxwind AT 163 DOT com) [via djgpp-workers AT delorie DOT com]"
<djgpp-workers AT delorie DOT com>
Date: Mon, 1 Aug 2022 06:12:26 +0800 (CST)
Subject: Re:BUGREPORT: ___dpmi_get_raw_mode_switch_addr() modifies SI
register and doesn't save it
To: djgpp-workers AT delorie DOT com

Hi,

I was trying to issue a bug report on delorie official site
(https://www.delorie.com/djgpp/bugs/create.cgi) but failed as the
database is closed. So I tried to contact you through email.

BUGREPROT:

BACKGROUND:
___dpmi_get_raw_mode_switch_addr() is needed to switch modes for some
reason, instead of the __dpmi_simulate_real_mode_* class.
SYMPTOM:
Random crashes involving switch between real(/v86) mode and protected mode.
REASON:
I found variables or function parameters corrupted after calling
___dpmi_get_raw_mode_switch_addr().
After reading the source code, I believe that the implementation of
___dpmi_get_raw_mode_switch_addr() has missed a single line that saves
the ESI register.
src\libc\dpmi\api\d0306.S, line 2-line 4.

code before fix:
#define USE_EBX
#define USE_EDI
#include "dpmidefs.h"

possible fix:
#define USE_EBX
#define USE_EDI
#define USE_ESI
#include "dpmidefs.h"

Current workaround without bugfix:
Write a alternative implementation;
Or wrap the function call with asm that pushl/popl %esi.

Thanks,
crazii

- Raw text -


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