]> xenbits.xensource.com Git - libvirt.git/commitdiff
genprotocol.pl: Fix code on FreeBSD too
authorMichal Privoznik <mprivozn@redhat.com>
Fri, 27 Sep 2013 14:20:49 +0000 (16:20 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Fri, 27 Sep 2013 16:32:42 +0000 (18:32 +0200)
On some systems (linux, cygwin and gnukfreebsd) rpcgen generates files
which when compiling produces this warning:

remote/remote_protocol.c: In function 'xdr_remote_node_get_cpu_stats_ret':
remote/remote_protocol.c:530: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

Hence, on those systems we need to post-process the files by the
rpc/genprotocol.pl perl script. At the beginning of the script the OS is
detected via $^O perl variable. From my latest build on FreeBSD I see we
need to fix the code there too. On FreeBSD the variable contains
'freebsd' string:

http://perldoc.perl.org/perlport.html#PLATFORMS

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
src/rpc/genprotocol.pl

index 4f8b6c4d0a7b5a3d3c22c7756e3608a4c2d2ca0f..6e6d6d4a93fc74aef956ca2a1ca4fc1dedb90d9e 100755 (executable)
@@ -43,7 +43,7 @@ open RPCGEN, "-|", $rpcgen, $mode, $xdrdef
 open TARGET, ">$target"
     or die "cannot create $target: $!";
 
-my $fixup = $^O eq "linux" || $^O eq "cygwin" || $^O eq "gnukfreebsd";
+my $fixup = $^O eq "linux" || $^O eq "cygwin" || $^O eq "gnukfreebsd" || $^O eq "freebsd";
 
 if ($mode eq "-c") {
     print TARGET "#include <config.h>\n";