Hi,
I generally build perl myself (using a mingw-w64 port of gcc).
With these perls (both 32-bit and 64-bit) when I build a perl extension, the
extension's dll that gets built has always been dependent on
libgcc_s_sjlj-1.dll .... until 64-bit gcc-5.3.0.
With the 32-bit perl-5.24.0 (built with 32-bit gcc-5.3.0) the
libgcc_s_sjlj-1.dll dependency is still there, but not with 64-bit
perl-5.24.0 (built with 64-bit gcc-5.3.0).
For example, with the 32-bit gcc-5.3.0:
C:\>objdump -x C:\MinGW\perl524_64int_ld\site\lib\auto\Math\GMPz\GMPz.dll |
grep "DLL Name"
DLL Name: libgcc_s_sjlj-1.dll
DLL Name: msvcrt.dll
DLL Name: KERNEL32.dll
DLL Name: perl524.dll
And with the 64-bit gcc-5.3.0:
C:\>objdump -x C:\_64\perl524_530_ld\site\lib\auto\Math\GMPz\GMPz.dll | grep
"DLL Name"
DLL Name: msvcrt.dll
DLL Name: KERNEL32.dll
DLL Name: perl524.dll
Does anyone know why this behaviour might be different for the 64-bit
gcc-5.3.0 ?
Has anyone else seen this behaviour ?
Here's the gcc -v output:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=C:/_64/gcc-mingw-530/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/5.3.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with:
../../../src/gcc-5.3.0/configure --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32
--target=x86_64-w64-mingw32 --prefix=/mingw64 --with-sysroot=/c/mingw530/x86_64-530-posix-sjlj-rt_v4-rev0/mingw64
--with-gxx-include-dir=/mingw64/x86_64-w64-mingw32/include/c++ --enable-shared
--enable-static --enable-targets=all --enable-multilib --enable-languages=c,c++,fortran,lto
--enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic
--enable-lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string
--enable-version-specific-runtime-libs --enable-sjlj-exceptions --disable-isl-version-check
--disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath
--disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as
--with-gnu-ld --with-arch-32=i686 --with-arch-64=nocona --with-tune-32=generic
--with-tune-64=core2 --with-libiconv --with-system-zlib --with-gmp=/c/mingw530/prerequisites/x86_64-w64-mingw32-static
--with-mpfr=/c/mingw530/prerequisites/x86_64-w64-mingw32-static --with-mpc=/c/mingw530/prerequisites/x86_64-w64-mingw32-static
--with-isl=/c/mingw530/prerequisites/x86_64-w64-mingw32-static --with-pkgversion='x86_64-posix-sjlj-rev0,
Built by MinGW-W64
project' --with-bugurl=http://sourceforge.net/projects/mingw-w64
CFLAGS='-O2 -pipe -I/c/mingw530/x86_64-530-posix-sjlj-rt_v4-rev0/mingw64/opt/include
-I/c/mingw530/prerequisites/x86_64-zlib-static/include -I/c/mingw530/prerequisites/x86_64-w64-mingw32-static/include'
CXXFLAGS='-O2 -pipe -I/c/mingw530/x86_64-530-posix-sjlj-rt_v4-rev0/mingw64/opt/include
-I/c/mingw530/prerequisites/x86_64-zlib-static/include -I/c/mingw530/prerequisites/x86_64-w64-mingw32-static/include'
CPPFLAGS=
LDFLAGS='-pipe -L/c/mingw530/x86_64-530-posix-sjlj-rt_v4-rev0/mingw64/opt/lib
-L/c/mingw530/prerequisites/x86_64-zlib-static/lib -L/c/mingw530/prerequisites/x86_64-w64-mingw32-static/lib
'
Thread model: posix
gcc version 5.3.0 (x86_64-posix-sjlj-rev0, Built by MinGW-W64 project)
Cheers,
Rob