libgo patch committed: Fix for changes to <sys/resource.h>

Message ID
State New
Headers show

Commit Message

Ian Taylor June 5, 2012, 5:33 a.m.
Recently the version of <sys/resource.h> in glibc changed to pick up
some anonymous unions:;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.



diff -r 292e3c15944d libgo/
--- a/libgo/	Sun Jun 03 22:32:46 2012 -0700
+++ b/libgo/	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'`
   while test -n "$rusage"; do
     field=`echo $rusage | sed -e 's/^\([^;]*\);.*$/\1/'`