Skip to content

GCC ICE as of separate codegen/LLVM from julia runtime (#41936) #42588

Closed as not planned
@chriselrod

Description

@chriselrod

Git bisect blames #41936:

git bisect bad                                                                                 (base)
628209c1f2f746e3fc21ccd7cb34e67289403d44 is the first bad commit
commit 628209c1f2f746e3fc21ccd7cb34e67289403d44
Author: Jeff Bezanson <jeff.bezanson@gmail.com>
Date:   Tue Oct 5 16:14:00 2021 -0400

    separate codegen/LLVM from julia runtime (#41936)

    separate libjulia-internal and libjulia-codegen

    makes codegen optional via a plugin interface

    Add special `@` character to `LOADER_BUILD_DEP_LIBS` and friends

    This allows us to mark a library as `"special"` so that the loader
    doesn't attempt to open it blindly, but rather interprets it as a list
    of positional arguments, that it knows how to interpret.  We strictly
    require exactly the number of special libraries, to help avoid errors in
    the future as we add to this list.

    Strip windows runtime symbols from the windows import library

    Without stripping these symbols out of the import library, we end up with duplicate symbol definition errors.

    Co-authored-by: Julian Samaroo <jpsamaroo@jpsamaroo.me>

    Co-authored-by: Elliot Saba <staticfloat@gmail.com>

for this ICE while building src/runtime_intrinsics.so:

> make                                                                                               (base)
removed './bin/7z'
    CC src/runtime_intrinsics.o
during RTL pass: expand
/home/chriselrod/Documents/languages/julia/src/runtime_intrinsics.c: In function 'jl_copysign_float':
/home/chriselrod/Documents/languages/julia/src/runtime_intrinsics.c:1065:1: internal compiler error: Segmentation fault
 1065 | }
      | ^
/home/chriselrod/Documents/languages/julia/src/runtime_intrinsics.c:1322:1: note: in expansion of macro 'bi_fintrinsic'
 1322 | bi_fintrinsic(copysign_float,copysign_float)
      | ^~~~~~~~~~~~~
0x8d91c9 crash_signal
        ../../gcc-11.2.0/gcc/toplev.c:327
0x7f14b05c5e4f ???
        ../sysdeps/unix/sysv/linux/libc_sigaction.c:10
0x1170fda mark_jump_label_1
        ../../gcc-11.2.0/gcc/jump.c:1097
0x117104f mark_jump_label_1
        ../../gcc-11.2.0/gcc/jump.c:1221
0x117104f mark_jump_label_1
        ../../gcc-11.2.0/gcc/jump.c:1221
0x1170cb3 mark_jump_label(rtx_def*, rtx_insn*, int)
        ../../gcc-11.2.0/gcc/jump.c:1084
0x1170cb3 mark_all_labels
        ../../gcc-11.2.0/gcc/jump.c:332
0x1170cb3 rebuild_jump_labels_1
        ../../gcc-11.2.0/gcc/jump.c:74
0x1087d5f execute
        ../../gcc-11.2.0/gcc/cfgexpand.c:6811
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
make[1]: *** [Makefile:215: runtime_intrinsics.o] Error 1
make: *** [Makefile:76: julia-src-release] Error 2

Maybe this is a bug in my gcc, or a function of compiler flags somehow?
I didn't get this on the other computers I've tried.

Metadata

Metadata

Assignees

No one assigned

    Labels

    upstreamThe issue is with an upstream dependency, e.g. LLVM

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions