On Thu, Mar 22, 2001 at 11:27:28PM +0200, Aivo Kalu wrote:
> #dump -nv /usr/local/apache/bin/httpd | grep ap_get_client_block
> [621]   0x20013f74    .data      EXP     DS   Ldef        [noIMid]
> ap_get_client_block
> 
> ap_get_client_block is one of missing symbols, make test failed for. 
> 
> Anyway, how do the AIX know that those symbols must come from
> /usr/local/apache/bin/httpd ? From embperl.so file ? 

No, it is from the libexec/httpd.exp file from Apache.

> The command which produces Embperl.so file, is following:
> 
> LD_RUN_PATH="" ld -o blib/arch/auto/HTML/Embperl/Embperl.so  -bhalt:4
> -bM:SRE -bI:/usr/local/lib/perl5/5.6.0/aix/CORE/perl.exp -bE:Embperl.exp -b
> noentry -lc -L/usr/local/lib Embperl.o epmain.o epio.o epchar.o epcmd.o
> eputil.o epeval.o epdbg.o
> -bI:/usr/local/lib/perl5/site_perl/5.6.0/aix/auto/Apache/mod_perl.exp
> -bI:/usr/local/apache/libexec/httpd.exp
> 
> dump -nv blib/arch/auto/HTML/Embperl/Embperl.so shows that 
> [0]     0x00000000    undef      IMP     RW EXTref   libc.a(shr.o) errno
> 
> 
> I guess this line means that errno is resolved from libc.a (actually even
> from shr.o object module?) ? Regarding the Perl_ symbols, it shows 
> 
> [48]    0x00000000    undef      IMP     DS EXTref        [noIMid]
> Perl_av_clear                                      
> 
> I hope that is correct as well, but for ap_ symbols, there are lines
> 
> [137]   0x00000000    undef      IMP     DS EXTref               .
> ap_get_client_block
> 
> I'm afraid the "." doesn't mean good and therefore the embperl.so file isn't
> made correctly ? However, could you point what's done wrong ? How come that
> Perl symbols are resolved correctly and httpd symbols are not ? In my view,
> both are specified in the same way in ld flags. 
> 
> Also, /usr/local/lib/perl5/5.6.0/aix/CORE/perl.exp starts with "#!", but
> /usr/local/apache/libexec/httpd.exp starts with "#! .". I remember Jens
> writing something about those in comp.os.aix ? 

Well, it is not supported under previous versions of AIX. It means that
the symbols come from the main executable, this is httpd in our case
here. I do not think that this is a problem, although I do not have it
in my build here as I had to delete the "." from the httpd.exp file as I
also used the same Apache tree to build under AIX 4.1.5 which does not
support the "." notation. If the dlopen emulation layer is used (one of
our first excercises was to ensure this) than symbols without any import
ID (noIMid in the dump output) will be resolved by the explicit loadbind
calls made inside the dlopen function.

-- 
Jens-Uwe Mager

HELIOS Software GmbH
Steinriede 3
30827 Garbsen
Germany

Phone:          +49 5131 709320
FAX:            +49 5131 709325
Internet:       [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to