u-boot-spl.lds 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * (C) Copyright 2013
  4. * David Feng <fenghua@phytium.com.cn>
  5. *
  6. * (C) Copyright 2002
  7. * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
  8. *
  9. * (C) Copyright 2010
  10. * Texas Instruments, <www.ti.com>
  11. * Aneesh V <aneesh@ti.com>
  12. */
  13. MEMORY { .sram : ORIGIN = CONFIG_SPL_TEXT_BASE,
  14. LENGTH = CONFIG_SPL_MAX_SIZE }
  15. MEMORY { .sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR,
  16. LENGTH = CONFIG_SPL_BSS_MAX_SIZE }
  17. OUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64")
  18. OUTPUT_ARCH(aarch64)
  19. ENTRY(_start)
  20. SECTIONS
  21. {
  22. .text : {
  23. . = ALIGN(8);
  24. *(.__image_copy_start)
  25. CPUDIR/start.o (.text*)
  26. *(.text*)
  27. } >.sram
  28. .rodata : {
  29. . = ALIGN(8);
  30. *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
  31. } >.sram
  32. .data : {
  33. . = ALIGN(8);
  34. *(.data*)
  35. } >.sram
  36. .u_boot_list : {
  37. . = ALIGN(8);
  38. KEEP(*(SORT(.u_boot_list*)));
  39. } >.sram
  40. .image_copy_end : {
  41. . = ALIGN(8);
  42. *(.__image_copy_end)
  43. } >.sram
  44. .end : {
  45. . = ALIGN(8);
  46. *(.__end)
  47. } >.sram
  48. _image_binary_end = .;
  49. .bss_start (NOLOAD) : {
  50. . = ALIGN(8);
  51. KEEP(*(.__bss_start));
  52. } >.sdram
  53. .bss (NOLOAD) : {
  54. *(.bss*)
  55. . = ALIGN(8);
  56. } >.sdram
  57. .bss_end (NOLOAD) : {
  58. KEEP(*(.__bss_end));
  59. } >.sdram
  60. /DISCARD/ : { *(.dynsym) }
  61. /DISCARD/ : { *(.dynstr*) }
  62. /DISCARD/ : { *(.dynamic*) }
  63. /DISCARD/ : { *(.plt*) }
  64. /DISCARD/ : { *(.interp*) }
  65. /DISCARD/ : { *(.gnu*) }
  66. }