vmlinux-std.lds 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. LOCK_TEXT
  18. *(.fixup)
  19. *(.gnu.warning)
  20. } :text = 0x4e75
  21. _etext = .; /* End of text section */
  22. EXCEPTION_TABLE(16)
  23. _sdata = .; /* Start of data section */
  24. RODATA
  25. RW_DATA_SECTION(16, PAGE_SIZE, THREAD_SIZE)
  26. _sbss = .;
  27. BSS_SECTION(0, 0, 0)
  28. _ebss = .;
  29. _edata = .; /* End of data section */
  30. /* will be freed after init */
  31. . = ALIGN(PAGE_SIZE); /* Init code and data */
  32. __init_begin = .;
  33. INIT_TEXT_SECTION(PAGE_SIZE) :data
  34. INIT_DATA_SECTION(16)
  35. .m68k_fixup : {
  36. __start_fixup = .;
  37. *(.m68k_fixup)
  38. __stop_fixup = .;
  39. }
  40. NOTES
  41. .init_end : {
  42. /* This ALIGN be in a section so that _end is at the end of the
  43. load segment. */
  44. . = ALIGN(PAGE_SIZE);
  45. __init_end = .;
  46. }
  47. _end = . ;
  48. STABS_DEBUG
  49. .comment 0 : { *(.comment) }
  50. /* Sections to be discarded */
  51. DISCARDS
  52. }