Building GNU Smalltalk with JIT fails

Project:GNU Smalltalk
Component:Build
Category:bug
Priority:normal
Assigned:Unassigned
Status:duplicate
Description

When trying to build GNU Smalltalk with JIT (using GCC 4.5.1 on Arch Linux), I get the following error messages when xlat.c is compiled:

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -DDEFAULT_EXECUTABLE=\"/usr/local/bin/gst\"
 -I../lib-src -I../lib-src -I/usr/lib/libffi-3.0.9/include -I../snprintfv -I../snprintfv -I
../lightning -I../lightning -I.. -I.. -O0 -g -Wall -Wdeclaration-after-statement -Wno-forma
t -Wpointer-arith -Wno-pointer-sign -Wwrite-strings -Wno-strict-aliasing -Wno-switch -fno-g
cse -fstrict-aliasing -MT xlat.lo -MD -MP -MF .deps/xlat.Tpo -c xlat.c  -fPIC -DPIC -o .lib
s/xlat.o                                                                                  
In file included from ../lightning/lightning.h:47:0,
                from xlat.c:57:
../lightning/core.h:66:0: warning: "JIT_CAN_16" redefined
../lightning/core-i386.h:112:0: note: this is the location of the previous definition
In file included from ../lightning/lightning.h:47:0,
                from xlat.c:57:
../lightning/core.h:185:0: warning: "jit_pushr_l" redefined
../lightning/core.h:94:0: note: this is the location of the previous definition
../lightning/core.h:186:0: warning: "jit_popr_l" redefined
../lightning/core.h:95:0: note: this is the location of the previous definition
In file included from ../lightning/lightning.h:49:0,
                from xlat.c:57:
../lightning/funcs.h: In function 'jit_flush_code':
../lightning/funcs.h:66:28: warning: cast to pointer from integer of different size
../lightning/funcs.h:73:13: warning: cast to pointer from integer of different size
In file included from ../lightning/lightning.h:51:0,
                from xlat.c:57:
../lightning/fp.h: At top level:
../lightning/fp.h:36:2: warning: #warning SSE math not yet supported
xlat.c:61:2: warning: #warning .---------------------------------------
xlat.c:62:2: warning: #warning | do not worry if you get lots of
xlat.c:63:2: warning: #warning | 'value computed is not used' warnings
xlat.c:64:2: warning: #warning `---------------------------------------
xlat.c: In function 'generate_run_native_code':
xlat.c:438:3: warning: implicit declaration of function '_r8'
xlat.c:438:3: warning: implicit declaration of function '_qO_Mrm'
xlat.c:440:3: warning: implicit declaration of function '_qO_r_X'
xlat.c:441:3: warning: the address of 'ic' will always evaluate as 'true'
xlat.c:441:3: warning: implicit declaration of function '_u32P'
xlat.c:441:3: warning: implicit declaration of function '_qOr_Q'
xlat.c:441:3: warning: value computed is not used
xlat.c:442:3: warning: the address of 'sp' will always evaluate as 'true'
xlat.c: In function 'generate_dnu_code':
xlat.c:458:3: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:460:3: warning: the address of '_gst_does_not_understand_symbol' will always evaluate as 'true'                                                                               
xlat.c: In function 'generate_bad_return_code':
xlat.c:480:3: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:482:3: warning: the address of '_gst_bad_return_error_symbol' will always evaluate as 'true'                                                                                  
xlat.c:486:3: warning: value computed is not used
xlat.c:490:3: warning: implicit declaration of function '_PSI'
xlat.c:490:3: error: invalid type argument of unary '*' (have 'int')
xlat.c:490:3: warning: implicit declaration of function '_jit_SI'
xlat.c:501:3: warning: implicit declaration of function '_s32P'
xlat.c:501:3: warning: implicit declaration of function '_qO_Mrm_L'
xlat.c:501:3: warning: value computed is not used
xlat.c: In function 'generate_non_boolean_code':
xlat.c:510:3: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:512:3: warning: implicit declaration of function '_qOs_Mrm_sL'
xlat.c:513:3: warning: the address of 'methodName' will always evaluate as 'true'
xlat.c:513:3: warning: value computed is not used
xlat.c:514:3: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:514:3: warning: implicit declaration of function '_qO_r_XB'
xlat.c:515:3: warning: the address of '_gst_abort_execution' will always evaluate as 'true'
xlat.c: In function 'generate_do_super_code':
xlat.c:523:3: warning: the address of '_gst_self' will always evaluate as 'true'
xlat.c:536:3: warning: value computed is not used
xlat.c: In function 'generate_do_send_code':
xlat.c:551:3: error: expected expression before ')' token
xlat.c:556:3: warning: value computed is not used
xlat.c:560:3: error: invalid type argument of unary '*' (have 'int')
xlat.c:571:3: warning: value computed is not used
xlat.c: In function 'generate_run_time_code':
xlat.c:587:3: warning: value computed is not used
xlat.c:595:3: warning: value computed is not used
xlat.c:601:3: warning: value computed is not used
xlat.c:607:3: warning: value computed is not used
xlat.c:613:3: warning: value computed is not used
xlat.c:619:3: warning: value computed is not used
xlat.c: In function 'new_method_entry':
xlat.c:645:3: warning: assignment from incompatible pointer type
xlat.c:645:3: warning: value computed is not used
xlat.c:651:3: warning: assignment from incompatible pointer type
xlat.c:651:3: warning: value computed is not used
xlat.c: In function 'lbl_define':
xlat.c:954:7: error: invalid type argument of unary '*' (have 'int')
xlat.c: In function 'gen_send':
xlat.c:1414:3: warning: value computed is not used
xlat.c:1416:5: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:1416:5: warning: overflow in implicit constant conversion
xlat.c:1418:5: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:1418:5: warning: overflow in implicit constant conversion
xlat.c:1422:3: warning: the address of '_gst_ip' will always evaluate as 'true'
xlat.c:1430:3: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:1430:3: warning: overflow in implicit constant conversion
xlat.c: In function 'gen_binary_int':
xlat.c:1553:8: warning: value computed is not used
xlat.c:1602:6: warning: implicit declaration of function 'jit_muli_l'
xlat.c:1605:6: error: expected expression before ')' token
xlat.c:1609:8: error: expected expression before ')' token
xlat.c:1610:8: error: expected expression before ')' token
xlat.c:1615:8: error: expected expression before ')' token
xlat.c:1628:4: warning: implicit declaration of function 'jit_mulr_l'
xlat.c:1631:8: warning: implicit declaration of function 'jit_hmulr_l'
xlat.c:1644:3: warning: left shift count >= width of type
xlat.c:1644:3: warning: left shift count >= width of type
xlat.c:1644:3: warning: left shift count >= width of type
xlat.c:1644:3: warning: left shift count >= width of type
xlat.c:1644:3: warning: left shift count >= width of type
xlat.c:1714:8: warning: implicit declaration of function 'jit_addci_l'
xlat.c:1715:8: warning: implicit declaration of function 'jit_addxi_l'
xlat.c:1720:6: warning: implicit declaration of function 'jit_hmuli_l'
xlat.c:1723:6: error: expected expression before ')' token
xlat.c:1768:4: warning: implicit declaration of function 'jit_divr_l'
xlat.c:1789:7: error: expected expression before ')' token
xlat.c:1792:7: error: expected expression before ')' token
xlat.c:1812:3: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:1812:3: warning: overflow in implicit constant conversion
xlat.c: In function 'gen_binary_bool':
xlat.c:1869:3: warning: implicit declaration of function 'jit_ger_l'
xlat.c:1869:3: warning: implicit declaration of function 'jit_gei_l'
xlat.c:1869:3: warning: implicit declaration of function 'jit_ler_l'
xlat.c:1869:3: warning: implicit declaration of function 'jit_lei_l'
xlat.c:1869:3: warning: implicit declaration of function 'jit_gtr_l'
xlat.c:1869:3: warning: implicit declaration of function 'jit_gti_l'
xlat.c:1869:3: warning: implicit declaration of function 'jit_ltr_l'
xlat.c:1869:3: warning: implicit declaration of function 'jit_lti_l'
xlat.c:1869:3: warning: implicit declaration of function 'jit_ner_l'
xlat.c:1869:3: warning: implicit declaration of function 'jit_nei_l'
xlat.c:1869:3: warning: implicit declaration of function 'jit_eqr_l'
xlat.c:1869:3: warning: implicit declaration of function 'jit_eqi_l'
xlat.c:1869:3: warning: overflow in implicit constant conversion
xlat.c:1874:3: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:1874:3: warning: overflow in implicit constant conversion
xlat.c: In function 'gen_send_store_lit_var':
xlat.c:1894:3: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:1894:3: warning: overflow in implicit constant conversion
xlat.c:1887:13: warning: unused variable 'addr'
xlat.c:1886:12: warning: unused variable 'imm'
xlat.c:1885:7: warning: unused variable 'oop'
xlat.c:1884:13: warning: unused variable 'reg1'
xlat.c:1884:7: warning: unused variable 'reg0'
xlat.c:1883:10: warning: unused variable 'overflow'
xlat.c:1882:17: warning: unused variable 'ic'
xlat.c: In function 'gen_dirty_block':
xlat.c:1903:3: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:1903:3: warning: overflow in implicit constant conversion
xlat.c:1909:3: warning: the address of 'sp' will always evaluate as 'true'
xlat.c: In function 'gen_unary_special':
xlat.c:1965:7: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:1965:7: warning: overflow in implicit constant conversion
xlat.c:1983:7: error: invalid type argument of unary '*' (have 'int')
xlat.c:1997:7: error: invalid type argument of unary '*' (have 'int')
xlat.c:1999:7: error: invalid type argument of unary '*' (have 'int')
xlat.c:2001:2: error: invalid type argument of unary '*' (have 'int')
xlat.c: In function 'gen_unary_bool':
xlat.c:2026:3: warning: overflow in implicit constant conversion
xlat.c: In function 'gen_pop_into_array':
xlat.c:2041:11: warning: cast from pointer to integer of different size
xlat.c: In function 'gen_store_rec_var':
xlat.c:2104:3: warning: the address of '_gst_self' will always evaluate as 'true'
xlat.c: In function 'gen_store_temp':
xlat.c:2113:3: warning: the address of '_gst_temporaries' will always evaluate as 'true'
xlat.c: In function 'gen_store_outer':
xlat.c:2132:3: warning: cast from pointer to integer of different size
xlat.c:2132:3: warning: the address of '_gst_this_context_oop' will always evaluate as 'true'                                                                                        
xlat.c: In function 'gen_push_rec_var':
xlat.c:2142:3: warning: the address of '_gst_self' will always evaluate as 'true'
xlat.c: In function 'gen_push_temp':
xlat.c:2152:3: warning: the address of '_gst_temporaries' will always evaluate as 'true'
xlat.c: In function 'gen_push_lit_const':
xlat.c:2163:3: warning: value computed is not used
xlat.c: In function 'gen_push_self':
xlat.c:2193:5: warning: the address of '_gst_self' will always evaluate as 'true'
xlat.c: In function 'gen_push_outer':
xlat.c:2202:3: warning: cast from pointer to integer of different size
xlat.c:2202:3: warning: the address of '_gst_this_context_oop' will always evaluate as 'true'                                                                                        
xlat.c: In function 'gen_alt_rec_var':
xlat.c:2212:3: warning: the address of '_gst_self' will always evaluate as 'true'
xlat.c: In function 'gen_alt_temp':
xlat.c:2221:3: warning: the address of '_gst_temporaries' will always evaluate as 'true'
xlat.c: In function 'gen_alt_lit_const':
xlat.c:2230:3: warning: value computed is not used
xlat.c: In function 'gen_alt_self':
xlat.c:2260:5: warning: the address of '_gst_self' will always evaluate as 'true'
xlat.c: In function 'gen_alt_outer':
xlat.c:2271:3: warning: cast from pointer to integer of different size
xlat.c:2271:3: warning: the address of '_gst_this_context_oop' will always evaluate as 'true'                                                                                        
xlat.c: In function 'gen_top_rec_var':
xlat.c:2282:3: warning: the address of '_gst_self' will always evaluate as 'true'
xlat.c: In function 'gen_top_temp':
xlat.c:2292:3: warning: the address of '_gst_temporaries' will always evaluate as 'true'
xlat.c: In function 'gen_top_self':
xlat.c:2304:5: warning: the address of '_gst_self' will always evaluate as 'true'
xlat.c: In function 'gen_top_outer':
xlat.c:2314:3: warning: cast from pointer to integer of different size
xlat.c:2314:3: warning: the address of '_gst_this_context_oop' will always evaluate as 'tre'                                                                                        
xlat.c: In function 'gen_top_lit_const':
xlat.c:2326:3: warning: value computed is not used
xlat.c: In function 'emit_code_tree':
xlat.c:2378:7: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2378:7: warning: overflow in implicit constant conversion
xlat.c:2382:7: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2382:7: warning: overflow in implicit constant conversion
xlat.c:2383:7: warning: value computed is not used
xlat.c:2384:7: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2384:7: warning: overflow in implicit constant conversion
xlat.c:2385:7: warning: the address of 'native_ip' will always evaluate as 'true'
xlat.c:2391:7: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2391:7: warning: overflow in implicit constant conversion
xlat.c:2392:7: warning: value computed is not used
xlat.c:2394:7: warning: value computed is not used
xlat.c:2395:7: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2395:7: warning: overflow in implicit constant conversion
xlat.c:2396:7: warning: the address of 'native_ip' will always evaluate as 'true'
xlat.c:2405:2: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2405:2: warning: overflow in implicit constant conversion
xlat.c:2413:7: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2413:7: warning: overflow in implicit constant conversion
xlat.c:2417:7: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2417:7: warning: overflow in implicit constant conversion
xlat.c: In function 'emit_deferred_sends':
xlat.c:2450:7: warning: value computed is not used
xlat.c:2458:3: warning: value computed is not used
xlat.c:2459:3: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2462:3: warning: the address of '_gst_ip' will always evaluate as 'true'
xlat.c:2470:3: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2470:3: warning: overflow in implicit constant conversion
xlat.c:2494:7: warning: value computed is not used
xlat.c: In function 'emit_interrupt_check':
xlat.c:2506:3: warning: the address of '_gst_except_flag' will never be NULL
xlat.c:2506:3: warning: cast from pointer to integer of different size
xlat.c:2506:3: warning: cast from pointer to integer of different size
xlat.c:2506:3: warning: the address of '_gst_except_flag' will never be NULL
xlat.c:2506:3: warning: cast from pointer to integer of different size
xlat.c:2506:3: warning: cast from pointer to integer of different size
xlat.c:2506:3: warning: the address of '_gst_except_flag' will never be NULL
xlat.c:2506:3: warning: cast from pointer to integer of different size
xlat.c:2506:3: warning: cast from pointer to integer of different size
xlat.c:2509:5: warning: value computed is not used
xlat.c:2515:3: error: invalid type argument of unary '*' (have 'int')
xlat.c: In function 'emit_basic_size_in_r0':
xlat.c:2530:7: warning: value computed is not used
xlat.c:2564:7: error: expected expression before ')' token
xlat.c: In function 'emit_inlined_primitive':
xlat.c:2603:6: warning: value computed is not used
xlat.c:2612:2: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2636:6: error: expected expression before ')' token
xlat.c:2661:15: error: expected expression before ')' token
xlat.c:2668:2: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2672:2: error: invalid type argument of unary '*' (have 'int')
xlat.c:2673:2: error: invalid type argument of unary '*' (have 'int')
xlat.c:2700:6: warning: value computed is not used
xlat.c:2708:2: warning: implicit declaration of function 'jit_ldxi_ul'
xlat.c:2711:2: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2729:4: error: expected expression before ')' token
xlat.c:2765:2: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2769:2: error: invalid type argument of unary '*' (have 'int')
xlat.c:2770:2: error: invalid type argument of unary '*' (have 'int')
xlat.c:2771:2: error: invalid type argument of unary '*' (have 'int')
xlat.c:2774:6: error: invalid type argument of unary '*' (have 'int')
xlat.c:2775:6: error: invalid type argument of unary '*' (have 'int')
xlat.c:2799:9: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2894:7: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2905:7: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2915:9: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2916:9: warning: value computed is not used
xlat.c:2920:9: error: invalid type argument of unary '*' (have 'int')
xlat.c: In function 'emit_primitive':
xlat.c:2947:7: warning: value computed is not used
xlat.c:2948:7: warning: value computed is not used
xlat.c:2971:2: error: invalid type argument of unary '*' (have 'int')
xlat.c:2981:5: error: invalid type argument of unary '*' (have 'int')
xlat.c: In function 'emit_context_setup':
xlat.c:2998:7: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:2998:7: warning: overflow in implicit constant conversion
xlat.c:3008:7: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:3008:7: warning: overflow in implicit constant conversion
xlat.c:3021:2: warning: value computed is not used
xlat.c:3025:7: warning: the address of '_gst_temporaries' will always evaluate as 'true'
xlat.c:3063:3: warning: the address of 'sp' will always evaluate as 'true'
xlat.c: In function 'emit_method_prolog':
xlat.c:3137:5: warning: value computed is not used
xlat.c:3141:7: warning: value computed is not used
xlat.c:3148:3: warning: implicit declaration of function 'jit_ldi_ul'
xlat.c:3173:2: warning: value computed is not used
xlat.c:3190:3: warning: the address of '_gst_this_context_oop' will always evaluate as 'true'                                                                                        
xlat.c:3206:3: warning: the address of '_gst_self' will always evaluate as 'true'
xlat.c:3209:3: warning: value computed is not used
xlat.c:3211:3: warning: the address of '_gst_this_method' will always evaluate as 'true'
xlat.c: In function 'emit_block_prolog':
xlat.c:3254:3: warning: the address of 'native_ip' will always evaluate as 'true'
xlat.c:3256:3: error: invalid type argument of unary '*' (have 'int')
xlat.c:3261:3: warning: value computed is not used
xlat.c:3276:4: warning: value computed is not used
xlat.c:3280:4: warning: value computed is not used
xlat.c:3295:3: warning: the address of '_gst_this_context_oop' will always evaluate as 'true'                                                                                        
xlat.c:3317:3: warning: value computed is not used
xlat.c:3318:3: warning: the address of '_gst_self' will always evaluate as 'true'
xlat.c:3319:3: warning: the address of '_gst_this_method' will always evaluate as 'true'
xlat.c: In function 'translate_method':
xlat.c:3574:3: warning: overflow in implicit constant conversion
xlat.c:3588:3: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:3667:4: warning: the address of 'sp' will always evaluate as 'true'
xlat.c:3667:4: warning: overflow in implicit constant conversion
xlat.c:3677:8: warning: the address of '_gst_ip' will always evaluate as 'true'
make[3]: *** [xlat.lo] Fehler 1

Updates

#1 submitted by Paolo Bonzini on Mon, 12/27/2010 - 15:57
Status:active» duplicate

Dup of this.

User login