_GLOBAL__F_xxx is the EH frame data. It's using the filename with full path for the unique name, which is why it includes .._.._.. . Apparently it is adding a random number as well for uniqueness. I guess that this is the downside of building in tree, and apparently it is rebuilding gettext itself with the different stages of the compiler, so the appended random number changes. Thanks, David On Mon, Nov 20, 2023 at 4:23 PM Arsen Arsenović wrote: > > David Edelsohn writes: > > > On Sun, Nov 19, 2023 at 5:15 PM Bruno Haible wrote: > > > >> David Edelsohn wrote: > >> > --disable-threads currently does not completely disable threads. > Bruno > >> is > >> > suggesting --enable-threads=isoc that relies on mtx mutex functions in > >> libc. > >> > >> Unfortunately, as said in the other mail today, relying only on mtx_* > >> functions > >> did not drop the dependency towards libpthreads. > >> > >> So, I've made a new release gettext-0.22.4, that includes only these > >> changes: > >> > >> - AM_GNU_GETTEXT now recognizes a statically built libintl on macOS > and > >> AIX. > >> > >> - Passing --disable-threads now builds a libintl that, on AIX, does > not > >> need -lpthread. > >> > >> - Other build fixes on AIX. > >> > >> > Yes, GCC should configure the in tree gettext with --disable-threads, > but > >> > that configure option is not completely effective and does not > produce a > >> > build without threads references. > >> > >> Now it is effective. But you (Arsen) should state in the documentation > >> (gcc/doc/install.texi) that for --disable-threads to have this effect, > >> one needs gettext version 0.22.4 or newer. > >> > > > > So the question is do we want to change GCC on AIX to always link against > > pthreads so that GCC can build with default, external builds of gettext > > libintl. I don't see a path for i18n support to work for GCC on AIX > > without that unfortunate change. > > Well, if detectable by the build system for, I imagine we could avoid > pthread if gettext is built without them. With the 'private' gettext > build, we should never need threads anyway. > > P.S: Building on AIX is nearly successful. gettext-0.22.4 builds, twice > or even thrice, but ends up producing a bootstrap comparison fail: > > make[3]: Leaving directory '/home/arsen/build' > Comparing stages 2 and 3 > Bootstrap comparison failure! > gettext/libasprintf/autosprintf.o differs > make[2]: *** [Makefile:23435: compare] Error 1 > > Upon inspecting these files, I see the following diff: > > ~ 1 $ git diff <(objdump --all-headers autosprintf.o2) <(objdump > --all-headers autosprintf.o3) > diff --git a/dev/fd/63 b/dev/fd/62 > --- a/dev/fd/63 > +++ b/dev/fd/62 > ... > @@ -92,7 +92,7 @@ AUX indx 30 prmhsh 0 snhsh 0 typ 2 algn 0 clss 0 stb 0 > snstb 0 > AUX val 23 prmhsh 0 snhsh 0 typ 1 algn 4 clss 1 stb 0 snstb 0 > [ 58](sec 1)(fl 0x00)(ty 0)(scl 107) (nx 1) 0x00000460 > _autosprintf.ro_ > AUX val 312 prmhsh 0 snhsh 0 typ 1 algn 4 clss 1 stb 0 snstb 0 > -[ 60](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 1) 0x00000460 > _GLOBAL__F_.._.._.._gcc_gettext_gettext_runtime_libasprintf_autosprintf.cc_DFF67DD7_0xa20d51b1d7a1772f > +[ 60](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 1) 0x00000460 > _GLOBAL__F_.._.._.._gcc_gettext_gettext_runtime_libasprintf_autosprintf.cc_DFF67DD7_0x9c04058e89d7a7a4 > AUX indx 58 prmhsh 0 snhsh 0 typ 2 algn 0 clss 1 stb 0 snstb 0 > [ 62](sec 2)(fl 0x00)(ty 0)(scl 107) (nx 1) 0x000005a0 > _autosprintf.rw_ > AUX val 0 prmhsh 0 snhsh 0 typ 1 algn 4 clss 5 stb 0 snstb 0 > > I am unsure what this symbol is. It does not appear in the stripped > binary. > -- > Arsen Arsenović >