apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <wr...@rowe-clan.net>
Subject Re: svn commit: r589583 - /apr/apr/trunk/configure.in
Date Mon, 29 Oct 2007 18:54:24 GMT
jorton@apache.org wrote:
> Author: jorton
> Date: Mon Oct 29 04:19:02 2007
> New Revision: 589583
> 
> URL: http://svn.apache.org/viewvc?rev=589583&view=rev
> Log:
> * configure.in: Move the ino_t test outside the enable_lfs=yes branch,
> and only define apr_ino_t as unsigned long in the case where a 32-bit
> ino_t is detected and hence may vary by _FILE_OFFSET_BITS; it's not
> necessary in the other cases.

> @@ -1462,6 +1454,24 @@
>     off_t_strfn='strtoi'
>  fi
>  AC_MSG_RESULT($off_t_value)
> +
> +# Regardless of whether _LARGEFILE64_SOURCE is used, on 32-bit
> +# platforms _FILE_OFFSET_BITS will affect the size of ino_t and hence
> +# the build-time ABI may be different from the apparent ABI when using
> +# APR with another package which *does* define _FILE_OFFSET_BITS.
> +# (Exactly as per the case above with off_t where LFS is *not* used)
> +#
> +# To be safe, hard-code apr_ino_t as 'unsigned long' iff that is
> +# exactly the size of ino_t here; otherwise use ino_t as existing
> +# releases did.  To be correct, apr_ino_t should have been made an
> +# ino64_t as apr_off_t is off64_t, but this can't be done now without
> +# breaking ABI.
> +ino_t_value=ino_t
> +if test "$ac_cv_sizeof_long" = "4"; then
> +    APR_CHECK_TYPES_COMPATIBLE(ino_t, unsigned long, 
> +                               ino_t_value="unsigned long")
> +fi
> +AC_MSG_NOTICE([using $ino_t_value for ino_t])

This doesn't look right for 32 platforms built without 64 bit off's, and
consider they might initially build on one which doesn't support the newer
types, but then might compile add ins on an updated kernel, eh?

Shouldn't we continue to lock this /down/ to unsigned int where we know this
is true?  In fact, I'd add unsigned short to that list for safety.

Bill

Mime
View raw message