1. 03 11月, 2020 4 次提交
  2. 31 10月, 2020 5 次提交
  3. 30 10月, 2020 13 次提交
  4. 29 10月, 2020 3 次提交
  5. 28 10月, 2020 10 次提交
  6. 27 10月, 2020 3 次提交
  7. 26 10月, 2020 2 次提交
    • V
      s390: correct __bootdata / __bootdata_preserved macros · 8e90b4b1
      Vasily Gorbik 提交于
      Currently s390 build is broken.
      
        SECTCMP .boot.data
      error: section .boot.data differs between vmlinux and arch/s390/boot/compressed/vmlinux
      make[2]: *** [arch/s390/boot/section_cmp.boot.data] Error 1
        SECTCMP .boot.preserved.data
      error: section .boot.preserved.data differs between vmlinux and arch/s390/boot/compressed/vmlinux
      make[2]: *** [arch/s390/boot/section_cmp.boot.preserved.data] Error 1
      make[1]: *** [bzImage] Error 2
      
      Commit 33def849 ("treewide: Convert macro and uses of __section(foo)
      to __section("foo")") converted all __section(foo) to __section("foo").
      This is wrong for __bootdata / __bootdata_preserved macros which want
      variable names to be a part of intermediate section names .boot.data.<var
      name> and .boot.preserved.data.<var name>. Those sections are later
      sorted by alignment + name and merged together into final .boot.data
      / .boot.preserved.data sections. Those sections must be identical in
      the decompressor and the decompressed kernel (that is checked during
      the build).
      
      Fixes: 33def849 ("treewide: Convert macro and uses of __section(foo) to __section("foo")")
      Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
      Signed-off-by: NHeiko Carstens <hca@linux.ibm.com>
      8e90b4b1
    • N
      arm64: vdso32: Allow ld.lld to properly link the VDSO · 0fa97e94
      Nathan Chancellor 提交于
      As it stands now, the vdso32 Makefile hardcodes the linker to ld.bfd
      using -fuse-ld=bfd with $(CC). This was taken from the arm vDSO
      Makefile, as the comment notes, done in commit d2b30cd4 ("ARM:
      8384/1: VDSO: force use of BFD linker").
      
      Commit fe00e50b ("ARM: 8858/1: vdso: use $(LD) instead of $(CC) to
      link VDSO") changed that Makefile to use $(LD) directly instead of
      through $(CC), which matches how the rest of the kernel operates. Since
      then, LD=ld.lld means that the arm vDSO will be linked with ld.lld,
      which has shown no problems so far.
      
      Allow ld.lld to link this vDSO as we do the regular arm vDSO. To do
      this, we need to do a few things:
      
      * Add a LD_COMPAT variable, which defaults to $(CROSS_COMPILE_COMPAT)ld
        with gcc and $(LD) if LLVM is 1, which will be ld.lld, or
        $(CROSS_COMPILE_COMPAT)ld if not, which matches the logic of the main
        Makefile. It is overrideable for further customization and avoiding
        breakage.
      
      * Eliminate cc32-ldoption, which matches commit 055efab3 ("kbuild:
        drop support for cc-ldoption").
      
      With those, we can use $(LD_COMPAT) in cmd_ldvdso and change the flags
      from compiler linker flags to linker flags directly. We eliminate
      -mfloat-abi=soft because it is not handled by the linker.
      Reported-by: NNick Desaulniers <ndesaulniers@google.com>
      Signed-off-by: NNathan Chancellor <natechancellor@gmail.com>
      Tested-by: NNick Desaulniers <ndesaulniers@google.com>
      Reviewed-by: NNick Desaulniers <ndesaulniers@google.com>
      Reviewed-by: NVincenzo Frascino <vincenzo.frascino@arm.com>
      Link: https://github.com/ClangBuiltLinux/linux/issues/1033
      Link: https://lore.kernel.org/r/20201020011406.1818918-1-natechancellor@gmail.comSigned-off-by: NWill Deacon <will@kernel.org>
      0fa97e94