📄 arm-linux-gccbug
字号:
SEND-PR: SEND-PR: Please consult the GCC manual if you are not sure how toSEND-PR: fill out a problem report.SEND-PR: Note that the Synopsis field is mandatory. The Subject (forSEND-PR: the mail) will be made the same as Synopsis unless explicitlySEND-PR: changed.SEND-PR:SEND-PR: Choose from the following categories:SEND-PR:__EOF__ # Format the categories so they fit onto lines. l=`echo "$CATEGORIES" | \ awk 'BEGIN {max = 0; } { if (length($0) > max) { max = length($0); } } END {print max + 1;}'` c=`expr 61 / $l` if [ $c -eq 0 ]; then c=1; fi echo "$CATEGORIES" | \ awk 'BEGIN {printf "SEND-PR: "; i = 0 } { printf ("%-'$l'.'$l's", $0); if ((++i % '$c') == 0) { printf "\nSEND-PR: " } } END { printf "\nSEND-PR:\n"; }' >> $file cat >> $file << __EOF__To: $GNATS_ADDRSubject: From: $FROMReply-To: $REPLYTOCc: $CCX-send-pr-version: $VERSIONX-GNATS-Notify: >Submitter-Id: $SUBMITTER>Originator: $ORIGINATOR>Organization: ${ORGANIZATION-$ORGANIZATION_C}>Confidential: noSEND-PR: Leave "Confidential" as "no"; all GCC PRs are public.>Synopsis: $SYNOPSIS_C>Severity: $SEVERITY_CSEND-PR: critical GCC is completely not operational; no work-around known.SEND-PR: serious GCC is not working properly; a work-around is possible.SEND-PR: non-critical Report indicates minor problem.>Priority: $PRIORITY_CSEND-PR: medium The problem should be solved in the next release.SEND-PR: low The problem should be solve in a future release.>Category: $CATEGORY_C>Class: <[ doc-bug | accepts-illegal | rejects-legal | wrong-code | ice-on-legal-code| ice-on-illegal-code | pessimizes-code | sw-bug | change-request | support ] (one line)>SEND-PR: doc-bug The documentation is incorrect.SEND-PR: accepts-illegal GCC fails to reject erroneous code.SEND-PR: rejects-legal GCC gives an error message for correct code.SEND-PR: wrong-code The machine code generated by gcc is incorrect.SEND-PR: ice-on-legal-code GCC gives an Internal Compiler Error (ICE)SEND-PR: for correct codeSEND-PR: ice-on-illegal-code GCC gives an ICE instead of reporting an errorSEND-PR: pessimizes-code GCC misses an important optimization opportunitySEND-PR: sw-bug Software bug of some other class than aboveSEND-PR: change-request A feature in GCC is missing.SEND-PR: support I need help with gcc.>Release: ${DEFAULT_RELEASE-$RELEASE_C}>Environment:`[ -n "$SYSTEM" ] && echo System: $SYSTEM``[ -n "$ARCH" ] && echo Architecture: $ARCH``[ -n "$MACHINE" ] && echo Machine: $MACHINE` $ENVIRONMENT_Chost: i686-pc-linux-gnubuild: i686-pc-linux-gnutarget: arm-unknown-linux-gnu__EOF__ cat >> $file << \__EOF__configured with: ../../gcc-3.4.4/configure --prefix=/usr/local/arm/3.4.4 --target=arm-linux --enable-languages=c --with-sysroot=/usr/local/arm/3.4.4/sysroot : (reconfigured) ../../gcc-3.4.4/configure --prefix=/usr/local/arm/3.4.4 --target=arm-linux --enable-languages=c --with-sysroot=/usr/local/arm/3.4.4/sysroot__EOF__ cat >> $file << __EOF__>Description: $DESCRIPTION_C>How-To-Repeat: $HOW_TO_REPEAT_C>Fix: $FIX_C__EOF__ done fi if [ "$PRINT" = true -o "$PRINT_INTERN" = true ]; then cat $TEMP xs=0; exit fi chmod u+w $TEMP if [ -z "$REQUEST_ID" ]; then eval $EDIT $TEMP else ed -s $TEMP << '__EOF__'/^Subject/s/^Subject:.*/Subject: request for a customer id//^>Category/s/^>Category:.*/>Category: send-pr/wq__EOF__ fi if cmp -s $REF $TEMP ; then echo "$COMMAND: problem report not filled out, therefore not sent" xs=1; exit fifi## Check the enumeration fields# This is a "sed-subroutine" with one keyword parameter # (with workaround for Sun sed bug)#SED_CMD='/$PATTERN/{s|||s|<.*>||s|^[ ]*||s|[ ]*$||pq}'while [ -z "$REQUEST_ID" ]; do CNT=0 # 1) Confidential # PATTERN=">Confidential:" CONFIDENTIAL=`eval sed -n -e "\"$SED_CMD\"" $TEMP` case "$CONFIDENTIAL" in no) CNT=`expr $CNT + 1` ;; *) echo "$COMMAND: \`$CONFIDENTIAL' is not a valid value for \`Confidential'." ;; esac # # 2) Severity # PATTERN=">Severity:" SEVERITY=`eval sed -n -e "\"$SED_CMD\"" $TEMP` case "$SEVERITY" in ""|non-critical|serious|critical) CNT=`expr $CNT + 1` ;; *) echo "$COMMAND: \`$SEVERITY' is not a valid value for \`Severity'." esac # # 3) Priority # PATTERN=">Priority:" PRIORITY=`eval sed -n -e "\"$SED_CMD\"" $TEMP` case "$PRIORITY" in ""|low|medium) CNT=`expr $CNT + 1` ;; high) echo "$COMMAND: \`Priority: high' is reserved for GCC maintainers." ;; *) echo "$COMMAND: \`$PRIORITY' is not a valid value for \`Priority'." esac # # 4) Category # PATTERN=">Category:" CATEGORY=`eval sed -n -e "\"$SED_CMD\"" $TEMP` FOUND= for C in $CATEGORIES do if [ "$C" = "$CATEGORY" ]; then FOUND=true ; break ; fi done if [ -n "$FOUND" ]; then CNT=`expr $CNT + 1` else if [ -z "$CATEGORY" ]; then echo "$COMMAND: you must include a Category: field in your report." else echo "$COMMAND: \`$CATEGORY' is not a known category." fi fi # # 5) Class # PATTERN=">Class:" CLASS=`eval sed -n -e "\"$SED_CMD\"" $TEMP` case "$CLASS" in ""|doc-bug|accepts-illegal|rejects-legal|wrong-code|ice-on-legal-code|ice-on-illegal-code|pessimizes-code|sw-bug|change-request|support) CNT=`expr $CNT + 1` ;; *) echo "$COMMAND: \`$CLASS' is not a valid value for \`Class'." esac # # 6) Check that synopsis is not empty # if grep "^>Synopsis:[ ]*${SYNOPSIS_C}\$" $TEMP > /dev/null then echo "$COMMAND: Synopsis must not be empty." else CNT=`expr $CNT + 1` fi [ $CNT -lt 6 -a -z "$BATCH" ] && echo "Errors were found with the problem report." while true; do if [ -z "$BATCH" ]; then $ECHON1 "a)bort, e)dit or s)end? $ECHON2" read input else if [ $CNT -eq 6 ]; then input=s else input=a fi fi case "$input" in a*) if [ -z "$BATCH" ]; then echo "$COMMAND: the problem report remains in $BAD and is not sent." REMOVE_TEMP="rm -f $TEMP0 $TEMP $REF" mv $TEMP $BAD else echo "$COMMAND: the problem report is not sent." fi xs=1; exit ;; e*) eval $EDIT $TEMP continue 2 ;; s*) break 2 ;; esac donedone## Make sure the mail has got a Subject. If not, use the same as# in Synopsis.#if grep '^Subject:[ ]*$' $TEMP > /dev/nullthen SYNOPSIS=`grep '^>Synopsis:' $TEMP | sed -e 's/^>Synopsis:[ ]*//'` ed -s $TEMP << __EOF__/^Subject:/s/:.*\$/: $SYNOPSIS/wq__EOF__fi## Remove comments and send the problem report# (we have to use patterns, where the comment contains regex chars)## /^>Originator:/s;$ORIGINATOR;;sed -e "/^SEND-PR:/d/^>Organization:/,/^>[A-Za-z-]*:/s;$ORGANIZATION_C;;/^>Confidential:/s;<.*>;;/^>Synopsis:/s;$SYNOPSIS_C;;/^>Severity:/s;<.*>;;/^>Priority:/s;<.*>;;/^>Category:/s;$CATEGORY_C;;/^>Class:/s;<.*>;;/^>Release:/,/^>[A-Za-z-]*:/s;$RELEASE_C;;/^>Environment:/,/^>[A-Za-z-]*:/s;$ENVIRONMENT_C;;/^>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 > $REFif $MAIL_AGENT < $REF; then echo "$COMMAND: problem report sent" xs=0; exitelse echo "$COMMAND: mysterious mail failure." if [ -z "$BATCH" ]; then echo "$COMMAND: the problem report remains in $BAD and is not sent." REMOVE_TEMP="rm -f $TEMP0 $TEMP $REF" mv $REF $BAD else echo "$COMMAND: the problem report is not sent." fi xs=1; exitfi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -