zImage.lds.S 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #include <asm-generic/vmlinux.lds.h>
  3. #ifdef CONFIG_PPC64_BOOT_WRAPPER
  4. OUTPUT_ARCH(powerpc:common64)
  5. #else
  6. OUTPUT_ARCH(powerpc:common)
  7. #endif
  8. ENTRY(_zimage_start)
  9. EXTERN(_zimage_start)
  10. SECTIONS
  11. {
  12. .text :
  13. {
  14. _start = .;
  15. *(.text)
  16. *(.fixup)
  17. _etext = .;
  18. }
  19. . = ALIGN(4096);
  20. .data :
  21. {
  22. *(.rodata*)
  23. *(.data*)
  24. *(.sdata*)
  25. #ifndef CONFIG_PPC64_BOOT_WRAPPER
  26. *(.got2)
  27. #endif
  28. }
  29. .dynsym : { *(.dynsym) }
  30. .dynstr : { *(.dynstr) }
  31. .dynamic :
  32. {
  33. __dynamic_start = .;
  34. *(.dynamic)
  35. }
  36. .hash : { *(.hash) }
  37. .interp : { *(.interp) }
  38. .rela.dyn :
  39. {
  40. #ifdef CONFIG_PPC64_BOOT_WRAPPER
  41. __rela_dyn_start = .;
  42. #endif
  43. *(.rela*)
  44. }
  45. . = ALIGN(8);
  46. .kernel:dtb :
  47. {
  48. _dtb_start = .;
  49. *(.kernel:dtb)
  50. _dtb_end = .;
  51. }
  52. . = ALIGN(4096);
  53. .kernel:vmlinux.strip :
  54. {
  55. _vmlinux_start = .;
  56. *(.kernel:vmlinux.strip)
  57. _vmlinux_end = .;
  58. }
  59. . = ALIGN(4096);
  60. .kernel:initrd :
  61. {
  62. _initrd_start = .;
  63. *(.kernel:initrd)
  64. _initrd_end = .;
  65. }
  66. . = ALIGN(4096);
  67. .kernel:esm_blob :
  68. {
  69. _esm_blob_start = .;
  70. *(.kernel:esm_blob)
  71. _esm_blob_end = .;
  72. }
  73. #ifdef CONFIG_PPC64_BOOT_WRAPPER
  74. . = ALIGN(256);
  75. .got :
  76. {
  77. __toc_start = .;
  78. *(.got)
  79. *(.toc)
  80. }
  81. #endif
  82. . = ALIGN(4096);
  83. .bss :
  84. {
  85. _edata = .;
  86. __bss_start = .;
  87. *(.sbss)
  88. *(.bss)
  89. *(COMMON)
  90. _end = . ;
  91. }
  92. }