Re: [musl] Re: Bug#1068350: musl: miscompiles (runtime problems) on riscv64 and s390x with static-pie → seems to be a toolchain bug after all, it does too hit glibc
Markus Wichmann dixit:
>can check with readelf -r what the relocation types are. If they are not
>relative, they will not be processed.
Gotcha! They are all R_390_RELATIVE except for:
000000045ff0 001100000016 R_390_64 0000000000042c58 u_ops + 70
000000045ff8 001100000016 R_390_64 0000000000042c58 u_ops + 0
000000047020 001100000016 R_390_64 0000000000042c58 u_ops + 80
000000047088 001100000016 R_390_64 0000000000042c58 u_ops + 80
0000000470a8 001100000016 R_390_64 0000000000042c58 u_ops + b8
000000047220 001100000016 R_390_64 0000000000042c58 u_ops + 80
000000046900 002600000016 R_390_64 0000000000015af8 c_command + 0
000000046940 000700000016 R_390_64 0000000000017238 c_exec + 0
000000046ab0 002000000016 R_390_64 0000000000016a80 c_trap + 0
000000047090 002500000016 R_390_64 00000000000430ac initvsn + 0
000000047278 005500000016 R_390_64 0000000000047438 null_string + 2
That’s our missing strings.
>Is it possible you are linking in the wrong start file? gcc -v should
>output the command line it feeds to the linker.
Should be correct:
/usr/libexec/gcc/s390x-linux-gnu/13/collect2 -fno-lto -dynamic-linker /lib/ld-musl-s390x.so.1 -nostdlib -static -static -pie --no-dynamic-linker -o mksh /usr/lib/s390x-linux-musl/rcrt1.o /usr/lib/s390x-linux-musl/crti.o /usr/lib/gcc/s390x-linux-gnu/13/crtbeginS.o -L/usr/lib/s390x-linux-musl -L /usr/lib/gcc/s390x-linux-gnu/13/. -z relro -z now --as-needed -z text --eh-frame-hdr lalloc.o edit.o eval.o exec.o expr.o funcs.o histrap.o jobs.o lex.o main.o misc.o shf.o syn.o tree.o var.o ulimit.o --start-group /usr/lib/gcc/s390x-linux-gnu/13/libgcc.a /usr/lib/gcc/s390x-linux-gnu/13/libgcc_eh.a -lc --end-group /usr/lib/gcc/s390x-linux-gnu/13/crtendS.o /usr/lib/s390x-linux-musl/crtn.o
HTH & HAND,
//mirabilos
--
„Cool, /usr/share/doc/mksh/examples/uhr.gz ist ja ein Grund,
mksh auf jedem System zu installieren.“
-- XTaran auf der OpenRheinRuhr, ganz begeistert
(EN: “[…]uhr.gz is a reason to install mksh on every system.”)
Reply to: