u-boot-nand.lds 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Copyright 2009-2012 Freescale Semiconductor, Inc.
  4. */
  5. #include "config.h"
  6. #ifndef CONFIG_SYS_MONITOR_LEN
  7. #define CONFIG_SYS_MONITOR_LEN 0x80000
  8. #endif
  9. OUTPUT_ARCH(powerpc)
  10. /* Do we need any of these for elf?
  11. __DYNAMIC = 0; */
  12. PHDRS
  13. {
  14. text PT_LOAD;
  15. bss PT_LOAD;
  16. }
  17. SECTIONS
  18. {
  19. /* Read-only sections, merged into text segment: */
  20. . = + SIZEOF_HEADERS;
  21. .interp : { *(.interp) }
  22. .text :
  23. {
  24. *(.text*)
  25. } :text
  26. _etext = .;
  27. PROVIDE (etext = .);
  28. .rodata :
  29. {
  30. *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
  31. } :text
  32. /* Read-write section, merged into data segment: */
  33. . = (. + 0x00FF) & 0xFFFFFF00;
  34. _erotext = .;
  35. PROVIDE (erotext = .);
  36. .reloc :
  37. {
  38. _GOT2_TABLE_ = .;
  39. KEEP(*(.got2))
  40. KEEP(*(.got))
  41. _FIXUP_TABLE_ = .;
  42. KEEP(*(.fixup))
  43. }
  44. __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
  45. __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
  46. .data :
  47. {
  48. *(.data*)
  49. *(.sdata*)
  50. }
  51. _edata = .;
  52. PROVIDE (edata = .);
  53. . = .;
  54. .u_boot_list : {
  55. KEEP(*(SORT(.u_boot_list*)));
  56. }
  57. . = .;
  58. __start___ex_table = .;
  59. __ex_table : { *(__ex_table) }
  60. __stop___ex_table = .;
  61. . = ALIGN(256);
  62. __init_begin = .;
  63. .text.init : { *(.text.init) }
  64. .data.init : { *(.data.init) }
  65. . = ALIGN(256);
  66. __init_end = .;
  67. _end = .;
  68. .bootpg ADDR(.text) - 0x1000 :
  69. {
  70. KEEP(arch/powerpc/cpu/mpc85xx/start.o (.bootpg))
  71. } :text = 0xffff
  72. . = ADDR(.text) + CONFIG_SYS_MONITOR_LEN;
  73. __bss_start = .;
  74. .bss (NOLOAD) :
  75. {
  76. *(.sbss*)
  77. *(.bss*)
  78. *(COMMON)
  79. } :bss
  80. . = ALIGN(4);
  81. __bss_end = . ;
  82. PROVIDE (end = .);
  83. }