MSys2 uses Visual C++'s runtime DLL while CygWin uses a more POSIX-style
runtime. That difference doesn't narrow it down much but at least it's a
start. Looking at your linker output, you're using driver-i386.o on an
x86_64 target. Maybe that's a potential culprit since CygWin is based on a
more Linux-like target where x86 compatibility isn't assumed on x86_64. Any
more ideas?

On Sat, Oct 5, 2024, 3:02 PM ASSI <strom...@nexgo.de> wrote:

> ASSI writes:
> > The libgccjit library seems to have grown to have too many symbols:
> >
> > /mnt/share/cygpkgs/gcc/gcc.x86_64/build/./prev-gcc/xg++
> -B/mnt/share/cygpkgs/gcc/gcc.x86_64/build/./prev-gcc/
> -B/usr/x86_64-pc-cygwin/bin/ -nostdinc++
> -B/mnt/share/cygpkgs/gcc/gcc.x86_64/build/prev-x86_64-pc-cygwin/libstdc++-v3/src/.libs
> -B/mnt/share/cygpkgs/gcc/gcc.x86_64/build/prev-x86_64-pc-cygwin/libstdc++-v3/libsupc++/.libs
> -I/mnt/share/cygpkgs/gcc/gcc.x86_64/build/prev-x86_64-pc-cygwin/libstdc++-v3/include/x86_64-pc-cygwin
> -I/mnt/share/cygpkgs/gcc/gcc.x86_64/build/prev-x86_64-pc-cygwin/libstdc++-v3/include
> -I/mnt/share/cygpkgs/gcc/gcc.x86_64/src/gcc-13-20230902/libstdc++-v3/libsupc++
> -L/mnt/share/cygpkgs/gcc/gcc.x86_64/build/prev-x86_64-pc-cygwin/libstdc++-v3/src/.libs
> -L/mnt/share/cygpkgs/gcc/gcc.x86_64/build/prev-x86_64-pc-cygwin/libstdc++-v3/libsupc++/.libs
> -no-pie   -g -O2 -fno-checking -gtoggle -DIN_GCC     -fno-exceptions
> -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing
> -Wwrite-strings -Wcast-qual -Wmissing-format-attribute
> -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long
> -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H
> -static-libstdc++ -static-libgcc -Wl,--stack,12582912 -o cyggccjit-0.dll
> -shared \
> >      attribs.o jit/dummy-frontend.o jit/libgccjit.o jit/jit-logging.o
> jit/jit-recording.o jit/jit-playback.o jit/jit-result.o jit/jit-tempdir.o
> jit/jit-builtins.o jit/jit-spec.o gcc.o libbackend.a libcommon-target.a
> libcommon.a \
> >      ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a  libcommon.a
> ../libcpp/libcpp.a -lintl -liconv ../libbacktrace/.libs/libbacktrace.a
> ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a  -lisl -lmpc -lmpfr
> -lgmp   -lz -lzstd  \
> >        driver-i386.o \
> >      -Wl,--out-implib,libgccjit.dll.a
> > /usr/x86_64-pc-cygwin/bin/ld: error: export ordinal too large: 70473
> > collect2: error: ld returned 1 exit status
> >
> > This is gcc-13.2.0+20230902, this still works with gcc-12.3.0+20230901.
> > Ideas?
>
> The error is still there in gcc-13.3.1+20241004, only the export
> ordinal has grown further to 70578.  I see that MSys2 builds libgccjit0
> as well and doesn't seem to have such problems, so I wonder where the
> difference comes from… ideas?
>
>
> Regards,
> Achim.
> --
> +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+
>
>

Reply via email to