> On 1 Dec 2014, at 17:15, Andrew Cooper <andrew.coop...@citrix.com> wrote:
> 
> On 01/12/14 14:37, John Haxby wrote:
>> With gcc 4.8.3, compiling xen-detect gives a compilation warning if
>> you're optimising:
>> 
>> $ cc -Wall -Os xen-detect.c
>> xen-detect.c: In function ‘check_for_xen’:
>> xen-detect.c:65:9: warning: dereferencing type-punned pointer will break
>> strict-aliasing rules [-Wstrict-aliasing]
>>         *(uint32_t *)(signature + 0) = regs[1];
>>         ^
>> 
>> Signed-off-by: John Haxby <john.ha...@oracle.com 
>> <mailto:john.ha...@oracle.com>>
> 
> Why are you compiling without the CFLAGS from the Xen build system?
> 
> We explicitly disable strict alias optimisations, because optimisations
> based upon the aliasing rules in C is mad.  Even when you eliminate all
> the warnings, there are still subtle bugs because the compiler is free
> to assume a lot more than a programmer would typically deem reasonable.


I wasn’t building the whole system, I just wanted xen-detect so I pulled it out 
and compiled it; I usually use "-Wall -Os” because the combination finds 
problems I might otherwise overlook.   The patch also removes three lines of 
code :) but you can take it or leave it as you choose.   The other patch — 
reversing the code of pv and hvm checking — was the real problem.

jch
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to