This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
binutils/libiberty patch for c++filt to demangle ObjC++ symbols
- From: Dave MacLachlan <dmaclach at google dot com>
- To: binutils at sourceware dot org, gcc-patches at gcc dot gnu dot org
- Cc: DJ Delorie <dj at delorie dot com>, Daniel Berlin <dannyb at google dot com>, Mike Stump <mrs at apple dot com>
- Date: Fri, 13 Apr 2007 10:05:53 -0700
- Subject: binutils/libiberty patch for c++filt to demangle ObjC++ symbols
- References: <27E8A691-807E-4CB5-A7EE-6A3FAC4013A1@google.com> <200704130412.l3D4CbdI024712@localhost.localdomain>
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