apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Orton <...@manyfish.co.uk>
Subject Re: Solving the off_t problem in APR 1.0
Date Thu, 29 Jan 2004 11:32:19 GMT
Ben's fixed-size-apr_off_t patch is now checked in for the next 0.9.x
release, many thanks to all involved.

On Wed, Jan 28, 2004 at 06:37:10PM -0500, Greg Hudson wrote:
> On Wed, 2004-01-28 at 17:34, Joe Orton wrote:
> > One possible minor issue with this patch:
> > 
> > if a C++ library based on APR uses apr_off_t in its API, I believe that
> > changing apr_off_t from a long to an int changes the ABI of that
> > library, because of the name mangling stuff.
> 
> To clarify, this would only be true of a library which takes APR code
> and compiles it using a C++ compiler, which is a bit of a stretch.  C++
> code which merely calls into APR necessarily does so with unmangled
> symbols.

Not sure what you mean by "APR code"... it would happen if the C++
library exposes apr_off_t in its own API:

$ cat apr.cc
#include <sys/types.h>
typedef off_t apr_off_t;
apr_off_t SomeCppFunc(apr_off_t foo) { return foo + 1; }
$ cat apr2.cc
typedef int apr_off_t;
apr_off_t SomeCppFunc(apr_off_t foo) { return foo + 1; }
$ g++ -shared apr.cc
$ nm a.out | grep SomeCpp
000005f0 T _Z11SomeCppFuncl
$ g++ -shared apr2.cc
$ nm a.out | grep SomeCpp
000005f0 T _Z11SomeCppFunci



Mime
View raw message