public inbox for libc-help@sourceware.org
 help / color / mirror / Atom feed
* 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).