This is the mail archive of the gcc@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: Builtins-vs-libcalls-vs-optimised-away-vs-still-emitting-an-undefined-symbol-reference


On 24 April 2007 15:52, Paul Brook wrote:

>>>         .file   "<stdin>"
>>>  foo    .global _ffs
>> 
>> Is this really a reference?  It just looks like a declaration.  A
>> typical ELF assembler will not generate an undefined symbol merely
>> because it sees a .global pseudo-op.
> 
> I think gas 2.17 counts as a "typical ELF assembler". It does create
> undefined symbols in response to a .global pseudo-op.

  I think that's what it's supposed to do - .global is for exporting a symbol
that you intend to define.  In my case, the backend is misusing it where it
means .extern; this doesn't usually cause code breakage, because .global has
all the effects of .extern, but it also emits the symbol - whether or not the
symbol is later defined by a label in the assembler source.
 
> There was a patch to the c++ frontend recently to avoid a similar problem
> with EH personality routines.

  Couldn't see what you're referring to in cp/ChangeLog straight away, have
you got a pointer/rough date/search term I can use?


    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


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