[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] Remove duplicate symbols and add test case



On 09/06/2012 10:47 AM, Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange redhat com>
>
> When the event symbols were added to the public API, not all
> of them were removed from the private exports list. Solaris
> gets unhappy when there are duplicated symbols. Extend the
> symfile check to test for this scenario
> ---
>  src/check-symfile.pl     | 13 +++++++++----
>  src/libvirt_private.syms |  2 --
>  2 files changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/src/check-symfile.pl b/src/check-symfile.pl
> index 454fed3..c0b7ec7 100755
> --- a/src/check-symfile.pl
> +++ b/src/check-symfile.pl
> @@ -5,9 +5,11 @@ die "syntax: $0 SYMFILE ELFLIB(S)" unless int(@ARGV) >= 2;
>  my $symfile = shift @ARGV;
>  my @elflibs = @ARGV;
>  
> -my @wantsyms;
> +my %wantsyms;
>  my %gotsyms;
>  
> +my $ret = 0;
> +
>  open SYMFILE, $symfile or die "cannot read $symfile: $!";
>  
>  while (<SYMFILE>) {
> @@ -21,7 +23,12 @@ while (<SYMFILE>) {
>  
>      die "malformed line $_" unless /^\s*(\S+);$/;
>  
> -    push @wantsyms, $1;
> +    if (exists $wantsyms{$1}) {
> +	print STDERR "Symbol $1 is listed twice\n";
> +	$ret = 1;
> +    } else {
> +	$wantsyms{$1} = 1;
> +    }
>  }
>  close SYMFILE;
>  
> @@ -37,8 +44,6 @@ foreach my $elflib (@elflibs) {
>      close NM;
>  }
>  
> -my $ret = 0;
> -
>  foreach my $sym (@wantsyms) {
>      next if exists $gotsyms{$sym};
>  
> diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
> index 65067d6..72d2095 100644
> --- a/src/libvirt_private.syms
> +++ b/src/libvirt_private.syms
> @@ -1177,8 +1177,6 @@ virDirCreate;
>  virDoubleToStr;
>  virEnumFromString;
>  virEnumToString;
> -virEventAddHandle;
> -virEventRemoveHandle;
>  virFileAbsPath;
>  virFileAccessibleAs;
>  virFileBuildPath;

ACK.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]