From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13283 invoked by alias); 26 Oct 2007 22:28:53 -0000 Received: (qmail 13270 invoked by uid 22791); 26 Oct 2007 22:28:52 -0000 X-Spam-Check-By: sourceware.org Received: from viper.snap.net.nz (HELO viper.snap.net.nz) (202.37.101.8) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 26 Oct 2007 22:28:48 +0000 Received: from kahikatea.snap.net.nz (189.61.255.123.dynamic.snap.net.nz [123.255.61.189]) by viper.snap.net.nz (Postfix) with ESMTP id 3E3A83DA14D for ; Sat, 27 Oct 2007 11:28:43 +1300 (NZDT) Received: by kahikatea.snap.net.nz (Postfix, from userid 1000) id C87738FC6D; Sat, 27 Oct 2007 11:28:34 +1300 (NZDT) From: Nick Roberts MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: base64 Message-ID: <18210.27153.559569.601092@kahikatea.snap.net.nz> Date: Fri, 26 Oct 2007 22:59:00 -0000 To: gdb-patches@sources.redhat.com Subject: [PATCH] MI: lvalues and variable_editable X-Mailer: VM 7.19 under Emacs 23.0.50.34 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: 2007-10/txt/msg00723.txt.bz2 DQpJJ20gcmVwcmVzZW50aW5nIGEgcGF0Y2ggZnJvbSBiZWZvcmUgdGhlIHJl bGVhc2Ugb2YgR0RCIDYuNy4gIFRoZSBjaGFuZ2UgdG8NCmNfbmFtZV9vZl92 YXJpYWJsZSBpcyB1bnJlbGF0ZWQgYW5kIEkgY2FuIGNvbW1pdCBpdCBzZXBh cmF0ZWx5LCBpZiB3aXNoZWQuDQoNCkkgYWxzbyBhdHRhY2ggYSB0ZXN0IGZv ciB0aGUgbWFpbiBjaGFuZ2UuDQoNCi0tIA0KTmljayAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwOi8vd3d3LmluZXQu bmV0Lm56L35uaWNrcm9iDQoNCg0KMjAwNy0xMC0yNyAgTmljayBSb2JlcnRz ICA8bmlja3JvYkBzbmFwLm5ldC5uej4NCg0KCSogdmFyb2JqLmMgKGNfdmFy aWFibGVfZWRpdGFibGUsIGNwbHVzX3ZhcmlhYmxlX2VkaXRhYmxlKQ0KCShq YXZhX3ZhcmlhYmxlX2VkaXRhYmxlLCB2YXJpYWJsZV9lZGl0YWJsZSk6IERl bGV0ZS4NCgkodmFyb2JqX2VkaXRhYmxlX3ApOiBSZXBsYWNlIGFib3ZlIGZ1 bmN0aW9ucyB3aXRoIG9uZSBsYW5ndWFnZQ0KCWluZGVwZW5kZW50IGZ1bmN0 aW9uLiAgQ2hlY2sgZm9yIGFuIGx2YWx1ZS4NCgkodmFyb2JqX2dldF9hdHRy aWJ1dGVzLCB2YXJvYmpfc2V0X3ZhbHVlKTogVXNlIHZhcm9ial9lZGl0YWJs ZV9wLg0KCShzdHJ1Y3QgbGFuZ3VhZ2Vfc3BlY2lmaWMpOiBEZWxldGUgdmFy aWFibGVfZWRpdGFibGUgZmllbGQuDQogICAgICAgICh2YXJvYmpfdmFsdWVf aXNfY2hhbmdlYWJsZV9wKTogU2ltcGxpZnkuDQogICAgICAgIChjX25hbWVf b2ZfdmFyaWFibGUpOiBSZW1vdmUgbWVtb3J5IGxlYWsuDQoNCgkqIG1pLXZh ci1jbWQuZXhwOiBBZGQgdGVzdCBmb3IgYXNzaWduaW5nIHRvIHZhcm9ianMg dGhhdCBhcmVuJ3QNCglsdmFsdWVzLiANCg0KDQpJbmRleDogdmFyb2JqLmMN Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvY3ZzL3NyYy9z cmMvZ2RiL3Zhcm9iai5jLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS45Ng0K ZGlmZiAtcCAtYyAtcCAtcjEuOTYgdmFyb2JqLmMNCioqKiB2YXJvYmouYwky NyBTZXAgMjAwNyAxODowNDoxMiAtMDAwMAkxLjk2DQotLS0gdmFyb2JqLmMJ MjYgT2N0IDIwMDcgMjI6MjM6MjcgLTAwMDANCioqKioqKioqKioqKioqKiBz dGF0aWMgc3RydWN0IHZhbHVlICp2YWx1ZV9vZl9yb290IChzdHJ1DQoqKiog MjIxLDIyNyAqKioqDQogIA0KICBzdGF0aWMgc3RydWN0IHZhbHVlICp2YWx1 ZV9vZl9jaGlsZCAoc3RydWN0IHZhcm9iaiAqcGFyZW50LCBpbnQgaW5kZXgp Ow0KICANCiEgc3RhdGljIGludCB2YXJpYWJsZV9lZGl0YWJsZSAoc3RydWN0 IHZhcm9iaiAqdmFyKTsNCiAgDQogIHN0YXRpYyBjaGFyICpteV92YWx1ZV9v Zl92YXJpYWJsZSAoc3RydWN0IHZhcm9iaiAqdmFyKTsNCiAgDQotLS0gMjIx LDIyNyAtLS0tDQogIA0KICBzdGF0aWMgc3RydWN0IHZhbHVlICp2YWx1ZV9v Zl9jaGlsZCAoc3RydWN0IHZhcm9iaiAqcGFyZW50LCBpbnQgaW5kZXgpOw0K ICANCiEgc3RhdGljIGludCB2YXJvYmpfZWRpdGFibGVfcCAoc3RydWN0IHZh cm9iaiAqdmFyKTsNCiAgDQogIHN0YXRpYyBjaGFyICpteV92YWx1ZV9vZl92 YXJpYWJsZSAoc3RydWN0IHZhcm9iaiAqdmFyKTsNCiAgDQoqKioqKioqKioq KioqKiogc3RhdGljIHN0cnVjdCB2YWx1ZSAqY192YWx1ZV9vZl9jaGlsZCAo cw0KKioqIDI0OCwyNTUgKioqKg0KICANCiAgc3RhdGljIHN0cnVjdCB0eXBl ICpjX3R5cGVfb2ZfY2hpbGQgKHN0cnVjdCB2YXJvYmogKnBhcmVudCwgaW50 IGluZGV4KTsNCiAgDQotIHN0YXRpYyBpbnQgY192YXJpYWJsZV9lZGl0YWJs ZSAoc3RydWN0IHZhcm9iaiAqdmFyKTsNCi0gDQogIHN0YXRpYyBjaGFyICpj X3ZhbHVlX29mX3ZhcmlhYmxlIChzdHJ1Y3QgdmFyb2JqICp2YXIpOw0KICAN CiAgLyogQysrIGltcGxlbWVudGF0aW9uICovDQotLS0gMjQ4LDI1MyAtLS0t DQoqKioqKioqKioqKioqKiogc3RhdGljIHN0cnVjdCB2YWx1ZSAqY3BsdXNf dmFsdWVfb2ZfY2hpbA0KKioqIDI3MCwyNzcgKioqKg0KICANCiAgc3RhdGlj IHN0cnVjdCB0eXBlICpjcGx1c190eXBlX29mX2NoaWxkIChzdHJ1Y3QgdmFy b2JqICpwYXJlbnQsIGludCBpbmRleCk7DQogIA0KLSBzdGF0aWMgaW50IGNw bHVzX3ZhcmlhYmxlX2VkaXRhYmxlIChzdHJ1Y3QgdmFyb2JqICp2YXIpOw0K LSANCiAgc3RhdGljIGNoYXIgKmNwbHVzX3ZhbHVlX29mX3ZhcmlhYmxlIChz dHJ1Y3QgdmFyb2JqICp2YXIpOw0KICANCiAgLyogSmF2YSBpbXBsZW1lbnRh dGlvbiAqLw0KLS0tIDI2OCwyNzMgLS0tLQ0KKioqKioqKioqKioqKioqIHN0 YXRpYyBzdHJ1Y3QgdmFsdWUgKmphdmFfdmFsdWVfb2ZfY2hpbGQNCioqKiAy OTAsMjk3ICoqKioNCiAgDQogIHN0YXRpYyBzdHJ1Y3QgdHlwZSAqamF2YV90 eXBlX29mX2NoaWxkIChzdHJ1Y3QgdmFyb2JqICpwYXJlbnQsIGludCBpbmRl eCk7DQogIA0KLSBzdGF0aWMgaW50IGphdmFfdmFyaWFibGVfZWRpdGFibGUg KHN0cnVjdCB2YXJvYmogKnZhcik7DQotIA0KICBzdGF0aWMgY2hhciAqamF2 YV92YWx1ZV9vZl92YXJpYWJsZSAoc3RydWN0IHZhcm9iaiAqdmFyKTsNCiAg DQogIC8qIFRoZSBsYW5ndWFnZSBzcGVjaWZpYyB2ZWN0b3IgKi8NCi0tLSAy ODYsMjkxIC0tLS0NCioqKioqKioqKioqKioqKiBzdHJ1Y3QgbGFuZ3VhZ2Vf c3BlY2lmaWMNCioqKiAzMjQsMzMyICoqKioNCiAgICAvKiBUaGUgdHlwZSBv ZiB0aGUgSU5ERVgndGggY2hpbGQgb2YgUEFSRU5ULiAqLw0KICAgIHN0cnVj dCB0eXBlICooKnR5cGVfb2ZfY2hpbGQpIChzdHJ1Y3QgdmFyb2JqICogcGFy ZW50LCBpbnQgaW5kZXgpOw0KICANCi0gICAvKiBJcyBWQVIgZWRpdGFibGU/ ICovDQotICAgaW50ICgqdmFyaWFibGVfZWRpdGFibGUpIChzdHJ1Y3QgdmFy b2JqICogdmFyKTsNCi0gDQogICAgLyogVGhlIGN1cnJlbnQgdmFsdWUgb2Yg VkFSLiAqLw0KICAgIGNoYXIgKigqdmFsdWVfb2ZfdmFyaWFibGUpIChzdHJ1 Y3QgdmFyb2JqICogdmFyKTsNCiAgfTsNCi0tLSAzMTgsMzIzIC0tLS0NCioq KioqKioqKioqKioqKiBzdGF0aWMgc3RydWN0IGxhbmd1YWdlX3NwZWNpZmlj IGxhbmd1YWdlDQoqKiogMzQzLDM0OSAqKioqDQogICAgIGNfdmFsdWVfb2Zf cm9vdCwNCiAgICAgY192YWx1ZV9vZl9jaGlsZCwNCiAgICAgY190eXBlX29m X2NoaWxkLA0KLSAgICBjX3ZhcmlhYmxlX2VkaXRhYmxlLA0KICAgICBjX3Zh bHVlX29mX3ZhcmlhYmxlfQ0KICAgICwNCiAgICAvKiBDICovDQotLS0gMzM0 LDMzOSAtLS0tDQoqKioqKioqKioqKioqKiogc3RhdGljIHN0cnVjdCBsYW5n dWFnZV9zcGVjaWZpYyBsYW5ndWFnZQ0KKioqIDM1NiwzNjIgKioqKg0KICAg ICBjX3ZhbHVlX29mX3Jvb3QsDQogICAgIGNfdmFsdWVfb2ZfY2hpbGQsDQog ICAgIGNfdHlwZV9vZl9jaGlsZCwNCi0gICAgY192YXJpYWJsZV9lZGl0YWJs ZSwNCiAgICAgY192YWx1ZV9vZl92YXJpYWJsZX0NCiAgICAsDQogICAgLyog QysrICovDQotLS0gMzQ2LDM1MSAtLS0tDQoqKioqKioqKioqKioqKiogc3Rh dGljIHN0cnVjdCBsYW5ndWFnZV9zcGVjaWZpYyBsYW5ndWFnZQ0KKioqIDM2 OSwzNzUgKioqKg0KICAgICBjcGx1c192YWx1ZV9vZl9yb290LA0KICAgICBj cGx1c192YWx1ZV9vZl9jaGlsZCwNCiAgICAgY3BsdXNfdHlwZV9vZl9jaGls ZCwNCi0gICAgY3BsdXNfdmFyaWFibGVfZWRpdGFibGUsDQogICAgIGNwbHVz X3ZhbHVlX29mX3ZhcmlhYmxlfQ0KICAgICwNCiAgICAvKiBKYXZhICovDQot LS0gMzU4LDM2MyAtLS0tDQoqKioqKioqKioqKioqKiogc3RhdGljIHN0cnVj dCBsYW5ndWFnZV9zcGVjaWZpYyBsYW5ndWFnZQ0KKioqIDM4MiwzODggKioq Kg0KICAgICBqYXZhX3ZhbHVlX29mX3Jvb3QsDQogICAgIGphdmFfdmFsdWVf b2ZfY2hpbGQsDQogICAgIGphdmFfdHlwZV9vZl9jaGlsZCwNCi0gICAgamF2 YV92YXJpYWJsZV9lZGl0YWJsZSwNCiAgICAgamF2YV92YWx1ZV9vZl92YXJp YWJsZX0NCiAgfTsNCiAgDQotLS0gMzcwLDM3NSAtLS0tDQoqKioqKioqKioq KioqKiogdmFyb2JqX2dldF9hdHRyaWJ1dGVzIChzdHJ1Y3QgdmFyb2JqICp2 YQ0KKioqIDg1Niw4NjIgKioqKg0KICB7DQogICAgaW50IGF0dHJpYnV0ZXMg PSAwOw0KICANCiEgICBpZiAodmFyLT5yb290LT5pc192YWxpZCAmJiB2YXJp YWJsZV9lZGl0YWJsZSAodmFyKSkNCiAgICAgIC8qIEZJWE1FOiBkZWZpbmUg bWFza3MgZm9yIGF0dHJpYnV0ZXMgKi8NCiAgICAgIGF0dHJpYnV0ZXMgfD0g MHgwMDAwMDAwMTsJLyogRWRpdGFibGUgKi8NCiAgDQotLS0gODQzLDg0OSAt LS0tDQogIHsNCiAgICBpbnQgYXR0cmlidXRlcyA9IDA7DQogIA0KISAgIGlm ICh2YXItPnJvb3QtPmlzX3ZhbGlkICYmIHZhcm9ial9lZGl0YWJsZV9wICh2 YXIpKQ0KICAgICAgLyogRklYTUU6IGRlZmluZSBtYXNrcyBmb3IgYXR0cmli dXRlcyAqLw0KICAgICAgYXR0cmlidXRlcyB8PSAweDAwMDAwMDAxOwkvKiBF ZGl0YWJsZSAqLw0KICANCioqKioqKioqKioqKioqKiB2YXJvYmpfc2V0X3Zh bHVlIChzdHJ1Y3QgdmFyb2JqICp2YXIsIGNoDQoqKiogODg3LDg5MyAqKioq DQogICAgc3RydWN0IHZhbHVlICp2YWx1ZTsNCiAgICBpbnQgc2F2ZWRfaW5w dXRfcmFkaXggPSBpbnB1dF9yYWRpeDsNCiAgDQohICAgaWYgKHZhci0+dmFs dWUgIT0gTlVMTCAmJiB2YXJpYWJsZV9lZGl0YWJsZSAodmFyKSkNCiAgICAg IHsNCiAgICAgICAgY2hhciAqcyA9IGV4cHJlc3Npb247DQogICAgICAgIGlu dCBpOw0KLS0tIDg3NCw4ODAgLS0tLQ0KICAgIHN0cnVjdCB2YWx1ZSAqdmFs dWU7DQogICAgaW50IHNhdmVkX2lucHV0X3JhZGl4ID0gaW5wdXRfcmFkaXg7 DQogIA0KISAgIGlmICh2YXItPnZhbHVlICE9IE5VTEwgJiYgdmFyb2JqX2Vk aXRhYmxlX3AgKHZhcikpDQogICAgICB7DQogICAgICAgIGNoYXIgKnMgPSBl eHByZXNzaW9uOw0KICAgICAgICBpbnQgaTsNCioqKioqKioqKioqKioqKiB2 YWx1ZV9vZl9jaGlsZCAoc3RydWN0IHZhcm9iaiAqcGFyZW50LCBpDQoqKiog MTgwMSwxODE0ICoqKioNCiAgICByZXR1cm4gdmFsdWU7DQogIH0NCiAgDQot IC8qIElzIHRoaXMgdmFyaWFibGUgZWRpdGFibGU/IFVzZSB0aGUgdmFyaWFi bGUncyB0eXBlIHRvIG1ha2UNCi0gICAgdGhpcyBkZXRlcm1pbmF0aW9uLiAq Lw0KLSBzdGF0aWMgaW50DQotIHZhcmlhYmxlX2VkaXRhYmxlIChzdHJ1Y3Qg dmFyb2JqICp2YXIpDQotIHsNCi0gICByZXR1cm4gKCp2YXItPnJvb3QtPmxh bmctPnZhcmlhYmxlX2VkaXRhYmxlKSAodmFyKTsNCi0gfQ0KLSANCiAgLyog R0RCIGFscmVhZHkgaGFzIGEgY29tbWFuZCBjYWxsZWQgInZhbHVlX29mX3Zh cmlhYmxlIi4gU2lnaC4gKi8NCiAgc3RhdGljIGNoYXIgKg0KICBteV92YWx1 ZV9vZl92YXJpYWJsZSAoc3RydWN0IHZhcm9iaiAqdmFyKQ0KLS0tIDE3ODgs MTc5MyAtLS0tDQoqKioqKioqKioqKioqKiogdmFsdWVfZ2V0X3ByaW50X3Zh bHVlIChzdHJ1Y3QgdmFsdWUgKnZhbA0KKioqIDE4NDAsMTg0NSAqKioqDQot LS0gMTgxOSwxODYyIC0tLS0NCiAgICByZXR1cm4gdGhldmFsdWU7DQogIH0N CiAgDQorIA0KKyBzdGF0aWMgaW50DQorIHZhcm9ial9lZGl0YWJsZV9wIChz dHJ1Y3QgdmFyb2JqICp2YXIpDQorIHsNCisgICBzdHJ1Y3QgdHlwZSAqdHlw ZTsNCisgICBzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwOw0KKyAgIHN0cnVjdCB2 YWx1ZSAqdmFsdWU7DQorIA0KKyAgIGlmIChDUExVU19GQUtFX0NISUxEICh2 YXIpKQ0KKyAgICAgcmV0dXJuIDA7DQorIA0KKyAgIGlmICghZ2RiX2V2YWx1 YXRlX2V4cHJlc3Npb24gKHZhci0+cm9vdC0+ZXhwLCAmdmFsdWUpKQ0KKyAg ICAgew0KKyAgICAgICAvKiBXZSBjYW5ub3QgcHJvY2VlZCB3aXRob3V0IGEg dmFsaWQgZXhwcmVzc2lvbi4gKi8NCisgICAgICAgeGZyZWUgKGV4cCk7DQor ICAgICAgIHJldHVybiAwOw0KKyAgICAgfQ0KKyAgIGlmICghVkFMVUVfTFZB TCh2YWx1ZSkpDQorICAgICByZXR1cm4gMDsNCisgDQorICAgdHlwZSA9IGdl dF92YWx1ZV90eXBlICh2YXIpOw0KKyANCisgICBzd2l0Y2ggKFRZUEVfQ09E RSAodHlwZSkpDQorICAgICB7DQorICAgICBjYXNlIFRZUEVfQ09ERV9TVFJV Q1Q6DQorICAgICBjYXNlIFRZUEVfQ09ERV9VTklPTjoNCisgICAgIGNhc2Ug VFlQRV9DT0RFX0FSUkFZOg0KKyAgICAgY2FzZSBUWVBFX0NPREVfRlVOQzoN CisgICAgIGNhc2UgVFlQRV9DT0RFX01FVEhPRDoNCisgICAgICAgcmV0dXJu IDA7DQorICAgICAgIGJyZWFrOw0KKyANCisgICAgIGRlZmF1bHQ6DQorICAg ICAgIHJldHVybiAxOw0KKyAgICAgICBicmVhazsNCisgICAgIH0NCisgfQ0K KyANCiAgLyogUmV0dXJuIG5vbi16ZXJvIGlmIGNoYW5nZXMgaW4gdmFsdWUg b2YgVkFSDQogICAgIG11c3QgYmUgZGV0ZWN0ZWQgYW5kIHJlcG9ydGVkIGJ5 IC12YXItdXBkYXRlLg0KICAgICBSZXR1cm4gemVybyBpcyAtdmFyLXVwZGF0 ZSBzaG91bGQgbmV2ZXIgcmVwb3J0DQoqKioqKioqKioqKioqKiogdmFsdWVf Z2V0X3ByaW50X3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnZhbA0KKioqIDE4NTIs MTg1OCAqKioqDQogIHN0YXRpYyBpbnQNCiAgdmFyb2JqX3ZhbHVlX2lzX2No YW5nZWFibGVfcCAoc3RydWN0IHZhcm9iaiAqdmFyKQ0KICB7DQotICAgaW50 IHI7DQogICAgc3RydWN0IHR5cGUgKnR5cGU7DQogIA0KICAgIGlmIChDUExV U19GQUtFX0NISUxEICh2YXIpKQ0KLS0tIDE4NjksMTg3NCAtLS0tDQoqKioq KioqKioqKioqKiogdmFyb2JqX3ZhbHVlX2lzX2NoYW5nZWFibGVfcCAoc3Ry dWN0IHZhcg0KKioqIDE4NjUsMTg3OCAqKioqDQogICAgICBjYXNlIFRZUEVf Q09ERV9TVFJVQ1Q6DQogICAgICBjYXNlIFRZUEVfQ09ERV9VTklPTjoNCiAg ICAgIGNhc2UgVFlQRV9DT0RFX0FSUkFZOg0KISAgICAgICByID0gMDsNCiAg ICAgICAgYnJlYWs7DQogIA0KICAgICAgZGVmYXVsdDoNCiEgICAgICAgciA9 IDE7DQogICAgICB9DQotIA0KLSAgIHJldHVybiByOw0KICB9DQogIA0KICAv KiBHaXZlbiB0aGUgdmFsdWUgYW5kIHRoZSB0eXBlIG9mIGEgdmFyaWFibGUg b2JqZWN0LA0KLS0tIDE4ODEsMTg5MyAtLS0tDQogICAgICBjYXNlIFRZUEVf Q09ERV9TVFJVQ1Q6DQogICAgICBjYXNlIFRZUEVfQ09ERV9VTklPTjoNCiAg ICAgIGNhc2UgVFlQRV9DT0RFX0FSUkFZOg0KISAgICAgICByZXR1cm4gMDsN CiAgICAgICAgYnJlYWs7DQogIA0KICAgICAgZGVmYXVsdDoNCiEgICAgICAg cmV0dXJuIDE7DQohICAgICAgIGJyZWFrOw0KICAgICAgfQ0KICB9DQogIA0K ICAvKiBHaXZlbiB0aGUgdmFsdWUgYW5kIHRoZSB0eXBlIG9mIGEgdmFyaWFi bGUgb2JqZWN0LA0KKioqKioqKioqKioqKioqIGNfbnVtYmVyX29mX2NoaWxk cmVuIChzdHJ1Y3QgdmFyb2JqICp2YXINCioqKiAxOTgzLDE5OTEgKioqKg0K ICB9DQogIA0KICBzdGF0aWMgY2hhciAqDQohIGNfbmFtZV9vZl92YXJpYWJs ZSAoc3RydWN0IHZhcm9iaiAqcGFyZW50KQ0KICB7DQohICAgcmV0dXJuIHNh dmVzdHJpbmcgKHBhcmVudC0+bmFtZSwgc3RybGVuIChwYXJlbnQtPm5hbWUp KTsNCiAgfQ0KICANCiAgLyogUmV0dXJuIHRoZSB2YWx1ZSBvZiBlbGVtZW50 IFRZUEVfSU5ERVggb2YgYSBzdHJ1Y3R1cmUNCi0tLSAxOTk4LDIwMDYgLS0t LQ0KICB9DQogIA0KICBzdGF0aWMgY2hhciAqDQohIGNfbmFtZV9vZl92YXJp YWJsZSAoc3RydWN0IHZhcm9iaiAqdmFyKQ0KICB7DQohICAgcmV0dXJuIHZh ci0+bmFtZTsNCiAgfQ0KICANCiAgLyogUmV0dXJuIHRoZSB2YWx1ZSBvZiBl bGVtZW50IFRZUEVfSU5ERVggb2YgYSBzdHJ1Y3R1cmUNCioqKioqKioqKioq KioqKiBjX3R5cGVfb2ZfY2hpbGQgKHN0cnVjdCB2YXJvYmogKnBhcmVudCwg DQoqKiogMjIxMiwyMjM2ICoqKioNCiAgICByZXR1cm4gdHlwZTsNCiAgfQ0K ICANCi0gc3RhdGljIGludA0KLSBjX3ZhcmlhYmxlX2VkaXRhYmxlIChzdHJ1 Y3QgdmFyb2JqICp2YXIpDQotIHsNCi0gICBzd2l0Y2ggKFRZUEVfQ09ERSAo Z2V0X3ZhbHVlX3R5cGUgKHZhcikpKQ0KLSAgICAgew0KLSAgICAgY2FzZSBU WVBFX0NPREVfU1RSVUNUOg0KLSAgICAgY2FzZSBUWVBFX0NPREVfVU5JT046 DQotICAgICBjYXNlIFRZUEVfQ09ERV9BUlJBWToNCi0gICAgIGNhc2UgVFlQ RV9DT0RFX0ZVTkM6DQotICAgICBjYXNlIFRZUEVfQ09ERV9NRVRIT0Q6DQot ICAgICAgIHJldHVybiAwOw0KLSAgICAgICBicmVhazsNCi0gDQotICAgICBk ZWZhdWx0Og0KLSAgICAgICByZXR1cm4gMTsNCi0gICAgICAgYnJlYWs7DQot ICAgICB9DQotIH0NCi0gDQogIHN0YXRpYyBjaGFyICoNCiAgY192YWx1ZV9v Zl92YXJpYWJsZSAoc3RydWN0IHZXcml0ZSBmYWlsZWQgZmx1c2hpbmcgc3Rk b3V0IGJ1ZmZlci4NDQp3cml0ZSBzdGRvdXQ6IEJyb2tlbiBwaXBlDQ0KYXJv YmogKnZhcikNCiAgew0KLS0tIDIyMjcsMjIzMiAtLS0tDQoqKioqKioqKioq KioqKiogY3BsdXNfdHlwZV9vZl9jaGlsZCAoc3RydWN0IHZhcm9iaiAqcGFy ZQ0KKioqIDI2MDIsMjYxNiAqKioqDQogICAgcmV0dXJuIHR5cGU7DQogIH0N CiAgDQotIHN0YXRpYyBpbnQNCi0gY3BsdXNfdmFyaWFibGVfZWRpdGFibGUg KHN0cnVjdCB2YXJvYmogKnZhcikNCi0gew0KLSAgIGlmIChDUExVU19GQUtF X0NISUxEICh2YXIpKQ0KLSAgICAgcmV0dXJuIDA7DQotIA0KLSAgIHJldHVy biBjX3ZhcmlhYmxlX2VkaXRhYmxlICh2YXIpOw0KLSB9DQotIA0KICBzdGF0 aWMgY2hhciAqDQogIGNwbHVzX3ZhbHVlX29mX3ZhcmlhYmxlIChzdHJ1Y3Qg dmFyb2JqICp2YXIpDQogIHsNCi0tLSAyNTk4LDI2MDMgLS0tLQ0KKioqKioq KioqKioqKioqIGphdmFfdHlwZV9vZl9jaGlsZCAoc3RydWN0IHZhcm9iaiAq cGFyZW4NCioqKiAyNjk0LDI3MDUgKioqKg0KICAgIHJldHVybiBjcGx1c190 eXBlX29mX2NoaWxkIChwYXJlbnQsIGluZGV4KTsNCiAgfQ0KICANCi0gc3Rh dGljIGludA0KLSBqYXZhX3ZhcmlhYmxlX2VkaXRhYmxlIChzdHJ1Y3QgdmFy b2JqICp2YXIpDQotIHsNCi0gICByZXR1cm4gY3BsdXNfdmFyaWFibGVfZWRp dGFibGUgKHZhcik7DQotIH0NCi0gDQogIHN0YXRpYyBjaGFyICoNCiAgamF2 YV92YWx1ZV9vZl92YXJpYWJsZSAoc3RydWN0IHZhcm9iaiAqdmFyKQ0KICB7 DQotLS0gMjY4MSwyNjg2IC0tLS0NCg0KDQpJbmRleDogbWktdmFyLWNtZC5l eHANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvY3ZzL3Ny Yy9zcmMvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktdmFyLWNtZC5leHAsdg0K cmV0cmlldmluZyByZXZpc2lvbiAxLjMzDQpkaWZmIC1wIC1jIC1wIC1yMS4z MyBtaS12YXItY21kLmV4cA0KKioqIG1pLXZhci1jbWQuZXhwCTEgT2N0IDIw MDcgMTQ6MDc6NDUgLTAwMDAJMS4zMw0KLS0tIG1pLXZhci1jbWQuZXhwCTI2 IE9jdCAyMDA3IDIyOjI1OjA3IC0wMDAwDQoqKioqKioqKioqKioqKiogbWlf Z2RiX3Rlc3QgIjExMy12YXItY3JlYXRlIGFyZ2MgKiBhcmdjIg0KKioqIDY4 LDczICoqKioNCi0tLSA2OCw3NyAtLS0tDQogIAkiJlwibWlfY21kX3Zhcl9j cmVhdGU6IHVuYWJsZSB0byBjcmVhdGUgdmFyaWFibGUgb2JqZWN0XFxcXG5c Ii4qMTEzXFxeZXJyb3IsbXNnPVwibWlfY21kX3Zhcl9jcmVhdGU6IHVuYWJs ZSB0byBjcmVhdGUgdmFyaWFibGUgb2JqZWN0XCIiIFwNCiAgCSJjcmVhdGUg b3V0IG9mIHNjb3BlIHZhcmlhYmxlIg0KICANCisgbWlfZ2RiX3Rlc3QgIi12 YXItY3JlYXRlIGNhc3RmbG9hdCAqIChmbG9hdClnbG9iYWxfc2ltcGxlLmlu dGVnZXIiIFwNCisgCSJcXF5kb25lLG5hbWU9XCJjYXN0ZmxvYXRcIixudW1j aGlsZD1cIjBcIix2YWx1ZT1cIi4qXCIsdHlwZT1cImZsb2F0XCIiIFwNCisg CSJjcmVhdGUgZmxvYXQgY2FzdCBvZiBhbiBpbnQiDQorIA0KICBtaV9ydW50 byBkb19sb2NhbHNfdGVzdHMNCiAgDQogIHNldCBsaW5lX2RsdF9maXJzdF9y ZWFsIFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJsaW50ZWdlciA9IDEyMzQ7Il0N CioqKioqKioqKioqKioqKiBtaV9nZGJfdGVzdCAiLXZhci1hc3NpZ24gZ2xv YmFsX3NpbXBsZSAwDQoqKiogMjc4LDI4MyAqKioqDQotLS0gMjgyLDI5MSAt LS0tDQogIAkiJlwibWlfY21kX3Zhcl9hc3NpZ246IFZhcmlhYmxlIG9iamVj dCBpcyBub3QgZWRpdGFibGVcXFxcblwiLipcXF5lcnJvcixtc2dXcml0ZSBm YWlsZWQgZmx1c2hpbmcgc3Rkb3V0IGJ1ZmZlci4NDQp3cml0ZSBzdGRvdXQ6 IEJyb2tlbiBwaXBlDQ0KPVwibWlfY21kX3Zhcl9hc3NpZ246IFZhcmlhYmxl IG9iamVjdCBpcyBub3QgZWRpdGFibGVcIiIgXA0KICAJImFzc2lnbiB0byBn bG9iYWxfc2ltcGxlIg0KICANCisgbWlfZ2RiX3Rlc3QgIi12YXItYXNzaWdu IGNhc3RmbG9hdCA1LjAiIFwNCisgCSImXCJtaV9jbWRfdmFyX2Fzc2lnbjog VmFyaWFibGUgb2JqZWN0IGlzIG5vdCBlZGl0YWJsZVxcXFxuXCIuKlxcXmVy cm9yLG1zZz1cIm1pX2NtZF92YXJfYXNzaWduOiBWYXJpYWJsZSBvYmplY3Qg aXMgbm90IGVkaXRhYmxlXCIiIFwNCisgCSJhc3NpZ24gdG8gYSBjYXN0Ig0K KyANCiAgbWlfZ2RiX3Rlc3QgIi12YXItYXNzaWduIGxpbnRlZ2VyIDMzMzMi IFwNCiAgCSJcXF5kb25lLHZhbHVlPVwiMzMzM1wiIiBcDQogIAkiYXNzaWdu IHRvIGxpbnRlZ2VyIg== >From gdb-patches-return-51746-listarch-gdb-patches=sources.redhat.com@sourceware.org Fri Oct 26 22:59:35 2007 Return-Path: Delivered-To: listarch-gdb-patches@sources.redhat.com Received: (qmail 4771 invoked by alias); 26 Oct 2007 22:59:35 -0000 Received: (qmail 4763 invoked by uid 22791); 26 Oct 2007 22:59:34 -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; Fri, 26 Oct 2007 22:59:31 +0000 Received: (qmail 27573 invoked from network); 26 Oct 2007 22:59:29 -0000 Received: from unknown (HELO localhost) (jimb@127.0.0.2) by mail.codesourcery.com with ESMTPA; 26 Oct 2007 22:59:30 -0000 To: gdb-patches@sourceware.org Subject: RFC: tracepoints: extend range of ax_trace_quick function From: Jim Blandy Date: Fri, 26 Oct 2007 23:05:00 -0000 Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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 Delivered-To: mailing list gdb-patches@sourceware.org X-SW-Source: 2007-10/txt/msg00724.txt.bz2 Content-length: 2227 In order to get Linux kernel tracepoints working, I needed to make a number of fixes in GDB. This is one such patch; the code which uses the function's new range comes a bit later. Okay to commit? gdb/ChangeLog: 2007-10-24 Jim Blandy * ax-general.c (ax_trace_quick): Generate trace16 instructions for sizes from 256 to 65535. diff -r 7625042dd5a0 -r eb635294a14e gdb/ax-general.c --- a/gdb/ax-general.c Wed Oct 24 10:17:42 2007 -0700 +++ b/gdb/ax-general.c Wed Oct 24 18:02:15 2007 -0700 @@ -166,17 +166,29 @@ ax_zero_ext (struct agent_expr *x, int n } -/* Append a trace_quick instruction to EXPR, to record N bytes. */ +/* Append a trace_quick or trace16 instruction to EXPR, to record N bytes. */ void ax_trace_quick (struct agent_expr *x, int n) { - /* N must fit in a byte. */ - if (n < 0 || n > 255) - error (_("GDB bug: ax-general.c (ax_trace_quick): size out of range for trace_quick")); - - grow_expr (x, 2); - x->buf[x->len++] = aop_trace_quick; - x->buf[x->len++] = n; + if (n < 0) + internal_error (__FILE__, __LINE__, + _("ax_trace_quick: negative size")); + else if (n < (1 << 8)) + { + grow_expr (x, 2); + x->buf[x->len++] = aop_trace_quick; + x->buf[x->len++] = n; + } + else if (n < (1 << 16)) + { + grow_expr (x, 3); + x->buf[x->len++] = aop_trace16; + x->buf[x->len++] = n >> 8; + x->buf[x->len++] = n; + } + else + internal_error (__FILE__, __LINE__, + _("ax_trace_quick: size out of range")); } diff -r 7625042dd5a0 -r eb635294a14e gdb/ax.h --- a/gdb/ax.h Wed Oct 24 10:17:42 2007 -0700 +++ b/gdb/ax.h Wed Oct 24 18:02:15 2007 -0700 @@ -157,7 +157,8 @@ extern void ax_ext (struct agent_expr *E /* Append a zero-extension instruction to EXPR, to extend an N-bit value. */ extern void ax_zero_ext (struct agent_expr *EXPR, int N); -/* Append a trace_quick instruction to EXPR, to record N bytes. */ +/* Append a trace_quick or trace16 instruction to EXPR, to record N bytes. + N must be less than 65536. */ extern void ax_trace_quick (struct agent_expr *EXPR, int N); /* Append a goto op to EXPR. OP is the actual op (must be aop_goto or