1. 31 Mar, 2014 2 commits
  2. 28 Mar, 2014 3 commits
  3. 12 Mar, 2014 9 commits
  4. 10 Mar, 2014 2 commits
  5. 07 Mar, 2014 5 commits
    • Masahiro Yamada's avatar
      kbuild: move "checkgcc4" to PowerPC archprepare · d57d60cf
      Masahiro Yamada authored
      "checkgcc4" is used only for PowerPC.
      Move it to arch/powerpc/config.mk.
      
      To make sure gcc is new enough before beginning build,
      run "checkgcc4" during "archprepare".
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      d57d60cf
    • Masahiro Yamada's avatar
      kbuild: move "checkthumb" to ARM archprepare · 388b2e52
      Masahiro Yamada authored
      "checkthumb" makes sense only for ARM architecture.
      Move it to arch/arm/config.mk.
      
      To make sure gcc supports THUMB mode before beginning build,
      run "checkthumb" during "archprepare".
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      388b2e52
    • Masahiro Yamada's avatar
      kbuild: improve Kbuild speed · 026f9cf2
      Masahiro Yamada authored
      Kbuild brought about many advantages for us but a significant
      performance regression was reported by Simon Glass.
      
      After some discussions and analysis, it turned out
      its main cause is in $(call cc-option,...).
      
      Historically, U-Boot parses all config.mk
      (arch/*/config.mk and board/*/config.mk)
      every time descending into subdirectories.
      That means cc-options are evaluated over and over again.
      
      $(call cc-option,...) is useful but costly.
      So we want to evaluate them only in ./Makefile
      and spl/Makefile and export compiler flags.
      
      This commit changes the build system as follows:
      
        - Modify scripts/Makefile.build to not include config.mk
          Instead, add $(PLATFORM_CPPFLAGS) to asflags-y, ccflags-y,
          cppflags-y.
      
        - Export many variables
          Going forward, Kbuild will not parse config.mk files
          when it descends into subdirectories.
          If we want to set variables in config.mk and use them
          in subdirectories, they must be exported.
      
          This is the list of variables to get exported:
            PLATFORM_CPPFLAGS
            CPUDIR
            BOARDDIR
            OBJCOPYFLAGS
            LDFLAGS
            LDFLAGS_FINAL
              (used in nand_spl/board/*/*/Makefile)
            CONFIG_STANDALONE_LOAD_ADDR
              (used in examples/standalone/Makefile)
            SYM_PREFIX
              (used in examples/standalone/Makefile)
            RELFLAGS
              (used in examples/standalone/Makefile)
      
        - Delete CPPFLAGS
          This variable has been replaced with PLATFORM_CPPFLAGS
      
        - Copy gcclibdir from example/standalone/Makefile
          to arch/sparc/config.mk
          The reference in CONFIG_STANDALONE_LOAD_ADDR must be
          resolved before it is exported.
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Reported-by: default avatarSimon Glass <sjg@chromium.org>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      Tested-by: Simon Glass <sjg@chromium.org> [on Sandbox]
      Tested-by: Stephen Warren <swarren@nvidia.com> [on Tegra]
      026f9cf2
    • Masahiro Yamada's avatar
      kbuild: add CONFIG_ prefix to USE_PRIVATE_LIBGCC · cd2e46cb
      Masahiro Yamada authored
      Before this commit, USE_PRIVATE_LIBGCC was defined in
      arch-specific config.mk and referenced in
      arch/$(ARCH)/lib/Makefile.
      
      We are not happy about parsing config.mk again and again.
      We have to keep the same behavior with a different way.
      
      By adding "CONFIG_" prefix, this macro appears
      in include/autoconf.mk, include/spl-autoconf.mk.
      (And treating USE_PRIVATE_LIBGCC as CONFIG macro
      is reasonable enough.)
      
      Tegra SoC family defined USE_PRIVATE_LIBGCC as "yes"
      in arch/arm/cpu/arm720t/tegra*/config.mk,
      whereas did not define it in arch/arm/cpu/armv7/tegra*/config.mk.
      
      It means Tegra enables PRIVATE_LIBGCC only for SPL.
      We can describe the same behavior by adding
      
        #ifdef CONFIG_SPL_BUILD
        # define CONFIG_USE_PRIVATE_LIBGCC
        #endif
      
      to include/configs/tegra-common.h.
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Cc: Tom Warren <twarren@nvidia.com>
      Cc: Simon Glass <sjg@chromium.org>
      Acked-by: default avatarStephen Warren <swarren@nvidia.com>
      cd2e46cb
    • Masahiro Yamada's avatar
      xilinx: delete meaningless .gitignore files · cbac2a6e
      Masahiro Yamada authored
      config.tmp is never generated
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Cc: Michal Simek <michal.simek@xilinx.com>
      Acked-by: default avatarMichal Simek <michal.simek@xilinx.com>
      cbac2a6e
  6. 04 Mar, 2014 10 commits
  7. 25 Feb, 2014 9 commits