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]

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


Hey all..

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

In it's standard mode, c++filt doesn't like any of the characters in the set "+[ :]" and causes it not to demangle the symbol.

The patch adds a new mode (-s objc++) that recognizes those characters correctly.

Mike: This would fix up 5129938 c++filt does not deal with ObjC++ symbols

Cheers,
Dave

---------------------------------------------------------------
Dave MacLachlan                   Binary Composer
dmaclach@google.com         Google


Attachment: binutils.patch
Description: Binary data






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