From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17034 invoked by alias); 28 Sep 2014 16:08:22 -0000 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 Received: (qmail 17021 invoked by uid 89); 28 Sep 2014 16:08:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.7 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: na01-bn1-obe.outbound.protection.outlook.com Received: from mail-bn1bon0144.outbound.protection.outlook.com (HELO na01-bn1-obe.outbound.protection.outlook.com) (157.56.111.144) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Sun, 28 Sep 2014 16:08:17 +0000 Received: from BN1PR0301MB0625.namprd03.prod.outlook.com (25.160.170.28) by BN1PR0301MB0756.namprd03.prod.outlook.com (25.160.78.150) with Microsoft SMTP Server (TLS) id 15.0.1039.15; Sun, 28 Sep 2014 16:08:14 +0000 Received: from BN1PR0301MB0628.namprd03.prod.outlook.com (25.160.171.13) by BN1PR0301MB0625.namprd03.prod.outlook.com (25.160.170.28) with Microsoft SMTP Server (TLS) id 15.0.1039.15; Sun, 28 Sep 2014 16:08:13 +0000 Received: from BN1PR0301MB0628.namprd03.prod.outlook.com ([25.160.171.13]) by BN1PR0301MB0628.namprd03.prod.outlook.com ([25.160.171.13]) with mapi id 15.00.1039.011; Sun, 28 Sep 2014 16:08:13 +0000 From: "mihail.nistor@freescale.com" To: Keith Seitz , "gdb-patches@sourceware.org" CC: "mihail.nistor@freescale.com" Subject: RE: [PATCH v2] Bug 17394: we cannot put a break-point at a global function for ASM file Date: Sun, 28 Sep 2014 16:08:00 -0000 Message-ID: <7dec43bc41e044fcbba3289ca7cb2697@BN1PR0301MB0628.namprd03.prod.outlook.com> References: <1410954786-17690-1-git-send-email-mihail.nistor@freescale.com> <542459B9.9090705@redhat.com> <23ca9e13576840e280392b69e5cc7de8@BN1PR0301MB0628.namprd03.prod.outlook.com> In-Reply-To: <23ca9e13576840e280392b69e5cc7de8@BN1PR0301MB0628.namprd03.prod.outlook.com> x-ms-exchange-transport-fromentityheader: Hosted x-microsoft-antispam: BCL:0;PCL:0;RULEID:;SRVR:BN1PR0301MB0625;UriScan:; x-forefront-prvs: 03484C0ABF x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(13464003)(189002)(199003)(479174003)(377454003)(24454002)(76104003)(51914003)(21056001)(10300001)(99396003)(83072002)(92566001)(101416001)(120916001)(74502003)(80022003)(77982003)(74662003)(46102003)(81542003)(81342003)(76576001)(31966008)(2656002)(87936001)(85852003)(86362001)(20776003)(64706001)(79102003)(66066001)(97736003)(90102001)(99286002)(95666004)(74316001)(108616004)(19580405001)(19580395003)(83322001)(85306004)(33646002)(4396001)(54356999)(76482002)(76176999)(107046002)(50986999)(99936001)(105586002)(77096002)(106356001)(106116001)(24736002);DIR:OUT;SFP:1102;SCL:1;SRVR:BN1PR0301MB0625;H:BN1PR0301MB0628.namprd03.prod.outlook.com;FPR:;MLV:sfv;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Content-Type: multipart/mixed; boundary="_002_7dec43bc41e044fcbba3289ca7cb2697BN1PR0301MB0628namprd03_" MIME-Version: 1.0 X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:;SRVR:BN1PR0301MB0756; X-OriginatorOrg: freescale.com X-SW-Source: 2014-09/txt/msg00811.txt.bz2 --_002_7dec43bc41e044fcbba3289ca7cb2697BN1PR0301MB0628namprd03_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-length: 7369 Hi Keith, I forgot to move the test location from gdb.arch to gdb.linespec. You will find enclosed the patch with the updated test location. Best regards, Mihai -----Original Message----- From: Nistor Mihail-MNISTOR1=20 Sent: Sunday, September 28, 2014 6:47 PM To: Keith Seitz; gdb-patches@sourceware.org Cc: Nistor Mihail-MNISTOR1 Subject: RE: [PATCH v2] Bug 17394: we cannot put a break-point at a global = function for ASM file Hi Keith, Thank you for the time you spent on this patch/problem. I have rewritten th= e test case to be run on the targets that support dwarf2_support. I have al= so changed the location of test case from gdb.arch to gdb.linespec as you r= ecommended. Your changes look very well, I have one little observation regarding the fi= ltering condition when we need to get information from minimal symbol. Scenario: We can mix objects that were compiled/assembled by different vend= ors and the third party assembler provides debug information and it doesn't= have this limitation. An application may contain more than one file that h= ave the same name. We cannot put a breakpoint at a function in all objects = that have the same name if an object that comes from ASM file has debug inf= o and is linked before the objects assembled with the GNU-GAS. In the new t= est case I have tried to emulate the third party assembler behavior in the = break-asm-file1.s. { + int prev_len =3D VEC_length (symbolp, info->result.symbols); /* Program spaces that are executing startup should have been filtered out earlier. */ gdb_assert (!SYMTAB_PSPACE (elt)->executing_startup); set_current_program_space (SYMTAB_PSPACE (elt)); iterate_over_file_blocks (elt, name, VAR_DOMAIN, collect_symbols, info); - /* If no symbols were found and this symtab is in + /* If no new symbols were found in this iteration and this symtab is=20 +in assembler, we might actually be looking for a label for which we don't have debug info. Check for a minimal symbol in this case. */ - if (VEC_empty (symbolp, info->result.symbols) + if ((prev_len =3D=3D VEC_length (symbolp, info->result.symbols)) && elt->language =3D=3D language_asm) search_minsyms_for_name (info, name, pspace, elt); } Best regards, Mihai -----Original Message----- From: Keith Seitz [mailto:keiths@redhat.com] Sent: Thursday, September 25, 2014 9:07 PM To: Nistor Mihail-MNISTOR1; gdb-patches@sourceware.org Subject: Re: [PATCH v2] Bug 17394: we cannot put a break-point at a global = function for ASM file Hi, On 09/17/2014 04:53 AM, Mihail-Marian Nistor wrote: > We need to cover the following test case: the user wants to do an=20 > action only for the function that was defined into a selected file name. > An example: the user wants to put a breakpoint only for functions "func" > that was defined in the file name "file.s" > e.i. of gdb command line: b file.s:func Due to the limitation=20 > that the GAS doesn't generate debug info for functions/symbols, we=20 > cannot find the function information if we look only in file symbtabs=20 > that was collected by using the file name specified by the user. > We need to look into a global default symtab if we want to find=20 > minimal information about functions that were written in the ASM file. > And after that, we need to select only functions that were defined=20 > into the file name specified by the user. Thanks for the detailed explanation (and *especially* the test case) -- tho= se have helped me immensely to understand the problem. I spent some time looking into this patch/problem, and I am not quite sure = the proposed solution is the right way to attack this. My current feeling on this is: the behavior of the linespec parser (and coo= rdinating routines) should not behave necessarily any different between the= two use cases "break foo.c:func" and "break foo.s:func".=20 Yet, the former works and the later does not. So I did some digging. Maybe you have already discounted the approach I am = going to suggest -- if so, I would be very interested in hearing about it. When a user specifies a C/C++/Ada/Java/Asm/whatever filename, the linespec = parser starts by building a list of file symtabs for the specified files. All subsequent symbol searches are limited to results in those files/symtab= s. The problem here is that, as you point out, gas does not emit any symbol in= formation for the .s file. Thus, we have a symtab for the file ("info sourc= es" shows the file), but it contains no symbols. When find_linespec_symbols is called in linespec_parse_basic, it calls find= _function_symbols, which uses add_matching_symbols_to_info to collect all m= atching symbols. That function does [pardon any mangled formatting]: for (ix =3D 0; VEC_iterate (symtab_ptr, info->file_symtabs, ix, elt); ++= ix) { if (elt =3D=3D NULL) { iterate_over_all_matching_symtabs (info->state, name, VAR_DOMAIN, collect_symbols, info, pspace, 1); search_minsyms_for_name (info, name, pspace); } else if (pspace =3D=3D NULL || pspace =3D=3D SYMTAB_PSPACE (elt)) { /* Program spaces that are executing startup should have been filtered out earlier. */ gdb_assert (!SYMTAB_PSPACE (elt)->executing_startup); set_current_program_space (SYMTAB_PSPACE (elt)); iterate_over_file_blocks (elt, name, VAR_DOMAIN, collect_symbols, info); } } This iterates over the symtabs. In the failing use case, ELT is non-NULL (p= oints to the symtab for the .s file), so it calls iterate_over_file_blocks.= Herein is where the problem exists: it is assumed that if NAME exists, it = must exist in the given symtab -- a reasonable assumption for "normal" (non= -asm) cases. It never searches minimal symbols (or in the global default sy= mtab). This is where I think where the fix should start. While attempting to convi= nce myself that approach is both appropriate and "correct," I've actually w= ritten a version of your patch which does this. It is important to note that iterating over minsyms is fairly expensive, so= in my patch, I've opted to only search minimal symbols for NAME if the sym= tab's language is language_asm and iterate_over_file_blocks returns no symb= ols. That should, hopefully, mitigate any performance impact this might hav= e. This is especially exasperated by the need to map the address of the minima= l symbol back to its symtab. You'll see this (expensive) added complexity i= n add_minsym. When all is said and done, though, when find_linespec_symbols returns, it w= ill have collated the appropriate symbol from the .s file -- exactly the sa= me way it would have if one had typed "break file.c:func". What do you think about this? Does this fail on any use cases you have? As for the test case, I would very much like to see this important function= ality tested on every platform. I haven't tried it yet myself, but I see th= at some other tests in our test suite use some minimal assembler program wh= ich (presumably) runs on nearly every configuration.=20 See, for example, gdb.dwarf2/dw2-anonymous-func.exp. Your test example is simple enough that it should be fairly trivial to fixu= p. In any case, I would move the test from gdb.arch to gdb.linespec, collectin= g it together with its linespec-specific test brethren. Keith --_002_7dec43bc41e044fcbba3289ca7cb2697BN1PR0301MB0628namprd03_ Content-Type: application/octet-stream; name="bug_17394_linespec_test_case.patch" Content-Description: bug_17394_linespec_test_case.patch Content-Disposition: attachment; filename="bug_17394_linespec_test_case.patch"; size=16783; creation-date="Sun, 28 Sep 2014 16:03:28 GMT"; modification-date="Sun, 28 Sep 2014 16:02:05 GMT" Content-Transfer-Encoding: base64 Content-length: 22753 RnJvbSA2ZTMwMGRjNDMxZmE3M2IzOGI4ZjZkM2IyNjg4MTBjYmYzODc5NTc2 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWhhaWwtTWFyaWFu IE5pc3RvciA8bWloYWlsLm5pc3RvckBmcmVlc2NhbGUuY29tPgpEYXRlOiBT dW4sIDI4IFNlcCAyMDE0IDE4OjU4OjU0ICswMzAwClN1YmplY3Q6IFtQQVRD SF0gQnVnIDE3Mzk0OiB3ZSBjYW5ub3QgcHV0IGEgYnJlYWstcG9pbnQgYXQg YSBnbG9iYWwgZnVuY3Rpb24KIGZvciBBU00gZmlsZQoKZ2RiL3Rlc3RzdWl0 ZS9DaGFuZ2VMb2cKICAgICAgMjAxNC0wOS0xNSAgTWloYWlsLU1hcmlhbiBO aXN0b3IgIDxtaWhhaWwubmlzdG9yQGZyZWVzY2FsZS5jb20+CiAgICAgIFBS IGdkYi8xNzM5NAogICAgICAqIGdkYi5saW5lc3BlYy9icmVhay1hc20teDg2 LWZpbGUuYzogTmV3IGZpbGUuCiAgICAgICogZ2RiLmxpbmVzcGVjL2JyZWFr LWFzbS14ODYtZmlsZS5leHA6IE5ldyBmaWxlLgogICAgICAqIGdkYi5saW5l c3BlYy9icmVhay1hc20teDg2LWZpbGUwLnM6IE5ldyBmaWxlLgogICAgICAq IGdkYi5saW5lc3BlYy9icmVhay1hc20teDg2LWZpbGUxLnM6IE5ldyBmaWxl LgoKU2lnbmVkLW9mZi1ieTogTWloYWlsLU1hcmlhbiBOaXN0b3IgPG1paGFp bC5uaXN0b3JAZnJlZXNjYWxlLmNvbT4KLS0tCiBnZGIvdGVzdHN1aXRlL2dk Yi5saW5lc3BlYy9icmVhay1hc20tZmlsZS5jICAgfCAgMzUgKysrKwogZ2Ri L3Rlc3RzdWl0ZS9nZGIubGluZXNwZWMvYnJlYWstYXNtLWZpbGUuZXhwIHwg IDU1ICsrKysrKwogZ2RiL3Rlc3RzdWl0ZS9nZGIubGluZXNwZWMvYnJlYWst YXNtLWZpbGUwLnMgIHwgMjE4ICsrKysrKysrKysrKysrKysrKysrKysrCiBn ZGIvdGVzdHN1aXRlL2dkYi5saW5lc3BlYy9icmVhay1hc20tZmlsZTEucyAg fCAyNDQgKysrKysrKysrKysrKysrKysrKysrKysrKysKIDQgZmlsZXMgY2hh bmdlZCwgNTUyIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBn ZGIvdGVzdHN1aXRlL2dkYi5saW5lc3BlYy9icmVhay1hc20tZmlsZS5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIubGluZXNwZWMv YnJlYWstYXNtLWZpbGUuZXhwCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rl c3RzdWl0ZS9nZGIubGluZXNwZWMvYnJlYWstYXNtLWZpbGUwLnMKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5saW5lc3BlYy9icmVh ay1hc20tZmlsZTEucwoKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmxpbmVzcGVjL2JyZWFrLWFzbS1maWxlLmMgYi9nZGIvdGVzdHN1aXRlL2dk Yi5saW5lc3BlYy9icmVhay1hc20tZmlsZS5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjUyNTcyNmIKLS0tIC9kZXYvbnVsbAorKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5saW5lc3BlYy9icmVhay1hc20tZmlsZS5j CkBAIC0wLDAgKzEsMzUgQEAKKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBv ZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisKKyAgIENvcHlyaWdodCAyMDA0 LTIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyAgIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4gICovCisKK3ZvaWQgZnVuYzMoKTsKK3ZvaWQg ZnVuYzIoKTsKKworc3RhdGljIGZ1bmMoKQoreworfQorCit2b2lkIGZ1bmMx KCkKK3sKKyAgZnVuYzMoKTsKKyAgZnVuYzIoKTsKKyAgZnVuYygpOworfQor CitpbnQgbWFpbigpCit7CisgIGZ1bmMxKCk7Cit9CmRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5saW5lc3BlYy9icmVhay1hc20tZmlsZS5leHAg Yi9nZGIvdGVzdHN1aXRlL2dkYi5saW5lc3BlYy9icmVhay1hc20tZmlsZS5l eHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjExMjlj MwotLS0gL2Rldi9udWxsCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmxpbmVz cGVjL2JyZWFrLWFzbS1maWxlLmV4cApAQCAtMCwwICsxLDU1IEBACisjIENv cHlyaWdodCAyMDEyLTIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCisKKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh cyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxv bmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3 dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKKyMgQnVnIDE3Mzk0CisjIFRlc3Qg Zm9yIGJyZWFrLXBvaW50IGF0IGEgZnVuY3Rpb24gb25seSBmb3IgYSBzZWxl Y3RlZCBBU00gZmlsZS4KKworbG9hZF9saWIgZHdhcmYuZXhwIAorCitzdGFu ZGFyZF90ZXN0ZmlsZSAuYworc2V0IGV4ZWNmaWxlICR0ZXN0ZmlsZQorc2V0 IGFzbV9maWxlMSBicmVhay1hc20tZmlsZTEucworc2V0IGFzbV9maWxlMCBi cmVhay1hc20tZmlsZTAucworCisjIFRoaXMgdGVzdCBjYW4gb25seSBiZSBy dW4gb24gdGFyZ2V0cyB3aGljaCBzdXBwb3J0IERXQVJGLTIgYW5kIHVzZSBn YXMuCitpZiB7IVtkd2FyZjJfc3VwcG9ydF19IHsKKyAgICByZXR1cm4gMAor fQorCitpZiB7W3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHt0ZXN0ZmlsZX0uZXhw ICRleGVjZmlsZSBcCisJIFtsaXN0ICRzcmNmaWxlICRhc21fZmlsZTEgJGFz bV9maWxlMF0gXAorCSB7ZGVidWcgbm93YXJuaW5ncyBvcHRpbWl6ZT0tTzB9 XX0geworICAgIHVudGVzdGVkICJTa2lwcGluZyAke3Rlc3RmaWxlfS4iCisg ICAgcmV0dXJuCit9CisKK2NsZWFuX3Jlc3RhcnQgJGV4ZWNmaWxlCisKK2dk Yl90ZXN0ICJicmVhayBhLyRhc21fZmlsZTA6ZnVuYyIgXAorICAgICJCcmVh a3BvaW50IDEgYXQgMHhcWzAtOWEtZkEtRlxdKzogZmlsZSAuKmEvJGFzbV9m aWxlMCwgbGluZSA3XFxcLiIgXAorICAgICJzZXQgYSBicmVhay1wb2ludCBh dCBhIGdsb2JhbCBmdW5jdGlvbiBvbmx5IGZvciBhIHNlbGVjdGVkIEFTTSBm aWxlLiIKKworZ2RiX3Rlc3QgImRlbGV0ZSAxIgorCitnZGJfdGVzdCAiYnJl YWsgYi8kYXNtX2ZpbGUwOmZ1bmMiIFwKKyAgICAiQnJlYWtwb2ludCAyIGF0 IDB4XFswLTlhLWZBLUZcXSs6IGZpbGUgLipiLyRhc21fZmlsZTAsIGxpbmUg N1xcXC4iIFwKKyAgICAic2V0IGEgYnJlYWstcG9pbnQgYXQgYSBmdW5jdGlv biBvbmx5IGZvciBhIHNlbGVjdGVkIEFTTSBmaWxlLiIKKworZ2RiX3Rlc3Qg ImRlbGV0ZSAyIgorCitnZGJfdGVzdCAiYnJlYWsgJGFzbV9maWxlMDpmdW5j IiBcCisgICAgIkJyZWFrcG9pbnQgMyBhdCAweFxbMC05YS1mQS1GXF0rOiAu KiRhc21fZmlsZTAuKigyIGxvY2F0aW9ucykuKiIgXAorICAgICJzZXQgYSBi cmVhay1wb2ludCBhdCBmdW5jdGlvbiBpbiBhbGwgaW5zdGFuY2VzIGZvciBh IHNlbGVjdGVkIEFTTSBmaWxlLiIKKwpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIubGluZXNwZWMvYnJlYWstYXNtLWZpbGUwLnMgYi9nZGIvdGVz dHN1aXRlL2dkYi5saW5lc3BlYy9icmVhay1hc20tZmlsZTAucwpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWM3NzY3Ci0tLSAvZGV2 L251bGwKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIubGluZXNwZWMvYnJlYWst YXNtLWZpbGUwLnMKQEAgLTAsMCArMSwyMTggQEAKKy8qIFRoaXMgdGVzdGNh c2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisKKyAgIENv cHlyaWdodCAyMDA0LTIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyAg IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CisgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisKKwkuZmlsZSAi YS9icmVhay1hc20tZmlsZTAucyIKKwkudGV4dAorLkxiZWdpbl90ZXh0MToK KwkuZ2xvYmwgX2Z1bmMyCitfZnVuYzI6CisJLmdsb2JsIGZ1bmMyCisJLnR5 cGUgZnVuYzIsICVmdW5jdGlvbgorZnVuYzI6CisuTGJlZ2luX2Z1bmMyOgor CS5pbnQgMAorCS5pbnQgMAorLkxlbmRfZnVuYzI6CisJLnNpemUgZnVuYzIs IC4tZnVuYzIKKwkuZ2xvYmwgX2Z1bmMKK19mdW5jOgorICAuZ2xvYmwgZnVu YworCS50eXBlIGZ1bmMsICVmdW5jdGlvbgorZnVuYzoKKy5MYmVnaW5fZnVu YzoKKwkuZmlsZSAxICJhL2JyZWFrLWFzbS1maWxlMC5zIgorCS5pbnQgMAor CS5pbnQgMAorLkxlbmRfZnVuYzoKKwkuc2l6ZSBmdW5jLCAuLWZ1bmMKKy5M ZW5kX3RleHQxOgorCisvKiBEZWJ1ZyBpbmZvcm1hdGlvbiAqLworCisJLnNl Y3Rpb24gLmRlYnVnX2luZm8KKy5MY3UxX2JlZ2luOgorCS8qIENVIGhlYWRl ciAqLworCS40Ynl0ZQkuTGN1MV9lbmQgLSAuTGN1MV9zdGFydAkJLyogTGVu Z3RoIG9mIENvbXBpbGF0aW9uIFVuaXQgKi8KKy5MY3UxX3N0YXJ0OgorCS4y Ynl0ZQkyCQkJCS8qIERXQVJGIFZlcnNpb24gKi8KKwkuNGJ5dGUJLkxhYmJy ZXYxX2JlZ2luCQkJLyogT2Zmc2V0IGludG8gYWJicmV2IHNlY3Rpb24gKi8K KwkuYnl0ZQk0CQkJCS8qIFBvaW50ZXIgc2l6ZSAqLworCisJLyogQ1UgZGll ICovCisJLnVsZWIxMjggMQkJCQkvKiBBYmJyZXY6IERXX1RBR19jb21waWxl X3VuaXQgKi8KKwkuNGJ5dGUJLkxsaW5lMV9iZWdpbgkJCS8qIERXX0FUX3N0 bXRfbGlzdCAqLworCS40Ynl0ZQkuTGVuZF90ZXh0MQkJCS8qIERXX0FUX2hp Z2hfcGMgKi8KKwkuNGJ5dGUJLkxiZWdpbl90ZXh0MQkJCS8qIERXX0FUX2xv d19wYyAqLworCS5hc2NpaQkiYS9icmVhay1hc20tZmlsZTAuc1wwIgkJCS8q IERXX0FUX25hbWUgKi8KKwkuYXNjaWkJIkdOVSBDIDMuMy4zXDAiCQkJLyog RFdfQVRfcHJvZHVjZXIgKi8KKwkuMmJ5dGUJMHg4MDAxCQkJCS8qIERXX0FU X2xhbmd1YWdlIChNaXBzIEFzc2VtYmxlcikgKi8KKworCS5ieXRlCQkwCQkJ LyogRW5kIG9mIGNoaWxkcmVuIG9mIENVICovCisKKy5MY3UxX2VuZDoKKwor LyogQWJicmV2IHRhYmxlICovCisJLnNlY3Rpb24gLmRlYnVnX2FiYnJldgor LkxhYmJyZXYxX2JlZ2luOgorCS51bGViMTI4CTEJCQkvKiBBYmJyZXYgY29k ZSAqLworCS51bGViMTI4CTB4MTEJCQkvKiBEV19UQUdfY29tcGlsZV91bml0 ICovCisJLmJ5dGUJCTEJCQkvKiBoYXNfY2hpbGRyZW4gKi8KKwkudWxlYjEy OAkweDEwCQkJLyogRFdfQVRfc3RtdF9saXN0ICovCisJLnVsZWIxMjgJMHg2 CQkJLyogRFdfRk9STV9kYXRhNCAqLworCS51bGViMTI4CTB4MTIJCQkvKiBE V19BVF9oaWdoX3BjICovCisJLnVsZWIxMjgJMHgxCQkJLyogRFdfRk9STV9h ZGRyICovCisJLnVsZWIxMjgJMHgxMQkJCS8qIERXX0FUX2xvd19wYyAqLwor CS51bGViMTI4CTB4MQkJCS8qIERXX0ZPUk1fYWRkciAqLworCS51bGViMTI4 CTB4MwkJCS8qIERXX0FUX25hbWUgKi8KKwkudWxlYjEyOAkweDgJCQkvKiBE V19GT1JNX3N0cmluZyAqLworCS51bGViMTI4CTB4MjUJCQkvKiBEV19BVF9w cm9kdWNlciAqLworCS51bGViMTI4CTB4OAkJCS8qIERXX0ZPUk1fc3RyaW5n ICovCisJLnVsZWIxMjgJMHgxMwkJCS8qIERXX0FUX2xhbmd1YWdlICovCisJ LnVsZWIxMjgJMHg1CQkJLyogRFdfRk9STV9kYXRhMiAqLworCS5ieXRlCQkw eDAJCQkvKiBUZXJtaW5hdG9yICovCisJLmJ5dGUJCTB4MAkJCS8qIFRlcm1p bmF0b3IgKi8KKworCS51bGViMTI4CTIJCQkvKiBBYmJyZXYgY29kZSAqLwor CS51bGViMTI4CTB4MmUJCQkvKiBEV19UQUdfc3VicHJvZ3JhbSAqLworCS5i eXRlCQkwCQkJLyogaGFzX2NoaWxkcmVuICovCisJLnVsZWIxMjgJMHgzZgkJ CS8qIERXX0FUX2V4dGVybmFsICovCisJLnVsZWIxMjgJMHhjCQkJLyogRFdf Rk9STV9mbGFnICovCisJLnVsZWIxMjgJMHgzYQkJCS8qIERXX0FUX2RlY2xf ZmlsZSAqLworCS51bGViMTI4CTB4YgkJCS8qIERXX0ZPUk1fZGF0YTEgKi8K KwkudWxlYjEyOAkweDNiCQkJLyogRFdfQVRfZGVjbF9saW5lICovCisJLnVs ZWIxMjgJMHhiCQkJLyogRFdfRk9STV9kYXRhMSAqLworCS51bGViMTI4CTB4 MwkJCS8qIERXX0FUX25hbWUgKi8KKwkudWxlYjEyOAkweDgJCQkvKiBEV19G T1JNX3N0cmluZyAqLworCS51bGViMTI4CTB4NDkJCQkvKiBEV19BVF90eXBl ICovCisJLnVsZWIxMjgJMHgxMwkJCS8qIERXX0ZPUk1fcmVmNCAqLworCS51 bGViMTI4CTB4MTEJCQkvKiBEV19BVF9sb3dfcGMgKi8KKwkudWxlYjEyOAkw eDEJCQkvKiBEV19GT1JNX2FkZHIgKi8KKwkudWxlYjEyOAkweDEyCQkJLyog RFdfQVRfaGlnaF9wYyAqLworCS51bGViMTI4CTB4MQkJCS8qIERXX0ZPUk1f YWRkciAqLworCS51bGViMTI4CTB4NDAJCQkvKiBEV19BVF9mcmFtZV9iYXNl ICovCisJLnVsZWIxMjgJMHhhCQkJLyogRFdfRk9STV9ibG9jazEgKi8KKwku Ynl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLworCS5ieXRlCQkweDAJCQkv KiBUZXJtaW5hdG9yICovCisKKwkudWxlYjEyOAkzCQkJLyogQWJicmV2IGNv ZGUgKi8KKwkudWxlYjEyOAkweDI0CQkJLyogRFdfVEFHX2Jhc2VfdHlwZSAq LworCS5ieXRlCQkwCQkJLyogaGFzX2NoaWxkcmVuICovCisJLnVsZWIxMjgJ MHgzCQkJLyogRFdfQVRfbmFtZSAqLworCS51bGViMTI4CTB4OAkJCS8qIERX X0ZPUk1fc3RyaW5nICovCisJLnVsZWIxMjgJMHhiCQkJLyogRFdfQVRfYnl0 ZV9zaXplICovCisJLnVsZWIxMjgJMHhiCQkJLyogRFdfRk9STV9kYXRhMSAq LworCS51bGViMTI4CTB4M2UJCQkvKiBEV19BVF9lbmNvZGluZyAqLworCS51 bGViMTI4CTB4YgkJCS8qIERXX0ZPUk1fZGF0YTEgKi8KKwkuYnl0ZQkJMHgw CQkJLyogVGVybWluYXRvciAqLworCS5ieXRlCQkweDAJCQkvKiBUZXJtaW5h dG9yICovCisKKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLworCS5i eXRlCQkweDAJCQkvKiBUZXJtaW5hdG9yICovCisKKy8qIExpbmUgdGFibGUg Ki8KKwkuc2VjdGlvbiAuZGVidWdfbGluZQorLkxsaW5lMV9iZWdpbjoKKwku NGJ5dGUJCS5MbGluZTFfZW5kIC0gLkxsaW5lMV9zdGFydAkvKiBJbml0aWFs IGxlbmd0aCAqLworLkxsaW5lMV9zdGFydDoKKwkuMmJ5dGUJCTIJCQkvKiBW ZXJzaW9uICovCisJLjRieXRlCQkuTGxpbmUxX2xpbmVzIC0gLkxsaW5lMV9o ZHIJLyogaGVhZGVyX2xlbmd0aCAqLworLkxsaW5lMV9oZHI6CisJLmJ5dGUJ CTEJCQkvKiBNaW5pbXVtIGluc24gbGVuZ3RoICovCisJLmJ5dGUJCTEJCQkv KiBkZWZhdWx0X2lzX3N0bXQgKi8KKwkuYnl0ZQkJMQkJCS8qIGxpbmVfYmFz ZSAqLworCS5ieXRlCQkxCQkJLyogbGluZV9yYW5nZSAqLworCS5ieXRlCQkw eDEwCQkJLyogb3Bjb2RlX2Jhc2UgKi8KKworCS8qIFN0YW5kYXJkIGxlbmd0 aHMgKi8KKwkuYnl0ZQkJMAorCS5ieXRlCQkxCisJLmJ5dGUJCTEKKwkuYnl0 ZQkJMQorCS5ieXRlCQkxCisJLmJ5dGUJCTAKKwkuYnl0ZQkJMAorCS5ieXRl CQkwCisJLmJ5dGUJCTEKKwkuYnl0ZQkJMAorCS5ieXRlCQkwCisJLmJ5dGUJ CTEKKwkuYnl0ZQkJMAorCS5ieXRlCQkwCisJLmJ5dGUJCTAKKworCS8qIElu Y2x1ZGUgZGlyZWN0b3JpZXMgKi8KKwkuYnl0ZQkJMAorCisJLyogRmlsZSBu YW1lcyAqLworCS5hc2NpaQkJImEvYnJlYWstYXNtLWZpbGUwLnNcMCIKKwku dWxlYjEyOAkwCisJLnVsZWIxMjgJMAorCS51bGViMTI4CTAKKworCS5ieXRl CQkwCisKKy5MbGluZTFfbGluZXM6CisJLmJ5dGUJCTAJLyogRFdfTE5FX3Nl dF9hZGRyZXNzICovCisJLnVsZWIxMjgJNQorCS5ieXRlCQkyCisJLjRieXRl CQkuTGJlZ2luX2Z1bmMyCisKKwkuYnl0ZQkJMwkvKiBEV19MTlNfYWR2YW5j ZV9saW5lICovCisJLnNsZWIxMjgJMQkvKiAuLi4gdG8gMiAqLworCisJLmJ5 dGUJCTEJLyogRFdfTE5TX2NvcHkgKi8KKworICAuYnl0ZQkJMAkvKiBEV19M TkVfc2V0X2FkZHJlc3MgKi8KKwkudWxlYjEyOAk1CisJLmJ5dGUJCTIKKwku NGJ5dGUJCS5MYmVnaW5fZnVuYzIrMQorCisJLmJ5dGUJCTMJLyogRFdfTE5T X2FkdmFuY2VfbGluZSAqLworCS5zbGViMTI4CTEJLyogLi4uIHRvIDMgKi8K KworCS5ieXRlCQkxCS8qIERXX0xOU19jb3B5ICovCisJCisJLmJ5dGUJCTAJ LyogRFdfTE5FX3NldF9hZGRyZXNzICovCisJLnVsZWIxMjgJNQorCS5ieXRl CQkyCisJLjRieXRlCQkuTGJlZ2luX2Z1bmMKKworICAuYnl0ZQkJMwkvKiBE V19MTlNfYWR2YW5jZV9saW5lICovCisJLnNsZWIxMjgJNAkvKiAuLi4gdG8g NyAqLworCisJLmJ5dGUJCTEJLyogRFdfTE5TX2NvcHkgKi8KKworCS5ieXRl CQkwCS8qIERXX0xORV9zZXRfYWRkcmVzcyAqLworCS51bGViMTI4CTUKKwku Ynl0ZQkJMgorCS40Ynl0ZQkJLkxiZWdpbl9mdW5jKzIKKworICAuYnl0ZQkJ MwkvKiBEV19MTlNfYWR2YW5jZV9saW5lICovCisJLnNsZWIxMjgJMQkvKiAu Li4gdG8gOCAqLworCisJLmJ5dGUJCTEJLyogRFdfTE5TX2NvcHkgKi8KKwor ICAuYnl0ZQkJMAkvKiBEV19MTkVfc2V0X2FkZHJlc3MgKi8KKwkudWxlYjEy OAk1CisJLmJ5dGUJCTIKKwkuNGJ5dGUJCS5MZW5kX2Z1bmMKKworCS5ieXRl CQkwCS8qIERXX0xORV9lbmRfb2Zfc2VxdWVuY2UgKi8KKwkudWxlYjEyOAkx CisJLmJ5dGUJCTEKKworLkxsaW5lMV9lbmQ6CmRpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5saW5lc3BlYy9icmVhay1hc20tZmlsZTEucyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmxpbmVzcGVjL2JyZWFrLWFzbS1maWxlMS5zCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzNzUyOTUKLS0t IC9kZXYvbnVsbAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5saW5lc3BlYy9i cmVhay1hc20tZmlsZTEucwpAQCAtMCwwICsxLDI0NCBAQAorLyogVGhpcyB0 ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KKwor ICAgQ29weXJpZ2h0IDIwMDQtMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KKworICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgIGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv cgorICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKwor ICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor ICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UKKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBz ZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKworCS50 ZXh0CisuTGJlZ2luX3RleHQxOgorCS5nbG9ibCBfZnVuYzMKK19mdW5jMzoK KwkuZ2xvYmwgZnVuYzMKKwkudHlwZSBmdW5jMywgJWZ1bmN0aW9uCitmdW5j MzoKKy5MYmVnaW5fZnVuYzM6CisJLmludCAwCisJLmludCAwCisuTGVuZF9m dW5jMzoKKwkuc2l6ZSBmdW5jMywgLi1mdW5jMworX2Z1bmM6CisJLnR5cGUg ZnVuYywgJWZ1bmN0aW9uCitmdW5jOgorLkxiZWdpbl9mdW5jOgorCS5pbnQg MAorCS5pbnQgMAorLkxlbmRfZnVuYzoKKwkuc2l6ZSBmdW5jLCAuLWZ1bmMK Ky5MZW5kX3RleHQxOgorCisvKiBEZWJ1ZyBpbmZvcm1hdGlvbiAqLworCisJ LnNlY3Rpb24gLmRlYnVnX2luZm8KKy5MY3UxX2JlZ2luOgorCS8qIENVIGhl YWRlciAqLworCS40Ynl0ZQkuTGN1MV9lbmQgLSAuTGN1MV9zdGFydAkJLyog TGVuZ3RoIG9mIENvbXBpbGF0aW9uIFVuaXQgKi8KKy5MY3UxX3N0YXJ0Ogor CS4yYnl0ZQkyCQkJCS8qIERXQVJGIFZlcnNpb24gKi8KKwkuNGJ5dGUJLkxh YmJyZXYxX2JlZ2luCQkJLyogT2Zmc2V0IGludG8gYWJicmV2IHNlY3Rpb24g Ki8KKwkuYnl0ZQk0CQkJCS8qIFBvaW50ZXIgc2l6ZSAqLworCisJLyogQ1Ug ZGllICovCisJLnVsZWIxMjggMQkJCQkvKiBBYmJyZXY6IERXX1RBR19jb21w aWxlX3VuaXQgKi8KKwkuNGJ5dGUJLkxsaW5lMV9iZWdpbgkJCS8qIERXX0FU X3N0bXRfbGlzdCAqLworCS40Ynl0ZQkuTGVuZF90ZXh0MQkJCS8qIERXX0FU X2hpZ2hfcGMgKi8KKwkuNGJ5dGUJLkxiZWdpbl90ZXh0MQkJCS8qIERXX0FU X2xvd19wYyAqLworCS5hc2NpaQkiYi9icmVhay1hc20tZmlsZTAuc1wwIgkJ CS8qIERXX0FUX25hbWUgKi8KKwkuYXNjaWkJIkdOVSBDIDMuMy4zXDAiCQkJ LyogRFdfQVRfcHJvZHVjZXIgKi8KKwkuMmJ5dGUJMHg4MDAxCQkJCS8qIERX X0FUX2xhbmd1YWdlIChNaXBzIEFzc2VtYmxlcikgKi8KKworCS8qIGZ1bmMz ICovCisJLnVsZWIxMjgJMgkJCS8qIEFiYnJldjogRFdfVEFHX3N1YnByb2dy YW0gKi8KKwkuYnl0ZQkJMQkJCS8qIERXX0FUX2V4dGVybmFsICovCisJLmJ5 dGUJCTEJCQkvKiBEV19BVF9kZWNsX2ZpbGUgKi8KKwkuYnl0ZQkJMgkJCS8q IERXX0FUX2RlY2xfbGluZSAqLworCS5hc2NpaQkJImZ1bmMzXDAiCQkvKiBE V19BVF9uYW1lICovCisJLjRieXRlCQkuTHR5cGVfaW50LS5MY3UxX2JlZ2lu CS8qIERXX0FUX3R5cGUgKi8KKwkuNGJ5dGUJCS5MYmVnaW5fZnVuYzMJLyog RFdfQVRfbG93X3BjICovCisJLjRieXRlCQkuTGVuZF9mdW5jMwkJLyogRFdf QVRfaGlnaF9wYyAqLworCS5ieXRlCQkxCQkJLyogRFdfQVRfZnJhbWVfYmFz ZTogbGVuZ3RoICovCisJLmJ5dGUJCTB4NTUJCQkvKiBEV19BVF9mcmFtZV9i YXNlOiBEV19PUF9yZWc1ICovCisKKwkvKiBmdW5jICovCisJLnVsZWIxMjgJ MgkJCS8qIEFiYnJldjogRFdfVEFHX3N1YnByb2dyYW0gKi8KKwkuYnl0ZQkJ MAkJCS8qIERXX0FUX2V4dGVybmFsICovCisJLmJ5dGUJCTEJCQkvKiBEV19B VF9kZWNsX2ZpbGUgKi8KKwkuYnl0ZQkJNAkJCS8qIERXX0FUX2RlY2xfbGlu ZSAqLworCS5hc2NpaQkJImZ1bmNcMCIJCS8qIERXX0FUX25hbWUgKi8KKwku NGJ5dGUJCS5MdHlwZV9pbnQtLkxjdTFfYmVnaW4JLyogRFdfQVRfdHlwZSAq LworCS40Ynl0ZQkJLkxiZWdpbl9mdW5jCS8qIERXX0FUX2xvd19wYyAqLwor CS40Ynl0ZQkJLkxlbmRfZnVuYwkJLyogRFdfQVRfaGlnaF9wYyAqLworCS5i eXRlCQkxCQkJLyogRFdfQVRfZnJhbWVfYmFzZTogbGVuZ3RoICovCisJLmJ5 dGUJCTB4NTUJCQkvKiBEV19BVF9mcmFtZV9iYXNlOiBEV19PUF9yZWc1ICov CisKKy5MdHlwZV9pbnQ6CisJLnVsZWIxMjgJMwkJCS8qIEFiYnJldjogRFdf VEFHX2Jhc2VfdHlwZSAqLworCS5hc2NpaQkJImludFwwIgkJCS8qIERXX0FU X25hbWUgKi8KKwkuYnl0ZQkJNAkJCS8qIERXX0FUX2J5dGVfc2l6ZSAqLwor CS5ieXRlCQk1CQkJLyogRFdfQVRfZW5jb2RpbmcgKi8KKworCS5ieXRlCQkw CQkJLyogRW5kIG9mIGNoaWxkcmVuIG9mIENVICovCisKKy5MY3UxX2VuZDoK KworLyogQWJicmV2IHRhYmxlICovCisJLnNlY3Rpb24gLmRlYnVnX2FiYnJl dgorLkxhYmJyZXYxX2JlZ2luOgorCS51bGViMTI4CTEJCQkvKiBBYmJyZXYg Y29kZSAqLworCS51bGViMTI4CTB4MTEJCQkvKiBEV19UQUdfY29tcGlsZV91 bml0ICovCisJLmJ5dGUJCTEJCQkvKiBoYXNfY2hpbGRyZW4gKi8KKwkudWxl YjEyOAkweDEwCQkJLyogRFdfQVRfc3RtdF9saXN0ICovCisJLnVsZWIxMjgJ MHg2CQkJLyogRFdfRk9STV9kYXRhNCAqLworCS51bGViMTI4CTB4MTIJCQkv KiBEV19BVF9oaWdoX3BjICovCisJLnVsZWIxMjgJMHgxCQkJLyogRFdfRk9S TV9hZGRyICovCisJLnVsZWIxMjgJMHgxMQkJCS8qIERXX0FUX2xvd19wYyAq LworCS51bGViMTI4CTB4MQkJCS8qIERXX0ZPUk1fYWRkciAqLworCS51bGVi MTI4CTB4MwkJCS8qIERXX0FUX25hbWUgKi8KKwkudWxlYjEyOAkweDgJCQkv KiBEV19GT1JNX3N0cmluZyAqLworCS51bGViMTI4CTB4MjUJCQkvKiBEV19B VF9wcm9kdWNlciAqLworCS51bGViMTI4CTB4OAkJCS8qIERXX0ZPUk1fc3Ry aW5nICovCisJLnVsZWIxMjgJMHgxMwkJCS8qIERXX0FUX2xhbmd1YWdlICov CisJLnVsZWIxMjgJMHg1CQkJLyogRFdfRk9STV9kYXRhMiAqLworCS5ieXRl CQkweDAJCQkvKiBUZXJtaW5hdG9yICovCisJLmJ5dGUJCTB4MAkJCS8qIFRl cm1pbmF0b3IgKi8KKworCS51bGViMTI4CTIJCQkvKiBBYmJyZXYgY29kZSAq LworCS51bGViMTI4CTB4MmUJCQkvKiBEV19UQUdfc3VicHJvZ3JhbSAqLwor CS5ieXRlCQkwCQkJLyogaGFzX2NoaWxkcmVuICovCisJLnVsZWIxMjgJMHgz ZgkJCS8qIERXX0FUX2V4dGVybmFsICovCisJLnVsZWIxMjgJMHhjCQkJLyog RFdfRk9STV9mbGFnICovCisJLnVsZWIxMjgJMHgzYQkJCS8qIERXX0FUX2Rl Y2xfZmlsZSAqLworCS51bGViMTI4CTB4YgkJCS8qIERXX0ZPUk1fZGF0YTEg Ki8KKwkudWxlYjEyOAkweDNiCQkJLyogRFdfQVRfZGVjbF9saW5lICovCisJ LnVsZWIxMjgJMHhiCQkJLyogRFdfRk9STV9kYXRhMSAqLworCS51bGViMTI4 CTB4MwkJCS8qIERXX0FUX25hbWUgKi8KKwkudWxlYjEyOAkweDgJCQkvKiBE V19GT1JNX3N0cmluZyAqLworCS51bGViMTI4CTB4NDkJCQkvKiBEV19BVF90 eXBlICovCisJLnVsZWIxMjgJMHgxMwkJCS8qIERXX0ZPUk1fcmVmNCAqLwor CS51bGViMTI4CTB4MTEJCQkvKiBEV19BVF9sb3dfcGMgKi8KKwkudWxlYjEy OAkweDEJCQkvKiBEV19GT1JNX2FkZHIgKi8KKwkudWxlYjEyOAkweDEyCQkJ LyogRFdfQVRfaGlnaF9wYyAqLworCS51bGViMTI4CTB4MQkJCS8qIERXX0ZP Uk1fYWRkciAqLworCS51bGViMTI4CTB4NDAJCQkvKiBEV19BVF9mcmFtZV9i YXNlICovCisJLnVsZWIxMjgJMHhhCQkJLyogRFdfRk9STV9ibG9jazEgKi8K KwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLworCS5ieXRlCQkweDAJ CQkvKiBUZXJtaW5hdG9yICovCisKKwkudWxlYjEyOAkzCQkJLyogQWJicmV2 IGNvZGUgKi8KKwkudWxlYjEyOAkweDI0CQkJLyogRFdfVEFHX2Jhc2VfdHlw ZSAqLworCS5ieXRlCQkwCQkJLyogaGFzX2NoaWxkcmVuICovCisJLnVsZWIx MjgJMHgzCQkJLyogRFdfQVRfbmFtZSAqLworCS51bGViMTI4CTB4OAkJCS8q IERXX0ZPUk1fc3RyaW5nICovCisJLnVsZWIxMjgJMHhiCQkJLyogRFdfQVRf Ynl0ZV9zaXplICovCisJLnVsZWIxMjgJMHhiCQkJLyogRFdfRk9STV9kYXRh MSAqLworCS51bGViMTI4CTB4M2UJCQkvKiBEV19BVF9lbmNvZGluZyAqLwor CS51bGViMTI4CTB4YgkJCS8qIERXX0ZPUk1fZGF0YTEgKi8KKwkuYnl0ZQkJ MHgwCQkJLyogVGVybWluYXRvciAqLworCS5ieXRlCQkweDAJCQkvKiBUZXJt aW5hdG9yICovCisKKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLwor CS5ieXRlCQkweDAJCQkvKiBUZXJtaW5hdG9yICovCisKKy8qIExpbmUgdGFi bGUgKi8KKwkuc2VjdGlvbiAuZGVidWdfbGluZQorLkxsaW5lMV9iZWdpbjoK KwkuNGJ5dGUJCS5MbGluZTFfZW5kIC0gLkxsaW5lMV9zdGFydAkvKiBJbml0 aWFsIGxlbmd0aCAqLworLkxsaW5lMV9zdGFydDoKKwkuMmJ5dGUJCTIJCQkv KiBWZXJzaW9uICovCisJLjRieXRlCQkuTGxpbmUxX2xpbmVzIC0gLkxsaW5l MV9oZHIJLyogaGVhZGVyX2xlbmd0aCAqLworLkxsaW5lMV9oZHI6CisJLmJ5 dGUJCTEJCQkvKiBNaW5pbXVtIGluc24gbGVuZ3RoICovCisJLmJ5dGUJCTEJ CQkvKiBkZWZhdWx0X2lzX3N0bXQgKi8KKwkuYnl0ZQkJMQkJCS8qIGxpbmVf YmFzZSAqLworCS5ieXRlCQkxCQkJLyogbGluZV9yYW5nZSAqLworCS5ieXRl CQkweDEwCQkJLyogb3Bjb2RlX2Jhc2UgKi8KKworCS8qIFN0YW5kYXJkIGxl bmd0aHMgKi8KKwkuYnl0ZQkJMAorCS5ieXRlCQkxCisJLmJ5dGUJCTEKKwku Ynl0ZQkJMQorCS5ieXRlCQkxCisJLmJ5dGUJCTAKKwkuYnl0ZQkJMAorCS5i eXRlCQkwCisJLmJ5dGUJCTEKKwkuYnl0ZQkJMAorCS5ieXRlCQkwCisJLmJ5 dGUJCTEKKwkuYnl0ZQkJMAorCS5ieXRlCQkwCisJLmJ5dGUJCTAKKworCS8q IEluY2x1ZGUgZGlyZWN0b3JpZXMgKi8KKwkuYnl0ZQkJMAorCisJLyogRmls ZSBuYW1lcyAqLworCS5hc2NpaQkJImIvYnJlYWstYXNtLWZpbGUwLnNcMCIK KwkudWxlYjEyOAkwCisJLnVsZWIxMjgJMAorCS51bGViMTI4CTAKKworCS5i eXRlCQkwCisKKy5MbGluZTFfbGluZXM6CisJLmJ5dGUJCTAJLyogRFdfTE5F X3NldF9hZGRyZXNzICovCisJLnVsZWIxMjgJNQorCS5ieXRlCQkyCisJLjRi eXRlCQkuTGJlZ2luX2Z1bmMzCisKKwkuYnl0ZQkJMwkvKiBEV19MTlNfYWR2 YW5jZV9saW5lICovCisJLnNsZWIxMjgJMQkvKiAuLi4gdG8gMiAqLworCisJ LmJ5dGUJCTEJLyogRFdfTE5TX2NvcHkgKi8KKworCS5ieXRlCQkwCS8qIERX X0xORV9zZXRfYWRkcmVzcyAqLworCS51bGViMTI4CTUKKwkuYnl0ZQkJMgor CS40Ynl0ZQkJLkxiZWdpbl9mdW5jMysxCisKKwkuYnl0ZQkJMwkvKiBEV19M TlNfYWR2YW5jZV9saW5lICovCisJLnNsZWIxMjgJMQkvKiAuLi4gdG8gMyAq LworCisJLmJ5dGUJCTEJLyogRFdfTE5TX2NvcHkgKi8KKwkKKwkuYnl0ZQkJ MAkvKiBEV19MTkVfc2V0X2FkZHJlc3MgKi8KKwkudWxlYjEyOAk1CisJLmJ5 dGUJCTIKKwkuNGJ5dGUJCS5MYmVnaW5fZnVuYworCisgIC5ieXRlCQkzCS8q IERXX0xOU19hZHZhbmNlX2xpbmUgKi8KKwkuc2xlYjEyOAk0CS8qIC4uLiB0 byA3ICovCisKKwkuYnl0ZQkJMQkvKiBEV19MTlNfY29weSAqLworCisJLmJ5 dGUJCTAJLyogRFdfTE5FX3NldF9hZGRyZXNzICovCisJLnVsZWIxMjgJNQor CS5ieXRlCQkyCisJLjRieXRlCQkuTGJlZ2luX2Z1bmMrMQorCisgIC5ieXRl CQkzCS8qIERXX0xOU19hZHZhbmNlX2xpbmUgKi8KKwkuc2xlYjEyOAkxCS8q IC4uLiB0byA4ICovCisKKwkuYnl0ZQkJMQkvKiBEV19MTlNfY29weSAqLwor CQorICAuYnl0ZQkJMAkvKiBEV19MTkVfc2V0X2FkZHJlc3MgKi8KKwkudWxl YjEyOAk1CisJLmJ5dGUJCTIKKwkuNGJ5dGUJCS5MZW5kX2Z1bmMKKwkKKwku Ynl0ZQkJMAkvKiBEV19MTkVfZW5kX29mX3NlcXVlbmNlICovCisJLnVsZWIx MjgJMQorCS5ieXRlCQkxCisKKy5MbGluZTFfZW5kOgotLSAKMS45LjEKCg== --_002_7dec43bc41e044fcbba3289ca7cb2697BN1PR0301MB0628namprd03_--