elf_x86_64_fbsd_efi.lds 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /* Same as elf_x86_64_efi.lds, except for OUTPUT_FORMAT below - KEEP IN SYNC */
  2. OUTPUT_FORMAT("elf64-x86-64-freebsd", "elf64-x86-64-freebsd", "elf64-x86-64-freebsd")
  3. OUTPUT_ARCH(i386:x86-64)
  4. ENTRY(_start)
  5. SECTIONS
  6. {
  7. . = 0;
  8. ImageBase = .;
  9. .hash : { *(.hash) } /* this MUST come first! */
  10. . = ALIGN(4096);
  11. .eh_frame :
  12. {
  13. *(.eh_frame)
  14. }
  15. . = ALIGN(4096);
  16. .text :
  17. {
  18. _text = .;
  19. *(.text)
  20. . = ALIGN(16);
  21. }
  22. _etext = .;
  23. _text_size = . - _text;
  24. .reloc :
  25. {
  26. *(.reloc)
  27. }
  28. . = ALIGN(4096);
  29. .data :
  30. {
  31. _data = .;
  32. *(.rodata*)
  33. *(.got.plt)
  34. *(.got)
  35. *(.data*)
  36. *(.sdata)
  37. /* the EFI loader doesn't seem to like a .bss section, so we stick
  38. it all into .data: */
  39. *(.sbss)
  40. *(.scommon)
  41. *(.dynbss)
  42. *(.bss)
  43. *(COMMON)
  44. *(.rel.local)
  45. }
  46. . = ALIGN(4096);
  47. .dynamic : { *(.dynamic) }
  48. . = ALIGN(4096);
  49. .rela :
  50. {
  51. *(.rela.data*)
  52. *(.rela.got)
  53. *(.rela.stab)
  54. }
  55. _edata = .;
  56. _data_size = . - _etext;
  57. . = ALIGN(4096);
  58. .dynsym : { *(.dynsym) }
  59. . = ALIGN(4096);
  60. .dynstr : { *(.dynstr) }
  61. . = ALIGN(4096);
  62. .ignored.reloc :
  63. {
  64. *(.rela.reloc)
  65. }
  66. }