summaryrefslogtreecommitdiff
path: root/toolchain/uclibc-ng
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/uclibc-ng')
-rw-r--r--toolchain/uclibc-ng/Makefile33
-rw-r--r--toolchain/uclibc-ng/Makefile.inc12
-rw-r--r--toolchain/uclibc-ng/patches/1.0.50/warn-instead-of-error.patch10
3 files changed, 44 insertions, 11 deletions
diff --git a/toolchain/uclibc-ng/Makefile b/toolchain/uclibc-ng/Makefile
index e07ab8ece..05ecb61bf 100644
--- a/toolchain/uclibc-ng/Makefile
+++ b/toolchain/uclibc-ng/Makefile
@@ -50,8 +50,13 @@ UCLIBC_MAKEOPTS+= -j${ADK_MAKE_JOBS}
endif
$(WRKBUILD)/.configured: $(WRKBUILD)/.prepared
+ifeq ($(ADK_TARGET_WITH_MMU),y)
PATH='$(HOST_PATH)' sed -e 's^KERNEL_HEADERS.*$$KERNEL_HEADERS=\"${STAGING_TARGET_DIR}/usr/include\"' \
$(ADK_TOPDIR)/target/$(ADK_TARGET_ARCH)/uclibc-ng.config >${WRKBUILD}/.config
+else
+ PATH='$(HOST_PATH)' sed -e 's^KERNEL_HEADERS.*$$KERNEL_HEADERS=\"${STAGING_TARGET_DIR}/usr/include\"' \
+ $(ADK_TOPDIR)/target/$(ADK_TARGET_ARCH)/uclibc-ng-nommu.config >${WRKBUILD}/.config
+endif
$(SED) 's^.*\(CROSS_COMPILER_PREFIX\).*^\1=\"$(TARGET_CROSS)\"^' ${WRKBUILD}/.config
ifeq ($(ADK_TARGET_ENDIAN),little)
$(SED) 's/.*\(ARCH_LITTLE_ENDIAN\).*/\1=y/' ${WRKBUILD}/.config
@@ -66,6 +71,7 @@ else
endif
ifeq ($(ADK_TARGET_SOFT_FLOAT),y)
$(SED) 's/.*\(UCLIBC_HAS_FPU\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(UCLIBC_HAS_FENV\).*/# \1 is not set/' ${WRKBUILD}/.config
$(SED) 's/.*\(UCLIBC_HAS_SOFT_FLOAT\).*/#\1=y/' ${WRKBUILD}/.config
endif
ifeq ($(ADK_TARGET_HARD_FLOAT),y)
@@ -80,8 +86,16 @@ ifeq ($(ADK_TARGET_HARD_FLOAT_DP),y)
$(SED) 's/.*\(UCLIBC_HAS_FPU\).*/\1=y/' ${WRKBUILD}/.config
$(SED) 's/.*\(UCLIBC_HAS_SOFT_FLOAT\).*/# \1 is not set/' ${WRKBUILD}/.config
endif
+ifeq ($(ADK_TARGET_BINFMT_ELF),y)
+ $(SED) 's/.*\(UCLIBC_FORMAT_ELF\).*/\1=y/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(UCLIBC_FORMAT_FDPIC_ELF\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(UCLIBC_FORMAT_FLAT\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(UCLIBC_FORMAT_FLAT_SEP_DATA\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(UCLIBC_FORMAT_SHARED_FLAT\).*/# \1 is not set/' ${WRKBUILD}/.config
+endif
ifeq ($(ADK_TARGET_BINFMT_FDPIC),y)
$(SED) 's/.*\(UCLIBC_FORMAT_FDPIC_ELF\).*/\1=y/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(UCLIBC_FORMAT_ELF\).*/# \1 is not set/' ${WRKBUILD}/.config
$(SED) 's/.*\(UCLIBC_FORMAT_FLAT\).*/# \1 is not set/' ${WRKBUILD}/.config
$(SED) 's/.*\(UCLIBC_FORMAT_FLAT_SEP_DATA\).*/# \1 is not set/' ${WRKBUILD}/.config
$(SED) 's/.*\(UCLIBC_FORMAT_SHARED_FLAT\).*/# \1 is not set/' ${WRKBUILD}/.config
@@ -174,12 +188,19 @@ endif
# arc
ifeq ($(ADK_TARGET_ARCH_ARC),y)
ifeq ($(ADK_TARGET_CPU_ARC_ARC700),y)
- $(SED) 's/.*\(CONFIG_ARC_CPU_HS\).*/# \1 is not set/' ${WRKBUILD}/.config
- $(SED) 's/.*\(CONFIG_ARC_CPU_700\).*/\1=y/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_ARC_PAGE_SIZE_16K\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_ARC_PAGE_SIZE_4K\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_ARC_PAGE_SIZE_8K\).*/\1=y/' ${WRKBUILD}/.config
+endif
+ifeq ($(ADK_TARGET_CPU_ARC_ARCHS),y)
+ $(SED) 's/.*\(CONFIG_ARC_PAGE_SIZE_16K\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_ARC_PAGE_SIZE_4K\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_ARC_PAGE_SIZE_8K\).*/\1=y/' ${WRKBUILD}/.config
endif
-ifeq ($(ADK_TARGET_CPU_ARC_ARC_HS),y)
- $(SED) 's/.*\(CONFIG_ARC_CPU_700\).*/# \1 is not set/' ${WRKBUILD}/.config
- $(SED) 's/.*\(CONFIG_ARC_CPU_HS\).*/\1=y/' ${WRKBUILD}/.config
+ifeq ($(ADK_TARGET_CPU_ARC_ARC32),y)
+ $(SED) 's/.*\(CONFIG_ARC_PAGE_SIZE_16K\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_ARC_PAGE_SIZE_8K\).*/# \1 is not set/' ${WRKBUILD}/.config
+ $(SED) 's/.*\(CONFIG_ARC_PAGE_SIZE_4K\).*/\1=y/' ${WRKBUILD}/.config
endif
endif
@@ -368,6 +389,8 @@ $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
UCLIBC_EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \
VERBOSE=1 \
install_runtime install_dev
+ ln -f ${STAGING_TARGET_DIR}/usr/lib/crt1.o \
+ ${STAGING_TARGET_DIR}/usr/lib/Scrt1.o
ifeq ($(ADK_TARGET_LIBC_UTILS),y)
PATH='$(HOST_PATH)' $(MAKE) -C $(WRKBUILD) \
ARCH="$(ADK_TARGET_ARCH)" \
diff --git a/toolchain/uclibc-ng/Makefile.inc b/toolchain/uclibc-ng/Makefile.inc
index 133f44ddd..cff7d83f6 100644
--- a/toolchain/uclibc-ng/Makefile.inc
+++ b/toolchain/uclibc-ng/Makefile.inc
@@ -5,12 +5,12 @@ PKG_NAME:= uClibc-ng
ifeq ($(ADK_LIBC_VERSION),git)
PKG_VERSION:= git
PKG_RELEASE:= 1
-PKG_SITES:= git://uclibc-ng.org/git/uclibc-ng
+PKG_SITES:= https://git.uclibc-ng.org/git/uclibc-ng.git
endif
-ifeq ($(ADK_TARGET_LIB_UCLIBC_NG_1_0_33),y)
-PKG_VERSION:= 1.0.33
+ifeq ($(ADK_TARGET_LIB_UCLIBC_NG_1_0_52),y)
+PKG_VERSION:= 1.0.52
PKG_RELEASE:= 1
-PKG_SITES:= http://downloads.uclibc-ng.org/releases/1.0.33/
-PKG_HASH:= aa7c361fddddf90b40a90e04431e607e2da21a5e8e2840a6db9ffd0c89d03e0d
+PKG_SITES:= http://downloads.uclibc-ng.org/releases/1.0.52/
+PKG_HASH:= 8c70b76f11d78c6b3b1608d74016387d292c35793efec820a377c74dfc850dad
endif
-DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.xz
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
diff --git a/toolchain/uclibc-ng/patches/1.0.50/warn-instead-of-error.patch b/toolchain/uclibc-ng/patches/1.0.50/warn-instead-of-error.patch
new file mode 100644
index 000000000..09877c29e
--- /dev/null
+++ b/toolchain/uclibc-ng/patches/1.0.50/warn-instead-of-error.patch
@@ -0,0 +1,10 @@
+diff -Nur uClibc-ng-1.0.50.orig/libc/sysdeps/linux/common/clock_adjtime.c uClibc-ng-1.0.50/libc/sysdeps/linux/common/clock_adjtime.c
+--- uClibc-ng-1.0.50.orig/libc/sysdeps/linux/common/clock_adjtime.c 2024-08-13 04:08:05.000000000 +0200
++++ uClibc-ng-1.0.50/libc/sysdeps/linux/common/clock_adjtime.c 2024-12-14 11:28:37.188207576 +0100
+@@ -15,5 +15,5 @@
+ #elif defined(__NR_clock_adjtime)
+ _syscall2(int, clock_adjtime, clockid_t, clock_id, struct timex*, ntx)
+ #else
+-#error "clock_adjtime syscall is not defined!"
++#warning "clock_adjtime syscall is not defined!"
+ #endif