c/904: sparc64-elf compiler has internal error while building.
matthew green
mrg@everglades.eterna.com.au
Mon Nov 27 05:16:00 GMT 2000
>Number: 904
>Category: c
>Synopsis: sparc64-elf compiler has internal error while building.
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: unassigned
>State: open
>Class: ice-on-legal-code
>Submitter-Id: net
>Arrival-Date: Mon Nov 27 05:16:01 PST 2000
>Closed-Date:
>Last-Modified:
>Originator: matthew green
>Release: 2.97 20001126 (experimental)
>Organization:
people's front against (bozotic) www (softwar foundation)
>Environment:
System: NetBSD everglades.eterna.com.au 1.5K NetBSD 1.5K (EVERGLADES) #49: Sun Nov 19 10:35:27 EST 2000 mrg@everglades.eterna.com.au:/orb/j/src/sys/arch/sparc64/compile/EVERGLADES sparc64
host: sparc64-unknown-netbsdelf1.5K
build: sparc64-unknown-netbsdelf1.5K
target: sparc64-unknown-elf
configured with: /croc/mrg/gcc/egcs/configure --prefix=/usr/toolchain --target=sparc64-elf
>Description:
while attempting to build a sparc64-elf compiler i get the following ICE:
/orb/j/mrg/build/sparc64-elf/gcc/xgcc -B/orb/j/mrg/build/sparc64-elf/gcc/ -B/usr/toolchain/sparc64-elf/bin/ -B/usr/toolchain/sparc64-elf/lib/ -isystem /usr/toolchain/sparc64-elf/include -O2 -DCROSS_COMPILE -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I/croc/mrg/gcc/egcs/gcc -I/croc/mrg/gcc/egcs/gcc/. -I/croc/mrg/gcc/egcs/gcc/config -I/croc/mrg/gcc/egcs/gcc/../include -DL_fixunsdfdi -c /croc/mrg/gcc/egcs/gcc/libgcc2.c -o libgcc/./_fixunsdfdi.o
/croc/mrg/gcc/egcs/gcc/libgcc2.c: In function `__fixunsdfti':
/croc/mrg/gcc/egcs/gcc/libgcc2.c:949: Unrecognizable insn:
(insn 51 272 52 (set (reg:DI 116)
(fix:SI (fix:TF (reg:TF 117)))) -1 (nil)
(expr_list:REG_DEAD (reg:TF 117)
(nil)))
/croc/mrg/gcc/egcs/gcc/libgcc2.c:949: Internal compiler error in extract_insn, at recog.c:2178
confused by earlier errors, bailing out
*** Error code 1
>How-To-Repeat:
build a `sparc64-elf' toolchain. i can repeat this failure on both
NetBSD/sparc64 (where the not-yet contributed `sparc64-netbsd' target
exhibits the same problem with a native build) and NetBSD/alpha, both
64-bit hosts. on an i386 host, i get a different failure mode i will
be reporting separately. i have not tried any other 32 bit platforms.
this is the preprocessed output that causes this problem:
# 1 "/croc/mrg/gcc/egcs/gcc/libgcc2.c"
# 36 "/croc/mrg/gcc/egcs/gcc/libgcc2.c"
# 1 "tconfig.h" 1
# 1 "/croc/mrg/gcc/egcs/gcc/gansidecl.h" 1
# 28 "/croc/mrg/gcc/egcs/gcc/gansidecl.h"
# 1 "/croc/mrg/gcc/egcs/include/ansidecl.h" 1
# 29 "/croc/mrg/gcc/egcs/gcc/gansidecl.h" 2
# 4 "tconfig.h" 2
# 1 "/croc/mrg/gcc/egcs/gcc/config/sparc/xm-sparc.h" 1
# 40 "/croc/mrg/gcc/egcs/gcc/config/sparc/xm-sparc.h"
# 1 "tm.h" 1
# 1 "insn-codes.h" 1
enum insn_code {
CODE_FOR_get_pc = 45,
CODE_FOR_movsi_lo_sum_pic = 54,
CODE_FOR_movsi_high_pic = 55,
CODE_FOR_movdi_lo_sum_pic = 65,
CODE_FOR_movdi_high_pic = 66,
CODE_FOR_seth44 = 70,
CODE_FOR_setm44 = 71,
CODE_FOR_setl44 = 72,
CODE_FOR_sethh = 73,
CODE_FOR_setlm = 74,
CODE_FOR_sethm = 75,
CODE_FOR_setlo = 76,
CODE_FOR_embmedany_sethi = 77,
CODE_FOR_embmedany_losum = 78,
CODE_FOR_embmedany_brsum = 79,
CODE_FOR_embmedany_textuhi = 80,
CODE_FOR_embmedany_texthi = 81,
CODE_FOR_embmedany_textulo = 82,
CODE_FOR_embmedany_textlo = 83,
CODE_FOR_movdf_cc_sp64 = 111,
CODE_FOR_movdf_cc_reg_sp64 = 120,
CODE_FOR_extendsfdf2 = 150,
CODE_FOR_truncdfsf2 = 153,
CODE_FOR_floatsisf2 = 156,
CODE_FOR_floatsidf2 = 157,
CODE_FOR_floatdisf2 = 159,
CODE_FOR_floatdidf2 = 160,
CODE_FOR_fix_truncsfsi2 = 162,
CODE_FOR_fix_truncdfsi2 = 163,
CODE_FOR_fix_truncsfdi2 = 165,
CODE_FOR_fix_truncdfdi2 = 166,
CODE_FOR_adddi3_insn_sp32 = 168,
CODE_FOR_addx = 169,
CODE_FOR_subx = 172,
CODE_FOR_cmp_minus_cc_set = 188,
CODE_FOR_mulsi3 = 190,
CODE_FOR_muldi3_v8plus = 192,
CODE_FOR_mulsidi3_v8plus = 194,
CODE_FOR_const_mulsidi3_v8plus = 195,
CODE_FOR_const_mulsidi3_sp32 = 198,
CODE_FOR_const_mulsidi3_sp64 = 199,
CODE_FOR_smulsi3_highpart_v8plus = 200,
CODE_FOR_const_smulsi3_highpart_v8plus = 202,
CODE_FOR_const_smulsi3_highpart = 204,
CODE_FOR_umulsidi3_v8plus = 205,
CODE_FOR_const_umulsidi3_sp32 = 208,
CODE_FOR_const_umulsidi3_sp64 = 209,
CODE_FOR_const_umulsidi3_v8plus = 210,
CODE_FOR_umulsi3_highpart_v8plus = 211,
CODE_FOR_const_umulsi3_highpart_v8plus = 212,
CODE_FOR_const_umulsi3_highpart = 214,
CODE_FOR_divsi3_sp32 = 215,
CODE_FOR_divsi3_sp64 = 216,
CODE_FOR_divdi3 = 217,
CODE_FOR_udivsi3_sp32 = 219,
CODE_FOR_udivsi3_sp64 = 220,
CODE_FOR_udivdi3 = 221,
CODE_FOR_andsi3 = 228,
CODE_FOR_iorsi3 = 234,
CODE_FOR_xorsi3 = 241,
CODE_FOR_negsi2 = 259,
CODE_FOR_one_cmplsi2 = 266,
CODE_FOR_adddf3 = 272,
CODE_FOR_addsf3 = 273,
CODE_FOR_subdf3 = 275,
CODE_FOR_subsf3 = 276,
CODE_FOR_muldf3 = 278,
CODE_FOR_mulsf3 = 279,
CODE_FOR_divdf3 = 283,
CODE_FOR_divsf3 = 284,
CODE_FOR_negsf2 = 289,
CODE_FOR_abssf2 = 295,
CODE_FOR_sqrtdf2 = 297,
CODE_FOR_sqrtsf2 = 298,
CODE_FOR_ashlsi3 = 299,
CODE_FOR_ashldi3_v8plus = 303,
CODE_FOR_ashrsi3 = 307,
CODE_FOR_ashrdi3_v8plus = 311,
CODE_FOR_lshrsi3 = 312,
CODE_FOR_lshrdi3_v8plus = 316,
CODE_FOR_jump = 321,
CODE_FOR_blockage = 340,
CODE_FOR_update_return = 341,
CODE_FOR_return = 342,
CODE_FOR_nop = 343,
CODE_FOR_flush_register_windows = 346,
CODE_FOR_goto_handler_and_restore = 347,
CODE_FOR_do_builtin_setjmp_setup = 348,
CODE_FOR_flush = 349,
CODE_FOR_flushdi = 350,
CODE_FOR_ffssi2 = 351,
CODE_FOR_trap = 363,
CODE_FOR_cmpsi = 366,
CODE_FOR_cmpdi = 367,
CODE_FOR_cmpsf = 368,
CODE_FOR_cmpdf = 369,
CODE_FOR_cmptf = 370,
CODE_FOR_seqsi_special = 371,
CODE_FOR_seqdi_special = 372,
CODE_FOR_snesi_special = 373,
CODE_FOR_snedi_special = 374,
CODE_FOR_seqdi_special_trunc = 375,
CODE_FOR_snedi_special_trunc = 376,
CODE_FOR_seqsi_special_extend = 377,
CODE_FOR_snesi_special_extend = 378,
CODE_FOR_seq = 379,
CODE_FOR_sne = 380,
CODE_FOR_sgt = 381,
CODE_FOR_slt = 382,
CODE_FOR_sge = 383,
CODE_FOR_sle = 384,
CODE_FOR_sgtu = 385,
CODE_FOR_sltu = 386,
CODE_FOR_sgeu = 387,
CODE_FOR_sleu = 388,
CODE_FOR_beq = 406,
CODE_FOR_bne = 407,
CODE_FOR_bgt = 408,
CODE_FOR_bgtu = 409,
CODE_FOR_blt = 410,
CODE_FOR_bltu = 411,
CODE_FOR_bge = 412,
CODE_FOR_bgeu = 413,
CODE_FOR_ble = 414,
CODE_FOR_bleu = 415,
CODE_FOR_bunordered = 416,
CODE_FOR_bordered = 417,
CODE_FOR_bungt = 418,
CODE_FOR_bunlt = 419,
CODE_FOR_buneq = 420,
CODE_FOR_bunge = 421,
CODE_FOR_bunle = 422,
CODE_FOR_bltgt = 423,
CODE_FOR_movqi = 424,
CODE_FOR_movhi = 425,
CODE_FOR_movsi = 426,
CODE_FOR_movsi_pic_label_ref = 427,
CODE_FOR_movdi = 428,
CODE_FOR_movdi_pic_label_ref = 429,
CODE_FOR_reload_indi = 430,
CODE_FOR_reload_outdi = 431,
CODE_FOR_movsf = 438,
CODE_FOR_movdf = 439,
CODE_FOR_movtf = 446,
CODE_FOR_movqicc = 451,
CODE_FOR_movhicc = 452,
CODE_FOR_movsicc = 453,
CODE_FOR_movdicc = 454,
CODE_FOR_movsfcc = 455,
CODE_FOR_movdfcc = 456,
CODE_FOR_movtfcc = 457,
CODE_FOR_zero_extendhisi2 = 460,
CODE_FOR_zero_extendqihi2 = 461,
CODE_FOR_zero_extendqisi2 = 462,
CODE_FOR_zero_extendqidi2 = 463,
CODE_FOR_zero_extendhidi2 = 464,
CODE_FOR_zero_extendsidi2 = 465,
CODE_FOR_extendhisi2 = 467,
CODE_FOR_extendqihi2 = 468,
CODE_FOR_extendqisi2 = 469,
CODE_FOR_extendqidi2 = 470,
CODE_FOR_extendhidi2 = 471,
CODE_FOR_extendsidi2 = 472,
CODE_FOR_extendsftf2 = 473,
CODE_FOR_extenddftf2 = 474,
CODE_FOR_trunctfsf2 = 475,
CODE_FOR_trunctfdf2 = 476,
CODE_FOR_floatsitf2 = 477,
CODE_FOR_floatunssitf2 = 478,
CODE_FOR_floatditf2 = 479,
CODE_FOR_floatunsditf2 = 480,
CODE_FOR_fix_trunctfsi2 = 481,
CODE_FOR_fixuns_trunctfsi2 = 482,
CODE_FOR_fix_trunctfdi2 = 483,
CODE_FOR_fixuns_trunctfdi2 = 484,
CODE_FOR_adddi3 = 485,
CODE_FOR_addsi3 = 491,
CODE_FOR_subdi3 = 492,
CODE_FOR_subsi3 = 496,
CODE_FOR_muldi3 = 497,
CODE_FOR_mulsidi3 = 498,
CODE_FOR_smulsi3_highpart = 499,
CODE_FOR_umulsidi3 = 500,
CODE_FOR_umulsi3_highpart = 501,
CODE_FOR_divsi3 = 502,
CODE_FOR_udivsi3 = 503,
CODE_FOR_anddi3 = 504,
CODE_FOR_iordi3 = 508,
CODE_FOR_xordi3 = 511,
CODE_FOR_negdi2 = 515,
CODE_FOR_one_cmpldi2 = 517,
CODE_FOR_addtf3 = 519,
CODE_FOR_subtf3 = 520,
CODE_FOR_multf3 = 521,
CODE_FOR_divtf3 = 522,
CODE_FOR_negtf2 = 523,
CODE_FOR_negdf2 = 526,
CODE_FOR_abstf2 = 528,
CODE_FOR_absdf2 = 531,
CODE_FOR_sqrttf2 = 533,
CODE_FOR_ashldi3 = 534,
CODE_FOR_ashrdi3 = 535,
CODE_FOR_lshrdi3 = 536,
CODE_FOR_tablejump = 537,
CODE_FOR_call = 538,
CODE_FOR_call_value = 539,
CODE_FOR_untyped_call = 540,
CODE_FOR_sibcall = 541,
CODE_FOR_sibcall_value = 542,
CODE_FOR_sibcall_epilogue = 543,
CODE_FOR_untyped_return = 544,
CODE_FOR_indirect_jump = 546,
CODE_FOR_nonlocal_goto = 547,
CODE_FOR_builtin_setjmp_setup = 548,
CODE_FOR_setjmp = 549,
CODE_FOR_setjmp_32 = 550,
CODE_FOR_setjmp_64 = 551,
CODE_FOR_prologue = 568,
CODE_FOR_exception_receiver = 569,
CODE_FOR_builtin_setjmp_receiver = 570,
CODE_FOR_conditional_trap = 571,
CODE_FOR_nothing = 572 };
# 5 "tm.h" 2
# 1 "/croc/mrg/gcc/egcs/gcc/config/sparc/sp64-elf.h" 1
# 28 "/croc/mrg/gcc/egcs/gcc/config/sparc/sp64-elf.h"
# 1 "/croc/mrg/gcc/egcs/gcc/config/sparc/sol2.h" 1
# 24 "/croc/mrg/gcc/egcs/gcc/config/sparc/sol2.h"
# 1 "/croc/mrg/gcc/egcs/gcc/config/sparc/sysv4.h" 1
# 22 "/croc/mrg/gcc/egcs/gcc/config/sparc/sysv4.h"
# 1 "/croc/mrg/gcc/egcs/gcc/config/sparc/sparc.h" 1
# 82 "/croc/mrg/gcc/egcs/gcc/config/sparc/sparc.h"
enum cmodel {
CM_32,
CM_MEDLOW,
CM_MEDMID,
CM_MEDANY,
CM_EMBMEDANY
};
extern const char *sparc_cmodel_string;
extern enum cmodel sparc_cmodel;
# 432 "/croc/mrg/gcc/egcs/gcc/config/sparc/sparc.h"
extern int target_flags;
# 666 "/croc/mrg/gcc/egcs/gcc/config/sparc/sparc.h"
enum processor_type {
PROCESSOR_V7,
PROCESSOR_CYPRESS,
PROCESSOR_V8,
PROCESSOR_SUPERSPARC,
PROCESSOR_SPARCLITE,
PROCESSOR_F930,
PROCESSOR_F934,
PROCESSOR_HYPERSPARC,
PROCESSOR_SPARCLITE86X,
PROCESSOR_SPARCLET,
PROCESSOR_TSC701,
PROCESSOR_V9,
PROCESSOR_ULTRASPARC
};
extern enum processor_type sparc_cpu;
# 721 "/croc/mrg/gcc/egcs/gcc/config/sparc/sparc.h"
struct sparc_cpu_select
{
const char *string;
const char *name;
int set_tune_p;
int set_arch_p;
};
extern struct sparc_cpu_select sparc_select[];
# 1168 "/croc/mrg/gcc/egcs/gcc/config/sparc/sparc.h"
extern int *hard_regno_mode_classes;
extern int sparc_mode_class[];
# 1348 "/croc/mrg/gcc/egcs/gcc/config/sparc/sparc.h"
enum reg_class { NO_REGS, FPCC_REGS, I64_REGS, GENERAL_REGS, FP_REGS,
EXTRA_FP_REGS, GENERAL_OR_FP_REGS, GENERAL_OR_EXTRA_FP_REGS,
ALL_REGS, LIM_REG_CLASSES };
# 1375 "/croc/mrg/gcc/egcs/gcc/config/sparc/sparc.h"
extern enum reg_class sparc_regno_reg_class[];
# 1425 "/croc/mrg/gcc/egcs/gcc/config/sparc/sparc.h"
extern char sparc_leaf_regs[];
extern char leaf_reg_remap[];
# 1777 "/croc/mrg/gcc/egcs/gcc/config/sparc/sparc.h"
struct sparc_args {
int words;
int prototype_p;
int libcall_p;
};
# 1866 "/croc/mrg/gcc/egcs/gcc/config/sparc/sparc.h"
extern struct rtx_def *sparc_compare_op0, *sparc_compare_op1;
# 1902 "/croc/mrg/gcc/egcs/gcc/config/sparc/sparc.h"
extern char sparc_hard_reg_printed[8];
# 3409 "/croc/mrg/gcc/egcs/gcc/config/sparc/sparc.h"
extern int flag_pic;
# 23 "/croc/mrg/gcc/egcs/gcc/config/sparc/sysv4.h" 2
# 34 "/croc/mrg/gcc/egcs/gcc/config/sparc/sysv4.h"
# 1 "/croc/mrg/gcc/egcs/gcc/config/svr4.h" 1
# 46 "/croc/mrg/gcc/egcs/gcc/config/svr4.h"
# 1 "/croc/mrg/gcc/egcs/gcc/config/elfos.h" 1
# 78 "/croc/mrg/gcc/egcs/gcc/config/elfos.h"
# 1 "/croc/mrg/gcc/egcs/gcc/config/dbxelf.h" 1
# 79 "/croc/mrg/gcc/egcs/gcc/config/elfos.h" 2
# 47 "/croc/mrg/gcc/egcs/gcc/config/svr4.h" 2
# 35 "/croc/mrg/gcc/egcs/gcc/config/sparc/sysv4.h" 2
# 25 "/croc/mrg/gcc/egcs/gcc/config/sparc/sol2.h" 2
# 29 "/croc/mrg/gcc/egcs/gcc/config/sparc/sp64-elf.h" 2
# 11 "tm.h" 2
# 41 "/croc/mrg/gcc/egcs/gcc/config/sparc/xm-sparc.h" 2
# 7 "tconfig.h" 2
# 37 "/croc/mrg/gcc/egcs/gcc/libgcc2.c" 2
# 1 "/croc/mrg/gcc/egcs/gcc/tsystem.h" 1
# 26 "/croc/mrg/gcc/egcs/gcc/tsystem.h"
# 1 "/orb/j/mrg/build/sparc64-elf/gcc/include/stddef.h" 1 3
# 147 "/orb/j/mrg/build/sparc64-elf/gcc/include/stddef.h" 3
typedef long int ptrdiff_t;
# 199 "/orb/j/mrg/build/sparc64-elf/gcc/include/stddef.h" 3
typedef long unsigned int size_t;
# 287 "/orb/j/mrg/build/sparc64-elf/gcc/include/stddef.h" 3
typedef short unsigned int wchar_t;
# 27 "/croc/mrg/gcc/egcs/gcc/tsystem.h" 2
extern void *malloc (size_t);
extern void free (void *);
extern int atexit (void (*)(void));
# 38 "/croc/mrg/gcc/egcs/gcc/libgcc2.c" 2
# 1 "/croc/mrg/gcc/egcs/gcc/machmode.h" 1
# 29 "/croc/mrg/gcc/egcs/gcc/machmode.h"
enum machine_mode {
# 1 "/croc/mrg/gcc/egcs/gcc/machmode.def" 1
# 67 "/croc/mrg/gcc/egcs/gcc/machmode.def"
VOIDmode,
BImode,
QImode,
HImode,
SImode,
DImode,
TImode,
OImode,
PQImode,
PHImode,
PSImode,
PDImode,
QFmode,
HFmode,
TQFmode,
SFmode,
DFmode,
XFmode,
TFmode,
QCmode,
HCmode,
SCmode,
DCmode,
XCmode,
TCmode,
CQImode,
CHImode,
CSImode,
CDImode,
CTImode,
COImode,
V2QImode,
V2HImode,
V2SImode,
V2DImode,
V4QImode,
V4HImode,
V4SImode,
V4DImode,
V8QImode,
V8HImode,
V8SImode,
V8DImode,
V16QImode,
V2SFmode,
V2DFmode,
V4SFmode,
V4DFmode,
V8SFmode,
V8DFmode,
BLKmode,
# 148 "/croc/mrg/gcc/egcs/gcc/machmode.def"
CCmode,
CCXmode, CC_NOOVmode, CCX_NOOVmode, CCFPmode, CCFPEmode,
# 31 "/croc/mrg/gcc/egcs/gcc/machmode.h" 2
MAX_MACHINE_MODE };
# 41 "/croc/mrg/gcc/egcs/gcc/machmode.h"
extern const char * const mode_name[];
enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT,
MODE_VECTOR_INT, MODE_VECTOR_FLOAT,
MAX_MODE_CLASS};
extern const enum mode_class mode_class[];
# 80 "/croc/mrg/gcc/egcs/gcc/machmode.h"
extern const unsigned int mode_size[];
extern const unsigned int mode_unit_size[];
# 96 "/croc/mrg/gcc/egcs/gcc/machmode.h"
extern const unsigned int mode_bitsize[];
# 112 "/croc/mrg/gcc/egcs/gcc/machmode.h"
extern const unsigned char mode_wider_mode[];
extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int)
;
extern enum machine_mode smallest_mode_for_size
(unsigned int, enum mode_class);
extern enum machine_mode int_mode_for_mode (enum machine_mode);
extern enum machine_mode get_best_mode (int, int, unsigned int, enum machine_mode, int)
;
extern unsigned get_mode_alignment (enum machine_mode);
extern const enum machine_mode class_narrowest_mode[];
extern enum machine_mode byte_mode;
extern enum machine_mode word_mode;
extern enum machine_mode ptr_mode;
# 40 "/croc/mrg/gcc/egcs/gcc/libgcc2.c" 2
# 1 "/croc/mrg/gcc/egcs/gcc/defaults.h" 1
# 41 "/croc/mrg/gcc/egcs/gcc/libgcc2.c" 2
# 1 "/croc/mrg/gcc/egcs/gcc/libgcc2.h" 1
# 25 "/croc/mrg/gcc/egcs/gcc/libgcc2.h"
extern int __gcc_bcmp (const unsigned char *, const unsigned char *, size_t);
extern void *__builtin_saveregs (void);
extern void __dummy (void);
extern void __clear_cache (char *, char *);
extern void __pure_virtual (void) __attribute__ ((__noreturn__));
extern void __terminate (void) __attribute__ ((__noreturn__));
extern void __default_terminate (void) __attribute__ ((__noreturn__));
extern void *__throw_type_match (void *, void *, void *);
extern void __empty (void);
extern void *__get_eh_context (void);
extern void **__get_eh_info (void);
extern void ***__get_dynamic_handler_chain (void);
extern int __eh_rtime_match (void *);
extern void __unwinding_cleanup (void);
extern void __rethrow (void *);
extern void __throw (void);
extern void __sjthrow (void) __attribute__ ((__noreturn__));
extern void __sjpopnthrow (void) __attribute__ ((__noreturn__));
extern void __eprintf (const char *, const char *, unsigned int, const char *)
__attribute__ ((__noreturn__));
extern void *__eh_alloc (size_t);
extern void __eh_free (void *);
struct bb;
extern void __bb_exit_func (void);
extern void __bb_init_func (struct bb *);
extern void __bb_fork_func (void);
extern void __bb_trace_func (void);
extern void __bb_trace_ret (void);
extern void __bb_init_trace_func (struct bb *, unsigned long);
struct exception_descriptor;
extern short int __get_eh_table_language (struct exception_descriptor *);
extern short int __get_eh_table_version (struct exception_descriptor *);
# 85 "/croc/mrg/gcc/egcs/gcc/libgcc2.h"
typedef int QItype __attribute__ ((mode (QI)));
typedef unsigned int UQItype __attribute__ ((mode (QI)));
typedef int HItype __attribute__ ((mode (HI)));
typedef unsigned int UHItype __attribute__ ((mode (HI)));
typedef int SItype __attribute__ ((mode (SI)));
typedef unsigned int USItype __attribute__ ((mode (SI)));
typedef int DItype __attribute__ ((mode (DI)));
typedef unsigned int UDItype __attribute__ ((mode (DI)));
typedef int TItype __attribute__ ((mode (TI)));
typedef unsigned int UTItype __attribute__ ((mode (TI)));
typedef float SFtype __attribute__ ((mode (SF)));
typedef float DFtype __attribute__ ((mode (DF)));
typedef float TFtype __attribute__ ((mode (TF)));
# 140 "/croc/mrg/gcc/egcs/gcc/libgcc2.h"
typedef int word_type __attribute__ ((mode (__word__)));
# 228 "/croc/mrg/gcc/egcs/gcc/libgcc2.h"
extern TItype __multi3 (TItype, TItype);
extern TItype __divti3 (TItype, TItype);
extern UTItype __udivti3 (UTItype, UTItype);
extern UTItype __umodti3 (UTItype, UTItype);
extern TItype __modti3 (TItype, TItype);
extern UTItype __udivmodti4 (UTItype, UTItype, UTItype *);
extern TItype __negti2 (TItype);
extern TItype __lshrti3 (TItype, word_type);
extern TItype __ashlti3 (TItype, word_type);
extern TItype __ashrti3 (TItype, word_type);
extern TItype __ffsti2 (TItype);
extern UDItype __udiv_w_sdiv (UDItype *, UDItype, UDItype, UDItype);
extern word_type __cmpti2 (TItype, TItype);
extern word_type __ucmpti2 (TItype, TItype);
extern SItype __absvsi2 (SItype);
extern DItype __absvdi2 (DItype);
extern SItype __addvsi3 (SItype, SItype);
extern DItype __addvdi3 (DItype, DItype);
extern SItype __subvsi3 (SItype, SItype);
extern DItype __subvdi3 (DItype, DItype);
extern SItype __mulvsi3 (SItype, SItype);
extern DItype __mulvdi3 (DItype, DItype);
extern SItype __negvsi2 (SItype);
extern DItype __negvdi2 (DItype);
extern TItype __fixdfti (DFtype);
extern TItype __fixsfti (SFtype);
extern DFtype __floattidf (TItype);
extern SFtype __floattisf (TItype);
extern UDItype __fixunsdfdi (DFtype);
extern UDItype __fixunssfdi (SFtype);
extern TItype __fixunsdfti (DFtype);
extern TItype __fixunssfti (SFtype);
# 288 "/croc/mrg/gcc/egcs/gcc/libgcc2.h"
extern TItype __fixunstfti (TFtype);
extern TItype __fixtfti (TFtype);
extern TFtype __floattitf (TItype);
struct DWstruct {DItype high, low;};
# 307 "/croc/mrg/gcc/egcs/gcc/libgcc2.h"
typedef union
{
struct DWstruct s;
TItype ll;
} DWunion;
# 1 "/croc/mrg/gcc/egcs/gcc/longlong.h" 1
# 1450 "/croc/mrg/gcc/egcs/gcc/longlong.h"
extern const UQItype __clz_tab[];
# 314 "/croc/mrg/gcc/egcs/gcc/libgcc2.h" 2
# 48 "/croc/mrg/gcc/egcs/gcc/libgcc2.c" 2
# 924 "/croc/mrg/gcc/egcs/gcc/libgcc2.c"
TItype
__fixunsdfti (DFtype a)
{
DFtype b;
UTItype v;
if (a < 0)
return 0;
b = (a / (((UTItype) 1) << (sizeof (DItype) * 8)));
v = (UDItype) b;
v <<= (sizeof (DItype) * 8);
a -= (DFtype)v;
if (a < 0)
v -= (UDItype) (- a);
else
v += (UDItype) a;
return v;
}
>Fix:
a quick workaround for this issue:
LIBGCC2_DEBUG_CFLAGS='-g1 -msoft-quad-float' avoids the ICE.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the Gcc-bugs
mailing list