This is the mail archive of the gdb-prs@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gdb/745: 16 bit real-mode for the i386


>Number:         745
>Category:       gdb
>Synopsis:       16 bit real-mode for the i386
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Fri Sep 27 13:48:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     ac131313@redhat.com
>Release:        unknown-1.0
>Organization:
>Environment:

>Description:
See:
http://sources.redhat.com/ml/gdb-patches/2002-08/msg00995.html
- needs doco
- needs a testcase

--

Hello,

The attached modifies i386-tdep.c so that there is a ``set i386 real-mode'' command (doco to go).

When real-mode is enabled, GDB computes the ``20 bit'' ``stop address'' (aka PC but not to be confused with $pc ... :-) from both the $cs and $pc registers.  That way, core GDB sees a cannonical PC address that (regardless of $cs) will match a ``20 bit'' breakpoint address.

Thoughts?

I'm desperatly trying to come up with a test-case mind.  This is a rewrite of an old old patch (that hacked breakpoint.c) and the original testcase has been lost :-(

Andrew


>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="diffs"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="diffs"

MjAwMi0wOC0yOSAgQW5kcmV3IENhZ25leSAgPGNhZ25leUByZWRoYXQuY29tPgoKCSogaTM4Ni10
ZGVwLmggKENTX1JFR05VTSk6IERlZmluZS4KCSogaTM4Ni10ZGVwLmMgKF9pbml0aWFsaXplX2kz
ODZfdGRlcCk6IEFkZCBgc2V0L3Nob3cgaTM4NgoJcmVhbC1tb2RlJyBjb21tYW5kLgoJKGkzODZf
d3JpdGVfcGMpOiBOZXcgZnVuY3Rpb24uCgkoaTM4Nl9yZWFkX3BjKTogTmV3IGZ1bmN0aW9uLgoJ
KGkzODZfZ2RiYXJjaF9pbml0KTogU2V0IHJlYWRfcGMgYW5kIHdyaXRlX3BjLgoJKHNldF9pMzg2
X2NtZCk6IE5ldyBmdW5jdGlvbi4KCShzaG93X2kzODZfY21kKTogTmV3IGZ1bmN0aW9uLgoKSW5k
ZXg6IGkzODYtdGRlcC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvaTM4
Ni10ZGVwLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuODUKZGlmZiAtdSAtcjEuODUgaTM4Ni10
ZGVwLmMKLS0tIGkzODYtdGRlcC5jCTI2IEF1ZyAyMDAyIDE4OjM1OjI1IC0wMDAwCTEuODUKKysr
IGkzODYtdGRlcC5jCTI5IEF1ZyAyMDAyIDIwOjIyOjEyIC0wMDAwCkBAIC0xMjIzLDYgKzEyMjMs
NDAgQEAKICAgICAgdG8gdGhlIGV4dGVuZGVkIGZsb2F0aW5nLXBvaW50IGZvcm1hdCB1c2VkIGJ5
IHRoZSBGUFUuICAqLwogICBjb252ZXJ0X3R5cGVkX2Zsb2F0aW5nIChmcm9tLCB0eXBlLCB0bywg
YnVpbHRpbl90eXBlX2kzODdfZXh0KTsKIH0KKwwKKy8qIFRoZSBpMzg2IGhhcyBhIG51bWJlciBv
ZiBhZGRyZXNzaW5nIG1vZGVzIC0tIGluIGBgcmVhbCBtb2RlJycsIGEKKyAgIHRleHQgYWRkcmVz
cyBpcyBjb21wdXRlZCB1c2luZyB0aGUgQ1MgYW5kIHRoZSBQQy4gIFRoZSBiZWxvdworICAgcGVy
Zm9ybXMgdGhpcyBjb21wdXRhdGlvbiBzbyB0aGF0IEdEQiBzZWVzIGEgY2Fubm9uaWNhbCBgYHN0
b3AKKyAgIGFkZHJlc3MnJyAoUEMpLiAgVGhlIGJyZWFrcG9pbnQgY29kZSBuZWVkcyB0aGlzIHNv
IHRoYXQgaXQgY2FuCisgICBjb3JyZWN0bHkgbWF0Y2ggdGhlIGBgc3RvcCBhZGRyZXNzJycgYWdh
aW5zdCB0aGUgYnJlYWtwb2ludAorICAgYWRkcmVzcy4uICBUaGUgaWEzMiBtYW51YWwgYWxzbyB0
YWxrcyBhYm91dCBvcHRpb25hbGx5IHRydW5jYXRpbmcKKyAgIGFuIGFkZHJlc3MgdG8gMjAgYml0
cy4gIFRha2UgdGhlIGVhc3kgb3B0aW9uIC0gZG9uJ3QgdHJ1bmNhdGUuICAqLworCitzdGF0aWMg
aW50IGkzODZfcmVhbF9tb2RlX3A7CisKK3N0YXRpYyBDT1JFX0FERFIKK2kzODZfcmVhZF9wYyAo
cHRpZF90IHB0aWQpCit7CisgIENPUkVfQUREUiBwYyA9IHJlYWRfcmVnaXN0ZXJfcGlkIChQQ19S
RUdOVU0sIHB0aWQpOworICBpZiAoaTM4Nl9yZWFsX21vZGVfcCkKKyAgICB7CisgICAgICBDT1JF
X0FERFIgY3MgPSByZWFkX3JlZ2lzdGVyX3BpZCAoQ1NfUkVHTlVNLCBwdGlkKTsKKyAgICAgIHBj
ID0gcGMgKyAoY3MgPDwgNCk7CisgICAgfQorICByZXR1cm4gcGM7Cit9CisKK3N0YXRpYyB2b2lk
CitpMzg2X3dyaXRlX3BjIChDT1JFX0FERFIgcGMsIHB0aWRfdCBwdGlkKQoreworICBpZiAoaTM4
Nl9yZWFsX21vZGVfcCkKKyAgICB7CisgICAgICBDT1JFX0FERFIgY3MgPSByZWFkX3JlZ2lzdGVy
X3BpZCAoQ1NfUkVHTlVNLCBwdGlkKTsKKyAgICAgIHBjID0gcGMgLSAoY3MgPDwgNCk7CisgICAg
fQorICB3cml0ZV9yZWdpc3Rlcl9waWQgKFBDX1JFR05VTSwgcGMsIHB0aWQpOworfQorCiAMICAg
ICAKIAogI2lmZGVmIFNUQVRJQ19UUkFOU0ZPUk1fTkFNRQpAQCAtMTQ3NCw2ICsxNTA4LDggQEAK
ICAgc2V0X2dkYmFyY2hfcGNfcmVnbnVtIChnZGJhcmNoLCA4KTsKICAgc2V0X2dkYmFyY2hfcHNf
cmVnbnVtIChnZGJhcmNoLCA5KTsKICAgc2V0X2dkYmFyY2hfZnAwX3JlZ251bSAoZ2RiYXJjaCwg
MTYpOworICBzZXRfZ2RiYXJjaF9yZWFkX3BjIChnZGJhcmNoLCBpMzg2X3JlYWRfcGMpOworICBz
ZXRfZ2RiYXJjaF93cml0ZV9wYyAoZ2RiYXJjaCwgaTM4Nl93cml0ZV9wYyk7CiAKICAgLyogVXNl
IHRoZSAiZGVmYXVsdCIgcmVnaXN0ZXIgbnVtYmVyaW5nIHNjaGVtZSBmb3Igc3RhYnMgYW5kIENP
RkYuICAqLwogICBzZXRfZ2RiYXJjaF9zdGFiX3JlZ190b19yZWdudW0gKGdkYmFyY2gsIGkzODZf
c3RhYl9yZWdfdG9fcmVnbnVtKTsKQEAgLTE1OTYsOSArMTYzMiwzNyBAQAogLyogUHJvdmlkZSBh
IHByb3RvdHlwZSB0byBzaWxlbmNlIC1XbWlzc2luZy1wcm90b3R5cGVzLiAgKi8KIHZvaWQgX2lu
aXRpYWxpemVfaTM4Nl90ZGVwICh2b2lkKTsKIAorLyogRHVtbXkgZnVuY3Rpb24uICAqLworc3Rh
dGljIHZvaWQKK3NldF9pMzg2X2NtZCAoY2hhciAqYXJncywgaW50IGZyb21fdHR5KQoreworfQor
CitzdGF0aWMgdm9pZAorc2hvd19pMzg2X2NtZCAoY2hhciAqYXJncywgaW50IGZyb21fdHR5KQor
eworfQorCisKIHZvaWQKIF9pbml0aWFsaXplX2kzODZfdGRlcCAodm9pZCkKIHsKKyAgc3RhdGlj
IHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICpzZXRfaTM4Nl9jbWRsaXN0OworICBzdGF0aWMgc3Ry
dWN0IGNtZF9saXN0X2VsZW1lbnQgKnNob3dfaTM4Nl9jbWRsaXN0OworICBzdHJ1Y3QgY21kX2xp
c3RfZWxlbWVudCAqdG1wY21kOworCisgIC8qIEFkZCBhbiBpMzg2IHNldC9zaG93IHByZWZpeC4g
ICovCisgIGFkZF9wcmVmaXhfY21kICgiaTM4NiIsIGNsYXNzX21haW50ZW5hbmNlLCBzZXRfaTM4
Nl9jbWQsICJcCitTZXQgaTM4NiBzcGVjaWZpYyB2YXJpYWJsZXNcblwKK0NvbmZpZ3VyZSB2YXJp
b3VzIGkzODYgc3BlY2lmaWMgdmFyaWFibGVzIHN1Y2ggYXMgcmVhbC1tb2RlIiwKKwkJICAmc2V0
X2kzODZfY21kbGlzdCwgInNldCBpMzg2ICIsCisJCSAgMC8qYWxsb3ctdW5rbm93biovLCAmc2V0
bGlzdCk7CisgIGFkZF9wcmVmaXhfY21kICgiaTM4NiIsIGNsYXNzX21haW50ZW5hbmNlLCBzaG93
X2kzODZfY21kLCAiXAorU2hvdyBpMzg2IHNwZWNpZmljIHZhcmlhYmxlc1xuXAorQ29uZmlndXJl
IHZhcmlvdXMgaTM4NiBzcGVjaWZpYyB2YXJpYWJsZXMgc3VjaCBhcyByZWFsLW1vZGUiLAorCQkg
ICZzaG93X2kzODZfY21kbGlzdCwgInNob3cgaTM4NiAiLAorCQkgIDAvKmFsbG93LXVua25vd24q
LywgJnNob3dsaXN0KTsKKwogICByZWdpc3Rlcl9nZGJhcmNoX2luaXQgKGJmZF9hcmNoX2kzODYs
IGkzODZfZ2RiYXJjaF9pbml0KTsKIAogICB0bV9wcmludF9pbnNuID0gZ2RiX3ByaW50X2luc25f
aTM4NjsKQEAgLTE2NDMsNCArMTcwNywxMSBAQAogCQkJICBpMzg2X2dvMzJfaW5pdF9hYmkpOwog
ICBnZGJhcmNoX3JlZ2lzdGVyX29zYWJpIChiZmRfYXJjaF9pMzg2LCBHREJfT1NBQklfTkVUV0FS
RSwKIAkJCSAgaTM4Nl9ud19pbml0X2FiaSk7CisKKyAgLyogQWRkIHJlYWwtbW9kZS4gICovCisg
IGFkZF9zZXRzaG93X2Jvb2xlYW5fY21kICgicmVhbC1tb2RlIiwgbm9fY2xhc3MsICZpMzg2X3Jl
YWxfbW9kZV9wLCJcCitTZXQgcmVhbCBtb2RlICgxNi1iaXQgb3BlcmFuZHMvYWRkcmVzc2VzKSBv
cGVyYXRpb24uIiwiXAorU2hvdyByZWFsIG1vZGUgKDE2LWJpdCBvcGVyYW5kcy9hZGRyZXNzZXMp
IG9wZXJhdGlvbi4iLAorCQkJICAgTlVMTCwgTlVMTCwgJnNldF9pMzg2X2NtZGxpc3QsICZzaG93
X2kzODZfY21kbGlzdCk7CisKIH0KSW5kZXg6IGkzODYtdGRlcC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IC9jdnMvc3JjL3NyYy9nZGIvaTM4Ni10ZGVwLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
MTMKZGlmZiAtdSAtcjEuMTMgaTM4Ni10ZGVwLmgKLS0tIGkzODYtdGRlcC5oCTIwIEF1ZyAyMDAy
IDE3OjU5OjUwIC0wMDAwCTEuMTMKKysrIGkzODYtdGRlcC5oCTI5IEF1ZyAyMDAyIDIwOjIyOjEy
IC0wMDAwCkBAIC03Nyw2ICs3NywxMSBAQAogICBpbnQgc2Nfc3Bfb2Zmc2V0OwogfTsKIAorLyog
Q29kZSBzZWdtZW50IHJlZ2lzdGVyLiAgKi8KKworI2RlZmluZSBDU19SRUdOVU0gMTAKKworCiAv
KiBGbG9hdGluZy1wb2ludCByZWdpc3RlcnMuICAqLwogCiAjZGVmaW5lIEZQVV9SRUdfUkFXX1NJ
WkUgMTAK


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]