Mailing List Archive

cvs commit: apache-1.3/src/support logresolve.c
rse 98/05/02 04:15:15

Modified: . STATUS
src CHANGES Configure README.DSO
src/include conf.h
src/main http_main.c
src/modules/proxy proxy_cache.c
src/modules/standard mod_setenvif.c mod_so.c
src/os/unix os-aix-dso.c
src/support logresolve.c
Log:
The various fixes for the AIX 3.2, 4.1.5, 4.2 and 4.3 versions.

Submitted by: Jens-Uwe Mager & Ralf S. Engelschall
Reviewed by: Ralf S. Engelschall

Revision Changes Path
1.347 +1 -0 apache-1.3/STATUS

Index: STATUS
===================================================================
RCS file: /export/home/cvs/apache-1.3/STATUS,v
retrieving revision 1.346
retrieving revision 1.347
diff -u -r1.346 -r1.347
--- STATUS 1998/05/01 18:42:41 1.346
+++ STATUS 1998/05/02 11:15:06 1.347
@@ -78,6 +78,7 @@
* Ralf's DSO support for AIX
* Ralf's DSO support for NetBSD, PR#2158
* Some optimization defines for NetBSD, PR#2165
+ * Ralf's various porting changes to support AIX 3.2, 4.1.5, 4.2 and 4.3.

Available Patches:




1.806 +7 -0 apache-1.3/src/CHANGES

Index: CHANGES
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
retrieving revision 1.805
retrieving revision 1.806
diff -u -r1.805 -r1.806
--- CHANGES 1998/05/01 10:00:41 1.805
+++ CHANGES 1998/05/02 11:15:07 1.806
@@ -1,5 +1,12 @@
Changes with Apache 1.3b7

+ *) PORT: Various porting changes to support AIX 3.2, 4.1.5, 4.2 and 4.3.
+ Additionally the checks for finding the vendor DSO library were moved
+ from mod_so.c to Configure because first it needs $PLAT etc. and second
+ mod_so already uses an abstraction layer and does not fiddle with the
+ vendor functions itself.
+ [Jens-Uwe Mager, Ralf S. Engelschall]
+
*) PORT: Some optimization defines for NetBSD
[Jaromir Dolecek <dolecek@ics.muni.cz>] PR#2165




1.252 +59 -8 apache-1.3/src/Configure

Index: Configure
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/Configure,v
retrieving revision 1.251
retrieving revision 1.252
diff -u -r1.251 -r1.252
--- Configure 1998/05/01 10:00:42 1.251
+++ Configure 1998/05/02 11:15:08 1.252
@@ -304,19 +304,37 @@
DEF_WANTHSREGEX=no
;;
i386-ibm-aix*)
- OS='IBM AIX PS/2'
+ OS='IBM AIX PS/2'
CFLAGS="$CFLAGS -DAIX=1 -U__STR__ -DUSEBCOPY"
DEF_WANTHSREGEX=no
;;
- *-ibm-aix[1-3].*|*-ibm-aix4.[0-1])
- OS='IBM AIX < v4.2'
- CFLAGS="$CFLAGS -DAIX=1 -DNEED_RLIM_T -U__STR__"
- ;;
+ *-ibm-aix[1-2].*)
+ OS='IBM AIX 1.x/2.x'
+ CFLAGS="$CFLAGS -DAIX=1 -DNEED_RLIM_T -U__STR__"
+ ;;
+ *-ibm-aix3.*)
+ OS='IBM AIX 3.x'
+ CFLAGS="$CFLAGS -DAIX=30 -DNEED_RLIM_T -U__STR__"
+ ;;
+ *-ibm-aix4.1)
+ OS='IBM AIX 4.1'
+ CFLAGS="$CFLAGS -DAIX=41 -DNEED_RLIM_T -U__STR__"
+ ;;
+ *-ibm-aix4.2)
+ OS='IBM AIX 4.2'
+ CFLAGS="$CFLAGS -DAIX=42 -U__STR__"
+ LDFLAGS="$LDFLAGS -lm"
+ ;;
+ *-ibm-aix4.3)
+ OS='IBM AIX 4.3'
+ CFLAGS="$CFLAGS -DAIX=43 -U__STR__"
+ LDFLAGS="$LDFLAGS -lm"
+ ;;
*-ibm-aix*)
- OS='IBM AIX >= 4.2'
- CFLAGS="$CFLAGS -DAIX=42 -U__STR__"
+ OS='IBM AIX'
+ CFLAGS="$CFLAGS -DAIX=1 -U__STR__"
LDFLAGS="$LDFLAGS -lm"
- ;;
+ ;;
*-apollo-*)
OS='Apollo Domain'
CFLAGS="$CFLAGS -DAPOLLO"
@@ -1015,6 +1033,32 @@
fi

####################################################################
+## Some OS-related stuff for the DSO mechanism:
+## Finding the vendor DSO functions
+##
+if [ "x$using_shlib" = "x1" ] ; then
+ DL_LIB=""
+ case $PLAT in
+ *-ibm-aix* )
+ DL_LIB="-lld"
+ ;;
+ * )
+ if ./helpers/TestCompile func dlopen; then
+ :
+ else
+ if ./helpers/TestCompile lib dl; then
+ DL_LIB="-ldl"
+ fi
+ fi
+ ;;
+ esac
+ if [ ".$DL_LIB" != . ]; then
+ LIBS="$LIBS $DL_LIB"
+ echo " + using $DL_LIB for vendor DSO support"
+ fi
+fi
+
+####################################################################
## Now we do some OS specific adjustments... for some OSs, we need
## to adjust CFLAGS and/or OPTIM depending on which compiler we
## are going to use. This is easy, since this can be gleamed from
@@ -1062,6 +1106,13 @@
*/cc|cc )
CFLAGS="$CFLAGS -n32"
LDFLAGS="$LDFLAGS -n32"
+ ;;
+ esac
+ ;;
+ 'AIX 4.[123]')
+ case $CC in
+ */cc|cc )
+ CFLAGS="$CFLAGS -qnogenpcomp -qnousepcomp"
;;
esac
;;



1.8 +1 -1 apache-1.3/src/README.DSO

Index: README.DSO
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/README.DSO,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- README.DSO 1998/04/30 11:32:04 1.7
+++ README.DSO 1998/05/02 11:15:08 1.8
@@ -151,7 +151,7 @@
o IRIX (6.2)
o HP/UX (10.20)
o UnixWare (2.01, 2.1.2)
- o AIX (4.2)
+ o AIX (3.2, 4.1.5, 4.2, 4.3)
o ReliantUNIX/SINIX (5.43)
o SVR4 (-)




1.206 +2 -0 apache-1.3/src/include/conf.h

Index: conf.h
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/include/conf.h,v
retrieving revision 1.205
retrieving revision 1.206
diff -u -r1.205 -r1.206
--- conf.h 1998/05/01 10:08:40 1.205
+++ conf.h 1998/05/02 11:15:10 1.206
@@ -814,9 +814,11 @@
#if !defined(__GNUC__) || __GNUC__ < 2 || __GNUC_MINOR__ < 7 || defined(NEXT)
#define ap_inline
#define __attribute__(__x)
+#define ENUM_BITFIELD(e,n,w) signed int n : w
#else
#define ap_inline __inline__
#define USE_GNU_INLINE
+#define ENUM_BITFIELD(e,n,w) e n : w
#endif

/* Do we have sys/resource.h; assume that BSD does. */



1.328 +1 -1 apache-1.3/src/main/http_main.c

Index: http_main.c
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v
retrieving revision 1.327
retrieving revision 1.328
diff -u -r1.327 -r1.328
--- http_main.c 1998/04/28 05:59:53 1.327
+++ http_main.c 1998/05/02 11:15:11 1.328
@@ -3529,7 +3529,7 @@
}

if (!pid) {
-#ifdef AIX
+#if defined(AIX) && (AIX >= 41)
/* by default AIX binds to a single processor
* this bit unbinds children which will then bind to another cpu
*/



1.38 +2 -0 apache-1.3/src/modules/proxy/proxy_cache.c

Index: proxy_cache.c
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/modules/proxy/proxy_cache.c,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- proxy_cache.c 1998/04/15 17:09:29 1.37
+++ proxy_cache.c 1998/05/02 11:15:12 1.38
@@ -71,7 +71,9 @@

DEF_Explain

+#ifndef abs
#define abs(c) ((c) >= 0 ? (c) : -(c))
+#endif

struct gc_ent {
unsigned long int len;



1.22 +3 -1 apache-1.3/src/modules/standard/mod_setenvif.c

Index: mod_setenvif.c
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_setenvif.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- mod_setenvif.c 1998/04/11 12:00:51 1.21
+++ mod_setenvif.c 1998/05/02 11:15:13 1.22
@@ -132,7 +132,9 @@
char *regex; /* regex to match against */
regex_t *preg; /* compiled regex */
table *features; /* env vars to set (or unset) */
- enum special special_type : 4; /* is it a "special" header ? */
+ ENUM_BITFIELD( /* is it a "special" header ? */
+ enum special,
+ special_type,4);
unsigned icase : 1; /* ignoring case? */
} sei_entry;




1.24 +0 -29 apache-1.3/src/modules/standard/mod_so.c

Index: mod_so.c
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_so.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- mod_so.c 1998/04/28 08:42:10 1.23
+++ mod_so.c 1998/05/02 11:15:13 1.24
@@ -125,35 +125,6 @@
*/


-/*
- * Module definition information used by Configure
- *
- * MODULE-DEFINITION-START
- * Name: so_module
- * ConfigStart
- if ./helpers/TestCompile func dlopen; then
- :
- else
- DL_LIB=""
- case $PLAT in
- *-ibm-aix* )
- DL_LIB="-lld"
- ;;
- * )
- if ./helpers/TestCompile lib dl; then
- DL_LIB="-ldl"
- fi
- ;;
- esac
- if [ ".$DL_LIB" != . ]; then
- LIBS="$LIBS $DL_LIB"
- echo " + using $DL_LIB for DSO support"
- fi
- fi
- * ConfigEnd
- * MODULE-DEFINITION-END
- */
-
#include "httpd.h"
#include "http_config.h"
#include "http_log.h"



1.2 +14 -0 apache-1.3/src/os/unix/os-aix-dso.c

Index: os-aix-dso.c
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/os/unix/os-aix-dso.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- os-aix-dso.c 1998/04/28 08:42:11 1.1
+++ os-aix-dso.c 1998/05/02 11:15:14 1.2
@@ -92,6 +92,20 @@
#include <ldfcn.h>

/*
+ * AIX 4.3 does remove some useful definitions from ldfcn.h. Define
+ * these here to compensate for that lossage.
+ */
+#ifndef BEGINNING
+#define BEGINNING SEEK_SET
+#endif
+#ifndef FSEEK
+#define FSEEK(ldptr,o,p) fseek(IOPTR(ldptr),(p==BEGINNING)?(OFFSET(ldptr) +o):o,p)
+#endif
+#ifndef FREAD
+#define FREAD(p,s,n,ldptr) fread(p,s,n,IOPTR(ldptr))
+#endif
+
+/*
* Mode flags for the dlopen routine.
*/
#undef RTLD_LAZY



1.13 +3 -1 apache-1.3/src/support/logresolve.c

Index: logresolve.c
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/support/logresolve.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- logresolve.c 1998/04/21 20:14:06 1.12
+++ logresolve.c 1998/05/02 11:15:15 1.13
@@ -117,7 +117,9 @@
struct nsrec **current, *new;
struct hostent *hostdata;
char *name;
- extern int h_errno; /* some machines don't have this in their headers */
+#ifndef h_errno
+ extern int h_errno; /* some machines don't have this in their headers */
+#endif

current = &nscache[.((ipnum.s_addr + (ipnum.s_addr >> 8) +
(ipnum.s_addr >> 16) + (ipnum.s_addr >> 24)) % BUCKETS)];