binutils/libiberty patch for c++filt to demangle ObjC++ symbols

Andrew Pinski pinskia@gmail.com
Fri Apr 13 17:27:00 GMT 2007


On 4/13/07, Dave MacLachlan <dmaclach@google.com> wrote:
> This is a patch for c++filt so it can demangle ObjC++ symbols. Turns
> out that if you have an Objective C++ file (.mm) with a static var
> inside of a method it will get mangled in such a fashion that the
> current c++filt can't unmangle it:
>
> @implementation Foo
> + (void)bar:(id)sender {
>         static int baz = 1;
> }
> @end
>
> gets mangled to
>
> _ZZ11+[Foo bar:]E3baz


Actually I think this is the way it gets mangled on Darwin, I think it
gets mangled differently on any other target as the other targets
actually mangle the message name instead of keeping it as "+[Foo
bar:]".

So you might want to double check what happens under Linux with the
objective-C++ front-end also.

Thanks,
Andrew Pinski



More information about the Binutils mailing list