On 25-Aug-09, at 2:18 AM, Dmitry Gorbachev wrote:
Hi!
I'd be curious about how you solved these issues:
error: deprecated conversion from string constant to 'CHAR*'
As it is not a real error, I turned it into a warning again with "-Wno-error=write-strings" in ReactOS-generic.rbuild.
Overwriting constant strings is a very real error and should be fixed. Code like this would crash in Windows, for example.
Perhaps you don't understand the issue: in C, declaring a string "const" means it will never be modified. Most linkers will place the string in .rdata, consequently.
Writing to such a string is both dangerous, because you're breaking a contract, and will also generate a page fault, since you're trying to write to a read-only section (.rdata).
And especially:
modules\rostests\winetests\kernel32\thread.c:22:1: warning: "_WIN32_WINNT" redefined
GCC from RosBE also emits warnings like "_WIN32_IE" redefined, it does not make impossible to use it.
It is still a very big error to redefine the target version.
And also the linker errors regarding unwind functions in C++
Maybe your GCC is configured differently? What "gcc -v" says?
and the lack of a libgcc?
How it can be?!
How were you able to build ntoskrnl when the function to make the stack executable imports from VirtualProtect?
At first, patched GCC. But when Daniel said he failed to build GCC, I replaced __enable_execute_stack() in libgcc instead. See bug #4810.
So as I said, ReactOS need an in-tree version of libgcc with proper support for __enable_execute_stack for kernel-mode.
Cheers, Dmitry
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
Best regards, Alex Ionescu