# these variables are filled in by configure
#
VERSION="@VERSION@"
-BUGGLIBC="bugs@gnu.ai.mit.edu"
+RELEASE="@RELEASE@"
ADDONS="@subdirs@"
+HOST="@host@"
+CC='@CC@'
+CFLAGS="@CFLAGS@"
+SYSINCLUDES="@SYSINCLUDES@"
+VERSIONING="@VERSIONING@"
+BUILD_STATIC="@static@"
+BUILD_SHARED="@shared@"
+BUILD_PIC_DEFAULT="@pic_default@"
+BUILD_PROFILE="@profile@"
+BUILD_OMITFP="@omitfp@"
+BUILD_BOUNDED="@bounded@"
+BUILD_STATIC_NSS="@static_nss@"
+STDIO="@stdio@"
-PATH=/bin:/usr/bin:/usr/local/bin:$PATH
-export PATH
+TEMP=`mktemp -q /tmp/glibcbugXXXXXX 2>/dev/null`
+if test $? -ne 0; then
+ TEMP=/tmp/glibcbug.$$
+ echo > $TEMP
+ chmod 600 $TEMP
+fi
+TEMPx=`mktemp -q /tmp/glibcbugXXXXXX 2>/dev/null`
+if test $? -ne 0; then
+ TEMPx=/tmp/glibcbug.$$.x
+ echo > $TEMPx
+ chmod 600 $TEMPx
+fi
-TEMP=/tmp/glibcbug.$$
+if test "$RELEASE" = "stable"; then
+ BUGGLIBC="bugs@gnu.org"
+else
+ BUGGLIBC="libc-alpha@sourceware.cygnus.com"
+fi
BUGADDR=${1-$BUGGLIBC}
-ENVIRONMENT=`uname -a`
: ${EDITOR=emacs}
: ${USER=${LOGNAME-`whoami`}}
-trap 'rm -f $TEMP $TEMP.x; exit 1' 1 2 3 13 15
-trap 'rm -f $TEMP $TEMP.x' 0
+trap 'rm -f $TEMP $TEMPx; exit 1' 1 2 3 13 15
+trap 'rm -f $TEMP $TEMPx' 0
# How to read the passwd database.
# and to protect shell metacharacters in the expansion of $LOGNAME
$PASSWD | grep "^$LOGNAME:" | awk -F: '{print $5}' | sed -e 's/,.*//' > $TEMP
ORIGINATOR="`cat $TEMP`"
- rm -f $TEMP
fi
if [ -n "$ORGANIZATION" ]; then
( [ -f /usr/bin/uname ] && /usr/bin/uname -a ) || echo ""`
ARCH=`[ -f /bin/arch ] && /bin/arch`
MACHINE=`[ -f /bin/machine ] && /bin/machine`
+CCVERSION=`$CC -v 2>&1 | sed -n 's/gcc version //p'`
+
+case $HOST in *linux*)
+ KHDRS=`(echo '#include <linux/version.h>'
+ echo '! UTS_RELEASE' ) |
+ $CC $SYSINCLUDES -E - | sed -n '/!/s/[! "]//gp'`;;
+esac
ORGANIZATION_C='<organization of PR author (multiple lines)>'
-CONFIDENTIAL_C='<[ yes | no ] (one line)>'
SYNOPSIS_C='<synopsis of the problem (one line)>'
SEVERITY_C='<[ non-critical | serious | critical ] (one line)>'
PRIORITY_C='<[ low | medium | high ] (one line)>'
To: ${BUGADDR}
Subject: [50 character or so descriptive subject here (for reference)]
->Submitter-Id: <submitter ID>
+>Submitter-Id: net
>Originator: ${ORIGINATOR}
>Organization:
${ORGANIZATION- $ORGANIZATION_C}
->Confidential: $CONFIDENTIAL_C
+>Confidential: no
>Synopsis: $SYNOPSIS_C
>Severity: $SEVERITY_C
>Priority: $PRIORITY_C
>Class: $CLASS_C
>Release: libc-${VERSION}
>Environment:
- <machine, os, target, libraries (multiple lines)>
+ $ENVIRONMENT_C
+`[ -n "$HOST" ] && echo Host type: $HOST`
`[ -n "$SYSTEM" ] && echo System: $SYSTEM`
`[ -n "$ARCH" ] && echo Architecture: $ARCH`
`[ -n "$MACHINE" ] && echo Machine: $MACHINE`
`[ -n "$ADDONS" ] && echo Addons: $ADDONS`
+`[ -n "$CFLAGS" ] && echo Build CFLAGS: $CFLAGS`
+`[ -n "$CC" ] && echo Build CC: $CC`
+`[ -n "$CCVERSION" ] && echo Compiler version: $CCVERSION`
+`[ -n "$KHDRS" ] && echo Kernel headers: $KHDRS`
+`[ -n "$VERSIONING" ] && echo Symbol versioning: $VERSIONING`
+`[ -n "$BUILD_STATIC" ] && echo Build static: $BUILD_STATIC`
+`[ -n "$BUILD_SHARED" ] && echo Build shared: $BUILD_SHARED`
+`[ -n "$BUILD_PIC_DEFAULT" ] && echo Build pic-default: $BUILD_PIC_DEFAULT`
+`[ -n "$BUILD_PROFILE" ] && echo Build profile: $BUILD_PROFILE`
+`[ -n "$BUILD_OMITFP" ] && echo Build omitfp: $BUILD_OMITFP`
+`[ -n "$BUILD_BOUNDED" ] && echo Build bounded: $BUILD_BOUNDED`
+`[ -n "$BUILD_STATIC_NSS" ] && echo Build static-nss: $BUILD_STATIC_NSS`
+`[ -n "$STDIO" ] && echo Stdio: $STDIO`
>Description:
$DESCRIPTION_C
EOF
chmod u+w $TEMP
-cp $TEMP $TEMP.x
+cp $TEMP $TEMPx
eval $EDIT $TEMP
-if cmp -s $TEMP $TEMP.x; then
+if cmp -s $TEMP $TEMPx; then
echo "File not changed, no bug report submitted."
exit 1
fi
while :; do
CNT=0
- # 1) Confidential
- #
- PATTERN=">Confidential:"
- CONFIDENTIAL=`eval sed -n -e "\"$SED_CMD\"" $TEMP`
- case "$CONFIDENTIAL" in
- ""|yes|no) CNT=`expr $CNT + 1` ;;
- *) echo "$COMMAND: \`$CONFIDENTIAL' is not a valid value for \`Confidential'." ;;
- esac
#
- # 2) Severity
+ # 1) Severity
#
PATTERN=">Severity:"
SEVERITY=`eval sed -n -e "\"$SED_CMD\"" $TEMP`
*) echo "$COMMAND: \`$SEVERITY' is not a valid value for \`Severity'."
esac
#
- # 3) Priority
+ # 2) Priority
#
PATTERN=">Priority:"
PRIORITY=`eval sed -n -e "\"$SED_CMD\"" $TEMP`
*) echo "$COMMAND: \`$PRIORITY' is not a valid value for \`Priority'."
esac
#
- # 4) Class
+ # 3) Class
#
PATTERN=">Class:"
CLASS=`eval sed -n -e "\"$SED_CMD\"" $TEMP`
*) echo "$COMMAND: \`$CLASS' is not a valid value for \`Class'."
esac
- [ $CNT -lt 4 ] &&
+ [ $CNT -lt 3 ] &&
echo "Errors were found with the problem report."
while :; do
/^>Description:/,/^>[A-Za-z-]*:/s;$DESCRIPTION_C;;
/^>How-To-Repeat:/,/^>[A-Za-z-]*:/s;$HOW_TO_REPEAT_C;;
/^>Fix:/,/^>[A-Za-z-]*:/s;$FIX_C;;
-" $TEMP > $TEMP.x
+" $TEMP > $TEMPx
-if $MAIL_AGENT $BUGGLIBC < $TEMP.x; then
+if $MAIL_AGENT < $TEMPx; then
echo "$COMMAND: problem report sent"
xs=0; exit
else