delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2013/06/21/18:10:54

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:to:from:subject:date:message-id:references
:mime-version:content-type:content-transfer-encoding; q=dns; s=
default; b=cay1OVIiMj19hIm+/5E734tW0qm2MCBN7bYOp1mvDkqsLeMlJiOFv
W6GmpqNV/9o5DopaxPjRtAcQhNC0O7qlY19jfl+4XYI47GcgzByU9+WXVe73m/Ft
Pa8JBOWT5UNvpafvrjPC9ip9VPOcsLVuxAYdBBHGjuQAuYpO1Vx5DY=
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:to:from:subject:date:message-id:references
:mime-version:content-type:content-transfer-encoding; s=default;
bh=wXjbtxtlAV/YaXMBq3YAlzcgA+s=; b=jU6nYQhmgxTCZvMQjn3SGMbAzJ2c
OEjRLSM1mokbCGp1ggCbkKzXZm6tGwgrE7XOuOLk09FAATTNjNxQ3VGB+HogQf4z
Ptj3yqUYcpAAjMaqacyZA/4xEHfM2siuO5tg2BHCRzHbSNemJZZJNa9oxB7cfsH8
ig2cYSj4CZrVX0M=
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
X-Spam-SWARE-Status: No, score=-4.9 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,KHOP_THREADED,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1
To: cygwin AT cygwin DOT com
From: Jean-Pierre Flori <jpflori AT gmail DOT com>
Subject: Re: libtool weirdness (was Re: Broken MPIR 2.6.0 on Cygwin64)
Date: Fri, 21 Jun 2013 22:10:15 +0000 (UTC)
Lines: 54
Message-ID: <kq2j06$afa$1@ger.gmane.org>
References: <CAHhGz88vEgzz1i4sUjE0ugNzaf+j++r1_qT=Y6abMaB4_F=PCg AT mail DOT gmail DOT com> <20130621083039 DOT GH1620 AT calimero DOT vinschen DOT de> <kq1694$ung$1 AT ger DOT gmane DOT org> <20130621094344 DOT GB25850 AT calimero DOT vinschen DOT de> <20130621113357 DOT GF25850 AT calimero DOT vinschen DOT de> <kq20jn$t2h$1 AT ger DOT gmane DOT org> <kq215r$t2h$2 AT ger DOT gmane DOT org> <kq22dq$m2s$1 AT ger DOT gmane DOT org> <kq24o3$tvh$1 AT ger DOT gmane DOT org>
Mime-Version: 1.0
User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2)

Le Fri, 21 Jun 2013 18:07:00 +0000, Jean-Pierre Flori a écrit :

> Le Fri, 21 Jun 2013 17:27:22 +0000, Jean-Pierre Flori a écrit :
> 
>> Le Fri, 21 Jun 2013 17:06:03 +0000, Jean-Pierre Flori a écrit :
>> 
>>>> I'll also check without assembly optimizations, or lowering gcc
>>>> optimization level, etc.
>>> So I'm going to try that now.
>> If i disable ASM routines by passing MPN_PATH=generic to configure,
>> then (in the static setting at least) most tests now pass.
> 
> Using the default MPN_PATH I get "x86_64/sandybridge x86_64 generic",
> the first segfault I get is in the first test in the mpn dir:
> t-addadd_n.c. GDB points to the loop1() function:
> 
> jp AT napoleon-7 ~/mpir-2.6.0/tests/mpn $ gdb t-addadd_n.exe GNU gdb (GDB)
> 7.6.50.20130320-cvs Copyright (C) 2013 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/
> gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show
> copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-unknown-cygwin".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>...
> Reading symbols from
> /home/jp/mpir-2.6.0/tests/mpn/t-addadd_n.exe...done. (gdb) r Starting
> program: /home/jp/mpir-2.6.0/tests/mpn/t-addadd_n.exe [New Thread
> 2576.0x9b8]
> [New Thread 2576.0x398]
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000001004020ae in loop1 ()
> (gdb) bt #0  0x00000001004020ae in loop1 ()
> #1  0x0000000100401fe7 in __gmpn_addadd_n (t=0x1c8fc0, x=<optimized
> out>,
>     y=<optimized out>, z=<optimized out>, n=1) at addadd_n.c:50
> #2  0x0000000100425fb6 in main () at t-addadd_n.c:58
> 
> apparently coming from add_n.as.
> If someone sees something wrong in the asm files, I have no experience
> with them.

Ok, I think I got it.
The asm code in the x86_64 dir and subdirs expects System V AMD64 ABI for 
argument passing (so first int or pointer in rdi and so on), but of 
course on win64 the convention is different so this is fundamentally 
incompatible.

Now there is also a x86_64w dir for windows assembly but yasm does not 
like its syntax.
I'll be looking into that.


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

- Raw text -


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