u-boot-nand.lds 1.6 KB

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