zImage.lds.S 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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. #ifdef CONFIG_PPC64_BOOT_WRAPPER
  67. . = ALIGN(256);
  68. .got :
  69. {
  70. __toc_start = .;
  71. *(.got)
  72. *(.toc)
  73. }
  74. #endif
  75. . = ALIGN(4096);
  76. .bss :
  77. {
  78. _edata = .;
  79. __bss_start = .;
  80. *(.sbss)
  81. *(.bss)
  82. *(COMMON)
  83. _end = . ;
  84. }
  85. }