Hi, Are there some history or reason for this design ? I think it’s clear & simple to keep coherent logic, namely that there should be libgcc_eh.a for exceptions :)
Add Makefile.in segment of libgcc as following: # Build LIB2ADDEH, LIB2ADDEHSTATIC, and LIB2ADDEHSHARED. If we don't have # libgcc_eh.a, only LIB2ADDEH matters. If we do, only LIB2ADDEHSTATIC and # LIB2ADDEHSHARED matter. (Usually all three are identical.) c_flags := -fexceptions ifeq ($(enable_shared),yes) libgcc-eh-objects += $(addsuffix $(objext),$(basename $(notdir $(LIB2ADDEHSTATIC)))) libgcc-s-objects += $(addsuffix _s$(objext),$(basename $(notdir $(LIB2ADDEHSHARED)))) iter-items := $(sort $(LIB2ADDEHSTATIC) $(LIB2ADDEHSHARED)) include $(iterator) else # Not shared. LIB2ADDEH are added to libgcc.a. libgcc-objects += $(addsuffix $(objext),$(basename $(notdir $(LIB2ADDEH)))) iter-items := $(LIB2ADDEH) include $(iterator) endif — Jojo