mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-09 16:01:54 -09:00
package/ledmon: add patch fixing SSP detection
Fixes:
/home/buildroot/autobuild/instance-0/output-1/host/lib/gcc/m68k-buildroot-linux-uclibc/13.3.0/../../../../m68k-buildroot-linux-uclibc/bin/ld: cannot find -lssp_nonshared: No such file or directory
/home/buildroot/autobuild/instance-0/output-1/host/lib/gcc/m68k-buildroot-linux-uclibc/13.3.0/../../../../m68k-buildroot-linux-uclibc/bin/ld: cannot find -lssp: No such file or directory
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:425: ledctl] Error 1
http://autobuild.buildroot.net/results/969b62c89bc37326260fb23c5652e21c0662cba2/
This issue exists since upstream commit
940149a9b53627ceabe67b01aac2859fb7c6fde0 ("Add compiler defenses
flags (#145)"), which has added -fstack-protector-strong to the flags
tested and used if supported. This commit first appeared in v1.0.0,
which is used by Buildroot since commit
b3819b761f (which first appeared in
2024.05).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
committed by
Yann E. MORIN
parent
7944b8811b
commit
9f1725c4cc
@@ -0,0 +1,49 @@
|
||||
From 0d391dbcb808755a65fcc9a8a0ceaf3aa53d153f Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
Date: Mon, 19 Aug 2024 00:08:40 +0200
|
||||
Subject: [PATCH] configure.ac: use AX_CHECK_LINK_FLAG() to test gcc flags
|
||||
|
||||
ledmon's configure.ac defines an AX_AM_CFLAGS_ADD() macro that allows
|
||||
to test if a flag is supported by gcc, and if so add it to
|
||||
AM_CFLAGS. In order to test if the flag works, it uses
|
||||
AX_CHECK_COMPILE_FLAG(), which only does a *compile* test, but not
|
||||
a *link* test. However, some flags such as -fstack-protector might
|
||||
appear to work at compile time, but not link time. Therefore
|
||||
-fstack-protector is considered functional:
|
||||
|
||||
checking whether C compiler accepts -fstack-protector-strong... yes
|
||||
|
||||
but the build later fails:
|
||||
|
||||
/home/buildroot/autobuild/instance-0/output-1/host/lib/gcc/m68k-buildroot-linux-uclibc/13.3.0/../../../../m68k-buildroot-linux-uclibc/bin/ld: cannot find -lssp_nonshared: No such file or directory
|
||||
/home/buildroot/autobuild/instance-0/output-1/host/lib/gcc/m68k-buildroot-linux-uclibc/13.3.0/../../../../m68k-buildroot-linux-uclibc/bin/ld: cannot find -lssp: No such file or directory
|
||||
collect2: error: ld returned 1 exit status
|
||||
|
||||
In order to fix this, we test all flags with AX_CHECK_LINK_FLAG()
|
||||
which does a full *link* of the test program. This allows to make sure
|
||||
that the flag is fully functional. In our test case,
|
||||
-fstack-protector-strong will be determined as being non-functional,
|
||||
and therefore won't be used.
|
||||
|
||||
Upstream: https://github.com/intel/ledmon/pull/244
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index d3fada5..747b168 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -52,7 +52,7 @@ AC_CONFIG_HEADERS([config_ac.h])
|
||||
AM_CFLAGS='-Wall -I../config'
|
||||
AM_CPPFLAGS='-D_DEBUG -D_GNU_SOURCE -D_DEFAULT_SOURCE -DDMALLOC_DISABLE -DBUILD_LABEL=\""$(BUILD_LABEL)"\"'
|
||||
|
||||
-AC_DEFUN([AX_AM_CFLAGS_ADD],[AX_CHECK_COMPILE_FLAG($1, AM_CFLAGS="$AM_CFLAGS $1")])
|
||||
+AC_DEFUN([AX_AM_CFLAGS_ADD],[AX_CHECK_LINK_FLAG($1, AM_CFLAGS="$AM_CFLAGS $1")])
|
||||
AX_AM_CFLAGS_ADD([-Wformat -Wformat-security])
|
||||
AX_AM_CFLAGS_ADD([-Wformat-overflow=2])
|
||||
AX_AM_CFLAGS_ADD([-Wno-strict-overflow])
|
||||
--
|
||||
2.46.0
|
||||
|
||||
Reference in New Issue
Block a user