Re: [PATCH] Fix lack of exposure of pci_init for LIBPCI_3.0 on pciutils-3.5.0

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

 



[+cc Martin, Keith]

This is related to the pciutils commit
ab61451d4751 ("pciutils: Add support for 32-bit PCI domains")

On Fri, May 20, 2016 at 01:31:59PM -0400, Ian Stakenvicius wrote:
> The changes included in commit ab61451d47514c473953a24aa4f4f816b77
> were not sufficient to maintain ABI compatibility with older versions
> of libpci.so.3, as pci_init is only exposed under symbol version
> LIBPCI_3.5.
> 
> This patch uses the code pattern for the versioning of pci_fill_info()
> to ensure a pci_init symbol is exposed with LIBPCI_3.0 version.
> 
> Bug: http://bugs.gentoo.org/583580
> ---
>  lib/init.c     | 2 ++
>  lib/internal.h | 1 +
>  2 files changed, 3 insertions(+)
> 
> diff --git a/lib/init.c b/lib/init.c
> index 9a043ee..c7800e0 100644
> --- a/lib/init.c
> +++ b/lib/init.c
> @@ -214,6 +214,8 @@ pci_init_v35(struct pci_access *a)
>  }
>   STATIC_ALIAS(void pci_init(struct pci_access *a), pci_init_v35(a));
> +DEFINE_ALIAS(void pci_init_v30(struct pci_access *a), pci_init_v35);
> +SYMBOL_VERSION(pci_init_v30, pci_init@LIBPCI_3.0);
>  SYMBOL_VERSION(pci_init_v35, pci_init@@LIBPCI_3.5);
>   void
> diff --git a/lib/internal.h b/lib/internal.h
> index f2027f8..cbac2a7 100644
> --- a/lib/internal.h
> +++ b/lib/internal.h
> @@ -61,6 +61,7 @@ void *pci_malloc(struct pci_access *, int);
>  void pci_mfree(void *);
>  char *pci_strdup(struct pci_access *a, const char *s);
>  +void pci_init_v30(struct pci_access *a) VERSIONED_ABI;
>  void pci_init_v35(struct pci_access *a) VERSIONED_ABI;
>   /* access.c */
> -- 
> 2.7.3
> 
> 



--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux