diff --git a/BaseTools/Scripts/gcc-4K-align-ld-script b/BaseTools/Scripts/gcc-4K-align-ld-script new file mode 100644 index 0000000000..1f23079023 --- /dev/null +++ b/BaseTools/Scripts/gcc-4K-align-ld-script @@ -0,0 +1,44 @@ +/* OUTPUT_FORMAT(efi-bsdrv-x86_64) */ +SECTIONS +{ + /* . = 0 + SIZEOF_HEADERS; */ + . = 0x280; + .text: ALIGN(0x1000) + { + *(.text .stub .text.* .gnu.linkonce.t.*) + . = ALIGN(0x20); + } + .data: ALIGN(0x1000) + { + *( + .rodata .rodata.* .gnu.linkonce.r.* + .data .data.* .gnu.linkonce.d.* + .bss .bss.* + *COM* + ) + . = ALIGN(0x20); + } + .eh_frame: ALIGN(0x1000) + { + KEEP (*(.eh_frame)) + } + .got: ALIGN(0x1000) + { + *(.got .got.*) + . = ALIGN(0x20); + } + .rela: ALIGN(0x1000) + { + *(.rela .rela.*) + } + /DISCARD/ : { + *(.note.GNU-stack) *(.gnu_debuglink) + *(.interp) + *(.dynsym) + *(.dynstr) + *(.dynamic) + *(.hash) + *(.comment) + } +} +