vmlinux-std.lds 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. .init_end : {
  43. /* This ALIGN be in a section so that _end is at the end of the
  44. load segment. */
  45. . = ALIGN(PAGE_SIZE);
  46. __init_end = .;
  47. }
  48. _end = . ;
  49. STABS_DEBUG
  50. ELF_DETAILS
  51. /* Sections to be discarded */
  52. DISCARDS
  53. }