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