From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13931 invoked by alias); 1 Jun 2011 16:55:01 -0000 Received: (qmail 13917 invoked by uid 22791); 1 Jun 2011 16:54:59 -0000 X-SWARE-Spam-Status: No, hits=-0.5 required=5.0 tests=BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SARE_FREE_WEBM_LAPOSTE,SPF_SOFTFAIL,T_FILL_THIS_FORM_SHORT,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from smtp6.tech.numericable.fr (HELO smtp6.tech.numericable.fr) (82.216.111.42) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 01 Jun 2011 16:54:42 +0000 Received: from [85.68.222.45] (abo-45-222-68.trs.modulonet.fr [85.68.222.45]) by smtp6.tech.numericable.fr (Postfix) with ESMTP id BBEA264007; Wed, 1 Jun 2011 18:54:38 +0200 (CEST) Message-ID: <4DE66ECE.5030102@laposte.net> Date: Wed, 01 Jun 2011 16:55:00 -0000 From: Pierre User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100515 Lightning/1.0b1 Icedove/3.0.4 MIME-Version: 1.0 To: gcc-patches@gcc.gnu.org CC: joseph@codesourcery.com Subject: [PATCH] c-pragma: adding a data field to pragma_handler Content-Type: multipart/mixed; boundary="------------080806020800020809010003" 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: 2011-06/txt/msg00067.txt.bz2 This is a multi-part message in MIME format. --------------080806020800020809010003 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-length: 1266 This patch is about the pragmas. In c-family/c-pragma.h, we declare a pragma_handler which is a function accepting cpp_reader as parameter. I have changed this handler in order to accept a second parameter which is a void *, allowing to give extra datas to the handler. I think this data field might be of general use: we can have condition or data at register time that we want to express in the handler. I guess this is a common way to pass data to an handler function. I would like your opinion on this patch! Thanks! Pierre Vittet Changelog 2011-06-01 Pierre Vittet * c-pragma.h (pragma_handler,internal_pragma_handler, c_register_pragma, c_register_pragma_with_expansion): create internal_pragma_handler, add a new void * data parameter. * c-pragma.c (handle_pragma_pack, handle_pragma_weak, handle_pragma_redefine_extname, handle_pragma_visibility, handle_pragma_diagnostic, handle_pragma_target, handle_pragma_optimize, handle_pragma_push_options, handle_pragma_pop_options, handle_pragma_reset_options, handle_pragma_message, handle_pragma_float_const_decimal64, registered_pragmas, c_register_pragma_1, c_register_pragma, c_register_pragma_with_expansion, init_pragma): add support of the void * data field. --------------080806020800020809010003 Content-Type: text/plain; name="addDataToPragmaHandler-174521.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="addDataToPragmaHandler-174521.diff" Content-length: 16153 SW5kZXg6IGdjYy9jLWZhbWlseS9jLXByYWdtYS5oCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIGdjYy9jLWZhbWlseS9jLXByYWdtYS5oCShyZXZpc2lv biAxNzQ1MjEpCisrKyBnY2MvYy1mYW1pbHkvYy1wcmFnbWEuaAkod29ya2lu ZyBjb3B5KQpAQCAtODQsMTAgKzg0LDE5IEBAIGV4dGVybiBib29sIHBvcF92 aXNpYmlsaXR5IChpbnQpOwogZXh0ZXJuIHZvaWQgaW5pdF9wcmFnbWEgKHZv aWQpOwogCiAvKiBGcm9udC1lbmQgd3JhcHBlcnMgZm9yIHByYWdtYSByZWdp c3RyYXRpb24uICAqLwotdHlwZWRlZiB2b2lkICgqcHJhZ21hX2hhbmRsZXIp KHN0cnVjdCBjcHBfcmVhZGVyICopOwotZXh0ZXJuIHZvaWQgY19yZWdpc3Rl cl9wcmFnbWEgKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBwcmFnbWFf aGFuZGxlcik7Ci1leHRlcm4gdm9pZCBjX3JlZ2lzdGVyX3ByYWdtYV93aXRo X2V4cGFuc2lvbiAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosCi0JCQkJ CSAgICAgIHByYWdtYV9oYW5kbGVyKTsKKy8qIFRoZSB2b2lkICogYWxsb3dz IHRvIHBhc3MgZXh0cmEgZGF0YSB0byB0aGUgaGFuZGxlci4gICovCit0eXBl ZGVmIHZvaWQgKCpwcmFnbWFfaGFuZGxlcikoc3RydWN0IGNwcF9yZWFkZXIg Kiwgdm9pZCAqICk7CisvKiBJbnRlcm5hbGx5IHVzZSB0byBrZWVwIHRoZSBk YXRhIG9mIHRoZSBoYW5kbGVyLiAgKi8KK3N0cnVjdCBpbnRlcm5hbF9wcmFn bWFfaGFuZGxlcl9keworICBwcmFnbWFfaGFuZGxlciBoYW5kbGVyOworICB2 b2lkICogZGF0YTsgCit9OwordHlwZWRlZiBzdHJ1Y3QgaW50ZXJuYWxfcHJh Z21hX2hhbmRsZXJfZCBpbnRlcm5hbF9wcmFnbWFfaGFuZGxlcjsKKworZXh0 ZXJuIHZvaWQgY19yZWdpc3Rlcl9wcmFnbWEgKGNvbnN0IGNoYXIgKiBzcGFj ZSwgY29uc3QgY2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcHJhZ21hX2hhbmRsZXIgaGFuZGxlciwgdm9pZCAqIGRhdGEp OworZXh0ZXJuIHZvaWQgY19yZWdpc3Rlcl9wcmFnbWFfd2l0aF9leHBhbnNp b24gKGNvbnN0IGNoYXIgKiBzcGFjZSwgCisgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgY2hhciAqIG5hbWUsICBwcmFnbWFfaGFuZGxlciBoYW5kbGVy ICwgdm9pZCAqIGRhdGEpOwogZXh0ZXJuIHZvaWQgY19pbnZva2VfcHJhZ21h X2hhbmRsZXIgKHVuc2lnbmVkIGludCk7CiAKIGV4dGVybiB2b2lkIG1heWJl X2FwcGx5X3ByYWdtYV93ZWFrICh0cmVlKTsKSW5kZXg6IGdjYy9jLWZhbWls eS9jLXByYWdtYS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdjYy9j LWZhbWlseS9jLXByYWdtYS5jCShyZXZpc2lvbiAxNzQ1MjEpCisrKyBnY2Mv Yy1mYW1pbHkvYy1wcmFnbWEuYwkod29ya2luZyBjb3B5KQpAQCAtNTMsNyAr NTMsNyBAQCB0eXBlZGVmIHN0cnVjdCBHVFkoKCkpIGFsaWduX3N0YWNrIHsK IAogc3RhdGljIEdUWSgoKSkgc3RydWN0IGFsaWduX3N0YWNrICogYWxpZ25t ZW50X3N0YWNrOwogCi1zdGF0aWMgdm9pZCBoYW5kbGVfcHJhZ21hX3BhY2sg KGNwcF9yZWFkZXIgKik7CitzdGF0aWMgdm9pZCBoYW5kbGVfcHJhZ21hX3Bh Y2sgKGNwcF9yZWFkZXIgKiwgdm9pZCAqIGRhdGEpOwogCiAvKiBJZiB3ZSBo YXZlIGEgImdsb2JhbCIgI3ByYWdtYSBwYWNrKDxuPikgaW4gZWZmZWN0IHdo ZW4gdGhlIGZpcnN0CiAgICAjcHJhZ21hIHBhY2socHVzaCw8bj4pIGlzIGVu Y291bnRlcmVkLCB0aGlzIHN0b3JlcyB0aGUgdmFsdWUgb2YKQEAgLTEzMyw3 ICsxMzMsNyBAQCBwb3BfYWxpZ25tZW50ICh0cmVlIGlkKQogICAgI3ByYWdt YSBwYWNrIChwb3ApCiAgICAjcHJhZ21hIHBhY2sgKHBvcCwgSUQpICovCiBz dGF0aWMgdm9pZAotaGFuZGxlX3ByYWdtYV9wYWNrIChjcHBfcmVhZGVyICog QVJHX1VOVVNFRCAoZHVtbXkpKQoraGFuZGxlX3ByYWdtYV9wYWNrIChjcHBf cmVhZGVyICogQVJHX1VOVVNFRCAoZHVtbXkpLCB2b2lkICogQVJHX1VOVVNF RCAoZGF0YSkpCiB7CiAgIHRyZWUgeCwgaWQgPSAwOwogICBpbnQgYWxpZ24g PSAtMTsKQEAgLTI0Nyw3ICsyNDcsNyBAQCBERUZfVkVDX0FMTE9DX08ocGVu ZGluZ193ZWFrLGdjKTsKIHN0YXRpYyBHVFkoKCkpIFZFQyhwZW5kaW5nX3dl YWssZ2MpICpwZW5kaW5nX3dlYWtzOwogCiBzdGF0aWMgdm9pZCBhcHBseV9w cmFnbWFfd2VhayAodHJlZSwgdHJlZSk7Ci1zdGF0aWMgdm9pZCBoYW5kbGVf cHJhZ21hX3dlYWsgKGNwcF9yZWFkZXIgKik7CitzdGF0aWMgdm9pZCBoYW5k bGVfcHJhZ21hX3dlYWsgKGNwcF9yZWFkZXIgKiwgdm9pZCAqIGRhdGEpOwog CiBzdGF0aWMgdm9pZAogYXBwbHlfcHJhZ21hX3dlYWsgKHRyZWUgZGVjbCwg dHJlZSB2YWx1ZSkKQEAgLTMzNCw3ICszMzQsNyBAQCBtYXliZV9hcHBseV9w ZW5kaW5nX3ByYWdtYV93ZWFrcyAodm9pZCkKIAogLyogI3ByYWdtYSB3ZWFr IG5hbWUgWz0gdmFsdWVdICovCiBzdGF0aWMgdm9pZAotaGFuZGxlX3ByYWdt YV93ZWFrIChjcHBfcmVhZGVyICogQVJHX1VOVVNFRCAoZHVtbXkpKQoraGFu ZGxlX3ByYWdtYV93ZWFrIChjcHBfcmVhZGVyICogQVJHX1VOVVNFRCAoZHVt bXkpLCB2b2lkICogQVJHX1VOVVNFRCAoZGF0YSkpCiB7CiAgIHRyZWUgbmFt ZSwgdmFsdWUsIHgsIGRlY2w7CiAgIGVudW0gY3BwX3R0eXBlIHQ7CkBAIC00 MTEsMTEgKzQxMSwxMiBAQCBERUZfVkVDX0FMTE9DX08ocGVuZGluZ19yZWRl ZmluaXRpb24sZ2MpOwogCiBzdGF0aWMgR1RZKCgpKSBWRUMocGVuZGluZ19y ZWRlZmluaXRpb24sZ2MpICpwZW5kaW5nX3JlZGVmaW5lX2V4dG5hbWU7CiAK LXN0YXRpYyB2b2lkIGhhbmRsZV9wcmFnbWFfcmVkZWZpbmVfZXh0bmFtZSAo Y3BwX3JlYWRlciAqKTsKK3N0YXRpYyB2b2lkIGhhbmRsZV9wcmFnbWFfcmVk ZWZpbmVfZXh0bmFtZSAoY3BwX3JlYWRlciAqLCB2b2lkICogZGF0YSk7CiAK IC8qICNwcmFnbWEgcmVkZWZpbmVfZXh0bmFtZSBvbGRuYW1lIG5ld25hbWUg Ki8KIHN0YXRpYyB2b2lkCi1oYW5kbGVfcHJhZ21hX3JlZGVmaW5lX2V4dG5h bWUgKGNwcF9yZWFkZXIgKiBBUkdfVU5VU0VEIChkdW1teSkpCitoYW5kbGVf cHJhZ21hX3JlZGVmaW5lX2V4dG5hbWUgKGNwcF9yZWFkZXIgKiBBUkdfVU5V U0VEIChkdW1teSksIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB2b2lkICogQVJHX1VOVVNFRCAoZGF0YSkpCiB7CiAgIHRyZWUgb2xkbmFt ZSwgbmV3bmFtZSwgZGVjbCwgeDsKICAgZW51bSBjcHBfdHR5cGUgdDsKQEAg LTQ4MSw3ICs0ODIsOCBAQCBzdGF0aWMgR1RZKCgpKSB0cmVlIHByYWdtYV9l eHRlcm5fcHJlZml4OwogCiAvKiAjcHJhZ21hIGV4dGVybl9wcmVmaXggInBy ZWZpeCIgKi8KIHN0YXRpYyB2b2lkCi1oYW5kbGVfcHJhZ21hX2V4dGVybl9w cmVmaXggKGNwcF9yZWFkZXIgKiBBUkdfVU5VU0VEIChkdW1teSkpCitoYW5k bGVfcHJhZ21hX2V4dGVybl9wcmVmaXggKGNwcF9yZWFkZXIgKiBBUkdfVU5V U0VEIChkdW1teSksIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2 b2lkICogQVJHX1VOVVNFRCAoZGF0YSkpCiB7CiAgIHRyZWUgcHJlZml4LCB4 OwogICBlbnVtIGNwcF90dHlwZSB0OwpAQCAtNTk0LDcgKzU5Niw3IEBAIG1h eWJlX2FwcGx5X3JlbmFtaW5nX3ByYWdtYSAodHJlZSBkZWNsLCB0cmVlIGFz bW5hCiB9CiAKIAotc3RhdGljIHZvaWQgaGFuZGxlX3ByYWdtYV92aXNpYmls aXR5IChjcHBfcmVhZGVyICopOworc3RhdGljIHZvaWQgaGFuZGxlX3ByYWdt YV92aXNpYmlsaXR5IChjcHBfcmVhZGVyICosIHZvaWQgKiBkYXRhKTsKIAog c3RhdGljIFZFQyAoaW50LCBoZWFwKSAqdmlzc3RhY2s7CiAKQEAgLTY0NCw3 ICs2NDYsOCBAQCBwb3BfdmlzaWJpbGl0eSAoaW50IGtpbmQpCiAgICBzcGVj aWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZS4gICovCiAKIHN0YXRpYyB2b2lk Ci1oYW5kbGVfcHJhZ21hX3Zpc2liaWxpdHkgKGNwcF9yZWFkZXIgKmR1bW15 IEFUVFJJQlVURV9VTlVTRUQpCitoYW5kbGVfcHJhZ21hX3Zpc2liaWxpdHkg KGNwcF9yZWFkZXIgKmR1bW15IEFUVFJJQlVURV9VTlVTRUQsIAorICAgICAg ICAgICAgICAgICAgICAgICAgICB2b2lkICogQVJHX1VOVVNFRCAoZGF0YSkp CiB7CiAgIC8qIEZvcm0gaXMgI3ByYWdtYSBHQ0MgdmlzaWJpbGl0eSBwdXNo KGhpZGRlbil8cG9wICovCiAgIHRyZWUgeDsKQEAgLTY4Nyw3ICs2OTAsOCBA QCBzdGF0aWMgdm9pZAogfQogCiBzdGF0aWMgdm9pZAotaGFuZGxlX3ByYWdt YV9kaWFnbm9zdGljKGNwcF9yZWFkZXIgKkFSR19VTlVTRUQoZHVtbXkpKQor aGFuZGxlX3ByYWdtYV9kaWFnbm9zdGljKGNwcF9yZWFkZXIgKkFSR19VTlVT RUQoZHVtbXkpLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICog QVJHX1VOVVNFRCAoZGF0YSkpCiB7CiAgIGNvbnN0IGNoYXIgKmtpbmRfc3Ry aW5nLCAqb3B0aW9uX3N0cmluZzsKICAgdW5zaWduZWQgaW50IG9wdGlvbl9p bmRleDsKQEAgLTczOCw3ICs3NDIsNyBAQCBzdGF0aWMgdm9pZAogCiAvKiAg UGFyc2UgI3ByYWdtYSBHQ0MgdGFyZ2V0ICh4eHgpIHRvIHNldCB0YXJnZXQg c3BlY2lmaWMgb3B0aW9ucy4gICovCiBzdGF0aWMgdm9pZAotaGFuZGxlX3By YWdtYV90YXJnZXQoY3BwX3JlYWRlciAqQVJHX1VOVVNFRChkdW1teSkpCito YW5kbGVfcHJhZ21hX3RhcmdldChjcHBfcmVhZGVyICpBUkdfVU5VU0VEKGR1 bW15KSwgdm9pZCAqIEFSR19VTlVTRUQgKGRhdGEpKQogewogICBlbnVtIGNw cF90dHlwZSB0b2tlbjsKICAgdHJlZSB4OwpAQCAtODA2LDcgKzgxMCw3IEBA IHN0YXRpYyB2b2lkCiAKIC8qIEhhbmRsZSAjcHJhZ21hIEdDQyBvcHRpbWl6 ZSB0byBzZXQgb3B0aW1pemF0aW9uIG9wdGlvbnMuICAqLwogc3RhdGljIHZv aWQKLWhhbmRsZV9wcmFnbWFfb3B0aW1pemUgKGNwcF9yZWFkZXIgKkFSR19V TlVTRUQoZHVtbXkpKQoraGFuZGxlX3ByYWdtYV9vcHRpbWl6ZSAoY3BwX3Jl YWRlciAqQVJHX1VOVVNFRChkdW1teSksIHZvaWQgKiBBUkdfVU5VU0VEIChk YXRhKSkKIHsKICAgZW51bSBjcHBfdHR5cGUgdG9rZW47CiAgIHRyZWUgeDsK QEAgLTg5Myw3ICs4OTcsOCBAQCBzdGF0aWMgR1RZKCgpKSBzdHJ1Y3Qgb3B0 X3N0YWNrICogb3B0aW9uc19zdGFjazsKICAgIG9wdGlvbnMuICAqLwogCiBz dGF0aWMgdm9pZAotaGFuZGxlX3ByYWdtYV9wdXNoX29wdGlvbnMgKGNwcF9y ZWFkZXIgKkFSR19VTlVTRUQoZHVtbXkpKQoraGFuZGxlX3ByYWdtYV9wdXNo X29wdGlvbnMgKGNwcF9yZWFkZXIgKkFSR19VTlVTRUQoZHVtbXkpLCAKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICogQVJHX1VOVVNFRCAo ZGF0YSkpCiB7CiAgIGVudW0gY3BwX3R0eXBlIHRva2VuOwogICB0cmVlIHgg PSAwOwpAQCAtOTIzLDcgKzkyOCw4IEBAIHN0YXRpYyB2b2lkCiAgICBvcHRp bWl6YXRpb24gb3B0aW9ucyBmcm9tIGEgcHJldmlvdXMgcHVzaF9vcHRpb25z LiAgKi8KIAogc3RhdGljIHZvaWQKLWhhbmRsZV9wcmFnbWFfcG9wX29wdGlv bnMgKGNwcF9yZWFkZXIgKkFSR19VTlVTRUQoZHVtbXkpKQoraGFuZGxlX3By YWdtYV9wb3Bfb3B0aW9ucyAoY3BwX3JlYWRlciAqQVJHX1VOVVNFRChkdW1t eSksIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqIEFSR19V TlVTRUQgKGRhdGEpKQogewogICBlbnVtIGNwcF90dHlwZSB0b2tlbjsKICAg dHJlZSB4ID0gMDsKQEAgLTk3MSw3ICs5NzcsOCBAQCBzdGF0aWMgdm9pZAog ICAgb3B0aW1pemF0aW9uIG9wdGlvbnMgdG8gdGhlIG9yaWdpbmFsIG9wdGlv bnMgdXNlZCBvbiB0aGUgY29tbWFuZCBsaW5lLiAgKi8KIAogc3RhdGljIHZv aWQKLWhhbmRsZV9wcmFnbWFfcmVzZXRfb3B0aW9ucyAoY3BwX3JlYWRlciAq QVJHX1VOVVNFRChkdW1teSkpCitoYW5kbGVfcHJhZ21hX3Jlc2V0X29wdGlv bnMgKGNwcF9yZWFkZXIgKkFSR19VTlVTRUQoZHVtbXkpLCAKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdm9pZCAqIEFSR19VTlVTRUQgKGRhdGEp KQogewogICBlbnVtIGNwcF90dHlwZSB0b2tlbjsKICAgdHJlZSB4ID0gMDsK QEAgLTEwMDcsNyArMTAxNCw3IEBAIHN0YXRpYyB2b2lkCiAvKiBQcmludCBh IHBsYWluIHVzZXItc3BlY2lmaWVkIG1lc3NhZ2UuICAqLwogCiBzdGF0aWMg dm9pZAotaGFuZGxlX3ByYWdtYV9tZXNzYWdlIChjcHBfcmVhZGVyICpBUkdf VU5VU0VEKGR1bW15KSkKK2hhbmRsZV9wcmFnbWFfbWVzc2FnZSAoY3BwX3Jl YWRlciAqQVJHX1VOVVNFRChkdW1teSksIHZvaWQgKiBBUkdfVU5VU0VEIChk YXRhKSkKIHsKICAgZW51bSBjcHBfdHR5cGUgdG9rZW47CiAgIHRyZWUgeCwg bWVzc2FnZSA9IDA7CkBAIC0xMTEwLDcgKzExMTcsOCBAQCBoYW5kbGVfc3Rk Y19wcmFnbWEgKGNvbnN0IGNoYXIgKnBuYW1lKQogICAgI3ByYWdtYSBTVERD IEZMT0FUX0NPTlNUX0RFQ0lNQUw2NCBERUZBVUxUICovCiAKIHN0YXRpYyB2 b2lkCi1oYW5kbGVfcHJhZ21hX2Zsb2F0X2NvbnN0X2RlY2ltYWw2NCAoY3Bw X3JlYWRlciAqQVJHX1VOVVNFRCAoZHVtbXkpKQoraGFuZGxlX3ByYWdtYV9m bG9hdF9jb25zdF9kZWNpbWFsNjQgKGNwcF9yZWFkZXIgKkFSR19VTlVTRUQg KGR1bW15KSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdm9pZCAqIEFSR19VTlVTRUQgKGRhdGEpKQogewogICBpZiAoY19kaWFs ZWN0X2N4eCAoKSkKICAgICB7CkBAIC0xMTQ4LDEyICsxMTU2LDEyIEBAIHN0 YXRpYyB2b2lkCiB9CiAKIC8qIEEgdmVjdG9yIG9mIHJlZ2lzdGVyZWQgcHJh Z21hIGNhbGxiYWNrcy4gICovCisvKlRoaXMgaXMgbmV2ZXIgZnJlZWQgYXMg d2UgbmVlZCBpdCBkdXJpbmcgdGhlIHdob2xlIGV4ZWN1dGlvbiAqLworREVG X1ZFQ19PIChpbnRlcm5hbF9wcmFnbWFfaGFuZGxlcik7CitERUZfVkVDX0FM TE9DX08gKGludGVybmFsX3ByYWdtYV9oYW5kbGVyLCBoZWFwKTsKIAotREVG X1ZFQ19PIChwcmFnbWFfaGFuZGxlcik7Ci1ERUZfVkVDX0FMTE9DX08gKHBy YWdtYV9oYW5kbGVyLCBoZWFwKTsKK3N0YXRpYyBWRUMoaW50ZXJuYWxfcHJh Z21hX2hhbmRsZXIsIGhlYXApICpyZWdpc3RlcmVkX3ByYWdtYXM7CiAKLXN0 YXRpYyBWRUMocHJhZ21hX2hhbmRsZXIsIGhlYXApICpyZWdpc3RlcmVkX3By YWdtYXM7Ci0KIHR5cGVkZWYgc3RydWN0CiB7CiAgIGNvbnN0IGNoYXIgKnNw YWNlOwpAQCAtMTIxNiw5ICsxMjI0LDEwIEBAIGNfcHBfbG9va3VwX3ByYWdt YSAodW5zaWduZWQgaW50IGlkLCBjb25zdCBjaGFyICoqCiAKIHN0YXRpYyB2 b2lkCiBjX3JlZ2lzdGVyX3ByYWdtYV8xIChjb25zdCBjaGFyICpzcGFjZSwg Y29uc3QgY2hhciAqbmFtZSwKLQkJICAgICBwcmFnbWFfaGFuZGxlciBoYW5k bGVyLCBib29sIGFsbG93X2V4cGFuc2lvbikKKwkJICAgICBwcmFnbWFfaGFu ZGxlciBoYW5kbGVyLCBib29sIGFsbG93X2V4cGFuc2lvbiwgdm9pZCAqIGRh dGEpCiB7CiAgIHVuc2lnbmVkIGlkOworICBpbnRlcm5hbF9wcmFnbWFfaGFu ZGxlciAqIGloYW5kbGVyOwogCiAgIGlmIChmbGFnX3ByZXByb2Nlc3Nfb25s eSkKICAgICB7CkBAIC0xMjI5LDE0ICsxMjM4LDE4IEBAIGNfcmVnaXN0ZXJf cHJhZ21hXzEgKGNvbnN0IGNoYXIgKnNwYWNlLCBjb25zdCBjaGFyCiAKICAg ICAgIG5zX25hbWUuc3BhY2UgPSBzcGFjZTsKICAgICAgIG5zX25hbWUubmFt ZSA9IG5hbWU7CisgICAgICAKICAgICAgIFZFQ19zYWZlX3B1c2ggKHByYWdt YV9uc19uYW1lLCBoZWFwLCByZWdpc3RlcmVkX3BwX3ByYWdtYXMsICZuc19u YW1lKTsKICAgICAgIGlkID0gVkVDX2xlbmd0aCAocHJhZ21hX25zX25hbWUs IHJlZ2lzdGVyZWRfcHBfcHJhZ21hcyk7CiAgICAgICBpZCArPSBQUkFHTUFf RklSU1RfRVhURVJOQUwgLSAxOwogICAgIH0KICAgZWxzZQogICAgIHsKLSAg ICAgIFZFQ19zYWZlX3B1c2ggKHByYWdtYV9oYW5kbGVyLCBoZWFwLCByZWdp c3RlcmVkX3ByYWdtYXMsICZoYW5kbGVyKTsKLSAgICAgIGlkID0gVkVDX2xl bmd0aCAocHJhZ21hX2hhbmRsZXIsIHJlZ2lzdGVyZWRfcHJhZ21hcyk7Cisg ICAgICBpaGFuZGxlci0+aGFuZGxlciA9IGhhbmRsZXI7CisgICAgICBpaGFu ZGxlci0+ZGF0YSA9IGRhdGE7CisgICAgICBWRUNfc2FmZV9wdXNoIChpbnRl cm5hbF9wcmFnbWFfaGFuZGxlciwgaGVhcCwgcmVnaXN0ZXJlZF9wcmFnbWFz LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZpaGFuZGxlcik7CisgICAgICBpZCA9IFZFQ19sZW5ndGgg KGludGVybmFsX3ByYWdtYV9oYW5kbGVyLCByZWdpc3RlcmVkX3ByYWdtYXMp OwogICAgICAgaWQgKz0gUFJBR01BX0ZJUlNUX0VYVEVSTkFMIC0gMTsKIAog ICAgICAgLyogVGhlIEMrKyBmcm9udCBlbmQgYWxsb2NhdGVzIDYgYml0cyBp biBjcF90b2tlbjsgdGhlIEMgZnJvbnQgZW5kCkBAIC0xMjQ5LDI3ICsxMjYy LDI4IEBAIGNfcmVnaXN0ZXJfcHJhZ21hXzEgKGNvbnN0IGNoYXIgKnNwYWNl LCBjb25zdCBjaGFyCiB9CiAKIHZvaWQKLWNfcmVnaXN0ZXJfcHJhZ21hIChj b25zdCBjaGFyICpzcGFjZSwgY29uc3QgY2hhciAqbmFtZSwgcHJhZ21hX2hh bmRsZXIgaGFuZGxlcikKK2NfcmVnaXN0ZXJfcHJhZ21hIChjb25zdCBjaGFy ICpzcGFjZSwgY29uc3QgY2hhciAqbmFtZSwgcHJhZ21hX2hhbmRsZXIgaGFu ZGxlciwgCisgICAgICAgICAgICAgICAgICAgdm9pZCAqIGRhdGEpCiB7Ci0g IGNfcmVnaXN0ZXJfcHJhZ21hXzEgKHNwYWNlLCBuYW1lLCBoYW5kbGVyLCBm YWxzZSk7CisgIGNfcmVnaXN0ZXJfcHJhZ21hXzEgKHNwYWNlLCBuYW1lLCBo YW5kbGVyLCBmYWxzZSwgZGF0YSk7CiB9CiAKIHZvaWQKIGNfcmVnaXN0ZXJf cHJhZ21hX3dpdGhfZXhwYW5zaW9uIChjb25zdCBjaGFyICpzcGFjZSwgY29u c3QgY2hhciAqbmFtZSwKLQkJCQkgIHByYWdtYV9oYW5kbGVyIGhhbmRsZXIp CisJCQkJICBwcmFnbWFfaGFuZGxlciBoYW5kbGVyLCB2b2lkICogZGF0YSkK IHsKLSAgY19yZWdpc3Rlcl9wcmFnbWFfMSAoc3BhY2UsIG5hbWUsIGhhbmRs ZXIsIHRydWUpOworICBjX3JlZ2lzdGVyX3ByYWdtYV8xIChzcGFjZSwgbmFt ZSwgaGFuZGxlciwgdHJ1ZSwgZGF0YSk7CiB9CiAKIHZvaWQKIGNfaW52b2tl X3ByYWdtYV9oYW5kbGVyICh1bnNpZ25lZCBpbnQgaWQpCiB7Ci0gIHByYWdt YV9oYW5kbGVyIGhhbmRsZXI7CisgIGludGVybmFsX3ByYWdtYV9oYW5kbGVy ICogaWhhbmRsZXI7CiAKICAgaWQgLT0gUFJBR01BX0ZJUlNUX0VYVEVSTkFM OwotICBoYW5kbGVyID0gKlZFQ19pbmRleCAocHJhZ21hX2hhbmRsZXIsIHJl Z2lzdGVyZWRfcHJhZ21hcywgaWQpOwotCi0gIGhhbmRsZXIgKHBhcnNlX2lu KTsKKyAgaWhhbmRsZXIgPSBWRUNfaW5kZXggKGludGVybmFsX3ByYWdtYV9o YW5kbGVyLCByZWdpc3RlcmVkX3ByYWdtYXMsIGlkKTsKKyAgcHJhZ21hX2hh bmRsZXIgaGFuZGxlciA9IGloYW5kbGVyLT5oYW5kbGVyOworICBoYW5kbGVy IChwYXJzZV9pbiwgaWhhbmRsZXItPmRhdGEpOwogfQogCiAvKiBTZXQgdXAg ZnJvbnQtZW5kIHByYWdtYXMuICAqLwpAQCAtMTI5MSwyNyArMTMwNSwyOCBA QCBpbml0X3ByYWdtYSAodm9pZCkKIAkJCQkgIFBSQUdNQV9HQ0NfUENIX1BS RVBST0NFU1MsIGZhbHNlLCBmYWxzZSk7CiAKICNpZmRlZiBIQU5ETEVfUFJB R01BX1BBQ0tfV0lUSF9FWFBBTlNJT04KLSAgY19yZWdpc3Rlcl9wcmFnbWFf d2l0aF9leHBhbnNpb24gKDAsICJwYWNrIiwgaGFuZGxlX3ByYWdtYV9wYWNr KTsKKyAgY19yZWdpc3Rlcl9wcmFnbWFfd2l0aF9leHBhbnNpb24gKDAsICJw YWNrIiwgaGFuZGxlX3ByYWdtYV9wYWNrLCBOVUxMKTsKICNlbHNlCi0gIGNf cmVnaXN0ZXJfcHJhZ21hICgwLCAicGFjayIsIGhhbmRsZV9wcmFnbWFfcGFj ayk7CisgIGNfcmVnaXN0ZXJfcHJhZ21hICgwLCAicGFjayIsIGhhbmRsZV9w cmFnbWFfcGFjaywgTlVMTCk7CiAjZW5kaWYKLSAgY19yZWdpc3Rlcl9wcmFn bWEgKDAsICJ3ZWFrIiwgaGFuZGxlX3ByYWdtYV93ZWFrKTsKLSAgY19yZWdp c3Rlcl9wcmFnbWEgKCJHQ0MiLCAidmlzaWJpbGl0eSIsIGhhbmRsZV9wcmFn bWFfdmlzaWJpbGl0eSk7CisgIGNfcmVnaXN0ZXJfcHJhZ21hICgwLCAid2Vh ayIsIGhhbmRsZV9wcmFnbWFfd2VhaywgTlVMTCk7CisgIGNfcmVnaXN0ZXJf cHJhZ21hICgiR0NDIiwgInZpc2liaWxpdHkiLCBoYW5kbGVfcHJhZ21hX3Zp c2liaWxpdHksIE5VTEwpOwogCi0gIGNfcmVnaXN0ZXJfcHJhZ21hICgiR0ND IiwgImRpYWdub3N0aWMiLCBoYW5kbGVfcHJhZ21hX2RpYWdub3N0aWMpOwot ICBjX3JlZ2lzdGVyX3ByYWdtYSAoIkdDQyIsICJ0YXJnZXQiLCBoYW5kbGVf cHJhZ21hX3RhcmdldCk7Ci0gIGNfcmVnaXN0ZXJfcHJhZ21hICgiR0NDIiwg Im9wdGltaXplIiwgaGFuZGxlX3ByYWdtYV9vcHRpbWl6ZSk7Ci0gIGNfcmVn aXN0ZXJfcHJhZ21hICgiR0NDIiwgInB1c2hfb3B0aW9ucyIsIGhhbmRsZV9w cmFnbWFfcHVzaF9vcHRpb25zKTsKLSAgY19yZWdpc3Rlcl9wcmFnbWEgKCJH Q0MiLCAicG9wX29wdGlvbnMiLCBoYW5kbGVfcHJhZ21hX3BvcF9vcHRpb25z KTsKLSAgY19yZWdpc3Rlcl9wcmFnbWEgKCJHQ0MiLCAicmVzZXRfb3B0aW9u cyIsIGhhbmRsZV9wcmFnbWFfcmVzZXRfb3B0aW9ucyk7CisgIGNfcmVnaXN0 ZXJfcHJhZ21hICgiR0NDIiwgImRpYWdub3N0aWMiLCBoYW5kbGVfcHJhZ21h X2RpYWdub3N0aWMsIE5VTEwpOworICBjX3JlZ2lzdGVyX3ByYWdtYSAoIkdD QyIsICJ0YXJnZXQiLCBoYW5kbGVfcHJhZ21hX3RhcmdldCwgTlVMTCk7Cisg IGNfcmVnaXN0ZXJfcHJhZ21hICgiR0NDIiwgIm9wdGltaXplIiwgaGFuZGxl X3ByYWdtYV9vcHRpbWl6ZSwgTlVMTCk7CisgIGNfcmVnaXN0ZXJfcHJhZ21h ICgiR0NDIiwgInB1c2hfb3B0aW9ucyIsIGhhbmRsZV9wcmFnbWFfcHVzaF9v cHRpb25zLCBOVUxMKTsKKyAgY19yZWdpc3Rlcl9wcmFnbWEgKCJHQ0MiLCAi cG9wX29wdGlvbnMiLCBoYW5kbGVfcHJhZ21hX3BvcF9vcHRpb25zLCBOVUxM KTsKKyAgY19yZWdpc3Rlcl9wcmFnbWEgKCJHQ0MiLCAicmVzZXRfb3B0aW9u cyIsIGhhbmRsZV9wcmFnbWFfcmVzZXRfb3B0aW9ucywgTlVMTCk7CiAKICAg Y19yZWdpc3Rlcl9wcmFnbWEgKCJTVERDIiwgIkZMT0FUX0NPTlNUX0RFQ0lN QUw2NCIsCi0JCSAgICAgaGFuZGxlX3ByYWdtYV9mbG9hdF9jb25zdF9kZWNp bWFsNjQpOworCQkgICAgIGhhbmRsZV9wcmFnbWFfZmxvYXRfY29uc3RfZGVj aW1hbDY0LCBOVUxMKTsKIAotICBjX3JlZ2lzdGVyX3ByYWdtYV93aXRoX2V4 cGFuc2lvbiAoMCwgInJlZGVmaW5lX2V4dG5hbWUiLCBoYW5kbGVfcHJhZ21h X3JlZGVmaW5lX2V4dG5hbWUpOwotICBjX3JlZ2lzdGVyX3ByYWdtYSAoMCwg ImV4dGVybl9wcmVmaXgiLCBoYW5kbGVfcHJhZ21hX2V4dGVybl9wcmVmaXgp OworICBjX3JlZ2lzdGVyX3ByYWdtYV93aXRoX2V4cGFuc2lvbiAoMCwgInJl ZGVmaW5lX2V4dG5hbWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaGFuZGxlX3ByYWdtYV9yZWRlZmluZV9leHRuYW1lLCBOVUxM KTsKKyAgY19yZWdpc3Rlcl9wcmFnbWEgKDAsICJleHRlcm5fcHJlZml4Iiwg aGFuZGxlX3ByYWdtYV9leHRlcm5fcHJlZml4LCBOVUxMKTsKIAotICBjX3Jl Z2lzdGVyX3ByYWdtYV93aXRoX2V4cGFuc2lvbiAoMCwgIm1lc3NhZ2UiLCBo YW5kbGVfcHJhZ21hX21lc3NhZ2UpOworICBjX3JlZ2lzdGVyX3ByYWdtYV93 aXRoX2V4cGFuc2lvbiAoMCwgIm1lc3NhZ2UiLCBoYW5kbGVfcHJhZ21hX21l c3NhZ2UsIE5VTEwpOwogCiAjaWZkZWYgUkVHSVNURVJfVEFSR0VUX1BSQUdN QVMKICAgUkVHSVNURVJfVEFSR0VUX1BSQUdNQVMgKCk7Cg== --------------080806020800020809010003--