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....