vmlinux.lds.S 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #include <asm-generic/vmlinux.lds.h>
  2. #include <asm/thread_info.h>
  3. #include <asm/page.h>
  4. OUTPUT_FORMAT("elf64-alpha")
  5. OUTPUT_ARCH(alpha)
  6. ENTRY(__start)
  7. PHDRS { kernel PT_LOAD; note PT_NOTE; }
  8. jiffies = jiffies_64;
  9. SECTIONS
  10. {
  11. #ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS
  12. . = 0xfffffc0000310000;
  13. #else
  14. . = 0xfffffc0001010000;
  15. #endif
  16. _text = .; /* Text and read-only data */
  17. .text : {
  18. HEAD_TEXT
  19. TEXT_TEXT
  20. SCHED_TEXT
  21. LOCK_TEXT
  22. *(.fixup)
  23. *(.gnu.warning)
  24. } :kernel
  25. _etext = .; /* End of text section */
  26. NOTES :kernel :note
  27. .dummy : {
  28. *(.dummy)
  29. } :kernel
  30. RODATA
  31. EXCEPTION_TABLE(16)
  32. /* Will be freed after init */
  33. __init_begin = ALIGN(PAGE_SIZE);
  34. INIT_TEXT_SECTION(PAGE_SIZE)
  35. INIT_DATA_SECTION(16)
  36. PERCPU(PAGE_SIZE)
  37. /* Align to THREAD_SIZE rather than PAGE_SIZE here so any padding page
  38. needed for the THREAD_SIZE aligned init_task gets freed after init */
  39. . = ALIGN(THREAD_SIZE);
  40. __init_end = .;
  41. /* Freed after init ends here */
  42. _data = .;
  43. RW_DATA_SECTION(64, PAGE_SIZE, THREAD_SIZE)
  44. .got : {
  45. *(.got)
  46. }
  47. .sdata : {
  48. *(.sdata)
  49. }
  50. _edata = .; /* End of data section */
  51. BSS_SECTION(0, 0, 0)
  52. _end = .;
  53. .mdebug 0 : {
  54. *(.mdebug)
  55. }
  56. .note 0 : {
  57. *(.note)
  58. }
  59. STABS_DEBUG
  60. DWARF_DEBUG
  61. DISCARDS
  62. }