On sab, apr 25, 2015 at 02:16:52 +0200, Fabian Greffrath wrote:
> Control: tags -1 + help
> 
> Hi Sebastian,
> 
> Am Freitag, den 24.04.2015, 21:27 +0200 schrieb Sebastian Ramacher: 
> > | - _ZN4FLAC7Decoder4File13read_callbackEPhPm@Base 1.3.0
> > | + _ZN4FLAC7Decoder4File13read_callbackEPhPj@Base 1.3.1-1
> > | +#MISSING: 1.3.1-1# _ZN4FLAC7Decoder4File13read_callbackEPhPm@Base 1.3.0
> 
> WTF is wrong with C++ symbols files? The symbols are all there, they
> differ just in name by their last character.

C++ symbols get mangled to arch-specific names. To make the *.symbols file work
you need to use the "c++" symbols pattern with the demangled C++ symbol names.

E.g. instead of:

  _ZN4FLAC7Decoder4File13read_callbackEPhPm@Base 1.3.0

use:

  (c++)"FLAC::Decoder::File::read_callback(unsigned char*, unsigned 
long*)@Base" 1.3.0

The demangling can be done using c++filt as follows (not sure if there's an
automatic way to convert a whole symbols file):

  % echo "_ZN4FLAC7Decoder4File13read_callbackEPhPm@Base" | c++filt
  FLAC::Decoder::File::read_callback(unsigned char*, unsigned long*)@Base

Alternatively you could use the "regex" symbols pattern, but I don't think it's
the recommended way.

See dpkg-gensymbols(1) for more info.

Cheers

Attachment: signature.asc
Description: Digital signature

Reply via email to