kconfig-frontends and uclibc updated for systemd
cover kconfig-frontends and uclibc updated for systemd
This patch consolidates the feedback on kconfig-frontends Adds additional patches needed for systemd to work with uclibc Fixes uclibc and other userspace recipes to work with gold linker
The following changes since commit f4b5afe46ff018570c1949653eb6995428827f6f:
sanity.bbclass: Increase LAYER_CONF_VERSION to match bblayers change (2012-06-25 17:20:06 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib kraj/misc-updates
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/misc-updates
Khem Raj (7):
kconfig-frontends: New recipe
tclibc-eglibc.inc: Define USE_NLS
uclibc: Separate the bits between uclibc and uclibc-initial
uclibc-git: Update for building systemd uclibc-0.9.33: add posix_fallocate implementation
bison: link in librt on uclibc
glib-2.0: Add missing dependency on virtual/libiconv
meta/conf/distro/include/tclibc-eglibc.inc | 2 + meta/recipes-core/glib-2.0/glib-2.0_2.32.3.bb | 2 +- meta/recipes-core/glib-2.0/glib.inc | 2 +- meta/recipes-core/uclibc/uclibc-0.9.33.inc | 22 ++ .../uclibc/uclibc-0.9.33/posix_fallocate.patch | 408 ++++++++++++++++++++ meta/recipes-core/uclibc/uclibc-git.inc | 29 ++ ...1-atexit_old-Do-not-add-it-to-shared-libc.patch | 44 +++ ...brt-Use-nodefaultlibs-instead-of-nostdlib.patch | 33 ++ ...-Move-aeabi_read_tp-to-uclibc_nonshared.a.patch | 31 ++ ...rk-Hide-pthread_atfork-in-shared-versions.patch | 74 ++++ .../uclibc-git/define-MSG_CMSG_CLOEXEC.patch | 25 ++ meta/recipes-core/uclibc/uclibc-git/dup3.patch | 37 ++ .../uclibc/uclibc-git/posix_fallocate.patch | 408 ++++++++++++++++++++ meta/recipes-core/uclibc/uclibc-initial_0.9.33.bb | 3 +- meta/recipes-core/uclibc/uclibc-initial_git.bb | 3 +- meta/recipes-core/uclibc/uclibc-package.inc | 37 ++ meta/recipes-core/uclibc/uclibc.inc | 59 +-- meta/recipes-core/uclibc/uclibc_0.9.33.bb | 33 +- meta/recipes-core/uclibc/uclibc_git.bb | 33 +- meta/recipes-devtools/bison/bison_2.5.bb | 1 + .../kconfig-frontends/kconfig-frontends_3.4.bb | 34 ++ 21 files changed, 1221 insertions(+), 99 deletions(-) create mode 100644 meta/recipes-core/uclibc/uclibc-0.9.33.inc create mode 100644 meta/recipes-core/uclibc/uclibc-0.9.33/posix_fallocate.patch create mode 100644 meta/recipes-core/uclibc/uclibc-git.inc create mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-atexit_old-Do-not-add-it-to-shared-libc.patch create mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-librt-Use-nodefaultlibs-instead-of-nostdlib.patch create mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-nptl-arm-Move-aeabi_read_tp-to-uclibc_nonshared.a.patch create mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch create mode 100644 meta/recipes-core/uclibc/uclibc-git/define-MSG_CMSG_CLOEXEC.patch create mode 100644 meta/recipes-core/uclibc/uclibc-git/dup3.patch create mode 100644 meta/recipes-core/uclibc/uclibc-git/posix_fallocate.patch create mode 100644 meta/recipes-core/uclibc/uclibc-package.inc create mode 100644 meta/recipes-devtools/kconfig-frontends/kconfig-frontends_3.4.bb
Signature · 1 line
1.7.9.5
PATCH 1/7 kconfig-frontends: New recipe
kconfig-frontends provides the kconfig infrastructure thats used for linux kernel as a standalone package. Its not intended to be used for kernel itself but can be used by packages who are based on kconfig e.g. busybox uclibc or new packages who wants to use kconfig infra for the package build
kconfig-frontends names it's shared library as -3.4.0.so instead of .so.3.4.0, this causes the -dev package to grab it since it matches on *.so. This error would also have shown up with the old PACKAGE order.
--- .../kconfig-frontends/kconfig-frontends_3.4.bb | 34 ++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 meta/recipes-devtools/kconfig-frontends/kconfig-frontends_3.4.bb
meta/recipes-devtools/kconfig-frontends/kconfig-frontends_3.4.bb new file +34 -0
@@ -0,0 +1,34 @@ +# Copyright (C) 2012 Khem Raj <[email protected]> +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "The kconfig-frontends project aims at centralising \ +the effort of keeping an up-to-date, out-of-tree, packaging of the \ +kconfig infrastructure, ready for use by third-party projects. \ +The kconfig-frontends package provides the kconfig parser, as well as all \ +the frontends" +HOMEPAGE = "http://ymorin.is-a-geek.org/projects/kconfig-frontends" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=9b8cf60ff39767ff04b671fca8302408" +SECTION = "devel" +DEPENDS += "ncurses flex bison gperf" +PR = "r0" +PV = "3.4.0" +SPIN = "0" +SRC_URI = "http://ymorin.is-a-geek.org/download/${BPN}/${BPN}-${PV}-${SPIN}.tar.xz" +SRC_URI[md5sum] = "7eed0faf5a41d6dd0b2a886a440a972d" +SRC_URI[sha256sum] = "638006f3d1aefefdc1db3030a15b562cf3c89f2028b1cea0bf0f0629708802f2" + +S = "${WORKDIR}/${BPN}-${PV}-${SPIN}" + +inherit autotools +do_configure_prepend () { + mkdir -p scripts/.autostuff/m4 +} +EXTRA_OECONF += "--disable-gconf --disable-qconf" + +# Some packages have the version preceeding the .so instead properly +# versioned .so.<version>, so we need to reorder and repackage. +SOLIBS = "-${PV}.so" +FILES_SOLIBSDEV = "${libdir}/libkconfig-parser.so" + +BBCLASSEXTEND = "native"
Signature · 1 line
1.7.9.5
PATCH 2/7 tclibc-eglibc.inc: Define USE_NLS
USE_NLS is generally defined for uclibc based system builds and generally its defined to 'no' there. However this variable does not exist at all for eglibc/glibc distributions. This patch adds a weak definition to 'yes' on eglibc based system builds. This will ease out some of the cryptic contructs we have to define certain options based on USE_NLS and also checking got uclibc at the same time to avoid pythong exceptions when its not defined.
--- meta/conf/distro/include/tclibc-eglibc.inc | 2 ++ 1 file changed, 2 insertions(+)
meta/conf/distro/include/tclibc-eglibc.inc +2 -0
@@ -32,6 +32,8 @@ LIBC_LOCALE_DEPENDENCIES = "\ eglibc-gconv-iso8859-1 \ eglibc-gconv-iso8859-15" +USE_NLS ?= "yes" + def get_libc_locales_dependencies(d): if 'libc-locales' in (d.getVar('DISTRO_FEATURES', True) or '').split() : return d.getVar('LIBC_LOCALE_DEPENDENCIES', True) or ''
Signature · 1 line
1.7.9.5
Re: [PATCH 2/7] tclibc-eglibc.inc: Define USE_NLS
Quoted 19 lines · Khem Raj
USE_NLSis generally defined for uclibc based system builds and generally its defined to 'no' there. However this variable does not exist at all for eglibc/glibc distributions. This patch adds a weak definition to 'yes' on eglibc based system builds. This will ease out some of the cryptic contructs we have to define certain options based onUSE_NLSand also checking got uclibc at the same time to avoid pythong exceptions when its not defined.Signed-off-by Khem Raj <[email protected]>--- meta/conf/distro/include/tclibc-eglibc.inc | 2 ++ 1 file changed, 2 insertions(+)meta/conf/distro/include/tclibc-eglibc.inc +0
-0
meta/conf/distro/include/tclibc-eglibc.inc LIBC_LOCALE_DEPENDENCIES = "\ · line 39
Quoted 8 lines
meta/conf/distro/include/tclibc-eglibc.inc +2
-0@@ -32,6 +32,8 @@ LIBC_LOCALE_DEPENDENCIES = "\ eglibc-gconv-iso8859-1 \ eglibc-gconv-iso8859-15" +USE_NLS ?= "yes" + def get_libc_locales_dependencies(d): if 'libc-locales' in (d.getVar('DISTRO_FEATURES', True) or '').split() : return d.getVar('LIBC_LOCALE_DEPENDENCIES', True) or ''
Shouldn't this go as a weak default in bitbake.conf?
USE_NLS ??= "yes"
Cheers,
Richard
Re: [PATCH 2/7] tclibc-eglibc.inc: Define USE_NLS
Quoted 10 lines · Richard Purdie
Quoted 9 lines · Khem Raj
USE_NLSis generally defined for uclibc based system builds and generally its defined to 'no' there. However this variable does not exist at all for eglibc/glibc distributions. This patch adds a weak definition to 'yes' on eglibc based system builds. This will ease out some of the cryptic contructs we have to define certain options based onUSE_NLSand also checking got uclibc at the same time to avoid pythong exceptions when its not defined.
Quoted 6 lines
Review
Quoted 6 lines
Signed-off-by Khem Raj <[email protected]>--- meta/conf/distro/include/tclibc-eglibc.inc | 2 ++ 1 file changed, 2 insertions(+)(quoted diff) +0
-0
b/meta/conf/distro/include/tclibc-eglibc.inc
Quoted 11 lines
meta/conf/distro/include/tclibc-eglibc.inc LIBC_LOCALE_DEPENDENCIES = "\ · line 38
Quoted 11 lines
index 4f5607f..e2ca4e8 100644
meta/conf/distro/include/tclibc-eglibc.inc +2
-0@@ -32,6 +32,8 @@ LIBC_LOCALE_DEPENDENCIES = "\ eglibc-gconv-iso8859-1 \ eglibc-gconv-iso8859-15" +USE_NLS ?= "yes" + def get_libc_locales_dependencies(d): if 'libc-locales' in (d.getVar('DISTRO_FEATURES', True) or
'').split() :
Quoted 6 lines
meta/conf/distro/include/tclibc-eglibc.inc LIBC_LOCALE_DEPENDENCIES = "\ · line 39
Quoted 1 line
meta/conf/distro/include/tclibc-eglibc.inc +0
-0return d.getVar('LIBC_LOCALE_DEPENDENCIES', True) or ''Shouldn't this go as a weak default in bitbake.conf?
USE_NLS??= "yes"
I think that would be better I will try that out and update
Quoted 10 lines
Cheers,
Richard
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
PATCH 3/7 uclibc: Separate the bits between uclibc and uclibc-initial
In reply to Khem Rajuclibc and uclibc-initial were providing conflicting PROVIDES separate the common bits into logical pieces. Create a common inc file to hold package information and version specific includes so correct logical units can be included in uclibc and uclibc-initial recipes.
--- meta/recipes-core/uclibc/uclibc-0.9.33.inc | 21 ++++ meta/recipes-core/uclibc/uclibc-git.inc | 23 +++++ .../uclibc/uclibc-git/utmp-locking.patch | 106 ++++++++++++++++++++ meta/recipes-core/uclibc/uclibc-initial_0.9.33.bb | 3 +- meta/recipes-core/uclibc/uclibc-initial_git.bb | 3 +- meta/recipes-core/uclibc/uclibc-package.inc | 37 +++++++ meta/recipes-core/uclibc/uclibc.inc | 59 +---------- meta/recipes-core/uclibc/uclibc_0.9.33.bb | 33 +++--- meta/recipes-core/uclibc/uclibc_git.bb | 33 +++--- 9 files changed, 221 insertions(+), 97 deletions(-) create mode 100644 meta/recipes-core/uclibc/uclibc-0.9.33.inc create mode 100644 meta/recipes-core/uclibc/uclibc-git.inc create mode 100644 meta/recipes-core/uclibc/uclibc-git/utmp-locking.patch create mode 100644 meta/recipes-core/uclibc/uclibc-package.inc
meta/recipes-core/uclibc/uclibc-0.9.33.inc new file +21 -0
@@ -0,0 +1,21 @@ +SRCREV="7810e4f8027b5c4c8ceec6fefec4eb779362ebb5" + +PR = "${INC_PR}.2" + +SRC_URI = "git://uclibc.org/uClibc.git;branch=${PV};protocol=git \ + file://uClibc.machine \ + file://uClibc.distro \ + file://uclibc_enable_log2_test.patch \ + file://ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch \ + file://powerpc_copysignl.patch \ + file://argp-support.patch \ + file://argp-headers.patch \ + file://remove_attribute_optimize_Os.patch \ + file://compile-arm-fork-with-O2.patch \ + file://uclibc-execvpe.patch \ + file://orign_path.patch \ + file://dup3.patch \ + file://define-MSG_CMSG_CLOEXEC.patch \ + " + +S = "${WORKDIR}/git"
meta/recipes-core/uclibc/uclibc-git.inc new file +23 -0
@@ -0,0 +1,23 @@ +SRCREV="0dcc13bf7a61b1d0708e5dd103d5515e0ffec79a" + +DEFAULT_PREFERENCE = "-1" + +PV = "0.9.33+git${SRCPV}" +PR = "${INC_PR}.1" + +FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-git' ], d)}" + +SRC_URI = "git://uclibc.org/uClibc.git;branch=master;protocol=git \ + file://uClibc.machine \ + file://uClibc.distro \ + file://uclibc_enable_log2_test.patch \ + file://powerpc_copysignl.patch \ + file://argp-support.patch \ + file://argp-headers.patch \ + file://remove_attribute_optimize_Os.patch \ + file://compile-arm-fork-with-O2.patch \ + file://uclibc-execvpe.patch \ + file://orign_path.patch \ + " + +S = "${WORKDIR}/git"
meta/recipes-core/uclibc/uclibc-git/utmp-locking.patch new file +106 -0
106 lines not on this page · raw message
meta/recipes-core/uclibc/uclibc-initial_0.9.33.bb +2 -1
@@ -1,5 +1,6 @@ SECTION = "base" -require uclibc_${PV}.bb +require uclibc.inc +require uclibc-${PV}.inc DEPENDS = "linux-libc-headers ncurses-native virtual/${TARGET_PREFIX}gcc-initial" PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
meta/recipes-core/uclibc/uclibc-initial_git.bb +2 -1
@@ -1,5 +1,6 @@ SECTION = "base" -require uclibc_git.bb +require uclibc.inc +require uclibc-git.inc DEPENDS = "linux-libc-headers ncurses-native virtual/${TARGET_PREFIX}gcc-initial" PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
meta/recipes-core/uclibc/uclibc-package.inc new file +37 -0
@@ -0,0 +1,37 @@ +# Ensure the uclibc-dev package is processed before uclibc-staticdev to allow +# *_nonshared.a libraries to be packaged in the uclibc-dev package. +PACKAGES = "ldd uclibc-utils-dbg uclibc-utils uclibc-gconv uclibc-thread-db uclibc-argp uclibc-backtrace uclibc-libcrypt uclibc-libintl uclibc-libnsl uclibc-libresolv uclibc-libm uclibc-libdl uclibc-libutil uclibc-libpthread uclibc-librt ${PN}-dbg ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}" + +FILES_uclibc-libcrypt = "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so" +FILES_uclibc-libintl = "${base_libdir}/libintl*.so.* ${base_libdir}/libintl-*.so" +FILES_uclibc-libnsl = "${base_libdir}/libnsl*.so.* ${base_libdir}/libnsl-*.so" +FILES_uclibc-libresolv = "${base_libdir}/libresolv*.so.* ${base_libdir}/libresolv-*.so" +FILES_uclibc-libm = "${base_libdir}/libm*.so.* ${base_libdir}/libm-*.so" +FILES_uclibc-libdl = "${base_libdir}/libdl*.so.* ${base_libdir}/libdl-*.so" +FILES_uclibc-libutil = "${base_libdir}/libutil*.so.* ${base_libdir}/libutil-*.so" +FILES_uclibc-libpthread = "${base_libdir}/libpthread*.so.* ${base_libdir}/libpthread-*.so" +FILES_uclibc-librt = "${base_libdir}/librt*.so.* ${base_libdir}/librt-*.so" + +FILES_ldd = "${bindir}/ldd" +FILES_uclibc-utils = "${bindir} ${sbindir}" +FILES_uclibc-utils-dbg += "${bindir}/.debug ${sbindir}/.debug" +FILES_uclibc-gconv = "${libdir}/gconv" +FILES_uclibc-thread-db = "${base_libdir}/libthread_db*" +FILES_uclibc-argp = "${base_libdir}/libuargp-*.so ${base_libdir}/libuargp*.so.*" +FILES_uclibc-backtrace = "${base_libdir}/libubacktrace-*.so ${base_libdir}/libubacktrace*.so.*" + +# The last line (gdb and lib1) is for uclinux-uclibc builds +uclibc_baselibs = "${base_libdir}/ld*.so.* ${base_libdir}/ld*.so \ + ${base_libdir}/libc*.so.* ${base_libdir}/libuClibc-*.so \ + ${libdir}/libc.gdb ${libdir}/libc ${base_libdir}/lib1.so \ + " +FILES_SOLIBSDEV = "${libdir}/lib*${SOLIBSDEV}" +FILES_${PN}-dev += "\ + ${libdir}/lib*.so \ + ${libdir}/*_nonshared.a \ + ${libdir}/[S]*crt[1in].o \ + ${libdir}/crtreloc*.o \ + ${includedir}/*.h ${includedir}/*/*.h \ + " +FILES_${PN} = "${sysconfdir} ${uclibc_baselibs} /sbin/ldconfig \ + ${libexecdir} ${datadir}/zoneinfo ${libdir}/locale"
meta/recipes-core/uclibc/uclibc.inc +1 -58
74 lines not on this page · raw message
meta/recipes-core/uclibc/uclibc_0.9.33.bb +15 -18
@@ -1,24 +1,21 @@ SRCREV="7810e4f8027b5c4c8ceec6fefec4eb779362ebb5" require uclibc.inc +require uclibc-package.inc +require uclibc-${PV}.inc -PR = "${INC_PR}.2" -PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc" +STAGINGCC = "gcc-cross-intermediate" +STAGINGCC_virtclass-nativesdk = "gcc-crosssdk-intermediate" -SRC_URI = "git://uclibc.org/uClibc.git;branch=${PV};protocol=git \ - file://uClibc.machine \ - file://uClibc.distro \ - file://uclibc_enable_log2_test.patch \ - file://ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch \ - file://powerpc_copysignl.patch \ - file://argp-support.patch \ - file://argp-headers.patch \ - file://remove_attribute_optimize_Os.patch \ - file://compile-arm-fork-with-O2.patch \ - file://uclibc-execvpe.patch \ - file://orign_path.patch \ - file://dup3.patch \ - file://define-MSG_CMSG_CLOEXEC.patch \ - " +DEPENDS = "virtual/${TARGET_PREFIX}binutils \ + virtual/${TARGET_PREFIX}gcc-intermediate \ + linux-libc-headers ncurses-native" -S = "${WORKDIR}/git" +PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc" +RDEPENDS_${PN}-dev = "linux-libc-headers-dev" +RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev" +# uclibc does not really have libsegfault but then using the one from glibc is also not +# going to work. So we pretend that we have it to make bitbake not pull other recipes +# to satisfy this dependency for the images/tasks + +RPROVIDES_${PN} += "libsegfault rtld(GNU_HASH)"
meta/recipes-core/uclibc/uclibc_git.bb +14 -19
@@ -1,27 +1,22 @@ SRCREV="0dcc13bf7a61b1d0708e5dd103d5515e0ffec79a" require uclibc.inc +require uclibc-package.inc +require uclibc-git.inc -# We prefer a release version so DP -1 for this -DEFAULT_PREFERENCE = "-1" +STAGINGCC = "gcc-cross-intermediate" +STAGINGCC_virtclass-nativesdk = "gcc-crosssdk-intermediate" -PV = "0.9.33+git${SRCPV}" -PR = "${INC_PR}.1" -PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc" +PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc" -FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-git' ], d)}" +DEPENDS = "virtual/${TARGET_PREFIX}binutils \ + virtual/${TARGET_PREFIX}gcc-intermediate \ + linux-libc-headers ncurses-native" -SRC_URI = "git://uclibc.org/uClibc.git;branch=master;protocol=git \ - file://uClibc.machine \ - file://uClibc.distro \ - file://uclibc_enable_log2_test.patch \ - file://powerpc_copysignl.patch \ - file://argp-support.patch \ - file://argp-headers.patch \ - file://remove_attribute_optimize_Os.patch \ - file://compile-arm-fork-with-O2.patch \ - file://uclibc-execvpe.patch \ - file://orign_path.patch \ - " +RDEPENDS_${PN}-dev = "linux-libc-headers-dev" +RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev" +# uclibc does not really have libsegfault but then using the one from glibc is also not +# going to work. So we pretend that we have it to make bitbake not pull other recipes +# to satisfy this dependency for the images/tasks -S = "${WORKDIR}/git" +RPROVIDES_${PN} += "libsegfault rtld(GNU_HASH)"
Signature · 1 line
1.7.9.5
PATCH 4/7 uclibc-git: Update for building systemd
In reply to Khem RajThis adds uclibc patches to build systemd there are new functions that are used by systemd which are needed
Additionally when using gold linker to build userspace based on uclibc there are spurious hidden symbol that show up in librt.so and libc.so which should not exist
So we patch uclibc for that
--- meta/recipes-core/uclibc/uclibc-git.inc | 10 +- ...1-atexit_old-Do-not-add-it-to-shared-libc.patch | 44 +++ ...brt-Use-nodefaultlibs-instead-of-nostdlib.patch | 33 ++ ...-Move-aeabi_read_tp-to-uclibc_nonshared.a.patch | 31 ++ ...rk-Hide-pthread_atfork-in-shared-versions.patch | 74 ++++ .../uclibc-git/define-MSG_CMSG_CLOEXEC.patch | 25 ++ meta/recipes-core/uclibc/uclibc-git/dup3.patch | 37 ++ .../uclibc/uclibc-git/posix_fallocate.patch | 408 ++++++++++++++++++++ .../uclibc/uclibc-git/utmp-locking.patch | 106 ----- 9 files changed, 660 insertions(+), 108 deletions(-) create mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-atexit_old-Do-not-add-it-to-shared-libc.patch create mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-librt-Use-nodefaultlibs-instead-of-nostdlib.patch create mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-nptl-arm-Move-aeabi_read_tp-to-uclibc_nonshared.a.patch create mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch create mode 100644 meta/recipes-core/uclibc/uclibc-git/define-MSG_CMSG_CLOEXEC.patch create mode 100644 meta/recipes-core/uclibc/uclibc-git/dup3.patch create mode 100644 meta/recipes-core/uclibc/uclibc-git/posix_fallocate.patch delete mode 100644 meta/recipes-core/uclibc/uclibc-git/utmp-locking.patch
meta/recipes-core/uclibc/uclibc-git.inc +8 -2
@@ -3,7 +3,7 @@ SRCREV="0dcc13bf7a61b1d0708e5dd103d5515e0ffec79a" DEFAULT_PREFERENCE = "-1" PV = "0.9.33+git${SRCPV}" -PR = "${INC_PR}.1" +PR = "${INC_PR}.2" FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-git' ], d)}"
@@ -18,6 +18,12 @@ SRC_URI = "git://uclibc.org/uClibc.git;branch=master;protocol=git \ file://compile-arm-fork-with-O2.patch \ file://uclibc-execvpe.patch \ file://orign_path.patch \ + file://dup3.patch \ + file://define-MSG_CMSG_CLOEXEC.patch \ + file://posix_fallocate.patch \ + file://0001-atexit_old-Do-not-add-it-to-shared-libc.patch \ + file://0001-nptl-arm-Move-aeabi_read_tp-to-uclibc_nonshared.a.patch \ + file://0001-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch \ + file://0001-librt-Use-nodefaultlibs-instead-of-nostdlib.patch \ " - S = "${WORKDIR}/git"
meta/recipes-core/uclibc/uclibc-git/0001-atexit_old-Do-not-add-it-to-shared-libc.patch new file +44 -0
44 lines not on this page · raw message
meta/recipes-core/uclibc/uclibc-git/0001-librt-Use-nodefaultlibs-instead-of-nostdlib.patch new file +33 -0
@@ -0,0 +1,33 @@ +From 95f9b6f37152b8316735d3c86c0db963ff59e22d Mon Sep 17 00:00:00 2001 +From: Khem Raj <[email protected]> +Date: Sat, 23 Jun 2012 16:51:52 -0700 +Subject: [PATCH] librt: Use -nodefaultlibs instead of -nostdlib + +nostdlib disables linking in startup files too which is not +what we want here since it needs to resolve __dso_handle +which comes from crtbeginS.o, otherwise librt has this +undefined reference to a weak undefined __dso_handle that +shows up as error (with gold linker) +when shared libraries are being built which are +linking in librt + +Signed-off-by: Khem Raj <[email protected]> +Upstream-Status: Pending +--- + librt/Makefile.in | 1 + + 1 file changed, 1 insertion(+) + +Index: git/librt/Makefile.in +=================================================================== +--- git.orig/librt/Makefile.in 2012-06-24 10:32:59.512653237 -0700 ++++ git/librt/Makefile.in 2012-06-24 11:31:00.660821666 -0700 +@@ -15,6 +15,9 @@ + ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y) + LIBS-librt.so += $(top_builddir)lib/libdl.so $(top_builddir)lib/libpthread.so + endif ++START_FILE-librt.so := $(SHARED_START_FILES) ++END_FILE-librt.so := $(SHARED_END_FILES) ++ + + librt_FULL_NAME := librt-$(VERSION).so +
meta/recipes-core/uclibc/uclibc-git/0001-nptl-arm-Move-aeabi_read_tp-to-uclibc_nonshared.a.patch new file +31 -0
@@ -0,0 +1,31 @@ +From 714f543f4fa8fb3911449b6ce1517481359e0cff Mon Sep 17 00:00:00 2001 +From: Khem Raj <[email protected]> +Date: Sat, 23 Jun 2012 14:21:17 -0700 +Subject: [PATCH] nptl/arm: Move aeabi_read_tp to uclibc_nonshared.a + +Otherwise it creates wrong references from shared libs + +Signed-off-by: Khem Raj <[email protected]> +Upstream-Status: Pending +--- + libc/sysdeps/linux/arm/Makefile.arch | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/libc/sysdeps/linux/arm/Makefile.arch b/libc/sysdeps/linux/arm/Makefile.arch +index 5fc3e54..8285b9b 100644 +--- a/libc/sysdeps/linux/arm/Makefile.arch ++++ b/libc/sysdeps/linux/arm/Makefile.arch +@@ -13,7 +13,9 @@ SSRC := \ + vfork.S clone.S + + ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y) +-SSRC += libc-aeabi_read_tp.S libc-thumb_atomics.S ++SSRC += libc-thumb_atomics.S ++libc-nonshared-y += $(ARCH_OUT)/libc-aeabi_read_tp.os ++libc-static-y += $(ARCH_OUT)/libc-aeabi_read_tp.o + endif + + ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y) +-- +1.7.9.5 +
meta/recipes-core/uclibc/uclibc-git/0001-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch new file +74 -0
74 lines not on this page · raw message
meta/recipes-core/uclibc/uclibc-git/define-MSG_CMSG_CLOEXEC.patch new file +25 -0
@@ -0,0 +1,25 @@ +Add definition of MSG_WAITFORONE and MSG_CMSG_CLOEXEC + +Upstream-Status: Pending + +Index: git/libc/sysdeps/linux/common/bits/socket.h +=================================================================== +--- git.orig/libc/sysdeps/linux/common/bits/socket.h 2012-01-26 23:23:21.537456132 -0800 ++++ git/libc/sysdeps/linux/common/bits/socket.h 2012-01-26 23:25:10.125461388 -0800 +@@ -235,8 +235,15 @@ + #define MSG_ERRQUEUE MSG_ERRQUEUE + MSG_NOSIGNAL = 0x4000, /* Do not generate SIGPIPE. */ + #define MSG_NOSIGNAL MSG_NOSIGNAL +- MSG_MORE = 0x8000 /* Sender will send more. */ ++ MSG_MORE = 0x8000, /* Sender will send more. */ + #define MSG_MORE MSG_MORE ++ MSG_WAITFORONE = 0x10000, /* Wait for at least one packet to return.*/ ++#define MSG_WAITFORONE MSG_WAITFORONE ++ ++ MSG_CMSG_CLOEXEC = 0x40000000 /* Set close_on_exit for file ++ descriptor received through ++ SCM_RIGHTS. */ ++#define MSG_CMSG_CLOEXEC MSG_CMSG_CLOEXEC + }; + +
meta/recipes-core/uclibc/uclibc-git/dup3.patch new file +37 -0
@@ -0,0 +1,37 @@ +Implement dup3() + +Upstream-Status: Pending + +Index: git/libc/sysdeps/linux/common/dup3.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/libc/sysdeps/linux/common/dup3.c 2012-01-27 07:40:52.802900849 -0800 +@@ -0,0 +1,15 @@ ++/* vi: set sw=4 ts=4: */ ++/* ++ * dup3() for uClibc ++ * ++ * Copyright (C) 2000-2006 Erik Andersen <[email protected]> ++ * ++ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. ++ */ ++ ++#include <sys/syscall.h> ++#include <unistd.h> ++ ++ ++_syscall3(int, dup3, int, oldfd, int, newfd, int, flags) ++libc_hidden_def(dup3) +Index: git/include/unistd.h +=================================================================== +--- git.orig/include/unistd.h 2012-01-27 01:19:17.521792781 -0800 ++++ git/include/unistd.h 2012-01-27 07:40:03.106898447 -0800 +@@ -512,6 +512,8 @@ + /* Duplicate FD to FD2, closing FD2 and making it open on the same file. */ + extern int dup2 (int __fd, int __fd2) __THROW; + libc_hidden_proto(dup2) ++extern int dup3 (int __fd, int __fd2, int __flags) __THROW; ++libc_hidden_proto(dup3) + + /* NULL-terminated array of "NAME=VALUE" environment variables. */ + extern char **__environ;
meta/recipes-core/uclibc/uclibc-git/posix_fallocate.patch new file +408 -0
408 lines not on this page · raw message
meta/recipes-core/uclibc/uclibc-git/utmp-locking.patch deleted +0 -106
106 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 5/7 uclibc-0.9.33: add posix_fallocate implementation
In reply to Khem RajThis gets systemd building with uclibc
--- meta/recipes-core/uclibc/uclibc-0.9.33.inc | 1 + .../uclibc/uclibc-0.9.33/posix_fallocate.patch | 408 ++++++++++++++++++++ 2 files changed, 409 insertions(+) create mode 100644 meta/recipes-core/uclibc/uclibc-0.9.33/posix_fallocate.patch
meta/recipes-core/uclibc/uclibc-0.9.33.inc +1 -0
@@ -16,6 +16,7 @@ SRC_URI = "git://uclibc.org/uClibc.git;branch=${PV};protocol=git \ file://orign_path.patch \ file://dup3.patch \ file://define-MSG_CMSG_CLOEXEC.patch \ + file://posix_fallocate.patch \ " S = "${WORKDIR}/git"
meta/recipes-core/uclibc/uclibc-0.9.33/posix_fallocate.patch new file +408 -0
408 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 6/7 bison: link in librt on uclibc
In reply to Khem Rajuclibc has some functions in librt that are needed by bison build.
--- meta/recipes-devtools/bison/bison_2.5.bb | 1 + 1 file changed, 1 insertion(+)
meta/recipes-devtools/bison/bison_2.5.bb +1 -0
@@ -21,6 +21,7 @@ SRC_URI = "${BASE_SRC_URI} \ SRC_URI[md5sum] = "687e1dcd29452789d34eaeea4c25abe4" SRC_URI[sha256sum] = "722def46e4a19a5b7a579ef30db1965f86c37c1a20a5f0113743a2e4399f7c99" +LDFLAGS_prepend_libc-uclibc = " -lrt " DEPENDS_virtclass-native = "gettext-minimal-native" SRC_URI_virtclass-native = "${BASE_SRC_URI}"
Signature · 1 line
1.7.9.5
PATCH 7/7 glib-2.0: Add missing dependency on virtual/libiconv
In reply to Khem Raj--- meta/recipes-core/glib-2.0/glib-2.0_2.32.3.bb | 2 +- meta/recipes-core/glib-2.0/glib.inc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
meta/recipes-core/glib-2.0/glib-2.0_2.32.3.bb +1 -1
@@ -1,6 +1,6 @@ require glib.inc -PR = "r1" +PR = "r2" PE = "1" DEPENDS += "libffi python-argparse-native zlib"
meta/recipes-core/glib-2.0/glib.inc +1 -1
@@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ BUGTRACKER = "http://bugzilla.gnome.org" SECTION = "libs" -DEPENDS = "glib-2.0-native gtk-doc-native zip" +DEPENDS = "glib-2.0-native gtk-doc-native zip virtual/libiconv" DEPENDS_virtclass-native = "gtk-doc-native pkgconfig-native gettext-native" DEPENDS_virtclass-nativesdk = "libtool-nativesdk" PACKAGES =+ "${PN}-utils "
Signature · 1 line
1.7.9.5