package/libscrypt: add patch to fix CFLAGS/LDFLAGS passing

Because Buildroot passes its own CFLAGS/LDFLAGS, this was overriding
the ones from the package Makefile, leading to build failures because
-fPIC was no longer being passed.

This commit fixes that by adding a patch that allows to keep the
package CFLAGS while passing additional ones through the make command
line. While doing this, it also removes a few hardcoded optimization
and hardening flags, leaving it to Buildroot to decide whether they
should be passed or not. This makes the workaround for stack protector
no longer needed.

Fixes:

  http://autobuild.buildroot.net/results/b25/b256d003d841e492da073788198203e7cbc834cf/

Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
[Thomas: tweak commit log and patch description.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Stefan Sørensen 2017-03-14 09:36:08 +01:00 committed by Thomas Petazzoni
parent 30e562d0e0
commit 4ac1a2b1ba
2 changed files with 34 additions and 7 deletions

View File

@ -0,0 +1,34 @@
From 097c5d9248f4afd34c73de5aba01a143ef784257 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20S=C3=B8rensen?= <stefan.sorensen@spectralink.com>
Date: Tue, 14 Mar 2017 09:23:51 +0100
Subject: [PATCH] Allow adding options to CFLAGS and LDFLAGS variables
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This also removes a number of hard-coded CFLAGS, leaving it up to the
user to pass appropriate optimization/hardening flags.
Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 7022a4a..3098a9a 100644
--- a/Makefile
+++ b/Makefile
@@ -5,8 +5,8 @@ MAKE_DIR ?= install -d
INSTALL_DATA ?= install
CC?=gcc
-CFLAGS?=-O2 -Wall -g -D_FORTIFY_SOURCE=2 -fstack-protector -fPIC
-LDFLAGS?=-Wl,-z,now -Wl,-z,relro -Wl,-soname,libscrypt.so.0 -Wl,--version-script=libscrypt.version
+override CFLAGS+=-fPIC
+override LDFLAGS+=-Wl,-z,now -Wl,-z,relro -Wl,-soname,libscrypt.so.0 -Wl,--version-script=libscrypt.version
CFLAGS_EXTRA?=-Wl,-rpath=.
all: reference
--
2.7.4

View File

@ -10,13 +10,6 @@ LIBSCRYPT_LICENSE = BSD-2c
LIBSCRYPT_LICENSE_FILES = LICENSE
LIBSCRYPT_INSTALL_STAGING = YES
ifeq ($(BR2_TOOLCHAIN_HAS_SSP),)
define LIBSCRYPT_DISABLE_STACK_PROTECTOR
$(SED) 's/-fstack-protector//g' $(@D)/Makefile
endef
LIBSCRYPT_POST_PATCH_HOOKS += LIBSCRYPT_DISABLE_STACK_PROTECTOR
endif
define LIBSCRYPT_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS)
endef