
> > Further research prooved, that the AIX linker eliminates functions on a per
> > c file basis if none of them is referenced elsewhere (declared extern or not).
> > Thus it eliminates the whole conv.c file from the postgres executable since 
> > those functions are only used by the conversion shared objects.
> 
> Yipes.  Surely there is a linker switch to suppress that behavior?

-brtl , but that does a lot more that we don't want and does not work :-(

I think the best thing to do would be to do the following:

link a postgres.so from all SUBSYS.o's
create postgres.imp from postgres.so (since it is a lib it has all symbols)
link postgres with postgres.imp and the SUBSYS.o's

Currently it does

link postgres
create postgres.imp from postgres
link postgres again using postgres.imp 

This is not so good anyways, since it would actually require a cyclic dependency.
A remake currently requires to manually remove postgres and postgres.imp .

Not sure how to do this in the Makefiles however :-(
Should this be done in src/backend/Makefile with a if portname ? I don't like that.
Can sombody help, please ?

Andreas

Thu, 26 Sep 2002 20:51:04 +0200
"Zeugswetter Andreas SB SD" <ZeugswetterA@spardat.at>
Re: AIX compilation problems (was Re: Proposal ...) 
Zeugswetter Andreas SB SD writes:

> -brtl , but that does a lot more that we don't want and does not work :-(

I think -bnogc is the switch you want.

-- 
Peter Eisentraut   peter_e@gmx.net


Sat, 28 Sep 2002 13:10:37 +0200 (CEST)
Peter Eisentraut <peter_e@gmx.net>
Re: AIX compilation problems (was Re: Proposal ...) 