remove support for uclibc 0.9.29

SVN-Revision: 18078
This commit is contained in:
Felix Fietkau 2009-10-19 18:25:25 +00:00
parent 4f1f99a63d
commit 161792d02c
48 changed files with 0 additions and 4792 deletions

View file

@ -8,13 +8,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=e2fsprogs
ifneq ($(findstring "0.9.29",$(CONFIG_UCLIBC_VERSION)),"0.9.29")
PKG_VERSION:=1.41.9
PKG_MD5SUM:=52f60a9e19a02f142f5546f1b5681927
else
PKG_VERSION:=1.40.11
PKG_MD5SUM:=004cea70d724fdc7f1a952dffe4c9db8
endif
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz

View file

@ -7,9 +7,6 @@ choice
help
Select the version of uClibc you wish to use.
config UCLIBC_VERSION_0_9_29
bool "uClibc 0.9.29"
config UCLIBC_VERSION_0_9_30_1
bool "uClibc 0.9.30.1"

View file

@ -1,7 +1,6 @@
config UCLIBC_VERSION
string
depends on USE_UCLIBC
default "0.9.29" if UCLIBC_VERSION_0_9_29
default "0.9.30.1" if UCLIBC_VERSION_0_9_30_1
default "0.9.30+nptl" if UCLIBC_VERSION_NPTL
default "0.9.30.1"

View file

@ -24,7 +24,6 @@ endif
PATCH_DIR:=./patches-$(PKG_VERSION)
CONFIG_DIR:=./config-$(PKG_VERSION)
PKG_MD5SUM_0.9.29 = 61dc55f43b17a38a074f347e74095b20
PKG_MD5SUM_0.9.30.1 = 1a4b84e5536ad8170563ffa88c34679c
PKG_MD5SUM=$(PKG_MD5SUM_$(PKG_VERSION))

View file

@ -1,24 +0,0 @@
ARCH_ANY_ENDIAN=y
ARCH_WANTS_LITTLE_ENDIAN=y
# CONFIG_ARM10T is not set
# CONFIG_ARM1136JF_S is not set
# CONFIG_ARM1176JZF_S is not set
# CONFIG_ARM1176JZ_S is not set
# CONFIG_ARM610 is not set
# CONFIG_ARM710 is not set
# CONFIG_ARM720T is not set
# CONFIG_ARM7TDMI is not set
# CONFIG_ARM920T is not set
# CONFIG_ARM922T is not set
# CONFIG_ARM926T is not set
CONFIG_ARM_EABI=y
# CONFIG_ARM_IWMMXT is not set
# CONFIG_ARM_OABI is not set
# CONFIG_ARM_SA110 is not set
# CONFIG_ARM_SA1100 is not set
CONFIG_ARM_XSCALE=y
# CONFIG_GENERIC_ARM is not set
KERNEL_HEADERS="./toolchain_build_arm/linux/include"
KERNEL_SOURCE="./toolchain_build_arm/linux"
TARGET_ARCH="arm"
TARGET_arm=y

View file

@ -1,25 +0,0 @@
ARCH_ANY_ENDIAN=y
ARCH_WANTS_LITTLE_ENDIAN=y
# CONFIG_ARM10T is not set
# CONFIG_ARM1136JF_S is not set
# CONFIG_ARM1176JZF_S is not set
# CONFIG_ARM1176JZ_S is not set
# CONFIG_ARM610 is not set
# CONFIG_ARM710 is not set
# CONFIG_ARM720T is not set
# CONFIG_ARM7TDMI is not set
CONFIG_ARM920T=y
# CONFIG_ARM922T is not set
# CONFIG_ARM926T is not set
CONFIG_ARM_EABI=y
# CONFIG_ARM_IWMMXT is not set
# CONFIG_ARM_OABI is not set
# CONFIG_ARM_SA110 is not set
# CONFIG_ARM_SA1100 is not set
# CONFIG_ARM_XSCALE is not set
# CONFIG_GENERIC_ARM is not set
KERNEL_HEADERS="./toolchain_build_arm/linux/include"
KERNEL_SOURCE="./toolchain_build_arm/linux"
TARGET_ARCH="arm"
TARGET_arm=y
# USE_BX is not set

View file

@ -1,25 +0,0 @@
ARCH_ANY_ENDIAN=y
ARCH_WANTS_LITTLE_ENDIAN=y
# CONFIG_ARM10T is not set
# CONFIG_ARM1136JF_S is not set
# CONFIG_ARM1176JZF_S is not set
# CONFIG_ARM1176JZ_S is not set
# CONFIG_ARM610 is not set
# CONFIG_ARM710 is not set
# CONFIG_ARM720T is not set
# CONFIG_ARM7TDMI is not set
CONFIG_ARM920T=y
# CONFIG_ARM922T is not set
# CONFIG_ARM926T is not set
CONFIG_ARM_EABI=y
# CONFIG_ARM_IWMMXT is not set
# CONFIG_ARM_OABI is not set
# CONFIG_ARM_SA110 is not set
# CONFIG_ARM_SA1100 is not set
# CONFIG_ARM_XSCALE is not set
# CONFIG_GENERIC_ARM is not set
KERNEL_HEADERS="./toolchain_build_arm/linux/include"
KERNEL_SOURCE="./toolchain_build_arm/linux"
TARGET_ARCH="arm"
TARGET_arm=y
# USE_BX is not set

View file

@ -1,25 +0,0 @@
ARCH_ANY_ENDIAN=y
ARCH_BIG_ENDIAN=y
ARCH_WANTS_BIG_ENDIAN=y
# CONFIG_ARM10T is not set
# CONFIG_ARM1136JF_S is not set
# CONFIG_ARM1176JZF_S is not set
# CONFIG_ARM1176JZ_S is not set
# CONFIG_ARM610 is not set
# CONFIG_ARM710 is not set
# CONFIG_ARM720T is not set
# CONFIG_ARM7TDMI is not set
# CONFIG_ARM920T is not set
# CONFIG_ARM922T is not set
# CONFIG_ARM926T is not set
CONFIG_ARM_EABI=y
# CONFIG_ARM_IWMMXT is not set
# CONFIG_ARM_OABI is not set
# CONFIG_ARM_SA110 is not set
# CONFIG_ARM_SA1100 is not set
CONFIG_ARM_XSCALE=y
# CONFIG_GENERIC_ARM is not set
KERNEL_HEADERS="./toolchain_build_armeb/linux/include"
KERNEL_SOURCE="./toolchain_build_armeb/linux"
TARGET_ARCH="arm"
TARGET_arm=y

View file

@ -1,15 +0,0 @@
ARCH_BIG_ENDIAN=y
# ARCH_HAS_NO_MMU is not set
# ARCH_LITTLE_ENDIAN is not set
ARCH_WANTS_BIG_ENDIAN=y
CONFIG_AP7000=y
FORCE_SHAREABLE_TEXT_SEGMENTS=y
KERNEL_HEADERS="./toolchain_build_avr32/linux/include"
KERNEL_SOURCE="./toolchain_build_avr32/linux/include"
LINKRELAX=y
TARGET_ARCH="avr32"
TARGET_avr32=y
UCLIBC_COMPLETELY_PIC=y
# UCLIBC_HAS_SCANF_GLIBC_A_FLAG is not set
# UCLIBC_HAS_STRING_ARCH_OPT is not set
UNIX98PTY_ONLY=y

View file

@ -1,152 +0,0 @@
# ARCH_ANY_ENDIAN is not set
ARCH_HAS_MMU=y
# ARCH_HAS_NO_LDSO is not set
ARCH_USE_MMU=y
# ARCH_WANTS_BIG_ENDIAN is not set
# ARCH_WANTS_LITTLE_ENDIAN is not set
ASSUME_DEVPTS=y
BUILD_UCLIBC_LDSO=y
COMPAT_ATEXIT=y
CROSS_COMPILER_PREFIX=""
DEVEL_PREFIX="/usr/"
# DL_FINI_CRT_COMPAT is not set
# DOASSERTS is not set
# DODEBUG is not set
# DODEBUG_PT is not set
# DOMULTI is not set
DOPIC=y
DOSTRIP=y
DO_C99_MATH=y
# EXTRA_WARNINGS is not set
FORCE_OPTIONS_FOR_ARCH=y
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
# HAS_NO_THREADS is not set
HAVE_DOT_CONFIG=y
# HAVE_NO_PIC is not set
# HAVE_NO_SHARED is not set
# HAVE_NO_SSP is not set
HAVE_SHARED=y
KERNEL_HEADERS=""
KERNEL_SOURCE=""
LDSO_BASE_FILENAME="ld.so"
LDSO_CACHE_SUPPORT=y
LDSO_LDD_SUPPORT=y
# LDSO_PRELOAD_FILE_SUPPORT is not set
LDSO_RUNPATH=y
LINUXTHREADS_OLD=y
# MALLOC is not set
MALLOC_GLIBC_COMPAT=y
# MALLOC_SIMPLE is not set
MALLOC_STANDARD=y
# PTHREADS_DEBUG_SUPPORT is not set
RUNTIME_PREFIX="/"
SHARED_LIB_LOADER_PREFIX="/lib"
# SUPPORT_LD_DEBUG is not set
# SUPPORT_LD_DEBUG_EARLY is not set
# TARGET_alpha is not set
# TARGET_arm is not set
# TARGET_avr32 is not set
# TARGET_bfin is not set
# TARGET_cris is not set
# 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
UCLIBC_BUILD_NOEXECSTACK=y
# UCLIBC_BUILD_NOW is not set
# UCLIBC_BUILD_PIE is not set
UCLIBC_BUILD_RELRO=y
UCLIBC_CTOR_DTOR=y
UCLIBC_DYNAMIC_ATEXIT=y
UCLIBC_EXTRA_CFLAGS=""
UCLIBC_GRP_BUFFER_SIZE=256
# UCLIBC_HAS_ARC4RANDOM is not set
UCLIBC_HAS_BSD_RES_CLOSE=y
UCLIBC_HAS_CTYPE_CHECKED=y
# UCLIBC_HAS_CTYPE_ENFORCED is not set
UCLIBC_HAS_CTYPE_SIGNED=y
UCLIBC_HAS_CTYPE_TABLES=y
# UCLIBC_HAS_CTYPE_UNSAFE is not set
UCLIBC_HAS_ERRNO_MESSAGES=y
UCLIBC_HAS_FLOATS=y
UCLIBC_HAS_FNMATCH=y
UCLIBC_HAS_FNMATCH_OLD=y
UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
UCLIBC_HAS_FPU=y
UCLIBC_HAS_FTW=y
UCLIBC_HAS_FULL_RPC=y
UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
UCLIBC_HAS_GLOB=y
UCLIBC_HAS_GNU_GETOPT=y
UCLIBC_HAS_GNU_GETSUBOPT=y
UCLIBC_HAS_GNU_GLOB=y
UCLIBC_HAS_HEXADECIMAL_FLOATS=y
UCLIBC_HAS_IPV6=y
UCLIBC_HAS_LFS=y
# UCLIBC_HAS_LOCALE is not set
UCLIBC_HAS_PRINTF_M_SPEC=y
UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
# UCLIBC_HAS_REENTRANT_RPC is not set
UCLIBC_HAS_REGEX=y
UCLIBC_HAS_REGEX_OLD=y
UCLIBC_HAS_RPC=y
UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
UCLIBC_HAS_SHADOW=y
UCLIBC_HAS_SIGNUM_MESSAGES=y
UCLIBC_HAS_SOFT_FLOAT=y
# UCLIBC_HAS_SSP is not set
UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
UCLIBC_HAS_STDIO_BUFSIZ_4096=y
# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
UCLIBC_HAS_STDIO_GETC_MACRO=y
UCLIBC_HAS_STDIO_PUTC_MACRO=y
# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
UCLIBC_HAS_STRING_ARCH_OPT=y
UCLIBC_HAS_STRING_GENERIC_OPT=y
# UCLIBC_HAS_SYS_ERRLIST is not set
# UCLIBC_HAS_SYS_SIGLIST is not set
UCLIBC_HAS_THREADS=y
UCLIBC_HAS_TM_EXTENSIONS=y
UCLIBC_HAS_TZ_CACHING=y
UCLIBC_HAS_TZ_FILE=y
UCLIBC_HAS_TZ_FILE_READ_MANY=y
UCLIBC_HAS_WCHAR=y
UCLIBC_HAS_WORDEXP=y
UCLIBC_HAS___PROGNAME=y
# UCLIBC_MALLOC_DEBUGGING is not set
# UCLIBC_MJN3_ONLY is not set
UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
UCLIBC_PWD_BUFFER_SIZE=256
# UCLIBC_STATIC_LDCONFIG is not set
# UCLIBC_SUSV3_LEGACY is not set
UCLIBC_SUSV3_LEGACY_MACROS=y
UCLIBC_TZ_FILE_PATH="/etc/TZ"
UCLIBC_USE_NETLINK=y
# UNIX98PTY_ONLY is not set
USE_BX=y
WARNINGS="-Wall"

View file

@ -1,8 +0,0 @@
ARCH_LITTLE_ENDIAN=y
CONFIG_CRIS=y
# CONFIG_CRISV32 is not set
KERNEL_HEADERS="./toolchain_build_cris/linux"
TARGET_ARCH="cris"
TARGET_SUBARCH=""
TARGET_cris=y
UCLIBC_CTOR_DTOR=y

View file

@ -1,23 +0,0 @@
ARCH_LITTLE_ENDIAN=y
# CONFIG_386 is not set
CONFIG_486=y
# CONFIG_586 is not set
# CONFIG_586MMX is not set
# CONFIG_686 is not set
# CONFIG_CRUSOE is not set
# CONFIG_CYRIXIII is not set
# CONFIG_ELAN is not set
# CONFIG_GENERIC_386 is not set
# CONFIG_K6 is not set
# CONFIG_K7 is not set
# CONFIG_NEHEMIAH is not set
# CONFIG_PENTIUM4 is not set
# CONFIG_PENTIUMII is not set
# CONFIG_PENTIUMIII is not set
# CONFIG_WINCHIP2 is not set
# CONFIG_WINCHIPC6 is not set
KERNEL_HEADERS="."
# LINUXTHREADS_OLD is not set
TARGET_ARCH="i386"
TARGET_SUBARCH=""
TARGET_i386=y

View file

@ -1,23 +0,0 @@
ARCH_LITTLE_ENDIAN=y
# CONFIG_386 is not set
# CONFIG_486 is not set
# CONFIG_586 is not set
# CONFIG_586MMX is not set
CONFIG_686=y
# CONFIG_CRUSOE is not set
# CONFIG_CYRIXIII is not set
# CONFIG_ELAN is not set
# CONFIG_GENERIC_386 is not set
# CONFIG_K6 is not set
# CONFIG_K7 is not set
# CONFIG_NEHEMIAH is not set
# CONFIG_PENTIUM4 is not set
# CONFIG_PENTIUMII is not set
# CONFIG_PENTIUMIII is not set
# CONFIG_WINCHIP2 is not set
# CONFIG_WINCHIPC6 is not set
KERNEL_HEADERS="."
# LINUXTHREADS_OLD is not set
TARGET_ARCH="i386"
TARGET_SUBARCH=""
TARGET_i386=y

View file

@ -1,19 +0,0 @@
ARCH_ANY_ENDIAN=y
ARCH_BIG_ENDIAN=y
ARCH_CFLAGS="-mno-split-addresses"
# ARCH_LITTLE_ENDIAN is not set
ARCH_WANTS_BIG_ENDIAN=y
# CONFIG_MIPS_ISA_1 is not set
# CONFIG_MIPS_ISA_2 is not set
# CONFIG_MIPS_ISA_3 is not set
# CONFIG_MIPS_ISA_4 is not set
CONFIG_MIPS_ISA_MIPS32=y
# CONFIG_MIPS_ISA_MIPS64 is not set
# CONFIG_MIPS_N32_ABI is not set
# CONFIG_MIPS_N64_ABI is not set
CONFIG_MIPS_O32_ABI=y
DL_FINI_CRT_COMPAT=y
KERNEL_HEADERS="./toolchain_build_mips/linux/include"
KERNEL_SOURCE="./toolchain_build_mips/linux"
TARGET_ARCH="mips"
TARGET_mips=y

View file

@ -1,19 +0,0 @@
ARCH_ANY_ENDIAN=y
ARCH_BIG_ENDIAN=y
ARCH_CFLAGS="-mno-split-addresses"
# ARCH_LITTLE_ENDIAN is not set
ARCH_WANTS_BIG_ENDIAN=y
# CONFIG_MIPS_ISA_1 is not set
# CONFIG_MIPS_ISA_2 is not set
# CONFIG_MIPS_ISA_3 is not set
# CONFIG_MIPS_ISA_4 is not set
# CONFIG_MIPS_ISA_MIPS32 is not set
CONFIG_MIPS_ISA_MIPS64=y
# CONFIG_MIPS_N32_ABI is not set
CONFIG_MIPS_N64_ABI=y
# CONFIG_MIPS_O32_ABI is not set
DL_FINI_CRT_COMPAT=y
KERNEL_HEADERS="."
KERNEL_SOURCE="."
TARGET_ARCH="mips"
TARGET_mips=y

View file

@ -1,19 +0,0 @@
ARCH_ANY_ENDIAN=y
# ARCH_BIG_ENDIAN is not set
ARCH_CFLAGS="-mno-split-addresses"
ARCH_LITTLE_ENDIAN=y
ARCH_WANTS_LITTLE_ENDIAN=y
# CONFIG_MIPS_ISA_1 is not set
# CONFIG_MIPS_ISA_2 is not set
# CONFIG_MIPS_ISA_3 is not set
# CONFIG_MIPS_ISA_4 is not set
# CONFIG_MIPS_ISA_MIPS32 is not set
CONFIG_MIPS_ISA_MIPS64=y
# CONFIG_MIPS_N32_ABI is not set
CONFIG_MIPS_N64_ABI=y
# CONFIG_MIPS_O32_ABI is not set
DL_FINI_CRT_COMPAT=y
KERNEL_HEADERS="."
KERNEL_SOURCE="."
TARGET_ARCH="mips"
TARGET_mips=y

View file

@ -1,19 +0,0 @@
ARCH_ANY_ENDIAN=y
# ARCH_BIG_ENDIAN is not set
ARCH_CFLAGS="-mno-split-addresses"
ARCH_LITTLE_ENDIAN=y
ARCH_WANTS_LITTLE_ENDIAN=y
# CONFIG_MIPS_ISA_1 is not set
# CONFIG_MIPS_ISA_2 is not set
# CONFIG_MIPS_ISA_3 is not set
# CONFIG_MIPS_ISA_4 is not set
CONFIG_MIPS_ISA_MIPS32=y
# CONFIG_MIPS_ISA_MIPS64 is not set
# CONFIG_MIPS_N32_ABI is not set
# CONFIG_MIPS_N64_ABI is not set
CONFIG_MIPS_O32_ABI=y
DL_FINI_CRT_COMPAT=y
KERNEL_HEADERS="./toolchain_build_mipsel/linux/include"
KERNEL_SOURCE="./toolchain_build_mipsel/linux"
TARGET_ARCH="mips"
TARGET_mips=y

View file

@ -1,8 +0,0 @@
ARCH_BIG_ENDIAN=y
# ARCH_LITTLE_ENDIAN is not set
CONFIG_CLASSIC=y
# CONFIG_E500 is not set
KERNEL_HEADERS="./toolchain_build_powerpc/linux/include"
KERNEL_SOURCE="./toolchain_build_powerpc/linux"
TARGET_ARCH="powerpc"
TARGET_powerpc=y

View file

@ -1,5 +0,0 @@
ARCH_LITTLE_ENDIAN=y
KERNEL_HEADERS="."
TARGET_ARCH="x86_64"
TARGET_SUBARCH=""
TARGET_x86_64=y

View file

@ -1,91 +0,0 @@
--- /dev/null
+++ b/test/mmap/mmap2.c
@@ -0,0 +1,41 @@
+/* When trying to map /dev/mem with offset 0xFFFFF000 on the ARM platform, mmap
+ * returns -EOVERFLOW.
+ *
+ * Since off_t is defined as a long int and the sign bit is set in the address,
+ * the shift operation shifts in ones instead of zeroes
+ * from the left. This results the offset sent to the kernel function becomes
+ * 0xFFFFFFFF instead of 0x000FFFFF with MMAP2_PAGE_SHIFT set to 12.
+ */
+
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/mman.h>
+
+#define FATAL do { fprintf(stderr, "Error at line %d, file %s (%d) [%s]\n", \
+ __LINE__, __FILE__, errno, strerror(errno)); exit(1); } while(0)
+
+#define MAP_SIZE 4096UL
+#define MAP_MASK (MAP_SIZE - 1)
+
+int main(int argc, char **argv) {
+ void* map_base = 0;
+ int fd;
+ off_t target = 0xfffff000;
+ if((fd = open("/dev/mem", O_RDWR | O_SYNC)) == -1) FATAL;
+ printf("/dev/mem opened.\n");
+ fflush(stdout);
+
+ /* Map one page */
+ map_base = mmap(0, MAP_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED,
+ fd, target & ~MAP_MASK);
+ if(map_base == (void *) -1) FATAL;
+ printf("Memory mapped at address %p.\n", map_base);
+ fflush(stdout);
+ if(munmap(map_base, MAP_SIZE) == -1) FATAL;
+ close(fd);
+ return 0;
+}
--- a/libc/sysdeps/linux/arm/mmap.c
+++ b/libc/sysdeps/linux/arm/mmap.c
@@ -27,7 +27,6 @@ __ptr_t mmap(__ptr_t addr, size_t len, i
#elif defined (__NR_mmap2)
#define __NR__mmap __NR_mmap2
-
#ifndef MMAP2_PAGE_SHIFT
# define MMAP2_PAGE_SHIFT 12
#endif
@@ -39,9 +38,17 @@ __ptr_t mmap(__ptr_t addr, size_t len, i
{
/* check if offset is page aligned */
if (offset & ((1 << MMAP2_PAGE_SHIFT) - 1))
+ {
+ __set_errno(EINVAL);
return MAP_FAILED;
+ }
+#ifdef __USE_FILE_OFFSET64
+ return (__ptr_t) _mmap (addr, len, prot, flags,
+ fd,((__u_quad_t) offset >> MMAP2_PAGE_SHIFT));
+#else
return (__ptr_t) _mmap (addr, len, prot, flags,
- fd,(off_t) (offset >> MMAP2_PAGE_SHIFT));
+ fd,((__u_long) offset >> MMAP2_PAGE_SHIFT));
+#endif
}
#elif defined (__NR_mmap)
# define __NR__mmap __NR_mmap
--- a/libc/sysdeps/linux/common/mmap64.c
+++ b/libc/sysdeps/linux/common/mmap64.c
@@ -58,8 +58,13 @@ __ptr_t mmap64(__ptr_t addr, size_t len,
__set_errno(EINVAL);
return MAP_FAILED;
}
-
- return __syscall_mmap2(addr, len, prot, flags, fd, (off_t) (offset >> MMAP2_PAGE_SHIFT));
+#ifdef __USE_FILE_OFFSET64
+ return __syscall_mmap2(addr, len, prot, flags,
+ fd,((__u_quad_t)offset >> MMAP2_PAGE_SHIFT));
+#else
+ return __syscall_mmap2(addr, len, prot, flags,
+ fd,((__u_long)offset >> MMAP2_PAGE_SHIFT));
+#endif
}
# endif

View file

@ -1,51 +0,0 @@
--- a/libc/sysdeps/linux/common/sched_getaffinity.c
+++ b/libc/sysdeps/linux/common/sched_getaffinity.c
@@ -29,6 +29,7 @@
#include <sys/param.h>
#include <sys/types.h>
+#ifdef __NR_sched_getaffinity
libc_hidden_proto(memset)
#define __NR___syscall_sched_getaffinity __NR_sched_getaffinity
@@ -48,5 +49,15 @@ int sched_getaffinity(pid_t pid, size_t
}
return res;
}
+#else
+/*
+int sched_getaffinity(pid_t pid, size_t cpusetsize, cpu_set_t *cpuset)
+{
+ __set_errno(ENOSYS);
+ return -1;
+}
+*/
#endif
#endif
+
+#endif
--- a/libc/sysdeps/linux/common/sched_setaffinity.c
+++ b/libc/sysdeps/linux/common/sched_setaffinity.c
@@ -31,6 +31,7 @@
#include <sys/types.h>
#include <alloca.h>
+#ifdef __NR_sched_setaffinity
libc_hidden_proto(getpid)
#define __NR___syscall_sched_setaffinity __NR_sched_setaffinity
@@ -74,5 +75,14 @@ int sched_setaffinity(pid_t pid, size_t
return INLINE_SYSCALL (sched_setaffinity, 3, pid, cpusetsize, cpuset);
}
+#else
+/*
+int sched_setaffinity(pid_t pid, size_t cpusetsize, const cpu_set_t *cpuset)
+{
+ __set_errno(ENOSYS);
+ return -1;
+}
+*/
+#endif
#endif
#endif

View file

@ -1,11 +0,0 @@
--- a/libc/inet/resolv.c
+++ b/libc/inet/resolv.c
@@ -1700,7 +1700,7 @@ void sethostent (int stay_open)
int gethostent_r(struct hostent *result_buf, char *buf, size_t buflen,
struct hostent **result, int *h_errnop)
{
- int ret;
+ int ret = HOST_NOT_FOUND;
__UCLIBC_MUTEX_LOCK(mylock);
if (__gethostent_fp == NULL) {

View file

@ -1,47 +0,0 @@
--- a/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h
@@ -42,6 +42,8 @@
/* define if target supports IEEE signed zero floats */
#define __UCLIBC_HAVE_SIGNED_ZERO__
+#if defined _LIBC
#define internal_function __attribute__ ((regparm (3), stdcall))
+#endif
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -22,6 +22,16 @@
#ifndef _LIBC_SYMBOLS_H
#define _LIBC_SYMBOLS_H 1
+/* This is defined for the compilation of all C library code. features.h
+ tests this to avoid inclusion of stubs.h while compiling the library,
+ before stubs.h has been generated. Some library code that is shared
+ with other packages also tests this symbol to see if it is being
+ compiled as part of the C library. We must define this before including
+ config.h, because it makes some definitions conditional on whether libc
+ itself is being compiled, or just some generator program. */
+#define _LIBC 1
+
+
/* This file's macros are included implicitly in the compilation of every
file in the C library by -imacros.
@@ -40,16 +50,6 @@
#include <bits/uClibc_arch_features.h>
-
-/* This is defined for the compilation of all C library code. features.h
- tests this to avoid inclusion of stubs.h while compiling the library,
- before stubs.h has been generated. Some library code that is shared
- with other packages also tests this symbol to see if it is being
- compiled as part of the C library. We must define this before including
- config.h, because it makes some definitions conditional on whether libc
- itself is being compiled, or just some generator program. */
-#define _LIBC 1
-
/* Enable declarations of GNU extensions, since we are compiling them. */
#define _GNU_SOURCE 1

View file

@ -1,82 +0,0 @@
--- a/include/assert.h
+++ b/include/assert.h
@@ -31,7 +31,7 @@
#define _ASSERT_H 1
#include <features.h>
-#if defined __cplusplus && __GNUC_PREREQ (2,95)
+#if defined __cplusplus && __GNUC_PREREQ(2,95)
# define __ASSERT_VOID_CAST static_cast<void>
#else
# define __ASSERT_VOID_CAST (void)
@@ -59,13 +59,17 @@ __END_DECLS
(__ASSERT_VOID_CAST ((expr) ? 0 : \
(__assert (__STRING(expr), __FILE__, __LINE__, \
__ASSERT_FUNCTION), 0)))
-
+
+/* Define some temporaries to workaround tinyx makedepend bug */
+#define __GNUC_PREREQ_2_6 __GNUC_PREREQ(2, 6)
+#define __GNUC_PREREQ_2_4 __GNUC_PREREQ(2, 4)
/* Version 2.4 and later of GCC define a magical variable `__PRETTY_FUNCTION__'
which contains the name of the function currently being defined.
This is broken in G++ before version 2.6.
C9x has a similar variable called __func__, but prefer the GCC one since
it demangles C++ function names. */
-# if defined __cplusplus ? __GNUC_PREREQ (2, 6) : __GNUC_PREREQ (2, 4)
+
+# if defined __cplusplus ? __GNUC_PREREQ_2_6 : __GNUC_PREREQ_2_4
# define __ASSERT_FUNCTION __PRETTY_FUNCTION__
# else
# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
--- a/include/complex.h
+++ b/include/complex.h
@@ -33,7 +33,7 @@ __BEGIN_DECLS
/* We might need to add support for more compilers here. But since ISO
C99 is out hopefully all maintained compilers will soon provide the data
types `float complex' and `double complex'. */
-#if __GNUC_PREREQ (2, 7) && !__GNUC_PREREQ (2, 97)
+#if __GNUC_PREREQ(2, 7) && !__GNUC_PREREQ(2, 97)
# define _Complex __complex__
#endif
--- a/include/features.h
+++ b/include/features.h
@@ -143,7 +143,7 @@
/* Convenience macros to test the versions of glibc and gcc.
Use them like this:
- #if __GNUC_PREREQ (2,8)
+ #if __GNUC_PREREQ(2,8)
... code requiring gcc 2.8 or later ...
#endif
Note - they won't work for gcc1 or glibc1, since the _MINOR macros
@@ -297,7 +297,7 @@
/* uClibc does not support _FORTIFY_SOURCE */
#undef _FORTIFY_SOURCE
#if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 \
- && __GNUC_PREREQ (4, 1) && defined __OPTIMIZE__ && __OPTIMIZE__ > 0
+ && __GNUC_PREREQ(4, 1) && defined __OPTIMIZE__ && __OPTIMIZE__ > 0
# if _FORTIFY_SOURCE > 1
# define __USE_FORTIFY_LEVEL 2
# else
@@ -366,7 +366,7 @@
#endif /* !ASSEMBLER */
/* Decide whether we can define 'extern inline' functions in headers. */
-#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \
+#if __GNUC_PREREQ(2, 7) && defined __OPTIMIZE__ \
&& !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__
# define __USE_EXTERN_INLINES 1
#endif
--- a/include/tgmath.h
+++ b/include/tgmath.h
@@ -34,7 +34,7 @@
do not try this for now and instead concentrate only on GNU CC. Once
we have more information support for other compilers might follow. */
-#if __GNUC_PREREQ (2, 7)
+#if __GNUC_PREREQ(2, 7)
# ifdef __NO_LONG_DOUBLE_MATH
# define __tgml(fct) fct

File diff suppressed because it is too large Load diff

View file

@ -1,26 +0,0 @@
From 974a769cc135bcfb1ea751db34a84ed6b5ceb509 Mon Sep 17 00:00:00 2001
From: Haavard Skinnemoen <hskinnemoen@atmel.com>
Date: Fri, 7 Dec 2007 14:02:19 +0100
Subject: [PATCH] AVR32: Fix sa_restorer when SA_ONSTACK is set
I don't remember exactly why we decided to pick the caller's value of
sa_restorer when SA_ONSTACK is set, but it seems to break LTP's
sigaltstack testcase. Some users have reported problems with
sigaltstack as well; hopefully this will fix it.
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
---
libc/sysdeps/linux/avr32/sigaction.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
--- a/libc/sysdeps/linux/avr32/sigaction.c
+++ b/libc/sysdeps/linux/avr32/sigaction.c
@@ -30,7 +30,7 @@ int __libc_sigaction(int signum, const s
kact.k_sa_handler = act->sa_handler;
memcpy(&kact.sa_mask, &act->sa_mask, sizeof (kact.sa_mask));
kact.sa_flags = act->sa_flags;
- if (kact.sa_flags & (SA_RESTORER | SA_ONSTACK))
+ if (kact.sa_flags & SA_RESTORER)
kact.sa_restorer = act->sa_restorer;
else
kact.sa_restorer = __default_rt_sa_restorer;

View file

@ -1,13 +0,0 @@
--- a/libc/inet/getaddrinfo.c
+++ b/libc/inet/getaddrinfo.c
@@ -858,7 +858,10 @@ getaddrinfo (const char *name, const cha
if (hints->ai_family == g->family || hints->ai_family == AF_UNSPEC)
{
if ((hints->ai_flags & AI_ADDRCONFIG) && !addrconfig(g->family))
+ {
+ g++;
continue;
+ }
j++;
if (pg == NULL || pg->gaih != g->gaih)
{

View file

@ -1,20 +0,0 @@
--- a/libc/sysdeps/linux/common/bits/termios.h
+++ b/libc/sysdeps/linux/common/bits/termios.h
@@ -156,7 +156,6 @@ struct termios
#endif
#define B57600 0010001
#define B115200 0010002
-#if 0 /* limited on uClibc, keep in sync w/ cfsetspeed.c */
#define B230400 0010003
#define B460800 0010004
#define B500000 0010005
@@ -171,9 +170,6 @@ struct termios
#define B3500000 0010016
#define B4000000 0010017
#define __MAX_BAUD B4000000
-#else
-#define __MAX_BAUD B115200
-#endif
#ifdef __USE_MISC
# define CIBAUD 002003600000 /* input baud rate (not used) */
# define CMSPAR 010000000000 /* mark or space (stick) parity */

View file

@ -1,95 +0,0 @@
--- a/include/string.h
+++ b/include/string.h
@@ -320,18 +320,40 @@ extern char *index (__const char *__s, i
/* Find the last occurrence of C in S (same as strrchr). */
extern char *rindex (__const char *__s, int __c)
__THROW __attribute_pure__ __nonnull ((1));
-# else
-# ifdef __UCLIBC_SUSV3_LEGACY_MACROS__
+# elif defined(__UCLIBC_SUSV3_LEGACY_MACROS__) && !defined(_STRINGS_H)
/* bcopy/bzero/bcmp/index/rindex are marked LEGACY in SuSv3.
* They are replaced as proposed by SuSv3. Don't sync this part
* with glibc and keep it in sync with strings.h. */
-# define bcopy(src,dest,n) (memmove((dest), (src), (n)), (void) 0)
-# define bzero(s,n) (memset((s), '\0', (n)), (void) 0)
-# define bcmp(s1,s2,n) memcmp((s1), (s2), (size_t)(n))
-# define index(s,c) strchr((s), (c))
-# define rindex(s,c) strrchr((s), (c))
-# endif
+/* Copy N bytes of SRC to DEST (like memmove, but args reversed). */
+static __inline__ void bcopy (__const void *__src, void *__dest, size_t __n)
+{
+ memmove(__dest, __src, __n);
+}
+
+/* Set N bytes of S to 0. */
+static __inline__ void bzero (void *__s, size_t __n)
+{
+ memset(__s, 0, __n);
+}
+
+/* Compare N bytes of S1 and S2 (same as memcmp). */
+static __inline__ int bcmp (__const void *__s1, __const void *__s2, size_t __n)
+{
+ return memcmp(__s1, __s2, __n);
+}
+
+/* Find the first occurrence of C in S (same as strchr). */
+static __inline__ char *index (__const char *__s, int __c)
+{
+ return strchr(__s, __c);
+}
+
+/* Find the last occurrence of C in S (same as strrchr). */
+static __inline__ char *rindex (__const char *__s, int __c)
+{
+ return strrchr(__s, __c);
+}
# endif
/* Return the position of the first bit set in I, or 0 if none are set.
--- a/include/strings.h
+++ b/include/strings.h
@@ -58,11 +58,36 @@ extern char *rindex (__const char *__s,
* They are replaced as proposed by SuSv3. Don't sync this part
* with glibc and keep it in sync with string.h. */
-# define bcopy(src,dest,n) (memmove((dest), (src), (n)), (void) 0)
-# define bzero(s,n) (memset((s), '\0', (n)), (void) 0)
-# define bcmp(s1,s2,n) memcmp((s1), (s2), (size_t)(n))
-# define index(s,c) strchr((s), (c))
-# define rindex(s,c) strrchr((s), (c))
+
+/* Copy N bytes of SRC to DEST (like memmove, but args reversed). */
+static __inline__ void bcopy (__const void *__src, void *__dest, size_t __n)
+{
+ memmove(__dest, __src, __n);
+}
+
+/* Set N bytes of S to 0. */
+static __inline__ void bzero (void *__s, size_t __n)
+{
+ memset(__s, 0, __n);
+}
+
+/* Compare N bytes of S1 and S2 (same as memcmp). */
+static __inline__ int bcmp (__const void *__s1, __const void *__s2, size_t __n)
+{
+ return memcmp(__s1, __s2, __n);
+}
+
+/* Find the first occurrence of C in S (same as strchr). */
+static __inline__ char *index (__const char *__s, int __c)
+{
+ return strchr(__s, __c);
+}
+
+/* Find the last occurrence of C in S (same as strrchr). */
+static __inline__ char *rindex (__const char *__s, int __c)
+{
+ return strrchr(__s, __c);
+}
# endif
# endif

View file

@ -1,12 +0,0 @@
--- a/include/sys/timex.h
+++ b/include/sys/timex.h
@@ -116,7 +116,8 @@ struct timex
__BEGIN_DECLS
-extern int __adjtimex (struct timex *__ntx) __THROW;
+#undef __adjtimex
+#define __adjtimex adjtimex
extern int adjtimex (struct timex *__ntx) __THROW;
extern int ntp_gettime (struct ntptimeval *__ntv) __THROW;

View file

@ -1,22 +0,0 @@
--- a/libc/string/mips/sysdep.h
+++ b/libc/string/mips/sysdep.h
@@ -29,7 +29,7 @@
.globl name; \
.align 2; \
.ent name,0; \
- name##:
+ name:
#undef END
#define END(function) \
--- a/Rules.mak
+++ b/Rules.mak
@@ -399,7 +399,7 @@ ifneq ($(HAVE_SHARED),y)
CFLAGS += -DSTATIC
endif
-CFLAGS += $(call check_gcc,-std=gnu99,)
+# CFLAGS += $(call check_gcc,-std=gnu99,)
LDFLAGS_NOSTRIP:=$(CPU_LDFLAGS-y) -shared --warn-common --warn-once -z combreloc
# binutils-2.16.1 warns about ignored sections, 2.16.91.0.3 and newer are ok

View file

@ -1,11 +0,0 @@
--- a/libc/sysdeps/linux/mips/bits/socket.h
+++ b/libc/sysdeps/linux/mips/bits/socket.h
@@ -269,7 +269,7 @@ struct cmsghdr
#define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len))
extern struct cmsghdr * __NTH (__cmsg_nxthdr (struct msghdr *__mhdr,
- struct cmsghdr *__cmsg)) __THROW;
+ struct cmsghdr *__cmsg));
#ifdef __USE_EXTERN_INLINES
# ifndef _EXTERN_INLINE
# define _EXTERN_INLINE extern __inline

View file

@ -1,11 +0,0 @@
--- a/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
@@ -38,4 +38,8 @@
/* define if target supports IEEE signed zero floats */
#define __UCLIBC_HAVE_SIGNED_ZERO__
+#ifdef __ARM_EABI__
+# define __UCLIBC_TRUNCATE64_HAS_4_ARGS__
+#endif
+
#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */

View file

@ -1,11 +0,0 @@
--- a/ldso/ldso/arm/dl-sysdep.h
+++ b/ldso/ldso/arm/dl-sysdep.h
@@ -15,6 +15,8 @@
GOT_BASE[1] = (unsigned long) MODULE; \
}
+#define DL_MALLOC_ALIGN 8 /* EABI needs 8 byte alignment for STRD LDRD*/
+
static inline unsigned long arm_modulus(unsigned long m, unsigned long p)
{
unsigned long i,t,inc;

View file

@ -1,28 +0,0 @@
--- a/extra/scripts/gen_bits_syscall_h.sh
+++ b/extra/scripts/gen_bits_syscall_h.sh
@@ -24,8 +24,8 @@ esac
( echo "#include <asm/unistd.h>";
echo "#include <asm/unistd.h>" |
$CC -E $CC_SYSNUM_ARGS $INCLUDE_OPTS - |
- sed -ne 's/^[ ]*#define[ ]*__NR_\([A-Za-z0-9_]*\).*/UCLIBC_\1 __NR_\1/gp' \
- -e 's/^[ ]*#undef[ ]*__NR_\([A-Za-z0-9_]*\).*/UNDEFUCLIBC_\1 __NR_\1/gp' # needed to strip out any kernel-internal defines
+ sed -ne 's/^[ ]*#define[ ]*\(__ARM_NR_\|__NR_\)\([A-Za-z0-9_]*\).*/UCLIBC\1\2 \1\2/gp' \
+ -e 's/^[ ]*#undef[ ]*\(__ARM_NR_\|__NR_\)\([A-Za-z0-9_]*\).*/UNDEFUCLIBC\1\2 \1\2/gp' # needed to strip out any kernel-internal defines
) |
$CC -E $INCLUDE_OPTS - |
( echo "/* WARNING!!! AUTO-GENERATED FILE!!! DO NOT EDIT!!! */" ; echo ;
@@ -35,10 +35,10 @@ $CC -E $INCLUDE_OPTS - |
echo "#ifndef _SYSCALL_H" ;
echo "# error \"Never use <bits/sysnum.h> directly; include <sys/syscall.h> instead.\"" ;
echo "#endif" ; echo ;
- sed -ne 's/^UCLIBC_\([A-Za-z0-9_]*\) *\(.*\)/#undef __NR_\1\
-#define __NR_\1 \2\
-#define SYS_\1 __NR_\1/gp' \
- -e 's/^UNDEFUCLIBC_\([A-Za-z0-9_]*\).*/#undef __NR_\1/gp'
+ sed -ne 's/^UCLIBC\(__ARM_NR_\|__NR_\)\([A-Za-z0-9_]*\) *\(.*\)/#undef \1\2\
+#define \1\2 \3\
+#define SYS_\2 \1\2/gp' \
+ -e 's/^UNDEFUCLIBC\(__ARM_NR_\|__NR_\)\([A-Za-z0-9_]*\).*/#undef \1\2/gp'
echo ;
echo "#endif" ;
)

View file

@ -1,13 +0,0 @@
--- a/libpthread/linuxthreads.old/pthread.c
+++ b/libpthread/linuxthreads.old/pthread.c
@@ -335,9 +335,9 @@ struct pthread_functions __pthread_funct
.ptr_pthread_raise = pthread_raise,
.ptr__pthread_cleanup_push = _pthread_cleanup_push,
.ptr__pthread_cleanup_pop = _pthread_cleanup_pop
-*/
.ptr__pthread_cleanup_push_defer = _pthread_cleanup_push_defer,
.ptr__pthread_cleanup_pop_restore = _pthread_cleanup_pop_restore,
+*/
};
#ifdef SHARED
# define ptr_pthread_functions &__pthread_functions

View file

@ -1,29 +0,0 @@
--- a/ldso/ldso/ldso.c
+++ b/ldso/ldso/ldso.c
@@ -286,15 +286,20 @@ void _dl_get_ready_to_run(struct elf_res
_dl_debug_early("calling mprotect on the application program\n");
/* Now cover the application program. */
if (app_tpnt->dynamic_info[DT_TEXTREL]) {
- ppnt = (ElfW(Phdr) *) auxvt[AT_PHDR].a_un.a_val;
- for (i = 0; i < auxvt[AT_PHNUM].a_un.a_val; i++, ppnt++) {
- if (ppnt->p_type == PT_LOAD && !(ppnt->p_flags & PF_W))
- _dl_mprotect((void *) (DL_RELOC_ADDR(app_tpnt->loadaddr, ppnt->p_vaddr) & PAGE_ALIGN),
- ((ppnt->p_vaddr + app_tpnt->loadaddr) & ADDR_ALIGN) +
- (unsigned long) ppnt->p_filesz,
+ ElfW(Phdr) *ppnt_inner = (ElfW(Phdr) *) auxvt[AT_PHDR].a_un.a_val;
+ for (i = 0; i < auxvt[AT_PHNUM].a_un.a_val; i++, ppnt_inner++) {
+ if (ppnt_inner->p_type == PT_LOAD && !(ppnt_inner->p_flags & PF_W))
+ _dl_mprotect((void *) (DL_RELOC_ADDR(app_tpnt->loadaddr, ppnt_inner->p_vaddr) & PAGE_ALIGN),
+ ((ppnt_inner->p_vaddr + app_tpnt->loadaddr) & ADDR_ALIGN) +
+ (unsigned long) ppnt_inner->p_filesz,
PROT_READ | PROT_WRITE | PROT_EXEC);
}
}
+#else
+ if (app_tpnt->dynamic_info[DT_TEXTREL]) {
+ _dl_dprintf(_dl_debug_file, "Can't modify application's text section; use the GCC option -fPIE for position-independent executables.\n");
+ _dl_exit(1);
+}
#endif
#ifndef ALLOW_ZERO_PLTGOT

View file

@ -1,31 +0,0 @@
--- uClibc-0.9.29.orig/libc/sysdeps/linux/mips/syscall.S 2009-02-27 19:26:57.420288905 +0100
+++ uClibc-0.9.29/libc/sysdeps/linux/mips/syscall.S 2009-02-27 19:43:18.000000000 +0100
@@ -29,6 +29,9 @@
.type syscall,@function
.ent syscall
syscall:
+#ifdef __PIC__
+ SETUP_GP
+#endif
move v0, a0 /* Load system call number from first arg. */
move a0, a1 /* Move the next three args up a register. */
move a1, a2
@@ -60,6 +63,18 @@
#else
addiu sp,sp,32
#endif
+ bnez a3, 1f
j ra /* Return to caller. */
+1:
+ move a0,v0 /* Pass return val to C function. */
+
+#ifdef __PIC__
+ SETUP_GP64(v0, syscall)
+ PTR_LA t9, __syscall_error
+ RESTORE_GP64
+ jr t9
+#else
+ j __syscall_error
+#endif
.end syscall
.size syscall,.-syscall

View file

@ -1,155 +0,0 @@
--- a/libc/inet/ifaddrs.c
+++ b/libc/inet/ifaddrs.c
@@ -38,6 +38,7 @@
#include <unistd.h>
#include "netlinkaccess.h"
+#include "ifaddrs.h"
libc_hidden_proto(socket)
libc_hidden_proto(close)
@@ -57,7 +58,6 @@ libc_hidden_proto(abort)
#if __ASSUME_NETLINK_SUPPORT
-#if 0 /* unused code */
/* struct to hold the data for one ifaddrs entry, so we can allocate
everything at once. */
struct ifaddrs_storage
@@ -74,8 +74,6 @@ struct ifaddrs_storage
} addr, netmask, broadaddr;
char name[IF_NAMESIZE + 1];
};
-#endif /* unused code */
-
void
__netlink_free_handle (struct netlink_handle *h)
@@ -323,8 +321,6 @@ __netlink_open (struct netlink_handle *h
return 0;
}
-
-#if 0 /* unused code */
/* We know the number of RTM_NEWLINK entries, so we reserve the first
# of entries for this type. All RTM_NEWADDR entries have an index
pointer to the RTM_NEWLINK entry. To find the entry, create
@@ -562,7 +558,7 @@ getifaddrs (struct ifaddrs **ifap)
if ((rta_payload + 1) <= sizeof (ifas[ifa_index].name))
{
ifas[ifa_index].ifa.ifa_name = ifas[ifa_index].name;
- *(char *) __mempcpy (ifas[ifa_index].name, rta_data,
+ *(char *) mempcpy (ifas[ifa_index].name, rta_data,
rta_payload) = '\0';
}
break;
@@ -761,7 +757,7 @@ getifaddrs (struct ifaddrs **ifap)
if (rta_payload + 1 <= sizeof (ifas[ifa_index].name))
{
ifas[ifa_index].ifa.ifa_name = ifas[ifa_index].name;
- *(char *) __mempcpy (ifas[ifa_index].name, rta_data,
+ *(char *) mempcpy (ifas[ifa_index].name, rta_data,
rta_payload) = '\0';
}
else
@@ -872,6 +868,4 @@ freeifaddrs (struct ifaddrs *ifa)
}
#endif
-#endif /* unused code */
-
#endif /* __ASSUME_NETLINK_SUPPORT */
--- a/libc/inet/netlinkaccess.h
+++ b/libc/inet/netlinkaccess.h
@@ -61,14 +61,11 @@ struct netlink_handle
};
-#if 0 /* unused code */
#if __ASSUME_NETLINK_SUPPORT == 0
extern int __no_netlink_support attribute_hidden;
#else
# define __no_netlink_support 0
#endif
-#endif /* unused code */
-
extern int __netlink_open (struct netlink_handle *h) attribute_hidden;
extern void __netlink_close (struct netlink_handle *h) attribute_hidden;
--- /dev/null
+++ b/include/ifaddrs.h
@@ -0,0 +1,74 @@
+/* ifaddrs.h -- declarations for getting network interface addresses
+ Copyright (C) 2002 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#ifndef _IFADDRS_H
+#define _IFADDRS_H 1
+
+#include <features.h>
+#include <sys/socket.h>
+
+__BEGIN_DECLS
+
+/* The `getifaddrs' function generates a linked list of these structures.
+ Each element of the list describes one network interface. */
+struct ifaddrs
+{
+ struct ifaddrs *ifa_next; /* Pointer to the next structure. */
+
+ char *ifa_name; /* Name of this network interface. */
+ unsigned int ifa_flags; /* Flags as from SIOCGIFFLAGS ioctl. */
+
+ struct sockaddr *ifa_addr; /* Network address of this interface. */
+ struct sockaddr *ifa_netmask; /* Netmask of this interface. */
+ union
+ {
+ /* At most one of the following two is valid. If the IFF_BROADCAST
+ bit is set in `ifa_flags', then `ifa_broadaddr' is valid. If the
+ IFF_POINTOPOINT bit is set, then `ifa_dstaddr' is valid.
+ It is never the case that both these bits are set at once. */
+ struct sockaddr *ifu_broadaddr; /* Broadcast address of this interface. */
+ struct sockaddr *ifu_dstaddr; /* Point-to-point destination address. */
+ } ifa_ifu;
+ /* These very same macros are defined by <net/if.h> for `struct ifaddr'.
+ So if they are defined already, the existing definitions will be fine. */
+# ifndef ifa_broadaddr
+# define ifa_broadaddr ifa_ifu.ifu_broadaddr
+# endif
+# ifndef ifa_dstaddr
+# define ifa_dstaddr ifa_ifu.ifu_dstaddr
+# endif
+
+ void *ifa_data; /* Address-specific data (may be unused). */
+};
+
+
+/* Create a linked list of `struct ifaddrs' structures, one for each
+ network interface on the host machine. If successful, store the
+ list in *IFAP and return 0. On errors, return -1 and set `errno'.
+
+ The storage returned in *IFAP is allocated dynamically and can
+ only be properly freed by passing it to `freeifaddrs'. */
+extern int getifaddrs (struct ifaddrs **__ifap) __THROW;
+
+/* Reclaim the storage allocated by a previous `getifaddrs' call. */
+extern void freeifaddrs (struct ifaddrs *__ifa) __THROW;
+
+__END_DECLS
+
+#endif /* ifaddrs.h */

View file

@ -1,21 +0,0 @@
This patch is out of uClibc trunk.
--- a/libc/sysdeps/linux/i386/bits/kernel_types.h
+++ b/libc/sysdeps/linux/i386/bits/kernel_types.h
@@ -7,10 +7,14 @@
/* a hack for compiling a 32 bit user space with 64 bit
* kernel on x86_64 */
-#if !defined(__ARCH_I386_POSIX_TYPES_H) && !defined(_ASM_X86_64_POSIX_TYPES_H)
+#if !defined(__ARCH_I386_POSIX_TYPES_H) && \
+ !defined(_ASM_X86_64_POSIX_TYPES_H) && \
+ !defined(_ASM_X86_POSIX_TYPES_32_H) && \
+ !defined(_ASM_X86_POSIX_TYPES_64_H)
#define _ASM_X86_64_POSIX_TYPES_H
#define __ARCH_I386_POSIX_TYPES_H
-
+#define _ASM_X86_POSIX_TYPES_32_H
+#define _ASM_X86_POSIX_TYPES_64_H
typedef unsigned short __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;

View file

@ -1,12 +0,0 @@
--- a/libpthread/linuxthreads/Makefile.in
+++ b/libpthread/linuxthreads/Makefile.in
@@ -128,7 +128,9 @@ linuxthreads_headers:
$(Q)$(LN) -sf ../$(PTDIR)/sysdeps/pthread/pthread.h $(top_builddir)include/
$(Q)$(LN) -sf ../$(PTDIR)/semaphore.h $(top_builddir)include/
$(Q)$(INSTALL) -d $(top_builddir)include/bits
+ $(Q)$(INSTALL) -d $(top_builddir)include/sys
$(Q)$(LN) -sf ../../$(PTDIR)/sysdeps/pthread/bits/pthreadtypes.h $(top_builddir)include/bits/
+ $(Q)$(LN) -sf ../../$(PTDIR)/sysdeps/$(TARGET_ARCH)/tls.h $(top_builddir)include/sys/
linuxthreads_headers_clean:
$(RM) $(top_builddir)include/pthread.h $(top_builddir)include/semaphore.h \

View file

@ -1,56 +0,0 @@
--- a/libpthread/linuxthreads/libc-cancellation.c
+++ b/libpthread/linuxthreads/libc-cancellation.c
@@ -31,9 +31,6 @@
weak_extern (__pthread_do_exit)
# endif
-int __libc_multiple_threads attribute_hidden __attribute__((nocommon));
-strong_alias (__libc_multiple_threads, __librt_multiple_threads)
-
/* The next two functions are similar to pthread_setcanceltype() but
more specialized for the use in the cancelable functions like write().
They do not need to check parameters etc. */
--- a/libpthread/linuxthreads/libc_pthread_init.c
+++ b/libpthread/linuxthreads/libc_pthread_init.c
@@ -33,6 +33,9 @@ libc_hidden_proto(memcpy)
libc_hidden_proto(uselocale)
#endif
+int __libc_multiple_threads attribute_hidden __attribute__((nocommon));
+strong_alias (__libc_multiple_threads, __librt_multiple_threads)
+
int *
__libc_pthread_init (functions)
const struct pthread_functions *functions;
--- a/libpthread/linuxthreads/Makefile.in
+++ b/libpthread/linuxthreads/Makefile.in
@@ -77,7 +77,7 @@ libpthread-a-y += $(libpthread_OBJ:.o=.
else
libpthread-a-y += $(libpthread_OBJ) $(libpthread-static-y)
endif
-libpthread-so-y += $(libpthread_OBJ:.o=.os)
+libpthread-so-y += $(libpthread_OBJ:.o=.oS)
lib-a-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.a
lib-so-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.so
--- a/libpthread/linuxthreads/pthread.c
+++ b/libpthread/linuxthreads/pthread.c
@@ -32,6 +32,8 @@
#include "smp.h"
#include <not-cancel.h>
+#define HAVE_Z_NODELETE
+
/* Sanity check. */
#if !defined __SIGRTMIN || (__SIGRTMAX - __SIGRTMIN) < 3
# error "This must not happen"
@@ -976,7 +978,9 @@ static void pthread_onexit_process(int r
request.req_args.exit.code = retcode;
TEMP_FAILURE_RETRY(write_not_cancel(__pthread_manager_request,
(char *) &request, sizeof(request)));
+#ifdef notyet
suspend(self);
+#endif
/* Main thread should accumulate times for thread manager and its
children, so that timings for main thread account for all threads. */
if (self == __pthread_main_thread)

View file

@ -1,21 +0,0 @@
--- a/libm/s_floor.c
+++ b/libm/s_floor.c
@@ -81,3 +81,18 @@ libm_hidden_proto(floor)
return x;
}
libm_hidden_def(floor)
+
+
+libm_hidden_proto(trunc)
+double
+trunc(double x)
+{
+ if (!finite (x))
+ return x;
+
+ if (x < 0.0)
+ return - floor (-x);
+ else
+ return floor (x);
+}
+libm_hidden_def(trunc)

View file

@ -1,37 +0,0 @@
--- /dev/null
+++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
@@ -0,0 +1,24 @@
+/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Guido Guenther <agx@sigxcpu.org>, 2003.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt
+
+# define SINGLE_THREAD_P (1)
+
+#endif
--- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h
+++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h
@@ -17,7 +17,6 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#include <sysdep.h>
#ifndef __ASSEMBLER__
# include <linuxthreads/internals.h>
#endif

View file

@ -1,10 +0,0 @@
--- a/libc/unistd/daemon.c
+++ b/libc/unistd/daemon.c
@@ -54,7 +54,6 @@
libc_hidden_proto(dup2)
libc_hidden_proto(setsid)
libc_hidden_proto(chdir)
-libc_hidden_proto(fork)
int daemon( int nochdir, int noclose )
{

View file

@ -1,29 +0,0 @@
--- a/libc/sysdeps/linux/common/bits/mathcalls.h
+++ b/libc/sysdeps/linux/common/bits/mathcalls.h
@@ -190,20 +190,20 @@
/* Return 0 if VALUE is finite or NaN, +1 if it
is +Infinity, -1 if it is -Infinity. */
-__MATHDECL_1 (int,__isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
+__MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
/* Return nonzero if VALUE is finite and not NaN. */
-__MATHDECL_1 (int,__finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
-_Mdouble_END_NAMESPACE
+__MATHDECL_1 (int,finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
-#ifdef __USE_MISC
/* Return 0 if VALUE is finite or NaN, +1 if it
is +Infinity, -1 if it is -Infinity. */
-__MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
+__MATHDECL_1 (int,__isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
/* Return nonzero if VALUE is finite and not NaN. */
-__MATHDECL_1 (int,finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
+__MATHDECL_1 (int,__finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
+_Mdouble_END_NAMESPACE
+#ifdef __USE_MISC
/* Return the remainder of X/Y. */
__MATHCALL (drem,, (_Mdouble_ __x, _Mdouble_ __y));

View file

@ -1,39 +0,0 @@
It will match kernel's sigset_t starting from 0.9.31.
Please try attached patch.
--
vda
diff -d -urpN uClibc.0/libc/sysdeps/linux/common/ppoll.c uClibc.1/libc/sysdeps/linux/common/ppoll.c
--- uClibc.0/libc/sysdeps/linux/common/ppoll.c
+++ uClibc.1/libc/sysdeps/linux/common/ppoll.c
@@ -17,6 +17,7 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
+#include <signal.h>
#include <sys/syscall.h>
#include <sys/poll.h>
@@ -26,9 +27,9 @@
# define __NR___libc_ppoll __NR_ppoll
static inline
-_syscall4(int, __libc_ppoll, struct pollfd *, fds,
+_syscall5(int, __libc_ppoll, struct pollfd *, fds,
nfds_t, nfds, const struct timespec *, timeout,
- const __sigset_t *, sigmask);
+ const __sigset_t *, sigmask, size_t, sigsetsize)
int
ppoll (struct pollfd *fds, nfds_t nfds, const struct timespec *timeout,
@@ -43,7 +44,7 @@
timeout = &tval;
}
- return __libc_ppoll(fds, nfds, timeout, sigmask);
+ return __libc_ppoll(fds, nfds, timeout, sigmask, _NSIG / 8);
}
libc_hidden_def(ppoll)

View file

@ -1,12 +0,0 @@
--- a/Rules.mak
+++ b/Rules.mak
@@ -498,7 +498,8 @@ CFLAGS += -I$(KERNEL_HEADERS)
# Sigh, some stupid versions of gcc can't seem to cope with '-iwithprefix include'
#CFLAGS+=-iwithprefix include
-CFLAGS+=-isystem $(shell $(CC) -print-file-name=include)
+CC_IPREFIX:=$(shell $(CC) -print-file-name=include)
+CFLAGS+=-isystem $(CC_IPREFIX) -isystem $(CC_IPREFIX)-fixed
ifneq ($(DOASSERTS),y)
CFLAGS+=-DNDEBUG