On Thu, Nov 12, 2020 at 5:03 PM Bill Wendling <mo...@google.com> wrote: > > On Thu, Nov 12, 2020 at 4:53 PM Nick Desaulniers > <ndesaulni...@google.com> wrote: > > > > On Sun, Nov 8, 2020 at 12:37 PM Nathan Chancellor > > <natechancel...@gmail.com> wrote: > > > > > > Commit a96843372331 ("kbuild: explicitly specify the build id style") > > > explicitly set the build ID style to SHA1. Commit c2c81bb2f691 ("RISC-V: > > > Fix the VDSO symbol generaton for binutils-2.35+") undid this change, > > > likely unintentionally. > > > > > > Restore it so that the build ID style stays consistent across the tree > > > regardless of linker. > > > > > > Fixes: c2c81bb2f691 ("RISC-V: Fix the VDSO symbol generaton for > > > binutils-2.35+") > > > Signed-off-by: Nathan Chancellor <natechancel...@gmail.com> > > > > Thanks for the fixup! > > > > Reviewed-by: Nick Desaulniers <ndesaulni...@google.com> > > > > (I'm curious what --build-id linker flag does, and what kind of spooky > > bugs that led to a96843372331?) > > > --build-id generates a unique "build id" for the build. It can use > several different algorithms to do this. The BFD linker uses sha1 by > default while LLD uses a "fast" algorithm. The difference is that the > fast algorithm generates a shorter build id. This shouldn't matter in > general, but there are some tools out there that expect the build id > to be of a certain length, i.e. the BFD style's length, because BFD is > more prevalent. The obvious response "well, why don't they just change > the expected length?" is difficult in all situations. (Once an > assumption is made, it's hard to backtrack.) > > You can add this if you like: > > Reviewed-by: Bill Wendling <mo...@google.com>
Cool, thanks for the context, and the review! > > > > --- > > > arch/riscv/kernel/vdso/Makefile | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/arch/riscv/kernel/vdso/Makefile > > > b/arch/riscv/kernel/vdso/Makefile > > > index cb8f9e4cfcbf..0cfd6da784f8 100644 > > > --- a/arch/riscv/kernel/vdso/Makefile > > > +++ b/arch/riscv/kernel/vdso/Makefile > > > @@ -44,7 +44,7 @@ SYSCFLAGS_vdso.so.dbg = $(c_flags) > > > $(obj)/vdso.so.dbg: $(src)/vdso.lds $(obj-vdso) FORCE > > > $(call if_changed,vdsold) > > > SYSCFLAGS_vdso.so.dbg = -shared -s -Wl,-soname=linux-vdso.so.1 \ > > > - -Wl,--build-id -Wl,--hash-style=both > > > + -Wl,--build-id=sha1 -Wl,--hash-style=both > > > > > > # We also create a special relocatable object that should mirror the > > > symbol > > > # table and layout of the linked DSO. With ld --just-symbols we can then > > > > > > base-commit: c2c81bb2f69138f902e1a58d3bef6ad97fb8a92c > > > -- > > > 2.29.2 > > > > > > -- > > > You received this message because you are subscribed to the Google Groups > > > "Clang Built Linux" group. > > > To unsubscribe from this group and stop receiving emails from it, send an > > > email to clang-built-linux+unsubscr...@googlegroups.com. > > > To view this discussion on the web visit > > > https://groups.google.com/d/msgid/clang-built-linux/20201108203737.94270-1-natechancellor%40gmail.com. > > > > > > > > -- > > Thanks, > > ~Nick Desaulniers -- Thanks, ~Nick Desaulniers