On Wed, 17 Nov 2021 at 21:43, Andre McCurdy <armccu...@gmail.com> wrote:
> On Wed, Nov 17, 2021 at 7:36 AM Alexander Kanavin > <alex.kana...@gmail.com> wrote: > > > > This was added 10 years ago, is almost certainly non-upstreamable > > and it isn't clear what the issues it aims to fix are: > > the AB revealed no problems when the patch is removed. > > The comment in the patch was: This fixes the issue where LDFLAGS > escaped with -Wl are ignored during compilation. Seems fairly clear! > > Checking that the AB run didn't fail is probably not enough to justify > removing this patch. You should also confirm that LDFLAGS escaped with > -Wl (e.g. -Wl,-z,relro,-z,now when security flags are enabled, etc) > are still passed to the linker. > Thanks, I will double check. Alex > > > Signed-off-by: Alexander Kanavin <a...@linutronix.de> > > --- > > ...ing-instead-of-LD-and-use-CFLAGS-and.patch | 114 ------------------ > > meta/recipes-core/busybox/busybox_1.34.1.bb | 1 - > > 2 files changed, 115 deletions(-) > > delete mode 100644 > meta/recipes-core/busybox/busybox/0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch > > > > diff --git > a/meta/recipes-core/busybox/busybox/0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch > b/meta/recipes-core/busybox/busybox/0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch > > deleted file mode 100644 > > index 2bf2b91c7e..0000000000 > > --- > a/meta/recipes-core/busybox/busybox/0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch > > +++ /dev/null > > @@ -1,114 +0,0 @@ > > -From a9333eb6a7b8dbda735947cd5bc981ff9352a2c9 Mon Sep 17 00:00:00 2001 > > -From: Nathan Phillip Brink <ohnobi...@ohnopublishing.net> > > -Date: Thu, 10 Mar 2011 00:27:08 -0500 > > -Subject: [PATCH 1/2] Use $(CC) when linking instead of $(LD) and use > $(CFLAGS) > > - and $(EXTRA_CFLAGS) when linking. > > - > > -This fixes the issue where LDFLAGS escaped with -Wl are ignored during > > -compilation. It also simplifies using CFLAGS or EXTRA_CFLAGS (such as > > --m32 on x86_64 or -flto) which apply to both compilation and linking > > -situations. > > - > > -Signed-off-by: Nathan Phillip Brink <ohnobi...@ohnopublishing.net> > > ---- > > -Upstream-Status: Pending > > - > > - Makefile | 7 ++++--- > > - scripts/Makefile.build | 8 ++++---- > > - scripts/Makefile.lib | 13 +++---------- > > - 3 files changed, 11 insertions(+), 17 deletions(-) > > - > > -Index: busybox-1.23.2/Makefile > > -=================================================================== > > ---- busybox-1.23.2.orig/Makefile > > -+++ busybox-1.23.2/Makefile > > -@@ -309,7 +309,8 @@ CHECKFLAGS := -D__linux__ -Dlinux -D > > - MODFLAGS = -DMODULE > > - CFLAGS_MODULE = $(MODFLAGS) > > - AFLAGS_MODULE = $(MODFLAGS) > > --LDFLAGS_MODULE = -r > > -+LDFLAGS_RELOCATABLE = -r -nostdlib > > -+LDFLAGS_MODULE = $(LDFLAGS_RELOCATABLE) > > - CFLAGS_KERNEL = > > - AFLAGS_KERNEL = > > - > > -@@ -331,7 +332,7 @@ KERNELVERSION = $(VERSION).$(PATCHLEVEL) > > - export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION \ > > - ARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \ > > - CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL > UTS_MACHINE \ > > -- HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS > > -+ HOSTCXX HOSTCXXFLAGS LDFLAGS_RELOCATABLE LDFLAGS_MODULE CHECK > CHECKFLAGS > > - > > - export CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS > > - export CFLAGS CFLAGS_KERNEL CFLAGS_MODULE > > -@@ -610,7 +611,7 @@ quiet_cmd_busybox__ ?= LINK $@ > > - cmd_busybox__ ?= $(srctree)/scripts/trylink \ > > - "$@" \ > > - "$(CC)" \ > > -- "$(CFLAGS) $(CFLAGS_busybox)" \ > > -+ "$(CFLAGS) $(CFLAGS_busybox) $(EXTRA_CFLAGS)" \ > > - "$(LDFLAGS) $(EXTRA_LDFLAGS)" \ > > - "$(core-y)" \ > > - "$(libs-y)" \ > > -Index: busybox-1.23.2/scripts/Makefile.build > > -=================================================================== > > ---- busybox-1.23.2.orig/scripts/Makefile.build > > -+++ busybox-1.23.2/scripts/Makefile.build > > -@@ -174,7 +174,7 @@ cmd_modversions = > \ > > - | $(GENKSYMS) -a $(ARCH) \ > > - > $(@D)/.tmp_$(@F:.o=.ver); \ > > - \ > > -- $(LD) $(LDFLAGS) -r -o $@ $(@D)/.tmp_$(@F) \ > > -+ $(CC) $(ld_flags_partial) $(LDFLAGS_RELOCATABLE) -o $@ > $(@D)/.tmp_$(@F) \ > > - -T $(@D)/.tmp_$(@F:.o=.ver); \ > > - rm -f $(@D)/.tmp_$(@F) $(@D)/.tmp_$(@F:.o=.ver); \ > > - else \ > > -@@ -257,7 +257,7 @@ quiet_cmd_link_o_target = LD $@ > > - # If the list of objects to link is empty, just create an empty > built-in.o > > - # -nostdlib is added to make "make LD=gcc ..." work (some people use > that) > > - cmd_link_o_target = $(if $(strip $(obj-y)),\ > > -- $(LD) -nostdlib $(ld_flags) -r -o $@ $(filter $(obj-y), > $^),\ > > -+ $(CC) $(ld_flags_partial) $(LDFLAGS_RELOCATABLE) -o $@ > $(filter $(obj-y), $^),\ > > - rm -f $@; $(AR) rcs $@) > > - > > - $(builtin-target): $(obj-y) FORCE > > -@@ -292,10 +292,10 @@ $($(subst $(obj)/,,$(@:.o=-objs))) \ > > - $($(subst $(obj)/,,$(@:.o=-y)))), $^) > > - > > - quiet_cmd_link_multi-y = LD $@ > > --cmd_link_multi-y = $(LD) $(ld_flags) -r -o $@ $(link_multi_deps) > > -+cmd_link_multi-y = $(CC) $(ld_flags_partial) $(LDFLAGS_RELOCATABLE) -o > $@ $(link_multi_deps) > > - > > - quiet_cmd_link_multi-m = LD [M] $@ > > --cmd_link_multi-m = $(LD) $(ld_flags) $(LDFLAGS_MODULE) -o $@ > $(link_multi_deps) > > -+cmd_link_multi-m = $(CC) $(ld_flags) $(LDFLAGS_MODULE) -o $@ > $(link_multi_deps) > > - > > - # We would rather have a list of rules like > > - # foo.o: $(foo-objs) > > -Index: busybox-1.23.2/scripts/Makefile.lib > > -=================================================================== > > ---- busybox-1.23.2.orig/scripts/Makefile.lib > > -+++ busybox-1.23.2/scripts/Makefile.lib > > -@@ -121,7 +121,8 @@ cpp_flags = -Wp,-MD,$(depfile) $(NO > > - # yet ld_flags is fed to ld. > > - #ld_flags = $(LDFLAGS) $(EXTRA_LDFLAGS) > > - # Remove the -Wl, prefix from linker options normally passed through > gcc > > --ld_flags = $(filter-out -Wl$(comma)%,$(LDFLAGS) $(EXTRA_LDFLAGS)) > > -+ld_flags = $(filter-out -Wl$(comma)%,$(LDFLAGS) $(EXTRA_LDFLAGS) > $(CFLAGS) $(EXTRA_CFLAGS)) > > -+ld_flags_partial = $($(filter-out -shared%, $(filter-out > -pie%,$(ld_flags)))) > > - > > - > > - # Finds the multi-part object the current object will be linked into > > -@@ -151,10 +152,8 @@ $(obj)/%:: $(src)/%_shipped > > - # Linking > > - # > --------------------------------------------------------------------------- > > - > > --# TODO: LDFLAGS usually is supposed to contain gcc's flags, not ld's. > > --# but here we feed them to ld! > > --quiet_cmd_ld = LD $@ > > --cmd_ld = $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS_$(@F)) \ > > -+quiet_cmd_ld = CC $@ > > -+cmd_ld = $(CC) $(ld_flags) $(LDFLAGS_$(@F)) \ > > - $(filter-out FORCE,$^) -o $@ > > - > > - # Objcopy > > diff --git a/meta/recipes-core/busybox/busybox_1.34.1.bb > b/meta/recipes-core/busybox/busybox_1.34.1.bb > > index 6aed0f0476..3651c06126 100644 > > --- a/meta/recipes-core/busybox/busybox_1.34.1.bb > > +++ b/meta/recipes-core/busybox/busybox_1.34.1.bb > > @@ -26,7 +26,6 @@ SRC_URI = " > https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ > > file://login-utilities.cfg \ > > file://recognize_connmand.patch \ > > file://busybox-cross-menuconfig.patch \ > > - > file://0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch \ > > file://mount-via-label.cfg \ > > file://sha1sum.cfg \ > > file://sha256sum.cfg \ > > -- > > 2.20.1 > > > > > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#158461): https://lists.openembedded.org/g/openembedded-core/message/158461 Mute This Topic: https://lists.openembedded.org/mt/87122011/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-