[Bug target/105960] Crash in 32-bit mode

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jun 14 08:30:57 GMT 2022


Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
             Target|x86_64                      |i?86-*-*
   Last reconfirmed|                            |2022-06-14
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
                 CC|                            |hjl.tools at gmail dot com

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.  Something is wrong with either ld.so or GCC.  We end up with

        .globl  exp_ref
        .type   exp_ref, @function
        pushl   %ebx
        .cfi_def_cfa_offset 8
        .cfi_offset 3, -8
        popl    %ebx
        .cfi_restore 3
        .cfi_def_cfa_offset 4
        jmp     expfull_ref@PLT

^^^ this crashes

        .type   expfull_ref, @gnu_indirect_function
        .set    expfull_ref,expfull_ref.resolver

        .type   expfull_ref.resolver, @function
        pushl   %ebx

but expfull_ref isn't .globl!?

#define TARGET_CLONES  __attribute__((target_clones("default","fma")))
static inline double
expfull_ref(double x)
  return __builtin_pow(x, 0.1234);

exp_ref(double x)
  return expfull_ref(x);

More information about the Gcc-bugs mailing list