Mail Archives: djgpp/2014/04/10/21:15:07
X-Authentication-Warning: | delorie.com: mail set sender to djgpp-bounces using -f
|
From: | "Rod Pemberton" <dont_use_email AT xnothavet DOT cqm>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | Is this a bug in crt1.c?
|
Date: | Thu, 10 Apr 2014 21:01:57 -0400
|
Organization: | Aioe.org NNTP Server
|
Lines: | 21
|
Message-ID: | <op.xd4ntjft6zenlw@localhost>
|
NNTP-Posting-Host: | CNsg4fVcCsvs3UaOgZtQCw.user.speranza.aioe.org
|
Mime-Version: | 1.0
|
X-Complaints-To: | abuse AT aioe DOT org
|
User-Agent: | Opera Mail/12.16 (Linux)
|
X-Notice: | Filtered by postfilter v. 0.8.2
|
Bytes: | 1677
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
Reply-To: | djgpp AT delorie DOT com
|
The following two lines are in crt1.c (in libc and pmode directories).
movedata(_stubinfo->psp_selector, 0x2c, ds, (int)&env_selector, 2);
movedata(env_selector, 0, ds, (int)dos_environ, _stubinfo->env_size);
To me, this appears to be an error. But, I'm assuming that I'm missing
something since DJGPP works. But, I haven't determined why this works.
In the first line, env_selector appears to be copied from the DOS PSP
where it's supposedly a real-mode segment. Then, env_selector is used
immediately in the second line where it's used as a protected-mode
selector.
Is there a hidden conversion from RM segment to PM selector somewhere?
Is there code somewhere else which convert the value within the PSP to
a selector? Or, does movedata() convert segments to selectors? AIUI,
movedata() only works with selectors. What have I missed here?
Rod Pemberton
- Raw text -