zImage.lds.S 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. #ifdef CONFIG_PPC64_BOOT_WRAPPER
  37. .got : ALIGN(256)
  38. {
  39. *(.got .toc)
  40. }
  41. #endif
  42. .hash : { *(.hash) }
  43. .interp : { *(.interp) }
  44. .rela.dyn :
  45. {
  46. #ifdef CONFIG_PPC64_BOOT_WRAPPER
  47. __rela_dyn_start = .;
  48. #endif
  49. *(.rela*)
  50. }
  51. . = ALIGN(8);
  52. .kernel:dtb :
  53. {
  54. _dtb_start = .;
  55. *(.kernel:dtb)
  56. _dtb_end = .;
  57. }
  58. . = ALIGN(4096);
  59. .kernel:vmlinux.strip :
  60. {
  61. _vmlinux_start = .;
  62. *(.kernel:vmlinux.strip)
  63. _vmlinux_end = .;
  64. }
  65. . = ALIGN(4096);
  66. .kernel:initrd :
  67. {
  68. _initrd_start = .;
  69. *(.kernel:initrd)
  70. _initrd_end = .;
  71. }
  72. . = ALIGN(4096);
  73. .kernel:esm_blob :
  74. {
  75. _esm_blob_start = .;
  76. *(.kernel:esm_blob)
  77. _esm_blob_end = .;
  78. }
  79. . = ALIGN(4096);
  80. .bss :
  81. {
  82. _edata = .;
  83. __bss_start = .;
  84. *(.sbss)
  85. *(.bss)
  86. *(COMMON)
  87. _end = . ;
  88. }
  89. }