zImage.lds.S 1.2 KB

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