mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #! /bin/sh
 | |
| 
 | |
| # The build failed for and identifier in the range bwetween LOW and HIGH.
 | |
| # Find a new patch id to try within that range.
 | |
| #
 | |
| # It's meant to be easy to modify the heuristics used to select the
 | |
| # next patch to try by adding to or rearranging the patches listed in
 | |
| # MIDLIST.  Known failures are recorded in ${REG_FAILLIST}.
 | |
| #
 | |
| # A nifty improvement would be to record known ranges of failure as
 | |
| # ranges, and then pick revisions just before and just after the range.
 | |
| #
 | |
| # Copyright (C) 2006 Free Software Foundation, Inc.
 | |
| #
 | |
| # This file is free software; you can redistribute it and/or modify
 | |
| # it under the terms of the GNU General Public License as published by
 | |
| # the Free Software Foundation; either version 3 of the License, or
 | |
| # (at your option) any later version.
 | |
| #
 | |
| # This program is distributed in the hope that it will be useful,
 | |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
| # GNU General Public License for more details.
 | |
| #
 | |
| # For a copy of the GNU General Public License, write the the
 | |
| # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | |
| # Boston, MA 02111-1301, USA.
 | |
| 
 | |
| LOW=$1
 | |
| HIGH=$2
 | |
| 
 | |
| MIDLIST=""
 | |
| 
 | |
| let MID01=LOW+LOW+LOW+LOW+LOW+LOW+LOW+LOW+LOW+LOW+LOW+HIGH
 | |
| let MID01=MID01/12
 | |
| let MID02=LOW+LOW+LOW+LOW+LOW+LOW+LOW+LOW+LOW+LOW+HIGH+HIGH
 | |
| let MID02=MID02/12
 | |
| let MID03=LOW+LOW+LOW+LOW+LOW+LOW+LOW+LOW+LOW+HIGH+HIGH+HIGH
 | |
| let MID03=MID03/12
 | |
| let MID04=LOW+LOW+LOW+LOW+LOW+LOW+LOW+LOW+HIGH+HIGH+HIGH+HIGH
 | |
| let MID04=MID04/12
 | |
| let MID05=LOW+LOW+LOW+LOW+LOW+LOW+LOW+HIGH+HIGH+HIGH+HIGH+HIGH
 | |
| let MID05=MID05/12
 | |
| let MID06=LOW+LOW+LOW+LOW+LOW+LOW+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH
 | |
| let MID06=MID06/12
 | |
| let MID07=LOW+LOW+LOW+LOW+LOW+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH
 | |
| let MID07=MID07/12
 | |
| let MID08=LOW+LOW+LOW+LOW+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH
 | |
| let MID08=MID08/12
 | |
| let MID09=LOW+LOW+LOW+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH
 | |
| let MID09=MID09/12
 | |
| let MID10=LOW+LOW+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH
 | |
| let MID10=MID10/12
 | |
| let MID11=LOW+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH+HIGH
 | |
| let MID11=MID11/12
 | |
| 
 | |
| # Look in this order; MID has already been done:
 | |
| #
 | |
| #  LOW--10---7---6---3---2---MID---1---4---5---8---9---HIGH
 | |
| 
 | |
| MIDLIST="${MIDLIST} ${MID07}"
 | |
| MIDLIST="${MIDLIST} ${MID05}"
 | |
| MIDLIST="${MIDLIST} ${MID04}"
 | |
| MIDLIST="${MIDLIST} ${MID08}"
 | |
| MIDLIST="${MIDLIST} ${MID09}"
 | |
| MIDLIST="${MIDLIST} ${MID03}"
 | |
| MIDLIST="${MIDLIST} ${MID02}"
 | |
| MIDLIST="${MIDLIST} ${MID10}"
 | |
| MIDLIST="${MIDLIST} ${MID11}"
 | |
| MIDLIST="${MIDLIST} ${MID01}"
 | |
| 
 | |
| for MID in ${MIDLIST}
 | |
| do
 | |
|   # Skip this if it's the low endpoint.
 | |
|   if [ ${MID} != ${LOW} ]; then
 | |
|     # Is this patch already known to fail?
 | |
|     ${REG_CHECKFAIL} ${MID}
 | |
|     if [ $? -ne 0 ]; then
 | |
|       echo ${MID}
 | |
|       exit 0
 | |
|     fi
 | |
|   fi
 | |
| done
 | |
| 
 | |
| echo 0
 | |
| exit 1
 |