From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Maksim Kiselev <bigunclemax@gmail.com>, buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH] package/ledmon: add patch fixing SSP detection
Date: Wed, 21 Aug 2024 14:04:46 +0200 [thread overview]
Message-ID: <ZsXX3v8dN0g8vZzh@landeda> (raw)
In-Reply-To: <20240821110335.2018199-1-thomas.petazzoni@bootlin.com>
Thomas, All,
On 2024-08-21 13:03 +0200, Thomas Petazzoni via buildroot spake thusly:
> 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
> b3819b761f4a06bc75fe33b785e5ff2cecc5d211 (which first appeared in
> 2024.05).
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Barring a rebase, upstream seemed OK with the change.
Applied to master, thanks.
Regards,
Yann E. MORIN.
> ---
> ...-AX_CHECK_LINK_FLAG-to-test-gcc-flag.patch | 49 +++++++++++++++++++
> 1 file changed, 49 insertions(+)
> create mode 100644 package/ledmon/0002-configure.ac-use-AX_CHECK_LINK_FLAG-to-test-gcc-flag.patch
>
> diff --git a/package/ledmon/0002-configure.ac-use-AX_CHECK_LINK_FLAG-to-test-gcc-flag.patch b/package/ledmon/0002-configure.ac-use-AX_CHECK_LINK_FLAG-to-test-gcc-flag.patch
> new file mode 100644
> index 0000000000..730eb29595
> --- /dev/null
> +++ b/package/ledmon/0002-configure.ac-use-AX_CHECK_LINK_FLAG-to-test-gcc-flag.patch
> @@ -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
> +
> --
> 2.46.0
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2024-08-21 12:04 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-21 11:03 [Buildroot] [PATCH] package/ledmon: add patch fixing SSP detection Thomas Petazzoni via buildroot
2024-08-21 12:04 ` Yann E. MORIN [this message]
2024-08-21 12:32 ` Thomas Petazzoni via buildroot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZsXX3v8dN0g8vZzh@landeda \
--to=yann.morin.1998@free.fr \
--cc=bigunclemax@gmail.com \
--cc=buildroot@buildroot.org \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox