diff mbox series

sh: require --Wl,--hash-style=sysv

Message ID 20190423202907.234180-1-ndesaulniers@google.com (mailing list archive)
State New, archived
Headers show
Series sh: require --Wl,--hash-style=sysv | expand

Commit Message

Nick Desaulniers April 23, 2019, 8:29 p.m. UTC
Towards the goal of removing cc-ldoption, prefer ld-option, or better
yet, require --Wl,--hash-style=sysv since the selftest for vdso's
requires DT_HASH.

Cc: Andy Lutomirsky <luto@kernel.org>
Cc: clang-built-linux@googlegroups.com
Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
---
 arch/sh/kernel/vsyscall/Makefile | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Geert Uytterhoeven April 24, 2019, 6:27 a.m. UTC | #1
Hi Nick,

On Tue, Apr 23, 2019 at 10:31 PM Nick Desaulniers
<ndesaulniers@google.com> wrote:
> Towards the goal of removing cc-ldoption, prefer ld-option, or better
> yet, require --Wl,--hash-style=sysv since the selftest for vdso's
> requires DT_HASH.
>
> Cc: Andy Lutomirsky <luto@kernel.org>
> Cc: clang-built-linux@googlegroups.com
> Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>

Thanks for your patch!

> --- a/arch/sh/kernel/vsyscall/Makefile
> +++ b/arch/sh/kernel/vsyscall/Makefile
> @@ -15,8 +15,7 @@ quiet_cmd_syscall = SYSCALL $@
>
>  export CPPFLAGS_vsyscall.lds += -P -C -Ush
>
> -vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1 \
> -               $(call cc-ldoption, -Wl$(comma)--hash-style=sysv)
> +vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1 -Wl,--hash-style=sysv
>
>  SYSCFLAGS_vsyscall-trapa.so    = $(vsyscall-flags)

What impact does this have on the minimum binutils version needed to
compile the kernel?

Gr{oetje,eeting}s,

                        Geert
Masahiro Yamada April 24, 2019, 6:37 a.m. UTC | #2
On Wed, Apr 24, 2019 at 3:29 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>
> Hi Nick,
>
> On Tue, Apr 23, 2019 at 10:31 PM Nick Desaulniers
> <ndesaulniers@google.com> wrote:
> > Towards the goal of removing cc-ldoption, prefer ld-option, or better
> > yet, require --Wl,--hash-style=sysv since the selftest for vdso's
> > requires DT_HASH.
> >
> > Cc: Andy Lutomirsky <luto@kernel.org>
> > Cc: clang-built-linux@googlegroups.com
> > Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
>
> Thanks for your patch!
>
> > --- a/arch/sh/kernel/vsyscall/Makefile
> > +++ b/arch/sh/kernel/vsyscall/Makefile
> > @@ -15,8 +15,7 @@ quiet_cmd_syscall = SYSCALL $@
> >
> >  export CPPFLAGS_vsyscall.lds += -P -C -Ush
> >
> > -vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1 \
> > -               $(call cc-ldoption, -Wl$(comma)--hash-style=sysv)
> > +vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1 -Wl,--hash-style=sysv
> >
> >  SYSCFLAGS_vsyscall-trapa.so    = $(vsyscall-flags)
>
> What impact does this have on the minimum binutils version needed to
> compile the kernel?
>


See his ia64 variant:
https://lore.kernel.org/patchwork/patch/1065347/


He commented a stronger reason
"it seems that --hash-style= was added to binutils 2.17.50.0.2 in 2006.
The minimal required version of binutils for the kernel according to
Documentation/process/changes.rst is 2.20"


Nick,
Why don't you rephrase the commit log like your ia64 one?
It will clarify this change has no impact.


BTW, I think the subject should be
"-Wl,--hash-style=sysv" instead of
"--Wl,--hash-style=sysv"

(single hash before "Wl")




--
Best Regards
Masahiro Yamada
Masahiro Yamada April 24, 2019, 6:39 a.m. UTC | #3
On Wed, Apr 24, 2019 at 3:37 PM Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
>
> On Wed, Apr 24, 2019 at 3:29 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> >
> > Hi Nick,
> >
> > On Tue, Apr 23, 2019 at 10:31 PM Nick Desaulniers
> > <ndesaulniers@google.com> wrote:
> > > Towards the goal of removing cc-ldoption, prefer ld-option, or better
> > > yet, require --Wl,--hash-style=sysv since the selftest for vdso's
> > > requires DT_HASH.
> > >
> > > Cc: Andy Lutomirsky <luto@kernel.org>
> > > Cc: clang-built-linux@googlegroups.com
> > > Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> > > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
> >
> > Thanks for your patch!
> >
> > > --- a/arch/sh/kernel/vsyscall/Makefile
> > > +++ b/arch/sh/kernel/vsyscall/Makefile
> > > @@ -15,8 +15,7 @@ quiet_cmd_syscall = SYSCALL $@
> > >
> > >  export CPPFLAGS_vsyscall.lds += -P -C -Ush
> > >
> > > -vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1 \
> > > -               $(call cc-ldoption, -Wl$(comma)--hash-style=sysv)
> > > +vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1 -Wl,--hash-style=sysv
> > >
> > >  SYSCFLAGS_vsyscall-trapa.so    = $(vsyscall-flags)
> >
> > What impact does this have on the minimum binutils version needed to
> > compile the kernel?
> >
>
>
> See his ia64 variant:
> https://lore.kernel.org/patchwork/patch/1065347/
>
>
> He commented a stronger reason
> "it seems that --hash-style= was added to binutils 2.17.50.0.2 in 2006.
> The minimal required version of binutils for the kernel according to
> Documentation/process/changes.rst is 2.20"
>
>
> Nick,
> Why don't you rephrase the commit log like your ia64 one?
> It will clarify this change has no impact.
>
>
> BTW, I think the subject should be
> "-Wl,--hash-style=sysv" instead of
> "--Wl,--hash-style=sysv"
>
> (single hash before "Wl")

I mean "single dash"
just in case.  :)
diff mbox series

Patch

diff --git a/arch/sh/kernel/vsyscall/Makefile b/arch/sh/kernel/vsyscall/Makefile
index 5db6579bc44c..6e8664448048 100644
--- a/arch/sh/kernel/vsyscall/Makefile
+++ b/arch/sh/kernel/vsyscall/Makefile
@@ -15,8 +15,7 @@  quiet_cmd_syscall = SYSCALL $@
 
 export CPPFLAGS_vsyscall.lds += -P -C -Ush
 
-vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1 \
-		$(call cc-ldoption, -Wl$(comma)--hash-style=sysv)
+vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1 -Wl,--hash-style=sysv
 
 SYSCFLAGS_vsyscall-trapa.so	= $(vsyscall-flags)