This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Inconsistency detected by ld.so big-endian libraries.


I am having some strange problem with using glibc. I compiled a cross compiler for armv5b in big endian mode. I can build a kernel and bootup. I also create a root filesystem but when I try to use a filesystem for the target machine, I get this message for any dynamic binary I try to run. So the first binary init fails saying:


Inconsistency detected by ld.so: dl-version.c: 228: _dl_check_map_version Assertion 'needed != ((void *)0)' faild!

Binutils 2.13.2.1
Gcc 3.2.1
Glibc 2.2.5
Kernel 2.4.19-rmk6
Host: Redhat 7.3

I did try to do ldconfig on these shared libraries and I get on all share libraries that 

" ...*.so.* is not a share object file (Type: 768)."

This is part of the script that I used to compile libraries for toolchain and for target filesystem:

################
##################
# compile glibc for toolchain
##############

rm -rf ${GLIBC}-bld
tar zxvf ${DNLD}/${GLIBC}.tar.gz
tar -C $GLIBC -zxvf ${DNLD}/${GLIBC_THREADS}.tar.gz
mkdir -p ${GLIBC}-bld
perl -pi -e 's/i386/arm*)\n\tlibc_cv_gcc_unwind_find_fde=yes\n\tarch_minimum_kernel=2.0.10\n\t;;\n   i386/' ${GLIBC}/sysdeps/unix/sysv/linux/configure
perl -pi -e 's/weak_alias \(__old_sys_nerr/\/\/ $&/' ${GLIBC}/sysdeps/unix/sysv/linux/arm/errlist.c

cd ${GLIBC}-bld

echo "COMPILE GLIBC" 

AR=xscale_be-ar RANLIB=xscale_be-ranlib LD=xscale_be-ld CC="xscale_be-gcc -mbig-endian" ../${GLIBC}/configure $TGT --build=$HOST --with-headers=$KERNEL/include --enable-add-ons=linuxthreads --enable-shared --prefix=$PREFIX --with-cpu=xscale

make
make install
cd ..
pushd ${PREFIX}/${TGT}/lib
ln -s ${PREFIX}/lib/* .
popd


# target libraries
mkdir -p $TGT_ROOT
cp -f ${PREFIX}/VERSIONS ${TGT_ROOT}/VERSIONS

############
# glibc for target root filesystem
############
###########
rm -rf $GLIBC ${GLIBC}-bld
tar zxvf ${DNLD}/${GLIBC}.tar.gz
tar -C $GLIBC -zxvf ${DNLD}/${GLIBC_THREADS}.tar.gz
mkdir -p ${GLIBC}-bld
perl -pi -e 's/i386/arm*)\n\tlibc_cv_gcc_unwind_find_fde=yes\n\tarch_minimum_kernel=2.0.10\n\t;;\n   i386/' ${GLIBC}/sysdeps/unix/sysv/linux/configure
perl -pi -e 's/weak_alias \(__old_sys_nerr/\/\/ $&/' ${GLIBC}/sysdeps/unix/sysv/linux/arm/errlist.c
cd ${GLIBC}-bld
OLDPATH=$PATH
#PATH=$TC_2_95_3:$PATH
AR=xscale_be-ar RANLIB=xscale_be-ranlib LD=xscale_be-ld CC="xscale_be-gcc -mbig-endian" ../${GLIBC}/configure --host=$TGT --build=$HOST --with-headers=$KERNEL/include --enable-add-ons=linuxthreads --enable-shared --prefix="" --disable-profile --with-cpu=xscale


make
make install_root=${TGT_ROOT} install
pushd $TGT_ROOT
PATH=$OLDPATH
rm -rf include info libexec share
cd bin
rm -f gencat getent getconf glibcbug iconv locale*  pcprofiledump rpcgen sprof
cd ../sbin
rm -f iconvconfig nscd* rpcinfo sln zdump zic
cd ../lib
rm -f *.o
rm -f `ls *.a | grep -v libc_notshared.a`
rm -rf gconv
popd
cd ..
rm -rf $GLIBC ${GLIBC}-bld

####################################################################


I am basically running out of ideas, could someone help me out with this one. Please point to me to the right mailing list if this is not where I am suppose to be asking this question.


Thanks

naeem


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]