mirror of
https://github.com/reactos/reactos.git
synced 2024-10-31 20:02:55 +00:00
[0.4.14][NTOSKRNL] Restore section layout for NTOSKRNL to fix BSOD regression CORE-14683
This version (after .rsrc) works different than the proper version I used for 0.4.12 (after .reloc). Inserting after .rsrc is actually not correct, but Thomas believes it can be used as a temporary trick to avoid random memory corruption upon relocations of the kernel, caused by ROSBE-154. I follow his advice, although when judging from practical tests only: as long as we limit this script to NTOSKRNL like I do for releases there have no negative consequences been observed in real life yet even with the proper version of 0.4.12. Up to now those problems have only been observed when used for drivers MODULE TYPE sdk/cmake/gcc.cmake as well, like it was tried for a moment in master 0.4.13-dev-609-gc4d8e2a6e9
Using for drivers immediately did lead to BSODs like CORE-16183 and therefore was mitigated in master by total disabling of the scripts for both, kernel and drivers in 0.4.13-dev-621-g36e9a6f8dd
To allow installing DVDWritenow without BSOD, we need the script at least for ntoskrnl! I committed this patch (after .rsrc) already into 0.4.13RC and master cherry picked from commit 0.4.15-dev-220-gd28677795e
This commit is contained in:
parent
39c8537e20
commit
8d60d2e115
|
@ -38,8 +38,7 @@ else()
|
||||||
else()
|
else()
|
||||||
set_image_base(ntoskrnl 0x80800000)
|
set_image_base(ntoskrnl 0x80800000)
|
||||||
endif()
|
endif()
|
||||||
#Disabled due to LD bug: ROSBE-154
|
add_linker_script(ntoskrnl ${REACTOS_SOURCE_DIR}/sdk/cmake/init-section.lds)
|
||||||
#add_linker_script(ntoskrnl ${REACTOS_SOURCE_DIR}/sdk/cmake/init-section.lds)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(ntoskrnl cportlib csq ${PSEH_LIB} arbiter cmlib ntlsalib rtl ${ROSSYM_LIB} libcntpr wdmguid ioevent)
|
target_link_libraries(ntoskrnl cportlib csq ${PSEH_LIB} arbiter cmlib ntlsalib rtl ${ROSSYM_LIB} libcntpr wdmguid ioevent)
|
||||||
|
|
|
@ -8,4 +8,5 @@ SECTIONS
|
||||||
__init_end__ = . ;
|
__init_end__ = . ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
INSERT AFTER .reloc;
|
/*INSERT AFTER .reloc;*//*This is what we actually want to do, but do not dare due to LD bug ROSBE-154*/
|
||||||
|
INSERT AFTER .rsrc; /*This is what we do instead to at least fix CORE-14683*/
|
||||||
|
|
Loading…
Reference in a new issue