i386: Problems with references to import symbols.
Richard Henderson
rth@redhat.com
Wed Mar 21 16:09:00 GMT 2007
On Wed, Mar 21, 2007 at 01:11:36PM +0100, Kai Tietz wrote:
> #include <stdlib.h>
> void *(my_malloc_hook)(size_t) = malloc;
>
> GCC tells me, that malloc isn't a constant symbol. Clear malloc is defined
> by using the attribute dllimport, because it comes out of the MSVCRT and
> has the name "__imp__malloc". But the import library has also the not
> decored name stub function "_malloc". Did I something wrong or is there
> something broken ?
In i386_pe_mark_dllimport, we turn "malloc" into "*__imp_malloc",
and the later is not constant. I expect we'd have to expand this
differently if you wanted to make use of import library stubs.
r~
More information about the Gcc
mailing list