vmlinux-std.lds 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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)
  13. SCHED_TEXT
  14. LOCK_TEXT
  15. *(.fixup)
  16. *(.gnu.warning)
  17. } :text = 0x4e75
  18. . = ALIGN(16); /* Exception table */
  19. __start___ex_table = .;
  20. __ex_table : { *(__ex_table) }
  21. __stop___ex_table = .;
  22. RODATA
  23. _etext = .; /* End of text section */
  24. .data : { /* Data */
  25. *(.data)
  26. CONSTRUCTORS
  27. }
  28. .bss : { *(.bss) } /* BSS */
  29. . = ALIGN(16);
  30. .data.cacheline_aligned : { *(.data.cacheline_aligned) } :data
  31. _edata = .; /* End of data section */
  32. /* will be freed after init */
  33. . = ALIGN(4096); /* Init code and data */
  34. __init_begin = .;
  35. .init.text : {
  36. _sinittext = .;
  37. *(.init.text)
  38. _einittext = .;
  39. }
  40. .init.data : { *(.init.data) }
  41. . = ALIGN(16);
  42. __setup_start = .;
  43. .init.setup : { *(.init.setup) }
  44. __setup_end = .;
  45. __initcall_start = .;
  46. .initcall.init : {
  47. *(.initcall1.init)
  48. *(.initcall2.init)
  49. *(.initcall3.init)
  50. *(.initcall4.init)
  51. *(.initcall5.init)
  52. *(.initcall6.init)
  53. *(.initcall7.init)
  54. }
  55. __initcall_end = .;
  56. __con_initcall_start = .;
  57. .con_initcall.init : { *(.con_initcall.init) }
  58. __con_initcall_end = .;
  59. SECURITY_INIT
  60. . = ALIGN(8192);
  61. __initramfs_start = .;
  62. .init.ramfs : { *(.init.ramfs) }
  63. __initramfs_end = .;
  64. . = ALIGN(8192);
  65. __init_end = .;
  66. .data.init_task : { *(.data.init_task) } /* The initial task and kernel stack */
  67. _end = . ;
  68. /* Sections to be discarded */
  69. /DISCARD/ : {
  70. *(.exit.text)
  71. *(.exit.data)
  72. *(.exitcall.exit)
  73. }
  74. /* Stabs debugging sections. */
  75. .stab 0 : { *(.stab) }
  76. .stabstr 0 : { *(.stabstr) }
  77. .stab.excl 0 : { *(.stab.excl) }
  78. .stab.exclstr 0 : { *(.stab.exclstr) }
  79. .stab.index 0 : { *(.stab.index) }
  80. .stab.indexstr 0 : { *(.stab.indexstr) }
  81. .comment 0 : { *(.comment) }
  82. }