31 Jul, 2014

1 commit


28 Jul, 2014

1 commit


08 Jul, 2014

1 commit


08 Apr, 2014

1 commit

  • After Kbuild introduction, the CROSS_COMPILE environment variable has been
    set to some default value (prefix arm-linux-).

    This shall be removed since it breaks building u-boot for native arm target
    (like qemu ARM).
    Moreover not all compilers have arm-linux- prefix.

    Additionally the u-boot cross compiles with CROSS_COMPILE= set explicitly-
    e.g.:
    CROSS_COMPILE=/ .... /arm-v7a-linux-gnueabi- make

    Signed-off-by: Lukasz Majewski
    Cc: Masahiro Yamada
    Acked-by: Masahiro Yamada

    Łukasz Majewski
     

04 Apr, 2014

1 commit


02 Apr, 2014

1 commit


07 Mar, 2014

1 commit


05 Mar, 2014

2 commits


26 Feb, 2014

2 commits


25 Jan, 2014

1 commit

  • Before this commit, all arch/arm/cpu/${CPU}/config.mk except ARMv8
    had the same option:
    $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))

    This commit moves it into arch/arm/config.mk.

    If the compiler does not support the option,
    it is ignored by $(call cc-option,...).
    So this commit gives no harm to ARMv8.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

14 Jan, 2014

1 commit


09 Jan, 2014

1 commit


07 Dec, 2013

1 commit

  • Current LDS files /DISCARD/ a lot of sections when linking ELF
    files, causing diagnostic tools such as readelf or objdump to
    produce partial output. Keep all section at link stage, filter
    only at objcopy time so that .bin remains minimal.

    Signed-off-by: Albert ARIBAUD
    Reviewed-by: Benoît Thébaudeau

    Albert ARIBAUD
     

15 Oct, 2013

1 commit


24 Sep, 2013

1 commit

  • To be more EABI compliant and as a preparation for building
    with clang, use the platform-specific r9 register for gd
    instead of r8.

    note: The FIQ is not updated since it is not used in u-boot,
    and under discussion for the time being.

    The following checkpatch warning is ignored:
    WARNING: Use of volatile is usually wrong: see
    Documentation/volatile-considered-harmful.txt

    Signed-off-by: Jeroen Hofstee
    cc: Albert ARIBAUD

    Jeroen Hofstee
     

23 Sep, 2013

2 commits

  • Every ARM cpu config.mk (arch/arm/cpu/{CPUDIR}/config.mk) defines:

    PLATFORM_RELFLAGS += -fno-common -ffixed-r8 -msoft-float

    So, this patch moves the common compiler options to arch/arm/config.mk.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • The movt/movw instruction can be used to hardcode an
    memory location in the instruction itself. The linker
    starts complaining about this if the compiler decides
    to do so: "relocation R_ARM_MOVW_ABS_NC against `a local
    symbol' can not be used" and it is not support by U-boot
    as well. Prevent their use by requiring word relocations.
    This allows u-boot to be build at other optimalization
    levels then -Os.

    Signed-off-by: Jeroen Hofstee
    Cc: TigerLiu@viatech.com.cn
    Cc: Albert ARIBAUD
    Acked-by: Simon Glass

    Jeroen Hofstee
     

15 Aug, 2013

1 commit


24 Jul, 2013

1 commit


22 Jun, 2013

1 commit


23 May, 2013

1 commit


12 Apr, 2013

1 commit


25 Mar, 2013

1 commit


16 Mar, 2013

1 commit


04 Oct, 2012

1 commit

  • Disable sibling call optimization based on binutils version. This is
    to work around a bug in the assember in binutils versions < 2.22.
    Branches to weak symbols can be incorrectly optimized in thumb mode to
    a short branch (b.n instruction) that won't reach when the symbol gets
    preempted.

    http://sourceware.org/bugzilla/show_bug.cgi?id=12532

    Signed-off-by: Allen Martin
    Acked-by: Tom Rini

    Allen Martin
     

15 May, 2012

2 commits

  • This rule confirms that if we're on ARM and we have enabled THUMB builds
    that we have a new enough toolchain to produce a working binary.

    Changes in v2:
    - Switch to ALL-$(CONFIG_SYS_THUMB_BUILD) in arch/arm/config.mk (Mike F)
    - Simplfy checkthumb test after doing the above

    Signed-off-by: Tom Rini
    Acked-by: Mike Frysinger

    Tom Rini
     
  • Enable Thumb build and ARM-Thumb interworking based on the new
    config flag CONFIG_SYS_THUMB_BUILD

    Signed-off-by: Aneesh V
    Acked-by: Mike Frysinger

    Aneesh V
     

30 Mar, 2012

1 commit


04 Nov, 2011

1 commit

  • U-Boot Makefiles contain a number of tests for compiler features etc.
    which so far are executed again and again. On some architectures
    (especially ARM) this results in a large number of calls to gcc.

    This patch makes sure to run such tests only once, thus largely
    reducing the number of "execve" system calls.

    Example: number of "execve" system calls for building the "P2020DS"
    (Power Architecture) and "qong" (ARM) boards, measured as:
    -> strace -f -e trace=execve -o /tmp/foo ./MAKEALL
    -> grep execve /tmp/foo | wc -l

    Before: After: Reduction:
    ==================================
    P2020DS 20555 15205 -26%
    qong 31692 14490 -54%

    As a result, built times are significantly reduced, typically by
    30...50%.

    Signed-off-by: Wolfgang Denk
    Cc: Andy Fleming
    Cc: Kumar Gala
    Cc: Albert Aribaud
    cc: Graeme Russ
    cc: Mike Frysinger
    Tested-by: Graeme Russ
    Tested-by: Matthias Weisser
    Tested-by: Sanjeev Premi
    Tested-by: Simon Glass
    Tested-by: Macpaul Lin
    Acked-by: Mike Frysinger

    Wolfgang Denk
     

26 Jul, 2011

1 commit


23 Jun, 2011

1 commit


30 Apr, 2011

1 commit

  • Currently, some linker scripts are found by common code in config.mk.
    Some are found using CONFIG_SYS_LDSCRIPT, but the code for that is
    sometimes in arch config.mk and sometimes in board config.mk. Some
    are found using an arch-specific rule for looking in CPUDIR, etc.

    Further, the powerpc config.mk rule relied on CONFIG_NAND_SPL
    when it really wanted CONFIG_NAND_U_BOOT -- which covered up the fact
    that not all NAND_U_BOOT builds actually wanted CPUDIR/u-boot-nand.lds.

    Replace all of this -- except for a handful of boards that are actually
    selecting a linker script in a unique way -- with centralized ldscript
    finding.

    If board code specifies LDSCRIPT, that will be used.
    Otherwise, if CONFIG_SYS_LDSCRIPT is specified, that will be used.

    If neither of these are specified, then the central config.mk will
    check for the existence of the following, in order:

    $(TOPDIR)/board/$(BOARDDIR)/u-boot-nand.lds (only if CONFIG_NAND_U_BOOT)
    $(TOPDIR)/$(CPUDIR)/u-boot-nand.lds (only if CONFIG_NAND_U_BOOT)
    $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds
    $(TOPDIR)/$(CPUDIR)/u-boot.lds

    Some boards (sc3, cm5200, munices) provided their own u-boot.lds that
    were dead code, because they were overridden by a CPUDIR u-boot.lds under
    the old powerpc rules. These boards' own u-boot.lds have bitrotted and
    no longer work -- these lds files have been removed.

    Signed-off-by: Scott Wood
    Tested-by: Graeme Russ

    Scott Wood
     

13 Apr, 2011

1 commit

  • Rename STANDALONE_LOAD_ADDR into CONFIG_STANDALONE_LOAD_ADDR
    and allow that the architecture-specific default value gets
    overwritten by defining the value in the board header file.

    Signed-off-by: Wolfgang Denk
    Cc: Mike Frysinger
    Cc: Shinya Kuribayashi
    Cc: Daniel Hellstrom
    Cc: Tsi Chung Liew
    Cc: Nobuhiro Iwamatsu

    Wolfgang Denk
     

02 Feb, 2011

1 commit

  • Commit 8aba9dceebb14144e07d19593111ee3a999c37fc breaks
    ARM boards because for ARM the -pie option is used
    for partial linking together with -r option.

    The patch adds the -pie option to link u-boot.bin only.

    Signed-off-by: Stefano Babic
    CC: Jason Liu
    CC: lool@dooz.org
    CC: Wolfgang Denk
    CC: Albert Aribaud
    Tested-by: Alexander Holler

    Stefano Babic
     

30 Oct, 2010

1 commit

  • When this define was introduced, the idea was to provide a soft
    migration path for ARM boards to get adapted to the new relocation
    support. However, other recent changes led to a different
    implementation (ELF relocation), where this no longer works. By now
    CONFIG_SYS_ARM_WITHOUT_RELOC does not only not help any more, but it
    actually hurts because it obfuscates the actual code by sprinkling it
    with lots of dead and non-working debris.

    So let's make a clean cut and drop CONFIG_SYS_ARM_WITHOUT_RELOC.

    Signed-off-by: Wolfgang Denk
    Tested-by: Heiko Schocher
    Tested-by: Reinhard Meyer

    Wolfgang Denk
     

13 Oct, 2010

2 commits


20 Sep, 2010

1 commit

  • !! This breaks support for all arm boards !!

    To compile in old style, you must define
    CONFIG_SYS_ARM_WITHOUT_RELOC or you can compile
    with "CONFIG_SYS_ARM_WITHOUT_RELOC=1 ./MAKEALL board"

    !! This define will be removed soon, so convert your
    board to use relocation support

    Portions of this work were supported by funding from
    the CE Linux Forum.

    Signed-off-by: Heiko Schocher

    Fix boot from NAND for non-ARM systems
    Signed-off-by: Wolfgang Denk

    Heiko Schocher