[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Another bug in GNU ld for Win32.

From: Nick Clifton
Subject: Re: Another bug in GNU ld for Win32.
Date: Tue, 16 Dec 2003 11:09:44 +0000
User-agent: Gnus/5.1001 (Gnus v5.10.1) Emacs/21.2 (gnu/linux)

Hi Eric,

>    This patch also works.

OK - I will apply it.

>    I guess my concern is that I don't know under what circumstances
>    a leading @ or '?' will appear in a name.

I think that the '@' character is (or was) used to mark dllimport'ed
and dllexport'ed function names.  That certainly appears to be the
case for the arm-wince-pe toolchain.  I don't know about the '?'
character though.

>            The Microsoft documentation for IMPORT_NAME_NOPREFIX and
>    IMPORT_NAME_UNDECORATE simply states "Import name == public symbol
>    name skipping leading ?, @, or optionally _".  Does this mean at most
>    one character, or does it mean at most one of each?

It is not clear.  The code in peicode.h obviously assumes at most one
of each.  I think I am right in saying that '?' and '@' are not valid
first characters for a function name, so they at least can be skipped
if one or both are present.  Underscores of course are allowed, (which
is what brought up this whole problem in the first place), so it is
not clear if one should be skipped if it was prefixed by '@' or '?'.

I guess until someone comes up with an example that is broken by this
patch we should leave things as they are.

2003-12-16  Eric Youngdale  <address@hidden>
            Nick Clifton  <address@hidden>

        * peicode.h (pe_ILF_build_a_bfd): Only skip one instance of each
        prefix character, if they are present.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]