|
@@ -24,11 +24,24 @@ HOST_GCC_INITIAL_SUBDIR = build
|
|
|
|
|
|
HOST_GCC_INITIAL_PRE_CONFIGURE_HOOKS += HOST_GCC_CONFIGURE_SYMLINK
|
|
HOST_GCC_INITIAL_PRE_CONFIGURE_HOOKS += HOST_GCC_CONFIGURE_SYMLINK
|
|
|
|
|
|
|
|
+# gcc on ARC has a bug: in its libgcc, even when no C library is
|
|
|
|
+# available (--with-newlib is passed, and therefore inhibit_libc is
|
|
|
|
+# defined), it tries to use the C library for the libgmon
|
|
|
|
+# library. Since it's not needed in gcc-initial, we disabled it here.
|
|
|
|
+ifeq ($(BR2_GCC_VERSION_4_8_ARC),y)
|
|
|
|
+define HOST_GCC_INITIAL_DISABLE_LIBGMON
|
|
|
|
+ $(SED) 's/crtbeginS.o libgmon.a crtg.o/crtbeginS.o crtg.o/' \
|
|
|
|
+ $(@D)/libgcc/config.host
|
|
|
|
+endef
|
|
|
|
+HOST_GCC_INITIAL_POST_PATCH_HOOKS += HOST_GCC_INITIAL_DISABLE_LIBGMON
|
|
|
|
+endif
|
|
|
|
+
|
|
HOST_GCC_INITIAL_CONF_OPT = \
|
|
HOST_GCC_INITIAL_CONF_OPT = \
|
|
$(HOST_GCC_COMMON_CONF_OPT) \
|
|
$(HOST_GCC_COMMON_CONF_OPT) \
|
|
--enable-languages=c \
|
|
--enable-languages=c \
|
|
--disable-shared \
|
|
--disable-shared \
|
|
--without-headers \
|
|
--without-headers \
|
|
|
|
+ --disable-threads \
|
|
--with-newlib \
|
|
--with-newlib \
|
|
--disable-largefile \
|
|
--disable-largefile \
|
|
--disable-nls \
|
|
--disable-nls \
|
|
@@ -37,7 +50,10 @@ HOST_GCC_INITIAL_CONF_OPT = \
|
|
HOST_GCC_INITIAL_CONF_ENV = \
|
|
HOST_GCC_INITIAL_CONF_ENV = \
|
|
$(HOST_GCC_COMMON_CONF_ENV)
|
|
$(HOST_GCC_COMMON_CONF_ENV)
|
|
|
|
|
|
-HOST_GCC_INITIAL_MAKE_OPT = all-gcc
|
|
|
|
-HOST_GCC_INITIAL_INSTALL_OPT = install-gcc
|
|
|
|
|
|
+# We need to tell gcc that the C library will be providing the ssp
|
|
|
|
+# support, as it can't guess it since the C library hasn't been built
|
|
|
|
+# yet (we're gcc-initial).
|
|
|
|
+HOST_GCC_INITIAL_MAKE_OPT = $(if $(BR2_TOOLCHAIN_HAS_SSP),gcc_cv_libc_provides_ssp=yes) all-gcc all-target-libgcc
|
|
|
|
+HOST_GCC_INITIAL_INSTALL_OPT = install-gcc install-target-libgcc
|
|
|
|
|
|
$(eval $(host-autotools-package))
|
|
$(eval $(host-autotools-package))
|