Re: glibc regression on alpha with 2.34+

Frank Scheiner <[email protected]> Tue, 13 Dec 2022 10:33:22 +0100
Newsgroups gmane.linux.debian.ports.alpha
Message-ID <[email protected]>
Hi guys,

On 13.12.22 06:15, John Paul Adrian Glaubitz wrote:
> [...]
> I am still interested in fixing the glibc bug and will work on bisecting 
> it.

I yestderday did give that a try on a DS15, but it took already hours to 
get glibc 2.33 compiled.

During this compilation I got 4 segfaults from the compiler (gcc-12) and 
a "gcc: internal compiler error: Aborted signal terminated program cc1". 
If you are interested in the details, I have all the error messages 
available.

This went on during `make test` with another segfault and this one here 
after more than 2 hours of processing:

```
root@ds15:/srv/storage/build/glibc-2.33# time make test
[...]
g++ tst-thread_local1.cc -c -I/srv/storage/build/glibc-2.33/  -g -O2 
-Wall -Wwrite-strings -Wundef -fmerge-all-constants -frounding-math 
-fno-stack-protector -mlong-double-128 -mieee -mfp-rounding-mode=d 
-std=gnu++11     -I../include -I/srv/storage/build/glibc-2.33/nptl 
-I/srv/storage/build/glibc-2.33  -I../sysdeps/unix/sysv/linux/alpha/fpu 
-I../sysdeps/alpha/fpu  -I../sysdeps/unix/sysv/linux/alpha 
-I../sysdeps/alpha/nptl  -I../sysdeps/unix/sysv/linux/wordsize-64 
-I../sysdeps/ieee754/ldbl-64-128  -I../sysdeps/ieee754/ldbl-opt 
-I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux 
-I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu 
-I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix/alpha 
-I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/alpha 
-I../sysdeps/wordsize-64  -I../sysdeps/ieee754/ldbl-128 
-I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32 
-I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I. 
-D_LIBC_REENTRANT -include /srv/storage/build/glibc-2.33/libc-modules.h 
-DMODULE_NAME=testsuite -include ../include/libc-symbols.h 
-DTOP_NAMESPACE=glibc -o 
/srv/storage/build/glibc-2.33/nptl/tst-thread_local1.o -MD -MP -MF 
/srv/storage/build/glibc-2.33/nptl/tst-thread_local1.o.dt -MT 
/srv/storage/build/glibc-2.33/nptl/tst-thread_local1.o
tst-thread_local1.cc: In function ‘int do_test()’:
tst-thread_local1.cc:177:5: error: variable ‘std::array<std::pair<const 
char*, std::function<void(void* (*)(void*))> >, 2> do_thread_X’ has 
initializer but incomplete type
   177 |     do_thread_X
       |     ^~~~~~~~~~~
tst-thread_local1.cc: At global scope:
tst-thread_local1.cc:133:1: warning: ‘void* thread_with_access(void*)’ 
defined but not used [-Wunused-function]
   133 | thread_with_access (void *)
       | ^~~~~~~~~~~~~~~~~~
tst-thread_local1.cc:127:1: warning: ‘void* 
thread_without_access(void*)’ defined but not used [-Wunused-function]
   127 | thread_without_access (void *)
       | ^~~~~~~~~~~~~~~~~~~~~
make[2]: *** [../o-iterator.mk:9: 
/srv/storage/build/glibc-2.33/nptl/tst-thread_local1.o] Error 1
make[2]: Leaving directory '/srv/storage/glibc/nptl'
make[1]: *** [Makefile:479: nptl/tests] Error 2
make[1]: Leaving directory '/srv/storage/glibc'
make: *** [Makefile:9: check] Error 2

real	129m3.940s
user	104m25.441s
sys	11m36.611s
```

...after which I stopped. I did use `--disable-werror` during the 
configure step, but maybe this is not enough. OTOH it's only a warning 
so why does it err? Ah, I see it `-Wundef` is set. I'll have a look what 
the buildds use for the configure step.

Today I'll also give it another try, but with gcc-11 this time - just in 
case something is wrong with gcc-12 - but frankly I don't think this 
goes anywhere on the DS15:

Even with a DS25 I have available here I can only speed up the 
compilation and it takes already more than twice the power of the DS15, 
so nothing gained. My ES45s are in cold storage and I don't dare to 
start them up in such a low temperature environment.

Summarizing it, I'd be grateful if someone could do the bisecting on one 
of the buildds or developer machines.

Cheers,
Frank