vmlinux.lds.S 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. /* ld script to make SparcLinux kernel */
  2. #include <asm-generic/vmlinux.lds.h>
  3. #include <asm/page.h>
  4. OUTPUT_FORMAT("elf32-sparc", "elf32-sparc", "elf32-sparc")
  5. OUTPUT_ARCH(sparc)
  6. ENTRY(_start)
  7. jiffies = jiffies_64 + 4;
  8. SECTIONS
  9. {
  10. . = 0x10000 + SIZEOF_HEADERS;
  11. .text 0xf0004000 :
  12. {
  13. _text = .;
  14. TEXT_TEXT
  15. SCHED_TEXT
  16. LOCK_TEXT
  17. *(.gnu.warning)
  18. } = 0
  19. _etext = .;
  20. PROVIDE (etext = .);
  21. RODATA
  22. .data : {
  23. DATA_DATA
  24. CONSTRUCTORS
  25. }
  26. .data1 : {
  27. *(.data1)
  28. }
  29. _edata = .;
  30. PROVIDE (edata = .);
  31. .fixup : {
  32. __start___fixup = .;
  33. *(.fixup)
  34. __stop___fixup = .;
  35. }
  36. __ex_table : {
  37. __start___ex_table = .;
  38. *(__ex_table)
  39. __stop___ex_table = .;
  40. }
  41. NOTES
  42. . = ALIGN(PAGE_SIZE);
  43. __init_begin = .;
  44. .init.text : {
  45. _sinittext = .;
  46. *(.init.text)
  47. _einittext = .;
  48. }
  49. __init_text_end = .;
  50. .init.data : {
  51. *(.init.data)
  52. }
  53. . = ALIGN(16);
  54. .init.setup : {
  55. __setup_start = .;
  56. *(.init.setup)
  57. __setup_end = .;
  58. }
  59. .initcall.init : {
  60. __initcall_start = .;
  61. INITCALLS
  62. __initcall_end = .;
  63. }
  64. .con_initcall.init : {
  65. __con_initcall_start = .;
  66. *(.con_initcall.init)
  67. __con_initcall_end = .;
  68. }
  69. SECURITY_INIT
  70. #ifdef CONFIG_BLK_DEV_INITRD
  71. . = ALIGN(PAGE_SIZE);
  72. .init.ramfs : {
  73. __initramfs_start = .;
  74. *(.init.ramfs)
  75. __initramfs_end = .;
  76. }
  77. #endif
  78. PERCPU(PAGE_SIZE)
  79. . = ALIGN(PAGE_SIZE);
  80. __init_end = .;
  81. . = ALIGN(32);
  82. .data.cacheline_aligned : {
  83. *(.data.cacheline_aligned)
  84. }
  85. __bss_start = .;
  86. .sbss : {
  87. *(.sbss)
  88. *(.scommon) }
  89. .bss : {
  90. *(.dynbss)
  91. *(.bss)
  92. *(COMMON)
  93. }
  94. _end = . ;
  95. PROVIDE (end = .);
  96. /DISCARD/ : {
  97. *(.exit.text)
  98. *(.exit.data)
  99. *(.exitcall.exit)
  100. }
  101. STABS_DEBUG
  102. DWARF_DEBUG
  103. }