u-boot-spl.lds 1.1 KB

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