This is the mail archive of the gcc-bugs@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]

[Bug lto/43038] DECL_PRESERVE_P or attribute((used)) static globals not completely preserved with -flto


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43038

--- Comment #9 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2011-03-01 16:39:23 UTC ---
On Tue, 1 Mar 2011, d.g.gorbachev at gmail dot com wrote:

> > The problem is that statics need to be mangled, so they persist
> > as i.1234 instead.  Really refering to a local symbol in asm is
> > going to be difficult with LTO (any global or other static symbol
> > with name i will cause a non-resolvable conflict).
> 
> One solution is to introduce a new attribute, say "nomangle", and shift
> responsibility for possible conflicts on a user.

The original LTO proposal included assembler changes to allow multiple 
local symbols with the same name in the output.  You could resurrect that, 
though allowing references to the multiple local symbols from asm imposes 
extra requirements on what the assembler interface must look like 
(directives to say which versions are being referred to by asms in a 
particular part of the input?).


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