Bug#617447: Bug#589372: ext3grep NMU

Asheesh Laroia asheesh at asheesh.org
Fri Jun 8 04:27:52 UTC 2012


Excerpts from peter green's message of Thu Jun 07 17:06:54 -0400 2012:
> I did some local tests and it ext3grep seemed to work. Everything that 
> was restored was restored correctly though it did not restore everything 
> I deleted from the test image (but then it can't nessacerally be 
> expected to, some stuff may dissapear from the journal before ext3grep 
> can see it).
> 
> I suspect that the reason we have been unable to find any regular users 
> is this is the sort of tool most people use exactly once. IMO having a 
> tool like this available even though only minimally tested is better 
> than not having it at all (from reading the docs it seems it doesn't do 
> any live modifications, only data extraction so the risk of a bug 
> corrupting the filesystem being recovered seems minimal). As such I have 
> uploaded a NMU to delayed/5
> 
> Please tell me if you disagree with this course of action.

This is great that you have done this work. A few comments on
the patch inline.

> A debdiff for the NMU is attatched (note: it's a bit noisy because the 
> package updated config.sub and config.guess).
> diff -u ext3grep-0.10.1/debian/control ext3grep-0.10.1/debian/control
> --- ext3grep-0.10.1/debian/control
> +++ ext3grep-0.10.1/debian/control
> @@ -10,7 +10,7 @@
>  Vcs-Git: git://git.debian.net/git/debian-forensics/ext3grep.git
>  
>  Package: ext3grep
> -Architecture: alpha amd64 arm armel armhf i386 ia64 mipsel
> +Architecture: alpha amd64 arm armel armhf i386 ia64 mipsel sh4
>  Depends: ${shlibs:Depends}, ${misc:Depends}
>  Description: Tool to help recover deleted files on ext3 filesystems
>   ext3grep is a simple tool intended to aid anyone who accidentally deletes a
> diff -u ext3grep-0.10.1/debian/changelog ext3grep-0.10.1/debian/changelog
> --- ext3grep-0.10.1/debian/changelog
> +++ ext3grep-0.10.1/debian/changelog
> @@ -1,3 +1,16 @@
> +ext3grep (0.10.1-3.2) unstable; urgency=low
> +
> +  * Fix FTBFS (Closes: #634412)
> +    + some versions of the ext2 headers call a field s_frags_per_group and some
> +      call it s_clusters_per_group, define one to the other so the code works 
> +      with both
> +    + i_reseved2 has been split into two fields in recent versions of the 
> +      headers, use the "hurd" side of the union to continue to access it in
> +      one peice

spelling: it should be "one piece" not "one peice"

> +  * Add sh4 to arch list. (Closes: #617447)
> +
> + -- Peter Michael Green <plugwash at debian.org>  Thu, 07 Jun 2012 20:02:02 +0000
> +
>  ext3grep (0.10.1-3.1) unstable; urgency=low
>  
>    * NMU, added armhf to arch list. (Closes: #604656)
> only in patch2:
> unchanged:
> --- ext3grep-0.10.1.orig/config.sub
> +++ ext3grep-0.10.1/config.sub
> @@ -1,10 +1,10 @@
>  #! /bin/sh
>  # Configuration validation subroutine script.
>  #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
> -#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
> -#   Free Software Foundation, Inc.
> +#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
> +#   2011 Free Software Foundation, Inc.
>  
> -timestamp='2008-01-16'
> +timestamp='2011-03-23'
>  
>  # This file is (in principle) common to ALL GNU software.
>  # The presence of a machine in this file suggests that SOME GNU software
> @@ -32,13 +32,16 @@
>  
>  
>  # Please send patches to <config-patches at gnu.org>.  Submit a context
> -# diff and a properly formatted ChangeLog entry.
> +# diff and a properly formatted GNU ChangeLog entry.
>  #
>  # Configuration subroutine to validate and canonicalize a configuration type.
>  # Supply the specified configuration type as an argument.
>  # If it is invalid, we print an error message on stderr and exit with code 1.
>  # Otherwise, we print the canonical config type on stdout and succeed.
>  
> +# You can get the latest version of this script from:
> +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
> +
>  # This file is supposed to be the same for all GNU packages
>  # and recognize all the CPU types, system types and aliases
>  # that are meaningful with *any* GNU software.
> @@ -72,8 +75,9 @@
>  version="\
>  GNU config.sub ($timestamp)
>  
> -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
> -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
> +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
> +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
> +Software Foundation, Inc.
>  
>  This is free software; see the source for copying conditions.  There is NO
>  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
> @@ -120,8 +124,10 @@
>  # Here we must recognize all the valid KERNEL-OS combinations.
>  maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
>  case $maybe_os in
> -  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
> -  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
> +  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
> +  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
> +  knetbsd*-gnu* | netbsd*-gnu* | \
> +  kopensolaris*-gnu* | \
>    storm-chaos* | os2-emx* | rtmk-nova*)
>      os=-$maybe_os
>      basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
> @@ -148,10 +154,13 @@
>          -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
>          -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
>          -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
> -        -apple | -axis | -knuth | -cray)
> +        -apple | -axis | -knuth | -cray | -microblaze)
>                  os=
>                  basic_machine=$1
>                  ;;
> +        -bluegene*)
> +                os=-cnk
> +                ;;
>          -sim | -cisco | -oki | -wec | -winbond)
>                  os=
>                  basic_machine=$1
> @@ -166,10 +175,10 @@
>                  os=-chorusos
>                  basic_machine=$1
>                  ;;
> -         -chorusrdb)
> -                 os=-chorusrdb
> +        -chorusrdb)
> +                os=-chorusrdb
>                  basic_machine=$1
> -                 ;;
> +                ;;
>          -hiux*)
>                  os=-hiuxwe2
>                  ;;
> @@ -249,13 +258,16 @@
>          | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
>          | i370 | i860 | i960 | ia64 \
>          | ip2k | iq2000 \
> +        | lm32 \
>          | m32c | m32r | m32rle | m68000 | m68k | m88k \
> -        | maxq | mb | microblaze | mcore | mep \
> +        | maxq | mb | microblaze | mcore | mep | metag \
>          | mips | mipsbe | mipseb | mipsel | mipsle \
>          | mips16 \
>          | mips64 | mips64el \
> -        | mips64vr | mips64vrel \
> +        | mips64octeon | mips64octeonel \
>          | mips64orion | mips64orionel \
> +        | mips64r5900 | mips64r5900el \
> +        | mips64vr | mips64vrel \
>          | mips64vr4100 | mips64vr4100el \
>          | mips64vr4300 | mips64vr4300el \
>          | mips64vr5000 | mips64vr5000el \
> @@ -268,28 +280,42 @@
>          | mipsisa64sr71k | mipsisa64sr71kel \
>          | mipstx39 | mipstx39el \
>          | mn10200 | mn10300 \
> +        | moxie \
>          | mt \
>          | msp430 \
> +        | nds32 | nds32le | nds32be \
>          | nios | nios2 \
>          | ns16k | ns32k \
> +        | open8 \
>          | or32 \
>          | pdp10 | pdp11 | pj | pjl \
> -        | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
> +        | powerpc | powerpc64 | powerpc64le | powerpcle \
>          | pyramid \
> +        | rx \
>          | score \
> -        | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
> +        | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
>          | sh64 | sh64le \
>          | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
>          | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
> -        | spu | strongarm \
> -        | tahoe | thumb | tic4x | tic80 | tron \
> +        | spu \
> +        | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
> +        | ubicom32 \
>          | v850 | v850e \
>          | we32k \
> -        | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
> -        | z8k)
> +        | x86 | xc16x | xstormy16 | xtensa \
> +        | z8k | z80)
>                  basic_machine=$basic_machine-unknown
>                  ;;
> -        m6811 | m68hc11 | m6812 | m68hc12)
> +        c54x)
> +                basic_machine=tic54x-unknown
> +                ;;
> +        c55x)
> +                basic_machine=tic55x-unknown
> +                ;;
> +        c6x)
> +                basic_machine=tic6x-unknown
> +                ;;
> +        m6811 | m68hc11 | m6812 | m68hc12 | picochip)
>                  # Motorola 68HC11/12.
>                  basic_machine=$basic_machine-unknown
>                  os=-none
> @@ -300,6 +326,18 @@
>                  basic_machine=mt-unknown
>                  ;;
>  
> +        strongarm | thumb | xscale)
> +                basic_machine=arm-unknown
> +                ;;
> +
> +        xscaleeb)
> +                basic_machine=armeb-unknown
> +                ;;
> +
> +        xscaleel)
> +                basic_machine=armel-unknown
> +                ;;
> +
>          # We use `pc' rather than `unknown'
>          # because (1) that's what they normally are, and
>          # (2) the word "unknown" tends to confuse beginning users.
> @@ -320,7 +358,7 @@
>          | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
>          | avr-* | avr32-* \
>          | bfin-* | bs2000-* \
> -        | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
> +        | c[123]* | c30-* | [cjt]90-* | c4x-* \
>          | clipper-* | craynv-* | cydra-* \
>          | d10v-* | d30v-* | dlx-* \
>          | elxsi-* \
> @@ -329,14 +367,17 @@
>          | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
>          | i*86-* | i860-* | i960-* | ia64-* \
>          | ip2k-* | iq2000-* \
> +        | lm32-* \
>          | m32c-* | m32r-* | m32rle-* \
>          | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
> -        | m88110-* | m88k-* | maxq-* | mcore-* \
> +        | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
>          | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
>          | mips16-* \
>          | mips64-* | mips64el-* \
> -        | mips64vr-* | mips64vrel-* \
> +        | mips64octeon-* | mips64octeonel-* \
>          | mips64orion-* | mips64orionel-* \
> +        | mips64r5900-* | mips64r5900el-* \
> +        | mips64vr-* | mips64vrel-* \
>          | mips64vr4100-* | mips64vr4100el-* \
>          | mips64vr4300-* | mips64vr4300el-* \
>          | mips64vr5000-* | mips64vr5000el-* \
> @@ -351,27 +392,31 @@
>          | mmix-* \
>          | mt-* \
>          | msp430-* \
> +        | nds32-* | nds32le-* | nds32be-* \
>          | nios-* | nios2-* \
>          | none-* | np1-* | ns16k-* | ns32k-* \
> +        | open8-* \
>          | orion-* \
>          | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
> -        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
> +        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
>          | pyramid-* \
> -        | romp-* | rs6000-* \
> -        | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
> +        | romp-* | rs6000-* | rx-* \
> +        | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
>          | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
>          | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
>          | sparclite-* \
> -        | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
> -        | tahoe-* | thumb-* \
> +        | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
> +        | tahoe-* \
>          | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
> +        | tile-* | tilegx-* \
>          | tron-* \
> +        | ubicom32-* \
>          | v850-* | v850e-* | vax-* \
>          | we32k-* \
> -        | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
> +        | x86-* | x86_64-* | xc16x-* | xps100-* \
>          | xstormy16-* | xtensa*-* \
>          | ymp-* \
> -        | z8k-*)
> +        | z8k-* | z80-*)
>                  ;;
>          # Recognize the basic CPU types without company name, with glob match.
>          xtensa*)
> @@ -393,7 +438,7 @@
>                  basic_machine=a29k-amd
>                  os=-udi
>                  ;;
> -            abacus)
> +        abacus)
>                  basic_machine=abacus-unknown
>                  ;;
>          adobe68k)
> @@ -439,6 +484,10 @@
>                  basic_machine=m68k-apollo
>                  os=-bsd
>                  ;;
> +        aros)
> +                basic_machine=i386-pc
> +                os=-aros
> +                ;;
>          aux)
>                  basic_machine=m68k-apple
>                  os=-aux
> @@ -455,10 +504,27 @@
>                  basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
>                  os=-linux
>                  ;;
> +        bluegene*)
> +                basic_machine=powerpc-ibm
> +                os=-cnk
> +                ;;
> +        c54x-*)
> +                basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
> +                ;;
> +        c55x-*)
> +                basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
> +                ;;
> +        c6x-*)
> +                basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
> +                ;;
>          c90)
>                  basic_machine=c90-cray
>                  os=-unicos
>                  ;;
> +        cegcc)
> +                basic_machine=arm-unknown
> +                os=-cegcc
> +                ;;
>          convex-c1)
>                  basic_machine=c1-convex
>                  os=-bsd
> @@ -487,7 +553,7 @@
>                  basic_machine=craynv-cray
>                  os=-unicosmp
>                  ;;
> -        cr16)
> +        cr16 | cr16-*)
>                  basic_machine=cr16-unknown
>                  os=-elf
>                  ;;
> @@ -526,6 +592,10 @@
>                  basic_machine=m88k-motorola
>                  os=-sysv3
>                  ;;
> +        dicos)
> +                basic_machine=i686-pc
> +                os=-dicos
> +                ;;
>          djgpp)
>                  basic_machine=i586-pc
>                  os=-msdosdjgpp
> @@ -699,6 +769,9 @@
>                  basic_machine=ns32k-utek
>                  os=-sysv
>                  ;;
> +        microblaze)
> +                basic_machine=microblaze-xilinx
> +                ;;
>          mingw32)
>                  basic_machine=i386-pc
>                  os=-mingw32
> @@ -803,6 +876,12 @@
>          np1)
>                  basic_machine=np1-gould
>                  ;;
> +        neo-tandem)
> +                basic_machine=neo-tandem
> +                ;;
> +        nse-tandem)
> +                basic_machine=nse-tandem
> +                ;;
>          nsr-tandem)
>                  basic_machine=nsr-tandem
>                  ;;
> @@ -885,9 +964,10 @@
>                  ;;
>          power)        basic_machine=power-ibm
>                  ;;
> -        ppc)        basic_machine=powerpc-unknown
> +        ppc | ppcbe)        basic_machine=powerpc-unknown
>                  ;;
> -        ppc-*)        basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
> +        ppc-* | ppcbe-*)
> +                basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
>                  ;;
>          ppcle | powerpclittle | ppc-le | powerpc-little)
>                  basic_machine=powerpcle-unknown
> @@ -981,6 +1061,9 @@
>                  basic_machine=i860-stratus
>                  os=-sysv4
>                  ;;
> +        strongarm-* | thumb-*)
> +                basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
> +                ;;
>          sun2)
>                  basic_machine=m68000-sun
>                  ;;
> @@ -1037,17 +1120,10 @@
>                  basic_machine=t90-cray
>                  os=-unicos
>                  ;;
> -        tic54x | c54x*)
> -                basic_machine=tic54x-unknown
> -                os=-coff
> -                ;;
> -        tic55x | c55x*)
> -                basic_machine=tic55x-unknown
> -                os=-coff
> -                ;;
> -        tic6x | c6x*)
> -                basic_machine=tic6x-unknown
> -                os=-coff
> +        # This must be matched before tile*.
> +        tilegx*)
> +                basic_machine=tilegx-unknown
> +                os=-linux-gnu
>                  ;;
>          tile*)
>                  basic_machine=tile-unknown
> @@ -1120,6 +1196,9 @@
>          xps | xps100)
>                  basic_machine=xps100-honeywell
>                  ;;
> +        xscale-* | xscalee[bl]-*)
> +                basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
> +                ;;
>          ymp)
>                  basic_machine=ymp-cray
>                  os=-unicos
> @@ -1128,6 +1207,10 @@
>                  basic_machine=z8k-unknown
>                  os=-sim
>                  ;;
> +        z80-*-coff)
> +                basic_machine=z80-unknown
> +                os=-sim
> +                ;;
>          none)
>                  basic_machine=none-none
>                  os=-none
> @@ -1166,7 +1249,7 @@
>          we32k)
>                  basic_machine=we32k-att
>                  ;;
> -        sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
> +        sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
>                  basic_machine=sh-unknown
>                  ;;
>          sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
> @@ -1213,9 +1296,12 @@
>  if [ x"$os" != x"" ]
>  then
>  case $os in
> -        # First match some system type aliases
> -        # that might get confused with valid system types.
> +        # First match some system type aliases
> +        # that might get confused with valid system types.
>          # -solaris* is a basic system type, with this one exception.
> +        -auroraux)
> +                os=-auroraux
> +                ;;
>          -solaris1 | -solaris1.*)
>                  os=`echo $os | sed -e 's|solaris1|sunos4|'`
>                  ;;
> @@ -1236,10 +1322,11 @@
>          # Each alternative MUST END IN A *, to match a version number.
>          # -sysv* is not here because it comes later, after sysvr4.
>          -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
> -              | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
> -              | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
> +              | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
> +              | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
> +              | -sym* | -kopensolaris* \
>                | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
> -              | -aos* \
> +              | -aos* | -aros* \
>                | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
>                | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
>                | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
> @@ -1248,9 +1335,10 @@
>                | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
>                | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
>                | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
> -              | -chorusos* | -chorusrdb* \
> +              | -chorusos* | -chorusrdb* | -cegcc* \
>                | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
> -              | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
> +              | -mingw32* | -linux-gnu* | -linux-android* \
> +              | -linux-newlib* | -linux-uclibc* \
>                | -uxpv* | -beos* | -mpeix* | -udk* \
>                | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
>                | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
> @@ -1258,7 +1346,7 @@
>                | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
>                | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
>                | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
> -              | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
> +              | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
>          # Remember, each alternative MUST END IN *, to match a version number.
>                  ;;
>          -qnx*)
> @@ -1297,7 +1385,7 @@
>          -opened*)
>                  os=-openedition
>                  ;;
> -        -os400*)
> +        -os400*)
>                  os=-os400
>                  ;;
>          -wince*)
> @@ -1346,7 +1434,7 @@
>          -sinix*)
>                  os=-sysv4
>                  ;;
> -        -tpf*)
> +        -tpf*)
>                  os=-tpf
>                  ;;
>          -triton*)
> @@ -1388,6 +1476,11 @@
>          -zvmoe)
>                  os=-zvmoe
>                  ;;
> +        -dicos*)
> +                os=-dicos
> +                ;;
> +        -nacl*)
> +                ;;
>          -none)
>                  ;;
>          *)
> @@ -1410,10 +1503,10 @@
>  # system, and we'll never get to this point.
>  
>  case $basic_machine in
> -        score-*)
> +        score-*)
>                  os=-elf
>                  ;;
> -        spu-*)
> +        spu-*)
>                  os=-elf
>                  ;;
>          *-acorn)
> @@ -1425,8 +1518,17 @@
>          arm*-semi)
>                  os=-aout
>                  ;;
> -        c4x-* | tic4x-*)
> -                os=-coff
> +        c4x-* | tic4x-*)
> +                os=-coff
> +                ;;
> +        tic54x-*)
> +                os=-coff
> +                ;;
> +        tic55x-*)
> +                os=-coff
> +                ;;
> +        tic6x-*)
> +                os=-coff
>                  ;;
>          # This must come before the *-dec entry.
>          pdp10-*)
> @@ -1453,7 +1555,7 @@
>          m68*-cisco)
>                  os=-aout
>                  ;;
> -        mep-*)
> +        mep-*)
>                  os=-elf
>                  ;;
>          mips*-cisco)
> @@ -1480,7 +1582,7 @@
>          *-ibm)
>                  os=-aix
>                  ;;
> -            *-knuth)
> +        *-knuth)
>                  os=-mmixware
>                  ;;
>          *-wec)
> @@ -1585,7 +1687,7 @@
>                          -sunos*)
>                                  vendor=sun
>                                  ;;
> -                        -aix*)
> +                        -cnk*|-aix*)
>                                  vendor=ibm
>                                  ;;
>                          -beos*)
> only in patch2:
> unchanged:
> --- ext3grep-0.10.1.orig/config.guess
> +++ ext3grep-0.10.1/config.guess
> @@ -1,10 +1,10 @@
>  #! /bin/sh
>  # Attempt to guess a canonical system name.
>  #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
> -#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
> -#   Free Software Foundation, Inc.
> +#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
> +#   2011 Free Software Foundation, Inc.
>  
> -timestamp='2008-01-23'
> +timestamp='2011-05-11'
>  
>  # 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
> @@ -27,16 +27,16 @@
>  # the same distribution terms that you use for the rest of that program.
>  
>  
> -# Originally written by Per Bothner <per at bothner.com>.
> -# Please send patches to <config-patches at gnu.org>.  Submit a context
> -# diff and a properly formatted ChangeLog entry.
> +# Originally written by Per Bothner.  Please send patches (context
> +# diff format) to <config-patches at gnu.org> and include a ChangeLog
> +# entry.
>  #
>  # This script attempts to guess a canonical system name similar to
>  # config.sub.  If it succeeds, it prints the system name on stdout, and
>  # exits with 0.  Otherwise, it exits with 1.
>  #
> -# The plan is that this can be called by configure scripts if you
> -# don't specify an explicit build system type.
> +# You can get the latest version of this script from:
> +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
>  
>  me=`echo "$0" | sed -e 's,.*/,,'`
>  
> @@ -56,8 +56,9 @@
>  GNU config.guess ($timestamp)
>  
>  Originally written by Per Bothner.
> -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
> -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
> +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
> +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
> +Software Foundation, Inc.
>  
>  This is free software; see the source for copying conditions.  There is NO
>  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
> @@ -170,7 +171,7 @@
>              arm*|i386|m68k|ns32k|sh3*|sparc|vax)
>                  eval $set_cc_for_build
>                  if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
> -                        | grep __ELF__ >/dev/null
> +                        | grep -q __ELF__
>                  then
>                      # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
>                      # Return netbsd for either.  FIX?
> @@ -180,7 +181,7 @@
>                  fi
>                  ;;
>              *)
> -                os=netbsd
> +                os=netbsd
>                  ;;
>          esac
>          # The OS release
> @@ -223,7 +224,7 @@
>                  UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
>                  ;;
>          *5.*)
> -                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
> +                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
>                  ;;
>          esac
>          # According to Compaq, /usr/sbin/psrinfo has been available on
> @@ -269,7 +270,10 @@
>          # A Xn.n version is an unreleased experimental baselevel.
>          # 1.2 uses "1.2" for uname -r.
>          echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
> -        exit ;;
> +        # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
> +        exitcode=$?
> +        trap '' 0
> +        exit $exitcode ;;
>      Alpha\ *:Windows_NT*:*)
>          # How do we know it's Interix rather than the generic POSIX subsystem?
>          # Should we change UNAME_MACHINE based on the output of uname instead
> @@ -295,7 +299,7 @@
>          echo s390-ibm-zvmoe
>          exit ;;
>      *:OS400:*:*)
> -        echo powerpc-ibm-os400
> +        echo powerpc-ibm-os400
>          exit ;;
>      arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
>          echo arm-acorn-riscix${UNAME_RELEASE}
> @@ -324,14 +328,33 @@
>          case `/usr/bin/uname -p` in
>              sparc) echo sparc-icl-nx7; exit ;;
>          esac ;;
> +    s390x:SunOS:*:*)
> +        echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
> +        exit ;;
>      sun4H:SunOS:5.*:*)
>          echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
>          exit ;;
>      sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
>          echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
>          exit ;;
> +    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
> +        echo i386-pc-auroraux${UNAME_RELEASE}
> +        exit ;;
>      i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
> -        echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
> +        eval $set_cc_for_build
> +        SUN_ARCH="i386"
> +        # If there is a compiler, see if it is configured for 64-bit objects.
> +        # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
> +        # This test works for both compilers.
> +        if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
> +            if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
> +                (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
> +                grep IS_64BIT_ARCH >/dev/null
> +            then
> +                SUN_ARCH="x86_64"
> +            fi
> +        fi
> +        echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
>          exit ;;
>      sun4*:SunOS:6*:*)
>          # According to config.sub, this is the proper way to canonicalize
> @@ -375,23 +398,23 @@
>      # MiNT.  But MiNT is downward compatible to TOS, so this should
>      # be no problem.
>      atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
> -        echo m68k-atari-mint${UNAME_RELEASE}
> +        echo m68k-atari-mint${UNAME_RELEASE}
>          exit ;;
>      atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
>          echo m68k-atari-mint${UNAME_RELEASE}
> -        exit ;;
> +        exit ;;
>      *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
> -        echo m68k-atari-mint${UNAME_RELEASE}
> +        echo m68k-atari-mint${UNAME_RELEASE}
>          exit ;;
>      milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
> -        echo m68k-milan-mint${UNAME_RELEASE}
> -        exit ;;
> +        echo m68k-milan-mint${UNAME_RELEASE}
> +        exit ;;
>      hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
> -        echo m68k-hades-mint${UNAME_RELEASE}
> -        exit ;;
> +        echo m68k-hades-mint${UNAME_RELEASE}
> +        exit ;;
>      *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
> -        echo m68k-unknown-mint${UNAME_RELEASE}
> -        exit ;;
> +        echo m68k-unknown-mint${UNAME_RELEASE}
> +        exit ;;
>      m68k:machten:*:*)
>          echo m68k-apple-machten${UNAME_RELEASE}
>          exit ;;
> @@ -461,8 +484,8 @@
>          echo m88k-motorola-sysv3
>          exit ;;
>      AViiON:dgux:*:*)
> -        # DG/UX returns AViiON for all architectures
> -        UNAME_PROCESSOR=`/usr/bin/uname -p`
> +        # DG/UX returns AViiON for all architectures
> +        UNAME_PROCESSOR=`/usr/bin/uname -p`
>          if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
>          then
>              if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
> @@ -475,7 +498,7 @@
>          else
>              echo i586-dg-dgux${UNAME_RELEASE}
>          fi
> -         exit ;;
> +        exit ;;
>      M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
>          echo m88k-dolphin-sysv3
>          exit ;;
> @@ -532,7 +555,7 @@
>                  echo rs6000-ibm-aix3.2
>          fi
>          exit ;;
> -    *:AIX:*:[456])
> +    *:AIX:*:[4567])
>          IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
>          if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
>                  IBM_ARCH=rs6000
> @@ -575,52 +598,52 @@
>              9000/[678][0-9][0-9])
>                  if [ -x /usr/bin/getconf ]; then
>                      sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
> -                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
> -                    case "${sc_cpu_version}" in
> -                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
> -                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
> -                      532)                      # CPU_PA_RISC2_0
> -                        case "${sc_kernel_bits}" in
> -                          32) HP_ARCH="hppa2.0n" ;;
> -                          64) HP_ARCH="hppa2.0w" ;;
> +                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
> +                    case "${sc_cpu_version}" in
> +                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
> +                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
> +                      532)                      # CPU_PA_RISC2_0
> +                        case "${sc_kernel_bits}" in
> +                          32) HP_ARCH="hppa2.0n" ;;
> +                          64) HP_ARCH="hppa2.0w" ;;
>                            '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
> -                        esac ;;
> -                    esac
> +                        esac ;;
> +                    esac
>                  fi
>                  if [ "${HP_ARCH}" = "" ]; then
>                      eval $set_cc_for_build
> -                    sed 's/^              //' << EOF >$dummy.c
> +                    sed 's/^                //' << EOF >$dummy.c
> +
> +                #define _HPUX_SOURCE
> +                #include <stdlib.h>
> +                #include <unistd.h>
> +
> +                int main ()
> +                {
> +                #if defined(_SC_KERNEL_BITS)
> +                    long bits = sysconf(_SC_KERNEL_BITS);
> +                #endif
> +                    long cpu  = sysconf (_SC_CPU_VERSION);
>  
> -              #define _HPUX_SOURCE
> -              #include <stdlib.h>
> -              #include <unistd.h>
> -
> -              int main ()
> -              {
> -              #if defined(_SC_KERNEL_BITS)
> -                  long bits = sysconf(_SC_KERNEL_BITS);
> -              #endif
> -                  long cpu  = sysconf (_SC_CPU_VERSION);
> -
> -                  switch (cpu)
> -                      {
> -                      case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
> -                      case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
> -                      case CPU_PA_RISC2_0:
> -              #if defined(_SC_KERNEL_BITS)
> -                          switch (bits)
> -                              {
> -                              case 64: puts ("hppa2.0w"); break;
> -                              case 32: puts ("hppa2.0n"); break;
> -                              default: puts ("hppa2.0"); break;
> -                              } break;
> -              #else  /* !defined(_SC_KERNEL_BITS) */
> -                          puts ("hppa2.0"); break;
> -              #endif
> -                      default: puts ("hppa1.0"); break;
> -                      }
> -                  exit (0);
> -              }
> +                    switch (cpu)
> +                        {
> +                        case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
> +                        case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
> +                        case CPU_PA_RISC2_0:
> +                #if defined(_SC_KERNEL_BITS)
> +                            switch (bits)
> +                                {
> +                                case 64: puts ("hppa2.0w"); break;
> +                                case 32: puts ("hppa2.0n"); break;
> +                                default: puts ("hppa2.0"); break;
> +                                } break;
> +                #else  /* !defined(_SC_KERNEL_BITS) */
> +                            puts ("hppa2.0"); break;
> +                #endif
> +                        default: puts ("hppa1.0"); break;
> +                        }
> +                    exit (0);
> +                }
>  EOF
>                      (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
>                      test -z "$HP_ARCH" && HP_ARCH=hppa
> @@ -640,7 +663,7 @@
>              # => hppa64-hp-hpux11.23
>  
>              if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
> -                grep __LP64__ >/dev/null
> +                grep -q __LP64__
>              then
>                  HP_ARCH="hppa2.0w"
>              else
> @@ -711,22 +734,22 @@
>          exit ;;
>      C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
>          echo c1-convex-bsd
> -        exit ;;
> +        exit ;;
>      C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
>          if getsysinfo -f scalar_acc
>          then echo c32-convex-bsd
>          else echo c2-convex-bsd
>          fi
> -        exit ;;
> +        exit ;;
>      C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
>          echo c34-convex-bsd
> -        exit ;;
> +        exit ;;
>      C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
>          echo c38-convex-bsd
> -        exit ;;
> +        exit ;;
>      C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
>          echo c4-convex-bsd
> -        exit ;;
> +        exit ;;
>      CRAY*Y-MP:*:*:*)
>          echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
>          exit ;;
> @@ -750,14 +773,14 @@
>          exit ;;
>      F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
>          FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
> -        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
> -        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
> -        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
> -        exit ;;
> +        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
> +        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
> +        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
> +        exit ;;
>      5000:UNIX_System_V:4.*:*)
> -        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
> -        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
> -        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
> +        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
> +        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
> +        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
>          exit ;;
>      i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
>          echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
> @@ -785,18 +808,18 @@
>          echo ${UNAME_MACHINE}-pc-mingw32
>          exit ;;
>      i*:windows32*:*)
> -            # uname -m includes "-pc" on this system.
> -            echo ${UNAME_MACHINE}-mingw32
> +        # uname -m includes "-pc" on this system.
> +        echo ${UNAME_MACHINE}-mingw32
>          exit ;;
>      i*:PW*:*)
>          echo ${UNAME_MACHINE}-pc-pw32
>          exit ;;
> -    *:Interix*:[3456]*)
> -            case ${UNAME_MACHINE} in
> +    *:Interix*:*)
> +        case ${UNAME_MACHINE} in
>              x86)
>                  echo i586-pc-interix${UNAME_RELEASE}
>                  exit ;;
> -            EM64T | authenticamd)
> +            authenticamd | genuineintel | EM64T)
>                  echo x86_64-unknown-interix${UNAME_RELEASE}
>                  exit ;;
>              IA64)
> @@ -806,6 +829,9 @@
>      [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
>          echo i${UNAME_MACHINE}-pc-mks
>          exit ;;
> +    8664:Windows_NT:*)
> +        echo x86_64-pc-mks
> +        exit ;;
>      i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
>          # How do we know it's Interix rather than the generic POSIX subsystem?
>          # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
> @@ -835,6 +861,20 @@
>      i*86:Minix:*:*)
>          echo ${UNAME_MACHINE}-pc-minix
>          exit ;;
> +    alpha:Linux:*:*)
> +        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
> +          EV5)   UNAME_MACHINE=alphaev5 ;;
> +          EV56)  UNAME_MACHINE=alphaev56 ;;
> +          PCA56) UNAME_MACHINE=alphapca56 ;;
> +          PCA57) UNAME_MACHINE=alphapca56 ;;
> +          EV6)   UNAME_MACHINE=alphaev6 ;;
> +          EV67)  UNAME_MACHINE=alphaev67 ;;
> +          EV68*) UNAME_MACHINE=alphaev68 ;;
> +        esac
> +        objdump --private-headers /bin/sh | grep -q ld.so.1
> +        if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
> +        echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
> +        exit ;;
>      arm*:Linux:*:*)
>          eval $set_cc_for_build
>          if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
> @@ -842,7 +882,13 @@
>          then
>              echo ${UNAME_MACHINE}-unknown-linux-gnu
>          else
> -            echo ${UNAME_MACHINE}-unknown-linux-gnueabi
> +            if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
> +                | grep -q __ARM_PCS_VFP
> +            then
> +                echo ${UNAME_MACHINE}-unknown-linux-gnueabi
> +            else
> +                echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
> +            fi
>          fi
>          exit ;;
>      avr32*:Linux:*:*)
> @@ -855,7 +901,18 @@
>          echo crisv32-axis-linux-gnu
>          exit ;;
>      frv:Linux:*:*)
> -            echo frv-unknown-linux-gnu
> +        echo frv-unknown-linux-gnu
> +        exit ;;
> +    i*86:Linux:*:*)
> +        LIBC=gnu
> +        eval $set_cc_for_build
> +        sed 's/^        //' << EOF >$dummy.c
> +        #ifdef __dietlibc__
> +        LIBC=dietlibc
> +        #endif
> +EOF
> +        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
> +        echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
>          exit ;;
>      ia64:Linux:*:*)
>          echo ${UNAME_MACHINE}-unknown-linux-gnu
> @@ -866,74 +923,33 @@
>      m68*:Linux:*:*)
>          echo ${UNAME_MACHINE}-unknown-linux-gnu
>          exit ;;
> -    mips:Linux:*:*)
> -        eval $set_cc_for_build
> -        sed 's/^        //' << EOF >$dummy.c
> -        #undef CPU
> -        #undef mips
> -        #undef mipsel
> -        #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
> -        CPU=mipsel
> -        #else
> -        #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
> -        CPU=mips
> -        #else
> -        CPU=
> -        #endif
> -        #endif
> -EOF
> -        eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
> -            /^CPU/{
> -                s: ::g
> -                p
> -            }'`"
> -        test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
> -        ;;
> -    mips64:Linux:*:*)
> +    mips:Linux:*:* | mips64:Linux:*:*)
>          eval $set_cc_for_build
>          sed 's/^        //' << EOF >$dummy.c
>          #undef CPU
> -        #undef mips64
> -        #undef mips64el
> +        #undef ${UNAME_MACHINE}
> +        #undef ${UNAME_MACHINE}el
>          #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
> -        CPU=mips64el
> +        CPU=${UNAME_MACHINE}el
>          #else
>          #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
> -        CPU=mips64
> +        CPU=${UNAME_MACHINE}
>          #else
>          CPU=
>          #endif
>          #endif
>  EOF
> -        eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
> -            /^CPU/{
> -                s: ::g
> -                p
> -            }'`"
> +        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
>          test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
>          ;;
>      or32:Linux:*:*)
>          echo or32-unknown-linux-gnu
>          exit ;;
> -    ppc:Linux:*:*)
> -        echo powerpc-unknown-linux-gnu
> -        exit ;;
> -    ppc64:Linux:*:*)
> -        echo powerpc64-unknown-linux-gnu
> +    padre:Linux:*:*)
> +        echo sparc-unknown-linux-gnu
>          exit ;;
> -    alpha:Linux:*:*)
> -        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
> -          EV5)   UNAME_MACHINE=alphaev5 ;;
> -          EV56)  UNAME_MACHINE=alphaev56 ;;
> -          PCA56) UNAME_MACHINE=alphapca56 ;;
> -          PCA57) UNAME_MACHINE=alphapca56 ;;
> -          EV6)   UNAME_MACHINE=alphaev6 ;;
> -          EV67)  UNAME_MACHINE=alphaev67 ;;
> -          EV68*) UNAME_MACHINE=alphaev68 ;;
> -        esac
> -        objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
> -        if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
> -        echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
> +    parisc64:Linux:*:* | hppa64:Linux:*:*)
> +        echo hppa64-unknown-linux-gnu
>          exit ;;
>      parisc:Linux:*:* | hppa:Linux:*:*)
>          # Look for CPU level
> @@ -943,14 +959,17 @@
>            *)    echo hppa-unknown-linux-gnu ;;
>          esac
>          exit ;;
> -    parisc64:Linux:*:* | hppa64:Linux:*:*)
> -        echo hppa64-unknown-linux-gnu
> +    ppc64:Linux:*:*)
> +        echo powerpc64-unknown-linux-gnu
> +        exit ;;
> +    ppc:Linux:*:*)
> +        echo powerpc-unknown-linux-gnu
>          exit ;;
>      s390:Linux:*:* | s390x:Linux:*:*)
>          echo ${UNAME_MACHINE}-ibm-linux
>          exit ;;
>      sh64*:Linux:*:*)
> -            echo ${UNAME_MACHINE}-unknown-linux-gnu
> +        echo ${UNAME_MACHINE}-unknown-linux-gnu
>          exit ;;
>      sh*:Linux:*:*)
>          echo ${UNAME_MACHINE}-unknown-linux-gnu
> @@ -958,6 +977,9 @@
>      sparc:Linux:*:* | sparc64:Linux:*:*)
>          echo ${UNAME_MACHINE}-unknown-linux-gnu
>          exit ;;
> +    tile*:Linux:*:*)
> +        echo ${UNAME_MACHINE}-tilera-linux-gnu
> +        exit ;;
>      vax:Linux:*:*)
>          echo ${UNAME_MACHINE}-dec-linux-gnu
>          exit ;;
> @@ -965,71 +987,8 @@
>          echo x86_64-unknown-linux-gnu
>          exit ;;
>      xtensa*:Linux:*:*)
> -            echo ${UNAME_MACHINE}-unknown-linux-gnu
> +        echo ${UNAME_MACHINE}-unknown-linux-gnu
>          exit ;;
> -    i*86:Linux:*:*)
> -        # The BFD linker knows what the default object file format is, so
> -        # first see if it will tell us. cd to the root directory to prevent
> -        # problems with other programs or directories called `ld' in the path.
> -        # Set LC_ALL=C to ensure ld outputs messages in English.
> -        ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
> -                         | sed -ne '/supported targets:/!d
> -                                    s/[         ][         ]*/ /g
> -                                    s/.*supported targets: *//
> -                                    s/ .*//
> -                                    p'`
> -        case "$ld_supported_targets" in
> -          elf32-i386)
> -                TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
> -                ;;
> -          a.out-i386-linux)
> -                echo "${UNAME_MACHINE}-pc-linux-gnuaout"
> -                exit ;;
> -          coff-i386)
> -                echo "${UNAME_MACHINE}-pc-linux-gnucoff"
> -                exit ;;
> -          "")
> -                # Either a pre-BFD a.out linker (linux-gnuoldld) or
> -                # one that does not give us useful --help.
> -                echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
> -                exit ;;
> -        esac
> -        # Determine whether the default compiler is a.out or elf
> -        eval $set_cc_for_build
> -        sed 's/^        //' << EOF >$dummy.c
> -        #include <features.h>
> -        #ifdef __ELF__
> -        # ifdef __GLIBC__
> -        #  if __GLIBC__ >= 2
> -        LIBC=gnu
> -        #  else
> -        LIBC=gnulibc1
> -        #  endif
> -        # else
> -        LIBC=gnulibc1
> -        # endif
> -        #else
> -        #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
> -        LIBC=gnu
> -        #else
> -        LIBC=gnuaout
> -        #endif
> -        #endif
> -        #ifdef __dietlibc__
> -        LIBC=dietlibc
> -        #endif
> -EOF
> -        eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
> -            /^LIBC/{
> -                s: ::g
> -                p
> -            }'`"
> -        test x"${LIBC}" != x && {
> -                echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
> -                exit
> -        }
> -        test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
> -        ;;
>      i*86:DYNIX/ptx:4*:*)
>          # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
>          # earlier versions are messed up and put the nodename in both
> @@ -1037,11 +996,11 @@
>          echo i386-sequent-sysv4
>          exit ;;
>      i*86:UNIX_SV:4.2MP:2.*)
> -        # Unixware is an offshoot of SVR4, but it has its own version
> -        # number series starting with 2...
> -        # I am not positive that other SVR4 systems won't match this,
> +        # Unixware is an offshoot of SVR4, but it has its own version
> +        # number series starting with 2...
> +        # I am not positive that other SVR4 systems won't match this,
>          # I just have to hope.  -- rms.
> -        # Use sysv4.2uw... so that sysv4* matches it.
> +        # Use sysv4.2uw... so that sysv4* matches it.
>          echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
>          exit ;;
>      i*86:OS/2:*:*)
> @@ -1058,7 +1017,7 @@
>      i*86:syllable:*:*)
>          echo ${UNAME_MACHINE}-pc-syllable
>          exit ;;
> -    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
> +    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
>          echo i386-unknown-lynxos${UNAME_RELEASE}
>          exit ;;
>      i*86:*DOS:*:*)
> @@ -1073,7 +1032,7 @@
>          fi
>          exit ;;
>      i*86:*:5:[678]*)
> -            # UnixWare 7.x, OpenUNIX and OpenServer 6.
> +        # UnixWare 7.x, OpenUNIX and OpenServer 6.
>          case `/bin/uname -X | grep "^Machine"` in
>              *486*)             UNAME_MACHINE=i486 ;;
>              *Pentium)             UNAME_MACHINE=i586 ;;
> @@ -1101,10 +1060,13 @@
>          exit ;;
>      pc:*:*:*)
>          # Left here for compatibility:
> -        # uname -m prints for DJGPP always 'pc', but it prints nothing about
> -        # the processor, so we play safe by assuming i386.
> -        echo i386-pc-msdosdjgpp
> -        exit ;;
> +        # uname -m prints for DJGPP always 'pc', but it prints nothing about
> +        # the processor, so we play safe by assuming i586.
> +        # Note: whatever this is, it MUST be the same as what config.sub
> +        # prints for the "djgpp" host, or else GDB configury will decide that
> +        # this is a cross-build.
> +        echo i586-pc-msdosdjgpp
> +        exit ;;
>      Intel:Mach:3*:*)
>          echo i386-pc-mach3
>          exit ;;
> @@ -1139,8 +1101,18 @@
>          /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
>            && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
>      3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
> -        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
> -          && { echo i486-ncr-sysv4; exit; } ;;
> +        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
> +          && { echo i486-ncr-sysv4; exit; } ;;
> +    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
> +        OS_REL='.3'
> +        test -r /etc/.relid \
> +            && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
> +        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
> +            && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
> +        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
> +            && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
> +        /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
> +            && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
>      m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
>          echo m68k-unknown-lynxos${UNAME_RELEASE}
>          exit ;;
> @@ -1153,7 +1125,7 @@
>      rs6000:LynxOS:2.*:*)
>          echo rs6000-unknown-lynxos${UNAME_RELEASE}
>          exit ;;
> -    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
> +    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
>          echo powerpc-unknown-lynxos${UNAME_RELEASE}
>          exit ;;
>      SM[BE]S:UNIX_SV:*:*)
> @@ -1173,10 +1145,10 @@
>                  echo ns32k-sni-sysv
>          fi
>          exit ;;
> -    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
> -                      # says <Richard.M.Bartel at ccMail.Census.GOV>
> -        echo i586-unisys-sysv4
> -        exit ;;
> +    PENTIUM:*:4.0*:*)        # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
> +                        # says <Richard.M.Bartel at ccMail.Census.GOV>
> +        echo i586-unisys-sysv4
> +        exit ;;
>      *:UNIX_System_V:4*:FTX*)
>          # From Gerald Hewes <hewes at openmarket.com>.
>          # How about differentiating between stratus architectures? -djm
> @@ -1202,11 +1174,11 @@
>          exit ;;
>      R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
>          if [ -d /usr/nec ]; then
> -                echo mips-nec-sysv${UNAME_RELEASE}
> +                echo mips-nec-sysv${UNAME_RELEASE}
>          else
> -                echo mips-unknown-sysv${UNAME_RELEASE}
> +                echo mips-unknown-sysv${UNAME_RELEASE}
>          fi
> -        exit ;;
> +        exit ;;
>      BeBox:BeOS:*:*)        # BeOS running on hardware made by Be, PPC only.
>          echo powerpc-be-beos
>          exit ;;
> @@ -1216,6 +1188,9 @@
>      BePC:BeOS:*:*)        # BeOS running on Intel PC compatible.
>          echo i586-pc-beos
>          exit ;;
> +    BePC:Haiku:*:*)        # Haiku running on Intel PC compatible.
> +        echo i586-pc-haiku
> +        exit ;;
>      SX-4:SUPER-UX:*:*)
>          echo sx4-nec-superux${UNAME_RELEASE}
>          exit ;;
> @@ -1243,6 +1218,16 @@
>      *:Darwin:*:*)
>          UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
>          case $UNAME_PROCESSOR in
> +            i386)
> +                eval $set_cc_for_build
> +                if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
> +                  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
> +                      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
> +                      grep IS_64BIT_ARCH >/dev/null
> +                  then
> +                      UNAME_PROCESSOR="x86_64"
> +                  fi
> +                fi ;;
>              unknown) UNAME_PROCESSOR=powerpc ;;
>          esac
>          echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
> @@ -1258,6 +1243,9 @@
>      *:QNX:*:4*)
>          echo i386-pc-qnx
>          exit ;;
> +    NEO-?:NONSTOP_KERNEL:*:*)
> +        echo neo-tandem-nsk${UNAME_RELEASE}
> +        exit ;;
>      NSE-?:NONSTOP_KERNEL:*:*)
>          echo nse-tandem-nsk${UNAME_RELEASE}
>          exit ;;
> @@ -1303,13 +1291,13 @@
>          echo pdp10-unknown-its
>          exit ;;
>      SEI:*:*:SEIUX)
> -        echo mips-sei-seiux${UNAME_RELEASE}
> +        echo mips-sei-seiux${UNAME_RELEASE}
>          exit ;;
>      *:DragonFly:*:*)
>          echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
>          exit ;;
>      *:*VMS:*:*)
> -            UNAME_MACHINE=`(uname -p) 2>/dev/null`
> +        UNAME_MACHINE=`(uname -p) 2>/dev/null`
>          case "${UNAME_MACHINE}" in
>              A*) echo alpha-dec-vms ; exit ;;
>              I*) echo ia64-dec-vms ; exit ;;
> @@ -1324,6 +1312,9 @@
>      i*86:rdos:*:*)
>          echo ${UNAME_MACHINE}-pc-rdos
>          exit ;;
> +    i*86:AROS:*:*)
> +        echo ${UNAME_MACHINE}-pc-aros
> +        exit ;;
>  esac
>  
>  #echo '(No uname command or uname output not recognized.)' 1>&2
> @@ -1346,11 +1337,11 @@
>  #include <sys/param.h>
>    printf ("m68k-sony-newsos%s\n",
>  #ifdef NEWSOS4
> -          "4"
> +        "4"
>  #else
> -          ""
> +        ""
>  #endif
> -         ); exit (0);
> +        ); exit (0);
>  #endif
>  #endif
>  
> only in patch2:
> unchanged:
> --- ext3grep-0.10.1.orig/src/ext3.h
> +++ ext3grep-0.10.1/src/ext3.h
> @@ -24,6 +24,17 @@
>  #ifndef EXT3_H
>  #define EXT3_H
>  
> +// this trickery needs to happen before ext2_fs is included so
> +// bail out if it has already been included by another path
> +#ifdef _LINUX_EXT2_FS_H
> +  #error please include this file before any other includes of ext2fs/ext2_fs.h
> +#endif
> +
> +// some versions of the ext2 headers call this s_frags_per_group and some
> +// call it s_clusters_per_group, define one to the other so our code works 
> +// with both
> +#define s_clusters_per_group s_frags_per_group
> +

Very interesting changes. Have you discussed this with upstream?

If not, that's fine; no need to slow down the package update in this
case. But be sure to eventually.

>  // Use the header files from e2progs (http://e2fsprogs.sourceforge.net)
>  // We can use these headers and then everything named ext2 or ext3.
>  #include <ext2fs/ext2_fs.h>                        // Definitions of ext2, ext3 and ext4.
> @@ -110,6 +121,12 @@
>      __u32 faddr(void) const { return i_faddr; }
>      __u16 uid_high(void) const { return i_uid_high; }
>      __u16 gid_high(void) const { return i_gid_high; }
> +#ifndef i_reseved2
> +    //i_reseved2 has been split into two fields in recent 
> +    //versions of the headers, luckilly we can still access
> +    //it in one peice through the hurd side of the union
> +    #define i_reserved2 osd2.hurd2.h_i_author
> +#endif

typo? Should this be:

#ifndef i_reserved2

not

#ifndef i_reseved2

This is an important issue, and you should fix it.

>      __u32 reserved2(void) const { return i_reserved2; }
>  
>      void set_reserved2(__u32 val) { i_reserved2 = val; }

That's all I have!

Cheers for the work on ext3grep!!

-- Asheesh.





More information about the forensics-devel mailing list