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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|powerpcspe-*-linux-gnu*     |powerpc-*-linux-gnu*,
                   |                            |powerpcspe-*-linux-gnu*
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
It fails even on powerpc64-linux-gnu with -m32 -fPIC -O2
-freorder-blocks-and-partition, so no, it hasn't been fixed.
The problem is that the .LCLn and .LCFn labels have to be emitted in the same
section; the .LCLn label is emitted in the .text section by
rs6000_elf_declare_function_name (or is it generally in the section in which
the function starts?), but the corresponding .LCFn label is emitted by the
load_toc_v4_PIC_1_normal instruction.

So, I'd say uses_TOC should return 2 instead of 1 if while looking for
UNSPEC_TOC instruction it crossed a NOTE_INSN_SWITCH_TEXT_SECTIONS and the
caller should deal with that.  Let me try that.

Reply via email to