Hi Assaf, > >> The program 'stdbuf' on bi-arch x86 / x86_64 systems cannot work on all > >> kinds > >> of programs. > [...] > >> I would like to have a single binary that works on both x86 and x86_64 > >> programs. > [...] > > if stdbuf sets both LD_PRELOAD_32 and LD_PRELOAD_64 to the > > appropriate libstdbuf.so, it should just work. > > It's been more than 7 years since last comments/progress on this issue. > Is it still relevant / needed ?
Yes, it is still relevant: * Bi-arch systems are still frequent. Large packages are still often provided as 32-bit binaries, from some vendors. * The behaviour of stdbuf in coreutils-8.30 is still the same: $ /arch/x86-linux/gnu/bin/stdbuf -o 0 /bin/pwd ERROR: ld.so: object '/arch/x86-linux/gnu/libexec/coreutils/libstdbuf.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. /home/bruno $ /arch/x86_64-linux/gnu/bin/stdbuf -o 0 /arch/x86-linux/gnu/bin/pwd ERROR: ld.so: object '/arch/x86_64-linux/gnu/libexec/coreutils/libstdbuf.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. /home/bruno * The distributor (Ubuntu 16.04 in my case) has not fixed the problem either: $ /usr/bin/stdbuf --version stdbuf (GNU coreutils) 8.25 ... $ /usr/bin/stdbuf -o 0 /arch/x86-linux/gnu/bin/pwd ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/coreutils/libstdbuf.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. /home/bruno Bruno