[ros-dev] GCC 4.4

Alex Ionescu ionucu at videotron.ca
Tue Aug 25 20:50:10 CEST 2009


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 at reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev

Best regards,
Alex Ionescu




More information about the Ros-dev mailing list