WindCharger: Added utmpx support to toolchain.

This will allow for potential dmesg and upstart extensions further down
the line, but will not impact any existing packages.

Change-Id: Icc116eea8e552d4f34d5d3610fafbdbdf1d76bc0
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcc.a b/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcc.a
index d396c46..f52b4d4 100644
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcc.a
+++ b/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcc.a
Binary files differ
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcc_eh.a b/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcc_eh.a
index dcb384f..971b935 100644
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcc_eh.a
+++ b/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcc_eh.a
Binary files differ
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcov.a b/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcov.a
index b77d696..8debd1c 100644
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcov.a
+++ b/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcov.a
Binary files differ
diff --git a/lib/libiberty.a b/lib/libiberty.a
index 2daea34..df96b78 100644
--- a/lib/libiberty.a
+++ b/lib/libiberty.a
Binary files differ
diff --git a/libexec/gcc/mips-qca-linux-uclibc/4.6.4/cc1 b/libexec/gcc/mips-qca-linux-uclibc/4.6.4/cc1
index 93afbc2..0cfd9c9 100755
--- a/libexec/gcc/mips-qca-linux-uclibc/4.6.4/cc1
+++ b/libexec/gcc/mips-qca-linux-uclibc/4.6.4/cc1
Binary files differ
diff --git a/libexec/gcc/mips-qca-linux-uclibc/4.6.4/cc1plus b/libexec/gcc/mips-qca-linux-uclibc/4.6.4/cc1plus
index a1c9969..5d6803b 100755
--- a/libexec/gcc/mips-qca-linux-uclibc/4.6.4/cc1plus
+++ b/libexec/gcc/mips-qca-linux-uclibc/4.6.4/cc1plus
Binary files differ
diff --git a/libexec/gcc/mips-qca-linux-uclibc/4.6.4/lto1 b/libexec/gcc/mips-qca-linux-uclibc/4.6.4/lto1
index a873f86..bff7116 100755
--- a/libexec/gcc/mips-qca-linux-uclibc/4.6.4/lto1
+++ b/libexec/gcc/mips-qca-linux-uclibc/4.6.4/lto1
Binary files differ
diff --git a/mips-qca-linux-uclibc/sysroot/lib/libgomp.a b/mips-qca-linux-uclibc/sysroot/lib/libgomp.a
index 487cb09..140f695 100644
--- a/mips-qca-linux-uclibc/sysroot/lib/libgomp.a
+++ b/mips-qca-linux-uclibc/sysroot/lib/libgomp.a
Binary files differ
diff --git a/mips-qca-linux-uclibc/sysroot/lib/libstdc++.a b/mips-qca-linux-uclibc/sysroot/lib/libstdc++.a
index e46758d..b43c699 100644
--- a/mips-qca-linux-uclibc/sysroot/lib/libstdc++.a
+++ b/mips-qca-linux-uclibc/sysroot/lib/libstdc++.a
Binary files differ
diff --git a/mips-qca-linux-uclibc/sysroot/lib/libsupc++.a b/mips-qca-linux-uclibc/sysroot/lib/libsupc++.a
index 667117b..ab500de 100644
--- a/mips-qca-linux-uclibc/sysroot/lib/libsupc++.a
+++ b/mips-qca-linux-uclibc/sysroot/lib/libsupc++.a
Binary files differ
diff --git a/mips-qca-linux-uclibc/sysroot/lib/libuClibc-0.9.33.2.so b/mips-qca-linux-uclibc/sysroot/lib/libuClibc-0.9.33.2.so
index 4754fd2..b2a1cea 100755
--- a/mips-qca-linux-uclibc/sysroot/lib/libuClibc-0.9.33.2.so
+++ b/mips-qca-linux-uclibc/sysroot/lib/libuClibc-0.9.33.2.so
Binary files differ
diff --git a/mips-qca-linux-uclibc/sysroot/usr/include/bits/uClibc_config.h b/mips-qca-linux-uclibc/sysroot/usr/include/bits/uClibc_config.h
index a5080dc..cae60b6 100644
--- a/mips-qca-linux-uclibc/sysroot/usr/include/bits/uClibc_config.h
+++ b/mips-qca-linux-uclibc/sysroot/usr/include/bits/uClibc_config.h
@@ -7,7 +7,7 @@
 #define __UCLIBC_SUBLEVEL__ 33
 /* Automatically generated make config: don't edit */
 /* Version: 0.9.33.2 */
-/* Mon Jun  8 14:32:49 2015 */
+/* Thu Jul 16 14:44:51 2015 */
 #undef __TARGET_alpha__
 #undef __TARGET_arm__
 #undef __TARGET_avr32__
@@ -209,7 +209,7 @@
 #undef __UCLIBC_HAS_FTS__
 #define __UCLIBC_HAS_GLOB__ 1
 #define __UCLIBC_HAS_GNU_GLOB__ 1
-#undef __UCLIBC_HAS_UTMPX__
+#define __UCLIBC_HAS_UTMPX__ 1
 
 /* Library Installation Options */
 #define __RUNTIME_PREFIX__ "/"
diff --git a/mips-qca-linux-uclibc/sysroot/usr/include/bits/utmpx.h b/mips-qca-linux-uclibc/sysroot/usr/include/bits/utmpx.h
new file mode 100644
index 0000000..c84cda6
--- /dev/null
+++ b/mips-qca-linux-uclibc/sysroot/usr/include/bits/utmpx.h
@@ -0,0 +1,103 @@
+/* Structures and definitions for the user accounting database.  GNU version.
+   Copyright (C) 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#ifndef _UTMPX_H
+# error "Never include <bits/utmpx.h> directly; use <utmpx.h> instead."
+#endif
+
+#include <bits/types.h>
+#include <sys/time.h>
+#include <bits/wordsize.h>
+
+
+#ifdef __USE_GNU
+# include <paths.h>
+# define _PATH_UTMPX	_PATH_UTMP
+# define _PATH_WTMPX	_PATH_WTMP
+#endif
+
+
+#define __UT_LINESIZE	32
+#define __UT_NAMESIZE	32
+#define __UT_HOSTSIZE	256
+
+
+/* The structure describing the status of a terminated process.  This
+   type is used in `struct utmpx' below.  */
+struct __exit_status
+  {
+#ifdef __USE_GNU
+    short int e_termination;	/* Process termination status.  */
+    short int e_exit;		/* Process exit status.  */
+#else
+    short int __e_termination;	/* Process termination status.  */
+    short int __e_exit;		/* Process exit status.  */
+#endif
+  };
+
+
+/* The structure describing an entry in the user accounting database.  */
+struct utmpx
+{
+  short int ut_type;		/* Type of login.  */
+  __pid_t ut_pid;		/* Process ID of login process.  */
+  char ut_line[__UT_LINESIZE];	/* Devicename.  */
+  char ut_id[4];		/* Inittab ID. */
+  char ut_user[__UT_NAMESIZE];	/* Username.  */
+  char ut_host[__UT_HOSTSIZE];	/* Hostname for remote login.  */
+  struct __exit_status ut_exit;	/* Exit status of a process marked
+				   as DEAD_PROCESS.  */
+
+/* The fields ut_session and ut_tv must be the same size when compiled
+   32- and 64-bit.  This allows files and shared memory to be shared
+   between 32- and 64-bit applications.  */
+#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32
+  __int32_t ut_session;		/* Session ID, used for windowing.  */
+  struct
+  {
+    __int32_t tv_sec;		/* Seconds.  */
+    __int32_t tv_usec;		/* Microseconds.  */
+  } ut_tv;			/* Time entry was made.  */
+#else
+  long int ut_session;		/* Session ID, used for windowing.  */
+  struct timeval ut_tv;		/* Time entry was made.  */
+#endif
+  __int32_t ut_addr_v6[4];	/* Internet address of remote host.  */
+  char __unused[20];		/* Reserved for future use.  */
+};
+
+
+/* Values for the `ut_type' field of a `struct utmpx'.  */
+#define EMPTY		0	/* No valid user accounting information.  */
+
+#ifdef __USE_GNU
+# define RUN_LVL	1	/* The system's runlevel.  */
+#endif
+#define BOOT_TIME	2	/* Time of system boot.  */
+#define NEW_TIME	3	/* Time after system clock changed.  */
+#define OLD_TIME	4	/* Time when system clock changed.  */
+
+#define INIT_PROCESS	5	/* Process spawned by the init process.  */
+#define LOGIN_PROCESS	6	/* Session leader of a logged in user.  */
+#define USER_PROCESS	7	/* Normal process.  */
+#define DEAD_PROCESS	8	/* Terminated process.  */
+
+#ifdef __USE_GNU
+# define ACCOUNTING	9	/* System accounting.  */
+#endif
diff --git a/mips-qca-linux-uclibc/sysroot/usr/include/utmpx.h b/mips-qca-linux-uclibc/sysroot/usr/include/utmpx.h
new file mode 100644
index 0000000..8622916
--- /dev/null
+++ b/mips-qca-linux-uclibc/sysroot/usr/include/utmpx.h
@@ -0,0 +1,127 @@
+/* Copyright (C) 1997, 1998, 1999, 2003 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#ifndef	_UTMPX_H
+#define	_UTMPX_H	1
+
+#include <features.h>
+#include <sys/time.h>
+
+/* Required according to Unix98.  */
+#ifndef __pid_t_defined
+typedef __pid_t pid_t;
+# define __pid_t_defined
+#endif
+
+/* Get system dependent values and data structures.  */
+#include <bits/utmpx.h>
+
+#ifdef __USE_GNU
+/* Compatibility names for the strings of the canonical file names.  */
+# define UTMPX_FILE	_PATH_UTMPX
+# define UTMPX_FILENAME	_PATH_UTMPX
+# define WTMPX_FILE	_PATH_WTMPX
+# define WTMPX_FILENAME	_PATH_WTMPX
+#endif
+
+/* For the getutmp{,x} functions we need the `struct utmp'.  */
+#ifdef __USE_GNU
+struct utmp;
+#endif
+
+
+__BEGIN_DECLS
+
+/* Open user accounting database.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+extern void setutxent (void);
+
+/* Close user accounting database.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+extern void endutxent (void);
+
+/* Get the next entry from the user accounting database.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+extern struct utmpx *getutxent (void);
+
+/* Get the user accounting database entry corresponding to ID.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+extern struct utmpx *getutxid (__const struct utmpx *__id);
+
+/* Get the user accounting database entry corresponding to LINE.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+extern struct utmpx *getutxline (__const struct utmpx *__line);
+
+/* Write the entry UTMPX into the user accounting database.
+
+   This function is a possible cancellation point and therefore not
+   marked with __THROW.  */
+extern struct utmpx *pututxline (__const struct utmpx *__utmpx);
+
+
+#ifdef __USE_GNU
+/* Change name of the utmpx file to be examined.
+
+   This function is not part of POSIX and therefore no official
+   cancellation point.  But due to similarity with an POSIX interface
+   or due to the implementation it is a cancellation point and
+   therefore not marked with __THROW.  */
+extern int utmpxname (__const char *__file);
+
+/* Append entry UTMP to the wtmpx-like file WTMPX_FILE.
+
+   This function is not part of POSIX and therefore no official
+   cancellation point.  But due to similarity with an POSIX interface
+   or due to the implementation it is a cancellation point and
+   therefore not marked with __THROW.  */
+extern void updwtmpx (__const char *__wtmpx_file,
+		      __const struct utmpx *__utmpx);
+
+
+/* Copy the information in UTMPX to UTMP.
+
+   This function is not part of POSIX and therefore no official
+   cancellation point.  But due to similarity with an POSIX interface
+   or due to the implementation it is a cancellation point and
+   therefore not marked with __THROW.  */
+extern void getutmp (__const struct utmpx *__utmpx,
+		     struct utmp *__utmp);
+
+/* Copy the information in UTMP to UTMPX.
+
+   This function is not part of POSIX and therefore no official
+   cancellation point.  But due to similarity with an POSIX interface
+   or due to the implementation it is a cancellation point and
+   therefore not marked with __THROW.  */
+extern void getutmpx (__const struct utmp *__utmp,
+		      struct utmpx *__utmpx);
+#endif
+
+__END_DECLS
+
+#endif /* utmpx.h  */
diff --git a/mips-qca-linux-uclibc/sysroot/usr/lib/libbfd.a b/mips-qca-linux-uclibc/sysroot/usr/lib/libbfd.a
index 0e50911..5cef9a8 100644
--- a/mips-qca-linux-uclibc/sysroot/usr/lib/libbfd.a
+++ b/mips-qca-linux-uclibc/sysroot/usr/lib/libbfd.a
Binary files differ
diff --git a/mips-qca-linux-uclibc/sysroot/usr/lib/libc.a b/mips-qca-linux-uclibc/sysroot/usr/lib/libc.a
index e8e4f87..6cb92f6 100644
--- a/mips-qca-linux-uclibc/sysroot/usr/lib/libc.a
+++ b/mips-qca-linux-uclibc/sysroot/usr/lib/libc.a
Binary files differ
diff --git a/mips-qca-linux-uclibc/sysroot/usr/lib/libcrypt.a b/mips-qca-linux-uclibc/sysroot/usr/lib/libcrypt.a
index 17e1b28..06502ed 100644
--- a/mips-qca-linux-uclibc/sysroot/usr/lib/libcrypt.a
+++ b/mips-qca-linux-uclibc/sysroot/usr/lib/libcrypt.a
Binary files differ
diff --git a/mips-qca-linux-uclibc/sysroot/usr/lib/libdl.a b/mips-qca-linux-uclibc/sysroot/usr/lib/libdl.a
index 6ac107c..5e22518 100644
--- a/mips-qca-linux-uclibc/sysroot/usr/lib/libdl.a
+++ b/mips-qca-linux-uclibc/sysroot/usr/lib/libdl.a
Binary files differ
diff --git a/mips-qca-linux-uclibc/sysroot/usr/lib/libm.a b/mips-qca-linux-uclibc/sysroot/usr/lib/libm.a
index 67e2523..1f6f4ec 100644
--- a/mips-qca-linux-uclibc/sysroot/usr/lib/libm.a
+++ b/mips-qca-linux-uclibc/sysroot/usr/lib/libm.a
Binary files differ
diff --git a/mips-qca-linux-uclibc/sysroot/usr/lib/libnsl.a b/mips-qca-linux-uclibc/sysroot/usr/lib/libnsl.a
index 4fa0cd0..eb20b45 100644
--- a/mips-qca-linux-uclibc/sysroot/usr/lib/libnsl.a
+++ b/mips-qca-linux-uclibc/sysroot/usr/lib/libnsl.a
Binary files differ
diff --git a/mips-qca-linux-uclibc/sysroot/usr/lib/libpthread.a b/mips-qca-linux-uclibc/sysroot/usr/lib/libpthread.a
index b063f7b..221651d 100644
--- a/mips-qca-linux-uclibc/sysroot/usr/lib/libpthread.a
+++ b/mips-qca-linux-uclibc/sysroot/usr/lib/libpthread.a
Binary files differ
diff --git a/mips-qca-linux-uclibc/sysroot/usr/lib/libresolv.a b/mips-qca-linux-uclibc/sysroot/usr/lib/libresolv.a
index 4a4006f..b131d61 100644
--- a/mips-qca-linux-uclibc/sysroot/usr/lib/libresolv.a
+++ b/mips-qca-linux-uclibc/sysroot/usr/lib/libresolv.a
Binary files differ
diff --git a/mips-qca-linux-uclibc/sysroot/usr/lib/librt.a b/mips-qca-linux-uclibc/sysroot/usr/lib/librt.a
index ed15b31..f551e93 100644
--- a/mips-qca-linux-uclibc/sysroot/usr/lib/librt.a
+++ b/mips-qca-linux-uclibc/sysroot/usr/lib/librt.a
Binary files differ
diff --git a/mips-qca-linux-uclibc/sysroot/usr/lib/libthread_db.a b/mips-qca-linux-uclibc/sysroot/usr/lib/libthread_db.a
index 0df1fa9..0f8ffe7 100644
--- a/mips-qca-linux-uclibc/sysroot/usr/lib/libthread_db.a
+++ b/mips-qca-linux-uclibc/sysroot/usr/lib/libthread_db.a
Binary files differ
diff --git a/mips-qca-linux-uclibc/sysroot/usr/lib/libutil.a b/mips-qca-linux-uclibc/sysroot/usr/lib/libutil.a
index 7f6a57c..fbbfc86 100644
--- a/mips-qca-linux-uclibc/sysroot/usr/lib/libutil.a
+++ b/mips-qca-linux-uclibc/sysroot/usr/lib/libutil.a
Binary files differ
diff --git a/mips-qca-linux-uclibc/sysroot/usr/lib/uclibc_nonshared.a b/mips-qca-linux-uclibc/sysroot/usr/lib/uclibc_nonshared.a
index 20dc9af..6adf7c4 100644
--- a/mips-qca-linux-uclibc/sysroot/usr/lib/uclibc_nonshared.a
+++ b/mips-qca-linux-uclibc/sysroot/usr/lib/uclibc_nonshared.a
Binary files differ