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

            Bug ID: 122453
           Summary: internal compiler error: in output_pic_addr_const
           Product: gcc
           Version: 13.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: fuyeq1iq at gmail dot com
  Target Milestone: ---

```
/tmp$ gcc -O1  -fPIC -shared  test.c -o test.so
/usr/bin/ld: /tmp/cc3d6fSp.o: relocation R_X86_64_32 against `.rodata' can not
be used when making a shared object; recompile with -fPIC
collect2: error: ld returned 1 exit status
/tmp$ gcc -O1 -m32 -fPIC -shared  test.c -o test.so
during RTL pass: final
test.c: In function ‘a’:
test.c:4:1: internal compiler error: in output_pic_addr_const, at
config/i386/i386.cc:12331
    4 | }
      | ^
0x680208 output_pic_addr_const
        ../../src/gcc/config/i386/i386.cc:12331
0x8f650c output_operand(rtx_def*, int)
        ../../src/gcc/final.cc:3632
0x8f70f1 output_asm_insn(char const*, rtx_def**)
        ../../src/gcc/final.cc:3525
0x8f8a8a final_scan_insn_1
        ../../src/gcc/final.cc:2637
0x8f8bbf final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
        ../../src/gcc/final.cc:2887
0x8f8e64 final_1
        ../../src/gcc/final.cc:1979
0x8f967a rest_of_handle_final
        ../../src/gcc/final.cc:4240
0x8f967a execute
        ../../src/gcc/final.cc:4318
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-13/README.Bugs> for instructions.
```

```
Preprocessed source stored into /tmp/cc19SdFp.out file, please attach this to
your bugreport.
/tmp$ cat /tmp/cc19SdFp.out
// Target: x86_64-linux-gnu
// Configured with: ../src/configure -v --with-pkgversion='Ubuntu
13.1.0-8ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs
--enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2,rust --prefix=/usr
--with-gcc-major-version-only --program-suffix=-13
--program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id
--libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix
--libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new
--enable-gnu-unique-object --disable-vtable-verify --enable-plugin
--enable-default-pie --with-system-zlib --enable-libphobos-checking=release
--with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch
--disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64
--with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu
// Thread model: posix
// Supported LTO compression algorithms: zlib zstd
// gcc version 13.1.0 (Ubuntu 13.1.0-8ubuntu1~20.04.2)
//
// during RTL pass: final
// test.c: In function ‘a’:
// test.c:4:1: internal compiler error: in output_pic_addr_const, at
config/i386/i386.cc:12331
//     4 | }
//       | ^
// 0x680208 output_pic_addr_const
//      ../../src/gcc/config/i386/i386.cc:12331
// 0x8f650c output_operand(rtx_def*, int)
//      ../../src/gcc/final.cc:3632
// 0x8f70f1 output_asm_insn(char const*, rtx_def**)
//      ../../src/gcc/final.cc:3525
// 0x8f8a8a final_scan_insn_1
//      ../../src/gcc/final.cc:2637
// 0x8f8bbf final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
//      ../../src/gcc/final.cc:2887
// 0x8f8e64 final_1
//      ../../src/gcc/final.cc:1979
// 0x8f967a rest_of_handle_final
//      ../../src/gcc/final.cc:4240
// 0x8f967a execute
//      ../../src/gcc/final.cc:4318
// Please submit a full bug report, with preprocessed source.
// Please include the complete backtrace with any bug report.
// See <file:///usr/share/doc/gcc-13/README.Bugs> for instructions.

// /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -imultilib 32 -imultiarch
i386-linux-gnu test.c -quiet -dumpdir test.so- -dumpbase test.c -dumpbase-ext
.c -m32 -mtune=generic -march=i686 -O1 -fPIC -freport-bug
-fasynchronous-unwind-tables -fstack-protector-strong -Wformat
-Wformat-security -fstack-clash-protection -o - -frandom-seed=0 -fdump-noaddr

# 0 "test.c"
# 0 "<built-in>"
# 0 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 0 "<command-line>" 2
# 1 "test.c"
void a(void)
{
   __asm__ volatile(".long %p0" : : "p"(__func__) : );
}
```

Reply via email to