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]

symtab/1602: GDB incorrectly reads forward-referenced types from EXCL'd header files


>Number:         1602
>Category:       symtab
>Synopsis:       GDB incorrectly reads forward-referenced types from EXCL'd header files
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Thu Apr 01 19:48:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     jimb@redhat.com
>Release:        unknown-1.0
>Organization:
>Environment:

>Description:
The attached patch adds a test case to GDB that fails when compiled using GCC 3.3 and the -gstabs+ option.

The stabs from exclfwd.h in each compilation unit are identical, so the linker replaces the BINCL/EINCL pair from exclfwd2.c with an EXCL.  This is fine.

However, GDB assumes it can reuse the type produced the first time it read the EXCL'd header file's stabs.  In fact, a_t has a different definition in each compilation unit.
>How-To-Repeat:
Apply the attached patch to a GDB source tree, and then say:

make check-gdb RUNTESTFLAGS=exclfwd.exp

For me, both tests pass with Dwarf 2; the second test fails with STABS.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="jimb.gdb-testsuite-excl-forward.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="jimb.gdb-testsuite-excl-forward.patch"

MjAwNC0wNC0wMSAgSmltIEJsYW5keSAgPGppbWJAcmVkaGF0LmNvbT4KCgkqIGdkYi5zdGFicy9l
eGNsZndkLmV4cCwgZ2RiLnN0YWJzL2V4Y2xmd2QxLmMsCglnZGIuc3RhYnMvZXhjbGZ3ZDIuYywg
Z2RiLnN0YWJzL2V4Y2xmd2QuaDogTmV3IHRlc3QuCgpJbmRleDogZ2RiL3Rlc3RzdWl0ZS9nZGIu
c3RhYnMvZXhjbGZ3ZC5leHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogZ2RiL3Rlc3RzdWl0ZS9nZGIu
c3RhYnMvZXhjbGZ3ZC5leHAKZGlmZiAtTiBnZGIvdGVzdHN1aXRlL2dkYi5zdGFicy9leGNsZndk
LmV4cAoqKiogZ2RiL3Rlc3RzdWl0ZS9nZGIuc3RhYnMvZXhjbGZ3ZC5leHAJMSBKYW4gMTk3MCAw
MDowMDowMCAtMDAwMAotLS0gZ2RiL3Rlc3RzdWl0ZS9nZGIuc3RhYnMvZXhjbGZ3ZC5leHAJMSBB
cHIgMjAwNCAxOTo0MDoyOSAtMDAwMAoqKioqKioqKioqKioqKioKKioqIDAgKioqKgotLS0gMSw2
NCAtLS0tCisgIyAgIENvcHlyaWdodCAyMDA0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LgorIAorICMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vciBtb2RpZnkKKyAjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgIyB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICMgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAjIAorICMgVGhpcyBwcm9ncmFtIGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgIyBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZQorICMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAjIAorICMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKKyAjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3Qs
IHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1w
bGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLiAgCisgCisg
IyBQbGVhc2UgZW1haWwgYW55IGJ1Z3MsIGNvbW1lbnRzLCBhbmQvb3IgYWRkaXRpb25zIHRvIHRo
aXMgZmlsZSB0bzoKKyAjIGJ1Zy1nZGJAZ251Lm9yZworIAorIGlmICR0cmFjZWxldmVsIHsKKyAg
ICAgc3RyYWNlICR0cmFjZWxldmVsCisgfQorIAorICMKKyAjIHRlc3QgcnVubmluZyBwcm9ncmFt
cworICMKKyBzZXQgcHJtc19pZCAwCisgc2V0IGJ1Z19pZCAwCisgCisgc2V0IHRlc3RmaWxlIGV4
Y2xmd2QKKyBzZXQgYmluZmlsZSAke29iamRpcn0vJHtzdWJkaXJ9LyR7dGVzdGZpbGV9CisgCisg
Zm9yZWFjaCBmaWxlIHtleGNsZndkMSBleGNsZndkMn0geworICAgICBpZiB7W2dkYl9jb21waWxl
ICIke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7ZmlsZX0uYyIgIiR7ZmlsZX0ubyIgb2JqZWN0IHtkZWJ1
Z31dICE9ICIifSB7CisgICAgICAgICBnZGJfc3VwcHJlc3NfZW50aXJlX2ZpbGUgIlRlc3RjYXNl
IGNvbXBpbGUgZmFpbGVkLCBzbyBhbGwgdGVzdHMgaW4gdGhpcyBmaWxlIHdpbGwgYXV0b21hdGlj
YWxseSBmYWlsLiIKKyAgICAgfQorIH0KKyAKKyBpZiB7W2dkYl9jb21waWxlICJleGNsZndkMS5v
IGV4Y2xmd2QyLm8iICR7YmluZmlsZX0gZXhlY3V0YWJsZSB7ZGVidWd9XSAhPSAiIiB9IHsKKyAg
ICAgIGdkYl9zdXBwcmVzc19lbnRpcmVfZmlsZSAiVGVzdGNhc2UgY29tcGlsZSBmYWlsZWQsIHNv
IGFsbCB0ZXN0cyBpbiB0aGlzIGZpbGUgd2lsbCBhdXRvbWF0aWNhbGx5IGZhaWwuIgorIH0KKyAK
KyAKKyBnZGJfZXhpdAorIGdkYl9zdGFydAorIGdkYl9yZWluaXRpYWxpemVfZGlyICRzcmNkaXIv
JHN1YmRpcgorIGdkYl9sb2FkICR7YmluZmlsZX0KKyAKKyBpZiAhW3J1bnRvX21haW5dIHRoZW4g
eworICAgICBwZXJyb3IgImNvdWxkbid0IHJ1biB0byBicmVha3BvaW50IgorICAgICBjb250aW51
ZQorIH0KKyAKKyBzZXQgZW9sICJcWyBcdFxdKlxbXG5cclxdKyIKKyAKKyBnZGJfdGVzdCAicHR5
cGUgdjEiICJ0eXBlID0gc3RydWN0IGEgeyRlb2wKKyAgICAgaW50IHg7JGVvbAorICAgICBpbnQg
eTskZW9sCisgfSRlb2wiCisgCisgZ2RiX3Rlc3QgInB0eXBlIHYyIiAidHlwZSA9IHN0cnVjdCBh
IHskZW9sCisgICAgIGRvdWJsZSBjOyRlb2wKKyAgICAgZG91YmxlIGQ7JGVvbAorIH0kZW9sIgpJ
bmRleDogZ2RiL3Rlc3RzdWl0ZS9nZGIuc3RhYnMvZXhjbGZ3ZC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IGdkYi90ZXN0c3VpdGUvZ2RiLnN0YWJzL2V4Y2xmd2QuaApkaWZmIC1OIGdkYi90ZXN0c3Vp
dGUvZ2RiLnN0YWJzL2V4Y2xmd2QuaAoqKiogZ2RiL3Rlc3RzdWl0ZS9nZGIuc3RhYnMvZXhjbGZ3
ZC5oCTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAwMDAKLS0tIGdkYi90ZXN0c3VpdGUvZ2RiLnN0YWJz
L2V4Y2xmd2QuaAkxIEFwciAyMDA0IDE5OjQwOjI5IC0wMDAwCioqKioqKioqKioqKioqKgoqKiog
MCAqKioqCi0tLSAxIC0tLS0KKyB0eXBlZGVmIHN0cnVjdCBhIGFfdDsKSW5kZXg6IGdkYi90ZXN0
c3VpdGUvZ2RiLnN0YWJzL2V4Y2xmd2QxLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogZ2RiL3Rlc3Rz
dWl0ZS9nZGIuc3RhYnMvZXhjbGZ3ZDEuYwpkaWZmIC1OIGdkYi90ZXN0c3VpdGUvZ2RiLnN0YWJz
L2V4Y2xmd2QxLmMKKioqIGdkYi90ZXN0c3VpdGUvZ2RiLnN0YWJzL2V4Y2xmd2QxLmMJMSBKYW4g
MTk3MCAwMDowMDowMCAtMDAwMAotLS0gZ2RiL3Rlc3RzdWl0ZS9nZGIuc3RhYnMvZXhjbGZ3ZDEu
YwkxIEFwciAyMDA0IDE5OjQwOjI5IC0wMDAwCioqKioqKioqKioqKioqKgoqKiogMCAqKioqCi0t
LSAxLDE0IC0tLS0KKyAjaW5jbHVkZSAiZXhjbGZ3ZC5oIgorIAorIHN0cnVjdCBhIAorIHsKKyAg
IGludCB4LCB5OworIH07CisgCisgYV90IHYxOworIAorIGludAorIG1haW4gKCkKKyB7CisgfQor
IApJbmRleDogZ2RiL3Rlc3RzdWl0ZS9nZGIuc3RhYnMvZXhjbGZ3ZDIuYwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD
UyBmaWxlOiBnZGIvdGVzdHN1aXRlL2dkYi5zdGFicy9leGNsZndkMi5jCmRpZmYgLU4gZ2RiL3Rl
c3RzdWl0ZS9nZGIuc3RhYnMvZXhjbGZ3ZDIuYwoqKiogZ2RiL3Rlc3RzdWl0ZS9nZGIuc3RhYnMv
ZXhjbGZ3ZDIuYwkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCi0tLSBnZGIvdGVzdHN1aXRlL2dk
Yi5zdGFicy9leGNsZndkMi5jCTEgQXByIDIwMDQgMTk6NDA6MjkgLTAwMDAKKioqKioqKioqKioq
KioqCioqKiAwICoqKioKLS0tIDEsOCAtLS0tCisgI2luY2x1ZGUgImV4Y2xmd2QuaCIKKyAKKyBz
dHJ1Y3QgYQorIHsKKyAgIGRvdWJsZSBjLCBkOworIH07CisgCisgYV90IHYyOwo=


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