Re: AIX compilation problems (was Re: Proposal ...)
От | Zeugswetter Andreas SB SD |
---|---|
Тема | Re: AIX compilation problems (was Re: Proposal ...) |
Дата | |
Msg-id | 46C15C39FEB2C44BA555E356FBCD6FA4961EA8@m0114.s-mxs.net обсуждение исходный текст |
Ответ на | AIX compilation problems (was Re: Proposal ...) ("Zeugswetter Andreas SB SD" <ZeugswetterA@spardat.at>) |
Ответы |
Re: AIX compilation problems (was Re: Proposal ...)
Re: AIX compilation problems (was Re: Proposal ...) |
Список | pgsql-hackers |
> > Attached is a patch to fix the mb linking problems on AIX. As a nice side effect > > it reduces the duplicate symbol warnings to linking libpq.so and libecpg.so > > (all shlibs that are not postmaster loadable modules). > > Can you explain the method behind your patch? Have you tried -bnogc? -bnogc would (probably) have been the correct switch reading the man page, but the method was previously not good since it involved the following: 1. create a static postgres executable from the SUBSYS.o's 2. create an exports file from above 3. recreate a shared postgres executable This naturally had a cyclic dependency, that could not properly be reflected in the Makefile (thus a second make sometimes left you with a static postgres unless you manually removed postgres.imp). Now it does: postgres.imp: $(OBJS) create a temporary SUBSYS.o from all $(OBJS) create a postgres.imp from SUBSYS.o rm temporary SUBSYS.o postgres: postgres.imp link a shared postgres A second change was to move the import and export files to the end of the link line, then the linker knows not to throw a duplicate symbol warning, and keeps all symbols that are mentioned in the exports file (== -bnogc restricted to $(OBJS) symbols). Thus now only libpq.so and libecpg.so still show the duplicate symbol warnings since their link line should actually not include postgres.imp . I did not see how to make a difference between loadable modules (need postgres.imp) and interface libraries (do not need postgres.imp), but since the resulting libs are ok, I left it at that. I tested both gcc and xlc including regression tests. Andreas
В списке pgsql-hackers по дате отправления: