linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Fix lack of exposure of pci_init for LIBPCI_3.0 on pciutils-3.5.0
@ 2016-05-20 17:31 Ian Stakenvicius
  2016-05-20 18:50 ` Bjorn Helgaas
  2016-05-22  7:59 ` Martin Mares
  0 siblings, 2 replies; 3+ messages in thread
From: Ian Stakenvicius @ 2016-05-20 17:31 UTC (permalink / raw)
  To: linux-pci


[-- Attachment #1.1: Type: text/plain, Size: 1322 bytes --]

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



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 213 bytes --]

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] Fix lack of exposure of pci_init for LIBPCI_3.0 on pciutils-3.5.0
  2016-05-20 17:31 [PATCH] Fix lack of exposure of pci_init for LIBPCI_3.0 on pciutils-3.5.0 Ian Stakenvicius
@ 2016-05-20 18:50 ` Bjorn Helgaas
  2016-05-22  7:59 ` Martin Mares
  1 sibling, 0 replies; 3+ messages in thread
From: Bjorn Helgaas @ 2016-05-20 18:50 UTC (permalink / raw)
  To: Ian Stakenvicius; +Cc: linux-pci, Martin Mares, Keith Busch

[+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
> 
> 




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Fix lack of exposure of pci_init for LIBPCI_3.0 on pciutils-3.5.0
  2016-05-20 17:31 [PATCH] Fix lack of exposure of pci_init for LIBPCI_3.0 on pciutils-3.5.0 Ian Stakenvicius
  2016-05-20 18:50 ` Bjorn Helgaas
@ 2016-05-22  7:59 ` Martin Mares
  1 sibling, 0 replies; 3+ messages in thread
From: Martin Mares @ 2016-05-22  7:59 UTC (permalink / raw)
  To: Ian Stakenvicius; +Cc: linux-pci

Hello!

> 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.

Oops. Thanks for spotting this.

Fixed and released as version 3.5.1.

				Have a nice fortnight
-- 
Martin `MJ' Mares                          <mj@ucw.cz>   http://mj.ucw.cz/
Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth
Even nostalgia isn't what it used to be.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-05-22  7:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-20 17:31 [PATCH] Fix lack of exposure of pci_init for LIBPCI_3.0 on pciutils-3.5.0 Ian Stakenvicius
2016-05-20 18:50 ` Bjorn Helgaas
2016-05-22  7:59 ` Martin Mares

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).