On 2006-01-27 at 17:08:35 [+0100], François Revol <revol@xxxxxxx> wrote: > > > > > > No, not yet, but I can verify that the symbol is mangled differently > > when > > built under Linux, namely to "GetFamilyAndStyle__C5BFontPA63_cT1". > > I'll > > look into this tonight. > > [revol@patrick ~]$ echo GetFamilyAndStyle__C5BFontPA64_cPA64_c | c++ > filt > BFont::GetFamilyAndStyle(char (*)[64], char (*)[64]) const > [revol@patrick ~]$ echo GetFamilyAndStyle__C5BFontPA63_cT1 | c++filt > BFont::GetFamilyAndStyle(char (*)[63], char (*)[63]) const > > Seems like the font_style and font_family types have 1 less char or > something... > I guess the T1 thingy is something like "same as first last type" Yep, these are what the gcc-guys call 'repetition codes'. There used to be a bug in the gcc's c++-mangler with respect to these repetition codes for array types that causes problems with the symbol mentioned by Simon. I remember having to patch gcc-2.95.3 to deal with this (aka: to actually mangle the names in the way the older compilers did in order to match what lives in libbe.so). I suppose Ingo has not applied the respective patch (beos-specific/name-mangling.patch), as it probably doesn't go down well with gcc-4's completely different and all new C++-parser >:o/ Ingo, please tell if I can give you a hand on this. cheers, Oliver