u-boot.lds 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /*
  2. * (C) Copyright 2000-2012
  3. * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. OUTPUT_ARCH(powerpc)
  8. SECTIONS
  9. {
  10. /* Read-only sections, merged into text segment: */
  11. . = + SIZEOF_HEADERS;
  12. .text :
  13. {
  14. /* WARNING - the following is hand-optimized to fit within */
  15. /* the sector layout of our flash chips! XXX FIXME XXX */
  16. arch/powerpc/cpu/mpc8xx/start.o (.text*)
  17. arch/powerpc/cpu/mpc8xx/traps.o (.text*)
  18. arch/powerpc/cpu/mpc8xx/built-in.o (.text*)
  19. arch/powerpc/lib/built-in.o (.text*)
  20. board/tqc/tqm8xx/built-in.o (.text*)
  21. disk/built-in.o (.text*)
  22. drivers/net/built-in.o (.text*)
  23. drivers/built-in.o (.text.pcmcia_on)
  24. drivers/built-in.o (.text.pcmcia_hardware_enable)
  25. . = DEFINED(env_offset) ? env_offset : .;
  26. common/env_embedded.o (.ppcenv*)
  27. *(.text*)
  28. }
  29. _etext = .;
  30. PROVIDE (etext = .);
  31. .rodata :
  32. {
  33. *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
  34. }
  35. /* Read-write section, merged into data segment: */
  36. . = (. + 0x00FF) & 0xFFFFFF00;
  37. _erotext = .;
  38. PROVIDE (erotext = .);
  39. .reloc :
  40. {
  41. _GOT2_TABLE_ = .;
  42. KEEP(*(.got2))
  43. KEEP(*(.got))
  44. _FIXUP_TABLE_ = .;
  45. KEEP(*(.fixup))
  46. }
  47. __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
  48. __fixup_entries = (. - _FIXUP_TABLE_)>>2;
  49. .data :
  50. {
  51. *(.data*)
  52. *(.sdata*)
  53. }
  54. _edata = .;
  55. PROVIDE (edata = .);
  56. . = .;
  57. . = ALIGN(4);
  58. .u_boot_list : {
  59. KEEP(*(SORT(.u_boot_list*)));
  60. }
  61. . = .;
  62. __start___ex_table = .;
  63. __ex_table : { *(__ex_table) }
  64. __stop___ex_table = .;
  65. . = ALIGN(256);
  66. __init_begin = .;
  67. .text.init : { *(.text.init) }
  68. .data.init : { *(.data.init) }
  69. . = ALIGN(256);
  70. __init_end = .;
  71. __bss_start = .;
  72. .bss (NOLOAD) :
  73. {
  74. *(.bss*)
  75. *(.sbss*)
  76. *(COMMON)
  77. . = ALIGN(4);
  78. }
  79. __bss_end = . ;
  80. PROVIDE (end = .);
  81. }