From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Faylor To: Elena Zannoni Cc: gdb-patches@sourceware.cygnus.com, jimb@cygnus.com Subject: Re: [PATCH] Cleanup some more section_addr_info structs Date: Thu, 20 Apr 2000 12:41:00 -0000 Message-id: <20000420154107.A1862@cygnus.com> References: <14591.20957.40807.102577@kwikemart.cygnus.com> X-SW-Source: 2000-04/msg00397.html The win32-nat.c part of this change is approved. cgf On Thu, Apr 20, 2000 at 02:52:13PM -0400, Elena Zannoni wrote: >2000-04-20 Elena Zannoni > > * win32-nat.c (handle_load_dll): Don't treat .text as a special > section anymore. > * somread.c (som_symfile_offsets): Ditto. > * somsolib.c (som_solib_add_solib_objfile): Ditto. >From scottb@netwinder.org Thu Apr 20 14:21:00 2000 From: Scott Bambrough To: GDB Patches Mail List Subject: FYI: Changes to ARM Linux code... Date: Thu, 20 Apr 2000 14:21:00 -0000 Message-id: <38FF73CD.1C542B7D@netwinder.org> X-SW-Source: 2000-04/msg00398.html Content-type: multipart/mixed; boundary="----------=_1583534348-29877-8" This is a multi-part message in MIME format... ------------=_1583534348-29877-8 Content-length: 1635 I've checked the following in on the 5.0 branch and the mainline. It implements support for LinuxThreads and fixes most of the bugs with core files. 2000-04-19 Scott Bambrough * arm-linux-nat.c (PIDGET, TIDGET): New. (get_thread_id, GET_THREAD_ID): New. (fetch_nwfpe_register, store_nwfpe_register): New. (fetch_register, store_register): New. (fetch_fpregister, store_fpregister): New. (fill_gregset, supply_gregset): New. (fill_fpregset, supply_fpregset): New. (fetch_fpregs): Modified to use thread id's. (store_fpregs): Modified to use thread id's and fetch_nwfpe_register. (fetch_regs): Modified to use thread id's. (store_regs): Modified to use thread id's. (fetch_inferior_registers): Modified to handle single register fetches. (store_inferior_registers): Modified to handle single register stores. (arm_linux_register_u_addr): Removed. * configure.tgt: Added gdbserver to configdirs for arm*-*-linux*. * config/arm/linux.mh (NATDEPFILES): Removed core-aout.o. Added core-regset.o. (LOADLIBES): Define. * config/arm/nm-linux.h: Include config/nm-linux.h. (ATTACH_DETACH): Removed. Defined in config/nm-linux.h. (REGISTER_U_ADDR): Removed. (SVR4_SHARED_LIBS): Removed. Defined in config/nm-linux.h. (#include "solib.h"): Removed. Included via config/nm-linux.h. -- Scott Bambrough - Software Engineer REBEL.COM http://www.rebel.com NetWinder http://www.netwinder.org gdb.patch ------------=_1583534348-29877-8 Content-Type: text/x-diff; charset=us-ascii; name="gdb.patch" Content-Disposition: inline; filename="gdb.patch" Content-Transfer-Encoding: base64 Content-Length: 22176 SW5kZXg6IGFybS1saW51eC1uYXQuYw0KPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQ0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvYXJtLWxpbnV4LW5hdC5j LHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS40LjIuMQ0KZGlmZiAtdSAtcCAt cjEuNC4yLjEgYXJtLWxpbnV4LW5hdC5jDQotLS0gYXJtLWxpbnV4LW5hdC5j CTIwMDAvMDQvMTAgMjE6MDc6MzgJMS40LjIuMQ0KKysrIGFybS1saW51eC1u YXQuYwkyMDAwLzA0LzIwIDE5OjEwOjI5DQpAQCAtMjYsNiArMjYsNyBAQA0K ICNpbmNsdWRlIDxzeXMvdXNlci5oPg0KICNpbmNsdWRlIDxzeXMvcHRyYWNl Lmg+DQogI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+DQorI2luY2x1ZGUgPHN5 cy9wcm9jZnMuaD4NCiANCiBleHRlcm4gaW50IGFybV9hcGNzXzMyOw0KIA0K QEAgLTcxLDYgKzcyLDI3IEBAIEZQQTExOw0KIA0KIHN0YXRpYyB1bnNpZ25l ZCBpbnQgb3NfdmVyc2lvbiwgb3NfbWFqb3IsIG9zX21pbm9yLCBvc19yZWxl YXNlOw0KIA0KKy8qIE9uIExpbnV4LCB0aHJlYWRzIGFyZSBpbXBsZW1lbnRl ZCBhcyBwc2V1ZG8tcHJvY2Vzc2VzLCBpbiB3aGljaA0KKyAgIGNhc2Ugd2Ug bWF5IGJlIHRyYWNpbmcgbW9yZSB0aGFuIG9uZSBwcm9jZXNzIGF0IGEgdGlt ZS4gIEluIHRoYXQNCisgICBjYXNlLCBpbmZlcmlvcl9waWQgd2lsbCBjb250 YWluIHRoZSBtYWluIHByb2Nlc3MgSUQgYW5kIHRoZQ0KKyAgIGluZGl2aWR1 YWwgdGhyZWFkIChwcm9jZXNzKSBJRCBtYXNoZWQgdG9nZXRoZXIuICBUaGVz ZSBtYWNyb3MgYXJlDQorICAgdXNlZCB0byBzZXBhcmF0ZSB0aGVtIG91dC4g IFRoZXNlIGRlZmluaXRpb25zIHNob3VsZCBiZSBvdmVycmlkZGVuDQorICAg aWYgdGhyZWFkIHN1cHBvcnQgaXMgaW5jbHVkZWQuICAqLw0KKw0KKyNpZiAh ZGVmaW5lZCAoUElER0VUKQkvKiBEZWZhdWx0IGRlZmluaXRpb24gZm9yIFBJ REdFVC9USURHRVQuICAqLw0KKyNkZWZpbmUgUElER0VUKFBJRCkJUElEDQor I2RlZmluZSBUSURHRVQoUElEKQkwDQorI2VuZGlmDQorDQoraW50DQorZ2V0 X3RocmVhZF9pZCAoaW50IGluZmVyaW9yX3BpZCkNCit7DQorICBpbnQgdGlk ID0gVElER0VUIChpbmZlcmlvcl9waWQpOw0KKyAgaWYgKDAgPT0gdGlkKSB0 aWQgPSBpbmZlcmlvcl9waWQ7DQorICByZXR1cm4gdGlkOw0KK30NCisjZGVm aW5lIEdFVF9USFJFQURfSUQoUElEKQlnZXRfdGhyZWFkX2lkICgoUElEKSk7 DQorDQogc3RhdGljIHZvaWQNCiBmZXRjaF9ud2ZwZV9zaW5nbGUgKHVuc2ln bmVkIGludCBmbiwgRlBBMTEgKiBmcGExMSkNCiB7DQpAQCAtMTE0LDYgKzEz NiwzMCBAQCBmZXRjaF9ud2ZwZV9leHRlbmRlZCAodW5zaWduZWQgaW50IGZu LCBGDQogfQ0KIA0KIHN0YXRpYyB2b2lkDQorZmV0Y2hfbndmcGVfcmVnaXN0 ZXIgKGludCByZWdubywgRlBBMTEgKiBmcGExMSkNCit7DQorICAgaW50IGZu ID0gcmVnbm8gLSBGMF9SRUdOVU07DQorDQorICAgc3dpdGNoIChmcGExMS0+ ZlR5cGVbZm5dKQ0KKyAgICAgew0KKyAgICAgY2FzZSB0eXBlU2luZ2xlOg0K KyAgICAgICBmZXRjaF9ud2ZwZV9zaW5nbGUgKGZuLCBmcGExMSk7DQorICAg ICAgIGJyZWFrOw0KKw0KKyAgICAgY2FzZSB0eXBlRG91YmxlOg0KKyAgICAg ICBmZXRjaF9ud2ZwZV9kb3VibGUgKGZuLCBmcGExMSk7DQorICAgICAgIGJy ZWFrOw0KKw0KKyAgICAgY2FzZSB0eXBlRXh0ZW5kZWQ6DQorICAgICAgIGZl dGNoX253ZnBlX2V4dGVuZGVkIChmbiwgZnBhMTEpOw0KKyAgICAgICBicmVh azsNCisNCisgICAgIGRlZmF1bHQ6DQorICAgICAgIGZldGNoX253ZnBlX25v bmUgKGZuKTsNCisgICAgIH0NCit9DQorDQorc3RhdGljIHZvaWQNCiBzdG9y ZV9ud2ZwZV9zaW5nbGUgKHVuc2lnbmVkIGludCBmbiwgRlBBMTEgKiBmcGEx MSkNCiB7DQogICB1bnNpZ25lZCBpbnQgbWVtWzNdOw0KQEAgLTE0NSwyMSAr MTkxLDk3IEBAIHN0b3JlX253ZnBlX2V4dGVuZGVkICh1bnNpZ25lZCBpbnQg Zm4sIEYNCiAgIGZwYTExLT5mcHJlZ1tmbl0uZkV4dGVuZGVkWzFdID0gbWVt WzJdOwkvKiBtcyBiaXRzICovDQogICBmcGExMS0+ZlR5cGVbZm5dID0gdHlw ZURvdWJsZTsNCiB9DQorDQordm9pZA0KK3N0b3JlX253ZnBlX3JlZ2lzdGVy IChpbnQgcmVnbm8sIEZQQTExICogZnBhMTEpDQorew0KKyAgaWYgKHJlZ2lz dGVyX3ZhbGlkW3JlZ25vXSkNCisgICAgew0KKyAgICAgICB1bnNpZ25lZCBp bnQgZm4gPSByZWdubyAtIEYwX1JFR05VTTsNCisgICAgICAgc3dpdGNoIChm cGExMS0+ZlR5cGVbZm5dKQ0KKyAgICAgICAgIHsNCisJIGNhc2UgdHlwZVNp bmdsZToNCisJICAgc3RvcmVfbndmcGVfc2luZ2xlIChmbiwgZnBhMTEpOw0K KwkgICBicmVhazsNCisNCisJIGNhc2UgdHlwZURvdWJsZToNCisJICAgc3Rv cmVfbndmcGVfZG91YmxlIChmbiwgZnBhMTEpOw0KKwkgICBicmVhazsNCisN CisJIGNhc2UgdHlwZUV4dGVuZGVkOg0KKwkgICBzdG9yZV9ud2ZwZV9leHRl bmRlZCAoZm4sIGZwYTExKTsNCisJICAgYnJlYWs7DQorCSB9DQorICAgIH0N Cit9DQorDQogDQotLyogR2V0IHRoZSB3aG9sZSBmbG9hdGluZyBwb2ludCBz dGF0ZSBvZiB0aGUgcHJvY2VzcyBhbmQgc3RvcmUgdGhlDQotICAgZmxvYXRp bmcgcG9pbnQgc3RhY2sgaW50byByZWdpc3RlcnNbXS4gICovDQorLyogR2V0 IHRoZSB2YWx1ZSBvZiBhIHBhcnRpY3VsYXIgcmVnaXN0ZXIgZnJvbSB0aGUg ZmxvYXRpbmcgcG9pbnQNCisgICBzdGF0ZSBvZiB0aGUgcHJvY2VzcyBhbmQg c3RvcmUgaXQgaW50byByZWdpc3RlcnNbXS4gICovDQogDQogc3RhdGljIHZv aWQNCitmZXRjaF9mcHJlZ2lzdGVyIChpbnQgcmVnbm8pDQorew0KKyAgaW50 IHJldCwgdGlkOw0KKyAgRlBBMTEgZnA7DQorICANCisgIC8qIEdldCB0aGUg dGhyZWFkIGlkIGZvciB0aGUgcHRyYWNlIGNhbGwuICAqLw0KKyAgdGlkID0g R0VUX1RIUkVBRF9JRCAoaW5mZXJpb3JfcGlkKTsNCisNCisgIC8qIFJlYWQg dGhlIGZsb2F0aW5nIHBvaW50IHN0YXRlLiAgKi8NCisgIHJldCA9IHB0cmFj ZSAoUFRfR0VURlBSRUdTLCB0aWQsIDAsICZmcCk7DQorICBpZiAocmV0IDwg MCkNCisgICAgew0KKyAgICAgIHdhcm5pbmcgKCJVbmFibGUgdG8gZmV0Y2gg ZmxvYXRpbmcgcG9pbnQgcmVnaXN0ZXIuIik7DQorICAgICAgcmV0dXJuOw0K KyAgICB9DQorDQorICAvKiBGZXRjaCBmcHNyLiAgKi8NCisgIGlmIChGUFNf UkVHTlVNID09IHJlZ25vKQ0KKyAgICBzdXBwbHlfcmVnaXN0ZXIgKEZQU19S RUdOVU0sIChjaGFyICopICZmcC5mcHNyKTsNCisNCisgIC8qIEZldGNoIHRo ZSBmbG9hdGluZyBwb2ludCByZWdpc3Rlci4gICovDQorICBpZiAocmVnbm8g Pj0gRjBfUkVHTlVNICYmIHJlZ25vIDw9IEY3X1JFR05VTSkNCisgICAgew0K KyAgICAgIGludCBmbiA9IHJlZ25vIC0gRjBfUkVHTlVNOw0KKw0KKyAgICAg IHN3aXRjaCAoZnAuZlR5cGVbZm5dKQ0KKwl7DQorCWNhc2UgdHlwZVNpbmds ZToNCisJICBmZXRjaF9ud2ZwZV9zaW5nbGUgKGZuLCAmZnApOw0KKwkgIGJy ZWFrOw0KKw0KKwljYXNlIHR5cGVEb3VibGU6DQorCSAgICBmZXRjaF9ud2Zw ZV9kb3VibGUgKGZuLCAmZnApOw0KKwkgIGJyZWFrOw0KKw0KKwljYXNlIHR5 cGVFeHRlbmRlZDoNCisJICAgIGZldGNoX253ZnBlX2V4dGVuZGVkIChmbiwg JmZwKTsNCisJICBicmVhazsNCisNCisJZGVmYXVsdDoNCisJICAgIGZldGNo X253ZnBlX25vbmUgKGZuKTsNCisJfQ0KKyAgICB9DQorfQ0KKw0KKy8qIEdl dCB0aGUgd2hvbGUgZmxvYXRpbmcgcG9pbnQgc3RhdGUgb2YgdGhlIHByb2Nl c3MgYW5kIHN0b3JlIGl0DQorICAgaW50byByZWdpc3RlcnNbXS4gICovDQor DQorc3RhdGljIHZvaWQNCiBmZXRjaF9mcHJlZ3MgKHZvaWQpDQogew0KLSAg aW50IHJldCwgcmVnbm87DQorICBpbnQgcmV0LCByZWdubywgdGlkOw0KICAg RlBBMTEgZnA7DQogDQorICAvKiBHZXQgdGhlIHRocmVhZCBpZCBmb3IgdGhl IHB0cmFjZSBjYWxsLiAgKi8NCisgIHRpZCA9IEdFVF9USFJFQURfSUQgKGlu ZmVyaW9yX3BpZCk7DQorICANCiAgIC8qIFJlYWQgdGhlIGZsb2F0aW5nIHBv aW50IHN0YXRlLiAgKi8NCi0gIHJldCA9IHB0cmFjZSAoUFRfR0VURlBSRUdT LCBpbmZlcmlvcl9waWQsIDAsICZmcCk7DQorICByZXQgPSBwdHJhY2UgKFBU X0dFVEZQUkVHUywgdGlkLCAwLCAmZnApOw0KICAgaWYgKHJldCA8IDApDQog ICAgIHsNCi0gICAgICB3YXJuaW5nICgiVW5hYmxlIHRvIGZldGNoIHRoZSBm bG9hdGluZyBwb2ludCBzdGF0ZS4iKTsNCisgICAgICB3YXJuaW5nICgiVW5h YmxlIHRvIGZldGNoIHRoZSBmbG9hdGluZyBwb2ludCByZWdpc3RlcnMuIik7 DQogICAgICAgcmV0dXJuOw0KICAgICB9DQogDQpAQCAtMTkxLDE1ICszMTMs NjQgQEAgZmV0Y2hfZnByZWdzICh2b2lkKQ0KICAgICB9DQogfQ0KIA0KKy8q IFNhdmUgYSBwYXJ0aWN1bGFyIHJlZ2lzdGVyIGludG8gdGhlIGZsb2F0aW5n IHBvaW50IHN0YXRlIG9mIHRoZQ0KKyAgIHByb2Nlc3MgdXNpbmcgdGhlIGNv bnRlbnRzIGZyb20gcmVnaXN0ZXJzW10uICAqLw0KKw0KK3N0YXRpYyB2b2lk DQorc3RvcmVfZnByZWdpc3RlciAoaW50IHJlZ25vKQ0KK3sNCisgIGludCBy ZXQsIHRpZDsNCisgIEZQQTExIGZwOw0KKw0KKyAgLyogR2V0IHRoZSB0aHJl YWQgaWQgZm9yIHRoZSBwdHJhY2UgY2FsbC4gICovDQorICB0aWQgPSBHRVRf VEhSRUFEX0lEIChpbmZlcmlvcl9waWQpOw0KKyAgDQorICAvKiBSZWFkIHRo ZSBmbG9hdGluZyBwb2ludCBzdGF0ZS4gICovDQorICByZXQgPSBwdHJhY2Ug KFBUX0dFVEZQUkVHUywgdGlkLCAwLCAmZnApOw0KKyAgaWYgKHJldCA8IDAp DQorICAgIHsNCisgICAgICB3YXJuaW5nICgiVW5hYmxlIHRvIGZldGNoIHRo ZSBmbG9hdGluZyBwb2ludCByZWdpc3RlcnMuIik7DQorICAgICAgcmV0dXJu Ow0KKyAgICB9DQorDQorICAvKiBTdG9yZSBmcHNyLiAgKi8NCisgIGlmIChG UFNfUkVHTlVNID09IHJlZ25vICYmIHJlZ2lzdGVyX3ZhbGlkW0ZQU19SRUdO VU1dKQ0KKyAgICByZWFkX3JlZ2lzdGVyX2dlbiAoRlBTX1JFR05VTSwgKGNo YXIgKikgJmZwLmZwc3IpOw0KKw0KKyAgLyogU3RvcmUgdGhlIGZsb2F0aW5n IHBvaW50IHJlZ2lzdGVyLiAgKi8NCisgIGlmIChyZWdubyA+PSBGMF9SRUdO VU0gJiYgcmVnbm8gPD0gRjdfUkVHTlVNKQ0KKyAgICB7DQorICAgICAgc3Rv cmVfbndmcGVfcmVnaXN0ZXIgKHJlZ25vLCAmZnApOw0KKyAgICB9DQorDQor ICByZXQgPSBwdHJhY2UgKFBUUkFDRV9TRVRGUFJFR1MsIHRpZCwgMCwgJmZw KTsNCisgIGlmIChyZXQgPCAwKQ0KKyAgICB7DQorICAgICAgd2FybmluZyAo IlVuYWJsZSB0byBzdG9yZSBmbG9hdGluZyBwb2ludCByZWdpc3Rlci4iKTsN CisgICAgICByZXR1cm47DQorICAgIH0NCit9DQorDQogLyogU2F2ZSB0aGUg d2hvbGUgZmxvYXRpbmcgcG9pbnQgc3RhdGUgb2YgdGhlIHByb2Nlc3MgdXNp bmcNCiAgICB0aGUgY29udGVudHMgZnJvbSByZWdpc3RlcnNbXS4gICovDQog DQogc3RhdGljIHZvaWQNCiBzdG9yZV9mcHJlZ3MgKHZvaWQpDQogew0KLSAg aW50IHJldCwgcmVnbm87DQorICBpbnQgcmV0LCByZWdubywgdGlkOw0KICAg RlBBMTEgZnA7DQogDQorICAvKiBHZXQgdGhlIHRocmVhZCBpZCBmb3IgdGhl IHB0cmFjZSBjYWxsLiAgKi8NCisgIHRpZCA9IEdFVF9USFJFQURfSUQgKGlu ZmVyaW9yX3BpZCk7DQorICANCisgIC8qIFJlYWQgdGhlIGZsb2F0aW5nIHBv aW50IHN0YXRlLiAgKi8NCisgIHJldCA9IHB0cmFjZSAoUFRfR0VURlBSRUdT LCB0aWQsIDAsICZmcCk7DQorICBpZiAocmV0IDwgMCkNCisgICAgew0KKyAg ICAgIHdhcm5pbmcgKCJVbmFibGUgdG8gZmV0Y2ggdGhlIGZsb2F0aW5nIHBv aW50IHJlZ2lzdGVycy4iKTsNCisgICAgICByZXR1cm47DQorICAgIH0NCisN CiAgIC8qIFN0b3JlIGZwc3IuICAqLw0KICAgaWYgKHJlZ2lzdGVyX3ZhbGlk W0ZQU19SRUdOVU1dKQ0KICAgICByZWFkX3JlZ2lzdGVyX2dlbiAoRlBTX1JF R05VTSwgKGNoYXIgKikgJmZwLmZwc3IpOw0KQEAgLTIwNyw0NCArMzc4LDY3 IEBAIHN0b3JlX2ZwcmVncyAodm9pZCkNCiAgIC8qIFN0b3JlIHRoZSBmbG9h dGluZyBwb2ludCByZWdpc3RlcnMuICAqLw0KICAgZm9yIChyZWdubyA9IEYw X1JFR05VTTsgcmVnbm8gPD0gRjdfUkVHTlVNOyByZWdubysrKQ0KICAgICB7 DQotICAgICAgaWYgKHJlZ2lzdGVyX3ZhbGlkW3JlZ25vXSkNCi0Jew0KLQkg IHVuc2lnbmVkIGludCBmbiA9IHJlZ25vIC0gRjBfUkVHTlVNOw0KLQkgIHN3 aXRjaCAoZnAuZlR5cGVbZm5dKQ0KLQkgICAgew0KLQkgICAgY2FzZSB0eXBl U2luZ2xlOg0KLQkgICAgICBzdG9yZV9ud2ZwZV9zaW5nbGUgKGZuLCAmZnAp Ow0KLQkgICAgICBicmVhazsNCi0NCi0JICAgIGNhc2UgdHlwZURvdWJsZToN Ci0JICAgICAgc3RvcmVfbndmcGVfZG91YmxlIChmbiwgJmZwKTsNCi0JICAg ICAgYnJlYWs7DQotDQotCSAgICBjYXNlIHR5cGVFeHRlbmRlZDoNCi0JICAg ICAgc3RvcmVfbndmcGVfZXh0ZW5kZWQgKGZuLCAmZnApOw0KLQkgICAgICBi cmVhazsNCi0JICAgIH0NCi0JfQ0KKyAgICAgIGZldGNoX253ZnBlX3JlZ2lz dGVyIChyZWdubywgJmZwKTsNCiAgICAgfQ0KIA0KLSAgcmV0ID0gcHRyYWNl IChQVFJBQ0VfU0VURlBSRUdTLCBpbmZlcmlvcl9waWQsIDAsICZmcCk7DQor ICByZXQgPSBwdHJhY2UgKFBUUkFDRV9TRVRGUFJFR1MsIHRpZCwgMCwgJmZw KTsNCiAgIGlmIChyZXQgPCAwKQ0KICAgICB7DQotICAgICAgd2FybmluZyAo IlVuYWJsZSB0byBzdG9yZSBmbG9hdGluZyBwb2ludCBzdGF0ZS4iKTsNCisg ICAgICB3YXJuaW5nICgiVW5hYmxlIHRvIHN0b3JlIGZsb2F0aW5nIHBvaW50 IHJlZ2lzdGVycy4iKTsNCiAgICAgICByZXR1cm47DQogICAgIH0NCiB9DQog DQorLyogRmV0Y2ggYSBnZW5lcmFsIHJlZ2lzdGVyIG9mIHRoZSBwcm9jZXNz IGFuZCBzdG9yZSBpbnRvDQorICAgcmVnaXN0ZXJzW10uICAqLw0KKw0KK3N0 YXRpYyB2b2lkDQorZmV0Y2hfcmVnaXN0ZXIgKGludCByZWdubykNCit7DQor ICBpbnQgcmV0LCB0aWQ7DQorICBzdHJ1Y3QgcHRfcmVncyByZWdzOw0KKw0K KyAgLyogR2V0IHRoZSB0aHJlYWQgaWQgZm9yIHRoZSBwdHJhY2UgY2FsbC4g ICovDQorICB0aWQgPSBHRVRfVEhSRUFEX0lEIChpbmZlcmlvcl9waWQpOw0K KyAgDQorICByZXQgPSBwdHJhY2UgKFBUUkFDRV9HRVRSRUdTLCB0aWQsIDAs ICZyZWdzKTsNCisgIGlmIChyZXQgPCAwKQ0KKyAgICB7DQorICAgICAgd2Fy bmluZyAoIlVuYWJsZSB0byBmZXRjaCBnZW5lcmFsIHJlZ2lzdGVyLiIpOw0K KyAgICAgIHJldHVybjsNCisgICAgfQ0KKw0KKyAgaWYgKHJlZ25vID49IEEx X1JFR05VTSAmJiByZWdubyA8IFBDX1JFR05VTSkNCisgICAgc3VwcGx5X3Jl Z2lzdGVyIChyZWdubywgKGNoYXIgKikgJnJlZ3MudXJlZ3NbcmVnbm9dKTsN CisNCisgIGlmIChQU19SRUdOVU0gPT0gcmVnbm8pDQorICAgIHsNCisgICAg ICBpZiAoYXJtX2FwY3NfMzIpDQorICAgICAgICBzdXBwbHlfcmVnaXN0ZXIg KFBTX1JFR05VTSwgKGNoYXIgKikgJnJlZ3MudXJlZ3NbQ1BTUl9SRUdOVU1d KTsNCisgICAgICBlbHNlDQorICAgICAgICBzdXBwbHlfcmVnaXN0ZXIgKFBT X1JFR05VTSwgKGNoYXIgKikgJnJlZ3MudXJlZ3NbUENfUkVHTlVNXSk7DQor ICAgIH0NCisgICAgDQorICBpZiAoUENfUkVHTlVNID09IHJlZ25vKQ0KKyAg ICB7IA0KKyAgICAgIHJlZ3MudXJlZ3NbUENfUkVHTlVNXSA9IEFERFJfQklU U19SRU1PVkUgKHJlZ3MudXJlZ3NbUENfUkVHTlVNXSk7DQorICAgICAgc3Vw cGx5X3JlZ2lzdGVyIChQQ19SRUdOVU0sIChjaGFyICopICZyZWdzLnVyZWdz W1BDX1JFR05VTV0pOw0KKyAgICB9DQorfQ0KKw0KIC8qIEZldGNoIGFsbCBn ZW5lcmFsIHJlZ2lzdGVycyBvZiB0aGUgcHJvY2VzcyBhbmQgc3RvcmUgaW50 bw0KICAgIHJlZ2lzdGVyc1tdLiAgKi8NCiANCiBzdGF0aWMgdm9pZA0KIGZl dGNoX3JlZ3MgKHZvaWQpDQogew0KLSAgaW50IHJldCwgcmVnbm87DQorICBp bnQgcmV0LCByZWdubywgdGlkOw0KICAgc3RydWN0IHB0X3JlZ3MgcmVnczsN CiANCi0gIHJldCA9IHB0cmFjZSAoUFRSQUNFX0dFVFJFR1MsIGluZmVyaW9y X3BpZCwgMCwgJnJlZ3MpOw0KKyAgLyogR2V0IHRoZSB0aHJlYWQgaWQgZm9y IHRoZSBwdHJhY2UgY2FsbC4gICovDQorICB0aWQgPSBHRVRfVEhSRUFEX0lE IChpbmZlcmlvcl9waWQpOw0KKyAgDQorICByZXQgPSBwdHJhY2UgKFBUUkFD RV9HRVRSRUdTLCB0aWQsIDAsICZyZWdzKTsNCiAgIGlmIChyZXQgPCAwKQ0K ICAgICB7DQogICAgICAgd2FybmluZyAoIlVuYWJsZSB0byBmZXRjaCBnZW5l cmFsIHJlZ2lzdGVycy4iKTsNCkBAIC0yNjcsMTIgKzQ2MSw0NyBAQCBmZXRj aF9yZWdzICh2b2lkKQ0KICAgIHJlZ2lzdGVyc1tdLiAgKi8NCiANCiBzdGF0 aWMgdm9pZA0KK3N0b3JlX3JlZ2lzdGVyIChpbnQgcmVnbm8pDQorew0KKyAg aW50IHJldCwgdGlkOw0KKyAgc3RydWN0IHB0X3JlZ3MgcmVnczsNCisgIA0K KyAgaWYgKCFyZWdpc3Rlcl92YWxpZFtyZWdub10pDQorICAgIHJldHVybjsN CisNCisgIC8qIEdldCB0aGUgdGhyZWFkIGlkIGZvciB0aGUgcHRyYWNlIGNh bGwuICAqLw0KKyAgdGlkID0gR0VUX1RIUkVBRF9JRCAoaW5mZXJpb3JfcGlk KTsNCisgIA0KKyAgLyogR2V0IHRoZSBnZW5lcmFsIHJlZ2lzdGVycyBmcm9t IHRoZSBwcm9jZXNzLiAgKi8NCisgIHJldCA9IHB0cmFjZSAoUFRSQUNFX0dF VFJFR1MsIHRpZCwgMCwgJnJlZ3MpOw0KKyAgaWYgKHJldCA8IDApDQorICAg IHsNCisgICAgICB3YXJuaW5nICgiVW5hYmxlIHRvIGZldGNoIGdlbmVyYWwg cmVnaXN0ZXJzLiIpOw0KKyAgICAgIHJldHVybjsNCisgICAgfQ0KKw0KKyAg aWYgKHJlZ25vID49IEExX1JFR05VTSAmJiByZWdubyA8PSBQQ19SRUdOVU0p DQorICAgIHJlYWRfcmVnaXN0ZXJfZ2VuIChyZWdubywgKGNoYXIgKikgJnJl Z3MudXJlZ3NbcmVnbm9dKTsNCisNCisgIHJldCA9IHB0cmFjZSAoUFRSQUNF X1NFVFJFR1MsIHRpZCwgMCwgJnJlZ3MpOw0KKyAgaWYgKHJldCA8IDApDQor ICAgIHsNCisgICAgICB3YXJuaW5nICgiVW5hYmxlIHRvIHN0b3JlIGdlbmVy YWwgcmVnaXN0ZXIuIik7DQorICAgICAgcmV0dXJuOw0KKyAgICB9DQorfQ0K Kw0KK3N0YXRpYyB2b2lkDQogc3RvcmVfcmVncyAodm9pZCkNCiB7DQotICBp bnQgcmV0LCByZWdubzsNCisgIGludCByZXQsIHJlZ25vLCB0aWQ7DQogICBz dHJ1Y3QgcHRfcmVncyByZWdzOw0KIA0KLSAgcmV0ID0gcHRyYWNlIChQVFJB Q0VfR0VUUkVHUywgaW5mZXJpb3JfcGlkLCAwLCAmcmVncyk7DQorICAvKiBH ZXQgdGhlIHRocmVhZCBpZCBmb3IgdGhlIHB0cmFjZSBjYWxsLiAgKi8NCisg IHRpZCA9IEdFVF9USFJFQURfSUQgKGluZmVyaW9yX3BpZCk7DQorICANCisg IC8qIEZldGNoIHRoZSBnZW5lcmFsIHJlZ2lzdGVycy4gICovDQorICByZXQg PSBwdHJhY2UgKFBUUkFDRV9HRVRSRUdTLCB0aWQsIDAsICZyZWdzKTsNCiAg IGlmIChyZXQgPCAwKQ0KICAgICB7DQogICAgICAgd2FybmluZyAoIlVuYWJs ZSB0byBmZXRjaCBnZW5lcmFsIHJlZ2lzdGVycy4iKTsNCkBAIC0yODUsNyAr NTE0LDcgQEAgc3RvcmVfcmVncyAodm9pZCkNCiAJcmVhZF9yZWdpc3Rlcl9n ZW4gKHJlZ25vLCAoY2hhciAqKSAmcmVncy51cmVnc1tyZWdub10pOw0KICAg ICB9DQogDQotICByZXQgPSBwdHJhY2UgKFBUUkFDRV9TRVRSRUdTLCBpbmZl cmlvcl9waWQsIDAsICZyZWdzKTsNCisgIHJldCA9IHB0cmFjZSAoUFRSQUNF X1NFVFJFR1MsIHRpZCwgMCwgJnJlZ3MpOw0KIA0KICAgaWYgKHJldCA8IDAp DQogICAgIHsNCkBAIC0zMDEsMTEgKzUzMCwxOSBAQCBzdG9yZV9yZWdzICh2 b2lkKQ0KIHZvaWQNCiBmZXRjaF9pbmZlcmlvcl9yZWdpc3RlcnMgKGludCBy ZWdubykNCiB7DQotICBpZiAoKHJlZ25vIDwgRjBfUkVHTlVNKSB8fCAocmVn bm8gPiBGUFNfUkVHTlVNKSkNCi0gICAgZmV0Y2hfcmVncyAoKTsNCisgIGlm ICgtMSA9PSByZWdubykNCisgICAgew0KKyAgICAgIGZldGNoX3JlZ3MgKCk7 DQorICAgICAgZmV0Y2hfZnByZWdzICgpOw0KKyAgICB9DQorICBlbHNlIA0K KyAgICB7DQorICAgICAgaWYgKHJlZ25vIDwgRjBfUkVHTlVNIHx8IHJlZ25v ID4gRlBTX1JFR05VTSkNCisgICAgICAgIGZldGNoX3JlZ2lzdGVyIChyZWdu byk7DQogDQotICBpZiAoKChyZWdubyA+PSBGMF9SRUdOVU0pICYmIChyZWdu byA8PSBGUFNfUkVHTlVNKSkgfHwgKHJlZ25vID09IC0xKSkNCi0gICAgZmV0 Y2hfZnByZWdzICgpOw0KKyAgICAgIGlmIChyZWdubyA+PSBGMF9SRUdOVU0g JiYgcmVnbm8gPD0gRlBTX1JFR05VTSkNCisgICAgICAgIGZldGNoX2ZwcmVn aXN0ZXIgKHJlZ25vKTsNCisgICAgfQ0KIH0NCiANCiAvKiBTdG9yZSByZWdp c3RlcnMgYmFjayBpbnRvIHRoZSBpbmZlcmlvci4gIFN0b3JlIGFsbCByZWdp c3RlcnMgaWYNCkBAIC0zMTUsMTcgKzU1MiwxMTggQEAgZmV0Y2hfaW5mZXJp b3JfcmVnaXN0ZXJzIChpbnQgcmVnbm8pDQogdm9pZA0KIHN0b3JlX2luZmVy aW9yX3JlZ2lzdGVycyAoaW50IHJlZ25vKQ0KIHsNCi0gIGlmICgocmVnbm8g PCBGMF9SRUdOVU0pIHx8IChyZWdubyA+IEZQU19SRUdOVU0pKQ0KLSAgICBz dG9yZV9yZWdzICgpOw0KKyAgaWYgKC0xID09IHJlZ25vKQ0KKyAgICB7DQor ICAgICAgc3RvcmVfcmVncyAoKTsNCisgICAgICBzdG9yZV9mcHJlZ3MgKCk7 DQorICAgIH0NCisgIGVsc2UNCisgICAgew0KKyAgICAgIGlmICgocmVnbm8g PCBGMF9SRUdOVU0pIHx8IChyZWdubyA+IEZQU19SRUdOVU0pKQ0KKyAgICAg ICAgc3RvcmVfcmVnaXN0ZXIgKHJlZ25vKTsNCiANCi0gIGlmICgoKHJlZ25v ID49IEYwX1JFR05VTSkgJiYgKHJlZ25vIDw9IEZQU19SRUdOVU0pKSB8fCAo cmVnbm8gPT0gLTEpKQ0KLSAgICBzdG9yZV9mcHJlZ3MgKCk7DQorICAgICAg aWYgKChyZWdubyA+PSBGMF9SRUdOVU0pICYmIChyZWdubyA8PSBGUFNfUkVH TlVNKSkNCisgICAgICAgIHN0b3JlX2ZwcmVnaXN0ZXIgKHJlZ25vKTsNCisg ICAgfQ0KIH0NCiANCi1pbnQNCi1hcm1fbGludXhfcmVnaXN0ZXJfdV9hZGRy IChpbnQgYmxvY2tlbmQsIGludCByZWdudW0pDQorLyogRmlsbCByZWdpc3Rl ciByZWdubyAoaWYgaXQgaXMgYSBnZW5lcmFsLXB1cnBvc2UgcmVnaXN0ZXIp IGluDQorICAgKmdyZWdzZXRwIHdpdGggdGhlIGFwcHJvcHJpYXRlIHZhbHVl IGZyb20gR0RCJ3MgcmVnaXN0ZXIgYXJyYXkuDQorICAgSWYgcmVnbm8gaXMg LTEsIGRvIHRoaXMgZm9yIGFsbCByZWdpc3RlcnMuICAqLw0KKw0KK3ZvaWQN CitmaWxsX2dyZWdzZXQgKGdyZWdzZXRfdCAqZ3JlZ3NldHAsIGludCByZWdu bykNCit7DQorICBpZiAoLTEgPT0gcmVnbm8pDQorICAgIHsNCisgICAgICBp bnQgcmVnbnVtOw0KKyAgICAgIGZvciAocmVnbnVtID0gQTFfUkVHTlVNOyBy ZWdudW0gPD0gUENfUkVHTlVNOyByZWdudW0rKykgDQorICAgICAgICBpZiAo cmVnaXN0ZXJfdmFsaWRbcmVnbnVtXSkNCisJICByZWFkX3JlZ2lzdGVyX2dl biAocmVnbnVtLCAoY2hhciAqKSAmKCpncmVnc2V0cClbcmVnbnVtXSk7DQor ICAgIH0NCisgIGVsc2UgaWYgKHJlZ25vID49IEExX1JFR05VTSAmJiByZWdu byA8PSBQQ19SRUdOVU0pDQorICAgIHsNCisgICAgICBpZiAocmVnaXN0ZXJf dmFsaWRbcmVnbm9dKQ0KKwlyZWFkX3JlZ2lzdGVyX2dlbiAocmVnbm8sIChj aGFyICopICYoKmdyZWdzZXRwKVtyZWdub10pOw0KKyAgICB9DQorDQorICBp ZiAoUFNfUkVHTlVNID09IHJlZ25vIHx8IC0xID09IHJlZ25vKQ0KKyAgICB7 DQorICAgICAgaWYgKHJlZ2lzdGVyX3ZhbGlkW3JlZ25vXSB8fCAtMSA9PSBy ZWdubykNCisgICAgICAgIHsNCisgICAgICAgICAgaWYgKGFybV9hcGNzXzMy KQ0KKwkgICAgcmVhZF9yZWdpc3Rlcl9nZW4gKFBTX1JFR05VTSwgKGNoYXIg KikgJigqZ3JlZ3NldHApW0NQU1JfUkVHTlVNXSk7DQorCSAgZWxzZQ0KKwkg ICAgcmVhZF9yZWdpc3Rlcl9nZW4gKFBDX1JFR05VTSwgKGNoYXIgKikgJigq Z3JlZ3NldHApW1BDX1JFR05VTV0pOw0KKwl9DQorICAgIH0NCisgICAgICAg IA0KK30NCisNCisvKiBGaWxsIEdEQidzIHJlZ2lzdGVyIGFycmF5IHdpdGgg dGhlIGdlbmVyYWwtcHVycG9zZSByZWdpc3RlciB2YWx1ZXMNCisgICBpbiAq Z3JlZ3NldHAuICAqLw0KKw0KK3ZvaWQNCitzdXBwbHlfZ3JlZ3NldCAoZ3Jl Z3NldF90ICpncmVnc2V0cCkNCiB7DQotICByZXR1cm4gYmxvY2tlbmQgKyBS RUdJU1RFUl9CWVRFIChyZWdudW0pOw0KKyAgaW50IHJlZ25vLCByZWdfcGM7 DQorDQorICBmb3IgKHJlZ25vID0gQTFfUkVHTlVNOyByZWdubyA8IFBDX1JF R05VTTsgcmVnbm8rKykNCisgICAgc3VwcGx5X3JlZ2lzdGVyIChyZWdubywg KGNoYXIgKikgJigqZ3JlZ3NldHApW3JlZ25vXSk7DQorDQorICBpZiAoYXJt X2FwY3NfMzIpDQorICAgIHN1cHBseV9yZWdpc3RlciAoUFNfUkVHTlVNLCAo Y2hhciAqKSAmKCpncmVnc2V0cClbQ1BTUl9SRUdOVU1dKTsNCisgIGVsc2UN CisgICAgc3VwcGx5X3JlZ2lzdGVyIChQU19SRUdOVU0sIChjaGFyICopICYo KmdyZWdzZXRwKVtQQ19SRUdOVU1dKTsNCisNCisgIHJlZ19wYyA9IEFERFJf QklUU19SRU1PVkUgKChDT1JFX0FERFIpKCpncmVnc2V0cClbUENfUkVHTlVN XSk7DQorICBzdXBwbHlfcmVnaXN0ZXIgKFBDX1JFR05VTSwgKGNoYXIgKikg JnJlZ19wYyk7DQorfQ0KKw0KKy8qIEZpbGwgcmVnaXN0ZXIgcmVnbm8gKGlm IGl0IGlzIGEgZmxvYXRpbmctcG9pbnQgcmVnaXN0ZXIpIGluDQorICAgKmZw cmVnc2V0cCB3aXRoIHRoZSBhcHByb3ByaWF0ZSB2YWx1ZSBmcm9tIEdEQidz IHJlZ2lzdGVyIGFycmF5Lg0KKyAgIElmIHJlZ25vIGlzIC0xLCBkbyB0aGlz IGZvciBhbGwgcmVnaXN0ZXJzLiAgKi8NCisNCit2b2lkDQorZmlsbF9mcHJl Z3NldCAoZnByZWdzZXRfdCAqZnByZWdzZXRwLCBpbnQgcmVnbm8pDQorew0K KyAgRlBBMTEgKmZwID0gKEZQQTExICopIGZwcmVnc2V0cDsNCisgIA0KKyAg aWYgKC0xID09IHJlZ25vKQ0KKyAgICB7DQorICAgICAgIGludCByZWdudW07 DQorICAgICAgIGZvciAocmVnbnVtID0gRjBfUkVHTlVNOyByZWdudW0gPD0g RjdfUkVHTlVNOyByZWdudW0rKykNCisgICAgICAgICBzdG9yZV9ud2ZwZV9y ZWdpc3RlciAocmVnbnVtLCBmcCk7DQorICAgIH0NCisgIGVsc2UgaWYgKHJl Z25vID49IEYwX1JFR05VTSAmJiByZWdubyA8PSBGN19SRUdOVU0pDQorICAg IHsNCisgICAgICBzdG9yZV9ud2ZwZV9yZWdpc3RlciAocmVnbm8sIGZwKTsN CisgICAgICByZXR1cm47DQorICAgIH0NCisNCisgIC8qIFN0b3JlIGZwc3Iu ICAqLw0KKyAgaWYgKHJlZ2lzdGVyX3ZhbGlkW0ZQU19SRUdOVU1dKQ0KKyAg ICBpZiAoRlBTX1JFR05VTSA9PSByZWdubyB8fCAtMSA9PSByZWdubykNCisg ICAgICByZWFkX3JlZ2lzdGVyX2dlbiAoRlBTX1JFR05VTSwgKGNoYXIgKikg JmZwLT5mcHNyKTsNCit9DQorDQorLyogRmlsbCBHREIncyByZWdpc3RlciBh cnJheSB3aXRoIHRoZSBmbG9hdGluZy1wb2ludCByZWdpc3RlciB2YWx1ZXMN CisgICBpbiAqZnByZWdzZXRwLiAgKi8NCisNCit2b2lkDQorc3VwcGx5X2Zw cmVnc2V0IChmcHJlZ3NldF90ICpmcHJlZ3NldHApDQorew0KKyAgaW50IHJl Z25vOw0KKyAgRlBBMTEgKmZwID0gKEZQQTExICopIGZwcmVnc2V0cDsNCisN CisgIC8qIEZldGNoIGZwc3IuICAqLw0KKyAgc3VwcGx5X3JlZ2lzdGVyIChG UFNfUkVHTlVNLCAoY2hhciAqKSAmZnAtPmZwc3IpOw0KKw0KKyAgLyogRmV0 Y2ggdGhlIGZsb2F0aW5nIHBvaW50IHJlZ2lzdGVycy4gICovDQorICBmb3Ig KHJlZ25vID0gRjBfUkVHTlVNOyByZWdubyA8PSBGN19SRUdOVU07IHJlZ25v KyspDQorICAgIHsNCisgICAgICBmZXRjaF9ud2ZwZV9yZWdpc3RlciAocmVn bm8sIGZwKTsNCisgICAgfQ0KIH0NCiANCiBpbnQNCkluZGV4OiBjb25maWd1 cmUudGd0DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2N2 cy9zcmMvc3JjL2dkYi9jb25maWd1cmUudGd0LHYNCnJldHJpZXZpbmcgcmV2 aXNpb24gMS41DQpkaWZmIC11IC1wIC1yMS41IGNvbmZpZ3VyZS50Z3QNCi0t LSBjb25maWd1cmUudGd0CTIwMDAvMDMvMjEgMDU6MjY6MzEJMS41DQorKysg Y29uZmlndXJlLnRndAkyMDAwLzA0LzIwIDE5OjEwOjI5DQpAQCAtNTIsNyAr NTIsOSBAQCBhbHBoYSotKi1saW51eCopCWdkYl90YXJnZXQ9YWxwaGEtbGlu dXggDQogYXJjLSotKikJCWdkYl90YXJnZXQ9YXJjIDs7DQogDQogYXJtKi13 aW5jZS1wZSkJCWdkYl90YXJnZXQ9d2luY2UgOzsNCi1hcm0qLSotbGludXgq KQkJZ2RiX3RhcmdldD1saW51eCA7Ow0KK2FybSotKi1saW51eCopCQlnZGJf dGFyZ2V0PWxpbnV4IA0KKwkJCWNvbmZpZ2RpcnM9IiRjb25maWdkaXJzIGdk YnNlcnZlciINCisJCQk7Ow0KIGFybSotKi0qIHwgdGh1bWIqLSotKiB8IHN0 cm9uZ2FybSotKi0qKQ0KIAkJCWdkYl90YXJnZXQ9ZW1iZWQNCiAgICAgICAg ICAgICAgICAgICAgICAgICBjb25maWdkaXJzPSIkY29uZmlnZGlycyByZGkt c2hhcmUiDQpJbmRleDogY29uZmlnL2FybS9saW51eC5taA0KPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvY29u ZmlnL2FybS9saW51eC5taCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMg0K ZGlmZiAtdSAtcCAtcjEuMiBsaW51eC5taA0KLS0tIGxpbnV4Lm1oCTIwMDAv MDIvMjggMjA6Mjg6MTAJMS4yDQorKysgbGludXgubWgJMjAwMC8wNC8yMCAx OToxMDozMA0KQEAgLTUsNCArNSw3IEBAIFhERVBGSUxFUz0gc2VyLXRjcC5v DQogDQogTkFUX0ZJTEU9IG5tLWxpbnV4LmgNCiBOQVRERVBGSUxFUz0gaW5m cHRyYWNlLm8gc29saWIubyBpbmZ0YXJnLm8gZm9yay1jaGlsZC5vIGNvcmVs b3cubyBcDQotCSAgICAgY29yZS1hb3V0Lm8gYXJtLWxpbnV4LW5hdC5vDQor CSAgICAgY29yZS1yZWdzZXQubyBhcm0tbGludXgtbmF0Lm8gbGludXgtdGhy ZWFkLm8gbGluLXRocmVhZC5vDQorDQorTE9BRExJQkVTPSAtbGRsIC1yZHlu YW1pYw0KKw0KSW5kZXg6IGNvbmZpZy9hcm0vbm0tbGludXguaA0KPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIv Y29uZmlnL2FybS9ubS1saW51eC5oLHYNCnJldHJpZXZpbmcgcmV2aXNpb24g MS4xLjEuMQ0KZGlmZiAtdSAtcCAtcjEuMS4xLjEgbm0tbGludXguaA0KLS0t IG5tLWxpbnV4LmgJMTk5OS8xMi8yMiAyMTo0NToxMgkxLjEuMS4xDQorKysg bm0tbGludXguaAkyMDAwLzA0LzIwIDE5OjEwOjMwDQpAQCAtMjEsMjYgKzIx LDEzIEBADQogI2lmbmRlZiBOTV9BUk1MSU5VWF9IDQogI2RlZmluZSBOTV9B Uk1MSU5VWF9IDQogDQorI2luY2x1ZGUgIm5tLWxpbnV4LmgiDQorDQogLyog UmV0dXJuIHNpemVvZiB1c2VyIHN0cnVjdCB0byBjYWxsZXJzIGluIGxlc3Mg bWFjaGluZSBkZXBlbmRlbnQgcm91dGluZXMgKi8NCiBleHRlcm4gaW50IGtl cm5lbF91X3NpemUgKHZvaWQpOw0KICNkZWZpbmUgS0VSTkVMX1VfU0laRQlh cm1fbGludXhfa2VybmVsX3Vfc2l6ZSgpDQogDQogLyogT3ZlcnJpZGUgY29w aWVzIG9mIHtmZXRjaCxzdG9yZX1faW5mZXJpb3JfcmVnaXN0ZXJzIGluIGlu ZnB0cmFjZS5jLiAgKi8NCiAjZGVmaW5lIEZFVENIX0lORkVSSU9SX1JFR0lT VEVSUw0KLQ0KLS8qIFRlbGwgZ2RiIHRoYXQgd2UgY2FuIGF0dGFjaCBhbmQg ZGV0YWNoIG90aGVyIHByb2Nlc3Nlcy4gICovDQotI2RlZmluZSBBVFRBQ0hf REVUQUNIDQotDQotZXh0ZXJuIGludCBhcm1fcmVnaXN0ZXJfdV9hZGRyIChp bnQsIGludCk7DQotI2RlZmluZSBSRUdJU1RFUl9VX0FERFIoYWRkciwgYmxv Y2tlbmQsIHJlZ25vKSBcDQotCXsgKGFkZHIpID0gYXJtX2xpbnV4X3JlZ2lz dGVyX3VfYWRkcigoYmxvY2tlbmQpLCAocmVnbm8pKTsgfQ0KLQ0KLS8qIFdl IGRlZmluZSB0aGlzIGlmIGxpbmsuaCBpcyBhdmFpbGFibGUsIGJlY2F1c2Ug d2l0aCBFTEYgd2UgdXNlIFNWUjQgc3R5bGUNCi0gICBzaGFyZWQgbGlicmFy aWVzLiAqLw0KLQ0KLSNpZmRlZiBIQVZFX0xJTktfSA0KLSNkZWZpbmUgU1ZS NF9TSEFSRURfTElCUw0KLSNpbmNsdWRlICJzb2xpYi5oIgkJLyogU3VwcG9y dCBmb3Igc2hhcmVkIGxpYnJhcmllcy4gKi8NCi0jZW5kaWYNCiANCiAjZW5k aWYgLyogTk1fQVJNTElOVVhfSCAqLw0K ------------=_1583534348-29877-8-- >From scottb@netwinder.org Thu Apr 20 14:32:00 2000 From: Scott Bambrough To: GDB Patches Mail List Subject: RFC: Testsuite patches, a few comments and questions... Date: Thu, 20 Apr 2000 14:32:00 -0000 Message-id: <38FF766A.9C4989F2@netwinder.org> X-SW-Source: 2000-04/msg00399.html Content-type: multipart/mixed; boundary="----------=_1583534348-29877-9" This is a multi-part message in MIME format... ------------=_1583534348-29877-9 Content-length: 7273 I spent most of today running the testsuite on the 5.0 branch on a NetWinder. My goal was to get rid of all XPASS and UNTESTED results. I also took the time to examine which tests were not being run on my platform and why. In many cases that boiled down to which tests ran only on HP platforms. Using the attached patches to the test suite I can achieve the appended results on ARM Linux in the GDB 5.0 branch. Most of the patches remove setup_xfails or simple enable the tests to be run on ARM Linux. The lone exception is: * testsuite/gdb.base/so-impl-ld.exp: Fixed typo in triplet for linux. Added wildcard to handle gnu-oldld case on ARM. I had to remove a leading space in the triplet to get the test to run. I also added a wildcard ("*") after the gnu to handle the arm*-*-linux-gnuoldld target. I enabled the following tests to run on ARM Linux. For the most part, the previously they only ran on HP configurations. They are included in the appended results. For the most part they seem to be useful tests for Linux in general, but are just run for HP configurations. I'd appreciate comments if someone thinks they are not. I only gave them a cursory once over during my tests today. gdb.base/environ.exp 23/26 tests pass gdb.base/recurse.exp 19/19 tests pass gdb.base/sect-cmd.exp 3/4 tests pass gdb.base/so-indr-cl.exp 1/2 tests pass I also tried the following tests on ARM Linux. None of these run on anything but HP configurations. They are NOT included in the attached results. These seem like they would be useful, but for the most part more than 50% of the tests fail. I've spent no time following these up. Some of the results are surprising; completion.exp tests command line completion. I'd expect it to work on any machine. Comments would interest me. gdb.base/attach.exp 15/23 tests pass gdb.base/completion.exp 4/23 tests pass gdb.base/foll-exec.exp 12/27 tests pass gdb.base/foll-fork.exp 15/26 tests pass gdb.base/foll-vfork.exp 6/15 tests pass gdb.base/member-ptr.exp 12/39 tests pass gdb.base/solib.exp 0/26 tests pass I also tried the following tests on ARM Linux. None of these compiled for me. gdb.c++/ambiguous.exp gdb.c++/ctti.exp gdb.threads/step.exp gdb.threads/step2.exp I don't understand the following code from pthreads.exp: proc test_startup {} { global srcdir srcfile gdb_prompt expect_out global horiz global main_id thread1_id thread2_id # We should be able to do an info threads before starting any others. send_gdb "info threads\n" gdb_expect { -re ".*Thread.*LWP.*main.*$gdb_prompt $" { pass "info threads" } -re "\r\n$gdb_prompt $" { pass "info threads" setup_xfail "*-*-*" fail "gdb does not support pthreads for this machine" return 0 ... The last expect case is very odd. It succeeds, sets up an xfail, fails and exits deliberately as it is starting the tests. Why? Is there some reason for this? While I did this work in the branch, I'm not convinced the patch is suitable for it. Any comments? The results follow: Native configuration is armv4l-unknown-linux-gnu === gdb tests === Running target unix FAIL: gdb.base/annota1.exp: run until main breakpoint FAIL: gdb.base/annota1.exp: backtrace from shlibrary FAIL: gdb.base/annota1.exp: backtrace @ signal handler FAIL: gdb.base/break.exp: break main #1 FAIL: gdb.base/break.exp: break main #2 FAIL: gdb.base/break.exp: clear main FAIL: gdb.base/break.exp: breakpoint function, optimized file FAIL: gdb.base/break.exp: run until function breakpoint, optimized file FAIL: gdb.base/break.exp: run until breakpoint set at small function, optimized file FAIL: gdb.base/commands.exp: continue in infrun_breakpoint_command_test FAIL: gdb.base/corefile.exp: args: -core=corefile FAIL: gdb.base/environ.exp: info program FAIL: gdb.base/environ.exp: info program after step FAIL: gdb.base/environ.exp: info program after deleted breakpoint FAIL: gdb.base/interrupt.exp: continue FAIL: gdb.base/interrupt.exp: send end of file FAIL: gdb.base/return.exp: correct value returned double test (known problem with i*86 and sparc solaris FAIL: gdb.base/sect-cmd.exp: set section command FAIL: gdb.base/selftest.exp: backtrace through signal handler FAIL: gdb.base/sigall.exp: get signal CHLD FAIL: gdb.base/sigall.exp: advance to TTIN FAIL: gdb.base/sigall.exp: get signal TTIN FAIL: gdb.base/signals.exp: 'next' behaved as 'continue (known SVR4 bug)' FAIL: gdb.base/signals.exp: bt in signals.exp FAIL: gdb.base/so-impl-ld.exp: step into solib call FAIL: gdb.base/so-impl-ld.exp: step in solib call FAIL: gdb.base/so-impl-ld.exp: step out of solib call FAIL: gdb.base/so-indr-cl.exp: break on indirect solib call before running FAIL: gdb.base/step-test.exp: large struct by value FAIL: gdb.base/step-test.exp: continue until exit at step-test.exp: the program is no longer running FAIL: gdb.base/structs2.exp: structs2 continue2 (PRMS 13536) FAIL: gdb.c++/annota2.exp: delete bps FAIL: gdb.c++/annota2.exp: annotate-quit FAIL: gdb.c++/virtfunc.exp: print pEe->vvb() FAIL: gdb.mi/mi-console.exp: Hello message (timeout) FAIL: gdb.mi/mi-stack.exp: stack args listing 0 FAIL: gdb.mi/mi-stack.exp: stack args listing 1 FAIL: gdb.mi/mi-stack.exp: stack info-depth FAIL: gdb.mi/mi-stack.exp: stack info-depth 99 FAIL: gdb.stabs/weird.exp: p v_comb === gdb Summary === # of expected passes 6929 # of unexpected failures 40 # of expected failures 175 2000-04-19 Scott Bambrough * testsuite/gdb.base/environ.exp: Run tests for arm*-*-linux-gnu*. * testsuite/gdb.base/recurse.exp: Run tests for arm*-*-linux-gnu*. * testsuite/gdb.base/sect-cmd.exp: Run tests for arm*-*-linux-gnu*. * testsuite/gdb.base/so-impl-ld.exp: Fixed typo in triplet for linux. Added wildcard to handle gnu-oldld case on ARM. * testsuite/gdb.base/so-indr-cl.exp: Run tests for arm*-*-linux-gnu*. * testsuite/gdb.base/watchpoint.exp (test_stepping): Clear xfail. * testsuite/gdb.c++/derivation.exp (print g_instance.afoo): Remove setup_xfail "*-*-*". (print g_instance.bfoo): Remove setup_xfail "*-*-*". (print g_instance.cfoo): Remove setup_xfail "*-*-*". * testsuite/gdb.c++/overload.exp (print foo_instance1.overload_args()): Remove setup_xfail "*-*-*" on all tests (1-11 arguments). (print foo_instance1.overload1arg()): Remove setup_xfail "*-*-*" on all tests (none, char, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, float and double arguments). * testsuite/gdb.c++/virtfunc.exp (print pAa->f()): Remove setup_xfail "*-*-*". (print pDe->vg()): Remove setup_xfail "*-*-*". (print pADe->vg()): Remove setup_xfail "*-*-*". (print pDd->vg()): Remove setup_xfail "*-*-*". (print pEe->vvb()): Remove setup_xfail "*-*-*". (print pVb->vvb()): Remove setup_xfail "*-*-*". -- Scott Bambrough - Software Engineer REBEL.COM http://www.rebel.com NetWinder http://www.netwinder.org testsuite.patch ------------=_1583534348-29877-9 Content-Type: text/x-diff; charset=us-ascii; name="testsuite.patch" Content-Disposition: inline; filename="testsuite.patch" Content-Transfer-Encoding: base64 Content-Length: 17398 SW5kZXg6IGdkYi5iYXNlL2Vudmlyb24uZXhwDQo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09DQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvZW52aXJvbi5leHAsdg0KcmV0cmlldmluZyByZXZpc2lvbiAx LjEuMS4xDQpkaWZmIC11IC1wIC1yMS4xLjEuMSBlbnZpcm9uLmV4cA0KLS0t IGVudmlyb24uZXhwCTE5OTkvMDQvMTYgMDE6MzQ6MzAJMS4xLjEuMQ0KKysr IGVudmlyb24uZXhwCTIwMDAvMDQvMjAgMTk6MDk6MDANCkBAIC0zMyw3ICsz Myw3IEBAIHNldCBidWdfaWQgMA0KICMgVGhpcyB0ZXN0IGV4aXN0cyBzb2xl bHkgdG8gZXhlcmNpc2UgdGhlICJlbnZpcm9ubWVudCIgY29tbWFuZHMgZm9y DQogIyBjb2RlLWNvdmVyYWdlIG9uIEhQLVVYLg0KICMNCi1pZiAhW2lzdGFy Z2V0ICJocHBhKi0qLWhwdXgqIl0gdGhlbiB7DQoraWYgeyAhKFtpc3Rhcmdl dCAiaHBwYSotKi1ocHV4KiJdIHx8IFtpc3RhcmdldCAiYXJtKi0qLWxpbnV4 LWdudSoiXSl9IHRoZW4gew0KICAgcmV0dXJuDQogfQ0KIA0KSW5kZXg6IGdk Yi5iYXNlL3JlY3Vyc2UuZXhwDQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpS Q1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv cmVjdXJzZS5leHAsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjEuMS4xDQpk aWZmIC11IC1wIC1yMS4xLjEuMSByZWN1cnNlLmV4cA0KLS0tIHJlY3Vyc2Uu ZXhwCTE5OTkvMDQvMTYgMDE6MzQ6MzEJMS4xLjEuMQ0KKysrIHJlY3Vyc2Uu ZXhwCTIwMDAvMDQvMjAgMTk6MDk6MDENCkBAIC0xMjksNyArMTI5LDcgQEAg cHJvYyByZWN1cnNlX3Rlc3RzIHt9IHsNCiANCiAjIE9ubHkgZW5hYmxlZCBm b3Igc29tZSB0YXJnZXRzIG1lcmVseSBiZWNhdXNlIGl0IGhhcyBub3QgYmVl biB0ZXN0ZWQgDQogIyBlbHNld2hlcmUuDQotaWYge1tpc3RhcmdldCAic3Bh cmMqLSotc3Vub3M0KiJdIHx8IFtpc3RhcmdldCAiaHBwYSotKi1ic2QqIl0g fHwgW2lzdGFyZ2V0ICJocHBhKi0qLWhwdXgqIl0gfHwgW2lzdGFyZ2V0ICJz cGFyY2xldC0qLSoiXSB8fCBbaXN0YXJnZXQgIm0zMnItKi1lbGYiXSB8fCBb aXN0YXJnZXQgIm1uMTAyMDAtKi0qIl0gfHwgW2lzdGFyZ2V0ICJtbjEwMzAw LSotKiJdfSB0aGVuIHsNCitpZiB7W2lzdGFyZ2V0ICJzcGFyYyotKi1zdW5v czQqIl0gfHwgW2lzdGFyZ2V0ICJocHBhKi0qLWJzZCoiXSB8fCBbaXN0YXJn ZXQgImhwcGEqLSotaHB1eCoiXSB8fCBbaXN0YXJnZXQgInNwYXJjbGV0LSot KiJdIHx8IFtpc3RhcmdldCAibTMyci0qLWVsZiJdIHx8IFtpc3RhcmdldCAi bW4xMDIwMC0qLSoiXSB8fCBbaXN0YXJnZXQgIm1uMTAzMDAtKi0qIl0gfHwg W2lzdGFyZ2V0ICJhcm12Ki0qLWxpbnV4LWdudSoiXX0gdGhlbiB7DQogDQog ICAgICMgUHJlc2VydmUgdGhlIG9sZCB0aW1lb3V0LCBhbmQgc2V0IGEgbmV3 IG9uZSB0aGF0IHNob3VsZCBiZQ0KICAgICAjIHN1ZmZpY2llbnQgdG8gYXZv aWQgdGltaW5nIG91dCBkdXJpbmcgdGhpcyB0ZXN0Lg0KSW5kZXg6IGdkYi5i YXNlL3NlY3QtY21kLmV4cA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNT IGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3Nl Y3QtY21kLmV4cCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMS4xLjINCmRp ZmYgLXUgLXAgLXIxLjEuMS4yIHNlY3QtY21kLmV4cA0KLS0tIHNlY3QtY21k LmV4cAkxOTk5LzA2LzI4IDE2OjAzOjUzCTEuMS4xLjINCisrKyBzZWN0LWNt ZC5leHAJMjAwMC8wNC8yMCAxOTowOTowMQ0KQEAgLTM0LDcgKzM0LDcgQEAg c2V0IGJ1Z19pZCAwDQogIyBjb21tYW5kIGlzbid0IG5lZWRlZCBvbiBIUC1V WCwgYnV0IHByb2JhYmx5IGlzIGZvciBlbWJlZGRlZA0KICMgYXBwcy4pDQog Iw0KLWlmICFbaXN0YXJnZXQgImhwcGEqLSotaHB1eCoiXSB0aGVuIHsNCitp ZiB7ICEoW2lzdGFyZ2V0ICJocHBhKi0qLWhwdXgqIl0gfHwgW2lzdGFyZ2V0 ICJhcm0qLSotbGludXgtZ251KiJdKX0gdGhlbiB7DQogICByZXR1cm4NCiB9 DQogDQpJbmRleDogZ2RiLmJhc2Uvc28taW1wbC1sZC5leHANCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9zby1pbXBsLWxkLmV4cCx2DQpyZXRyaWV2aW5n IHJldmlzaW9uIDEuMS4xLjMNCmRpZmYgLXUgLXAgLXIxLjEuMS4zIHNvLWlt cGwtbGQuZXhwDQotLS0gc28taW1wbC1sZC5leHAJMjAwMC8wMS8xMSAwMzow NzozNAkxLjEuMS4zDQorKysgc28taW1wbC1sZC5leHAJMjAwMC8wNC8yMCAx OTowOTowMQ0KQEAgLTM2LDcgKzM2LDcgQEAgaWYgIVtpc25hdGl2ZV0gdGhl biB7DQogIA0KIGlmIHshIChbaXN0YXJnZXQgImhwcGEqLSotKmhwdXgqIl0N CiAgICAgICAgfHwgW2lzdGFyZ2V0ICJzcGFyYy1zdW4tc29sYXJpcyoiXQ0K LSAgICAgICB8fCBbaXN0YXJnZXQgIiAqLSotbGludXgtZ251Il0pIH0gew0K KyAgICAgICB8fCBbaXN0YXJnZXQgIiotKi1saW51eC1nbnUqIl0pIH0gew0K IAkgcmV0dXJuDQogfQ0KIA0KSW5kZXg6IGdkYi5iYXNlL3NvLWluZHItY2wu ZXhwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2N2cy9z cmMvc3JjL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc28taW5kci1jbC5leHAs dg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjEuMS4zDQpkaWZmIC11IC1wIC1y MS4xLjEuMyBzby1pbmRyLWNsLmV4cA0KLS0tIHNvLWluZHItY2wuZXhwCTIw MDAvMDEvMTEgMDM6MDc6MzQJMS4xLjEuMw0KKysrIHNvLWluZHItY2wuZXhw CTIwMDAvMDQvMjAgMTk6MDk6MDENCkBAIC0zMyw3ICszMyw3IEBAIGlmICFb aXNuYXRpdmVdIHRoZW4gew0KICMgdGhhdCB3ZSB1c2UgSFAtVVgtc3BlY2lm aWMgY29tcGlsZXIgJiBsaW5rZXIgb3B0aW9ucyB0byBidWlsZA0KICMgdGhl IHRlc3RjYXNlLg0KICMNCi1pZiB7ISBbaXN0YXJnZXQgImhwcGEqLSotKmhw dXgqIl0gfSB7DQoraWYgeyAhKFtpc3RhcmdldCAiaHBwYSotKi0qaHB1eCoi XSB8fCBbaXN0YXJnZXQgImFybSotKi1saW51eC1nbnUqIl0pfSB7DQogICAg IHJldHVybg0KIH0NCiANCkluZGV4OiBnZGIuYmFzZS93YXRjaHBvaW50LmV4 cA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9jdnMvc3Jj L3NyYy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQuZXhwLHYN CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xLjEuOA0KZGlmZiAtdSAtcCAtcjEu MS4xLjggd2F0Y2hwb2ludC5leHANCi0tLSB3YXRjaHBvaW50LmV4cAkyMDAw LzAyLzA1IDA3OjMwOjAwCTEuMS4xLjgNCisrKyB3YXRjaHBvaW50LmV4cAky MDAwLzA0LzIwIDE5OjA5OjAzDQpAQCAtMzc2LDYgKzM3Niw3IEBAIHByb2Mg dGVzdF9zdGVwcGluZyB7fSB7DQogCSMgVGhpcyBkb2Vzbid0IG9jY3VyIGlm IHRoZSBjYWxsIGR1bW15IHN0YXJ0cyB3aXRoIGEgY2FsbCwNCiAJIyBiZWNh dXNlIHdlIGFyZSBvdXQgb2YgdGhlIGR1bW15IGJ5IHRoZSBmaXJzdCB0aW1l IHRoZSBpbmZlcmlvcg0KIAkjIHN0b3BzLg0KKyAgICAgICAgY2xlYXJfeGZh aWwgImFybSotKi0qIg0KIAljbGVhcl94ZmFpbCAiZDEwdiotKi0qIg0KIAlj bGVhcl94ZmFpbCAibTY4Ki0qLSoiDQogCWNsZWFyX3hmYWlsICJpKjg2Ki0q LSoiDQpJbmRleDogZ2RiLmMrKy9kZXJpdmF0aW9uLmV4cA0KPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvdGVz dHN1aXRlL2dkYi5jKysvZGVyaXZhdGlvbi5leHAsdg0KcmV0cmlldmluZyBy ZXZpc2lvbiAxLjEuMS44DQpkaWZmIC11IC1wIC1yMS4xLjEuOCBkZXJpdmF0 aW9uLmV4cA0KLS0tIGRlcml2YXRpb24uZXhwCTE5OTkvMTIvMDcgMDM6NTY6 MTcJMS4xLjEuOA0KKysrIGRlcml2YXRpb24uZXhwCTIwMDAvMDQvMjAgMTk6 MDk6MDMNCkBAIC0zMDEsNyArMzAxLDYgQEAgZ2RiX2V4cGVjdCB7DQogIyBU aGUgZm9sbG93aW5nIGNhc2VzIGFsd2F5cyBmYWlsIHdpdGggZysrIG91dHB1 dCwgYW5kIHNob3VsZCBiZSBmaXhlZA0KICMgc29tZWRheS4gLXN0cyAxOTk5 LTA4LTI1DQogDQotaWYgeyAkZ2NjX2NvbXBpbGVkIH0geyBzZXR1cF94ZmFp bCAiKi0qLSoiIH0NCiBzZW5kX2dkYiAicHJpbnQgZ19pbnN0YW5jZS5hZm9v KClcbiINCiBnZGJfZXhwZWN0IHsNCiAgICAgLXJlICIuXFswLTlcXSogPSAx LiokZ2RiX3Byb21wdCAkIiB7DQpAQCAtMzExLDcgKzMxMCw2IEBAIGdkYl9l eHBlY3Qgew0KICAgICB0aW1lb3V0ICAgICAgICAgICB7IGZhaWwgIih0aW1l b3V0KSBwcmludCB2YWx1ZSBvZiBnX2luc3RhbmNlLmFmb28oKSIgfQ0KICAg fQ0KIA0KLWlmIHsgJGdjY19jb21waWxlZCB9IHsgc2V0dXBfeGZhaWwgIiot Ki0qIiB9DQogc2VuZF9nZGIgInByaW50IGdfaW5zdGFuY2UuYmZvbygpXG4i DQogZ2RiX2V4cGVjdCB7DQogICAgIC1yZSAiLlxbMC05XF0qID0gMi4qJGdk Yl9wcm9tcHQgJCIgew0KQEAgLTMyMSw3ICszMTksNiBAQCBnZGJfZXhwZWN0 IHsNCiAgICAgdGltZW91dCAgICAgICAgICAgeyBmYWlsICIodGltZW91dCkg cHJpbnQgdmFsdWUgb2YgZ19pbnN0YW5jZS5iZm9vKCkiIH0NCiAgIH0NCiAN Ci1pZiB7ICRnY2NfY29tcGlsZWQgfSB7IHNldHVwX3hmYWlsICIqLSotKiIg fQ0KIHNlbmRfZ2RiICJwcmludCBnX2luc3RhbmNlLmNmb28oKVxuIg0KIGdk Yl9leHBlY3Qgew0KICAgICAtcmUgIi5cWzAtOVxdKiA9IDMuKiRnZGJfcHJv bXB0ICQiIHsNCkluZGV4OiBnZGIuYysrL292ZXJsb2FkLmV4cA0KPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIv dGVzdHN1aXRlL2dkYi5jKysvb3ZlcmxvYWQuZXhwLHYNCnJldHJpZXZpbmcg cmV2aXNpb24gMS4xLjEuNQ0KZGlmZiAtdSAtcCAtcjEuMS4xLjUgb3Zlcmxv YWQuZXhwDQotLS0gb3ZlcmxvYWQuZXhwCTE5OTkvMDkvMjIgMDM6MjY6MjMJ MS4xLjEuNQ0KKysrIG92ZXJsb2FkLmV4cAkyMDAwLzA0LzIwIDE5OjA5OjA0 DQpAQCAtMTI0LDcgKzEyNCw2IEBAIGdkYl9leHBlY3Qgew0KICMgYmUgZmls bGVkIGluIGNvcnJlY3RseS4gIFVudGlsIHRoaXMgZ2V0cyBmaXhlZCwgZG9u J3QgZXhwZWN0IHRvIHBhc3MNCiAjIHRoZXNlIHRlc3RzLg0KIA0KLXNldHVw X3hmYWlsICIqLSotKiIgQ0xMYnMxNjkwMQ0KIHNlbmRfZ2RiICJwcmludCBm b29faW5zdGFuY2UxLm92ZXJsb2FkYXJncygxKVxuIg0KIGdkYl9leHBlY3Qg ew0KICAgICAtcmUgIi5cWzAtOVxdKiA9IDFcclxuJGdkYl9wcm9tcHQgJCIg ew0KQEAgLTEzNSw4ICsxMzQsNiBAQCBnZGJfZXhwZWN0IHsNCiAgIH0NCiAN CiANCi1zZXR1cF94ZmFpbCAiKi0qLSoiIENMTGJzMTY5MDENCi0NCiBzZW5k X2dkYiAicHJpbnQgZm9vX2luc3RhbmNlMS5vdmVybG9hZGFyZ3MoMSwgMilc biINCiBnZGJfZXhwZWN0IHsNCiAgICAgLXJlICIuXFswLTlcXSogPSAyXHJc biRnZGJfcHJvbXB0ICQiIHsNCkBAIC0xNDcsOCArMTQ0LDYgQEAgZ2RiX2V4 cGVjdCB7DQogICB9DQogDQogDQotc2V0dXBfeGZhaWwgIiotKi0qIiBDTExi czE2OTAxDQotDQogc2VuZF9nZGIgInByaW50IGZvb19pbnN0YW5jZTEub3Zl cmxvYWRhcmdzKDEsIDIsIDMpXG4iDQogZ2RiX2V4cGVjdCB7DQogICAgIC1y ZSAiLlxbMC05XF0qID0gM1xyXG4kZ2RiX3Byb21wdCAkIiB7DQpAQCAtMTU5 LDggKzE1NCw2IEBAIGdkYl9leHBlY3Qgew0KICAgfQ0KIA0KIA0KLXNldHVw X3hmYWlsICIqLSotKiIgQ0xMYnMxNjkwMQ0KLQ0KIHNlbmRfZ2RiICJwcmlu dCBmb29faW5zdGFuY2UxLm92ZXJsb2FkYXJncygxLCAyLCAzLCA0KVxuIg0K IGdkYl9leHBlY3Qgew0KICAgICAtcmUgIi5cWzAtOVxdKiA9IDRcclxuJGdk Yl9wcm9tcHQgJCIgew0KQEAgLTE3MSw4ICsxNjQsNiBAQCBnZGJfZXhwZWN0 IHsNCiAgIH0NCiANCiANCi1zZXR1cF94ZmFpbCAiKi0qLSoiIENMTGJzMTY5 MDENCi0NCiBzZW5kX2dkYiAicHJpbnQgZm9vX2luc3RhbmNlMS5vdmVybG9h ZGFyZ3MoMSwgMiwgMywgNCwgNSlcbiINCiBnZGJfZXhwZWN0IHsNCiAgICAg LXJlICIuXFswLTlcXSogPSA1XHJcbiRnZGJfcHJvbXB0ICQiIHsNCkBAIC0x ODMsOCArMTc0LDYgQEAgZ2RiX2V4cGVjdCB7DQogICB9DQogDQogDQotc2V0 dXBfeGZhaWwgIiotKi0qIiBDTExiczE2OTAxDQotDQogc2VuZF9nZGIgInBy aW50IGZvb19pbnN0YW5jZTEub3ZlcmxvYWRhcmdzKDEsIDIsIDMsIDQsIDUs IDYpXG4iDQogZ2RiX2V4cGVjdCB7DQogICAgIC1yZSAiLlxbMC05XF0qID0g NlxyXG4kZ2RiX3Byb21wdCAkIiB7DQpAQCAtMTk1LDggKzE4NCw2IEBAIGdk Yl9leHBlY3Qgew0KICAgfQ0KIA0KIA0KLXNldHVwX3hmYWlsICIqLSotKiIg Q0xMYnMxNjkwMQ0KLQ0KIHNlbmRfZ2RiICJwcmludCBmb29faW5zdGFuY2Ux Lm92ZXJsb2FkYXJncygxLCAyLCAzLCA0LCA1LCA2LCA3KVxuIg0KIGdkYl9l eHBlY3Qgew0KICAgICAtcmUgIi5cWzAtOVxdKiA9IDdcclxuJGdkYl9wcm9t cHQgJCIgew0KQEAgLTIwNyw4ICsxOTQsNiBAQCBnZGJfZXhwZWN0IHsNCiAg IH0NCiANCiANCi1zZXR1cF94ZmFpbCAiKi0qLSoiIENMTGJzMTY5MDENCi0N CiBzZW5kX2dkYiAicHJpbnQgZm9vX2luc3RhbmNlMS5vdmVybG9hZGFyZ3Mo MSwgMiwgMywgNCwgNSwgNiwgNywgOClcbiINCiBnZGJfZXhwZWN0IHsNCiAg ICAgLXJlICIuXFswLTlcXSogPSA4XHJcbiRnZGJfcHJvbXB0ICQiIHsNCkBA IC0yMTksOCArMjA0LDYgQEAgZ2RiX2V4cGVjdCB7DQogICB9DQogDQogDQot c2V0dXBfeGZhaWwgIiotKi0qIiBDTExiczE2OTAxDQotDQogc2VuZF9nZGIg InByaW50IGZvb19pbnN0YW5jZTEub3ZlcmxvYWRhcmdzKDEsIDIsIDMsIDQs IDUsIDYsIDcsIDgsIDkpXG4iDQogZ2RiX2V4cGVjdCB7DQogICAgIC1yZSAi LlxbMC05XF0qID0gOVxyXG4kZ2RiX3Byb21wdCAkIiB7DQpAQCAtMjMxLDgg KzIxNCw2IEBAIGdkYl9leHBlY3Qgew0KICAgfQ0KIA0KIA0KLXNldHVwX3hm YWlsICIqLSotKiIgQ0xMYnMxNjkwMQ0KLQ0KIHNlbmRfZ2RiICJwcmludCBm b29faW5zdGFuY2UxLm92ZXJsb2FkYXJncygxLCAyLCAzLCA0LCA1LCA2LCA3 LCA4LCA5LCAxMClcbiINCiBnZGJfZXhwZWN0IHsNCiAgICAgLXJlICIuXFsw LTlcXSogPSAxMFxyXG4kZ2RiX3Byb21wdCAkIiB7DQpAQCAtMjQzLDggKzIy NCw2IEBAIGdkYl9leHBlY3Qgew0KICAgfQ0KIA0KIA0KLXNldHVwX3hmYWls ICIqLSotKiIgQ0xMYnMxNjkwMQ0KLQ0KIHNlbmRfZ2RiICJwcmludCBmb29f aW5zdGFuY2UxLm92ZXJsb2FkYXJncygxLCAyLCAzLCA0LCA1LCA2LCA3LCA4 LCA5LCAxMCwgMTEpXG4iDQogZ2RiX2V4cGVjdCB7DQogICAgIC1yZSAiLlxb MC05XF0qID0gMTFcclxuJGdkYl9wcm9tcHQgJCIgew0KQEAgLTI1NSw4ICsy MzQsNiBAQCBnZGJfZXhwZWN0IHsNCiAgIH0NCiANCiANCi1zZXR1cF94ZmFp bCAiKi0qLSoiIENMTGJzMTY5MDENCi0NCiBzZW5kX2dkYiAicHJpbnQgZm9v X2luc3RhbmNlMS5vdmVybG9hZDFhcmcoKVxuIg0KIGdkYl9leHBlY3Qgew0K ICAgICAtcmUgIi5cWzAtOVxdKiA9IDFcclxuJGdkYl9wcm9tcHQgJCIgew0K QEAgLTI2Nyw4ICsyNDQsNiBAQCBnZGJfZXhwZWN0IHsNCiAgIH0NCiANCiAN Ci1zZXR1cF94ZmFpbCAiKi0qLSoiIENMTGJzMTY5MDENCi0NCiBzZW5kX2dk YiAicHJpbnQgZm9vX2luc3RhbmNlMS5vdmVybG9hZDFhcmcoKGNoYXIpYXJn MilcbiINCiBnZGJfZXhwZWN0IHsNCiAgICAgLXJlICIuXFswLTlcXSogPSAy XHJcbiRnZGJfcHJvbXB0ICQiIHsNCkBAIC0yNzksOCArMjU0LDYgQEAgZ2Ri X2V4cGVjdCB7DQogICB9DQogDQogDQotc2V0dXBfeGZhaWwgIiotKi0qIiBD TExiczE2OTAxDQotDQogc2VuZF9nZGIgInByaW50IGZvb19pbnN0YW5jZTEu b3ZlcmxvYWQxYXJnKChzaWduZWQgY2hhcilhcmczKVxuIg0KIGdkYl9leHBl Y3Qgew0KICAgICAtcmUgIi5cWzAtOVxdKiA9IDNcclxuJGdkYl9wcm9tcHQg JCIgew0KQEAgLTI5MSw4ICsyNjQsNiBAQCBnZGJfZXhwZWN0IHsNCiAgIH0N CiANCiANCi1zZXR1cF94ZmFpbCAiKi0qLSoiIENMTGJzMTY5MDENCi0NCiBz ZW5kX2dkYiAicHJpbnQgZm9vX2luc3RhbmNlMS5vdmVybG9hZDFhcmcoKHVu c2lnbmVkIGNoYXIpYXJnNClcbiINCiBnZGJfZXhwZWN0IHsNCiAgICAgLXJl ICIuXFswLTlcXSogPSA0XHJcbiRnZGJfcHJvbXB0ICQiIHsNCkBAIC0zMDMs OCArMjc0LDYgQEAgZ2RiX2V4cGVjdCB7DQogICB9DQogDQogDQotc2V0dXBf eGZhaWwgIiotKi0qIiBDTExiczE2OTAxDQotDQogc2VuZF9nZGIgInByaW50 IGZvb19pbnN0YW5jZTEub3ZlcmxvYWQxYXJnKChzaG9ydClhcmc1KVxuIg0K IGdkYl9leHBlY3Qgew0KICAgICAtcmUgIi5cWzAtOVxdKiA9IDVcclxuJGdk Yl9wcm9tcHQgJCIgew0KQEAgLTMxNSw4ICsyODQsNiBAQCBnZGJfZXhwZWN0 IHsNCiAgIH0NCiANCiANCi1zZXR1cF94ZmFpbCAiKi0qLSoiIENMTGJzMTY5 MDENCi0NCiBzZW5kX2dkYiAicHJpbnQgZm9vX2luc3RhbmNlMS5vdmVybG9h ZDFhcmcoKHVuc2lnbmVkIHNob3J0KWFyZzYpXG4iDQogZ2RiX2V4cGVjdCB7 DQogICAgIC1yZSAiLlxbMC05XF0qID0gNlxyXG4kZ2RiX3Byb21wdCAkIiB7 DQpAQCAtMzI3LDggKzI5NCw2IEBAIGdkYl9leHBlY3Qgew0KICAgfQ0KIA0K IA0KLXNldHVwX3hmYWlsICIqLSotKiIgQ0xMYnMxNjkwMQ0KLQ0KIHNlbmRf Z2RiICJwcmludCBmb29faW5zdGFuY2UxLm92ZXJsb2FkMWFyZygoaW50KWFy ZzcpXG4iDQogZ2RiX2V4cGVjdCB7DQogICAgIC1yZSAiLlxbMC05XF0qID0g N1xyXG4kZ2RiX3Byb21wdCAkIiB7DQpAQCAtMzM5LDggKzMwNCw2IEBAIGdk Yl9leHBlY3Qgew0KICAgfQ0KIA0KIA0KLXNldHVwX3hmYWlsICIqLSotKiIg Q0xMYnMxNjkwMQ0KLQ0KIHNlbmRfZ2RiICJwcmludCBmb29faW5zdGFuY2Ux Lm92ZXJsb2FkMWFyZygodW5zaWduZWQgaW50KWFyZzgpXG4iDQogZ2RiX2V4 cGVjdCB7DQogICAgIC1yZSAiLlxbMC05XF0qID0gOFxyXG4kZ2RiX3Byb21w dCAkIiB7DQpAQCAtMzUxLDggKzMxNCw2IEBAIGdkYl9leHBlY3Qgew0KICAg fQ0KIA0KIA0KLXNldHVwX3hmYWlsICIqLSotKiIgQ0xMYnMxNjkwMQ0KLQ0K IHNlbmRfZ2RiICJwcmludCBmb29faW5zdGFuY2UxLm92ZXJsb2FkMWFyZygo bG9uZylhcmc5KVxuIg0KIGdkYl9leHBlY3Qgew0KICAgICAtcmUgIi5cWzAt OVxdKiA9IDlcclxuJGdkYl9wcm9tcHQgJCIgew0KQEAgLTM2Myw4ICszMjQs NiBAQCBnZGJfZXhwZWN0IHsNCiAgIH0NCiANCiANCi1zZXR1cF94ZmFpbCAi Ki0qLSoiIENMTGJzMTY5MDENCi0NCiBzZW5kX2dkYiAicHJpbnQgZm9vX2lu c3RhbmNlMS5vdmVybG9hZDFhcmcoKHVuc2lnbmVkIGxvbmcpYXJnMTApXG4i DQogZ2RiX2V4cGVjdCB7DQogICAgIC1yZSAiLlxbMC05XF0qID0gMTBcclxu JGdkYl9wcm9tcHQgJCIgew0KQEAgLTM3NSw4ICszMzQsNiBAQCBnZGJfZXhw ZWN0IHsNCiAgIH0NCiANCiANCi1zZXR1cF94ZmFpbCAiKi0qLSoiIENMTGJz MTY5MDENCi0NCiBzZW5kX2dkYiAicHJpbnQgZm9vX2luc3RhbmNlMS5vdmVy bG9hZDFhcmcoKGZsb2F0KWFyZzExKVxuIg0KIGdkYl9leHBlY3Qgew0KICAg ICAtcmUgIi5cWzAtOVxdKiA9IDExXHJcbiRnZGJfcHJvbXB0ICQiIHsNCkBA IC0zODYsOCArMzQzLDYgQEAgZ2RiX2V4cGVjdCB7DQogICAgIHRpbWVvdXQg ICAgICAgICAgIHsgZmFpbCAiKHRpbWVvdXQpIHByaW50IGNhbGwgb3Zlcmxv YWRlZCBmdW5jIGZsb2F0IGFyZyIgfQ0KICAgfQ0KIA0KLQ0KLXNldHVwX3hm YWlsICIqLSotKiIgQ0xMYnMxNjkwMQ0KIA0KIHNlbmRfZ2RiICJwcmludCBm b29faW5zdGFuY2UxLm92ZXJsb2FkMWFyZygoZG91YmxlKWFyZzEyKVxuIg0K IGdkYl9leHBlY3Qgew0KSW5kZXg6IGdkYi5jKysvdmlydGZ1bmMuZXhwDQo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2N2cy9zcmMvc3Jj L2dkYi90ZXN0c3VpdGUvZ2RiLmMrKy92aXJ0ZnVuYy5leHAsdg0KcmV0cmll dmluZyByZXZpc2lvbiAxLjEuMS41DQpkaWZmIC11IC1wIC1yMS4xLjEuNSB2 aXJ0ZnVuYy5leHANCi0tLSB2aXJ0ZnVuYy5leHAJMTk5OS8xMi8wNyAwMzo1 NjoxNwkxLjEuMS41DQorKysgdmlydGZ1bmMuZXhwCTIwMDAvMDQvMjAgMTk6 MDk6MDUNCkBAIC02OTIsOCArNjkyLDYgQEAgcHJvYyB0ZXN0X3ZpcnR1YWxf Y2FsbHMge30gew0KICAgICAjIHdoaWNoIGNhdXNlcyBHREIgdG8gYmUgdW5h YmxlIHRvIHJlc29sdmUgdGhlc2UgY2FsbHMuICBVbnRpbCB0aGUNCiAgICAg IyBwcm9ibGVtIGlzIGZpeGVkLCBYRkFJTCB0aGVzZSB0ZXN0cy4gLXN0cyAx OTk5LTA4LTAyDQogDQotICAgIGlmIHskZ2NjX2NvbXBpbGVkfSB0aGVuIHsg c2V0dXBfeGZhaWwgIiotKi0qIiB9DQotDQogICAgIHNlbmRfZ2RiICJwcmlu dCBwQWUtPmYoKVxuIg0KICAgICBnZGJfZXhwZWN0IHsNCiAJLXJlICIuKiA9 IDIwJG5sJGdkYl9wcm9tcHQgJCIgeyBwYXNzICJwcmludCBwQWUtPmYoKSIg fQ0KQEAgLTcxNSw4ICs3MTMsNiBAQCBwcm9jIHRlc3RfdmlydHVhbF9jYWxs cyB7fSB7DQogCWVvZiB7IGZhaWwgInByaW50IHBBZS0+ZigpICgkR0RCIGR1 bXBlZCBjb3JlKSAoRklYTUUpIiA7IGdkYl92aXJ0ZnVuY19yZXN0YXJ0OyBy ZXR1cm4gfQ0KICAgICB9DQogDQotICAgIGlmIHskZ2NjX2NvbXBpbGVkfSB0 aGVuIHsgc2V0dXBfeGZhaWwgIiotKi0qIiB9DQotDQogICAgIHNlbmRfZ2Ri ICJwcmludCBwQWEtPmYoKVxuIg0KICAgICBnZGJfZXhwZWN0IHsNCiAJLXJl ICIuKiA9IDEkbmwkZ2RiX3Byb21wdCAkIiB7IHBhc3MgInByaW50IHBBYS0+ ZigpIiB9DQpAQCAtNzI5LDggKzcyNSw2IEBAIHByb2MgdGVzdF92aXJ0dWFs X2NhbGxzIHt9IHsNCiAJZW9mIHsgZmFpbCAicHJpbnQgcEFhLT5mKCkgKCRH REIgZHVtcGVkIGNvcmUpIChGSVhNRSkiIDsgZ2RiX3ZpcnRmdW5jX3Jlc3Rh cnQ7IHJldHVybiB9DQogICAgIH0NCiANCi0gICAgaWYgeyRnY2NfY29tcGls ZWR9IHRoZW4geyBzZXR1cF94ZmFpbCAiKi0qLSoiIH0NCi0NCiAgICAgc2Vu ZF9nZGIgInByaW50IHBEZS0+dmcoKVxuIg0KICAgICBnZGJfZXhwZWN0IHsN CiAJLXJlICIuKiA9IDIwMiRubCRnZGJfcHJvbXB0ICQiIHsgcGFzcyAicHJp bnQgcERlLT52ZygpIiB9DQpAQCAtNzQzLDggKzczNyw2IEBAIHByb2MgdGVz dF92aXJ0dWFsX2NhbGxzIHt9IHsNCiAJZW9mIHsgZmFpbCAicHJpbnQgcERl LT52ZygpICgkR0RCIGR1bXBlZCBjb3JlKSAoRklYTUUpIiA7IGdkYl92aXJ0 ZnVuY19yZXN0YXJ0OyByZXR1cm4gfQ0KICAgICB9DQogDQotICAgIGlmIHsk Z2NjX2NvbXBpbGVkfSB0aGVuIHsgc2V0dXBfeGZhaWwgIiotKi0qIiB9DQot DQogICAgIHNlbmRfZ2RiICJwcmludCBwQURlLT52ZygpXG4iDQogICAgIGdk Yl9leHBlY3Qgew0KIAktcmUgIi4qID0gMjAyJG5sJGdkYl9wcm9tcHQgJCIg eyBwYXNzICJwcmludCBwQURlLT52ZygpIiB9DQpAQCAtNzU3LDggKzc0OSw2 IEBAIHByb2MgdGVzdF92aXJ0dWFsX2NhbGxzIHt9IHsNCiAJZW9mIHsgZmFp bCAicHJpbnQgcEFEZS0+dmcoKSAoJEdEQiBkdW1wZWQgY29yZSkgKEZJWE1F KSIgOyBnZGJfdmlydGZ1bmNfcmVzdGFydDsgcmV0dXJuIH0NCiAgICAgfQ0K IA0KLSAgICBpZiB7JGdjY19jb21waWxlZH0gdGhlbiB7IHNldHVwX3hmYWls ICIqLSotKiIgfQ0KLQ0KICAgICBzZW5kX2dkYiAicHJpbnQgcERkLT52Zygp XG4iDQogICAgIGdkYl9leHBlY3Qgew0KIAktcmUgIi4qID0gMTAxJG5sJGdk Yl9wcm9tcHQgJCIgeyBwYXNzICJwcmludCBwRGQtPnZnKCkiIH0NCkBAIC03 NzEsOCArNzYxLDYgQEAgcHJvYyB0ZXN0X3ZpcnR1YWxfY2FsbHMge30gew0K IAllb2YgeyBmYWlsICJwcmludCBwRGQtPnZnKCkgKCRHREIgZHVtcGVkIGNv cmUpIChGSVhNRSkiIDsgZ2RiX3ZpcnRmdW5jX3Jlc3RhcnQ7IHJldHVybiB9 DQogICAgIH0NCiANCi0gICAgaWYgeyRnY2NfY29tcGlsZWR9IHRoZW4geyBz ZXR1cF94ZmFpbCAiKi0qLSoiIH0NCi0NCiAgICAgc2VuZF9nZGIgInByaW50 IHBFZS0+dnZiKClcbiINCiAgICAgZ2RiX2V4cGVjdCB7DQogCS1yZSAiLiog PSA0MTEkbmwkZ2RiX3Byb21wdCAkIiB7IHBhc3MgInByaW50IHBFZS0+dnZi KCkiIH0NCkBAIC03ODQsOCArNzcyLDYgQEAgcHJvYyB0ZXN0X3ZpcnR1YWxf Y2FsbHMge30gew0KIAl0aW1lb3V0IHsgZmFpbCAicHJpbnQgcEVlLT52dmIo KSAodGltZW91dCkiIH0NCiAJZW9mIHsgZmFpbCAicHJpbnQgcEVlLT52dmIo KSAoJEdEQiBkdW1wZWQgY29yZSkgKEZJWE1FKSIgOyBnZGJfdmlydGZ1bmNf cmVzdGFydDsgcmV0dXJuIH0NCiAgICAgfQ0KLQ0KLSAgICBpZiB7JGdjY19j b21waWxlZH0gdGhlbiB7IHNldHVwX3hmYWlsICIqLSotKiIgfQ0KIA0KICAg ICBzZW5kX2dkYiAicHJpbnQgcFZCLT52dmIoKVxuIg0KICAgICBnZGJfZXhw ZWN0IHsNCg== ------------=_1583534348-29877-9-- >From dan@cgsoftware.com Thu Apr 20 14:39:00 2000 From: Daniel Berlin To: Scott Bambrough Cc: GDB Patches Mail List Subject: Re: RFC: Testsuite patches, a few comments and questions... Date: Thu, 20 Apr 2000 14:39:00 -0000 Message-id: References: <38FF766A.9C4989F2@netwinder.org> X-SW-Source: 2000-04/msg00400.html Content-length: 7814 Pleaes don't remove the xfails from virtfunc.exp, they only pass by accident right now. I'm working on it as we speak, it's taking a while, with finals and all. --Dan On Thu, 20 Apr 2000, Scott Bambrough wrote: > I spent most of today running the testsuite on the 5.0 branch on a NetWinder. > My goal was to get rid of all XPASS and UNTESTED results. I also took the time > to examine which tests were not being run on my platform and why. In many cases > that boiled down to which tests ran only on HP platforms. > > Using the attached patches to the test suite I can achieve the appended results > on ARM Linux in the GDB 5.0 branch. Most of the patches remove setup_xfails or > simple enable the tests to be run on ARM Linux. The lone exception is: > > * testsuite/gdb.base/so-impl-ld.exp: Fixed typo in triplet for > linux. Added wildcard to handle gnu-oldld case on ARM. > > I had to remove a leading space in the triplet to get the test to run. I also > added a wildcard ("*") after the gnu to handle the arm*-*-linux-gnuoldld target. > > I enabled the following tests to run on ARM Linux. For the most part, the > previously they only ran on HP configurations. They are included in the > appended results. For the most part they seem to be useful tests for Linux in > general, but are just run for HP configurations. I'd appreciate comments if > someone thinks they are not. I only gave them a cursory once over during my > tests today. > > gdb.base/environ.exp 23/26 tests pass > gdb.base/recurse.exp 19/19 tests pass > gdb.base/sect-cmd.exp 3/4 tests pass > gdb.base/so-indr-cl.exp 1/2 tests pass > > I also tried the following tests on ARM Linux. None of these run on anything > but HP configurations. They are NOT included in the attached results. These > seem like they would be useful, but for the most part more than 50% of the tests > fail. I've spent no time following these up. Some of the results are > surprising; completion.exp tests command line completion. I'd expect it to work > on any machine. Comments would interest me. > > gdb.base/attach.exp 15/23 tests pass > gdb.base/completion.exp 4/23 tests pass > gdb.base/foll-exec.exp 12/27 tests pass > gdb.base/foll-fork.exp 15/26 tests pass > gdb.base/foll-vfork.exp 6/15 tests pass > gdb.base/member-ptr.exp 12/39 tests pass > gdb.base/solib.exp 0/26 tests pass > > I also tried the following tests on ARM Linux. None of these compiled for me. > > gdb.c++/ambiguous.exp > gdb.c++/ctti.exp > gdb.threads/step.exp > gdb.threads/step2.exp > > I don't understand the following code from pthreads.exp: > > proc test_startup {} { > global srcdir srcfile gdb_prompt expect_out > global horiz > global main_id thread1_id thread2_id > > # We should be able to do an info threads before starting any others. > send_gdb "info threads\n" > gdb_expect { > -re ".*Thread.*LWP.*main.*$gdb_prompt $" { > pass "info threads" > } > -re "\r\n$gdb_prompt $" { > pass "info threads" > setup_xfail "*-*-*" > fail "gdb does not support pthreads for this machine" > return 0 > ... > > The last expect case is very odd. It succeeds, sets up an xfail, fails and > exits deliberately as it is starting the tests. Why? Is there some reason for > this? > > While I did this work in the branch, I'm not convinced the patch is suitable for > it. Any comments? > > The results follow: > > Native configuration is armv4l-unknown-linux-gnu > > === gdb tests === > > > Running target unix > FAIL: gdb.base/annota1.exp: run until main breakpoint > FAIL: gdb.base/annota1.exp: backtrace from shlibrary > FAIL: gdb.base/annota1.exp: backtrace @ signal handler > FAIL: gdb.base/break.exp: break main #1 > FAIL: gdb.base/break.exp: break main #2 > FAIL: gdb.base/break.exp: clear main > FAIL: gdb.base/break.exp: breakpoint function, optimized file > FAIL: gdb.base/break.exp: run until function breakpoint, optimized file > FAIL: gdb.base/break.exp: run until breakpoint set at small function, optimized > file > FAIL: gdb.base/commands.exp: continue in infrun_breakpoint_command_test > FAIL: gdb.base/corefile.exp: args: -core=corefile > FAIL: gdb.base/environ.exp: info program > FAIL: gdb.base/environ.exp: info program after step > FAIL: gdb.base/environ.exp: info program after deleted breakpoint > FAIL: gdb.base/interrupt.exp: continue > FAIL: gdb.base/interrupt.exp: send end of file > FAIL: gdb.base/return.exp: correct value returned double test (known problem > with i*86 and sparc solaris > FAIL: gdb.base/sect-cmd.exp: set section command > FAIL: gdb.base/selftest.exp: backtrace through signal handler > FAIL: gdb.base/sigall.exp: get signal CHLD > FAIL: gdb.base/sigall.exp: advance to TTIN > FAIL: gdb.base/sigall.exp: get signal TTIN > FAIL: gdb.base/signals.exp: 'next' behaved as 'continue (known SVR4 bug)' > FAIL: gdb.base/signals.exp: bt in signals.exp > FAIL: gdb.base/so-impl-ld.exp: step into solib call > FAIL: gdb.base/so-impl-ld.exp: step in solib call > FAIL: gdb.base/so-impl-ld.exp: step out of solib call > FAIL: gdb.base/so-indr-cl.exp: break on indirect solib call before running > FAIL: gdb.base/step-test.exp: large struct by value > FAIL: gdb.base/step-test.exp: continue until exit at step-test.exp: the program > is no longer running > FAIL: gdb.base/structs2.exp: structs2 continue2 (PRMS 13536) > FAIL: gdb.c++/annota2.exp: delete bps > FAIL: gdb.c++/annota2.exp: annotate-quit > FAIL: gdb.c++/virtfunc.exp: print pEe->vvb() > FAIL: gdb.mi/mi-console.exp: Hello message (timeout) > FAIL: gdb.mi/mi-stack.exp: stack args listing 0 > FAIL: gdb.mi/mi-stack.exp: stack args listing 1 > FAIL: gdb.mi/mi-stack.exp: stack info-depth > FAIL: gdb.mi/mi-stack.exp: stack info-depth 99 > FAIL: gdb.stabs/weird.exp: p v_comb > > === gdb Summary === > > # of expected passes 6929 > # of unexpected failures 40 > # of expected failures 175 > > > 2000-04-19 Scott Bambrough > > * testsuite/gdb.base/environ.exp: Run tests for arm*-*-linux-gnu*. > * testsuite/gdb.base/recurse.exp: Run tests for arm*-*-linux-gnu*. > * testsuite/gdb.base/sect-cmd.exp: Run tests for arm*-*-linux-gnu*. > > * testsuite/gdb.base/so-impl-ld.exp: Fixed typo in triplet for > linux. Added wildcard to handle gnu-oldld case on ARM. > > * testsuite/gdb.base/so-indr-cl.exp: Run tests for arm*-*-linux-gnu*. > * testsuite/gdb.base/watchpoint.exp (test_stepping): Clear xfail. > > * testsuite/gdb.c++/derivation.exp > (print g_instance.afoo): Remove setup_xfail "*-*-*". > (print g_instance.bfoo): Remove setup_xfail "*-*-*". > (print g_instance.cfoo): Remove setup_xfail "*-*-*". > > * testsuite/gdb.c++/overload.exp > (print foo_instance1.overload_args()): Remove setup_xfail "*-*-*" > on all tests (1-11 arguments). > (print foo_instance1.overload1arg()): Remove setup_xfail "*-*-*" > on all tests (none, char, signed char, unsigned char, short, > unsigned short, int, unsigned int, long, unsigned long, float > and double arguments). > > * testsuite/gdb.c++/virtfunc.exp > (print pAa->f()): Remove setup_xfail "*-*-*". > (print pDe->vg()): Remove setup_xfail "*-*-*". > (print pADe->vg()): Remove setup_xfail "*-*-*". > (print pDd->vg()): Remove setup_xfail "*-*-*". > (print pEe->vvb()): Remove setup_xfail "*-*-*". > (print pVb->vvb()): Remove setup_xfail "*-*-*". > > -- > Scott Bambrough - Software Engineer > REBEL.COM http://www.rebel.com > NetWinder http://www.netwinder.org