vmlinux.lds.S 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. #include <asm-generic/vmlinux.lds.h>
  2. OUTPUT_ARCH(powerpc:common64)
  3. jiffies = jiffies_64;
  4. SECTIONS
  5. {
  6. /* Sections to be discarded. */
  7. /DISCARD/ : {
  8. *(.exitcall.exit)
  9. }
  10. /* Read-only sections, merged into text segment: */
  11. .text : {
  12. *(.text .text.*)
  13. SCHED_TEXT
  14. LOCK_TEXT
  15. KPROBES_TEXT
  16. *(.fixup)
  17. . = ALIGN(4096);
  18. _etext = .;
  19. }
  20. __ex_table : {
  21. __start___ex_table = .;
  22. *(__ex_table)
  23. __stop___ex_table = .;
  24. }
  25. __bug_table : {
  26. __start___bug_table = .;
  27. *(__bug_table)
  28. __stop___bug_table = .;
  29. }
  30. __ftr_fixup : {
  31. __start___ftr_fixup = .;
  32. *(__ftr_fixup)
  33. __stop___ftr_fixup = .;
  34. }
  35. RODATA
  36. /* will be freed after init */
  37. . = ALIGN(4096);
  38. __init_begin = .;
  39. .init.text : {
  40. _sinittext = .;
  41. *(.init.text)
  42. _einittext = .;
  43. }
  44. .init.data : {
  45. *(.init.data)
  46. }
  47. . = ALIGN(16);
  48. .init.setup : {
  49. __setup_start = .;
  50. *(.init.setup)
  51. __setup_end = .;
  52. }
  53. .initcall.init : {
  54. __initcall_start = .;
  55. *(.initcall1.init)
  56. *(.initcall2.init)
  57. *(.initcall3.init)
  58. *(.initcall4.init)
  59. *(.initcall5.init)
  60. *(.initcall6.init)
  61. *(.initcall7.init)
  62. __initcall_end = .;
  63. }
  64. .con_initcall.init : {
  65. __con_initcall_start = .;
  66. *(.con_initcall.init)
  67. __con_initcall_end = .;
  68. }
  69. SECURITY_INIT
  70. . = ALIGN(4096);
  71. .init.ramfs : {
  72. __initramfs_start = .;
  73. *(.init.ramfs)
  74. __initramfs_end = .;
  75. }
  76. .data.percpu : {
  77. __per_cpu_start = .;
  78. *(.data.percpu)
  79. __per_cpu_end = .;
  80. }
  81. . = ALIGN(16384);
  82. __init_end = .;
  83. /* freed after init ends here */
  84. /* Read/write sections */
  85. . = ALIGN(16384);
  86. /* The initial task and kernel stack */
  87. .data.init_task : {
  88. *(.data.init_task)
  89. }
  90. .data.page_aligned : {
  91. *(.data.page_aligned)
  92. }
  93. .data.cacheline_aligned : {
  94. *(.data.cacheline_aligned)
  95. }
  96. .data : {
  97. *(.data .data.rel* .toc1)
  98. *(.branch_lt)
  99. }
  100. .opd : {
  101. *(.opd)
  102. }
  103. .got : {
  104. __toc_start = .;
  105. *(.got)
  106. *(.toc)
  107. . = ALIGN(4096);
  108. _edata = .;
  109. }
  110. . = ALIGN(4096);
  111. .bss : {
  112. __bss_start = .;
  113. *(.bss)
  114. __bss_stop = .;
  115. }
  116. . = ALIGN(4096);
  117. _end = . ;
  118. }