This is the mail archive of the
mailing list for the Cygwin project.
Re: libtool weirdness (was Re: Broken MPIR 2.6.0 on Cygwin64)
- From: Jean-Pierre Flori <jpflori at gmail dot com>
- To: cygwin at cygwin dot com
- Date: Fri, 21 Jun 2013 22:10:15 +0000 (UTC)
- Subject: Re: libtool weirdness (was Re: Broken MPIR 2.6.0 on Cygwin64)
- 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>
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@napoleon-7 ~/mpir-2.6.0/tests/mpn $ gdb t-addadd_n.exe GNU gdb (GDB)
> 188.8.131.5230320-cvs Copyright (C) 2013 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law. Type "show
> and "show warranty" for details.
> This GDB was configured as "x86_64-unknown-cygwin".
> For bug reporting instructions, please see:
> 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
> [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
> 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
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
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple