u-boot-spl.lds 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. /*
  2. * SPDX-License-Identifier: GPL-2.0+
  3. */
  4. MEMORY { .spl_mem : ORIGIN = CONFIG_SPL_TEXT_BASE, \
  5. LENGTH = CONFIG_SPL_MAX_SIZE }
  6. MEMORY { .bss_mem : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \
  7. LENGTH = CONFIG_SPL_BSS_MAX_SIZE }
  8. OUTPUT_ARCH(mips)
  9. ENTRY(_start)
  10. SECTIONS
  11. {
  12. . = 0x00000000;
  13. . = ALIGN(4);
  14. .text : {
  15. *(.text*)
  16. } > .spl_mem
  17. . = ALIGN(4);
  18. .rodata : {
  19. *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
  20. } > .spl_mem
  21. . = ALIGN(4);
  22. .data : {
  23. *(SORT_BY_ALIGNMENT(.data*))
  24. *(SORT_BY_ALIGNMENT(.sdata*))
  25. } > .spl_mem
  26. #ifdef CONFIG_SPL_DM
  27. . = ALIGN(4);
  28. .u_boot_list : {
  29. KEEP(*(SORT(.u_boot_list*)));
  30. } > .spl_mem
  31. #endif
  32. . = ALIGN(4);
  33. __image_copy_end = .;
  34. .bss (NOLOAD) : {
  35. __bss_start = .;
  36. *(.bss*)
  37. *(.sbss*)
  38. *(COMMON)
  39. . = ALIGN(4);
  40. __bss_end = .;
  41. } > .bss_mem
  42. .rel.dyn (NOLOAD) : {
  43. *(.rel.dyn)
  44. }
  45. .dynsym : {
  46. *(.dynsym)
  47. }
  48. .dynbss : {
  49. *(.dynbss)
  50. }
  51. .dynstr : {
  52. *(.dynstr)
  53. }
  54. .dynamic : {
  55. *(.dynamic)
  56. }
  57. .plt : {
  58. *(.plt)
  59. }
  60. .interp : {
  61. *(.interp)
  62. }
  63. .gnu : {
  64. *(.gnu*)
  65. }
  66. .MIPS.stubs : {
  67. *(.MIPS.stubs)
  68. }
  69. .hash : {
  70. *(.hash)
  71. }
  72. }