delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2019/02/04/09:17:47

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--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019