One target file (config/c6x/t-elf) lists _printf and _gcc_bcmp in LIB2FUNCS_EXCLUDE, but that does not have any effect, since those are not filtered away from LIB2FUNCS_ST. Another option is to do as in config/rl78/t-rl78, which explicitly sets LIB2FUNCS_ST
# Remove __gcc_bcmp from LIB2FUNCS_ST LIB2FUNCS_ST = _eprintf but honouring LIB2FUNCS_EXCLUDE also for LIB2FUNCS_ST seems more natural. ==changelog== libgcc/ * Makefile.in: Filter out LIB2FUNCS_EXCLUDE from LIB2FUNCS_ST. --- AFAICT, this will only affect the c6x port, to do what I assume was always intended, but I don't have a way of testing that. My only motivation for this is that I have an out-of-tree VxWorks patch that is more natural on top of this. libgcc/Makefile.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in index 0766de58500..aeb96c475e2 100644 --- a/libgcc/Makefile.in +++ b/libgcc/Makefile.in @@ -472,6 +472,8 @@ lib2funcs := $(filter-out $(LIB2FUNCS_EXCLUDE) $(LIB1ASMFUNCS),$(lib2funcs)) LIB2_DIVMOD_FUNCS := $(filter-out $(LIB2FUNCS_EXCLUDE) $(LIB1ASMFUNCS), \ $(LIB2_DIVMOD_FUNCS)) +LIB2FUNCS_ST := $(filter-out $(LIB2FUNCS_EXCLUDE),$(LIB2FUNCS_ST)) + # Build "libgcc1" (assembly) components. lib1asmfuncs-o = $(patsubst %,%$(objext),$(LIB1ASMFUNCS)) -- 2.19.1.6.g084f1d7761