Am 21.03.25 um 08:58 schrieb Richard Biener:
On Thu, Mar 20, 2025 at 8:05 PM Georg-Johann Lay via Gcc
<gcc@gcc.gnu.org> wrote:

For avr, there is no support for shared objects, yet
when building libgcc, for each module.o there is also module_s.o
that's build with -DSHARED.

How can this be turned off?

What doesn't word is to configure with --disable-shared, and even
without turning it off by hand, there is no use for module_s.o stuff.

--disable-shared should work and ideally also avoid building the object
files.  It sounds like a missed opportunity in libgcc/Makefile.in - that
already guards pieces with ifeq ($(enable_shared),yes), but obviously
not some bits that trigger building the shared objects ...

But where in Makefile.in?  There is this sequence that deals with
LIB1ASMFUNCS + shared:

lib1asmfuncs-s-o = $(patsubst %,%_s$(objext),$(LIB1ASMFUNCS))
$(lib1asmfuncs-s-o): %_s$(objext): $(srcdir)/config/$(LIB1ASMSRC)
        $(gcc_s_compile) -DL$* -xassembler-with-cpp -c $<
ifeq ($(enable_shared),yes)

libgcc-s-objects += $(lib1asmfuncs-s-o)

endif

Not adding the objects to libgcc-s-objects should be enough. No?

Johann

These objects are just boosting the build time for the > 60 multilib
variants by 100%.

What also doesn't work it to set libgcc-s-objects to empty in t-avr.

Thanks, Johann

Reply via email to