* mips32 still supported?
@ 2024-06-11 5:44 Waldemar Brodkorb
2024-06-11 13:07 ` Adhemerval Zanella Netto
0 siblings, 1 reply; 4+ messages in thread
From: Waldemar Brodkorb @ 2024-06-11 5:44 UTC (permalink / raw)
To: libc-help
Hi,
is mips32 (big endian or little endian) still supported by glibc?
I am seeing following build error with glibc 2.39 (gcc 13.3.0, binutils 2.42):
/home/wbx/openadk/toolchain_qemu-mips_glibc_mips32r6_hard/usr/bin/mips-openadk-linux-gnu-gcc -mabi=32 -shared -static-libgcc -Wl,-dynamic-linker=/lib/ld-linux-mipsn8.so.1 -Wl,-z,defs -B/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/csu/ -Wl,-z,relro -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/math -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/dlfcn -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nss -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nis -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/rt -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/resolv -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/mathvec -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/support -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nptl -Wl,-rpath-link=/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/math:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/dlfcn:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nss:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nis:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/rt:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/resolv:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/mathvec:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/support:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nptl -o /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf/sotruss-lib.so /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/csu/abi-note.o -Wl,--as-needed /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf/sotruss-lib.os -Wl,--no-as-needed -Wl,--start-group /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/libc.so /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/libc_nonshared.a -Wl,--as-needed /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf/ld.so -Wl,--no-as-needed -Wl,--end-group
/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/csu/crti.o: in function `_init':
(.init+0x0): relocation R_MIPS_HI16 against `__gnu_local_gp' cannot be used when making a shared object; recompile with -fPIC
/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/csu/crti.o: in function `_fini':
(.fini+0x0): relocation R_MIPS_HI16 against `__gnu_local_gp' cannot be used when making a shared object; recompile with -fPIC
collect2: error: ld returned 1 exit status
gmake[8]: *** [Makefile:247: /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf/sotruss-lib.so] Error 1
gmake[7]: *** [Makefile:484: elf/subdir_lib] Error 2
gmake[6]: *** [Makefile:9: all] Error 2
gmake[5]: *** [Makefile:71: /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39/.compiled] Error 2
gmake[4]: *** [Makefile:106: glibc-compile] Error 2
gmake[3]: *** [mk/build.mk:227: toolchain/final] Error 2
gmake[2]: *** [/home/wbx/openadk/mk/build.mk:176: world] Error 2
No matter if I targeting mips32r1, mips32r2 or mips32r6.
For a full build log targeting mips32r1 download this file here:
https://debug.openadk.org/glibc-mips32-make.log
Thanks for any answer,
Waldemar
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: mips32 still supported?
2024-06-11 5:44 mips32 still supported? Waldemar Brodkorb
@ 2024-06-11 13:07 ` Adhemerval Zanella Netto
2024-06-13 11:57 ` Waldemar Brodkorb
0 siblings, 1 reply; 4+ messages in thread
From: Adhemerval Zanella Netto @ 2024-06-11 13:07 UTC (permalink / raw)
To: Waldemar Brodkorb, libc-help
On 11/06/24 02:44, Waldemar Brodkorb wrote:
> Hi,
>
> is mips32 (big endian or little endian) still supported by glibc?
>
> I am seeing following build error with glibc 2.39 (gcc 13.3.0, binutils 2.42):
>
> /home/wbx/openadk/toolchain_qemu-mips_glibc_mips32r6_hard/usr/bin/mips-openadk-linux-gnu-gcc -mabi=32 -shared -static-libgcc -Wl,-dynamic-linker=/lib/ld-linux-mipsn8.so.1 -Wl,-z,defs -B/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/csu/ -Wl,-z,relro -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/math -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/dlfcn -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nss -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nis -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/rt -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/resolv -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/mathvec -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/support -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nptl -Wl,-rpath-link=/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/math:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/dlfcn:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nss:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nis:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/rt:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/resolv:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/mathvec:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/support:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nptl -o /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf/sotruss-lib.so /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/csu/abi-note.o -Wl,--as-needed /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf/sotruss-lib.os -Wl,--no-as-needed -Wl,--start-group /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/libc.so /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/libc_nonshared.a -Wl,--as-needed /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf/ld.so -Wl,--no-as-needed -Wl,--end-group
> /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/csu/crti.o: in function `_init':
> (.init+0x0): relocation R_MIPS_HI16 against `__gnu_local_gp' cannot be used when making a shared object; recompile with -fPIC
> /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/csu/crti.o: in function `_fini':
> (.fini+0x0): relocation R_MIPS_HI16 against `__gnu_local_gp' cannot be used when making a shared object; recompile with -fPIC
> collect2: error: ld returned 1 exit status
> gmake[8]: *** [Makefile:247: /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf/sotruss-lib.so] Error 1
> gmake[7]: *** [Makefile:484: elf/subdir_lib] Error 2
> gmake[6]: *** [Makefile:9: all] Error 2
> gmake[5]: *** [Makefile:71: /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39/.compiled] Error 2
> gmake[4]: *** [Makefile:106: glibc-compile] Error 2
> gmake[3]: *** [mk/build.mk:227: toolchain/final] Error 2
> gmake[2]: *** [/home/wbx/openadk/mk/build.mk:176: world] Error 2
>
> No matter if I targeting mips32r1, mips32r2 or mips32r6.
>
> For a full build log targeting mips32r1 download this file here:
> https://debug.openadk.org/glibc-mips32-make.log
>
I have not see any issues building with gcc 14.1.1 / binutils 2.42
for mips with -mips1/-mips2/-mips32r6:
mips-linux-gnu-mips1$ ./elf/ld.so ./libc.so
GNU C Library (GNU libc) development release version 2.39.9000.
[...]
Compiled by GNU CC version 14.1.1 20240507 [releases/gcc-11 revision 624c3bb9ff7:d12f6ad7ecf:09910b6753427eeb3f6dded4fae3578851da7422].
libc ABIs: MIPS_PLT UNIQUE MIPS_O32_FP64 ABSOLUTE MIPS_XHASH
[...]
Nor Joseph's automated bots that constantly checks all supported ABIs [1]
has reported any issue for mips.
As a side note, you are using some outdated configure options like
--enable-stackguard-randomization (removed on 2.34 [2]) and --disable-nls
(not really a glibc option),
[1] https://sourceware.org/pipermail/libc-testresults/2024q2/thread.html
[2] https://sourceware.org/bugzilla/show_bug.cgi?id=27872
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: mips32 still supported?
2024-06-11 13:07 ` Adhemerval Zanella Netto
@ 2024-06-13 11:57 ` Waldemar Brodkorb
2024-06-13 18:14 ` Adhemerval Zanella Netto
0 siblings, 1 reply; 4+ messages in thread
From: Waldemar Brodkorb @ 2024-06-13 11:57 UTC (permalink / raw)
To: Adhemerval Zanella Netto; +Cc: Waldemar Brodkorb, libc-help
Hi,
Adhemerval Zanella Netto wrote,
>
>
> On 11/06/24 02:44, Waldemar Brodkorb wrote:
> > Hi,
> >
> > is mips32 (big endian or little endian) still supported by glibc?
> >
> > I am seeing following build error with glibc 2.39 (gcc 13.3.0, binutils 2.42):
> >
> > /home/wbx/openadk/toolchain_qemu-mips_glibc_mips32r6_hard/usr/bin/mips-openadk-linux-gnu-gcc -mabi=32 -shared -static-libgcc -Wl,-dynamic-linker=/lib/ld-linux-mipsn8.so.1 -Wl,-z,defs -B/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/csu/ -Wl,-z,relro -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/math -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/dlfcn -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nss -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nis -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/rt -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/resolv -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/mathvec -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/support -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nptl -Wl,-rpath-link=/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/math:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/dlfcn:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nss:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nis:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/rt:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/resolv:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/mathvec:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/support:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nptl -o /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf/sotruss-lib.so /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/csu/abi-note.o -Wl,--as-needed /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf/sotruss-lib.os -Wl,--no-as-needed -Wl,--start-group /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/libc.so /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/libc_nonshared.a -Wl,--as-needed /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf/ld.so -Wl,--no-as-needed -Wl,--end-group
> > /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/csu/crti.o: in function `_init':
> > (.init+0x0): relocation R_MIPS_HI16 against `__gnu_local_gp' cannot be used when making a shared object; recompile with -fPIC
> > /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/csu/crti.o: in function `_fini':
> > (.fini+0x0): relocation R_MIPS_HI16 against `__gnu_local_gp' cannot be used when making a shared object; recompile with -fPIC
> > collect2: error: ld returned 1 exit status
> > gmake[8]: *** [Makefile:247: /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf/sotruss-lib.so] Error 1
> > gmake[7]: *** [Makefile:484: elf/subdir_lib] Error 2
> > gmake[6]: *** [Makefile:9: all] Error 2
> > gmake[5]: *** [Makefile:71: /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39/.compiled] Error 2
> > gmake[4]: *** [Makefile:106: glibc-compile] Error 2
> > gmake[3]: *** [mk/build.mk:227: toolchain/final] Error 2
> > gmake[2]: *** [/home/wbx/openadk/mk/build.mk:176: world] Error 2
> >
> > No matter if I targeting mips32r1, mips32r2 or mips32r6.
> >
> > For a full build log targeting mips32r1 download this file here:
> > https://debug.openadk.org/glibc-mips32-make.log
> >
>
> I have not see any issues building with gcc 14.1.1 / binutils 2.42
> for mips with -mips1/-mips2/-mips32r6:
>
> mips-linux-gnu-mips1$ ./elf/ld.so ./libc.so
> GNU C Library (GNU libc) development release version 2.39.9000.
> [...]
> Compiled by GNU CC version 14.1.1 20240507 [releases/gcc-11 revision 624c3bb9ff7:d12f6ad7ecf:09910b6753427eeb3f6dded4fae3578851da7422].
> libc ABIs: MIPS_PLT UNIQUE MIPS_O32_FP64 ABSOLUTE MIPS_XHASH
> [...]
>
> Nor Joseph's automated bots that constantly checks all supported ABIs [1]
> has reported any issue for mips.
>
> As a side note, you are using some outdated configure options like
> --enable-stackguard-randomization (removed on 2.34 [2]) and --disable-nls
> (not really a glibc option),
>
> [1] https://sourceware.org/pipermail/libc-testresults/2024q2/thread.html
> [2] https://sourceware.org/bugzilla/show_bug.cgi?id=27872
Thanks for your response. I found the reason. I disabled default-pie
confgiure option by default for my sparc64 issues. But mips seems
not to be compilable with PIE off. I think this might be a bug.
Or is everyone nowadays using PIE?
best regards
Waldemar
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: mips32 still supported?
2024-06-13 11:57 ` Waldemar Brodkorb
@ 2024-06-13 18:14 ` Adhemerval Zanella Netto
0 siblings, 0 replies; 4+ messages in thread
From: Adhemerval Zanella Netto @ 2024-06-13 18:14 UTC (permalink / raw)
To: Waldemar Brodkorb; +Cc: libc-help
On 13/06/24 08:57, Waldemar Brodkorb wrote:
> Hi,
> Adhemerval Zanella Netto wrote,
>
>>
>>
>> On 11/06/24 02:44, Waldemar Brodkorb wrote:
>>> Hi,
>>>
>>> is mips32 (big endian or little endian) still supported by glibc?
>>>
>>> I am seeing following build error with glibc 2.39 (gcc 13.3.0, binutils 2.42):
>>>
>>> /home/wbx/openadk/toolchain_qemu-mips_glibc_mips32r6_hard/usr/bin/mips-openadk-linux-gnu-gcc -mabi=32 -shared -static-libgcc -Wl,-dynamic-linker=/lib/ld-linux-mipsn8.so.1 -Wl,-z,defs -B/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/csu/ -Wl,-z,relro -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/math -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/dlfcn -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nss -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nis -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/rt -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/resolv -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/mathvec -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/support -L/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nptl -Wl,-rpath-link=/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/math:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/dlfcn:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nss:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nis:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/rt:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/resolv:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/mathvec:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/support:/home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/nptl -o /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf/sotruss-lib.so /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/csu/abi-note.o -Wl,--as-needed /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf/sotruss-lib.os -Wl,--no-as-needed -Wl,--start-group /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/libc.so /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/libc_nonshared.a -Wl,--as-needed /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf/ld.so -Wl,--no-as-needed -Wl,--end-group
>>> /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/csu/crti.o: in function `_init':
>>> (.init+0x0): relocation R_MIPS_HI16 against `__gnu_local_gp' cannot be used when making a shared object; recompile with -fPIC
>>> /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/csu/crti.o: in function `_fini':
>>> (.fini+0x0): relocation R_MIPS_HI16 against `__gnu_local_gp' cannot be used when making a shared object; recompile with -fPIC
>>> collect2: error: ld returned 1 exit status
>>> gmake[8]: *** [Makefile:247: /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39-final/elf/sotruss-lib.so] Error 1
>>> gmake[7]: *** [Makefile:484: elf/subdir_lib] Error 2
>>> gmake[6]: *** [Makefile:9: all] Error 2
>>> gmake[5]: *** [Makefile:71: /home/wbx/openadk/toolchain_build_qemu-mips_glibc_mips32r6_hard/w-glibc-2.39-1/glibc-2.39/.compiled] Error 2
>>> gmake[4]: *** [Makefile:106: glibc-compile] Error 2
>>> gmake[3]: *** [mk/build.mk:227: toolchain/final] Error 2
>>> gmake[2]: *** [/home/wbx/openadk/mk/build.mk:176: world] Error 2
>>>
>>> No matter if I targeting mips32r1, mips32r2 or mips32r6.
>>>
>>> For a full build log targeting mips32r1 download this file here:
>>> https://debug.openadk.org/glibc-mips32-make.log
>>>
>>
>> I have not see any issues building with gcc 14.1.1 / binutils 2.42
>> for mips with -mips1/-mips2/-mips32r6:
>>
>> mips-linux-gnu-mips1$ ./elf/ld.so ./libc.so
>> GNU C Library (GNU libc) development release version 2.39.9000.
>> [...]
>> Compiled by GNU CC version 14.1.1 20240507 [releases/gcc-11 revision 624c3bb9ff7:d12f6ad7ecf:09910b6753427eeb3f6dded4fae3578851da7422].
>> libc ABIs: MIPS_PLT UNIQUE MIPS_O32_FP64 ABSOLUTE MIPS_XHASH
>> [...]
>>
>> Nor Joseph's automated bots that constantly checks all supported ABIs [1]
>> has reported any issue for mips.
>>
>> As a side note, you are using some outdated configure options like
>> --enable-stackguard-randomization (removed on 2.34 [2]) and --disable-nls
>> (not really a glibc option),
>>
>> [1] https://sourceware.org/pipermail/libc-testresults/2024q2/thread.html
>> [2] https://sourceware.org/bugzilla/show_bug.cgi?id=27872
>
> Thanks for your response. I found the reason. I disabled default-pie
> confgiure option by default for my sparc64 issues. But mips seems
> not to be compilable with PIE off. I think this might be a bug.
> Or is everyone nowadays using PIE?
The PIE is enabled as default, although some ABIs seems to be broken (sparc).
For mips I did not see any issue, at least on qemu and qemu-user both
default and --disable-default-pie works as expected.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-06-13 18:14 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-11 5:44 mips32 still supported? Waldemar Brodkorb
2024-06-11 13:07 ` Adhemerval Zanella Netto
2024-06-13 11:57 ` Waldemar Brodkorb
2024-06-13 18:14 ` Adhemerval Zanella Netto
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).