delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
DomainKey-Signature: | a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:mime-version:references:in-reply-to:from:date | |
:message-id:subject:to:content-type; q=dns; s=default; b=ZIJ7HMs | |
9USsO80QIOt/DjnmDIQOmc2uFlrE7LYY1qWqmFFJFnzqBYMO8He0EYP0TZQIXD4R | |
Q1HTfSyGcaOINRq6uvgwvDe+VIiKEs35yJbNvKsNNy3g3G7WGgcRELazt1vsy69v | |
MfMfahbRpgZevAiAzJmC/OplAdoEZ4YjSusg= | |
DKIM-Signature: | v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:mime-version:references:in-reply-to:from:date | |
:message-id:subject:to:content-type; s=default; bh=NZRUuYio+HE7C | |
yiUIFHqhIRhXtk=; b=Im0sD7k7p9oYcdLdZI+JErVqPbbjgk52qbE6a7vhIaWJ2 | |
ymKUnbZgqDr9ezxhjy8oBDi0EDUUX5LiuHS4I6sgIJblstsxjMD2voVyHepjaoQv | |
Y3HiGUbpbMnjSGvBBAOx4tD4bi6RxgcGmeu7Pf3u7oONrAoECroy4pytWceZd4= | |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Id: | <cygwin.cygwin.com> |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
Authentication-Results: | sourceware.org; auth=none |
X-Spam-SWARE-Status: | No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=rsp, HX-Received:adf |
X-HELO: | mail-wr1-f54.google.com |
DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=H3E/Lntwp630nTVgcJp3/QObElKu0QKhaZ1Ge0B9yTA=; b=gvEvQ21zW1HTQspTUBg3r9XFgCgxeQE/MbycioO6O3cYxgWAkv+spqmicbWKhc/uLl tLL7C61kaBM/+kkmjaCPD4DFeHTed6FyOp0z+dbSWbHPx4NaOYEC4Bdj712aO/YJXAfH 5GOBQ2m0BRVG21F5TpWbU4Nzh6204q5rphFk+cy8C6uFAkDlN9eDDtjLQJ2Mp7fq18cB O/tiyvbGtRcpDx4vibsD8mQioItVZ8c1Lp5j1KC10rEu/B2s1vhMdo0BB4XhAXYDTCMx HC+UipBWSy8H2nNzMwEnECJm4rcsMtYxaLuS1cKRLEKTNldIDs34Oadp3yzANNcUR/21 PGbg== |
MIME-Version: | 1.0 |
References: | <CABHT96207sag6z7LMMDiBQciu-B3o7zFoOkYLw3OOSi_S=Kckg AT mail DOT gmail DOT com> <db507cae25f6f4b20af039bf3931e727d9614f61 DOT camel AT redhat DOT com> <CABHT963855jsHu0r=1f0dHye9k+uGb21EYkSj1SS+06V0bhsjg AT mail DOT gmail DOT com> <20181129085816 DOT GV30649 AT calimero DOT vinschen DOT de> <CABHT962ok6x121SezynVto2k1DoQ6T6Wj3J+Nq9O+AQs+uNeRQ AT mail DOT gmail DOT com> <20181129163327 DOT GD30649 AT calimero DOT vinschen DOT de> <CABHT961E1J3z_QjDr_PQu6gerUqsNnHN6NMBSBNas=4mbcNBiQ AT mail DOT gmail DOT com> <CABHT961Uinr8yQNkPqmUzg5amsRCppBK1DYcZaptz-iczb17Og AT mail DOT gmail DOT com> <20190202170508 DOT GB3532 AT calimero DOT vinschen DOT de> |
In-Reply-To: | <20190202170508.GB3532@calimero.vinschen.de> |
From: | Sam Habiel <sam DOT habiel AT gmail DOT com> |
Date: | Mon, 4 Feb 2019 09:16:57 -0500 |
Message-ID: | <CABHT963swdYVKtN-3cZLYfUAK6eQ8V+asZgOGKRqY3LoCWDkOw@mail.gmail.com> |
Subject: | Re: 32 bit vs 64 bit Cygwin, followup |
To: | cygwin AT cygwin DOT com, Sam Habiel <sam DOT habiel AT gmail DOT com> |
X-IsSubscribed: | yes |
--000000000000cf4896058112255b Content-Type: text/plain; charset="UTF-8" >That's not GCC fault. You're running varargs, written for the standard >stack layout of the MSABI target from a function with a stack laid out >in SYSV ABI. That can't work. I did some research to see how to write my own version of varargs (the code base is already instrumented to do different versions of varargs based on operating system). What I noticed though is that after disassembling code for win64 abi vs sysv abi, it seems like gcc/crt is attempting to do the right thing. There is different code for sysv vs win64 for va_start. sysv: 10 va_list vl; 11 va_start(vl,n); 0x00000001004010e4 <+100>: movl $0x8,-0xc8(%rbp) 0x00000001004010ee <+110>: movl $0x30,-0xc4(%rbp) 0x00000001004010f8 <+120>: lea 0x10(%rbp),%rax 0x00000001004010fc <+124>: mov %rax,-0xc0(%rbp) 0x0000000100401103 <+131>: lea -0xb0(%rbp),%rax 0x000000010040110a <+138>: mov %rax,-0xb8(%rbp) win64: 10 va_list vl; 11 va_start(vl,n); 0x00000001004010a3 <+35>: lea 0x18(%rbp),%rax 0x00000001004010a7 <+39>: mov %rax,-0x18(%rbp) So there may be a incomplete support for varargs for the sysv abi--but buggy. I attached the disassembly as well as the testing programs for your convenience. --Sam --000000000000cf4896058112255b Content-Type: text/plain; charset="US-ASCII"; name="dis_sysv.txt" Content-Disposition: attachment; filename="dis_sysv.txt" Content-Transfer-Encoding: base64 Content-ID: <f_jrqf2cmd0> X-Attachment-Id: f_jrqf2cmd0 RHVtcCBvZiBhc3NlbWJsZXIgY29kZSBmb3IgZnVuY3Rpb24gUHJpbnRGbG9h dHM6CnRlc3Rfc3lzdmFiaS5jOgo2CXsKICAgMHgwMDAwMDAwMTAwNDAxMDgw IDwrMD46CXB1c2ggICAlcmJwCiAgIDB4MDAwMDAwMDEwMDQwMTA4MSA8KzE+ Ogltb3YgICAgJXJzcCwlcmJwCiAgIDB4MDAwMDAwMDEwMDQwMTA4NCA8KzQ+ OglzdWIgICAgJDB4MTAwLCVyc3AKICAgMHgwMDAwMDAwMTAwNDAxMDhiIDwr MTE+Ogltb3YgICAgJWVkaSwtMHhkNCglcmJwKQogICAweDAwMDAwMDAxMDA0 MDEwOTEgPCsxNz46CW1vdiAgICAlcnNpLC0weGE4KCVyYnApCiAgIDB4MDAw MDAwMDEwMDQwMTA5OCA8KzI0PjoJbW92ICAgICVyZHgsLTB4YTAoJXJicCkK ICAgMHgwMDAwMDAwMTAwNDAxMDlmIDwrMzE+Ogltb3YgICAgJXJjeCwtMHg5 OCglcmJwKQogICAweDAwMDAwMDAxMDA0MDEwYTYgPCszOD46CW1vdiAgICAl cjgsLTB4OTAoJXJicCkKICAgMHgwMDAwMDAwMTAwNDAxMGFkIDwrNDU+Oglt b3YgICAgJXI5LC0weDg4KCVyYnApCiAgIDB4MDAwMDAwMDEwMDQwMTBiNCA8 KzUyPjoJdGVzdCAgICVhbCwlYWwKICAgMHgwMDAwMDAwMTAwNDAxMGI2IDwr NTQ+OglqZSAgICAgMHgxMDA0MDEwZDggPFByaW50RmxvYXRzKzg4PgogICAw eDAwMDAwMDAxMDA0MDEwYjggPCs1Nj46CW1vdmFwcyAleG1tMCwtMHg4MCgl cmJwKQogICAweDAwMDAwMDAxMDA0MDEwYmMgPCs2MD46CW1vdmFwcyAleG1t MSwtMHg3MCglcmJwKQogICAweDAwMDAwMDAxMDA0MDEwYzAgPCs2ND46CW1v dmFwcyAleG1tMiwtMHg2MCglcmJwKQogICAweDAwMDAwMDAxMDA0MDEwYzQg PCs2OD46CW1vdmFwcyAleG1tMywtMHg1MCglcmJwKQogICAweDAwMDAwMDAx MDA0MDEwYzggPCs3Mj46CW1vdmFwcyAleG1tNCwtMHg0MCglcmJwKQogICAw eDAwMDAwMDAxMDA0MDEwY2MgPCs3Nj46CW1vdmFwcyAleG1tNSwtMHgzMCgl cmJwKQogICAweDAwMDAwMDAxMDA0MDEwZDAgPCs4MD46CW1vdmFwcyAleG1t NiwtMHgyMCglcmJwKQogICAweDAwMDAwMDAxMDA0MDEwZDQgPCs4ND46CW1v dmFwcyAleG1tNywtMHgxMCglcmJwKQoKNwkgIGludCBpOwo4CSAgZG91Ymxl IHZhbDsKOQkgIHByaW50ZiAoIlByaW50aW5nIGZsb2F0czoiKTsKICAgMHgw MDAwMDAwMTAwNDAxMGQ4IDwrODg+OglsZWEgICAgMHgxZjIxKCVyaXApLCVy Y3ggICAgICAgICMgMHgxMDA0MDMwMDAKICAgMHgwMDAwMDAwMTAwNDAxMGRm IDwrOTU+OgljYWxscSAgMHgxMDA0MDEyNzAgPHByaW50Zj4KCjEwCSAgdmFf bGlzdCB2bDsKMTEJICB2YV9zdGFydCh2bCxuKTsKICAgMHgwMDAwMDAwMTAw NDAxMGU0IDwrMTAwPjoJbW92bCAgICQweDgsLTB4YzgoJXJicCkKICAgMHgw MDAwMDAwMTAwNDAxMGVlIDwrMTEwPjoJbW92bCAgICQweDMwLC0weGM0KCVy YnApCiAgIDB4MDAwMDAwMDEwMDQwMTBmOCA8KzEyMD46CWxlYSAgICAweDEw KCVyYnApLCVyYXgKICAgMHgwMDAwMDAwMTAwNDAxMGZjIDwrMTI0PjoJbW92 ICAgICVyYXgsLTB4YzAoJXJicCkKICAgMHgwMDAwMDAwMTAwNDAxMTAzIDwr MTMxPjoJbGVhICAgIC0weGIwKCVyYnApLCVyYXgKICAgMHgwMDAwMDAwMTAw NDAxMTBhIDwrMTM4PjoJbW92ICAgICVyYXgsLTB4YjgoJXJicCkKCjEyCSAg Zm9yIChpPTA7aTxuO2krKykKICAgMHgwMDAwMDAwMTAwNDAxMTExIDwrMTQ1 PjoJbW92bCAgICQweDAsLTB4YjQoJXJicCkKICAgMHgwMDAwMDAwMTAwNDAx MTFiIDwrMTU1PjoJam1wICAgIDB4MTAwNDAxMTYzIDxQcmludEZsb2F0cysy Mjc+CgoxMwkgIHsKMTQJICAgIHZhbD12YV9hcmcodmwsZG91YmxlKTsKICAg MHgwMDAwMDAwMTAwNDAxMTFkIDwrMTU3PjoJbW92ICAgIC0weGM4KCVyYnAp LCVyYXgKICAgMHgwMDAwMDAwMTAwNDAxMTI0IDwrMTY0PjoJbGVhICAgIDB4 OCglcmF4KSwlcmR4CiAgIDB4MDAwMDAwMDEwMDQwMTEyOCA8KzE2OD46CW1v diAgICAlcmR4LC0weGM4KCVyYnApCiAgIDB4MDAwMDAwMDEwMDQwMTEyZiA8 KzE3NT46CW1vdnNkICAoJXJheCksJXhtbTAKICAgMHgwMDAwMDAwMTAwNDAx MTMzIDwrMTc5PjoJbW92c2QgICV4bW0wLC0weGMwKCVyYnApCgoxNQkgICAg cHJpbnRmICgiIFslLjJmXSIsdmFsKTsKICAgMHgwMDAwMDAwMTAwNDAxMTNi IDwrMTg3PjoJbW92c2QgIC0weGMwKCVyYnApLCV4bW0xCiAgIDB4MDAwMDAw MDEwMDQwMTE0MyA8KzE5NT46CW1vdnNkICAtMHhjMCglcmJwKSwleG1tMAog ICAweDAwMDAwMDAxMDA0MDExNGIgPCsyMDM+Ogltb3ZxICAgJXhtbTAsJXJk eAogICAweDAwMDAwMDAxMDA0MDExNTAgPCsyMDg+OglsZWEgICAgMHgxZWJh KCVyaXApLCVyY3ggICAgICAgICMgMHgxMDA0MDMwMTEKICAgMHgwMDAwMDAw MTAwNDAxMTU3IDwrMjE1PjoJY2FsbHEgIDB4MTAwNDAxMjcwIDxwcmludGY+ CgoxMgkgIGZvciAoaT0wO2k8bjtpKyspCiAgIDB4MDAwMDAwMDEwMDQwMTE1 YyA8KzIyMD46CWFkZGwgICAkMHgxLC0weGI0KCVyYnApCiAgIDB4MDAwMDAw MDEwMDQwMTE2MyA8KzIyNz46CW1vdiAgICAtMHhiNCglcmJwKSwlZWF4CiAg IDB4MDAwMDAwMDEwMDQwMTE2OSA8KzIzMz46CWNtcCAgICAtMHhkNCglcmJw KSwlZWF4CiAgIDB4MDAwMDAwMDEwMDQwMTE2ZiA8KzIzOT46CWpsICAgICAw eDEwMDQwMTExZCA8UHJpbnRGbG9hdHMrMTU3PgoKMTYJICB9CjE3CSAgdmFf ZW5kKHZsKTsKMTgJICBwcmludGYgKCJcbiIpOwogICAweDAwMDAwMDAxMDA0 MDExNzEgPCsyNDE+Ogltb3YgICAgJDB4YSwlZWN4CiAgIDB4MDAwMDAwMDEw MDQwMTE3NiA8KzI0Nj46CWNhbGxxICAweDEwMDQwMTI4MCA8cHV0Y2hhcj4K CjE5CX0KICAgMHgwMDAwMDAwMTAwNDAxMTdiIDwrMjUxPjoJbm9wCiAgIDB4 MDAwMDAwMDEwMDQwMTE3YyA8KzI1Mj46CWxlYXZlcSAKICAgMHgwMDAwMDAw MTAwNDAxMTdkIDwrMjUzPjoJcmV0cSAgIApFbmQgb2YgYXNzZW1ibGVyIGR1 bXAuCg== --000000000000cf4896058112255b Content-Type: text/plain; charset="US-ASCII"; name="dis_win64.txt" Content-Disposition: attachment; filename="dis_win64.txt" Content-Transfer-Encoding: base64 Content-ID: <f_jrqf2cn31> X-Attachment-Id: f_jrqf2cn31 RHVtcCBvZiBhc3NlbWJsZXIgY29kZSBmb3IgZnVuY3Rpb24gUHJpbnRGbG9h dHM6CnRlc3Rfd2luNjRhYmkuYzoKNgl7CiAgIDB4MDAwMDAwMDEwMDQwMTA4 MCA8KzA+OglwdXNoICAgJXJicAogICAweDAwMDAwMDAxMDA0MDEwODEgPCsx PjoJbW92ICAgICVyc3AsJXJicAogICAweDAwMDAwMDAxMDA0MDEwODQgPCs0 PjoJc3ViICAgICQweDQwLCVyc3AKICAgMHgwMDAwMDAwMTAwNDAxMDg4IDwr OD46CW1vdiAgICAlZWN4LDB4MTAoJXJicCkKICAgMHgwMDAwMDAwMTAwNDAx MDhiIDwrMTE+Ogltb3YgICAgJXJkeCwweDE4KCVyYnApCiAgIDB4MDAwMDAw MDEwMDQwMTA4ZiA8KzE1PjoJbW92ICAgICVyOCwweDIwKCVyYnApCiAgIDB4 MDAwMDAwMDEwMDQwMTA5MyA8KzE5PjoJbW92ICAgICVyOSwweDI4KCVyYnAp Cgo3CSAgaW50IGk7CjgJICBkb3VibGUgdmFsOwo5CSAgcHJpbnRmICgiUHJp bnRpbmcgZmxvYXRzOiIpOwogICAweDAwMDAwMDAxMDA0MDEwOTcgPCsyMz46 CWxlYSAgICAweDFmNjIoJXJpcCksJXJjeCAgICAgICAgIyAweDEwMDQwMzAw MAogICAweDAwMDAwMDAxMDA0MDEwOWUgPCszMD46CWNhbGxxICAweDEwMDQw MTFhMCA8cHJpbnRmPgoKMTAJICB2YV9saXN0IHZsOwoxMQkgIHZhX3N0YXJ0 KHZsLG4pOwogICAweDAwMDAwMDAxMDA0MDEwYTMgPCszNT46CWxlYSAgICAw eDE4KCVyYnApLCVyYXgKICAgMHgwMDAwMDAwMTAwNDAxMGE3IDwrMzk+Oglt b3YgICAgJXJheCwtMHgxOCglcmJwKQoKMTIJICBmb3IgKGk9MDtpPG47aSsr KQogICAweDAwMDAwMDAxMDA0MDEwYWIgPCs0Mz46CW1vdmwgICAkMHgwLC0w eDQoJXJicCkKICAgMHgwMDAwMDAwMTAwNDAxMGIyIDwrNTA+OglqbXAgICAg MHgxMDA0MDEwZTggPFByaW50RmxvYXRzKzEwND4KCjEzCSAgewoxNAkgICAg dmFsPXZhX2FyZyh2bCxkb3VibGUpOwogICAweDAwMDAwMDAxMDA0MDEwYjQg PCs1Mj46CW1vdiAgICAtMHgxOCglcmJwKSwlcmF4CiAgIDB4MDAwMDAwMDEw MDQwMTBiOCA8KzU2PjoJbGVhICAgIDB4OCglcmF4KSwlcmR4CiAgIDB4MDAw MDAwMDEwMDQwMTBiYyA8KzYwPjoJbW92ICAgICVyZHgsLTB4MTgoJXJicCkK ICAgMHgwMDAwMDAwMTAwNDAxMGMwIDwrNjQ+Ogltb3ZzZCAgKCVyYXgpLCV4 bW0wCiAgIDB4MDAwMDAwMDEwMDQwMTBjNCA8KzY4PjoJbW92c2QgICV4bW0w LC0weDEwKCVyYnApCgoxNQkgICAgcHJpbnRmICgiIFslLjJmXSIsdmFsKTsK ICAgMHgwMDAwMDAwMTAwNDAxMGM5IDwrNzM+Ogltb3ZzZCAgLTB4MTAoJXJi cCksJXhtbTEKICAgMHgwMDAwMDAwMTAwNDAxMGNlIDwrNzg+Ogltb3ZzZCAg LTB4MTAoJXJicCksJXhtbTAKICAgMHgwMDAwMDAwMTAwNDAxMGQzIDwrODM+ Ogltb3ZxICAgJXhtbTAsJXJkeAogICAweDAwMDAwMDAxMDA0MDEwZDggPCs4 OD46CWxlYSAgICAweDFmMzIoJXJpcCksJXJjeCAgICAgICAgIyAweDEwMDQw MzAxMQogICAweDAwMDAwMDAxMDA0MDEwZGYgPCs5NT46CWNhbGxxICAweDEw MDQwMTFhMCA8cHJpbnRmPgoKMTIJICBmb3IgKGk9MDtpPG47aSsrKQogICAw eDAwMDAwMDAxMDA0MDEwZTQgPCsxMDA+OglhZGRsICAgJDB4MSwtMHg0KCVy YnApCiAgIDB4MDAwMDAwMDEwMDQwMTBlOCA8KzEwND46CW1vdiAgICAtMHg0 KCVyYnApLCVlYXgKICAgMHgwMDAwMDAwMTAwNDAxMGViIDwrMTA3PjoJY21w ICAgIDB4MTAoJXJicCksJWVheAogICAweDAwMDAwMDAxMDA0MDEwZWUgPCsx MTA+OglqbCAgICAgMHgxMDA0MDEwYjQgPFByaW50RmxvYXRzKzUyPgoKMTYJ ICB9CjE3CSAgdmFfZW5kKHZsKTsKMTgJICBwcmludGYgKCJcbiIpOwogICAw eDAwMDAwMDAxMDA0MDEwZjAgPCsxMTI+Ogltb3YgICAgJDB4YSwlZWN4CiAg IDB4MDAwMDAwMDEwMDQwMTBmNSA8KzExNz46CWNhbGxxICAweDEwMDQwMTFi MCA8cHV0Y2hhcj4KCjE5CX0KICAgMHgwMDAwMDAwMTAwNDAxMGZhIDwrMTIy PjoJbm9wCiAgIDB4MDAwMDAwMDEwMDQwMTBmYiA8KzEyMz46CWFkZCAgICAk MHg0MCwlcnNwCiAgIDB4MDAwMDAwMDEwMDQwMTBmZiA8KzEyNz46CXBvcCAg ICAlcmJwCiAgIDB4MDAwMDAwMDEwMDQwMTEwMCA8KzEyOD46CXJldHEgICAK RW5kIG9mIGFzc2VtYmxlciBkdW1wLgo= --000000000000cf4896058112255b Content-Type: application/octet-stream; name="test_sysvabi.c" Content-Disposition: attachment; filename="test_sysvabi.c" Content-Transfer-Encoding: base64 Content-ID: <f_jrqf573q2> X-Attachment-Id: f_jrqf573q2 LyogdmFfc3RhcnQgZXhhbXBsZSAqLwojaW5jbHVkZSA8c3RkaW8uaD4gICAg ICAvKiBwcmludGYgKi8KI2luY2x1ZGUgPHN0ZGFyZy5oPiAgICAgLyogdmFf bGlzdCwgdmFfc3RhcnQsIHZhX2FyZywgdmFfZW5kICovCgp2b2lkIF9fYXR0 cmlidXRlX18gKChzeXN2X2FiaSkpIFByaW50RmxvYXRzIChpbnQgbiwgLi4u KQp7CiAgaW50IGk7CiAgZG91YmxlIHZhbDsKICBwcmludGYgKCJQcmludGlu ZyBmbG9hdHM6Iik7CiAgdmFfbGlzdCB2bDsKICB2YV9zdGFydCh2bCxuKTsK ICBmb3IgKGk9MDtpPG47aSsrKQogIHsKICAgIHZhbD12YV9hcmcodmwsZG91 YmxlKTsKICAgIHByaW50ZiAoIiBbJS4yZl0iLHZhbCk7CiAgfQogIHZhX2Vu ZCh2bCk7CiAgcHJpbnRmICgiXG4iKTsKfQoKaW50IG1haW4gKCkKewogIFBy aW50RmxvYXRzICgzLDMuMTQxNTksMi43MTgyOCwxLjQxNDIxKTsKICByZXR1 cm4gMDsKfQo= --000000000000cf4896058112255b Content-Type: application/octet-stream; name="test_win64abi.c" Content-Disposition: attachment; filename="test_win64abi.c" Content-Transfer-Encoding: base64 Content-ID: <f_jrqf57433> X-Attachment-Id: f_jrqf57433 LyogdmFfc3RhcnQgZXhhbXBsZSAqLwojaW5jbHVkZSA8c3RkaW8uaD4gICAg ICAvKiBwcmludGYgKi8KI2luY2x1ZGUgPHN0ZGFyZy5oPiAgICAgLyogdmFf bGlzdCwgdmFfc3RhcnQsIHZhX2FyZywgdmFfZW5kICovCgp2b2lkIFByaW50 RmxvYXRzIChpbnQgbiwgLi4uKQp7CiAgaW50IGk7CiAgZG91YmxlIHZhbDsK ICBwcmludGYgKCJQcmludGluZyBmbG9hdHM6Iik7CiAgdmFfbGlzdCB2bDsK ICB2YV9zdGFydCh2bCxuKTsKICBmb3IgKGk9MDtpPG47aSsrKQogIHsKICAg IHZhbD12YV9hcmcodmwsZG91YmxlKTsKICAgIHByaW50ZiAoIiBbJS4yZl0i LHZhbCk7CiAgfQogIHZhX2VuZCh2bCk7CiAgcHJpbnRmICgiXG4iKTsKfQoK aW50IG1haW4gKCkKewogIFByaW50RmxvYXRzICgzLDMuMTQxNTksMi43MTgy OCwxLjQxNDIxKTsKICByZXR1cm4gMDsKfQo= --000000000000cf4896058112255b Content-Type: text/plain; charset=us-ascii -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple --000000000000cf4896058112255b--
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |