This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Allocate identifier node for user-specified assembler



On 01/03/2005, at 12:33 PM, John David Anglin wrote:


In debugging the problems associated with Bug c++/19797, I found that
we fail to create an identifier node for the real, unstarred, name of
a user-specified assembler name. As a result, a call to assemble_name
doesn't mark the real name as referenced. The HP linker is very picky
in requiring that all external functions be imported (typed). We need
all external references marked when used to fix the above PR correctly.


I'm not quite sure if this is the best place to create the identifier
node but it's where the node for the starred name is created.

Tested on i686-pc-linux-gnu, hppa2.0w-hp-hpux11.11, hppa64-hp-hpux11.11
and hppa-unknown-linux-gnu with no regressions.


Ok for 4.0 and 4.1 branches?

It would be better if you could instead avoid relying on this kind of use of identifiers. These uses are a significant performance impact on GCC and the ability to do them will go away in the future.

Are you suggesting that it would be better to do any necessary tracking of referenced symbols in the backend? In the PA case, we only need to do this for externals and the number usually isn't that large.

I was thinking that you should be using flags in the SYMBOL_REF instead.


Attachment: smime.p7s
Description: S/MIME cryptographic signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]