public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug bootstrap/113174] New: gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error)
@ 2023-12-29 23:33 gcc at octaforge dot org
  2023-12-29 23:39 ` [Bug bootstrap/113174] " pinskia at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: gcc at octaforge dot org @ 2023-12-29 23:33 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 113174
           Summary: gcc fails to bootstrap on pp64le with clang-based host
                    environment (internal compiler error)
           Product: gcc
           Version: 13.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gcc at octaforge dot org
  Target Milestone: ---

Attempting to bootstrap GCC on Chimera Linux (https://chimera-linux.org) which
uses LLVM/Clang as its system compiler and runtime fails, presumably inside the
stage 1 compiler, with an internal compiler error.

Backtrace from cc1plus, full build logs (gcc-build.log is the original build
run, gcc-build2.log is after resumption), as well as the -dap output for the
affected file is available here: https://ftp.octaforge.org/q66/random/gcc-out/

Packaging and patches available here:
https://github.com/chimera-linux/cports/tree/master/experimental/gcc In
particular, configure arguments are listed at
https://github.com/chimera-linux/cports/blob/master/experimental/gcc/template.py#L11
and at
https://github.com/chimera-linux/cports/blob/master/experimental/gcc/template.py#L123
, for ppc64le. Apologies for the potentially verbose script. The patches are
almost entirely taken from Alpine Linux (which supports ppc64le and seemingly
builds fine) outside of my patches that enforce defaulting to compiler-rt
runtime instead of libgcc (libclang_rt.builtins + libunwind) and libc++ in
place of libstdc++ to match the system toolchain (as otherwise gcc would
generate incompatible binaries in this environment). I believe those should not
affect this ICE (as this happens during object file generation), or at least I
have no idea of the mechanism if they do.

Observations:

1) passing -fno-tree-ter will prevent most of the crashes (and it was passed
during the build above, mistakenly as I had not intended to pass it) but it
eventually crashes anyway (it just does so later; I have verified that the
backtraces are identical, so regardless of -fno-tree-ter the same issue is
triggered)
2) the insn-recog.cc differs quite a bit for gcc-prev and gcc (diff:
https://0x0.st/HEt-.diff), the function that segfaults in the backtrace notably
is changed; I'm not entirely sure why
3) I'm not sure if this is just the stage 1 compiler crashing or if subsequent
stages are affected; to me from the output it looks like this is still stage 1,
however I tried all sorts of combinations of flags (including STAGE1_TFLAGS)
without success
4) I tested other targets (x86_64 and aarch64) which work fine. The issue
appears to be isolated to rs6000, and quite possibly ppc64le only, as it
appears to deal with VSX. However, I had not been able to test this on ppc64
big endian yet.

Please let me know if any other information is needed from me. I believe a
preprocessed source file is probably not helpful as the issue only reproduces
with a particular compiler build for a pretty random set of inputs.

I was hoping to figure this out by myself, however I am not familiar enough
with GCC's design and internals to make a good sense of this. Apologies if the
information is incomplete or if this is an issue with my configuration in some
way.

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

* [Bug bootstrap/113174] gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error)
  2023-12-29 23:33 [Bug bootstrap/113174] New: gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error) gcc at octaforge dot org
@ 2023-12-29 23:39 ` pinskia at gcc dot gnu.org
  2023-12-29 23:46 ` pinskia at gcc dot gnu.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-12-29 23:39 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |WAITING
   Last reconfirmed|                            |2023-12-29

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Please read https://gcc.gnu.org/bugs/ first.

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

* [Bug bootstrap/113174] gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error)
  2023-12-29 23:33 [Bug bootstrap/113174] New: gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error) gcc at octaforge dot org
  2023-12-29 23:39 ` [Bug bootstrap/113174] " pinskia at gcc dot gnu.org
@ 2023-12-29 23:46 ` pinskia at gcc dot gnu.org
  2023-12-29 23:50 ` gcc at octaforge dot org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-12-29 23:46 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
               Host|                            |powerpc64el-linux-musl
                   |                            |(clang/libc++ as host)
              Build|                            |powerpc64el-linux-musl
                   |                            |(clang/libc++ as build)
             Target|                            |powerpc64el-linux-musl

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Also if stage1 gcc is crashing, it might be a bug in clang/LLVM too. Now GCC
can and does workaround host compilers but there needs to be a lot more
information here and not just linking to other sources.

First start with non-changed sources and try again. If also you cannot try with
non-changed sources, this is not the right place for this kind of bug report.

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

* [Bug bootstrap/113174] gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error)
  2023-12-29 23:33 [Bug bootstrap/113174] New: gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error) gcc at octaforge dot org
  2023-12-29 23:39 ` [Bug bootstrap/113174] " pinskia at gcc dot gnu.org
  2023-12-29 23:46 ` pinskia at gcc dot gnu.org
@ 2023-12-29 23:50 ` gcc at octaforge dot org
  2023-12-29 23:53 ` gcc at octaforge dot org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: gcc at octaforge dot org @ 2023-12-29 23:50 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Daniel Kolesa <gcc at octaforge dot org> ---
this is the preprocessed source: https://0x0.st/HEt7.ii

It's generated with the following command line:
/builddir/gcc-13.2.1_git20231014/build/./prev-gcc/xg++
-B/builddir/gcc-13.2.1_git20231014/build/./prev-gcc/
-B/usr/powerpc64le-chimera-linux-musl/bin/ -nostdinc++
-B/builddir/gcc-13.2.1_git20231014/build/prev-powerpc64le-chimera-linux-musl/libstdc++-v3/src/.libs
-B/builddir/gcc-13.2.1_git20231014/build/prev-powerpc64le-chimera-linux-musl/libstdc++-v3/libsupc++/.libs

-I/builddir/gcc-13.2.1_git20231014/build/prev-powerpc64le-chimera-linux-musl/libstdc++-v3/include/powerpc64le-chimera-linux-musl

-I/builddir/gcc-13.2.1_git20231014/build/prev-powerpc64le-chimera-linux-musl/libstdc++-v3/include
 -I/builddir/gcc-13.2.1_git20231014/libstdc++-v3/libsupc++
-L/builddir/gcc-13.2.1_git20231014/build/prev-powerpc64le-chimera-linux-musl/libstdc++-v3/src/.libs
-L/builddir/gcc-13.2.1_git20231014/build/prev-powerpc64le-chimera-linux-musl/libstdc++-v3/libsupc++/.libs
 -fno-PIE -c   -g -O2 -fno-checking -fno-tree-ter -DIN_GCC     -fno-exceptions
-fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings
-Wcast-qual -Wmissing-format-attribute -Wconditionally-supported
-Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings   -DHAVE_CONFIG_H -I. -I.
-I/builddir/gcc-13.2.1_git20231014/gcc -I/builddir/gcc-13.2.1_git20231014/gcc/.
-I/builddir/gcc-13.2.1_git20231014/gcc/../include 
-I/builddir/gcc-13.2.1_git20231014/gcc/../libcpp/include
-I/builddir/gcc-13.2.1_git20231014/gcc/../libcody -Iyes/include -Iyes/include
-Iyes/include  -I/builddir/gcc-13.2.1_git20231014/gcc/../libdecnumber
-I/builddir/gcc-13.2.1_git20231014/gcc/../libdecnumber/dpd -I../libdecnumber
-I/builddir/gcc-13.2.1_git20231014/gcc/../libbacktrace   -o modulo-sched.o -MT
modulo-sched.o -MMD -MP -MF ./.deps/modulo-sched.TPo
/builddir/gcc-13.2.1_git20231014/gcc/modulo-sched.cc

The command line is taken from the failing log. Yes, it could be an LLVM bug.
It's hard to say whether it is though.

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

* [Bug bootstrap/113174] gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error)
  2023-12-29 23:33 [Bug bootstrap/113174] New: gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error) gcc at octaforge dot org
                   ` (2 preceding siblings ...)
  2023-12-29 23:50 ` gcc at octaforge dot org
@ 2023-12-29 23:53 ` gcc at octaforge dot org
  2023-12-29 23:59 ` pinskia at gcc dot gnu.org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: gcc at octaforge dot org @ 2023-12-29 23:53 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Daniel Kolesa <gcc at octaforge dot org> ---
I don't think builds with completely unchanged source are going to work, as the
compiler won't even reach this point then (at very least several of them are
necessary for stage 1 to build at all)

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

* [Bug bootstrap/113174] gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error)
  2023-12-29 23:33 [Bug bootstrap/113174] New: gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error) gcc at octaforge dot org
                   ` (3 preceding siblings ...)
  2023-12-29 23:53 ` gcc at octaforge dot org
@ 2023-12-29 23:59 ` pinskia at gcc dot gnu.org
  2023-12-30  0:44 ` gcc at octaforge dot org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-12-29 23:59 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Daniel Kolesa from comment #4)
> I don't think builds with completely unchanged source are going to work, as
> the compiler won't even reach this point then (at very least several of them
> are necessary for stage 1 to build at all)

Then there is not much we can support here.

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

* [Bug bootstrap/113174] gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error)
  2023-12-29 23:33 [Bug bootstrap/113174] New: gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error) gcc at octaforge dot org
                   ` (4 preceding siblings ...)
  2023-12-29 23:59 ` pinskia at gcc dot gnu.org
@ 2023-12-30  0:44 ` gcc at octaforge dot org
  2023-12-30 16:06 ` gcc at octaforge dot org
  2024-01-07  4:24 ` gcc at octaforge dot org
  7 siblings, 0 replies; 9+ messages in thread
From: gcc at octaforge dot org @ 2023-12-30  0:44 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Daniel Kolesa <gcc at octaforge dot org> ---
If it helps, I have reduced the patches to just the two that strictly necessary
for stage 1 build (I can't get rid of those, sorry, that would be asking for
the impossible), which are:

https://github.com/chimera-linux/cports/blob/master/experimental/gcc/patches/clang-tree-vect.patch
https://github.com/chimera-linux/cports/blob/master/experimental/gcc/patches/clang17.patch

and reproduced the exact same segfault on the same files with the exact same
backtrace.

Therefore, I can safely conclude that the patches are 100% irrelevant to the
problem at hand, as the two remaining ones are merely small build fixes.

------

libtool: compile:  /builddir/gcc-13.2.1_git20231014/build/./gcc/xgcc
-shared-libgcc -B/builddir/gcc-13.2.1_git20231014/build/./gcc -nostdinc++
-L/builddir/gcc-13.2.1_git20231014/build/powerpc64le-chimera-linux-musl/libstdc++-v3/src
-L/builddir/gcc-13.2.1_git20231014/build/powerpc64le-chimera-linux-musl/libstdc++-v3/src/.libs
-L/builddir/gcc-13.2.1_git20231014/build/powerpc64le-chimera-linux-musl/libstdc++-v3/libsupc++/.libs
-B/usr/powerpc64le-chimera-linux-musl/bin/
-B/usr/powerpc64le-chimera-linux-musl/lib/ -isystem
/usr/powerpc64le-chimera-linux-musl/include -isystem
/usr/powerpc64le-chimera-linux-musl/sys-include -fno-checking
-I/builddir/gcc-13.2.1_git20231014/libstdc++-v3/../libgcc
-I/builddir/gcc-13.2.1_git20231014/build/powerpc64le-chimera-linux-musl/libstdc++-v3/include/powerpc64le-chimera-linux-musl
-I/builddir/gcc-13.2.1_git20231014/build/powerpc64le-chimera-linux-musl/libstdc++-v3/include
-I/builddir/gcc-13.2.1_git20231014/libstdc++-v3/libsupc++ -std=gnu++17
-nostdinc++ -D_GLIBCXX_SHARED -fno-implicit-templates -Wall -Wextra
-Wwrite-strings -Wcast-qual -Wabi=2 -fdiagnostics-show-location=once
-ffunction-sections -fdata-sections -frandom-seed=floating_from_chars.lo
-fimplicit-templates -fstack-clash-protection -mtune=power9 -O2
-ffile-prefix-map=/builddir/gcc-13.2.1_git20231014=. -g2 -D_GNU_SOURCE -c
/builddir/gcc-13.2.1_git20231014/libstdc++-v3/src/c++17/floating_from_chars.cc 
-fPIC -DPIC -D_GLIBCXX_SHARED -o floating_from_chars.o
during RTL pass: combine
In file included from
/builddir/gcc-13.2.1_git20231014/libstdc++-v3/src/c++17/floating_from_chars.cc:86:
/builddir/gcc-13.2.1_git20231014/libstdc++-v3/src/c++17/fast_float/fast_float.h:
In function '{anonymous}::fast_float::adjusted_mantissa
{anonymous}::fast_float::digit_comp(parsed_number_string&, adjusted_mantissa)
[with T = float]':
/builddir/gcc-13.2.1_git20231014/libstdc++-v3/src/c++17/fast_float/fast_float.h:2850:1:
internal compiler error: Segmentation fault
 2850 | }
      | ^
0x1279a323 crash_signal(int)
        /builddir/gcc-13.2.1_git20231014/gcc/toplev.cc:314


cc1plus:

/builddir/gcc-13.2.1_git20231014/build/./gcc/cc1plus -quiet -nostdinc++
-nostdinc++ -v -I /builddir/gcc-13.2.1_git20231014/libstdc++-v3/../libgcc -I
/builddir/gcc-13.2.1_git20231014/build/powerpc64le-chimera-linux-musl/libstdc++-v3/include/powerpc64le-chimera-linux-musl
-I
/builddir/gcc-13.2.1_git20231014/build/powerpc64le-chimera-linux-musl/libstdc++-v3/include
-I /builddir/gcc-13.2.1_git20231014/libstdc++-v3/libsupc++ -iprefix
/builddir/gcc-13.2.1_git20231014/build/gcc/../lib/gcc/powerpc64le-chimera-linux-musl/13.2.1/
-isystem /builddir/gcc-13.2.1_git20231014/build/./gcc/include -isystem
/builddir/gcc-13.2.1_git20231014/build/./gcc/include-fixed -D_GNU_SOURCE -D
_GLIBCXX_SHARED -D _GNU_SOURCE -D PIC -D _GLIBCXX_SHARED -isystem
/usr/powerpc64le-chimera-linux-musl/include -isystem
/usr/powerpc64le-chimera-linux-musl/sys-include
/builddir/gcc-13.2.1_git20231014/libstdc++-v3/src/c++17/floating_from_chars.cc
-msecure-plt -quiet -dumpbase floating_from_chars.cc -dumpbase-ext .cc
-mtune=power9 -mabi=elfv2 -g2 -O2 -Wall -Wextra -Wwrite-strings -Wcast-qual
-Wabi=2 -std=gnu++17 -version -fno-checking -fdiagnostics-show-location=once
-ffunction-sections -fdata-sections -frandom-seed=floating_from_chars.lo
-fimplicit-templates -fstack-clash-protection
-ffile-prefix-map=/builddir/gcc-13.2.1_git20231014=. -fPIC -o /tmp/ccLDfChm.s

backtrace:

* thread #1, name = 'cc1plus', stop reason = signal SIGSEGV: address not mapped
to object (fault address: 0x100000062)
    frame #0: 0x00000000115b750c cc1plus`recog_114(x1=0x00003fffe897a5a0,
insn=0x00003fffe8979b00, pnum_clobbers=0x00003fffffffda0c) at rs6000.md:8019:7
   8016    li %0,%1
   8017    mf%1 %0
   8018    mt%0 %1
-> 8019    lwz%U1%X1 %0,%1
   8020    stw%U0%X0 %1,%0"
   8021   [(set_attr_alternative "type"
   8022      [(const_string "cr_logical")
(lldb) bt
* thread #1, name = 'cc1plus', stop reason = signal SIGSEGV: address not mapped
to object (fault address: 0x100000062)
  * frame #0: 0x00000000115b750c cc1plus`recog_114(x1=0x00003fffe897a5a0,
insn=0x00003fffe8979b00, pnum_clobbers=0x00003fffffffda0c) at rs6000.md:8019:7
    frame #1: 0x000000001154aa50 cc1plus`recog_126(x1=0x00003fffe897a5a0,
insn=0x00003fffe8979b00, pnum_clobbers=0x00003fffffffda0c) at vsx.md:280:13
    frame #2: 0x00000000114f5fd0 cc1plus`recog_188(x1=0x00003fffe897a5a0,
insn=0x00003fffe8979b00, pnum_clobbers=0x00003fffffffda0c) at vector.md:851:14
    frame #3: 0x00000000114f0b74 cc1plus`recog(x1=0x00003fffe897a5a0,
insn=0x00003fffe8979b00, pnum_clobbers=0x00003fffffffda0c) at
altivec.md:1124:14
    frame #4: 0x00000000118a4d78
cc1plus`recog_for_combine_1(pnewpat=0x00003fffffffe7e0,
insn=0x00003fffe8979b00, pnotes=0x00003fffffffe798) at combine.cc:11356:22
    frame #5: 0x0000000011890644
cc1plus`recog_for_combine(pnewpat=0x00003fffffffe7e0, insn=0x00003fffe8979b00,
pnotes=0x00003fffffffe798) at combine.cc:11626:26
    frame #6: 0x00000000118823e4 cc1plus`try_combine(i3=0x00003fffe8979b00,
i2=0x00003fffe8979a40, i1=0x0000000000000000, i0=0x0000000000000000,
new_direct_jump_p=0x00003fffffffeb34, last_combined_insn=0x00003fffe8979b00) at
combine.cc:3544:24
    frame #7: 0x000000001187c008
cc1plus`combine_instructions(f=0x00003fffe890f268, nregs=1007) at
combine.cc:1266:18
    frame #8: 0x000000001187b0b4 cc1plus`rest_of_handle_combine() at
combine.cc:14982:7
    frame #9: 0x000000001187b008 cc1plus`(anonymous
namespace)::pass_combine::execute(this=0x00003fffef6069f0,
(null)=0x00003fffe8cb5730) at combine.cc:15027:14
    frame #10: 0x00000000123cfe94
cc1plus`execute_one_pass(pass=0x00003fffef6069f0) at passes.cc:2651:22
    frame #11: 0x00000000123d10f8
cc1plus`execute_pass_list_1(pass=0x00003fffef6069f0) at passes.cc:2760:11
    frame #12: 0x00000000123d1124
cc1plus`execute_pass_list_1(pass=0x00003fffef606ad0) at passes.cc:2761:2
    frame #13: 0x00000000123be268
cc1plus`execute_pass_list(fn=0x00003fffe8cb5730, pass=0x00003fffef600b70) at
passes.cc:2771:3
    frame #14: 0x00000000117ba19c
cc1plus`cgraph_node::expand(this=0x00003fffe8cdf220) at cgraphunit.cc:1841:3
    frame #15: 0x00000000117bd18c cc1plus`expand_all_functions() at
cgraphunit.cc:2024:14
    frame #16: 0x00000000117bbe80
cc1plus`symbol_table::compile(this=0x00003fffeda06000) at cgraphunit.cc:2398:3
    frame #17: 0x00000000117bda24
cc1plus`symbol_table::finalize_compilation_unit(this=0x00003fffeda06000) at
cgraphunit.cc:2583:3
    frame #18: 0x000000001279aa38 cc1plus`compile_file() at toplev.cc:471:15
    frame #19: 0x0000000012799adc cc1plus`do_compile(no_backend=false) at
toplev.cc:2125:11
    frame #20: 0x00000000127977c0 cc1plus`toplev::main(this=0x00003ffffffff3ee,
argc=61, argv=0x00003ffffffff4d8) at toplev.cc:2277:7
    frame #21: 0x0000000013069aa0 cc1plus`main(argc=61,
argv=0x00003ffffffff4d8) at main.cc:39:18
    frame #22: 0x00003fffefa66b70
    frame #23: 0x00003fffefa66ae0
    frame #24: 0x0000000010dda1bc cc1plus`_start_c(p=<unavailable>) at
crt1.c:18:2
    frame #25: 0x0000000010dda178 cc1plus`_start + 40

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

* [Bug bootstrap/113174] gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error)
  2023-12-29 23:33 [Bug bootstrap/113174] New: gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error) gcc at octaforge dot org
                   ` (5 preceding siblings ...)
  2023-12-30  0:44 ` gcc at octaforge dot org
@ 2023-12-30 16:06 ` gcc at octaforge dot org
  2024-01-07  4:24 ` gcc at octaforge dot org
  7 siblings, 0 replies; 9+ messages in thread
From: gcc at octaforge dot org @ 2023-12-30 16:06 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Daniel Kolesa <gcc at octaforge dot org> ---
I just tested this on big-endian ppc64 targeting power4/ppc970; I was able to
successfully bootstrap the compiler. It seems this is really specific to LE
after all (which makes sense I suppose, considering the affected code appears
to be related to VSX?)

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

* [Bug bootstrap/113174] gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error)
  2023-12-29 23:33 [Bug bootstrap/113174] New: gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error) gcc at octaforge dot org
                   ` (6 preceding siblings ...)
  2023-12-30 16:06 ` gcc at octaforge dot org
@ 2024-01-07  4:24 ` gcc at octaforge dot org
  7 siblings, 0 replies; 9+ messages in thread
From: gcc at octaforge dot org @ 2024-01-07  4:24 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Daniel Kolesa <gcc at octaforge dot org> ---
I tried an experiment: I canceled the build after initial generation of
insn-recog.cc and patched the offending part with logic from a stage-2
insn-recog.cc I managed to previously capture:

```
--- insn-recog.cc.orig  2024-01-07 04:46:19.328295337 +0100
+++ insn-recog.cc       2024-01-07 04:41:52.025630846 +0100
@@ -41675,11 +41675,12 @@
       break;
     }
   operands[0] = x3;
-  if (!gpc_reg_operand (operands[0], E_SImode)
+  if (GET_CODE (x2) != MEM
       || GET_MODE (x2) != E_SImode)
     return -1;
   x4 = XEXP (x2, 0);
-  if (GET_MODE (x4) != E_SImode)
+  if (GET_CODE (x4) != PLUS
+      || GET_MODE (x4) != E_SImode)
     return -1;
   switch (GET_CODE (x2))
     {
```

This allowed all 3 stages to finish building. It results in lots of failed
comparisons for stage2 and stage3 files though, and is obviously not a workable
solution.

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

end of thread, other threads:[~2024-01-07  4:24 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-29 23:33 [Bug bootstrap/113174] New: gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error) gcc at octaforge dot org
2023-12-29 23:39 ` [Bug bootstrap/113174] " pinskia at gcc dot gnu.org
2023-12-29 23:46 ` pinskia at gcc dot gnu.org
2023-12-29 23:50 ` gcc at octaforge dot org
2023-12-29 23:53 ` gcc at octaforge dot org
2023-12-29 23:59 ` pinskia at gcc dot gnu.org
2023-12-30  0:44 ` gcc at octaforge dot org
2023-12-30 16:06 ` gcc at octaforge dot org
2024-01-07  4:24 ` gcc at octaforge dot org

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).