Re: [PATCH v3] Makefile: lld: tell clang to use lld

From: Kees Cook
Date: Fri Apr 05 2019 - 12:11:57 EST


On Fri, Apr 5, 2019 at 3:17 AM Masahiro Yamada
<yamada.masahiro@xxxxxxxxxxxxx> wrote:
> I want to propose alternative solution.
> Please check the attached patches.

In both patches:
> I changed the Makefile to use $(LD) rahter than $(CC). I confirmed
> the same vdso.so.raw was still produced.

typo: rahter -> rather

In the 0001 patch of arch/arm/vdso/Makefile:
> ...
> -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

I see that "-fuse-ld=bfd" is explicitly dropped here, which could
reintroduce the problem fixed in d2b30cd4b722 ("ARM: 8384/1: VDSO:
force use of BFD linker") (and 3473f26592c1c). Does ld.gold still
exhibit this problem? If so, we'll need to detect gold and force bfd
still maybe?

--
Kees Cook