Skip to content
Snippets Groups Projects
  1. May 24, 2021
    • Marek Behún's avatar
      build: support building with Link Time Optimizations · c1094987
      Marek Behún authored
      
      Add plumbing for building U-Boot with Link Time Optimizations.
      
      When building with LTO, $(PLATFORM_LIBS) has to be in --whole-archive /
      --no-whole-archive group, otherwise some functions declared in assembly
      may not be resolved and linking may fail.
      
      Note: clang may throw away linker list symbols it thinks are unused when
      compiling with LTO. To force these symbols to be included, we refer to
      them via the __ADDRESSABLE macro in a C file generated from compiled
      built-in.o files before linking.
      
      Signed-off-by: default avatarMarek Behún <marek.behun@nic.cz>
      Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
      c1094987
  2. Apr 28, 2020
    • Masahiro Yamada's avatar
      kbuild: SPL/TPL: generate separate asm-offsets.h for SPL and TPL · f34d0ad8
      Masahiro Yamada authored
      
      Currently generic-asm-offsets.h and asm-offsets.h are generated based
      on U-Boot proper config options. The same asm-offsets headers are used
      for building U-Boot SPL/TPL, which causes potential offset mismatch if
      U-Boot proper has different config options from U-Boot SPL/TPL.
      
      This commit adds:
        spl/include/generated/(generic-)asm-offsets.h
        tpl/include/generated/(generic-)asm-offsets.h
      
      spl/include/generated/(generic-)asm-offsets.h is generated if
      CONFIG_SPL=y, and included when building SPL.
      
      tpl/include/generated/(generic-)asm-offsets.h is generated if
      CONFIG_TPL=y, and included when building TPL.
      
      They are created before Kbuild descends into SPL/TPL object directories
      and builds $(obj)/dts/dt-platdata.o because $(obj)/dts/dt-platdata.c
      includes a bunch of headers.
      
      Prepend -I$(obj)/include to $(UBOOTINCLUDE) so (generic-)asm-offsets.h
      is searched in {spl,tpl}/include/generated/.
      
      Requested-by: default avatarBin Meng <bmeng.cn@gmail.com>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Tested-by: default avatarBin Meng <bmeng.cn@gmail.com>
      f34d0ad8
  3. Apr 24, 2020
    • Masahiro Yamada's avatar
      kbuild: cherry-pick kbuild changes from Linux · b5a20463
      Masahiro Yamada authored
      
      b42841b7bb62 kbuild: Get rid of KBUILD_STR
      2aedcd098a94 kbuild: suppress annoying "... is up to date." message
      9c8fa9bc08f6 kbuild: fix if_change and friends to consider argument order
      ebf003f0cfb3 kbuild: Consolidate header generation from ASM offset information
      2982c953570b kbuild: remove redundant $(wildcard ...) for cmd_files calculation
      8a78756eb545 kbuild: create object directories simpler and faster
      4d4b5c2e3b6e treewide: remove explicit rules for *offsets.s
      01d509a48b46 kbuild: remove unimportant comments from ./Kbuild
      
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      b5a20463
  4. Jul 27, 2015
  5. Mar 28, 2015
  6. Sep 09, 2014
  7. Mar 28, 2014
    • Masahiro Yamada's avatar
      kbuild: move asm-offsets.c from SoC directory to arch/$(ARCH)/lib · 254d68b6
      Masahiro Yamada authored
      
      U-Boot has supported two kinds of asm-offsets.h.
      
      One is generic for all architectures and its source is located at
      ./lib/asm-offsets.c.
      
      The other is SoC specific and its source is under SoC directory.
      The problem here is that only boards with SoC directory can use
      the asm-offsets infrastructure.
      Putting asm-offsets.c right under CPU directory does not work.
      
      Now a new demand is coming. PowerPC folks want to use asm-offsets.
      But no PowerPC boards have SoC directory.
      
      It seems inconsistent that some boards add asm-offsets.c to SoC
      directoreis and some to CPU directories.
      It looks more reasonable to put asm-offsets.c under arch/$(ARCH)/lib.
      
      This commit merges asm-offsets.c under SoC directories into
      arch/$(ARCH)/lib/asm-offsets.c.
      
      By the way, I doubt the necessity of some entries in asm-offsets.c.
      I am leaving refactoring to the board maintainers.
      Please check "TODO" in the comment blocks in
      arch/{arm,nds32}/lib/asm-offsets.c.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Cc: Yuantian Tang <Yuantian.Tang@freescale.com>
      254d68b6
  8. Feb 25, 2014
    • Masahiro Yamada's avatar
      kbuild: move asm-offsets.h rules to ./Kbuild · 6a44d806
      Masahiro Yamada authored
      
      Generate include/generated/generic-asm-offsets.h and
      include/generated/asm-offsets.h in ./Kbuild.
      
      This commit also changes the include guard.
      
      Before this commit, __ASM_OFFSETS_H__ was used for both of them.
      So we could not include generic-asm-offsets.h and asm-offsets.h
      at the same time.
      
      This commit renames the include guard of the former to
      __GENERIC_ASM_OFFSETS_H__.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      6a44d806
Loading