[DBGHELPHOST]
* Introduce a self-contained, static library version of dbghelp, in order to leverage its PE DWARF support. Thanks to Jerome Gardou for his work on the compatibility layer, and to Thomas Faber for helping me with the review/improvements.
* Unify the new host lib with the existing dll codebase using preprocessor conditions. This prevents code duplication.
* Skip as much unneeded functionality as possible when compiling dbghelphost to keep it light and straight to the point.
[RSYM]
* Introduce the required functions that allow parsing DWARF (using dbghelphost) and using it (along with coff symbols) to create the rossym debug info. Brought to you by Awesome Arty with some bugfixes from Jerome Gardou. Many thanks to Thomas Faber for assisting me with the testing/bug hunting.
[CMAKE/GCC]
* Introduce a combination of dwarf and debug emission flags that ensure the smallest debug info size among all the possible options we have.
* Introduce compressed debug sections that I already included the support for in RosBE 2.1. Thanks to the mingw-w64 folks (Kai Tietz) for the patch.
* Don't compress debug sections of C++ modules for now due to a bug in the toolchain that leads to spamming the build at link time with a warning.
* Don't run rsym on the RC shared libraries. Thanks to Thomas Faber for spotting this.
[DBGHELP]
* Update the ros diff to reflect the changes introduced by the dbghelphost unification.
svn path=/trunk/; revision=59505
- Fix CcMdlReadComplete2 prototype.
- Fix a bug in Dominique Cote's code: when performing FsRtlGetFileSize, the length of the buffer should be set accordingly to the information class asked for, that is - FILE_STANDARD_INFORMATION structure. Previous calculation formula makes no sense at all and leads to memory corruption (if filesystem driver is stupid enough) or inability to get file size (if filesystem driver is coded by good developers).
svn path=/trunk/; revision=59495
- Fix ExAllocateFromZone. I understand it's deprecated, but it having a broken implementation which can't work at all because the one who coded this function failed to understand basic algorithms of linked lists is nonsense.
svn path=/trunk/; revision=59494
- Implement enabling Large Pages support if it is detected. The Page Size Extension (PSE) bit in CR4 is enabled when paging is disabled. To achieve that, a temporary virtual and physical identity mapping is created, which is discarded after PSE is enabled.
svn path=/trunk/; revision=59491
- Add configure support for VS 2013
- Add a missing /nologo to assembler invocations
- Properly complain about old MSVC versions during configure instead of failing the build
svn path=/trunk/; revision=59488
Fix some broken logic: we can duplicate console handles only if both the source and the target processes are in fact the current process.
svn path=/trunk/; revision=59486
Fix a delayed-imports problem, catched by Timo and Thomas with a MSVC build. Caused by the fact that the static library consrv specified delayed imports for it, thinking that they will be added to the list of delayed imports of winsrv. In fact it doesn't work and those imports become real imports.
svn path=/trunk/; revision=59480
Fix return of MiProtectedPoolUnProtectLinks() which was always returning null, instead of returning
safe unprotected links when needed
svn path=/trunk/; revision=59478
Now that the console server works fine, move it into its real place (as in Windows), that is, inside winsrv.dll, instead of hosting it in consrv.dll.
svn path=/trunk/; revision=59461
Kill bashisms introduced by r59197 and replace them by sh code.
This is mainly to preserve maximum portability of the code, and to
fix configure.sh on platforms where /bin/sh doesn't point to /bin/sh ;-).
svn path=/trunk/; revision=59457
- Hey Arch! You're displaying Major function codes, not IOCTL codes. Also, remove unnecessary casts (coming from some old code), and a use-after free.
- Add some memory helpers.
svn path=/trunk/; revision=59448