On Mon, 2007-10-01 at 14:38 -0700, Steve Langasek wrote: > On Mon, Oct 01, 2007 at 09:18:22PM +0200, Michael Koch wrote: > > On Mon, Oct 01, 2007 at 05:47:34PM +0200, Raphael Hertzog wrote: > > > Hello, > > > > since library maintainers will soon have the possibilty to use > > > symbol-based dependencies (instead of shlibs) I setup a system > > > to keep up-to-date ready-to-use symbols files using Mole: > > > http://qa.debian.org/cgi-bin/mole/seedsymbols > > > I dont know how common that is but I maintain for example some libraries > > that exports different APIs on 32-bit userland and 64-bit userland > > ([1] and [2], I haven't looked for more). > > > What do you recommend for such a case? Using debian/package.symbols and > > overriding all 64-bit archs with debian/package.symbols.$ARCH? > > diff -u <(c++filt libskstream-0.3-4_i386) <(c++filt libskstream-0.3-4_amd64) <snip>
c++filt takes symbol names as arguments, not filenames. The actual differences are: diff -u <(c++filt <libskstream-0.3-4_i386) <(c++filt <libskstream-0.3-4_amd64) --- /dev/fd/63 2007-10-02 00:18:19.443429499 +0100 +++ /dev/fd/62 2007-10-02 00:18:19.443429499 +0100 @@ -107,7 +107,7 @@ dgram_socket_stream::~dgram_socket_stream()@Base 0.3.6-2 dgram_socket_stream::~dgram_socket_stream()@Base 0.3.6-2 socketbuf::sync()@Base 0.3.6-2 - socketbuf::setbuf(char*, int)@Base 0.3.6-2 + socketbuf::setbuf(char*, long)@Base 0.3.6-2 socketbuf::setSocket(int)@Base 0.3.6-2 socketbuf::socketbuf(int, char*, int)@Base 0.3.6-2 socketbuf::socketbuf(int, unsigned int, unsigned int)@Base 0.3.6-2 @@ -125,29 +125,29 @@ basic_socket_stream::getSocket() [EMAIL PROTECTED] 0.3.6-2 construction vtable for [EMAIL PROTECTED] 0.3.6-2 construction vtable for [EMAIL PROTECTED] 0.3.6-2 - construction vtable for std::basic_ostream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 construction vtable for std::basic_iostream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 construction vtable for std::basic_istream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2+ construction vtable for std::basic_ostream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 construction vtable for [EMAIL PROTECTED] 0.3.6-2 - construction vtable for std::basic_ostream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 construction vtable for std::basic_iostream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 construction vtable for std::basic_istream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2+ construction vtable for std::basic_ostream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 construction vtable for [EMAIL PROTECTED] 0.3.6-2 construction vtable for [EMAIL PROTECTED] 0.3.6-2 - construction vtable for std::basic_ostream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 construction vtable for std::basic_iostream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 construction vtable for std::basic_istream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2+ construction vtable for std::basic_ostream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 construction vtable for [EMAIL PROTECTED] 0.3.6-2 - construction vtable for std::basic_ostream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 construction vtable for std::basic_iostream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 construction vtable for std::basic_istream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 - construction vtable for std::basic_ostream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 + construction vtable for std::basic_ostream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 construction vtable for std::basic_iostream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 construction vtable for std::basic_istream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 + construction vtable for std::basic_ostream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 construction vtable for [EMAIL PROTECTED] 0.3.6-2 - construction vtable for std::basic_ostream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 construction vtable for std::basic_iostream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 construction vtable for std::basic_istream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 + construction vtable for std::basic_ostream<char, std::char_traits<char> >[EMAIL PROTECTED] 0.3.6-2 typeinfo for [EMAIL PROTECTED] 0.3.6-2 typeinfo for [EMAIL PROTECTED] 0.3.6-2 typeinfo for [EMAIL PROTECTED] 0.3.6-2 However, if we sort *after* demangling, the differences turn out to be smaller: diff -u <(c++filt <libskstream-0.3-4_i386 | sort) <(c++filt <libskstream-0.3-4_amd64 | sort) --- /dev/fd/63 2007-10-02 00:19:14.445928644 +0100 +++ /dev/fd/62 2007-10-02 00:19:14.445928644 +0100 @@ -102,7 +102,7 @@ raw_socket_stream::raw_socket_stream(FreeSockets::IP_Protocol)@Base 0.3.6-2 raw_socket_stream::setBroadcast(bool)@Base 0.3.6-2 raw_socket_stream::setProtocol(FreeSockets::IP_Protocol)@Base 0.3.6-2 - socketbuf::setbuf(char*, int)@Base 0.3.6-2 + socketbuf::setbuf(char*, long)@Base 0.3.6-2 socketbuf::setSocket(int)@Base 0.3.6-2 socketbuf::~socketbuf()@Base 0.3.6-2 socketbuf::~socketbuf()@Base 0.3.6-2 Ben. -- Ben Hutchings I'm always amazed by the number of people who take up solipsism because they heard someone else explain it. - E*Borg on alt.fan.pratchett
signature.asc
Description: This is a digitally signed message part