reactos/reactos/kbdlayout.lds
Timo Kreuzer db897ac621 [KEYBOARDLEYOUTS]
Keyboard layout files have special requirements to the section layout of the dell. That is because MS win32k devs didn't write proper code and that is why the original win32k first parses all sections, looks for the .data section, checks if everything is valid and then truncates a pointer in a table to 16 bit and uses this as an offset into the section. Of course that does ONLY work, if the section is the first section AND that pointer happens to be less than 64k off from the start of the section AND the image base is 64k aligned. To achieve this, add a new module type kbdlayout that does all the neccessary things. On MSVC we merge the sections with a linker command, on GCC we use a custom linker script.

svn path=/trunk/; revision=61053
2013-11-19 23:30:58 +00:00

36 lines
437 B
Plaintext

SECTIONS
{
.data __image_base__ + __section_alignment__ :
{
*(.data)
*(SORT(.data*))
*(.rdata)
*(SORT(.rdata*))
*(.text)
*(SORT(.text*))
*(.bss)
*(COMMON)
}
.rsrc BLOCK(__section_alignment__) :
{
*(.rsrc)
*(SORT(.rsrc$*))
}
.reloc BLOCK(__section_alignment__) :
{
*(.reloc)
}
.edata BLOCK(__section_alignment__) :
{
*(.edata)
}
/DISCARD/ :
{
*(*)
}
}