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]

threads/1576: Linux 2.6 thread status path in /proc has changed


>Number:         1576
>Category:       threads
>Synopsis:       Linux 2.6 thread status path in /proc has changed
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          patch
>Submitter-Id:   net
>Arrival-Date:   Fri Feb 27 07:58:01 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     gkarabin@pobox.com
>Release:        gdb-6.0post (i.e., from FC2 test1)
>Organization:
>Environment:
Fedora Core 2 test1 + development
>Description:
Linux kernel 2.6 no longer stores all LWP information directly under /proc/<lwp>. Instead, it's stored under /proc/<pid>/task/<lwp>. This causes problems in linux-lwp.c, when it tries to fetch lwp info from the old location.
>How-To-Repeat:
Run a threaded program under gdb, and try to single step through it. Pending signals don't get delivered.
>Fix:
Change linux-lwp.c, prototype, and caller to work in terms on ptid_t type instead of lwp pid. Try looking for the status file in both new location for 2.6, and old location (run-time compatibility with older kernels).

Could optionally do this at compile time instead of run-time, or could swap the order if minimal changes to behavior under 2.4 are wanted. I've tested this on a 2.6 kernel, but not on 2.4.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="gdb-6.0post-pre-2.6.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="gdb-6.0post-pre-2.6.patch"

ZGlmZiAtTmF1ciBnZGIrZGVqYWdudS0yMDAzMTExNy9nZGItcHJlLTIuNi9saW4tbHdwLmMgZ2Ri
K2RlamFnbnUtMjAwMzExMTcvZ2RiL2xpbi1sd3AuYwotLS0gZ2RiK2RlamFnbnUtMjAwMzExMTcv
Z2RiLXByZS0yLjYvbGluLWx3cC5jCTIwMDMtMTAtMDggMTM6MDU6NTYuMDAwMDAwMDAwIC0wNzAw
CisrKyBnZGIrZGVqYWdudS0yMDAzMTExNy9nZGIvbGluLWx3cC5jCTIwMDQtMDItMjYgMjM6MTQ6
NTguODYzNjE1MDAwIC0wODAwCkBAIC04MzcsMTIgKzgzNywxMiBAQAogICAgdGhlIGFwcHJvcHJp
YXRlIGJpdHMgaW4gUEVORElORywgYW5kIHJldHVybiAxIC0gb3RoZXJ3aXNlIHJldHVybiAwLiAg
Ki8KIAogc3RhdGljIGludAotbGluX2x3cF9oYXNfcGVuZGluZyAoaW50IHBpZCwgc2lnc2V0X3Qg
KnBlbmRpbmcsIHNpZ3NldF90ICpmbHVzaF9tYXNrKQorbGluX2x3cF9oYXNfcGVuZGluZyAocHRp
ZF90IHB0aWQsIHNpZ3NldF90ICpwZW5kaW5nLCBzaWdzZXRfdCAqZmx1c2hfbWFzaykKIHsKICAg
c2lnc2V0X3QgYmxvY2tlZCwgaWdub3JlZDsKICAgaW50IGk7CiAKLSAgbGludXhfcHJvY19wZW5k
aW5nX3NpZ25hbHMgKHBpZCwgcGVuZGluZywgJmJsb2NrZWQsICZpZ25vcmVkKTsKKyAgbGludXhf
cHJvY19wZW5kaW5nX3NpZ25hbHMgKHB0aWQsIHBlbmRpbmcsICZibG9ja2VkLCAmaWdub3JlZCk7
CiAKICAgaWYgKCFmbHVzaF9tYXNrKQogICAgIHJldHVybiAwOwpAQCAtODk0LDcgKzg5NCw3IEBA
CiAJbHAtPnN0YXR1cyA9IDA7CiAgICAgfQogCi0gIHdoaWxlIChsaW5fbHdwX2hhc19wZW5kaW5n
IChHRVRfTFdQIChscC0+cHRpZCksICZwZW5kaW5nLCBmbHVzaF9tYXNrKSkKKyAgd2hpbGUgKGxp
bl9sd3BfaGFzX3BlbmRpbmcgKGxwLT5wdGlkLCAmcGVuZGluZywgZmx1c2hfbWFzaykpCiAgICAg
ewogICAgICAgaW50IHJldDsKICAgICAgIApkaWZmIC1OYXVyIGdkYitkZWphZ251LTIwMDMxMTE3
L2dkYi1wcmUtMi42L2xpbnV4LW5hdC5oIGdkYitkZWphZ251LTIwMDMxMTE3L2dkYi9saW51eC1u
YXQuaAotLS0gZ2RiK2RlamFnbnUtMjAwMzExMTcvZ2RiLXByZS0yLjYvbGludXgtbmF0LmgJMjAw
My0wOS0xMyAxOTowNDo0NC4wMDAwMDAwMDAgLTA3MDAKKysrIGdkYitkZWphZ251LTIwMDMxMTE3
L2dkYi9saW51eC1uYXQuaAkyMDA0LTAyLTI2IDIzOjI1OjQ3LjcyMTIzODk5MyAtMDgwMApAQCAt
NjcsNyArNjcsNyBAQAogCQkJCSAgIHN0cnVjdCB0YXJnZXRfb3BzICp0YXJnZXQpOwogCiAvKiBG
aW5kIHByb2Nlc3MgUElEJ3MgcGVuZGluZyBzaWduYWwgc2V0IGZyb20gL3Byb2MvcGlkL3N0YXR1
cy4gICovCi12b2lkIGxpbnV4X3Byb2NfcGVuZGluZ19zaWduYWxzIChpbnQgcGlkLCBzaWdzZXRf
dCAqcGVuZGluZywgc2lnc2V0X3QgKmJsb2NrZWQsIHNpZ3NldF90ICppZ25vcmVkKTsKK3ZvaWQg
bGludXhfcHJvY19wZW5kaW5nX3NpZ25hbHMgKHB0aWRfdCBwdGlkLCBzaWdzZXRfdCAqcGVuZGlu
Zywgc2lnc2V0X3QgKmJsb2NrZWQsIHNpZ3NldF90ICppZ25vcmVkKTsKIAogLyogbGludXgtbmF0
IGZ1bmN0aW9ucyBmb3IgaGFuZGxpbmcgZm9yayBldmVudHMuICAqLwogZXh0ZXJuIHZvaWQgbGlu
dXhfcmVjb3JkX3N0b3BwZWRfcGlkIChpbnQgcGlkKTsKZGlmZiAtTmF1ciBnZGIrZGVqYWdudS0y
MDAzMTExNy9nZGItcHJlLTIuNi9saW51eC1wcm9jLmMgZ2RiK2RlamFnbnUtMjAwMzExMTcvZ2Ri
L2xpbnV4LXByb2MuYwotLS0gZ2RiK2RlamFnbnUtMjAwMzExMTcvZ2RiLXByZS0yLjYvbGludXgt
cHJvYy5jCTIwMDMtMTAtMDEgMTM6MzY6NTYuMDAwMDAwMDAwIC0wNzAwCisrKyBnZGIrZGVqYWdu
dS0yMDAzMTExNy9nZGIvbGludXgtcHJvYy5jCTIwMDQtMDItMjYgMjM6MTQ6NTguODY1NjE1MDAw
IC0wODAwCkBAIC02ODksNyArNjg5LDcgQEAKICAgIHRvIG1hdGNoLiAgKi8KIAogdm9pZAotbGlu
dXhfcHJvY19wZW5kaW5nX3NpZ25hbHMgKGludCBwaWQsIHNpZ3NldF90ICpwZW5kaW5nLCBzaWdz
ZXRfdCAqYmxvY2tlZCwgc2lnc2V0X3QgKmlnbm9yZWQpCitsaW51eF9wcm9jX3BlbmRpbmdfc2ln
bmFscyAocHRpZF90IHB0aWQsIHNpZ3NldF90ICpwZW5kaW5nLCBzaWdzZXRfdCAqYmxvY2tlZCwg
c2lnc2V0X3QgKmlnbm9yZWQpCiB7CiAgIEZJTEUgKnByb2NmaWxlOwogICBjaGFyIGJ1ZmZlcltN
QVhQQVRITEVOXSwgZm5hbWVbTUFYUEFUSExFTl07CkBAIC02OTgsMTAgKzY5OCwxNSBAQAogICBz
aWdlbXB0eXNldCAocGVuZGluZyk7CiAgIHNpZ2VtcHR5c2V0IChibG9ja2VkKTsKICAgc2lnZW1w
dHlzZXQgKGlnbm9yZWQpOwotICBzcHJpbnRmIChmbmFtZSwgIi9wcm9jLyVkL3N0YXR1cyIsIHBp
ZCk7CisgIHNwcmludGYgKGZuYW1lLCAiL3Byb2MvJWQvdGFzay8lbGQvc3RhdHVzIiwgcHRpZF9n
ZXRfcGlkIChwdGlkKSwgcHRpZF9nZXRfbHdwIChwdGlkKSk7CiAgIHByb2NmaWxlID0gZm9wZW4g
KGZuYW1lLCAiciIpOwogICBpZiAocHJvY2ZpbGUgPT0gTlVMTCkKLSAgICBlcnJvciAoIkNvdWxk
IG5vdCBvcGVuICVzIiwgZm5hbWUpOworICAgIHsKKyAgICAgIHNwcmludGYgKGZuYW1lLCAiL3By
b2MvJWxkL3N0YXR1cyIsIHB0aWRfZ2V0X2x3cCAocHRpZCkpOworICAgICAgcHJvY2ZpbGUgPSBm
b3BlbiAoZm5hbWUsICJyIik7CisgICAgICBpZiAocHJvY2ZpbGUgPT0gTlVMTCkKKwllcnJvciAo
IkNvdWxkIG5vdCBnZXQgc3RhdHVzIGZvciB0YXNrICVsZCIsIHB0aWRfZ2V0X2x3cCAocHRpZCkp
OworICAgIH0KIAogICB3aGlsZSAoZmdldHMgKGJ1ZmZlciwgTUFYUEFUSExFTiwgcHJvY2ZpbGUp
ICE9IE5VTEwpCiAgICAgewo=


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