This is the mail archive of the newlib@sourceware.org mailing list for the newlib 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]

HAVE_INITFINI_ARRAY problem


Hi,

I recently encountered a problem building an arm-eabi newlib toolchain where __libc_init_array was missing from the libraries. The issue was eventually tracked to the following section of newlib/configure. What's happening is that it's checking for readelf which fails on hosts which do not have this program installed. It should really be checking for the target readelf but I'm not sure how to modify the configure script to look for the correct file. Is the check for readelf actually required or is the compilation test for a .init_array section sufficient?

Can I remove the readelf check? If not how would I obtain the name of the target readelf at this point?

Dave


echo $ac_n "checking for .preinit_array/.init_array/.fini_array support""... $ac_c" 1>&6
echo "configure:3430: checking for .preinit_array/.init_array/.fini_array support" >&5
if eval "test \"`echo '$''{'libc_cv_initfinit_array'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.c <<EOF
int _start (void) { return 0; }
int __start (void) { return 0; }
int foo (void) { return 1; }
int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
EOF
if { ac_try='${CC} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
-static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD'; { (eval echo configure:3441: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
then
if readelf -S conftest | grep -e INIT_ARRAY > /dev/null; then
libc_cv_initfinit_array=yes
else
libc_cv_initfinit_array=no
fi
else
libc_cv_initfinit_array=no
fi
rm -f conftest*
fi


echo "$ac_t""$libc_cv_initfinit_array" 1>&6

if test $libc_cv_initfinit_array = yes; then
 cat >> confdefs.h <<EOF
#define HAVE_INITFINI_ARRAY 1
EOF

fi


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