[OE-core] [PATCH V2 3/3] uclibc: Revert systemd regressing patch from upsteam uclibc and uprev SRCREV

Saul Wold sgw at linux.intel.com
Fri Sep 14 15:41:17 UTC 2012


On 09/12/2012 12:55 AM, Khem Raj wrote:
> This patch is causing systemd based systemd to not boot
> Revert of patch has been tested on tip of master hence the new SRCREV
>
> New SRCREV brings in one another regression fix as described here
> http://lists.uclibc.org/pipermail/uclibc/2012-August/046993.html
>
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
>   meta/recipes-core/uclibc/uclibc-git.inc            |    5 +-
>   ...nt.c-wtent.c-move-functions-from-utxent.c.patch |  321 ++++++++++++++++++++
>   2 files changed, 324 insertions(+), 2 deletions(-)
>   create mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-Revert-utent.c-wtent.c-move-functions-from-utxent.c.patch
>

Merged into OE-Core

Thanks
	Sau!

> diff --git a/meta/recipes-core/uclibc/uclibc-git.inc b/meta/recipes-core/uclibc/uclibc-git.inc
> index eec4ded..4da9c58 100644
> --- a/meta/recipes-core/uclibc/uclibc-git.inc
> +++ b/meta/recipes-core/uclibc/uclibc-git.inc
> @@ -1,9 +1,9 @@
> -SRCREV="555ae2e88cd16a83f854634b6c3f35715b11d3d4"
> +SRCREV="cb43f2afba0633400387fa7c55dda3396517f58a"
>
>   DEFAULT_PREFERENCE = "-1"
>
>   PV = "0.9.33+git${SRCPV}"
> -PR = "${INC_PR}.3"
> +PR = "${INC_PR}.4"
>
>   FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-git' ], d)}"
>
> @@ -26,5 +26,6 @@ SRC_URI = "git://uclibc.org/uClibc.git;branch=master;protocol=git \
>   	file://0001-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch \
>   	file://0001-librt-Use-nodefaultlibs-instead-of-nostdlib.patch \
>   	file://mount.h-update.patch \
> +	file://0001-Revert-utent.c-wtent.c-move-functions-from-utxent.c.patch \
>   	"
>   S = "${WORKDIR}/git"
> diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-Revert-utent.c-wtent.c-move-functions-from-utxent.c.patch b/meta/recipes-core/uclibc/uclibc-git/0001-Revert-utent.c-wtent.c-move-functions-from-utxent.c.patch
> new file mode 100644
> index 0000000..8c202ac
> --- /dev/null
> +++ b/meta/recipes-core/uclibc/uclibc-git/0001-Revert-utent.c-wtent.c-move-functions-from-utxent.c.patch
> @@ -0,0 +1,321 @@
> +Upstream-Status: Pending
> +
> +From 096abf14d2dc978607ccd8a0d7f42da65d8991f3 Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem at gmail.com>
> +Date: Sun, 9 Sep 2012 22:00:04 -0700
> +Subject: [PATCH] Revert "utent.c, wtent.c: move functions from utxent.c"
> +
> +This reverts commit 84135275cfeebc0b233c1c96eeada4d4178a0b18.
> +---
> + include/utmp.h          |    8 +++++
> + libc/misc/utmp/utent.c  |   80 +++++++++++------------------------------------
> + libc/misc/utmp/utxent.c |    4 +--
> + libc/misc/utmp/wtent.c  |   14 ++-------
> + 4 files changed, 30 insertions(+), 76 deletions(-)
> +
> +diff --git a/include/utmp.h b/include/utmp.h
> +index cb8e08f..10b75c9 100644
> +--- a/include/utmp.h
> ++++ b/include/utmp.h
> +@@ -57,29 +57,37 @@ extern void logwtmp (__const char *__ut_line, __const char *__ut_name,
> + /* Append entry UTMP to the wtmp-like file WTMP_FILE.  */
> + extern void updwtmp (__const char *__wtmp_file, __const struct utmp *__utmp)
> +      __THROW;
> ++libc_hidden_proto(updwtmp)
> +
> + /* Change name of the utmp file to be examined.  */
> + extern int utmpname (__const char *__file) __THROW;
> ++libc_hidden_proto(utmpname)
> +
> + /* Read next entry from a utmp-like file.  */
> + extern struct utmp *getutent (void) __THROW;
> ++libc_hidden_proto(getutent)
> +
> + /* Reset the input stream to the beginning of the file.  */
> + extern void setutent (void) __THROW;
> ++libc_hidden_proto(setutent)
> +
> + /* Close the current open file.  */
> + extern void endutent (void) __THROW;
> ++libc_hidden_proto(endutent)
> +
> + /* Search forward from the current point in the utmp file until the
> +    next entry with a ut_type matching ID->ut_type.  */
> + extern struct utmp *getutid (__const struct utmp *__id) __THROW;
> ++libc_hidden_proto(getutid)
> +
> + /* Search forward from the current point in the utmp file until the
> +    next entry with a ut_line matching LINE->ut_line.  */
> + extern struct utmp *getutline (__const struct utmp *__line) __THROW;
> ++libc_hidden_proto(getutline)
> +
> + /* Write out entry pointed to by UTMP_PTR into the utmp file.  */
> + extern struct utmp *pututline (__const struct utmp *__utmp_ptr) __THROW;
> ++libc_hidden_proto(pututline)
> +
> +
> + #if 0 /* def	__USE_MISC */
> +diff --git a/libc/misc/utmp/utent.c b/libc/misc/utmp/utent.c
> +index a35bb2b..07ca44e 100644
> +--- a/libc/misc/utmp/utent.c
> ++++ b/libc/misc/utmp/utent.c
> +@@ -19,9 +19,6 @@
> + #include <errno.h>
> + #include <string.h>
> + #include <utmp.h>
> +-#ifdef __UCLIBC_HAS_UTMPX__
> +-# include <utmpx.h>
> +-#endif
> + #include <not-cancel.h>
> +
> + #include <bits/uClibc_mutex.h>
> +@@ -34,7 +31,7 @@ static const char default_file_name[] = _PATH_UTMP;
> + static const char *static_ut_name = default_file_name;
> +
> + /* This function must be called with the LOCK held */
> +-static void __setutent_unlocked(void)
> ++static void __setutent(void)
> + {
> +     if (static_fd < 0) {
> + 	static_fd = open_not_cancel_2(static_ut_name, O_RDWR | O_CLOEXEC);
> +@@ -53,24 +50,19 @@ static void __setutent_unlocked(void)
> +     lseek(static_fd, 0, SEEK_SET);
> + }
> + #if defined __UCLIBC_HAS_THREADS__
> +-static void __setutent(void)
> ++void setutent(void)
> + {
> +     __UCLIBC_MUTEX_LOCK(utmplock);
> +-    __setutent_unlocked();
> ++    __setutent();
> +     __UCLIBC_MUTEX_UNLOCK(utmplock);
> + }
> + #else
> +-static void __setutent(void);
> +-strong_alias(__setutent_unlocked,__setutent)
> +-#endif
> + strong_alias(__setutent,setutent)
> +-
> +-#ifdef __UCLIBC_HAS_UTMPX__
> +-strong_alias(__setutent,setutxent)
> + #endif
> ++libc_hidden_def(setutent)
> +
> + /* This function must be called with the LOCK held */
> +-static struct utmp *__getutent_unlocked(void)
> ++static struct utmp *__getutent(void)
> + {
> +     if (static_fd < 0) {
> + 	__setutent();
> +@@ -86,27 +78,19 @@ static struct utmp *__getutent_unlocked(void)
> +     return NULL;
> + }
> + #if defined __UCLIBC_HAS_THREADS__
> +-static struct utmp *__getutent(void)
> ++struct utmp *getutent(void)
> + {
> +     struct utmp *ret;
> +
> +     __UCLIBC_MUTEX_LOCK(utmplock);
> +-    ret = __getutent_unlocked();
> ++    ret = __getutent();
> +     __UCLIBC_MUTEX_UNLOCK(utmplock);
> +     return ret;
> + }
> + #else
> +-static struct utmp *__getutent(void);
> +-strong_alias(__getutent_unlocked,__getutent)
> +-#endif
> + strong_alias(__getutent,getutent)
> +-
> +-#ifdef __UCLIBC_HAS_UTMPX__
> +-struct utmpx *getutxent(void)
> +-{
> +-	return (struct utmpx *) __getutent ();
> +-}
> + #endif
> ++libc_hidden_def(getutent)
> +
> + static void __endutent(void)
> + {
> +@@ -117,13 +101,10 @@ static void __endutent(void)
> +     __UCLIBC_MUTEX_UNLOCK(utmplock);
> + }
> + strong_alias(__endutent,endutent)
> +-
> +-#ifdef __UCLIBC_HAS_UTMPX__
> +-strong_alias(__endutent,endutxent)
> +-#endif
> ++libc_hidden_def(endutent)
> +
> + /* This function must be called with the LOCK held */
> +-static struct utmp *__getutid_unlocked(const struct utmp *utmp_entry)
> ++static struct utmp *__getutid(const struct utmp *utmp_entry)
> + {
> +     struct utmp *lutmp;
> +     unsigned type;
> +@@ -133,7 +114,7 @@ static struct utmp *__getutid_unlocked(const struct utmp *utmp_entry)
> +     type = utmp_entry->ut_type - 1;
> +     type /= 4;
> +
> +-    while ((lutmp = __getutent_unlocked()) != NULL) {
> ++    while ((lutmp = __getutent()) != NULL) {
> + 	if (type == 0 && lutmp->ut_type == utmp_entry->ut_type)	{
> + 	    /* one of RUN_LVL, BOOT_TIME, NEW_TIME, OLD_TIME */
> + 	    return lutmp;
> +@@ -147,34 +128,26 @@ static struct utmp *__getutid_unlocked(const struct utmp *utmp_entry)
> +     return NULL;
> + }
> + #if defined __UCLIBC_HAS_THREADS__
> +-static struct utmp *__getutid(const struct utmp *utmp_entry)
> ++struct utmp *getutid(const struct utmp *utmp_entry)
> + {
> +     struct utmp *ret;
> +
> +     __UCLIBC_MUTEX_LOCK(utmplock);
> +-    ret = __getutid_unlocked(utmp_entry);
> ++    ret = __getutid(utmp_entry);
> +     __UCLIBC_MUTEX_UNLOCK(utmplock);
> +     return ret;
> + }
> + #else
> +-static struct utmp *__getutid(const struct utmp *utmp_entry);
> +-strong_alias(__getutid_unlocked,__getutid)
> +-#endif
> + strong_alias(__getutid,getutid)
> +-
> +-#ifdef __UCLIBC_HAS_UTMPX__
> +-struct utmpx *getutxid(const struct utmpx *utmp_entry)
> +-{
> +-	return (struct utmpx *) __getutid ((const struct utmp *) utmp_entry);
> +-}
> + #endif
> ++libc_hidden_def(getutid)
> +
> + static struct utmp *__getutline(const struct utmp *utmp_entry)
> + {
> +     struct utmp *lutmp;
> +
> +     __UCLIBC_MUTEX_LOCK(utmplock);
> +-    while ((lutmp = __getutent_unlocked()) != NULL) {
> ++    while ((lutmp = __getutent()) != NULL) {
> + 	if (lutmp->ut_type == USER_PROCESS || lutmp->ut_type == LOGIN_PROCESS) {
> + 	    if (strncmp(lutmp->ut_line, utmp_entry->ut_line, sizeof(lutmp->ut_line)) == 0) {
> + 		break;
> +@@ -185,13 +158,7 @@ static struct utmp *__getutline(const struct utmp *utmp_entry)
> +     return lutmp;
> + }
> + strong_alias(__getutline,getutline)
> +-
> +-#ifdef __UCLIBC_HAS_UTMPX__
> +-struct utmpx *getutxline(const struct utmpx *utmp_entry)
> +-{
> +-	return (struct utmpx *) __getutline ((const struct utmp *) utmp_entry);
> +-}
> +-#endif
> ++libc_hidden_def(getutline)
> +
> + static struct utmp *__pututline(const struct utmp *utmp_entry)
> + {
> +@@ -200,7 +167,7 @@ static struct utmp *__pututline(const struct utmp *utmp_entry)
> +        the file pointer where they want it, everything will work out. */
> +     lseek(static_fd, (off_t) - sizeof(struct utmp), SEEK_CUR);
> +
> +-    if (__getutid_unlocked(utmp_entry) != NULL)
> ++    if (__getutid(utmp_entry) != NULL)
> + 	lseek(static_fd, (off_t) - sizeof(struct utmp), SEEK_CUR);
> +     else
> + 	lseek(static_fd, (off_t) 0, SEEK_END);
> +@@ -211,13 +178,7 @@ static struct utmp *__pututline(const struct utmp *utmp_entry)
> +     return (struct utmp *)utmp_entry;
> + }
> + strong_alias(__pututline,pututline)
> +-
> +-#ifdef __UCLIBC_HAS_UTMPX__
> +-struct utmpx *pututxline (const struct utmpx *utmp_entry)
> +-{
> +-	return (struct utmpx *) __pututline ((const struct utmp *) utmp_entry);
> +-}
> +-#endif
> ++libc_hidden_def(pututline)
> +
> + static int __utmpname(const char *new_ut_name)
> + {
> +@@ -241,7 +202,4 @@ static int __utmpname(const char *new_ut_name)
> +     return 0; /* or maybe return -(static_ut_name != new_ut_name)? */
> + }
> + strong_alias(__utmpname,utmpname)
> +-
> +-#ifdef __UCLIBC_HAS_UTMPX__
> +-strong_alias(__utmpname,utmpxname)
> +-#endif
> ++libc_hidden_def(utmpname)
> +diff --git a/libc/misc/utmp/utxent.c b/libc/misc/utmp/utxent.c
> +index 71157cc..a0e80a6 100644
> +--- a/libc/misc/utmp/utxent.c
> ++++ b/libc/misc/utmp/utxent.c
> +@@ -13,7 +13,6 @@
> + #include <utmpx.h>
> + #include <utmp.h>
> +
> +-#if 0 /* moved to utent.c */
> + void setutxent(void)
> + {
> + 	setutent ();
> +@@ -49,12 +48,10 @@ int utmpxname (const char *new_ut_name)
> + 	return utmpname (new_ut_name);
> + }
> +
> +-/* moved to wtent.c */
> + void updwtmpx (const char *wtmpx_file, const struct utmpx *utmpx)
> + {
> + 	updwtmp (wtmpx_file, (const struct utmp *) utmpx);
> + }
> +-#endif
> +
> + /* Copy the information in UTMPX to UTMP. */
> + void getutmp (const struct utmpx *utmpx, struct utmp *utmp)
> +@@ -107,3 +104,4 @@ void getutmpx (const struct utmp *utmp, struct utmpx *utmpx)
> + 	utmpx->ut_time = utmp->ut_time;
> + #endif
> + }
> ++
> +diff --git a/libc/misc/utmp/wtent.c b/libc/misc/utmp/wtent.c
> +index 9b3ad50..b5e4ee5 100644
> +--- a/libc/misc/utmp/wtent.c
> ++++ b/libc/misc/utmp/wtent.c
> +@@ -11,9 +11,6 @@
> + #include <time.h>
> + #include <unistd.h>
> + #include <utmp.h>
> +-#ifdef __UCLIBC_HAS_UTMPX__
> +-# include <utmpx.h>
> +-#endif
> + #include <fcntl.h>
> + #include <sys/file.h>
> + #include <not-cancel.h>
> +@@ -36,7 +33,7 @@ void logwtmp (const char *line, const char *name, const char *host)
> + }
> + #endif
> +
> +-static void __updwtmp(const char *wtmp_file, const struct utmp *lutmp)
> ++void updwtmp(const char *wtmp_file, const struct utmp *lutmp)
> + {
> +     int fd;
> +
> +@@ -49,11 +46,4 @@ static void __updwtmp(const char *wtmp_file, const struct utmp *lutmp)
> + 	}
> +     }
> + }
> +-strong_alias(__updwtmp,updwtmp)
> +-
> +-#ifdef __UCLIBC_HAS_UTMPX__
> +-void updwtmpx (const char *wtmpx_file, const struct utmpx *utmpx)
> +-{
> +-	__updwtmp (wtmpx_file, (const struct utmp *) utmpx);
> +-}
> +-#endif
> ++libc_hidden_def(updwtmp)
> +--
> +1.7.9.5
> +
>




More information about the Openembedded-core mailing list