link.ld 587 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /* vim: tabstop=4 shiftwidth=4 noexpandtab
  2. * Kernel linker script for x86
  3. */
  4. OUTPUT_FORMAT(elf32-i386)
  5. ENTRY(start)
  6. SECTIONS
  7. {
  8. . = 1M;
  9. phys = .;
  10. .text BLOCK(4K) : ALIGN(4K)
  11. {
  12. code = .;
  13. *(.multiboot)
  14. *(.text)
  15. }
  16. .rodata BLOCK(4K) : ALIGN(4K)
  17. {
  18. *(.rodata)
  19. }
  20. .data BLOCK(4K) : ALIGN(4K)
  21. {
  22. data = .;
  23. *(.data)
  24. *(.symbols)
  25. PROVIDE(kernel_symbols_start = .);
  26. PROVIDE(kernel_symbols_end = .);
  27. }
  28. .bss BLOCK(4K) : ALIGN(4K)
  29. {
  30. bss = .;
  31. *(COMMON)
  32. *(.bss)
  33. *(.stack)
  34. }
  35. end = .;
  36. /DISCARD/ :
  37. {
  38. *(.comment)
  39. *(.eh_frame)
  40. *(.note.gnu.build-id)
  41. }
  42. }