Source: libgpiod
Version: 1.5.1-1
Severity: serious
tags: patch

Hello, looks like some symbols are disappearing when built with -O3 
optimization level, and some other
changed in armhf and ppc64el (probably due to gcc-10)

the following patch seems to be enough to make everybody happy, by making some 
symbols optional.
thanks for considering it

G.


--- libgpiod-1.5.1/debian/changelog     2020-07-01 05:27:41.000000000 +0200
+++ libgpiod-1.5.1/debian/changelog     2020-07-31 20:08:33.000000000 +0200
@@ -1,3 +1,9 @@
+libgpiod (1.5.1-1.1) unstable; urgency=medium
+
+  * Refresh symbols (Closes: #-1)
+
+ -- Gianfranco Costamagna <locutusofb...@debian.org>  Fri, 31 Jul 2020 
20:08:33 +0200
+
 libgpiod (1.5.1-1) unstable; urgency=medium
 
   * Import new upstream release
diff -Nru libgpiod-1.5.1/debian/libgpiod2.symbols 
libgpiod-1.5.1/debian/libgpiod2.symbols
--- libgpiod-1.5.1/debian/libgpiod2.symbols     2020-07-01 05:27:19.000000000 
+0200
+++ libgpiod-1.5.1/debian/libgpiod2.symbols     2020-07-31 20:08:33.000000000 
+0200
@@ -99,6 +99,8 @@
  gpiod_line_update@Base 1.1
  gpiod_version_string@Base 1.1
 libgpiodcxx.so.1 libgpiod2 #MINVER#
+ (c++|optional)"std::_Function_base::~_Function_base()@Base" 1.5.1
+ (c++|optional)"std::_Function_base::~_Function_base()@Base" 1.5.1
  (c++)"gpiod::line_request::FLAG_ACTIVE_LOW@Base" 1.1
  (c++)"gpiod::line_request::FLAG_OPEN_DRAIN@Base" 1.1
  (c++)"gpiod::line_request::FLAG_OPEN_SOURCE@Base" 1.1
@@ -209,7 +211,7 @@
  (c++)"std::system_error::system_error(int, std::_V2::error_category const&, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
const&)@Base" 1.1
  (c++)"std::system_error::system_error(std::error_code, char const*)@Base" 1.1
  (c++)"std::system_error::system_error(int, std::_V2::error_category const&, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
const&)@Base" 1.1
- (c++)"std::_Function_base::_Base_manager<gpiod_chip* 
(*)(std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&)>::_M_manager(std::_Any_data&, std::_Any_data 
const&, std::_Manager_operation)@Base" 1.1
+ (c++|optional)"std::_Function_base::_Base_manager<gpiod_chip* 
(*)(std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&)>::_M_manager(std::_Any_data&, std::_Any_data 
const&, std::_Manager_operation)@Base" 1.1
  (c++|arch= !armel !riscv64)"std::_Sp_counted_ptr<decltype(nullptr), 
(__gnu_cxx::_Lock_policy)2>::_M_dispose()@Base" 1.1
  (c++|arch= !armel 
!riscv64)"std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_destroy()@Base" 
1.1
  (c++)"std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release()@Base" 
1.4.1
@@ -219,8 +221,8 @@
  (c++|optional|arch-bits=32)"std::vector<int, std::allocator<int> 
>::_M_default_append(unsigned int)@Base" 1.5.1
  (c++|optional)"void std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >::_M_construct<char const*>(char const*, char const*, 
std::forward_iterator_tag)@Base" 1.1
  (c++|optional)"std::_Rb_tree<int, std::pair<int const, int>, 
std::_Select1st<std::pair<int const, int> >, std::less<int>, 
std::allocator<std::pair<int const, int> > >::_M_get_insert_unique_pos(int 
const&)@Base" 1.1
- (c++|arch=amd64 arm64 ppc64el mips64el riscv64)"std::_Rb_tree<int, 
std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, 
std::less<int>, std::allocator<std::pair<int const, int> > 
>::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator<std::pair<int 
const, int> >, int const&)@Base" 1.1
- (c++)"std::_Rb_tree<int, std::pair<int const, int>, 
std::_Select1st<std::pair<int const, int> >, std::less<int>, 
std::allocator<std::pair<int const, int> > 
>::_M_erase(std::_Rb_tree_node<std::pair<int const, int> >*)@Base" 1.1
+ (c++|optional|arch=amd64 arm64 ppc64el mips64el riscv64)"std::_Rb_tree<int, 
std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, 
std::less<int>, std::allocator<std::pair<int const, int> > 
>::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator<std::pair<int 
const, int> >, int const&)@Base" 1.1
+ (c++|optional)"std::_Rb_tree<int, std::pair<int const, int>, 
std::_Select1st<std::pair<int const, int> >, std::less<int>, 
std::allocator<std::pair<int const, int> > 
>::_M_erase(std::_Rb_tree_node<std::pair<int const, int> >*)@Base" 1.1
  (c++|arch= !armel !riscv64)"typeinfo for 
std::_Mutex_base<(__gnu_cxx::_Lock_policy)2>@Base" 1.1
  (c++|arch= !armel !riscv64)"typeinfo for 
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>@Base" 1.1
  (c++|arch= !armel !riscv64)"typeinfo name for 
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>@Base" 1.4
@@ -235,6 +237,6 @@
  (c++|arch= armel riscv64)"typeinfo name for __gnu_cxx::__mutex@Base" 1.2
  (c++|arch= armel riscv64)"typeinfo name for 
std::_Mutex_base<(__gnu_cxx::_Lock_policy)1>@Base" 1.2
  (c++|arch= armel riscv64)"typeinfo name for 
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)1>@Base" 1.2
- (c++|arch= i386 armel mipsel armhf s390x)"std::map<int, int, std::less<int>, 
std::allocator<std::pair<int const, int> > 
>::map(std::initializer_list<std::pair<int const, int> >, std::less<int> 
const&, std::allocator<std::pair<int const, int> > const&)@Base" 1.3
+ (c++|optional|arch= i386 armel mipsel armhf s390x)"std::map<int, int, 
std::less<int>, std::allocator<std::pair<int const, int> > 
>::map(std::initializer_list<std::pair<int const, int> >, std::less<int> 
const&, std::allocator<std::pair<int const, int> > const&)@Base" 1.3
  (c++|arch= !armel 
!riscv64)"std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release()@Base" 
1.4.1
  (c++|arch= !armel !riscv64)"typeinfo name for 
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>@Base" 1.4.1

Reply via email to