From: Peter Korsgaard Date: Thu, 14 May 2009 15:04:41 +0000 (+0200) Subject: cups: fix -fstack-protector configure check X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=21c5e5d0d0f8ae048bcfcb8233f4d6615197f402;p=buildroot.git cups: fix -fstack-protector configure check The configure script failed to detect toolchains without stack protector support. Signed-off-by: Peter Korsgaard --- diff --git a/package/cups/cups-fix-stack-protector-check.patch b/package/cups/cups-fix-stack-protector-check.patch new file mode 100644 index 0000000000..1db35ff02f --- /dev/null +++ b/package/cups/cups-fix-stack-protector-check.patch @@ -0,0 +1,25 @@ +[PATCH]: use AC_TRY_LINK for stack protector check + +Actually try to link an executable to test for stack protector support, +as gcc seems to accept the -fstack-protector argument even when it's +compiled with --disable-libssp (but linking fails with a error +finding -lssp_nonshared). + +Signed-off-by: Peter Korsgaard +--- + config-scripts/cups-compiler.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: cups-1.3.9/config-scripts/cups-compiler.m4 +=================================================================== +--- cups-1.3.9.orig/config-scripts/cups-compiler.m4 ++++ cups-1.3.9/config-scripts/cups-compiler.m4 +@@ -109,7 +109,7 @@ if test -n "$GCC"; then + AC_MSG_CHECKING(if GCC supports -fstack-protector) + OLDCFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -fstack-protector" +- AC_TRY_COMPILE(,, ++ AC_TRY_LINK(,, + OPTIM="$OPTIM -fstack-protector" + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no)) diff --git a/package/cups/cups.mk b/package/cups/cups.mk index d1bf0fa205..9051e0d0fa 100644 --- a/package/cups/cups.mk +++ b/package/cups/cups.mk @@ -74,6 +74,7 @@ $(CUPS_DIR)/.unpacked: $(DL_DIR)/$(CUPS_SOURCE) touch $@ $(CUPS_DIR)/.configured: $(CUPS_DIR)/.unpacked + cd $(CUPS_DIR) && $(AUTOCONF) (cd $(CUPS_DIR) && \ $(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_ARGS) \ @@ -109,7 +110,7 @@ $(CUPS_DIR)/.installed: $(CUPS_DIR)/.compiled $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/bin/cups-config touch $@ -cups: uclibc $(CUPS_DEPENDENCIES) $(CUPS_DIR)/.installed +cups: uclibc host-autoconf $(CUPS_DEPENDENCIES) $(CUPS_DIR)/.installed cups-source: $(DL_DIR)/$(CUPS_SOURCE)