Target: armv5te-linux-gnueabi Configured with: ../src/configure -v --enable-languages=c,c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/armv5te-linux-gnueabi/include/c++/4.1.0 --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --with-cpu=arm926ej-s --with-tune=arm10tdmi --with-float=softfp --with-fpu=vfp --enable-checking=release --program-prefix=armv5te-linux-gnueabi- --includedir=/usr/armv5te-linux-gnueabi/include --build=i486-linux-gnu --host=i486-linux-gnu --target=armv5te-linux-gnueabi Thread model: posix gcc version 4.1.0 Bug: libquicktime-0.9.7-0.4$ (cd plugins/opendivx/encore50/; armv5te-linux-gnueabi-gcc-4.1 -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../include/quicktime -O3 -funroll-all-loops -fomit-frame-pointer -finline-functions -Wall -Winline -MT text_code_mb.lo -MD -MP -MF .deps/text_code_mb.Tpo -c text_code_mb.c -fPIC -DPIC -o .libs/text_code_mb.o) text_code_mb.c: In function 'CodeMB': text_code_mb.c:233: error: unrecognizable insn: (insn 1773 1770 1772 50 (set (reg:HI 12 ip) (mem:HI (plus:SI (mult:SI (reg:SI 11 fp [orig:138 ivtmp.674 ] [138]) (const_int 2 [0x2])) (reg/v/f:SI 8 r8 [orig:154 rcoeff_ind ] [154])) [3 S4 A32])) -1 (nil) (nil)) text_code_mb.c:233: internal compiler error: in extract_insn, at recog.c:2084 Note: the same file can be compiled with -O1 (but not with -O2), or it can be compiled with -O3 but not with -funroll-all-loops. Some buffer overflow maybe? Pre-processed source (relevant bit only): Void CodeMB(Vop *curr, Vop *rec_curr, Vop *comp, Int x_pos, Int y_pos, UInt width, Int QP, Int Mode, Int *qcoeff) { Int k; Int fblock[6][8][8]; Int coeff[384]; Int *coeff_ind; Int *qcoeff_ind; Int* rcoeff_ind; Int x=0, y=0; SInt *current=((void *)0), *recon, *compensated = ((void *)0); UInt xwidth=0; Int iblock[6][8][8]; Int rcoeff[6*64]; Int i, j; Int type; SInt tmp[64]; Int s; int operation = curr->prediction_type; Int max = GetVopBrightWhite(curr); coeff_ind = coeff; qcoeff_ind = qcoeff; rcoeff_ind = rcoeff; for (k = 0; k < 6; k++) { switch (k) { case 0: x = x_pos; y = y_pos; xwidth = width; current = (SInt *) GetImageData (GetVopY (curr)); break; case 1: x = x_pos + 8; y = y_pos; xwidth = width; current = (SInt *) GetImageData (GetVopY (curr)); break; case 2: x = x_pos; y = y_pos + 8; xwidth = width; current = (SInt *) GetImageData (GetVopY (curr)); break; case 3: x = x_pos + 8; y = y_pos + 8; xwidth = width; current = (SInt *) GetImageData (GetVopY (curr)); break; case 4: x = x_pos / 2; y = y_pos / 2; xwidth = width / 2; current = (SInt *) GetImageData (GetVopU (curr)); break; case 5: x = x_pos / 2; y = y_pos / 2; xwidth = width / 2; current = (SInt *) GetImageData (GetVopV (curr)); break; default: break; } BlockPredict (current, x, y, xwidth, fblock[k]); } for (k = 0; k < 6; k++) { s = 0; for (i = 0; i < 8; i++) for (j = 0; j < 8; j++) tmp[s++] = (SInt) fblock[k][i][j]; fdct_enc(tmp); for (s = 0; s < 64; s++) coeff_ind[s] = (Int) tmp[s]; if (k < 4) type = 1; else type = 2; BlockQuantH263(coeff_ind,QP,Mode,type,qcoeff_ind, GetVopBrightWhite(curr),1); BlockDequantH263(qcoeff_ind,QP,Mode,type,rcoeff_ind,1, 0, GetVopBitsPerPixel(curr)); for (s = 0; s < 64; s++) tmp[s] = (SInt) rcoeff_ind[s]; idct_enc(tmp); s = 0; for (i = 0; i < 8; i++) for (j = 0; j < 8; j++) iblock[k][i][j] = (Int)tmp[s++]; coeff_ind += 64; qcoeff_ind += 64; rcoeff_ind += 64; if (Mode == 0||Mode==2) for (i = 0; i < 8; i++) for (j = 0; j < 8; j ++) iblock[k][i][j] = (((GetVopBrightWhite(curr)) < ((((0) > (iblock[k][i][j])) ? (0) : (iblock[k][i][j])))) ? (GetVopBrightWhite(curr)) : ((((0) > (iblock[k][i][j])) ? (0) : (iblock[k][i][j])))); switch (k) { case 0: case 1: case 2: continue; case 3: recon = (SInt *) GetImageData (GetVopY (rec_curr)); if (operation == 1) compensated = (SInt *) GetImageData (GetVopY (comp)); BlockRebuild (recon, compensated, operation, max, x_pos, y_pos, width, 16, iblock[0]); BlockRebuild (recon, compensated, operation, max, x_pos + 8, y_pos, width, 16, iblock[1]); BlockRebuild (recon, compensated, operation, max, x_pos, y_pos + 8, width, 16, iblock[2]); BlockRebuild (recon, compensated, operation, max, x_pos + 8, y_pos + 8, width, 16, iblock[3]); continue; case 4: recon = (SInt *) GetImageData (GetVopU (rec_curr)); if (operation == 1) compensated = (SInt *) GetImageData (GetVopU (comp)); BlockRebuild (recon, compensated, operation, max, x_pos/2, y_pos/2, width/2, 8, iblock[4]); continue; case 5: recon = (SInt *) GetImageData (GetVopV (rec_curr)); if (operation == 1) compensated = (SInt *) GetImageData (GetVopV (comp)); BlockRebuild (recon, compensated, operation, max, x_pos/2, y_pos/2, width/2, 8, iblock[5]); continue; } } return; }
The testcase doesn't compile. Please attach a full, *compilable*, example of the program that shows the bug.
Subject: Re: armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c Here it is. Compile with: FAILS: armv5te-linux-gnueabi-gcc-4.1 -O3 -funroll-all-loops -fomit-frame-pointer -Wall -Winline -c /tmp/text_code_mb.E.c -fPIC -o /tmp/text_code_mb.o armv5te-linux-gnueabi-gcc-4.1 -O2 -funroll-all-loops -fomit-frame-pointer -Wall -Winline -c /tmp/text_code_mb.E.c -fPIC -o /tmp/text_code_mb.o OK: armv5te-linux-gnueabi-gcc-4.1 -O1 -funroll-all-loops -fomit-frame-pointer -Wall -Winline -c /tmp/text_code_mb.E.c -fPIC -o /tmp/text_code_mb.o armv5te-linux-gnueabi-gcc-4.1 -O2 -fomit-frame-pointer -Wall -Winline -c /tmp/text_code_mb.E.c -fPIC -o /tmp/text_code_mb.o armv5te-linux-gnueabi-gcc-4.1 -O3 -fomit-frame-pointer -Wall -Winline -c /tmp/text_code_mb.E.c -fPIC -o /tmp/text_code_mb.o OK: arm-linux-gnueabi-gcc-4.1 -O3 -funroll-all-loops -fomit-frame-pointer -Wall -Winline -c /tmp/text_code_mb.E.c -fPIC -o /tmp/text_code_mb.o armv4-linux-gnueabi-gcc-4.1 -O3 -funroll-all-loops -fomit-frame-pointer -Wall -Winline -c /tmp/text_code_mb.E.c -fPIC -o /tmp/text_code_mb.o armv5te-linux-gnu-gcc-4.1 -O3 -funroll-all-loops -fomit-frame-pointer -Wall -Winline -c /tmp/text_code_mb.E.c -fPIC -o /tmp/text_code_mb.o gcc-4.1 -O3 -funroll-all-loops -fomit-frame-pointer -Wall -Winline -c /tmp/text_code_mb.E.c -fPIC -o /tmp/text_code_mb.o So, the killing combination is: armv5te (arm926te-j, softfp, vfp) + EABI + "-O[23] -funroll-all-loops" rearnsha at gcc dot gnu dot org wrote: >------- Comment #1 from rearnsha at gcc dot gnu dot org 2006-04-24 12:49 ------- >The testcase doesn't compile. Please attach a full, *compilable*, example of >the program that shows the bug. > > > > # 1 "text_code_mb.c" # 1 "<built-in>" # 1 "<command line>" # 1 "text_code_mb.c" # 41 "text_code_mb.c" # 1 "text_code.h" 1 # 1 "momusys.h" 1 # 1 "non_unix.h" 1 # 1 "momusys.h" 1 # 7 "non_unix.h" 2 # 9 "momusys.h" 2 # 1 "/usr/armv5te-linux-gnueabi/include/stdio.h" 1 3 4 # 28 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/features.h" 1 3 4 # 323 "/usr/armv5te-linux-gnueabi/include/features.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/sys/cdefs.h" 1 3 4 # 313 "/usr/armv5te-linux-gnueabi/include/sys/cdefs.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/wordsize.h" 1 3 4 # 314 "/usr/armv5te-linux-gnueabi/include/sys/cdefs.h" 2 3 4 # 324 "/usr/armv5te-linux-gnueabi/include/features.h" 2 3 4 # 346 "/usr/armv5te-linux-gnueabi/include/features.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/gnu/stubs.h" 1 3 4 # 347 "/usr/armv5te-linux-gnueabi/include/features.h" 2 3 4 # 29 "/usr/armv5te-linux-gnueabi/include/stdio.h" 2 3 4 # 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4 # 214 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 3 4 typedef unsigned int size_t; # 35 "/usr/armv5te-linux-gnueabi/include/stdio.h" 2 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/types.h" 1 3 4 # 28 "/usr/armv5te-linux-gnueabi/include/bits/types.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/wordsize.h" 1 3 4 # 29 "/usr/armv5te-linux-gnueabi/include/bits/types.h" 2 3 4 # 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4 # 32 "/usr/armv5te-linux-gnueabi/include/bits/types.h" 2 3 4 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; __extension__ typedef signed long long int __int64_t; __extension__ typedef unsigned long long int __uint64_t; __extension__ typedef long long int __quad_t; __extension__ typedef unsigned long long int __u_quad_t; # 134 "/usr/armv5te-linux-gnueabi/include/bits/types.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/typesizes.h" 1 3 4 # 135 "/usr/armv5te-linux-gnueabi/include/bits/types.h" 2 3 4 __extension__ typedef __u_quad_t __dev_t; __extension__ typedef unsigned int __uid_t; __extension__ typedef unsigned int __gid_t; __extension__ typedef unsigned long int __ino_t; __extension__ typedef __u_quad_t __ino64_t; __extension__ typedef unsigned int __mode_t; __extension__ typedef unsigned int __nlink_t; __extension__ typedef long int __off_t; __extension__ typedef __quad_t __off64_t; __extension__ typedef int __pid_t; __extension__ typedef struct { int __val[2]; } __fsid_t; __extension__ typedef long int __clock_t; __extension__ typedef unsigned long int __rlim_t; __extension__ typedef __u_quad_t __rlim64_t; __extension__ typedef unsigned int __id_t; __extension__ typedef long int __time_t; __extension__ typedef unsigned int __useconds_t; __extension__ typedef long int __suseconds_t; __extension__ typedef int __daddr_t; __extension__ typedef long int __swblk_t; __extension__ typedef int __key_t; __extension__ typedef int __clockid_t; __extension__ typedef void * __timer_t; __extension__ typedef long int __blksize_t; __extension__ typedef long int __blkcnt_t; __extension__ typedef __quad_t __blkcnt64_t; __extension__ typedef unsigned long int __fsblkcnt_t; __extension__ typedef __u_quad_t __fsblkcnt64_t; __extension__ typedef unsigned long int __fsfilcnt_t; __extension__ typedef __u_quad_t __fsfilcnt64_t; __extension__ typedef int __ssize_t; typedef __off64_t __loff_t; typedef __quad_t *__qaddr_t; typedef char *__caddr_t; __extension__ typedef int __intptr_t; __extension__ typedef unsigned int __socklen_t; # 37 "/usr/armv5te-linux-gnueabi/include/stdio.h" 2 3 4 typedef struct _IO_FILE FILE; # 62 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 typedef struct _IO_FILE __FILE; # 72 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/libio.h" 1 3 4 # 32 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/_G_config.h" 1 3 4 # 14 "/usr/armv5te-linux-gnueabi/include/_G_config.h" 3 4 # 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4 # 326 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 3 4 typedef unsigned int wchar_t; # 355 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 3 4 typedef unsigned int wint_t; # 15 "/usr/armv5te-linux-gnueabi/include/_G_config.h" 2 3 4 # 24 "/usr/armv5te-linux-gnueabi/include/_G_config.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/wchar.h" 1 3 4 # 48 "/usr/armv5te-linux-gnueabi/include/wchar.h" 3 4 # 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4 # 49 "/usr/armv5te-linux-gnueabi/include/wchar.h" 2 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/wchar.h" 1 3 4 # 51 "/usr/armv5te-linux-gnueabi/include/wchar.h" 2 3 4 # 76 "/usr/armv5te-linux-gnueabi/include/wchar.h" 3 4 typedef struct { int __count; union { wint_t __wch; char __wchb[4]; } __value; } __mbstate_t; # 25 "/usr/armv5te-linux-gnueabi/include/_G_config.h" 2 3 4 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 44 "/usr/armv5te-linux-gnueabi/include/_G_config.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/gconv.h" 1 3 4 # 28 "/usr/armv5te-linux-gnueabi/include/gconv.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/wchar.h" 1 3 4 # 48 "/usr/armv5te-linux-gnueabi/include/wchar.h" 3 4 # 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4 # 49 "/usr/armv5te-linux-gnueabi/include/wchar.h" 2 3 4 # 29 "/usr/armv5te-linux-gnueabi/include/gconv.h" 2 3 4 # 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4 # 32 "/usr/armv5te-linux-gnueabi/include/gconv.h" 2 3 4 enum { __GCONV_OK = 0, __GCONV_NOCONV, __GCONV_NODB, __GCONV_NOMEM, __GCONV_EMPTY_INPUT, __GCONV_FULL_OUTPUT, __GCONV_ILLEGAL_INPUT, __GCONV_INCOMPLETE_INPUT, __GCONV_ILLEGAL_DESCRIPTOR, __GCONV_INTERNAL_ERROR }; enum { __GCONV_IS_LAST = 0x0001, __GCONV_IGNORE_ERRORS = 0x0002 }; struct __gconv_step; struct __gconv_step_data; struct __gconv_loaded_object; struct __gconv_trans_data; typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *, int, int); typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); typedef int (*__gconv_init_fct) (struct __gconv_step *); typedef void (*__gconv_end_fct) (struct __gconv_step *); typedef int (*__gconv_trans_fct) (struct __gconv_step *, struct __gconv_step_data *, void *, __const unsigned char *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *); typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, __const unsigned char *, unsigned char *, unsigned char *); typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, size_t *); typedef int (*__gconv_trans_init_fct) (void **, const char *); typedef void (*__gconv_trans_end_fct) (void *); struct __gconv_trans_data { __gconv_trans_fct __trans_fct; __gconv_trans_context_fct __trans_context_fct; __gconv_trans_end_fct __trans_end_fct; void *__data; struct __gconv_trans_data *__next; }; struct __gconv_step { struct __gconv_loaded_object *__shlib_handle; __const char *__modname; int __counter; char *__from_name; char *__to_name; __gconv_fct __fct; __gconv_btowc_fct __btowc_fct; __gconv_init_fct __init_fct; __gconv_end_fct __end_fct; int __min_needed_from; int __max_needed_from; int __min_needed_to; int __max_needed_to; int __stateful; void *__data; }; struct __gconv_step_data { unsigned char *__outbuf; unsigned char *__outbufend; int __flags; int __invocation_counter; int __internal_use; __mbstate_t *__statep; __mbstate_t __state; struct __gconv_trans_data *__trans; }; typedef struct __gconv_info { size_t __nsteps; struct __gconv_step *__steps; __extension__ struct __gconv_step_data __data []; } *__gconv_t; # 45 "/usr/armv5te-linux-gnueabi/include/_G_config.h" 2 3 4 typedef union { struct __gconv_info __cd; struct { struct __gconv_info __cd; struct __gconv_step_data __data; } __combined; } _G_iconv_t; typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); # 33 "/usr/armv5te-linux-gnueabi/include/libio.h" 2 3 4 # 53 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4 # 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stdarg.h" 1 3 4 # 43 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 54 "/usr/armv5te-linux-gnueabi/include/libio.h" 2 3 4 # 166 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4 struct _IO_jump_t; struct _IO_FILE; # 176 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4 typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 199 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4 }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; # 267 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4 struct _IO_FILE { int _flags; char* _IO_read_ptr; char* _IO_read_end; char* _IO_read_base; char* _IO_write_base; char* _IO_write_ptr; char* _IO_write_end; char* _IO_buf_base; char* _IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _flags2; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; # 315 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4 __off64_t _offset; # 324 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4 void *__pad1; void *__pad2; void *__pad3; void *__pad4; size_t __pad5; int _mode; char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; }; typedef struct _IO_FILE _IO_FILE; struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_2_1_stdin_; extern struct _IO_FILE_plus _IO_2_1_stdout_; extern struct _IO_FILE_plus _IO_2_1_stderr_; # 360 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, size_t __n); typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); typedef int __io_close_fn (void *__cookie); # 412 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4 extern int __underflow (_IO_FILE *) __attribute__ ((__nothrow__)); extern int __uflow (_IO_FILE *) __attribute__ ((__nothrow__)); extern int __overflow (_IO_FILE *, int) __attribute__ ((__nothrow__)); extern wint_t __wunderflow (_IO_FILE *) __attribute__ ((__nothrow__)); extern wint_t __wuflow (_IO_FILE *) __attribute__ ((__nothrow__)); extern wint_t __woverflow (_IO_FILE *, wint_t) __attribute__ ((__nothrow__)); # 450 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4 extern int _IO_getc (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_putc (int __c, _IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_peekc_locked (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__)); extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__)); extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__)); # 480 "/usr/armv5te-linux-gnueabi/include/libio.h" 3 4 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict); extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list); extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) __attribute__ ((__nothrow__)); extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) __attribute__ ((__nothrow__)); extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) __attribute__ ((__nothrow__)); extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) __attribute__ ((__nothrow__)); extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__)); # 73 "/usr/armv5te-linux-gnueabi/include/stdio.h" 2 3 4 # 86 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 typedef _G_fpos_t fpos_t; # 138 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/stdio_lim.h" 1 3 4 # 139 "/usr/armv5te-linux-gnueabi/include/stdio.h" 2 3 4 extern struct _IO_FILE *stdin; extern struct _IO_FILE *stdout; extern struct _IO_FILE *stderr; extern int remove (__const char *__filename) __attribute__ ((__nothrow__)); extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__)); extern FILE *tmpfile (void); # 183 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)); extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)); # 201 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 extern char *tempnam (__const char *__dir, __const char *__pfx) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); extern int fclose (FILE *__stream); extern int fflush (FILE *__stream); # 226 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 extern int fflush_unlocked (FILE *__stream); # 240 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes); extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream); # 267 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 # 278 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)); # 304 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__)); extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) __attribute__ ((__nothrow__)); extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) __attribute__ ((__nothrow__)); extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__)); extern int fprintf (FILE *__restrict __stream, __const char *__restrict __format, ...); extern int printf (__const char *__restrict __format, ...); extern int sprintf (char *__restrict __s, __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg); extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); extern int vsprintf (char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)); extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); # 398 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) ; extern int scanf (__const char *__restrict __format, ...) ; extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); # 440 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); # 464 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 475 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 extern int fgetc_unlocked (FILE *__stream); extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 508 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 extern int fputc_unlocked (int __c, FILE *__stream); extern int putc_unlocked (int __c, FILE *__stream); extern int putchar_unlocked (int __c); extern int getw (FILE *__stream); extern int putw (int __w, FILE *__stream); extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) ; extern char *gets (char *__s) ; # 589 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); extern int puts (__const char *__s); extern int ungetc (int __c, FILE *__stream); extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s) ; # 642 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream) ; extern void rewind (FILE *__stream); # 678 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 extern int fseeko (FILE *__stream, __off_t __off, int __whence); extern __off_t ftello (FILE *__stream) ; # 697 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); extern int fsetpos (FILE *__stream, __const fpos_t *__pos); # 720 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 # 729 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__)); extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ; extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ; extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__)); extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; extern void perror (__const char *__s); # 1 "/usr/armv5te-linux-gnueabi/include/bits/sys_errlist.h" 1 3 4 # 27 "/usr/armv5te-linux-gnueabi/include/bits/sys_errlist.h" 3 4 extern int sys_nerr; extern __const char *__const sys_errlist[]; # 759 "/usr/armv5te-linux-gnueabi/include/stdio.h" 2 3 4 extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ; extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; # 778 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 extern FILE *popen (__const char *__command, __const char *__modes) ; extern int pclose (FILE *__stream); extern char *ctermid (char *__s) __attribute__ ((__nothrow__)); # 818 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__)); extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ; extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__)); # 839 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/stdio.h" 1 3 4 # 33 "/usr/armv5te-linux-gnueabi/include/bits/stdio.h" 3 4 extern __inline int vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) { return vfprintf (stdout, __fmt, __arg); } extern __inline int getchar (void) { return _IO_getc (stdin); } extern __inline int getc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline int getchar_unlocked (void) { return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); } extern __inline int putchar (int __c) { return _IO_putc (__c, stdout); } extern __inline int fputc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline int putc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline int putchar_unlocked (int __c) { return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); } # 111 "/usr/armv5te-linux-gnueabi/include/bits/stdio.h" 3 4 extern __inline int __attribute__ ((__nothrow__)) feof_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x10) != 0); } extern __inline int __attribute__ ((__nothrow__)) ferror_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x20) != 0); } # 840 "/usr/armv5te-linux-gnueabi/include/stdio.h" 2 3 4 # 848 "/usr/armv5te-linux-gnueabi/include/stdio.h" 3 4 # 17 "momusys.h" 2 # 1 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 1 3 4 # 33 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4 # 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4 # 34 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 2 3 4 # 96 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; # 140 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ; extern double atof (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern int atoi (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern long int atol (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int atoll (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 182 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4 extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 279 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4 extern double __strtod_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern float __strtof_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern long double __strtold_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern long int __strtol_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int __strtoll_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int __strtoull_internal (__const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern __inline double __attribute__ ((__nothrow__)) strtod (__const char *__restrict __nptr, char **__restrict __endptr) { return __strtod_internal (__nptr, __endptr, 0); } extern __inline long int __attribute__ ((__nothrow__)) strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtol_internal (__nptr, __endptr, __base, 0); } extern __inline unsigned long int __attribute__ ((__nothrow__)) strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoul_internal (__nptr, __endptr, __base, 0); } # 364 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4 __extension__ extern __inline long long int __attribute__ ((__nothrow__)) strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int __attribute__ ((__nothrow__)) strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoull_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline long long int __attribute__ ((__nothrow__)) strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int __attribute__ ((__nothrow__)) strtoull (__const char * __restrict __nptr, char **__restrict __endptr, int __base) { return __strtoull_internal (__nptr, __endptr, __base, 0); } extern __inline double __attribute__ ((__nothrow__)) atof (__const char *__nptr) { return strtod (__nptr, (char **) ((void *)0)); } extern __inline int __attribute__ ((__nothrow__)) atoi (__const char *__nptr) { return (int) strtol (__nptr, (char **) ((void *)0), 10); } extern __inline long int __attribute__ ((__nothrow__)) atol (__const char *__nptr) { return strtol (__nptr, (char **) ((void *)0), 10); } __extension__ extern __inline long long int __attribute__ ((__nothrow__)) atoll (__const char *__nptr) { return strtoll (__nptr, (char **) ((void *)0), 10); } # 429 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4 extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ; extern long int a64l (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; # 1 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 1 3 4 # 29 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 3 4 typedef __u_char u_char; typedef __u_short u_short; typedef __u_int u_int; typedef __u_long u_long; typedef __quad_t quad_t; typedef __u_quad_t u_quad_t; typedef __fsid_t fsid_t; typedef __loff_t loff_t; typedef __ino_t ino_t; # 62 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 3 4 typedef __dev_t dev_t; typedef __gid_t gid_t; typedef __mode_t mode_t; typedef __nlink_t nlink_t; typedef __uid_t uid_t; typedef __off_t off_t; # 100 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 3 4 typedef __pid_t pid_t; typedef __id_t id_t; typedef __ssize_t ssize_t; typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 133 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/time.h" 1 3 4 # 75 "/usr/armv5te-linux-gnueabi/include/time.h" 3 4 typedef __time_t time_t; # 93 "/usr/armv5te-linux-gnueabi/include/time.h" 3 4 typedef __clockid_t clockid_t; # 105 "/usr/armv5te-linux-gnueabi/include/time.h" 3 4 typedef __timer_t timer_t; # 134 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 2 3 4 # 147 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 3 4 # 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4 # 148 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 195 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 3 4 typedef int int8_t __attribute__ ((__mode__ (__QI__))); typedef int int16_t __attribute__ ((__mode__ (__HI__))); typedef int int32_t __attribute__ ((__mode__ (__SI__))); typedef int int64_t __attribute__ ((__mode__ (__DI__))); typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); typedef int register_t __attribute__ ((__mode__ (__word__))); # 217 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/endian.h" 1 3 4 # 37 "/usr/armv5te-linux-gnueabi/include/endian.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/endian.h" 1 3 4 # 38 "/usr/armv5te-linux-gnueabi/include/endian.h" 2 3 4 # 218 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 2 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 1 3 4 # 31 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/select.h" 1 3 4 # 32 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 2 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/sigset.h" 1 3 4 # 23 "/usr/armv5te-linux-gnueabi/include/bits/sigset.h" 3 4 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 35 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 2 3 4 typedef __sigset_t sigset_t; # 1 "/usr/armv5te-linux-gnueabi/include/time.h" 1 3 4 # 121 "/usr/armv5te-linux-gnueabi/include/time.h" 3 4 struct timespec { __time_t tv_sec; long int tv_nsec; }; # 45 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 2 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/time.h" 1 3 4 # 69 "/usr/armv5te-linux-gnueabi/include/bits/time.h" 3 4 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 47 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 2 3 4 typedef __suseconds_t suseconds_t; typedef long int __fd_mask; # 67 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 3 4 typedef struct { __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 99 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 3 4 # 109 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 3 4 extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); # 121 "/usr/armv5te-linux-gnueabi/include/sys/select.h" 3 4 extern int pselect (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, const struct timespec *__restrict __timeout, const __sigset_t *__restrict __sigmask); # 221 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 2 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/sys/sysmacros.h" 1 3 4 # 29 "/usr/armv5te-linux-gnueabi/include/sys/sysmacros.h" 3 4 __extension__ extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) __attribute__ ((__nothrow__)); __extension__ extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) __attribute__ ((__nothrow__)); __extension__ extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) __attribute__ ((__nothrow__)); __extension__ extern __inline unsigned int __attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev) { return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); } __extension__ extern __inline unsigned int __attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev) { return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); } __extension__ extern __inline unsigned long long int __attribute__ ((__nothrow__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor) { return ((__minor & 0xff) | ((__major & 0xfff) << 8) | (((unsigned long long int) (__minor & ~0xff)) << 12) | (((unsigned long long int) (__major & ~0xfff)) << 32)); } # 224 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 2 3 4 # 235 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 3 4 typedef __blkcnt_t blkcnt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; # 270 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/pthreadtypes.h" 1 3 4 # 36 "/usr/armv5te-linux-gnueabi/include/bits/pthreadtypes.h" 3 4 typedef unsigned long int pthread_t; typedef union { char __size[36]; long int __align; } pthread_attr_t; typedef struct __pthread_internal_slist { struct __pthread_internal_slist *__next; } __pthread_slist_t; typedef union { struct __pthread_mutex_s { int __lock; unsigned int __count; int __owner; int __kind; unsigned int __nusers; __extension__ union { int __spins; __pthread_slist_t __list; }; } __data; char __size[24]; long int __align; } pthread_mutex_t; typedef union { char __size[4]; long int __align; } pthread_mutexattr_t; typedef union { struct { int __lock; unsigned int __futex; __extension__ unsigned long long int __total_seq; __extension__ unsigned long long int __wakeup_seq; __extension__ unsigned long long int __woken_seq; void *__mutex; unsigned int __nwaiters; unsigned int __broadcast_seq; } __data; char __size[48]; __extension__ long long int __align; } pthread_cond_t; typedef union { char __size[4]; long int __align; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef int pthread_once_t; typedef union { struct { int __lock; unsigned int __nr_readers; unsigned int __readers_wakeup; unsigned int __writer_wakeup; unsigned int __nr_readers_queued; unsigned int __nr_writers_queued; unsigned int __flags; int __writer; } __data; char __size[32]; long int __align; } pthread_rwlock_t; typedef union { char __size[8]; long int __align; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef union { char __size[20]; long int __align; } pthread_barrier_t; typedef union { char __size[4]; int __align; } pthread_barrierattr_t; # 271 "/usr/armv5te-linux-gnueabi/include/sys/types.h" 2 3 4 # 439 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 2 3 4 extern long int random (void) __attribute__ ((__nothrow__)); extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__)); extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int srandom_r (unsigned int __seed, struct random_data *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))); extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int rand (void) __attribute__ ((__nothrow__)); extern void srand (unsigned int __seed) __attribute__ ((__nothrow__)); extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__)); extern double drand48 (void) __attribute__ ((__nothrow__)); extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int lrand48 (void) __attribute__ ((__nothrow__)); extern long int nrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int mrand48 (void) __attribute__ ((__nothrow__)); extern long int jrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void srand48 (long int __seedval) __attribute__ ((__nothrow__)); extern unsigned short int *seed48 (unsigned short int __seed16v[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int srand48_r (long int __seedval, struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern void free (void *__ptr) __attribute__ ((__nothrow__)); extern void cfree (void *__ptr) __attribute__ ((__nothrow__)); # 1 "/usr/armv5te-linux-gnueabi/include/alloca.h" 1 3 4 # 25 "/usr/armv5te-linux-gnueabi/include/alloca.h" 3 4 # 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4 # 26 "/usr/armv5te-linux-gnueabi/include/alloca.h" 2 3 4 extern void *alloca (size_t __size) __attribute__ ((__nothrow__)); # 613 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); # 658 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4 extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern char *__secure_getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int setenv (__const char *__name, __const char *__value, int __replace) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__)); extern int clearenv (void) __attribute__ ((__nothrow__)); # 698 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4 extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 709 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; # 729 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int system (__const char *__command) ; # 757 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4 extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) __attribute__ ((__nothrow__)) ; typedef int (*__compar_fn_t) (__const void *, __const void *); extern void *bsearch (__const void *__key, __const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 2, 5))) ; extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; extern div_t div (int __numer, int __denom) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; # 822 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *gcvt (double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) ; extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ; extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ; extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)); extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) __attribute__ ((__nothrow__)); extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 927 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4 extern int posix_openpt (int __oflag) ; # 962 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4 extern int getloadavg (double __loadavg[], int __nelem) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 978 "/usr/armv5te-linux-gnueabi/include/stdlib.h" 3 4 # 18 "momusys.h" 2 # 1 "/usr/armv5te-linux-gnueabi/include/math.h" 1 3 4 # 30 "/usr/armv5te-linux-gnueabi/include/math.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/huge_val.h" 1 3 4 # 35 "/usr/armv5te-linux-gnueabi/include/math.h" 2 3 4 # 47 "/usr/armv5te-linux-gnueabi/include/math.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/mathdef.h" 1 3 4 # 48 "/usr/armv5te-linux-gnueabi/include/math.h" 2 3 4 # 71 "/usr/armv5te-linux-gnueabi/include/math.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4 extern double acos (double __x) __attribute__ ((__nothrow__)); extern double __acos (double __x) __attribute__ ((__nothrow__)); extern double asin (double __x) __attribute__ ((__nothrow__)); extern double __asin (double __x) __attribute__ ((__nothrow__)); extern double atan (double __x) __attribute__ ((__nothrow__)); extern double __atan (double __x) __attribute__ ((__nothrow__)); extern double atan2 (double __y, double __x) __attribute__ ((__nothrow__)); extern double __atan2 (double __y, double __x) __attribute__ ((__nothrow__)); extern double cos (double __x) __attribute__ ((__nothrow__)); extern double __cos (double __x) __attribute__ ((__nothrow__)); extern double sin (double __x) __attribute__ ((__nothrow__)); extern double __sin (double __x) __attribute__ ((__nothrow__)); extern double tan (double __x) __attribute__ ((__nothrow__)); extern double __tan (double __x) __attribute__ ((__nothrow__)); extern double cosh (double __x) __attribute__ ((__nothrow__)); extern double __cosh (double __x) __attribute__ ((__nothrow__)); extern double sinh (double __x) __attribute__ ((__nothrow__)); extern double __sinh (double __x) __attribute__ ((__nothrow__)); extern double tanh (double __x) __attribute__ ((__nothrow__)); extern double __tanh (double __x) __attribute__ ((__nothrow__)); # 87 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4 extern double acosh (double __x) __attribute__ ((__nothrow__)); extern double __acosh (double __x) __attribute__ ((__nothrow__)); extern double asinh (double __x) __attribute__ ((__nothrow__)); extern double __asinh (double __x) __attribute__ ((__nothrow__)); extern double atanh (double __x) __attribute__ ((__nothrow__)); extern double __atanh (double __x) __attribute__ ((__nothrow__)); extern double exp (double __x) __attribute__ ((__nothrow__)); extern double __exp (double __x) __attribute__ ((__nothrow__)); extern double frexp (double __x, int *__exponent) __attribute__ ((__nothrow__)); extern double __frexp (double __x, int *__exponent) __attribute__ ((__nothrow__)); extern double ldexp (double __x, int __exponent) __attribute__ ((__nothrow__)); extern double __ldexp (double __x, int __exponent) __attribute__ ((__nothrow__)); extern double log (double __x) __attribute__ ((__nothrow__)); extern double __log (double __x) __attribute__ ((__nothrow__)); extern double log10 (double __x) __attribute__ ((__nothrow__)); extern double __log10 (double __x) __attribute__ ((__nothrow__)); extern double modf (double __x, double *__iptr) __attribute__ ((__nothrow__)); extern double __modf (double __x, double *__iptr) __attribute__ ((__nothrow__)); # 127 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4 extern double expm1 (double __x) __attribute__ ((__nothrow__)); extern double __expm1 (double __x) __attribute__ ((__nothrow__)); extern double log1p (double __x) __attribute__ ((__nothrow__)); extern double __log1p (double __x) __attribute__ ((__nothrow__)); extern double logb (double __x) __attribute__ ((__nothrow__)); extern double __logb (double __x) __attribute__ ((__nothrow__)); # 152 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4 extern double pow (double __x, double __y) __attribute__ ((__nothrow__)); extern double __pow (double __x, double __y) __attribute__ ((__nothrow__)); extern double sqrt (double __x) __attribute__ ((__nothrow__)); extern double __sqrt (double __x) __attribute__ ((__nothrow__)); extern double hypot (double __x, double __y) __attribute__ ((__nothrow__)); extern double __hypot (double __x, double __y) __attribute__ ((__nothrow__)); extern double cbrt (double __x) __attribute__ ((__nothrow__)); extern double __cbrt (double __x) __attribute__ ((__nothrow__)); extern double ceil (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __ceil (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double fabs (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __fabs (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double floor (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __floor (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double fmod (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fmod (double __x, double __y) __attribute__ ((__nothrow__)); extern int __isinf (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int __finite (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int isinf (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int finite (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double drem (double __x, double __y) __attribute__ ((__nothrow__)); extern double __drem (double __x, double __y) __attribute__ ((__nothrow__)); extern double significand (double __x) __attribute__ ((__nothrow__)); extern double __significand (double __x) __attribute__ ((__nothrow__)); extern double copysign (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); # 231 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4 extern int __isnan (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int isnan (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double j0 (double) __attribute__ ((__nothrow__)); extern double __j0 (double) __attribute__ ((__nothrow__)); extern double j1 (double) __attribute__ ((__nothrow__)); extern double __j1 (double) __attribute__ ((__nothrow__)); extern double jn (int, double) __attribute__ ((__nothrow__)); extern double __jn (int, double) __attribute__ ((__nothrow__)); extern double y0 (double) __attribute__ ((__nothrow__)); extern double __y0 (double) __attribute__ ((__nothrow__)); extern double y1 (double) __attribute__ ((__nothrow__)); extern double __y1 (double) __attribute__ ((__nothrow__)); extern double yn (int, double) __attribute__ ((__nothrow__)); extern double __yn (int, double) __attribute__ ((__nothrow__)); extern double erf (double) __attribute__ ((__nothrow__)); extern double __erf (double) __attribute__ ((__nothrow__)); extern double erfc (double) __attribute__ ((__nothrow__)); extern double __erfc (double) __attribute__ ((__nothrow__)); extern double lgamma (double) __attribute__ ((__nothrow__)); extern double __lgamma (double) __attribute__ ((__nothrow__)); # 265 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4 extern double gamma (double) __attribute__ ((__nothrow__)); extern double __gamma (double) __attribute__ ((__nothrow__)); extern double lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__)); extern double __lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__)); extern double rint (double __x) __attribute__ ((__nothrow__)); extern double __rint (double __x) __attribute__ ((__nothrow__)); extern double nextafter (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double remainder (double __x, double __y) __attribute__ ((__nothrow__)); extern double __remainder (double __x, double __y) __attribute__ ((__nothrow__)); extern double scalbn (double __x, int __n) __attribute__ ((__nothrow__)); extern double __scalbn (double __x, int __n) __attribute__ ((__nothrow__)); extern int ilogb (double __x) __attribute__ ((__nothrow__)); extern int __ilogb (double __x) __attribute__ ((__nothrow__)); # 359 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4 extern double scalb (double __x, double __n) __attribute__ ((__nothrow__)); extern double __scalb (double __x, double __n) __attribute__ ((__nothrow__)); # 72 "/usr/armv5te-linux-gnueabi/include/math.h" 2 3 4 # 94 "/usr/armv5te-linux-gnueabi/include/math.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4 extern float acosf (float __x) __attribute__ ((__nothrow__)); extern float __acosf (float __x) __attribute__ ((__nothrow__)); extern float asinf (float __x) __attribute__ ((__nothrow__)); extern float __asinf (float __x) __attribute__ ((__nothrow__)); extern float atanf (float __x) __attribute__ ((__nothrow__)); extern float __atanf (float __x) __attribute__ ((__nothrow__)); extern float atan2f (float __y, float __x) __attribute__ ((__nothrow__)); extern float __atan2f (float __y, float __x) __attribute__ ((__nothrow__)); extern float cosf (float __x) __attribute__ ((__nothrow__)); extern float __cosf (float __x) __attribute__ ((__nothrow__)); extern float sinf (float __x) __attribute__ ((__nothrow__)); extern float __sinf (float __x) __attribute__ ((__nothrow__)); extern float tanf (float __x) __attribute__ ((__nothrow__)); extern float __tanf (float __x) __attribute__ ((__nothrow__)); extern float coshf (float __x) __attribute__ ((__nothrow__)); extern float __coshf (float __x) __attribute__ ((__nothrow__)); extern float sinhf (float __x) __attribute__ ((__nothrow__)); extern float __sinhf (float __x) __attribute__ ((__nothrow__)); extern float tanhf (float __x) __attribute__ ((__nothrow__)); extern float __tanhf (float __x) __attribute__ ((__nothrow__)); # 87 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4 extern float acoshf (float __x) __attribute__ ((__nothrow__)); extern float __acoshf (float __x) __attribute__ ((__nothrow__)); extern float asinhf (float __x) __attribute__ ((__nothrow__)); extern float __asinhf (float __x) __attribute__ ((__nothrow__)); extern float atanhf (float __x) __attribute__ ((__nothrow__)); extern float __atanhf (float __x) __attribute__ ((__nothrow__)); extern float expf (float __x) __attribute__ ((__nothrow__)); extern float __expf (float __x) __attribute__ ((__nothrow__)); extern float frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__)); extern float __frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__)); extern float ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__)); extern float __ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__)); extern float logf (float __x) __attribute__ ((__nothrow__)); extern float __logf (float __x) __attribute__ ((__nothrow__)); extern float log10f (float __x) __attribute__ ((__nothrow__)); extern float __log10f (float __x) __attribute__ ((__nothrow__)); extern float modff (float __x, float *__iptr) __attribute__ ((__nothrow__)); extern float __modff (float __x, float *__iptr) __attribute__ ((__nothrow__)); # 127 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4 extern float expm1f (float __x) __attribute__ ((__nothrow__)); extern float __expm1f (float __x) __attribute__ ((__nothrow__)); extern float log1pf (float __x) __attribute__ ((__nothrow__)); extern float __log1pf (float __x) __attribute__ ((__nothrow__)); extern float logbf (float __x) __attribute__ ((__nothrow__)); extern float __logbf (float __x) __attribute__ ((__nothrow__)); # 152 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4 extern float powf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __powf (float __x, float __y) __attribute__ ((__nothrow__)); extern float sqrtf (float __x) __attribute__ ((__nothrow__)); extern float __sqrtf (float __x) __attribute__ ((__nothrow__)); extern float hypotf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __hypotf (float __x, float __y) __attribute__ ((__nothrow__)); extern float cbrtf (float __x) __attribute__ ((__nothrow__)); extern float __cbrtf (float __x) __attribute__ ((__nothrow__)); extern float ceilf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __ceilf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float fabsf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __fabsf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float floorf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __floorf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float fmodf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fmodf (float __x, float __y) __attribute__ ((__nothrow__)); extern int __isinff (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int __finitef (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int isinff (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int finitef (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float dremf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __dremf (float __x, float __y) __attribute__ ((__nothrow__)); extern float significandf (float __x) __attribute__ ((__nothrow__)); extern float __significandf (float __x) __attribute__ ((__nothrow__)); extern float copysignf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); # 231 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4 extern int __isnanf (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int isnanf (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float j0f (float) __attribute__ ((__nothrow__)); extern float __j0f (float) __attribute__ ((__nothrow__)); extern float j1f (float) __attribute__ ((__nothrow__)); extern float __j1f (float) __attribute__ ((__nothrow__)); extern float jnf (int, float) __attribute__ ((__nothrow__)); extern float __jnf (int, float) __attribute__ ((__nothrow__)); extern float y0f (float) __attribute__ ((__nothrow__)); extern float __y0f (float) __attribute__ ((__nothrow__)); extern float y1f (float) __attribute__ ((__nothrow__)); extern float __y1f (float) __attribute__ ((__nothrow__)); extern float ynf (int, float) __attribute__ ((__nothrow__)); extern float __ynf (int, float) __attribute__ ((__nothrow__)); extern float erff (float) __attribute__ ((__nothrow__)); extern float __erff (float) __attribute__ ((__nothrow__)); extern float erfcf (float) __attribute__ ((__nothrow__)); extern float __erfcf (float) __attribute__ ((__nothrow__)); extern float lgammaf (float) __attribute__ ((__nothrow__)); extern float __lgammaf (float) __attribute__ ((__nothrow__)); # 265 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4 extern float gammaf (float) __attribute__ ((__nothrow__)); extern float __gammaf (float) __attribute__ ((__nothrow__)); extern float lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__)); extern float __lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__)); extern float rintf (float __x) __attribute__ ((__nothrow__)); extern float __rintf (float __x) __attribute__ ((__nothrow__)); extern float nextafterf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float remainderf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __remainderf (float __x, float __y) __attribute__ ((__nothrow__)); extern float scalbnf (float __x, int __n) __attribute__ ((__nothrow__)); extern float __scalbnf (float __x, int __n) __attribute__ ((__nothrow__)); extern int ilogbf (float __x) __attribute__ ((__nothrow__)); extern int __ilogbf (float __x) __attribute__ ((__nothrow__)); # 359 "/usr/armv5te-linux-gnueabi/include/bits/mathcalls.h" 3 4 extern float scalbf (float __x, float __n) __attribute__ ((__nothrow__)); extern float __scalbf (float __x, float __n) __attribute__ ((__nothrow__)); # 95 "/usr/armv5te-linux-gnueabi/include/math.h" 2 3 4 # 157 "/usr/armv5te-linux-gnueabi/include/math.h" 3 4 extern int signgam; # 284 "/usr/armv5te-linux-gnueabi/include/math.h" 3 4 typedef enum { _IEEE_ = -1, _SVID_, _XOPEN_, _POSIX_, _ISOC_ } _LIB_VERSION_TYPE; extern _LIB_VERSION_TYPE _LIB_VERSION; # 309 "/usr/armv5te-linux-gnueabi/include/math.h" 3 4 struct exception { int type; char *name; double arg1; double arg2; double retval; }; extern int matherr (struct exception *__exc); # 409 "/usr/armv5te-linux-gnueabi/include/math.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/mathinline.h" 1 3 4 # 410 "/usr/armv5te-linux-gnueabi/include/math.h" 2 3 4 # 465 "/usr/armv5te-linux-gnueabi/include/math.h" 3 4 # 19 "momusys.h" 2 # 1 "/usr/armv5te-linux-gnueabi/include/string.h" 1 3 4 # 28 "/usr/armv5te-linux-gnueabi/include/string.h" 3 4 # 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/stddef.h" 1 3 4 # 34 "/usr/armv5te-linux-gnueabi/include/string.h" 2 3 4 extern void *memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memmove (void *__dest, __const void *__src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memchr (__const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 82 "/usr/armv5te-linux-gnueabi/include/string.h" 3 4 extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strcat (char *__restrict __dest, __const char *__restrict __src) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncat (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcmp (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcoll (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strxfrm (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); # 130 "/usr/armv5te-linux-gnueabi/include/string.h" 3 4 extern char *strdup (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); # 165 "/usr/armv5te-linux-gnueabi/include/string.h" 3 4 extern char *strchr (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strrchr (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 181 "/usr/armv5te-linux-gnueabi/include/string.h" 3 4 extern size_t strcspn (__const char *__s, __const char *__reject) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strspn (__const char *__s, __const char *__accept) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strpbrk (__const char *__s, __const char *__accept) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strstr (__const char *__haystack, __const char *__needle) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strtok (char *__restrict __s, __const char *__restrict __delim) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern char *__strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); # 240 "/usr/armv5te-linux-gnueabi/include/string.h" 3 4 extern size_t strlen (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 254 "/usr/armv5te-linux-gnueabi/include/string.h" 3 4 extern char *strerror (int __errnum) __attribute__ ((__nothrow__)); # 270 "/usr/armv5te-linux-gnueabi/include/string.h" 3 4 extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); # 288 "/usr/armv5te-linux-gnueabi/include/string.h" 3 4 extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void bcopy (__const void *__src, void *__dest, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *index (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *rindex (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern int ffs (int __i) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); # 325 "/usr/armv5te-linux-gnueabi/include/string.h" 3 4 extern int strcasecmp (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 348 "/usr/armv5te-linux-gnueabi/include/string.h" 3 4 extern char *strsep (char **__restrict __stringp, __const char *__restrict __delim) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); # 414 "/usr/armv5te-linux-gnueabi/include/string.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/string.h" 1 3 4 # 415 "/usr/armv5te-linux-gnueabi/include/string.h" 2 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 1 3 4 # 80 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4 typedef struct { unsigned char __arr[2]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR2; typedef struct { unsigned char __arr[3]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR3; typedef struct { unsigned char __arr[4]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR4; typedef struct { unsigned char __arr[5]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR5; typedef struct { unsigned char __arr[6]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR6; typedef struct { unsigned char __arr[7]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR7; typedef struct { unsigned char __arr[8]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR8; # 394 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4 extern void *__rawmemchr (const void *__s, int __c); # 969 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4 extern __inline size_t __strcspn_c1 (__const char *__s, int __reject); extern __inline size_t __strcspn_c1 (__const char *__s, int __reject) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject) ++__result; return __result; } extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, int __reject2); extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, int __reject2) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2) ++__result; return __result; } extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, int __reject2, int __reject3); extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, int __reject2, int __reject3) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2 && __s[__result] != __reject3) ++__result; return __result; } # 1045 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4 extern __inline size_t __strspn_c1 (__const char *__s, int __accept); extern __inline size_t __strspn_c1 (__const char *__s, int __accept) { register size_t __result = 0; while (__s[__result] == __accept) ++__result; return __result; } extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, int __accept2); extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, int __accept2) { register size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2) ++__result; return __result; } extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3); extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) { register size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2 || __s[__result] == __accept3) ++__result; return __result; } # 1121 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4 extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1, int __accept2); extern __inline char * __strpbrk_c2 (__const char *__s, int __accept1, int __accept2) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1, int __accept2, int __accept3); extern __inline char * __strpbrk_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2 && *__s != __accept3) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } # 1173 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4 extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp); extern __inline char * __strtok_r_1c (char *__s, char __sep, char **__nextp) { char *__result; if (__s == ((void *)0)) __s = *__nextp; while (*__s == __sep) ++__s; __result = ((void *)0); if (*__s != '\0') { __result = __s++; while (*__s != '\0') if (*__s++ == __sep) { __s[-1] = '\0'; break; } *__nextp = __s; } return __result; } # 1205 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4 extern char *__strsep_g (char **__stringp, __const char *__delim); # 1223 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4 extern __inline char *__strsep_1c (char **__s, char __reject); extern __inline char * __strsep_1c (char **__s, char __reject) { register char *__retval = *__s; if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) != ((void *)0)) *(*__s)++ = '\0'; return __retval; } extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2); extern __inline char * __strsep_2c (char **__s, char __reject1, char __reject2) { register char *__retval = *__s; if (__retval != ((void *)0)) { register char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3); extern __inline char * __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3) { register char *__retval = *__s; if (__retval != ((void *)0)) { register char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } # 1304 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4 extern char *__strdup (__const char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); # 1323 "/usr/armv5te-linux-gnueabi/include/bits/string2.h" 3 4 extern char *__strndup (__const char *__string, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); # 418 "/usr/armv5te-linux-gnueabi/include/string.h" 2 3 4 # 426 "/usr/armv5te-linux-gnueabi/include/string.h" 3 4 # 24 "momusys.h" 2 # 57 "momusys.h" typedef void Void ; typedef char Char ; typedef const char C_Char ; typedef unsigned char Byte ; typedef const Byte C_Byte ; typedef unsigned char UChar ; typedef const UChar C_UChar ; typedef short int Short ; typedef short int SInt ; typedef unsigned short UShort ; typedef unsigned short USInt ; typedef const short C_Short ; typedef const short C_SInt ; typedef const UShort C_UShort ; typedef const UShort C_USInt ; typedef int Int ; typedef long int LInt ; typedef const int C_Int ; typedef unsigned int U_Int ; typedef unsigned int UInt ; typedef unsigned long int ULInt ; typedef const UInt C_UInt ; typedef float Float ; typedef const float C_Float ; typedef double Double ; typedef const double C_Double ; typedef FILE File ; # 165 "momusys.h" # 1 "mom_structs.h" 1 # 15 "mom_structs.h" enum image_type {SHORT_TYPE,FLOAT_TYPE,UCHAR_TYPE}; typedef enum image_type ImageType; union image_data { SInt *s; Float *f; UChar *u; }; typedef union image_data ImageData; struct image { Int version; UInt x,y; Char upperodd; Char grid; SInt *f; ImageData *data; ImageType type; }; typedef struct image Image; typedef struct image ImageI; typedef struct image ImageF; # 50 "mom_structs.h" struct vop { Int prediction_type; Int mod_time_base; Float time_inc; Int rounding_type; Int width; Int height; Int hor_spat_ref; Int ver_spat_ref; Int intra_dc_vlc_thr; Int quantizer; Int intra_quantizer; Int time_increment_resolution; Int intra_acdc_pred_disable; Int sr_for; Int fcode_for; Int quant_precision; Int bits_per_pixel; Image *y_chan; Image *u_chan; Image *v_chan; }; typedef struct vop Vop; struct object_layer_cfg { Float frame_rate; Int M; Int start_frame; Int end_frame; Int bit_rate; Int frame_skip; Int quantizer; Int intra_quantizer; Int intra_period; Int modulo_time_base[2]; }; typedef struct object_layer_cfg VolConfig; # 1 "mom_util.h" 1 # 11 "mom_util.h" Image *AllocImage(UInt size_x, UInt size_y, ImageType type); Void FreeImage(Image *image); Void CopyImage(Image *image_in, Image *image_out); Void SetConstantImage(Image *image, Float val); Void SubImage(Image *image_in1, Image *image_in2, Image *image_out); Vop * SallocVop (void); Vop * AllocVop (UInt x, UInt y); Void SfreeVop (Vop *vop); Void FreeVop (Vop *vop); Void CopyVopNonImageField (Vop *in, Vop *out); # 53 "mom_util.h" # 1 "mom_structs.h" 1 # 54 "mom_util.h" 2 # 105 "mom_structs.h" 2 # 1 "mom_access.h" 1 # 14 "mom_access.h" Char *GetImageData(Image *image); UInt GetImageSize(Image *image); UInt GetImageSizeX(Image *image); UInt GetImageSizeY(Image *image); Int GetImageVersion(Image *image); ImageType GetImageType(Image *image); Int GetVopNot8Bit(Vop *vop); Int GetVopQuantPrecision(Vop *vop); Int GetVopBitsPerPixel(Vop *vop); Int GetVopMidGrey(Vop *vop); Int GetVopBrightWhite(Vop *vop); Int GetVopTimeIncrementResolution(Vop *vop); Int GetVopModTimeBase(Vop *vop); Int GetVopTimeInc(Vop *vop); Int GetVopPredictionType(Vop *vop); Int GetVopIntraDCVlcThr(Vop *vop); Int GetVopRoundingType(Vop *vop); Int GetVopWidth(Vop *vop); Int GetVopHeight(Vop *vop); Int GetVopHorSpatRef(Vop *vop); Int GetVopVerSpatRef(Vop *vop); Int GetVopQuantizer(Vop *vop); Int GetVopIntraQuantizer(Vop *vop); Int GetVopIntraACDCPredDisable(Vop *vop); Int GetVopFCodeFor(Vop *vop); Int GetVopSearchRangeFor(Vop *vop); Image *GetVopY(Vop *vop); Image *GetVopU(Vop *vop); Image *GetVopV(Vop *vop); Void PutVopQuantPrecision(Int quant_precision,Vop *vop); Void PutVopBitsPerPixel(Int bits_per_pixel,Vop *vop); Void PutVopTimeIncrementResolution(Int time_incre_res, Vop *vop); Void PutVopModTimeBase(Int mod_time_base, Vop *vop); Void PutVopTimeInc(Int time_inc, Vop *vop); Void PutVopPredictionType(Int prediction_type, Vop *vop); Void PutVopIntraDCVlcThr(Int intra_dc_vlc_thr,Vop *vop); Void PutVopRoundingType(Int rounding_type, Vop *vop); Void PutVopWidth(Int width, Vop *vop); Void PutVopHeight(Int height, Vop *vop); Void PutVopHorSpatRef(Int hor_spat_ref, Vop *vop); Void PutVopVerSpatRef(Int ver_spat_ref, Vop *vop); Void PutVopQuantizer(Int quantizer, Vop *vop); Void PutVopIntraACDCPredDisable(Int intra_acdc_pred_disable, Vop *vop); Void PutVopFCodeFor(Int fcode_for, Vop *vop); Void PutVopSearchRangeFor(Int sr_for, Vop *vop); Void PutVopY(Image *y_chan, Vop *vop); Void PutVopU(Image *u_chan, Vop *vop); Void PutVopV(Image *v_chan, Vop *vop); Void PutVopIntraQuantizer(Int Q,Vop *vop); Void PutVolConfigFrameRate (Float fr, VolConfig *cfg); Void PutVolConfigM (Int M, VolConfig *cfg); Void PutVolConfigStartFrame (Int frame, VolConfig *cfg); Void PutVolConfigEndFrame (Int frame, VolConfig *cfg); Void PutVolConfigBitrate (Int bit_rate,VolConfig *cfg); Void PutVolConfigIntraPeriod (Int ir,VolConfig *cfg); Void PutVolConfigQuantizer (Int Q,VolConfig *cfg); Void PutVolConfigIntraQuantizer (Int Q,VolConfig *cfg); Void PutVolConfigFrameSkip (Int frame_skip,VolConfig *cfg); Void PutVolConfigModTimeBase (Int time,VolConfig *cfg); Float GetVolConfigFrameRate (VolConfig *cfg); Int GetVolConfigM (VolConfig *cfg); Int GetVolConfigStartFrame (VolConfig *cfg); Int GetVolConfigEndFrame (VolConfig *cfg); Int GetVolConfigBitrate (VolConfig *cfg); Int GetVolConfigIntraPeriod (VolConfig *cfg); Int GetVolConfigQuantizer (VolConfig *cfg); Int GetVolConfigIntraQuantizer (VolConfig *cfg); Int GetVolConfigFrameSkip (VolConfig *cfg); Int GetVolConfigModTimeBase (VolConfig *cfg,Int i); # 106 "mom_structs.h" 2 # 166 "momusys.h" 2 # 7 "text_code.h" 2 # 1 "text_defs.h" 1 # 9 "text_defs.h" # 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/limits.h" 1 3 4 # 11 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/limits.h" 3 4 # 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/syslimits.h" 1 3 4 # 1 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/limits.h" 1 3 4 # 122 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/limits.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/limits.h" 1 3 4 # 145 "/usr/armv5te-linux-gnueabi/include/limits.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/posix1_lim.h" 1 3 4 # 153 "/usr/armv5te-linux-gnueabi/include/bits/posix1_lim.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/local_lim.h" 1 3 4 # 36 "/usr/armv5te-linux-gnueabi/include/bits/local_lim.h" 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/linux/limits.h" 1 3 4 # 37 "/usr/armv5te-linux-gnueabi/include/bits/local_lim.h" 2 3 4 # 154 "/usr/armv5te-linux-gnueabi/include/bits/posix1_lim.h" 2 3 4 # 146 "/usr/armv5te-linux-gnueabi/include/limits.h" 2 3 4 # 1 "/usr/armv5te-linux-gnueabi/include/bits/posix2_lim.h" 1 3 4 # 150 "/usr/armv5te-linux-gnueabi/include/limits.h" 2 3 4 # 123 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/limits.h" 2 3 4 # 8 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/syslimits.h" 2 3 4 # 12 "/usr/lib/gcc/armv5te-linux-gnueabi/4.1.0/include/limits.h" 2 3 4 # 10 "text_defs.h" 2 # 1 "vm_enc_defs.h" 1 # 1 "vm_common_defs.h" 1 # 6 "vm_enc_defs.h" 2 # 12 "text_defs.h" 2 # 9 "text_code.h" 2 # 1 "text_bits.h" 1 # 13 "text_bits.h" typedef struct { Int Y; Int C; Int vec; Int CBPY; Int CBPC; Int MCBPC; Int MODB; Int CBPB; Int MBTYPE; Int COD; Int MB_Mode; Int header; Int DQUANT; Int total; Int no_inter; Int no_inter4v; Int no_intra; Int no_GMC; Int ACpred_flag; Int G; Int CODA; Int CBPA; Int g_ACpred_flag; Int no_field; Int no_skipped; Int no_Pskip; Int no_noDCT; Int fieldDCT; Int interlaced; Int Btype[7]; Int Nmvs[3]; } Bits; Void MB_CodeCoeff ( Bits *bits, Int *qcoeff, Int Mode, Int CBP, Int ncoeffs, Int intra_dcpred_disable, Image *DCbitstream, Image *bitstream, Int transp_pattern[], Int direction[], Int error_res_disable, Int reverse_vlc, Int switched, Int alternate_scan ); # 67 "text_bits.h" void Bits_Reset ( Bits *bits ); # 10 "text_code.h" 2 # 18 "text_code.h" Void VopCodeShapeTextIntraCom ( Vop *curr, Vop *rec_curr, Image *mottext_bitstream ); Void VopShapeMotText ( Vop *curr, Vop *comp, Image *MB_decisions, Image *mot_x, Image *mot_y, Int f_code_for, Int intra_acdc_pred_disable, Vop *rec_curr, Image *mottext_bitstream ); # 33 "text_code.h" Int cal_dc_scaler ( Int QP, Int type ); # 42 "text_code_mb.c" 2 # 1 "text_dct.h" 1 void fdct_enc(short *block); void init_fdct_enc(); void idct_enc(short *block); void init_idct_enc(); void fdct_mm32(short *blk); void Fast_IDCT(short int *x); # 43 "text_code_mb.c" 2 Void BlockPredict (SInt *curr, Int x_pos, Int y_pos, UInt width, Int fblock[][8]); Void BlockRebuild (SInt *rec_curr, SInt *comp, Int pred_type, Int max, Int x_pos, Int y_pos, UInt width, UInt edge, Int fblock[][8]); Void BlockQuantH263 (Int *coeff, Int QP, Int mode, Int type, Int *qcoeff, Int maxDC, Int image_type); Void BlockDequantH263 (Int *qcoeff, Int QP, Int mode, Int type, Int *rcoeff, Int image_type, Int short_video_header, Int bits_per_pixel); # 76 "text_code_mb.c" Void CodeMB(Vop *curr, Vop *rec_curr, Vop *comp, Int x_pos, Int y_pos, UInt width, Int QP, Int Mode, Int *qcoeff) { Int k; Int fblock[6][8][8]; Int coeff[384]; Int *coeff_ind; Int *qcoeff_ind; Int* rcoeff_ind; Int x=0, y=0; SInt *current=((void *)0), *recon, *compensated = ((void *)0); UInt xwidth=0; Int iblock[6][8][8]; Int rcoeff[6*64]; Int i, j; Int type; SInt tmp[64]; Int s; int operation = curr->prediction_type; Int max = GetVopBrightWhite(curr); coeff_ind = coeff; qcoeff_ind = qcoeff; rcoeff_ind = rcoeff; for (k = 0; k < 6; k++) { switch (k) { case 0: x = x_pos; y = y_pos; xwidth = width; current = (SInt *) GetImageData (GetVopY (curr)); break; case 1: x = x_pos + 8; y = y_pos; xwidth = width; current = (SInt *) GetImageData (GetVopY (curr)); break; case 2: x = x_pos; y = y_pos + 8; xwidth = width; current = (SInt *) GetImageData (GetVopY (curr)); break; case 3: x = x_pos + 8; y = y_pos + 8; xwidth = width; current = (SInt *) GetImageData (GetVopY (curr)); break; case 4: x = x_pos / 2; y = y_pos / 2; xwidth = width / 2; current = (SInt *) GetImageData (GetVopU (curr)); break; case 5: x = x_pos / 2; y = y_pos / 2; xwidth = width / 2; current = (SInt *) GetImageData (GetVopV (curr)); break; default: break; } BlockPredict (current, x, y, xwidth, fblock[k]); } for (k = 0; k < 6; k++) { s = 0; for (i = 0; i < 8; i++) for (j = 0; j < 8; j++) tmp[s++] = (SInt) fblock[k][i][j]; fdct_enc(tmp); for (s = 0; s < 64; s++) coeff_ind[s] = (Int) tmp[s]; if (k < 4) type = 1; else type = 2; BlockQuantH263(coeff_ind,QP,Mode,type,qcoeff_ind, GetVopBrightWhite(curr),1); BlockDequantH263(qcoeff_ind,QP,Mode,type,rcoeff_ind,1, 0, GetVopBitsPerPixel(curr)); for (s = 0; s < 64; s++) tmp[s] = (SInt) rcoeff_ind[s]; idct_enc(tmp); s = 0; for (i = 0; i < 8; i++) for (j = 0; j < 8; j++) iblock[k][i][j] = (Int)tmp[s++]; coeff_ind += 64; qcoeff_ind += 64; rcoeff_ind += 64; if (Mode == 0||Mode==2) for (i = 0; i < 8; i++) for (j = 0; j < 8; j ++) iblock[k][i][j] = (((GetVopBrightWhite(curr)) < ((((0) > (iblock[k][i][j])) ? (0) : (iblock[k][i][j])))) ? (GetVopBrightWhite(curr)) : ((((0) > (iblock[k][i][j])) ? (0) : (iblock[k][i][j])))); switch (k) { case 0: case 1: case 2: continue; case 3: recon = (SInt *) GetImageData (GetVopY (rec_curr)); if (operation == 1) compensated = (SInt *) GetImageData (GetVopY (comp)); BlockRebuild (recon, compensated, operation, max, x_pos, y_pos, width, 16, iblock[0]); BlockRebuild (recon, compensated, operation, max, x_pos + 8, y_pos, width, 16, iblock[1]); BlockRebuild (recon, compensated, operation, max, x_pos, y_pos + 8, width, 16, iblock[2]); BlockRebuild (recon, compensated, operation, max, x_pos + 8, y_pos + 8, width, 16, iblock[3]); continue; case 4: recon = (SInt *) GetImageData (GetVopU (rec_curr)); if (operation == 1) compensated = (SInt *) GetImageData (GetVopU (comp)); BlockRebuild (recon, compensated, operation, max, x_pos/2, y_pos/2, width/2, 8, iblock[4]); continue; case 5: recon = (SInt *) GetImageData (GetVopV (rec_curr)); if (operation == 1) compensated = (SInt *) GetImageData (GetVopV (comp)); BlockRebuild (recon, compensated, operation, max, x_pos/2, y_pos/2, width/2, 8, iblock[5]); continue; } } return; } # 256 "text_code_mb.c" Void BlockPredict (SInt *curr, Int x_pos, Int y_pos, UInt width, Int fblock[][8]) { Int i, j; for (i = 0; i < 8; i++) { for (j = 0; j < 8; j++) { fblock[i][j] = curr[(y_pos+i)*width + x_pos+j]; } } } # 292 "text_code_mb.c" Void BlockRebuild (SInt *rec_curr, SInt *comp, Int pred_type, Int max, Int x_pos, Int y_pos, UInt width, UInt edge, Int fblock[][8]) { Int i, j; SInt *rec; Int padded_width; padded_width = width + 2 * edge; rec = rec_curr + edge * padded_width + edge; if (pred_type == 0) { SInt *p; p = rec + y_pos * padded_width + x_pos; for (i = 0; i < 8; i++) { for (j = 0; j < 8; j++) { SInt temp = fblock[i][j]; *(p++) = (((temp) > (max)) ? (max) : (((temp) > (0)) ? (temp) : (0))); } p += padded_width - 8; } } else if (pred_type == 1) { SInt *p, *pc; p = rec + y_pos * padded_width + x_pos; pc = comp + y_pos * width + x_pos; for (i = 0; i < 8; i++) { for (j = 0; j < 8; j++) { SInt temp = *(pc++) + fblock[i][j]; *(p++) = (((temp) > (max)) ? (max) : (((temp) > (0)) ? (temp) : (0))); } p += padded_width - 8; pc += width - 8; } } } # 358 "text_code_mb.c" Void BlockQuantH263 (Int *coeff, Int QP, Int mode, Int type, Int *qcoeff, Int maxDC, Int image_type) { Int i; Int level, result; Int step, offset; Int dc_scaler; # 379 "text_code_mb.c" if (!(QP > 0 && (QP < 32*image_type))) return; if (!(type == 1 || type == 2)) return; if (mode == 0 || mode == 2) { dc_scaler = cal_dc_scaler(QP,type); qcoeff[0] = (((1) > ((((maxDC-1) < ((coeff[0] + dc_scaler/2)/dc_scaler)) ? (maxDC-1) : ((coeff[0] + dc_scaler/2)/dc_scaler)))) ? (1) : ((((maxDC-1) < ((coeff[0] + dc_scaler/2)/dc_scaler)) ? (maxDC-1) : ((coeff[0] + dc_scaler/2)/dc_scaler)))); step = 2 * QP; for (i = 1; i < 64; i++) { level = (abs(coeff[i])) / step; result = (coeff[i] >= 0) ? level : -level; qcoeff[i] = (((2047) < ((((-2048) > (result)) ? (-2048) : (result)))) ? (2047) : ((((-2048) > (result)) ? (-2048) : (result)))); } } else { step = 2 * QP; offset = QP / 2; for (i = 0; i < 64; i++) { level = (abs(coeff[i]) - offset) / step; result = (coeff[i] >= 0) ? level : -level; qcoeff[i] = (((2047) < ((((-2048) > (result)) ? (-2048) : (result)))) ? (2047) : ((((-2048) > (result)) ? (-2048) : (result)))); } } return; } # 428 "text_code_mb.c" Void BlockDequantH263 (Int *qcoeff, Int QP, Int mode, Int type, Int *rcoeff, Int image_type, Int short_video_header, Int bits_per_pixel) { Int i; Int dc_scaler; Int lim; lim = (1 << (bits_per_pixel + 3)); if (QP) { for (i = 0; i < 64; i++) { if (qcoeff[i]) { qcoeff[i] = (((2047) < ((((-2048) > (qcoeff[i])) ? (-2048) : (qcoeff[i])))) ? (2047) : ((((-2048) > (qcoeff[i])) ? (-2048) : (qcoeff[i])))); if ((QP % 2) == 1) rcoeff[i] = QP * (2*(((qcoeff[i]) < 0) ? -(qcoeff[i]) : (qcoeff[i])) + 1); else rcoeff[i] = QP * (2*(((qcoeff[i]) < 0) ? -(qcoeff[i]) : (qcoeff[i])) + 1) - 1; rcoeff[i] = (((qcoeff[i]) < 0) ? -1 : 1) * rcoeff[i]; } else rcoeff[i] = 0; } if (mode == 0 || mode == 2) { if ((QP > 0 && (QP < 32*image_type)) == 0) fprintf(stdout, "MOMCHECK failed in file %s, line %i\n", "text_code_mb.c", 458); if ((type == 1 || type == 2) == 0) fprintf(stdout, "MOMCHECK failed in file %s, line %i\n", "text_code_mb.c", 459); if (short_video_header) dc_scaler = 8; else dc_scaler = cal_dc_scaler(QP,type); rcoeff[0] = qcoeff[0] * dc_scaler; } } else { for (i = 0; i < 64; i++) { rcoeff[i] = qcoeff[i]; } if (mode == 0 || mode == 2) { rcoeff[0] = qcoeff[0]*8; } } for (i=0;i<64;i++) if (rcoeff[i]>(lim-1)) rcoeff[i]=(lim-1); else if (rcoeff[i]<(-lim)) rcoeff[i]=(-lim); return; }
Subject: Re: armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c Pjotr Kourzanov writes: > Here it is. Compile with: Pjotr, please don't inline the code, go to the GCC website and add it as a (compressed) attachment. thanks, Matthias
Subject: Re: armv5te-linux-gnueabi-gcc-4.1 fails to compile libquicktime-0.9.7-0.4/plugins/opendivx/encore50/text_code_mb.c Matthias Klose wrote: >Pjotr Kourzanov writes: > > >>Here it is. Compile with: >> >> > >Pjotr, please don't inline the code, go to the GCC website and add it >as a (compressed) attachment. > >thanks, Matthias > > > I didn't inline it (I sent it as an attachment). I think the list manager did that. Pjotr
Created attachment 11323 [details] coming from libquicktime
Confirmed. Also appears on trunk on an arm-elf cross with the flags: -O3 -funroll-all-loops -fomit-frame-pointer -mno-apcs-frame -finline-functions -mfpu=vfp -mfloat-abi=softfp -mcpu=arm926ej-s We are generating an invalid input reload for (insn:HI 320 4403 4405 391 (set (mem/s:HI (plus:SI (reg:SI 318 [ ivtmp.1515 ]) (reg/f:SI 1731)) [2 tmp S2 A16]) (subreg:HI (reg:SI 523) 0)) 152 {*movhi_insn_arch4} (insn_list:REG_DEP_TRUE 319 (nil)) (expr_list:REG_DEAD (reg:SI 523) (nil))) Specifically, reload 2 contains: Reload 2: reload_in (HI) = (mem:HI (plus:SI (mult:SI (reg:SI 11 fp [orig:318 ivtmp.1515 ] [318]) (const_int 2 [0x2])) (reg/v/f:SI 10 sl [orig:437 rcoeff_ind ] [437])) [4 S4 A32]) GENERAL_REGS, RELOAD_FOR_INPUT (opnum = 1), can't combine reload_in_reg: (subreg:HI (reg:SI 523) 0) reload_reg_rtx: (reg:HI 6 r6) but that's an invalid memory address for HImode.
Appears to be fixed on trunk, 4.3 and 4.4 branch. Using built-in specs. Target: armv5tel-unknown-linux-gnueabi Configured with: /home/ramana/cos/gcc-4_3-branch/configure --enable-languages=c,c++ Thread model: posix gcc version 4.3.4 20090330 (prerelease) (GCC) Using built-in specs. Target: arm-none-eabi Configured with: ../combined/configure --target=arm-none-eabi --enable-languages=c,c++ --with-gmp=/opt/cfarm/mpfr-2.3.2/ --disable-gdbtk Thread model: single gcc version 4.5.0 20090402 (experimental) (GCC) ./xgcc -v Using built-in specs. Target: arm-none-eabi Configured with: ../combined/configure --target=arm-none-eabi --disable-gdbtk --prefix=/home/ramana/install-trunk --enable-languages=c,c++ --with-gmp=/opt/cfarm/mpfr-2.3.2/ Thread model: single gcc version 4.4.0 20090330 (prerelease) (GCC)
As per comment above appears fixed in all release branches today.