diff options
| author | Richard Purdie <richard@openedhand.com> | 2008-02-14 01:18:44 +0000 |
|---|---|---|
| committer | Richard Purdie <richard@openedhand.com> | 2008-02-14 01:18:44 +0000 |
| commit | 54566e6f90dbe5ca89a7d8ddb5843ea406bc3cc4 (patch) | |
| tree | 1cc2f47d0e0d4ed361525db43a3652022ce4e5bd /meta | |
| parent | b0a6e92f31355dffd1515d9399d100289ebbce25 (diff) | |
| download | poky-54566e6f90dbe5ca89a7d8ddb5843ea406bc3cc4.tar.gz | |
uclibc: Sync patches with OE, fix KERNEL variables to match sysroot changes, add patch to fix alignment problems on armv5e devices
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3795 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta')
9 files changed, 409 insertions, 7 deletions
diff --git a/meta/packages/uclibc/uclibc-0.9.29/arm_fix_alignment.patch b/meta/packages/uclibc/uclibc-0.9.29/arm_fix_alignment.patch new file mode 100644 index 0000000000..3a059021a7 --- /dev/null +++ b/meta/packages/uclibc/uclibc-0.9.29/arm_fix_alignment.patch | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | ARMV5 can use STRD and LDRD access instructions but these accesses need to be | ||
| 2 | 8 byte aligned. The dynamic linker's malloc needs to match this so structures | ||
| 3 | become 8 byte aligned to void unaligned accesses. | ||
| 4 | |||
| 5 | RP - 14/02/2008 | ||
| 6 | |||
| 7 | Index: uClibc-0.9.29/ldso/ldso/arm/dl-sysdep.h | ||
| 8 | =================================================================== | ||
| 9 | --- uClibc-0.9.29.orig/ldso/ldso/arm/dl-sysdep.h 2008-02-14 00:58:12.000000000 +0000 | ||
| 10 | +++ uClibc-0.9.29/ldso/ldso/arm/dl-sysdep.h 2008-02-14 00:59:19.000000000 +0000 | ||
| 11 | @@ -15,6 +15,8 @@ | ||
| 12 | GOT_BASE[1] = (unsigned long) MODULE; \ | ||
| 13 | } | ||
| 14 | |||
| 15 | +#define DL_MALLOC_ALIGN 8 /* EABI needs 8 byte alignment for STRD LDRD*/ | ||
| 16 | + | ||
| 17 | static inline unsigned long arm_modulus(unsigned long m, unsigned long p) | ||
| 18 | { | ||
| 19 | unsigned long i,t,inc; | ||
diff --git a/meta/packages/uclibc/uclibc-0.9.29/cm-x270/uClibc.machine b/meta/packages/uclibc/uclibc-0.9.29/cm-x270/uClibc.machine new file mode 100644 index 0000000000..e27931cf6b --- /dev/null +++ b/meta/packages/uclibc/uclibc-0.9.29/cm-x270/uClibc.machine | |||
| @@ -0,0 +1,70 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Sat May 12 23:18:41 2007 | ||
| 4 | # | ||
| 5 | # TARGET_alpha is not set | ||
| 6 | TARGET_arm=y | ||
| 7 | # TARGET_bfin is not set | ||
| 8 | # TARGET_cris is not set | ||
| 9 | # TARGET_e1 is not set | ||
| 10 | # TARGET_frv is not set | ||
| 11 | # TARGET_h8300 is not set | ||
| 12 | # TARGET_hppa is not set | ||
| 13 | # TARGET_i386 is not set | ||
| 14 | # TARGET_i960 is not set | ||
| 15 | # TARGET_ia64 is not set | ||
| 16 | # TARGET_m68k is not set | ||
| 17 | # TARGET_microblaze is not set | ||
| 18 | # TARGET_mips is not set | ||
| 19 | # TARGET_nios is not set | ||
| 20 | # TARGET_nios2 is not set | ||
| 21 | # TARGET_powerpc is not set | ||
| 22 | # TARGET_sh is not set | ||
| 23 | # TARGET_sh64 is not set | ||
| 24 | # TARGET_sparc is not set | ||
| 25 | # TARGET_v850 is not set | ||
| 26 | # TARGET_vax is not set | ||
| 27 | # TARGET_x86_64 is not set | ||
| 28 | |||
| 29 | # | ||
| 30 | # Target Architecture Features and Options | ||
| 31 | # | ||
| 32 | TARGET_ARCH="arm" | ||
| 33 | FORCE_OPTIONS_FOR_ARCH=y | ||
| 34 | # CONFIG_ARM_OABI is not set | ||
| 35 | CONFIG_ARM_EABI=y | ||
| 36 | USE_BX=y | ||
| 37 | # CONFIG_GENERIC_ARM is not set | ||
| 38 | # CONFIG_ARM610 is not set | ||
| 39 | # CONFIG_ARM710 is not set | ||
| 40 | # CONFIG_ARM7TDMI is not set | ||
| 41 | # CONFIG_ARM720T is not set | ||
| 42 | # CONFIG_ARM920T is not set | ||
| 43 | # CONFIG_ARM922T is not set | ||
| 44 | # CONFIG_ARM926T is not set | ||
| 45 | # CONFIG_ARM10T is not set | ||
| 46 | # CONFIG_ARM1136JF_S is not set | ||
| 47 | # CONFIG_ARM1176JZ_S is not set | ||
| 48 | # CONFIG_ARM1176JZF_S is not set | ||
| 49 | # CONFIG_ARM_SA110 is not set | ||
| 50 | # CONFIG_ARM_SA1100 is not set | ||
| 51 | # CONFIG_ARM_XSCALE is not set | ||
| 52 | CONFIG_ARM_IWMMXT=y | ||
| 53 | TARGET_SUBARCH="" | ||
| 54 | |||
| 55 | # | ||
| 56 | # Using ELF file format | ||
| 57 | # | ||
| 58 | ARCH_ANY_ENDIAN=y | ||
| 59 | ARCH_LITTLE_ENDIAN=y | ||
| 60 | # ARCH_WANTS_BIG_ENDIAN is not set | ||
| 61 | ARCH_WANTS_LITTLE_ENDIAN=y | ||
| 62 | ARCH_HAS_MMU=y | ||
| 63 | ARCH_USE_MMU=y | ||
| 64 | UCLIBC_HAS_FLOATS=y | ||
| 65 | # UCLIBC_HAS_FPU is not set | ||
| 66 | UCLIBC_HAS_SOFT_FLOAT=y | ||
| 67 | DO_C99_MATH=y | ||
| 68 | KERNEL_HEADERS="/usr/include" | ||
| 69 | HAVE_DOT_CONFIG=y | ||
| 70 | |||
diff --git a/meta/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-001-fix-mmap.patch b/meta/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-001-fix-mmap.patch new file mode 100644 index 0000000000..4775e8c332 --- /dev/null +++ b/meta/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-001-fix-mmap.patch | |||
| @@ -0,0 +1,91 @@ | |||
| 1 | --- uClibc-0.9.29.oorig/test/mmap/mmap2.c (revision 0) | ||
| 2 | +++ uClibc-0.9.29/test/mmap/mmap2.c (revision 18616) | ||
| 3 | @@ -0,0 +1,41 @@ | ||
| 4 | +/* When trying to map /dev/mem with offset 0xFFFFF000 on the ARM platform, mmap | ||
| 5 | + * returns -EOVERFLOW. | ||
| 6 | + * | ||
| 7 | + * Since off_t is defined as a long int and the sign bit is set in the address, | ||
| 8 | + * the shift operation shifts in ones instead of zeroes | ||
| 9 | + * from the left. This results the offset sent to the kernel function becomes | ||
| 10 | + * 0xFFFFFFFF instead of 0x000FFFFF with MMAP2_PAGE_SHIFT set to 12. | ||
| 11 | + */ | ||
| 12 | + | ||
| 13 | +#include <unistd.h> | ||
| 14 | +#include <stdio.h> | ||
| 15 | +#include <stdlib.h> | ||
| 16 | +#include <string.h> | ||
| 17 | +#include <errno.h> | ||
| 18 | +#include <fcntl.h> | ||
| 19 | +#include <sys/mman.h> | ||
| 20 | + | ||
| 21 | +#define FATAL do { fprintf(stderr, "Error at line %d, file %s (%d) [%s]\n", \ | ||
| 22 | + __LINE__, __FILE__, errno, strerror(errno)); exit(1); } while(0) | ||
| 23 | + | ||
| 24 | +#define MAP_SIZE 4096UL | ||
| 25 | +#define MAP_MASK (MAP_SIZE - 1) | ||
| 26 | + | ||
| 27 | +int main(int argc, char **argv) { | ||
| 28 | + void* map_base = 0; | ||
| 29 | + int fd; | ||
| 30 | + off_t target = 0xfffff000; | ||
| 31 | + if((fd = open("/dev/mem", O_RDWR | O_SYNC)) == -1) FATAL; | ||
| 32 | + printf("/dev/mem opened.\n"); | ||
| 33 | + fflush(stdout); | ||
| 34 | + | ||
| 35 | + /* Map one page */ | ||
| 36 | + map_base = mmap(0, MAP_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, | ||
| 37 | + fd, target & ~MAP_MASK); | ||
| 38 | + if(map_base == (void *) -1) FATAL; | ||
| 39 | + printf("Memory mapped at address %p.\n", map_base); | ||
| 40 | + fflush(stdout); | ||
| 41 | + if(munmap(map_base, MAP_SIZE) == -1) FATAL; | ||
| 42 | + close(fd); | ||
| 43 | + return 0; | ||
| 44 | +} | ||
| 45 | --- uClibc-0.9.29.oorig/libc/sysdeps/linux/arm/mmap.c (revision 18615) | ||
| 46 | +++ uClibc-0.9.29/libc/sysdeps/linux/arm/mmap.c (revision 18616) | ||
| 47 | @@ -27,7 +27,6 @@ __ptr_t mmap(__ptr_t addr, size_t len, i | ||
| 48 | |||
| 49 | #elif defined (__NR_mmap2) | ||
| 50 | #define __NR__mmap __NR_mmap2 | ||
| 51 | - | ||
| 52 | #ifndef MMAP2_PAGE_SHIFT | ||
| 53 | # define MMAP2_PAGE_SHIFT 12 | ||
| 54 | #endif | ||
| 55 | @@ -39,9 +38,17 @@ __ptr_t mmap(__ptr_t addr, size_t len, i | ||
| 56 | { | ||
| 57 | /* check if offset is page aligned */ | ||
| 58 | if (offset & ((1 << MMAP2_PAGE_SHIFT) - 1)) | ||
| 59 | + { | ||
| 60 | + __set_errno(EINVAL); | ||
| 61 | return MAP_FAILED; | ||
| 62 | + } | ||
| 63 | +#ifdef __USE_FILE_OFFSET64 | ||
| 64 | + return (__ptr_t) _mmap (addr, len, prot, flags, | ||
| 65 | + fd,((__u_quad_t) offset >> MMAP2_PAGE_SHIFT)); | ||
| 66 | +#else | ||
| 67 | return (__ptr_t) _mmap (addr, len, prot, flags, | ||
| 68 | - fd,(off_t) (offset >> MMAP2_PAGE_SHIFT)); | ||
| 69 | + fd,((__u_long) offset >> MMAP2_PAGE_SHIFT)); | ||
| 70 | +#endif | ||
| 71 | } | ||
| 72 | #elif defined (__NR_mmap) | ||
| 73 | # define __NR__mmap __NR_mmap | ||
| 74 | --- uClibc-0.9.29.oorig/libc/sysdeps/linux/common/mmap64.c (revision 18615) | ||
| 75 | +++ uClibc-0.9.29/libc/sysdeps/linux/common/mmap64.c (revision 18616) | ||
| 76 | @@ -58,8 +58,13 @@ __ptr_t mmap64(__ptr_t addr, size_t len, | ||
| 77 | __set_errno(EINVAL); | ||
| 78 | return MAP_FAILED; | ||
| 79 | } | ||
| 80 | - | ||
| 81 | - return __syscall_mmap2(addr, len, prot, flags, fd, (off_t) (offset >> MMAP2_PAGE_SHIFT)); | ||
| 82 | +#ifdef __USE_FILE_OFFSET64 | ||
| 83 | + return __syscall_mmap2(addr, len, prot, flags, | ||
| 84 | + fd,((__u_quad_t)offset >> MMAP2_PAGE_SHIFT)); | ||
| 85 | +#else | ||
| 86 | + return __syscall_mmap2(addr, len, prot, flags, | ||
| 87 | + fd,((__u_long)offset >> MMAP2_PAGE_SHIFT)); | ||
| 88 | +#endif | ||
| 89 | } | ||
| 90 | |||
| 91 | # endif | ||
diff --git a/meta/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-conditional-sched_affinity.patch b/meta/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-conditional-sched_affinity.patch new file mode 100644 index 0000000000..509c42af52 --- /dev/null +++ b/meta/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-conditional-sched_affinity.patch | |||
| @@ -0,0 +1,53 @@ | |||
| 1 | diff -ur uClibc-0.9.29/libc/sysdeps/linux/common/sched_getaffinity.c uClibc-0.9.29-patched/libc/sysdeps/linux/common/sched_getaffinity.c | ||
| 2 | --- uClibc-0.9.29/libc/sysdeps/linux/common/sched_getaffinity.c 2007-02-12 16:52:32.000000000 -0600 | ||
| 3 | +++ uClibc-0.9.29-patched/libc/sysdeps/linux/common/sched_getaffinity.c 2007-05-09 18:05:09.397411811 -0500 | ||
| 4 | @@ -29,6 +29,7 @@ | ||
| 5 | #include <sys/param.h> | ||
| 6 | #include <sys/types.h> | ||
| 7 | |||
| 8 | +#ifdef __NR_sched_getaffinity | ||
| 9 | libc_hidden_proto(memset) | ||
| 10 | |||
| 11 | #define __NR___syscall_sched_getaffinity __NR_sched_getaffinity | ||
| 12 | @@ -48,5 +49,15 @@ | ||
| 13 | } | ||
| 14 | return res; | ||
| 15 | } | ||
| 16 | +#else | ||
| 17 | +/* | ||
| 18 | +int sched_getaffinity(pid_t pid, size_t cpusetsize, cpu_set_t *cpuset) | ||
| 19 | +{ | ||
| 20 | + __set_errno(ENOSYS); | ||
| 21 | + return -1; | ||
| 22 | +} | ||
| 23 | +*/ | ||
| 24 | #endif | ||
| 25 | #endif | ||
| 26 | + | ||
| 27 | +#endif | ||
| 28 | diff -ur uClibc-0.9.29/libc/sysdeps/linux/common/sched_setaffinity.c uClibc-0.9.29-patched/libc/sysdeps/linux/common/sched_setaffinity.c | ||
| 29 | --- uClibc-0.9.29/libc/sysdeps/linux/common/sched_setaffinity.c 2007-02-12 16:52:32.000000000 -0600 | ||
| 30 | +++ uClibc-0.9.29-patched/libc/sysdeps/linux/common/sched_setaffinity.c 2007-05-09 18:05:09.397411811 -0500 | ||
| 31 | @@ -31,6 +31,7 @@ | ||
| 32 | #include <sys/types.h> | ||
| 33 | #include <alloca.h> | ||
| 34 | |||
| 35 | +#ifdef __NR_sched_setaffinity | ||
| 36 | libc_hidden_proto(getpid) | ||
| 37 | |||
| 38 | #define __NR___syscall_sched_setaffinity __NR_sched_setaffinity | ||
| 39 | @@ -74,5 +75,14 @@ | ||
| 40 | |||
| 41 | return INLINE_SYSCALL (sched_setaffinity, 3, pid, cpusetsize, cpuset); | ||
| 42 | } | ||
| 43 | +#else | ||
| 44 | +/* | ||
| 45 | +int sched_setaffinity(pid_t pid, size_t cpusetsize, const cpu_set_t *cpuset) | ||
| 46 | +{ | ||
| 47 | + __set_errno(ENOSYS); | ||
| 48 | + return -1; | ||
| 49 | +} | ||
| 50 | +*/ | ||
| 51 | +#endif | ||
| 52 | #endif | ||
| 53 | #endif | ||
diff --git a/meta/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-fix-gethostent_r-failure-retval.patch b/meta/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-fix-gethostent_r-failure-retval.patch new file mode 100644 index 0000000000..7b246c1ad7 --- /dev/null +++ b/meta/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-fix-gethostent_r-failure-retval.patch | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | diff -ur uClibc-0.9.29/libc/inet/resolv.c uClibc-0.9.29-patched/libc/inet/resolv.c | ||
| 2 | --- uClibc-0.9.29/libc/inet/resolv.c 2007-04-23 12:01:05.000000000 -0500 | ||
| 3 | +++ uClibc-0.9.29-patched/libc/inet/resolv.c 2007-05-09 18:05:33.563404419 -0500 | ||
| 4 | @@ -1700,7 +1700,7 @@ | ||
| 5 | int gethostent_r(struct hostent *result_buf, char *buf, size_t buflen, | ||
| 6 | struct hostent **result, int *h_errnop) | ||
| 7 | { | ||
| 8 | - int ret; | ||
| 9 | + int ret = HOST_NOT_FOUND; | ||
| 10 | |||
| 11 | __UCLIBC_MUTEX_LOCK(mylock); | ||
| 12 | if (__gethostent_fp == NULL) { | ||
diff --git a/meta/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-fix-internal_function-definition.patch b/meta/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-fix-internal_function-definition.patch new file mode 100644 index 0000000000..9b88d826f1 --- /dev/null +++ b/meta/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-fix-internal_function-definition.patch | |||
| @@ -0,0 +1,51 @@ | |||
| 1 | Index: uClibc/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h | ||
| 2 | =================================================================== | ||
| 3 | --- uClibc/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h (revision 18898) | ||
| 4 | +++ uClibc/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h (working copy) | ||
| 5 | @@ -42,6 +42,8 @@ | ||
| 6 | /* define if target supports IEEE signed zero floats */ | ||
| 7 | #define __UCLIBC_HAVE_SIGNED_ZERO__ | ||
| 8 | |||
| 9 | +#if defined _LIBC | ||
| 10 | #define internal_function __attribute__ ((regparm (3), stdcall)) | ||
| 11 | +#endif | ||
| 12 | |||
| 13 | #endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ | ||
| 14 | Index: uClibc/include/libc-symbols.h | ||
| 15 | =================================================================== | ||
| 16 | --- uClibc/include/libc-symbols.h (revision 18898) | ||
| 17 | +++ uClibc/include/libc-symbols.h (working copy) | ||
| 18 | @@ -22,6 +22,16 @@ | ||
| 19 | #ifndef _LIBC_SYMBOLS_H | ||
| 20 | #define _LIBC_SYMBOLS_H 1 | ||
| 21 | |||
| 22 | +/* This is defined for the compilation of all C library code. features.h | ||
| 23 | + tests this to avoid inclusion of stubs.h while compiling the library, | ||
| 24 | + before stubs.h has been generated. Some library code that is shared | ||
| 25 | + with other packages also tests this symbol to see if it is being | ||
| 26 | + compiled as part of the C library. We must define this before including | ||
| 27 | + config.h, because it makes some definitions conditional on whether libc | ||
| 28 | + itself is being compiled, or just some generator program. */ | ||
| 29 | +#define _LIBC 1 | ||
| 30 | + | ||
| 31 | + | ||
| 32 | /* This file's macros are included implicitly in the compilation of every | ||
| 33 | file in the C library by -imacros. | ||
| 34 | |||
| 35 | @@ -40,16 +50,6 @@ | ||
| 36 | |||
| 37 | #include <bits/uClibc_arch_features.h> | ||
| 38 | |||
| 39 | - | ||
| 40 | -/* This is defined for the compilation of all C library code. features.h | ||
| 41 | - tests this to avoid inclusion of stubs.h while compiling the library, | ||
| 42 | - before stubs.h has been generated. Some library code that is shared | ||
| 43 | - with other packages also tests this symbol to see if it is being | ||
| 44 | - compiled as part of the C library. We must define this before including | ||
| 45 | - config.h, because it makes some definitions conditional on whether libc | ||
| 46 | - itself is being compiled, or just some generator program. */ | ||
| 47 | -#define _LIBC 1 | ||
| 48 | - | ||
| 49 | /* Enable declarations of GNU extensions, since we are compiling them. */ | ||
| 50 | #define _GNU_SOURCE 1 | ||
| 51 | |||
diff --git a/meta/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-rm-whitespace.patch b/meta/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-rm-whitespace.patch new file mode 100644 index 0000000000..6004f91e32 --- /dev/null +++ b/meta/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-rm-whitespace.patch | |||
| @@ -0,0 +1,86 @@ | |||
| 1 | diff -urN uClibc-0.9.29-0rig/include/assert.h uClibc-0.9.29/include/assert.h | ||
| 2 | --- uClibc-0.9.29-0rig/include/assert.h 2005-11-03 23:42:46.000000000 +0100 | ||
| 3 | +++ uClibc-0.9.29/include/assert.h 2007-08-13 19:10:57.000000000 +0200 | ||
| 4 | @@ -31,7 +31,7 @@ | ||
| 5 | #define _ASSERT_H 1 | ||
| 6 | #include <features.h> | ||
| 7 | |||
| 8 | -#if defined __cplusplus && __GNUC_PREREQ (2,95) | ||
| 9 | +#if defined __cplusplus && __GNUC_PREREQ(2,95) | ||
| 10 | # define __ASSERT_VOID_CAST static_cast<void> | ||
| 11 | #else | ||
| 12 | # define __ASSERT_VOID_CAST (void) | ||
| 13 | @@ -59,13 +59,17 @@ | ||
| 14 | (__ASSERT_VOID_CAST ((expr) ? 0 : \ | ||
| 15 | (__assert (__STRING(expr), __FILE__, __LINE__, \ | ||
| 16 | __ASSERT_FUNCTION), 0))) | ||
| 17 | - | ||
| 18 | + | ||
| 19 | +/* Define some temporaries to workaround tinyx makedepend bug */ | ||
| 20 | +#define __GNUC_PREREQ_2_6 __GNUC_PREREQ(2, 6) | ||
| 21 | +#define __GNUC_PREREQ_2_4 __GNUC_PREREQ(2, 4) | ||
| 22 | /* Version 2.4 and later of GCC define a magical variable `__PRETTY_FUNCTION__' | ||
| 23 | which contains the name of the function currently being defined. | ||
| 24 | This is broken in G++ before version 2.6. | ||
| 25 | C9x has a similar variable called __func__, but prefer the GCC one since | ||
| 26 | it demangles C++ function names. */ | ||
| 27 | -# if defined __cplusplus ? __GNUC_PREREQ (2, 6) : __GNUC_PREREQ (2, 4) | ||
| 28 | + | ||
| 29 | +# if defined __cplusplus ? __GNUC_PREREQ_2_6 : __GNUC_PREREQ_2_4 | ||
| 30 | # define __ASSERT_FUNCTION __PRETTY_FUNCTION__ | ||
| 31 | # else | ||
| 32 | # if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L | ||
| 33 | diff -urN uClibc-0.9.29-0rig/include/complex.h uClibc-0.9.29/include/complex.h | ||
| 34 | --- uClibc-0.9.29-0rig/include/complex.h 2002-05-09 10:15:21.000000000 +0200 | ||
| 35 | +++ uClibc-0.9.29/include/complex.h 2007-08-13 17:55:29.000000000 +0200 | ||
| 36 | @@ -33,7 +33,7 @@ | ||
| 37 | /* We might need to add support for more compilers here. But since ISO | ||
| 38 | C99 is out hopefully all maintained compilers will soon provide the data | ||
| 39 | types `float complex' and `double complex'. */ | ||
| 40 | -#if __GNUC_PREREQ (2, 7) && !__GNUC_PREREQ (2, 97) | ||
| 41 | +#if __GNUC_PREREQ(2, 7) && !__GNUC_PREREQ(2, 97) | ||
| 42 | # define _Complex __complex__ | ||
| 43 | #endif | ||
| 44 | |||
| 45 | diff -urN uClibc-0.9.29-0rig/include/features.h uClibc-0.9.29/include/features.h | ||
| 46 | --- uClibc-0.9.29-0rig/include/features.h 2006-11-29 22:10:04.000000000 +0100 | ||
| 47 | +++ uClibc-0.9.29/include/features.h 2007-08-13 17:55:51.000000000 +0200 | ||
| 48 | @@ -143,7 +143,7 @@ | ||
| 49 | |||
| 50 | /* Convenience macros to test the versions of glibc and gcc. | ||
| 51 | Use them like this: | ||
| 52 | - #if __GNUC_PREREQ (2,8) | ||
| 53 | + #if __GNUC_PREREQ(2,8) | ||
| 54 | ... code requiring gcc 2.8 or later ... | ||
| 55 | #endif | ||
| 56 | Note - they won't work for gcc1 or glibc1, since the _MINOR macros | ||
| 57 | @@ -297,7 +297,7 @@ | ||
| 58 | /* uClibc does not support _FORTIFY_SOURCE */ | ||
| 59 | #undef _FORTIFY_SOURCE | ||
| 60 | #if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 \ | ||
| 61 | - && __GNUC_PREREQ (4, 1) && defined __OPTIMIZE__ && __OPTIMIZE__ > 0 | ||
| 62 | + && __GNUC_PREREQ(4, 1) && defined __OPTIMIZE__ && __OPTIMIZE__ > 0 | ||
| 63 | # if _FORTIFY_SOURCE > 1 | ||
| 64 | # define __USE_FORTIFY_LEVEL 2 | ||
| 65 | # else | ||
| 66 | @@ -366,7 +366,7 @@ | ||
| 67 | #endif /* !ASSEMBLER */ | ||
| 68 | |||
| 69 | /* Decide whether we can define 'extern inline' functions in headers. */ | ||
| 70 | -#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \ | ||
| 71 | +#if __GNUC_PREREQ(2, 7) && defined __OPTIMIZE__ \ | ||
| 72 | && !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__ | ||
| 73 | # define __USE_EXTERN_INLINES 1 | ||
| 74 | #endif | ||
| 75 | diff -urN uClibc-0.9.29-0rig/include/tgmath.h uClibc-0.9.29/include/tgmath.h | ||
| 76 | --- uClibc-0.9.29-0rig/include/tgmath.h 2002-05-09 10:15:21.000000000 +0200 | ||
| 77 | +++ uClibc-0.9.29/include/tgmath.h 2007-08-13 17:56:17.000000000 +0200 | ||
| 78 | @@ -34,7 +34,7 @@ | ||
| 79 | do not try this for now and instead concentrate only on GNU CC. Once | ||
| 80 | we have more information support for other compilers might follow. */ | ||
| 81 | |||
| 82 | -#if __GNUC_PREREQ (2, 7) | ||
| 83 | +#if __GNUC_PREREQ(2, 7) | ||
| 84 | |||
| 85 | # ifdef __NO_LONG_DOUBLE_MATH | ||
| 86 | # define __tgml(fct) fct | ||
diff --git a/meta/packages/uclibc/uclibc.inc b/meta/packages/uclibc/uclibc.inc index 0a22ae0271..2c9530eadd 100644 --- a/meta/packages/uclibc/uclibc.inc +++ b/meta/packages/uclibc/uclibc.inc | |||
| @@ -76,8 +76,8 @@ EXTRA_OEMAKE = "${OEMAKE_NO_CC} 'CC=${CC}'" | |||
| 76 | EXTRA_OEMAKE_task_do_populate_staging = "${OEMAKE_NO_CC}" | 76 | EXTRA_OEMAKE_task_do_populate_staging = "${OEMAKE_NO_CC}" |
| 77 | EXTRA_OEMAKE_task_do_package = "${OEMAKE_NO_CC}" | 77 | EXTRA_OEMAKE_task_do_package = "${OEMAKE_NO_CC}" |
| 78 | 78 | ||
| 79 | KERNEL_SOURCE = "${CROSS_DIR}/${TARGET_SYS}/include" | 79 | KERNEL_SOURCE = "${STAGING_INCDIR}" |
| 80 | KERNEL_HEADERS = "${CROSS_DIR}/${TARGET_SYS}/include" | 80 | KERNEL_HEADERS = "${STAGING_INCDIR}" |
| 81 | 81 | ||
| 82 | # Lets munge this via siteinfo.bbclass as well: | 82 | # Lets munge this via siteinfo.bbclass as well: |
| 83 | # ARCH_BIG_ENDIAN=y | 83 | # ARCH_BIG_ENDIAN=y |
| @@ -140,15 +140,19 @@ do_configure() { | |||
| 140 | echo "# CONFIG_ARM_EABI is not set" >> ${S}/.config | 140 | echo "# CONFIG_ARM_EABI is not set" >> ${S}/.config |
| 141 | fi | 141 | fi |
| 142 | 142 | ||
| 143 | oe_runmake oldconfig | 143 | yes '' | oe_runmake oldconfig |
| 144 | } | 144 | } |
| 145 | 145 | ||
| 146 | do_stage() { | 146 | do_stage() { |
| 147 | # This MUST be done first because we | ||
| 148 | # will install crt1.o in the install_dev stage and gcc needs it | ||
| 149 | |||
| 150 | # Install into the staging dir | ||
| 147 | oe_runmake PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ | 151 | oe_runmake PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ |
| 148 | RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ | 152 | RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ |
| 149 | install_dev install_runtime | 153 | install_dev install_runtime |
| 150 | 154 | ||
| 151 | oe_runmake utils | 155 | # Install into the staging dir |
| 152 | oe_runmake PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ | 156 | oe_runmake PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ |
| 153 | RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ | 157 | RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ |
| 154 | install_utils | 158 | install_utils |
| @@ -168,8 +172,14 @@ do_stage() { | |||
| 168 | } | 172 | } |
| 169 | 173 | ||
| 170 | do_install() { | 174 | do_install() { |
| 175 | # Tis MUST be done first because we | ||
| 176 | # will install crt1.o in the install_dev stage and gcc needs it) | ||
| 177 | oe_runmake PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ | ||
| 178 | RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ | ||
| 179 | install_dev install_runtime | ||
| 180 | |||
| 171 | oe_runmake PREFIX=${D} DEVEL_PREFIX=${prefix}/ RUNTIME_PREFIX=/ \ | 181 | oe_runmake PREFIX=${D} DEVEL_PREFIX=${prefix}/ RUNTIME_PREFIX=/ \ |
| 172 | install_dev install_runtime install_utils | 182 | install_dev install_runtime |
| 173 | 183 | ||
| 174 | # We don't really need this in ${includedir} | 184 | # We don't really need this in ${includedir} |
| 175 | rm -f ${D}${prefix}/include/.cvsignore | 185 | rm -f ${D}${prefix}/include/.cvsignore |
| @@ -195,5 +205,9 @@ do_install() { | |||
| 195 | mv ${D}/usr/bin/* ${D}${bindir}/ | 205 | mv ${D}/usr/bin/* ${D}${bindir}/ |
| 196 | rmdir ${D}/usr/bin | 206 | rmdir ${D}/usr/bin |
| 197 | fi | 207 | fi |
| 208 | |||
| 209 | oe_runmake utils | ||
| 210 | oe_runmake PREFIX=${D} DEVEL_PREFIX=${prefix}/ RUNTIME_PREFIX=/ \ | ||
| 211 | install_utils | ||
| 198 | } | 212 | } |
| 199 | 213 | ||
diff --git a/meta/packages/uclibc/uclibc_0.9.29.bb b/meta/packages/uclibc/uclibc_0.9.29.bb index f00a347aa8..a458198e45 100644 --- a/meta/packages/uclibc/uclibc_0.9.29.bb +++ b/meta/packages/uclibc/uclibc_0.9.29.bb | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | # on whether the base patches apply to the selected (SRCDATE) svn release. | 7 | # on whether the base patches apply to the selected (SRCDATE) svn release. |
| 8 | # | 8 | # |
| 9 | UCLIBC_BASE ?= "0.9.29" | 9 | UCLIBC_BASE ?= "0.9.29" |
| 10 | PR = "r7" | 10 | PR = "r9" |
| 11 | 11 | ||
| 12 | require uclibc.inc | 12 | require uclibc.inc |
| 13 | 13 | ||
| @@ -16,7 +16,13 @@ PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc" | |||
| 16 | SRC_URI += "file://uClibc.machine file://uClibc.distro \ | 16 | SRC_URI += "file://uClibc.machine file://uClibc.distro \ |
| 17 | file://errno_values.h.patch;patch=1 \ | 17 | file://errno_values.h.patch;patch=1 \ |
| 18 | file://termios.h.patch;patch=1 \ | 18 | file://termios.h.patch;patch=1 \ |
| 19 | " | 19 | file://uClibc-0.9.29-001-fix-mmap.patch;patch=1 \ |
| 20 | file://uClibc-0.9.29-conditional-sched_affinity.patch;patch=1 \ | ||
| 21 | file://uClibc-0.9.29-fix-gethostent_r-failure-retval.patch;patch=1 \ | ||
| 22 | file://uClibc-0.9.29-fix-internal_function-definition.patch;patch=1 \ | ||
| 23 | file://uClibc-0.9.29-rm-whitespace.patch;patch=1 \ | ||
| 24 | file://arm_fix_alignment.patch;patch=1 \ | ||
| 25 | " | ||
| 20 | 26 | ||
| 21 | # mmap-unsigned-shift_bugid1303.patch | 27 | # mmap-unsigned-shift_bugid1303.patch |
| 22 | # http://uclibc.org/lists/uclibc-cvs/2007-May/011360.html;patch=1" | 28 | # http://uclibc.org/lists/uclibc-cvs/2007-May/011360.html;patch=1" |
