This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]