Bug 12544

Summary: ld coredump while compiling parma polyhedra library for i686-w64-mingw32 target
Product: binutils Reporter: Alen Skondro <askondro>
Component: ldAssignee: unassigned
Status: RESOLVED FIXED    
Severity: normal CC: askondro, ktietz
Priority: P2    
Version: 2.22   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:

Description Alen Skondro 2011-03-04 17:51:57 UTC
I'm using 
* GNU ld (GNU Binutils) 2.21.51.20110304
* GCC 4.6

While compiling PPL v0.11.2 for i686-w64-mingw32 target (host is i686-pc-cygwin) ld.exe coredumps with:

=========================================================================

make[3]: Entering directory `/cygdrive/g/FSF/obj-ppl/src'
/bin/sh ../libtool  --tag=CXX   --mode=link i686-w64-mingw32-g++  -g -O2 -frounding-math  -W -Wall -no-undefined -version-info 9:0:0  -o libppl.la -rpath /mingw-native/lib Box.lo checked.lo Checked_Number.lo Float.lo fpu-ia32.lo Constraint.lo Constraint_System.lo Congruence.lo Congruence_System.lo Generator_System.lo Grid_Generator_System.lo Generator.lo Grid_Generator.lo Init.lo Coefficient.lo Linear_Expression.lo Linear_System.lo Matrix.lo Scalar_Products.lo MIP_Problem.lo PIP_Tree.lo PIP_Problem.lo Poly_Con_Relation.lo Poly_Gen_Relation.lo BHRZ03_Certificate.lo H79_Certificate.lo Grid_Certificate.lo Partial_Function.lo Polyhedron_nonpublic.lo Polyhedron_public.lo Polyhedron_chdims.lo Polyhedron_widenings.lo C_Polyhedron.lo NNC_Polyhedron.lo Grid_nonpublic.lo Grid_public.lo Grid_chdims.lo Grid_widenings.lo BD_Shape.lo Octagonal_Shape.lo Pointset_Powerset.lo Row.lo Linear_Row.lo Bit_Matrix.lo Bit_Row.lo Ph_Status.lo Grid_Status.lo Variable.lo Variables_Set.lo conversion.lo minimize.lo simplify.lo Grid_conversion.lo Grid_simplify.lo stdiobuf.lo c_streambuf.lo globals.lo mp_std_bits.lo Weight_Profiler.lo version.lo    termination.lo wrap_string.lo -L/mingw-native/lib -lgmpxx -L/mingw-native/lib -lgmp 

*** Warning: This system can not link to static lib archive /mingw-native/lib/libgmpxx.la.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.

*** Warning: This system can not link to static lib archive /mingw-native/lib/libgmp.la.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
libtool: link: rm -fr  .libs/libppl.dll.a
libtool: link: i686-w64-mingw32-g++ -shared -nostdlib /mingw-cross/lib/gcc/i686-w64-mingw32/4.6.0/../../../../i686-w64-mingw32/lib/../lib/dllcrt2.o /mingw-cross/lib/gcc/i686-w64-mingw32/4.6.0/crtbegin.o  .libs/Box.o .libs/checked.o .libs/Checked_Number.o .libs/Float.o .libs/fpu-ia32.o .libs/Constraint.o .libs/Constraint_System.o .libs/Congruence.o .libs/Congruence_System.o .libs/Generator_System.o .libs/Grid_Generator_System.o .libs/Generator.o .libs/Grid_Generator.o .libs/Init.o .libs/Coefficient.o .libs/Linear_Expression.o .libs/Linear_System.o .libs/Matrix.o .libs/Scalar_Products.o .libs/MIP_Problem.o .libs/PIP_Tree.o .libs/PIP_Problem.o .libs/Poly_Con_Relation.o .libs/Poly_Gen_Relation.o .libs/BHRZ03_Certificate.o .libs/H79_Certificate.o .libs/Grid_Certificate.o .libs/Partial_Function.o .libs/Polyhedron_nonpublic.o .libs/Polyhedron_public.o .libs/Polyhedron_chdims.o .libs/Polyhedron_widenings.o .libs/C_Polyhedron.o .libs/NNC_Polyhedron.o .libs/Grid_nonpublic.o .libs/Grid_public.o .libs/Grid_chdims.o .libs/Grid_widenings.o .libs/BD_Shape.o .libs/Octagonal_Shape.o .libs/Pointset_Powerset.o .libs/Row.o .libs/Linear_Row.o .libs/Bit_Matrix.o .libs/Bit_Row.o .libs/Ph_Status.o .libs/Grid_Status.o .libs/Variable.o .libs/Variables_Set.o .libs/conversion.o .libs/minimize.o .libs/simplify.o .libs/Grid_conversion.o .libs/Grid_simplify.o .libs/stdiobuf.o .libs/c_streambuf.o .libs/globals.o .libs/mp_std_bits.o .libs/Weight_Profiler.o .libs/version.o .libs/termination.o .libs/wrap_string.o   -L/mingw-native/lib -L/usr/lib/gcc/i686-w64-mingw32/4.5.1 /usr/lib/gcc/i686-w64-mingw32/4.5.1/libstdc++.dll.a -L/mingw-cross/lib/gcc/i686-w64-mingw32/4.6.0 -L/mingw-cross/lib/gcc/i686-w64-mingw32/4.6.0/../../../../i686-w64-mingw32/lib/../lib -L/mingw-cross/lib/gcc/i686-w64-mingw32/4.6.0/../../../../i686-w64-mingw32/lib /mingw-native/lib/../lib/libstdc++.dll.a -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt /mingw-cross/lib/gcc/i686-w64-mingw32/4.6.0/crtend.o    -o .libs/libppl-9.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libppl.dll.a
collect2: ld terminated with signal 11 [Segmentation fault], core dumped


ld.exe.stackdump contains this:
===============================

Exception: STATUS_ACCESS_VIOLATION at eip=6110D8F1
eax=7A266ECE ebx=00000000 ecx=FFFFFFFF edx=7A266ECE esi=00000057 edi=7A266ECE
ebp=015DBD58 esp=015DBD54 program=D:\cygwin\mingw-cross\i686-w64-mingw32\bin\ld.exe, pid 6380, thread main
cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame     Function  Args
015DBD58  6110D8F1  (7A266ECE, 015DC48A, 015DC56F, 00000001)
015DC4A8  61115494  (015DD000, 6115F410, 015DC518, 015DC92C)
015DC4C8  61116CFE  (6115F410, 015DC518, 015DC928, 0310F858)
015DC918  610C01A5  (004BB814, 01C0F918, 7A266ECE, 004529B2)
015DC958  00438251  (01C0F918, 015DCAB8, 03EFFF9C, 00000A38)
015DCB08  0044EFA6  (015DCB74, 01C0F918, 00000000, 00000000)
015DCC28  00451B7B  (01BA2360, 004CDBE0, 015DCCB8, 004113D8)
015DCCB8  00414DE3  (01B9B308, 6123B404, 00000000, 00000000)
015DCD28  00413E89  (00000068, 6123B404, 01B700C8, 6100479E)
015DCD58  61006CD3  (00000000, 015DCD94, 61006570, 7EFDE000)
End of stack trace
Comment 1 Alen Skondro 2011-03-04 18:11:23 UTC
Additional data:

Just to make it sure...

ld.exe is on host i686-pc-cygwin targeting i686-w64-mingw32.
Comment 2 Kai Tietz 2012-02-10 17:42:02 UTC
Bug was fixed on gcc's side AFAIK.  If you still have issues with newer binutils/gcc version, don't hesitate to open a new bug.