From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5661 invoked by alias); 18 May 2002 08:56:02 -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 5573 invoked by uid 71); 18 May 2002 08:56:01 -0000 Resent-Date: 18 May 2002 08:56:01 -0000 Resent-Message-ID: <20020518085601.5572.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, thorpej@wasabisystems.com Received:(qmail 30789 invoked by uid 61); 18 May 2002 08:48:23 -0000 Message-Id:<20020518084823.30788.qmail@sources.redhat.com> Date: Sat, 18 May 2002 01:56:00 -0000 From: thorpej@wasabisystems.com Reply-To: thorpej@wasabisystems.com To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version:gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: target/6714: x86-64 fails to build libstdc++-v3/libmath/signbitf.c X-SW-Source: 2002-05/txt/msg00539.txt.bz2 List-Id: >Number: 6714 >Category: target >Synopsis: x86-64 fails to build libstdc++-v3/libmath/signbitf.c >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Sat May 18 01:56:00 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Jason R Thorpe >Release: GNU C version 3.2 20020517 (experimental) (x86_64-unknown-netbsd) >Organization: >Environment: i386-netbsdelf host, x86_64-netbsd target >Description: Building signbitf.c results in invalid asm code, which gas chokes on: /var/tmp//ccJu3znb.s: Assembler messages: /var/tmp//ccJu3znb.s:25: Error: suffix or operands invalid for `mov' The code generated for this function is: __signbitf: movl %xmm0, %eax andl $-2147483648, %eax ret >How-To-Repeat: Attempt to compile the attached file with the x86_64-netbsd compiler. I believe the x86_64-linux compiler will also fail the same way. >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="signbitf.i" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="signbitf.i" IyAxICIuLi8uLi8uLi8uLi8uLi9nY2MvbGlic3RkYysrLXYzL2xpYm1hdGgvc2lnbmJpdGYuYyIK IyAxICI8YnVpbHQtaW4+IgojIDEgIjxjb21tYW5kIGxpbmU+IgojIDEgIi4uLy4uLy4uLy4uLy4u L2djYy9saWJzdGRjKystdjMvbGlibWF0aC9zaWduYml0Zi5jIgojIDMxICIuLi8uLi8uLi8uLi8u Li9nY2MvbGlic3RkYysrLXYzL2xpYm1hdGgvc2lnbmJpdGYuYyIKIyAxICIvYW1kL2ZyYXUtZmFy Ymlzc2luYS91Mi9oYWNrL2dudS10b29sY2hhaW4vZ2NjL2J1aWxkL2kzODYteDg2XzY0L2djYy9p bmNsdWRlL21hdGguaCIgMSAzIDQKIyAzNiAiL2FtZC9mcmF1LWZhcmJpc3NpbmEvdTIvaGFjay9n bnUtdG9vbGNoYWluL2djYy9idWlsZC9pMzg2LXg4Nl82NC9nY2MvaW5jbHVkZS9tYXRoLmgiIDMg NAojIDEgIi91c3IvbG9jYWwvZ251L3g4Nl82NC11bmtub3duLW5ldGJzZC9zeXMtaW5jbHVkZS9z eXMvY2RlZnMuaCIgMSAzIDQKIyA2MyAiL3Vzci9sb2NhbC9nbnUveDg2XzY0LXVua25vd24tbmV0 YnNkL3N5cy1pbmNsdWRlL3N5cy9jZGVmcy5oIiAzIDQKIyAxICIvdXNyL2xvY2FsL2dudS94ODZf NjQtdW5rbm93bi1uZXRic2Qvc3lzLWluY2x1ZGUvbWFjaGluZS9jZGVmcy5oIiAxIDMgNAojIDY0 ICIvdXNyL2xvY2FsL2dudS94ODZfNjQtdW5rbm93bi1uZXRic2Qvc3lzLWluY2x1ZGUvc3lzL2Nk ZWZzLmgiIDIgMyA0CgojIDEgIi91c3IvbG9jYWwvZ251L3g4Nl82NC11bmtub3duLW5ldGJzZC9z eXMtaW5jbHVkZS9zeXMvY2RlZnNfZWxmLmgiIDEgMyA0CiMgNjYgIi91c3IvbG9jYWwvZ251L3g4 Nl82NC11bmtub3duLW5ldGJzZC9zeXMtaW5jbHVkZS9zeXMvY2RlZnMuaCIgMiAzIDQKIyAzNyAi L2FtZC9mcmF1LWZhcmJpc3NpbmEvdTIvaGFjay9nbnUtdG9vbGNoYWluL2djYy9idWlsZC9pMzg2 LXg4Nl82NC9nY2MvaW5jbHVkZS9tYXRoLmgiIDIgMyA0CiMgMSAiL3Vzci9sb2NhbC9nbnUveDg2 XzY0LXVua25vd24tbmV0YnNkL3N5cy1pbmNsdWRlL3N5cy9mZWF0dXJldGVzdC5oIiAxIDMgNAoj IDM4ICIvYW1kL2ZyYXUtZmFyYmlzc2luYS91Mi9oYWNrL2dudS10b29sY2hhaW4vZ2NjL2J1aWxk L2kzODYteDg2XzY0L2djYy9pbmNsdWRlL21hdGguaCIgMiAzIDQKCnVuaW9uIF9fZmxvYXRfdSB7 CiAgICAgICAgdW5zaWduZWQgY2hhciBfX2R1bW15W3NpemVvZihmbG9hdCldOwogICAgICAgIGZs b2F0IF9fdmFsOwp9OwoKdW5pb24gX19kb3VibGVfdSB7CiAgICAgICAgdW5zaWduZWQgY2hhciBf X2R1bW15W3NpemVvZihkb3VibGUpXTsKICAgICAgICBkb3VibGUgX192YWw7Cn07CgojIDEgIi91 c3IvbG9jYWwvZ251L3g4Nl82NC11bmtub3duLW5ldGJzZC9zeXMtaW5jbHVkZS9tYWNoaW5lL21h dGguaCIgMSAzIDQKIyA1MCAiL2FtZC9mcmF1LWZhcmJpc3NpbmEvdTIvaGFjay9nbnUtdG9vbGNo YWluL2djYy9idWlsZC9pMzg2LXg4Nl82NC9nY2MvaW5jbHVkZS9tYXRoLmgiIDIgMyA0CgoKCgpl eHRlcm4gY29uc3QgdW5pb24gX19kb3VibGVfdSBfX2luZmluaXR5OwojIDY2ICIvYW1kL2ZyYXUt ZmFyYmlzc2luYS91Mi9oYWNrL2dudS10b29sY2hhaW4vZ2NjL2J1aWxkL2kzODYteDg2XzY0L2dj Yy9pbmNsdWRlL21hdGguaCIgMyA0CmV4dGVybiBjb25zdCB1bmlvbiBfX2Zsb2F0X3UgX19uYW5m OwojIDkwICIvYW1kL2ZyYXUtZmFyYmlzc2luYS91Mi9oYWNrL2dudS10b29sY2hhaW4vZ2NjL2J1 aWxkL2kzODYteDg2XzY0L2djYy9pbmNsdWRlL21hdGguaCIgMyA0CmV4dGVybiBpbnQgc2lnbmdh bTsKCgoKCmVudW0gZmR2ZXJzaW9uIHtmZGxpYm1faWVlZSA9IC0xLCBmZGxpYm1fc3ZpZCwgZmRs aWJtX3hvcGVuLCBmZGxpYm1fcG9zaXh9OwojIDEwNyAiL2FtZC9mcmF1LWZhcmJpc3NpbmEvdTIv aGFjay9nbnUtdG9vbGNoYWluL2djYy9idWlsZC9pMzg2LXg4Nl82NC9nY2MvaW5jbHVkZS9tYXRo LmgiIDMgNApleHRlcm4gZW51bSBmZHZlcnNpb24gX2ZkbGliX3ZlcnNpb247CgoKCgoKCgpzdHJ1 Y3QgZXhjZXB0aW9uIHsKICAgICAgICBpbnQgdHlwZTsKICAgICAgICBjaGFyICpuYW1lOwogICAg ICAgIGRvdWJsZSBhcmcxOwogICAgICAgIGRvdWJsZSBhcmcyOwogICAgICAgIGRvdWJsZSByZXR2 YWw7Cn07CiMgMTQyICIvYW1kL2ZyYXUtZmFyYmlzc2luYS91Mi9oYWNrL2dudS10b29sY2hhaW4v Z2NjL2J1aWxkL2kzODYteDg2XzY0L2djYy9pbmNsdWRlL21hdGguaCIgMyA0CgoKCgpkb3VibGUg YWNvcyAoZG91YmxlKTsKZG91YmxlIGFzaW4gKGRvdWJsZSk7CmRvdWJsZSBhdGFuIChkb3VibGUp Owpkb3VibGUgYXRhbjIgKGRvdWJsZSwgZG91YmxlKTsKZG91YmxlIGNvcyAoZG91YmxlKTsKZG91 YmxlIHNpbiAoZG91YmxlKTsKZG91YmxlIHRhbiAoZG91YmxlKTsKCmRvdWJsZSBjb3NoIChkb3Vi bGUpOwpkb3VibGUgc2luaCAoZG91YmxlKTsKZG91YmxlIHRhbmggKGRvdWJsZSk7Cgpkb3VibGUg ZXhwIChkb3VibGUpOwpkb3VibGUgZnJleHAgKGRvdWJsZSwgaW50ICopOwpkb3VibGUgbGRleHAg KGRvdWJsZSwgaW50KTsKZG91YmxlIGxvZyAoZG91YmxlKTsKZG91YmxlIGxvZzEwIChkb3VibGUp Owpkb3VibGUgbW9kZiAoZG91YmxlLCBkb3VibGUgKik7Cgpkb3VibGUgcG93IChkb3VibGUsIGRv dWJsZSk7CmRvdWJsZSBzcXJ0IChkb3VibGUpOwoKZG91YmxlIGNlaWwgKGRvdWJsZSk7CmRvdWJs ZSBmYWJzIChkb3VibGUpOwpkb3VibGUgZmxvb3IgKGRvdWJsZSk7CmRvdWJsZSBmbW9kIChkb3Vi bGUsIGRvdWJsZSk7CgoKCmRvdWJsZSBlcmYgKGRvdWJsZSk7CmRvdWJsZSBlcmZjIChkb3VibGUp Owpkb3VibGUgZ2FtbWEgKGRvdWJsZSk7CmRvdWJsZSBoeXBvdCAoZG91YmxlLCBkb3VibGUpOwpp bnQgaXNuYW4gKGRvdWJsZSk7CmludCBmaW5pdGUgKGRvdWJsZSk7CmRvdWJsZSBqMCAoZG91Ymxl KTsKZG91YmxlIGoxIChkb3VibGUpOwpkb3VibGUgam4gKGludCwgZG91YmxlKTsKZG91YmxlIGxn YW1tYSAoZG91YmxlKTsKZG91YmxlIHkwIChkb3VibGUpOwpkb3VibGUgeTEgKGRvdWJsZSk7CmRv dWJsZSB5biAoaW50LCBkb3VibGUpOwoKCmRvdWJsZSBhY29zaCAoZG91YmxlKTsKZG91YmxlIGFz aW5oIChkb3VibGUpOwpkb3VibGUgYXRhbmggKGRvdWJsZSk7CmRvdWJsZSBjYnJ0IChkb3VibGUp Owpkb3VibGUgZXhwbTEgKGRvdWJsZSk7CmludCBpbG9nYiAoZG91YmxlKTsKZG91YmxlIGxvZzFw IChkb3VibGUpOwpkb3VibGUgbG9nYiAoZG91YmxlKTsKZG91YmxlIG5leHRhZnRlciAoZG91Ymxl LCBkb3VibGUpOwpkb3VibGUgcmVtYWluZGVyIChkb3VibGUsIGRvdWJsZSk7CmRvdWJsZSByaW50 IChkb3VibGUpOwpkb3VibGUgc2NhbGIgKGRvdWJsZSwgZG91YmxlKTsKCgoKCgoKaW50IG1hdGhl cnIgKHN0cnVjdCBleGNlcHRpb24gKik7CgoKCgoKZG91YmxlIHNpZ25pZmljYW5kIChkb3VibGUp OwoKCgoKZG91YmxlIGNvcHlzaWduIChkb3VibGUsIGRvdWJsZSk7CmRvdWJsZSBzY2FsYm4gKGRv dWJsZSwgaW50KTsKCgoKCgpkb3VibGUgY2FicyAoICk7Cgpkb3VibGUgZHJlbSAoZG91YmxlLCBk b3VibGUpOwojIDIzOCAiL2FtZC9mcmF1LWZhcmJpc3NpbmEvdTIvaGFjay9nbnUtdG9vbGNoYWlu L2djYy9idWlsZC9pMzg2LXg4Nl82NC9nY2MvaW5jbHVkZS9tYXRoLmgiIDMgNApkb3VibGUgZ2Ft bWFfciAoZG91YmxlLCBpbnQgKik7CmRvdWJsZSBsZ2FtbWFfciAoZG91YmxlLCBpbnQgKik7CgoK CgoKaW50IGlzaW5mIChkb3VibGUpOwoKCmZsb2F0IGFjb3NmIChmbG9hdCk7CmZsb2F0IGFzaW5m IChmbG9hdCk7CmZsb2F0IGF0YW5mIChmbG9hdCk7CmZsb2F0IGF0YW4yZiAoZmxvYXQsIGZsb2F0 KTsKZmxvYXQgY29zZiAoZmxvYXQpOwpmbG9hdCBzaW5mIChmbG9hdCk7CmZsb2F0IHRhbmYgKGZs b2F0KTsKCmZsb2F0IGNvc2hmIChmbG9hdCk7CmZsb2F0IHNpbmhmIChmbG9hdCk7CmZsb2F0IHRh bmhmIChmbG9hdCk7CgpmbG9hdCBleHBmIChmbG9hdCk7CmZsb2F0IGZyZXhwZiAoZmxvYXQsIGlu dCAqKTsKZmxvYXQgbGRleHBmIChmbG9hdCwgaW50KTsKZmxvYXQgbG9nZiAoZmxvYXQpOwpmbG9h dCBsb2cxMGYgKGZsb2F0KTsKZmxvYXQgbW9kZmYgKGZsb2F0LCBmbG9hdCAqKTsKCmZsb2F0IHBv d2YgKGZsb2F0LCBmbG9hdCk7CmZsb2F0IHNxcnRmIChmbG9hdCk7CgpmbG9hdCBjZWlsZiAoZmxv YXQpOwpmbG9hdCBmYWJzZiAoZmxvYXQpOwpmbG9hdCBmbG9vcmYgKGZsb2F0KTsKZmxvYXQgZm1v ZGYgKGZsb2F0LCBmbG9hdCk7CgpmbG9hdCBlcmZmIChmbG9hdCk7CmZsb2F0IGVyZmNmIChmbG9h dCk7CmZsb2F0IGdhbW1hZiAoZmxvYXQpOwpmbG9hdCBoeXBvdGYgKGZsb2F0LCBmbG9hdCk7Cmlu dCBpc2luZmYgKGZsb2F0KTsKaW50IGlzbmFuZiAoZmxvYXQpOwppbnQgZmluaXRlZiAoZmxvYXQp OwpmbG9hdCBqMGYgKGZsb2F0KTsKZmxvYXQgajFmIChmbG9hdCk7CmZsb2F0IGpuZiAoaW50LCBm bG9hdCk7CmZsb2F0IGxnYW1tYWYgKGZsb2F0KTsKZmxvYXQgeTBmIChmbG9hdCk7CmZsb2F0IHkx ZiAoZmxvYXQpOwpmbG9hdCB5bmYgKGludCwgZmxvYXQpOwoKZmxvYXQgYWNvc2hmIChmbG9hdCk7 CmZsb2F0IGFzaW5oZiAoZmxvYXQpOwpmbG9hdCBhdGFuaGYgKGZsb2F0KTsKZmxvYXQgY2JydGYg KGZsb2F0KTsKZmxvYXQgbG9nYmYgKGZsb2F0KTsKZmxvYXQgbmV4dGFmdGVyZiAoZmxvYXQsIGZs b2F0KTsKZmxvYXQgcmVtYWluZGVyZiAoZmxvYXQsIGZsb2F0KTsKZmxvYXQgc2NhbGJmIChmbG9h dCwgZmxvYXQpOwoKCgoKZmxvYXQgc2lnbmlmaWNhbmRmIChmbG9hdCk7CgoKCgoKZmxvYXQgY29w eXNpZ25mIChmbG9hdCwgZmxvYXQpOwppbnQgaWxvZ2JmIChmbG9hdCk7CmZsb2F0IHJpbnRmIChm bG9hdCk7CmZsb2F0IHNjYWxibmYgKGZsb2F0LCBpbnQpOwoKCgoKCmZsb2F0IGNhYnNmICggKTsK CmZsb2F0IGRyZW1mIChmbG9hdCwgZmxvYXQpOwpmbG9hdCBleHBtMWYgKGZsb2F0KTsKZmxvYXQg bG9nMXBmIChmbG9hdCk7CiMgMzMxICIvYW1kL2ZyYXUtZmFyYmlzc2luYS91Mi9oYWNrL2dudS10 b29sY2hhaW4vZ2NjL2J1aWxkL2kzODYteDg2XzY0L2djYy9pbmNsdWRlL21hdGguaCIgMyA0CmZs b2F0IGdhbW1hZl9yIChmbG9hdCwgaW50ICopOwpmbG9hdCBsZ2FtbWFmX3IgKGZsb2F0LCBpbnQg Kik7CgoKCiMgMzIgIi4uLy4uLy4uLy4uLy4uL2djYy9saWJzdGRjKystdjMvbGlibWF0aC9zaWdu Yml0Zi5jIiAyCiMgMSAiLi4vLi4vLi4vLi4vLi4vZ2NjL2xpYnN0ZGMrKy12My9saWJtYXRoL21h dGhjb25mLmgiIDEKIyAzMSAiLi4vLi4vLi4vLi4vLi4vZ2NjL2xpYnN0ZGMrKy12My9saWJtYXRo L21hdGhjb25mLmgiCiMgMSAiLi4vY29uZmlnLmgiIDEKIyAzMiAiLi4vLi4vLi4vLi4vLi4vZ2Nj L2xpYnN0ZGMrKy12My9saWJtYXRoL21hdGhjb25mLmgiIDIKCgoKCgoKIyAxICIvYW1kL2ZyYXUt ZmFyYmlzc2luYS91Mi9oYWNrL2dudS10b29sY2hhaW4vZ2NjL2J1aWxkL2kzODYteDg2XzY0L2dj Yy9pbmNsdWRlL3N5cy90eXBlcy5oIiAxIDMgNAojIDU2ICIvYW1kL2ZyYXUtZmFyYmlzc2luYS91 Mi9oYWNrL2dudS10b29sY2hhaW4vZ2NjL2J1aWxkL2kzODYteDg2XzY0L2djYy9pbmNsdWRlL3N5 cy90eXBlcy5oIiAzIDQKIyAxICIvdXNyL2xvY2FsL2dudS94ODZfNjQtdW5rbm93bi1uZXRic2Qv c3lzLWluY2x1ZGUvbWFjaGluZS90eXBlcy5oIiAxIDMgNAojIDQyICIvdXNyL2xvY2FsL2dudS94 ODZfNjQtdW5rbm93bi1uZXRic2Qvc3lzLWluY2x1ZGUvbWFjaGluZS90eXBlcy5oIiAzIDQKIyAx ICIvdXNyL2xvY2FsL2dudS94ODZfNjQtdW5rbm93bi1uZXRic2Qvc3lzLWluY2x1ZGUvbWFjaGlu ZS9pbnRfdHlwZXMuaCIgMSAzIDQKIyA0NyAiL3Vzci9sb2NhbC9nbnUveDg2XzY0LXVua25vd24t bmV0YnNkL3N5cy1pbmNsdWRlL21hY2hpbmUvaW50X3R5cGVzLmgiIDMgNAp0eXBlZGVmIHNpZ25l ZCBjaGFyIF9faW50OF90Owp0eXBlZGVmIHVuc2lnbmVkIGNoYXIgX191aW50OF90Owp0eXBlZGVm IHNob3J0IGludCBfX2ludDE2X3Q7CnR5cGVkZWYgdW5zaWduZWQgc2hvcnQgaW50IF9fdWludDE2 X3Q7CnR5cGVkZWYgaW50IF9faW50MzJfdDsKdHlwZWRlZiB1bnNpZ25lZCBpbnQgX191aW50MzJf dDsKdHlwZWRlZiBsb25nIGludCBfX2ludDY0X3Q7CnR5cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQg X191aW50NjRfdDsKCgoKCgp0eXBlZGVmIGxvbmcgX19pbnRwdHJfdDsKdHlwZWRlZiB1bnNpZ25l ZCBsb25nIF9fdWludHB0cl90OwojIDQzICIvdXNyL2xvY2FsL2dudS94ODZfNjQtdW5rbm93bi1u ZXRic2Qvc3lzLWluY2x1ZGUvbWFjaGluZS90eXBlcy5oIiAyIDMgNAojIDUyICIvdXNyL2xvY2Fs L2dudS94ODZfNjQtdW5rbm93bi1uZXRic2Qvc3lzLWluY2x1ZGUvbWFjaGluZS90eXBlcy5oIiAz IDQKdHlwZWRlZiB1bnNpZ25lZCBsb25nIHBhZGRyX3Q7CnR5cGVkZWYgdW5zaWduZWQgbG9uZyBw c2l6ZV90Owp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgdmFkZHJfdDsKdHlwZWRlZiB1bnNpZ25lZCBs b25nIHZzaXplX3Q7CgoKdHlwZWRlZiBsb25nIGludCByZWdpc3Rlcl90Owp0eXBlZGVmIGludCBy ZWdpc3RlcjMyX3Q7CiMgNTcgIi9hbWQvZnJhdS1mYXJiaXNzaW5hL3UyL2hhY2svZ251LXRvb2xj aGFpbi9nY2MvYnVpbGQvaTM4Ni14ODZfNjQvZ2NjL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDIgMyA0 CgojIDEgIi91c3IvbG9jYWwvZ251L3g4Nl82NC11bmtub3duLW5ldGJzZC9zeXMtaW5jbHVkZS9t YWNoaW5lL2Fuc2kuaCIgMSAzIDQKIyA5NCAiL3Vzci9sb2NhbC9nbnUveDg2XzY0LXVua25vd24t bmV0YnNkL3N5cy1pbmNsdWRlL21hY2hpbmUvYW5zaS5oIiAzIDQKdHlwZWRlZiB1bmlvbiB7CiAg ICAgICAgY2hhciBfX21ic3RhdGU4WzEyOF07CiAgICAgICAgX19pbnQ2NF90IF9fbWJzdGF0ZUw7 Cn0gX19tYnN0YXRlX3Q7CiMgNTkgIi9hbWQvZnJhdS1mYXJiaXNzaW5hL3UyL2hhY2svZ251LXRv b2xjaGFpbi9nY2MvYnVpbGQvaTM4Ni14ODZfNjQvZ2NjL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDIg MyA0CgoKCiMgMSAiL3Vzci9sb2NhbC9nbnUveDg2XzY0LXVua25vd24tbmV0YnNkL3N5cy1pbmNs dWRlL3N5cy9hbnNpLmgiIDEgMyA0CiMgNDQgIi91c3IvbG9jYWwvZ251L3g4Nl82NC11bmtub3du LW5ldGJzZC9zeXMtaW5jbHVkZS9zeXMvYW5zaS5oIiAzIDQKdHlwZWRlZiBjaGFyICogX19jYWRk cl90Owp0eXBlZGVmIF9fdWludDMyX3QgX19naWRfdDsKdHlwZWRlZiBfX3VpbnQzMl90IF9fbW9k ZV90Owp0eXBlZGVmIF9faW50NjRfdCBfX29mZl90Owp0eXBlZGVmIF9faW50MzJfdCBfX3BpZF90 Owp0eXBlZGVmIF9fdWludDhfdCBfX3NhX2ZhbWlseV90Owp0eXBlZGVmIHVuc2lnbmVkIGludCBf X3NvY2tsZW5fdDsKdHlwZWRlZiBfX3VpbnQzMl90IF9fdWlkX3Q7CiMgNjMgIi9hbWQvZnJhdS1m YXJiaXNzaW5hL3UyL2hhY2svZ251LXRvb2xjaGFpbi9nY2MvYnVpbGQvaTM4Ni14ODZfNjQvZ2Nj L2luY2x1ZGUvc3lzL3R5cGVzLmgiIDIgMyA0CgoKdHlwZWRlZiBfX2ludDhfdCBpbnQ4X3Q7CgoK Cgp0eXBlZGVmIF9fdWludDhfdCB1aW50OF90OwoKCgoKdHlwZWRlZiBfX2ludDE2X3QgaW50MTZf dDsKCgoKCnR5cGVkZWYgX191aW50MTZfdCB1aW50MTZfdDsKCgoKCnR5cGVkZWYgX19pbnQzMl90 IGludDMyX3Q7CgoKCgp0eXBlZGVmIF9fdWludDMyX3QgdWludDMyX3Q7CgoKCgp0eXBlZGVmIF9f aW50NjRfdCBpbnQ2NF90OwoKCgoKdHlwZWRlZiBfX3VpbnQ2NF90IHVpbnQ2NF90OwoKCgp0eXBl ZGVmIF9fdWludDhfdCB1X2ludDhfdDsKdHlwZWRlZiBfX3VpbnQxNl90IHVfaW50MTZfdDsKdHlw ZWRlZiBfX3VpbnQzMl90IHVfaW50MzJfdDsKdHlwZWRlZiBfX3VpbnQ2NF90IHVfaW50NjRfdDsK CiMgMSAiL3Vzci9sb2NhbC9nbnUveDg2XzY0LXVua25vd24tbmV0YnNkL3N5cy1pbmNsdWRlL21h Y2hpbmUvZW5kaWFuLmgiIDEgMyA0CgoKIyAxICIvdXNyL2xvY2FsL2dudS94ODZfNjQtdW5rbm93 bi1uZXRic2Qvc3lzLWluY2x1ZGUvc3lzL2VuZGlhbi5oIiAxIDMgNAojIDQ5ICIvdXNyL2xvY2Fs L2dudS94ODZfNjQtdW5rbm93bi1uZXRic2Qvc3lzLWluY2x1ZGUvc3lzL2VuZGlhbi5oIiAzIDQK IyAxICIvdXNyL2xvY2FsL2dudS94ODZfNjQtdW5rbm93bi1uZXRic2Qvc3lzLWluY2x1ZGUvbWFj aGluZS9lbmRpYW5fbWFjaGRlcC5oIiAxIDMgNAoKCgoKCgojIDEgIi91c3IvbG9jYWwvZ251L3g4 Nl82NC11bmtub3duLW5ldGJzZC9zeXMtaW5jbHVkZS9tYWNoaW5lL2J5dGVfc3dhcC5oIiAxIDMg NAojIDQ3ICIvdXNyL2xvY2FsL2dudS94ODZfNjQtdW5rbm93bi1uZXRic2Qvc3lzLWluY2x1ZGUv bWFjaGluZS9ieXRlX3N3YXAuaCIgMyA0CnN0YXRpYyBfX2lubGluZSB1X2ludDMyX3QgX19ieXRl X3N3YXBfbG9uZ192YXJpYWJsZSh1X2ludDMyX3QpOwpzdGF0aWMgX19pbmxpbmUgdV9pbnQxNl90 IF9fYnl0ZV9zd2FwX3dvcmRfdmFyaWFibGUodV9pbnQxNl90KTsKCnN0YXRpYyBfX2lubGluZSB1 X2ludDMyX3QKX19ieXRlX3N3YXBfbG9uZ192YXJpYWJsZSh1X2ludDMyX3QgeCkKewogICAgICAg IF9fYXNtIHZvbGF0aWxlICggImJzd2FwICUxIiA6ICI9ciIgKHgpIDogIjAiICh4KSk7CiAgICAg ICAgcmV0dXJuICh4KTsKfQoKc3RhdGljIF9faW5saW5lIHVfaW50MTZfdApfX2J5dGVfc3dhcF93 b3JkX3ZhcmlhYmxlKHVfaW50MTZfdCB4KQp7CiAgICAgICAgX19hc20gdm9sYXRpbGUgKCJyb3J3 ICQ4LCAldzEiIDogIj1yIiAoeCkgOiAiMCIgKHgpKTsKICAgICAgICByZXR1cm4gKHgpOwp9CiMg OCAiL3Vzci9sb2NhbC9nbnUveDg2XzY0LXVua25vd24tbmV0YnNkL3N5cy1pbmNsdWRlL21hY2hp bmUvZW5kaWFuX21hY2hkZXAuaCIgMiAzIDQKIyA1MCAiL3Vzci9sb2NhbC9nbnUveDg2XzY0LXVu a25vd24tbmV0YnNkL3N5cy1pbmNsdWRlL3N5cy9lbmRpYW4uaCIgMiAzIDQKIyA4MCAiL3Vzci9s b2NhbC9nbnUveDg2XzY0LXVua25vd24tbmV0YnNkL3N5cy1pbmNsdWRlL3N5cy9lbmRpYW4uaCIg MyA0CiMgMSAiL2FtZC9mcmF1LWZhcmJpc3NpbmEvdTIvaGFjay9nbnUtdG9vbGNoYWluL2djYy9i dWlsZC9pMzg2LXg4Nl82NC9nY2MvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMSAzIDQKIyA4MSAiL3Vz ci9sb2NhbC9nbnUveDg2XzY0LXVua25vd24tbmV0YnNkL3N5cy1pbmNsdWRlL3N5cy9lbmRpYW4u aCIgMiAzIDQKCnR5cGVkZWYgdV9pbnQzMl90IGluX2FkZHJfdDsKdHlwZWRlZiB1X2ludDE2X3Qg aW5fcG9ydF90OwoKCl9fdWludDMyX3QgaHRvbmwgKF9fdWludDMyX3QpIF9fYXR0cmlidXRlX18o KF9fY29uc3RfXykpOwpfX3VpbnQxNl90IGh0b25zIChfX3VpbnQxNl90KSBfX2F0dHJpYnV0ZV9f KChfX2NvbnN0X18pKTsKX191aW50MzJfdCBudG9obCAoX191aW50MzJfdCkgX19hdHRyaWJ1dGVf XygoX19jb25zdF9fKSk7Cl9fdWludDE2X3QgbnRvaHMgKF9fdWludDE2X3QpIF9fYXR0cmlidXRl X18oKF9fY29uc3RfXykpOwoKIyAxMTggIi91c3IvbG9jYWwvZ251L3g4Nl82NC11bmtub3duLW5l dGJzZC9zeXMtaW5jbHVkZS9zeXMvZW5kaWFuLmgiIDMgNAojIDEgIi91c3IvbG9jYWwvZ251L3g4 Nl82NC11bmtub3duLW5ldGJzZC9zeXMtaW5jbHVkZS9tYWNoaW5lL2Jzd2FwLmgiIDEgMyA0CiMg OSAiL3Vzci9sb2NhbC9nbnUveDg2XzY0LXVua25vd24tbmV0YnNkL3N5cy1pbmNsdWRlL21hY2hp bmUvYnN3YXAuaCIgMyA0CiMgMSAiL3Vzci9sb2NhbC9nbnUveDg2XzY0LXVua25vd24tbmV0YnNk L3N5cy1pbmNsdWRlL3N5cy9ic3dhcC5oIiAxIDMgNAojIDE2ICIvdXNyL2xvY2FsL2dudS94ODZf NjQtdW5rbm93bi1uZXRic2Qvc3lzLWluY2x1ZGUvc3lzL2Jzd2FwLmgiIDMgNAoKCgoKCnVfaW50 MTZfdCBic3dhcDE2ICh1X2ludDE2X3QpIF9fYXNtX18oIl9fYnN3YXAxNiIpOwp1X2ludDMyX3Qg YnN3YXAzMiAodV9pbnQzMl90KSBfX2FzbV9fKCJfX2Jzd2FwMzIiKTsKCnVfaW50NjRfdCBic3dh cDY0ICh1X2ludDY0X3QpOwoKIyAxMCAiL3Vzci9sb2NhbC9nbnUveDg2XzY0LXVua25vd24tbmV0 YnNkL3N5cy1pbmNsdWRlL21hY2hpbmUvYnN3YXAuaCIgMiAzIDQKIyAxMTkgIi91c3IvbG9jYWwv Z251L3g4Nl82NC11bmtub3duLW5ldGJzZC9zeXMtaW5jbHVkZS9zeXMvZW5kaWFuLmgiIDIgMyA0 CiMgNCAiL3Vzci9sb2NhbC9nbnUveDg2XzY0LXVua25vd24tbmV0YnNkL3N5cy1pbmNsdWRlL21h Y2hpbmUvZW5kaWFuLmgiIDIgMyA0CiMgMTEwICIvYW1kL2ZyYXUtZmFyYmlzc2luYS91Mi9oYWNr L2dudS10b29sY2hhaW4vZ2NjL2J1aWxkL2kzODYteDg2XzY0L2djYy9pbmNsdWRlL3N5cy90eXBl cy5oIiAyIDMgNAoKCnR5cGVkZWYgdW5zaWduZWQgY2hhciB1X2NoYXI7CnR5cGVkZWYgdW5zaWdu ZWQgc2hvcnQgdV9zaG9ydDsKdHlwZWRlZiB1bnNpZ25lZCBpbnQgdV9pbnQ7CnR5cGVkZWYgdW5z aWduZWQgbG9uZyB1X2xvbmc7Cgp0eXBlZGVmIHVuc2lnbmVkIGNoYXIgdW5jaGFyOwp0eXBlZGVm IHVuc2lnbmVkIHNob3J0IHVzaG9ydDsKdHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludDsKdHlwZWRl ZiB1bnNpZ25lZCBsb25nIHVsb25nOwoKdHlwZWRlZiB1X2xvbmcgY3B1aWRfdDsKCgp0eXBlZGVm IHVfaW50NjRfdCB1X3F1YWRfdDsKdHlwZWRlZiBfX2ludDY0X3QgcXVhZF90Owp0eXBlZGVmIHF1 YWRfdCAqIHFhZGRyX3Q7CiMgMTM5ICIvYW1kL2ZyYXUtZmFyYmlzc2luYS91Mi9oYWNrL2dudS10 b29sY2hhaW4vZ2NjL2J1aWxkL2kzODYteDg2XzY0L2djYy9pbmNsdWRlL3N5cy90eXBlcy5oIiAz IDQKdHlwZWRlZiBxdWFkX3QgbG9uZ2xvbmdfdDsKdHlwZWRlZiB1X3F1YWRfdCB1X2xvbmdsb25n X3Q7Cgp0eXBlZGVmIF9faW50NjRfdCBibGtjbnRfdDsKdHlwZWRlZiB1X2ludDMyX3QgYmxrc2l6 ZV90OwoKCnR5cGVkZWYgX19jYWRkcl90IGNhZGRyX3Q7CgoKCnR5cGVkZWYgX19pbnQzMl90IGRh ZGRyX3Q7CnR5cGVkZWYgdV9pbnQzMl90IGRldl90Owp0eXBlZGVmIHVfaW50MzJfdCBmaXhwdF90 OwoKCnR5cGVkZWYgX19naWRfdCBnaWRfdDsKCgoKdHlwZWRlZiB1X2ludDMyX3QgaWRfdDsKdHlw ZWRlZiB1X2ludDMyX3QgaW5vX3Q7CnR5cGVkZWYgbG9uZyBrZXlfdDsKCgp0eXBlZGVmIF9fbW9k ZV90IG1vZGVfdDsKCgoKdHlwZWRlZiB1X2ludDMyX3QgbmxpbmtfdDsKCgp0eXBlZGVmIF9fb2Zm X3Qgb2ZmX3Q7CgoKCgp0eXBlZGVmIF9fcGlkX3QgcGlkX3Q7CgoKCnR5cGVkZWYgcXVhZF90IHJs aW1fdDsKdHlwZWRlZiBfX2ludDMyX3Qgc2Vnc3pfdDsKdHlwZWRlZiBfX2ludDMyX3Qgc3dibGtf dDsKCgp0eXBlZGVmIF9fdWlkX3QgdWlkX3Q7CgoKCnR5cGVkZWYgX19pbnQzMl90IGR0aW1lX3Q7 CiMgMjE0ICIvYW1kL2ZyYXUtZmFyYmlzc2luYS91Mi9oYWNrL2dudS10b29sY2hhaW4vZ2NjL2J1 aWxkL2kzODYteDg2XzY0L2djYy9pbmNsdWRlL3N5cy90eXBlcy5oIiAzIDQKCl9fb2ZmX3QgbHNl ZWsgKGludCwgX19vZmZfdCwgaW50KTsKaW50IGZ0cnVuY2F0ZSAoaW50LCBfX29mZl90KTsKaW50 IHRydW5jYXRlIChjb25zdCBjaGFyICosIF9fb2ZmX3QpOwoKIyAyMzQgIi9hbWQvZnJhdS1mYXJi aXNzaW5hL3UyL2hhY2svZ251LXRvb2xjaGFpbi9nY2MvYnVpbGQvaTM4Ni14ODZfNjQvZ2NjL2lu Y2x1ZGUvc3lzL3R5cGVzLmgiIDMgNAp0eXBlZGVmIHVuc2lnbmVkIGludCBjbG9ja190OwoKCgoK Cgp0eXBlZGVmIGxvbmcgdW5zaWduZWQgaW50IHNpemVfdDsKCgoKCgoKCnR5cGVkZWYgbG9uZyBz c2l6ZV90OwoKCgoKdHlwZWRlZiBpbnQgdGltZV90OwoKCgoKdHlwZWRlZiBpbnQgY2xvY2tpZF90 OwoKCgoKdHlwZWRlZiBpbnQgdGltZXJfdDsKCgoKCnR5cGVkZWYgaW50IHN1c2Vjb25kc190OwoK CgoKdHlwZWRlZiB1bnNpZ25lZCBpbnQgdXNlY29uZHNfdDsKIyAyODcgIi9hbWQvZnJhdS1mYXJi aXNzaW5hL3UyL2hhY2svZ251LXRvb2xjaGFpbi9nY2MvYnVpbGQvaTM4Ni14ODZfNjQvZ2NjL2lu Y2x1ZGUvc3lzL3R5cGVzLmgiIDMgNAp0eXBlZGVmIF9faW50MzJfdCBfX2ZkX21hc2s7CiMgMzA2 ICIvYW1kL2ZyYXUtZmFyYmlzc2luYS91Mi9oYWNrL2dudS10b29sY2hhaW4vZ2NjL2J1aWxkL2kz ODYteDg2XzY0L2djYy9pbmNsdWRlL3N5cy90eXBlcy5oIiAzIDQKdHlwZWRlZiBzdHJ1Y3QgZmRf c2V0IHsKICAgICAgICBfX2ZkX21hc2sgZmRzX2JpdHNbKCgoMjU2KSArICgoKHNpemVvZihfX2Zk X21hc2spICogOCkpIC0gMSkpIC8gKChzaXplb2YoX19mZF9tYXNrKSAqIDgpKSldOwp9IGZkX3Nl dDsKIyAzOSAiLi4vLi4vLi4vLi4vLi4vZ2NjL2xpYnN0ZGMrKy12My9saWJtYXRoL21hdGhjb25m LmgiIDIKCiMgMSAiL3Vzci9sb2NhbC9nbnUveDg2XzY0LXVua25vd24tbmV0YnNkL3N5cy1pbmNs dWRlL21hY2hpbmUvZW5kaWFuLmgiIDEgMyA0CiMgNDEgIi4uLy4uLy4uLy4uLy4uL2djYy9saWJz dGRjKystdjMvbGlibWF0aC9tYXRoY29uZi5oIiAyCiMgNzMgIi4uLy4uLy4uLy4uLy4uL2djYy9s aWJzdGRjKystdjMvbGlibWF0aC9tYXRoY29uZi5oIgp0eXBlZGVmIHVuc2lnbmVkIGludCBVX2lu dDMyX3QgX19hdHRyaWJ1dGUgKChtb2RlIChTSSkpKTsKdHlwZWRlZiBpbnQgSW50MzJfdCBfX2F0 dHJpYnV0ZSAoKG1vZGUgKFNJKSkpOwp0eXBlZGVmIHVuc2lnbmVkIGludCBVX2ludDY0X3QgX19h dHRyaWJ1dGUgKChtb2RlIChESSkpKTsKdHlwZWRlZiBpbnQgSW50NjRfdCBfX2F0dHJpYnV0ZSAo KG1vZGUgKERJKSkpOwojIDg4ICIuLi8uLi8uLi8uLi8uLi9nY2MvbGlic3RkYysrLXYzL2xpYm1h dGgvbWF0aGNvbmYuaCIKIyAxICIvdXNyL2xvY2FsL2dudS94ODZfNjQtdW5rbm93bi1uZXRic2Qv c3lzLWluY2x1ZGUvaWVlZWZwLmgiIDEgMyA0CiMgMTIgIi91c3IvbG9jYWwvZ251L3g4Nl82NC11 bmtub3duLW5ldGJzZC9zeXMtaW5jbHVkZS9pZWVlZnAuaCIgMyA0CiMgMSAiL3Vzci9sb2NhbC9n bnUveDg2XzY0LXVua25vd24tbmV0YnNkL3N5cy1pbmNsdWRlL21hY2hpbmUvaWVlZWZwLmgiIDEg MyA0CiMgOSAiL3Vzci9sb2NhbC9nbnUveDg2XzY0LXVua25vd24tbmV0YnNkL3N5cy1pbmNsdWRl L21hY2hpbmUvaWVlZWZwLmgiIDMgNAojIDEgIi91c3IvbG9jYWwvZ251L3g4Nl82NC11bmtub3du LW5ldGJzZC9zeXMtaW5jbHVkZS9pMzg2L2llZWVmcC5oIiAxIDMgNAojIDExICIvdXNyL2xvY2Fs L2dudS94ODZfNjQtdW5rbm93bi1uZXRic2Qvc3lzLWluY2x1ZGUvaTM4Ni9pZWVlZnAuaCIgMyA0 CnR5cGVkZWYgaW50IGZwX2V4Y2VwdDsKCgoKCgoKCnR5cGVkZWYgZW51bSB7CiAgICBGUF9STj0w LAogICAgRlBfUk09MSwKICAgIEZQX1JQPTIsCiAgICBGUF9SWj0zCn0gZnBfcm5kOwojIDEwICIv dXNyL2xvY2FsL2dudS94ODZfNjQtdW5rbm93bi1uZXRic2Qvc3lzLWluY2x1ZGUvbWFjaGluZS9p ZWVlZnAuaCIgMiAzIDQKIyAxMyAiL3Vzci9sb2NhbC9nbnUveDg2XzY0LXVua25vd24tbmV0YnNk L3N5cy1pbmNsdWRlL2llZWVmcC5oIiAyIDMgNAoKZnBfcm5kIGZwZ2V0cm91bmQgKHZvaWQpOwpm cF9ybmQgZnBzZXRyb3VuZCAoZnBfcm5kKTsKZnBfZXhjZXB0IGZwZ2V0bWFzayAodm9pZCk7CmZw X2V4Y2VwdCBmcHNldG1hc2sgKGZwX2V4Y2VwdCk7CmZwX2V4Y2VwdCBmcGdldHN0aWNreSAodm9p ZCk7CmZwX2V4Y2VwdCBmcHNldHN0aWNreSAoZnBfZXhjZXB0KTsKIyA4OSAiLi4vLi4vLi4vLi4v Li4vZ2NjL2xpYnN0ZGMrKy12My9saWJtYXRoL21hdGhjb25mLmgiIDIKCgoKCgoKCiMgMSAiL2Ft ZC9mcmF1LWZhcmJpc3NpbmEvdTIvaGFjay9nbnUtdG9vbGNoYWluL2djYy9idWlsZC9pMzg2LXg4 Nl82NC9nY2MvaW5jbHVkZS9mbG9hdC5oIiAxIDMgNAojIDk3ICIuLi8uLi8uLi8uLi8uLi9nY2Mv bGlic3RkYysrLXYzL2xpYm1hdGgvbWF0aGNvbmYuaCIgMgojIDE0MSAiLi4vLi4vLi4vLi4vLi4v Z2NjL2xpYnN0ZGMrKy12My9saWJtYXRoL21hdGhjb25mLmgiCmV4dGVybiBpbnQgX19zaWduYml0 ZiAoZmxvYXQpOwpleHRlcm4gaW50IF9fc2lnbmJpdCAoZG91YmxlKTsKZXh0ZXJuIGludCBfX3Np Z25iaXRsIChsb25nIGRvdWJsZSk7CiMgMTY0ICIuLi8uLi8uLi8uLi8uLi9nY2MvbGlic3RkYysr LXYzL2xpYm1hdGgvbWF0aGNvbmYuaCIKdHlwZWRlZiB1bmlvbgp7CiAgZG91YmxlIHZhbHVlOwog IHN0cnVjdAogIHsKICAgIFVfaW50MzJfdCBsc3c7CiAgICBVX2ludDMyX3QgbXN3OwogIH0gcGFy dHM7Cn0gaWVlZV9kb3VibGVfc2hhcGVfdHlwZTsKIyAxODMgIi4uLy4uLy4uLy4uLy4uL2djYy9s aWJzdGRjKystdjMvbGlibWF0aC9tYXRoY29uZi5oIgp0eXBlZGVmIHVuaW9uCnsKICBmbG9hdCB2 YWx1ZTsKICBVX2ludDMyX3Qgd29yZDsKfSBpZWVlX2Zsb2F0X3NoYXBlX3R5cGU7CiMgMjExICIu Li8uLi8uLi8uLi8uLi9nY2MvbGlic3RkYysrLXYzL2xpYm1hdGgvbWF0aGNvbmYuaCIKdHlwZWRl ZiB1bmlvbgp7CiAgbG9uZyBkb3VibGUgdmFsdWU7CiAgc3RydWN0CiAgewogICAgVV9pbnQzMl90 IGxzdzsKICAgIFVfaW50MzJfdCBtc3c7CiAgICB1bnNpZ25lZCBpbnQgc2lnbl9leHBvbmVudDox NjsKICAgIHVuc2lnbmVkIGludCBlbXB0eToxNjsKICB9IHBhcnRzOwp9IGllZWVfbG9uZ19kb3Vi bGVfc2hhcGVfdHlwZTsKIyAyNDcgIi4uLy4uLy4uLy4uLy4uL2djYy9saWJzdGRjKystdjMvbGli bWF0aC9tYXRoY29uZi5oIgp0eXBlZGVmIHVuaW9uCnsKICBsb25nIGRvdWJsZSB2YWx1ZTsKICBz dHJ1Y3QKICB7CiAgICBVX2ludDY0X3QgbHN3OwogICAgVV9pbnQ2NF90IG1zdzsKICB9IHBhcnRz NjQ7CiAgc3RydWN0CiAgewogICAgVV9pbnQzMl90IHczLCB3MiwgdzEsIHcwOwogIH0gcGFydHMz MjsKfSBpZWVlX3F1YWRfZG91YmxlX3NoYXBlX3R5cGU7CiMgMzMgIi4uLy4uLy4uLy4uLy4uL2dj Yy9saWJzdGRjKystdjMvbGlibWF0aC9zaWduYml0Zi5jIiAyCgppbnQKX19zaWduYml0ZiAoZmxv YXQgeCkKewogIEludDMyX3QgaHg7CgogIGRvIHsgaWVlZV9mbG9hdF9zaGFwZV90eXBlIGdmX3U7 IGdmX3UudmFsdWUgPSAoeCk7IChoeCkgPSBnZl91LndvcmQ7IH0gd2hpbGUgKDApOwogIHJldHVy biBoeCAmIDB4ODAwMDAwMDA7Cn0K