------- Comment #17 from wilson at gcc dot gnu dot org  2005-11-23 00:16 -------
The hot/cold section partitioning stuff has no support for generating unwind
info.

See for instance in opts.c where this is turned off when flag_exceptions is
true, which means it is always turned off by default for C++.  This is because
C++ requires unwind info for the EH support, and we can't generate correct
unwind info when host/cold section partitioning is on.  This is true for all
targets.

The reason why there is an IA-64 issue here is because unwind info is a
required part of the ABI.  We must always generate unwind info, even for C, and
thus this option is never safe on IA-64.  But it will work for all other
targets as they don't require unwind info for C code.

I believe the correct fix here is to turn off the hot/cold partitioning support
when flag_unwind_tables is defined.  This is turned on by default in the IA-64
backend.  This can also be turned on by the user.

There are also some peripheral issues here.  We should reconsider whether
profiledbootstrap should include an option that does not support all targets
and all languages.  This could be trouble later.  Also, the IA-64 assembler
should not be core dumping here.


-- 

wilson at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |wilson at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2005-11-20 00:38:48         |2005-11-23 00:16:39
               date|                            |


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

Reply via email to