From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29418 invoked by alias); 1 Sep 2010 09:39:34 -0000 Received: (qmail 29410 invoked by uid 22791); 1 Sep 2010 09:39:33 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from db3ehsobe003.messaging.microsoft.com (HELO DB3EHSOBE003.bigfish.com) (213.199.154.141) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 01 Sep 2010 09:39:26 +0000 Received: from mail39-db3-R.bigfish.com (10.3.81.240) by DB3EHSOBE003.bigfish.com (10.3.84.23) with Microsoft SMTP Server id 8.1.436.0; Wed, 1 Sep 2010 09:39:24 +0000 Received: from mail39-db3 (localhost.localdomain [127.0.0.1]) by mail39-db3-R.bigfish.com (Postfix) with ESMTP id 528B6E883D for ; Wed, 1 Sep 2010 09:39:23 +0000 (UTC) X-SpamScore: -7 X-BigFish: VPS-7(zz936eK154dMzz1202hzz8275bhz32i2a8h34h43h61h) X-Spam-TCS-SCL: 0:0 Received: from mail39-db3 (localhost.localdomain [127.0.0.1]) by mail39-db3 (MessageSwitch) id 1283333962957308_23541; Wed, 1 Sep 2010 09:39:22 +0000 (UTC) Received: from DB3EHSMHS006.bigfish.com (unknown [10.3.81.243]) by mail39-db3.bigfish.com (Postfix) with ESMTP id DD02B1C7004B for ; Wed, 1 Sep 2010 09:39:22 +0000 (UTC) Received: from kcinpunhjhc02.kpit.com (220.225.38.51) by DB3EHSMHS006.bigfish.com (10.3.87.106) with Microsoft SMTP Server (TLS) id 14.0.482.44; Wed, 1 Sep 2010 09:39:22 +0000 Received: from Kcinpunhjcms01.kpit.com ([172.10.16.121]) by kcinpunhjhc02.kpit.com ([172.10.16.124]) with mapi; Wed, 1 Sep 2010 15:09:08 +0530 From: "Naveen H. S" To: "gcc-patches@gcc.gnu.org" CC: Prafulla Thakare Date: Wed, 01 Sep 2010 09:42:00 -0000 Subject: [H8300] Hookize target macros Message-ID: <371569CBCFB2E745B891DBB88B2DFDDD19E0A0E4D8@KCINPUNHJCMS01.kpit.com> Content-Type: multipart/mixed; boundary="_002_371569CBCFB2E745B891DBB88B2DFDDD19E0A0E4D8KCINPUNHJCMS0_" MIME-Version: 1.0 X-Reverse-DNS: unknown Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2010-09/txt/msg00032.txt.bz2 --_002_371569CBCFB2E745B891DBB88B2DFDDD19E0A0E4D8KCINPUNHJCMS0_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-length: 1109 Hi, Please find attached the patch which hookizes REGISTER_MOVE_COST, PRINT_OPERAND, FUNCTION_VAL and related macros for the h8300 backend. Please review the patch and let me know if there should be any=20 modifications in it. Tested with h8300-elf. No new regressions. =09 ChangeLog 2010-09-01 Naveen H.S * config/h8300/h8300.c (h8300_print_operand_address): Make static. Adjust comments. Declare. (h8300_print_operand): Likewise. (h8300_print_operand_punct_valid_p): Moved from h8300.h file.=20 (h8300_function_value): Likewise. (h8300_function_value_regno_p): Likewise. (h8300_register_move_cost): Likewise. (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_PRINT_OPERAND TARGET_PRINT_OPERAND_ADDRESS, TARGET_REGISTER_MOVE_COST TARGET_FUNCTION_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define. * config/h8300/h8300.h (PRINT_OPERAND_ADDRESS, PRINT_OPERAND PRINT_OPERAND_PUNCT_VALID_P, REGISTER_MOVE_COST, FUNCTION_VALUE FUNCTION_VALUE_REGNO_P): Delete. * config/h8300/h8300-protos.h (print_operand): Delete. (print_operand_address): Delete. Thanks & Regards, Naveen --_002_371569CBCFB2E745B891DBB88B2DFDDD19E0A0E4D8KCINPUNHJCMS0_ Content-Type: application/octet-stream; name="targhooks-h8300.patch" Content-Description: targhooks-h8300.patch Content-Disposition: attachment; filename="targhooks-h8300.patch"; size=10597; creation-date="Wed, 01 Sep 2010 15:02:02 GMT"; modification-date="Wed, 01 Sep 2010 14:27:04 GMT" Content-Transfer-Encoding: base64 Content-length: 14368 LS0tIG9yaWcvZ2NjL2NvbmZpZy9oODMwMC9oODMwMC5jCTIwMTAtMDktMDEg MTQ6MjM6MTguMDAwMDAwMDAwICswNTMwCisrKyB0cnVuay9nY2MvY29uZmln L2g4MzAwL2g4MzAwLmMJMjAxMC0wOS0wMSAxNDoyNToxOS4wMDAwMDAwMDAg KzA1MzAKQEAgLTkzLDkgKzkzLDEzIEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQg aDgzMDBfYXNtX2luc25fY291bnQKIHN0YXRpYyB0cmVlIGg4MzAwX2hhbmRs ZV9mbmRlY2xfYXR0cmlidXRlICh0cmVlICosIHRyZWUsIHRyZWUsIGludCwg Ym9vbCAqKTsKIHN0YXRpYyB0cmVlIGg4MzAwX2hhbmRsZV9laWdodGJpdF9k YXRhX2F0dHJpYnV0ZSAodHJlZSAqLCB0cmVlLCB0cmVlLCBpbnQsIGJvb2wg Kik7CiBzdGF0aWMgdHJlZSBoODMwMF9oYW5kbGVfdGlueV9kYXRhX2F0dHJp YnV0ZSAodHJlZSAqLCB0cmVlLCB0cmVlLCBpbnQsIGJvb2wgKik7CitzdGF0 aWMgdm9pZCBoODMwMF9wcmludF9vcGVyYW5kX2FkZHJlc3MgKEZJTEUgKiwg cnR4KTsKK3N0YXRpYyB2b2lkIGg4MzAwX3ByaW50X29wZXJhbmQgKEZJTEUg KiwgcnR4LCBpbnQpOworc3RhdGljIGJvb2wgaDgzMDBfcHJpbnRfb3BlcmFu ZF9wdW5jdF92YWxpZF9wICh1bnNpZ25lZCBjaGFyIGNvZGUpOwogI2lmbmRl ZiBPQkpFQ1RfRk9STUFUX0VMRgogc3RhdGljIHZvaWQgaDgzMDBfYXNtX25h bWVkX3NlY3Rpb24gKGNvbnN0IGNoYXIgKiwgdW5zaWduZWQgaW50LCB0cmVl KTsKICNlbmRpZgorc3RhdGljIGludCBoODMwMF9yZWdpc3Rlcl9tb3ZlX2Nv c3QgKGVudW0gbWFjaGluZV9tb2RlLCByZWdfY2xhc3NfdCwgcmVnX2NsYXNz X3QpOwogc3RhdGljIGludCBoODMwMF9hbmRfY29zdHMgKHJ0eCk7CiBzdGF0 aWMgaW50IGg4MzAwX3NoaWZ0X2Nvc3RzIChydHgpOwogc3RhdGljIHZvaWQg ICAgICAgICAgaDgzMDBfcHVzaF9wb3AgICAgICAgICAgICAgICAoaW50LCBp bnQsIGJvb2wsIGJvb2wpOwpAQCAtMTEzLDYgKzExNyw4IEBAIHN0YXRpYyB1 bnNpZ25lZCBpbnQgIGg4MzAwX2JpbmFyeV9sZW5ndGgKIHN0YXRpYyBib29s ICAgICAgICAgIGg4MzAwX3Nob3J0X21vdmVfbWVtX3AgICAgICAgKHJ0eCwg ZW51bSBydHhfY29kZSk7CiBzdGF0aWMgdW5zaWduZWQgaW50ICBoODMwMF9t b3ZlX2xlbmd0aCAgICAgICAgICAgIChydHggKiwgY29uc3QgaDgzMDBfbGVu Z3RoX3RhYmxlICopOwogc3RhdGljIGJvb2wJICAgICBoODMwMF9oYXJkX3Jl Z25vX3NjcmF0Y2hfb2sgICh1bnNpZ25lZCBpbnQpOworc3RhdGljIHJ0eCBo ODMwMF9mdW5jdGlvbl92YWx1ZSAoY29uc3RfdHJlZSwgY29uc3RfdHJlZSwg Ym9vbCk7CitzdGF0aWMgYm9vbCBoODMwMF9mdW5jdGlvbl92YWx1ZV9yZWdu b19wIChjb25zdCB1bnNpZ25lZCBpbnQpOwogCiAvKiBDUFVfVFlQRSwgc2F5 cyB3aGF0IGNwdSB3ZSdyZSBjb21waWxpbmcgZm9yLiAgKi8KIGludCBjcHVf dHlwZTsKQEAgLTExNTMsNiArMTE1OSwyMCBAQCBmdW5jdGlvbl9hcmcgKENV TVVMQVRJVkVfQVJHUyAqY3VtLCBlbnVtCiAgIHJldHVybiByZXN1bHQ7CiB9 CiAKKy8qIEFueSBTSSByZWdpc3Rlci10by1yZWdpc3RlciBtb3ZlIG1heSBu ZWVkIHRvIGJlIHJlbG9hZGVkLAorICAgc28gZGVmaW5lIFJFR0lTVEVSX01P VkVfQ09TVCB0byBiZSA+IDIgc28gdGhhdCByZWxvYWQgbmV2ZXIKKyAgIHNo b3J0Y3V0cy4gICovCisKK3N0YXRpYyBpbnQKK2g4MzAwX3JlZ2lzdGVyX21v dmVfY29zdCAoZW51bSBtYWNoaW5lX21vZGUgbW9kZSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICByZWdfY2xhc3NfdCBmcm9tLCByZWdfY2xhc3NfdCB0 bykKK3sKKyAgaWYgKGZyb20gPT0gTUFDX1JFR1MgfHwgdG8gPT0gTUFDX1JF RykKKyAgICAgcmV0dXJuIDY7CisgIGVsc2UKKyAgICAgcmV0dXJuIDM7Cit9 CisKIC8qIENvbXB1dGUgdGhlIGNvc3Qgb2YgYW4gYW5kIGluc24uICAqLwog CiBzdGF0aWMgaW50CkBAIC0xNDIxLDggKzE0NDEsOCBAQCBjb25kX3N0cmlu ZyAoZW51bSBydHhfY29kZSBjb2RlKQogLyogUHJpbnQgb3BlcmFuZCBYIHVz aW5nIG9wZXJhbmQgY29kZSBDT0RFIHRvIGFzc2VtYmx5IGxhbmd1YWdlIG91 dHB1dCBmaWxlCiAgICBGSUxFLiAgKi8KIAotdm9pZAotcHJpbnRfb3BlcmFu ZCAoRklMRSAqZmlsZSwgcnR4IHgsIGludCBjb2RlKQorc3RhdGljIHZvaWQK K2g4MzAwX3ByaW50X29wZXJhbmQgKEZJTEUgKmZpbGUsIHJ0eCB4LCBpbnQg Y29kZSkKIHsKICAgLyogVGhpcyBpcyB1c2VkIGZvciBjb21tdW5pY2F0aW9u IGJldHdlZW4gY29kZXMgVixXLFogYW5kIFkuICAqLwogICBzdGF0aWMgaW50 IGJpdGludDsKQEAgLTE1MDEsNyArMTUyMSw3IEBAIHByaW50X29wZXJhbmQg KEZJTEUgKmZpbGUsIHJ0eCB4LCBpbnQgY28KICAgICAgIGlmIChHRVRfQ09E RSAoeCkgPT0gUkVHKQogCWZwcmludGYgKGZpbGUsICIlcyVjIiwgbmFtZXNf YmlnW1JFR05PICh4KV0sIGJpdGludCA+IDcgPyAnaCcgOiAnbCcpOwogICAg ICAgZWxzZQotCXByaW50X29wZXJhbmQgKGZpbGUsIHgsICdSJyk7CisJaDgz MDBfcHJpbnRfb3BlcmFuZCAoZmlsZSwgeCwgJ1InKTsKICAgICAgIGJpdGlu dCA9IC0xOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSAnWic6CkBAIC0xNTM0 LDcgKzE1NTQsNyBAQCBwcmludF9vcGVyYW5kIChGSUxFICpmaWxlLCBydHgg eCwgaW50IGNvCiAJICAgIGZwcmludGYgKGZpbGUsICIlcyIsIG5hbWVzX3Vw cGVyX2V4dGVuZGVkW1JFR05PICh4KV0pOwogCSAgYnJlYWs7CiAJY2FzZSBN RU06Ci0JICBwcmludF9vcGVyYW5kIChmaWxlLCB4LCAwKTsKKwkgIGg4MzAw X3ByaW50X29wZXJhbmQgKGZpbGUsIHgsIDApOwogCSAgYnJlYWs7CiAJY2Fz ZSBDT05TVF9JTlQ6CiAJICBmcHJpbnRmIChmaWxlLCAiIyVsZCIsICgoSU5U VkFMICh4KSA+PiAxNikgJiAweGZmZmYpKTsKQEAgLTE1NjQsNyArMTU4NCw3 IEBAIHByaW50X29wZXJhbmQgKEZJTEUgKmZpbGUsIHJ0eCB4LCBpbnQgY28K IAkgIGJyZWFrOwogCWNhc2UgTUVNOgogCSAgeCA9IGFkanVzdF9hZGRyZXNz ICh4LCBISW1vZGUsIDIpOwotCSAgcHJpbnRfb3BlcmFuZCAoZmlsZSwgeCwg MCk7CisJICBoODMwMF9wcmludF9vcGVyYW5kIChmaWxlLCB4LCAwKTsKIAkg IGJyZWFrOwogCWNhc2UgQ09OU1RfSU5UOgogCSAgZnByaW50ZiAoZmlsZSwg IiMlbGQiLCBJTlRWQUwgKHgpICYgMHhmZmZmKTsKQEAgLTE2MDksNyArMTYy OSw3IEBAIHByaW50X29wZXJhbmQgKEZJTEUgKmZpbGUsIHJ0eCB4LCBpbnQg Y28KIAl9CiAgICAgICBicmVhazsKICAgICBjYXNlICdvJzoKLSAgICAgIHBy aW50X29wZXJhbmRfYWRkcmVzcyAoZmlsZSwgeCk7CisgICAgICBoODMwMF9w cmludF9vcGVyYW5kX2FkZHJlc3MgKGZpbGUsIHgpOwogICAgICAgYnJlYWs7 CiAgICAgY2FzZSAncyc6CiAgICAgICBpZiAoR0VUX0NPREUgKHgpID09IENP TlNUX0lOVCkKQEAgLTE3MjYsNyArMTc0Niw3IEBAIHByaW50X29wZXJhbmQg KEZJTEUgKmZpbGUsIHJ0eCB4LCBpbnQgY28KIAljYXNlIENPTlNUOgogCWNh c2UgTEFCRUxfUkVGOgogCSAgZnByaW50ZiAoZmlsZSwgIiMiKTsKLQkgIHBy aW50X29wZXJhbmRfYWRkcmVzcyAoZmlsZSwgeCk7CisJICBoODMwMF9wcmlu dF9vcGVyYW5kX2FkZHJlc3MgKGZpbGUsIHgpOwogCSAgYnJlYWs7CiAJY2Fz ZSBDT05TVF9ET1VCTEU6CiAJICB7CkBAIC0xNzQzLDEwICsxNzYzLDE4IEBA IHByaW50X29wZXJhbmQgKEZJTEUgKmZpbGUsIHJ0eCB4LCBpbnQgY28KICAg ICB9CiB9CiAKKy8qIEltcGxlbWVudHMgVEFSR0VUX1BSSU5UX09QRVJBTkRf UFVOQ1RfVkFMSURfUC4gICovCisKK3N0YXRpYyBib29sCitoODMwMF9wcmlu dF9vcGVyYW5kX3B1bmN0X3ZhbGlkX3AgKHVuc2lnbmVkIGNoYXIgY29kZSkK K3sKKyAgcmV0dXJuIChjb2RlID09ICcjJyk7Cit9CisKIC8qIE91dHB1dCBh c3NlbWJseSBsYW5ndWFnZSBvdXRwdXQgZm9yIHRoZSBhZGRyZXNzIEFERFIg dG8gRklMRS4gICovCiAKLXZvaWQKLXByaW50X29wZXJhbmRfYWRkcmVzcyAo RklMRSAqZmlsZSwgcnR4IGFkZHIpCitzdGF0aWMgdm9pZAoraDgzMDBfcHJp bnRfb3BlcmFuZF9hZGRyZXNzIChGSUxFICpmaWxlLCBydHggYWRkcikKIHsK ICAgcnR4IGluZGV4OwogICBpbnQgc2l6ZTsKQEAgLTE3ODAsMzcgKzE4MDgs MzcgQEAgcHJpbnRfb3BlcmFuZF9hZGRyZXNzIChGSUxFICpmaWxlLCBydHgg YQogICAgICAgaWYgKEdFVF9DT0RFIChpbmRleCkgPT0gUkVHKQogCXsKIAkg IC8qIHJlZyxmb28gKi8KLQkgIHByaW50X29wZXJhbmRfYWRkcmVzcyAoZmls ZSwgWEVYUCAoYWRkciwgMSkpOworCSAgaDgzMDBfcHJpbnRfb3BlcmFuZF9h ZGRyZXNzIChmaWxlLCBYRVhQIChhZGRyLCAxKSk7CiAJICBmcHJpbnRmIChm aWxlLCAiLCIpOwogCSAgc3dpdGNoIChzaXplKQogCSAgICB7CiAJICAgIGNh c2UgMDoKLQkgICAgICBwcmludF9vcGVyYW5kX2FkZHJlc3MgKGZpbGUsIGlu ZGV4KTsKKwkgICAgICBoODMwMF9wcmludF9vcGVyYW5kX2FkZHJlc3MgKGZp bGUsIGluZGV4KTsKIAkgICAgICBicmVhazsKIAogCSAgICBjYXNlIDE6Ci0J ICAgICAgcHJpbnRfb3BlcmFuZCAoZmlsZSwgaW5kZXgsICdYJyk7CisJICAg ICAgaDgzMDBfcHJpbnRfb3BlcmFuZCAoZmlsZSwgaW5kZXgsICdYJyk7CiAJ ICAgICAgZnB1dHMgKCIuYiIsIGZpbGUpOwogCSAgICAgIGJyZWFrOwogCiAJ ICAgIGNhc2UgMjoKLQkgICAgICBwcmludF9vcGVyYW5kIChmaWxlLCBpbmRl eCwgJ1QnKTsKKwkgICAgICBoODMwMF9wcmludF9vcGVyYW5kIChmaWxlLCBp bmRleCwgJ1QnKTsKIAkgICAgICBmcHV0cyAoIi53IiwgZmlsZSk7CiAJICAg ICAgYnJlYWs7CiAKIAkgICAgY2FzZSA0OgotCSAgICAgIHByaW50X29wZXJh bmQgKGZpbGUsIGluZGV4LCAnUycpOworCSAgICAgIGg4MzAwX3ByaW50X29w ZXJhbmQgKGZpbGUsIGluZGV4LCAnUycpOwogCSAgICAgIGZwdXRzICgiLmwi LCBmaWxlKTsKIAkgICAgICBicmVhazsKIAkgICAgfQotCSAgLyogcHJpbnRf b3BlcmFuZF9hZGRyZXNzIChmaWxlLCBYRVhQIChhZGRyLCAwKSk7ICovCisJ ICAvKiBoODMwMF9wcmludF9vcGVyYW5kX2FkZHJlc3MgKGZpbGUsIFhFWFAg KGFkZHIsIDApKTsgKi8KIAl9CiAgICAgICBlbHNlCiAJewogCSAgLyogZm9v K2sgKi8KLQkgIHByaW50X29wZXJhbmRfYWRkcmVzcyAoZmlsZSwgWEVYUCAo YWRkciwgMCkpOworCSAgaDgzMDBfcHJpbnRfb3BlcmFuZF9hZGRyZXNzIChm aWxlLCBYRVhQIChhZGRyLCAwKSk7CiAJICBmcHJpbnRmIChmaWxlLCAiKyIp OwotCSAgcHJpbnRfb3BlcmFuZF9hZGRyZXNzIChmaWxlLCBYRVhQIChhZGRy LCAxKSk7CisJICBoODMwMF9wcmludF9vcGVyYW5kX2FkZHJlc3MgKGZpbGUs IFhFWFAgKGFkZHIsIDEpKTsKIAl9CiAgICAgICBmcHJpbnRmIChmaWxlLCAi KSIpOwogICAgICAgYnJlYWs7CkBAIC0zNjk0LDcgKzM3MjIsNyBAQCBoOHN4 X2NsYXNzaWZ5X3NoaWZ0IChlbnVtIG1hY2hpbmVfbW9kZSBtCiAvKiBSZXR1 cm4gdGhlIGFzbSB0ZW1wbGF0ZSBmb3IgYSBzaW5nbGUgaDhzeCBzaGlmdCBp bnN0cnVjdGlvbi4KICAgIE9QRVJBTkRTWzBdIGFuZCBPUEVSQU5EU1sxXSBh cmUgdGhlIGRlc3RpbmF0aW9uLCBPUEVSQU5EU1syXQogICAgaXMgdGhlIHNv dXJjZSBhbmQgT1BFUkFORFNbM10gaXMgdGhlIHNoaWZ0LiAgU1VGRklYIGlz IHRoZQotICAgc2l6ZSBzdWZmaXggKCdiJywgJ3cnIG9yICdsJykgYW5kIE9Q VFlQRSBpcyB0aGUgcHJpbnRfb3BlcmFuZAorICAgc2l6ZSBzdWZmaXggKCdi JywgJ3cnIG9yICdsJykgYW5kIE9QVFlQRSBpcyB0aGUgaDgzMDBfcHJpbnRf b3BlcmFuZAogICAgcHJlZml4IGZvciB0aGUgZGVzdGluYXRpb24gb3BlcmFu ZC4gICovCiAKIGNvbnN0IGNoYXIgKgpAQCAtNTgxNSw2ICs1ODQzLDI1IEBA IGg4MzAwX2luaXRfbGliZnVuY3MgKHZvaWQpCiAgIHNldF9vcHRhYl9saWJm dW5jICh1bW9kX29wdGFiLCBISW1vZGUsICJfX3Vtb2RoaTMiKTsKIH0KIAor LyogSW1wbGVtZW50cyBUQVJHRVRfRlVOQ1RJT05fVkFMVUUuCisgICBPbiB0 aGUgSDggdGhlIHJldHVybiB2YWx1ZSBpcyBpbiBSMCByZWdpc3Rlci4gICov CisKK3N0YXRpYyBydHgKK2g4MzAwX2Z1bmN0aW9uX3ZhbHVlIChjb25zdF90 cmVlIHZhbHR5cGUsIGNvbnN0X3RyZWUgZm50eXBlX29yX2RlY2wsCisgICAg ICAgICAgICAgICAgICAgICBib29sIG91dGdvaW5nIEFUVFJJQlVURV9VTlVT RUQpCit7CisgIHJldHVybiBnZW5fcnR4X1JFRyAoVFlQRV9NT0RFICh2YWx0 eXBlKSwgUjBfUkVHKTsKK30KKworLyogUmV0dXJuIHRydWUgaWYgTiBpcyBh IHBvc3NpYmxlIHJlZ2lzdGVyIG51bWJlciBvZiBmdW5jdGlvbiB2YWx1ZS4K KyAgIE9uIHRoZSBIOCwgUjAgaXMgdGhlIHJlZ2lzdGVyIHVzZWQuICAqLwor CitzdGF0aWMgYm9vbAoraDgzMDBfZnVuY3Rpb25fdmFsdWVfcmVnbm9fcCAo Y29uc3QgdW5zaWduZWQgaW50IHJlZ25vKQoreworICByZXR1cm4gKHJlZ25v ID09IFIwX1JFRyk7Cit9CisKIC8qIFdvcmtlciBmdW5jdGlvbiBmb3IgVEFS R0VUX1JFVFVSTl9JTl9NRU1PUlkuICAqLwogCiBzdGF0aWMgYm9vbApAQCAt NTg4OSwxMiArNTkzNiwyMiBAQCBoODMwMF90cmFtcG9saW5lX2luaXQgKHJ0 eCBtX3RyYW1wLCB0cmVlCiAjdW5kZWYgVEFSR0VUX0FTTV9GSUxFX0VORAog I2RlZmluZSBUQVJHRVRfQVNNX0ZJTEVfRU5EIGg4MzAwX2ZpbGVfZW5kCiAK KyN1bmRlZiBUQVJHRVRfUFJJTlRfT1BFUkFORAorI2RlZmluZSBUQVJHRVRf UFJJTlRfT1BFUkFORCBoODMwMF9wcmludF9vcGVyYW5kCisjdW5kZWYgVEFS R0VUX1BSSU5UX09QRVJBTkRfQUREUkVTUworI2RlZmluZSBUQVJHRVRfUFJJ TlRfT1BFUkFORF9BRERSRVNTIGg4MzAwX3ByaW50X29wZXJhbmRfYWRkcmVz cworI3VuZGVmIFRBUkdFVF9QUklOVF9PUEVSQU5EX1BVTkNUX1ZBTElEX1AK KyNkZWZpbmUgVEFSR0VUX1BSSU5UX09QRVJBTkRfUFVOQ1RfVkFMSURfUCBo ODMwMF9wcmludF9vcGVyYW5kX3B1bmN0X3ZhbGlkX3AKKwogI3VuZGVmIFRB UkdFVF9FTkNPREVfU0VDVElPTl9JTkZPCiAjZGVmaW5lIFRBUkdFVF9FTkNP REVfU0VDVElPTl9JTkZPIGg4MzAwX2VuY29kZV9zZWN0aW9uX2luZm8KIAog I3VuZGVmIFRBUkdFVF9JTlNFUlRfQVRUUklCVVRFUwogI2RlZmluZSBUQVJH RVRfSU5TRVJUX0FUVFJJQlVURVMgaDgzMDBfaW5zZXJ0X2F0dHJpYnV0ZXMK IAorI3VuZGVmIFRBUkdFVF9SRUdJU1RFUl9NT1ZFX0NPU1QKKyNkZWZpbmUg VEFSR0VUX1JFR0lTVEVSX01PVkVfQ09TVCBoODMwMF9yZWdpc3Rlcl9tb3Zl X2Nvc3QKKwogI3VuZGVmIFRBUkdFVF9SVFhfQ09TVFMKICNkZWZpbmUgVEFS R0VUX1JUWF9DT1NUUyBoODMwMF9ydHhfY29zdHMKIApAQCAtNTkyMiw0ICs1 OTc5LDExIEBAIGg4MzAwX3RyYW1wb2xpbmVfaW5pdCAocnR4IG1fdHJhbXAs IHRyZWUKICN1bmRlZiBUQVJHRVRfVFJBTVBPTElORV9JTklUCiAjZGVmaW5l IFRBUkdFVF9UUkFNUE9MSU5FX0lOSVQgaDgzMDBfdHJhbXBvbGluZV9pbml0 CiAKKyN1bmRlZiBUQVJHRVRfRlVOQ1RJT05fVkFMVUUKKyNkZWZpbmUgVEFS R0VUX0ZVTkNUSU9OX1ZBTFVFIGg4MzAwX2Z1bmN0aW9uX3ZhbHVlCisKKyN1 bmRlZiBUQVJHRVRfRlVOQ1RJT05fVkFMVUVfUkVHTk9fUAorI2RlZmluZSBU QVJHRVRfRlVOQ1RJT05fVkFMVUVfUkVHTk9fUCBoODMwMF9mdW5jdGlvbl92 YWx1ZV9yZWdub19wCisKKwogc3RydWN0IGdjY190YXJnZXQgdGFyZ2V0bSA9 IFRBUkdFVF9JTklUSUFMSVpFUjsKLS0tIG9yaWcvZ2NjL2NvbmZpZy9oODMw MC9oODMwMC5oCTIwMTAtMDYtMjkgMTc6NDg6MzYuMDAwMDAwMDAwICswNTMw CisrKyB0cnVuay9nY2MvY29uZmlnL2g4MzAwL2g4MzAwLmgJMjAxMC0wOS0w MSAxNDoxNTozMy4wMDAwMDAwMDAgKzA1MzAKQEAgLTQ4OSwxMyArNDg5LDYg QEAgZW51bSByZWdfY2xhc3MgewogI2RlZmluZSBDTEFTU19NQVhfTlJFR1Mo Q0xBU1MsIE1PREUpCVwKICAgKChHRVRfTU9ERV9TSVpFIChNT0RFKSArIFVO SVRTX1BFUl9XT1JEIC0gMSkgLyBVTklUU19QRVJfV09SRCkKIAotLyogQW55 IFNJIHJlZ2lzdGVyLXRvLXJlZ2lzdGVyIG1vdmUgbWF5IG5lZWQgdG8gYmUg cmVsb2FkZWQsCi0gICBzbyBkZWZpbmUgUkVHSVNURVJfTU9WRV9DT1NUIHRv IGJlID4gMiBzbyB0aGF0IHJlbG9hZCBuZXZlcgotICAgc2hvcnRjdXRzLiAg Ki8KLQotI2RlZmluZSBSRUdJU1RFUl9NT1ZFX0NPU1QoTU9ERSwgQ0xBU1Mx LCBDTEFTUzIpICBcCi0gIChDTEFTUzEgPT0gTUFDX1JFR1MgfHwgQ0xBU1My ID09IE1BQ19SRUdTID8gNiA6IDMpCi0MCiAvKiBTdGFjayBsYXlvdXQ7IGZ1 bmN0aW9uIGVudHJ5LCBleGl0IGFuZCBjYWxsaW5nLiAgKi8KIAogLyogRGVm aW5lIHRoaXMgaWYgcHVzaGluZyBhIHdvcmQgb24gdGhlIHN0YWNrCkBAIC01 NjQsMTYgKzU1Nyw2IEBAIGVudW0gcmVnX2NsYXNzIHsKICNkZWZpbmUgSU5J VElBTF9FTElNSU5BVElPTl9PRkZTRVQoRlJPTSwgVE8sIE9GRlNFVCkJCVwK ICAgKChPRkZTRVQpID0gaDgzMDBfaW5pdGlhbF9lbGltaW5hdGlvbl9vZmZz ZXQgKChGUk9NKSwgKFRPKSkpCiAKLS8qIERlZmluZSBob3cgdG8gZmluZCB0 aGUgdmFsdWUgcmV0dXJuZWQgYnkgYSBmdW5jdGlvbi4KLSAgIFZBTFRZUEUg aXMgdGhlIGRhdGEgdHlwZSBvZiB0aGUgdmFsdWUgKGFzIGEgdHJlZSkuCi0g ICBJZiB0aGUgcHJlY2lzZSBmdW5jdGlvbiBiZWluZyBjYWxsZWQgaXMga25v d24sIEZVTkMgaXMgaXRzIEZVTkNUSU9OX0RFQ0w7Ci0gICBvdGhlcndpc2Us IEZVTkMgaXMgMC4KLQotICAgT24gdGhlIEg4IHRoZSByZXR1cm4gdmFsdWUg aXMgaW4gUjAvUjEuICAqLwotCi0jZGVmaW5lIEZVTkNUSU9OX1ZBTFVFKFZB TFRZUEUsIEZVTkMpIFwKLSAgZ2VuX3J0eF9SRUcgKFRZUEVfTU9ERSAoVkFM VFlQRSksIFIwX1JFRykKLQogLyogRGVmaW5lIGhvdyB0byBmaW5kIHRoZSB2 YWx1ZSByZXR1cm5lZCBieSBhIGxpYnJhcnkgZnVuY3Rpb24KICAgIGFzc3Vt aW5nIHRoZSB2YWx1ZSBoYXMgbW9kZSBNT0RFLiAgKi8KIApAQCAtNTgyLDEx ICs1NjUsNiBAQCBlbnVtIHJlZ19jbGFzcyB7CiAjZGVmaW5lIExJQkNBTExf VkFMVUUoTU9ERSkgXAogICBnZW5fcnR4X1JFRyAoTU9ERSwgUjBfUkVHKQog Ci0vKiAxIGlmIE4gaXMgYSBwb3NzaWJsZSByZWdpc3RlciBudW1iZXIgZm9y IGEgZnVuY3Rpb24gdmFsdWUuCi0gICBPbiB0aGUgSDgsIFIwIGlzIHRoZSBv bmx5IHJlZ2lzdGVyIHRodXMgdXNlZC4gICovCi0KLSNkZWZpbmUgRlVOQ1RJ T05fVkFMVUVfUkVHTk9fUChOKSAoKE4pID09IFIwX1JFRykKLQogLyogRGVm aW5lIHRoaXMgaWYgUENDIHVzZXMgdGhlIG5vbnJlZW50cmFudCBjb252ZW50 aW9uIGZvciByZXR1cm5pbmcKICAgIHN0cnVjdHVyZSBhbmQgdW5pb24gdmFs dWVzLiAgKi8KIApAQCAtMTEwMSwxOSArMTA3OSw2IEBAIHN0cnVjdCBjdW1f YXJnCiAKICNkZWZpbmUgQVNNX1BOX0ZPUk1BVCAiJXNfX18lbHUiCiAKLS8q IFByaW50IGFuIGluc3RydWN0aW9uIG9wZXJhbmQgWCBvbiBmaWxlIEZJTEUu Ci0gICBMb29rIGluIGg4MzAwLmMgZm9yIGRldGFpbHMuICAqLwotCi0jZGVm aW5lIFBSSU5UX09QRVJBTkRfUFVOQ1RfVkFMSURfUChDT0RFKSBcCi0gICgo Q09ERSkgPT0gJyMnKQotCi0jZGVmaW5lIFBSSU5UX09QRVJBTkQoRklMRSwg WCwgQ09ERSkgcHJpbnRfb3BlcmFuZCAoRklMRSwgWCwgQ09ERSkKLQotLyog UHJpbnQgYSBtZW1vcnkgb3BlcmFuZCB3aG9zZSBhZGRyZXNzIGlzIFgsIG9u IGZpbGUgRklMRS4KLSAgIFRoaXMgdXNlcyBhIGZ1bmN0aW9uIGluIGg4MzAw LmMuICAqLwotCi0jZGVmaW5lIFBSSU5UX09QRVJBTkRfQUREUkVTUyhGSUxF LCBBRERSKSBwcmludF9vcGVyYW5kX2FkZHJlc3MgKEZJTEUsIEFERFIpCi0K IC8qIEg4MzAwIHNwZWNpZmljIHByYWdtYXMuICAqLwogI2RlZmluZSBSRUdJ U1RFUl9UQVJHRVRfUFJBR01BUygpCQkJCVwKICAgZG8JCQkJCQkJCVwKLS0t IG9yaWcvZ2NjL2NvbmZpZy9oODMwMC9oODMwMC1wcm90b3MuaAkyMDA5LTA1 LTE0IDE5OjEyOjQ1LjAwMDAwMDAwMCArMDUzMAorKysgdHJ1bmsvZ2NjL2Nv bmZpZy9oODMwMC9oODMwMC1wcm90b3MuaAkyMDEwLTA4LTMwIDE3OjAxOjQx LjAwMDAwMDAwMCArMDUzMApAQCAtMzUsOCArMzUsNiBAQCBleHRlcm4gaW50 IGNvbXB1dGVfYV9zaGlmdF9jYyAocnR4LCBydHggCiBleHRlcm4gY29uc3Qg Y2hhciAqb3V0cHV0X2Ffcm90YXRlIChlbnVtIHJ0eF9jb2RlLCBydHggKik7 CiBleHRlcm4gdW5zaWduZWQgaW50IGNvbXB1dGVfYV9yb3RhdGVfbGVuZ3Ro IChydHggKik7CiBleHRlcm4gY29uc3QgY2hhciAqb3V0cHV0X3NpbW9kZV9i bGQgKGludCwgcnR4W10pOwotZXh0ZXJuIHZvaWQgcHJpbnRfb3BlcmFuZF9h ZGRyZXNzIChGSUxFICosIHJ0eCk7Ci1leHRlcm4gdm9pZCBwcmludF9vcGVy YW5kIChGSUxFICosIHJ0eCwgaW50KTsKIGV4dGVybiB2b2lkIGZpbmFsX3By ZXNjYW5faW5zbiAocnR4LCBydHggKiwgaW50KTsKIGV4dGVybiBpbnQgaDgz MDBfZXhwYW5kX21vdnNpIChydHhbXSk7CiBleHRlcm4gdm9pZCBub3RpY2Vf dXBkYXRlX2NjIChydHgsIHJ0eCk7Cg== --_002_371569CBCFB2E745B891DBB88B2DFDDD19E0A0E4D8KCINPUNHJCMS0_--