* [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).