home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 1992-08-20 | 23.2 KB | 2,616 lines
Newsgroups: gnu.gcc.bug Path: sparky!uunet!usc!rpi!uwm.edu!linac!pacific.mps.ohio-state.edu!cis.ohio-state.edu!monk.sheridanc.on.ca!doug From: doug@monk.sheridanc.on.ca (Doug Berry) Subject: gcc 2.2.2 and Ultrix 4.2c on ghostscript2.5 Message-ID: <9208202048.AA03085@monk.sheridanc.on.ca> Sender: gnulists@ai.mit.edu Organization: GNUs Not Usenet Distribution: gnu Date: Thu, 20 Aug 1992 12:48:44 GMT Approved: bug-gcc@prep.ai.mit.edu Lines: 2603 I've had a problem with the compiler I made the compiler by doing configure decstation here's gcc -v -------------------%<----------------------- Reading specs from /usr/local/lib/gcc-lib/decstation/2.2.2/specs gcc version 2.2.2 -------------------%<----------------------- i was making ghostscript2.5 on a DECstation 5000/25 running Ultrix 4.2c when... gcc -g -O -I/usr/local/lib/gcc-lib/include -c gsmain.c pid 3074 (cc1) was killed on an unaligned access, at pc 0x46e40c gcc: Internal compiler error: program cc1 got fatal signal 10 make: *** [gsmain.o] Error 1 -------------------%<----------------------- here is output from gcc -E -I/usr/local/lib/gcc-lib/include gsmain.c -------------------%<----------------------- # 1 "gsmain.c" # 1 "memory_.h" 1 # 57 "memory_.h" # 1 "/usr/include/memory.h" 1 3 extern void *memccpy(), *memchr(), *memcpy(), *memmove(), *memset(); extern int memcmp(); # 61 "memory_.h" 2 extern void memswab2(), memswab4(); extern void memflip8x8(); # 22 "gsmain.c" 2 # 1 "string_.h" 1 # 1 "/usr/local/lib/gcc-lib/decstation/2.2.2/include/string.h" 1 3 typedef unsigned int size_t; extern char *strcat( char *__s1, const char *__s2 ), *strchr( const char *__s, int __c ), *strcpy( char *__s1, const char *__s2 ), *strerror( int __n ), *strncat( char *__s1, const char *__s2, size_t __n ), *strncpy( char *__s1, const char *__s2, size_t __n ), *strpbrk(const char *__s1, const char *__s2 ), *strrchr( const char *__s, int __c ), *strstr( const char *__s, const char *__t ), *strtok( char *__s1, const char *__s2 ); extern int memcmp( const void *__s1, const void *__s2, size_t __n ), strcmp( const char *__s1, const char *__s2 ), strcoll( const char *__s1, const char *__s2 ), strncmp( const char *__s1, const char *__s2, size_t __n ); extern void *memchr( const void *__s, int __c, size_t __n ), *memcpy( void *__s1, const void *__s2, size_t __n ), *memmove( void *__s1, const void *__s2, size_t __n ), *memset( void *__s, int __c, size_t __n ); extern size_t strcspn( const char *__s1, const char *__s2 ), strlen( const char *__s ), strspn( const char *__s1, const char *__s2 ), strxfrm( char *__to, const char *__from, size_t __maxsize ); # 125 "/usr/local/lib/gcc-lib/decstation/2.2.2/include/string.h" 3 # 32 "string_.h" 2 # 23 "gsmain.c" 2 # 1 "ghost.h" 1 # 1 "gx.h" 1 # 1 "gs.h" 1 # 1 "/usr/local/lib/gcc-lib/decstation/2.2.2/include/stdio.h" 1 3 # 1 "/usr/local/lib/gcc-lib/decstation/2.2.2/include/ansi_compat.h" 1 3 # 116 "/usr/local/lib/gcc-lib/decstation/2.2.2/include/ansi_compat.h" 3 # 89 "/usr/local/lib/gcc-lib/decstation/2.2.2/include/stdio.h" 2 3 extern struct _iobuf { int _cnt; char *_ptr; char *_base; int _bufsiz; short _flag; short _file; } _iob[3 ]; typedef struct _iobuf FILE; typedef long fpos_t; extern int getc( FILE *__stream ); extern int getchar( void ); extern int putc( int __c, FILE *__stream); extern int putchar( int __c); extern int feof( FILE *__stream ); extern int ferror( FILE *__stream ); extern int fileno( FILE *__stream ); extern int _filbuf( FILE *p); extern int _flsbuf( unsigned char x , FILE *p); typedef char *va_list; extern void clearerr( FILE *__stream); extern int fclose( FILE *__stream ); extern FILE * fdopen( int __filedes, char *__type ); extern int fflush( FILE *__stream ); extern int fgetc( FILE *__stream ); extern int fgetpos( FILE *__stream, fpos_t *__pos ); extern char * fgets( char *__s, int __n, FILE *__stream ); extern FILE * fopen( const char *__filename, const char *__type ); extern int fprintf( FILE *__stream, const char *__format, ... ); extern int fputc( int __c, FILE *__stream ); extern int fputs( const char *__s, FILE *__stream ); extern size_t fread( void *__ptr, size_t __size, size_t __nitems, FILE *__stream ); extern FILE * freopen( const char *__filename, const char *__type, FILE *__stream ); extern int fscanf( FILE *__stream, const char *__format, ... ); extern int fseek( FILE *__stream, long __offset, int __ptrname ); extern int fsetpos( FILE *__stream, const fpos_t *__pos ); extern long ftell( FILE *__stream ); extern size_t fwrite( const void *__ptr, size_t __size, size_t __nitems, FILE *__stream ); extern char * gets( char *__s ); extern void perror( const char *__s ); extern FILE * popen(const char *__command, const char *__type ); extern int printf( const char *__format, ... ); extern int puts( const char *__s ); extern int remove( const char *__filename ); extern int rename( const char *__from, const char *__to ); extern void rewind( FILE *__stream ); extern int scanf( const char *__format, ... ); extern void setbuf( FILE *__stream, char *__buf ); extern int setvbuf( FILE *__stream, char *__buf, int __type, size_t __size ); extern int sscanf( const char *__s, const char *__format, ... ); extern FILE * tmpfile( void ); extern char * tmpnam( char *__s ); extern int ungetc( int __c, FILE *__stream ); extern int vfprintf( FILE *__stream, const char *__format, va_list __ap ); extern int vprintf( const char *__format, va_list __ap ); extern int vsprintf( char *__s, const char *__format, va_list __ap); extern char * tempnam( const char *__dir, const char *__pfx); extern int putw( int __w, FILE *__stream ); extern int getw(FILE *__stream); extern int pclose( FILE *__stream ); # 299 "/usr/local/lib/gcc-lib/decstation/2.2.2/include/stdio.h" 3 extern int sprintf( char *__s, const char *__format, ... ); # 22 "gs.h" 2 # 1 "std.h" 1 # 1 "arch.h" 1 # 27 "std.h" 2 typedef unsigned char byte; typedef unsigned char uchar; typedef unsigned short ushort; typedef unsigned int uint; typedef unsigned long ulong; # 1 "/usr/local/lib/gcc-lib/decstation/2.2.2/include/sys/types.h" 1 3 # 1 "/usr/local/lib/gcc-lib/decstation/2.2.2/include/ansi_compat.h" 1 3 # 116 "/usr/local/lib/gcc-lib/decstation/2.2.2/include/ansi_compat.h" 3 # 79 "/usr/local/lib/gcc-lib/decstation/2.2.2/include/sys/types.h" 2 3 typedef unsigned char u_char; typedef unsigned short u_short; typedef unsigned int u_int; typedef unsigned int uint_ ; typedef unsigned long u_long; typedef unsigned short ushort_ ; typedef volatile char v_char; typedef volatile short v_short; typedef volatile long v_long; typedef volatile unsigned char vu_char; typedef volatile unsigned short vu_short; typedef volatile unsigned long vu_long; typedef signed char s_char; typedef struct _physadr { int r[1]; } *physadr; typedef struct label_t { int val[12]; } label_t; typedef struct _quad { long val[2]; } quad; typedef long daddr_t; typedef char * caddr_t; typedef u_long gno_t; typedef short cnt_t; typedef long swblk_t; typedef long paddr_t; typedef long audit_ID_t; typedef short dev_t; typedef short gid_t; typedef unsigned long ino_t; typedef unsigned short mode_t; typedef short nlink_t; typedef int off_t; typedef int pid_t; typedef short uid_t; typedef int time_t; typedef int clock_t; typedef long key_t; typedef long fd_mask; typedef struct fd_set { fd_mask fds_bits[(((4096 )+(( (sizeof(fd_mask) * 8 ) )-1))/( (sizeof(fd_mask) * 8 ) )) ]; } fd_set; # 111 "std.h" 2 # 138 "std.h" typedef char *ptr_ord_t; typedef double floatp; # 219 "std.h" typedef char *(*proc_alloc_t)(unsigned num_elements, unsigned element_size, const char *client_name ); typedef void (*proc_free_t)(char *data, unsigned num_elements, unsigned element_size, const char *client_name ); # 23 "gs.h" 2 extern FILE *gs_stdin, *gs_stdout, *gs_stderr; typedef struct gs_point_s { double x, y; } gs_point; typedef struct gs_int_point_s { int x, y; } gs_int_point; typedef struct gs_rect_s { gs_point p, q; } gs_rect; typedef struct gs_int_rect_s { gs_int_point p, q; } gs_int_rect; typedef struct gs_state_s gs_state; typedef struct { proc_alloc_t alloc; proc_free_t free; } gs_memory_procs; char *gs_malloc(uint, uint, const char * ); void gs_free(char *, uint, uint, const char * ); # 22 "gx.h" 2 # 1 "gdebug.h" 1 extern char gs_debug[128]; # 65 "gdebug.h" # 23 "gx.h" 2 extern int gs_log_error(int, const char *, int ); # 22 "ghost.h" 2 # 1 "iref.h" 1 typedef struct ref_s ref; typedef enum { t_array, t_boolean, t_condition, t_dictionary, t_file, t_fontID, t_gstate, t_integer, t_lock, t_mark, t_name, t_null, t_operator, t_real, t_save, t_string, t_mixedarray, t_shortarray, t_device, t_oparray, t_next_index } ref_type; typedef struct dict_s dict; typedef struct name_s name; typedef int (*dummy_op_proc_p)(); struct stream_s; struct gs_font_s; struct gs_color_s; struct gs_condition_s; struct gs_lock_s; struct gx_device_s; struct gstate_obj_s; struct vm_save_s; struct tas_s { ushort type_attrs; ushort rsize; }; struct ref_s { struct tas_s tas; union v { long intval; ushort index; float realval; byte *bytes; const byte *const_bytes; struct ref_s *refs; const struct ref_s *const_refs; name *pname; const name *const_pname; dict *pdict; const dict *const_pdict; const ushort *packed; dummy_op_proc_p opproc; struct stream_s *pfile; struct gs_font_s *pfont; struct gs_condition_s *pcond; struct gs_lock_s *plock; struct gx_device_s *pdevice; struct gs_state_s *pgstate; struct vm_save_s *psave; } value; }; # 23 "ghost.h" 2 # 24 "gsmain.c" 2 # 1 "gp.h" 1 extern void gp_init(void ); extern void gp_exit(void ); extern void gp_get_clock(long *pdt ); typedef struct gx_device_s gx_device; extern void gp_console_puts(const char *, uint ); extern int gp_make_console_current(gx_device * ); extern int gp_make_graphics_current(gx_device * ); extern FILE *gp_open_printer(char *fname ); extern void gp_close_printer(FILE *pfile, const char *fname ); extern const char gp_file_name_list_separator; extern const char gp_scratch_file_name_prefix[]; extern const int gp_file_names_ignore_case; extern const char gp_fmode_binary_suffix[]; extern const char gp_fmode_rb[]; extern const char gp_fmode_wb[]; extern FILE *gp_open_scratch_file(const char *prefix, char *fname, const char *mode ); extern int gp_file_name_is_absolute(const char *fname, uint len ); extern const char * gp_file_name_concat_string(const char *prefix, uint plen, const char *fname, uint len ); typedef struct file_status_s { long size_pages; long size_bytes; long time_referenced; long time_created; } file_status; extern int gp_file_status(const char *fname, file_status *pstatus ); struct file_enum_s; typedef struct file_enum_s file_enum; extern file_enum *gp_enumerate_files_init(const char *pat, uint patlen, proc_alloc_t palloc, proc_free_t pfree ); extern uint gp_enumerate_files_next(file_enum *pfen, char *ptr, uint maxlen ); extern void gp_enumerate_files_close(file_enum *pfen ); # 25 "gsmain.c" 2 # 1 "gsmatrix.h" 1 struct gs_matrix_s { long _xx ; float xx; long _xy ; float xy; long _yx ; float yx; long _yy ; float yy; long _tx ; float tx; long _ty ; float ty ; }; typedef struct gs_matrix_s gs_matrix; void gs_make_identity(gs_matrix * ); int gs_make_translation(floatp, floatp, gs_matrix * ), gs_make_scaling(floatp, floatp, gs_matrix * ), gs_make_rotation(floatp, gs_matrix * ); int gs_matrix_multiply(const gs_matrix *, const gs_matrix *, gs_matrix * ), gs_matrix_invert(const gs_matrix *, gs_matrix * ), gs_matrix_rotate(const gs_matrix *, floatp, gs_matrix * ); int gs_point_transform(floatp, floatp, const gs_matrix *, gs_point * ), gs_point_transform_inverse(floatp, floatp, const gs_matrix *, gs_point * ), gs_distance_transform(floatp, floatp, const gs_matrix *, gs_point * ), gs_distance_transform_inverse(floatp, floatp, const gs_matrix *, gs_point * ), gs_bbox_transform_inverse(gs_rect *, gs_matrix *, gs_rect * ); # 26 "gsmain.c" 2 # 1 "gxdevice.h" 1 # 1 "gxbitmap.h" 1 typedef unsigned long gx_bitmap_id; typedef struct gx_bitmap_s { byte *data; int raster; gs_int_point size; gx_bitmap_id id; ushort rep_width, rep_height; } gx_bitmap; # 23 "gxdevice.h" 2 typedef unsigned long gx_color_index; typedef unsigned short gx_color_value; typedef struct gx_device_color_info_s { int num_components; int depth; gx_color_value max_gray; gx_color_value max_rgb; gx_color_value dither_gray; gx_color_value dither_rgb; } gx_device_color_info; typedef struct gx_device_procs_s gx_device_procs; # 76 "gxdevice.h" struct gx_device_s { int params_size; gx_device_procs *procs; const char *dname; int width; int height; float x_pixels_per_inch; float y_pixels_per_inch; float l_margin, b_margin, r_margin, t_margin; gx_device_color_info color_info; int is_open ; }; typedef struct gs_prop_item_s gs_prop_item; struct gx_device_procs_s { int (*open_device)(gx_device *dev ) ; void (*get_initial_matrix)(gx_device *dev, gs_matrix *pmat ) ; int (*sync_output)(gx_device *dev ) ; int (*output_page)(gx_device *dev, int num_copies, int flush ) ; int (*close_device)(gx_device *dev ) ; gx_color_index (*map_rgb_color)(gx_device *dev, gx_color_value red, gx_color_value green, gx_color_value blue ) ; int (*map_color_rgb)(gx_device *dev, gx_color_index color, gx_color_value rgb[3] ) ; int (*fill_rectangle)(gx_device *dev, int x, int y, int width, int height, gx_color_index color ) ; int (*tile_rectangle)(gx_device *dev, const gx_bitmap *tile, int x, int y, int width, int height, gx_color_index color0, gx_color_index color1, int phase_x, int phase_y ) ; int (*copy_mono)(gx_device *dev, const unsigned char *data, int data_x, int raster, gx_bitmap_id id, int x, int y, int width, int height, gx_color_index color0, gx_color_index color1 ) ; int (*copy_color)(gx_device *dev, const unsigned char *data, int data_x, int raster, gx_bitmap_id id, int x, int y, int width, int height ) ; int (*draw_line)(gx_device *dev, int x0, int y0, int x1, int y1, gx_color_index color ) ; int (*get_bits)(gx_device *dev, int y, unsigned char *data, unsigned int size, int pad_to_word ) ; int (*get_props)(gx_device *dev, gs_prop_item *plist ) ; int (*put_props)(gx_device *dev, gs_prop_item *plist, int count ) ; }; extern unsigned int gx_device_bytes_per_scan_line(const gx_device *dev, int pad_to_word ); extern int gx_device_adjust_resolution(gx_device *dev, int actual_width, int actual_height ); int gx_default_open_device(gx_device *dev ) ; void gx_default_get_initial_matrix(gx_device *dev, gs_matrix *pmat ) ; int gx_default_sync_output(gx_device *dev ) ; int gx_default_output_page(gx_device *dev, int num_copies, int flush ) ; int gx_default_close_device(gx_device *dev ) ; gx_color_index gx_default_map_rgb_color(gx_device *dev, gx_color_value red, gx_color_value green, gx_color_value blue ) ; int gx_default_map_color_rgb(gx_device *dev, gx_color_index color, gx_color_value rgb[3] ) ; int gx_default_tile_rectangle(gx_device *dev, const gx_bitmap *tile, int x, int y, int width, int height, gx_color_index color0, gx_color_index color1, int phase_x, int phase_y ) ; int gx_default_copy_color(gx_device *dev, const unsigned char *data, int data_x, int raster, gx_bitmap_id id, int x, int y, int width, int height ) ; int gx_default_draw_line(gx_device *dev, int x0, int y0, int x1, int y1, gx_color_index color ) ; int gx_default_get_bits(gx_device *dev, int y, unsigned char *data, unsigned int size, int pad_to_word ) ; int gx_default_get_props(gx_device *dev, gs_prop_item *plist ) ; int gx_default_put_props(gx_device *dev, gs_prop_item *plist, int count ) ; # 27 "gsmain.c" 2 # 1 "gserrors.h" 1 # 28 "gsmain.c" 2 # 1 "estack.h" 1 typedef ref *es_ptr; typedef const ref *const_es_ptr; extern es_ptr esbot, esp, estop; extern es_ptr esfile; # 29 "gsmain.c" 2 # 1 "main.h" 1 extern char *gs_lib_env_path; extern uint gs_memory_chunk_size; extern int gs_user_errors; extern void gs_init0(FILE *, FILE *, FILE *, int ), gs_init1(void ), gs_init2(void ); extern void gs_add_lib_path(const char * ); extern int gs_run_file(const char *, int, int * ), gs_run_string(const char *, int, int * ); extern void gs_debug_dump_stack(int code ); extern void gs_finit(void ), gs_exit(int ); # 30 "gsmain.c" 2 # 1 "ostack.h" 1 typedef ref *os_ptr; typedef const ref *const_os_ptr; extern os_ptr osbot, osp, ostop; # 31 "gsmain.c" 2 # 1 "store.h" 1 # 67 "store.h" extern int alloc_save_new_mask; extern int alloc_save_test_mask; extern int alloc_save_change(ref *ptr, const char *client_name ); extern ref *alloc_refs(uint num_refs, const char *client_name ); extern void alloc_free_refs(ref *ptr, uint num_refs, const char *client_name ); # 32 "gsmain.c" 2 uint gs_memory_chunk_size = 20000; int gs_user_errors; const char **gs_lib_paths; static int gs_lib_count; char *gs_lib_env_path; extern const char *gs_lib_default_path; extern const char *gs_init_file; extern ref gs_init_file_array[]; extern int gs_log_errors; extern FILE *gs_debug_out; static int init1_done, init2_done; void gs_init0(FILE *in, FILE *out, FILE *err, int max_lib_paths) { gs_stdin = in; gs_stdout = out; gs_stderr = err; gs_debug_out = gs_stdout; gp_init(); gs_lib_env_path = 0; gs_lib_paths = (const char **)gs_malloc(max_lib_paths + 3, sizeof(char *), "gs_lib_paths array"); gs_lib_count = 0; gs_user_errors = 1; gs_log_errors = 0; memset(gs_debug, 0, 128); init1_done = init2_done = 0; } void gs_init1() { if ( !init1_done ) { alloc_init(gs_malloc, gs_free, gs_memory_chunk_size); { extern void name_init(void ); name_init(); } { extern void obj_init(void ); obj_init(); } { extern void scan_init(void ); scan_init(); } init1_done = 1; } } void gs_init2() { gs_init1(); if ( !init2_done ) { int code, exit_code; { extern void gs_init(void ); gs_init(); } { extern void zop_init(void ); zop_init(); } interp_init(1); { extern void op_init(void ); op_init(); } { ref *ifp = gs_init_file_array; ref ifa; for ( ; ifp->value.bytes != 0; ifp++ ) ((ifp)->tas.rsize = ( strlen((const char *)ifp->value.bytes))) ; (((&ifa)->value. refs = ( gs_init_file_array), ((&ifa)->tas.type_attrs = (( t_array) << 7 ) + ( (0x10 +0x20 ) )) ) , ((&ifa)->tas.rsize = ( ifp - gs_init_file_array)) ) ; initial_enter_name("INITFILES", &ifa); } code = gs_run_file(gs_init_file, gs_user_errors, &exit_code); if ( code < 0 ) { if ( code != (-100) ) gs_debug_dump_stack(code); gs_exit((exit_code ? exit_code : 2)); } init2_done = 1; } } void gs_add_lib_path(const char *lpath) { gs_lib_paths[gs_lib_count] = lpath; gs_lib_count++; } static void set_lib_paths() { const char **ppath = &gs_lib_paths[gs_lib_count]; if ( gs_lib_env_path != 0 ) *ppath++ = gs_lib_env_path; if ( gs_lib_default_path != 0 ) *ppath++ = gs_lib_default_path; *ppath = 0; } static int run_open(const char *file_name, ref *pfile) { byte fn[200 ]; uint len; return lib_file_open(file_name, strlen(file_name), fn, 200 , &len, pfile); } int gs_run_file(const char *file_name, int user_errors, int *pexit_code) { ref initial_file; set_lib_paths(); if ( run_open(file_name, &initial_file) < 0 ) { ( fprintf(gs_stderr , "Can't find initialization file %s\n", file_name)) ; return gs_log_error((-100) , "gsmain.c", 166) ; } ((&initial_file)->tas.type_attrs |= ( 0x20 + 0x40 )) ; return gs_interpret(&initial_file, user_errors, pexit_code); } int gs_run_string(const char *str, int user_errors, int *pexit_code) { ref stref; set_lib_paths(); (((&stref)->value. const_bytes = ( (byte *)str), ((&stref)->tas.type_attrs = (( t_string) << 7 ) + ( 0x40 + (0x10 +0x20 ) )) ) , ((&stref)->tas.rsize = ( strlen(str))) ) ; return gs_interpret(&stref, gs_user_errors, pexit_code); } extern gx_device *gx_device_list[]; void gs_malloc_release(void ); void file_close_all(void ); int gs_closedevice(gx_device * ); void gp_exit(void ); void gs_finit() { gx_device **pdev = gx_device_list; fflush(gs_stderr ); for ( ; *pdev != 0; pdev++ ) gs_closedevice(*pdev); file_close_all(); gs_malloc_release(); gp_exit(); } void gs_exit(int code) { gs_finit(); exit(code); } extern void debug_print_ref(const ref * ); extern void debug_dump_refs(const ref *, uint, const char * ); extern ref error_object; void gs_debug_dump_stack(int code) { zflush(osp); fprintf(gs_stderr , "\nUnexpected interpreter error %d!\nError object: ", code) ; debug_print_ref(&error_object); fputc('\n', gs_stderr ) ; debug_dump_refs(osbot, osp + 1 - osbot, "Operand stack"); debug_dump_refs(esbot, esp + 1 - esbot, "Execution stack"); } int gs_log_error(int err, const char *file, int line) { if ( gs_log_errors ) { if ( file == 0 ) fprintf(gs_stderr , "Returning error %d\n", err) ; else fprintf(gs_stderr , "%s(%d): returning error %d\n", (char *)file, line, err) ; } return err; } -------------------%<----------------------- I hope this helps... doug -- uucp: ...utzoo!sis!doug phone: +1 416 845 9430 x2140 else: doug.berry@sheridanc.on.ca