From 7002873dffc9a8f2758e96f1cdeadaccdae6f96c Mon Sep 17 00:00:00 2001 From: John Bowler Date: Fri, 9 Sep 2005 01:47:04 +0000 Subject: uclibc_svn: fix the SVN version to build the uclibc SVN head The SVN version now copies 0.9.28 patches, the armeb case should work, other architectures almost certainly require the uclibc-cvs/*/uClibc.config copy of the config file to be deleted (if this is done the build will pick up the config file in uclibc-0.9.28). --- packages/uclibc/uclibc-cvs/armeb/.mtn2git_empty | 0 packages/uclibc/uclibc-cvs/armeb/uClibc.config | 155 --------------------- .../uclibc-cvs/thumb-defined-arm-or-thumb.patch | 15 ++ packages/uclibc/uclibc_svn.bb | 46 +++++- 4 files changed, 57 insertions(+), 159 deletions(-) delete mode 100644 packages/uclibc/uclibc-cvs/armeb/.mtn2git_empty delete mode 100644 packages/uclibc/uclibc-cvs/armeb/uClibc.config create mode 100644 packages/uclibc/uclibc-cvs/thumb-defined-arm-or-thumb.patch (limited to 'packages/uclibc') diff --git a/packages/uclibc/uclibc-cvs/armeb/.mtn2git_empty b/packages/uclibc/uclibc-cvs/armeb/.mtn2git_empty deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/uclibc/uclibc-cvs/armeb/uClibc.config b/packages/uclibc/uclibc-cvs/armeb/uClibc.config deleted file mode 100644 index fb11c3ad79..0000000000 --- a/packages/uclibc/uclibc-cvs/armeb/uClibc.config +++ /dev/null @@ -1,155 +0,0 @@ -# -# Automatically generated make config: don't edit -# -# TARGET_alpha is not set -TARGET_arm=y -# TARGET_cris is not set -# TARGET_e1 is not set -# TARGET_frv is not set -# TARGET_h8300 is not set -# TARGET_i386 is not set -# TARGET_i960 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_sparc is not set -# TARGET_v850 is not set - -# -# Target Architecture Features and Options -# -HAVE_ELF=y -ARCH_SUPPORTS_LITTLE_ENDIAN=y -TARGET_ARCH="arm" -ARCH_SUPPORTS_BIG_ENDIAN=y -CONFIG_GENERIC_ARM=y -# CONFIG_ARM610 is not set -# CONFIG_ARM710 is not set -# CONFIG_ARM720T is not set -# CONFIG_ARM920T is not set -# CONFIG_ARM922T is not set -# CONFIG_ARM926T is not set -# CONFIG_ARM_SA110 is not set -# CONFIG_ARM_SA1100 is not set -# CONFIG_ARM_XSCALE is not set -# ARCH_LITTLE_ENDIAN is not set -ARCH_BIG_ENDIAN=y -# ARCH_HAS_NO_MMU is not set -ARCH_HAS_MMU=y -UCLIBC_HAS_FLOATS=y -HAS_FPU=y -DO_C99_MATH=y -WARNINGS="-Wall" -KERNEL_SOURCE="/path/to/kernel/sources" -C_SYMBOL_PREFIX="" -HAVE_DOT_CONFIG=y - -# -# General Library Settings -# -# HAVE_NO_PIC is not set -DOPIC=y -# HAVE_NO_SHARED is not set -HAVE_SHARED=y -# ARCH_HAS_NO_LDSO is not set -BUILD_UCLIBC_LDSO=y -# FORCE_SHAREABLE_TEXT_SEGMENTS is not set -# UCLIBC_PIE_SUPPORT is not set -LDSO_LDD_SUPPORT=y -UCLIBC_CTOR_DTOR=y -# UCLIBC_PROPOLICE is not set -# HAS_NO_THREADS is not set -UCLIBC_HAS_THREADS=y -PTHREADS_DEBUG_SUPPORT=y -UCLIBC_HAS_LFS=y -# MALLOC is not set -# MALLOC_SIMPLE is not set -MALLOC_STANDARD=y -MALLOC_GLIBC_COMPAT=y -UCLIBC_DYNAMIC_ATEXIT=y -HAS_SHADOW=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=y -UCLIBC_HAS_RPC=y -UCLIBC_HAS_FULL_RPC=y - -# -# String and Stdio Support -# -UCLIBC_HAS_CTYPE_TABLES=y -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=y -UCLIBC_PREGENERATED_LOCALE_DATA=y -# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set -UCLIBC_HAS_XLOCALE=y -UCLIBC_HAS_HEXADECIMAL_FLOATS=y -UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y -UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y -UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y -UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 -UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y -# 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=y -UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y -UCLIBC_HAS_PRINTF_M_SPEC=y -UCLIBC_HAS_ERRNO_MESSAGES=y -# UCLIBC_HAS_SYS_ERRLIST is not set -UCLIBC_HAS_SIGNUM_MESSAGES=y -# UCLIBC_HAS_SYS_SIGLIST is not set -UCLIBC_HAS_GETTEXT_AWARENESS=y -UCLIBC_HAS_GNU_GETOPT=y - -# -# Big and Tall -# -UCLIBC_HAS_REGEX=y -UCLIBC_HAS_WORDEXP=y -UCLIBC_HAS_FTW=y -UCLIBC_HAS_GLOB=y - -# -# Library Installation Options -# -SHARED_LIB_LOADER_PREFIX="$(DEVEL_PREFIX)/lib" -RUNTIME_PREFIX="/" -DEVEL_PREFIX="//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 diff --git a/packages/uclibc/uclibc-cvs/thumb-defined-arm-or-thumb.patch b/packages/uclibc/uclibc-cvs/thumb-defined-arm-or-thumb.patch new file mode 100644 index 0000000000..c31d2f03cd --- /dev/null +++ b/packages/uclibc/uclibc-cvs/thumb-defined-arm-or-thumb.patch @@ -0,0 +1,15 @@ +# in various places defined(__arm__) is used to protect/select code which +# is ARM specific, that code must also be selected for __thumb__ because +# __thumb__ is an ARM but __arm__ is not set... +# +--- ./ldso/include/dl-string.h.orig 2005-09-07 14:09:19.375564254 -0700 ++++ ./ldso/include/dl-string.h 2005-09-07 14:09:52.045620051 -0700 +@@ -270,7 +270,7 @@ + + /* On some arches constant strings are referenced through the GOT. + * This requires that load_addr must already be defined... */ +-#if defined(mc68000) || defined(__arm__) || defined(__mips__) \ ++#if defined(mc68000) || defined(__arm__) || defined(__thumb__) || defined(__mips__) \ + || defined(__sh__) || defined(__powerpc__) + # define CONSTANT_STRING_GOT_FIXUP(X) \ + if ((X) < (const char *) load_addr) (X) += load_addr diff --git a/packages/uclibc/uclibc_svn.bb b/packages/uclibc/uclibc_svn.bb index a79c429f15..0eafa820bd 100644 --- a/packages/uclibc/uclibc_svn.bb +++ b/packages/uclibc/uclibc_svn.bb @@ -1,9 +1,47 @@ -PV = "0.9.27+svn${CVSDATE}" +# UCLIBC_BASE should be the latest released revision of uclibc (that way +# the config files will typically be correct!) uclibc-cvs takes precedence +# over uclibc-${UCLIBC_BASE}, if a config file in uclibc-cvs is out of date +# try removing it +# +# UCLIBC_BASE can be set in a distro file, but whether this works depends +# on whether the base patches apply to the selected (CVSDATE) svn release. +# +UCLIBC_BASE ?= "0.9.28" +PV = "${UCLIBC_BASE}+svn${CVSDATE}" +#DEFAULT_PREFERENCE is 0 (empty), releases have a preference of 1 so take +# precedence. include uclibc.inc -FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-cvs', '${FILE_DIRNAME}/uclibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" +FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-cvs', '${FILE_DIRNAME}/uclibc-${UCLIBC_BASE}', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" + +# This is the correct KERNEL_SOURCE location, if the uClibc +# fix_includes.sh script is run (see nokernelheader.patch below) +# this must be correct. +KERNEL_SOURCE = "${CROSS_DIR}/${TARGET_SYS}" + +SRC_URI += "svn://uclibc.org/trunk;module=uClibc" -SRC_URI += "svn://uclibc.org/trunk;module=uClibc \ - file://nokernelheadercheck.patch;patch=1" S = "${WORKDIR}/uClibc" + +#*** PATCHES *** +# +# The nokernelheadercheck patch removes the check on the include +# files in ${KERNEL_SOURCE}, however this check seems to be +# functioning correct now so the patch is not included. It may +# be necessary to add this for architectures which do not initially +# have a 'good' set of kernel header files in the cross directory. +#UCLIBC_PATCHES += "file://nokernelheadercheck.patch;patch=1" +# +# Thumb support +UCLIBC_PATCHES += " file://thumb-defined-arm-or-thumb.patch;patch=1" +# +# Thumb interworking support +UCLIBC_PATCHES += " file://thumb-mov-pc-bx.patch;patch=1" +UCLIBC_PATCHES += " file://thumb-resolve.patch;patch=1" + +# Set this for non-head patches (the above list should match the +# requirements of the SVN head). +UCLIBC_SVN_PATCHES ?= "${UCLIBC_PATCHES}" + +SRC_URI += "${UCLIBC_SVN_PATCHES}" -- cgit v1.2.3