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/'`