Subject: bug#8960: stdbuf on bi-arch systems

From: Pádraig Brady <[email-masked]>
Date: Mon, 04 Jul 2011 17:15:41 +0100

On 29/06/11 21:47, Bruno Haible wrote:
> Hi,
> 
> The program 'stdbuf' on bi-arch x86 / x86_64 systems cannot work on all kinds
> of programs.
> 
> I'm using 'stdbuf' from coreutils-8.12 on a glibc x86 / x86_64 system.
> 
> The binary built for x86 cannot be called on x86_64 programs:
> 
>   $ /arch/x86-linux/gnu/bin/stdbuf -o 0 /bin/pwd
>   ERROR: ld.so: object '/arch/x86-linux/gnu/lib/coreutils/libstdbuf.so' from LD_PRELOAD cannot be preloaded: ignored.
>   /home/bruno
> 
> The binary built for x86_64 cannot be called on x86 programs:
> 
>   $ /arch/x86_64-linux/gnu/bin/stdbuf -o 0 /arch/x86-linux/gnu/bin/pwd
>   ERROR: ld.so: object '/arch/x86_64-linux/gnu/lib64/coreutils/libstdbuf.so' from LD_PRELOAD cannot be preloaded: ignored.
>   /home/bruno
> 
> I would like to have a single binary that works on both x86 and x86_64 programs.

Hmm, I haven't look at this, but it seems like
if stdbuf sets both LD_PRELOAD_32 and LD_PRELOAD_64 to the
appropriate libstdbuf.so, it should just work.
However these libs would be in separate builds so
I need to look into, how best to support this.

cheers,
Pádraig.