zImage.lds.S 1.3 KB

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