* [Buildroot] [PATCH 1/1] package/mdadm: do not hardcode -fpie
@ 2024-04-12 16:40 Fabrice Fontaine
2024-05-05 13:17 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 2+ messages in thread
From: Fabrice Fontaine @ 2024-04-12 16:40 UTC (permalink / raw)
To: buildroot; +Cc: Fabrice Fontaine
Set LDLIBS to -ldl to remove -fpie and fix the following build failure
raised since bump to version 4.3 in commit
99e9ff08d0705279532ca0cf3de22ea54660cbdc and
https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=55a1150c7438afcb7756fccd49713ede20a58e4a:
/home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/or1k-buildroot-linux-gnu/12.3.0/../../../../or1k-buildroot-linux-gnu/bin/ld: mdmon.o: non-pic relocation against symbol
Fixes: 99e9ff08d0705279532ca0cf3de22ea54660cbdc
- http://autobuild.buildroot.org/results/827b714deeaf091b368d59791e4306b85a8f7f26
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
package/mdadm/mdadm.mk | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/package/mdadm/mdadm.mk b/package/mdadm/mdadm.mk
index c6178700ef..6de9467092 100644
--- a/package/mdadm/mdadm.mk
+++ b/package/mdadm/mdadm.mk
@@ -20,7 +20,8 @@ MDADM_BUILD_OPTS = \
CWFLAGS="" \
CXFLAGS="$(MDADM_CXFLAGS)" \
CPPFLAGS="$(TARGET_CPPFLAGS) -DBINDIR=\\\"/sbin\\\"" \
- CHECK_RUN_DIR=0
+ CHECK_RUN_DIR=0 \
+ LDLIBS=-ldl
MDADM_INSTALL_TARGET_OPTS = install-bin
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/mdadm: do not hardcode -fpie
2024-04-12 16:40 [Buildroot] [PATCH 1/1] package/mdadm: do not hardcode -fpie Fabrice Fontaine
@ 2024-05-05 13:17 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-05-05 13:17 UTC (permalink / raw)
To: Fabrice Fontaine; +Cc: buildroot
On Fri, 12 Apr 2024 18:40:17 +0200
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> Set LDLIBS to -ldl to remove -fpie and fix the following build failure
> raised since bump to version 4.3 in commit
> 99e9ff08d0705279532ca0cf3de22ea54660cbdc and
> https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=55a1150c7438afcb7756fccd49713ede20a58e4a:
>
> /home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/or1k-buildroot-linux-gnu/12.3.0/../../../../or1k-buildroot-linux-gnu/bin/ld: mdmon.o: non-pic relocation against symbol
>
> Fixes: 99e9ff08d0705279532ca0cf3de22ea54660cbdc
> - http://autobuild.buildroot.org/results/827b714deeaf091b368d59791e4306b85a8f7f26
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
> package/mdadm/mdadm.mk | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
Applied to master, even though I must admit the proposed fix is not
ideal. Indeed, it overrides LDLIBS from the package Makefile, which
means that if we update mdadm and they change their Makefile with a
different LDLIBS value, it will no longer work. Some other options
would have been:
- An upstreamable patch that allows to explicitly disable using PIE
- An upstreamable patch that detects if PIE works before using it, a
bit like what they're doing with other gcc flag detection:
FALLTHROUGH := $(shell gcc -Q --help=warnings 2>&1 | grep "implicit-fallthrough" | wc -l)
But well, what you did is good enough, so I've applied as-is. Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-05-05 13:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-12 16:40 [Buildroot] [PATCH 1/1] package/mdadm: do not hardcode -fpie Fabrice Fontaine
2024-05-05 13:17 ` Thomas Petazzoni via buildroot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.