[Bug target/69438] New: ICE while trying to cross-compile V8 for AArch64

abe_skolnik at yahoo dot com gcc-bugzilla@gcc.gnu.org
Fri Jan 22 21:55:00 GMT 2016


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

            Bug ID: 69438
           Summary: ICE while trying to cross-compile V8 for AArch64
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: abe_skolnik at yahoo dot com
  Target Milestone: ---

Created attachment 37441
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37441&action=edit
V8 AArch64 ICE reduced test case preprocessed on Ubuntu 14 host

The essence of this bug is:
  try to:
    compile V8 using bleeding-edge GCC for trunk
    cross-compiled on an AMD64-ISA PC to AArch64
  expected result is:
    either good compilation or an error message
  actual result is:
    compiler ICEs while trying to compile AArch64-specific part of V8


Details:
  using GCC 5.3.0 vanilla for host compilers, only using bleeding-edge for
cross-compilation

  GCC trunk as of 2015-Oct.-01, with Git hash 2438858: still good
  GCC trunk as of 2015-Nov.-11, with Git hash 3f12088: bad
  GCC trunk as of 2015-Dec.-03, with Git hash 2438858: still bad

  V8 version: 4.9.274


Re-tested  with GCC from 2016-Jan.-12 with Git hash "e1a390d"  and V8
version 4.9.354,
as well as with GCC from 2016-Jan.-22 with Git hash "a44dd069" and V8
version 4.9.354;
the result is still the same ICE for both.

GREPable string for the ICE: "src/arm64/frames-arm64.cc:.* internal compiler
error: in assign_temp, at function.c:961"

Attaching a reduced test case that was reduced automatically by the
"multidelta" program from <http://delta.tigris.org/>.



The essence of the V8 build invocation is:
  GCC_V8_KLUDGE_FLAGS="-Wno-error -fno-delete-null-pointer-checks" # kludges
for badness in V8 source code
  export  CFLAGS="$GCC_V8_KLUDGE_FLAGS"
  export CXXFLAGS="$GCC_V8_KLUDGE_FLAGS"
  export CC_host=<  ... as needed as per your installation ...>
  export CXX_host=<  ... as needed as per your installation ...>
  export CC_target=< ... as needed as per your installation ...>
  export CXX_target=<... as needed as per your installation ...>
  make V=1 GYPFLAGS='-Dclang=0 -Dhost_clang=0' arm64.release



URLs
----
https://github.com/v8/v8/releases/tag/4.9.354
https://github.com/v8/v8/blob/4.9.354/src/arm64/frames-arm64.cc#L20



Full ICE result
---------------
../src/arm64/frames-arm64.cc: In static member function 'static
v8::internal::Register
v8::internal::JavaScriptFrame::constant_pool_pointer_register()':
../src/arm64/frames-arm64.cc:20:10: internal compiler error: in assign_temp,
at function.c:961
Register JavaScriptFrame::constant_pool_pointer_register() {
          ^~~~~~~~~~~~~~~

0xa2215c assign_temp(tree_node*, int, int)
        ../../gcc/function.c:961
0x8b2611 expand_call(tree_node*, rtx_def*, int)
        ../../gcc/calls.c:2559
0x9b72d2 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        ../../gcc/expr.c:10575
0x8c350c expand_expr
        ../../gcc/expr.h:256
0x8c350c expand_call_stmt
        ../../gcc/cfgexpand.c:2648
0x8c350c expand_gimple_stmt_1
        ../../gcc/cfgexpand.c:3536
0x8c350c expand_gimple_stmt
        ../../gcc/cfgexpand.c:3702
0x8c5801 expand_gimple_tailcall
        ../../gcc/cfgexpand.c:3749
0x8c5801 expand_gimple_basic_block
        ../../gcc/cfgexpand.c:5685
0x8cac06 execute
        ../../gcc/cfgexpand.c:6323
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.


More information about the Gcc-bugs mailing list