1. 06 Mar, 2015 1 commit
  2. 11 Jun, 2014 1 commit
  3. 15 May, 2014 1 commit
  4. 26 Feb, 2014 2 commits
  5. 04 Dec, 2013 1 commit
  6. 05 Sep, 2013 1 commit
  7. 24 Jul, 2013 1 commit
  8. 21 Jun, 2013 3 commits
  9. 14 Apr, 2013 1 commit
    • Albert ARIBAUD's avatar
      ARM: fix CONFIG_SPL_MAX_SIZE semantics · 6ebc3461
      Albert ARIBAUD authored
      Remove SPL-related ASSERT() in arch/arm/cpu/u-boot.lds
      as this file is never used for SPL builds.
      
      Rewrite the ASSERT() in arch/arm/cpu/u-boot-spl.lds
      to separately test image (text,data,rodata...) size,
      BSS size, and full footprint each against its own max,
      and make Tegra boards check full footprint.
      
      Also, output section mmutable is not used in SPL builds.
      Remove it.
      
      Finally, update README regarding the (now homogeneous)
      semantics of CONFIG_SPL_[BSS_]MAX_SIZE and add the new
      CONFIG_SPL_MAX_FOOTPRINT macro.
      Signed-off-by: default avatarAlbert ARIBAUD <albert.u.boot@aribaud.net>
      Reported-by: default avatarBenoît Thébaudeau <benoit.thebaudeau@advansee.com>
      6ebc3461
  10. 13 Apr, 2013 1 commit
  11. 15 Mar, 2013 1 commit
    • Simon Glass's avatar
      Replace __bss_end__ with __bss_end · 3929fb0a
      Simon Glass authored
      Note this is a tree-wide change affecting multiple architectures.
      
      At present we use __bss_start, but mostly __bss_end__. This seems
      inconsistent and in a number of places __bss_end is used instead.
      
      Change to use __bss_end for the BSS end symbol throughout U-Boot. This
      makes it possible to use the asm-generic/sections.h file on all
      archs.
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      3929fb0a
  12. 12 Mar, 2013 2 commits
    • Albert ARIBAUD's avatar
      Refactor linker-generated arrays · ef123c52
      Albert ARIBAUD authored
      Refactor linker-generated array code so that symbols
      which were previously linker-generated are now compiler-
      generated. This causes relocation records of type
      R_ARM_ABS32 to become R_ARM_RELATIVE, which makes
      code which uses LGA able to run before relocation as
      well as after.
      
      Note: this affects more than ARM targets, as linker-
      lists span possibly all target architectures, notably
      PowerPC.
      
      Conflicts:
      	arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds
      	arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds
      	arch/arm/cpu/armv7/omap-common/u-boot-spl.lds
      	board/ait/cam_enc_4xx/u-boot-spl.lds
      	board/davinci/da8xxevm/u-boot-spl-da850evm.lds
      	board/davinci/da8xxevm/u-boot-spl-hawk.lds
      	board/vpac270/u-boot-spl.lds
      Signed-off-by: default avatarAlbert ARIBAUD <albert.u.boot@aribaud.net>
      ef123c52
    • Albert ARIBAUD's avatar
      arm: make __bss_start and __bss_end__ compiler-generated · 3ebd1cbc
      Albert ARIBAUD authored
      Turn __bss_start and __bss_end__ from linker-generated
      to compiler-generated symbols, causing relocations for
      these symbols to change type, from R_ARM_ABS32 to
      R_ARM_RELATIVE.
      
      This should have no functional impact, as it affects
      references to __bss_start and __bss_end__ only before
      relocation, and no such references are done.
      Signed-off-by: default avatarAlbert ARIBAUD <albert.u.boot@aribaud.net>
      3ebd1cbc
  13. 29 Oct, 2012 1 commit
  14. 26 Oct, 2012 1 commit
  15. 22 Oct, 2012 2 commits
    • Marek Vasut's avatar
      common: Discard the __u_boot_cmd section · 8b493a52
      Marek Vasut authored
      The command declaration now uses the new LG-array method to generate
      list of commands. Thus the __u_boot_cmd section is now superseded and
      redundant and therefore can be removed. Also, remove externed symbols
      associated with this section from include/command.h .
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Joe Hershberger <joe.hershberger@gmail.com>
      Cc: Mike Frysinger <vapier@gentoo.org>
      8b493a52
    • Marek Vasut's avatar
      common: Add .u_boot_list into all linker files · 55675142
      Marek Vasut authored
      Add section for the linker-generated lists into all possible linker
      files, so that everyone can easily use these lists. This is mostly
      a mechanical adjustment.
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Joe Hershberger <joe.hershberger@gmail.com>
      Cc: Mike Frysinger <vapier@gentoo.org>
      55675142
  16. 30 Mar, 2012 1 commit
    • Simon Glass's avatar
      arm: add a common .lds link script · dde3b70d
      Simon Glass authored
      Most ARM CPUs use a very similar link script. This adds a basic
      script that can be used by most CPUs.
      
      Two new symbols are introduced which are intended to eventually be
      defined on all architectures to make things easier for generic relocation
      and reduce special-case code for each architecture:
      
      __image_copy_start is the start of the text area (equivalent to the
      existing _start on ARM). It marks the start of the region which must be
      copied to a new location during relocation. This symbol is called
      __text_start on x86 and microblaze.
      
      __image_copy_end is the end of the region which must be copied to a new
      location during relocation. It is normally equal to the start of the BSS
      region, but this can vary in some cases (SPL?). Making this an explicit
      symbol on its own removes any ambiguity and permits common code to always
      do the right thing.
      
      This new script makes use of CPUDIR, now defined by both Makefile and
      spl/Makefile, to find the directory containing the start.o object file,
      which is always placed first in the image.
      
      To permit MMU setup prior to relocation (as used by pxa) we add an area
      to the link script which contains space for this. This is taken
      from commit 7f4cfcf4. CPUs can put the contents in there using their
      start.S file. BTW, shouldn't that area be 16KB-aligned?
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      dde3b70d
  17. 03 Aug, 2011 1 commit
  18. 27 Mar, 2011 2 commits
  19. 17 Nov, 2010 1 commit
  20. 13 Oct, 2010 1 commit
  21. 19 Sep, 2010 1 commit
  22. 05 Jul, 2010 1 commit
  23. 13 Apr, 2010 1 commit
  24. 12 Jun, 2009 2 commits
  25. 15 May, 2009 1 commit
  26. 20 Mar, 2009 1 commit
    • Trent Piepho's avatar
      Fix all linker script to handle all rodata sections · f62fb999
      Trent Piepho authored
      A recent gcc added a new unaligned rodata section called '.rodata.str1.1',
      which needs to be added the the linker script.  Instead of just adding this
      one section, we use a wildcard ".rodata*" to get all rodata linker section
      gcc has now and might add in the future.
      
      However, '*(.rodata*)' by itself will result in sub-optimal section
      ordering.  The sections will be sorted by object file, which causes extra
      padding between the unaligned rodata.str.1.1 of one object file and the
      aligned rodata of the next object file.  This is easy to fix by using the
      SORT_BY_ALIGNMENT command.
      
      This patch has not be tested one most of the boards modified.  Some boards
      have a linker script that looks something like this:
      
      *(.text)
      . = ALIGN(16);
      *(.rodata)
      *(.rodata.str1.4)
      *(.eh_frame)
      
      I change this to:
      
      *(.text)
      . = ALIGN(16);
      *(.eh_frame)
      *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
      
      This means the start of rodata will no longer be 16 bytes aligned.
      However, the boundary between text and rodata/eh_frame is still aligned to
      16 bytes, which is what I think the real purpose of the ALIGN call is.
      Signed-off-by: default avatarTrent Piepho <xyzzy@speakeasy.org>
      f62fb999
  27. 28 Jan, 2009 2 commits
  28. 18 Nov, 2008 1 commit
  29. 12 Jan, 2008 1 commit
    • Wolfgang Denk's avatar
      Fix linker scripts: add NOLOAD atribute to .bss/.sbss sections · 64134f01
      Wolfgang Denk authored
      With recent toolchain versions, some boards would not build because
      or errors like this one (here for ocotea board when building with
      ELDK 4.2 beta):
      ppc_4xx-ld: section .bootpg [fffff000 -> fffff23b] overlaps section .bss [fffee900 -> fffff8ab]
      
      For many boards, the .bss section is big enough that it wraps around
      at the end of the address space (0xFFFFFFFF), so the problem will not
      be visible unless you use a 64 bit tool chain for development. On
      some boards however, changes to the code size (due to different
      optimizations) we bail out with section overlaps like above.
      
      The fix is to add the NOLOAD attribute to the .bss and .sbss
      sections, telling the linker that .bss does not consume any space in
      the image.
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      64134f01
  30. 15 Nov, 2007 1 commit
  31. 09 Nov, 2007 1 commit
  32. 31 Aug, 2005 1 commit