https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61635

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2014-06-27
                 CC|                            |hubicka at gcc dot gnu.org
           Assignee|unassigned at gcc dot gnu.org      |hubicka at gcc dot 
gnu.org
     Ever confirmed|0                           |1

--- Comment #1 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Yep, this is a known problem. We do not represent labels in symbol table and
thus LTO partitioner has no clue about them. I would be interested to see the
example that fails - theoretically the problematic static variable should
always end up in the same partition as the function using it, because that
function is no inline and no clone and should not get duplicated. So kernel &
friends should fail only with -flto-partition=1to1 not with ballanced/none/one
algorithms.

I plan correct solution - I already implemented labels for symtab some time ago
but I would like to re-do it on the new API.
The poor-man's class hiearchy in C was not very pretty and a lot of code is
still not updated to nots assume two basic types of symbols (variables and
functions). With Martin Liska we are updating the APIs and once it is done I
will add symbols for non-local labels and const_decls.

Reply via email to