vmlinux-std.lds 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /* ld script to make m68k Linux kernel */
  2. #include <asm-generic/vmlinux.lds.h>
  3. #include <asm/page.h>
  4. #include <asm/thread_info.h>
  5. OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
  6. OUTPUT_ARCH(m68k)
  7. ENTRY(_start)
  8. jiffies = jiffies_64 + 4;
  9. SECTIONS
  10. {
  11. . = 0x1000;
  12. _text = .; /* Text and read-only data */
  13. .text : {
  14. HEAD_TEXT
  15. TEXT_TEXT
  16. SCHED_TEXT
  17. CPUIDLE_TEXT
  18. LOCK_TEXT
  19. *(.fixup)
  20. *(.gnu.warning)
  21. } :text = 0x4e75
  22. _etext = .; /* End of text section */
  23. EXCEPTION_TABLE(16)
  24. _sdata = .; /* Start of data section */
  25. RODATA
  26. RW_DATA_SECTION(16, PAGE_SIZE, THREAD_SIZE)
  27. BSS_SECTION(0, 0, 0)
  28. _edata = .; /* End of data section */
  29. /* will be freed after init */
  30. . = ALIGN(PAGE_SIZE); /* Init code and data */
  31. __init_begin = .;
  32. INIT_TEXT_SECTION(PAGE_SIZE) :data
  33. INIT_DATA_SECTION(16)
  34. .m68k_fixup : {
  35. __start_fixup = .;
  36. *(.m68k_fixup)
  37. __stop_fixup = .;
  38. }
  39. NOTES
  40. .init_end : {
  41. /* This ALIGN be in a section so that _end is at the end of the
  42. load segment. */
  43. . = ALIGN(PAGE_SIZE);
  44. __init_end = .;
  45. }
  46. _end = . ;
  47. STABS_DEBUG
  48. .comment 0 : { *(.comment) }
  49. /* Sections to be discarded */
  50. DISCARDS
  51. }