diff options
-rw-r--r-- | main/libc0.9.32/APKBUILD | 91 | ||||
-rw-r--r-- | main/libc0.9.32/compat-stack-guard.patch | 51 | ||||
l--------- | main/libc0.9.32/uclibcconfig.i486 | 1 | ||||
-rw-r--r-- | main/libc0.9.32/uclibcconfig.x86 | 260 |
4 files changed, 403 insertions, 0 deletions
diff --git a/main/libc0.9.32/APKBUILD b/main/libc0.9.32/APKBUILD new file mode 100644 index 000000000..4ec21af22 --- /dev/null +++ b/main/libc0.9.32/APKBUILD @@ -0,0 +1,91 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +_abiver=0.9.32 +pkgname=libc$_abiver +_gitver=100427 +pkgver=${_abiver}_alpha0_git$_gitver +pkgrel=0 +pkgdesc="C library for developing embedded Linux systems" +url=http://uclibc.org +license="LGPL-2" + +subpackages="uclibc-dev:dev uclibc-utils:utils" +depends_dev="linux-headers=>2.6.32" +#options="!strip" +replaces=uclibc + +source=" + http://git.uclibc.org/uClibc/snapshot/master.tar.bz2 + compat-stack-guard.patch + uclibcconfig.x86 + uclibcconfig.i486 + " + +_config="$srcdir"/uclibcconfig.${ARCH:-x86} +_builddir="$srcdir"/master + +snapshot() { + local _date=$(date +%y%m%d%H%M) + rm -f "$SRCDEST"/master.tar.bz2 + pkgrel=0 + sed -i -e "s/^_gitver=.*/_gitver=$(date +%y%m%d)/" \ + -e "s/^pkgrel=.*/pkgrel=$pkgrel/" \ + APKBUILD + checksum +} + +prepare() { + local i + cd "$_builddir" + # patches goes here + for i in ../*.patch ../*.diff; do + [ -r "$i" ] || continue + msg "Applying $i..." + patch -p1 < $i || return 1 + done + # set abi version and remove unsupported warnings c flag + sed -i -e "s/^ABI_VERSION.*/ABI_VERSION := $_abiver/" \ + -e "s/-Wold-style-declaration//g" \ + Rules.mak +} + +build() { + local _kh= + cd "$_builddir" + if [ -n "$SYSROOT" ]; then + _kh=KERNEL_HEADERS="$SYSROOT/include" + fi + cp "$_config" .config + sleep 1 + make silentoldconfig + make all KERNEL_HEADERS="$SYSROOT/usr/include" CROSS="$CROSS" || return 1 + make utils CROSS="$CROSS" || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" KERNEL_HEADERS="$SYSROOT/usr/include" \ + CROSS="$CROSS" install install_utils + install -Dm755 extra/scripts/getent "$_p"/usr/bin/getent + # provided by linux-headers + rm -f "$_p"/usr/include/scsi/scsi.h +} + +dev() { + default_dev + replaces=uclibc + mkdir "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/*.so "$subpkgdir"/usr/lib/ +} + +utils() { + pkgdesc="uClibc utility programs" + replaces=uclibc + mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/sbin + mv "$pkgdir"/sbin/* "$subpkgdir"/sbin/ + mv "$pkgdir"/usr/bin/* "$subpkgdir"/usr/bin/ +} + +md5sums="1189f8f739b1977a86b7afa8637e6827 master.tar.bz2 +4d408f72142ce55a0754948cc9cfe447 compat-stack-guard.patch +791e2fc050cab523ce1c907ca39a2486 uclibcconfig.x86 +791e2fc050cab523ce1c907ca39a2486 uclibcconfig.i486" diff --git a/main/libc0.9.32/compat-stack-guard.patch b/main/libc0.9.32/compat-stack-guard.patch new file mode 100644 index 000000000..71d78bac5 --- /dev/null +++ b/main/libc0.9.32/compat-stack-guard.patch @@ -0,0 +1,51 @@ +diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c +index 125cf96..bb47952 100644 +--- a/ldso/ldso/ldso.c ++++ b/ldso/ldso/ldso.c +@@ -101,10 +101,10 @@ extern void _start(void); + #ifdef __UCLIBC_HAS_SSP__ + # include <dl-osinfo.h> + uintptr_t stack_chk_guard; ++uintptr_t __stack_chk_guard attribute_relro; + # ifndef THREAD_SET_STACK_GUARD + /* Only exported for architectures that don't store the stack guard canary + * in local thread area. */ +-uintptr_t __stack_chk_guard attribute_relro; + # ifdef __UCLIBC_HAS_SSP_COMPAT__ + strong_alias(__stack_chk_guard,__guard) + # endif +@@ -935,13 +935,12 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr, + #ifdef __UCLIBC_HAS_SSP__ + /* Set up the stack checker's canary. */ + stack_chk_guard = _dl_setup_stack_chk_guard (); ++ __stack_chk_guard = stack_chk_guard; + # ifdef THREAD_SET_STACK_GUARD + THREAD_SET_STACK_GUARD (stack_chk_guard); + # ifdef __UCLIBC_HAS_SSP_COMPAT__ + __guard = stack_chk_guard; + # endif +-# else +- __stack_chk_guard = stack_chk_guard; + # endif + #endif + +diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c +index f7e45c6..b527068 100644 +--- a/libc/misc/internals/__uClibc_main.c ++++ b/libc/misc/internals/__uClibc_main.c +@@ -43,13 +43,13 @@ void *__libc_stack_end = NULL; + + # ifdef __UCLIBC_HAS_SSP__ + # include <dl-osinfo.h> ++/* for gcc-4.1 non-TLS */ ++uintptr_t __stack_chk_guard attribute_relro; + # ifndef THREAD_SET_STACK_GUARD + /* Only exported for architectures that don't store the stack guard canary + * in thread local area. */ + # include <stdint.h> + uintptr_t stack_chk_guard; +-/* for gcc-4.1 non-TLS */ +-uintptr_t __stack_chk_guard attribute_relro; + /* for gcc-3.x + Etoh ssp */ + # ifdef __UCLIBC_HAS_SSP_COMPAT__ + # ifdef __HAVE_SHARED__ diff --git a/main/libc0.9.32/uclibcconfig.i486 b/main/libc0.9.32/uclibcconfig.i486 new file mode 120000 index 000000000..6ab0f7e5d --- /dev/null +++ b/main/libc0.9.32/uclibcconfig.i486 @@ -0,0 +1 @@ +uclibcconfig.x86
\ No newline at end of file diff --git a/main/libc0.9.32/uclibcconfig.x86 b/main/libc0.9.32/uclibcconfig.x86 new file mode 100644 index 000000000..be5cfbb51 --- /dev/null +++ b/main/libc0.9.32/uclibcconfig.x86 @@ -0,0 +1,260 @@ +# +# Automatically generated make config: don't edit +# Version: 0.9.32-git +# Tue May 4 07:38:19 2010 +# +# 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=y +# TARGET_i960 is not set +# TARGET_ia64 is not set +# TARGET_m68k is not set +# TARGET_microblaze is not set +# TARGET_mips is not set +# TARGET_nios is not set +# TARGET_nios2 is not set +# TARGET_powerpc is not set +# TARGET_sh is not set +# TARGET_sh64 is not set +# TARGET_sparc is not set +# TARGET_v850 is not set +# TARGET_vax is not set +# TARGET_x86_64 is not set +# TARGET_xtensa is not set + +# +# Target Architecture Features and Options +# +TARGET_ARCH="i386" +FORCE_OPTIONS_FOR_ARCH=y +# CONFIG_GENERIC_386 is not set +# CONFIG_386 is not set +CONFIG_486=y +# CONFIG_586 is not set +# CONFIG_586MMX is not set +# CONFIG_686 is not set +# CONFIG_PENTIUMII is not set +# CONFIG_PENTIUMIII is not set +# CONFIG_PENTIUM4 is not set +# CONFIG_K6 is not set +# CONFIG_K7 is not set +# CONFIG_ELAN is not set +# CONFIG_CRUSOE is not set +# CONFIG_WINCHIPC6 is not set +# CONFIG_WINCHIP2 is not set +# CONFIG_CYRIXIII is not set +# CONFIG_NEHEMIAH is not set +TARGET_SUBARCH="" + +# +# Using ELF file format +# +ARCH_LITTLE_ENDIAN=y + +# +# Using Little Endian +# +ARCH_HAS_MMU=y +ARCH_USE_MMU=y +UCLIBC_HAS_FLOATS=y +UCLIBC_HAS_FPU=y +DO_C99_MATH=y +DO_XSI_MATH=y +UCLIBC_HAS_FENV=y +UCLIBC_HAS_LONG_DOUBLE_MATH=y +KERNEL_HEADERS="/usr/include" +HAVE_DOT_CONFIG=y + +# +# General Library Settings +# +# HAVE_NO_PIC is not set +DOPIC=y +# ARCH_HAS_NO_SHARED is not set +# ARCH_HAS_NO_LDSO is not set +HAVE_SHARED=y +FORCE_SHAREABLE_TEXT_SEGMENTS=y +LDSO_LDD_SUPPORT=y +LDSO_CACHE_SUPPORT=y +LDSO_PRELOAD_ENV_SUPPORT=y +# LDSO_PRELOAD_FILE_SUPPORT is not set +LDSO_BASE_FILENAME="ld.so" +UCLIBC_STATIC_LDCONFIG=y +LDSO_RUNPATH=y +LDSO_SEARCH_INTERP_PATH=y +UCLIBC_CTOR_DTOR=y +# LDSO_GNU_HASH_SUPPORT is not set +# HAS_NO_THREADS is not set +# LINUXTHREADS_OLD is not set +# LINUXTHREADS_NEW is not set +UCLIBC_HAS_THREADS_NATIVE=y +UCLIBC_HAS_THREADS=y +UCLIBC_HAS_TLS=y +# PTHREADS_DEBUG_SUPPORT is not set +UCLIBC_HAS_SYSLOG=y +UCLIBC_HAS_LFS=y +# MALLOC is not set +# MALLOC_SIMPLE is not set +MALLOC_STANDARD=y +MALLOC_GLIBC_COMPAT=y +UCLIBC_DYNAMIC_ATEXIT=y +COMPAT_ATEXIT=y +UCLIBC_SUSV3_LEGACY=y +UCLIBC_SUSV3_LEGACY_MACROS=y +UCLIBC_SUSV4_LEGACY=y +# UCLIBC_HAS_STUBS is not set +UCLIBC_HAS_SHADOW=y +UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y +UCLIBC_HAS___PROGNAME=y +UCLIBC_HAS_PTY=y +ASSUME_DEVPTS=y +UNIX98PTY_ONLY=y +# UCLIBC_HAS_GETPT is not set +UCLIBC_HAS_LIBUTIL=y +UCLIBC_HAS_TM_EXTENSIONS=y +UCLIBC_HAS_TZ_CACHING=y +UCLIBC_HAS_TZ_FILE=y +UCLIBC_HAS_TZ_FILE_READ_MANY=y +UCLIBC_TZ_FILE_PATH="/etc/TZ" + +# +# Advanced Library Settings +# +UCLIBC_PWD_BUFFER_SIZE=256 +UCLIBC_GRP_BUFFER_SIZE=256 + +# +# Support various families of functions +# +UCLIBC_LINUX_MODULE_24=y +UCLIBC_LINUX_SPECIFIC=y +UCLIBC_HAS_GNU_ERROR=y +UCLIBC_BSD_SPECIFIC=y +UCLIBC_HAS_BSD_ERR=y +UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y +UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL=y +# UCLIBC_NTP_LEGACY is not set +UCLIBC_SV4_DEPRECATED=y +UCLIBC_HAS_REALTIME=y +UCLIBC_HAS_ADVANCED_REALTIME=y +UCLIBC_HAS_EPOLL=y +UCLIBC_HAS_XATTR=y +UCLIBC_HAS_PROFILING=y +UCLIBC_HAS_CRYPT_IMPL=y +UCLIBC_HAS_CRYPT=y +UCLIBC_HAS_NETWORK_SUPPORT=y +UCLIBC_HAS_SOCKET=y +UCLIBC_HAS_IPV4=y +UCLIBC_HAS_IPV6=y +UCLIBC_HAS_RPC=y +UCLIBC_HAS_FULL_RPC=y +UCLIBC_HAS_REENTRANT_RPC=y +UCLIBC_USE_NETLINK=y +UCLIBC_SUPPORT_AI_ADDRCONFIG=y +UCLIBC_HAS_BSD_RES_CLOSE=y +UCLIBC_HAS_COMPAT_RES_STATE=y +# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set +UCLIBC_HAS_LIBRESOLV_STUB=y +# UCLIBC_HAS_LIBNSL_STUB is not set + +# +# String and Stdio Support +# +UCLIBC_HAS_STRING_GENERIC_OPT=y +UCLIBC_HAS_STRING_ARCH_OPT=y +UCLIBC_HAS_CTYPE_TABLES=y +UCLIBC_HAS_CTYPE_SIGNED=y +# UCLIBC_HAS_CTYPE_UNSAFE is not set +UCLIBC_HAS_CTYPE_CHECKED=y +# UCLIBC_HAS_CTYPE_ENFORCED is not set +UCLIBC_HAS_WCHAR=y +# UCLIBC_HAS_LOCALE is not set +UCLIBC_HAS_HEXADECIMAL_FLOATS=y +UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y +UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 +# UCLIBC_HAS_SCANF_GLIBC_A_FLAG is not set +# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set +# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set +UCLIBC_HAS_STDIO_BUFSIZ_4096=y +# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set +UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set +# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set +UCLIBC_HAS_STDIO_GETC_MACRO=y +UCLIBC_HAS_STDIO_PUTC_MACRO=y +UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y +# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set +UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y +UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y +UCLIBC_HAS_PRINTF_M_SPEC=y +UCLIBC_HAS_ERRNO_MESSAGES=y +# UCLIBC_HAS_SYS_ERRLIST is not set +UCLIBC_HAS_SIGNUM_MESSAGES=y +# UCLIBC_HAS_SYS_SIGLIST is not set +UCLIBC_HAS_GNU_GETOPT=y +UCLIBC_HAS_STDIO_FUTEXES=y +UCLIBC_HAS_GNU_GETSUBOPT=y + +# +# Big and Tall +# +UCLIBC_HAS_REGEX=y +UCLIBC_HAS_REGEX_OLD=y +UCLIBC_HAS_FNMATCH=y +# UCLIBC_HAS_FNMATCH_OLD is not set +UCLIBC_HAS_WORDEXP=y +UCLIBC_HAS_NFTW=y +UCLIBC_HAS_FTW=y +UCLIBC_HAS_GLOB=y +UCLIBC_HAS_GNU_GLOB=y + +# +# Library Installation Options +# +RUNTIME_PREFIX="/" +DEVEL_PREFIX="/usr" +MULTILIB_DIR="lib" +# HARDWIRED_ABSPATH is not set + +# +# Security options +# +UCLIBC_BUILD_PIE=y +UCLIBC_HAS_ARC4RANDOM=y +# HAVE_NO_SSP is not set +UCLIBC_HAS_SSP=y +UCLIBC_HAS_SSP_COMPAT=y +# SSP_QUICK_CANARY is not set +# PROPOLICE_BLOCK_ABRT is not set +PROPOLICE_BLOCK_SEGV=y +# UCLIBC_BUILD_SSP is not set +UCLIBC_BUILD_RELRO=y +UCLIBC_BUILD_NOW=y +UCLIBC_BUILD_NOEXECSTACK=y + +# +# uClibc development/debugging options +# +CROSS_COMPILER_PREFIX="" +UCLIBC_EXTRA_CFLAGS="" +# DODEBUG is not set +DOSTRIP=y +# DOASSERTS is not set +# SUPPORT_LD_DEBUG is not set +# SUPPORT_LD_DEBUG_EARLY is not set +# UCLIBC_MALLOC_DEBUGGING is not set +WARNINGS="-Wall" +EXTRA_WARNINGS=y +# DOMULTI is not set +# UCLIBC_MJN3_ONLY is not set |