forked from pool/libcdio
- Fix symbol versioning, some symbols where no longer exported with a version, thus the library inadvertently broke ABI between version 0.93 and 0.94. Fixes https://savannah.gnu.org/bugs/index.php?49907 * add 0001-Fix-symbol-versioning-for-exported-symbols.patch OBS-URL: https://build.opensuse.org/request/show/531498 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libcdio?expand=0&rev=49
49 lines
3.3 KiB
Diff
49 lines
3.3 KiB
Diff
From 967d2af5df3b0caea09fdfbfc2c97047168cd746 Mon Sep 17 00:00:00 2001
|
|
From: Stefan Bruens <stefan.bruens@rwth-aachen.de>
|
|
Date: Thu, 5 Oct 2017 05:48:28 +0200
|
|
Subject: [PATCH] Fix symbol versioning for exported symbols
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
libcdio 0.94 moved some sources into a subdirectory and no longer
|
|
picked up these files when creating the list of exported symbols.
|
|
|
|
Upstream bug: https://savannah.gnu.org/bugs/index.php?49907
|
|
|
|
Signed-off: Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
|
---
|
|
lib/driver/Makefile.am | 2 +-
|
|
lib/driver/Makefile.in | 2 +-
|
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/lib/driver/Makefile.am b/lib/driver/Makefile.am
|
|
index f853d0f..d379a30 100644
|
|
--- a/lib/driver/Makefile.am
|
|
+++ b/lib/driver/Makefile.am
|
|
@@ -178,7 +178,7 @@ libcdio_la_DEPENDENCIES = libcdio.la.ver
|
|
|
|
libcdio.la.ver: $(libcdio_la_OBJECTS) $(srcdir)/libcdio.sym
|
|
@echo 'CDIO_$(libcdio_la_MAJOR) { ' > $@
|
|
- @objs=`for obj in $(libcdio_la_OBJECTS); do sed -ne "s/^pic_object='\(.*\)'$$/\1/p" $$obj; done`; \
|
|
+ @objs=`for obj in $(libcdio_la_OBJECTS); do echo -n "$(dirname $obj)/"; sed -ne "s/^pic_object='\(.*\)'$$/\1/p" $$obj; done`; \
|
|
if test -n "$${objs}" ; then \
|
|
nm $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libcdio.sym; then if test $$first = true; then echo " global:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
|
|
nm $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libcdio.sym; then :; else if test $$first = true; then echo " local:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
|
|
diff --git a/lib/driver/Makefile.in b/lib/driver/Makefile.in
|
|
index 2f5af82..ea1406e 100644
|
|
--- a/lib/driver/Makefile.in
|
|
+++ b/lib/driver/Makefile.in
|
|
@@ -983,7 +983,7 @@ uninstall-am: uninstall-libLTLIBRARIES
|
|
|
|
@BUILD_VERSIONED_LIBS_TRUE@libcdio.la.ver: $(libcdio_la_OBJECTS) $(srcdir)/libcdio.sym
|
|
@BUILD_VERSIONED_LIBS_TRUE@ @echo 'CDIO_$(libcdio_la_MAJOR) { ' > $@
|
|
-@BUILD_VERSIONED_LIBS_TRUE@ @objs=`for obj in $(libcdio_la_OBJECTS); do sed -ne "s/^pic_object='\(.*\)'$$/\1/p" $$obj; done`; \
|
|
+@BUILD_VERSIONED_LIBS_TRUE@ @objs=`for obj in $(libcdio_la_OBJECTS); echo -n "$(dirname $obj)/"; do sed -ne "s/^pic_object='\(.*\)'$$/\1/p" $$obj; done`; \
|
|
@BUILD_VERSIONED_LIBS_TRUE@ if test -n "$${objs}" ; then \
|
|
@BUILD_VERSIONED_LIBS_TRUE@ nm $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libcdio.sym; then if test $$first = true; then echo " global:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
|
|
@BUILD_VERSIONED_LIBS_TRUE@ nm $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libcdio.sym; then :; else if test $$first = true; then echo " local:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
|
|
--
|
|
2.14.1
|
|
|