restore join_string() symbols in library
authorPhilipp Gesang <philipp.gesang@intra2net.com>
Thu, 19 Jul 2018 14:01:30 +0000 (16:01 +0200)
committerThomas Jarosch <thomas.jarosch@intra2net.com>
Thu, 2 Aug 2018 12:31:20 +0000 (14:31 +0200)
To keep the library it backward compatible, instantiate versions
of join_string() for STL containers.

Old symbols (x86):

    0003a040 g    DF .text  00000083  Base        _ZN3I2n11join_stringERKSt4listISsSaISsEERKSs
    00039fb0 g    DF .text  00000084  Base        _ZN3I2n11join_stringERKSt6vectorISsSaISsEERKSs

New symbols:

    000aa0fd g    DF .text  00000041  Base        _ZN3I2n11join_stringERKSt4listISsSaISsEERKSs
    000b084d  w   DF .text  0000017d  Base        _ZN3I2n11join_stringISt20_List_const_iteratorISsEEESsT_S3_RKSs
    000b09ca  w   DF .text  0000017d  Base        _ZN3I2n11join_stringIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEEESsT_S9_RS3_
    000aa13e g    DF .text  00000041  Base        _ZN3I2n11join_stringERKSt6vectorISsSaISsEERKSs
    000afbce  w   DF .text  00000074  Base        _ZN3I2n11join_stringISt6vectorISsSaISsEEEESsRKT_RKSs
    000a9f62 g    DF .text  0000019b  Base        _ZN3I2n11join_stringEPKPKcRKSs
    000afb5a  w   DF .text  00000074  Base        _ZN3I2n11join_stringISt4listISsSaISsEEEESsRKT_RKSs

src/stringfunc.cpp
src/stringfunc.hxx

index d611abf..bacccb0 100644 (file)
@@ -454,7 +454,13 @@ std::string join_string (
    return result;
 }
 
+std::string
+join_string (const std::list<std::string> &l, const std::string &d)
+{ return join_string<std::list<std::string> >(l, d); }
 
+std::string
+join_string (const std::vector<std::string> &l, const std::string &d)
+{ return join_string<std::vector<std::string> >(l, d); }
 
 /*
 ** conversions
index d945526..be1c4a8 100644 (file)
@@ -179,6 +179,15 @@ std::string join_string(
 );
 
 /*
+ * provide instantiation wrappers for ABI compatibility
+ */
+std::string join_string (const std::list<std::string> &l,
+                         const std::string &d = "\n");
+
+std::string join_string (const std::vector<std::string> &l,
+                         const std::string &d = "\n");
+
+/*
 ** conversions:
 */