# %if %{_arch} != %{_build_arch}
# %define cross_compile 1
# %else
# %define cross_compile 0
# %endif
# %{?do_cross_compile:%define cross_compile 1}

# # Define march to 1 to enable the mips -march patch.
# %define march 1

set -e

cd $gccroot

# # Define merge to 1 to enable SHF_MERGE.
#%define merge 1
Patch2=gcc-new-abi.patch
Patch4=gcc-c++-typedef.patch
Patch5=gcc-no-warn-trigraphs.patch
Patch6=gcc-incomplete-struct.patch
Patch8=gcc-libstdc++-v3-wnoerror.patch
Patch9=gcc-string-crash.patch
Patch10=gcc-sparc64-subreg-byte.patch
Patch11=gcc-sparc64-reload.patch
Patch12=gcc-sparc64-startfile.patch
Patch13=gcc-sparc64-decloffset.patch
Patch14=gcc-sparc64-uname.patch
Patch15=gcc-sparc32-vaarg.patch
Patch16=gcc-sparc64-hwint.patch
Patch18=gcc-java-jword.patch
Patch19=gcc-align-memcpy.patch
Patch20=gcc-sparcv9-hack.patch
Patch21=gcc-stmtexpr.patch
Patch22=gcc-sparc32-hack.patch
Patch23=gcc-sparc32-hack2.patch
Patch25=gcc-clear-hack.patch
Patch28=gcc-loop.patch
Patch29=gcc-alpha-addressof.patch
Patch31=gcc-regmove-asm.patch
Patch33=gcc-cpplib.patch
Patch35=gcc-cpp0.patch
Patch36=gcc-canon-cond.patch
Patch37=gcc-bogus-subreg.patch
Patch38=gcc-cp-ii.patch
Patch39=gcc-subreg-gcse.patch
Patch40=gcc-subregbyte-gcse.patch
Patch41=gcc-combine-comparison.patch
Patch42=gcc-loop-noopt.patch
Patch43=gcc-loop-unroll.patch
Patch44=gcc-loop-test1.patch
Patch45=gcc-loop-test2.patch
Patch46=gcc-loop-scanloop.patch
Patch48=gcc-i386-ashlsilea.patch
Patch49=gcc-i386-lea.patch
Patch50=gcc-lowpart-test.patch
Patch51=gcc-loop-noopt2.patch
Patch52=gcc-i386-sibcall.patch
Patch53=gcc-cpp-warn.patch
Patch54=gcc-wint_t.patch
Patch55=gcc-format-checking.patch
Patch56=gcc-strftime.patch
Patch57=gcc-xopen.patch
Patch58=gcc-c99.patch
Patch59=gcc-iso-not-ansi.patch
Patch60=gcc-sibcall.patch
Patch61=gcc-Os-testcase.patch
Patch62=gcc-java-misc.patch
Patch63=gcc-java-bytecode.patch
Patch64=gcc-java-pg.patch
Patch65=gcc-commutative.patch
Patch66=gcc-relational.patch
Patch67=gcc-f-include.patch
Patch68=gcc-unroll.patch
Patch69=gcc-i386-strops.patch
Patch70=gcc-simplify-relational.patch
Patch71=gcc-alias.patch
Patch72=gcc-jsm1.patch
Patch73=gcc-jsm2.patch
Patch74=gcc-jsm3.patch
Patch75=gcc-scanf.patch
Patch76=gcc-jsm4.patch
Patch77=gcc-jsm5.patch
Patch78=gcc-jsm6.patch
Patch79=gcc-jsm7.patch
Patch80=gcc-jsm8.patch
Patch81=gcc-loop-hack.patch
Patch82=gcc-cpp-warnpaste.patch
Patch83=gcc-float-condmove.patch
Patch84=gcc-i386-call.patch
Patch85=gcc-i386-call2.patch
Patch86=gcc-i386-call-test.patch
Patch87=gcc-i386-arith.patch
Patch88=gcc-i386-ge_geu.patch
Patch89=gcc-i386-gotoff.patch
Patch90=gcc-java-catchup.patch
Patch91=gcc-java-no-super-layout.patch
Patch92=gcc-make-extraction.patch
Patch93=gcc-segv1.patch
Patch94=gcc-segv2.patch
Patch95=gcc-sparc-copy-leaf-remappable.patch
Patch96=gcc-wchar-const.patch
Patch97=gcc-libio.patch
Patch98=gcc-alpha-tune.patch
Patch99=gcc-alpha-unaligned.patch
Patch100=gcc-cpp-warnpaste2.patch
Patch101=gcc-loop-giv.patch
Patch102=gcc-real-value.patch
Patch103=gcc-sparc-const-pool.patch
Patch104=gcc-sparc64-timode.patch
Patch105=gcc-callersave-segv.patch
Patch106=gcc-libio-printf_fp.patch
Patch107=gcc-pt-enum.patch
Patch108=gcc-sparc-pic.patch
Patch109=gcc-subreg-byte-expmed.patch
Patch110=gcc-test-991206-1.patch
Patch111=gcc-alpha-mi-thunk.patch
Patch112=gcc-c++-pmf.patch
Patch113=gcc-f77-fdebug.patch
Patch114=gcc-libio-endl.patch
Patch115=gcc-i386-compare-test.patch
Patch116=gcc-sparc-may-trap.patch
Patch117=gcc-sparc-mi-thunk.patch
Patch118=gcc-c++-inline16-test.patch
Patch119=gcc-c++-named-return-value.patch
Patch120=gcc-c++-walk-tree.patch
Patch121=gcc-i386-reload-test.patch
Patch122=gcc-i386-reload.patch
Patch123=gcc-sibcall-unchanging.patch
Patch124=gcc-segv3.patch
Patch125=gcc-c++-crash24.patch
Patch126=gcc-do-store-flag.patch
Patch127=gcc-i386-address-cost.patch
Patch128=gcc-i386-arith2.patch
Patch129=gcc-i386-constraint-N.patch
Patch130=gcc-incomplete-aggregate-alias.patch
Patch131=gcc-sibcall-eh2.patch
Patch132=gcc-cpp-assert-crash.patch
Patch133=gcc-c++-undefined-method.patch
Patch134=gcc-sparc-4096.patch
Patch135=gcc-sparc64-reload-test.patch
Patch136=gcc-sparc64-reload2.patch
Patch137=gcc-subreg-byte-operand-subword.patch
Patch139=gcc-c++-static-class.patch
Patch140=gcc-c++-testset1.patch
Patch141=gcc-c++-testset2.patch
Patch142=gcc-place-field.patch
Patch143=gcc-sparc-output-formatting.patch
Patch144=gcc-sparc64-mi-thunk.patch
Patch145=gcc-sparc64-namedret.patch
Patch146=gcc-sparc64-nested-fn.patch
Patch147=gcc-c++-ice.patch
Patch148=gcc-alpha-fold-const.patch
Patch149=gcc-alpha-recog.patch
Patch150=gcc-c++-pointer-to-member-test.patch
Patch151=gcc-c++-sizetype.patch
Patch152=gcc-cpp-64k.patch
Patch153=gcc-cpp-empty-header.patch
Patch154=gcc-i386-regelim.patch
Patch155=gcc-sparc-builtin-setjmp.patch
Patch156=gcc-test-loop-7.patch
Patch157=gcc-c++-dump-expr.patch
Patch158=gcc-c++-inline-cmp.patch
Patch159=gcc-c++-inline-return.patch
Patch160=gcc-c++-label-scope.patch
Patch161=gcc-c++-ptm.patch
Patch162=gcc-c++-qual-error.patch
Patch163=gcc-const-fold.patch
Patch164=gcc-cpp-error-directive.patch
Patch165=gcc-i386-truncxfsf.patch
Patch166=gcc-integrate-clobber.patch
Patch167=gcc-libf2c-mkstemp.patch
Patch168=gcc-local-alloc.patch
Patch169=gcc-loop-hoistmem.patch
Patch170=gcc-sibcall-const.patch
Patch171=gcc-sibcall-emit-queue.patch
Patch172=gcc-unroll-iterations.patch
Patch173=gcc-volatile-local-var.patch
Patch174=gcc-c++-sizetype2.patch
Patch175=gcc-error-diagnostic.patch
Patch176=gcc-aggregate-mode.patch
Patch177=gcc-c++-addressof.patch
Patch178=gcc-aggregate-mode2.patch
Patch179=gcc-c++-addressof2.patch
Patch180=gcc-c++-inline-cmp2.patch
Patch181=gcc-cpp-fno-operator-names.patch
Patch182=gcc-c++-ggc-input.patch
Patch183=gcc-alpha-unaligned2.patch
Patch184=gcc-alpha-ze_and_ne.patch
Patch185=gcc-c++-wchar_t.patch
Patch186=gcc-cpp-arg-loop.patch
Patch187=gcc-cpp-fno-operator-names2.patch
Patch188=gcc-cpp-g3.patch
Patch189=gcc-fshort-wchar.patch
Patch190=gcc-max-strlen.patch
Patch191=gcc-stabs.patch
Patch192=gcc-subreg-byte-gcse2.patch
Patch193=gcc-tradcpp-MD.patch
Patch194=gcc-alpha-expand-block-move.patch
Patch195=gcc-c++-decl-needed.patch
Patch196=gcc-c++-nomods_initdcl0.patch
Patch197=gcc-cpp-MD.patch
Patch198=gcc-fixup-var-refs.patch
Patch199=gcc-frame-related.patch
Patch200=gcc-i386-cmpqi.patch
Patch201=gcc-i386-const-call-address.patch
Patch202=gcc-i386-fcmov.patch
Patch203=gcc-i386-sar.patch
Patch204=gcc-c++-extern-c.patch
Patch205=gcc-c++-inline-static.patch
Patch206=gcc-c++-inline-static2.patch
Patch207=gcc-cpp-M-include.patch
Patch208=gcc-integrate-compare.patch

Source209=gcc-cpp-20010126.tar.bz2
Patch209=gcc-cpp-20010126.patch
Patch210=gcc-objc-cpp-lineno.patch
Patch211=gcc-cpp-paste-avoid.patch
Patch212=gcc-cpp-paste-avoid2.patch

Patch213=gcc-c++-inline-modify_expr.patch
Patch214=gcc-i386-testqi_1.patch
Patch215=gcc-c++-anon-union.patch
Patch216=gcc-extract_bit_field.patch
Patch217=gcc-c++-overload-warn.patch
Patch218=gcc-cpp-implicit-extern-c.patch
Patch219=gcc-cpp-paste-avoid3.patch
Patch220=gcc-packed-enum-bitfield.patch
Patch221=gcc-variable-size.patch

# ia64 jumbo patch
Patch222=gcc-ia64.patch.bz2
Patch223=gcc-ia64-errata.patch

Patch224=gcc-cpp-defined-diag.patch
Patch225=gcc-cpp-paste-avoid4.patch
Patch226=gcc-dwarf2out-ice.patch
Patch227=gcc-g++.jason-2371.patch
Patch228=gcc-lex-line.patch
Patch229=gcc-alpha-unaligned3.patch
Patch230=gcc-consistency-test.patch
Source230=gcc-consistency-test.tar.bz2
Patch231=gcc-nested-parm.patch
Patch232=gcc-alpha-reload.patch
Patch233=gcc-alpha-shift.patch
Patch234=gcc-c++-init-copy-aggr.patch
Patch235=gcc-c++-inline-loop.patch
Patch236=gcc-c++-lookup.patch
Patch237=gcc-c++-taking-address-error.patch
Patch238=gcc-objc-gc.patch
Patch239=gcc-objc-test.patch
Patch240=gcc-reload-hardreg-free.patch
Patch241=gcc-cpp-20010222.patch
Patch242=gcc-expr-safety.patch
Patch243=gcc-debug-static-local.patch
Patch244=gcc-fixup-var-refs2.patch
Patch245=gcc-fold-const-div.patch
Patch246=gcc-g77-unused.patch
Patch247=gcc-ia64-flushrs.patch
Patch248=gcc-ia64-syscall-linkage.patch
Patch249=gcc-recog-addressof.patch
Patch250=gcc-cpp-20010309.patch
Patch251=gcc-cant-combine.patch
Patch252=gcc-i386-crtendS.patch
Patch253=gcc-reg-stack-clobber.patch
Patch254=gcc-reg-stack.patch
Patch255=gcc-store-expr.patch
Patch256=gcc-target-expr.patch
Patch257=gcc-c++-anonaggr-copy.patch
Patch258=gcc-c++-asmspec.patch
Patch259=gcc-c++-static-local.patch
Patch260=gcc-f77-line.patch
Patch261=gcc-libstdc++-getline.patch
Patch262=gcc-no-new-abi.patch
Patch263=gcc-regrename.patch
Patch264=gcc-subreg-byte-gcse3.patch
Patch265=gcc-wshadow-doc.patch
Patch266=gcc-c++-D__EXCEPTIONS.patch
Patch267=gcc-c++-throttle-inline.patch
Patch268=gcc-fold-pointer-cmp.patch
Patch269=gcc-ifcvt-strict-low-part.patch
Patch270=gcc-gcse-reg-equiv.patch
Patch271=gcc-null-pointer-check.patch
Patch272=gcc-local-inline.patch
Patch273=gcc-cpp-Wcomment.patch
Patch274=gcc-cselib-mode.patch
Patch275=gcc-dwarf2-O0-crash.patch
Patch276=gcc-dwarf2out-splice-child.patch
Patch277=gcc-i386-movcc.patch
Patch278=gcc-ia64-xdata.patch
Patch279=gcc-subregbyte-hard-regno.patch
Patch280=gcc-tradtradcpp0.patch
Patch281=gcc-flow-autoinc.patch
Patch282=gcc-ia64-constconst.patch
Patch283=gcc-ia64-G.patch
Patch284=gcc-integrate-error.patch
Patch285=gcc-MD-nodot.patch
Patch286=gcc-store-constructor-field.patch
Patch287=gcc-ia64-except.patch
Patch288=gcc-ia64-loc79.patch
Patch289=gcc-ia64-bstep.patch
Patch290=gcc-c++-templ-arg.patch
Patch291=gcc-frame-state-for-compat.patch
Patch292=gcc-sibcall-catch.patch
Patch293=gcc-tradcpp-define.patch
Patch294=gcc-c++-inline-method.patch
Patch295=gcc-gcse-trapping.patch
Patch296=gcc-nested-expr-stmt.patch
Patch297=gcc-__NO_INLINE__.patch
Patch298=gcc-bogus-inline.patch
Patch299=gcc-c++-defarg.patch
Patch300=gcc-c++-instantiate.patch
Patch301=gcc-c++-static-ctordtor.patch
Patch302=gcc-c++-templ-arg2.patch
Patch303=gcc-c++-ucs.patch
Patch304=gcc-fsyntax-only.patch
Patch305=gcc-g77-unsigned-char.patch
Patch306=gcc-hash-ident.patch
Patch307=gcc-jump-threading.patch
Patch308=gcc-regmove-unchanging.patch
Patch309=gcc-ia64-complex-float.patch
Patch310=gcc-ia64-movcc-fail.patch
Patch311=gcc-ia64-stop-bit.patch
Patch312=gcc-c++-friend.patch
Patch313=gcc-i386-stack-adjust.patch
Patch314=gcc-SHF_MERGE.patch
Patch315=gcc-dwarf2-filenames.patch
Patch316=gcc-k6-loop.patch
Patch317=gcc-libobjc-3.0.patch
Patch318=gcc-texinfo-texconfig.patch
Patch319=gcc-c++-complext.patch
Patch320=gcc-c++-conv-cv-ptr.patch
Patch321=gcc-c++-sstream-warn.patch
Patch322=gcc-f77-ffixed.patch
Patch323=gcc-invalid-stabs.patch
Patch324=gcc-libio-test.patch
Patch325=gcc-alpha-function-sections.patch
Patch326=gcc-alpha-vtable-gc.patch
Patch327=gcc-c++-anontypename.patch
Patch328=gcc-c++-array-cast.patch
Patch329=gcc-c++-colonequal.patch
Patch330=gcc-c++-cond-ovl.patch
Patch331=gcc-c++-weak-address.patch
Patch332=gcc-libio-input-float.patch
Patch333=gcc-subreg-byte-stabs.patch
Patch334=gcc-c++-array-side-effects.patch
Patch335=gcc-cpp-memleak.patch
Patch336=gcc-c++-template-throw.patch
Patch337=gcc-c++-tsubst-friend-class.patch
Patch338=gcc-dwarf2-debug-line.patch
Patch339=gcc-ifcvt-eh.patch
Patch340=gcc-ia64-vararg.patch
Patch341=gcc-gcse-hoist.patch
Patch342=gcc-ia64-eh.patch
Patch343=gcc-libio-stdstream-offset.patch
Patch344=gcc-objc-class-ref.patch
Patch345=gcc-tail-recurse.patch
Patch346=gcc-c++-sstream-seek.patch
Patch347=gcc-loop-combine-givs.patch

Patch500=gcc-libg++-config.patch
#%if %{LIBGXX}
#Patch501=ftp://gcc.gnu.org/pub/gcc/infrastructure/libg++-2.8.1.3-20000312.diff.gz
#Patch502=ftp://gcc.gnu.org/pub/gcc/infrastructure/libg++-2.8.1.3-20000419.diff.gz
#Patch503=ftp://gcc.gnu.org/pub/gcc/infrastructure/libg++-2.8.1.3-20000816.diff.gz
#%endif

Patch1000=gcc-3.0-libf2c-shell.patch
Patch1002=gcc-3.0-cross.patch
Patch1003=gcc-2.96-glibc-2.2.patch
Patch1004=gcc-2.96-fix-header.patch
Patch1005=gcc-2.96-as-SHF_MERGE.patch
Patch1006=gcc-3.0-tcl-8.x.patch
Patch1007=gcc-2.96-build-cflags.patch
Patch1008=gcc-2.96-parallel.patch
Patch1009=gcc-2.96-c++-template.patch
Patch1010=gcc-2.96-subreg.patch
Patch2000=gcc-3.0-doloop.patch
Patch3000=gcc-2.96-mips.patch
Patch3001=gcc-2.96-mips-type.patch
Patch3002=gcc-2.96-mips-fp.patch
Patch3003=gcc-2.96-mips-reload.patch
Patch3004=gcc-2.96-mips-ident.patch
Patch3005=gcc-2.96-mips-stabs.patch
Patch4000=gcc-2.96-iris6-weak.patch
Patch4001=gcc-2.96-mips-call.patch
Patch4002=gcc-2.96-iris6-size.patch
Patch4003=gcc-2.96-iris6-pthread.patch
Patch4004=gcc-2.96-mips-except.patch
Patch4005=gcc-2.96-mips-invert.patch
Patch4006=gcc-2.96-mips-ascii.patch
Patch5000=gcc-2.96-mips-march.patch
Patch5001=gcc-2.96-mips-mcpu.patch
Patch5002=gcc-2.96-mips-r10k.patch
Patch6000=gcc-2.96-mips-SHF_MERGE.patch

patch <$patchdir/$Patch10 -p0 -z .sparc
patch <$patchdir/$Patch11 -p0 -z .sparc1
patch <$patchdir/$Patch12 -p0 -z .sparc2
patch <$patchdir/$Patch13 -p0 -z .sparc3
patch <$patchdir/$Patch14 -p0 -z .sparc4
patch <$patchdir/$Patch15 -p0 -z .sparc5
patch <$patchdir/$Patch16 -p0 -z .sparc6
patch <$patchdir/$Patch18 -p0 -z .jword
patch <$patchdir/$Patch19 -p0 -z .memcpy
patch <$patchdir/$Patch20 -p0 -z .sparcv9
#%if %{LIBSTDCXX_V3}
#patch <$patchdir/$Patch2 -p0 -z .new_abi
#%endif
patch <$patchdir/$Patch4 -p0 -z .typedef
patch <$patchdir/$Patch5 -p0 -z .trigraph
patch <$patchdir/$Patch6 -p0 -z .incompl
patch <$patchdir/$Patch8 -p0 -z .wnoerror
patch <$patchdir/$Patch9 -p0 -z .stringcrash
patch <$patchdir/$Patch21 -p0 -z .stmtexpr
#%ifarch sparc
# patch <$patchdir/$Patch22 -p0 -z .sparc32hack
# if [ ! -f /usr/lib64/crt1.o ]; then
# patch <$patchdir/$Patch23 -p0 -z .sparc32hack2
# fi
# %endif
patch <$patchdir/$Patch25 -p0 -z .hack
patch <$patchdir/$Patch28 -p0 -z .loop
patch <$patchdir/$Patch29 -p0 -z .addressof
patch <$patchdir/$Patch31 -p0 -z .regmoveasm
patch <$patchdir/$Patch33 -p0 -z .cpplib
patch <$patchdir/$Patch35 -p0 -z .cpp0
patch <$patchdir/$Patch36 -p0 -z .canoncond
patch <$patchdir/$Patch37 -p0 -z .bogussubreg
patch <$patchdir/$Patch38 -p0 -z .cpii
patch <$patchdir/$Patch39 -p0 -z .subreggcse
patch <$patchdir/$Patch40 -p0 -z .subregbytegcse
patch <$patchdir/$Patch41 -p0 -z .combinecomparison
patch <$patchdir/$Patch42 -p0 -z .loopnoopt
patch <$patchdir/$Patch43 -p0 -z .loopunroll
patch <$patchdir/$Patch44 -p0 -z .looptest1
patch <$patchdir/$Patch45 -p0 -z .looptest2
patch <$patchdir/$Patch46 -p0 -z .loopscanloop
patch <$patchdir/$Patch48 -p0 -z .ashlsilea
patch <$patchdir/$Patch49 -p0 -z .lea
patch <$patchdir/$Patch50 -p0 -z .lowparttest
patch <$patchdir/$Patch51 -p0 -z .loopnoopt2
patch <$patchdir/$Patch52 -p0 -z .i386sib
patch <$patchdir/$Patch53 -p0 -z .cppwarn
patch <$patchdir/$Patch54 -p0 -z .wintt
patch <$patchdir/$Patch55 -p0 -z .fmtchk
patch <$patchdir/$Patch56 -p0 -z .strftime
patch <$patchdir/$Patch57 -p0 -z .xopen
patch <$patchdir/$Patch58 -p0 -z .c99std
patch <$patchdir/$Patch59 -p0 -z .iso-not-ansi
patch <$patchdir/$Patch60 -p0 -z .sibcall
patch <$patchdir/$Patch61 -p0 -z .ostest
patch <$patchdir/$Patch62 -p0 -z .java-misc
patch <$patchdir/$Patch63 -p0 -z .java-bytecode
patch <$patchdir/$Patch64 -p0 -z .java-pg
# These two are buggy
#patch <$patchdir/$Patch65 -p0 -z .cmtable
#patch <$patchdir/$Patch66 -p0 -z .relational
patch <$patchdir/$Patch67 -p0 -z .finclude
patch <$patchdir/$Patch68 -p0 -z .unroll
patch <$patchdir/$Patch69 -p0 -z .i386-strops
patch <$patchdir/$Patch70 -p0 -z .simplify-rela
patch <$patchdir/$Patch71 -p0 -z .alias
patch <$patchdir/$Patch72 -p0 -z .jsm1
patch <$patchdir/$Patch73 -p0 -z .jsm2
patch <$patchdir/$Patch74 -p0 -z .jsm3
patch <$patchdir/$Patch75 -p0 -z .scanf
patch <$patchdir/$Patch76 -p0 -z .jsm4
patch <$patchdir/$Patch77 -p0 -z .jsm5
patch <$patchdir/$Patch78 -p0 -z .jsm6
patch <$patchdir/$Patch79 -p0 -z .jsm7
patch <$patchdir/$Patch80 -p0 -z .jsm8
patch <$patchdir/$Patch81 -p0 -z .loop-hack
patch <$patchdir/$Patch82 -p0 -z .cpp-warnpaste
patch <$patchdir/$Patch83 -p0 -z .float-condmove
patch <$patchdir/$Patch84 -p0 -z .i386-call
patch <$patchdir/$Patch85 -p0 -z .i386-call2
patch <$patchdir/$Patch86 -p0 -z .i386-call-test
patch <$patchdir/$Patch87 -p0 -z .i386-arith
patch <$patchdir/$Patch88 -p0 -z .i386-ge_geu
patch <$patchdir/$Patch89 -p0 -z .i386-gotoff
patch <$patchdir/$Patch90 -p0 -z .java-catchup
patch <$patchdir/$Patch91 -p0 -z .java-no-super-layout
patch <$patchdir/$Patch92 -p0 -z .make-extraction
patch <$patchdir/$Patch93 -p0 -z .segv1
patch <$patchdir/$Patch94 -p0 -z .segv2
patch <$patchdir/$Patch95 -p0 -z .copy-leaf-remap
patch <$patchdir/$Patch96 -p0 -z .wchar-const
patch <$patchdir/$Patch97 -p0 -z .libio
patch <$patchdir/$Patch98 -p0 -z .alpha-tune
patch <$patchdir/$Patch99 -p0 -z .alpha-unaligned
patch <$patchdir/$Patch100 -p0 -z .cpp-warnpaste2
patch <$patchdir/$Patch101 -p0 -z .loop-giv
patch <$patchdir/$Patch102 -p0 -z .real-value
patch <$patchdir/$Patch103 -p0 -z .sparc-const-pool
patch <$patchdir/$Patch104 -p0 -z .sparc64-timode
patch <$patchdir/$Patch105 -p0 -z .callersave-segv
patch <$patchdir/$Patch106 -p0 -z .libio-printf_fp
patch <$patchdir/$Patch107 -p0 -z .pt-enum
patch <$patchdir/$Patch108 -p0 -z .sparc-pic
patch <$patchdir/$Patch109 -p0 -z .subreg-byte-expmed
patch <$patchdir/$Patch110 -p0 -z .test-991206-1
patch <$patchdir/$Patch111 -p0 -z .alpha-mi-thunk
patch <$patchdir/$Patch112 -p0 -z .c++-pmf
patch <$patchdir/$Patch113 -p0 -z .f77-fdebug
patch <$patchdir/$Patch114 -p0 -z .libio-endl
patch <$patchdir/$Patch115 -p0 -z .i386-compare-test
patch <$patchdir/$Patch116 -p0 -z .sparc-may-trap
patch <$patchdir/$Patch117 -p0 -z .sparc-mi-thunk
patch <$patchdir/$Patch118 -p0 -z .c++-inline16-test
patch <$patchdir/$Patch119 -p0 -z .c++-named-return-value
patch <$patchdir/$Patch120 -p0 -z .c++-walk-tree
patch <$patchdir/$Patch121 -p0 -z .i386-reload-test
patch <$patchdir/$Patch122 -p0 -z .i386-reload
patch <$patchdir/$Patch123 -p0 -z .sibcall-unchanging
patch <$patchdir/$Patch124 -p0 -z .segv3
patch <$patchdir/$Patch125 -p0 -z .c++-crash24
patch <$patchdir/$Patch126 -p0 -z .do-store-flag
patch <$patchdir/$Patch127 -p0 -z .i386-address-cost
patch <$patchdir/$Patch128 -p0 -z .i386-arith2
patch <$patchdir/$Patch129 -p0 -z .i386-constraint-N
patch <$patchdir/$Patch130 -p0 -z .incomplete-aggregate-alias
patch <$patchdir/$Patch131 -p0 -z .sibcall-eh2
patch <$patchdir/$Patch132 -p0 -z .cpp-assert-crash
patch <$patchdir/$Patch133 -p0 -z .c++-undefined-method
patch <$patchdir/$Patch134 -p0 -z .sparc-4096
patch <$patchdir/$Patch135 -p0 -z .sparc64-reload-test
patch <$patchdir/$Patch136 -p0 -z .sparc64-reload2
patch <$patchdir/$Patch137 -p0 -z .subreg-byte-operand-subword
patch <$patchdir/$Patch139 -p0 -z .c++-static-class
patch <$patchdir/$Patch140 -p0 -z .c++-testset1
patch <$patchdir/$Patch141 -p0 -z .c++-testset2
patch <$patchdir/$Patch142 -p0 -z .place-field
patch <$patchdir/$Patch143 -p0 -z .sparc-output-formatting
patch <$patchdir/$Patch144 -p0 -z .sparc64-mi-thunk
patch <$patchdir/$Patch145 -p0 -z .sparc64-namedret
patch <$patchdir/$Patch146 -p0 -z .sparc64-nested-fn
patch <$patchdir/$Patch147 -p0 -z .c++-ice
patch <$patchdir/$Patch148 -p0 -z .alpha-fold-const
patch <$patchdir/$Patch149 -p0 -z .alpha-recog
patch <$patchdir/$Patch150 -p0 -z .c++-pointer-to-member-test
patch <$patchdir/$Patch151 -p0 -z .c++-sizetype
patch <$patchdir/$Patch152 -p0 -z .cpp-64k
patch <$patchdir/$Patch153 -p0 -z .cpp-empty-header
patch <$patchdir/$Patch154 -p0 -z .i386-regelim
patch <$patchdir/$Patch155 -p0 -z .sparc-builtin-setjmp
patch <$patchdir/$Patch156 -p0 -z .test-loop-7
patch <$patchdir/$Patch157 -p0 -z .c++-dump-expr
patch <$patchdir/$Patch158 -p0 -z .c++-inline-cmp
patch <$patchdir/$Patch159 -p0 -z .c++-inline-return
patch <$patchdir/$Patch160 -p0 -z .c++-label-scope
patch <$patchdir/$Patch161 -p0 -z .c++-ptm
patch <$patchdir/$Patch162 -p0 -z .c++-qual-error
patch <$patchdir/$Patch163 -p0 -z .const-fold
patch <$patchdir/$Patch164 -p0 -z .cpp-error-directive
patch <$patchdir/$Patch165 -p0 -z .i386-truncxfsf
patch <$patchdir/$Patch166 -p0 -z .integrate-clobber
patch <$patchdir/$Patch167 -p0 -z .libf2c-mkstemp
patch <$patchdir/$Patch168 -p0 -z .local-alloc
patch <$patchdir/$Patch169 -p0 -z .loop-hoistmem
patch <$patchdir/$Patch170 -p0 -z .sibcall-const
patch <$patchdir/$Patch171 -p0 -z .sibcall-emit-queue
patch <$patchdir/$Patch172 -p0 -z .unroll-iterations
patch <$patchdir/$Patch173 -p0 -z .volatile-local-var
patch <$patchdir/$Patch174 -p0 -z .c++-sizetype2
patch <$patchdir/$Patch175 -p0 -z .error-diagnostic
patch <$patchdir/$Patch176 -p0 -z .aggregate-mode
patch <$patchdir/$Patch177 -p0 -z .c++-addressof
patch <$patchdir/$Patch178 -p0 -z .aggregate-mode2
patch <$patchdir/$Patch179 -p0 -z .c++-addressof2
patch <$patchdir/$Patch180 -p0 -z .c++-inline-cmp2.patch
patch <$patchdir/$Patch181 -p0 -z .cpp-fno-operator-names
patch <$patchdir/$Patch182 -p0 -z .c++-ggc-input
patch <$patchdir/$Patch183 -p0 -z .alpha-unaligned2
patch <$patchdir/$Patch184 -p0 -z .alpha-ze_and_ne
patch <$patchdir/$Patch185 -p0 -z .c++-wchar_t
patch <$patchdir/$Patch186 -p0 -z .cpp-arg-loop
patch <$patchdir/$Patch187 -p0 -z .cpp-fno-operator-names2
patch <$patchdir/$Patch188 -p0 -z .cpp-g3
patch <$patchdir/$Patch189 -p0 -z .fshort-wchar
patch <$patchdir/$Patch190 -p0 -z .max-strlen
patch <$patchdir/$Patch191 -p0 -z .stabs
patch <$patchdir/$Patch192 -p0 -z .subreg-byte-gcse2
patch <$patchdir/$Patch193 -p0 -z .tradcpp-MD
patch <$patchdir/$Patch194 -p0 -z .alpha-expand-block-move
patch <$patchdir/$Patch195 -p0 -z .c++-decl-needed
patch <$patchdir/$Patch196 -p0 -z .c++-nomods_initdcl0
patch <$patchdir/$Patch197 -p0 -z .cpp-MD
patch <$patchdir/$Patch198 -p0 -z .fixup-var-refs
patch <$patchdir/$Patch199 -p0 -z .frame-related
patch <$patchdir/$Patch200 -p0 -z .i386-cmpqi
patch <$patchdir/$Patch201 -p0 -z .i386-const-call-address
patch <$patchdir/$Patch202 -p0 -z .i386-fcmov
patch <$patchdir/$Patch203 -p0 -z .i386-sar
patch <$patchdir/$Patch204 -p0 -z .c++-extern-c
patch <$patchdir/$Patch205 -p0 -z .c++-inline-static
patch <$patchdir/$Patch206 -p0 -z .c++-inline-static2
patch <$patchdir/$Patch207 -p0 -z .cpp-M-include
patch <$patchdir/$Patch208 -p0 -z .integrate-compare
# Put in cpp snapshot from 20010126
rm -rf gcc/testsuite/gcc.dg/cpp
tar x --bzip2 -f $patchdir/$Source209
patch <$patchdir/$Patch209 -p0 -z .cpp-20010126
patch <$patchdir/$Patch210 -p0 -z .objc-cpp-lineno
patch <$patchdir/$Patch211 -p0 -z .cpp-paste-avoid
patch <$patchdir/$Patch212 -p0 -z .cpp-paste-avoid2
# Bug fixing continues
patch <$patchdir/$Patch213 -p0 -z .c++-inline-modify_expr
patch <$patchdir/$Patch214 -p0 -z .i386-testqi_1
patch <$patchdir/$Patch215 -p0 -z .c++-anon-union
patch <$patchdir/$Patch216 -p0 -z .extract_bit_field
patch <$patchdir/$Patch217 -p0 -z .c++-overload-warn
patch <$patchdir/$Patch218 -p0 -z .cpp-implicit-extern-c
patch <$patchdir/$Patch219 -p0 -z .cpp-paste-avoid3
patch <$patchdir/$Patch220 -p0 -z .packed-enum-bitfield
patch <$patchdir/$Patch221 -p0 -z .variable-size
#%ifarch ia64
#patch <$patchdir/$Patch222 -p0 -z .ia64
#patch <$patchdir/$Patch223 -p0 -z .ia64-errata
#%endif

patch <$patchdir/$Patch224 -p0 -z .cpp-defined-diag
patch <$patchdir/$Patch225 -p0 -z .cpp-paste-avoid4
patch <$patchdir/$Patch226 -p0 -z .dwarf2out-ice
patch <$patchdir/$Patch227 -p0 -z .g++.jason-2371
patch <$patchdir/$Patch228 -p0 -z .lex-line
patch <$patchdir/$Patch229 -p0 -z .alpha-unaligned3
tar x --bzip2 -f $patchdir/$Source230
patch <$patchdir/$Patch230 -p0 -z .consistency
patch <$patchdir/$Patch231 -p0 -z .nested-parm
patch <$patchdir/$Patch232 -p0 -z .alpha-reload
patch <$patchdir/$Patch233 -p0 -z .alpha-shift
patch <$patchdir/$Patch234 -p0 -z .c++-init-copy-aggr
patch <$patchdir/$Patch235 -p0 -z .c++-inline-loop
patch <$patchdir/$Patch236 -p0 -z .c++-lookup
patch <$patchdir/$Patch237 -p0 -z .c++-taking-address-error
patch <$patchdir/$Patch238 -p0 -z .objc-gc
patch <$patchdir/$Patch239 -p0 -z .objc-test
patch <$patchdir/$Patch240 -p0 -z .reload-hardreg-free
patch <$patchdir/$Patch241 -p0 -z .cpp-20010222
patch <$patchdir/$Patch242 -p0 -z .expr-safety
patch <$patchdir/$Patch243 -p0 -z .debug-static-local
patch <$patchdir/$Patch244 -p0 -z .fixup-var-refs2
patch <$patchdir/$Patch245 -p0 -z .fold-const-div
patch <$patchdir/$Patch246 -p0 -z .g77-unused
#%ifarch ia64
#patch <$patchdir/$Patch247 -p0 -z .ia64-flushrs
#patch <$patchdir/$Patch248 -p0 -z .ia64-syscall-linkage
#%endif
patch <$patchdir/$Patch249 -p0 -z .recog-addressof
patch <$patchdir/$Patch250 -p0 -z .cpp-20010309
patch <$patchdir/$Patch251 -p0 -z .cant-combine
patch <$patchdir/$Patch252 -p0 -z .i386-crtendS
patch <$patchdir/$Patch253 -p0 -z .reg-stack-clobber
patch <$patchdir/$Patch254 -p0 -z .reg-stack
patch <$patchdir/$Patch255 -p0 -z .store-expr
patch <$patchdir/$Patch256 -p0 -z .target-expr
patch <$patchdir/$Patch257 -p0 -z .c++-anonaggr-copy
patch <$patchdir/$Patch258 -p0 -z .c++-asmspec
patch <$patchdir/$Patch259 -p0 -z .c++-static-local
patch <$patchdir/$Patch260 -p0 -z .f77-line
patch <$patchdir/$Patch261 -p0 -z .libstdc++-getline
patch <$patchdir/$Patch262 -p0 -z .no-new-abi
patch <$patchdir/$Patch263 -p0 -z .regrename
patch <$patchdir/$Patch264 -p0 -z .subreg-byte-gcse3
patch <$patchdir/$Patch265 -p0 -z .wshadow-doc
patch <$patchdir/$Patch266 -p0 -z .c++-D__EXCEPTIONS
patch <$patchdir/$Patch267 -p0 -z .c++-throttle-inline
patch <$patchdir/$Patch268 -p0 -z .fold-pointer-cmp
patch <$patchdir/$Patch269 -p0 -z .ifcvt-strict-low-part
patch <$patchdir/$Patch270 -p0 -z .gcse-reg-equiv
patch <$patchdir/$Patch271 -p0 -z .null-pointer-check
patch <$patchdir/$Patch272 -p0 -z .local-inline
patch <$patchdir/$Patch273 -p0 -z .cpp-Wcomment
patch <$patchdir/$Patch274 -p0 -z .cselib-mode
patch <$patchdir/$Patch275 -p0 -z .dwarf2-O0-crash
patch <$patchdir/$Patch276 -p0 -z .dwarf2out-splice-child
patch <$patchdir/$Patch277 -p0 -z .i386-movcc
patch <$patchdir/$Patch278 -p0 -z .ia64-xdata
patch <$patchdir/$Patch279 -p0 -z .subregbyte-hard-regno
patch <$patchdir/$Patch280 -p0 -z .tradtradcpp0
patch <$patchdir/$Patch281 -p0 -z .flow-autoinc
patch <$patchdir/$Patch282 -p0 -z .ia64-constconst
patch <$patchdir/$Patch283 -p0 -z .ia64-G
patch <$patchdir/$Patch284 -p0 -z .integrate-error
patch <$patchdir/$Patch285 -p0 -z .MD-nodot
patch <$patchdir/$Patch286 -p0 -z .store-constructor-field
# %ifarch ia64
# patch <$patchdir/$Patch287 -p0 -z .ia64-expect
# patch <$patchdir/$Patch288 -p0 -z .ia64-loc79
# # Add -mb-step automatically -- this will go away when production
# # hardware is available.
# patch <$patchdir/$Patch289 -p0 -z .ia64-bstep
# %endif
patch <$patchdir/$Patch290 -p0 -z .c++-templ-arg
patch <$patchdir/$Patch291 -p0 -z .frame-state-for-compat
patch <$patchdir/$Patch292 -p0 -z .sibcall-catch
patch <$patchdir/$Patch293 -p0 -z .tradcpp-define
patch <$patchdir/$Patch294 -p0 -z .c++-inline-method
patch <$patchdir/$Patch295 -p0 -z .gcse-trapping
patch <$patchdir/$Patch296 -p0 -z .nested-expr-stmt
patch <$patchdir/$Patch297 -p0 -z .__NO_INLINE__
patch <$patchdir/$Patch298 -p0 -z .bogus-inline
patch <$patchdir/$Patch299 -p0 -z .c++-defarg
patch <$patchdir/$Patch300 -p0 -z .c++-instantiate
patch <$patchdir/$Patch301 -p0 -z .c++-static-ctordtor
patch <$patchdir/$Patch302 -p0 -z .c++-templ-arg2
patch <$patchdir/$Patch303 -p0 -z .c++-ucs
patch <$patchdir/$Patch304 -p0 -z .fsyntax-only
patch <$patchdir/$Patch305 -p0 -z .g77-unsigned-char
patch <$patchdir/$Patch306 -p0 -z .hash-ident
#patch <$patchdir/$Patch307 -p0 -z .jump-threading
patch <$patchdir/$Patch308 -p0 -z .regmove-unchanging
# %ifarch ia64
# patch <$patchdir/$Patch309 -p0 -z .ia64-complex-float
# patch <$patchdir/$Patch310 -p0 -z .ia64-movcc-fail
# patch <$patchdir/$Patch311 -p0 -z .ia64-stop-bit
# %endif
patch <$patchdir/$Patch312 -p0 -z .c++-friend
patch <$patchdir/$Patch313 -p0 -z .i386-stack-adjust
#%if %{merge}
# true
patch <$patchdir/$Patch314 -p0 -z .SHF_MERGE
#%endif
patch <$patchdir/$Patch315 -p0 -z .dwarf2-filenames
patch <$patchdir/$Patch316 -p0 -z .k6-loop
patch <$patchdir/$Patch317 -p0 -z .libobjc-3.0
patch <$patchdir/$Patch318 -p0 -z .texinfo-texconfig
patch <$patchdir/$Patch319 -p0 -z .c++-complext
patch <$patchdir/$Patch320 -p0 -z .c++-conv-cv-ptr
patch <$patchdir/$Patch321 -p0 -z .c++-sstream-warn
patch <$patchdir/$Patch322 -p0 -z .f77-ffixed
patch <$patchdir/$Patch323 -p0 -z .invalid-stabs
patch <$patchdir/$Patch324 -p0 -z .libio-test
patch <$patchdir/$Patch325 -p0 -z .alpha-function-sections
patch <$patchdir/$Patch326 -p0 -z .alpha-vtable-gc
patch <$patchdir/$Patch327 -p0 -z .c++-anontypename
patch <$patchdir/$Patch328 -p0 -z .c++-array-cast
patch <$patchdir/$Patch329 -p0 -z .c++-colonequal
patch <$patchdir/$Patch330 -p0 -z .c++-cond-ovl
patch <$patchdir/$Patch331 -p0 -z .c++-weak-address
patch <$patchdir/$Patch332 -p0 -z .libio-input-float
patch <$patchdir/$Patch333 -p0 -z .subreg-byte-stabs
patch <$patchdir/$Patch334 -p0 -z .c++-array-side-effects
patch <$patchdir/$Patch335 -p0 -z .cpp-memleak
patch <$patchdir/$Patch336 -p0 -z .c++-template-throw
patch <$patchdir/$Patch337 -p0 -z .c++-tsubst-friend-class
patch <$patchdir/$Patch338 -p0 -z .dwarf2-debug-line
patch <$patchdir/$Patch339 -p0 -z .ifcvt-eh
patch <$patchdir/$Patch340 -p0 -z .ia64-vararg
patch <$patchdir/$Patch341 -p0 -z .gcse-hoist
#%ifarch ia64
#patch <$patchdir/$Patch342 -p0 -z .ia64-eh
#%endif
patch <$patchdir/$Patch343 -p0 -z .libio-stdstream-offset
patch <$patchdir/$Patch344 -p0 -z .objc-class-ref
patch <$patchdir/$Patch345 -p0 -z .tail-recurse
patch <$patchdir/$Patch346 -p0 -z .c++-sstream-seek
patch <$patchdir/$Patch347 -p0 -z .loop-combine-givs

# %if %{LIBGXX}
# %setup -q -D -T -a 1 -n gcc-%{gcc_version}-%{DATE}
# mv libg++-2.8.1.3/* .
# rmdir libg++-2.8.1.3
# patch <$patchdir/$Patch500 -p0
# patch <$patchdir/$Patch501 -p1
# patch <$patchdir/$Patch502 -p1
# patch <$patchdir/$Patch503 -p1
# %endif

patch <$patchdir/$Patch1000 -p0 -z .libf2c
patch <$patchdir/$Patch1002 -p1 -z .cross
patch <$patchdir/$Patch1003 -p1 -z .glibc-2.2
patch <$patchdir/$Patch1004 -p0 -z .fix-header
patch <$patchdir/$Patch1005 -p0 -z .MS
patch <$patchdir/$Patch1006 -p0 -z .tcl
patch <$patchdir/$Patch1007 -p1 -z .build-cflags
patch <$patchdir/$Patch1008 -p0 -z .parallel
patch <$patchdir/$Patch1009 -p0 -z .template
patch <$patchdir/$Patch1010 -p0 -z .subreg

#%ifnarch ia64
#true
patch <$patchdir/$Patch2000 -p0 -z .doloop
#%endif

#%if %{merge}
# true
patch <$patchdir/$Patch6000 -p0 -z .mips
# %else
# patch <$patchdir/$Patch3000 -p0 -z .mips
# %endif
patch <$patchdir/$Patch3001 -p0 -z .type
patch <$patchdir/$Patch3002 -p0 -z .fp
patch <$patchdir/$Patch3003 -p0 -z .mips-reload
patch <$patchdir/$Patch3004 -p0 -z .ident
patch <$patchdir/$Patch3005 -p0 -z .stabs

patch <$patchdir/$Patch4000 -p0 -z .weak
patch <$patchdir/$Patch4001 -p0 -z .call
patch <$patchdir/$Patch4002 -p0 -z .size
patch <$patchdir/$Patch4003 -p0 -z .pthread
patch <$patchdir/$Patch4004 -p0 -z .except
patch <$patchdir/$Patch4005 -p0 -z .invert
patch <$patchdir/$Patch4006 -p0 -z .ascii

#%if %{march}
# true
patch <$patchdir/$Patch5000 -p0 -z .march
patch <$patchdir/$Patch5001 -p0 -z .mcpu
patch <$patchdir/$Patch5002 -p0 -z .r10k
#%endif

