lsbsi for s390x

Marvin Heffler <[email protected]> Tue, 24 Feb 2004 09:40:13 -0600
Newsgroups gmane.linux.lsb.implementation
Message-ID <OFD70E0D9A.E36B29AA-ON86256E44.00547CF8-86256E44.0055F544@us.ibm.com>
After getting my s390x system back in a working state I kicked off a build 
of the si. It made it past the problem in glibc with the ustat 
redefinition, but it fails on the very next package in phase2. At the 
beginning of the configure for bash it fails saying the compiler doesn't 
work. This is due to lsb linker being in one place and the tool chain 
pointing somewhere else. 

Once in the lsbsi-intermediate chroot the gcc compiler works okay, but the 
resulting binary will not execute. The binary is looking for 
ld-lsb-s390x.so.1 in the /lib directory when it really resides in the 
/lib64 directory. Apparently building of the tool chain during the 
bootstrap phase is not setting things up correctly for lib64. When I look 
at the /usr/src/gcc-lib/s390x-ibm-linux/3.3.2/specs file in 
lsbsi-bootstrap and lsbsi-intermediate it has the following lines:

*link_arch31:
-m elf_s390    %{shared:-shared}    %{!shared:       %{static:-static}  
%{!static:         %{rdynamic:-export-dynamic} 
%{!dynamic-linker:-dynamic-linker /lib/ld-lsb-s390.so.1}}}

*link_arch64:
-m elf64_s390    %{shared:-shared}    %{!shared:       %{static:-static}   
 %{!static:       %{rdynamic:-export-dynamic} 
%{!dynamic-linker:-dynamic-linker /lib/ld-lsb-s390x.so.1}}}

If I modify the second line from the lsbsi-intermediate chroot to make it 
use /lib64/ld-lsb-s390x.so.1, then the compiler is able to generate 
binaries that can be executed in the chroot.

Another indication of a configuration problem is in the /usr/bin/ldd file 
in the lsbsi-intermediate chroot. It has the following line:

RTLDLIST="/lib/ld-lsb-s390x.so.1 /lib/ld-lsb-s390x64.so.1"

This prevents ldd from listing the shared objects in the binaries created 
in the chroot. I think instead it should be like this:

RTLDLIST="/lib64/ld-lsb-s390x.so.1 /lib64/ld-lsb-s390x64.so.1"

If this change is made, then ldd works correctly in the chroot.

It looks like someone has gotten beyond this point on amd64, but I don't 
see anything in cvs associated with this problem. I'll keep looking into 
it for now.

Regards,

Marvin Heffler
Linux Standard Base
IBM Linux Technology Center
11400 Burnet Road, Zip 905-7A017
Austin, TX 78758
(512) 838-0953    T/L 678-0953

_______________________________________________
lsb-impl mailing list
[email protected]
http://freestandards.org/mailman/listinfo/lsb-impl