Skip to content
Snippets Groups Projects
  1. May 26, 2010
  2. Apr 13, 2010
    • Peter Tyser's avatar
      ppc: Move cpu/$CPU to arch/ppc/cpu/$CPU · 8d1f2682
      Peter Tyser authored
      
      Signed-off-by: default avatarPeter Tyser <ptyser@xes-inc.com>
      8d1f2682
    • Peter Tyser's avatar
      Move lib_$ARCH directories to arch/$ARCH/lib · ea0364f1
      Peter Tyser authored
      
      Also move lib_$ARCH/config.mk to arch/$ARCH/config.mk
      
      This change is intended to clean up the top-level directory structure
      and more closely mimic Linux's directory organization.
      
      Signed-off-by: default avatarPeter Tyser <ptyser@xes-inc.com>
      ea0364f1
    • Peter Tyser's avatar
      Change directory-specific CFLAGS to use full path · 89f39e17
      Peter Tyser authored
      
      Previously, a specific file or directory could be compiled with custom
      CFLAGS by adding a Makefile variable such as:
        CFLAGS_dlmalloc.o = <custom flags for common/dlmalloc.c>
      or
        CFLAGS_lib = <custom flags for lib directory>
      
      This method breaks down once multiple files or directories share the
      same path.  Eg FLAGS_fileA = <custom flags> would incorrectly result in
      both dir1/fileA.c and dir2/fileA.c being compiled with <custom flags>.
      
      This change allows finer grained control which we need once we move
      lib_$ARCH to arch/$ARCH/lib/ and lib_generic/ to lib/.  Without this
      change all lib/ directories would share the same custom CFLAGS.
      
      Signed-off-by: default avatarPeter Tyser <ptyser@xes-inc.com>
      89f39e17
    • Peter Tyser's avatar
      Create CPUDIR variable · 03b7004d
      Peter Tyser authored
      
      The CPUDIR variable points to the location of a target's CPU directory.
      Currently, it is set to cpu/$CPU.  However, using $CPUDIR will allow for
      more flexibility in the future.  It lays the groundwork for reorganizing
      U-Boot's directory structure to support a layout such as:
      
        arch/$ARCH/cpu/$CPU/* (architecture with multiple CPU types)
        arch/$ARCH/cpu/*      (architecture with one CPU type)
      
      Signed-off-by: default avatarPeter Tyser <ptyser@xes-inc.com>
      03b7004d
  3. Dec 02, 2009
    • Scott Wood's avatar
      makefiles: fixes for building build tools · d984fed0
      Scott Wood authored
      
      Currently, some of the tools instead set CC to be HOSTCC in order to re-use
      some pattern rules -- but this fails when the user overrides CC on the make
      command line.  Also, the HOSTCFLAGS in tools/Makefile are currently not
      being used because config.mk overwrites them.
      
      This patch adds static pattern rules for files that have been requested to
      be built with the native compiler using $(HOSTSRCS) and $(HOSTOBJS), and
      converts the tools to use them.
      
      It restores easylogo to using the host compiler, which was broken by commit
      38d299c2 (if this was an intentional change,
      please let me know -- but it seems to be a build tool).
      
      It restores -pedantic and the special flags for darwin and cygwin that were
      requested in tools/makefile (but keeps the flags added by config.mk) --
      hopefully someone can test this on those platforms.  It no longer
      conditionalizes -pedantic on not being darwin; it wasn't clear that that was
      intentional, and unless there's a real problem it's just inviting people to
      contribute non-pedantic patches to those files (I'm not a fan of -pedantic
      personally, but if it's on for one platform it should be on for all).
      
      HOST_LDFLAGS is renamed HOSTLDFLAGS for consistency with the previous
      HOST_CFLAGS to HOSTCFLAGS rename.  A new HOSTCFLAGS_NOPED is made available
      for those files which currently cannot be built with -pedantic, and replaces
      the old FIT_CFLAGS.
      
      imls now uses the cross compiler properly, rather than by trying to
      reconstruct CC using the typoed $(CROSS_COMPILER).
      
      envcrc.c is now dependency-processed unconditionally -- previously it would
      be built without being on (HOST)SRCS if CONFIG_ENV_IS_EMBEDDED was not
      selected.
      
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      d984fed0
  4. Sep 10, 2009
  5. Aug 23, 2009
    • Mike Frysinger's avatar
      start a linker script helper file · 6ac9f479
      Mike Frysinger authored
      
      Start a common header file for common linker script code (such as
      workarounds for older linkers) rather than doing this in the build system.
      
      As fallout, we no longer execute the linker every time config.mk is
      included by a build file (which can easily be 70+ times), but rather only
      execute it once.
      
      This also fixes a bug in the major version checking by creating a macro to
      easily compare versions and keep people from making the same common
      mistake (forgetting to check major and minor together).
      
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      6ac9f479
  6. Aug 21, 2009
    • Wolfgang Denk's avatar
      Fix all linker scripts for older binutils versions (pre-2.16) · 1aada9cd
      Wolfgang Denk authored
      
      Commit f62fb999 fixed handling of all rodata sections by using a
      wildcard combined with calls to ld's builtin functions SORT_BY_ALIGNMENT()
      and SORT_BY_NAME().  Unfortunately these functions were only
      introduced with biunutils version 2.16, so the modification broke
      building with all tool chains using older binutils.
      
      This patch makes it work again.  This is done by omitting the use of
      these functions for such old tool chains.  This will result in
      slightly larger target binaries, as the rodata sections are no longer
      in optimal order alignment-wise which reauls in unused gaps, but the
      effect was found to be insignificant - especially compared to the fact
      that you cannot build U-Boot at all in the current state.
      
      As ld seems to have no support for conditionals we run the linker
      script through the C preprocessor which can be easily used to remove
      the unwanted function calls.
      
      Note that the C preprocessor must be run with the "-ansi" (or a
      "-std=") option to make sure all the system-specific predefined
      macros outside the reserved namespace are suppressed. Otherise, cpp
      might for example substitute "powerpc" to "1", thus corrupting for
      example "OUTPUT_ARCH(powerpc)" etc.
      
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      Cc: Mike Frysinger <vapier@gentoo.org>
      1aada9cd
    • Wolfgang Denk's avatar
      ARM: compiler options cleanup - improve tool chain support · f772acf8
      Wolfgang Denk authored
      
      For some time there have been repeated reports about build problems
      with some ARM (cross) tool chains.  Especially issues about
      (in)compatibility with the tool chain provided runtime support
      library libgcc.a caused to add and support a private implementation
      of such runtime support code in U-Boot.  A closer look at the code
      indicated that some of these issues are actually home-made.  This
      patch attempts to clean up some of the most obvious problems and make
      building of U-Boot with different tool chains easier:
      
      - Even though all ARM systems basicy used the same compiler options
        to select a specific ABI from the tool chain, the code for this was
        distributed over all cpu/*/config.mk files.  We move this one level
        up into lib_arm/config.mk instead.
      
      - So far, we only checked if "-mapcs-32" was supported by the tool
        chain; if yes, this was used, if not, "-mabi=apcs-gnu" was
        selected, no matter if the tool chain actually understood this
        option.  There was no support for EABI conformant tool chains.
        This patch implements the following logic:
      
        1) If the tool chain supports
      	"-mabi=aapcs-linux -mno-thumb-interwork"
           we use these options (EABI conformant tool chain).
        2) Otherwise, we check first if
      	"-mapcs-32"
           is supported, and then check for
      	"-mabi=apcs-gnu"
           If one test succeeds, we use the first found option.
        3) In case 2), we also test if "-mno-thumb-interwork", and use
           this if the test succeeds. [For "-mabi=aapcs-linux" we set
           "-mno-thumb-interwork" mandatorily.]
      
        This way we use a similar logic for the compile options as the
        Linux kernel does.
      
      - Some EABI conformant tool chains cause external references to
        utility functions like raise(); such functions are provided in the
        new file lib_arm/eabi_compat.c
      
        Note that lib_arm/config.mk gets parsed several times, so we must
        make sure to add eabi_compat.o only once to the linker list.
      
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      Cc: Dirk Behme <dirk.behme@googlemail.com>
      Cc: Magnus Lilja <lilja.magnus@gmail.com>
      Cc: Tom Rix <Tom.Rix@windriver.com>
      Cc: Prafulla Wadaskar <prafulla@marvell.com>
      Acked-by: default avatarSergey Kubushyn <ksi@koi8.net>
      Tested-by: default avatarMagnus Lilja <lilja.magnus@gmail.com>
      Tested-by: default avatarAndrzej Wolski <awolski@poczta.fm>
      Tested-by: default avatarGaye Abdoulaye Walsimou <walsimou@walsimou.com>
      Tested-by: default avatarTom Rix <Tom.Rix@windriver.com>
      Tested-by: default avatarJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      f772acf8
  7. Jul 20, 2009
  8. Jul 19, 2009
  9. Jul 17, 2009
    • Shinya Kuribayashi's avatar
      config.mk: Remove $(PCI_CLOCK) reference · 12e9043c
      Shinya Kuribayashi authored
      
      The following commit introduced $(PCI_CLOCK) reference so that
      we could tweak `PCI_66M' definition via an environment variable.
      
      > commit f046ccd1
      > Author: Eran Liberty <liberty@freescale.com>
      > Date:   Thu Jul 28 10:08:46 2005 -0500
      >
      >     * Patch by Eran Liberty
      >       Add support for the Freescale MPC8349ADS board.
      
      But I suggest a removal of it for the following reasons:
      
      * In 2006, MPC8349ADS was merged into MPC8349EMDS port,
        and it seems that MPC8349EMDS port is PCI_66M free.
      
      * OTOH, PCI_66M is used by MPC832XEMDS an MPC8360EMDS ports,
        but they don't need $(PCI_CLOCK) environment variable at all.
        PCI_66M is automatically configured via $(BOARD)_config names
        with the help of $(findstring _66_,$@).
      
      * Unfortunately $(PCI_CLOCK) has been undocumented anywhere,
        so only a few people know the existence of it these days.
      
      * Keep config.mk independent from $(BOARD) as much as possible.
      
      Signed-off-by: default avatarShinya Kuribayashi <skuribay@pobox.com>
      Acked-by: default avatarKim Phillips <kim.phillips@freescale.com>
      12e9043c
  10. Jun 14, 2009
  11. Jun 12, 2009
  12. Jan 18, 2009
  13. Dec 08, 2008
  14. Sep 12, 2008
  15. Sep 06, 2008
  16. Jun 26, 2008
    • Haavard Skinnemoen's avatar
      Conditionally add -fno-stack-protector to CFLAGS · 28eab0d7
      Haavard Skinnemoen authored
      
      When compile-testing on powerpc, I get errors like this:
      
      net/nfs.c:422: undefined reference to `__stack_chk_fail_local'
      
      This seems to be because -fstack-protector is on by default, so
      let's explicitly disable it on all architectures that support the
      option.
      
      The Ubuntu toolchain is affected by this problem, and according to
      Mike Frysinger, Gentoo has been running with SSP enabled for years.
      More and more distros are turning SSP on by default, so this problem
      is likely to get worse in the future.
      
      Also, powerpc just happens to be one of the arches I do
      compile-testing on. There may be other arches affected by this too.
      
      Signed-off-by: default avatarHaavard Skinnemoen <hskinnemoen@atmel.com>
      28eab0d7
  17. May 20, 2008
    • Wolfgang Denk's avatar
      Big white-space cleanup. · 53677ef1
      Wolfgang Denk authored
      
      This commit gets rid of a huge amount of silly white-space issues.
      Especially, all sequences of SPACEs followed by TAB characters get
      removed (unless they appear in print statements).
      
      Also remove all embedded "vim:" and "vi:" statements which hide
      indentation problems.
      
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      53677ef1
  18. May 03, 2008
  19. Feb 22, 2008
  20. Feb 14, 2008
  21. Feb 05, 2008
  22. Nov 21, 2007
  23. Nov 03, 2007
  24. Mar 09, 2007
  25. Oct 28, 2006
  26. Oct 27, 2006
  27. Oct 24, 2006
    • Wolfgang Denk's avatar
      Use -g instead of -gstabs in AFLAGS_DEBUG · 2da2d9a4
      Wolfgang Denk authored
      Patch by Haavard Skinnemoen, 30 Aug 2006
      
      In config.mk, -Wa,-gstabs is unconditionally appended to AFLAGS no
      matter what the target's preferred debugging format is. This patch
      simply replaces -gstabs with -g, so that the default debugging format
      for the architecture is used.
      2da2d9a4
  28. Oct 08, 2006
  29. Sep 07, 2006
    • Stefan Roese's avatar
      Add support for AMCC Sequoia PPC440EPx eval board · 887e2ec9
      Stefan Roese authored
      - Add support for PPC440EPx & PPC440GRx
      - Add support for PPC440EP(x)/GR(x) NAND controller
        in cpu/ppc4xx directory
      - Add NAND boot functionality for Sequoia board,
        please see doc/README.nand-boot-ppc440 for details
      - This Sequoia NAND image doesn't support environment
        in NAND for now. This will be added in a short while.
      Patch by Stefan Roese, 07 Sep 2006
      887e2ec9
  30. Sep 01, 2006
    • Marian Balakowicz's avatar
      Add support for a saving build objects in a separate directory. · f9328639
      Marian Balakowicz authored
      Modifications are based on the linux kernel approach and
      support two use cases:
      
        1) Add O= to the make command line
        'make O=/tmp/build all'
      
        2) Set environement variable BUILD_DIR to point to the desired location
        'export BUILD_DIR=/tmp/build'
        'make'
      
      The second approach can also be used with a MAKEALL script
      'export BUILD_DIR=/tmp/build'
      './MAKEALL'
      
      Command line 'O=' setting overrides BUILD_DIR environent variable.
      
      When none of the above methods is used the local build is performed and
      the object files are placed in the source directory.
      f9328639
  31. May 17, 2006
  32. May 09, 2006
  33. Apr 20, 2006
  34. Mar 12, 2006
    • Wolfgang Denk's avatar
      Add ADI Blackfin support · 0afe519a
      Wolfgang Denk authored
      - add support for Analog Devices Blackfin BF533 CPU
      - add support for the ADI BF533 Stamp uClinux board
      - add support for the ADI BF533 EZKit board
      Patches by Richard Klingler, June 11th 2005:
      0afe519a
Loading