This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Bad code for ia64 with function pointer
- From: Henri-Pierre CHARLES <Henri-Pierre dot Charles at prism dot uvsq dot fr>
- To: Jim Wilson <wilson at redhat dot com>
- Cc: Henri-Pierre CHARLES <Henri-Pierre dot Charles at prism dot uvsq dot fr>, gcc at gcc dot gnu dot org, gcc-bugs at gcc dot gnu dot org
- Date: Fri, 9 Aug 2002 17:44:31 +0200
- Subject: Re: Bad code for ia64 with function pointer
- References: <20020809144941.C917@vlaminck.prism.uvsq.fr> <xwuznvw59fg.fsf@tonopah.toronto.redhat.com>
Hello,
Le Fri, Aug 09, 2002 at 11:38:43AM -0400, Jim Wilson écrivait :
> Your program is broken. You made assumptions about the form of a function
> pointer which are wrong.
> On IA-64, and some other targets, function pointers are represented
> differently than pointers to objects. On IA-64, a function pointer is a double
> word descriptor that holds the function address and the function GP value.
> Thus you can't get a valid function pointer by casting a char * pointer to a
> function pointer type.
Oh ! ok, I understand.
So, it's impossible to do this kind of indirect call with C ?
H-P
--
% Henri-Pierre.Charles@prism.uvsq.fr PRiSM, Université de Versailles
% Tel: 01 39 25 43 44 45, Av. des États Unis 78000 Versailles
% Il reste -82226520 secondes jusqu'au 01/01/2000