vmlinux-std.lds 2.0 KB

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