This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/36822] New: [4.4 Regression] ICE in subst_reloads
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Jul 2008 12:24:04 -0000
- Subject: [Bug target/36822] New: [4.4 Regression] ICE in subst_reloads
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
s390x fails to build the linux kernel
./cc1 -quiet -O smp.3.i
Program received signal SIGSEGV, Segmentation fault.
0x00000000008276f4 in subst_reloads (insn=0x7fc1f2451a00)
at /space/rguenther/src/svn/trunk/gcc/reload.c:6181
6181 gcc_assert (GET_CODE (*r->where) != LABEL_REF
(gdb) print *r->where
$1 = (rtx) 0x2b
testcase:
typedef unsigned char __u8;
typedef unsigned int __u32;
typedef unsigned long __u64;
struct _lowcore {
__u8 pad8[0xc00-0x2a0];
__u64 save_area[16];
__u8 pad9[0xd40-0xc80];
__u64 thread_info;
__u64 ext_call_fast;
__u8 pad13[0x1200-0xe04];
__u64 floating_pt_save_area[16];
__u64 gpregs_save_area[16];
__u32 st_status_fixed_logout[4];
__u32 access_regs_save_area[16];
__u64 cregs_save_area[16];
};
int __cpu_up(unsigned int cpu)
{
struct _lowcore *cpu_lowcore;
typedef struct {
char _[sizeof(cpu_lowcore->cregs_save_area[0])];
} addrtype;
asm volatile( "stctg %2,%3,0(%1)\n"
: "=m" (*(addrtype *)(cpu_lowcore->cregs_save_area[0]))
: "a" (&cpu_lowcore->cregs_save_area[0]), "i" (0), "i" (15));
}
--
Summary: [4.4 Regression] ICE in subst_reloads
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org
GCC target triplet: s390x-*-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36822