u-boot.lds 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /*
  2. * (C) Copyright 2001-2010 Wolfgang Denk, DENX Software Engineering, wd@denx.de
  3. * (C) Copyright 2003 Martin Winistoerfer, martinwinistoerfer@gmx.ch
  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. arch/powerpc/cpu/mpc5xx/start.o (.text*)
  15. *(.text*)
  16. }
  17. _etext = .;
  18. PROVIDE (etext = .);
  19. .rodata :
  20. {
  21. *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
  22. }
  23. /* Read-write section, merged into data segment: */
  24. . = (. + 0x00FF) & 0xFFFFFF00;
  25. _erotext = .;
  26. PROVIDE (erotext = .);
  27. .reloc :
  28. {
  29. _GOT2_TABLE_ = .;
  30. KEEP(*(.got2))
  31. KEEP(*(.got))
  32. _FIXUP_TABLE_ = .;
  33. KEEP(*(.fixup))
  34. }
  35. __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
  36. __fixup_entries = (. - _FIXUP_TABLE_)>>2;
  37. .data :
  38. {
  39. *(.data*)
  40. *(.sdata*)
  41. }
  42. _edata = .;
  43. PROVIDE (edata = .);
  44. . = .;
  45. . = ALIGN(4);
  46. .u_boot_list : {
  47. KEEP(*(SORT(.u_boot_list*)));
  48. }
  49. . = .;
  50. __start___ex_table = .;
  51. __ex_table : { *(__ex_table) }
  52. __stop___ex_table = .;
  53. . = ALIGN(256);
  54. __init_begin = .;
  55. .text.init : { *(.text.init) }
  56. .data.init : { *(.data.init) }
  57. . = ALIGN(256);
  58. __init_end = .;
  59. __bss_start = .;
  60. .bss (NOLOAD) :
  61. {
  62. *(.bss*)
  63. *(.sbss*)
  64. *(COMMON)
  65. . = ALIGN(4);
  66. }
  67. __bss_end = . ;
  68. PROVIDE (end = .);
  69. . = env_start;
  70. .ppcenv :
  71. {
  72. common/env_embedded.o (.ppcenv)
  73. }
  74. }