mirror of
https://git.yoctoproject.org/poky
synced 2026-06-02 01:19:52 +00:00
libtool: Let -fstack-protector passed to link step
linker should add -lssp to linker cmdline when -fstack-protector therefore add this knowledge to libtool otherwise packages will fail to link (From OE-Core rev: d1756ff379ab310bfa6323d8643b7e9d764f94bf) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -8,7 +8,7 @@ LICENSE = "GPLv2 & LGPLv2.1"
|
|||||||
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
|
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
|
||||||
file://libltdl/COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
|
file://libltdl/COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
|
||||||
|
|
||||||
INC_PR = "r3"
|
INC_PR = "r4"
|
||||||
|
|
||||||
SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
|
SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
|
||||||
file://trailingslash.patch \
|
file://trailingslash.patch \
|
||||||
@@ -18,6 +18,7 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
|
|||||||
file://fix-final-rpath.patch \
|
file://fix-final-rpath.patch \
|
||||||
file://avoid_absolute_paths_for_general_utils.patch \
|
file://avoid_absolute_paths_for_general_utils.patch \
|
||||||
file://fix-rpath.patch \
|
file://fix-rpath.patch \
|
||||||
|
file://respect-fstack-protector.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "d2f3b7d4627e69e13514a40e72a24d50"
|
SRC_URI[md5sum] = "d2f3b7d4627e69e13514a40e72a24d50"
|
||||||
|
|||||||
@@ -0,0 +1,53 @@
|
|||||||
|
Source: http://permalink.gmane.org/gmane.comp.gnu.libtool.bugs/7341
|
||||||
|
|
||||||
|
Bug confirmed. When code is compiled with -fstack-protector{,-all},
|
||||||
|
GCC "emits extra code to check for buffer overflows, such as stack
|
||||||
|
smashing attacks". This extra code uses symbols from libssp, and
|
||||||
|
therefore (at least) Cygwin's GCC specs contain:
|
||||||
|
|
||||||
|
*link_ssp:
|
||||||
|
%{fstack-protector|fstack-protector-all:-lssp_nonshared -lssp}
|
||||||
|
|
||||||
|
Therefore, when libtool fails to pass -fstack-protector{,-all} at link
|
||||||
|
stage, the link fails.
|
||||||
|
|
||||||
|
Patch attached. (Yes, I have a copyright assignment on file.)
|
||||||
|
|
||||||
|
Yaakov
|
||||||
|
Cygwin/X
|
||||||
|
|
||||||
|
From b79f4e117b6f73cc461a2e232063e08481d33300 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Yaakov Selkowitz <yselkowitz <at> users.sourceforge.net>
|
||||||
|
Date: Tue, 1 Jun 2010 22:18:51 -0500
|
||||||
|
Subject: [PATCH] Fix linking with -fstack-protector
|
||||||
|
|
||||||
|
* libltdl/config/ltmain.m4sh (func_mode_link): Pass -fstack-protector*
|
||||||
|
to the linker as it is required at link time to resolve libssp symbols.
|
||||||
|
|
||||||
|
Signed-off-by: Yaakov Selkowitz <yselkowitz <at> users.sourceforge.net>
|
||||||
|
---
|
||||||
|
libltdl/config/ltmain.m4sh | 4 +++-
|
||||||
|
1 files changed, 3 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Upstream-Status: Pending
|
||||||
|
Index: libtool-2.4.2/libltdl/config/ltmain.m4sh
|
||||||
|
===================================================================
|
||||||
|
--- libtool-2.4.2.orig/libltdl/config/ltmain.m4sh 2012-06-01 12:35:44.089638130 -0700
|
||||||
|
+++ libtool-2.4.2/libltdl/config/ltmain.m4sh 2012-06-01 12:37:25.789643055 -0700
|
||||||
|
@@ -5067,13 +5067,14 @@
|
||||||
|
# -m*, -t[45]*, -txscale* architecture-specific flags for GCC
|
||||||
|
# -F/path path to uninstalled frameworks, gcc on darwin
|
||||||
|
# -p, -pg, --coverage, -fprofile-* profiling flags for GCC
|
||||||
|
+ # -fstack-protector* stack protector flags for GCC
|
||||||
|
# @file GCC response files
|
||||||
|
# -tp=* Portland pgcc target processor selection
|
||||||
|
# --sysroot=* for sysroot support
|
||||||
|
# -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
|
||||||
|
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
|
||||||
|
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
|
||||||
|
- -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
|
||||||
|
+ -O*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*)
|
||||||
|
func_quote_for_eval "$arg"
|
||||||
|
arg="$func_quote_for_eval_result"
|
||||||
|
func_append compile_command " $arg"
|
||||||
Reference in New Issue
Block a user