[uClibc] Re: dlopen()'ing libraries that depend on libraries

David Wuertele dave-gnus at bfnet.com
Wed Aug 20 21:53:07 UTC 2003


Backporting the dlopen() fix to 0.9.20 resulted in a linuxrc that
hangs.  So I went and got the latest cvs snapshot and used that
instead, just building a barebones buildroot system with 

 ARCH:=mipsel
 USE_BUSYBOX_SNAPSHOT:=true
 TARGETS+=uclibc_toolchain
 TARGETS+=linux
 TARGETS+=busybox tinylogin

Since I run into a compile bug that I mention in a previous email, I
have applied the following patch to uClibc/Rules.mk:

--- uClibc/Rules.mak.orig	2003-08-20 12:31:41.000000000 -0700
+++ uClibc/Rules.mak	2003-08-20 12:31:02.000000000 -0700
@@ -225,7 +225,6 @@
 endif
 ifeq ($(UCLIBC_HAS_SOFT_FLOAT),y)
     CFLAGS += -msoft-float
-    LDFLAGS+= -Wa,-mno-fpu
 endif
 
 CFLAGS_NOPIC:=$(CFLAGS)

This patch helps buildroot compile everything fine, but it results in
linuxrc hanging just like the patched 0.9.20 case.  The kernel just
stops printing stuff when it gets to the point that it normally runs
linuxrc.  I tried making linuxrc be a shell script with just one line
"exit" in it, to see if linux can run it.  But I still see the system
hang at the point it tries to run linuxrc.  It doesn't even complain
that something is wrong.

FWIW, Here is my uClibc/.config:

#
# Automatically generated make config: don't edit
#

#
# Target Architecture Features and Options
#
HAVE_ELF=y
ARCH_CFLAGS="-mno-split-addresses"
UCLIBC_HAS_MMU=y
UCLIBC_HAS_FLOATS=y
# HAS_FPU is not set
UCLIBC_HAS_SOFT_FLOAT=y
DO_C99_MATH=y
WARNINGS="-Wall"
KERNEL_SOURCE="/home/dave/C/perforce/source/buildroot/build_mipsel/linux"
C_SYMBOL_PREFIX=""
HAVE_DOT_CONFIG=y

#
# General Library Settings
#
DOPIC=y
HAVE_SHARED=y
ADD_LIBGCC_FUNCTIONS=y
BUILD_UCLIBC_LDSO=y
LDSO_LDD_SUPPORT=y
UCLIBC_CTOR_DTOR=y
# UCLIBC_PROFILING is not set
UCLIBC_HAS_THREADS=y
PTHREADS_DEBUG_SUPPORT=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
MALLOC_930716=y
# MALLOC_GLIBC_COMPAT is not set
UCLIBC_DYNAMIC_ATEXIT=y
HAS_SHADOW=y
UCLIBC_HAS_REGEX=y
UNIX98PTY_ONLY=y
ASSUME_DEVPTS=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"

#
# Networking Support
#
# UCLIBC_HAS_IPV6 is not set
UCLIBC_HAS_RPC=y
# UCLIBC_HAS_FULL_RPC is not set

#
# String and Stdio Support
#
UCLIBC_HAS_CTYPE_SIGNED=y
# UCLIBC_HAS_CTYPE_UNSAFE is not set
UCLIBC_HAS_CTYPE_CHECKED=y
# UCLIBC_HAS_CTYPE_ENFORCED is not set
UCLIBC_HAS_WCHAR=y
# UCLIBC_HAS_LOCALE is not set
# UCLIBC_HAS_HEXADECIMAL_FLOATS is not set
# UCLIBC_HAS_GLIBC_CUSTOM_PRINTF is not set
# USE_OLD_VFPRINTF is not set
UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
# UCLIBC_HAS_SCANF_GLIBC_A_FLAG is not set
# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
UCLIBC_HAS_STDIO_BUFSIZ_256=y
# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set
# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
UCLIBC_HAS_STDIO_GETC_MACRO=y
UCLIBC_HAS_STDIO_PUTC_MACRO=y
UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
# UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE is not set
# UCLIBC_HAS_GLIBC_CUSTOM_STREAMS is not set
# UCLIBC_HAS_PRINTF_M_SPEC is not set
UCLIBC_HAS_ERRNO_MESSAGES=y
UCLIBC_HAS_SYS_ERRLIST=y
UCLIBC_HAS_SIGNUM_MESSAGES=y
# UCLIBC_HAS_SYS_SIGLIST is not set

#
# Library Installation Options
#
SHARED_LIB_LOADER_PATH="/lib"
DEVEL_PREFIX="/home/dave/C/perforce/source/buildroot/build_mipsel/staging_dir"
SYSTEM_DEVEL_PREFIX="/home/dave/C/perforce/source/buildroot/build_mipsel/staging_dir"
DEVEL_TOOL_PREFIX="/home/dave/C/perforce/source/buildroot/build_mipsel/staging_dir/usr"

#
# uClibc development/debugging options
#
# DODEBUG is not set
# DOASSERTS is not set
# SUPPORT_LD_DEBUG is not set
# SUPPORT_LD_DEBUG_EARLY is not set
# UCLIBC_MJN3_ONLY is not set




More information about the uClibc mailing list