Skip to content

Commit

Permalink
Merge pull request #221 from bhundven/uclibc-ng
Browse files Browse the repository at this point in the history
Add support for uClibc-ng
  • Loading branch information
bhundven committed Nov 13, 2015
2 parents 2655034 + adcf4ec commit 377493f
Show file tree
Hide file tree
Showing 149 changed files with 5,468 additions and 6,911 deletions.
4 changes: 3 additions & 1 deletion .travis.yml
Expand Up @@ -36,10 +36,12 @@ install:
# by the continuous integration system
env:
- CT_SAMPLE=arm-unknown-eabi
- CT_SAMPLE=armeb-unknown-eabi
- CT_SAMPLE=arm-unknown-linux-gnueabi
- CT_SAMPLE=armeb-unknown-linux-gnueabi
- CT_SAMPLE=arm-unknown-linux-musleabi
- CT_SAMPLE=mips64el-n64-linux-uclibc
- CT_SAMPLE=powerpc-e500v2-linux-gnuspe
- CT_SAMPLE=x86_64-unknown-linux-uclibc

# Building the standard samples
script:
Expand Down
88 changes: 23 additions & 65 deletions config/libc/uClibc.in
Expand Up @@ -26,62 +26,21 @@ choice
# Don't remove next line
# CT_INSERT_VERSION_BELOW

config LIBC_UCLIBC_V_0_9_33_2
bool
prompt "0.9.33.2"
select LIBC_UCLIBC_0_9_32_or_later

config LIBC_UCLIBC_V_0_9_33_1
bool
prompt "0.9.33.1"
select LIBC_UCLIBC_0_9_32_or_later

config LIBC_UCLIBC_V_0_9_33
bool
prompt "0.9.33"
select LIBC_UCLIBC_0_9_32_or_later

config LIBC_UCLIBC_V_0_9_32_1
config LIBC_UCLIBC_NG_V_1_0_8
bool
prompt "0.9.32.1"
select LIBC_UCLIBC_0_9_32_or_later
prompt "1.0.8"
select LIBC_UCLIBC_NG_1_0_8_or_later

config LIBC_UCLIBC_V_0_9_32
bool
prompt "0.9.32"
select LIBC_UCLIBC_0_9_32_or_later

config LIBC_UCLIBC_V_0_9_31
bool
prompt "0.9.31"
select LIBC_UCLIBC_0_9_30_or_later

config LIBC_UCLIBC_V_0_9_30_3
bool
prompt "0.9.30.3"
select LIBC_UCLIBC_0_9_30_or_later

config LIBC_UCLIBC_V_0_9_30_2
bool
prompt "0.9.30.2"
select LIBC_UCLIBC_0_9_30_or_later

config LIBC_UCLIBC_V_0_9_30_1
bool
prompt "0.9.30.1"
select LIBC_UCLIBC_0_9_30_or_later

config LIBC_UCLIBC_V_0_9_30
config LIBC_UCLIBC_V_0_9_33_2
bool
prompt "0.9.30"
select LIBC_UCLIBC_0_9_30_or_later
prompt "0.9.33.2"
select LIBC_UCLIBC_0_9_33_2_or_later

config LIBC_UCLIBC_CUSTOM
bool
prompt "Custom uClibc"
depends on EXPERIMENTAL
select LIBC_SUPPORT_THREADS_NATIVE
select LIBC_UCLIBC_0_9_30_or_later
select LIBC_UCLIBC_0_9_33_2_or_later

endchoice

Expand All @@ -101,30 +60,29 @@ config LIBC_VERSION
string
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW
default "1.0.8" if LIBC_UCLIBC_NG_V_1_0_8
default "0.9.33.2" if LIBC_UCLIBC_V_0_9_33_2
default "0.9.33.1" if LIBC_UCLIBC_V_0_9_33_1
default "0.9.33" if LIBC_UCLIBC_V_0_9_33
default "0.9.32.1" if LIBC_UCLIBC_V_0_9_32_1
default "0.9.32" if LIBC_UCLIBC_V_0_9_32
default "0.9.31" if LIBC_UCLIBC_V_0_9_31
default "0.9.30.3" if LIBC_UCLIBC_V_0_9_30_3
default "0.9.30.2" if LIBC_UCLIBC_V_0_9_30_2
default "0.9.30.1" if LIBC_UCLIBC_V_0_9_30_1
default "0.9.30" if LIBC_UCLIBC_V_0_9_30
default "custom" if LIBC_UCLIBC_CUSTOM

config LIBC_UCLIBC_0_9_32_or_later

config LIBC_UCLIBC_NG_1_0_8_or_later
bool
select LIBC_SUPPORT_THREADS_NATIVE
select LIBC_UCLIBC_0_9_30_or_later
select LIBC_UCLIBC_NG_1_0_0_or_later

config LIBC_UCLIBC_NG_1_0_0_or_later
bool
select LIBC_UCLIBC_NG
select LIBC_UCLIBC_0_9_33_2_or_later

config LIBC_UCLIBC_0_9_30_or_later
config LIBC_UCLIBC_0_9_33_2_or_later
bool
select LIBC_SUPPORT_THREADS_NATIVE
select LIBC_UCLIBC_PARALLEL

config LIBC_UCLIBC_PARALLEL
bool

config LIBC_UCLIBC_NG
bool

choice
bool
prompt "uClibc verbosity:"
Expand Down Expand Up @@ -191,5 +149,5 @@ config LIBC_UCLIBC_CONFIG_FILE
default ""
help
Path to the configuration file.
You _must_ provide one (for now).

If the file is not provided, we fall back to a default config file.
1 change: 1 addition & 0 deletions config/libc/uClibc.in.2
Expand Up @@ -50,6 +50,7 @@ config LIBC_UCLIBC_LOCALES_PREGEN_DATA
bool
prompt "Use pregen locales"
depends on LIBC_UCLIBC_LOCALES
depends on ! LIBC_UCLIBC_NG
default y
help
If you see issues with using pre-generated locales data,
Expand Down
41 changes: 41 additions & 0 deletions contrib/uClibc-defconfigs/uClibc-ng.config
@@ -0,0 +1,41 @@
DO_C99_MATH=y
KERNEL_HEADERS="/usr/src/linux/include"
# LDSO_CACHE_SUPPORT is not set
# UCLIBC_STATIC_LDCONFIG is not set
LDSO_RUNPATH=y
LDSO_RUNPATH_OF_EXECUTABLE=y
MALLOC_GLIBC_COMPAT=y
UCLIBC_HAS_OBSTACK=y
UCLIBC_HAS_UTMPX=y
UCLIBC_HAS_UTMP=y
UCLIBC_SUSV2_LEGACY=y
UCLIBC_SUSV3_LEGACY=y
UCLIBC_HAS_CONTEXT_FUNCS=y
UCLIBC_SUSV4_LEGACY=y
UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
UCLIBC_HAS_GETPT=y
UCLIBC_HAS_LIBUTIL=y
UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
UCLIBC_USE_NETLINK=y
UCLIBC_SUPPORT_AI_ADDRCONFIG=y
UCLIBC_HAS_RESOLVER_SUPPORT=y
UCLIBC_HAS_LIBRESOLV_STUB=y
UCLIBC_HAS_LIBNSL_STUB=y
UCLIBC_HAS_CTYPE_CHECKED=y
UCLIBC_HAS_HEXADECIMAL_FLOATS=y
UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
UCLIBC_HAS_STDIO_GETC_MACRO=y
UCLIBC_HAS_STDIO_PUTC_MACRO=y
UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
UCLIBC_HAS_PRINTF_M_SPEC=y
# UCLIBC_HAS_REGEX_OLD is not set
# UCLIBC_HAS_FNMATCH_OLD is not set
UCLIBC_HAS_NFTW=y
UCLIBC_HAS_FTW=y
UCLIBC_HAS_GNU_GLOB=y
RUNTIME_PREFIX="/"
DEVEL_PREFIX="/usr/"
UCLIBC_HAS_SSP=y
UCLIBC_BUILD_NOW=y
# DOSTRIP is not set
@@ -1,12 +1,12 @@
#
# Automatically generated make config: don't edit
# Version: 0.9.33.2
# Fri Sep 5 12:29:57 2014
# Version: 0.9.32-git
# Fri Jul 9 22:31:59 2010
#
# TARGET_alpha is not set
TARGET_arm=y

# TARGET_c6x 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
Expand All @@ -28,39 +28,61 @@ TARGET_arm=y
# TARGET_vax is not set
# TARGET_x86_64 is not set
# TARGET_xtensa is not set
# TARGET_c6x is not set

# CONFIG_GENERIC_ARM is not set
# CONFIG_ARM610 is not set
# CONFIG_ARM710 is not set
# CONFIG_ARM7TDMI is not set
# CONFIG_ARM720T is not set
# CONFIG_ARM920T is not set
# CONFIG_ARM922T is not set
# CONFIG_ARM926T is not set
# CONFIG_ARM10T is not set
# CONFIG_ARM1136JF_S is not set
# CONFIG_ARM1176JZ_S is not set
# CONFIG_ARM1176JZF_S is not set
# CONFIG_ARM_CORTEX_M3 is not set
# CONFIG_ARM_CORTEX_M1 is not set
# CONFIG_ARM_SA110 is not set
# CONFIG_ARM_SA1100 is not set
# CONFIG_ARM_XSCALE is not set
# CONFIG_ARM_IWMMXT is not set

# COMPILE_IN_THUMB_MODE is not set
USE_BX=y

TARGET_SUBARCH=""
#
# Target Architecture Features and Options
#
TARGET_ARCH="arm"
TARGET_ARCH="none"
FORCE_OPTIONS_FOR_ARCH=y
CONFIG_ARM_EABI=y
# COMPILE_IN_THUMB_MODE is not set
USE_BX=y
TARGET_SUBARCH=""

#
# Using ELF file format
#
ARCH_ANY_ENDIAN=y
ARCH_LITTLE_ENDIAN=y
# ARCH_LITTLE_ENDIAN is not set
# ARCH_BIG_ENDIAN is not set
# ARCH_WANTS_LITTLE_ENDIAN is not set
# ARCH_WANTS_BIG_ENDIAN is not set
ARCH_WANTS_LITTLE_ENDIAN=y
ARCH_HAS_MMU=y
ARCH_USE_MMU=y
UCLIBC_HAS_FLOATS=y
UCLIBC_HAS_FPU=y
DO_C99_MATH=y
# DO_XSI_MATH is not set
# UCLIBC_HAS_FENV is not set
KERNEL_HEADERS="/usr/include"
UCLIBC_HAS_LONG_DOUBLE_MATH=y
KERNEL_HEADERS="/usr/src/linux/include"
HAVE_DOT_CONFIG=y

#
# General Library Settings
#
# HAVE_NO_PIC is not set
DOPIC=y
HAVE_SHARED=y
# ARCH_HAS_NO_SHARED is not set
# ARCH_HAS_NO_LDSO is not set
# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
LDSO_LDD_SUPPORT=y
# LDSO_CACHE_SUPPORT is not set
Expand All @@ -76,12 +98,11 @@ LDSO_LD_LIBRARY_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_OLD=y
# LINUXTHREADS_NEW is not set
UCLIBC_HAS_THREADS_NATIVE=y
# UCLIBC_HAS_THREADS_NATIVE is not set
UCLIBC_HAS_THREADS=y
UCLIBC_HAS_TLS=y
PTHREADS_DEBUG_SUPPORT=y
# PTHREADS_DEBUG_SUPPORT is not set
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
Expand Down Expand Up @@ -143,6 +164,8 @@ UCLIBC_HAS_SOCKET=y
UCLIBC_HAS_IPV4=y
# UCLIBC_HAS_IPV6 is not set
# UCLIBC_HAS_RPC is not set
# UCLIBC_HAS_FULL_RPC is not set
# UCLIBC_HAS_REENTRANT_RPC is not set
UCLIBC_USE_NETLINK=y
UCLIBC_SUPPORT_AI_ADDRCONFIG=y
# UCLIBC_HAS_BSD_RES_CLOSE is not set
Expand All @@ -155,7 +178,7 @@ UCLIBC_HAS_LIBNSL_STUB=y
#
# String and Stdio Support
#
# UCLIBC_HAS_STRING_GENERIC_OPT is not set
UCLIBC_HAS_STRING_GENERIC_OPT=y
UCLIBC_HAS_STRING_ARCH_OPT=y
UCLIBC_HAS_CTYPE_TABLES=y
UCLIBC_HAS_CTYPE_SIGNED=y
Expand All @@ -165,6 +188,7 @@ UCLIBC_HAS_CTYPE_CHECKED=y
# UCLIBC_HAS_WCHAR is not set
# UCLIBC_HAS_LOCALE is not set
UCLIBC_HAS_HEXADECIMAL_FLOATS=y
# UCLIBC_HAS_GLIBC_DIGIT_GROUPING is not set
UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
# USE_OLD_VFPRINTF is not set
UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
Expand All @@ -180,8 +204,8 @@ 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 is not set
# UCLIBC_HAS_STDIO_PUTC_MACRO 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
Expand All @@ -193,8 +217,7 @@ UCLIBC_HAS_ERRNO_MESSAGES=y
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 is not set
UCLIBC_HAS_GNU_GETSUBOPT=y

#
# Big and Tall
Expand Down Expand Up @@ -224,6 +247,7 @@ HARDWIRED_ABSPATH=y
#
# UCLIBC_BUILD_PIE is not set
# UCLIBC_HAS_ARC4RANDOM is not set
# HAVE_NO_SSP is not set
UCLIBC_HAS_SSP=y
# UCLIBC_HAS_SSP_COMPAT is not set
# SSP_QUICK_CANARY is not set
Expand All @@ -235,11 +259,12 @@ UCLIBC_BUILD_NOW=y
UCLIBC_BUILD_NOEXECSTACK=y

#
# Development/debugging options
# uClibc development/debugging options
#
CROSS_COMPILER_PREFIX=""
UCLIBC_EXTRA_CFLAGS=""
# DODEBUG is not set
# DODEBUG_PT is not set
# DOSTRIP is not set
# DOASSERTS is not set
# SUPPORT_LD_DEBUG is not set
Expand Down
File renamed without changes.
File renamed without changes.
15 changes: 15 additions & 0 deletions patches/gcc/4.8.5/100-uclibc-conf.patch
@@ -0,0 +1,15 @@
Index: gcc-4.8.0/contrib/regression/objs-gcc.sh
===================================================================
--- gcc-4.8.0.orig/contrib/regression/objs-gcc.sh 2009-04-09 17:00:19.000000000 +0200
+++ gcc-4.8.0/contrib/regression/objs-gcc.sh 2013-03-23 17:39:04.000000000 +0100
@@ -106,6 +106,10 @@
then
make all-gdb all-dejagnu all-ld || exit 1
make install-gdb install-dejagnu install-ld || exit 1
+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
+ then
+ make all-gdb all-dejagnu all-ld || exit 1
+ make install-gdb install-dejagnu install-ld || exit 1
elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
make bootstrap || exit 1
make install || exit 1

0 comments on commit 377493f

Please sign in to comment.