u-boot.lds 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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. PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
  33. _FIXUP_TABLE_ = .;
  34. KEEP(*(.fixup))
  35. }
  36. __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
  37. __fixup_entries = (. - _FIXUP_TABLE_)>>2;
  38. .data :
  39. {
  40. *(.data*)
  41. *(.sdata*)
  42. }
  43. _edata = .;
  44. PROVIDE (edata = .);
  45. . = .;
  46. . = ALIGN(4);
  47. .u_boot_list : {
  48. KEEP(*(SORT(.u_boot_list*)));
  49. }
  50. . = .;
  51. __start___ex_table = .;
  52. __ex_table : { *(__ex_table) }
  53. __stop___ex_table = .;
  54. . = ALIGN(256);
  55. __init_begin = .;
  56. .text.init : { *(.text.init) }
  57. .data.init : { *(.data.init) }
  58. . = ALIGN(256);
  59. __init_end = .;
  60. __bss_start = .;
  61. .bss (NOLOAD) :
  62. {
  63. *(.bss*)
  64. *(.sbss*)
  65. *(COMMON)
  66. . = ALIGN(4);
  67. }
  68. __bss_end = . ;
  69. PROVIDE (end = .);
  70. . = env_start;
  71. .ppcenv :
  72. {
  73. common/env_embedded.o (.ppcenv)
  74. }
  75. }