This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: g++ 3 name mangling
- From: jeroen dobbelaere <jeroen dot dobbelaere at acunia dot com>
- To: Carlo Wood <carlo at alinoe dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Mon, 04 Mar 2002 18:04:35 +0100
- Subject: Re: g++ 3 name mangling
- Organization: ACUNIA
- References: <3C83427F.30804@acunia.com> <20020304180005.A15443@alinoe.com>
Carlo Wood wrote:
> On Mon, Mar 04, 2002 at 10:46:39AM +0100, jeroen dobbelaere wrote:
>
>>is there an easy (and generic) way in gcc to provide an __asm__ statement
>>with the mangled name of a c++ method ?
>>
>
> Why don't you use a C function?
> Ie:
>
> void Foo::f(int i) { ... }
>
> extern "C" void stub_Foo_f(Foo* th, int i);
> inline void stub_Foo_f(Foo* th, int i) { th->f(i); }
>
> and then use stub_Foo_f in the __asm__.
>
>
Problem is that I don't have control over the calling side : the c++ interface is
fixed. The implementation has to do some very low level things.
I've found a 'rough' solution, by using assembler directives (.if, .else, .endif)
in order to select the correct mangled name.
(for those more interested, see <http://bugzilla.mozilla.org/show_bug.cgi?id=106864>)
Greetings,
--
Jeroen Dobbelaere
Embedded Software Engineer
ACUNIA Embedded Solutions
http://www.acunia.com