https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115300

--- Comment #7 from Julian Waters <tanksherman27 at gmail dot com> ---
The patch to omit the insn-emit object files does help slightly, but there are
still far too many symbols being exported. Is there any hint as to which object
files don't need to be exported for the plugin API? I'd much rather include
logic to exclude these object files than lose the ability to run LTO with gcc
for Windows, as to my knowledge gcc's LTO capabilities come from the linker
plugin.

# g++ -std=c++14 -no-pie   -g -D__USE_MINGW_ACCESS -DIN_GCC    -fno-exceptions
-fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-error=narrowing
-Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute
-Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings  -DHAVE_CONFIG_H -no-pie
-static-libstdc++ -static-libgcc -Wl,--stack,67108864
-Wl,--undefined=HOST_EXTRA_OBJS_SYMBOL -o cc1plus.exe       cp/cp-lang.o
c-family/stub-objc.o cp/call.o cp/class.o cp/constexpr.o cp/constraint.o
cp/coroutines.o cp/cp-gimplify.o cp/cp-objcp-common.o cp/cp-ubsan.o cp/cvt.o
cp/contracts.o cp/cxx-pretty-print.o cp/decl.o cp/decl2.o cp/dump.o cp/error.o
cp/except.o cp/expr.o cp/friend.o cp/init.o cp/lambda.o cp/lex.o cp/logic.o
cp/mangle.o cp/mapper-client.o cp/mapper-resolver.o cp/method.o cp/module.o
cp/name-lookup.o cp/optimize.o cp/parser.o cp/pt.o cp/ptree.o cp/reflect.o
cp/rtti.o cp/search.o cp/semantics.o cp/tree.o cp/typeck.o cp/typeck2.o
cp/vtable-class-hierarchy.o attribs.o c-family/c-common.o
c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o
c-family/c-gimplify.o c-family/c-indentation.o c-family/c-lex.o
c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o
c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o
c-family/c-ada-spec.o c-family/c-ubsan.o c-family/known-headers.o
c-family/c-attribs.o c-family/c-warn.o c-family/c-spellcheck.o
c-family/c-type-mismatch.o i386-c.o winnt-c.o winnt-cxx.o msformat-c.o
cc1plus-checksum.o simple-diagnostic-path.o diagnostics/lazy-paths.o
libbackend.a main.o libcommon-target.a libcommon.a ../libcpp/libcpp.a
../libdecnumber/libdecnumber.a ../libcody/libcody.a         libcommon.a
../libcpp/libcpp.a  -liconv ../libbacktrace/.libs/libbacktrace.a
../libiberty/libiberty.a ../libdecnumber/libdecnumber.a  -lws2_32 -L/ucrt64/lib
-lisl -L/ucrt64/lib -L/ucrt64/lib -L/ucrt64/lib -lmpc -lmpfr -lgmp
-Wl,--export-all-symbols -Wl,--out-implib=cc1plus.exe.a
-Wl,--exclude-modules-for-implib,insn-emit-1.o:insn-emit-2.o:insn-emit-3.o:insn-emit-4.o:insn-emit-5.o:insn-emit-6.o:insn-emit-7.o:insn-emit-8.o:insn-emit-9.o:insn-emit-10.o
 -L./../zlib -lz -lzstd
C:/msys64/ucrt64/lib/gcc/x86_64-w64-mingw32/15.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
error: export ordinal too large: 89084
collect2.exe: error: ld returned 1 exit status

Reply via email to