Bug report (gcc version 2.96 20000731 (Red Hat Linux 7.0)) [Internal compiler error in spill_failure, at reload1.c:1826]

Dragan Havelka dragan@sics.se
Mon Oct 9 02:02:00 GMT 2000


Hi!

Following error has occurred, when I was trying to compile "Oz emulator"
(www.mozart-oz.org) with gcc 2.96 under RH7.0 .

start->

--------------------------------------------------------------------
c++ -I/usr/local/include -DHAVE_CONFIG_H -I.
-I/home/dragan/mozart/platform/emulator   -fno-exceptions -O6    -c -o
emulate.o /home/dragan/mozart/platform/emulator/emulate.cc
/home/dragan/mozart/platform/emulator/emulate.cc: In function `int
engine (int)':
/home/dragan/mozart/platform/emulator/emulate.cc:3408: Unable to find a
register to spill in class `
SIREG'.
/home/dragan/mozart/platform/emulator/emulate.cc:3408: This is the insn:
(insn 18366 18365 18367 (parallel[ 
            (set (reg:SI 2 ecx)
                (const_int 0 [0x0]))
            (set (reg:SI 5 edi)
                (plus:SI (ashift:SI (reg:SI 2 ecx)
                        (const_int 2 [0x2]))
                    (reg/v:SI 1 edx)))
            (set (reg:SI 0 eax)
                (plus:SI (ashift:SI (reg:SI 2 ecx)
                        (const_int 2 [0x2]))
                    (reg:SI 0 eax)))
            (set (mem:BLK (reg/v:SI 1 edx) 0)
                (mem:BLK (reg:SI 0 eax) 0))
            (use (reg:SI 2 ecx))
            (use (reg:SI 19 dirflag))
        ] ) 341 {rep_movsi} (insn_list 18361 (insn_list 18363 (insn_list
18365 (nil))))
    (expr_list:REG_DEAD (reg:SI 19 dirflag)
        (expr_list:REG_UNUSED (reg:SI 2 ecx)
            (expr_list:REG_UNUSED (reg:SI 5 edi)
                (expr_list:REG_UNUSED (reg:SI 0 eax)
                    (nil))))))
/home/dragan/mozart/platform/emulator/emulate.cc:3408: Internal compiler
error in spill_failure, at 
reload1.c:1826
Please submit a full bug report.
See <URL: http://www.gnu.org/software/gcc/bugs.html > for instructions.
--------------------------------------------------------------------
<- /end of the error message


I have attached the files emulate.ii.gz and emulate.s. If you need all
source files to recreate the bug, you can find them on:
 http://www.sics.se/~dragan/mozart/mozart-emulator.tar.gz
or:
 http://www.mozart-oz.org/


My group and I would appreciate if you can send us a tip how we can
evade the bug (if that is possible).

Best regards!
D.H.
-- 
Dragan Havelka dragan@sics.se
www.sics.se/~dragan
emulate.ii.gz
	.file	"emulate.cc"
	.version	"01.01"
gcc2_compiled.:
.text
	.align 4
	.type	 enrichTypeException__FUiPCcUi,@function
enrichTypeException__FUiPCcUi:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%edi
	pushl	%esi
	pushl	%ebx
	subl	$20, %esp
	movl	12(%ebp), %ebx
	movl	16(%ebp), %esi
	pushl	$22
	pushl	8(%ebp)
	call	OZ_subtree
	movl	%eax, %edi
	movl	%ebx, (%esp)
	call	OZ_atom
	addl	$12, %esp
	pushl	%eax
	pushl	$1
	pushl	%edi
	call	OZ_putArg
	addl	$12, %esp
	pushl	%esi
	pushl	$2
	pushl	%edi
	call	OZ_putArg
	addl	$16, %esp
	leal	-12(%ebp), %esp
	popl	%ebx
	popl	%esi
	popl	%edi
	popl	%ebp
	ret
.Lfe1:
	.size	 enrichTypeException__FUiPCcUi,.Lfe1-enrichTypeException__FUiPCcUi
	.align 4
	.type	 formatError__FUiUiUi,@function
formatError__FUiUiUi:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%esi
	pushl	%ebx
	movl	_StaticAtomTable+660, %ebx
	movl	_StaticAtomTable+116, %esi
.L5:
	subl	$16, _oz_heap_cur
	movl	_oz_heap_end, %eax
	cmpl	_oz_heap_cur, %eax
	jle	.L7
	subl	$12, %esp
	pushl	$16
	call	_oz_getNewHeapChunk__FUi
	addl	$16, %esp
	jmp	.L5
	.p2align 2
.L7:
	movl	_oz_heap_cur, %eax
	leal	32(,%eax,4), %edx
	orl	$2, %edx
	movl	%ebx, (%eax)
	movl	%edx, 4(%eax)
	movl	_StaticAtomTable+496, %edx
	movl	%esi, 8(%eax)
	movl	%edx, 12(%eax)
	sall	$2, %eax
	orl	$2, %eax
	subl	$8, %esp
	pushl	%eax
	pushl	_StaticAtomTable+60
	call	OZ_record
	movl	%eax, %ebx
	addl	$12, %esp
	pushl	16(%ebp)
	pushl	_StaticAtomTable+116
	pushl	%ebx
	call	OZ_putSubtree
	addl	$12, %esp
	pushl	8(%ebp)
	pushl	_StaticAtomTable+660
	pushl	%ebx
	call	OZ_putSubtree
	addl	$12, %esp
	pushl	%ebx
	pushl	_StaticAtomTable+316
	pushl	12(%ebp)
	call	OZ_adjoinAt
	leal	-8(%ebp), %esp
	popl	%ebx
	popl	%esi
	popl	%ebp
	ret
.Lfe2:
	.size	 formatError__FUiUiUi,.Lfe2-formatError__FUiUiUi
	.align 4
.globl hf_raise_failure__2AM
	.type	 hf_raise_failure__2AM,@function
hf_raise_failure__2AM:
	pushl	%ebp
	movl	%esp, %ebp
	movl	8(%ebp), %edx
	cmpl	$0, am+12
	jne	.L14
	movl	am+8, %eax
	testb	$8, 1(%eax) 
	jne	.L14
	movl	$1, %eax
	jmp	.L13
	.p2align 2
.L14:
	movl	_StaticNameTable+68, %eax
	movl	%eax, 76(%edx)
	movl	RecordFailure, %eax
	movl	%eax, 72(%edx)
	movl	ozconf+20, %eax
	movl	%eax, 68(%edx)
	movl	$0, %eax
.L13:
	popl	%ebp
	ret
.Lfe3:
	.size	 hf_raise_failure__2AM,.Lfe3-hf_raise_failure__2AM
	.align 4
	.type	 mkRecord__FUii,@function
mkRecord__FUii:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%edi
	pushl	%esi
	pushl	%ebx
	subl	$12, %esp
	movl	8(%ebp), %edi
	movl	12(%ebp), %esi
	movl	%esi, %eax
	testl	$1, %esi
	je	.L20
	sarl	$2, %eax
	jmp	.L21
	.p2align 2
.L20:
	movl	12(%eax), %eax
.L21:
	leal	8(,%eax,4), %ebx
.L27:
	subl	%ebx, _oz_heap_cur
	movl	_oz_heap_end, %eax
	cmpl	_oz_heap_cur, %eax
	jle	.L29
	subl	$12, %esp
	pushl	%ebx
	call	_oz_getNewHeapChunk__FUi
	addl	$16, %esp
	jmp	.L27
	.p2align 2
.L29:
	movl	_oz_heap_cur, %ebx
	movl	%edi, 4(%ebx)
	movl	%esi, (%ebx)
	subl	$12, %esp
	pushl	%ebx
	call	initArgs__7SRecord
	leal	0(,%ebx,4), %eax
	orl	$3, %eax
	leal	-12(%ebp), %esp
	popl	%ebx
	popl	%esi
	popl	%edi
	popl	%ebp
	ret
.Lfe4:
	.size	 mkRecord__FUii,.Lfe4-mkRecord__FUii
		.section	.rodata
.LC0:
	.string	"fapply"
.text
	.align 4
	.type	 set_exception_info_call__FP7BuiltinP11OZ_Location,@function
set_exception_info_call__FP7BuiltinP11OZ_Location:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%edi
	pushl	%esi
	pushl	%ebx
	subl	$12, %esp
	movl	8(%ebp), %ebx
	cmpl	bi_raise, %ebx
	je	.L33
	cmpl	bi_raiseError, %ebx
	je	.L33
	movswl	18(%ebx),%edx
	leal	134217729(%edx), %eax
	cmpl	$268435456, %eax
	jbe	.L37
	subl	$12, %esp
	pushl	%edx
	call	newBigInt__Fi
	addl	$16, %esp
	sall	$2, %eax
	orl	$10, %eax
	jmp	.L38
	.p2align 2
.L37:
	movl	%edx, %eax
	sall	$4, %eax
	orl	$6, %eax
.L38:
	subl	$12, %esp
	pushl	%eax
	subl	$8, %esp
	pushl	%ebx
	pushl	12(%ebp)
	call	getInArgs__11OZ_LocationP7Builtin
	addl	$16, %esp
	pushl	%eax
	leal	0(,%ebx,4), %eax
	orl	$10, %eax
	pushl	%eax
	pushl	$3
	pushl	$.LC0
	call	OZ_mkTupleC
	addl	$32, %esp
	movl	%eax, %edx
	movl	am+76, %eax
	cmpl	_StaticNameTable+68, %eax
	jne	.L40
	movl	_StaticAtomTable+496, %eax
	movl	%eax, am+76
.L40:
	movl	%edx, %esi
	movl	am+76, %edi
	movl	$8, %ebx
.L41:
	subl	%ebx, _oz_heap_cur
	movl	_oz_heap_end, %eax
	cmpl	_oz_heap_cur, %eax
	jle	.L43
	subl	$12, %esp
	pushl	%ebx
	call	_oz_getNewHeapChunk__FUi
	addl	$16, %esp
	jmp	.L41
	.p2align 2
.L43:
	movl	_oz_heap_cur, %eax
	movl	%esi, (%eax)
	movl	%edi, 4(%eax)
	sall	$2, %eax
	orl	$2, %eax
	movl	$am, %edx
	movl	%eax, 76(%edx)
.L33:
	leal	-12(%ebp), %esp
	popl	%ebx
	popl	%esi
	popl	%edi
	popl	%ebp
	ret
.Lfe5:
	.size	 set_exception_info_call__FP7BuiltinP11OZ_Location,.Lfe5-set_exception_info_call__FP7BuiltinP11OZ_Location
	.align 4
.globl patchToFastCall__FP11AbstractionPii
	.type	 patchToFastCall__FP11AbstractionPii,@function
patchToFastCall__FP11AbstractionPii:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%edi
	pushl	%esi
	pushl	%ebx
	subl	$24, %esp
	movl	8(%ebp), %esi
	movl	12(%ebp), %ebx
	pushl	$16
	call	__builtin_new
	addl	$8, %esp
	movl	%eax, %edi
	movl	$0, 12(%edi)
	movl	$0, (%edi)
	movl	$-1, 4(%edi)
	movl	$-1, 8(%edi)
	movl	_16AbstractionEntry.allEntries, %eax
	movl	%eax, 12(%edi)
	movl	%edi, _16AbstractionEntry.allEntries
	pushl	%esi
	pushl	%edi
	call	setPred__16AbstractionEntryP11Abstraction
	movl	%ebx, (%esp)
	call	findBlock__8CodeAreaPi
	addl	$16, %esp
	movl	%edi, 4(%ebx)
	movl	$0, %eax
	cmpl	$0, 16(%ebp)
	setne	%al
	movl	_8CodeArea.globalInstrTable, %edx
	movl	376(%edx,%eax,4), %eax
	movl	%eax, (%ebx)
	leal	-12(%ebp), %esp
	popl	%ebx
	popl	%esi
	popl	%edi
	popl	%ebp
	ret
.Lfe6:
	.size	 patchToFastCall__FP11AbstractionPii,.Lfe6-patchToFastCall__FP11AbstractionPii
	.align 4
	.type	 suspendInline__FP6ThreadUiUiUi,@function
suspendInline__FP6ThreadUiUiUi:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%edi
	pushl	%esi
	pushl	%ebx
	subl	$12, %esp
	movl	8(%ebp), %edi
	movl	12(%ebp), %esi
	movl	16(%ebp), %ebx
	movl	20(%ebp), %eax
	testl	%eax, %eax
	je	.L71
	movl	$0, %edx
	testl	$3, %eax
	jne	.L73
	.p2align 2
.L74:
	movl	%eax, %edx
	movl	(%edx), %eax
	testl	$3, %eax
	je	.L74
.L73:
	testl	$2, %eax
	jne	.L71
	subl	$8, %esp
	pushl	%edi
	pushl	%edx
	call	oz_var_addSusp__FPUiP11Suspendable
	addl	$16, %esp
	cmpl	$2, %eax
	jne	.L70
.L71:
	testl	%ebx, %ebx
	je	.L78
	movl	$0, %eax
	testl	$3, %ebx
	jne	.L80
	.p2align 2
.L81:
	movl	%ebx, %eax
	movl	(%eax), %ebx
	testl	$3, %ebx
	je	.L81
.L80:
	testl	$2, %ebx
	jne	.L78
	subl	$8, %esp
	pushl	%edi
	pushl	%eax
	call	oz_var_addSusp__FPUiP11Suspendable
	addl	$16, %esp
	cmpl	$2, %eax
	jne	.L70
.L78:
	movl	$0, %eax
	testl	$3, %esi
	jne	.L86
	.p2align 2
.L87:
	movl	%esi, %eax
	movl	(%eax), %esi
	testl	$3, %esi
	je	.L87
.L86:
	testl	$2, %esi
	jne	.L89
	subl	$8, %esp
	pushl	%edi
	pushl	%eax
	call	oz_var_addSusp__FPUiP11Suspendable
	addl	$16, %esp
	cmpl	$2, %eax
	jne	.L70
.L89:
	movl	$2, %eax
.L70:
	leal	-12(%ebp), %esp
	popl	%ebx
	popl	%esi
	popl	%edi
	popl	%ebp
	ret
.Lfe7:
	.size	 suspendInline__FP6ThreadUiUiUi,.Lfe7-suspendInline__FP6ThreadUiUiUi
	.align 4
	.type	 makeMessage__FiUi,@function
makeMessage__FiUi:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%edi
	pushl	%esi
	pushl	%ebx
	subl	$12, %esp
	movl	8(%ebp), %ecx
	movl	12(%ebp), %edx
	movl	%ecx, %eax
	testl	$1, %ecx
	je	.L93
	sarl	$2, %eax
	jmp	.L94
	.p2align 2
.L93:
	movl	12(%eax), %eax
.L94:
	movl	%eax, %esi
	movl	%edx, %eax
	testl	%esi, %esi
	je	.L92
	cmpl	$2, %esi
	jne	.L101
	cmpl	_StaticAtomTable+568, %edx
	jne	.L101
	movl	$8, %ebx
.L102:
	subl	%ebx, _oz_heap_cur
	movl	_oz_heap_end, %eax
	cmpl	_oz_heap_cur, %eax
	jle	.L104
	subl	$12, %esp
	pushl	%ebx
	call	_oz_getNewHeapChunk__FUi
	addl	$16, %esp
	jmp	.L102
	.p2align 2
.L104:
	movl	_oz_heap_cur, %eax
	movl	XREGS, %edx
	movl	XREGS+4, %ecx
	movl	%edx, (%eax)
	movl	%ecx, 4(%eax)
	sall	$2, %eax
	orl	$2, %eax
	jmp	.L92
	.p2align 2
.L101:
	testl	$1, %ecx
	je	.L109
	movl	%edx, -16(%ebp)
	leal	0(,%esi,4), %eax
	movl	%eax, %edi
	orl	$1, %edi
	leal	8(,%esi,4), %ebx
.L112:
	subl	%ebx, _oz_heap_cur
	movl	_oz_heap_end, %eax
	cmpl	_oz_heap_cur, %eax
	jle	.L114
	subl	$12, %esp
	pushl	%ebx
	call	_oz_getNewHeapChunk__FUi
	addl	$16, %esp
	jmp	.L112
	.p2align 2
.L114:
	movl	_oz_heap_cur, %eax
	movl	-16(%ebp), %edx
	jmp	.L146
	.p2align 2
.L109:
	movl	%edx, %eax
	movl	%ecx, %edx
	cmpl	$0, 8(%edx)
	jne	.L120
	movl	12(%edx), %edx
	movl	%eax, -20(%ebp)
	leal	0(,%edx,4), %eax
	movl	%eax, %edi
	orl	$1, %edi
	leal	8(,%edx,4), %ebx
.L124:
	subl	%ebx, _oz_heap_cur
	movl	_oz_heap_end, %eax
	cmpl	_oz_heap_cur, %eax
	jle	.L126
	subl	$12, %esp
	pushl	%ebx
	call	_oz_getNewHeapChunk__FUi
	addl	$16, %esp
	jmp	.L124
	.p2align 2
.L126:
	movl	_oz_heap_cur, %eax
	movl	-20(%ebp), %edx
	jmp	.L146
	.p2align 2
.L120:
	movl	%eax, -24(%ebp)
	movl	%edx, %edi
	movl	12(%edi), %eax
	leal	8(,%eax,4), %ebx
.L133:
	subl	%ebx, _oz_heap_cur
	movl	_oz_heap_end, %eax
	cmpl	_oz_heap_cur, %eax
	jle	.L135
	subl	$12, %esp
	pushl	%ebx
	call	_oz_getNewHeapChunk__FUi
	addl	$16, %esp
	jmp	.L133
	.p2align 2
.L135:
	movl	_oz_heap_cur, %eax
	movl	-24(%ebp), %edx
.L146:
	movl	%edx, 4(%eax)
	movl	%edi, (%eax)
	movl	%eax, %ebx
	movl	%esi, %ecx
	decl	%ecx
	js	.L139
	movl	$XREGS, %edi
	leal	8(%ebx), %esi
	.p2align 2
.L141:
	leal	0(,%ecx,4), %edx
	movl	(%edx,%edi), %eax
	movl	%eax, (%edx,%esi)
	decl	%ecx
	jns	.L141
.L139:
	leal	0(,%ebx,4), %eax
	orl	$3, %eax
.L92:
	leal	-12(%ebp), %esp
	popl	%ebx
	popl	%esi
	popl	%edi
	popl	%ebp
	ret
.Lfe8:
	.size	 makeMessage__FiUi,.Lfe8-makeMessage__FiUi
.data
	.align 32
	.type	 instrTable.3774,@object
	.size	 instrTable.3774,708
instrTable.3774:
	.long	.L149
	.long	.L150
	.long	.L151
	.long	.L152
	.long	.L153
	.long	.L154
	.long	.L155
	.long	.L156
	.long	.L157
	.long	.L158
	.long	.L159
	.long	.L160
	.long	.L161
	.long	.L162
	.long	.L163
	.long	.L164
	.long	.L165
	.long	.L166
	.long	.L167
	.long	.L168
	.long	.L169
	.long	.L170
	.long	.L171
	.long	.L172
	.long	.L173
	.long	.L174
	.long	.L175
	.long	.L176
	.long	.L177
	.long	.L178
	.long	.L179
	.long	.L180
	.long	.L181
	.long	.L182
	.long	.L183
	.long	.L184
	.long	.L185
	.long	.L186
	.long	.L187
	.long	.L188
	.long	.L189
	.long	.L190
	.long	.L191
	.long	.L192
	.long	.L193
	.long	.L194
	.long	.L195
	.long	.L196
	.long	.L197
	.long	.L198
	.long	.L199
	.long	.L200
	.long	.L201
	.long	.L202
	.long	.L203
	.long	.L204
	.long	.L205
	.long	.L206
	.long	.L207
	.long	.L208
	.long	.L209
	.long	.L210
	.long	.L211
	.long	.L212
	.long	.L213
	.long	.L214
	.long	.L215
	.long	.L216
	.long	.L217
	.long	.L218
	.long	.L219
	.long	.L220
	.long	.L221
	.long	.L222
	.long	.L223
	.long	.L224
	.long	.L225
	.long	.L226
	.long	.L227
	.long	.L228
	.long	.L229
	.long	.L230
	.long	.L231
	.long	.L232
	.long	.L233
	.long	.L234
	.long	.L235
	.long	.L236
	.long	.L237
	.long	.L238
	.long	.L239
	.long	.L240
	.long	.L241
	.long	.L242
	.long	.L243
	.long	.L244
	.long	.L245
	.long	.L246
	.long	.L247
	.long	.L248
	.long	.L249
	.long	.L250
	.long	.L251
	.long	.L252
	.long	.L253
	.long	.L254
	.long	.L255
	.long	.L256
	.long	.L257
	.long	.L258
	.long	.L259
	.long	.L260
	.long	.L261
	.long	.L262
	.long	.L263
	.long	.L264
	.long	.L265
	.long	.L266
	.long	.L267
	.long	.L268
	.long	.L269
	.long	.L270
	.long	.L271
	.long	.L272
	.long	.L273
	.long	.L274
	.long	.L275
	.long	.L276
	.long	.L277
	.long	.L278
	.long	.L279
	.long	.L280
	.long	.L281
	.long	.L282
	.long	.L283
	.long	.L284
	.long	.L285
	.long	.L286
	.long	.L287
	.long	.L288
	.long	.L289
	.long	.L290
	.long	.L291
	.long	.L292
	.long	.L293
	.long	.L294
	.long	.L295
	.long	.L296
	.long	.L297
	.long	.L298
	.long	.L299
	.long	.L300
	.long	.L301
	.long	.L302
	.long	.L303
	.long	.L304
	.long	.L305
	.long	.L306
	.long	.L307
	.long	.L308
	.long	.L309
	.long	.L310
	.long	.L311
	.long	.L312
	.long	.L313
	.long	.L314
	.long	.L315
	.long	.L316
	.long	.L317
	.long	.L318
	.long	.L319
	.long	.L320
	.long	.L321
	.long	.L322
	.long	.L323
	.long	.L324
	.long	0
		.section	.rodata
.LC1:
	.string	"Impossible."
.LC2:
	.string	"eq"
.LC3:
	.string	"tell"
.LC4:
	.string	"apply"
.LC5:
	.string	"-"
.LC6:
	.string	"+"
.LC7:
	.string	"-1"
.LC8:
	.string	"+1"
.LC9:
	.string	"."
.LC10:
	.string	"@"
.LC11:
	.string	"globalState"
.LC12:
	.string	"<-"
.LC13:
	.string	"<"
.LC14:
	.string	"=<"
.LC15:
	.string	"Lock"
.LC16:
	.string	"type"
.LC17:
	.string	"lock"
.LC18:
	.string	"arity"
	.align 32
.LC19:
	.string	"Builtin: Unknown return value.\nDoes your builtin return a meaningful value?\nThis value is definitely unknown: %d"
.LC20:
	.string	"inconsistentFastcall"
.LC21:
	.string	"proc or builtin expected."
.data
	.align 4
	.type	 sizeOfDef.3775,@object
	.size	 sizeOfDef.3775,4
sizeOfDef.3775:
	.long	-1
		.section	.rodata
.LC22:
	.string	"Exception raised:\n   %s\n"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: emulate.ii.gz
Type: application/x-gzip
Size: 80126 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-bugs/attachments/20001009/0588daa0/attachment.bin>


More information about the Gcc-bugs mailing list