diff mbox series

package/shellinabox: fix misdetection of ptsname_r

Message ID ZO2RmRfF1fvQNzyi@waldemar-brodkorb.de
State Changes Requested
Headers show
Series package/shellinabox: fix misdetection of ptsname_r | expand

Commit Message

Waldemar Brodkorb Aug. 29, 2023, 6:35 a.m. UTC
Shellinabox configure fails to detect ptsname_r, because of the following warning
binutils 2.39+ emits:
ld: warning: some.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

Then the build errors out with:
shellinabox/launcher.c:772:12: error: static declaration of 'ptsname_r' follows non-static declaration

Fixes:
 - http://autobuild.buildroot.net/results/3e4/3e478d22e820703ddfd11d1491e631ef8ed6b29b

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
---
 package/shellinabox/shellinabox.mk | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Thomas Petazzoni Aug. 29, 2023, 11:07 a.m. UTC | #1
On Tue, 29 Aug 2023 08:35:05 +0200
Waldemar Brodkorb <wbx@openadk.org> wrote:

> Shellinabox configure fails to detect ptsname_r, because of the following warning
> binutils 2.39+ emits:
> ld: warning: some.o: missing .note.GNU-stack section implies executable stack
> ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
> 
> Then the build errors out with:
> shellinabox/launcher.c:772:12: error: static declaration of 'ptsname_r' follows non-static declaration
> 
> Fixes:
>  - http://autobuild.buildroot.net/results/3e4/3e478d22e820703ddfd11d1491e631ef8ed6b29b
> 
> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
> ---
>  package/shellinabox/shellinabox.mk | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/package/shellinabox/shellinabox.mk b/package/shellinabox/shellinabox.mk
> index 58c1668112..c48b3db96f 100644
> --- a/package/shellinabox/shellinabox.mk
> +++ b/package/shellinabox/shellinabox.mk
> @@ -30,4 +30,8 @@ ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
>  SHELLINABOX_CONF_OPTS += --disable-utmp
>  endif
>  
> +# shellinabox configure check for ptsname_r is failing when
> +# binutils is warning about executable stack
> +SHELLINABOX_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -z noexecstack"

The problem is that this is not affecting just the configure check, it
is also affecting the actual build of the program.

Also, we have a similar issue here:
https://patchwork.ozlabs.org/project/buildroot/patch/20230729103022.378621-1-bernd@kuhls.net/

Can we find a better / more general solution ?

Thomas
diff mbox series

Patch

diff --git a/package/shellinabox/shellinabox.mk b/package/shellinabox/shellinabox.mk
index 58c1668112..c48b3db96f 100644
--- a/package/shellinabox/shellinabox.mk
+++ b/package/shellinabox/shellinabox.mk
@@ -30,4 +30,8 @@  ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
 SHELLINABOX_CONF_OPTS += --disable-utmp
 endif
 
+# shellinabox configure check for ptsname_r is failing when
+# binutils is warning about executable stack
+SHELLINABOX_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -z noexecstack"
+
 $(eval $(autotools-package))