elf_ia32_fbsd_efi.lds 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. OUTPUT_FORMAT("elf32-i386-freebsd", "elf32-i386-freebsd", "elf32-i386-freebsd")
  2. OUTPUT_ARCH(i386)
  3. ENTRY(_start)
  4. SECTIONS
  5. {
  6. . = 0;
  7. ImageBase = .;
  8. .hash : { *(.hash) } /* this MUST come first! */
  9. . = ALIGN(4096);
  10. .text :
  11. {
  12. *(.text)
  13. *(.text.*)
  14. *(.gnu.linkonce.t.*)
  15. }
  16. . = ALIGN(4096);
  17. .sdata :
  18. {
  19. *(.got.plt)
  20. *(.got)
  21. *(.srodata)
  22. *(.sdata)
  23. *(.sbss)
  24. *(.scommon)
  25. }
  26. . = ALIGN(4096);
  27. .data :
  28. {
  29. *(.rodata*)
  30. *(.data)
  31. *(.data1)
  32. *(.data.*)
  33. *(.sdata)
  34. *(.got.plt)
  35. *(.got)
  36. /* the EFI loader doesn't seem to like a .bss section, so we stick
  37. it all into .data: */
  38. *(.sbss)
  39. *(.scommon)
  40. *(.dynbss)
  41. *(.bss)
  42. *(COMMON)
  43. }
  44. . = ALIGN(4096);
  45. .dynamic : { *(.dynamic) }
  46. . = ALIGN(4096);
  47. .rel :
  48. {
  49. *(.rel.data)
  50. *(.rel.data.*)
  51. *(.rel.got)
  52. *(.rel.stab)
  53. *(.data.rel.ro.local)
  54. *(.data.rel.local)
  55. *(.data.rel.ro)
  56. *(.data.rel*)
  57. }
  58. . = ALIGN(4096);
  59. .reloc : /* This is the PECOFF .reloc section! */
  60. {
  61. *(.reloc)
  62. }
  63. . = ALIGN(4096);
  64. .dynsym : { *(.dynsym) }
  65. . = ALIGN(4096);
  66. .dynstr : { *(.dynstr) }
  67. . = ALIGN(4096);
  68. /DISCARD/ :
  69. {
  70. *(.rel.reloc)
  71. *(.eh_frame)
  72. *(.note.GNU-stack)
  73. }
  74. .comment 0 : { *(.comment) }
  75. }