Re: subtle bug in <include/asm-i386/unistd.h>

Markus F.X.J. Oberhumer (markus.oberhumer@jk.uni-linz.ac.at)
Wed, 31 Mar 1999 15:05:21 +0200 (CEST)


This message is in MIME format
--_=XFMail.1.3.p0.Linux:990331150358:24249=_
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

On 31-Mar-99 Philip Blundell wrote:
>>While extending our UPX executable packer to support Linux/i386
>>executables I've stumbled over what I think is a subtle bug in
>>the `asm volatile' statements.
>=20
> What do you think the problem is? As far as I can tell your patch should
> have=20
> no effect. You've just expressed the same thing slightly differently.
>=20
> Can you provide a test case and an example of it going wrong?

See the program below. Sorry for consuming bandwidth.

Markus

----- Markus Oberhumer <markus.oberhumer@jk.uni-linz.ac.at> -----
----- http://wildsau.idv.uni-linz.ac.at/mfx/ -----
----- 5E CB 5C 85 DE AF 9E BF E9 DA 7E 6A 39 F8 CC 67 -----

3 WARPS TO URANUS

--_=XFMail.1.3.p0.Linux:990331150358:24249=_
Content-Disposition: attachment; filename="test.c"
Content-Transfer-Encoding: base64
Content-Description: test.c
Content-Type: application/octet-stream; name=test.c; SizeOnDisk=4779

Ly8gVGVzdCBwcm9ncmFtIHRvIGRlbW9uc3RyYXRlIHRoZSBwb3NzaWJsZSA8YXNtLWkzODYvdW5p
c3RkLmg+IGJ1Zy4KLy8gTWFya3VzIEYuWC5KLiBPYmVyaHVtZXIgPG1hcmt1cy5vYmVyaHVtZXJA
amsudW5pLWxpbnouYWMuYXQ+Ci8vCi8vIENvbXBpbGUgd2l0aCAiZ2NjIC1PMiAtYyB0ZXN0LmMi
CgovLyBDaGFuZ2UgdGhpcyBkZWZpbmUgYW5kIGNvbXBhcmUgdGhlIGRpc2Fzc2VtbGJ5IG9mIHRo
ZSB0d28gdmVyc2lvbnMuCiNpZiAxCiAgIC8vIFRoaXMgaXMgdGhlIHZlcnNpb24gY3VycmVudGx5
IHVzZWQgaW4gPGFzbS1pMzg2L3VuaXN0ZC5oPgogICAvLyBZb3Ugd2lsbCBub3RpY2UgdGhhdCBz
b21lICJpbnQgJDB4ODAiIGNhbGxzIGFyZSBtaXNzaW5nICEKIyAgZGVmaW5lIEVBWCAgICIwIgoj
ZWxzZQogICAvLyBUaGlzIHNlZW1zIHRvIGdlbmVyYXRlIGNvcnJlY3QgY29kZS4KIyAgZGVmaW5l
IEVBWCAgICJhIgojZW5kaWYKCgovLyBNYW51YWxseSBkZWZpbmUgc29tZSB0eXBlcyBhbmQgY29u
c3RhbnRzIGFzIHdlIGRvbid0IHdhbnQgdG8KLy8gaW5jbHVkZSBhbnkgZmlsZSBpbiB0aGlzIHRl
c3QgcHJvZ3JhbS4KdHlwZWRlZiBpbnQgcGlkX3Q7CnR5cGVkZWYgaW50IG9mZl90Owp0eXBlZGVm
IGludCBpbnQzMl90OwojZGVmaW5lIE9fUkRPTkxZICAgICAgICAxCiNkZWZpbmUgT19XUk9OTFkg
ICAgICAgIDEKI2RlZmluZSBPX0NSRUFUICAgICAgICAgMQojZGVmaW5lIE9fVFJVTkMgICAgICAg
ICAxCiNkZWZpbmUgT19FWENMICAgICAgICAgIDEKCgovLyBzeXNjYWxscyAtIHNlZSA8YXNtLWkz
ODYvdW5pc3RkLmg+CiNkZWZpbmUgX19OUl9fZXhpdCAgICAgICAgICAgICAgX19OUl9leGl0CiNk
ZWZpbmUgX19OUl9leGl0ICAgICAgICAgICAgICAgICAxCiNkZWZpbmUgX19OUl9mb3JrICAgICAg
ICAgICAgICAgICAyCiNkZWZpbmUgX19OUl9yZWFkICAgICAgICAgICAgICAgICAzCiNkZWZpbmUg
X19OUl93cml0ZSAgICAgICAgICAgICAgICA0CiNkZWZpbmUgX19OUl9vcGVuICAgICAgICAgICAg
ICAgICA1CiNkZWZpbmUgX19OUl9jbG9zZSAgICAgICAgICAgICAgICA2CiNkZWZpbmUgX19OUl93
YWl0cGlkICAgICAgICAgICAgICA3CiNkZWZpbmUgX19OUl9jcmVhdCAgICAgICAgICAgICAgICA4
CiNkZWZpbmUgX19OUl9saW5rICAgICAgICAgICAgICAgICA5CiNkZWZpbmUgX19OUl91bmxpbmsg
ICAgICAgICAgICAgIDEwCiNkZWZpbmUgX19OUl9leGVjdmUgICAgICAgICAgICAgIDExCiNkZWZp
bmUgX19OUl9jaGRpciAgICAgICAgICAgICAgIDEyCiNkZWZpbmUgX19OUl90aW1lICAgICAgICAg
ICAgICAgIDEzCiNkZWZpbmUgX19OUl9ta25vZCAgICAgICAgICAgICAgIDE0CiNkZWZpbmUgX19O
Ul9jaG1vZCAgICAgICAgICAgICAgIDE1CiNkZWZpbmUgX19OUl9sY2hvd24gICAgICAgICAgICAg
IDE2CiNkZWZpbmUgX19OUl9icmVhayAgICAgICAgICAgICAgIDE3CiNkZWZpbmUgX19OUl9vbGRz
dGF0ICAgICAgICAgICAgIDE4CiNkZWZpbmUgX19OUl9sc2VlayAgICAgICAgICAgICAgIDE5CiNk
ZWZpbmUgX19OUl9nZXRwaWQgICAgICAgICAgICAgIDIwCgoKLy8gc3lzY2FsbCBtYWNyb3MgLSBu
b3RlIHRoYXQgdGhlIGFzc2lnbm1lbnQgdG8gYGVycm5vJyBoYXMgYmVlbiByZW1vdmVkCgojZGVm
aW5lIF9zeXNjYWxsMCh0eXBlLG5hbWUpIFwKdHlwZSBuYW1lKHZvaWQpIFwKeyBcCmxvbmcgX19y
ZXM7IFwKX19hc21fXyB2b2xhdGlsZSAoImludCAkMHg4MCIgXAogICAgICAgIDogIj1hIiAoX19y
ZXMpIFwKICAgICAgICA6IEVBWCAoX19OUl8jI25hbWUpKTsgXAppZiAoKHVuc2lnbmVkIGxvbmcp
KF9fcmVzKSA+PSAodW5zaWduZWQgbG9uZykoLTEyNSkpIFwKICAgICAgICBfX3JlcyA9IC0xOyBc
CnJldHVybiAodHlwZSkgX19yZXM7IFwKfQoKI2RlZmluZSBfc3lzY2FsbDEodHlwZSxuYW1lLHR5
cGUxLGFyZzEpIFwKdHlwZSBuYW1lKHR5cGUxIGFyZzEpIFwKeyBcCmxvbmcgX19yZXM7IFwKX19h
c21fXyB2b2xhdGlsZSAoImludCAkMHg4MCIgXAogICAgICAgIDogIj1hIiAoX19yZXMpIFwKICAg
ICAgICA6IEVBWCAoX19OUl8jI25hbWUpLCJiIiAoKGxvbmcpKGFyZzEpKSk7IFwKaWYgKCh1bnNp
Z25lZCBsb25nKShfX3JlcykgPj0gKHVuc2lnbmVkIGxvbmcpKC0xMjUpKSBcCiAgICAgICAgX19y
ZXMgPSAtMTsgXApyZXR1cm4gKHR5cGUpIF9fcmVzOyBcCn0KCiNkZWZpbmUgX3N5c2NhbGwyKHR5
cGUsbmFtZSx0eXBlMSxhcmcxLHR5cGUyLGFyZzIpIFwKdHlwZSBuYW1lKHR5cGUxIGFyZzEsdHlw
ZTIgYXJnMikgXAp7IFwKbG9uZyBfX3JlczsgXApfX2FzbV9fIHZvbGF0aWxlICgiaW50ICQweDgw
IiBcCiAgICAgICAgOiAiPWEiIChfX3JlcykgXAogICAgICAgIDogRUFYIChfX05SXyMjbmFtZSks
ImIiICgobG9uZykoYXJnMSkpLCJjIiAoKGxvbmcpKGFyZzIpKSk7IFwKaWYgKCh1bnNpZ25lZCBs
b25nKShfX3JlcykgPj0gKHVuc2lnbmVkIGxvbmcpKC0xMjUpKSBcCiAgICAgICAgX19yZXMgPSAt
MTsgXApyZXR1cm4gKHR5cGUpIF9fcmVzOyBcCn0KCiNkZWZpbmUgX3N5c2NhbGwzKHR5cGUsbmFt
ZSx0eXBlMSxhcmcxLHR5cGUyLGFyZzIsdHlwZTMsYXJnMykgXAp0eXBlIG5hbWUodHlwZTEgYXJn
MSx0eXBlMiBhcmcyLHR5cGUzIGFyZzMpIFwKeyBcCmxvbmcgX19yZXM7IFwKX19hc21fXyB2b2xh
dGlsZSAoImludCAkMHg4MCIgXAogICAgICAgIDogIj1hIiAoX19yZXMpIFwKICAgICAgICA6IEVB
WCAoX19OUl8jI25hbWUpLCJiIiAoKGxvbmcpKGFyZzEpKSwiYyIgKChsb25nKShhcmcyKSksIFwK
ICAgICAgICAgICAgICAgICAgImQiICgobG9uZykoYXJnMykpKTsgXAppZiAoKHVuc2lnbmVkIGxv
bmcpKF9fcmVzKSA+PSAodW5zaWduZWQgbG9uZykoLTEyNSkpIFwKICAgICAgICBfX3JlcyA9IC0x
OyBcCnJldHVybiAodHlwZSkgX19yZXM7IFwKfQoKCnN0YXRpYyBpbmxpbmUgX3N5c2NhbGwxKGlu
dCxjbG9zZSxpbnQsZmQpCnN0YXRpYyBpbmxpbmUgX3N5c2NhbGwxKGludCxfZXhpdCxpbnQsZXhp
dGNvZGUpCnN0YXRpYyBpbmxpbmUgX3N5c2NhbGwwKHBpZF90LGdldHBpZCkKc3RhdGljIGlubGlu
ZSBfc3lzY2FsbDMob2ZmX3QsbHNlZWssaW50LGZkLG9mZl90LG9mZnNldCxpbnQsY291bnQpCnN0
YXRpYyBpbmxpbmUgX3N5c2NhbGwzKGludCxvcGVuLGNvbnN0IGNoYXIgKixmaWxlLGludCxmbGFn
LGludCxtb2RlKQpzdGF0aWMgaW5saW5lIF9zeXNjYWxsMyhpbnQscmVhZCxpbnQsZmQsY2hhciAq
LGJ1ZixvZmZfdCxjb3VudCkKc3RhdGljIGlubGluZSBfc3lzY2FsbDEoaW50LHVubGluayxjb25z
dCBjaGFyICosZmlsZSkKCgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgovLyBtYWluCioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqLwoKdm9pZCB1cHhfbWFpbihjaGFyICphcmd2W10sIGNoYXIgKmVudnBbXSkgX19hc21fXygi
dXB4X21haW4iKTsKdm9pZCB1cHhfbWFpbihjaGFyICphcmd2W10sIGNoYXIgKmVudnBbXSkKewog
ICAgaW50IGk7CiAgICBpbnQgZmRpLCBmZG87CiAgICBpbnQzMl90IHNpemVbMl07CiAgICBzdGF0
aWMgY2hhciB0bXBuYW1lW10gPSAiL3RtcC91cHgtdXB4LXVweC11cCI7ICAvLyBmaWxlbmFtZSBt
YXggMTQgY2hhcnMKCiAgICAvLyBvcGVuIHRoZSBleGUKICAgIGZkaSA9IG9wZW4oIi9wcm9jL3Nl
bGYvZXhlIiwgT19SRE9OTFksIDApOwogICAgLy8gbm8gcHJvYyBmaWxlc3lzdGVtID8gdHJ5IHRv
IG9wZW4gYXJndlswXQogICAgaWYgKGZkaSA8IDApCiAgICAgICAgZmRpID0gb3Blbihhcmd2WzBd
LCBPX1JET05MWSwgMCk7CiAgICBpZiAoZmRpIDwgMCkKICAgICAgICBnb3RvIGVycm9yMTsKCiAg
ICAvLyBzZWVrIHRvIHN0YXJ0IG9mIGNvbXByZXNzZWQgZGF0YQogICAgaWYgKGxzZWVrKGZkaSwg
MTIzNDU2NzgsIDApIDwgMCkKICAgICAgICBnb3RvIGVycm9yMTsKICAgIC8vIFBhcmFub2lhLiBN
YWtlIHN1cmUgdGhpcyBpcyBhY3R1YWxseSBvdXIgZXhwZWN0ZWQgZXhlY3V0YWJsZS4KICAgIGlm
IChyZWFkKGZkaSwgKHZvaWQgKilzaXplLCA0KSAhPSA0IHx8IHNpemVbMF0gIT0gODc2NTQzMjEp
CiAgICAgICAgZ290byBlcnJvcjE7CgogICAgLy8gY29tcHV0ZSBuYW1lIG9mIHRlbXAgZmlsZQog
ICAgewogICAgICAgIHBpZF90IHBpZCA9IGdldHBpZCgpOwogICAgICAgIGNoYXIgKnAgPSB0bXBu
YW1lICsgc2l6ZW9mKHRtcG5hbWUpIC0gMTsKICAgICAgICBpID0gMTE7CiAgICAgICAgZG8gewog
ICAgICAgICAgICAqLS1wID0gJzAnICsgKHBpZCAlIDEwKTsKICAgICAgICAgICAgcGlkIC89IDEw
OwogICAgICAgIH0gd2hpbGUgKC0taSA+IDApOwogICAgfQoKICAgIC8vIGp1c3QgaW4gY2FzZSwg
cmVtb3ZlIHRoZSB0ZW1wb3Jhcnkgb3V0cHV0IGZpbGUKICAgIHVubGluayh0bXBuYW1lKTsKICAg
IC8vIG9wZW4gdGhlIHRlbXBvcmFyeSBvdXRwdXQgZmlsZQogICAgZmRvID0gb3Blbih0bXBuYW1l
LCBPX1dST05MWSB8IE9fQ1JFQVQgfCBPX0VYQ0wsIDA3MDApOwogICAgaWYgKGZkbyA8IDApCiAg
ICAgICAgZ290byBlcnJvcjsKCiAgICAvLyBbLi4uXQoKICAgIGV4aXQoMCk7CgplcnJvcjoKICAg
IHVubGluayh0bXBuYW1lKTsKZXJyb3IxOgogICAgLy8gTm90ZTogd2UgcmVseSBvbiB0aGUga2Vy
bmVsIHRvIGNsb3NlIGFueSBvcGVuIGZpbGVzLgogICAgZXhpdCgxMjcpOwp9CgoK

--_=XFMail.1.3.p0.Linux:990331150358:24249=_--
End of MIME message

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/