realmode.lds.S 902 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * realmode.lds.S
  4. *
  5. * Linker script for the real-mode code
  6. */
  7. #include <asm/page_types.h>
  8. #undef i386
  9. OUTPUT_FORMAT("elf32-i386")
  10. OUTPUT_ARCH(i386)
  11. ENTRY(pa_text_start)
  12. SECTIONS
  13. {
  14. real_mode_seg = 0;
  15. . = 0;
  16. .header : {
  17. pa_real_mode_base = .;
  18. *(.header)
  19. }
  20. . = ALIGN(4);
  21. .rodata : {
  22. *(.rodata)
  23. *(.rodata.*)
  24. . = ALIGN(16);
  25. video_cards = .;
  26. *(.videocards)
  27. video_cards_end = .;
  28. }
  29. . = ALIGN(PAGE_SIZE);
  30. pa_text_start = .;
  31. .text : {
  32. *(.text)
  33. *(.text.*)
  34. }
  35. .text32 : {
  36. *(.text32)
  37. *(.text32.*)
  38. }
  39. .text64 : {
  40. *(.text64)
  41. *(.text64.*)
  42. }
  43. pa_ro_end = .;
  44. . = ALIGN(PAGE_SIZE);
  45. .data : {
  46. *(.data)
  47. *(.data.*)
  48. }
  49. . = ALIGN(128);
  50. .bss : {
  51. *(.bss*)
  52. }
  53. /* End signature for integrity checking */
  54. . = ALIGN(4);
  55. .signature : {
  56. *(.signature)
  57. }
  58. /DISCARD/ : {
  59. *(.note*)
  60. *(.debug*)
  61. }
  62. #include "pasyms.h"
  63. }