From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com ([134.134.136.24]) by linuxtogo.org with esmtp (Exim 4.72) (envelope-from ) id 1TCYDK-0005Xe-0R for openembedded-core@lists.openembedded.org; Fri, 14 Sep 2012 17:53:54 +0200 Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP; 14 Sep 2012 08:41:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.80,423,1344236400"; d="scan'208";a="203964081" Received: from unknown (HELO [10.255.13.94]) ([10.255.13.94]) by orsmga002.jf.intel.com with ESMTP; 14 Sep 2012 08:41:17 -0700 Message-ID: <5053501D.2060206@linux.intel.com> Date: Fri, 14 Sep 2012 08:41:17 -0700 From: Saul Wold User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120827 Thunderbird/15.0 MIME-Version: 1.0 To: Khem Raj References: <1347436503-17966-1-git-send-email-raj.khem@gmail.com> In-Reply-To: <1347436503-17966-1-git-send-email-raj.khem@gmail.com> Cc: openembedded-core@lists.openembedded.org Subject: Re: [PATCH V2 3/3] uclibc: Revert systemd regressing patch from upsteam uclibc and uprev SRCREV X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Sep 2012 15:53:54 -0000 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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 > --- > 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 > +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 > + #include > + #include > +-#ifdef __UCLIBC_HAS_UTMPX__ > +-# include > +-#endif > + #include > + > + #include > +@@ -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 > + #include > + > +-#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 > + #include > + #include > +-#ifdef __UCLIBC_HAS_UTMPX__ > +-# include > +-#endif > + #include > + #include > + #include > +@@ -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 > + >