vmlinux-std.lds 1.2 KB

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