From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22785 invoked by alias); 25 Apr 2003 10:07:09 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 22757 invoked by uid 71); 25 Apr 2003 10:07:06 -0000 Resent-Date: 25 Apr 2003 10:07:06 -0000 Resent-Message-ID: <20030425100706.22756.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, alexander@tunicate.org Received: (qmail 21806 invoked by uid 48); 25 Apr 2003 10:02:29 -0000 Message-Id: <20030425100229.21805.qmail@sources.redhat.com> Date: Fri, 25 Apr 2003 10:07:00 -0000 From: alexander@tunicate.org Reply-To: alexander@tunicate.org To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c/10493: error in dwarf2out_finish X-SW-Source: 2003-04/txt/msg01084.txt.bz2 List-Id: >Number: 10493 >Category: c >Synopsis: error in dwarf2out_finish >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Fri Apr 25 10:06:01 UTC 2003 >Closed-Date: >Last-Modified: >Originator: alexander@tunicate.org >Release: gcc-3.2 >Organization: >Environment: gnu-linux i686 (Debian unstable) >Description: Got this error trying to compile the Swarm package. gcc -DHAVE_CONFIG_H -I. -I/home/alexander/downloads/swarm-2002-05-14/libobjc -I. -I./objc -I/home/alexander/downloads/swarm-2002-05-14/libobjc/objc -I/home/alexander/downloads/swarm-2002-05-14/libobjc -DBUILDING_LIBOBJC -Wall -Werror -g -O2 -c mframe.m -MT mframe.lo -MD -MP -MF .deps/mframe.TPlo -fPIC -DPIC -o .libs/mframe.lo objc/mframe.h:428: Internal compiler error in dwarf2out_finish, at dwarf2out.c:12193 Please submit a full bug report, with preprocessed source if appropriate. >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: text/x-chdr; name="mframe.h" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="mframe.h" LyoqKioqKioqKioqKioqKioqIFdBUk5JTkcgKioqKioqKioqKioqKioqKgoqICBETyBOT1QgRURJ VCBUSElTIEZJTEUgRElSRUNUTFkgLSBJVCBJUyAqCiogIEdFTkVSQVRFRCBBVVRPTUFUSUNBTExZ IEJZIFRIRSBDT05GSUcgICoKKiAgUFJPQ0VTUyBJTiBUSEUgJ21mcmFtZScgU1VCRElSRUNUT1JZ LiAgKgoqKioqKioqKioqKioqKioqKiogV0FSTklORyAqKioqKioqKioqKioqKiovCi8qIEdlbmVy YWwgcHVycG9zZSBkZWZpbml0aW9ucyBmb3IgdGhlIEdOVSBPYmplY3RpdmUtQyBMaWJyYXJ5Lgog ICBDb3B5cmlnaHQgKEMpIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCgogICBXcml0dGVuIGJ5OiAgQW5kcmV3IEthY2hpdGVzIE1jQ2FsbHVtIDxt Y2NhbGx1bUBnbnUuYWkubWl0LmVkdT4KICAgQ3JlYXRlZDogTWF5IDE5OTMKCiAgIFRoaXMgZmls ZSBpcyBwYXJ0IG9mIHRoZSBHTlVzdGVwIEJhc2UgTGlicmFyeS4KCiAgIFRoaXMgbGlicmFyeSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAgbW9kaWZ5 IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKICAg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyCiAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KICAgCiAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogICBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogICBMaWJy YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KCiAgIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj CiAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhl IEZyZWUKICAgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlk Z2UsIE1BIDAyMTM5LCBVU0EuCiovIAoKI2lmbmRlZiBfX3ByZWZhY2VfaF9PQkpFQ1RTX0lOQ0xV REUKI2RlZmluZSBfX3ByZWZhY2VfaF9PQkpFQ1RTX0lOQ0xVREUKCiN1bmRlZiBQQUNLQUdFCiN1 bmRlZiBWRVJTSU9OCiNpbmNsdWRlIDxjb25maWcuaD4KI3VuZGVmIFBBQ0tBR0UKI3VuZGVmIFZF UlNJT04KCiNpZiBkZWZpbmVkKF9faHB1eF9fKSAmJiBkZWZpbmVkKEhBVkVfU1lTX1NJR0VWRU5U X0gpCiNpbmNsdWRlIDxzeXMvc2lnZXZlbnQuaD4KI2VuZGlmCgojaW5jbHVkZSA8c3RkYXJnLmg+ CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPiAvKiBtZW1jcHkgKi8KCiNp ZiAwCiNpbmNsdWRlIDxiYXNlL29iamMtZ251Mm5leHQuaD4KI2luY2x1ZGUgPGJhc2UvZmFrZS1t YWluLmg+CiNlbmRpZgoKCnR5cGVkZWYgc3RydWN0ICB7CiAgaW50ICAgICAgICAgICBvZmZzZXQ7 CiAgdW5zaWduZWQgICAgICBzaXplOwogIGNvbnN0IGNoYXIgICAgKnR5cGU7CiNpZm5kZWYgTk9f R05VU1RFUAogIHVuc2lnbmVkICAgICAgYWxpZ247CiAgdW5zaWduZWQgICAgICBxdWFsOwogIEJP T0wgICAgICAgICAgaXNSZWc7CiNlbmRpZgp9IE5TQXJndW1lbnRJbmZvOwoKI2RlZmluZSBOU0NQ YXJhbWV0ZXJBc3NlcnQoeCkgYXNzZXJ0KHgpCgojaWYgKGRlZmluZWQoX19XSU4zMl9fKSB8fCBk ZWZpbmVkKF9XSU4zMikpICYmIDAKI2luY2x1ZGUgPHdpbmRvd3MuaD4KI2RlZmluZSBHTlVTVEVQ X0JBU0VfU09DS0VUX01FU1NBR0UgKFdNX1VTRVIgKyAxKQojZW5kaWYKCiNpZiBOZVhUX3J1bnRp bWUKICNpbmNsdWRlIDxvYmpjL29iamMuaD4KICNpbmNsdWRlIDxvYmpjL29iamMtY2xhc3MuaD4K ICNpbmNsdWRlIDxvYmpjL29iamMtcnVudGltZS5oPgogI2lmbmRlZiBfQ19BVE9NCiAgI2RlZmlu ZSBfQ19BVE9NICclJwogI2VuZGlmCiAjZGVmaW5lIF9GX0NPTlNUICAgIDB4MDEKICNkZWZpbmUg X0ZfSU4gICAgICAgMHgwMQogI2RlZmluZSBfRl9PVVQgICAgICAweDAyCiAjZGVmaW5lIF9GX0lO T1VUICAgIDB4MDMKICNkZWZpbmUgX0ZfQllDT1BZICAgMHgwNAogI2RlZmluZSBfRl9PTkVXQVkg ICAweDA4CiAjZGVmaW5lIF9DX0NPTlNUICAgICdyJwogI2RlZmluZSBfQ19JTiAgICAgICAnbicK ICNkZWZpbmUgX0NfSU5PVVQgICAgJ04nCiAjZGVmaW5lIF9DX09VVCAgICAgICdvJwogI2RlZmlu ZSBfQ19CWUNPUFkgICAnTycKICNkZWZpbmUgX0NfT05FV0FZICAgJ1YnCiNlbHNlCQkJCS8qIEdO VSBPYmplY3RpdmUgQyBSdW50aW1lICovCiAjaW5jbHVkZSA8b2JqYy9vYmpjLmg+CiAjaW5jbHVk ZSA8b2JqYy9vYmpjLWFwaS5oPgogI2luY2x1ZGUgPG9iamMvZW5jb2RpbmcuaD4KICNpbmNsdWRl IDxvYmpjL3NhcnJheS5oPgogLyogI2luY2x1ZGUgPG9iamMvb2JqYy1saXN0Lmg+ICovCiNlbmRp ZgoKI2lmbmRlZiBfX1dJTjMyX18KI2luY2x1ZGUgPHN5cy9wYXJhbS5oPiAvKiBIYWNrIHRvIGdl dCByaWQgb2Ygd2FybmluZyBpbiBHTlUgbGliYyAyLjAuMy4gKi8KI2VuZGlmCgojaWYgMAojaW5j bHVkZSA8Rm91bmRhdGlvbi9OU09iamVjdC5oPgojaW5jbHVkZSA8Rm91bmRhdGlvbi9OU09iakNS dW50aW1lLmg+CiNlbmRpZgoKI2RlZmluZSBPQkpDX01BTExPQyhWQVIsIFRZUEUsIE5VTSkgXAog ICAoKFZBUikgPSAoVFlQRSAqKSBvYmpjX21hbGxvYyAoKHVuc2lnbmVkKShOVU0pKnNpemVvZihU WVBFKSkpIAojZGVmaW5lIE9CSkNfVkFMTE9DKFZBUiwgVFlQRSwgTlVNKSBcCiAgICgoVkFSKSA9 IChUWVBFICopIG9iamNfdmFsbG9jICgodW5zaWduZWQpKE5VTSkqc2l6ZW9mKFRZUEUpKSkgCiNk ZWZpbmUgT0JKQ19BVE9NSUNfTUFMTE9DKFZBUiwgVFlQRSwgTlVNKSBcCiAgICgoVkFSKSA9IChU WVBFICopIG9iamNfYXRvbWljX21hbGxvYyAoKHVuc2lnbmVkKShOVU0pKnNpemVvZihUWVBFKSkp IAojZGVmaW5lIE9CSkNfUkVBTExPQyhWQVIsIFRZUEUsIE5VTSkgXAogICAoKFZBUikgPSAoVFlQ RSAqKSBvYmpjX3JlYWxsb2MgKChWQVIpLCAodW5zaWduZWQpKE5VTSkqc2l6ZW9mKFRZUEUpKSkK I2RlZmluZSBPQkpDX0NBTExPQyhWQVIsIFRZUEUsIE5VTSkgXAogICAoKFZBUikgPSAoVFlQRSAq KSBvYmpjX2NhbGxvYyAoKHVuc2lnbmVkKShOVU0pLCBzaXplb2YoVFlQRSkpKQojZGVmaW5lIE9C SkNfRlJFRShQVFIpIG9iamNfZnJlZSAoUFRSKQoKI2lmbmRlZiBNQVgKI2RlZmluZSBNQVgoYSxi KSBcCiAgICAgICAoe3R5cGVvZihhKSBfTUFYX2EgPSAoYSk7IHR5cGVvZihiKSBfTUFYX2IgPSAo Yik7ICBcCiAgICAgICAgIF9NQVhfYSA+IF9NQVhfYiA/IF9NQVhfYSA6IF9NQVhfYjsgfSkKI2Vu ZGlmCgojaWZuZGVmIE1JTgojZGVmaW5lIE1JTihhLGIpIFwKICAgICAgICh7dHlwZW9mKGEpIF9N SU5fYSA9IChhKTsgdHlwZW9mKGIpIF9NSU5fYiA9IChiKTsgIFwKICAgICAgICAgX01JTl9hIDwg X01JTl9iID8gX01JTl9hIDogX01JTl9iOyB9KQojZW5kaWYKCiNpZm5kZWYgQUJTCiNkZWZpbmUg QUJTKGEpIFwKICAgICAgICh7dHlwZW9mKGEpIF9BQlNfYSA9IChhKTsgXAogICAgICAgICBfQUJT X2EgPCAwID8gLV9BQlNfYSA6IF9BQlNfYTsgfSkKI2VuZGlmCgojaWZuZGVmIFNUUklOR0lGWQoj ZGVmaW5lIFNUUklOR0lGWShzKSBYU1RSSU5HSUZZKHMpCiNkZWZpbmUgWFNUUklOR0lGWShzKSAj cwojZW5kaWYKCiNpZm5kZWYgT0JKQ19TVFJJTkdJRlkKI2RlZmluZSBPQkpDX1NUUklOR0lGWShz KSBPQkpDX1hTVFJJTkdJRlkocykKI2RlZmluZSBPQkpDX1hTVFJJTkdJRlkocykgQCNzCiNlbmRp ZgoKI2lmbmRlZiBQVFIyTE9ORwojZGVmaW5lIFBUUjJMT05HKFApICgoKGNoYXIqKShQKSktKGNo YXIqKTApCiNlbmRpZgojaWZuZGVmIExPTkcyUFRSCiNkZWZpbmUgTE9ORzJQVFIoTCkgKCgoY2hh ciopMCkrKEwpKQojZW5kaWYKCiNpZiBWU1BSSU5URl9SRVRVUk5TX0xFTkdUSCAKI2RlZmluZSBW U1BSSU5URl9MRU5HVEgoVlNQRl9DQUxMKSAoVlNQRl9DQUxMKQojZWxzZQojZGVmaW5lIFZTUFJJ TlRGX0xFTkdUSChWU1BGX0NBTEwpIHN0cmxlbigoVlNQRl9DQUxMKSkKI2VuZGlmIC8qIFZTUFJJ TlRGX1JFVFVSTlNfTEVOR1RIICovCgoKI2VuZGlmIC8qIF9fcHJlZmFjZV9oX09CSkVDVFNfSU5D TFVERSAqLwovKiBJbnRlcmZhY2UgZm9yIGZ1bmN0aW9ucyB0aGF0IGRpc3NlY3QvbWFrZSBtZXRo b2QgY2FsbHMgCiAgIENvcHlyaWdodCAoQykgMTk5NCwgMTk5NiwgMTk5OCBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KICAgCiAgIFdyaXR0ZW4gYnk6ICBBbmRyZXcgS2FjaGl0ZXMgTWND YWxsdW0gPG1jY2FsbHVtQGdudS5haS5taXQuZWR1PgogICBDcmVhdGVkOiBPY3QgMTk5NAogICAK ICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVXN0ZXAgQmFzZSBMaWJyYXJ5LgoKICAgVGhp cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v cgogICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs IFB1YmxpYwogICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIKICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICAKICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAgIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAgIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg R05VCiAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgog ICAKICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg R2VuZXJhbCBQdWJsaWMKICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90 LCB3cml0ZSB0byB0aGUgRnJlZQogICBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFz cyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KICAgKi8gCgojaWZuZGVmIF9fbWZyYW1l X2hfR05VU1RFUF9CQVNFX0lOQ0xVREUKI2RlZmluZSBfX21mcmFtZV9oX0dOVVNURVBfQkFTRV9J TkNMVURFCgojaWYgTmVYVF9ydW50aW1lCnR5cGVkZWYgdW5pb24gewogIGNoYXIgKmFyZ19wdHI7 CiAgY2hhciBhcmdfcmVnc1tzaXplb2YgKGNoYXIqKV07Cn0gKmFyZ2xpc3RfdDsKI2VuZGlmCgov KiBUaGVzZSBmdW5jdGlvbnMgYXJlIHVzZWQgdG8gcHVsbCBhcGFydCBtZXRob2QgY2FsbHMsIGFu ZCBwdXQgdGhlbQogICBiYWNrIHRvZ2V0aGVyIGFnYWluLiAgVGhleSBhcmUgdXNlZnVsIGZvciB0 aGluZ3MgbGlrZSBkaXN0cmlidXRlZAogICBvYmplY3RzLCBhbmQgY3Jvc3MtbGFuZ3VhZ2UgY29t bXVuaWNhdGlvbiBnbHVlIGJldHdlZW4gT2JqZWN0aXZlIEMKICAgYW5kIG90aGVyIGxhbmd1YWdl cy4gKi8KCi8qIHh4eCBDdXJyZW50bHkgdGhlc2UgZnVuY3Rpb24gb25seSB3b3JrIHdpdGggdGhl IEdOVSBPYmplY3RpdmUgQwogICBydW50aW1lLCBub3QgdGhlIE5lWFQgcnVudGltZS4gKi8KCgov KiBFeHRyYWN0IHRoZSBhcmd1bWVudHMgdG8gYSBtZXRob2QgY2FsbCwgYXMgZm91bmQgaW4gQVJH RlJBTUUsCiAgIGFjY29yZGluZyB0byB0eXBlIHN0cmluZyBUWVBFUywgYW5kIGVuY29kZSB0aGVt IGJ5IGNhbGxpbmcgRU5DT0RFUi4KICAgUmV0dXJuIFlFUyBpZiBhbmQgb25seSBpZiB0aGUgbWV0 aG9kIGhhcyBzb21lIHBhc3MtYnktcmVmZXJlbmNlCiAgIGFyZ3VtZW50cy4gKi8KCkJPT0wKbWZy YW1lX2Rpc3NlY3RfY2FsbCAoYXJnbGlzdF90IGFyZ2ZyYW1lLCBjb25zdCBjaGFyICp0eXBlcywK CQkgICAgIHZvaWQgKCplbmNvZGVyKShpbnQsdm9pZCosY29uc3QgY2hhciosaW50KSk7CkJPT0wK bWZyYW1lX2Rpc3NlY3RfY2FsbF9vcHRzIChhcmdsaXN0X3QgYXJnZnJhbWUsIGNvbnN0IGNoYXIg KnR5cGVzLAoJCSAgICAgdm9pZCAoKmVuY29kZXIpKGludCx2b2lkKixjb25zdCBjaGFyKixpbnQp LAoJCQlCT09MIHBhc3NfcG9pbnRlcnMpOwoKLyogRGVjb2RlIHRoZSBhcmd1bWVudHMgdG8gYSBt ZXRob2QgY2FsbCBieSBjYWxsaW5nIERFQ09ERVIsIGtub3dpbmcKICAgd2hhdCB0byBkZWNvZGUg YnkgbG9va2luZyBhdCB0eXBlIHN0cmluZyBFTkNPREVEX1RZUEVTLiAgQnVpbGQgYW4KICAgYXJn ZnJhbWUgb2YgdHlwZSBhcmdsaXN0X3QsIGFuZCBpbnZva2UgdGhlIG1ldGhvZC4gIFRoZW4gZW5j b2RlIHRoZQogICByZXR1cm4gdmFsdWUgYW5kIHRoZSBwYXNzLWJ5LXJlZmVyZW5jZSB2YWx1ZXMg dXNpbmcgRU5DT0RFUi4gKi8KCnZvaWQKbWZyYW1lX2RvX2NhbGwgKGNvbnN0IGNoYXIgKmVuY29k ZWRfdHlwZXMsCgkJdm9pZCgqZGVjb2RlcikoaW50LHZvaWQqLGNvbnN0IGNoYXIqKSwKCQl2b2lk KCplbmNvZGVyKShpbnQsdm9pZCosY29uc3QgY2hhciosaW50KSk7CnZvaWQKbWZyYW1lX2RvX2Nh bGxfb3B0cyAoY29uc3QgY2hhciAqZW5jb2RlZF90eXBlcywKCQl2b2lkKCpkZWNvZGVyKShpbnQs dm9pZCosY29uc3QgY2hhciopLAoJCXZvaWQoKmVuY29kZXIpKGludCx2b2lkKixjb25zdCBjaGFy KixpbnQpLAoJCUJPT0wgcGFzc19wb2ludGVycyk7CgovKiBEZWNvZGUgdGhlIHJldHVybiB2YWx1 ZSBhbmQgcGFzcy1ieS1yZWZlcmVuY2UgYXJndW1lbnRzIHVzaW5nCiAgIERFQ09ERVIsIGtub3du aW5nIHdoYXQgdG8gZGVjb2RlIGJ5IGxvb2tpbmcgYXQgdHlwZSBzdHJpbmcgVFlQRVMKICAgYW5k IE9VVF9QQVJBTUVURVJTLCBhbmQgcHV0IHRoZW4gaW50byBBUkdGUkFNRS4gIFJldHVybiB0aGUK ICAgcmV0dmFsX3Qgc3RydWN0dXJlIHRoYXQgY2FuIGJlIHBhc3NlZCB0byBfX2J1aWx0aW5fcmV0 dXJuKCkuICovCgpyZXR2YWxfdCAKbWZyYW1lX2J1aWxkX3JldHVybiAoYXJnbGlzdF90IGFyZ2Zy YW1lLCBjb25zdCBjaGFyICp0eXBlcywgCgkJICAgICBCT09MIG91dF9wYXJhbWV0ZXJzLAoJCSAg ICAgdm9pZCgqZGVjb2RlcikoaW50LHZvaWQqLGNvbnN0IGNoYXIqLGludCkpOwpyZXR2YWxfdCAK bWZyYW1lX2J1aWxkX3JldHVybl9vcHRzIChhcmdsaXN0X3QgYXJnZnJhbWUsIGNvbnN0IGNoYXIg KnR5cGVzLCAKCQkgICAgIEJPT0wgb3V0X3BhcmFtZXRlcnMsCgkJICAgICB2b2lkKCpkZWNvZGVy KShpbnQsdm9pZCosY29uc3QgY2hhciosaW50KSwKCQkgICAgIEJPT0wgcGFzc19wb2ludGVycyk7 CgovKgogKglDb3B5IHRoZSByZXR1cm4gdmFsdWUgZnJvbSByZXRmcmFtZSBpbnRvIHRoZSBzcGVj aWZpZWQgYnVmZmVyLgogKi8KQk9PTAptZnJhbWVfZGVjb2RlX3JldHVybihjb25zdCBjaGFyICp0 eXBlLCB2b2lkKiBidWZmZXIsIHZvaWQqIHJldGZyYW1lKTsKCi8qCiAqCVJldHVybiB0aGUgdmFs dWUgb2YgdGhlIHNwZWNpZmllZCB0eXBlIGluICdyZXR2YWwnIHVzaW5nIGFyZ0ZyYW1lLgogKi8K dm9pZCoKbWZyYW1lX2hhbmRsZV9yZXR1cm4oY29uc3QgY2hhciogdHlwZSwgdm9pZCogcmV0dmFs LCBhcmdsaXN0X3QgYXJnRnJhbWUpOwoKLyoKICoJU3RlcCB0aHJvdWdoIG1ldGhvZCBlbmNvZGlu ZyBpbmZvcm1hdGlvbiBleHRyYWN0aW5nIGRldGFpbHMuCiAqLwpjb25zdCBjaGFyICoKbWZyYW1l X25leHRfYXJnKGNvbnN0IGNoYXIgKnR5cGVQdHIsIE5TQXJndW1lbnRJbmZvICppbmZvKTsKCi8q CiAqCUdlbmVyYXRlIG1ldGhvZCBlbmNvZGluZyB3aXRoIHN0YWNrL3JlZ2lzdGVyIG9mZnNldHMg ZnJvbSBhIHNpbXBsZQogKgl0eXBlIGVuY29kaW5nIHN0cmluZy4gIFN0b3JlIHJlc3VsdHMgaW4g J2J1Zicgb3IgYWxsb2NhdGUgbWVtb3J5CiAqCXVzaW5nIG9iamNfbWFsbG9jKCkgaWYgJ2J1Zicg aXMgYSBudWwgcG9pbnRlci4KICovCmNoYXIqCm1mcmFtZV9idWlsZF9zaWduYXR1cmUoY29uc3Qg Y2hhciAqdHlwZVB0ciwgaW50ICpzaXplLCBpbnQgKm5hcmcsIGNoYXIgKmJ1Zik7CgoKYXJnbGlz dF90Cm1mcmFtZV9jcmVhdGVfYXJnZnJhbWUoY29uc3QgY2hhciAqdHlwZXMsIHZvaWQqKiByZXRi dWYpOwoKdm9pZAptZnJhbWVfZGVzdHJveV9hcmdmcmFtZShjb25zdCBjaGFyICp0eXBlcywgYXJn bGlzdF90IGFyZ2ZyYW1lKTsKCiNkZWZpbmUgUk9VTkQoViwgQSkgXAogICh7IHR5cGVvZihWKSBf X3Y9KFYpOyB0eXBlb2YoQSkgX19hPShBKTsgXAogICAgIF9fYSooKF9fditfX2EtMSkvX19hKTsg fSkKCi8qIFNlZSAuLi9SRUFETUUgZm9yIGNvcHlyaWdodCAqLwoKI2RlZmluZQlNRlJBTUVfU1RB Q0tfU1RSVUNUCTEKI2RlZmluZQlNRlJBTUVfU1RSVUNUX0JZUkVGCTAKI2RlZmluZSBNRlJBTUVf U01BTExfU1RSVUNUCTAKI2RlZmluZSBNRlJBTUVfQVJHU19TSVpFCTgKI2RlZmluZSBNRlJBTUVf UkVTVUxUX1NJWkUJMTE2CgojZGVmaW5lIE1GUkFNRV9HRVRfU1RSVUNUX0FERFIoQVJHUywgVFlQ RVMpIFwKKCgqKFRZUEVTKT09X0NfU1RSVUNUX0IgfHwgKihUWVBFUyk9PV9DX1VOSU9OX0IgfHwg KihUWVBFUyk9PV9DX0FSWV9CKSA/IFwKICAgICAgKih2b2lkKiopKEFSR1MpLT5hcmdfcHRyIDog KHZvaWQqKTApCgojZGVmaW5lIE1GUkFNRV9TRVRfU1RSVUNUX0FERFIoQVJHUywgVFlQRVMsIEFE RFIpIFwKKHtpZiAoKihUWVBFUyk9PV9DX1NUUlVDVF9CIHx8ICooVFlQRVMpPT1fQ19VTklPTl9C IHx8ICooVFlQRVMpPT1fQ19BUllfQikgXAogICAgICAqKHZvaWQqKikoQVJHUyktPmFyZ19wdHIg PSAoQUREUik7fSkKCiNkZWZpbmUgTUZSQU1FX0FSR1MgaW50CgojZGVmaW5lIE1GUkFNRV9JTklU X0FSR1MoQ1VNLCBSVFlQRSkJXAooKENVTSkgPSAoKihSVFlQRSk9PV9DX1NUUlVDVF9CIHx8ICoo UlRZUEUpPT1fQ19VTklPTl9CIHx8IFwKICAgICooUlRZUEUpPT1fQ19BUllfQikgPyBzaXplb2Yo dm9pZCopIDogMCkKCiNkZWZpbmUgTUZSQU1FX0FSR19FTkNPRElORyhDVU0sIFRZUEUsIFNUQUNL LCBERVNUKSBcCih7ICBcCiAgY29uc3QgY2hhciogdHlwZSA9IChUWVBFKTsgXAogIGludCBhbGln biA9IG9iamNfYWxpZ25vZl90eXBlKHR5cGUpOyBcCiAgaW50IHNpemUgPSBvYmpjX3NpemVvZl90 eXBlKHR5cGUpOyBcClwKICAoQ1VNKSA9IFJPVU5EKChDVU0pLCBhbGlnbik7IFwKICAoVFlQRSkg PSBvYmpjX3NraXBfdHlwZXNwZWModHlwZSk7IFwKICBzcHJpbnRmKChERVNUKSwgIiUuKnMlZCIs IChUWVBFKS10eXBlLCB0eXBlLCAoQ1VNKSk7IFwKICBpZiAoKihUWVBFKSA9PSAnKycpIFwKICAg IHsgXAogICAgICAoVFlQRSkrKzsgXAogICAgfSBcCiAgd2hpbGUgKGlzRGlnaXQgKCooVFlQRSkp KSBcCiAgICB7IFwKICAgICAgKFRZUEUpKys7IFwKICAgIH0gXAogIChERVNUKT0mKERFU1QpW3N0 cmxlbihERVNUKV07IFwKICBpZiAoKCp0eXBlPT1fQ19TVFJVQ1RfQnx8KnR5cGU9PV9DX1VOSU9O X0J8fCp0eXBlPT1fQ19BUllfQikmJnNpemU+MikgXAogICAgeyBcCiAgICAgIChTVEFDSykgPSAo Q1VNKSArIFJPVU5EKHNpemUsIGFsaWduKTsgXAogICAgfSBcCiAgZWxzZSBcCiAgICB7IFwKICAg ICAgKFNUQUNLKSA9IChDVU0pICsgc2l6ZTsgXAogICAgfSBcCiAgKENVTSkgKz0gUk9VTkQoc2l6 ZSwgc2l6ZW9mKHZvaWQqKSk7IFwKfSkKCgppbmxpbmUgc3RhdGljIHZvaWQqCm1mcmFtZV9hcmdf YWRkcihhcmdsaXN0X3QgYXJnZiwgTlNBcmd1bWVudEluZm8gKmluZm8pCnsKICBpbnQgb2Zmc2V0 ID0gaW5mby0+b2Zmc2V0OwojaWYgV09SRFNfQklHRU5ESUFOCiAgaWYgKGluZm8tPnNpemUgPCBz aXplb2YgKGludCkpCiAgICB7CiAgICAgIG9mZnNldCArPSBzaXplb2YoaW50KSAtIGluZm8tPnNp emU7CiAgICB9CiNlbmRpZgogIGlmIChpbmZvLT5pc1JlZykKICAgIHsKICAgICAgcmV0dXJuKGFy Z2YtPmFyZ19yZWdzICsgb2Zmc2V0KTsKICAgIH0KICBlbHNlCiAgICB7CiAgICAgIHJldHVybihh cmdmLT5hcmdfcHRyICsgb2Zmc2V0KTsKICAgIH0KfQoKaW5saW5lIHN0YXRpYyB2b2lkCm1mcmFt ZV9nZXRfYXJnKGFyZ2xpc3RfdCBhcmdmLCBOU0FyZ3VtZW50SW5mbyAqaW5mbywgdm9pZCogYnVm ZmVyKQp7CiNpZiBNRlJBTUVfU1RSVUNUX0JZUkVGIHx8IE1GUkFNRV9GTFRfSU5fRlJBTUVfQVNf REJMCiAgY29uc3QgY2hhcgkqdHlwID0gaW5mby0+dHlwZTsKI2VuZGlmCgojaWYgTUZSQU1FX1NU UlVDVF9CWVJFRgogIC8qCiAgICoJSWYgc3RydWN0dXJlcyBhcmUgcGFzc2VkIGluIHRoZSBzdGFj ayBmcmFtZSBieSByZWZlcmVuY2UgLSB3ZSBuZWVkCiAgICoJdG8gY29weSB0aGUgYWN0dWFsIHN0 cnVjdHVyZSwgcmF0aGVyIHRoYW4gaXQncyBwb2ludGVyLgogICAqLwogIGlmICgqdHlwID09IF9D X1NUUlVDVF9CIHx8ICp0eXAgPT0gX0NfVU5JT05fQiB8fCAqdHlwID09IF9DX0FSWV9CKQogICAg ewogICAgICBtZW1jcHkoYnVmZmVyLCAqKHZvaWQqKiltZnJhbWVfYXJnX2FkZHIoYXJnZiwgaW5m byksIGluZm8tPnNpemUpOwogICAgfQogIGVsc2UKI2VuZGlmCiNpZiBNRlJBTUVfRkxUX0lOX0ZS QU1FX0FTX0RCTAogIGlmICgqdHlwID09IF9DX0ZMVCkKICAgIHsKICAgICAgKihmbG9hdCopYnVm ZmVyID0gKGZsb2F0KSooZG91YmxlKiltZnJhbWVfYXJnX2FkZHIoYXJnZiwgaW5mbyk7CiAgICB9 CiAgZWxzZQojZW5kaWYKICBtZW1jcHkoYnVmZmVyLCBtZnJhbWVfYXJnX2FkZHIoYXJnZiwgaW5m byksIGluZm8tPnNpemUpOwp9CgppbmxpbmUgc3RhdGljIHZvaWQKbWZyYW1lX3NldF9hcmcoYXJn bGlzdF90IGFyZ2YsIE5TQXJndW1lbnRJbmZvICppbmZvLCB2b2lkKiBidWZmZXIpCnsKI2lmIE1G UkFNRV9TVFJVQ1RfQllSRUYgfHwgTUZSQU1FX0ZMVF9JTl9GUkFNRV9BU19EQkwKICBjb25zdCBj aGFyCSp0eXAgPSBpbmZvLT50eXBlOwojZW5kaWYKCiNpZiBNRlJBTUVfU1RSVUNUX0JZUkVGCiAg LyoKICAgKglJZiBzdHJ1Y3R1cmVzIGFyZSBwYXNzZWQgaW4gdGhlIHN0YWNrIGZyYW1lIGJ5IHJl ZmVyZW5jZSAtIHdlIG5lZWQKICAgKgl0byBjb3B5IGEgcG9pbnRlciBvbnRvIHRoZSBzdGFjayBy YXRoZXIgdGhhbiB0aGUgYWN0dWFsIHN0cnVjdHVyZS4KICAgKi8KICBpZiAoKnR5cCA9PSBfQ19T VFJVQ1RfQiB8fCAqdHlwID09IF9DX1VOSU9OX0IgfHwgKnR5cCA9PSBfQ19BUllfQikKICAgIHsK ICAgICAgbWVtY3B5KG1mcmFtZV9hcmdfYWRkcihhcmdmLCBpbmZvKSwgJmJ1ZmZlciwgc2l6ZW9m KHZvaWQqKSk7CiAgICB9CiAgZWxzZQojZW5kaWYKI2lmIE1GUkFNRV9GTFRfSU5fRlJBTUVfQVNf REJMCiAgaWYgKCp0eXAgPT0gX0NfRkxUKQogICAgewogICAgICAqKGRvdWJsZSopbWZyYW1lX2Fy Z19hZGRyKGFyZ2YsIGluZm8pID0gKihmbG9hdCopYnVmZmVyOwogICAgfQogIGVsc2UKI2VuZGlm CiAgbWVtY3B5KG1mcmFtZV9hcmdfYWRkcihhcmdmLCBpbmZvKSwgYnVmZmVyLCBpbmZvLT5zaXpl KTsKfQoKaW5saW5lIHN0YXRpYyB2b2lkCm1mcmFtZV9jcHlfYXJnKGFyZ2xpc3RfdCBkc3QsIGFy Z2xpc3RfdCBzcmMsIE5TQXJndW1lbnRJbmZvICppbmZvKQp7CiNpZiBNRlJBTUVfU1RSVUNUX0JZ UkVGCiAgY29uc3QgY2hhcgkqdHlwID0gaW5mby0+dHlwZTsKCiAgLyoKICAgKglJZiBzdHJ1Y3R1 cmVzIGFyZSBwYXNzZWQgaW4gdGhlIHN0YWNrIGZyYW1lIGJ5IHJlZmVyZW5jZSAtIHdlIG5lZWQK ICAgKgl0byBjb3B5IGEgcG9pbnRlciBvbnRvIHRoZSBzdGFjayByYXRoZXIgdGhhbiB0aGUgYWN0 dWFsIHN0cnVjdHVyZS4KICAgKi8KICBpZiAoKnR5cCA9PSBfQ19TVFJVQ1RfQiB8fCAqdHlwID09 IF9DX1VOSU9OX0IgfHwgKnR5cCA9PSBfQ19BUllfQikKICAgIHsKICAgICAgbWVtY3B5KG1mcmFt ZV9hcmdfYWRkcihkc3QsIGluZm8pLCBtZnJhbWVfYXJnX2FkZHIoc3JjLCBpbmZvKSwgc2l6ZW9m KHZvaWQqKSk7CiAgICB9CiAgZWxzZQojZW5kaWYKICAgIG1lbWNweShtZnJhbWVfYXJnX2FkZHIo ZHN0LCBpbmZvKSwgbWZyYW1lX2FyZ19hZGRyKHNyYywgaW5mbyksIGluZm8tPnNpemUpOwp9Cgoj ZW5kaWYgLyogX19tZnJhbWVfaF9HTlVTVEVQX0JBU0VfSU5DTFVERSAqLwo=