public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/111425] New: ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal compiler error: Segmentation fault
@ 2023-09-15 11:36 frank.scheiner at web dot de
  2023-09-15 11:40 ` [Bug target/111425] " frank.scheiner at web dot de
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: frank.scheiner at web dot de @ 2023-09-15 11:36 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 111425
           Summary: ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal
                    compiler error: Segmentation fault
           Product: gcc
           Version: 13.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: frank.scheiner at web dot de
  Target Milestone: ---

Created attachment 55904
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55904&action=edit
Used kernel config

Hi there,

there is a regression present for target ia64 since at least 13.1.0 that also
manifests during cross-compilation on amd64 (most likely present also for other
cross-compiling host arches, but not checked). Compiling various Linux kernel
versions (checked for tags v6.6-rc1, v6.4, v6.0 and v5.19 of the mainline
kernel) all lead to the "same" error.

It always happens for the same file (actually multiple files when looking at
the kernel build attempts in Debian ports (e.g. [1], search for "segmentation
fault") but only for the following file for my kernel config):

net/ipv4/fib_semantics.c

...and function fib_create_info().

Not sure what the problem is here, moving the function around in the file or
adding additional but unsued vars or NOPs doesn't change the outcome, only the
line numbers.

[1]:
https://buildd.debian.org/status/fetch.php?pkg=linux&arch=ia64&ver=6.4.4-2&stamp=1690708282&raw=0

****

```
# ia64-linux-gcc -v -freport-bug -Wp,-MMD,net/ipv4/.fib_semantics.o.d -nostdinc
-I./arch/ia64/include -I./arch/ia64/include/generated  -I./include
-I./arch/ia64/include/uapi -I./arch/ia64/include/generated/uapi
-I./include/uapi -I./include/generated/uapi -include
./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include
./include/linux/compiler_types.h -D__KERNEL__ -DHAVE_WORKING_TEXT_ALIGN
-DHAVE_MODEL_SMALL_ATTRIBUTE -DHAVE_SERIALIZE_DIRECTIVE -fmacro-prefix-map=./=
-std=gnu11 -fshort-wchar -funsigned-char -fno-common -fno-PIE
-fno-strict-aliasing -pipe -ffixed-r13 -mfixed-range=f12-f15,f32-f127
-frename-registers -fno-optimize-sibling-calls -fno-delete-null-pointer-checks
-O2 -fno-allow-store-data-races -fno-stack-protector -fomit-frame-pointer
-ftrivial-auto-var-init=zero -fno-stack-clash-protection -falign-functions=32
-fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack
-Wall -Wundef -Werror=implicit-function-declaration -Werror=implicit-int
-Werror=return-type -Werror=strict-prototypes -Wno-format-security
-Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member
-Wframe-larger-than=2048 -Wno-main -Wno-unused-but-set-variable
-Wno-unused-const-variable -Wno-dangling-pointer -Wvla -Wno-pointer-sign
-Wcast-function-type -Wno-array-bounds -Wno-alloc-size-larger-than
-Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types
-Werror=designated-init -Wenum-conversion -Wno-unused-but-set-variable
-Wno-unused-const-variable -Wno-restrict -Wno-packed-not-aligned
-Wno-format-overflow -Wno-format-truncation -Wno-stringop-overflow
-Wno-stringop-truncation -Wno-missing-field-initializers -Wno-type-limits
-Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -g 
-mconstant-gp  -DKBUILD_MODFILE='"net/ipv4/fib_semantics"'
-DKBUILD_BASENAME='"fib_semantics"' -DKBUILD_MODNAME='"fib_semantics"'
-D__KBUILD_MODNAME=kmod_fib_semantics -c -o net/ipv4/fib_semantics.o
net/ipv4/fib_semantics.c
Using built-in specs.
COLLECT_GCC=ia64-linux-gcc
Target: ia64-linux
Configured with: /home/arnd/git/gcc/configure --host=x86_64-linux-gnu
--build=aarch64-linux --target=ia64-linux --enable-targets=all
--prefix=/home/arnd/cross/x86_64/gcc-13.2.0-nolibc/ia64-linux
--enable-languages=c --without-headers --disable-bootstrap --disable-nls
--disable-threads --disable-shared --disable-libmudflap --disable-libssp
--disable-libgomp --disable-decimal-float --disable-libquadmath
--disable-libatomic --disable-libcc1 --disable-libmpx --enable-checking=release
--with-static-standard-libraries --with-system-libunwind
Thread model: single
Supported LTO compression algorithms: zlib zstd
gcc version 13.2.0 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-freport-bug' '-nostdinc' '-I' './arch/ia64/include'
'-I' './arch/ia64/include/generated' '-I' './include' '-I'
'./arch/ia64/include/uapi' '-I' './arch/ia64/include/generated/uapi' '-I'
'./include/uapi' '-I' './include/generated/uapi' '-include'
'./include/linux/compiler-version.h' '-include' './include/linux/kconfig.h'
'-include' './include/linux/compiler_types.h' '-D' '__KERNEL__' '-D'
'HAVE_WORKING_TEXT_ALIGN' '-D' 'HAVE_MODEL_SMALL_ATTRIBUTE' '-D'
'HAVE_SERIALIZE_DIRECTIVE' '-fmacro-prefix-map=./=' '-std=gnu11'
'-fshort-wchar' '-funsigned-char' '-fno-common' '-fno-PIE'
'-fno-strict-aliasing' '-pipe' '-ffixed-r13' '-mfixed-range=f12-f15,f32-f127'
'-frename-registers' '-fno-optimize-sibling-calls'
'-fno-delete-null-pointer-checks' '-O2' '-fno-allow-store-data-races'
'-fno-stack-protector' '-fomit-frame-pointer' '-ftrivial-auto-var-init=zero'
'-fno-stack-clash-protection' '-falign-functions=32' '-fstrict-flex-arrays=3'
'-fno-strict-overflow' '-fstack-check=no' '-fconserve-stack' '-Wall' '-Wundef'
'-Werror=implicit-function-declaration' '-Werror=implicit-int'
'-Werror=return-type' '-Werror=strict-prototypes' '-Wno-format-security'
'-Wno-trigraphs' '-Wno-frame-address' '-Wno-address-of-packed-member'
'-Wframe-larger-than=2048' '-Wno-main' '-Wunused-const-variable=0'
'-Wdangling-pointer=0' '-Wvla' '-Wno-pointer-sign' '-Wcast-function-type'
'-Warray-bounds=0' '-Walloc-size-larger-than=18446744073709551615EiB'
'-Wimplicit-fallthrough=5' '-Werror=date-time'
'-Werror=incompatible-pointer-types' '-Werror=designated-init'
'-Wenum-conversion' '-Wno-unused-but-set-variable' '-Wunused-const-variable=0'
'-Wno-restrict' '-Wno-packed-not-aligned' '-Wformat-overflow=0'
'-Wformat-truncation=0' '-Wstringop-overflow=0' '-Wno-stringop-truncation'
'-Wno-missing-field-initializers' '-Wno-type-limits'
'-Wno-shift-negative-value' '-Wno-maybe-uninitialized' '-Wno-sign-compare' '-g'
'-mconstant-gp' '-D' 'KBUILD_MODFILE="net/ipv4/fib_semantics"' '-D'
'KBUILD_BASENAME="fib_semantics"' '-D' 'KBUILD_MODNAME="fib_semantics"' '-D'
'__KBUILD_MODNAME=kmod_fib_semantics' '-c' '-o' 'net/ipv4/fib_semantics.o'
'-dumpdir' 'net/ipv4/'
 /opt/gcc-13.2.0-nolibc/ia64-linux/bin/../libexec/gcc/ia64-linux/13.2.0/cc1
-quiet -nostdinc -v -I ./arch/ia64/include -I ./arch/ia64/include/generated -I
./include -I ./arch/ia64/include/uapi -I ./arch/ia64/include/generated/uapi -I
./include/uapi -I ./include/generated/uapi -iprefix
/opt/gcc-13.2.0-nolibc/ia64-linux/bin/../lib/gcc/ia64-linux/13.2.0/ -D
__KERNEL__ -D HAVE_WORKING_TEXT_ALIGN -D HAVE_MODEL_SMALL_ATTRIBUTE -D
HAVE_SERIALIZE_DIRECTIVE -D KBUILD_MODFILE="net/ipv4/fib_semantics" -D
KBUILD_BASENAME="fib_semantics" -D KBUILD_MODNAME="fib_semantics" -D
__KBUILD_MODNAME=kmod_fib_semantics -include ./include/linux/compiler-version.h
-include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h
-MMD net/ipv4/.fib_semantics.o.d net/ipv4/fib_semantics.c -quiet -dumpdir
net/ipv4/ -dumpbase fib_semantics.c -dumpbase-ext .c
-mfixed-range=f12-f15,f32-f127 -mconstant-gp -g -O2 -Wall -Wundef
-Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type
-Werror=strict-prototypes -Wno-format-security -Wno-trigraphs
-Wno-frame-address -Wno-address-of-packed-member -Wframe-larger-than=2048
-Wno-main -Wunused-const-variable=0 -Wdangling-pointer=0 -Wvla
-Wno-pointer-sign -Wcast-function-type -Warray-bounds=0
-Walloc-size-larger-than=18446744073709551615EiB -Wimplicit-fallthrough=5
-Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init
-Wenum-conversion -Wno-unused-but-set-variable -Wunused-const-variable=0
-Wno-restrict -Wno-packed-not-aligned -Wformat-overflow=0 -Wformat-truncation=0
-Wstringop-overflow=0 -Wno-stringop-truncation -Wno-missing-field-initializers
-Wno-type-limits -Wno-shift-negative-value -Wno-maybe-uninitialized
-Wno-sign-compare -std=gnu11 -version -freport-bug -fmacro-prefix-map=./=
-fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing
-ffixed-r13 -frename-registers -fno-optimize-sibling-calls
-fno-delete-null-pointer-checks -fno-allow-store-data-races
-fno-stack-protector -fomit-frame-pointer -ftrivial-auto-var-init=zero
-fno-stack-clash-protection -falign-functions=32 -fstrict-flex-arrays=3
-fno-strict-overflow -fstack-check=no -fconserve-stack -o - |

/opt/gcc-13.2.0-nolibc/ia64-linux/bin/../lib/gcc/ia64-linux/13.2.0/../../../../ia64-linux/bin/as
-v -I ./arch/ia64/include -I ./arch/ia64/include/generated -I ./include -I
./arch/ia64/include/uapi -I ./arch/ia64/include/generated/uapi -I
./include/uapi -I ./include/generated/uapi -x -mconstant-gp -o
net/ipv4/fib_semantics.o
GNU assembler version 2.41 (ia64-linux) using BFD version (GNU Binutils) 2.41
GNU C11 (GCC) version 13.2.0 (ia64-linux)
        compiled by GNU C version 13.1.0, GMP version 6.2.1, MPFR version
4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
#include "..." search starts here:
#include <...> search starts here:
 ./arch/ia64/include
 ./arch/ia64/include/generated
 ./include
 ./arch/ia64/include/uapi
 ./arch/ia64/include/generated/uapi
 ./include/uapi
 ./include/generated/uapi
End of search list.
Compiler executable checksum: 29919059dbfb73f2c0b8bce4b176419b
during RTL pass: mach
net/ipv4/fib_semantics.c: In function 'fib_create_info':
net/ipv4/fib_semantics.c:1630:1: internal compiler error: Segmentation fault
 1630 | }
      | ^
0x7fa65af1e784 __libc_start_main
        ???:0
Please submit a full bug report, with preprocessed source.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
The bug is not reproducible, so it is likely a hardware or OS problem.
```

Following the advice on [2] I eventually also ran the above command with
`-fsanitize=undefined` instead of `-freport-bug` and then the compilation went
through w/o an issue.
```
# ia64-linux-gcc -v -fsanitize=undefined -Wp,-MMD,net/ipv4/.fib_semantics.o.d
-nostdinc -I./arch/ia64/include -I./arch/ia64/include/generated  -I./include
-I./arch/ia64/include/uapi -I./arch/ia64/include/generated/uapi
-I./include/uapi -I./include/generated/uapi -include
./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include
./include/linux/compiler_types.h -D__KERNEL__ -DHAVE_WORKING_TEXT_ALIGN
-DHAVE_MODEL_SMALL_ATTRIBUTE -DHAVE_SERIALIZE_DIRECTIVE -fmacro-prefix-map=./=
-std=gnu11 -fshort-wchar -funsigned-char -fno-common -fno-PIE
-fno-strict-aliasing -pipe -ffixed-r13 -mfixed-range=f12-f15,f32-f127
-frename-registers -fno-optimize-sibling-calls -fno-delete-null-pointer-checks
-O2 -fno-allow-store-data-races -fno-stack-protector -fomit-frame-pointer
-ftrivial-auto-var-init=zero -fno-stack-clash-protection -falign-functions=32
-fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack
-Wall -Wundef -Werror=implicit-function-declaration -Werror=implicit-int
-Werror=return-type -Werror=strict-prototypes -Wno-format-security
-Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member
-Wframe-larger-than=2048 -Wno-main -Wno-unused-but-set-variable
-Wno-unused-const-variable -Wno-dangling-pointer -Wvla -Wno-pointer-sign
-Wcast-function-type -Wno-array-bounds -Wno-alloc-size-larger-than
-Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types
-Werror=designated-init -Wenum-conversion -Wno-unused-but-set-variable
-Wno-unused-const-variable -Wno-restrict -Wno-packed-not-aligned
-Wno-format-overflow -Wno-format-truncation -Wno-stringop-overflow
-Wno-stringop-truncation -Wno-missing-field-initializers -Wno-type-limits
-Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -g 
-mconstant-gp  -DKBUILD_MODFILE='"net/ipv4/fib_semantics"'
-DKBUILD_BASENAME='"fib_semantics"' -DKBUILD_MODNAME='"fib_semantics"'
-D__KBUILD_MODNAME=kmod_fib_semantics -c -o net/ipv4/fib_semantics.o
net/ipv4/fib_semantics.c
Using built-in specs.
COLLECT_GCC=ia64-linux-gcc
Target: ia64-linux
Configured with: /home/arnd/git/gcc/configure --host=x86_64-linux-gnu
--build=aarch64-linux --target=ia64-linux --enable-targets=all
--prefix=/home/arnd/cross/x86_64/gcc-13.2.0-nolibc/ia64-linux
--enable-languages=c --without-headers --disable-bootstrap --disable-nls
--disable-threads --disable-shared --disable-libmudflap --disable-libssp
--disable-libgomp --disable-decimal-float --disable-libquadmath
--disable-libatomic --disable-libcc1 --disable-libmpx --enable-checking=release
--with-static-standard-libraries --with-system-libunwind
Thread model: single
Supported LTO compression algorithms: zlib zstd
gcc version 13.2.0 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-fsanitize=undefined' '-nostdinc' '-I'
'./arch/ia64/include' '-I' './arch/ia64/include/generated' '-I' './include'
'-I' './arch/ia64/include/uapi' '-I' './arch/ia64/include/generated/uapi' '-I'
'./include/uapi' '-I' './include/generated/uapi' '-include'
'./include/linux/compiler-version.h' '-include' './include/linux/kconfig.h'
'-include' './include/linux/compiler_types.h' '-D' '__KERNEL__' '-D'
'HAVE_WORKING_TEXT_ALIGN' '-D' 'HAVE_MODEL_SMALL_ATTRIBUTE' '-D'
'HAVE_SERIALIZE_DIRECTIVE' '-fmacro-prefix-map=./=' '-std=gnu11'
'-fshort-wchar' '-funsigned-char' '-fno-common' '-fno-PIE'
'-fno-strict-aliasing' '-pipe' '-ffixed-r13' '-mfixed-range=f12-f15,f32-f127'
'-frename-registers' '-fno-optimize-sibling-calls'
'-fno-delete-null-pointer-checks' '-O2' '-fno-allow-store-data-races'
'-fno-stack-protector' '-fomit-frame-pointer' '-ftrivial-auto-var-init=zero'
'-fno-stack-clash-protection' '-falign-functions=32' '-fstrict-flex-arrays=3'
'-fno-strict-overflow' '-fstack-check=no' '-fconserve-stack' '-Wall' '-Wundef'
'-Werror=implicit-function-declaration' '-Werror=implicit-int'
'-Werror=return-type' '-Werror=strict-prototypes' '-Wno-format-security'
'-Wno-trigraphs' '-Wno-frame-address' '-Wno-address-of-packed-member'
'-Wframe-larger-than=2048' '-Wno-main' '-Wunused-const-variable=0'
'-Wdangling-pointer=0' '-Wvla' '-Wno-pointer-sign' '-Wcast-function-type'
'-Warray-bounds=0' '-Walloc-size-larger-than=18446744073709551615EiB'
'-Wimplicit-fallthrough=5' '-Werror=date-time'
'-Werror=incompatible-pointer-types' '-Werror=designated-init'
'-Wenum-conversion' '-Wno-unused-but-set-variable' '-Wunused-const-variable=0'
'-Wno-restrict' '-Wno-packed-not-aligned' '-Wformat-overflow=0'
'-Wformat-truncation=0' '-Wstringop-overflow=0' '-Wno-stringop-truncation'
'-Wno-missing-field-initializers' '-Wno-type-limits'
'-Wno-shift-negative-value' '-Wno-maybe-uninitialized' '-Wno-sign-compare' '-g'
'-mconstant-gp' '-D' 'KBUILD_MODFILE="net/ipv4/fib_semantics"' '-D'
'KBUILD_BASENAME="fib_semantics"' '-D' 'KBUILD_MODNAME="fib_semantics"' '-D'
'__KBUILD_MODNAME=kmod_fib_semantics' '-c' '-o' 'net/ipv4/fib_semantics.o'
'-dumpdir' 'net/ipv4/'
 /opt/gcc-13.2.0-nolibc/ia64-linux/bin/../libexec/gcc/ia64-linux/13.2.0/cc1
-quiet -nostdinc -v -I ./arch/ia64/include -I ./arch/ia64/include/generated -I
./include -I ./arch/ia64/include/uapi -I ./arch/ia64/include/generated/uapi -I
./include/uapi -I ./include/generated/uapi -iprefix
/opt/gcc-13.2.0-nolibc/ia64-linux/bin/../lib/gcc/ia64-linux/13.2.0/ -D
__KERNEL__ -D HAVE_WORKING_TEXT_ALIGN -D HAVE_MODEL_SMALL_ATTRIBUTE -D
HAVE_SERIALIZE_DIRECTIVE -D KBUILD_MODFILE="net/ipv4/fib_semantics" -D
KBUILD_BASENAME="fib_semantics" -D KBUILD_MODNAME="fib_semantics" -D
__KBUILD_MODNAME=kmod_fib_semantics -include ./include/linux/compiler-version.h
-include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h
-MMD net/ipv4/.fib_semantics.o.d net/ipv4/fib_semantics.c -quiet -dumpdir
net/ipv4/ -dumpbase fib_semantics.c -dumpbase-ext .c
-mfixed-range=f12-f15,f32-f127 -mconstant-gp -g -O2 -Wall -Wundef
-Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type
-Werror=strict-prototypes -Wno-format-security -Wno-trigraphs
-Wno-frame-address -Wno-address-of-packed-member -Wframe-larger-than=2048
-Wno-main -Wunused-const-variable=0 -Wdangling-pointer=0 -Wvla
-Wno-pointer-sign -Wcast-function-type -Warray-bounds=0
-Walloc-size-larger-than=18446744073709551615EiB -Wimplicit-fallthrough=5
-Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init
-Wenum-conversion -Wno-unused-but-set-variable -Wunused-const-variable=0
-Wno-restrict -Wno-packed-not-aligned -Wformat-overflow=0 -Wformat-truncation=0
-Wstringop-overflow=0 -Wno-stringop-truncation -Wno-missing-field-initializers
-Wno-type-limits -Wno-shift-negative-value -Wno-maybe-uninitialized
-Wno-sign-compare -std=gnu11 -version -fsanitize=undefined
-fmacro-prefix-map=./= -fshort-wchar -funsigned-char -fno-common -fno-PIE
-fno-strict-aliasing -ffixed-r13 -frename-registers -fno-optimize-sibling-calls
-fno-delete-null-pointer-checks -fno-allow-store-data-races
-fno-stack-protector -fomit-frame-pointer -ftrivial-auto-var-init=zero
-fno-stack-clash-protection -falign-functions=32 -fstrict-flex-arrays=3
-fno-strict-overflow -fstack-check=no -fconserve-stack -o - |

/opt/gcc-13.2.0-nolibc/ia64-linux/bin/../lib/gcc/ia64-linux/13.2.0/../../../../ia64-linux/bin/as
-v -I ./arch/ia64/include -I ./arch/ia64/include/generated -I ./include -I
./arch/ia64/include/uapi -I ./arch/ia64/include/generated/uapi -I
./include/uapi -I ./include/generated/uapi -x -mconstant-gp -o
net/ipv4/fib_semantics.o
GNU assembler version 2.41 (ia64-linux) using BFD version (GNU Binutils) 2.41
GNU C11 (GCC) version 13.2.0 (ia64-linux)
        compiled by GNU C version 13.1.0, GMP version 6.2.1, MPFR version
4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
#include "..." search starts here:
#include <...> search starts here:
 ./arch/ia64/include
 ./arch/ia64/include/generated
 ./include
 ./arch/ia64/include/uapi
 ./arch/ia64/include/generated/uapi
 ./include/uapi
 ./include/generated/uapi
End of search list.
Compiler executable checksum: 29919059dbfb73f2c0b8bce4b176419b
COMPILER_PATH=/opt/gcc-13.2.0-nolibc/ia64-linux/bin/../libexec/gcc/ia64-linux/13.2.0/:/opt/gcc-13.2.0-nolibc/ia64-linux/bin/../libexec/gcc/:/opt/gcc-13.2.0-nolibc/ia64-linux/bin/../lib/gcc/ia64-linux/13.2.0/../../../../ia64-linux/bin/
LIBRARY_PATH=/opt/gcc-13.2.0-nolibc/ia64-linux/bin/../lib/gcc/ia64-linux/13.2.0/:/opt/gcc-13.2.0-nolibc/ia64-linux/bin/../lib/gcc/:/opt/gcc-13.2.0-nolibc/ia64-linux/bin/../lib/gcc/ia64-linux/13.2.0/../../../../ia64-linux/lib/
COLLECT_GCC_OPTIONS='-v' '-fsanitize=undefined' '-nostdinc' '-I'
'./arch/ia64/include' '-I' './arch/ia64/include/generated' '-I' './include'
'-I' './arch/ia64/include/uapi' '-I' './arch/ia64/include/generated/uapi' '-I'
'./include/uapi' '-I' './include/generated/uapi' '-include'
'./include/linux/compiler-version.h' '-include' './include/linux/kconfig.h'
'-include' './include/linux/compiler_types.h' '-D' '__KERNEL__' '-D'
'HAVE_WORKING_TEXT_ALIGN' '-D' 'HAVE_MODEL_SMALL_ATTRIBUTE' '-D'
'HAVE_SERIALIZE_DIRECTIVE' '-fmacro-prefix-map=./=' '-std=gnu11'
'-fshort-wchar' '-funsigned-char' '-fno-common' '-fno-PIE'
'-fno-strict-aliasing' '-pipe' '-ffixed-r13' '-mfixed-range=f12-f15,f32-f127'
'-frename-registers' '-fno-optimize-sibling-calls'
'-fno-delete-null-pointer-checks' '-O2' '-fno-allow-store-data-races'
'-fno-stack-protector' '-fomit-frame-pointer' '-ftrivial-auto-var-init=zero'
'-fno-stack-clash-protection' '-falign-functions=32' '-fstrict-flex-arrays=3'
'-fno-strict-overflow' '-fstack-check=no' '-fconserve-stack' '-Wall' '-Wundef'
'-Werror=implicit-function-declaration' '-Werror=implicit-int'
'-Werror=return-type' '-Werror=strict-prototypes' '-Wno-format-security'
'-Wno-trigraphs' '-Wno-frame-address' '-Wno-address-of-packed-member'
'-Wframe-larger-than=2048' '-Wno-main' '-Wunused-const-variable=0'
'-Wdangling-pointer=0' '-Wvla' '-Wno-pointer-sign' '-Wcast-function-type'
'-Warray-bounds=0' '-Walloc-size-larger-than=18446744073709551615EiB'
'-Wimplicit-fallthrough=5' '-Werror=date-time'
'-Werror=incompatible-pointer-types' '-Werror=designated-init'
'-Wenum-conversion' '-Wno-unused-but-set-variable' '-Wunused-const-variable=0'
'-Wno-restrict' '-Wno-packed-not-aligned' '-Wformat-overflow=0'
'-Wformat-truncation=0' '-Wstringop-overflow=0' '-Wno-stringop-truncation'
'-Wno-missing-field-initializers' '-Wno-type-limits'
'-Wno-shift-negative-value' '-Wno-maybe-uninitialized' '-Wno-sign-compare' '-g'
'-mconstant-gp' '-D' 'KBUILD_MODFILE="net/ipv4/fib_semantics"' '-D'
'KBUILD_BASENAME="fib_semantics"' '-D' 'KBUILD_MODNAME="fib_semantics"' '-D'
'__KBUILD_MODNAME=kmod_fib_semantics' '-c' '-o' 'net/ipv4/fib_semantics.o'
'-dumpdir' 'net/ipv4/fib_semantics.'

# echo $?
0
```

[2]: https://gcc.gnu.org/bugs/

****

I am using the cross-compilers available on [3] (tested with [4] and [5])

[3]: vhttps://mirrors.edge.kernel.org/pub/tools/crosstool/

[4]:
https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/13.1.0/x86_64-gcc-13.1.0-nolibc-ia64-linux.tar.xz

[5]:
https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/13.2.0/x86_64-gcc-13.2.0-nolibc-ia64-linux.tar.xz

...and it can be easily reproduced with a checked out kernel source (e.g. from
[6]) and my attached kernel config, e.g. like that:

```
## extract cross compiler to e.g. /opt and put it in PATH:
##
## PATH=$PATH:/opt/gcc-13.2.0-nolibc/ia64-linux/bin

## checkout "v6.6-rc1" from [5] to e.g. /usr/src/linux

cp rx2620-rx2660-rx2800-i2-combined-localmodconfig /usr/src/linux/.config

cd /usr/src/linux

patch -p1 < ../acpi-processor-fix-ia64-build.patch

make LOCALVERSION="-$( git rev-parse HEAD )-ia64" ARCH=ia64
CROSS_COMPILE=ia64-linux- olddefconfig

time make -j LOCALVERSION="-$( git rev-parse HEAD )-ia64" ARCH=ia64
CROSS_COMPILE=ia64-linux- all

time make -j LOCALVERSION="-$( git rev-parse HEAD )-ia64" ARCH=ia64
CROSS_COMPILE=ia64-linux- V=1 net/ipv4/fib_semantics.o

ia64-linux-gcc -Wp,-MMD,net/ipv4/.fib_semantics.o.d -nostdinc
-I./arch/ia64/include -I./arch/ia64/include/generated  -I./include
-I./arch/ia64/include/uapi -I./arch/ia64/include/generated/uapi
-I./include/uapi -I./include/generated/uapi -include
./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include
./include/linux/compiler_types.h -D__KERNEL__ -DHAVE_WORKING_TEXT_ALIGN
-DHAVE_MODEL_SMALL_ATTRIBUTE -DHAVE_SERIALIZE_DIRECTIVE -fmacro-prefix-map=./=
-std=gnu11 -fshort-wchar -funsigned-char -fno-common -fno-PIE
-fno-strict-aliasing -pipe -ffixed-r13 -mfixed-range=f12-f15,f32-f127
-frename-registers -fno-optimize-sibling-calls -fno-delete-null-pointer-checks
-O2 -fno-allow-store-data-races -fno-stack-protector -fomit-frame-pointer
-ftrivial-auto-var-init=zero -fno-stack-clash-protection -falign-functions=32
-fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack
-Wall -Wundef -Werror=implicit-function-declaration -Werror=implicit-int
-Werror=return-type -Werror=strict-prototypes -Wno-format-security
-Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member
-Wframe-larger-than=2048 -Wno-main -Wno-unused-but-set-variable
-Wno-unused-const-variable -Wno-dangling-pointer -Wvla -Wno-pointer-sign
-Wcast-function-type -Wno-array-bounds -Wno-alloc-size-larger-than
-Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types
-Werror=designated-init -Wenum-conversion -Wno-unused-but-set-variable
-Wno-unused-const-variable -Wno-restrict -Wno-packed-not-aligned
-Wno-format-overflow -Wno-format-truncation -Wno-stringop-overflow
-Wno-stringop-truncation -Wno-missing-field-initializers -Wno-type-limits
-Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -g 
-mconstant-gp  -DKBUILD_MODFILE='"net/ipv4/fib_semantics"'
-DKBUILD_BASENAME='"fib_semantics"' -DKBUILD_MODNAME='"fib_semantics"'
-D__KBUILD_MODNAME=kmod_fib_semantics -c -o net/ipv4/fib_semantics.o
net/ipv4/fib_semantics.c
```

[6]: https://github.com/torvalds/linux.git

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/111425] ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal compiler error: Segmentation fault
  2023-09-15 11:36 [Bug target/111425] New: ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal compiler error: Segmentation fault frank.scheiner at web dot de
@ 2023-09-15 11:40 ` frank.scheiner at web dot de
  2023-09-15 12:10 ` rguenth at gcc dot gnu.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: frank.scheiner at web dot de @ 2023-09-15 11:40 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Frank Scheiner <frank.scheiner at web dot de> ---
Created attachment 55905
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55905&action=edit
the gzip compressed preprocessed file

Added the preprocessed file (gzip compressed due to size of 4.4 MiB).

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/111425] ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal compiler error: Segmentation fault
  2023-09-15 11:36 [Bug target/111425] New: ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal compiler error: Segmentation fault frank.scheiner at web dot de
  2023-09-15 11:40 ` [Bug target/111425] " frank.scheiner at web dot de
@ 2023-09-15 12:10 ` rguenth at gcc dot gnu.org
  2023-09-15 13:11 ` rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-09-15 12:10 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
             Target|                            |ia64
   Last reconfirmed|                            |2023-09-15

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed on trunk - we ICE in cselib during var-tracking, so -fno-var-tracking
would be a workaround (or -g0).  We ICE processing mo->insn

(call_insn:TI 6446 8040 8038 59 (parallel [
            (set (reg:DI 8 r8)
                (call (mem:DI (symbol_ref:DI ("memset") [flags 0x41]
<function_decl 0x7ffff6f2d200 __builtin_memset>) [0  S8 A64])
                    (const_int 0 [0])))
            (clobber (reg:DI 320 b0))
        ]) "net/ipv4/fib_semantics.c":703:3 330 {call_value_nogp}
     (expr_list:REG_DEAD (reg:DI 122 r74)
        (expr_list:REG_DEAD (reg:SI 121 r73)
            (expr_list:REG_DEAD (reg:DI 120 r72)
                (expr_list:REG_DEAD (reg:DI 1 r1)
                    (expr_list:REG_UNUSED (reg:DI 8 r8)
                        (expr_list:REG_CALL_DECL (symbol_ref:DI ("memset")
[flags 0x41] <function_decl 0x7ffff6f2d200 __builtin_memset>)
                            (nil)))))))
    (expr_list (use (reg:DI 1 r1))
        (expr_list:DI (set (reg:DI 8 r8)
                (reg:DI 120 r72))
            (expr_list:DI (use (reg:DI 120 r72))
                (expr_list:SI (use (reg:SI 121 r73))
                    (expr_list:DI (use (reg:DI 122 r74))
                        (nil)))))))

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/111425] ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal compiler error: Segmentation fault
  2023-09-15 11:36 [Bug target/111425] New: ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal compiler error: Segmentation fault frank.scheiner at web dot de
  2023-09-15 11:40 ` [Bug target/111425] " frank.scheiner at web dot de
  2023-09-15 12:10 ` rguenth at gcc dot gnu.org
@ 2023-09-15 13:11 ` rguenth at gcc dot gnu.org
  2023-09-16  8:47 ` frank.scheiner at web dot de
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-09-15 13:11 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Reduced testcase:

enum { REFCOUNT_ADD_NOT_ZERO_OVF } refcount_warn_saturate();
int refcount_inc_not_zero_old, fib_info_num_path___trans_tmp_11,
    rtnh_ok_remaining, fib_create_info_nexthop_nh_0, fib_create_info_fi;
struct rtnexthop {
  short rtnh_len;
} fib_count_nexthops_rtnh;
struct nexthop *nh;
void atomic_read(int *v) { *(volatile typeof(_Generic(0, default : 0)) *)v; }
typedef struct {
  int refs;
} refcount_t;
void refcount_inc_not_zero(refcount_t *r) {
  _Bool __trans_tmp_13;
  atomic_read(&r->refs);
  while (!__trans_tmp_13)
    if (__builtin_expect(refcount_inc_not_zero_old, 0))
      refcount_warn_saturate();
}
struct nexthop {
  refcount_t refcnt;
};
int fib_info_num_path() {
  if (__builtin_expect(!nh, 0))
    return fib_info_num_path___trans_tmp_11;
}
int rtnh_ok(struct rtnexthop *rtnh) {
  return rtnh_ok_remaining && rtnh->rtnh_len <= rtnh_ok_remaining;
}
void fib_create_info() {
  struct rtnexthop __trans_tmp_12;
  while (rtnh_ok(&fib_count_nexthops_rtnh))
    fib_count_nexthops_rtnh = __trans_tmp_12;
  if (nh)
    refcount_inc_not_zero(&nh->refcnt);
  for (; fib_info_num_path();)
    fib_create_info_nexthop_nh_0 = fib_create_info_fi;
}

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/111425] ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal compiler error: Segmentation fault
  2023-09-15 11:36 [Bug target/111425] New: ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal compiler error: Segmentation fault frank.scheiner at web dot de
                   ` (2 preceding siblings ...)
  2023-09-15 13:11 ` rguenth at gcc dot gnu.org
@ 2023-09-16  8:47 ` frank.scheiner at web dot de
  2023-09-18  9:11 ` frank.scheiner at web dot de
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: frank.scheiner at web dot de @ 2023-09-16  8:47 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Frank Scheiner <frank.scheiner at web dot de> ---
(In reply to Richard Biener from comment #3)

Hi Richard,

in case you wanted me to test this reduced test case, I ran it through as if it
was the file in question. I needed to remove `-Werror=strict-prototypes` and
`-Werror=return-type` from the command line.

It does not reproduce the problem, though:
```
# ia64-linux-gcc -v -Wp,-MMD,net/ipv4/.fib_semantics.o.d -nostdinc
-I./arch/ia64/include -I./arch/ia64/include/generated  -I./include
-I./arch/ia64/include/uapi -I./arch/ia64/include/generated/uapi
-I./include/uapi -I./include/generated/uapi -include
./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include
./include/linux/compiler_types.h -D__KERNEL__ -DHAVE_WORKING_TEXT_ALIGN
-DHAVE_MODEL_SMALL_ATTRIBUTE -DHAVE_SERIALIZE_DIRECTIVE -fmacro-prefix-map=./=
-std=gnu11 -fshort-wchar -funsigned-char -fno-common -fno-PIE
-fno-strict-aliasing -pipe -ffixed-r13 -mfixed-range=f12-f15,f32-f127
-frename-registers -fno-optimize-sibling-calls -fno-delete-null-pointer-checks
-O2 -fno-allow-store-data-races -fno-stack-protector -fomit-frame-pointer
-ftrivial-auto-var-init=zero -fno-stack-clash-protection -falign-functions=32
-fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack
-Wall -Wundef -Werror=implicit-function-declaration -Werror=implicit-int
-Wno-format-security -Wno-trigraphs -Wno-frame-address
-Wno-address-of-packed-member -Wframe-larger-than=2048 -Wno-main
-Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer
-Wvla -Wno-pointer-sign -Wcast-function-type -Wno-array-bounds
-Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time
-Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion
-Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-restrict
-Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation
-Wno-stringop-overflow -Wno-stringop-truncation -Wno-missing-field-initializers
-Wno-type-limits -Wno-shift-negative-value -Wno-maybe-uninitialized
-Wno-sign-compare -g  -mconstant-gp 
-DKBUILD_MODFILE='"net/ipv4/fib_semantics"' -DKBUILD_BASENAME='"fib_semantics"'
-DKBUILD_MODNAME='"fib_semantics"' -D__KBUILD_MODNAME=kmod_fib_semantics -c -o
net/ipv4/fib_semantics.o net/ipv4/fib_semantics.c
Using built-in specs.
COLLECT_GCC=ia64-linux-gcc
Target: ia64-linux
Configured with: /home/arnd/git/gcc/configure --host=x86_64-linux-gnu
--build=aarch64-linux --target=ia64-linux --enable-targets=all
--prefix=/home/arnd/cross/x86_64/gcc-13.2.0-nolibc/ia64-linux
--enable-languages=c --without-headers --disable-bootstrap --disable-nls
--disable-threads --disable-shared --disable-libmudflap --disable-libssp
--disable-libgomp --disable-decimal-float --disable-libquadmath
--disable-libatomic --disable-libcc1 --disable-libmpx --enable-checking=release
--with-static-standard-libraries --with-system-libunwind
Thread model: single
Supported LTO compression algorithms: zlib zstd
gcc version 13.2.0 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-nostdinc' '-I' './arch/ia64/include' '-I'
'./arch/ia64/include/generated' '-I' './include' '-I'
'./arch/ia64/include/uapi' '-I' './arch/ia64/include/generated/uapi' '-I'
'./include/uapi' '-I' './include/generated/uapi' '-include'
'./include/linux/compiler-version.h' '-include' './include/linux/kconfig.h'
'-include' './include/linux/compiler_types.h' '-D' '__KERNEL__' '-D'
'HAVE_WORKING_TEXT_ALIGN' '-D' 'HAVE_MODEL_SMALL_ATTRIBUTE' '-D'
'HAVE_SERIALIZE_DIRECTIVE' '-fmacro-prefix-map=./=' '-std=gnu11'
'-fshort-wchar' '-funsigned-char' '-fno-common' '-fno-PIE'
'-fno-strict-aliasing' '-pipe' '-ffixed-r13' '-mfixed-range=f12-f15,f32-f127'
'-frename-registers' '-fno-optimize-sibling-calls'
'-fno-delete-null-pointer-checks' '-O2' '-fno-allow-store-data-races'
'-fno-stack-protector' '-fomit-frame-pointer' '-ftrivial-auto-var-init=zero'
'-fno-stack-clash-protection' '-falign-functions=32' '-fstrict-flex-arrays=3'
'-fno-strict-overflow' '-fstack-check=no' '-fconserve-stack' '-Wall' '-Wundef'
'-Werror=implicit-function-declaration' '-Werror=implicit-int'
'-Wno-format-security' '-Wno-trigraphs' '-Wno-frame-address'
'-Wno-address-of-packed-member' '-Wframe-larger-than=2048' '-Wno-main'
'-Wunused-const-variable=0' '-Wdangling-pointer=0' '-Wvla' '-Wno-pointer-sign'
'-Wcast-function-type' '-Warray-bounds=0'
'-Walloc-size-larger-than=18446744073709551615EiB' '-Wimplicit-fallthrough=5'
'-Werror=date-time' '-Werror=incompatible-pointer-types'
'-Werror=designated-init' '-Wenum-conversion' '-Wno-unused-but-set-variable'
'-Wunused-const-variable=0' '-Wno-restrict' '-Wno-packed-not-aligned'
'-Wformat-overflow=0' '-Wformat-truncation=0' '-Wstringop-overflow=0'
'-Wno-stringop-truncation' '-Wno-missing-field-initializers' '-Wno-type-limits'
'-Wno-shift-negative-value' '-Wno-maybe-uninitialized' '-Wno-sign-compare' '-g'
'-mconstant-gp' '-D' 'KBUILD_MODFILE="net/ipv4/fib_semantics"' '-D'
'KBUILD_BASENAME="fib_semantics"' '-D' 'KBUILD_MODNAME="fib_semantics"' '-D'
'__KBUILD_MODNAME=kmod_fib_semantics' '-c' '-o' 'net/ipv4/fib_semantics.o'
'-dumpdir' 'net/ipv4/'
 /opt/gcc-13.2.0-nolibc/ia64-linux/bin/../libexec/gcc/ia64-linux/13.2.0/cc1
-quiet -nostdinc -v -I ./arch/ia64/include -I ./arch/ia64/include/generated -I
./include -I ./arch/ia64/include/uapi -I ./arch/ia64/include/generated/uapi -I
./include/uapi -I ./include/generated/uapi -iprefix
/opt/gcc-13.2.0-nolibc/ia64-linux/bin/../lib/gcc/ia64-linux/13.2.0/ -D
__KERNEL__ -D HAVE_WORKING_TEXT_ALIGN -D HAVE_MODEL_SMALL_ATTRIBUTE -D
HAVE_SERIALIZE_DIRECTIVE -D KBUILD_MODFILE="net/ipv4/fib_semantics" -D
KBUILD_BASENAME="fib_semantics" -D KBUILD_MODNAME="fib_semantics" -D
__KBUILD_MODNAME=kmod_fib_semantics -include ./include/linux/compiler-version.h
-include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h
-MMD net/ipv4/.fib_semantics.o.d net/ipv4/fib_semantics.c -quiet -dumpdir
net/ipv4/ -dumpbase fib_semantics.c -dumpbase-ext .c
-mfixed-range=f12-f15,f32-f127 -mconstant-gp -g -O2 -Wall -Wundef
-Werror=implicit-function-declaration -Werror=implicit-int -Wno-format-security
-Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member
-Wframe-larger-than=2048 -Wno-main -Wunused-const-variable=0
-Wdangling-pointer=0 -Wvla -Wno-pointer-sign -Wcast-function-type
-Warray-bounds=0 -Walloc-size-larger-than=18446744073709551615EiB
-Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types
-Werror=designated-init -Wenum-conversion -Wno-unused-but-set-variable
-Wunused-const-variable=0 -Wno-restrict -Wno-packed-not-aligned
-Wformat-overflow=0 -Wformat-truncation=0 -Wstringop-overflow=0
-Wno-stringop-truncation -Wno-missing-field-initializers -Wno-type-limits
-Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -std=gnu11
-version -fmacro-prefix-map=./= -fshort-wchar -funsigned-char -fno-common
-fno-PIE -fno-strict-aliasing -ffixed-r13 -frename-registers
-fno-optimize-sibling-calls -fno-delete-null-pointer-checks
-fno-allow-store-data-races -fno-stack-protector -fomit-frame-pointer
-ftrivial-auto-var-init=zero -fno-stack-clash-protection -falign-functions=32
-fstrict-flex-arrays=3 -fno-strict-overflow -fstack-check=no -fconserve-stack
-o - |

/opt/gcc-13.2.0-nolibc/ia64-linux/bin/../lib/gcc/ia64-linux/13.2.0/../../../../ia64-linux/bin/as
-v -I ./arch/ia64/include -I ./arch/ia64/include/generated -I ./include -I
./arch/ia64/include/uapi -I ./arch/ia64/include/generated/uapi -I
./include/uapi -I ./include/generated/uapi -x -mconstant-gp -o
net/ipv4/fib_semantics.o
GNU assembler version 2.41 (ia64-linux) using BFD version (GNU Binutils) 2.41
GNU C11 (GCC) version 13.2.0 (ia64-linux)
        compiled by GNU C version 13.1.0, GMP version 6.2.1, MPFR version
4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
#include "..." search starts here:
#include <...> search starts here:
 ./arch/ia64/include
 ./arch/ia64/include/generated
 ./include
 ./arch/ia64/include/uapi
 ./arch/ia64/include/generated/uapi
 ./include/uapi
 ./include/generated/uapi
End of search list.
Compiler executable checksum: 29919059dbfb73f2c0b8bce4b176419b
net/ipv4/fib_semantics.c: In function 'fib_info_num_path':
net/ipv4/fib_semantics.c:25:1: warning: control reaches end of non-void
function [-Wreturn-type]
   25 | }
      | ^
net/ipv4/fib_semantics.c: In function 'refcount_inc_not_zero':
net/ipv4/fib_semantics.c:15:10: warning: '__trans_tmp_13' is used uninitialized
[-Wuninitialized]
   15 |   while (!__trans_tmp_13)
      |          ^~~~~~~~~~~~~~~
net/ipv4/fib_semantics.c:13:9: note: '__trans_tmp_13' was declared here
   13 |   _Bool __trans_tmp_13;
      |         ^~~~~~~~~~~~~~
COMPILER_PATH=/opt/gcc-13.2.0-nolibc/ia64-linux/bin/../libexec/gcc/ia64-linux/13.2.0/:/opt/gcc-13.2.0-nolibc/ia64-linux/bin/../libexec/gcc/:/opt/gcc-13.2.0-nolibc/ia64-linux/bin/../lib/gcc/ia64-linux/13.2.0/../../../../ia64-linux/bin/
LIBRARY_PATH=/opt/gcc-13.2.0-nolibc/ia64-linux/bin/../lib/gcc/ia64-linux/13.2.0/:/opt/gcc-13.2.0-nolibc/ia64-linux/bin/../lib/gcc/:/opt/gcc-13.2.0-nolibc/ia64-linux/bin/../lib/gcc/ia64-linux/13.2.0/../../../../ia64-linux/lib/
COLLECT_GCC_OPTIONS='-v' '-nostdinc' '-I' './arch/ia64/include' '-I'
'./arch/ia64/include/generated' '-I' './include' '-I'
'./arch/ia64/include/uapi' '-I' './arch/ia64/include/generated/uapi' '-I'
'./include/uapi' '-I' './include/generated/uapi' '-include'
'./include/linux/compiler-version.h' '-include' './include/linux/kconfig.h'
'-include' './include/linux/compiler_types.h' '-D' '__KERNEL__' '-D'
'HAVE_WORKING_TEXT_ALIGN' '-D' 'HAVE_MODEL_SMALL_ATTRIBUTE' '-D'
'HAVE_SERIALIZE_DIRECTIVE' '-fmacro-prefix-map=./=' '-std=gnu11'
'-fshort-wchar' '-funsigned-char' '-fno-common' '-fno-PIE'
'-fno-strict-aliasing' '-pipe' '-ffixed-r13' '-mfixed-range=f12-f15,f32-f127'
'-frename-registers' '-fno-optimize-sibling-calls'
'-fno-delete-null-pointer-checks' '-O2' '-fno-allow-store-data-races'
'-fno-stack-protector' '-fomit-frame-pointer' '-ftrivial-auto-var-init=zero'
'-fno-stack-clash-protection' '-falign-functions=32' '-fstrict-flex-arrays=3'
'-fno-strict-overflow' '-fstack-check=no' '-fconserve-stack' '-Wall' '-Wundef'
'-Werror=implicit-function-declaration' '-Werror=implicit-int'
'-Wno-format-security' '-Wno-trigraphs' '-Wno-frame-address'
'-Wno-address-of-packed-member' '-Wframe-larger-than=2048' '-Wno-main'
'-Wunused-const-variable=0' '-Wdangling-pointer=0' '-Wvla' '-Wno-pointer-sign'
'-Wcast-function-type' '-Warray-bounds=0'
'-Walloc-size-larger-than=18446744073709551615EiB' '-Wimplicit-fallthrough=5'
'-Werror=date-time' '-Werror=incompatible-pointer-types'
'-Werror=designated-init' '-Wenum-conversion' '-Wno-unused-but-set-variable'
'-Wunused-const-variable=0' '-Wno-restrict' '-Wno-packed-not-aligned'
'-Wformat-overflow=0' '-Wformat-truncation=0' '-Wstringop-overflow=0'
'-Wno-stringop-truncation' '-Wno-missing-field-initializers' '-Wno-type-limits'
'-Wno-shift-negative-value' '-Wno-maybe-uninitialized' '-Wno-sign-compare' '-g'
'-mconstant-gp' '-D' 'KBUILD_MODFILE="net/ipv4/fib_semantics"' '-D'
'KBUILD_BASENAME="fib_semantics"' '-D' 'KBUILD_MODNAME="fib_semantics"' '-D'
'__KBUILD_MODNAME=kmod_fib_semantics' '-c' '-o' 'net/ipv4/fib_semantics.o'
'-dumpdir' 'net/ipv4/fib_semantics.'

# echo $?
0
```

If you need something else, just let me know.

Cheers,
Frank

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/111425] ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal compiler error: Segmentation fault
  2023-09-15 11:36 [Bug target/111425] New: ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal compiler error: Segmentation fault frank.scheiner at web dot de
                   ` (3 preceding siblings ...)
  2023-09-16  8:47 ` frank.scheiner at web dot de
@ 2023-09-18  9:11 ` frank.scheiner at web dot de
  2023-09-21 11:10 ` frank.scheiner at web dot de
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: frank.scheiner at web dot de @ 2023-09-18  9:11 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Frank Scheiner <frank.scheiner at web dot de> ---
(In reply to Richard Biener from comment #2)
> Confirmed on trunk - we ICE in cselib during var-tracking, so
> -fno-var-tracking would be a workaround (or -g0).

Also confirming that both - i.e. using `-fno-var-tracking` or `-g0` - indeed
workaround the problem for me (this time with v6.6-rc2 which without those
options still shows the original problem):

```
# ia64-linux-gcc -fno-var-tracking -Wp,-MMD,net/ipv4/.fib_semantics.o.d
-nostdinc -I./arch/ia64/include -I./arch/ia64/include/generated  -I./include
-I./arch/ia64/include/uapi -I./arch/ia64/include/generated/uapi
-I./include/uapi -I./include/generated/uapi -include
./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include
./include/linux/compiler_types.h -D__KERNEL__ -DHAVE_WORKING_TEXT_ALIGN
-DHAVE_MODEL_SMALL_ATTRIBUTE -DHAVE_SERIALIZE_DIRECTIVE -fmacro-prefix-map=./=
-std=gnu11 -fshort-wchar -funsigned-char -fno-common -fno-PIE
-fno-strict-aliasing -pipe -ffixed-r13 -mfixed-range=f12-f15,f32-f127
-frename-registers -fno-optimize-sibling-calls -fno-delete-null-pointer-checks
-O2 -fno-allow-store-data-races -fno-stack-protector -fomit-frame-pointer
-ftrivial-auto-var-init=zero -fno-stack-clash-protection -falign-functions=32
-fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack
-Wall -Wundef -Werror=implicit-function-declaration -Werror=implicit-int
-Werror=return-type -Werror=strict-prototypes -Wno-format-security
-Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member
-Wframe-larger-than=2048 -Wno-main -Wno-unused-but-set-variable
-Wno-unused-const-variable -Wno-dangling-pointer -Wvla -Wno-pointer-sign
-Wcast-function-type -Wno-array-bounds -Wno-alloc-size-larger-than
-Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types
-Werror=designated-init -Wenum-conversion -Wno-unused-but-set-variable
-Wno-unused-const-variable -Wno-restrict -Wno-packed-not-aligned
-Wno-format-overflow -Wno-format-truncation -Wno-stringop-overflow
-Wno-stringop-truncation -Wno-missing-field-initializers -Wno-type-limits
-Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -g 
-mconstant-gp  -DKBUILD_MODFILE='"net/ipv4/fib_semantics"'
-DKBUILD_BASENAME='"fib_semantics"' -DKBUILD_MODNAME='"fib_semantics"'
-D__KBUILD_MODNAME=kmod_fib_semantics -c -o net/ipv4/fib_semantics.o
net/ipv4/fib_semantics.c

# echo $?
0

# rm net/ipv4/fib_semantics.o

# ia64-linux-gcc -Wp,-MMD,net/ipv4/.fib_semantics.o.d -nostdinc
-I./arch/ia64/include -I./arch/ia64/include/generated  -I./include
-I./arch/ia64/include/uapi -I./arch/ia64/include/generated/uapi
-I./include/uapi -I./include/generated/uapi -include
./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include
./include/linux/compiler_types.h -D__KERNEL__ -DHAVE_WORKING_TEXT_ALIGN
-DHAVE_MODEL_SMALL_ATTRIBUTE -DHAVE_SERIALIZE_DIRECTIVE -fmacro-prefix-map=./=
-std=gnu11 -fshort-wchar -funsigned-char -fno-common -fno-PIE
-fno-strict-aliasing -pipe -ffixed-r13 -mfixed-range=f12-f15,f32-f127
-frename-registers -fno-optimize-sibling-calls -fno-delete-null-pointer-checks
-O2 -fno-allow-store-data-races -fno-stack-protector -fomit-frame-pointer
-ftrivial-auto-var-init=zero -fno-stack-clash-protection -falign-functions=32
-fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack
-Wall -Wundef -Werror=implicit-function-declaration -Werror=implicit-int
-Werror=return-type -Werror=strict-prototypes -Wno-format-security
-Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member
-Wframe-larger-than=2048 -Wno-main -Wno-unused-but-set-variable
-Wno-unused-const-variable -Wno-dangling-pointer -Wvla -Wno-pointer-sign
-Wcast-function-type -Wno-array-bounds -Wno-alloc-size-larger-than
-Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types
-Werror=designated-init -Wenum-conversion -Wno-unused-but-set-variable
-Wno-unused-const-variable -Wno-restrict -Wno-packed-not-aligned
-Wno-format-overflow -Wno-format-truncation -Wno-stringop-overflow
-Wno-stringop-truncation -Wno-missing-field-initializers -Wno-type-limits
-Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -g0 
-mconstant-gp  -DKBUILD_MODFILE='"net/ipv4/fib_semantics"'
-DKBUILD_BASENAME='"fib_semantics"' -DKBUILD_MODNAME='"fib_semantics"'
-D__KBUILD_MODNAME=kmod_fib_semantics -c -o net/ipv4/fib_semantics.o
net/ipv4/fib_semantics.c

# echo $?
0
```

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/111425] ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal compiler error: Segmentation fault
  2023-09-15 11:36 [Bug target/111425] New: ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal compiler error: Segmentation fault frank.scheiner at web dot de
                   ` (4 preceding siblings ...)
  2023-09-18  9:11 ` frank.scheiner at web dot de
@ 2023-09-21 11:10 ` frank.scheiner at web dot de
  2023-10-08 11:50 ` frank.scheiner at web dot de
  2023-10-09 16:22 ` tglozar at gmail dot com
  7 siblings, 0 replies; 9+ messages in thread
From: frank.scheiner at web dot de @ 2023-09-21 11:10 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Frank Scheiner <frank.scheiner at web dot de> ---
Dear Richard,

would it be helpful to bisect this problem or is it already known where and
when the problem was introduced?

I anyhow wanted to look into how those cross-compilers over at [1] are built
and a bisecting run could be the right excuse to actually do that.

Cheers,
Frank

[1]: https://mirrors.edge.kernel.org/pub/tools/crosstool/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/111425] ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal compiler error: Segmentation fault
  2023-09-15 11:36 [Bug target/111425] New: ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal compiler error: Segmentation fault frank.scheiner at web dot de
                   ` (5 preceding siblings ...)
  2023-09-21 11:10 ` frank.scheiner at web dot de
@ 2023-10-08 11:50 ` frank.scheiner at web dot de
  2023-10-09 16:22 ` tglozar at gmail dot com
  7 siblings, 0 replies; 9+ messages in thread
From: frank.scheiner at web dot de @ 2023-10-08 11:50 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Frank Scheiner <frank.scheiner at web dot de> ---
Hi again,

this problem was bisected by me and I identified the following commit as first
bad commit:

[5fc4d3e1837](https://gcc.gnu.org/git/?p=gcc.git;a=blobdiff;f=gcc/cselib.cc;h=2abc763a3f8ed4f7bb2460b8fd9cba94b6520b59;hp=9b582e5d3d6db03dd6e47d331830a5ef04fcae31;hb=5fc4d3e1837;hpb=e9d50e7a4e290d7476cc7e6b5a8f2f1fb496c570)

Reverting this one for "gcc-releases/gcc-13.1.0" (plus reverting an older
surrounding change ([1]) that broke the build for me) allows to build Linux
v6.6-rc3 without gcc ICEing on valid code in the two mentioned files.

Actually [1] breaks the build for me and [5fc4d3e1837] unbreaks it, but instead
breaks operation for specical cases.

[1]:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=d0b00b63a39108311f2e6f9cbe9072579f57df7c

****

Tomáš Glozar <tglozar@gmail.com> further debugged this and will add his
findings as soon as his account is approved here. I couldn't add his email
address to the CC list, so maybe this depends on the account approval, too.

Cheers,
Frank

P.S.
The bisect log:
```
root@dl380-g7:/usr/src/gcc# git bisect log
git bisect start
# status: waiting for both good and bad commits
# good: [0afa9dfb8fb3302db7f104add5654436927dcb56] c: support the attribute
starting with '_'
git bisect good 0afa9dfb8fb3302db7f104add5654436927dcb56
# status: waiting for bad commit, 1 good commit known
# bad: [ed7278d98e4727a7def30ab91fcef4658e34baa4] git_update_version: add
robust logging
git bisect bad ed7278d98e4727a7def30ab91fcef4658e34baa4
# good: [ba3e5a3826be53ecbb7d6044c50878d44640c296] rs6000: Rework
vsx_extract_<mode>
git bisect good ba3e5a3826be53ecbb7d6044c50878d44640c296
# good: [e9d50e7a4e290d7476cc7e6b5a8f2f1fb496c570] Setting explicit NANs sets
UNDEFINED for -ffinite-math-only.
git bisect good e9d50e7a4e290d7476cc7e6b5a8f2f1fb496c570
# bad: [847f5addc4d07a2f3b95f5daa50ab4a64dfd957d] openmp: Map holds clause to
IFN_ASSUME for C/C++
git bisect bad 847f5addc4d07a2f3b95f5daa50ab4a64dfd957d
# bad: [08b51baddc53d64aa4c5e7a81ef3c4bf320293be] c++, c: Implement C++23
P1774R8 - Portable assumptions [PR106654]
git bisect bad 08b51baddc53d64aa4c5e7a81ef3c4bf320293be
# bad: [5fc4d3e1837ea4850aac6460f563913f1d3fc5b8] cselib: Skip BImode while
keeping track of subvalue relations [PR107088]
git bisect bad 5fc4d3e1837ea4850aac6460f563913f1d3fc5b8
# first bad commit: [5fc4d3e1837ea4850aac6460f563913f1d3fc5b8] cselib: Skip
BImode while keeping track of subvalue relations [PR107088]
```

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/111425] ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal compiler error: Segmentation fault
  2023-09-15 11:36 [Bug target/111425] New: ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal compiler error: Segmentation fault frank.scheiner at web dot de
                   ` (6 preceding siblings ...)
  2023-10-08 11:50 ` frank.scheiner at web dot de
@ 2023-10-09 16:22 ` tglozar at gmail dot com
  7 siblings, 0 replies; 9+ messages in thread
From: tglozar at gmail dot com @ 2023-10-09 16:22 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Tomáš Glozar <tglozar at gmail dot com> ---
It looks like somehow a value RTX with rt_cselib set to NULL gets into the
hashmap:

(gdb) f 1

#1  rtx_equal_for_cselib_1 (x=0x2674608, y=0x26747f8,
memmode=memmode@entry=E_VOIDmode, depth=depth@entry=1)
    at ../../gcc/cselib.cc:963
963          cselib_val *e = canonical_cselib_val (CSELIB_VAL_PTR (x));
(gdb) p debug_rtx(x)

(value:DI
Program received signal SIGSEGV, Segmentation fault.
0x0000000000a92f96 in rtx_writer::print_rtx_operand_code_0
(this=0x7fffffff64c0, in_rtx=0x2674608, idx=0)
    at ../../gcc/print-rtl.cc:318
318          fprintf (m_outfile, " %u:%u", val->uid, val->hash);

Going one level up:

(gdb) p debug_rtx(y)
(subreg:SI (value/u:DI 264:376 @0x26747f8/0x2666068) 0)
$1 = void
(gdb) p debug_rtx(x)
(subreg:SI (value:DI
Program received signal SIGSEGV, Segmentation fault.

Not sure how this is related to 5fc4d3e1837, as I understand it, it should only
affect single-bit values, here it is a DI value. I am not familiar with the
algorithm, so proceeding further in finding the cause it hard for me.

Perhaps someone who knows the algorithm has an idea why that field is NULL.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-10-09 16:22 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-15 11:36 [Bug target/111425] New: ia64: ICE in net/ipv4/fib_semantics.c:1621:1: internal compiler error: Segmentation fault frank.scheiner at web dot de
2023-09-15 11:40 ` [Bug target/111425] " frank.scheiner at web dot de
2023-09-15 12:10 ` rguenth at gcc dot gnu.org
2023-09-15 13:11 ` rguenth at gcc dot gnu.org
2023-09-16  8:47 ` frank.scheiner at web dot de
2023-09-18  9:11 ` frank.scheiner at web dot de
2023-09-21 11:10 ` frank.scheiner at web dot de
2023-10-08 11:50 ` frank.scheiner at web dot de
2023-10-09 16:22 ` tglozar at gmail dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).