vmlinux-std.lds 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. /* ld script to make m68k Linux kernel */
  2. #include <asm-generic/vmlinux.lds.h>
  3. OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
  4. OUTPUT_ARCH(m68k)
  5. ENTRY(_start)
  6. jiffies = jiffies_64 + 4;
  7. SECTIONS
  8. {
  9. . = 0x1000;
  10. _text = .; /* Text and read-only data */
  11. .text : {
  12. *(.text.head)
  13. TEXT_TEXT
  14. SCHED_TEXT
  15. LOCK_TEXT
  16. *(.fixup)
  17. *(.gnu.warning)
  18. } :text = 0x4e75
  19. _etext = .; /* End of text section */
  20. . = ALIGN(16); /* Exception table */
  21. __start___ex_table = .;
  22. __ex_table : { *(__ex_table) }
  23. __stop___ex_table = .;
  24. RODATA
  25. .data : { /* Data */
  26. DATA_DATA
  27. CONSTRUCTORS
  28. }
  29. .bss : { *(.bss) } /* BSS */
  30. . = ALIGN(16);
  31. .data.cacheline_aligned : { *(.data.cacheline_aligned) } :data
  32. _edata = .; /* End of data section */
  33. /* will be freed after init */
  34. . = ALIGN(4096); /* Init code and data */
  35. __init_begin = .;
  36. .init.text : {
  37. _sinittext = .;
  38. *(.init.text)
  39. _einittext = .;
  40. }
  41. .init.data : { *(.init.data) }
  42. . = ALIGN(16);
  43. __setup_start = .;
  44. .init.setup : { *(.init.setup) }
  45. __setup_end = .;
  46. __initcall_start = .;
  47. .initcall.init : {
  48. INITCALLS
  49. }
  50. __initcall_end = .;
  51. __con_initcall_start = .;
  52. .con_initcall.init : { *(.con_initcall.init) }
  53. __con_initcall_end = .;
  54. .m68k_fixup : {
  55. __start_fixup = .;
  56. *(.m68k_fixup)
  57. __stop_fixup = .;
  58. }
  59. SECURITY_INIT
  60. #ifdef CONFIG_BLK_DEV_INITRD
  61. . = ALIGN(8192);
  62. __initramfs_start = .;
  63. .init.ramfs : { *(.init.ramfs) }
  64. __initramfs_end = .;
  65. #endif
  66. . = ALIGN(8192);
  67. __init_end = .;
  68. .data.init_task : { *(.data.init_task) } /* The initial task and kernel stack */
  69. _end = . ;
  70. /* Sections to be discarded */
  71. /DISCARD/ : {
  72. *(.exit.text)
  73. *(.exit.data)
  74. *(.exitcall.exit)
  75. }
  76. /* Stabs debugging sections. */
  77. .stab 0 : { *(.stab) }
  78. .stabstr 0 : { *(.stabstr) }
  79. .stab.excl 0 : { *(.stab.excl) }
  80. .stab.exclstr 0 : { *(.stab.exclstr) }
  81. .stab.index 0 : { *(.stab.index) }
  82. .stab.indexstr 0 : { *(.stab.indexstr) }
  83. .comment 0 : { *(.comment) }
  84. }