[PATCH] elf: Fix dynamic-link.h usage on rtld.c

Adhemerval Zanella adhemerval.zanella@linaro.org
Fri Oct 15 13:05:19 GMT 2021



On 15/10/2021 09:46, Andreas Schwab wrote:
> On Okt 15 2021, Adhemerval Zanella wrote:
> 
>> I just make check on gcc203 using gcc 10.2.1 and ld 2.35.
> 
> Like this?
> 
> Generating locale C.UTF-8: this might take a while...
> Generating locale en_US.UTF-8: this might take a while...
> /bin/bash tst-iconv_prog.sh /home/schwab/glibc/Build ' env' \
>          'GCONV_PATH=/home/schwab/glibc/Build/iconvdata LOCPATH=/home/schwab/glibc/Build/localedata LC_ALL=C' > /home/schwab/glibc/Build/iconv/tst-iconv_prog.out; \
> ../scripts/evaluate-test.sh iconv/tst-iconv_prog $? false false > /home/schwab/glibc/Build/iconv/tst-iconv_prog.test-result
> Segmentation fault
> Charmap: "UTF-8" Inputfile: "C" Outputdir: "C.UTF-8" failed
> /bin/sh: 4: cannot create /home/schwab/glibc/Build/localedata/C.UTF-8/LC_CTYPE.test-result: Directory nonexistent
> make[2]: *** [../gen-locales.mk:17: /home/schwab/glibc/Build/localedata/C.UTF-8/LC_CTYPE] Error 2
> make[2]: *** Waiting for unfinished jobs....
> Segmentation fault
> Charmap: "UTF-8" Inputfile: "en_US" Outputdir: "en_US.UTF-8" failed
> /bin/sh: 4: cannot create /home/schwab/glibc/Build/localedata/en_US.UTF-8/LC_CTYPE.test-result: Directory nonexistent
> make[2]: *** [../gen-locales.mk:17: /home/schwab/glibc/Build/localedata/en_US.UTF-8/LC_CTYPE] Error 2
> tst-iconv_prog.sh: line 222: 1434924 Done                    echo -en "$twobyte"
>      1434925 Segmentation fault      | timeout -k 4 3 $PROG $c -f $from -t "$to" &> /dev/null
> make[2]: Leaving directory '/home/schwab/glibc/iconv'
> make[1]: *** [Makefile:483: iconv/tests] Error 2
> make[1]: Leaving directory '/home/schwab/glibc'
> make: *** [Makefile:9: check] Error 2
> 
> Andreas.
> 

Yes:

$ uname -a
Linux gcc203 5.10.0-8-powerpc64 #1 SMP Debian 5.10.46-4 (2021-08-03) ppc64 GNU/Linux
$ file /home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/elf/ld.so
/home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/elf/ld.so: ELF 32-bit MSB shared object, PowerPC or cisco 4500, version 1 (SYSV), dynamically linked, with debug_info, not stripped
$ env GCONV_PATH=/home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/iconvdata LOCPATH=/home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/localedata LC_ALL=C I18NPATH=../localedata          /home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/elf/ld.so.1 --library-path /home/azanella/projects/glibc/build/powerpc-linux-gnu-power4:/home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/math:/home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/elf:/home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/dlfcn:/home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/nss:/home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/nis:/home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/rt:/home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/resolv:/home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/mathvec:/home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/support:/home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/crypt:/home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/nptl /home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/locale/localedef --quiet -c -f UTF-8 -i C         /home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/localedata/C.UTF-8; echo $?
0

$ make test t=iconv/tst-iconv_prog
make -r PARALLELMFLAGS="" -C /home/azanella/projects/glibc/glibc-git objdir=`pwd` test
make[1]: Entering directory '/home/azanella/projects/glibc/glibc-git'
make subdir=iconv -C iconv/ ..=../ /home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/iconv/tst-iconv_prog.out
make[2]: Entering directory '/home/azanella/projects/glibc/glibc-git/iconv'
/bin/bash tst-iconv_prog.sh /home/azanella/projects/glibc/build/powerpc-linux-gnu-power4 ' env' \
         'GCONV_PATH=/home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/iconvdata LOCPATH=/home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/localedata LC_ALL=C' > /home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/iconv/tst-iconv_prog.out; \
../scripts/evaluate-test.sh iconv/tst-iconv_prog $? false false > /home/azanella/projects/glibc/build/powerpc-linux-gnu-power4/iconv/tst-iconv_prog.test-result
make[2]: Leaving directory '/home/azanella/projects/glibc/glibc-git/iconv'
PASS: iconv/tst-iconv_prog
original exit status 0
OK: from: "ANSI_X3.110", to: "UTF-8//TRANSLIT//IGNORE", input "\x00\x23", flags "-c"
OK: from: "ARMSCII-8", to: "UTF-8//TRANSLIT//IGNORE", input "\x00\xa1", flags "-c"
OK: from: "ASMO_449", to: "UTF-8//TRANSLIT//IGNORE", input "\x00\xa1", flags "-c"
OK: from: "BIG5", to: "UTF-8//TRANSLIT//IGNORE", input "\x00\x81", flags "-c"
[...]
PASS: from: "INVALID", to: "INVALID", input "\x00\x00", flags "", return code 1
PASS: from: "INVALID", to: "UTF-8", input "\x00\x00", flags "", return code 1
PASS: from: "UTF-8", to: "INVALID", input "\x00\x00", flags "", return code 1
make[1]: Leaving directory '/home/azanella/projects/glibc/glibc-git'
$ echo $?
0

That's why I am trying to understand why it is failing on your environment.


More information about the Libc-alpha mailing list