From patchwork Sun Dec 9 21:37:53 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [meta-oe] procps: apply patch from Ubuntu to finally get rid of 'Unknown Hz value' Date: Sun, 09 Dec 2012 21:37:53 -0000 From: Stan Hu X-Patchwork-Id: 40673 Message-Id: <1355089073-30880-1-git-send-email-stanhu@gmail.com> To: openembedded-core@lists.openembedded.org Patch ported from openembedded tree: http://cgit.openembedded.org/openembedded/commit/?id=ce2d4f482a41ee2b8884095174ce278d8fc277de Signed-off-by: or the Author's name from oe commit. Also a Upstream-Status: --- .../procps/procps-3.2.8/linux-version-init.patch | 45 ++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 meta/recipes-extended/procps/procps-3.2.8/linux-version-init.patch diff --git a/meta/recipes-extended/procps/procps-3.2.8/linux-version-init.patch b/meta/recipes-extended/procps/procps-3.2.8/linux-version-init.patch new file mode 100644 index 0000000..9c1477a --- /dev/null +++ b/meta/recipes-extended/procps/procps-3.2.8/linux-version-init.patch @@ -0,0 +1,45 @@ +Index: procps-3.2.8/proc/sysinfo.c +=================================================================== +--- procps-3.2.8.orig/proc/sysinfo.c 2008-03-23 21:33:43.000000000 -0700 ++++ procps-3.2.8/proc/sysinfo.c 2012-12-09 00:52:53.288000030 -0800 +@@ -212,6 +212,7 @@ + static void init_libproc(void) __attribute__((constructor)); + static void init_libproc(void){ + have_privs = check_for_privs(); ++ init_Linux_version(); // make sure we have version before continuing... + // ought to count CPUs in /proc/stat instead of relying + // on glibc, which foolishly tries to parse /proc/cpuinfo + // +Index: procps-3.2.8/proc/version.c +=================================================================== +--- procps-3.2.8.orig/proc/version.c 2012-12-09 00:52:53.228000030 -0800 ++++ procps-3.2.8/proc/version.c 2012-12-09 00:56:14.468000086 -0800 +@@ -33,12 +33,13 @@ + + int linux_version_code; + +-static void init_Linux_version(void) __attribute__((constructor)); +-static void init_Linux_version(void) { ++// cannot depend on this auto-running before libproc init... ++//static void init_Linux_version(void) __attribute__((constructor)); ++void init_Linux_version(void) { + int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 2 */ + FILE *fp; + char buf[256]; +- ++ + if ( (fp=fopen("/proc/version","r")) == NULL) /* failure implies impending death */ + exit(1); + if (fgets(buf, 256, fp) == NULL) { +Index: procps-3.2.8/proc/version.h +=================================================================== +--- procps-3.2.8.orig/proc/version.h 2002-12-14 16:08:32.000000000 -0800 ++++ procps-3.2.8/proc/version.h 2012-12-09 00:52:53.288000030 -0800 +@@ -14,6 +14,7 @@ + + EXTERN_C_BEGIN + ++extern void init_Linux_version(void); /* initialize linux version */ + extern void display_version(void); /* display suite version */ + extern const char procps_version[]; /* global buf for suite version */ +