gcc 4.7 changes binary behaviors ?

Ralf Corsepius rc040203 at freenet.de
Fri Jan 27 05:44:54 UTC 2012


On 01/27/2012 06:22 AM, Sérgio Basto wrote:
> On Thu, 2012-01-26 at 12:08 +0100, Jan Kratochvil wrote:
>> On Thu, 26 Jan 2012 08:12:43 +0100, Sérgio Basto wrote:
>>> /usr/bin/kmk_sed: file /builddir/build/BUILD/VirtualBox-4.1.8_OSE/src/VBox/Runtime/common/err/errmsg.sed line 31: Unmatched [ or [^
>>> kmk: *** [/builddir/build/BUILD/VirtualBox-4.1.8_OSE/obj/obj/Runtime/errmsgdata.h] Error 1
>>> kmk: *** Deleting file `/builddir/build/BUILD/VirtualBox-4.1.8_OSE/obj/obj/Runtime/errmsgdata.h'

>> You should try compiling kmk_sed first with
>> -O0 and then checking whether the specific function having this problem there
>> is really valid ISO C.
>
> don't understand whats help compile without optimization ,

-O0 turns off optimizations. i.e. it causes GCC to behave less 
agressively and often causes "sloppily" written code to behave "as 
expected" and not to expose a run-time bug.

It's a common initial step when trying to isolate the cause of a bug.


Another, similar initial step is to check build logs for warnings and to 
go after them. These days, e.g. warnings related to "punned pointers" or 
"casts to different sizes" often are pointing to the causes of run-time 
mal-functions and should not be taken light-heartedly.

Ralf


More information about the devel mailing list