u-boot-spl.lds 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*
  2. * Copyright (c) 2014 Xilinx, Inc. Michal Simek
  3. * Copyright (c) 2004-2008 Texas Instruments
  4. *
  5. * (C) Copyright 2002
  6. * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
  7. *
  8. * SPDX-License-Identifier: GPL-2.0+
  9. */
  10. MEMORY { .sram : ORIGIN = CONFIG_SPL_TEXT_BASE,\
  11. LENGTH = CONFIG_SPL_MAX_SIZE }
  12. MEMORY { .sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \
  13. LENGTH = CONFIG_SPL_BSS_MAX_SIZE }
  14. OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
  15. OUTPUT_ARCH(arm)
  16. ENTRY(_start)
  17. SECTIONS
  18. {
  19. . = ALIGN(4);
  20. .text :
  21. {
  22. __image_copy_start = .;
  23. *(.vectors)
  24. CPUDIR/start.o (.text*)
  25. *(.text*)
  26. } > .sram
  27. . = ALIGN(4);
  28. .rodata : {
  29. *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
  30. } > .sram
  31. . = ALIGN(4);
  32. .data : {
  33. *(.data*)
  34. } > .sram
  35. . = ALIGN(4);
  36. .u_boot_list : {
  37. KEEP(*(SORT(.u_boot_list*)));
  38. } > .sram
  39. . = ALIGN(4);
  40. _image_binary_end = .;
  41. _end = .;
  42. /* Move BSS section to RAM because of FAT */
  43. .bss (NOLOAD) : {
  44. __bss_start = .;
  45. *(.bss*)
  46. . = ALIGN(4);
  47. __bss_end = .;
  48. } > .sdram
  49. /DISCARD/ : { *(.dynsym) }
  50. /DISCARD/ : { *(.dynstr*) }
  51. /DISCARD/ : { *(.dynamic*) }
  52. /DISCARD/ : { *(.plt*) }
  53. /DISCARD/ : { *(.interp*) }
  54. /DISCARD/ : { *(.gnu*) }
  55. }