diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk index accb429391..501fcea50f 100644 --- a/package/gcc/gcc.mk +++ b/package/gcc/gcc.mk @@ -112,6 +112,13 @@ GCC_COMMON_TARGET_CXXFLAGS = $(filter-out -Os,$(GCC_COMMON_TARGET_CXXFLAGS)) endif endif +# Xtensa libgcc can't be built with -mtext-section-literals +# because of the trick used to generate .init/.fini sections. +ifeq ($(BR2_xtensa),y) +GCC_COMMON_TARGET_CFLAGS = $(filter-out -mtext-section-literals,$(TARGET_CFLAGS)) +GCC_COMMON_TARGET_CXXFLAGS = $(filter-out -mtext-section-literals,$(TARGET_CXXFLAGS)) +endif + # Propagate options used for target software building to GCC target libs HOST_GCC_COMMON_CONF_ENV += CFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_CFLAGS)" HOST_GCC_COMMON_CONF_ENV += CXXFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_CXXFLAGS)"