Hi, I'm using cross compiled uClibc 0.2.29 for cris architecture. Buildroot was really helpful providing working root filesystem and kernel. Way to go uClibc community!
Now, our application uses RPC to communicate with the server. Typical service request invoked by the server found on our embedded device would be: <call>rpc.sys.set_time</call> <single> <param id="0"> <val><int64>20081118135806</int64></val> </param> </single> Our architecture defines 'i64' type as: typedef long long i64; Conversion of the received string value to 64bit integer results in value '-1'. Can uClibc handle 64bit integers on 32bit platform correctly? Here is the uClibc config, that was used for building the library, maybe I'm missing some config value.. [EMAIL PROTECTED] /work/buildroot $ cat toolchain_build_cris/uClibc-0.9.29/.config # # Automatically generated make config: don't edit # Thu Oct 16 16:54:54 2008 # # TARGET_alpha is not set # TARGET_arm is not set # TARGET_bfin is not set TARGET_cris=y # TARGET_e1 is not set # TARGET_frv is not set # TARGET_h8300 is not set # TARGET_hppa is not set # TARGET_i386 is not set # TARGET_i960 is not set # TARGET_ia64 is not set # TARGET_m68k is not set # TARGET_microblaze is not set # TARGET_mips is not set # TARGET_nios is not set # TARGET_nios2 is not set # TARGET_powerpc is not set # TARGET_sh is not set # TARGET_sh64 is not set # TARGET_sparc is not set # TARGET_v850 is not set # TARGET_vax is not set # TARGET_x86_64 is not set # # Target Architecture Features and Options # TARGET_ARCH="cris" FORCE_OPTIONS_FOR_ARCH=y CONFIG_CRIS=y # CONFIG_CRISV32 is not set TARGET_SUBARCH="" # # Using ELF file format # ARCH_LITTLE_ENDIAN=y # # Using Little Endian # ARCH_HAS_MMU=y ARCH_USE_MMU=y UCLIBC_HAS_FLOATS=y UCLIBC_HAS_FPU=y DO_C99_MATH=y KERNEL_HEADERS="/work/buildroot/toolchain_build_cris/linux/include" HAVE_DOT_CONFIG=y # # General Library Settings # # HAVE_NO_PIC is not set DOPIC=y # HAVE_NO_SHARED is not set # ARCH_HAS_NO_LDSO is not set HAVE_SHARED=y FORCE_SHAREABLE_TEXT_SEGMENTS=y # LDSO_LDD_SUPPORT is not set # LDSO_CACHE_SUPPORT is not set LDSO_PRELOAD_FILE_SUPPORT=y LDSO_BASE_FILENAME="ld.so" # UCLIBC_STATIC_LDCONFIG is not set # LDSO_RUNPATH is not set UCLIBC_CTOR_DTOR=y # HAS_NO_THREADS is not set UCLIBC_HAS_THREADS=y # PTHREADS_DEBUG_SUPPORT is not set LINUXTHREADS_OLD=y UCLIBC_HAS_LFS=y # MALLOC is not set # MALLOC_SIMPLE is not set MALLOC_STANDARD=y # MALLOC_GLIBC_COMPAT is not set # UCLIBC_DYNAMIC_ATEXIT is not set # COMPAT_ATEXIT is not set # UCLIBC_SUSV3_LEGACY is not set # UCLIBC_SUSV3_LEGACY_MACROS is not set UCLIBC_HAS_SHADOW=y # UCLIBC_HAS_PROGRAM_INVOCATION_NAME is not set UCLIBC_HAS___PROGNAME=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" # # Advanced Library Settings # UCLIBC_PWD_BUFFER_SIZE=256 UCLIBC_GRP_BUFFER_SIZE=256 # # Networking Support # UCLIBC_HAS_IPV6=y UCLIBC_HAS_RPC=y UCLIBC_HAS_FULL_RPC=y UCLIBC_HAS_REENTRANT_RPC=y # UCLIBC_USE_NETLINK is not set # UCLIBC_HAS_BSD_RES_CLOSE is not set # # String and Stdio Support # UCLIBC_HAS_STRING_GENERIC_OPT=y # UCLIBC_HAS_STRING_ARCH_OPT is not set UCLIBC_HAS_CTYPE_TABLES=y UCLIBC_HAS_CTYPE_SIGNED=y UCLIBC_HAS_CTYPE_UNSAFE=y # UCLIBC_HAS_CTYPE_CHECKED is not set # 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 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_SHUTDOWN_ON_ABORT 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=y UCLIBC_HAS_ERRNO_MESSAGES=y UCLIBC_HAS_SYS_ERRLIST=y UCLIBC_HAS_SIGNUM_MESSAGES=y UCLIBC_HAS_SYS_SIGLIST=y UCLIBC_HAS_GNU_GETOPT=y UCLIBC_HAS_GNU_GETSUBOPT=y # # Big and Tall # UCLIBC_HAS_REGEX=y UCLIBC_HAS_REGEX_OLD=y UCLIBC_HAS_FNMATCH=y UCLIBC_HAS_FNMATCH_OLD=y # UCLIBC_HAS_WORDEXP is not set # UCLIBC_HAS_FTW is not set UCLIBC_HAS_GLOB=y # UCLIBC_HAS_GNU_GLOB is not set # # Library Installation Options # SHARED_LIB_LOADER_PREFIX="/lib" RUNTIME_PREFIX="/" DEVEL_PREFIX="/usr/" # # Security options # UCLIBC_HAS_ARC4RANDOM=y # HAVE_NO_SSP is not set # UCLIBC_HAS_SSP is not set # UCLIBC_BUILD_RELRO is not set # UCLIBC_BUILD_NOW is not set UCLIBC_BUILD_NOEXECSTACK=y # # uClibc development/debugging options # CROSS_COMPILER_PREFIX="/work/buildroot/build_cris/staging_dir/usr/bin/cris-linux-uclibc-" UCLIBC_EXTRA_CFLAGS="" # DODEBUG is not set # DODEBUG_PT is not set DOSTRIP=y # DOASSERTS is not set # SUPPORT_LD_DEBUG is not set # SUPPORT_LD_DEBUG_EARLY is not set # UCLIBC_MALLOC_DEBUGGING is not set WARNINGS="-Wall" # EXTRA_WARNINGS is not set # DOMULTI is not set # UCLIBC_MJN3_ONLY is not set Thank you, HK PS.: Needless to say that if our app is compiled against glibc the i64 parsing works as expected. -- Hinko Kočevar, OSS developer ČETRTA POT, d.o.o. Planina 3, 4000 Kranj, SI EU tel ++386 (0) 4 280 66 03 e-mail [EMAIL PROTECTED] http www.cetrtapot.si _______________________________________________ uClibc mailing list [email protected] http://busybox.net/cgi-bin/mailman/listinfo/uclibc
