NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

port-vax/53149: "Unable to generate reloads" building UBSan



>Number:         53149
>Category:       port-vax
>Synopsis:       "Unable to generate reloads" building UBSan
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-vax-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Apr 03 01:15:01 +0000 2018
>Originator:     coypu
>Release:        NetBSD 8.99.14
>Organization:
>Environment:
NetBSD planets 8.99.14 NetBSD 8.99.14 (GENERIC) #3: Mon Apr  2 04:59:23 IDT 2018  fly@planets:/current/src/sys/arch/amd64/compile/GENERIC amd64

>Description:
Building this for vax with -O2 fails.
Succeeds with -O1.

Tested GCC 6.4.0.

This is the cause for -O1 in sanitizer makefiles.


struct a {
  char b;
};
inline char c(a *d, char e) { __sync_lock_test_and_set(&d->b, e); }
class f {
public:
  void g() { h(); }
  a i;
  void __attribute__((noinline)) h() {
    for (;; c(&i, 1))
      ;
  }
} j;
class k {
  k();
};
k::k() { j.g(); }






> /home/fly/vax2/tooldir.NetBSD-8.99.14-amd64/bin/vax--netbsdelf-c++ ubsan_diag.ii -c -O2
ubsan_diag.ii: In member function 'void f::h()':
ubsan_diag.ii:12:3: error: unable to generate reloads for:
   }
   ^
(jump_insn 9 7 20 3 (parallel [
            (set (pc)
                (if_then_else (ne (zero_extract:SI (mem/v:QI (reg/f:SI 0 %r0 [orig:23 this ] [23]) [-1  S1 A8])
                            (const_int 1 [0x1])
                            (const_int 0 [0]))
                        (const_int 0 [0]))
                    (label_ref:SI 12)
                    (pc)))
            (set (zero_extract:SI (mem/v:QI (reg/f:SI 1 %r1 [orig:22 pretmp_6 ] [22]) [-1  S1 A8])
                    (const_int 1 [0x1])
                    (const_int 0 [0]))
                (const_int 1 [0x1]))
        ]) ubsan_diag.ii:4 158 {jbbssiqi}
     (int_list:REG_BR_PROB 5000 (nil))
 -> 12)
ubsan_diag.ii:12:3: internal compiler error: in find_reloads, at reload.c:3842
0xcae054 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*)
	/current/src/tools/gcc/../../external/gpl3/gcc/dist/gcc/rtl-error.c:108
0xc7ffc6 find_reloads(rtx_insn*, int, int, int, short*)
	/current/src/tools/gcc/../../external/gpl3/gcc/dist/gcc/reload.c:3842
0xc8df5c calculate_needs_all_insns
	/current/src/tools/gcc/../../external/gpl3/gcc/dist/gcc/reload1.c:1484
0xc8c99a reload(rtx_insn*, int)
	/current/src/tools/gcc/../../external/gpl3/gcc/dist/gcc/reload1.c:995
0xb39a7f do_reload
	/current/src/tools/gcc/../../external/gpl3/gcc/dist/gcc/ira.c:5452
0xb39e28 execute
	/current/src/tools/gcc/../../external/gpl3/gcc/dist/gcc/ira.c:5624
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://www.NetBSD.org/Misc/send-pr.html> for instructions.

>How-To-Repeat:

>Fix:



Home | Main Index | Thread Index | Old Index