mkruntimeinc: skip _FILE

We don't need it, and it breaks uclibc.

Fixes https://gcc.gnu.org/PR101246

Change-Id: I7651c9431dfa633597362ef30215db8b6c26ee9c
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/390021
Trust: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
diff --git a/libgo/mkruntimeinc.sh b/libgo/mkruntimeinc.sh
index 61d830a..5ef3eca 100755
--- a/libgo/mkruntimeinc.sh
+++ b/libgo/mkruntimeinc.sh
@@ -18,13 +18,14 @@
 # sigset conflicts with system type sigset on AIX, so we need to rename it.
 # boundsError has a field name that is a C keyword, and we don't need it.
 # mSpanInuse is both a constant and a field name, and we don't need it.
+# _FILE has incomplete __lock and __state fields on uclibc-ng.
 
 grep -v "#define _" ${IN} | grep -v "#define [cm][012345] " | grep -v "#define empty " | grep -v "#define \\$" | grep -v "#define mSpanInUse " > runtime.inc.tmp2
 for pattern in '_[GP][a-z]' _Max _Lock _Sig _Trace _MHeap _Num
 do
   grep "#define $pattern" ${IN} >> runtime.inc.tmp2
 done
-TYPES="_Complex_lock _Reader_lock semt boundsError"
+TYPES="_Complex_lock _Reader_lock semt boundsError _FILE"
 for TYPE in $TYPES
 do
   sed -e '/struct '${TYPE}' {/,/^}/s/^.*$//' runtime.inc.tmp2 > runtime.inc.tmp3;