Received: (qmail 4701 invoked by uid 2012); 8 Apr 1998 17:42:13 -0000 Message-Id: <19980408174213.4700.qmail@hyperreal.org> Date: 8 Apr 1998 17:42:13 -0000 From: Jochem Wichers Hoeth Reply-To: wiho@chem.uva.nl To: apbugs@hyperreal.org Subject: Compile-time warnings for Apache 1.3b5 on IRIX 6.2 X-Send-Pr-Version: 3.2 >Number: 2050 >Category: os-irix >Synopsis: Compile-time warnings for Apache 1.3b5 on IRIX 6.2 >Confidential: no >Severity: non-critical >Priority: medium >Responsible: apache >State: closed >Class: sw-bug >Submitter-Id: apache >Arrival-Date: Wed Apr 8 10:50:01 PDT 1998 >Last-Modified: Thu Apr 9 20:28:00 PDT 1998 >Originator: wiho@chem.uva.nl >Organization: >Release: 1.3b5 >Environment: OS: IRIX64 6.2 (03131016 IP26) Compiler: cc 6.2 - MIPS and MIPSpro C compiler >Description: When compiling Apache I receive several warnings. Although compiling succeeds and Apache seems to work without problems, I still think I should report these warnings. I've attached (the interesting parts of) my Configuration and Makefile files and the output of the make command. As far as I can tell from the make output there are four different problems: 1. Possible C syntax error (= in stead of == in comparison) in http_protocol.c Possible solution: change c code 2. Failing optimization in md5c.c Possible solution: include fold_arith_limit=1047 option in Makefile for IRIX 6.2 systems 3. C errors in regcomp.c Possible solution: rewrite C code or disable warning 1110 (-woff 1110) 4. libsun.a is linked but not used Possible solution: disable -lsun in Makefile for IRIX 6.2 systems I hope I've sent you something useful. :-) -------------------------------------------------------------------------- Attachment: make output cc -c -I../os/unix -I../include -O2 -n32 -DIRIX -DSTATUS -DUSE_HSREGEX http_protocol.c "http_protocol.c", line 307: warning(1184): possible use of "=" where "==" was intended ((r->proto_num >= HTTP_VERSION(1,1)) && (r->chunked = 1))) && ^ cc -c -I../os/unix -I../include -O2 -n32 -DIRIX -DSTATUS -DUSE_HSREGEX md5c.c !!! Warning in file md5c.c (user routine 'MD5Transform'): !!! Subprogram 'MD5Transform' exceeds default limit for optimization of arithmetic expressions - !!! Use -OPT:fold_arith_limit=1047 to enable optimization cc -I. -I../include -DPOSIX_MISTAKE -O2 -n32 -DIRIX -DSTATUS -DUSE_HSREGEX -c regcomp.c "regcomp.c", line 670: warning(1110): statement is unreachable break; ^ cc -I. -I../include -DPOSIX_MISTAKE -O2 -n32 -DIRIX -DSTATUS -DUSE_HSREGEX -c regexec.c "engine.c", line 541: warning(1110): statement is unreachable break; ^ "engine.c", line 547: warning(1110): statement is unreachable break; ^ "engine.c", line 553: warning(1110): statement is unreachable break; ^ "engine.c", line 564: warning(1110): statement is unreachable break; ^ "engine.c", line 585: warning(1110): statement is unreachable break; ^ "engine.c", line 596: warning(1110): statement is unreachable break; ^ "engine.c", line 607: warning(1110): statement is unreachable break; ^ "engine.c", line 541: warning(1110): statement is unreachable break; ^ "engine.c", line 547: warning(1110): statement is unreachable break; ^ "engine.c", line 553: warning(1110): statement is unreachable break; ^ "engine.c", line 564: warning(1110): statement is unreachable break; ^ "engine.c", line 585: warning(1110): statement is unreachable break; ^ "engine.c", line 596: warning(1110): statement is unreachable break; ^ "engine.c", line 607: warning(1110): statement is unreachable break; ^ cc -O2 -n32 -DIRIX -DSTATUS -DUSE_HSREGEX -n32 -o httpd buildmark.o modules.o modules/standard/libstandard.a main/libmain.a os/unix/libos.a ap/libap.a regex/libregex.a -lsun ld32: WARNING 84: /usr/lib32/libsun.a is not used for resolving any symbol. --------------------------------------------------------------------------- Attachment: Configuration EXTRA_CFLAGS= EXTRA_LDFLAGS= EXTRA_LIBS= EXTRA_INCLUDES= CC=cc OPTIM=-O2 Rule STATUS=yes Rule SOCKS4=no Rule IRIXNIS=yes Rule IRIXN32=yes Rule PARANOID=no Rule WANTHSREGEX=default AddModule modules/standard/mod_env.o AddModule modules/standard/mod_log_config.o AddModule modules/standard/mod_mime.o AddModule modules/standard/mod_negotiation.o AddModule modules/standard/mod_status.o AddModule modules/standard/mod_include.o AddModule modules/standard/mod_autoindex.o AddModule modules/standard/mod_dir.o AddModule modules/standard/mod_cgi.o AddModule modules/standard/mod_asis.o AddModule modules/standard/mod_imap.o AddModule modules/standard/mod_actions.o AddModule modules/standard/mod_userdir.o AddModule modules/standard/mod_alias.o AddModule modules/standard/mod_access.o AddModule modules/standard/mod_auth.o AddModule modules/standard/mod_setenvif.o ----------------------------------------------------------------------------- Attachment: Makefile EXTRA_CFLAGS= EXTRA_LDFLAGS= EXTRA_LIBS= EXTRA_INCLUDES= CC=cc OPTIM=-O2 CFLAGS1= -n32 -DIRIX -DSTATUS -DUSE_HSREGEX INCLUDES1= INCLUDES_DEPTH0=-Ios/unix -Iinclude INCLUDES_DEPTH1=-I../os/unix -I../include INCLUDES_DEPTH2=-I../../os/unix -I../../include LIBS1= -lsun LDFLAGS1= -n32 BROKEN_BPRINTF_FLAGS= REGLIB=regex/libregex.a RANLIB=true SHELL=/bin/sh OSDIR=os/unix SUBDIRS=$(OSDIR) main ap modules regex TARGET=httpd >How-To-Repeat: Compile Apache 1.3b5 on an IRIX 6.2 machine using the -O2 optimization switch (see also the included Configuration & Makefile files) >Fix: See Full Description fiel >Audit-Trail: State-Changed-From-To: open-closed State-Changed-By: marc State-Changed-When: Thu Apr 9 20:27:59 PDT 1998 State-Changed-Why: The "= instead of ==" warning is bogus; the comment above that line says this is intentional. Other compilers like gcc figure out that it is intended by the extra ()s around the expression. I don't think it is worth messing with options for the optimization failure thing; it is very version dependent, very compiler dependent and doesn't result in anything breaking, just not being optimized as well. I don't see it on a 6.2 system using cc. The regex errors are just it being too verbose; there is nothing wrong with the code, and the breaks are there for good programming style. The -lsun one should only happen if you enable the IRIXNIS rule; on some IRIX versions it is required to make it work, it should only be pre-5.x versions, but... Thanks for the suggestions. >Unformatted: [In order for any reply to be added to the PR database, ] [you need to include in the Cc line ] [and leave the subject line UNCHANGED. This is not done] [automatically because of the potential for mail loops. ]