u-boot.lds 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. /*
  2. * (C) Copyright 2003
  3. * Wolfgang Denk Engineering, <wd@denx.de>
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. #if defined(CONFIG_64BIT)
  8. #define PTR_COUNT_SHIFT 3
  9. #else
  10. #define PTR_COUNT_SHIFT 2
  11. #endif
  12. OUTPUT_ARCH(mips)
  13. ENTRY(_start)
  14. SECTIONS
  15. {
  16. . = 0x00000000;
  17. . = ALIGN(4);
  18. .text : {
  19. *(.text*)
  20. }
  21. . = ALIGN(4);
  22. .rodata : {
  23. *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
  24. }
  25. . = ALIGN(4);
  26. .data : {
  27. *(.data*)
  28. }
  29. . = .;
  30. _gp = ALIGN(16) + 0x7ff0;
  31. .got : {
  32. *(.got)
  33. }
  34. num_got_entries = SIZEOF(.got) >> PTR_COUNT_SHIFT;
  35. . = ALIGN(4);
  36. .sdata : {
  37. *(.sdata*)
  38. }
  39. . = ALIGN(4);
  40. .u_boot_list : {
  41. KEEP(*(SORT(.u_boot_list*)));
  42. }
  43. . = ALIGN(4);
  44. __image_copy_end = .;
  45. __init_end = .;
  46. .rel.dyn : {
  47. __rel_dyn_start = .;
  48. *(.rel.dyn)
  49. __rel_dyn_end = .;
  50. }
  51. _end = .;
  52. .bss __rel_dyn_start (OVERLAY) : {
  53. __bss_start = .;
  54. *(.sbss.*)
  55. *(.bss.*)
  56. *(COMMON)
  57. . = ALIGN(4);
  58. __bss_end = .;
  59. }
  60. .dynsym _end : {
  61. *(.dynsym)
  62. }
  63. .dynbss : {
  64. *(.dynbss)
  65. }
  66. .dynstr : {
  67. *(.dynstr)
  68. }
  69. .dynamic : {
  70. *(.dynamic)
  71. }
  72. .plt : {
  73. *(.plt)
  74. }
  75. .interp : {
  76. *(.interp)
  77. }
  78. .gnu : {
  79. *(.gnu*)
  80. }
  81. .MIPS.stubs : {
  82. *(.MIPS.stubs)
  83. }
  84. .hash : {
  85. *(.hash)
  86. }
  87. }