[Bug sanitizer/88350] New: Linux kernel build ICE with allyesconfig for aarch64

kugan at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Dec 4 10:49:00 GMT 2018


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

            Bug ID: 88350
           Summary: Linux kernel build ICE with allyesconfig for aarch64
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: sanitizer
          Assignee: unassigned at gcc dot gnu.org
          Reporter: kugan at gcc dot gnu.org
                CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
                    jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at gcc dot gnu.org
  Target Milestone: ---

When Linux kernel is built (allyesconfig) with trunk,  

....
++ make
CC=/home/tcwg-buildslave/workspace/tcwg_kernel-bisect-gnu_0/bin/aarch64-cc
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- HOSTCC=gcc -j32 -s -k
<stdin>:1335:2: warning: #warning syscall rseq not implemented [-Wcpp]
*** WARNING *** there are active plugins, do not report this as a bug unless
you can reproduce it without enabling any plugins.
Event                            | Plugins
PLUGIN_FINISH_TYPE               | randomize_layout_plugin structleak_plugin
PLUGIN_FINISH_DECL               | randomize_layout_plugin
PLUGIN_ATTRIBUTES                | randomize_layout_plugin
latent_entropy_plugin structleak_plugin
PLUGIN_START_UNIT                | latent_entropy_plugin
PLUGIN_ALL_IPA_PASSES_START      | randomize_layout_plugin
during RTL pass: expand
arch/arm64/mm/flush.c: In function '__sync_icache_dcache':
arch/arm64/mm/flush.c:61:6: internal compiler error: in
asan_emit_stack_protection, at asan.c:1574
   61 | void __sync_icache_dcache(pte_t pte)
      |      ^~~~~~~~~~~~~~~~~~~~
....

Full build Log can be found in:
https://ci.linaro.org/job/tcwg_kernel-bisect-gnu-master-aarch64-stable-allyesconfig/11/artifact/artifacts/build-1d89613e77d7db420b13ce3ad8b98f07aaf474e8/console.log


Commit that seem to trigger this is:
Author: marxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Fri Nov 30 14:25:15 2018 +0000

    Make red zone size more flexible for stack variables (PR sanitizer/81715).

    2018-11-30  Martin Liska  <mliska@suse.cz>

        PR sanitizer/81715
        * asan.c (asan_shadow_cst): Remove, partially transform
        into flush_redzone_payload.
        (RZ_BUFFER_SIZE): New.
        (struct asan_redzone_buffer): New.
        (asan_redzone_buffer::emit_redzone_byte): Likewise.
        (asan_redzone_buffer::flush_redzone_payload): Likewise.
        (asan_redzone_buffer::flush_if_full): Likewise.
        (asan_emit_stack_protection): Use asan_redzone_buffer class
        that is responsible for proper aligned stores and flushing
        of shadow memory payload.
        * asan.h (ASAN_MIN_RED_ZONE_SIZE): New.
        (asan_var_and_redzone_size): Likewise.
        * cfgexpand.c (expand_stack_vars): Use smaller alignment
        (ASAN_MIN_RED_ZONE_SIZE) in order to make shadow memory
        for automatic variables more compact.
    2018-11-30  Martin Liska  <mliska@suse.cz>

        PR sanitizer/81715
        * c-c++-common/asan/asan-stack-small.c: New test.


    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@266664
138bc75d-0d04-0410-961f-82ee72b054a4


More information about the Gcc-bugs mailing list