* egcs-971031, sparc-sun-solaris2.5 new bootstrap failure @ 1997-11-03 9:43 Kaveh R. Ghazi 1997-11-03 17:55 ` H.J. Lu 0 siblings, 1 reply; 12+ messages in thread From: Kaveh R. Ghazi @ 1997-11-03 9:43 UTC (permalink / raw) To: egcs; +Cc: ghazi Building egcs-971031 on sparc-sun-solaris2.5 using BOOT_CFLAGS= "-g -O3 -funroll-all-loops" with cc for stage1 resulted in: > stage1/xgcc -Bstage1/ -DIN_GCC -DSVR4 -g -O3 -funroll-all-loops > -DHAVE_CONFIG_H -o cccp cccp.o cexp.o \ > version.o obstack.o ` case "stage1/xgcc -Bstage1/" in "cc") echo > "alloca.o" ;; esac ` > Undefined first referenced > symbol in file > .LL6861 cccp.o > ld: fatal: Symbol referencing errors. No output written to cccp > collect2: ld returned 1 exit status > make[1]: *** [cccp] Error 1 The dwarf patch made no difference. I was able to bootstrap when using "-g -O2". --Kaveh -- Kaveh R. Ghazi Project Manager ghazi@caip.rutgers.edu ICon CMT Corp. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: egcs-971031, sparc-sun-solaris2.5 new bootstrap failure 1997-11-03 9:43 egcs-971031, sparc-sun-solaris2.5 new bootstrap failure Kaveh R. Ghazi @ 1997-11-03 17:55 ` H.J. Lu 0 siblings, 0 replies; 12+ messages in thread From: H.J. Lu @ 1997-11-03 17:55 UTC (permalink / raw) To: Kaveh R. Ghazi; +Cc: egcs, ghazi > > Building egcs-971031 on sparc-sun-solaris2.5 using BOOT_CFLAGS= > "-g -O3 -funroll-all-loops" with cc for stage1 resulted in: > > > stage1/xgcc -Bstage1/ -DIN_GCC -DSVR4 -g -O3 -funroll-all-loops > > -DHAVE_CONFIG_H -o cccp cccp.o cexp.o \ > > version.o obstack.o ` case "stage1/xgcc -Bstage1/" in "cc") echo > > "alloca.o" ;; esac ` > > Undefined first referenced > > symbol in file > > .LL6861 cccp.o > > ld: fatal: Symbol referencing errors. No output written to cccp > > collect2: ld returned 1 exit status > > make[1]: *** [cccp] Error 1 > > The dwarf patch made no difference. > > I was able to bootstrap when using "-g -O2". This may or may not be related to my -g -funroll-loops bug report. I cannot use them together on x86 with my small test code. -g -O -funroll-loops kills gcc. H.J. ---- class String { public: String(); ~String(); int OK() const; }; void splittest() { String w[10]; for (int i = 0; i < 5; ++i) { if (!w[i].OK()) return; } } ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: egcs-971031, sparc-sun-solaris2.5 new bootstrap failure @ 1997-11-07 12:55 Kaveh R. Ghazi 1997-11-07 14:52 ` Jim Wilson 0 siblings, 1 reply; 12+ messages in thread From: Kaveh R. Ghazi @ 1997-11-07 12:55 UTC (permalink / raw) To: egcs; +Cc: ghazi The following problem still occurs with egcs-971105. --Kaveh > Building egcs-971031 on sparc-sun-solaris2.5 using BOOT_CFLAGS= > "-g -O3 -funroll-all-loops" with cc for stage1 resulted in: > > > stage1/xgcc -Bstage1/ -DIN_GCC -DSVR4 -g -O3 -funroll-all-loops > > -DHAVE_CONFIG_H -o cccp cccp.o cexp.o \ > > version.o obstack.o ` case "stage1/xgcc -Bstage1/" in "cc") echo > > "alloca.o" ;; esac ` > > Undefined first referenced > > symbol in file > > .LL6861 cccp.o > > ld: fatal: Symbol referencing errors. No output written to cccp > > collect2: ld returned 1 exit status > > make[1]: *** [cccp] Error 1 > > The dwarf patch made no difference. > > I was able to bootstrap when using "-g -O2". > > --Kaveh ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: egcs-971031, sparc-sun-solaris2.5 new bootstrap failure 1997-11-07 12:55 Kaveh R. Ghazi @ 1997-11-07 14:52 ` Jim Wilson 1997-11-08 5:13 ` Toon Moene 0 siblings, 1 reply; 12+ messages in thread From: Jim Wilson @ 1997-11-07 14:52 UTC (permalink / raw) To: Kaveh R. Ghazi; +Cc: egcs Here is a patch to fix this. This will be in the next snapshot. Thu Nov 6 18:27:36 1997 Jim Wilson <wilson@cygnus.com> * flags.h (flag_rerun_loop_opt): Declare. * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt. * toplev.c (flag_rerum_loop_opt): Delete static. diff -pr clean-egcs-971105/gcc/flags.h egcs-971105/gcc/flags.h *** clean-egcs-971105/gcc/flags.h Wed Aug 27 20:35:15 1997 --- egcs-971105/gcc/flags.h Thu Nov 6 17:57:46 1997 *************** extern int flag_volatile_global; *** 275,280 **** --- 275,284 ---- extern int flag_fast_math; + /* Nonzero means to run loop optimizations twice. */ + + extern int flag_rerun_loop_opt; + /* Nonzero means make functions that look like good inline candidates go inline. */ diff -pr clean-egcs-971105/gcc/loop.c egcs-971105/gcc/loop.c *** clean-egcs-971105/gcc/loop.c Sun Oct 26 08:20:07 1997 --- egcs-971105/gcc/loop.c Thu Nov 6 17:54:00 1997 *************** invariant_p (x) *** 2833,2839 **** We don't know the loop bounds here though, so just fail for all labels. */ ! if (flag_unroll_loops) return 0; else return 1; --- 2833,2844 ---- We don't know the loop bounds here though, so just fail for all labels. */ ! /* ??? This is also necessary if flag_rerun_loop_opt is true, because in ! this case we may be doing loop unrolling the second time we run loop, ! and hence the first loop run also needs this check. There is no way ! to check here whether the second run will actually do loop unrolling ! though, as that info is in a local var in rest_of_compilation. */ ! if (flag_unroll_loops || flag_rerun_loop_opt) return 0; else return 1; diff -pr clean-egcs-971105/gcc/toplev.c egcs-971105/gcc/toplev.c *** clean-egcs-971105/gcc/toplev.c Sun Oct 26 08:56:15 1997 --- egcs-971105/gcc/toplev.c Thu Nov 6 17:56:26 1997 *************** static int flag_rerun_cse_after_loop; *** 507,513 **** /* Nonzero means to run loop optimizations twice. */ ! static int flag_rerun_loop_opt; /* Nonzero for -finline-functions: ok to inline functions that look like good inline candidates. */ --- 507,513 ---- /* Nonzero means to run loop optimizations twice. */ ! int flag_rerun_loop_opt; /* Nonzero for -finline-functions: ok to inline functions that look like good inline candidates. */ ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: egcs-971031, sparc-sun-solaris2.5 new bootstrap failure 1997-11-07 14:52 ` Jim Wilson @ 1997-11-08 5:13 ` Toon Moene 1997-11-09 0:42 ` Jeffrey A Law 1997-11-09 7:52 ` Toon Moene 0 siblings, 2 replies; 12+ messages in thread From: Toon Moene @ 1997-11-08 5:13 UTC (permalink / raw) To: Jim Wilson; +Cc: egcs > Here is a patch to fix this. This will be in the next > snapshot. > > Thu Nov 6 18:27:36 1997 Jim Wilson <wilson@cygnus.com> > > * flags.h (flag_rerun_loop_opt): Declare. > * loop.c (invariant_p, case LABEL_REF): Check > flag_rerun_loop_opt. > * toplev.c (flag_rerum_loop_opt): Delete static. Ah, that means that Jeff implemented rerun-loop-opt slightly differently from the way g77 had it; we *did* have an externally visible flag -frerun-loop-opt. > We don't know the loop bounds here though, so > just fail for all labels. */ > ! /* ??? This is also necessary if > flag_rerun_loop_opt is true, because in > ! this > case we may be doing loop unrolling the second time we > run loop, > ! and hence the first loop run also > needs this check. There is no way > ! to check here > whether the second run will actually do loop unrolling > ! though, as that info is in a local var in > rest_of_compilation. */ > ! if (flag_unroll_loops || flag_rerun_loop_opt) > return 0; > else > return 1; Fascinating - this error must have been in g77 too (between 0.5.18, April '96 and 0.5.20, March '97). We never found a problem with it though. For g77-0.5.20 I decided to have loop unrolling only happening in the second pass through loop_optimize (as it is in egcs now), because the backend is not good at optimising unrolled loops. One can easily check this by compiling the following on a ix86 (for simplicity this assumes n % 4 == 0): subroutine daxpy(x, y, a, n) integer n double precision x(n), y(n), a do i = 1, n, 4 y(i ) = y(i ) + a * x(i ) y(i+1) = y(i+1) + a * x(i+1) y(i+2) = y(i+2) + a * x(i+2) y(i+3) = y(i+3) + a * x(i+3) enddo end This basically is again pointing out that an optimisation that combine_givs *should* do isn't done, and we end up using 8 different pseudo registers for the array accesses. HTH, Toon. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: egcs-971031, sparc-sun-solaris2.5 new bootstrap failure 1997-11-08 5:13 ` Toon Moene @ 1997-11-09 0:42 ` Jeffrey A Law 1997-11-09 9:20 ` Joern Rennecke 1997-11-09 7:52 ` Toon Moene 1 sibling, 1 reply; 12+ messages in thread From: Jeffrey A Law @ 1997-11-09 0:42 UTC (permalink / raw) To: Toon Moene; +Cc: Jim Wilson, egcs In message < 9711081217.AA08778@moene.indiv.nluug.nl >you write: > > Here is a patch to fix this. This will be in the next > > snapshot. > > > > Thu Nov 6 18:27:36 1997 Jim Wilson <wilson@cygnus.com> > > > > * flags.h (flag_rerun_loop_opt): Declare. > > * loop.c (invariant_p, case LABEL_REF): Check > > flag_rerun_loop_opt. > > * toplev.c (flag_rerum_loop_opt): Delete static. > > Ah, that means that Jeff implemented rerun-loop-opt slightly > differently from the way g77 had it; we *did* have an externally > visible flag -frerun-loop-opt. We always had a user visible -frerun-loop-opt option. I believe Jim was referring to the variable itself -- it was static in toplev.c, but needed to be external so that loop.c could peek at it. jeff ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: egcs-971031, sparc-sun-solaris2.5 new bootstrap failure 1997-11-09 0:42 ` Jeffrey A Law @ 1997-11-09 9:20 ` Joern Rennecke 1997-11-09 10:46 ` Jeffrey A Law 0 siblings, 1 reply; 12+ messages in thread From: Joern Rennecke @ 1997-11-09 9:20 UTC (permalink / raw) To: law; +Cc: toon, wilson, egcs > > > Thu Nov 6 18:27:36 1997 Jim Wilson <wilson@cygnus.com> > > > > > > * flags.h (flag_rerun_loop_opt): Declare. > > > * loop.c (invariant_p, case LABEL_REF): Check > > > flag_rerun_loop_opt. > > > * toplev.c (flag_rerum_loop_opt): Delete static. > > > > Ah, that means that Jeff implemented rerun-loop-opt slightly > > differently from the way g77 had it; we *did* have an externally > > visible flag -frerun-loop-opt. > We always had a user visible -frerun-loop-opt option. > > I believe Jim was referring to the variable itself -- it was static > in toplev.c, but needed to be external so that loop.c could peek at > it. I wonder if that was actually the most appropriate patch; the comment in invariant_p says that the information is still not as good as we'd like to have. Why not add a new argument to loop_optimize, so that rest_of_compilation can exactly tell it if there will be an subsequent loop unrolling. loop_optimize could then store this information in a variable static to loop.c . ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: egcs-971031, sparc-sun-solaris2.5 new bootstrap failure 1997-11-09 9:20 ` Joern Rennecke @ 1997-11-09 10:46 ` Jeffrey A Law 1997-11-25 22:49 ` Joern Rennecke 0 siblings, 1 reply; 12+ messages in thread From: Jeffrey A Law @ 1997-11-09 10:46 UTC (permalink / raw) To: Joern Rennecke; +Cc: toon, wilson, egcs In message < 199711091720.RAA14763@phal.cygnus.co.uk >you write: > I wonder if that was actually the most appropriate patch; the comment > in invariant_p says that the information is still not as good as we'd > like to have. I believe it's appropriate -- especially for the release. > Why not add a new argument to loop_optimize, so that > rest_of_compilation can exactly tell it if there will be an subsequent > loop unrolling. loop_optimize could then store this information in a > variable static to loop.c . Something like this is pretty reasonable for the mainline sources. Will you implement it and send me the diffs? jeff ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: egcs-971031, sparc-sun-solaris2.5 new bootstrap failure 1997-11-09 10:46 ` Jeffrey A Law @ 1997-11-25 22:49 ` Joern Rennecke 1997-12-06 7:50 ` Jeffrey A Law 0 siblings, 1 reply; 12+ messages in thread From: Joern Rennecke @ 1997-11-25 22:49 UTC (permalink / raw) To: law; +Cc: amylaar, toon, wilson, egcs > > Why not add a new argument to loop_optimize, so that > > rest_of_compilation can exactly tell it if there will be an subsequent > > loop unrolling. loop_optimize could then store this information in a > > variable static to loop.c . > Something like this is pretty reasonable for the mainline sources. Will > you implement it and send me the diffs? I have thought about this some more, and have come to the conclusion that it would be cleaner not to change flag_unroll_loops in the first place. There is also no need to manipulate flag_unroll_all_loops - it has only an effect on unroll_loop, and this function is only called when some loop unrolling is done in the first place. Tue Nov 25 22:32:49 1997 J"orn Rennecke <amylaar@cygnus.co.uk> * loop.c (invariant_p): Don't test flag_rerun_loop_opt. (loop_optimize, scan_loop, strength_reduce): New argument unroll_p. * toplev.c (rest_of_compilation): Pass it. Remove code to save / clear / restore flag_unroll_{,all_}loops. Index: loop.c =================================================================== RCS file: /cvs/cvsfiles/egcs/gcc/loop.c,v retrieving revision 1.20 diff -p -r1.20 loop.c *** loop.c 1997/11/09 08:35:43 1.20 --- loop.c 1997/11/25 22:34:24 *************** init_loop () *** 374,383 **** (or 0 if none should be output). */ void ! loop_optimize (f, dumpfile) /* f is the first instruction of a chain of insns for one function */ rtx f; FILE *dumpfile; { register rtx insn; register int i; --- 374,384 ---- (or 0 if none should be output). */ void ! loop_optimize (f, dumpfile, unroll_p) /* f is the first instruction of a chain of insns for one function */ rtx f; FILE *dumpfile; + int unroll_p; { register rtx insn; register int i; *************** loop_optimize (f, dumpfile) *** 502,508 **** uid_luid[i] = uid_luid[i - 1]; /* Create a mapping from loops to BLOCK tree nodes. */ ! if (flag_unroll_loops && write_symbols != NO_DEBUG) find_loop_tree_blocks (); /* Determine if the function has indirect jump. On some systems --- 503,509 ---- uid_luid[i] = uid_luid[i - 1]; /* Create a mapping from loops to BLOCK tree nodes. */ ! if (unroll_p && write_symbols != NO_DEBUG) find_loop_tree_blocks (); /* Determine if the function has indirect jump. On some systems *************** loop_optimize (f, dumpfile) *** 514,525 **** for (i = max_loop_num-1; i >= 0; i--) if (! loop_invalid[i] && loop_number_loop_ends[i]) scan_loop (loop_number_loop_starts[i], loop_number_loop_ends[i], ! max_reg_num ()); /* If debugging and unrolling loops, we must replicate the tree nodes corresponding to the blocks inside the loop, so that the original one to one mapping will remain. */ ! if (flag_unroll_loops && write_symbols != NO_DEBUG) unroll_block_trees (); } \f --- 515,526 ---- for (i = max_loop_num-1; i >= 0; i--) if (! loop_invalid[i] && loop_number_loop_ends[i]) scan_loop (loop_number_loop_starts[i], loop_number_loop_ends[i], ! max_reg_num (), unroll_p); /* If debugging and unrolling loops, we must replicate the tree nodes corresponding to the blocks inside the loop, so that the original one to one mapping will remain. */ ! if (unroll_p && write_symbols != NO_DEBUG) unroll_block_trees (); } \f *************** loop_optimize (f, dumpfile) *** 534,542 **** write, then we can also mark the memory read as invariant. */ static void ! scan_loop (loop_start, end, nregs) rtx loop_start, end; int nregs; { register int i; register rtx p; --- 535,544 ---- write, then we can also mark the memory read as invariant. */ static void ! scan_loop (loop_start, end, nregs, unroll_p) rtx loop_start, end; int nregs; + int unroll_p; { register int i; register rtx p; *************** scan_loop (loop_start, end, nregs) *** 1051,1057 **** if (flag_strength_reduce) strength_reduce (scan_start, end, loop_top, ! insn_count, loop_start, end); } \f /* Add elements to *OUTPUT to record all the pseudo-regs --- 1053,1059 ---- if (flag_strength_reduce) strength_reduce (scan_start, end, loop_top, ! insn_count, loop_start, end, unroll_p); } \f /* Add elements to *OUTPUT to record all the pseudo-regs *************** invariant_p (x) *** 2847,2858 **** We don't know the loop bounds here though, so just fail for all labels. */ ! /* ??? This is also necessary if flag_rerun_loop_opt is true, because in ! this case we may be doing loop unrolling the second time we run loop, ! and hence the first loop run also needs this check. There is no way ! to check here whether the second run will actually do loop unrolling ! though, as that info is in a local var in rest_of_compilation. */ ! if (flag_unroll_loops || flag_rerun_loop_opt) return 0; else return 1; --- 2849,2855 ---- We don't know the loop bounds here though, so just fail for all labels. */ ! if (flag_unroll_loops) return 0; else return 1; *************** static rtx addr_placeholder; *** 3339,3351 **** static void strength_reduce (scan_start, end, loop_top, insn_count, ! loop_start, loop_end) rtx scan_start; rtx end; rtx loop_top; int insn_count; rtx loop_start; rtx loop_end; { rtx p; rtx set; --- 3336,3349 ---- static void strength_reduce (scan_start, end, loop_top, insn_count, ! loop_start, loop_end, unroll_p) rtx scan_start; rtx end; rtx loop_top; int insn_count; rtx loop_start; rtx loop_end; + int unroll_p; { rtx p; rtx set; *************** strength_reduce (scan_start, end, loop_t *** 3583,3589 **** { /* Can still unroll the loop anyways, but indicate that there is no strength reduction info available. */ ! if (flag_unroll_loops) unroll_loop (loop_end, insn_count, loop_start, end_insert_before, 0); return; --- 3581,3587 ---- { /* Can still unroll the loop anyways, but indicate that there is no strength reduction info available. */ ! if (unroll_p) unroll_loop (loop_end, insn_count, loop_start, end_insert_before, 0); return; *************** strength_reduce (scan_start, end, loop_t *** 4362,4368 **** induction variable information that strength_reduce has already collected. */ ! if (flag_unroll_loops) unroll_loop (loop_end, insn_count, loop_start, end_insert_before, 1); #ifdef HAIFA --- 4360,4366 ---- induction variable information that strength_reduce has already collected. */ ! if (unroll_p) unroll_loop (loop_end, insn_count, loop_start, end_insert_before, 1); #ifdef HAIFA Index: toplev.c =================================================================== RCS file: /cvs/cvsfiles/egcs/gcc/toplev.c,v retrieving revision 1.15 diff -p -r1.15 toplev.c *** toplev.c 1997/11/14 15:44:56 1.15 --- toplev.c 1997/11/25 22:34:29 *************** rest_of_compilation (decl) *** 3313,3340 **** { TIMEVAR (loop_time, { - int save_flag_unroll_loops; - int save_flag_unroll_all_loops; - if (flag_rerun_loop_opt) { /* We only want to perform unrolling once. */ - save_flag_unroll_loops = flag_unroll_loops; - save_flag_unroll_all_loops = flag_unroll_all_loops; - flag_unroll_loops = 0; - flag_unroll_all_loops = 0; ! loop_optimize (insns, loop_dump_file); /* The regscan pass may not be necessary, but let's be safe until we can prove otherwise. */ reg_scan (insns, max_reg_num (), 1); - - /* Restore loop unrolling flags. */ - flag_unroll_loops = save_flag_unroll_loops; - flag_unroll_all_loops = save_flag_unroll_all_loops; } ! loop_optimize (insns, loop_dump_file); }); } --- 3313,3329 ---- { TIMEVAR (loop_time, { if (flag_rerun_loop_opt) { /* We only want to perform unrolling once. */ ! loop_optimize (insns, loop_dump_file, 0); /* The regscan pass may not be necessary, but let's be safe until we can prove otherwise. */ reg_scan (insns, max_reg_num (), 1); } ! loop_optimize (insns, loop_dump_file, flag_unroll_loops); }); } ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: egcs-971031, sparc-sun-solaris2.5 new bootstrap failure 1997-11-25 22:49 ` Joern Rennecke @ 1997-12-06 7:50 ` Jeffrey A Law 0 siblings, 0 replies; 12+ messages in thread From: Jeffrey A Law @ 1997-12-06 7:50 UTC (permalink / raw) To: Joern Rennecke; +Cc: toon, wilson, egcs In message <199711252310.XAA08838@phal.cygnus.co.uk>you write: > Tue Nov 25 22:32:49 1997 J"orn Rennecke <amylaar@cygnus.co.uk> > > * loop.c (invariant_p): Don't test flag_rerun_loop_opt. > (loop_optimize, scan_loop, strength_reduce): New argument unroll_p. > * toplev.c (rest_of_compilation): Pass it. Remove code to > save / clear / restore flag_unroll_{,all_}loops. Thanks. I've installed this patch. jeff ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: egcs-971031, sparc-sun-solaris2.5 new bootstrap failure 1997-11-08 5:13 ` Toon Moene 1997-11-09 0:42 ` Jeffrey A Law @ 1997-11-09 7:52 ` Toon Moene 1 sibling, 0 replies; 12+ messages in thread From: Toon Moene @ 1997-11-09 7:52 UTC (permalink / raw) To: egcs New code by Jim in invariant_p (file loop.c): > We don't know the loop bounds here though, so > just fail for all labels. */ > ! /* ??? This is also necessary if > flag_rerun_loop_opt is true, because in > ! this > case we may be doing loop unrolling the second time we > run loop, > ! and hence the first loop run also > needs this check. There is no way > ! to check here > whether the second run will actually do loop unrolling > ! though, as that info is in a local var in > rest_of_compilation. */ > ! if (flag_unroll_loops || flag_rerun_loop_opt) > return 0; > else > return 1; and I babbled: > Fascinating - this error must have been in g77 too > (between 0.5.18, April '96 and 0.5.20, March '97). We > never found a problem with it though. Well, I got this backwards, so please ignore :-( Toon. BTW, I can neither build dejangnu-971028: make[1]: Entering directory `/Users/toon/Unix/compilers/dejagnu-971028/tcl' make[2]: Entering directory `/Users/toon/Unix/compilers/dejagnu-971028/tcl/unix' gcc -c -g -O2 -I./../generic -I. -DUSEGETWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_TMPNAM=1 -DNO_UNAME=1 -DNO_DIRENT_H=1 -DNO_VALUES_H=1 -DNO_DLFCN_H=1 -DHAVE_UNISTD_H=1 -DUSE_SGTTY=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TM_ZONE=1 -DHAVE_TM_GMTOFF=1 -DHAVE_TIMEZONE_VAR=1 -DSTDC_HEADERS=1 -Dmode_t=int -Dpid_t=int -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGNED_CHAR=1 -DHAVE_SYS_IOCTL_H=1 -DTCL_SHLIB_EXT=\".so\" ./tclUnixFCmd.c ./tclUnixFCmd.c: In function `TclpCreateDirectory': ./tclUnixFCmd.c:475: `S_IRUSR' undeclared (first use this function) ./tclUnixFCmd.c:475: (Each undeclared identifier is reported only once ./tclUnixFCmd.c:475: for each function it appears in.) ./tclUnixFCmd.c:475: `S_IWUSR' undeclared (first use this function) ./tclUnixFCmd.c:475: `S_IXUSR' undeclared (first use this function) ./tclUnixFCmd.c: In function `CopyFileAtts': ./tclUnixFCmd.c:877: storage size of `tval' isn't known ./tclUnixFCmd.c:881: `S_IRWXU' undeclared (first use this function) ./tclUnixFCmd.c:881: `S_IRWXG' undeclared (first use this function) ./tclUnixFCmd.c:881: `S_IRWXO' undeclared (first use this function) make[2]: *** [tclUnixFCmd.o] Error 1 nor the C++ compiler (of egcs-971105) (Sorry, threw away the error message). One of the first problems to be solved on m68k-next-nextstep3 is to have fixincludes repair /NextDeveloper/Headers as that directory is searched before all others (with the exception of /usr/local/include and the gcc-repaired directories. To fill my copious spare time, I got egcs-core-971105 + egcs-g77-971105. That combination built just fine and correctly compiled my 1300 routine Fortran application. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: egcs-971031, sparc-sun-solaris2.5 new bootstrap failure @ 1997-11-08 20:45 Kaveh R. Ghazi 0 siblings, 0 replies; 12+ messages in thread From: Kaveh R. Ghazi @ 1997-11-08 20:45 UTC (permalink / raw) To: wilson; +Cc: egcs > From: Jim Wilson <wilson@cygnus.com> > > Here is a patch to fix this. This will be in the next snapshot. > > Thu Nov 6 18:27:36 1997 Jim Wilson <wilson@cygnus.com> > > * flags.h (flag_rerun_loop_opt): Declare. > * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt. > * toplev.c (flag_rerum_loop_opt): Delete static. Your patch fixes the unroll bootstrap problems on all three platforms I had trouble on. (For the record, they were strange unresolved symbols on sparc and alpha, as well as an internal compiler error on powerpc, all three occuring when BOOT_CFLAGS contained -O3 -funroll-all-loops.) Thanks Jim. --Kaveh -- Kaveh R. Ghazi Project Manager ghazi@caip.rutgers.edu ICon CMT Corp. ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~1997-12-06 7:50 UTC | newest] Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 1997-11-03 9:43 egcs-971031, sparc-sun-solaris2.5 new bootstrap failure Kaveh R. Ghazi 1997-11-03 17:55 ` H.J. Lu 1997-11-07 12:55 Kaveh R. Ghazi 1997-11-07 14:52 ` Jim Wilson 1997-11-08 5:13 ` Toon Moene 1997-11-09 0:42 ` Jeffrey A Law 1997-11-09 9:20 ` Joern Rennecke 1997-11-09 10:46 ` Jeffrey A Law 1997-11-25 22:49 ` Joern Rennecke 1997-12-06 7:50 ` Jeffrey A Law 1997-11-09 7:52 ` Toon Moene 1997-11-08 20:45 Kaveh R. Ghazi
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).