This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
bootstrap failure for egcs-1.1.2 and gcc-2.95.1
- To: gcc-bugs at gcc dot gnu dot org
- Subject: bootstrap failure for egcs-1.1.2 and gcc-2.95.1
- From: Jim Reid <jim at mpn dot cp dot philips dot com>
- Date: Fri, 08 Oct 1999 19:28:37 +0200
- Cc: jim at mpn dot cp dot philips dot com
I have been unable to get either compiler to compile on a system
running BSD/OS4.0. The configure script works OK, but the "make
bootstrap" dies with a weird assembler alignment error. Here's the
output from make:
for name in _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 _lshrdi3 _ashldi3
_ashrdi3 _ffsdi2 _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2 _floatdidf _floatdi
sf _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi
_fixunsxfdi _floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf __gcc_bcmp
_varargs __dummy _eprintf _bb _shtab _clear_cache _trampoline __main _exit _ct
ors _pure; do echo ${name}; ./xgcc -B/usr/local/i386-pc-bsdi4.0/bin/ -B./ -I/
usr/local/i386-pc-bsdi4.0/include -O2 -DIN_GCC -g -I./include -g1 -DIN_L
IBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I/usr/src/kde2/gcc-2.95.1/gcc -I/usr/src/kd
e2/gcc-2.95.1/gcc/config -I/usr/src/kde2/gcc-2.95.1/gcc/../include -c -DL${name}
/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c -o ${name}.o; if [ $? -eq 0 ] ; then
true; else exit 1; fi; ` if [ -f /usr/local/gcc/gcc/../binutils/ar ] ; then e
cho /usr/local/gcc/gcc/../binutils/ar ; else if [ "i386-pc-bsdi4.0" = "i386-pc
-bsdi4.0" ] ; then echo ar; else t='s,x,x,'; echo ar | sed -e $t ; fi; fi`
rc tmplibgcc2.a ${name}.o; rm -f ${name}.o; done
_muldi3
_divdi3
_moddi3
_udivdi3
_umoddi3
_negdi2
_lshrdi3
_ashldi3
_ashrdi3
_ffsdi2
_udiv_w_sdiv
_udivmoddi4
_cmpdi2
_ucmpdi2
_floatdidf
/var/tmp/ccQxmA3W.s: Assembler messages:
/var/tmp/ccQxmA3W.s:121: Error: Alignment not a power of 2
The assembler is the one shipped with the OS. It claims to be:
GNU assembler version 2.8.1 (bsd/os), using BFD version 2.8.1
Here's the gcc command line with the -v and --save-temps options added:
./xgcc -v --save-temps -B/usr/local/i386-pc-bsdi4.0/bin/ -B./ -I/usr/local/i386-pc-bsdi4.0/include -O2 -DIN_GCC -g -I./include -g1 -DIN_LBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I/usr/src/kde2/gcc-2.95.1/gcc -I/usr/src/kde2/gcc-2.95.1/gcc/config -I/usr/src/kde2/gcc-2.95.1/gcc/../include -c -DL_floatdidf /usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c -o _floatdidf.o
Here's the compiler output:
Reading specs from ./specs
gcc version egcs-2.91.66 19990314 (egcs-1.1.2 release)
./cpp -lang-c -v -I/usr/local/i386-pc-bsdi4.0/include -I./include -I. -I/usr/src/kde2/gcc-2.95.1/gcc -I/usr/src/kde2/gcc-2.95.1/gcc/config -I/usr/src/kde2/gcc-2.95.1/gcc/../include -isystem ./include -isystem /usr/local/i386-pc-bsdi4.0/bin/include -undef -D__GNUC__=2 -D__GNUC_MINOR__=91 -Dunix -Di386 -Dbsdi -D__i386__ -D__bsdi__ -D____386BSD____ -D__386BSD__ -DBSD_NET2 -D__unix__ -D__i386__ -D__bsdi__ -D__i386__ -D__bsdi__ -D____386BSD____ -D__386BSD__ -D__BSD_NET2__ -D__unix -D__i386 -D__bsdi -D__BSD_NET2 -Asystem(unix) -Asystem(bsd) -Acpu(i386) -Amachine(i386) -D__OPTIMIZE__ -g -g1 -Asystem(unix) -Acpu(i386) -Amachine(i386) -Di386 -D__i386 -D__i386__ -DIN_GCC -DIN_LBGCC2 -D__GCC_FLOAT_NOT_NEEDED -DL_floatdidf /usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c libgcc2.i
GNU CPP version egcs-2.91.66 19990314 (egcs-1.1.2 release) (80386, BSD syntax)
#include "..." search starts here:
#include <...> search starts here:
include
.
/usr/src/kde2/gcc-2.95.1/gcc
/usr/src/kde2/gcc-2.95.1/gcc/config
/usr/src/kde2/gcc-2.95.1/gcc/../include
include
/usr/local/include
/usr/include
End of search list.
./cc1 libgcc2.i -quiet -dumpbase libgcc2.c -g -g1 -O2 -version -o libgcc2.s
GNU C version egcs-2.91.66 19990314 (egcs-1.1.2 release) (i386-pc-bsdi4.0) compiled by GNU C version 2.7.2.1.
In file included from /usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c:45:
/usr/src/kde2/gcc-2.95.1/gcc/machmode.h:127: parse error before `PROTO'
/usr/src/kde2/gcc-2.95.1/gcc/machmode.h:131: parse error before `PROTO'
/usr/src/kde2/gcc-2.95.1/gcc/machmode.h:138: parse error before `PROTO'
/usr/src/kde2/gcc-2.95.1/gcc/machmode.h:142: parse error before `PROTO'
Here's libgcc2.i
# 1 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 1 "tconfig.h" 1
# 1 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/xm-i386.h" 1
# 1 "tm.h" 1
# 1 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/bsd386.h" 1
# 1 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/386bsd.h" 1
# 1 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/gstabs.h" 1
# 1 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/gas.h" 1
# 1 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h" 1
struct processor_costs {
int add;
int lea;
int shift_var;
int shift_const;
int mult_init;
int mult_bit;
int divide;
};
extern struct processor_costs *ix86_cost;
extern int target_flags;
extern const int x86_use_leave, x86_push_memory, x86_zero_extend_with_and;
extern const int x86_use_bit_test, x86_cmove, x86_deep_branch;
extern const int x86_unroll_strlen, x86_use_q_reg, x86_use_any_reg;
extern const int x86_double_with_add;
# 219 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
enum processor_type
{PROCESSOR_I386,
PROCESSOR_I486,
PROCESSOR_PENTIUM,
PROCESSOR_PENTIUMPRO,
PROCESSOR_K6};
extern enum processor_type ix86_cpu;
extern int ix86_arch;
# 272 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 366 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 461 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 509 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 549 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 673 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
enum reg_class
{
NO_REGS,
AREG, DREG, CREG, BREG,
AD_REGS,
Q_REGS,
SIREG, DIREG,
INDEX_REGS,
GENERAL_REGS,
FP_TOP_REG, FP_SECOND_REG,
FLOAT_REGS,
ALL_REGS, LIM_REG_CLASSES
};
# 836 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 852 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 913 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 935 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 974 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
typedef struct i386_args {
int words;
int nregs;
int regno;
} CUMULATIVE_ARGS;
# 1173 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 1332 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 1459 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 1493 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 1561 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 1595 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 1654 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 1844 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 2005 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 2118 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 2295 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
# 2427 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
extern char *hi_reg_name[];
extern char *qi_reg_name[];
extern char *qi_high_reg_name[];
# 2626 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
# 2660 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/i386.h"
extern void override_options ();
extern void order_regs_for_local_alloc ();
extern char *output_strlen_unroll ();
extern struct rtx_def *i386_sext16_if_const ();
extern int i386_aligned_p ();
extern int i386_cc_probably_useless_p ();
extern int i386_valid_decl_attribute_p ();
extern int i386_valid_type_attribute_p ();
extern int i386_return_pops_args ();
extern int i386_comp_type_attributes ();
extern void init_cumulative_args ();
extern void function_arg_advance ();
extern struct rtx_def *function_arg ();
extern int function_arg_partial_nregs ();
extern char *output_strlen_unroll ();
extern char *singlemove_string ();
extern char *output_move_double ();
extern char *output_move_pushmem ();
extern int standard_80387_constant_p ();
extern char *output_move_const_single ();
extern int symbolic_operand ();
extern int call_insn_operand ();
extern int expander_call_insn_operand ();
extern int symbolic_reference_mentioned_p ();
extern int ix86_expand_binary_operator ();
extern int ix86_binary_operator_ok ();
extern int ix86_expand_unary_operator ();
extern int ix86_unary_operator_ok ();
extern void emit_pic_move ();
extern void function_prologue ();
extern int simple_386_epilogue ();
extern void function_epilogue ();
extern int legitimate_address_p ();
extern struct rtx_def *legitimize_pic_address ();
extern struct rtx_def *legitimize_address ();
extern void print_operand ();
extern void print_operand_address ();
extern void notice_update_cc ();
extern void split_di ();
extern int binary_387_op ();
extern int shift_op ();
extern int VOIDmode_compare_op ();
extern char *output_387_binary_op ();
extern char *output_fix_trunc ();
extern void output_float_extend ();
extern char *output_float_compare ();
extern char *output_fp_cc0_set ();
extern void save_386_machine_status ();
extern void restore_386_machine_status ();
extern void clear_386_stack_locals ();
extern struct rtx_def *assign_386_stack_local ();
extern int is_mul ();
extern int is_div ();
extern int last_to_set_cc ();
extern int doesnt_set_condition_code ();
extern int sets_condition_code ();
extern int str_immediate_operand ();
extern int is_fp_insn ();
extern int is_fp_dest ();
extern int is_fp_store ();
extern int agi_dependent ();
extern int reg_mentioned_in_mem ();
extern char *output_int_conditional_move ();
extern char *output_fp_conditional_move ();
extern int ix86_can_use_return_insn_p ();
extern int small_shift_operand ();
extern char *output_ashl ();
extern int memory_address_info ();
extern char *ix86_cpu_string;
extern char *ix86_arch_string;
extern char *i386_reg_alloc_order;
extern char *i386_regparm_string;
extern char *i386_align_loops_string;
extern char *i386_align_jumps_string;
extern char *i386_align_funcs_string;
extern char *i386_preferred_stack_boundary_string;
extern char *i386_branch_cost_string;
extern int i386_regparm;
extern int i386_align_loops;
extern int i386_align_jumps;
extern int i386_align_funcs;
extern int i386_preferred_stack_boundary;
extern int i386_branch_cost;
extern char *hi_reg_name[];
extern char *qi_reg_name[];
extern char *qi_high_reg_name[];
extern enum reg_class regclass_map[];
extern struct rtx_def *i386_compare_op0;
extern struct rtx_def *i386_compare_op1;
extern int optimize;
extern int obey_regdecls;
extern struct rtx_def *force_operand ();
# 24 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/gas.h" 2
# 1 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/bsd.h" 1
# 1 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/unix.h" 1
# 191 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/unix.h"
# 24 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/bsd.h" 2
# 47 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/gas.h" 2
# 129 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/gas.h"
# 162 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/gas.h"
# 1 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/gstabs.h" 2
# 6 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/386bsd.h" 2
# 1 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/perform.h" 1
# 40 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/perform.h"
# 52 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/perform.h"
# 63 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/perform.h"
# 75 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/perform.h"
# 98 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/perform.h"
# 9 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/386bsd.h" 2
# 51 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/386bsd.h"
# 4 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/bsd386.h" 2
# 1 "tm.h" 2
# 43 "/usr/src/kde2/gcc-2.95.1/gcc/config/i386/xm-i386.h" 2
# 1 "tconfig.h" 2
# 33 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c" 2
# 1 "include/stdlib.h" 1 3
# 1 "/usr/include/machine/ansi.h" 1 3
# 41 "include/stdlib.h" 2 3
typedef unsigned int size_t;
typedef int rune_t;
typedef int wchar_t;
typedef struct {
int quot;
int rem;
} div_t;
typedef struct {
long quot;
long rem;
} ldiv_t;
extern int __mb_cur_max;
# 1 "/usr/include/sys/cdefs.h" 1 3
# 112 "/usr/include/sys/cdefs.h" 3
# 82 "include/stdlib.h" 2 3
void abort (void) __attribute__((volatile ));
int abs (int) ;
int atexit (void (*)(void)) ;
double atof (const char *) ;
int atoi (const char *) ;
long atol (const char *) ;
void *bsearch (const void *, const void *, size_t,
size_t, int (*)(const void *, const void *)) ;
void *calloc (size_t, size_t) ;
div_t div (int, int) ;
void exit (int) __attribute__((volatile ));
void free (void *) ;
char *getenv (const char *) ;
long labs (long) ;
ldiv_t ldiv (long, long) ;
void *malloc (size_t) ;
void qsort (void *, size_t, size_t,
int (*)(const void *, const void *)) ;
int rand (void) ;
int rand_r (unsigned int *) ;
void *realloc (void *, size_t) ;
void srand (unsigned) ;
double strtod (const char *, char **) ;
long strtol (const char *, char **, int) ;
unsigned long strtoul (const char *, char **, int) ;
int system (const char *) ;
int mblen (const char *, size_t) ;
size_t mbstowcs (wchar_t *, const char *, size_t) ;
int wctomb (char *, wchar_t) ;
int mbtowc (wchar_t *, const char *, size_t) ;
size_t wcstombs (char *, const wchar_t *, size_t) ;
int putenv (const char *) ;
int setenv (const char *, const char *, int) ;
void *alloca (size_t) ;
char *getbsize (int *, long *) ;
char *cgetcap (char *, char *, int) ;
int cgetclose (void) ;
int cgetent (char **, char **, char *) ;
int cgetfirst (char **, char **) ;
int cgetmatch (char *, char *) ;
int cgetnext (char **, char **) ;
int cgetnum (char *, char *, long *) ;
int cgetset (char *) ;
int cgetstr (char *, char *, char **) ;
int cgetustr (char *, char *, char **) ;
double drand48 (void) ;
double erand48 (unsigned short *) ;
long jrand48 (unsigned short *) ;
void lcong48 (unsigned short *) ;
long lrand48 (void) ;
long mrand48 (void) ;
long nrand48 (unsigned short *) ;
unsigned short *seed48 (unsigned short *) ;
void srand48(long);
int daemon (int, int) ;
char *devname (int, int) ;
int getloadavg (double [], int) ;
extern char *optarg;
extern int opterr, optind, optopt, optreset;
int getopt (int, char * const *, const char *) ;
extern char *suboptarg;
int getsubopt (char **, char * const *, char **) ;
int heapsort (void *, size_t, size_t,
int (*)(const void *, const void *)) ;
char *initstate (unsigned int, char *, int) ;
int mergesort (void *, size_t, size_t,
int (*)(const void *, const void *)) ;
int radixsort (const unsigned char **, int, const unsigned char *,
unsigned) ;
int sradixsort (const unsigned char **, int, const unsigned char *,
unsigned) ;
long random (void) ;
char *realpath (const char *, char resolved_path[]) ;
char *setstate (char *) ;
void srandom (unsigned int) ;
long long strtoq (const char *, char **, int) ;
unsigned long long strtouq (const char *, char **, int) ;
void unsetenv (const char *) ;
# 41 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c" 2
# 1 "include/unistd.h" 1 3
# 1 "include/sys/types.h" 1 3
# 1 "/usr/include/machine/types.h" 1 3
typedef unsigned long vm_offset_t;
typedef unsigned long vm_size_t;
typedef signed char int8_t;
typedef unsigned char u_int8_t;
typedef short int16_t;
typedef unsigned short u_int16_t;
typedef int int32_t;
typedef unsigned int u_int32_t;
typedef long long int64_t;
typedef unsigned long long u_int64_t;
typedef signed char int8m_t;
typedef unsigned char u_int8m_t;
typedef short int16m_t;
typedef unsigned short u_int16m_t;
typedef int int32m_t;
typedef unsigned int u_int32m_t;
typedef long long int64m_t;
typedef unsigned long long u_int64m_t;
typedef int32_t register_t;
# 48 "include/sys/types.h" 2 3
typedef unsigned long u_long;
typedef unsigned int u_int;
typedef unsigned short u_short;
typedef unsigned char u_char;
typedef unsigned int uint;
typedef unsigned short ushort;
typedef u_int64_t u_quad_t;
typedef int64_t quad_t;
typedef quad_t * qaddr_t;
typedef char * caddr_t;
typedef long daddr_t;
typedef unsigned long dev_t;
typedef unsigned long fixpt_t;
typedef unsigned int gid_t;
typedef unsigned long ino_t;
typedef long key_t;
typedef u_int16m_t mode_t;
typedef u_int16m_t nlink_t;
typedef quad_t off_t;
typedef int pid_t;
typedef long segsz_t;
typedef long swblk_t;
typedef unsigned int uid_t;
off_t lseek (int, off_t, int) ;
# 1 "/usr/include/machine/endian.h" 1 3
# 1 "include/sys/types.h" 1 3
# 158 "include/sys/types.h" 3
# 58 "/usr/include/machine/endian.h" 2 3
u_int32m_t htonl (u_int32m_t) ;
u_int16m_t htons (u_int16m_t) ;
u_int32m_t ntohl (u_int32m_t) ;
u_int16m_t ntohs (u_int16m_t) ;
u_int32m_t htole32 (u_int32m_t) ;
u_int16m_t htole16 (u_int16m_t) ;
u_int32m_t letoh32 (u_int32m_t) ;
u_int16m_t letoh16 (u_int16m_t) ;
# 95 "/usr/include/machine/endian.h" 3
# 103 "include/sys/types.h" 2 3
typedef unsigned long clock_t;
typedef int ssize_t;
typedef long time_t;
# 1 "/usr/include/sys/select.h" 1 3
# 1 "include/sys/types.h" 1 3
# 158 "include/sys/types.h" 3
# 47 "/usr/include/sys/select.h" 2 3
typedef long fd_mask;
typedef struct fd_set {
fd_mask fds_bits[((( 256 ) + (( (sizeof(fd_mask) * 8 ) ) - 1)) / ( (sizeof(fd_mask) * 8 ) )) ];
} fd_set;
struct selinfo {
pid_t si_pid;
short si_flags;
};
# 115 "/usr/include/sys/select.h" 3
# 1 "/usr/include/sys/signaltypes.h" 1 3
typedef unsigned int sigset_t;
# 119 "/usr/include/sys/select.h" 2 3
struct timeval;
struct timespec;
int select (int, fd_set *, fd_set *, fd_set *, const struct timeval *) ;
int pselect (int, fd_set *, fd_set *, fd_set *,
const struct timespec *, const sigset_t *) ;
# 139 "include/sys/types.h" 2 3
# 155 "include/sys/types.h" 3
# 42 "include/unistd.h" 2 3
# 1 "/usr/include/sys/unistd.h" 1 3
# 43 "include/unistd.h" 2 3
void _exit (int) __attribute__((volatile ));
int access (const char *, int) ;
unsigned int alarm (unsigned int) ;
int chdir (const char *) ;
int chown (const char *, uid_t, gid_t) ;
int close (int) ;
size_t confstr (int, char *, size_t) ;
int dup (int) ;
int dup2 (int, int) ;
int execl (const char *, const char *, ...) ;
int execle (const char *, const char *, ...) ;
int execlp (const char *, const char *, ...) ;
int execv (const char *, char * const *) ;
int execve (const char *, char * const *, char * const *) ;
int execvp (const char *, char * const *) ;
pid_t fork (void) ;
long fpathconf (int, int) ;
char *getcwd (char *, size_t) ;
gid_t getegid (void) ;
uid_t geteuid (void) ;
gid_t getgid (void) ;
int getgroups (int, gid_t []) ;
char *getlogin (void) ;
pid_t getpgrp (void) ;
pid_t getpid (void) ;
pid_t getppid (void) ;
uid_t getuid (void) ;
int isatty (int) ;
int link (const char *, const char *) ;
off_t lseek (int, off_t, int) ;
long pathconf (const char *, int) ;
int pause (void) ;
int pipe (int *) ;
ssize_t read (int, void *, size_t) ;
int rmdir (const char *) ;
int setgid (gid_t) ;
int setpgid (pid_t, pid_t) ;
pid_t setsid (void) ;
int setuid (uid_t) ;
unsigned int sleep (unsigned int) ;
long sysconf (int) ;
pid_t tcgetpgrp (int) ;
int tcsetpgrp (int, pid_t) ;
char *ttyname (int) ;
int unlink (const char *) ;
ssize_t write (int, const void *, size_t) ;
extern char *optarg;
extern int opterr, optind, optopt;
extern int optreset;
int getopt (int, char * const *, const char *) ;
extern char *optarg;
extern int optind, opterr, optopt;
int getopt (int, char * const [], const char *) ;
int acct (const char *) ;
int async_daemon (void) ;
char *brk (const char *) ;
int chroot (const char *) ;
char *crypt (const char *, const char *) ;
int des_cipher (const char *, char *, long, int) ;
int des_setkey (const char *key) ;
int encrypt (char *, int) ;
void endusershell (void) ;
int exect (const char *, char * const *, char * const *) ;
int fchdir (int) ;
int fchown (int, uid_t, gid_t) ;
int fsync (int) ;
int ftruncate (int, off_t) ;
int getdomainname (char *, int) ;
int getdtablesize (void) ;
int getgrouplist (const char *, gid_t, gid_t *, int *) ;
long gethostid (void) ;
int gethostname (char *, int) ;
mode_t getmode (const void *, mode_t) ;
int getpagesize (void) ;
char *getpass (const char *) ;
char *getusershell (void) ;
char *getwd (char *) ;
int initgroups (const char *, int) ;
int iruserok (unsigned long, int, const char *, const char *) ;
int mknod (const char *, mode_t, dev_t) ;
int mkstemp (char *) ;
char *mktemp (char *) ;
int nfssvc (int, void *) ;
int nice (int) ;
void psignal (unsigned int, const char *) ;
extern char *sys_siglist[];
int profil (char *, int, int, int) ;
int rcmd (char **, int, const char *,
const char *, const char *, int *) ;
int readlink (const char *, char *, int) ;
int reboot (int) ;
int revoke (const char *) ;
int rresvport (int *) ;
int ruserok (const char *, int, const char *, const char *) ;
char *sbrk (int) ;
int setdomainname (const char *, int) ;
int setegid (gid_t) ;
int seteuid (uid_t) ;
int setgroups (int, const gid_t *) ;
void sethostid (long) ;
int sethostname (const char *, int) ;
int setkey (const char *) ;
int setlogin (const char *) ;
void *setmode (const char *) ;
int setpgrp (pid_t pid, pid_t pgrp) ;
int setregid (gid_t, gid_t) ;
int setreuid (uid_t, uid_t) ;
int setrgid (gid_t) ;
int setruid (uid_t) ;
void setusershell (void) ;
int swapon (const char *) ;
int symlink (const char *, const char *) ;
void sync (void) ;
int syscall (int, ...) ;
int truncate (const char *, off_t) ;
int ttyslot (void) ;
u_int ualarm (unsigned int, unsigned int) ;
int unwhiteout (const char *) ;
void usleep (unsigned int) ;
void *valloc (size_t) ;
pid_t vfork (void) ;
extern char *suboptarg;
int getsubopt (char **, char * const *, char **) ;
# 42 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c" 2
# 1 "/usr/src/kde2/gcc-2.95.1/gcc/machmode.h" 1
enum machine_mode {
# 1 "/usr/src/kde2/gcc-2.95.1/gcc/machmode.def" 1
VOIDmode ,
PQImode ,
QImode ,
PHImode ,
HImode ,
PSImode ,
SImode ,
PDImode ,
DImode ,
TImode ,
OImode ,
QFmode ,
HFmode ,
TQFmode ,
SFmode ,
DFmode ,
XFmode ,
TFmode ,
QCmode ,
HCmode ,
SCmode ,
DCmode ,
XCmode ,
TCmode ,
CQImode ,
CHImode ,
CSImode ,
CDImode ,
CTImode ,
COImode ,
BLKmode ,
CCmode ,
# 44 "/usr/src/kde2/gcc-2.95.1/gcc/machmode.h" 2
CCFPEQmode ,
MAX_MACHINE_MODE };
extern char *mode_name[];
enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
extern enum mode_class mode_class[];
extern int mode_size[];
extern int mode_unit_size[];
# 116 "/usr/src/kde2/gcc-2.95.1/gcc/machmode.h"
extern unsigned char mode_wider_mode[];
extern enum machine_mode mode_for_size PROTO((unsigned int, enum mode_class, int));
extern enum machine_mode smallest_mode_for_size PROTO((unsigned int,
enum mode_class));
extern enum machine_mode int_mode_for_mode PROTO((enum machine_mode));
extern enum machine_mode get_best_mode PROTO((int, int, int, enum machine_mode, int));
extern enum machine_mode class_narrowest_mode[];
extern enum machine_mode byte_mode;
extern enum machine_mode word_mode;
extern enum machine_mode ptr_mode;
# 45 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c" 2
# 1 "/usr/src/kde2/gcc-2.95.1/gcc/defaults.h" 1
# 40 "/usr/src/kde2/gcc-2.95.1/gcc/defaults.h"
# 96 "/usr/src/kde2/gcc-2.95.1/gcc/defaults.h"
# 119 "/usr/src/kde2/gcc-2.95.1/gcc/defaults.h"
# 46 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c" 2
# 1 "include/stddef.h" 1 3
typedef int ptrdiff_t;
# 187 "include/stddef.h" 3
# 268 "include/stddef.h" 3
typedef unsigned int wint_t;
# 48 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c" 2
typedef unsigned int UQItype __attribute__ ((mode (QI)));
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 float SFtype __attribute__ ((mode (SF)));
typedef float DFtype __attribute__ ((mode (DF)));
typedef float XFtype __attribute__ ((mode (XF)));
typedef int word_type __attribute__ ((mode (__word__)));
struct DIstruct {SItype low, high;};
typedef union
{
struct DIstruct s;
DItype ll;
} DIunion;
extern DItype __fixunssfdi (SFtype a);
extern DItype __fixunsdfdi (DFtype a);
extern DItype __fixunsxfdi (XFtype a);
# 175 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 207 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 237 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 268 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 288 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 306 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 417 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 657 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 685 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 711 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 724 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 753 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 773 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 805 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 815 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 847 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 857 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 889 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 899 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 935 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 945 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 964 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 983 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
DFtype
__floatdidf (DItype u)
{
DFtype d;
d = (SItype) (u >> (sizeof (SItype) * 8 ) );
d *= (((UDItype) 1) << ((sizeof (SItype) * 8 ) / 2)) ;
d *= (((UDItype) 1) << ((sizeof (SItype) * 8 ) / 2)) ;
d += (USItype) (u & ((((UDItype) 1) << (sizeof (SItype) * 8 ) ) - 1));
return d;
}
# 1070 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 1092 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 1114 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 1136 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 1174 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 1402 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 1423 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 2446 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 2459 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 2573 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 2815 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 2898 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 2927 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 3030 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 3989 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
# 4014 "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c"
And here's libgcc2.s
.file "libgcc2.c"
gcc2_compiled.:
___gnu_compiled_c:
.stabs "/usr/local/egcs/gcc/",100,0,0,Ltext0
.stabs "/usr/src/kde2/gcc-2.95.1/gcc/libgcc2.c",100,0,0,Ltext0
.text
Ltext0:
.stabs "int:t1=r1;0020000000000;0017777777777;",128,0,0,0
.stabs "char:t2=r2;0;127;",128,0,0,0
.stabs "long int:t3=r1;0020000000000;0017777777777;",128,0,0,0
.stabs "unsigned int:t4=r1;0000000000000;0037777777777;",128,0,0,0
.stabs "long unsigned int:t5=r1;0000000000000;0037777777777;",128,0,0,0
.stabs "long long int:t6=r1;01000000000000000000000;0777777777777777777777;",128,0,0,0
.stabs "long long unsigned int:t7=r1;0000000000000;01777777777777777777777;",128,0,0,0
.stabs "short int:t8=r8;-32768;32767;",128,0,0,0
.stabs "short unsigned int:t9=r9;0;65535;",128,0,0,0
.stabs "signed char:t10=r10;-128;127;",128,0,0,0
.stabs "unsigned char:t11=r11;0;255;",128,0,0,0
.stabs "float:t12=r1;4;0;",128,0,0,0
.stabs "double:t13=r1;8;0;",128,0,0,0
.stabs "long double:t14=r1;12;0;",128,0,0,0
.stabs "complex int:t15=s8real:1,0,32;imag:1,32,32;;",128,0,0,0
.stabs "complex float:t16=r16;4;0;",128,0,0,0
.stabs "complex double:t17=r17;8;0;",128,0,0,0
.stabs "complex long double:t18=r18;12;0;",128,0,0,0
.stabs "void:t19=19",128,0,0,0
.stabs "processor_costs:T20=s28add:1,0,32;lea:1,32,32;\\",128,0,0,0
.stabs "shift_var:1,64,32;shift_const:1,96,32;mult_init:1,128,32;\\",128,0,0,0
.stabs "mult_bit:1,160,32;divide:1,192,32;;",128,0,0,0
.stabs "processor_type:T21=ePROCESSOR_I386:0,PROCESSOR_I486:1,\\",128,0,0,0
.stabs "PROCESSOR_PENTIUM:2,PROCESSOR_PENTIUMPRO:3,PROCESSOR_K6:4,;",128,0,0,0
.stabs "reg_class:T22=eNO_REGS:0,AREG:1,DREG:2,\\",128,0,0,0
.stabs "CREG:3,BREG:4,AD_REGS:5,Q_REGS:6,\\",128,0,0,0
.stabs "SIREG:7,DIREG:8,INDEX_REGS:9,GENERAL_REGS:10,\\",128,0,0,0
.stabs "FP_TOP_REG:11,FP_SECOND_REG:12,FLOAT_REGS:13,\\",128,0,0,0
.stabs "ALL_REGS:14,LIM_REG_CLASSES:15,;",128,0,0,0
.stabs "i386_args:T23=s12words:1,0,32;nregs:1,32,32;\\",128,0,0,0
.stabs "regno:1,64,32;;",128,0,0,0
.stabs "CUMULATIVE_ARGS:t24=23",128,0,1098,0
.stabs "size_t:t25=4",128,0,46,0
.stabs "rune_t:t26=1",128,0,53,0
.stabs "wchar_t:t27=1",128,0,55,0
.stabs "div_t:t28=29=s8quot:1,0,32;rem:1,32,32;;",128,0,62,0
.stabs "ldiv_t:t30=31=s8quot:3,0,32;rem:3,32,32;;",128,0,67,0
.stabs "vm_offset_t:t32=5",128,0,41,0
.stabs "vm_size_t:t33=5",128,0,42,0
.stabs "int8_t:t34=10",128,0,48,0
.stabs "u_int8_t:t35=11",128,0,49,0
.stabs "int16_t:t36=8",128,0,50,0
.stabs "u_int16_t:t37=9",128,0,51,0
.stabs "int32_t:t38=1",128,0,52,0
.stabs "u_int32_t:t39=4",128,0,53,0
.stabs "int64_t:t40=6",128,0,56,0
.stabs "u_int64_t:t41=7",128,0,57,0
.stabs "int8m_t:t42=10",128,0,63,0
.stabs "u_int8m_t:t43=11",128,0,64,0
.stabs "int16m_t:t44=8",128,0,65,0
.stabs "u_int16m_t:t45=9",128,0,66,0
.stabs "int32m_t:t46=1",128,0,67,0
.stabs "u_int32m_t:t47=4",128,0,68,0
.stabs "int64m_t:t48=6",128,0,71,0
.stabs "u_int64m_t:t49=7",128,0,72,0
.stabs "register_t:t50=38",128,0,75,0
.stabs "u_long:t51=5",128,0,51,0
.stabs "u_int:t52=4",128,0,52,0
.stabs "u_short:t53=9",128,0,53,0
.stabs "u_char:t54=11",128,0,54,0
.stabs "uint:t55=4",128,0,55,0
.stabs "ushort:t56=9",128,0,56,0
.stabs "u_quad_t:t57=41",128,0,59,0
.stabs "quad_t:t58=40",128,0,60,0
.stabs "qaddr_t:t59=60=*58",128,0,61,0
.stabs "caddr_t:t61=62=*2",128,0,67,0
.stabs "daddr_t:t63=3",128,0,68,0
.stabs "dev_t:t64=5",128,0,69,0
.stabs "fixpt_t:t65=5",128,0,70,0
.stabs "gid_t:t66=4",128,0,71,0
.stabs "ino_t:t67=5",128,0,72,0
.stabs "key_t:t68=3",128,0,73,0
.stabs "mode_t:t69=45",128,0,74,0
.stabs "nlink_t:t70=45",128,0,75,0
.stabs "off_t:t71=58",128,0,76,0
.stabs "pid_t:t72=1",128,0,77,0
.stabs "segsz_t:t73=3",128,0,78,0
.stabs "swblk_t:t74=3",128,0,79,0
.stabs "uid_t:t75=4",128,0,80,0
.stabs "clock_t:t76=5",128,0,106,0
.stabs "ssize_t:t77=1",128,0,119,0
.stabs "time_t:t78=3",128,0,124,0
.stabs "fd_mask:t79=3",128,0,59,0
.stabs "fd_set:T80=s32fds_bits:81=ar1;0;7;79,0,256;;",128,0,0,0
.stabs "fd_set:t82=80",128,0,64,0
.stabs "selinfo:T83=s8si_pid:72,0,32;si_flags:8,32,16;;",128,0,0,0
.stabs "sigset_t:t84=4",128,0,10,0
.stabs "machine_mode:T85=eVOIDmode:0,PQImode:1,QImode:2,\\",128,0,0,0
.stabs "PHImode:3,HImode:4,PSImode:5,SImode:6,\\",128,0,0,0
.stabs "PDImode:7,DImode:8,TImode:9,OImode:10,\\",128,0,0,0
.stabs "QFmode:11,HFmode:12,TQFmode:13,SFmode:14,\\",128,0,0,0
.stabs "DFmode:15,XFmode:16,TFmode:17,QCmode:18,\\",128,0,0,0
.stabs "HCmode:19,SCmode:20,DCmode:21,XCmode:22,\\",128,0,0,0
.stabs "TCmode:23,CQImode:24,CHImode:25,CSImode:26,\\",128,0,0,0
.stabs "CDImode:27,CTImode:28,COImode:29,\\",128,0,0,0
.stabs "BLKmode:30,CCmode:31,CCFPEQmode:32,\\",128,0,0,0
.stabs "MAX_MACHINE_MODE:33,;",128,0,0,0
.stabs "mode_class:T86=eMODE_RANDOM:0,MODE_INT:1,MODE_FLOAT:2,\\",128,0,0,0
.stabs "MODE_PARTIAL_INT:3,MODE_CC:4,MODE_COMPLEX_INT:5,\\",128,0,0,0
.stabs "MODE_COMPLEX_FLOAT:6,MAX_MODE_CLASS:7,;",128,0,0,0
.stabs "ptrdiff_t:t87=1",128,0,118,0
.stabs "wint_t:t88=4",128,0,280,0
.stabs "UQItype:t89=11",128,0,88,0
.stabs "SItype:t90=1",128,0,89,0
.stabs "USItype:t91=4",128,0,90,0
.stabs "DItype:t92=6",128,0,91,0
.stabs "UDItype:t93=7",128,0,92,0
.stabs "SFtype:t94=12",128,0,94,0
.stabs "DFtype:t95=13",128,0,95,0
.stabs "XFtype:t96=14",128,0,98,0
.stabs "word_type:t97=1",128,0,104,0
.stabs "DIstruct:T98=s8low:90,0,32;high:90,32,32;;",128,0,0,0
.stabs "DIunion:t99=100=u8s:98,0,64;ll:92,0,64;;",128,0,139,0
.align 3,0x90
LC0:
.long 0x0,0x40f00000
.align 2,0x90
.globl ___floatdidf
___floatdidf:
pushl %ebp
movl %esp,%ebp
fldl LC0
fld %st(0)
fimull 12(%ebp)
fmulp %st,%st(1)
movl 8(%ebp),%eax
xorl %edx,%edx
pushl %edx
pushl %eax
fildq (%esp)
addl $8,%esp
leave
faddp %st,%st(1)
ret
.stabs "__floatdidf:F95",36,0,992,___floatdidf
.stabs "u:p92",160,0,991,8