building uClibc for ARM MMU-less

Daniel Beecham daniel at lunix.se
Sat Aug 4 17:12:19 UTC 2012


Christophe Lyon <christophe.lyon <at> st.com> writes:

> 
> Hello,
> 
> I am having some trouble building uClibc for an ARM MMU-less target.
> It's likely that I have chosen incompatible configuration options.
> 
> I have configured GCC with --target=arm-cortex-linux-uclibcgnueabi
--disable-libssp --disable-shared.
> 
> My uClibc build currently fails at libpthread/nptl/sysdeps/generic/dl-tls.o:
> ./ldso/include/dl-elf.h: In function '__dl_parse_dynamic_info':
> ./ldso/include/dl-elf.h:173:20: error: 'RTLD_NODELETE' undeclared (first use
in this function)
> 
> RTLD_NODELETE is defined via dlfcn.h, which is included by link.h only if
__HAVE_SHARED__ is defined.
> dl-elf.h includes links.h.
> 
> My .config file includes:
> TARGET_arm=y
> [...]
> UCLIBC_FORMAT_FLAT=y
> ARCH_HAS_NO_SHARED=y
> ARCH_HAS_NO_LDSO=y
> UCLIBC_CTOR_DTOR=y
> UCLIBC_HAS_THREADS_NATIVE=y
> UCLIBC_HAS_THREADS=y
> UCLIBC_HAS_TLS=y
> PTHREADS_DEBUG_SUPPORT=y
> UCLIBC_HAS_SYSLOG=y
> UCLIBC_HAS_LFS=y
> MALLOC=y
> MALLOC_GLIBC_COMPAT=y
> UCLIBC_DYNAMIC_ATEXIT=y
> UCLIBC_SUSV3_LEGACY=y
> UCLIBC_SUSV4_LEGACY=y
> UCLIBC_HAS_STUBS=y   # I had to define this one for fork.o to compile.
> 
> I have probably selected incompatible features, which ones?
> 
> Thanks!
> 
> Christophe.
> 

I have the same issue, I'm on a x86-64. Enabling HAVE_SHARED works, but I'm
building static binaries.

Here is my .config:

TARGET_x86_64=y
TARGET_ARCH="x86_64"
FORCE_OPTIONS_FOR_ARCH=y
TARGET_SUBARCH=""
ARCH_LITTLE_ENDIAN=y
ARCH_HAS_MMU=y
ARCH_USE_MMU=y
UCLIBC_HAS_FLOATS=y
UCLIBC_HAS_FPU=y
DO_C99_MATH=y
DO_XSI_MATH=y
UCLIBC_HAS_FENV=y
UCLIBC_HAS_LONG_DOUBLE_MATH=y
KERNEL_HEADERS="/usr/include"
HAVE_DOT_CONFIG=y
UCLIBC_CTOR_DTOR=y
UCLIBC_HAS_THREADS_NATIVE=y
UCLIBC_HAS_THREADS=y
UCLIBC_HAS_TLS=y
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
MALLOC_STANDARD=y
UCLIBC_DYNAMIC_ATEXIT=y
UCLIBC_HAS_SHADOW=y
UCLIBC_HAS___PROGNAME=y
UCLIBC_HAS_PTY=y
ASSUME_DEVPTS=y
UNIX98PTY_ONLY=y
UCLIBC_HAS_TM_EXTENSIONS=y
UCLIBC_HAS_TZ_CACHING=y
UCLIBC_HAS_TZ_FILE=y
UCLIBC_HAS_TZ_FILE_READ_MANY=y
UCLIBC_TZ_FILE_PATH="/etc/TZ"
UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
UCLIBC_PWD_BUFFER_SIZE=256
UCLIBC_GRP_BUFFER_SIZE=256
UCLIBC_LINUX_MODULE_26=y
UCLIBC_LINUX_SPECIFIC=y
UCLIBC_HAS_GNU_ERROR=y
UCLIBC_BSD_SPECIFIC=y
UCLIBC_HAS_BSD_ERR=y
UCLIBC_HAS_REALTIME=y
UCLIBC_HAS_ADVANCED_REALTIME=y
UCLIBC_HAS_EPOLL=y
UCLIBC_HAS_XATTR=y
UCLIBC_HAS_PROFILING=y
UCLIBC_HAS_CRYPT_IMPL=y
UCLIBC_HAS_CRYPT=y
UCLIBC_HAS_NETWORK_SUPPORT=y
UCLIBC_HAS_SOCKET=y
UCLIBC_HAS_IPV4=y
UCLIBC_HAS_COMPAT_RES_STATE=y
UCLIBC_HAS_STRING_GENERIC_OPT=y
UCLIBC_HAS_STRING_ARCH_OPT=y
UCLIBC_HAS_CTYPE_TABLES=y
UCLIBC_HAS_CTYPE_SIGNED=y
UCLIBC_HAS_CTYPE_UNSAFE=y
UCLIBC_HAS_HEXADECIMAL_FLOATS=y
UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
UCLIBC_HAS_STDIO_BUFSIZ_4096=y
UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
UCLIBC_HAS_STDIO_GETC_MACRO=y
UCLIBC_HAS_STDIO_PUTC_MACRO=y
UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
UCLIBC_HAS_ERRNO_MESSAGES=y
UCLIBC_HAS_SIGNUM_MESSAGES=y
UCLIBC_HAS_GNU_GETOPT=y
UCLIBC_HAS_STDIO_FUTEXES=y
UCLIBC_HAS_GNU_GETSUBOPT=y
UCLIBC_HAS_REGEX=y
UCLIBC_HAS_FNMATCH=y
UCLIBC_HAS_GLOB=y
RUNTIME_PREFIX="/usr/$(TARGET_ARCH)-linux-uclibc/"
DEVEL_PREFIX="/usr/$(TARGET_ARCH)-linux-uclibc/usr/"
MULTILIB_DIR="lib"
HARDWIRED_ABSPATH=y
UCLIBC_BUILD_NOEXECSTACK=y
CROSS_COMPILER_PREFIX=""
UCLIBC_EXTRA_CFLAGS="-Os -march=native"
DOSTRIP=y
WARNINGS="-Wall"

Thanks,
Daniel Beecham



More information about the uClibc mailing list