parent
4f1f99a63d
commit
161792d02c
@ -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" |
||||
|
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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" |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -1,5 +0,0 @@ |
||||
ARCH_LITTLE_ENDIAN=y |
||||
KERNEL_HEADERS="." |
||||
TARGET_ARCH="x86_64" |
||||
TARGET_SUBARCH="" |
||||
TARGET_x86_64=y |
@ -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
|
@ -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
|
@ -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) {
|
@ -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
|
||||
|
@ -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
@ -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;
|
@ -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)
|
||||
{
|
@ -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 */
|
@ -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
|
||||
|
@ -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;
|
@ -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
|
@ -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
|
@ -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 */
|
@ -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;
|
@ -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" ;
|
||||
)
|
@ -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
|
@ -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
|
@ -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
|
@ -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 */
|
@ -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;
|
@ -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 \
|
@ -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)
|
@ -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)
|
@ -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
|
@ -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 )
|
||||
{
|
@ -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));
|
||||
|
@ -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)
|
||||
|
@ -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
|
Loading…
Reference in new issue