From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16399 invoked by alias); 6 Oct 2008 20:09:24 -0000 Received: (qmail 16390 invoked by uid 22791); 6 Oct 2008 20:09:23 -0000 X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.4) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 06 Oct 2008 20:08:48 +0000 Received: (qmail 6458 invoked from network); 6 Oct 2008 20:08:44 -0000 Received: from unknown (HELO orlando.local) (pedro@127.0.0.2) by mail.codesourcery.com with ESMTPA; 6 Oct 2008 20:08:44 -0000 From: Pedro Alves To: Michael Snyder Subject: Re: [RFA] Reverse Debugging, 3/5 Date: Mon, 06 Oct 2008 20:09:00 -0000 User-Agent: KMail/1.9.9 Cc: "gdb-patches@sourceware.org" , Daniel Jacobowitz , teawater References: <48E3CD0B.8020003@vmware.com> In-Reply-To: <48E3CD0B.8020003@vmware.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Content-Disposition: inline Message-Id: <200810062109.16785.pedro@codesourcery.com> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-10/txt/msg00155.txt.bz2 SGkgTWljaGFlbCwKCkhhdmVuJ3QgcmVhZCB0aGUgb3RoZXIgcGF0Y2hlcyB5 ZXQsIGJ1dCBJJ2xsIGdvIGFoZWFkIGFuZCBnaXZlCnNvbWUgY29tbWVudHMg b24gdGhpcyBvbmUuCgpPbiBXZWRuZXNkYXkgMDEgT2N0b2JlciAyMDA4IDIw OjE4OjM1LCBNaWNoYWVsIFNueWRlciB3cm90ZToKPiBJbmRleDogaW5mcnVu LmMKPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gUkNTIGZpbGU6IC9jdnMv c3JjL3NyYy9nZGIvaW5mcnVuLmMsdgo+IHJldHJpZXZpbmcgcmV2aXNpb24g MS4zMjIKPiByZXRyaWV2aW5nIHJldmlzaW9uIDEuMzIyLjIuMgo+IGRpZmYg LXUgLXAgLXIxLjMyMiAtcjEuMzIyLjIuMgo+IC0tLSBpbmZydW4uY8KgwqDC oMKgMjIgU2VwIDIwMDggMTU6MjY6NTMgLTAwMDDCoMKgwqDCoMKgwqAxLjMy Mgo+ICsrKyBpbmZydW4uY8KgwqDCoMKgMzAgU2VwIDIwMDggMjM6NTA6NTEg LTAwMDDCoMKgwqDCoMKgwqAxLjMyMi4yLjIKPiBAQCAtMTE5MywxMSArMTE5 MywxNyBAQCBwcm9jZWVkIChDT1JFX0FERFIgYWRkciwgZW51bSB0YXJnZXRf c2lnCj4gwqAKCj4gwqAgwqBpZiAoYWRkciA9PSAoQ09SRV9BRERSKSAtMSkK PiDCoCDCoCDCoHsKPiAtIMKgIMKgIMKgaWYgKHBjID09IHN0b3BfcGMgJiYg YnJlYWtwb2ludF9oZXJlX3AgKHBjKSkKPiArIMKgIMKgIMKgaWYgKHBjID09 IHN0b3BfcGMgJiYgYnJlYWtwb2ludF9oZXJlX3AgKHBjKSAKPiArwqDCoMKg wqDCoMKgwqAgwqAmJiB0YXJnZXRfZ2V0X2V4ZWN1dGlvbl9kaXJlY3Rpb24g KCkgIT0gRVhFQ19SRVZFUlNFKQoKSG1tbSwgc28gRVhFQ19FUlJPUiBpcyBh Y2NlcHRlZCBoZXJlLiAgV2hhdCBleGFjdGx5IGlzCkVYRUNfRVJST1IgdXNl ZnVsIGZvcj8gIFdpbGwgdGhlcmUgYmUgYSB0YXJnZXQgdGhhdCBjYW4ndCBn bwplaXRoZXIgZGlyZWN0aW9uPyAgOi0pICBTaG91bGRuJ3QgZmFpbGluZyB0 byBmaW5kIG9uZXMKZGlyZWN0aW9uIGFsd2F5cyBiZSBhbiBlcnJvciAoaGVu Y2UgYW4gZXJyb3IgY2FsbCBmcm9tIGluc2lkZQp0YXJnZXRfZ2V0X2V4ZWN1 dGlvbl9kaXJlY3Rpb24sIG9yIHNvbWV0aGluZyBhbGlrZSkuCgo+IMKgLyog VGhlIFBUSUQgd2UnbGwgZG8gYSB0YXJnZXRfd2FpdCBvbi4qLwo+IEBAIC0y MTQxLDYgKzIxNDksMTIgQEAgaGFuZGxlX2luZmVyaW9yX2V2ZW50IChzdHJ1 Y3QgZXhlY3V0aW9uXwo+IMKgIMKgIMKgIMKgZWNzLT5ldmVudF90aHJlYWQt PnN0b3Bfc2lnbmFsID0gZWNzLT53cy52YWx1ZS5zaWc7Cj4gwqAgwqAgwqAg wqBicmVhazsKPiDCoAo+ICsgwqAgwqBjYXNlIFRBUkdFVF9XQUlUS0lORF9O T19ISVNUT1JZOgo+ICsgwqAgwqAgwqAvKiBSZXZlcnNlIGV4ZWN1dGlvbjog dGFyZ2V0IHJhbiBvdXQgb2YgaGlzdG9yeSBpbmZvLiDCoCovCj4gKyDCoCDC oCDCoHByaW50X3N0b3BfcmVhc29uIChOT19ISVNUT1JZLCAwKTsKPiArIMKg IMKgIMKgc3RvcF9zdGVwcGluZyAoZWNzKTsKPiArIMKgIMKgIMKgcmV0dXJu Owo+ICsKPiDCoCDCoCDCoCDCoC8qIFdlIGhhZCBhbiBldmVudCBpbiB0aGUg aW5mZXJpb3IsIGJ1dCB3ZSBhcmUgbm90IGludGVyZXN0ZWQKPiDCoCDCoCDC oCDCoCDCoCBpbiBoYW5kbGluZyBpdCBhdCB0aGlzIGxldmVsLiBUaGUgbG93 ZXIgbGF5ZXJzIGhhdmUgYWxyZWFkeQo+IMKgIMKgIMKgIMKgIMKgIGRvbmUg d2hhdCBuZWVkcyB0byBiZSBkb25lLCBpZiBhbnl0aGluZy4KPiBAQCAtMjg2 MSw2ICsyODc1LDE3IEBAIGluZnJ1bjogQlBTVEFUX1dIQVRfU0VUX0xPTkdK TVBfUkVTVU1FICgKPiDCoMKgwqDCoMKgwqDCoMKgIMKgIMKga2VlcF9nb2lu ZyAoZWNzKTsKPiDCoMKgwqDCoMKgwqDCoMKgIMKgIMKgcmV0dXJuOwo+IMKg wqDCoMKgwqDCoMKgwqAgwqB9Cgo+ICvCoMKgwqDCoMKgwqDCoGlmIChzdG9w X3BjID09IGVjcy0+c3RvcF9mdW5jX3N0YXJ0ICYmCj4gK8KgwqDCoMKgwqDC oMKgIMKgIMKgdGFyZ2V0X2dldF9leGVjdXRpb25fZGlyZWN0aW9uICgpID09 IEVYRUNfUkVWRVJTRSkKClNwbGl0IG5ldyBsaW5lIGJlZm9yZSB0aGUgb3Bl cmF0b3IsIG5vdCBhZnRlcjoKCiAgaWYgKHN0b3BfcGMgPT0gZWNzLT5zdG9w X2Z1bmNfc3RhcnQKICAgICAgJiYgdGFyZ2V0X2dldF9leGVjdXRpb25fZGly ZWN0aW9uICgpID09IEVYRUNfUkVWRVJTRSkKCkhlcmUgYW5kIGVsc2V3aGVy ZS4KCj4gwqAgwqAgwqAgwqBjYXNlIEJQU1RBVF9XSEFUX0NIRUNLX1NITElC UzoKPiBAQCAtMzAyNiwxMCArMzA1MSwyNSBAQCBpbmZydW46IEJQU1RBVF9X SEFUX1NFVF9MT05HSk1QX1JFU1VNRSAoCj4gwqAgwqAgwqAgwqAmJiBzdG9w X3BjIDwgZWNzLT5ldmVudF90aHJlYWQtPnN0ZXBfcmFuZ2VfZW5kKQo+IMKg IMKgIMKgewo+IMKgIMKgIMKgIMKgaWYgKGRlYnVnX2luZnJ1bikKPiAtwqDC oMKgwqDCoMKgwqAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLCAi aW5mcnVuOiBzdGVwcGluZyBpbnNpZGUgcmFuZ2UgWzB4JXMtMHglc11cbiIs Cj4gK8KgwqDCoMKgwqDCoMKgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3Rk bG9nLCAiaW5mcnVuOiBzdGVwcGluZyBpbnNpZGUgcmFuZ2UgWzB4JXMtMHgl c11cbiIsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIMKgIMKgcGFkZHJfbnogKGVjcy0+ZXZlbnRfdGhyZWFk LT5zdGVwX3JhbmdlX3N0YXJ0KSwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgwqAgwqBwYWRkcl9ueiAoZWNz LT5ldmVudF90aHJlYWQtPnN0ZXBfcmFuZ2VfZW5kKSk7Cj4gLSDCoCDCoCDC oGtlZXBfZ29pbmcgKGVjcyk7Cj4gKwo+ICsgwqAgwqAgwqAvKiBXaGVuIHN0 ZXBwaW5nIGJhY2t3YXJkLCBzdG9wIGF0IGJlZ2lubmluZyBvZiBsaW5lIHJh bmdlCj4gK8KgwqDCoMKgwqDCoMKgICh1bmxlcyBpdCdzIHRoZSBmdW5jdGlv biBlbnRyeSBwb2ludCwgaW4gd2hpY2ggY2FzZQoKdW5sZXNzCgo+ICvCoMKg wqDCoMKgwqDCoCBrZWVwIGdvaW5nIGJhY2sgdG8gdGhlIGNhbGwgcG9pbnQp LiDCoCovCj4gKyDCoCDCoCDCoGlmIChzdG9wX3BjID09IGVjcy0+ZXZlbnRf dGhyZWFkLT5zdGVwX3JhbmdlX3N0YXJ0ICYmCj4gK8KgwqDCoMKgwqDCoMKg IMKgc3RvcF9wYyAhPSBlY3MtPnN0b3BfZnVuY19zdGFydCAmJgo+ICvCoMKg wqDCoMKgwqDCoCDCoHRhcmdldF9nZXRfZXhlY3V0aW9uX2RpcmVjdGlvbiAo KSA9PSBFWEVDX1JFVkVSU0UpCj4gK8KgwqDCoMKgwqDCoMKgewo+ICvCoMKg wqDCoMKgwqDCoCDCoGVjcy0+ZXZlbnRfdGhyZWFkLT5zdG9wX3N0ZXAgPSAx Owo+ICvCoMKgwqDCoMKgwqDCoCDCoHByaW50X3N0b3BfcmVhc29uIChFTkRf U1RFUFBJTkdfUkFOR0UsIDApOwo+ICvCoMKgwqDCoMKgwqDCoCDCoHN0b3Bf c3RlcHBpbmcgKGVjcyk7Cj4gK8KgwqDCoMKgwqDCoMKgfQoKPiArIMKgIMKg IMKgZWxzZQo+ICvCoMKgwqDCoMKgwqDCoHsKPiArwqDCoMKgwqDCoMKgwqAg wqBrZWVwX2dvaW5nIChlY3MpOwo+ICvCoMKgwqDCoMKgwqDCoH0KClVubmVl ZGVkIGJyYWNlcy4KCj4gwqAgwqAgwqAgwqByZXR1cm47Cj4gwqAgwqAgwqB9 Cj4gwqAKPiBAQCAtMzExNiwxMCArMzE1NiwyOCBAQCBpbmZydW46IEJQU1RB VF9XSEFUX1NFVF9MT05HSk1QX1JFU1VNRSAoCj4gwqAKPiDCoCDCoCDCoCDC oGlmIChlY3MtPmV2ZW50X3RocmVhZC0+c3RlcF9vdmVyX2NhbGxzID09IFNU RVBfT1ZFUl9BTEwpCj4gwqDCoMKgwqDCoMKgwqDCoHsKPiAtwqDCoMKgwqDC oMKgwqAgwqAvKiBXZSdyZSBkb2luZyBhICJuZXh0Iiwgc2V0IGEgYnJlYWtw b2ludCBhdCBjYWxsZWUncyByZXR1cm4KPiAtwqDCoMKgwqDCoMKgwqAgwqAg wqAgYWRkcmVzcyAodGhlIGFkZHJlc3MgYXQgd2hpY2ggdGhlIGNhbGxlciB3 aWxsCj4gLcKgwqDCoMKgwqDCoMKgIMKgIMKgIHJlc3VtZSkuIMKgKi8KPiAt wqDCoMKgwqDCoMKgwqAgwqBpbnNlcnRfc3RlcF9yZXN1bWVfYnJlYWtwb2lu dF9hdF9jYWxsZXIgKGdldF9jdXJyZW50X2ZyYW1lICgpKTsKPiArwqDCoMKg wqDCoMKgwqAgwqAvKiBXZSdyZSBkb2luZyBhICJuZXh0Ii4KPiArCj4gK8Kg wqDCoMKgwqDCoMKgIMKgIMKgIE5vcm1hbCAoZm9yd2FyZCkgZXhlY3V0aW9u OiBzZXQgYSBicmVha3BvaW50IGF0IHRoZQo+ICvCoMKgwqDCoMKgwqDCoCDC oCDCoCBjYWxsZWUncyByZXR1cm4gYWRkcmVzcyAodGhlIGFkZHJlc3MgYXQg d2hpY2ggdGhlIGNhbGxlcgo+ICvCoMKgwqDCoMKgwqDCoCDCoCDCoCB3aWxs IHJlc3VtZSkuCj4gKwo+ICvCoMKgwqDCoMKgwqDCoCDCoCDCoCBSZXZlcnNl IChiYWNrd2FyZCkgZXhlY3V0aW9uLiDCoHNldCB0aGUgc3RlcC1yZXN1bWUK PiArwqDCoMKgwqDCoMKgwqAgwqAgwqAgYnJlYWtwb2ludCBhdCB0aGUgc3Rh cnQgb2YgdGhlIGZ1bmN0aW9uIHRoYXQgd2UganVzdAo+ICvCoMKgwqDCoMKg wqDCoCDCoCDCoCBzdGVwcGVkIGludG8gKGJhY2t3YXJkcyksIGFuZCBjb250 aW51ZSB0byB0aGVyZS4gwqBXaGVuIHdlCj4gK8KgwqDCoMKgwqDCoMKgIMKg IMKgIGdldCB0aGVyZSwgd2UnbGwgbmVlZCB0byBzaW5nbGUtc3RlcCBiYWNr IHRvIHRoZQo+ICvCoMKgwqDCoMKgwqDCoCDCoCDCoCBjYWxsZXIuIMKgKi8K PiArCj4gK8KgwqDCoMKgwqDCoMKgIMKgaWYgKHRhcmdldF9nZXRfZXhlY3V0 aW9uX2RpcmVjdGlvbiAoKSA9PSBFWEVDX1JFVkVSU0UpCj4gK8KgwqDCoMKg wqDCoMKgIMKgIMKgewo+ICvCoMKgwqDCoMKgwqDCoCDCoCDCoCDCoHN0cnVj dCBzeW10YWJfYW5kX2xpbmUgc3Jfc2FsOwo+ICvCoMKgwqDCoMKgwqDCoCDC oCDCoCDCoGluaXRfc2FsICgmc3Jfc2FsKTsKPiArwqDCoMKgwqDCoMKgwqAg wqAgwqAgwqBzcl9zYWwucGMgPSBlY3MtPnN0b3BfZnVuY19zdGFydDsKPiAr wqDCoMKgwqDCoMKgwqAgwqAgwqAgwqBpbnNlcnRfc3RlcF9yZXN1bWVfYnJl YWtwb2ludF9hdF9zYWwgKHNyX3NhbCwgbnVsbF9mcmFtZV9pZCk7Cj4gK8Kg wqDCoMKgwqDCoMKgIMKgIMKgfQo+ICvCoMKgwqDCoMKgwqDCoCDCoGVsc2UK PiArwqDCoMKgwqDCoMKgwqAgwqAgwqBpbnNlcnRfc3RlcF9yZXN1bWVfYnJl YWtwb2ludF9hdF9jYWxsZXIgKGdldF9jdXJyZW50X2ZyYW1lICgpKTsKPiAr Cj4gwqDCoMKgwqDCoMKgwqDCoCDCoGtlZXBfZ29pbmcgKGVjcyk7Cj4gwqDC oMKgwqDCoMKgwqDCoCDCoHJldHVybjsKPiDCoMKgwqDCoMKgwqDCoMKgfQo+ IEBAIC0zMTc2LDkgKzMyMzQsMjEgQEAgaW5mcnVuOiBCUFNUQVRfV0hBVF9T RVRfTE9OR0pNUF9SRVNVTUUgKAo+IMKgwqDCoMKgwqDCoMKgwqAgwqByZXR1 cm47Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDCoAo+IC0gwqAgwqAgwqAvKiBT ZXQgYSBicmVha3BvaW50IGF0IGNhbGxlZSdzIHJldHVybiBhZGRyZXNzICh0 aGUgYWRkcmVzcyBhdAo+IC0gwqAgwqAgwqAgwqAgd2hpY2ggdGhlIGNhbGxl ciB3aWxsIHJlc3VtZSkuIMKgKi8KPiAtIMKgIMKgIMKgaW5zZXJ0X3N0ZXBf cmVzdW1lX2JyZWFrcG9pbnRfYXRfY2FsbGVyIChnZXRfY3VycmVudF9mcmFt ZSAoKSk7Cj4gKyDCoCDCoCDCoGlmICh0YXJnZXRfZ2V0X2V4ZWN1dGlvbl9k aXJlY3Rpb24gKCkgPT0gRVhFQ19SRVZFUlNFKQo+ICvCoMKgwqDCoMKgwqDC oHsKPiArwqDCoMKgwqDCoMKgwqAgwqAvKiBTZXQgYSBicmVha3BvaW50IGF0 IGNhbGxlZSdzIHN0YXJ0IGFkZHJlc3MuCj4gK8KgwqDCoMKgwqDCoMKgIMKg IMKgIEZyb20gdGhlcmUgd2UgY2FuIHN0ZXAgb25jZSBhbmQgYmUgYmFjayBp biB0aGUgY2FsbGVyLiDCoCovCj4gK8KgwqDCoMKgwqDCoMKgIMKgc3RydWN0 IHN5bXRhYl9hbmRfbGluZSBzcl9zYWw7Cj4gK8KgwqDCoMKgwqDCoMKgIMKg aW5pdF9zYWwgKCZzcl9zYWwpOwo+ICvCoMKgwqDCoMKgwqDCoCDCoHNyX3Nh bC5wYyA9IGVjcy0+c3RvcF9mdW5jX3N0YXJ0Owo+ICvCoMKgwqDCoMKgwqDC oCDCoGluc2VydF9zdGVwX3Jlc3VtZV9icmVha3BvaW50X2F0X3NhbCAoc3Jf c2FsLCBudWxsX2ZyYW1lX2lkKTsKPiArwqDCoMKgwqDCoMKgwqB9Cj4gKyDC oCDCoCDCoGVsc2UKPiArwqDCoMKgwqDCoMKgwqB7Cj4gK8KgwqDCoMKgwqDC oMKgIMKgLyogU2V0IGEgYnJlYWtwb2ludCBhdCBjYWxsZWUncyByZXR1cm4g YWRkcmVzcyAodGhlIGFkZHJlc3MKPiArwqDCoMKgwqDCoMKgwqAgwqAgwqAg YXQgd2hpY2ggdGhlIGNhbGxlciB3aWxsIHJlc3VtZSkuIMKgKi8KPiArwqDC oMKgwqDCoMKgwqAgwqBpbnNlcnRfc3RlcF9yZXN1bWVfYnJlYWtwb2ludF9h dF9jYWxsZXIgKGdldF9jdXJyZW50X2ZyYW1lICgpKTsKPiArwqDCoMKgwqDC oMKgwqB9CgpVbm5lZWRlZCBicmFjZXMuCgo+IMKgIMKgIMKgIMKga2VlcF9n b2luZyAoZWNzKTsKPiDCoCDCoCDCoCDCoHJldHVybjsKPiDCoCDCoCDCoH0K PiBAQCAtMzM0NCw2ICszNDE0LDI4IEBAIHN0ZXBfaW50b19mdW5jdGlvbiAo c3RydWN0IGV4ZWN1dGlvbl9jb24KPiDCoCDCoCDCoGVjcy0+c3RvcF9mdW5j X3N0YXJ0ID0gZ2RiYXJjaF9za2lwX3Byb2xvZ3VlCj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIMKgIMKgIChj dXJyZW50X2dkYmFyY2gsIGVjcy0+c3RvcF9mdW5jX3N0YXJ0KTsKPiDCoAo+ ICsgwqBpZiAodGFyZ2V0X2dldF9leGVjdXRpb25fZGlyZWN0aW9uICgpID09 IEVYRUNfUkVWRVJTRSkKPiArIMKgIMKgewo+ICsgwqAgwqAgwqBzdG9wX2Z1 bmNfc2FsID0gZmluZF9wY19saW5lIChzdG9wX3BjLCAwKTsKPiArCj4gKyDC oCDCoCDCoC8qIE9LLCB3ZSdyZSBqdXN0IGdvbm5hIGtlZXAgc3RlcHBpbmcg aGVyZS4gwqAqLwo+ICsgwqAgwqAgwqBpZiAoc3RvcF9mdW5jX3NhbC5wYyA9 PSBzdG9wX3BjKQo+ICvCoMKgwqDCoMKgwqDCoHsKPiArwqDCoMKgwqDCoMKg wqAgwqAvKiBXZSdyZSB0aGVyZSBhbHJlYWR5LiDCoEp1c3Qgc3RvcCBzdGVw cGluZyBub3cuIMKgKi8KPiArwqDCoMKgwqDCoMKgwqAgwqBlY3MtPmV2ZW50 X3RocmVhZC0+c3RvcF9zdGVwID0gMTsKPiArwqDCoMKgwqDCoMKgwqAgwqBw cmludF9zdG9wX3JlYXNvbiAoRU5EX1NURVBQSU5HX1JBTkdFLCAwKTsKPiAr wqDCoMKgwqDCoMKgwqAgwqBzdG9wX3N0ZXBwaW5nIChlY3MpOwo+ICvCoMKg wqDCoMKgwqDCoCDCoHJldHVybjsKPiArwqDCoMKgwqDCoMKgwqB9Cj4gKyDC oCDCoCDCoC8qIEVsc2UganVzdCByZXNldCB0aGUgc3RlcCByYW5nZSBhbmQg a2VlcCBnb2luZy4KPiArwqDCoMKgwqDCoMKgwqAgTm8gc3RlcC1yZXN1bWUg YnJlYWtwb2ludCwgdGhleSBkb24ndCB3b3JrIGZvcgo+ICvCoMKgwqDCoMKg wqDCoCBlcGlsb2d1ZXMsIHdoaWNoIGNhbiBoYXZlIG11bHRpcGxlIGVudHJ5 IHBhdGhzLiDCoCovCj4gKyDCoCDCoCDCoGVjcy0+ZXZlbnRfdGhyZWFkLT5z dGVwX3JhbmdlX3N0YXJ0ID0gc3RvcF9mdW5jX3NhbC5wYzsKPiArIMKgIMKg IMKgZWNzLT5ldmVudF90aHJlYWQtPnN0ZXBfcmFuZ2VfZW5kIMKgID0gc3Rv cF9mdW5jX3NhbC5lbmQ7CgpTb21ldGhpbmdzIGZpc2h5IHdpdGggdGhlIHdo aXRlc3BhY2UuICAgICBeCgoKPiArIMKgIMKgIMKga2VlcF9nb2luZyAoZWNz KTsKPiArIMKgIMKgIMKgcmV0dXJuOwo+ICsgwqAgwqB9Cj4gKyDCoC8qIGVs c2UuLi4gKi8KPiDCoCDCoHN0b3BfZnVuY19zYWwgPSBmaW5kX3BjX2xpbmUg KGVjcy0+c3RvcF9mdW5jX3N0YXJ0LCAwKTsKPiDCoCDCoC8qIFVzZSB0aGUg c3RlcF9yZXN1bWVfYnJlYWsgdG8gc3RlcCB1bnRpbCB0aGUgZW5kIG9mIHRo ZSBwcm9sb2d1ZSwKPiDCoCDCoCDCoCBldmVuIGlmIHRoYXQgaW52b2x2ZXMg anVtcHMgKGFzIGl0IHNlZW1zIHRvIG9uIHRoZSB2YXggdW5kZXIKPiBAQCAt MzcxMiw2ICszODA0LDEwIEBAIHByaW50X3N0b3BfcmVhc29uIChlbnVtIGlu ZmVyaW9yX3N0b3BfcmUKPiDCoCDCoCDCoCDCoGFubm90YXRlX3NpZ25hbF9z dHJpbmdfZW5kICgpOwo+IMKgIMKgIMKgIMKgdWlfb3V0X3RleHQgKHVpb3V0 LCAiLlxuIik7Cj4gwqAgwqAgwqAgwqBicmVhazsKPiArIMKgIMKgY2FzZSBO T19ISVNUT1JZOgo+ICsgwqAgwqAgwqAvKiBSZXZlcnNlIGV4ZWN1dGlvbjog dGFyZ2V0IHJhbiBvdXQgb2YgaGlzdG9yeSBpbmZvLiDCoCovCj4gKyDCoCDC oCDCoHVpX291dF90ZXh0ICh1aW91dCwgIlxuTm8gbW9yZSByZXZlcnNlLWV4 ZWN1dGlvbiBoaXN0b3J5LlxuIik7Cj4gKyDCoCDCoCDCoGJyZWFrOwo+IMKg IMKgIMKgZGVmYXVsdDoKPiDCoCDCoCDCoCDCoGludGVybmFsX2Vycm9yIChf X0ZJTEVfXywgX19MSU5FX18sCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgwqAgwqAgwqBfKCJwcmludF9zdG9wX3JlYXNvbjogdW5yZWNv Z25pemVkIGVudW0gdmFsdWUiKSk7CgpPdGhlcndpc2UsIEkgY2FuJ3Qgc2Vl IGFueXRoaW5nIHdyb25nIHdpdGggaXQuLi4KCi0tIApQZWRybyBBbHZlcwo= >From gdb-patches-return-59040-listarch-gdb-patches=sources.redhat.com@sourceware.org Mon Oct 06 20:10:06 2008 Return-Path: Delivered-To: listarch-gdb-patches@sources.redhat.com Received: (qmail 16846 invoked by alias); 6 Oct 2008 20:10:06 -0000 Received: (qmail 16837 invoked by uid 22791); 6 Oct 2008 20:10:06 -0000 X-Spam-Check-By: sourceware.org Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 06 Oct 2008 20:09:31 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 39C932A967E; Mon, 6 Oct 2008 16:09:29 -0400 (EDT) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 96vrbvBXjifQ; Mon, 6 Oct 2008 16:09:29 -0400 (EDT) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id 0BC572A9662; Mon, 6 Oct 2008 16:09:29 -0400 (EDT) Received: by joel.gnat.com (Postfix, from userid 1000) id C2B7FE7ACD; Mon, 6 Oct 2008 13:09:28 -0700 (PDT) Date: Mon, 06 Oct 2008 20:10:00 -0000 From: Joel Brobecker To: Jan Kratochvil , gdb-patches@sourceware.org, Tobias Burnus , Ulrich Weigand , Jim Blandy , jimb@codesourcery.com Subject: Re: [patch] static_kind -> bit0, bit1 [Re: [gdb] Fortran dynamic arrays] Message-ID: <20081006200928.GD3588@adacore.com> References: <20080818111120.GE16894@adacore.com> <200808181553.m7IFrG3w005270@d12av02.megacenter.de.ibm.com> <48A59B3C.9050801@net-b.de> <20080818111120.GE16894@adacore.com> <20080907115637.GA12939@host0.dyn.jankratochvil.net> <20080919221221.GA23372@adacore.com> <20080926125754.GC21287@caradoc.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080926125754.GC21287@caradoc.them.org> User-Agent: Mutt/1.4.2.2i Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org X-SW-Source: 2008-10/txt/msg00156.txt.bz2 Content-length: 1253 > > Next, we add a new field in the "loc" union that would contain a pointer > > to the dwarf block, and probably create some kind of routine to create > > these range types. After that, we can update the DWARF reader to handle > > DWARF blocks for range type bounds, and finally update Fortran to make > > use of them. > > > > What do others think? > > Agreed. I would suggest LOC_COMPUTED as the role model, except I > don't see where to stash an ops pointer. Maybe in TYPE_SPECIFIC, or > is that ugly? I think it is kind of ugly, and i tried to think about it for a while, but I don't see many possible solutions if we don't want to increase the gdbtype struct size. Ideally, I would like to stash the ops pointer in the field structure itself, but there is no room either. The alternative I had in mind is hard-code the fact that the field a DWARF block and not use an ops pointer at all to get the field position. The code is not as generic, but we can separate this part of the design we're a little stuck on from the implementation of support for field positions encoded as DWARF blocks without too much loss of quality. Once we are decided on how to store the ops pointer, enhancing the framework should be fairly mechanical... -- Joel