Re: Probable memory leak with ECPG and AIX

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Noah Misch <noah@leadboat.com>
Cc: Guillaume Lelarge <guillaume@lelarge.info>, Benoit Lobréau <benoit.lobreau@gmail.com>, PostgreSQL Developers <pgsql-hackers@postgresql.org>, "Dr. Michael Meskes" <michael.meskes@credativ.com>
Date: 2022-07-03T03:37:08Z
Lists: pgsql-hackers
Noah Misch <noah@leadboat.com> writes:
> Thanks for reviewing.  Pushed with that comment.  prairiedog complains[1]:
>   ld: common symbols not allowed with MH_DYLIB output format with the -multi_module option
>   connect.o definition of common _ecpg_clocale (size 4)

Blah.

> I bet this would fix it:

> -locale_t	ecpg_clocale;
> +locale_t	ecpg_clocale = (locale_t) 0;

Hmm, I was considering suggesting that just on stylistic grounds,
but decided it was too nitpicky even for me.
Do you want me to test it on prairiedog?

> I hear[1] adding -fno-common to compiler options would also fix that.

I've got -fno-common turned on on my other macOS animals, but in
those cases I did it to detect bugs not fix them.  I'm not sure
whether prairiedog's ancient toolchain has that switch at all,
or whether it behaves the same as in more recent platforms.
Still, that gcc.gnu.org message you cite is of the right era.

			regards, tom lane



Commits

  1. Fix previous commit's ecpg_clocale for ppc Darwin.

  2. ecpglib: call newlocale() once per process.