GNU bug report logs - #17381
_GL_ATTRIBUTE_PURE in dfa.h

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: grep; Severity: wishlist; Reported by: arnold@HIDDEN; dated Thu, 1 May 2014 06:21:02 UTC; Maintainer for grep is bug-grep@HIDDEN.
Severity set to 'wishlist' from 'normal' Request was from Paul Eggert <eggert@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 17381 <at> debbugs.gnu.org:


Received: (at 17381) by debbugs.gnu.org; 2 May 2014 06:11:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 02 02:11:28 2014
Received: from localhost ([127.0.0.1]:47872 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Wg6gw-0004Mj-Ix
	for submit <at> debbugs.gnu.org; Fri, 02 May 2014 02:11:27 -0400
Received: from smtp.cs.ucla.edu ([131.179.128.62]:47137)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <eggert@HIDDEN>)
 id 1Wg6gn-0004M2-Ke; Fri, 02 May 2014 02:11:20 -0400
Received: from localhost (localhost.localdomain [127.0.0.1])
 by smtp.cs.ucla.edu (Postfix) with ESMTP id 6B944A60049;
 Thu,  1 May 2014 23:11:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu
Received: from smtp.cs.ucla.edu ([127.0.0.1])
 by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id uYzbHjlCoa6o; Thu,  1 May 2014 23:11:07 -0700 (PDT)
Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net
 [108.0.233.62])
 by smtp.cs.ucla.edu (Postfix) with ESMTPSA id F302039E8014;
 Thu,  1 May 2014 23:11:06 -0700 (PDT)
Message-ID: <536336FA.8020109@HIDDEN>
Date: Thu, 01 May 2014 23:11:06 -0700
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
 rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: Aharon Robbins <arnold@HIDDEN>, 17381 <at> debbugs.gnu.org
Subject: Re: bug#17381: _GL_ATTRIBUTE_PURE in dfa.h
References: <201405010619.s416JeNl020893@HIDDEN>
 <5361EAD7.7040507@HIDDEN> <201405011829.s41IThl8004128@HIDDEN>
In-Reply-To: <201405011829.s41IThl8004128@HIDDEN>
Content-Type: multipart/mixed; boundary="------------030302090000050300070904"
X-Spam-Score: -3.0 (---)
X-Debbugs-Envelope-To: 17381
Cc: 17072 <at> debbugs.gnu.org, 17157 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.0 (---)

This is a multi-part message in MIME format.
--------------030302090000050300070904
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 05/01/2014 11:29 AM, Aharon Robbins wrote:
> custom.h is for system customization to override things that Autoconf 
> can't figure out or gets wrong

OK, it's easy to have something else include mbsupport.h instead. 
config.h, say.  The attached patch does that.  It doesn't really matter 
what includes it, so long as it's done before dfa.c and dfa.h start 
using the multibyte functions.

> Requiring gnulib in that header makes it less attractive to other 
> projects that might want to use dfa as a black box. Are there such? I 
> don't know. (I thought I'd heard something about gettext using dfa but 
> I am unsure if that is true.)

gettext uses gnulib, so that's not an issue.

> Does the GL_PURE stuff have to be on every declaration? Or can it just 
> be on the body?

It should be on the declaration for external functions, so that the 
function's caller knows to optimize it.

> What does it even mean

It means the function has no effects except the return value and that 
the return value depends only on the parameters and/or global variables.

> Does whatever optimization it enables *really* make a big difference, 
> or is it just a micro-optimization?

We put it in because GCC nowadays complains if we leave it out, if we 
configure with --enable-gcc-warnings.  The optimization seems to be a 
win in general and (more important) an aid for humans reading the code, 
so we typically just add the pure attribute and move on.

> Yes, I know. I am unsure if your patch, which totally eliminates the 
> ability to compile gawk on systems without multibyte support

It's not supposed to do that.  It's supposed to work on those hosts, by 
supplying substitutes for wchar_t, wctype_t, etc.  Hmm, are you worried 
about hosts that don't even have wchar.h and wctype.h?  If so, that can 
be worked around reasonably easily; please see attached patch.

> I just looked at the patch again. It really doesn't do the trick; 
> there are lots of places where MBS_SUPPORT is checked in the gawk code 
> and pulling mbsupport.h out of awk.h is likely to break things

No, it should still work.  With the revised patch, config.h includes 
mbsupport.h, so MBS_SUPPORT will be defined appropriately for gawk code 
and gawk's other MBS_SUPPORT usages will continue to work as before.

I'll CC: this to Bug#17157 and Bug#17072 as it's following up to the 
last messages in both those threads, too.

--------------030302090000050300070904
Content-Type: text/plain; charset=UTF-8;
 name="0001-awk-simplify-dfa.c-by-having-it-not-include-mbsuppor.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0="0001-awk-simplify-dfa.c-by-having-it-not-include-mbsuppor.pa";
 filename*1="tch"

RnJvbSBmNjExMmFjYTQxZWE4YmQyMDI4ZWE1YjAwYTNhNzVkYjE0YTMyZWVmIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1
PgpEYXRlOiBUaHUsIDEgTWF5IDIwMTQgMjM6MDk6MDAgLTA3MDAKU3ViamVjdDogW1BBVENI
XSBhd2s6IHNpbXBsaWZ5IGRmYS5jIGJ5IGhhdmluZyBpdCBub3QgaW5jbHVkZSBtYnN1cHBv
cnQuaAogZGlyZWN0bHkKClRoaXMgc3luY3MgZGZhLmMgYmV0dGVyIHdpdGggJ2dyZXAnLgoq
IE1ha2VmaWxlLmFtIChTVERCT09MX0gsIFdDSEFSX0gsIFdDVFlQRV9IKTogTmV3IG1hY3Jv
cy4KKCQoZ2F3a19PQkpDRVRTKSk6IERlcGVuZCBvbiB0aGVtLgooc3RkYm9vbC5oLCB3Y2hh
ci5oLCB3Y3R5cGUuaCk6IE5ldyBydWxlcy4KKENMRUFORklMRVMpOiBBZGQgdGhlIG5ldyBm
aWxlcyB0byB0aGlzIGxpc3QuCiogYXdrLmgsIHJlZ2V4X2ludGVybmFsLmgsIGRmYS5jOiBE
b24ndCBpbmNsdWRlIG1ic3VwcG9ydC5oLgoqIGNvbmZpZ3VyZS5hYzogQXJyYW5nZSBmb3Ig
Y29uZmlnLmggdG8gaW5jbHVkZSBpdCBpbnN0ZWFkLgooU1REQk9PTF9ILCBXQ0hBUl9ILCBX
Q1RZUEVfSCk6IE5ldyBjb25maWd1cmF0aW9uIGl0ZW1zLgoqIGN1c3RvbS5oIChfR0xfQVRU
UklCVVRFX1BVUkUpOiBNb3ZlIGhlcmUgZnJvbSBkZmEuYywgdG8gbGVzc2VuIHRoZQpudW1i
ZXIgb2YgZGlmZmVyZW5jZXMgYmV0d2VlbiBncmVwJ3MgZGZhLmMgYW5kIG91cnMuCiogZGZh
LmM6IEluY2x1ZGUgd2NoYXIuaCBhbmQgd2N0eXBlLmggdW5jb25kaXRpb25hbGx5LCBhcwp0
aGlzIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiBkZmEuYyBpbiBncmVwLCBhbmQgaXQgZG9lcyBu
byBoYXJtCmluIGdhd2suCihzZXRsb2NhbGUpIFshTENfQUxMXToKKGdhd2tfbWJfY3VyX21h
eCwgTUJfQ1VSX01BWCwgbWJydG93YykgW0xJQkNfSVNfQk9SS0VEXToKTW92ZSB0byBtYnN1
cHBvcnQuaCAobmVlZGVkIGZvciBjb25zaXN0ZW5jeSBpbiBhbGwgdXNlcyksCmFuZCBmaXgg
bWJydG93YyB0byByZXR1cm4gc2l6ZV90Lgooc3RydWN0IGRmYSwgZGZhbWJjYWNoZSwgbWJz
X3RvX3djaGFyKQooaXNfdmFsaWRfdW5pYnl0ZV9jaGFyYWN0ZXIsIHNldGJpdF93YywgdXNp
bmdfdXRmOCwgRkVUQ0hfV0MpCihhZGR0b2tfd2MsIGFkZF91dGY4X2FueWNoYXIsIGF0b20s
IHN0YXRlX2luZGV4LCBlcHNjbG9zdXJlKQooZGZhYW5hbHl6ZSwgZGZhc3RhdGUsIHByZXBh
cmVfd2NfYnVmLCBkZmFvcHRpbWl6ZSwgZGZhZnJlZSwgZGZhbXVzdCk6CiogZGZhc2VhcmNo
LmMgKEVHZXhlY3V0ZSk6CiogZ3JlcC5jIChtYWluKToKKiBzZWFyY2h1dGlscy5jIChtYnRv
dXBwZXIpOgpBc3N1bWUgTUJTX1NVUFBPUlQuCiogZGZhLmg6IEluY2x1ZGUgc3RkYm9vbC5o
IHVuY29uZGl0aW9uYWxseSwgc28gdGhhdCB0aGlzIGZpbGUgaXMKY2xvc2VyIHRvIHdoYXQn
cyBpbiBncmVwLgoqIG1ic3VwcG9ydC5oIFshTUJTX1NVUFBPUlRdOiBJbmNsdWRlIHdjaGFy
LmgsIHdjdHlwZS5oCmJlZm9yZSBvdmVycmlkaW5nIHRoZWlyIGRlZmluaXRpb25zLgooV0VP
RiwgdG93dXBwZXIsIHRvd2xvd2VyLCBidG93YywgaXN3YWxudW0sIGlzd2FscGhhLCBpc3d1
cHBlcikKKGlzd2xvd2VyLCBtYnJ0b3djLCB3Y3J0b21iLCB3Y3R5cGUsIGlzd2N0eXBlLCB3
Y3Njb2xsKToKKGJ0b3djKTogUGFyZW50aGVzaXplIHByb3Blcmx5LgoobWJydG93Yywgd2Ny
dG9tYik6IE5ldyBtYWNyb3MuCih3Y3R5cGUsIGlzd2N0eXBlLCB3Y3Njb2xsKTogRGVmaW5l
IHRvIGdhd2tfd2N0eXBlIGV0Yy4gdG8gYXZvaWQKY29sbGlzaW9ucyB3aXRoIHN0YW5kYXJk
IGxpYnJhcnkuCi0tLQogQ2hhbmdlTG9nICAgICAgICAgICB8IDQwICsrKysrKysrKysrKysr
KysrKysrKysrCiBNYWtlZmlsZS5hbSAgICAgICAgIHwgMTEgKysrKysrKwogYXdrLmggICAg
ICAgICAgICAgICB8ICAyIC0tCiBjb25maWd1cmUuYWMgICAgICAgIHwgIDkgKysrKysrCiBj
dXN0b20uaCAgICAgICAgICAgIHwgIDcgKysrKwogZGZhLmMgICAgICAgICAgICAgICB8IDkz
ICsrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiBkZmEuaCAgICAgICAgICAgICAgIHwgIDQgLS0tCiBtYnN1cHBvcnQuaCAgICAgICAgIHwg
NTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIG1pc3NpbmdfZC9DaGFuZ2VM
b2cgfCAgNCArKysKIG1pc3NpbmdfZC93Y21pc2MuYyAgfCAxMCAtLS0tLS0KIHJlZ2V4Lmgg
ICAgICAgICAgICAgfCAxOCArKysrKysrKy0tLQogcmVnZXhfaW50ZXJuYWwuaCAgICB8ICAy
IC0tCiAxMiBmaWxlcyBjaGFuZ2VkLCAxNDkgaW5zZXJ0aW9ucygrKSwgMTA4IGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBjMWIyOTRi
Li44ZWJmYWVkIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDMgQEAKKzIwMTQtMDUtMDEgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEu
ZWR1PgorCisJYXdrOiBzaW1wbGlmeSBkZmEuYyBieSBoYXZpbmcgaXQgbm90IGluY2x1ZGUg
bWJzdXBwb3J0LmggZGlyZWN0bHkKKwlUaGlzIHN5bmNzIGRmYS5jIGJldHRlciB3aXRoICdn
cmVwJy4KKwkqIE1ha2VmaWxlLmFtIChTVERCT09MX0gsIFdDSEFSX0gsIFdDVFlQRV9IKTog
TmV3IG1hY3Jvcy4KKwkoJChnYXdrX09CSkNFVFMpKTogRGVwZW5kIG9uIHRoZW0uCisJKHN0
ZGJvb2wuaCwgd2NoYXIuaCwgd2N0eXBlLmgpOiBOZXcgcnVsZXMuCisJKENMRUFORklMRVMp
OiBBZGQgdGhlIG5ldyBmaWxlcyB0byB0aGlzIGxpc3QuCisJKiBhd2suaCwgcmVnZXhfaW50
ZXJuYWwuaCwgZGZhLmM6IERvbid0IGluY2x1ZGUgbWJzdXBwb3J0LmguCisJKiBjb25maWd1
cmUuYWM6IEFycmFuZ2UgZm9yIGNvbmZpZy5oIHRvIGluY2x1ZGUgaXQgaW5zdGVhZC4KKwko
U1REQk9PTF9ILCBXQ0hBUl9ILCBXQ1RZUEVfSCk6IE5ldyBjb25maWd1cmF0aW9uIGl0ZW1z
LgorCSogY3VzdG9tLmggKF9HTF9BVFRSSUJVVEVfUFVSRSk6IE1vdmUgaGVyZSBmcm9tIGRm
YS5jLCB0byBsZXNzZW4gdGhlCisJbnVtYmVyIG9mIGRpZmZlcmVuY2VzIGJldHdlZW4gZ3Jl
cCdzIGRmYS5jIGFuZCBvdXJzLgorCSogZGZhLmM6IEluY2x1ZGUgd2NoYXIuaCBhbmQgd2N0
eXBlLmggdW5jb25kaXRpb25hbGx5LCBhcworCXRoaXMgc2ltcGxpZmllcyB0aGUgdXNlIG9m
IGRmYS5jIGluIGdyZXAsIGFuZCBpdCBkb2VzIG5vIGhhcm0KKwlpbiBnYXdrLgorCShzZXRs
b2NhbGUpIFshTENfQUxMXToKKwkoZ2F3a19tYl9jdXJfbWF4LCBNQl9DVVJfTUFYLCBtYnJ0
b3djKSBbTElCQ19JU19CT1JLRURdOgorCU1vdmUgdG8gbWJzdXBwb3J0LmggKG5lZWRlZCBm
b3IgY29uc2lzdGVuY3kgaW4gYWxsIHVzZXMpLAorCWFuZCBmaXggbWJydG93YyB0byByZXR1
cm4gc2l6ZV90LgorCShzdHJ1Y3QgZGZhLCBkZmFtYmNhY2hlLCBtYnNfdG9fd2NoYXIpCisJ
KGlzX3ZhbGlkX3VuaWJ5dGVfY2hhcmFjdGVyLCBzZXRiaXRfd2MsIHVzaW5nX3V0ZjgsIEZF
VENIX1dDKQorCShhZGR0b2tfd2MsIGFkZF91dGY4X2FueWNoYXIsIGF0b20sIHN0YXRlX2lu
ZGV4LCBlcHNjbG9zdXJlKQorCShkZmFhbmFseXplLCBkZmFzdGF0ZSwgcHJlcGFyZV93Y19i
dWYsIGRmYW9wdGltaXplLCBkZmFmcmVlLCBkZmFtdXN0KToKKwkqIGRmYXNlYXJjaC5jIChF
R2V4ZWN1dGUpOgorCSogZ3JlcC5jIChtYWluKToKKwkqIHNlYXJjaHV0aWxzLmMgKG1idG91
cHBlcik6CisJQXNzdW1lIE1CU19TVVBQT1JULgorCSogZGZhLmg6IEluY2x1ZGUgc3RkYm9v
bC5oIHVuY29uZGl0aW9uYWxseSwgc28gdGhhdCB0aGlzIGZpbGUgaXMKKwljbG9zZXIgdG8g
d2hhdCdzIGluIGdyZXAuCisJKiBtYnN1cHBvcnQuaCBbIU1CU19TVVBQT1JUXTogSW5jbHVk
ZSB3Y2hhci5oLCB3Y3R5cGUuaAorCWJlZm9yZSBvdmVycmlkaW5nIHRoZWlyIGRlZmluaXRp
b25zLgorCShXRU9GLCB0b3d1cHBlciwgdG93bG93ZXIsIGJ0b3djLCBpc3dhbG51bSwgaXN3
YWxwaGEsIGlzd3VwcGVyKQorCShpc3dsb3dlciwgbWJydG93Yywgd2NydG9tYiwgd2N0eXBl
LCBpc3djdHlwZSwgd2NzY29sbCk6CisJI3VuZGVmIGJlZm9yZSAjZGVmaW5pbmcuCisJKGJ0
b3djKTogUGFyZW50aGVzaXplIHByb3Blcmx5LgorCShtYnJ0b3djLCB3Y3J0b21iKTogTmV3
IG1hY3Jvcy4KKwkod2N0eXBlLCBpc3djdHlwZSwgd2NzY29sbCk6IERlZmluZSB0byBnYXdr
X3djdHlwZSBldGMuIHRvIGF2b2lkCisJY29sbGlzaW9ucyB3aXRoIHN0YW5kYXJkIGxpYnJh
cnkuCisKIDIwMTQtMDQtMjUgICAgICAgICBBbmRyZXcgSi4gU2Nob3JyICAgICA8YXNjaG9y
ckB0ZWxlbWV0cnktaW52ZXN0bWVudHMuY29tPgogCiAJKiBpby5jICh0d29fd2F5X29wZW4p
OiBJbiBmb3JrZWQgY2hpbGQsIHJlc2V0IFNJR1BJUEUgdG8gU0lHX0RGTC4KZGlmZiAtLWdp
dCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KaW5kZXggNmU1NzE1ZC4uZjFhNzI1YSAx
MDA2NDQKLS0tIGEvTWFrZWZpbGUuYW0KKysrIGIvTWFrZWZpbGUuYW0KQEAgLTE5Niw2ICsx
OTYsMTcgQEAgY29tbWFuZC5jOiBjb21tYW5kLnkKIAkkKFlBQ0MpIC1wIHp6ICQ8CiAJc2Vk
ICdzL3BhcnNlIGVycm9yL3N5bnRheCBlcnJvci9nJyA8IHkudGFiLmMgfCBhd2sgLWYgJChz
cmNkaXIpL2Jpc29uZml4LmF3ayBjb21tYW5kID4gJCouYyAmJiBybSB5LnRhYi5jCiAKKyMg
QXJyYW5nZSBmb3Igc29tZSBzdGFuZGFyZCBoZWFkZXJzIG9uIHBsYXRmb3JtcyB0aGF0IGxh
Y2sgdGhlbS4KK1NUREJPT0xfSCA9IEBTVERCT09MX0hACitXQ0hBUl9IID0gQFdDSEFSX0hA
CitXQ1RZUEVfSCA9IEBXQ1RZUEVfSEAKKyQoZ2F3a19PQkpFQ1RTKTogJChTVERCT09MX0gp
ICQoV0NIQVJfSCkgJChXQ1RZUEVfSCkKK3N0ZGJvb2wuaDoKKwllY2hvICcjaW5jbHVkZSAi
bWlzc2luZ19kL2dhd2tib29sLmgiJyA+JEAKK3djaGFyLmggd2N0eXBlLmg6CisJZWNobyAn
JyA+JEAKK0NMRUFORklMRVMgKz0gc3RkYm9vbC5oIHdjaGFyLmggd2N0eXBlLmgKKwogIyBU
aGlzIGlzIGZvciBteSBkZXZlbG9wbWVudCAmIHRlc3RpbmcuCiBlZmVuY2U6IGdhd2sKIAkk
KENDKSAkKExERkxBR1MpIC1vIGdhd2sgJCQobHMgKi5vIHwgZ3JlcCAtdiAnX3AubyQkJykg
JChMSUJTKSAtbGVmZW5jZQpkaWZmIC0tZ2l0IGEvYXdrLmggYi9hd2suaAppbmRleCBhZWZk
ZDA3Li5jZGJhN2E4IDEwMDY0NAotLS0gYS9hd2suaAorKysgYi9hd2suaApAQCAtOTUsOCAr
OTUsNiBAQCBleHRlcm4gaW50IGVycm5vOwogI2luY2x1ZGUgIm1pc3NpbmdfZC9nYXdrYm9v
bC5oIgogI2VuZGlmCiAKLSNpbmNsdWRlICJtYnN1cHBvcnQuaCIgLyogZGVmaW5lcyBNQlNf
U1VQUE9SVCAqLwotCiAjaWYgTUJTX1NVUFBPUlQKIC8qIFdlIGNhbiBoYW5kbGUgbXVsdGli
eXRlIHN0cmluZ3MuICAqLwogI2luY2x1ZGUgPHdjaGFyLmg+CmRpZmYgLS1naXQgYS9jb25m
aWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggZTdlMmQ1Zi4uMjQ0N2MzMiAxMDA2NDQK
LS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtMTUzLDYgKzE1Mywx
NCBAQCBlbHNlCiAJQUNfQ0hFQ0tfSEVBREVSUyhzdHJpbmdzLmgpCiBmaQogCitTVERCT09M
X0g9IFdDSEFSX0g9IFdDVFlQRV9IPQordGVzdCAiJGFjX2N2X2hlYWRlcl9zdGRib29sX2gi
ICE9IHllcyAmJiBTVERCT09MX0g9c3RkYm9vbC5oCit0ZXN0ICIkYWNfY3ZfaGVhZGVyX3dj
aGFyX2giICE9IHllcyAmJiBXQ0hBUl9IPXdjaGFyLmgKK3Rlc3QgIiRhY19jdl9oZWFkZXJf
d2N0eXBlX2giICE9IHllcyAmJiBXQ1RZUEVfSD13Y3R5cGUuaAorQUNfU1VCU1QoW1NUREJP
T0xfSF0pCitBQ19TVUJTVChbV0NIQVJfSF0pCitBQ19TVUJTVChbV0NUWVBFX0hdKQorCiBk
bmwgQ2hlY2sgY3Jvc3MgY29tcGlsaW5nCiBBTV9DT05ESVRJT05BTChbVEVTVF9DUk9TU19D
T01QSUxFXSwgW3Rlc3QgIngkYnVpbGRfYWxpYXMiICE9ICJ4JGhvc3RfYWxpYXMiXSkKIApA
QCAtMzkwLDYgKzM5OCw3IEBAIEFDX0NfU1RSSU5HSVpFCiAKIEFDX0NPTkZJR19IRUFERVJT
KFtjb25maWcuaDpjb25maWdoLmluXSkKIEFIX0JPVFRPTShbI2luY2x1ZGUgImN1c3RvbS5o
Il0pCitBSF9CT1RUT00oWyNpbmNsdWRlICJtYnN1cHBvcnQuaCJdKQogCiBkbmwgQ3J1ZGUg
YnV0IHNtYWxsIGhhY2sgdG8gbWFrZSBwbHVnLWlucyB3b3JrIG9uIE1hYyBPUyBYCiBkbmwg
V2Ugc2hvdWxkIHJlYWxseSB1c2UgdGhlIGxpYnRvb2wgdmFsdWUgZm9yIHNocmV4dF9jbWRz
LCBidXQgdGhhdApkaWZmIC0tZ2l0IGEvY3VzdG9tLmggYi9jdXN0b20uaAppbmRleCAzNmI0
YWEwLi41YjE5ZGQ0IDEwMDY0NAotLS0gYS9jdXN0b20uaAorKysgYi9jdXN0b20uaApAQCAt
NzYsMyArNzYsMTAgQEAKIGV4dGVybiBpbnQgc2V0ZW52KGNvbnN0IGNoYXIgKm5hbWUsIGNv
bnN0IGNoYXIgKnZhbHVlLCBpbnQgcmV3cml0ZSk7CiBleHRlcm4gaW50IHVuc2V0ZW52KGNv
bnN0IGNoYXIgKm5hbWUpOwogI2VuZGlmCisKKy8qIFRoZSBfX3B1cmVfXyBhdHRyaWJ1dGUg
d2FzIGFkZGVkIGluIGdjYyAyLjk2LiAgKi8KKyNpZiBfX0dOVUNfXyA+IDIgfHwgKF9fR05V
Q19fID09IDIgJiYgX19HTlVDX01JTk9SX18gPj0gOTYpCisjIGRlZmluZSBfR0xfQVRUUklC
VVRFX1BVUkUgX19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSkKKyNlbHNlCisjIGRlZmluZSBf
R0xfQVRUUklCVVRFX1BVUkUgLyogZW1wdHkgKi8KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZGZh
LmMgYi9kZmEuYwppbmRleCBkMzA2ZDVjLi45YzQxZmQxIDEwMDY0NAotLS0gYS9kZmEuYwor
KysgYi9kZmEuYwpAQCAtMjIsNiArMjIsOCBAQAogCiAjaW5jbHVkZSA8Y29uZmlnLmg+CiAK
KyNpbmNsdWRlICJkZmEuaCIKKwogI2luY2x1ZGUgPGFzc2VydC5oPgogI2luY2x1ZGUgPGN0
eXBlLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KQEAgLTM4LDExICs0MCw2IEBACiAjaW5jbHVk
ZSA8bG9jYWxlLmg+CiAjZW5kaWYKIAotLyogR2F3ayBkb2Vzbid0IHVzZSBHbnVsaWIsIHNv
IGRvbid0IGFzc3VtZSB0aGF0IHNldGxvY2FsZSBpcyBwcmVzZW50LiAgKi8KLSNpZm5kZWYg
TENfQUxMCi0jIGRlZmluZSBzZXRsb2NhbGUoY2F0ZWdvcnksIGxvY2FsZSkgTlVMTAotI2Vu
ZGlmCi0KICNkZWZpbmUgU1RSRVEoYSwgYikgKHN0cmNtcCAoYSwgYikgPT0gMCkKIAogLyog
SVNBU0NJSURJR0lUIGRpZmZlcnMgZnJvbSBpc2RpZ2l0LCBhcyBmb2xsb3dzOgpAQCAtNTks
MjYgKzU2LDExIEBACiAjaW5jbHVkZSAiZ2V0dGV4dC5oIgogI2RlZmluZSBfKHN0cikgZ2V0
dGV4dCAoc3RyKQogCi0jaW5jbHVkZSAibWJzdXBwb3J0LmgiIC8qIERlZmluZSBNQlNfU1VQ
UE9SVCB0byAxIG9yIDAsIGFzIGFwcHJvcHJpYXRlLiAgKi8KLSNpZiBNQlNfU1VQUE9SVAot
LyogV2UgY2FuIGhhbmRsZSBtdWx0aWJ5dGUgc3RyaW5ncy4gICovCi0jIGluY2x1ZGUgPHdj
aGFyLmg+Ci0jIGluY2x1ZGUgPHdjdHlwZS5oPgotI2VuZGlmCi0KLSNpZmRlZiBHQVdLCi0v
KiBUaGUgX19wdXJlX18gYXR0cmlidXRlIHdhcyBhZGRlZCBpbiBnY2MgMi45Ni4gICovCi0j
aWYgX19HTlVDX18gPiAyIHx8IChfX0dOVUNfXyA9PSAyICYmIF9fR05VQ19NSU5PUl9fID49
IDk2KQotIyBkZWZpbmUgX0dMX0FUVFJJQlVURV9QVVJFIF9fYXR0cmlidXRlX18gKChfX3B1
cmVfXykpCi0jZWxzZQotIyBkZWZpbmUgX0dMX0FUVFJJQlVURV9QVVJFIC8qIGVtcHR5ICov
Ci0jZW5kaWYKLSNlbmRpZiAvKiBHQVdLICovCisjaW5jbHVkZSA8d2NoYXIuaD4KKyNpbmNs
dWRlIDx3Y3R5cGUuaD4KIAogI2luY2x1ZGUgInhhbGxvYy5oIgogCi0jaW5jbHVkZSAiZGZh
LmgiCi0KICNpZmRlZiBHQVdLCiBzdGF0aWMgaW50CiBpc19ibGFuayAoaW50IGMpCkBAIC04
NywxNCArNjksNiBAQCBpc19ibGFuayAoaW50IGMpCiB9CiAjZW5kaWYgLyogR0FXSyAqLwog
Ci0jaWZkZWYgTElCQ19JU19CT1JLRUQKLWV4dGVybiBpbnQgZ2F3a19tYl9jdXJfbWF4Owot
I3VuZGVmIE1CX0NVUl9NQVgKLSNkZWZpbmUgTUJfQ1VSX01BWCBnYXdrX21iX2N1cl9tYXgK
LSN1bmRlZiBtYnJ0b3djCi0jZGVmaW5lIG1icnRvd2MoYSwgYiwgYywgZCkgKC0xKQotI2Vu
ZGlmCi0KIC8qIEhQVVggZGVmaW5lcyB0aGVzZSBhcyBtYWNyb3MgaW4gc3lzL3BhcmFtLmgu
ICAqLwogI2lmZGVmIHNldGJpdAogIyB1bmRlZiBzZXRiaXQKQEAgLTQwMiwxMyArMzc2LDEx
IEBAIHN0cnVjdCBkZmEKICAgICovCiAgIGludCAqbXVsdGlieXRlX3Byb3A7CiAKLSNpZiBN
QlNfU1VQUE9SVAogICAvKiBBIHRhYmxlIGluZGV4ZWQgYnkgYnl0ZSB2YWx1ZXMgdGhhdCBj
b250YWlucyB0aGUgY29ycmVzcG9uZGluZyB3aWRlCiAgICAgIGNoYXJhY3RlciAoaWYgYW55
KSBmb3IgdGhhdCBieXRlLiAgV0VPRiBtZWFucyB0aGUgYnl0ZSBpcyB0aGUKICAgICAgbGVh
ZGluZyBieXRlIG9mIGEgbXVsdGlieXRlIGNoYXJhY3Rlci4gIEludmFsaWQgYW5kIG51bGwg
Ynl0ZXMgYXJlCiAgICAgIG1hcHBlZCB0byB0aGVtc2VsdmVzLiAgKi8KICAgd2ludF90IG1i
cnRvd2NfY2FjaGVbTk9UQ0hBUl07Ci0jZW5kaWYKIAogICAvKiBBcnJheSBvZiB0aGUgYnJh
Y2tldCBleHByZXNzaW9uIGluIHRoZSBERkEuICAqLwogICBzdHJ1Y3QgbWJfY2hhcl9jbGFz
c2VzICptYmNzZXRzOwpAQCAtNDg4LDcgKzQ2MCw2IEBAIHN0YXRpYyB2b2lkIHJlZ2V4cCAo
dm9pZCk7CiBzdGF0aWMgdm9pZAogZGZhbWJjYWNoZSAoc3RydWN0IGRmYSAqZCkKIHsKLSNp
ZiBNQlNfU1VQUE9SVAogICBpbnQgaTsKICAgZm9yIChpID0gQ0hBUl9NSU47IGkgPD0gQ0hB
Ul9NQVg7ICsraSkKICAgICB7CkBAIC01MDUsMTAgKzQ3Niw4IEBAIGRmYW1iY2FjaGUgKHN0
cnVjdCBkZmEgKmQpCiAgICAgICAgIH0KICAgICAgIGQtPm1icnRvd2NfY2FjaGVbdWNdID0g
d2k7CiAgICAgfQotI2VuZGlmCiB9CiAKLSNpZiBNQlNfU1VQUE9SVAogLyogU3RvcmUgaW50
byAqUFdDIHRoZSByZXN1bHQgb2YgY29udmVydGluZyB0aGUgbGVhZGluZyBieXRlcyBvZiB0
aGUKICAgIG11bHRpYnl0ZSBidWZmZXIgUyBvZiBsZW5ndGggTiBieXRlcywgdXNpbmcgdGhl
IG1icnRvd2NfY2FjaGUgaW4gKkQKICAgIGFuZCB1cGRhdGluZyB0aGUgY29udmVyc2lvbiBz
dGF0ZSBpbiAqRC4gIE9uIGNvbnZlcnNpb24gZXJyb3IsCkBAIC01NDMsNyArNTEyLDYgQEAg
bWJzX3RvX3djaGFyICh3Y2hhcl90ICpwd2MsIGNoYXIgY29uc3QgKnMsIHNpemVfdCBuLCBz
dHJ1Y3QgZGZhICpkKQogICAqcHdjID0gd2M7CiAgIHJldHVybiAxOwogfQotI2VuZGlmCiAK
ICNpZmRlZiBERUJVRwogCkBAIC03MzcsNyArNzA1LDcgQEAgc3RhdGljIGNoYXJjbGFzcyBu
ZXdsaW5lOwogI2lmZGVmIF9fR0xJQkNfXwogIyBkZWZpbmUgaXNfdmFsaWRfdW5pYnl0ZV9j
aGFyYWN0ZXIoYykgMQogI2Vsc2UKLSMgZGVmaW5lIGlzX3ZhbGlkX3VuaWJ5dGVfY2hhcmFj
dGVyKGMpICghIChNQlNfU1VQUE9SVCAmJiBidG93YyAoYykgPT0gV0VPRikpCisjIGRlZmlu
ZSBpc192YWxpZF91bmlieXRlX2NoYXJhY3RlcihjKSAoYnRvd2MgKGMpICE9IFdFT0YpCiAj
ZW5kaWYKIAogLyogUmV0dXJuIG5vbi16ZXJvIGlmIEMgaXMgYSAid29yZC1jb25zdGl0dWVu
dCIgYnl0ZTsgemVybyBvdGhlcndpc2UuICAqLwpAQCAtNzk4LDE3ICs3NjYsMTIgQEAgZGZh
c3ludGF4IChyZWdfc3ludGF4X3QgYml0cywgaW50IGZvbGQsIHVuc2lnbmVkIGNoYXIgZW9s
KQogc3RhdGljIGJvb2wKIHNldGJpdF93YyAod2ludF90IHdjLCBjaGFyY2xhc3MgYykKIHsK
LSNpZiBNQlNfU1VQUE9SVAogICBpbnQgYiA9IHdjdG9iICh3Yyk7CiAgIGlmIChiID09IEVP
RikKICAgICByZXR1cm4gZmFsc2U7CiAKICAgc2V0Yml0IChiLCBjKTsKICAgcmV0dXJuIHRy
dWU7Ci0jZWxzZQotICBhYm9ydCAoKTsKLSAgIC8qTk9UUkVBQ0hFRCovIHJldHVybiBmYWxz
ZTsKLSNlbmRpZgogfQogCiAvKiBTZXQgYSBiaXQgZm9yIEIgYW5kIGl0cyBjYXNlIHZhcmlh
bnRzIGluIHRoZSBjaGFyY2xhc3MgQy4KQEAgLTkwNCw3ICs4NjcsNiBAQCBzdGF0aWMgd2No
YXJfdCB3Y3RvazsgICAgICAgICAgIC8qIFdpZGUgY2hhcmFjdGVyIHJlcHJlc2VudGF0aW9u
IG9mIHRoZSBjdXJyZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11
bHRpYnl0ZSBjaGFyYWN0ZXIuICAqLwogCiAKLSNpZiBNQlNfU1VQUE9SVAogLyogTm90ZSB0
aGF0IGNoYXJhY3RlcnMgYmVjb21lIHVuc2lnbmVkIGhlcmUuICAqLwogIyBkZWZpbmUgRkVU
Q0hfV0MoYywgd2MsIGVvZmVycikJCVwKICAgZG8gewkJCQkJCVwKQEAgLTkyNywyMyArODg5
LDYgQEAgc3RhdGljIHdjaGFyX3Qgd2N0b2s7ICAgICAgICAgICAvKiBXaWRlIGNoYXJhY3Rl
ciByZXByZXNlbnRhdGlvbiBvZiB0aGUgY3VycmVudAogICAgICAgfQkJCQkJCVwKICAgfSB3
aGlsZSAoMCkKIAotI2Vsc2UKLS8qIE5vdGUgdGhhdCBjaGFyYWN0ZXJzIGJlY29tZSB1bnNp
Z25lZCBoZXJlLiAgKi8KLSMgZGVmaW5lIEZFVENIX1dDKGMsIHVudXNlZCwgZW9mZXJyKSAg
XAotICBkbyB7CQkJCSAgICAgIFwKLSAgICBpZiAoISBsZXhsZWZ0KQkJICAgICAgXAotICAg
ICAgewkJCQkgICAgICBcCi0gICAgICAgIGlmICgoZW9mZXJyKSAhPSAwKQkgICAgICBcCi0g
ICAgICAgICAgZGZhZXJyb3IgKGVvZmVycik7CSAgICAgIFwKLSAgICAgICAgZWxzZQkJCSAg
ICAgIFwKLSAgICAgICAgICByZXR1cm4gbGFzdHRvayA9IEVORDsJICAgICAgXAotICAgICAg
fQkJCQkgICAgICBcCi0gICAgKGMpID0gdG9fdWNoYXIgKCpsZXhwdHIrKyk7ICAgICAgIFwK
LSAgICAtLWxleGxlZnQ7CQkJICAgICAgXAotICB9IHdoaWxlICgwKQotCi0jZW5kaWYgLyog
TUJTX1NVUFBPUlQgKi8KLQogI2lmbmRlZiBNSU4KICMgZGVmaW5lIE1JTihhLGIpICgoYSkg
PCAoYikgPyAoYSkgOiAoYikpCiAjZW5kaWYKQEAgLTE3MjgsNyArMTY3Myw2IEBAIGFkZHRv
ayAodG9rZW4gdCkKICAgICB9CiB9CiAKLSNpZiBNQlNfU1VQUE9SVAogLyogV2UgdHJlYXQg
YSBtdWx0aWJ5dGUgY2hhcmFjdGVyIGFzIGEgc2luZ2xlIGF0b20sIHNvIHRoYXQgREZBCiAg
ICBjYW4gdHJlYXQgYSBtdWx0aWJ5dGUgY2hhcmFjdGVyIGFzIGEgc2luZ2xlIGV4cHJlc3Np
b24uCiAKQEAgLTE3NjAsMTcgKzE3MDQsMTAgQEAgYWRkdG9rX3djICh3aW50X3Qgd2MpCiAg
ICAgICBhZGR0b2sgKENBVCk7CiAgICAgfQogfQotI2Vsc2UKLXN0YXRpYyB2b2lkCi1hZGR0
b2tfd2MgKHdpbnRfdCB3YykKLXsKLX0KLSNlbmRpZgogCiBzdGF0aWMgdm9pZAogYWRkX3V0
ZjhfYW55Y2hhciAodm9pZCkKIHsKLSNpZiBNQlNfU1VQUE9SVAogICBzdGF0aWMgY29uc3Qg
Y2hhcmNsYXNzIHV0ZjhfY2xhc3Nlc1s1XSA9IHsKICAgICB7MCwgMCwgMCwgMCwgfjAsIH4w
LCAwLCAwfSwJCS8qIDgwLWJmOiBub24tbGVhZGluZyBieXRlcyAqLwogICAgIHt+MCwgfjAs
IH4wLCB+MCwgMCwgMCwgMCwgMH0sICAgICAgIC8qIDAwLTdmOiAxLWJ5dGUgc2VxdWVuY2Ug
Ki8KQEAgLTE4MTUsNyArMTc1Miw2IEBAIGFkZF91dGY4X2FueWNoYXIgKHZvaWQpCiAgICAg
ICBhZGR0b2sgKENBVCk7CiAgICAgICBhZGR0b2sgKE9SKTsKICAgICB9Ci0jZW5kaWYKIH0K
IAogLyogVGhlIGdyYW1tYXIgdW5kZXJzdG9vZCBieSB0aGUgcGFyc2VyIGlzIGFzIGZvbGxv
d3MuCkBAIC0xODU2LDcgKzE3OTIsNyBAQCBhZGRfdXRmOF9hbnljaGFyICh2b2lkKQogc3Rh
dGljIHZvaWQKIGF0b20gKHZvaWQpCiB7Ci0gIGlmIChNQlNfU1VQUE9SVCAmJiB0b2sgPT0g
V0NIQVIpCisgIGlmICh0b2sgPT0gV0NIQVIpCiAgICAgewogICAgICAgYWRkdG9rX3djICh3
Y3Rvayk7CiAKQEAgLTE4NzMsNyArMTgwOSw3IEBAIGF0b20gKHZvaWQpCiAKICAgICAgIHRv
ayA9IGxleCAoKTsKICAgICB9Ci0gIGVsc2UgaWYgKE1CU19TVVBQT1JUICYmIHRvayA9PSBB
TllDSEFSICYmIHVzaW5nX3V0ZjggKCkpCisgIGVsc2UgaWYgKHRvayA9PSBBTllDSEFSICYm
IHVzaW5nX3V0ZjggKCkpCiAgICAgewogICAgICAgLyogRm9yIFVURi04IGV4cGFuZCB0aGUg
cGVyaW9kIHRvIGEgc2VyaWVzIG9mIENTRVRzIHRoYXQgZGVmaW5lIGEgdmFsaWQKICAgICAg
ICAgIFVURi04IGNoYXJhY3Rlci4gIFRoaXMgYXZvaWRzIHVzaW5nIHRoZSBzbG93IG11bHRp
Ynl0ZSBwYXRoLiAgSSdtCkBAIC0xODg3LDkgKzE4MjMsNyBAQCBhdG9tICh2b2lkKQogICAg
IH0KICAgZWxzZSBpZiAoKHRvayA+PSAwICYmIHRvayA8IE5PVENIQVIpIHx8IHRvayA+PSBD
U0VUIHx8IHRvayA9PSBCQUNLUkVGCiAgICAgICAgICAgIHx8IHRvayA9PSBCRUdMSU5FIHx8
IHRvayA9PSBFTkRMSU5FIHx8IHRvayA9PSBCRUdXT1JECi0jaWYgTUJTX1NVUFBPUlQKICAg
ICAgICAgICAgfHwgdG9rID09IEFOWUNIQVIgfHwgdG9rID09IE1CQ1NFVAotI2VuZGlmIC8q
IE1CU19TVVBQT1JUICovCiAgICAgICAgICAgIHx8IHRvayA9PSBFTkRXT1JEIHx8IHRvayA9
PSBMSU1XT1JEIHx8IHRvayA9PSBOT1RMSU1XT1JEKQogICAgIHsKICAgICAgIGFkZHRvayAo
dG9rKTsKQEAgLTIyMjQsMTAgKzIxNTgsOCBAQCBlcHNjbG9zdXJlIChwb3NpdGlvbl9zZXQg
KiBzLCBzdHJ1Y3QgZGZhIGNvbnN0ICpkKQogICBmb3IgKGkgPSAwOyBpIDwgcy0+bmVsZW07
ICsraSkKICAgICBpZiAoZC0+dG9rZW5zW3MtPmVsZW1zW2ldLmluZGV4XSA+PSBOT1RDSEFS
CiAgICAgICAgICYmIGQtPnRva2Vuc1tzLT5lbGVtc1tpXS5pbmRleF0gIT0gQkFDS1JFRgot
I2lmIE1CU19TVVBQT1JUCiAgICAgICAgICYmIGQtPnRva2Vuc1tzLT5lbGVtc1tpXS5pbmRl
eF0gIT0gQU5ZQ0hBUgogICAgICAgICAmJiBkLT50b2tlbnNbcy0+ZWxlbXNbaV0uaW5kZXhd
ICE9IE1CQ1NFVAotI2VuZGlmCiAgICAgICAgICYmIGQtPnRva2Vuc1tzLT5lbGVtc1tpXS5p
bmRleF0gPCBDU0VUKQogICAgICAgewogICAgICAgICBvbGQgPSBzLT5lbGVtc1tpXTsKQEAg
LTI1NDEsOSArMjQ3Myw3IEBAIGRmYWFuYWx5emUgKHN0cnVjdCBkZmEgKmQsIGludCBzZWFy
Y2hmbGFnKQogICAgICBpdCB3aXRoIGl0cyBlcHNpbG9uIGNsb3N1cmUuICAqLwogICBmb3Ig
KGkgPSAwOyBpIDwgZC0+dGluZGV4OyArK2kpCiAgICAgaWYgKGQtPnRva2Vuc1tpXSA8IE5P
VENIQVIgfHwgZC0+dG9rZW5zW2ldID09IEJBQ0tSRUYKLSNpZiBNQlNfU1VQUE9SVAogICAg
ICAgICB8fCBkLT50b2tlbnNbaV0gPT0gQU5ZQ0hBUiB8fCBkLT50b2tlbnNbaV0gPT0gTUJD
U0VUCi0jZW5kaWYKICAgICAgICAgfHwgZC0+dG9rZW5zW2ldID49IENTRVQpCiAgICAgICB7
CiAjaWZkZWYgREVCVUcKQEAgLTI2NDMsOSArMjU3Myw4IEBAIGRmYXN0YXRlIChzdGF0ZV9u
dW0gcywgc3RydWN0IGRmYSAqZCwgc3RhdGVfbnVtIHRyYW5zW10pCiAgICAgICAgIHNldGJp
dCAoZC0+dG9rZW5zW3Bvcy5pbmRleF0sIG1hdGNoZXMpOwogICAgICAgZWxzZSBpZiAoZC0+
dG9rZW5zW3Bvcy5pbmRleF0gPj0gQ1NFVCkKICAgICAgICAgY29weXNldCAoZC0+Y2hhcmNs
YXNzZXNbZC0+dG9rZW5zW3Bvcy5pbmRleF0gLSBDU0VUXSwgbWF0Y2hlcyk7Ci0gICAgICBl
bHNlIGlmIChNQlNfU1VQUE9SVAotICAgICAgICAgICAgICAgJiYgKGQtPnRva2Vuc1twb3Mu
aW5kZXhdID09IEFOWUNIQVIKLSAgICAgICAgICAgICAgICAgICB8fCBkLT50b2tlbnNbcG9z
LmluZGV4XSA9PSBNQkNTRVQpKQorICAgICAgZWxzZSBpZiAoZC0+dG9rZW5zW3Bvcy5pbmRl
eF0gPT0gQU5ZQ0hBUgorICAgICAgICAgICAgICAgfHwgZC0+dG9rZW5zW3Bvcy5pbmRleF0g
PT0gTUJDU0VUKQogICAgICAgICAvKiBNQl9DVVJfTUFYID4gMSAgKi8KICAgICAgICAgewog
ICAgICAgICAgIC8qIEFOWUNIQVIgYW5kIE1CQ1NFVCBtdXN0IG1hdGNoIHdpdGggYSBzaW5n
bGUgY2hhcmFjdGVyLCBzbyB3ZQpAQCAtMjgyMCw3ICsyNzQ5LDcgQEAgZGZhc3RhdGUgKHN0
YXRlX251bSBzLCBzdHJ1Y3QgZGZhICpkLCBzdGF0ZV9udW0gdHJhbnNbXSkKICAgICAgIC8q
IElmIHdlIGFyZSBidWlsZGluZyBhIHNlYXJjaGluZyBtYXRjaGVyLCB0aHJvdyBpbiB0aGUg
cG9zaXRpb25zCiAgICAgICAgICBvZiBzdGF0ZSAwIGFzIHdlbGwuICAqLwogICAgICAgaWYg
KGQtPnNlYXJjaGZsYWcKLSAgICAgICAgICAmJiAoIU1CU19TVVBQT1JUIHx8ICghZC0+bXVs
dGlieXRlIHx8ICFuZXh0X2lzbnRfMXN0X2J5dGUpKSkKKyAgICAgICAgICAmJiAoTUJfQ1VS
X01BWCA9PSAxIHx8ICFuZXh0X2lzbnRfMXN0X2J5dGUpKQogICAgICAgICBmb3IgKGogPSAw
OyBqIDwgZC0+c3RhdGVzWzBdLmVsZW1zLm5lbGVtOyArK2opCiAgICAgICAgICAgaW5zZXJ0
IChkLT5zdGF0ZXNbMF0uZWxlbXMuZWxlbXNbal0sICZmb2xsb3dzKTsKIApAQCAtMzU0MSw3
ICszNDcwLDcgQEAgZGZhb3B0aW1pemUgKHN0cnVjdCBkZmEgKmQpCiB7CiAgIHNpemVfdCBp
OwogCi0gIGlmICghTUJTX1NVUFBPUlQgfHwgIXVzaW5nX3V0ZjggKCkpCisgIGlmICghdXNp
bmdfdXRmOCAoKSkKICAgICByZXR1cm47CiAKICAgZm9yIChpID0gMDsgaSA8IGQtPnRpbmRl
eDsgKytpKQpkaWZmIC0tZ2l0IGEvZGZhLmggYi9kZmEuaAppbmRleCAxNTE0MjM2Li42MGFm
ZjExIDEwMDY0NAotLS0gYS9kZmEuaAorKysgYi9kZmEuaApAQCAtMTksMTEgKzE5LDcgQEAK
IC8qIFdyaXR0ZW4gSnVuZSwgMTk4OCBieSBNaWtlIEhhZXJ0ZWwgKi8KIAogI2luY2x1ZGUg
PHJlZ2V4Lmg+Ci0jaWZkZWYgSEFWRV9TVERCT09MX0gKICNpbmNsdWRlIDxzdGRib29sLmg+
Ci0jZWxzZQotI2luY2x1ZGUgIm1pc3NpbmdfZC9nYXdrYm9vbC5oIgotI2VuZGlmIC8qIEhB
VkVfU1REQk9PTF9IICovCiAjaW5jbHVkZSA8c3RkZGVmLmg+CiAKIC8qIEVsZW1lbnQgb2Yg
YSBsaXN0IG9mIHN0cmluZ3MsIGF0IGxlYXN0IG9uZSBvZiB3aGljaCBpcyBrbm93biB0bwpk
aWZmIC0tZ2l0IGEvbWJzdXBwb3J0LmggYi9tYnN1cHBvcnQuaAppbmRleCA5YTYyNDg2Li4x
OThhMGYzIDEwMDY0NAotLS0gYS9tYnN1cHBvcnQuaAorKysgYi9tYnN1cHBvcnQuaApAQCAt
NjYsNiArNjYsMTUgQEAKICNlbmRpZgogCiAjaWYgISBNQlNfU1VQUE9SVAorCisvKiBJbmNs
dWRlIHdjaGFyLmggYW5kIHdjdHlwZS5oIHNvIHRoZWlyIGRlZmluaXRpb25zIGNhbiBiZSBv
dmVycmlkZGVuLiAgKi8KKworIyBpbmNsdWRlIDx3Y2hhci5oPgorIyBpbmNsdWRlIDx3Y3R5
cGUuaD4KKworLyogT3ZlcnJpZGUgdGhlIGRlZmluaXRpb25zIG9mIHdjaGFyLmggYW5kIHdj
dHlwZS5oIHRvIHByb3ZpZGUgYQorICAgdW5pYnl0ZSBzdWJzdGl0dXRlIHRoYXQgaXMgZ29v
ZCBlbm91Z2ggZm9yIEdhd2suICAqLworCiAjIHVuZGVmIE1CX0NVUl9NQVgKICMgZGVmaW5l
IE1CX0NVUl9NQVggMQogCkBAIC03OCwxNSArODcsMjQgQEAKICNkZWZpbmUgd2N0eXBlX3QJ
aW50CiAjZGVmaW5lIHdpbnRfdAkJaW50CiAjZGVmaW5lIG1ic3RhdGVfdAlpbnQKKyN1bmRl
ZiBXRU9GCiAjZGVmaW5lIFdFT0YJCUVPRgorI3VuZGVmIHRvd3VwcGVyCiAjZGVmaW5lIHRv
d3VwcGVyCXRvdXBwZXIKKyN1bmRlZiB0b3dsb3dlcgogI2RlZmluZSB0b3dsb3dlcgl0b2xv
d2VyCiAjaWZuZGVmIF9fREpHUFBfXwotI2RlZmluZSBidG93Yyh4KQkoKGludCl4KQorI3Vu
ZGVmIGJ0b3djCisjZGVmaW5lIGJ0b3djKHgpCSgoaW50KSAoeCkpCiAjZW5kaWYKKyN1bmRl
ZiBpc3dhbG51bQogI2RlZmluZSBpc3dhbG51bQlpc2FsbnVtCisjdW5kZWYgaXN3YWxwaGEK
ICNkZWZpbmUgaXN3YWxwaGEJaXNhbHBoYQorI3VuZGVmIGlzd3VwcGVyCiAjZGVmaW5lIGlz
d3VwcGVyCWlzdXBwZXIKKyN1bmRlZiBpc3dsb3dlcgorI2RlZmluZSBpc3dsb3dlcglpc2xv
d2VyCiAjaWYgZGVmaW5lZChaT1NfVVNTKQogI3VuZGVmIHRvd3VwcGVyCiAjdW5kZWYgdG93
bG93ZXIKQEAgLTk0LDEyICsxMTIsNDMgQEAKICN1bmRlZiBpc3dhbG51bQogI3VuZGVmIGlz
d2FscGhhCiAjdW5kZWYgaXN3dXBwZXIKLSN1bmRlZiB3Y3R5cGUKLSN1bmRlZiBpc3djdHlw
ZQotI3VuZGVmIHdjc2NvbGwKICNlbmRpZgogCisjdW5kZWYgbWJydG93YworI2RlZmluZSBt
YnJ0b3djKHB3YywgcywgbiwgcHMpICgoc2l6ZV90KSAtMSkKKyN1bmRlZiB3Y3J0b21iCisj
ZGVmaW5lIHdjcnRvbWIocywgd2MsIHBzKSAoKHNpemVfdCkgLTEpCisKKyN1bmRlZiB3Y3R5
cGUKKyNkZWZpbmUgd2N0eXBlIGdhd2tfd2N0eXBlCiBleHRlcm4gd2N0eXBlX3Qgd2N0eXBl
KGNvbnN0IGNoYXIgKm5hbWUpOworI3VuZGVmIGlzd2N0eXBlCisjZGVmaW5lIGlzd2N0eXBl
IGdhd2tfaXN3Y3R5cGUKIGV4dGVybiBpbnQgaXN3Y3R5cGUod2ludF90IHdjLCB3Y3R5cGVf
dCBkZXNjKTsKKyN1bmRlZiB3Y3Njb2xsCisjZGVmaW5lIHdjc2NvbGwgZ2F3a193Y3Njb2xs
CiBleHRlcm4gaW50IHdjc2NvbGwoY29uc3Qgd2NoYXJfdCAqd3MxLCBjb25zdCB3Y2hhcl90
ICp3czIpOwogI2VuZGlmCisKKyNpZmRlZiBMSUJDX0lTX0JPUktFRAorIyBpbmNsdWRlIDx3
Y2hhci5oPgorZXh0ZXJuIGludCBnYXdrX21iX2N1cl9tYXg7CisjIHVuZGVmIE1CX0NVUl9N
QVgKKyMgdW5kZWYgbWJydG93YworIyBkZWZpbmUgTUJfQ1VSX01BWCBnYXdrX21iX2N1cl9t
YXgKKyMgZGVmaW5lIG1icnRvd2MoYSwgYiwgYywgZCkgKChzaXplX3QpIC0xKQorI2VuZGlm
CisKKyNpbmNsdWRlIDxsb2NhbGUuaD4KKyNpZm5kZWYgTENfQUxMCisjIGRlZmluZSBzZXRs
b2NhbGUoY2F0ZWdvcnksIGxvY2FsZSkgTlVMTAorI2VuZGlmCisKKyNpbmNsdWRlIDxhc3Nl
cnQuaD4KKyNpZm5kZWYgc3RhdGljX2Fzc2VydAorIyBkZWZpbmUgc3RhdGljX2Fzc2VydChj
b25kLCBkaWFnbm9zdGljKSBcCisgICAgZXh0ZXJuIGludCAoKmZvbyAodm9pZCkpIFshIXNp
emVvZiAoc3RydWN0IHsgaW50IGZvbzogKGNvbmQpID8gOCA6IC0xOyB9KV0KKyNlbmRpZgor
CisvKiBNYWtlIHN1cmUgUkVfRFVQX01BWCBnZXRzIHRoZSBjb3JyZWN0IHZhbHVlLiAgKi8K
KyNkZWZpbmUgX1JFR0VYX0lOQ0xVREVfTElNSVRTX0gKZGlmZiAtLWdpdCBhL21pc3Npbmdf
ZC9DaGFuZ2VMb2cgYi9taXNzaW5nX2QvQ2hhbmdlTG9nCmluZGV4IDcwZmJkZTYuLjQ2ODZj
NzQgMTAwNjQ0Ci0tLSBhL21pc3NpbmdfZC9DaGFuZ2VMb2cKKysrIGIvbWlzc2luZ19kL0No
YW5nZUxvZwpAQCAtMSwzICsxLDcgQEAKKzIwMTQtMDUtMDEgIFBhdWwgRWdnZXJ0ICA8ZWdn
ZXJ0QHBlbmd1aW4uY3MudWNsYS5lZHU+CisKKwkqIHdjbWlzYy5jOiBSZW1vdmUgbm93LXVu
bmVjZXNzYXJ5IGlmZGVmcy4KKwogMjAxNC0wNC0wOCAgICAgICAgIEFybm9sZCBELiBSb2Ji
aW5zICAgICA8YXJub2xkQHNrZWV2ZS5jb20+CiAKIAkqIDQuMS4xOiBSZWxlYXNlIHRhciBi
YWxsIG1hZGUuCmRpZmYgLS1naXQgYS9taXNzaW5nX2Qvd2NtaXNjLmMgYi9taXNzaW5nX2Qv
d2NtaXNjLmMKaW5kZXggZDJiN2FhMC4uODllMjRjOSAxMDA2NDQKLS0tIGEvbWlzc2luZ19k
L3djbWlzYy5jCisrKyBiL21pc3NpbmdfZC93Y21pc2MuYwpAQCAtMTYsNyArMTYsNiBAQAog
ICAgRm91bmRhdGlvbiwgSW5jLiwKICAgIDUxIEZyYW5rbGluIFN0cmVldCAtIEZpZnRoIEZs
b29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EgKi8KIAotI2lmICFkZWZpbmVkKEhB
VkVfV0NUWVBFKSB8fCAhZGVmaW5lZChIQVZFX0lTV0NUWVBFKQogc3RhdGljIGNvbnN0IGNo
YXIgKmNsYXNzZXNbXSA9IHsKIAkiPGR1bW15PiIsCiAJImFsbnVtIiwKQEAgLTMzLDE2ICsz
MiwxMiBAQCBzdGF0aWMgY29uc3QgY2hhciAqY2xhc3Nlc1tdID0gewogCSJ4ZGlnaXQiLAog
CU5VTEwKIH07Ci0jZW5kaWYKIAotI2lmbmRlZiBIQVZFX0lTV0NUWVBFCiBzdGF0aWMgaW50
IGlzX2JsYW5rIChpbnQgYykKIHsKICAgIHJldHVybiAoYyA9PSAnICcgfHwgYyA9PSAnXHQn
KTsKIH0KLSNlbmRpZgogCi0jaWZuZGVmIEhBVkVfV0NUWVBFCiB3Y3R5cGVfdCB3Y3R5cGUo
Y29uc3QgY2hhciAqbmFtZSkKIHsKIAlpbnQgaTsKQEAgLTUzLDkgKzQ4LDcgQEAgd2N0eXBl
X3Qgd2N0eXBlKGNvbnN0IGNoYXIgKm5hbWUpCiAKIAlyZXR1cm4gMDsKIH0KLSNlbmRpZgog
Ci0jaWZuZGVmIEhBVkVfSVNXQ1RZUEUKIGludCBpc3djdHlwZSh3aW50X3Qgd2MsIHdjdHlw
ZV90IGRlc2MpCiB7CiAJaW50IGogPSBzaXplb2YoY2xhc3NlcykgLyBzaXplb2YoY2xhc3Nl
c1swXSk7CkBAIC03OSw5ICs3Miw3IEBAIGludCBpc3djdHlwZSh3aW50X3Qgd2MsIHdjdHlw
ZV90IGRlc2MpCiAJZGVmYXVsdDoJcmV0dXJuIDA7CiAJfQogfQotI2VuZGlmCiAKLSNpZm5k
ZWYgSEFWRV9XQ1NDT0xMCiBpbnQgd2NzY29sbChjb25zdCB3Y2hhcl90ICp3czEsIGNvbnN0
IHdjaGFyX3QgKndzMikKIHsKIAlzaXplX3QgaTsKQEAgLTk1LDYgKzg2LDUgQEAgaW50IHdj
c2NvbGwoY29uc3Qgd2NoYXJfdCAqd3MxLCBjb25zdCB3Y2hhcl90ICp3czIpCiAKIAlyZXR1
cm4gKHdzMVtpXSAtIHdzMltpXSk7CiB9Ci0jZW5kaWYKIAogLyp3Y21pc2MuYyovCmRpZmYg
LS1naXQgYS9yZWdleC5oIGIvcmVnZXguaAppbmRleCA1NjYwMjk2Li40MDBiNDA3IDEwMDY0
NAotLS0gYS9yZWdleC5oCisrKyBiL3JlZ2V4LmgKQEAgLTI2NCwxNCArMjY0LDI0IEBAIGV4
dGVybiByZWdfc3ludGF4X3QgcmVfc3ludGF4X29wdGlvbnM7CiAgICB8IFJFX05PX0JLX1BB
UkVOUyAgICAgICAgfCBSRV9OT19CS19SRUZTCQkJCVwKICAgIHwgUkVfTk9fQktfVkJBUgkg
ICAgfCBSRV9VTk1BVENIRURfUklHSFRfUEFSRU5fT1JEKQogLyogW1tbZW5kIHN5bnRheGVz
XV1dICovCi0MCi0vKiBNYXhpbXVtIG51bWJlciBvZiBkdXBsaWNhdGVzIGFuIGludGVydmFs
IGNhbiBhbGxvdy4gIFNvbWUgc3lzdGVtcwotICAgKGVycm9uZW91c2x5KSBkZWZpbmUgdGhp
cyBpbiBvdGhlciBoZWFkZXIgZmlsZXMsIGJ1dCB3ZSB3YW50IG91cgorCisvKiBNYXhpbXVt
IG51bWJlciBvZiBkdXBsaWNhdGVzIGFuIGludGVydmFsIGNhbiBhbGxvdy4gIFBPU0lYLWNv
bmZvcm1pbmcKKyAgIHN5c3RlbXMgbWlnaHQgZGVmaW5lIHRoaXMgaW4gPGxpbWl0cy5oPiwg
YnV0IHdlIHdhbnQgb3VyCiAgICB2YWx1ZSwgc28gcmVtb3ZlIGFueSBwcmV2aW91cyBkZWZp
bmUuICAqLworIyBpZmRlZiBfUkVHRVhfSU5DTFVERV9MSU1JVFNfSAorIyAgaW5jbHVkZSA8
bGltaXRzLmg+CisjIGVuZGlmCiAjIGlmZGVmIFJFX0RVUF9NQVgKICMgIHVuZGVmIFJFX0RV
UF9NQVgKICMgZW5kaWYKLS8qIElmIHNpemVvZihpbnQpID09IDIsIHRoZW4gKCgxIDw8IDE1
KSAtIDEpIG92ZXJmbG93cy4gICovCisKKy8qIFJFX0RVUF9NQVggaXMgMioqMTUgLSAxIGJl
Y2F1c2UgYW4gZWFybGllciBpbXBsZW1lbnRhdGlvbiBzdG9yZWQKKyAgIHRoZSBjb3VudGVy
IGFzIGEgMi1ieXRlIHNpZ25lZCBpbnRlZ2VyLiAgVGhpcyBpcyBubyBsb25nZXIgdHJ1ZSwg
c28KKyAgIFJFX0RVUF9NQVggY291bGQgYmUgaW5jcmVhc2VkIHRvIChJTlRfTUFYIC8gMTAg
LSAxKSwgb3IgdG8KKyAgICgoU0laRV9NQVggLSA5KSAvIDEwKSBpZiBfUkVHRVhfTEFSR0Vf
T0ZGU0VUUyBpcyBkZWZpbmVkLgorICAgSG93ZXZlciwgdGhlcmUgd291bGQgYmUgYSBodWdl
IHBlcmZvcm1hbmNlIHByb2JsZW0gaWYgc29tZW9uZQorICAgYWN0dWFsbHkgdXNlZCBhIHBh
dHRlcm4gbGlrZSBhXHsyMTQ3NDgzNjNcfSwgc28gUkVfRFVQX01BWCByZXRhaW5zCisgICBp
dHMgaGlzdG9yaWNhbCB2YWx1ZS4gICovCiAjIGRlZmluZSBSRV9EVVBfTUFYICgweDdmZmYp
CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvcmVnZXhfaW50ZXJuYWwuaCBiL3JlZ2V4X2ludGVy
bmFsLmgKaW5kZXggYzg5ODFhMC4uNzU4Y2Y0NyAxMDA2NDQKLS0tIGEvcmVnZXhfaW50ZXJu
YWwuaAorKysgYi9yZWdleF9pbnRlcm5hbC5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVk
ZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAKLSNpbmNsdWRlICJtYnN1cHBv
cnQuaCIgLyogZ2F3ayAqLwotCiAjaWYgZGVmaW5lZCBIQVZFX0xBTkdJTkZPX0ggfHwgZGVm
aW5lZCBIQVZFX0xBTkdJTkZPX0NPREVTRVQgfHwgZGVmaW5lZCBfTElCQwogIyBpbmNsdWRl
IDxsYW5naW5mby5oPgogI2VuZGlmCi0tIAoxLjkuMAoK
--------------030302090000050300070904--




Information forwarded to bug-grep@HIDDEN:
bug#17381; Package grep. Full text available.

Message received at 17381 <at> debbugs.gnu.org:


Received: (at 17381) by debbugs.gnu.org; 1 May 2014 18:29:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 01 14:29:51 2014
Received: from localhost ([127.0.0.1]:47661 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Wfvjz-0005gs-97
	for submit <at> debbugs.gnu.org; Thu, 01 May 2014 14:29:51 -0400
Received: from mxout1.netvision.net.il ([194.90.9.20]:35191)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <arnold@HIDDEN>) id 1Wfvjw-0005gi-D2
 for 17381 <at> debbugs.gnu.org; Thu, 01 May 2014 14:29:49 -0400
MIME-version: 1.0
Content-transfer-encoding: 7BIT
Content-type: text/plain; CHARSET=US-ASCII
Received: from skeeve.com ([89.139.11.172]) by mxout1.netvision.net.il
 (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov
 17 2011)) with ESMTPS id <0N4W00GBMRDLX270@HIDDEN> for
 17381 <at> debbugs.gnu.org; Thu, 01 May 2014 21:29:46 +0300 (IDT)
Received: from skeeve.com (skeeve.com [127.0.0.1])
 by skeeve.com (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id s41ITiaG004129; 
 Thu, 01 May 2014 21:29:44 +0300
Received: (from arnold@localhost)	by skeeve.com (8.14.4/8.14.4/Submit)
 id s41IThl8004128; Thu, 01 May 2014 21:29:43 +0300
From: Aharon Robbins <arnold@HIDDEN>
Message-id: <201405011829.s41IThl8004128@HIDDEN>
Date: Thu, 01 May 2014 21:29:43 +0300
To: eggert@HIDDEN, arnold@HIDDEN, 17381 <at> debbugs.gnu.org
Subject: Re: bug#17381: _GL_ATTRIBUTE_PURE in dfa.h
References: <201405010619.s416JeNl020893@HIDDEN>
 <5361EAD7.7040507@HIDDEN>
In-reply-to: <5361EAD7.7040507@HIDDEN>
User-Agent: Heirloom mailx 12.5 6/20/10
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 17381
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.0 (/)

Hi Paul.

> > I have to copy the defines for it from dfa.c
> > into dfa.h to make it compile.
>
> It'd be better to move that stuff into custom.h, I expect.  Please see 
> below.

custom.h is for system customization to override things that Autoconf
can't figure out or gets wrong.

> > Are all the new routines in dfa.h needed by code in grep?
>
> Yes, I'm afraid so.  We wouldn't have put them there otherwise.
>
> > Can we try in the future to the gnulib-specific stuff out of the
> > header?
>
> In the long run it'd be better to have the header just work, so that you 
> don't have to copy anything from dfa.c to dfa.h or vice versa, and so 
> that you can just use grep's dfa.c and dfa.h with little or no change.

Requiring gnulib in that header makes it less attractive to other
projects that might want to use dfa as a black box.

Are there such?  I don't know. (I thought I'd heard something about
gettext using dfa but I am unsure if that is true.)

It is certainly making things more painful for me.

Does the GL_PURE stuff have to be on every declaration? Or can it
just be on the body?  What does it even mean, anyway?  Does whatever
optimization it enables *really* make a big difference, or is it just
a micro-optimization?  (Serious questions.)

> I emailed you something along those lines earlier this month; you can 
> find a copy at <http://bugs.gnu.org/17157#61>.  If you'd like me to come 
> up with a revised patch, which merges this into the latest gawk master, 
> I can do that.

Yes, I know. I am unsure if your patch, which totally eliminates the
ability to compile gawk on systems without multibyte support, is the
direction in which I wish to go.  It may be, but I haven't done the
research yet to be sure that I won't break any of the systems I support.

I just looked at the patch again.  It really doesn't do the trick;
there are lots of places where MBS_SUPPORT is checked in the gawk code
and pulling mbsupport.h out of awk.h is likely to break things.

Thanks,

Arnold




Information forwarded to bug-grep@HIDDEN:
bug#17381; Package grep. Full text available.

Message received at 17381 <at> debbugs.gnu.org:


Received: (at 17381) by debbugs.gnu.org; 1 May 2014 06:34:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 01 02:34:18 2014
Received: from localhost ([127.0.0.1]:46994 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1WfkZV-0000dC-Bb
	for submit <at> debbugs.gnu.org; Thu, 01 May 2014 02:34:17 -0400
Received: from smtp.cs.ucla.edu ([131.179.128.62]:42118)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <eggert@HIDDEN>) id 1WfkZO-0000cm-OY
 for 17381 <at> debbugs.gnu.org; Thu, 01 May 2014 02:34:14 -0400
Received: from localhost (localhost.localdomain [127.0.0.1])
 by smtp.cs.ucla.edu (Postfix) with ESMTP id 930F939E8011;
 Wed, 30 Apr 2014 23:34:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu
Received: from smtp.cs.ucla.edu ([127.0.0.1])
 by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Ve4af9XVjfPk; Wed, 30 Apr 2014 23:34:00 -0700 (PDT)
Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net
 [108.0.233.62])
 by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 46B7F39E801B;
 Wed, 30 Apr 2014 23:34:00 -0700 (PDT)
Message-ID: <5361EAD7.7040507@HIDDEN>
Date: Wed, 30 Apr 2014 23:33:59 -0700
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
 rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: arnold@HIDDEN, 17381 <at> debbugs.gnu.org
Subject: Re: bug#17381: _GL_ATTRIBUTE_PURE in dfa.h
References: <201405010619.s416JeNl020893@HIDDEN>
In-Reply-To: <201405010619.s416JeNl020893@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -3.0 (---)
X-Debbugs-Envelope-To: 17381
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.0 (---)

arnold@HIDDEN wrote:
> I have to copy the defines for it from dfa.c
> into dfa.h to make it compile.

It'd be better to move that stuff into custom.h, I expect.  Please see 
below.

> Are all the new routines in dfa.h needed by code in grep?

Yes, I'm afraid so.  We wouldn't have put them there otherwise.

> Can we try in the future to the gnulib-specific stuff out of the
> header?

In the long run it'd be better to have the header just work, so that you 
don't have to copy anything from dfa.c to dfa.h or vice versa, and so 
that you can just use grep's dfa.c and dfa.h with little or no change.

I emailed you something along those lines earlier this month; you can 
find a copy at <http://bugs.gnu.org/17157#61>.  If you'd like me to come 
up with a revised patch, which merges this into the latest gawk master, 
I can do that.




Information forwarded to bug-grep@HIDDEN:
bug#17381; Package grep. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 1 May 2014 06:20:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 01 02:20:12 2014
Received: from localhost ([127.0.0.1]:46985 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1WfkLr-0000AH-K0
	for submit <at> debbugs.gnu.org; Thu, 01 May 2014 02:20:12 -0400
Received: from eggs.gnu.org ([208.118.235.92]:36784)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <arnold@HIDDEN>) id 1WfkLq-0000A0-4V
 for submit <at> debbugs.gnu.org; Thu, 01 May 2014 02:20:10 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <arnold@HIDDEN>) id 1WfkLb-0002EY-LQ
 for submit <at> debbugs.gnu.org; Thu, 01 May 2014 02:20:04 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:47697)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <arnold@HIDDEN>) id 1WfkLb-0002ES-IE
 for submit <at> debbugs.gnu.org; Thu, 01 May 2014 02:19:55 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:38492)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <arnold@HIDDEN>) id 1WfkLV-00028X-CZ
 for bug-grep@HIDDEN; Thu, 01 May 2014 02:19:55 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <arnold@HIDDEN>) id 1WfkLP-0002DW-8I
 for bug-grep@HIDDEN; Thu, 01 May 2014 02:19:49 -0400
Received: from frenzy.freefriends.org ([66.54.153.139]:33213
 helo=freefriends.org) by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <arnold@HIDDEN>) id 1WfkLP-0002DQ-1f
 for bug-grep@HIDDEN; Thu, 01 May 2014 02:19:43 -0400
X-Envelope-From: arnold@HIDDEN
X-Envelope-To: <bug-grep@HIDDEN>
Received: from freefriends.org (localhost [127.0.0.1])
 by freefriends.org (8.14.8/8.14.8) with ESMTP id s416JfDj020894
 for <bug-grep@HIDDEN>; Thu, 1 May 2014 00:19:41 -0600
Received: (from arnold@localhost)
 by freefriends.org (8.14.8/8.14.8/submit) id s416JeNl020893
 for bug-grep@HIDDEN; Thu, 1 May 2014 06:19:40 GMT
From: arnold@HIDDEN
Message-Id: <201405010619.s416JeNl020893@HIDDEN>
X-Authentication-Warning: frenzy.freefriends.org: arnold set sender to
 arnold@HIDDEN using -f
Date: Thu, 01 May 2014 00:19:40 -0600
To: bug-grep@HIDDEN
Subject: _GL_ATTRIBUTE_PURE in dfa.h
User-Agent: Heirloom mailx 12.4 7/29/08
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

This breaks the gawk build. I have to copy the defines for it from dfa.c
into dfa.h to make it compile.

I haven't looked hard. Are all the new routines in dfa.h needed by
code in grep? If not, could they be made static in dfa.c?

Can we try in the future to the gnulib-specific stuff out of the
header?

Thanks,

Arnold




Acknowledgement sent to arnold@HIDDEN:
New bug report received and forwarded. Copy sent to bug-grep@HIDDEN. Full text available.
Report forwarded to bug-grep@HIDDEN:
bug#17381; Package grep. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.