Recently the version of <sys/resource.h> in glibc changed to pick up
some anonymous unions:
http://sourceware.org/git/?p=glibc.git;a=blobdiff;f=sysdeps/unix/sysv/linux/bits/resource.h;h=62cb257410cb294799eddf83602fdd8de30f772f;hp=be852e52472e8f3cd721cc0201a275fcbea89558;hb=5e1a27a96de16ad0cd67a81e25741790b32e2c25;hpb=46259beccca5f4b3a6c64a1b84b2c09f079eb3ae
Frankly I think it would have been better to simply add padding. But
since the change was made, I have committed this patch to change
mksysinfo to work with it. This patch is not fully tested, as I am not
running the develoment version of glibc, but it appears to work in
limited testing. Bootstrapped and committed on x86_64-unknown-linux-gnu
running eglibc 2.11.1. Committed to mainline and 4.7 branch.
Ian
diff -r 292e3c15944d libgo/mksysinfo.sh
--- a/libgo/mksysinfo.sh Sun Jun 03 22:32:46 2012 -0700
+++ b/libgo/mksysinfo.sh Mon Jun 04 22:29:50 2012 -0700
@@ -524,6 +524,8 @@
if test "$rusage" != ""; then
rusage=`echo $rusage | sed -e 's/type _rusage struct //' -e 's/[{}]//g'`
rusage=`echo $rusage | sed -e 's/^ *//'`
+ # Remove anonymous unions from GNU/Linux <bits/resource.h>.
+ rusage=`echo $rusage | sed -e 's/Godump_[0-9]* struct {\([^}]*\)};/\1/g'`
nrusage=
while test -n "$rusage"; do
field=`echo $rusage | sed -e 's/^\([^;]*\);.*$/\1/'`