All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	Masahiro Yamada <yamada.masahiro@socionext.com>,
	Nick Desaulniers <ndesaulniers@google.com>,
	Russell King <rmk+kernel@armlinux.org.uk>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 4.19 02/21] ARM: 8858/1: vdso: use $(LD) instead of $(CC) to link VDSO
Date: Fri, 16 Oct 2020 11:07:21 +0200	[thread overview]
Message-ID: <20201016090437.421644062@linuxfoundation.org> (raw)
In-Reply-To: <20201016090437.301376476@linuxfoundation.org>

From: Masahiro Yamada <yamada.masahiro@socionext.com>

[ Upstream commit fe00e50b2db8c60e4ec90befad1f5bab8ca2c800 ]

We use $(LD) to link vmlinux, modules, decompressors, etc.

VDSO is the only exceptional case where $(CC) is used as the linker
driver, but I do not know why we need to do so. VDSO uses a special
linker script, and does not link standard libraries at all.

I changed the Makefile to use $(LD) rather than $(CC). I confirmed
the same vdso.so.raw was still produced.

Users will be able to use their favorite linker (e.g. lld instead of
of bfd) by passing LD= from the command line.

My plan is to rewrite all VDSO Makefiles to use $(LD), then delete

cc-ldoption.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/arm/vdso/Makefile | 21 ++++++++-------------
 1 file changed, 8 insertions(+), 13 deletions(-)

diff --git a/arch/arm/vdso/Makefile b/arch/arm/vdso/Makefile
index f4efff9d3afbb..fadf554d93917 100644
--- a/arch/arm/vdso/Makefile
+++ b/arch/arm/vdso/Makefile
@@ -10,12 +10,12 @@ obj-vdso := $(addprefix $(obj)/, $(obj-vdso))
 ccflags-y := -fPIC -fno-common -fno-builtin -fno-stack-protector
 ccflags-y += -DDISABLE_BRANCH_PROFILING
 
-VDSO_LDFLAGS := -Wl,-Bsymbolic -Wl,--no-undefined -Wl,-soname=linux-vdso.so.1
-VDSO_LDFLAGS += -Wl,-z,max-page-size=4096 -Wl,-z,common-page-size=4096
-VDSO_LDFLAGS += -nostdlib -shared
-VDSO_LDFLAGS += $(call cc-ldoption, -Wl$(comma)--hash-style=sysv)
-VDSO_LDFLAGS += $(call cc-ldoption, -Wl$(comma)--build-id)
-VDSO_LDFLAGS += $(call cc-ldoption, -fuse-ld=bfd)
+ldflags-y = -Bsymbolic --no-undefined -soname=linux-vdso.so.1 \
+	    -z max-page-size=4096 -z common-page-size=4096 \
+	    -nostdlib -shared \
+	    $(call ld-option, --hash-style=sysv) \
+	    $(call ld-option, --build-id) \
+	    -T
 
 obj-$(CONFIG_VDSO) += vdso.o
 extra-$(CONFIG_VDSO) += vdso.lds
@@ -37,8 +37,8 @@ KCOV_INSTRUMENT := n
 $(obj)/vdso.o : $(obj)/vdso.so
 
 # Link rule for the .so file
-$(obj)/vdso.so.raw: $(src)/vdso.lds $(obj-vdso) FORCE
-	$(call if_changed,vdsold)
+$(obj)/vdso.so.raw: $(obj)/vdso.lds $(obj-vdso) FORCE
+	$(call if_changed,ld)
 
 $(obj)/vdso.so.dbg: $(obj)/vdso.so.raw $(obj)/vdsomunge FORCE
 	$(call if_changed,vdsomunge)
@@ -48,11 +48,6 @@ $(obj)/%.so: OBJCOPYFLAGS := -S
 $(obj)/%.so: $(obj)/%.so.dbg FORCE
 	$(call if_changed,objcopy)
 
-# Actual build commands
-quiet_cmd_vdsold = VDSO    $@
-      cmd_vdsold = $(CC) $(c_flags) $(VDSO_LDFLAGS) \
-                   -Wl,-T $(filter %.lds,$^) $(filter %.o,$^) -o $@
-
 quiet_cmd_vdsomunge = MUNGE   $@
       cmd_vdsomunge = $(objtree)/$(obj)/vdsomunge $< $@
 
-- 
2.25.1




  parent reply	other threads:[~2020-10-16  9:09 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-16  9:07 [PATCH 4.19 00/21] 4.19.152-rc1 review Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 01/21] perf cs-etm: Move definition of traceid_list global variable from header file Greg Kroah-Hartman
2020-10-16  9:07   ` Greg Kroah-Hartman
2020-10-16  9:07 ` Greg Kroah-Hartman [this message]
2020-10-16  9:07 ` [PATCH 4.19 03/21] ARM: 8939/1: kbuild: use correct nm executable Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 04/21] ARM: 8867/1: vdso: pass --be8 to linker if necessary Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 05/21] Bluetooth: A2MP: Fix not initializing all members Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 06/21] Bluetooth: L2CAP: Fix calling sk_filter on non-socket based channel Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 07/21] Bluetooth: MGMT: Fix not checking if BT_HS is enabled Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 08/21] Bluetooth: Consolidate encryption handling in hci_encrypt_cfm Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 09/21] Bluetooth: Fix update of connection state in `hci_encrypt_cfm` Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 10/21] Bluetooth: Disconnect if E0 is used for Level 4 Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 11/21] media: usbtv: Fix refcounting mixup Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 12/21] USB: serial: option: add Cellient MPL200 card Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 13/21] USB: serial: option: Add Telit FT980-KS composition Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 14/21] staging: comedi: check validity of wMaxPacketSize of usb endpoints found Greg Kroah-Hartman
2020-10-16 13:06   ` Pavel Machek
2020-10-17  8:12     ` Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 15/21] USB: serial: pl2303: add device-id for HP GC device Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 16/21] USB: serial: ftdi_sio: add support for FreeCalypso JTAG+UART adapters Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 17/21] reiserfs: Initialize inode keys properly Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 18/21] reiserfs: Fix oops during mount Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 19/21] drivers/net/ethernet/marvell/mvmdio.c: Fix non OF case Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 20/21] crypto: bcm - Verify GCM/CCM key length in setkey Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.19 21/21] crypto: qat - check cipher length for aead AES-CBC-HMAC-SHA Greg Kroah-Hartman
2020-10-16 10:33 ` [PATCH 4.19 00/21] 4.19.152-rc1 review Pavel Machek
2020-10-17 11:32   ` Greg Kroah-Hartman
2020-10-16 13:46 ` Jon Hunter
2020-10-16 19:01 ` Guenter Roeck
2020-10-17  9:41   ` Salvatore Bonaccorso
2020-10-17  9:49     ` Greg Kroah-Hartman
2020-10-17 11:11       ` Salvatore Bonaccorso
2020-10-17  7:31 ` Naresh Kamboju
2020-10-17 16:09 ` Shuah Khan

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=20201016090437.421644062@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=rmk+kernel@armlinux.org.uk \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=yamada.masahiro@socionext.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 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.