David Edelsohn <dje....@gmail.com> writes:

> _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.
Jakub pointed me to -frandom-seed=, which stabilized this, it'd seem.
Running a clean build to test (hacking an existing one worked).

Will report back.

> Thanks, David
>
>
> On Mon, Nov 20, 2023 at 4:23 PM Arsen Arsenović <ar...@aarsen.me> wrote:
>
>>
>> David Edelsohn <dje....@gmail.com> writes:
>>
>> > On Sun, Nov 19, 2023 at 5:15 PM Bruno Haible <br...@clisp.org> 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ć
>>


-- 
Arsen Arsenović

Attachment: signature.asc
Description: PGP signature

Reply via email to