summaryrefslogtreecommitdiff
path: root/patches
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-08-14 20:11:44 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-08-14 20:11:44 (GMT)
commit6c368af5b4e68c05c8774ea5795b708aca9d0d66 (patch)
tree85f99014c1d7d312006d95d6dc37f9bf1ab47b8e /patches
parentab0fc7eab41d6e253549dbc63431f9ba153a0418 (diff)
Do a clean-up pass on the OBSOLETE features (versions):
- remove legions of those, - remove associated patches no longer needed, - mark then as (OBSOLETE) in the prompt;
Diffstat (limited to 'patches')
-rw-r--r--patches/binutils/2.11.2/gcc-pr3106.patch28
-rw-r--r--patches/binutils/2.13.90.0.2/README6
-rw-r--r--patches/binutils/2.13.90.0.2/rh62-binutils-2.11.93.0.2-sparc-nonpic.patch96
-rw-r--r--patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-glibc21.patch58
-rw-r--r--patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-gotpc.patch372
-rw-r--r--patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-tpoff32.patch27
-rw-r--r--patches/binutils/2.14.90.0.5/binutils-cross-demangler.patch11
-rw-r--r--patches/binutils/2.14.90.0.5/binutils-sh-relocs.patch38
-rw-r--r--patches/binutils/2.14.90.0.7/binutils-cross-demangler.patch11
-rw-r--r--patches/binutils/2.14.92/binutils-skip-comments.patch101
-rw-r--r--patches/binutils/2.14.92/gccpr15247-fix.patch192
-rw-r--r--patches/binutils/2.15.90.0.3/binutils-20040817-linkonce.patch118
-rw-r--r--patches/binutils/2.15.90.0.3/binutils-20040820-duplicates.patch74
-rw-r--r--patches/binutils/2.15.90.0.3/binutils-skip-comments.patch101
-rw-r--r--patches/binutils/2.15.90.0.3/gccpr15247-fix.patch192
-rw-r--r--patches/binutils/2.15.91.0.2/binutils-20040817-linkonce.patch118
-rw-r--r--patches/binutils/2.15.91.0.2/binutils-dup-sections.patch68
-rw-r--r--patches/binutils/2.15.91.0.2/binutils-skip-comments.patch101
-rw-r--r--patches/binutils/2.17.50.0.8/100-uclibc-conf.patch139
-rw-r--r--patches/binutils/2.17.50.0.8/110-arm-eabi-conf.patch24
-rw-r--r--patches/binutils/2.17.50.0.8/300-001_ld_makefile_patch.patch50
-rw-r--r--patches/binutils/2.17.50.0.8/300-012_check_ldrunpath_length.patch47
-rw-r--r--patches/binutils/2.17.50.0.9/100-uclibc-conf.patch139
-rw-r--r--patches/binutils/2.17.50.0.9/110-arm-eabi-conf.patch24
-rw-r--r--patches/binutils/2.17.50.0.9/300-001_ld_makefile_patch.patch50
-rw-r--r--patches/binutils/2.17.50.0.9/300-012_check_ldrunpath_length.patch47
-rw-r--r--patches/gcc/3.3.1/compat.exp.patch37
-rw-r--r--patches/gcc/3.3.1/config.sub.patch72
-rw-r--r--patches/gcc/3.3.1/empty6.patch21
-rw-r--r--patches/gcc/3.3.1/gcc-3.2.3-g++.exp.patch100
-rw-r--r--patches/gcc/3.3.1/gcc-3.3-libstdc++-v3-dg.exp.patch54
-rw-r--r--patches/gcc/3.3.1/gcc-3.3.1-trap-posix.patch44
-rw-r--r--patches/gcc/3.3.1/pr10392-1-test.patch65
-rw-r--r--patches/gcc/3.3.1/pr10412-1-test.patch46
-rw-r--r--patches/gcc/3.3.1/pr10589-1-test.patch17
-rw-r--r--patches/gcc/3.3.1/pr11162-1-test.patch25
-rw-r--r--patches/gcc/3.3.1/pr11587-1-test.patch39
-rw-r--r--patches/gcc/3.3.1/pr11736-1-test.patch48
-rw-r--r--patches/gcc/3.3.1/pr11864-1-test.patch45
-rw-r--r--patches/gcc/3.3.1/pr11949-fix.patch61
-rw-r--r--patches/gcc/3.3.1/pr9365-1-test.patch43
-rw-r--r--patches/gcc/3.3.1/sh-pic-set_fpscr.patch61
-rw-r--r--patches/gcc/3.3.1/sh-spec.patch52
-rw-r--r--patches/gcc/3.3.1/sh4-pthread.patch44
-rw-r--r--patches/gcc/3.3.1/thunk3.patch23
-rw-r--r--patches/gcc/3.3.2/empty6.patch21
-rw-r--r--patches/gcc/3.3.2/gcc-3.2.3-g++.exp.patch100
-rw-r--r--patches/gcc/3.3.2/gcc-3.3-libstdc++-v3-dg.exp.patch54
-rw-r--r--patches/gcc/3.3.2/gcc-3.3.2-arm-bigendian.patch65
-rw-r--r--patches/gcc/3.3.2/gcc-3.3.2-trap-posix.patch44
l---------patches/gcc/3.3.2/pr10392-1-test.patch1
l---------patches/gcc/3.3.2/pr10412-1-test.patch1
l---------patches/gcc/3.3.2/pr10589-1-test.patch1
l---------patches/gcc/3.3.2/pr11162-1-test.patch1
l---------patches/gcc/3.3.2/pr11587-1-test.patch1
-rw-r--r--patches/gcc/3.3.2/pr11608-fix.patch31
l---------patches/gcc/3.3.2/pr11736-1-test.patch1
l---------patches/gcc/3.3.2/pr11864-1-test.patch1
-rw-r--r--patches/gcc/3.3.2/pr13260-test.patch56
l---------patches/gcc/3.3.2/pr9365-1-test.patch1
-rw-r--r--patches/gcc/3.3.2/sh-lib1funcs_sizeAndType.patch610
-rw-r--r--patches/gcc/3.3.2/sh-libgcc-hidden.patch122
-rw-r--r--patches/gcc/3.3.2/sh-pic-set_fpscr-gcc-3.3.2.patch67
-rw-r--r--patches/gcc/3.3.2/thunk3.patch23
-rw-r--r--patches/gcc/3.3.3/config.sub.patch72
-rw-r--r--patches/gcc/3.3.3/empty6.patch21
-rw-r--r--patches/gcc/3.3.3/gcc-3.3.2-arm-bigendian.patch65
-rw-r--r--patches/gcc/3.3.3/gcc-3.3.3-trap-posix.patch44
-rw-r--r--patches/gcc/3.3.3/pr10392-1-test.patch65
-rw-r--r--patches/gcc/3.3.3/pr10412-1-test.patch46
-rw-r--r--patches/gcc/3.3.3/pr10589-1-test.patch17
-rw-r--r--patches/gcc/3.3.3/pr11162-1-test.patch25
-rw-r--r--patches/gcc/3.3.3/pr11587-1-test.patch39
-rw-r--r--patches/gcc/3.3.3/pr11608.patch26
-rw-r--r--patches/gcc/3.3.3/pr11736-1-test.patch48
-rw-r--r--patches/gcc/3.3.3/pr11864-1-test.patch45
-rw-r--r--patches/gcc/3.3.3/pr12009.patch85
-rw-r--r--patches/gcc/3.3.3/pr12010.patch81
-rw-r--r--patches/gcc/3.3.3/pr13250-fix.patch19
-rw-r--r--patches/gcc/3.3.3/pr13260-fix-3.3.3.patch246
-rw-r--r--patches/gcc/3.3.3/pr13260-test.patch56
-rw-r--r--patches/gcc/3.3.3/pr15089-fix.patch25
-rw-r--r--patches/gcc/3.3.3/pr9365-1-test.patch43
-rw-r--r--patches/gcc/3.3.3/sh-lib1funcs_sizeAndType.patch610
-rw-r--r--patches/gcc/3.3.3/sh-pic-set_fpscr-gcc-3.3.2.patch67
-rw-r--r--patches/gcc/3.3.3/thunk3.patch23
-rw-r--r--patches/gcc/3.3.4/gcc-3.3.4-arm-bigendian.patch62
-rw-r--r--patches/gcc/3.3.4/gcc-3.3.4-arm-pr22528.patch71
-rw-r--r--patches/gcc/3.3.4/gcc-3.3.4-libstdcxx-sh.patch38
-rw-r--r--patches/gcc/3.3.4/gcc-3.3.4-ppc-asm-spec.patch86
-rw-r--r--patches/gcc/3.3.4/gcc-3.3.4-trap-posix.patch44
-rw-r--r--patches/gcc/3.3.5/gcc-3.3.4-arm-bigendian.patch62
-rw-r--r--patches/gcc/3.3.5/gcc-3.3.4-arm-pr22528.patch71
-rw-r--r--patches/gcc/3.3/compat.exp.patch37
-rw-r--r--patches/gcc/3.3/config.sub.patch72
-rw-r--r--patches/gcc/3.3/gcc-3.2.3-g++.exp.patch98
-rw-r--r--patches/gcc/3.3/gcc-3.3-libstdc++-v3-dg.exp.patch54
-rw-r--r--patches/gcc/3.3/sh-pic-set_fpscr.patch60
-rw-r--r--patches/gcc/3.3/sh-predef-gnu_source.patch15
-rw-r--r--patches/gcc/3.3/sh-spec.patch45
-rw-r--r--patches/gcc/3.3/sh4-kaz-workaround.patch145
-rw-r--r--patches/gcc/3.3/sh4-no-fix-protos.patch12
-rw-r--r--patches/gcc/3.3/sh4-pthread.patch42
-rw-r--r--patches/gcc/3.4.0/gcc-3.3.3h-ppc-asm-spec.patch88
-rw-r--r--patches/gcc/3.4.0/gcc-3.4.0-arm-bigendian.patch70
-rw-r--r--patches/gcc/3.4.0/gcc-3.4.0-arm-lib1asm.patch27
-rw-r--r--patches/gcc/3.4.0/gcc-3.4.0-arm-nolibfloat.patch24
-rw-r--r--patches/gcc/3.4.0/gcc-3.4.0-pr14808-refix.patch46
-rw-r--r--patches/gcc/3.4.0/gcc-3.4.0-ultrasparc3-default64.patch52
-rw-r--r--patches/gcc/3.4.0/pr13250-fix.patch19
-rw-r--r--patches/gcc/3.4.0/pr15647-fix.patch288
-rw-r--r--patches/gcc/3.4.1/fix-fixincl.patch70
-rw-r--r--patches/gcc/3.4.1/gcc-3.4-sparc-pr16430-fix.patch42
-rw-r--r--patches/gcc/3.4.1/gcc-3.4.0-arm-bigendian.patch70
-rw-r--r--patches/gcc/3.4.1/gcc-3.4.0-arm-lib1asm.patch27
-rw-r--r--patches/gcc/3.4.1/gcc-3.4.0-arm-nolibfloat.patch24
-rw-r--r--patches/gcc/3.4.1/pr15068-fix.patch44
-rw-r--r--patches/gcc/3.4.2/gcc-3.4.0-arm-bigendian.patch82
-rw-r--r--patches/gcc/3.4.2/gcc-3.4.0-arm-lib1asm.patch27
-rw-r--r--patches/gcc/3.4.2/gcc-3.4.0-arm-nolibfloat.patch24
-rw-r--r--patches/gcc/3.4.3/fix-fixincl.patch70
-rw-r--r--patches/gcc/3.4.3/gcc-3.4.0-arm-bigendian.patch82
-rw-r--r--patches/gcc/3.4.3/gcc-3.4.0-arm-lib1asm.patch27
-rw-r--r--patches/gcc/3.4.3/gcc-3.4.0-arm-nolibfloat.patch24
-rw-r--r--patches/gcc/3.4.3/pr15068-fix.patch44
-rw-r--r--patches/gcc/3.4.3/pr16201-fix.patch149
-rw-r--r--patches/gcc/3.4.3/pr18508-fix.patch143
-rw-r--r--patches/gcc/3.4.4/100-uclibc-conf.patch470
-rw-r--r--patches/gcc/3.4.4/200-uclibc-locale.patch3255
-rw-r--r--patches/gcc/3.4.4/300-libstdc++-pic.patch46
-rw-r--r--patches/gcc/3.4.4/600-gcc34-arm-ldm-peephole.patch65
-rw-r--r--patches/gcc/3.4.4/601-gcc34-arm-ldm-peephole2.patch42
-rw-r--r--patches/gcc/3.4.4/601-gcc34-arm-ldm.patch119
-rw-r--r--patches/gcc/3.4.4/602-sdk-libstdc++-includes.patch22
-rw-r--r--patches/gcc/3.4.4/700-pr15068-fix.patch44
-rw-r--r--patches/gcc/3.4.4/71_all_sh-pr16665-fix.patch43
-rw-r--r--patches/gcc/3.4.4/72_all_sh-no-reorder-blocks.patch13
-rw-r--r--patches/gcc/3.4.4/73_all_sh-pr20617.patch28
-rw-r--r--patches/gcc/3.4.4/800-arm-bigendian.patch66
-rw-r--r--patches/gcc/3.4.4/800-powerpc-libc_stack_end-uclibc.patch15
-rw-r--r--patches/gcc/3.4.4/830-gcc-bug-num-22167.patch16
-rw-r--r--patches/gcc/3.4.4/900-nios2.patch10211
-rw-r--r--patches/gcc/3.4.4/arm-softfloat.patch270
-rw-r--r--patches/gcc/3.4.4/fix-fixincl.patch70
-rw-r--r--patches/gcc/3.4.5/fix-fixincl.patch70
-rw-r--r--patches/gcc/3.4.5/gcc-3.4.0-arm-bigendian.patch82
-rw-r--r--patches/gcc/3.4.5/gcc-3.4.0-arm-lib1asm.patch27
-rw-r--r--patches/gcc/3.4.5/gcc-3.4.0-arm-nolibfloat.patch24
-rw-r--r--patches/gcc/3.4.5/pr15068-fix.patch44
-rw-r--r--patches/gdb/6.2.1/100-uclibc-conf.patch290
-rw-r--r--patches/gdb/6.2.1/200-uclibc-readline-conf.patch15
-rw-r--r--patches/gdb/6.2.1/400-mips-coredump.patch-2.4.23-2928
-rw-r--r--patches/gdb/6.2.1/500-thread-timeout.patch34
-rw-r--r--patches/gdb/6.3/100-uclibc-conf.patch280
-rw-r--r--patches/gdb/6.3/200-uclibc-readline-conf.patch15
-rw-r--r--patches/gdb/6.3/400-mips-coredump.patch-2.4.23-2928
-rw-r--r--patches/gdb/6.3/500-thread-timeout.patch34
-rw-r--r--patches/gdb/6.3/600-debian_10.selected-frame.patch552
-rw-r--r--patches/gdb/6.3/620-debian_static-thread-db.patch156
-rw-r--r--patches/gdb/6.3/630-debian_24.tracepoint-segv.patch15
-rw-r--r--patches/gdb/6.3/640-debian_dwarf2-frame-signal-unwinder.patch120
-rw-r--r--patches/gdb/6.3/650-debian_vsyscall-gdb-support.patch245
-rw-r--r--patches/gdb/6.3/660-debian_dwarf-cfa-restore.patch23
-rw-r--r--patches/gdb/6.3/680-debian_sim-destdir.patch53
-rw-r--r--patches/gdb/6.3/690-debian_member-field-symtab.patch35
-rw-r--r--patches/gdb/6.3/700-debian_cp-pass-by-reference.patch464
-rw-r--r--patches/gdb/6.3/710-debian_thread-db-multiple-libraries.patch593
-rw-r--r--patches/gdb/6.3/720-debian_static-threads-test.patch36
-rw-r--r--patches/gdb/6.3/730-debian_gdb-fix-tracefork-check.patch225
-rw-r--r--patches/gdb/6.3/740-debian_make-cv-type-crash.patch132
-rw-r--r--patches/gdb/6.3/750-debian_sparc-singlestep.patch37
-rw-r--r--patches/gdb/6.3/760-debian_vsyscall-bfd-close-result.patch20
-rw-r--r--patches/gdb/6.3/770-debian_vfork-done-spelling.patch31
-rw-r--r--patches/gdb/6.3/780-debian_gdbserver-rdynamic.patch675
-rw-r--r--patches/gdb/6.3/790-debian_dwarf2-cfi-warning.patch39
-rw-r--r--patches/gdb/6.3/800-debian_linux-use-underscore-exit.patch22
-rw-r--r--patches/gdb/6.3/810-debian_bfd-no-kylix-crash.patch47
-rw-r--r--patches/gdb/6.3/820-debian_disable-linux-fork-messages.patch46
-rw-r--r--patches/glibc/2.1.3/README4
-rw-r--r--patches/glibc/2.1.3/arm-ctl_bus_isa.patch51
-rw-r--r--patches/glibc/2.1.3/backport-config.sub.patch834
-rw-r--r--patches/glibc/2.1.3/el.po.patch40
-rw-r--r--patches/glibc/2.1.3/glibc-2.1.3-ac_cv_prog_cc_cross.patch44
-rw-r--r--patches/glibc/2.1.3/glibc-2.1.3-allow-gcc-3.4-db2.patch17
-rw-r--r--patches/glibc/2.1.3/glibc-2.1.3-allow-gcc-3.4-dns.patch21
-rw-r--r--patches/glibc/2.1.3/glibc-2.1.3-allow-gcc-3.4-fixup.patch70
-rw-r--r--patches/glibc/2.1.3/glibc-2.1.3-allow-gcc-3.4-generic.patch157
-rw-r--r--patches/glibc/2.1.3/glibc-2.1.3-allow-gcc-3.4-grp.patch56
-rw-r--r--patches/glibc/2.1.3/glibc-2.1.3-allow-gcc-3.4-locale.patch33
-rw-r--r--patches/glibc/2.1.3/glibc-2.1.3-allow-gcc-3.4-mntent.patch39
-rw-r--r--patches/glibc/2.1.3/glibc-2.1.3-allow-gcc-3.4-sunrpc.patch33
-rw-r--r--patches/glibc/2.1.3/glibc-2.1.3-allow-gcc3-configure.patch11
-rw-r--r--patches/glibc/2.1.3/glibc-2.1.3-allow-gcc3-dl-machine-i386.patch171
-rw-r--r--patches/glibc/2.1.3/glibc-2.1.3-allow-gcc3-errlist.patch48
-rw-r--r--patches/glibc/2.1.3/glibc-2.1.3-allow-gcc3-longlong.patch774
-rw-r--r--patches/glibc/2.1.3/glibc-2.1.3-allow-gcc3-sscanf.patch73
-rw-r--r--patches/glibc/2.1.3/glibc-2.1.3-allow-gcc3-syscall.patch29
-rw-r--r--patches/glibc/2.1.3/glibc-2.1.3-allow-gcc3-versioninfo.patch17
-rw-r--r--patches/glibc/2.1.3/glibc-2.1.3-cygwin.patch80
-rw-r--r--patches/glibc/2.1.3/glibc-2.1.3-override.patch48
-rw-r--r--patches/glibc/2.1.3/glibc-2.2.2-export_fp_hw.patch30
-rw-r--r--patches/glibc/2.1.3/glibc-manual-stdin.texi-1.127.patch26
-rw-r--r--patches/glibc/2.1.3/glibc-rpcgen-cpp.patch14
-rw-r--r--patches/glibc/2.1.3/rh62-00-glibc-2.1.3.patch117574
-rw-r--r--patches/glibc/2.1.3/rh62-01-glibc-2.1.3-security.patch32
-rw-r--r--patches/glibc/2.1.3/rh62-02-glibc-2.1.3-locale.patch76
-rw-r--r--patches/glibc/2.1.3/rh62-03-glibc-2.1.3-crypt.patch207
-rw-r--r--patches/glibc/2.1.3/rh62-04-glibc-2.1.3-tzfile.patch22
-rw-r--r--patches/glibc/2.1.3/rh62-06-glibc-2.1.3-preload.patch86
-rw-r--r--patches/glibc/2.1.3/rh62-07-glibc-2.1.3-alpha.patch124
-rw-r--r--patches/glibc/2.1.3/rh62-08-glibc-2.1.3-glob.patch57
-rw-r--r--patches/glibc/2.1.3/rh62-09-glibc-2.1.3-security2.patch66
-rw-r--r--patches/glibc/2.1.3/rh62-10-glibc-2.1.3-xdr_array.patch36
-rw-r--r--patches/glibc/2.1.3/rh62-11-glibc-2.1.3-calloc.patch35
-rw-r--r--patches/glibc/2.1.3/rh62-12-glibc-2.1.3-maxpacket.patch512
-rw-r--r--patches/glibc/2.1.3/rh62-99-glibc-2.1.3-allow-gcc-3.4-dns.patch11
-rw-r--r--patches/glibc/2.1.3/rh62-99-glibc-2.1.3-allow-gcc-3.4-gconv_stubs.patch44
-rw-r--r--patches/glibc/2.1.3/sk.po.patch6678
-rw-r--r--patches/glibc/2.2.2/arm-ctl_bus_isa.patch51
-rw-r--r--patches/glibc/2.2.2/glibc-2.1.3-allow-gcc-3.4-grp.patch56
-rw-r--r--patches/glibc/2.2.2/glibc-2.1.3-allow-gcc3-sscanf.patch73
-rw-r--r--patches/glibc/2.2.2/glibc-2.1.3-allow-gcc3-versioninfo.patch17
-rw-r--r--patches/glibc/2.2.2/glibc-2.2.2-allow-gcc-3-configure.patch21
-rw-r--r--patches/glibc/2.2.2/glibc-2.2.2-allow-gcc3-dl-machine-i386.patch232
-rw-r--r--patches/glibc/2.2.2/glibc-2.2.2-allow-gcc3-errlist.patch18
-rw-r--r--patches/glibc/2.2.2/glibc-2.2.2-allow-gcc3-longlong.patch811
-rw-r--r--patches/glibc/2.2.2/glibc-2.2.2-export_fp_hw.patch30
-rw-r--r--patches/glibc/2.2.2/glibc-2.2.2-printf-not-macro.patch36
-rw-r--r--patches/glibc/2.2.2/glibc-2.2.2-syslog-bugfix.patch60
-rw-r--r--patches/glibc/2.2.2/glibc-2.2.5-alpha-pwrite64.patch58
-rw-r--r--patches/glibc/2.2.2/glibc-2.2.5-arm-pwrite64.patch30
-rw-r--r--patches/glibc/2.2.2/glibc-2.2.5-i386-pwrite64.patch20
-rw-r--r--patches/glibc/2.2.2/glibc-2.2.5-m68k-pwrite.patch32
-rw-r--r--patches/glibc/2.2.2/glibc-manual-stdin.texi-1.127.patch18
-rw-r--r--patches/glibc/2.2.2/glibc-nss-noopt.patch26
-rw-r--r--patches/glibc/2.2.2/tst-pathopt-cross.patch23
-rw-r--r--patches/glibc/2.2.3/errlist-1.9.patch30
-rw-r--r--patches/glibc/2.2.3/errlist-arm.patch48
-rw-r--r--patches/glibc/2.2.3/glibc-2.2.3-mips-base-addr-got.patch276
-rw-r--r--patches/glibc/2.2.3/glibc-2.2.5-mips-clone-local-label.patch47
-rw-r--r--patches/glibc/2.2.3/glibc-manual-stdin.texi-1.127.patch25
-rw-r--r--patches/glibc/2.2.5/alpha-build-failure.patch37
-rw-r--r--patches/glibc/2.2.5/arm-asm-clobber.patch23
-rw-r--r--patches/glibc/2.2.5/arm-ctl_bus_isa.patch51
-rw-r--r--patches/glibc/2.2.5/cris-libc-symbols.patch97
-rw-r--r--patches/glibc/2.2.5/cris-stack-direction.patch61
-rw-r--r--patches/glibc/2.2.5/dl-machine-alpha.patch424
-rw-r--r--patches/glibc/2.2.5/dl-machine-arm.patch389
-rw-r--r--patches/glibc/2.2.5/dl-machine-m68k.patch206
-rw-r--r--patches/glibc/2.2.5/dl-machine-sh.patch41
-rw-r--r--patches/glibc/2.2.5/dl-machine-sparc.patch230
-rw-r--r--patches/glibc/2.2.5/errlist-1.9.patch25
-rw-r--r--patches/glibc/2.2.5/errlist-arm.patch48
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-3.4-fixup.patch68
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-3.4-grp.patch63
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-3.4-weakextern.patch48
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-configure.patch21
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-elf-2.patch43
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-elf.patch39
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-gconv.patch226
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-i386.patch49
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-iconv.patch20
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-iconvdata.patch114
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-locale.patch49
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-malloc.patch48
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-mipsel.patch81
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-msort.patch47
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-powerpc-procfs.patch54
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-powerpc.patch23
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-sunrpc.patch221
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-alpha-pwrite64.patch58
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-arm-pwrite64.patch30
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-crosstest.patch27
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-crossyes.patch11
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-cygwin.patch89
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-hhl-powerpc-fpu.patch1134
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-i386-pwrite64.patch20
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-m68k-pwrite.patch32
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-mips-build-gmon.patch86
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-mips-clone-local-label.patch47
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.56.patch31
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.57.patch43
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.59-kinda.patch35
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.60.patch53
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-powerpc-as.patch29
-rw-r--r--patches/glibc/2.2.5/glibc-2.2.5-ppc405erratum77.patch65
-rw-r--r--patches/glibc/2.2.5/glibc-2.3.2-allow-gcc-3.5-xdr.patch44
-rw-r--r--patches/glibc/2.2.5/glibc-drow-sh.patch77
-rw-r--r--patches/glibc/2.2.5/glibc-test-lowram.patch14
-rw-r--r--patches/glibc/2.2.5/initfini-alpha.patch125
-rw-r--r--patches/glibc/2.2.5/initfini-ia64.patch219
-rw-r--r--patches/glibc/2.2.5/initfini-sh.patch243
-rw-r--r--patches/glibc/2.2.5/longjmp-sparc.patch75
-rw-r--r--patches/glibc/2.2.5/sh-setjmp-fix.patch29
-rw-r--r--patches/glibc/2.2.5/sprintf-prototype.patch13
-rw-r--r--patches/glibc/2.2.5/sscanf.patch82
-rw-r--r--patches/glibc/2.2.5/unwind-arm.patch19
-rw-r--r--patches/glibc/2.3.2/README-hppa32
-rw-r--r--patches/glibc/2.3.2/arm-asm-clobber.patch26
-rw-r--r--patches/glibc/2.3.2/arm-ctl_bus_isa.patch51
-rw-r--r--patches/glibc/2.3.2/arm-mcount_internal.patch30
-rw-r--r--patches/glibc/2.3.2/epoll-epollet.patch28
-rw-r--r--patches/glibc/2.3.2/epoll-stdint.patch22
-rw-r--r--patches/glibc/2.3.2/errlist-awk.patch11
-rw-r--r--patches/glibc/2.3.2/fixup.patch74
-rw-r--r--patches/glibc/2.3.2/gcc-pr-9552-workaround.patch20
-rw-r--r--patches/glibc/2.3.2/glibc-2.2.5-crosstest.patch27
-rw-r--r--patches/glibc/2.3.2/glibc-2.2.5-mips-clone-local-label.patch47
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-allow-gcc-3.4-inline.patch23
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-allow-gcc-3.4-nounit.patch137
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-allow-gcc-3.5-PR14096.patch55
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-allow-gcc-3.5-elf.patch34
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-allow-gcc-3.5-gconv.patch228
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-allow-gcc-3.5-msort.patch46
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-allow-gcc-3.5-sunrpc.patch233
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-allow-gcc-3.5-xdr.patch44
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-alpha-pwrite64.patch54
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-arm-fix-strlen.patch54
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-cross-2.patch18
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-cross.patch27
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-cygwin.patch90
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-mips-user.patch588
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-mips.patch60
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-override.patch38
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-powerpc-as.patch58
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-pr139-fix.patch104
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-sh4-socket.patch39
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-sh4-trapa.patch55
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-sparc32-sysdep.patch46
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-sparc64-dl-machine.patch29
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-sparc64-pause.patch22
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-sparc64-pwrite64.patch36
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.2-without-fp.patch89
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.3-allow-gcc-4.0-configure.patch30
-rw-r--r--patches/glibc/2.3.2/glibc-2.3.3-allow-gcc-4.0-powerpc-procfs.patch65
-rw-r--r--patches/glibc/2.3.2/glibc-configure-apple-as.patch23
-rw-r--r--patches/glibc/2.3.2/glibc-drow-sh.patch77
-rw-r--r--patches/glibc/2.3.2/glibc-fp-byteorder.patch203
-rw-r--r--patches/glibc/2.3.2/glibc-test-lowram.patch14
-rw-r--r--patches/glibc/2.3.2/nobits.patch27
-rw-r--r--patches/glibc/2.3.2/old/glibc-2.3.2-powerpc-procfs.patch28
-rw-r--r--patches/glibc/2.3.2/sscanf.patch80
-rw-r--r--patches/glibc/2.3.2/string2-typedef.patch35
-rw-r--r--patches/glibc/2.3.3/arm-ctl_bus_isa.patch51
-rw-r--r--patches/glibc/2.3.3/bad/glibc-2.3.3-alpha-pwrite64.patch51
-rw-r--r--patches/glibc/2.3.3/fixup.patch74
-rw-r--r--patches/glibc/2.3.3/glibc-2.2.5-allow-gcc-4.0-malloc.patch48
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.4-inline.patch23
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-elf.patch34
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-gconv.patch228
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-msort.patch46
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-sunrpc.patch233
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.2-allow-gcc-3.5-xdr.patch44
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.2-arm-fix-strlen.patch54
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.2-pr139-fix.patch104
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.2-sparc32-sysdep.patch46
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.2-sparc64-dl-machine.patch29
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.2-without-fp.patch89
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-configure.patch30
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-elf-2.patch53
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-elf-3.patch79
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-i386.patch111
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-iconv.patch24
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-iconvdata-2.patch124
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-iconvdata.patch142
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-locale.patch34
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-posix.patch77
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-powerpc-procfs.patch65
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.3-allow-gcc-4.0-x86_64.patch60
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.3-alpha-pwrite64.patch41
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.3-cygwin.patch103
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.3-libeh-kludge.patch75
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.3-s390-fadvise64.patch128
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.3-unwind-dw2.patch66
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.4-allow-gcc-4.0-arm.patch117
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.4-allow-gcc-4.0-elf.patch61
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.4-allow-gcc-4.0-powerpc32.patch42
-rw-r--r--patches/glibc/2.3.3/glibc-2.3.4-allow-gcc-4.0-powerpc64.patch60
-rw-r--r--patches/glibc/2.3.3/glibc-configure-apple-as.patch23
-rw-r--r--patches/glibc/2.3.3/glibc-fp-byteorder.patch203
-rw-r--r--patches/glibc/2.3.4/arm-ctl_bus_isa.patch51
-rw-r--r--patches/glibc/2.3.4/bad/glibc-2.3.4-cygwin.patch96
-rw-r--r--patches/glibc/2.3.4/fix-pr398.patch70
-rw-r--r--patches/glibc/2.3.4/glibc-2.3.4-allow-gcc-4.0-arm.patch117
-rw-r--r--patches/glibc/2.3.4/glibc-2.3.4-allow-gcc-4.0-elf.patch61
-rw-r--r--patches/glibc/2.3.4/glibc-2.3.4-allow-gcc-4.0-iconvdata.patch44
-rw-r--r--patches/glibc/2.3.4/glibc-2.3.4-allow-gcc-4.0-powerpc-procfs.patch62
-rw-r--r--patches/glibc/2.3.4/glibc-2.3.4-allow-gcc-4.0-powerpc32.patch42
-rw-r--r--patches/glibc/2.3.4/glibc-2.3.4-allow-gcc-4.0-powerpc64.patch60
-rw-r--r--patches/glibc/2.3.4/glibc-2.3.4-cygwin.patch166
-rw-r--r--patches/glibc/2.3.4/glibc-2.3.4-memcmp.patch46
-rw-r--r--patches/glibc/2.3.4/glibc-2.3.5-allow-gcc4-string.patch83
-rw-r--r--patches/glibc/2.3.4/glibc-2.3.5-allow-gcc4-symbols.patch126
-rw-r--r--patches/glibc/2.3.4/glibc-2.3.5-allow-gcc4-wcstol_l.patch57
-rw-r--r--patches/glibc/2.3.4/glibc-configure-apple-as.patch23
-rw-r--r--patches/glibc/2.3.4/glibc-fp-byteorder.patch203
-rw-r--r--patches/glibc/2.3.4/make-install-lib-all.patch24
-rw-r--r--patches/glibc/2.3.4/pr758.patch256
-rw-r--r--patches/glibc/2.3.5/arm-ctl_bus_isa.patch51
-rw-r--r--patches/glibc/2.3.5/fix-pr398.patch70
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-arm.patch117
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-elf.patch61
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-iconvdata.patch44
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-powerpc-procfs.patch62
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-powerpc32.patch42
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.4-allow-gcc-4.0-powerpc64.patch60
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.4-memcmp.patch46
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.5-allow-gcc-4.0-wordexp.patch19
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.5-allow-gcc4-string.patch83
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.5-allow-gcc4-symbols.patch126
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.5-allow-gcc4-wcstol_l.patch57
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.5-cygwin.patch185
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.5-fix-pr631.patch43
-rw-r--r--patches/glibc/2.3.5/glibc-2.3.5-sh-memset.patch69
-rw-r--r--patches/glibc/2.3.5/glibc-configure-apple-as.patch23
-rw-r--r--patches/glibc/2.3.5/glibc-fp-byteorder.patch203
-rw-r--r--patches/glibc/2.3.5/glibc-mips-bootstrap-gcc-header-install.patch35
-rw-r--r--patches/glibc/2.3.5/make-install-lib-all.patch24
-rw-r--r--patches/glibc/2.3.5/pr758.patch256
-rw-r--r--patches/glibc/20040827/arm-ctl_bus_isa.patch51
-rw-r--r--patches/glibc/20040827/glibc-2.3.2-sparc64-dl-machine.patch29
-rw-r--r--patches/glibc/20040827/glibc-2.3.3-cygwin.patch103
-rw-r--r--patches/glibc/20040827/glibc-2.3.3-libeh-kludge.patch26
-rw-r--r--patches/glibc/20040827/glibc-configure-apple-as.patch23
-rw-r--r--patches/glibc/20040827/glibc-fp-byteorder.patch203
-rw-r--r--patches/glibc/20050502/make-install-lib-all.patch24
-rw-r--r--patches/glibc/compat-2.1/rh62-09-glibc-compat-2.1.3-security2.patch66
-rw-r--r--patches/glibc/compat-2.1/rh62-12-glibc-compat-2.1.3-maxpacket.patch512
428 files changed, 0 insertions, 174230 deletions
diff --git a/patches/binutils/2.11.2/gcc-pr3106.patch b/patches/binutils/2.11.2/gcc-pr3106.patch
deleted file mode 100644
index c3a0264..0000000
--- a/patches/binutils/2.11.2/gcc-pr3106.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-See http://gcc.gnu.org/PR3106
-Backported from gcc-3.0.x
-
-Fixes error
- .../binutils-2.11.2/libiberty/strerror.c:468: error: conflicting types for `sys_nerr'
- /usr/include/stdio.h:258: error: previous declaration of `sys_nerr'
- make[1]: *** [strerror.o] Error 1
- make: *** [all-libiberty] Error 2
-on Mac OS X.
-
---- binutils-2.11.2/libiberty/strerror.c.old 2004-03-24 16:23:19.000000000 -0800
-+++ binutils-2.11.2/libiberty/strerror.c 2004-03-24 16:23:48.000000000 -0800
-@@ -13,6 +13,7 @@
- incompatible with our later declaration, perhaps by using const
- attributes. So we hide the declaration in errno.h (if any) using a
- macro. */
-+#define sys_nerr sys_nerr__
- #define sys_errlist sys_errlist__
- #endif
-
-@@ -20,6 +21,7 @@
- #include <errno.h>
-
- #ifdef HAVE_SYS_ERRLIST
-+#undef sys_nerr
- #undef sys_errlist
- #endif
-
diff --git a/patches/binutils/2.13.90.0.2/README b/patches/binutils/2.13.90.0.2/README
deleted file mode 100644
index 521e669..0000000
--- a/patches/binutils/2.13.90.0.2/README
+++ /dev/null
@@ -1,6 +0,0 @@
-The files rh62*.patch are from the Red Hat 6.2 file
-binutils-2.13.90.0.2-2.src.rpm
-
-I am trusting here that Red Hat's patches are appropriate for all CPU
-types. If I'm wrong, just remove the offending patch...
-- Dan Kegel
diff --git a/patches/binutils/2.13.90.0.2/rh62-binutils-2.11.93.0.2-sparc-nonpic.patch b/patches/binutils/2.13.90.0.2/rh62-binutils-2.11.93.0.2-sparc-nonpic.patch
deleted file mode 100644
index f8719a5..0000000
--- a/patches/binutils/2.13.90.0.2/rh62-binutils-2.11.93.0.2-sparc-nonpic.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-2002-04-20 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-sparc.c (elf32_sparc_relocate_section): Find real output
- section with SEC_MERGE.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
-
---- binutils/bfd/elf32-sparc.c.jj Sat Apr 20 22:11:57 2002
-+++ binutils/bfd/elf32-sparc.c Sat Apr 20 23:06:33 2002
-@@ -1144,7 +1144,7 @@ elf32_sparc_relocate_section (output_bfd
- struct elf_link_hash_entry *h;
- Elf_Internal_Sym *sym;
- asection *sec;
-- bfd_vma relocation, off;
-+ bfd_vma relocation, off, orig_addend = 0;
- bfd_reloc_status_type r;
- boolean is_plt = false;
- boolean unresolved_reloc;
-@@ -1192,6 +1192,7 @@ elf32_sparc_relocate_section (output_bfd
- {
- sym = local_syms + r_symndx;
- sec = local_sections[r_symndx];
-+ orig_addend = rel->r_addend;
- relocation = _bfd_elf_rela_local_sym (output_bfd, sym, sec, rel);
- }
- else
-@@ -1527,6 +1528,25 @@ elf32_sparc_relocate_section (output_bfd
- asection *osec;
-
- osec = sec->output_section;
-+ /* FIXME: As soon as making sections zero size
-+ is possible, this if can go away. */
-+ if (bfd_is_abs_section (osec)
-+ && h == NULL
-+ && (sec->flags & SEC_MERGE)
-+ && ELF_ST_TYPE (sym->st_info) == STT_SECTION
-+ && (elf_section_data (sec)->sec_info_type
-+ == ELF_INFO_TYPE_MERGE))
-+ {
-+ asection *msec;
-+
-+ msec = sec;
-+ _bfd_merged_section_offset (output_bfd, &msec,
-+ elf_section_data (sec)->sec_info,
-+ sym->st_value + orig_addend,
-+ (bfd_vma) 0);
-+ osec = msec->output_section;
-+ }
-+
- indx = elf_section_data (osec)->dynindx;
-
- /* FIXME: we really should be able to link non-pic
---- binutils/bfd/elf64-sparc.c.jj Sat Apr 20 22:11:57 2002
-+++ binutils/bfd/elf64-sparc.c Sat Apr 20 23:12:18 2002
-@@ -1939,7 +1939,7 @@ sparc64_elf_relocate_section (output_bfd
- struct elf_link_hash_entry *h;
- Elf_Internal_Sym *sym;
- asection *sec;
-- bfd_vma relocation, off;
-+ bfd_vma relocation, off, orig_addend = 0;
- bfd_reloc_status_type r;
- boolean is_plt = false;
- boolean unresolved_reloc;
-@@ -1982,6 +1982,7 @@ sparc64_elf_relocate_section (output_bfd
- {
- sym = local_syms + r_symndx;
- sec = local_sections[r_symndx];
-+ orig_addend = rel->r_addend;
- relocation = _bfd_elf_rela_local_sym (output_bfd, sym, sec, rel);
- }
- else
-@@ -2211,6 +2212,25 @@ sparc64_elf_relocate_section (output_bfd
- asection *osec;
-
- osec = sec->output_section;
-+ /* FIXME: As soon as making sections zero size
-+ is possible, this if can go away. */
-+ if (bfd_is_abs_section (osec)
-+ && h == NULL
-+ && (sec->flags & SEC_MERGE)
-+ && ELF_ST_TYPE (sym->st_info) == STT_SECTION
-+ && (elf_section_data (sec)->sec_info_type
-+ == ELF_INFO_TYPE_MERGE))
-+ {
-+ asection *msec;
-+
-+ msec = sec;
-+ _bfd_merged_section_offset (output_bfd, &msec,
-+ elf_section_data (sec)->sec_info,
-+ sym->st_value + orig_addend,
-+ (bfd_vma) 0);
-+ osec = msec->output_section;
-+ }
-+
- indx = elf_section_data (osec)->dynindx;
-
- /* FIXME: we really should be able to link non-pic
diff --git a/patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-glibc21.patch b/patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-glibc21.patch
deleted file mode 100644
index a35b8f8..0000000
--- a/patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-glibc21.patch
+++ /dev/null
@@ -1,58 +0,0 @@
---- binutils/ld/emulparams/elf_i386_glibc21.sh.jj Sat Aug 3 17:04:41 2002
-+++ binutils/ld/emulparams/elf_i386_glibc21.sh Sat Aug 3 17:04:41 2002
-@@ -0,0 +1,11 @@
-+SCRIPT_NAME=elf
-+OUTPUT_FORMAT="elf32-i386"
-+TEXT_START_ADDR=0x08048000
-+MAXPAGESIZE=0x1000
-+NONPAGED_TEXT_START_ADDR=0x08048000
-+ARCH=i386
-+MACHINE=
-+NOP=0x9090
-+TEMPLATE_NAME=elf32
-+GENERATE_SHLIB_SCRIPT=yes
-+LIB_PATH=/usr/i386-glibc21-linux/lib:/usr/local/lib
---- binutils/ld/configure.tgt.jj Thu Aug 1 20:49:32 2002
-+++ binutils/ld/configure.tgt Sat Aug 3 17:06:18 2002
-@@ -143,7 +143,8 @@ i[3456]86-*-linux*aout*) targ_emul=i386l
- ;;
- i[3456]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
- i[3456]86-*-linux-gnu*) targ_emul=elf_i386
-- targ_extra_emuls=i386linux
-+ targ_extra_emuls="i386linux elf_i386_glibc21"
-+ targ_extra_libpath=elf_i386_glibc21
- if test x${want64} = xtrue; then
- targ_extra_emuls="$targ_extra_emuls elf_x86_64"
- fi
---- binutils/ld/Makefile.am.jj Thu Aug 1 20:49:32 2002
-+++ binutils/ld/Makefile.am Sat Aug 3 17:04:41 2002
-@@ -181,6 +181,7 @@ ALL_EMULATIONS = \
- eelf_i386.o \
- eelf_i386_be.o \
- eelf_i386_chaos.o \
-+ eelf_i386_glibc21.o \
- eelf_i386_fbsd.o \
- eelf_i386_ldso.o \
- eelf_s390.o \
-@@ -718,6 +719,9 @@ eelf_i386_be.c: $(srcdir)/emulparams/elf
- eelf_i386_chaos.c: $(srcdir)/emulparams/elf_i386_chaos.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf_chaos.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386_chaos "$(tdir_elf_i386_chaos)"
-+eelf_i386_glibc21.c: $(srcdir)/emulparams/elf_i386_glibc21.sh \
-+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-+ ${GENSCRIPTS} elf_i386_glibc21 "$(tdir_elf_i386_glibc21)"
- eelf_i386_fbsd.c: $(srcdir)/emulparams/elf_i386_fbsd.sh \
- $(srcdir)/emulparams/elf_i386.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
---- binutils/ld/Makefile.in.jj Thu Aug 1 20:49:32 2002
-+++ binutils/ld/Makefile.in Sat Aug 3 17:07:34 2002
-@@ -1197,6 +1197,9 @@ eelf_i386_be.c: $(srcdir)/emulparams/elf
- eelf_i386_chaos.c: $(srcdir)/emulparams/elf_i386_chaos.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf_chaos.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386_chaos "$(tdir_elf_i386_chaos)"
-+eelf_i386_glibc21.c: $(srcdir)/emulparams/elf_i386_glibc21.sh \
-+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-+ ${GENSCRIPTS} elf_i386_glibc21 "$(tdir_elf_i386_glibc21)"
- eelf_i386_fbsd.c: $(srcdir)/emulparams/elf_i386_fbsd.sh \
- $(srcdir)/emulparams/elf_i386.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
diff --git a/patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-gotpc.patch b/patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-gotpc.patch
deleted file mode 100644
index 030dfa9..0000000
--- a/patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-gotpc.patch
+++ /dev/null
@@ -1,372 +0,0 @@
-2002-08-03 Jakub Jelinek <jakub@redhat.com>
-
- * config/tc-i386.c (output_insn): Save frag_now and frag_now_fix ()
- at start of insn, pass it to output_disp and output_imm.
- (output_disp): Added arguments. If _GLOBAL_OFFSET_TABLE_ is seen
- in displacement for R_386_32 reloc, use R_386_GOTPC and compute
- properly addend.
- (output_imm): Added arguments. Compute properly addend for
- R_386_GOTPC.
- (md_apply_fix3): Remove R_386_GOTPC handling.
- * testsuite/gas/i386/gotpc.s: New.
- * testsuite/gas/i386/gotpc.d: New.
- * testsuite/gas/i386/i386.exp: Add gotpc test.
-
---- binutils/gas/config/tc-i386.c.jj 2002-07-18 11:35:39.000000000 +0200
-+++ binutils/gas/config/tc-i386.c 2002-08-02 21:13:18.000000000 +0200
-@@ -104,8 +104,10 @@ static void output_insn PARAMS ((void));
- static void output_branch PARAMS ((void));
- static void output_jump PARAMS ((void));
- static void output_interseg_jump PARAMS ((void));
--static void output_imm PARAMS ((void));
--static void output_disp PARAMS ((void));
-+static void output_imm PARAMS ((fragS *insn_start_frag,
-+ offsetT insn_start_off));
-+static void output_disp PARAMS ((fragS *insn_start_frag,
-+ offsetT insn_start_off));
- #ifndef I386COFF
- static void s_bss PARAMS ((int));
- #endif
-@@ -3101,14 +3103,21 @@ output_interseg_jump ()
- md_number_to_chars (p + size, (valueT) i.op[0].imms->X_add_number, 2);
- }
-
-+
- static void
- output_insn ()
- {
-+ fragS *insn_start_frag;
-+ offsetT insn_start_off;
-+
- /* Tie dwarf2 debug info to the address at the start of the insn.
- We can't do this after the insn has been output as the current
- frag may have been closed off. eg. by frag_var. */
- dwarf2_emit_insn (0);
-
-+ insn_start_frag = frag_now;
-+ insn_start_off = frag_now_fix ();
-+
- /* Output jumps. */
- if (i.tm.opcode_modifier & Jump)
- output_branch ();
-@@ -3179,10 +3188,10 @@ output_insn ()
- }
-
- if (i.disp_operands)
-- output_disp ();
-+ output_disp (insn_start_frag, insn_start_off);
-
- if (i.imm_operands)
-- output_imm ();
-+ output_imm (insn_start_frag, insn_start_off);
- }
-
- #ifdef DEBUG386
-@@ -3194,7 +3203,9 @@ output_insn ()
- }
-
- static void
--output_disp ()
-+output_disp (insn_start_frag, insn_start_off)
-+ fragS *insn_start_frag;
-+ offsetT insn_start_off;
- {
- char *p;
- unsigned int n;
-@@ -3224,6 +3235,7 @@ output_disp ()
- }
- else
- {
-+ RELOC_ENUM reloc_type;
- int size = 4;
- int sign = 0;
- int pcrel = (i.flags[n] & Operand_PCrel) != 0;
-@@ -3266,16 +3278,50 @@ output_disp ()
- }
-
- p = frag_more (size);
-+ reloc_type = reloc (size, pcrel, sign, i.reloc[n]);
-+#ifdef BFD_ASSEMBLER
-+ if (reloc_type == BFD_RELOC_32
-+ && GOT_symbol
-+ && GOT_symbol == i.op[n].disps->X_add_symbol
-+ && (i.op[n].disps->X_op == O_symbol
-+ || (i.op[n].disps->X_op == O_add
-+ && ((symbol_get_value_expression
-+ (i.op[n].disps->X_op_symbol)->X_op)
-+ == O_subtract))))
-+ {
-+ offsetT add;
-+
-+ if (insn_start_frag == frag_now)
-+ add = (p - frag_now->fr_literal) - insn_start_off;
-+ else
-+ {
-+ fragS *fr;
-+
-+ add = insn_start_frag->fr_fix - insn_start_off;
-+ for (fr = insn_start_frag->fr_next;
-+ fr && fr != frag_now; fr = fr->fr_next)
-+ add += fr->fr_fix;
-+ add += p - frag_now->fr_literal;
-+ }
-+
-+ /* We don't support dynamic linking on x86-64 yet. */
-+ if (flag_code == CODE_64BIT)
-+ abort ();
-+ reloc_type = BFD_RELOC_386_GOTPC;
-+ i.op[n].disps->X_add_number += add;
-+ }
-+#endif
- fix_new_exp (frag_now, p - frag_now->fr_literal, size,
-- i.op[n].disps, pcrel,
-- reloc (size, pcrel, sign, i.reloc[n]));
-+ i.op[n].disps, pcrel, reloc_type);
- }
- }
- }
- }
-
- static void
--output_imm ()
-+output_imm (insn_start_frag, insn_start_off)
-+ fragS *insn_start_frag;
-+ offsetT insn_start_off;
- {
- char *p;
- unsigned int n;
-@@ -3328,6 +3374,48 @@ output_imm ()
- p = frag_more (size);
- reloc_type = reloc (size, 0, sign, i.reloc[n]);
- #ifdef BFD_ASSEMBLER
-+ /* This is tough to explain. We end up with this one if we
-+ * have operands that look like
-+ * "_GLOBAL_OFFSET_TABLE_+[.-.L284]". The goal here is to
-+ * obtain the absolute address of the GOT, and it is strongly
-+ * preferable from a performance point of view to avoid using
-+ * a runtime relocation for this. The actual sequence of
-+ * instructions often look something like:
-+ *
-+ * call .L66
-+ * .L66:
-+ * popl %ebx
-+ * addl $_GLOBAL_OFFSET_TABLE_+[.-.L66],%ebx
-+ *
-+ * The call and pop essentially return the absolute address
-+ * of the label .L66 and store it in %ebx. The linker itself
-+ * will ultimately change the first operand of the addl so
-+ * that %ebx points to the GOT, but to keep things simple, the
-+ * .o file must have this operand set so that it generates not
-+ * the absolute address of .L66, but the absolute address of
-+ * itself. This allows the linker itself simply treat a GOTPC
-+ * relocation as asking for a pcrel offset to the GOT to be
-+ * added in, and the addend of the relocation is stored in the
-+ * operand field for the instruction itself.
-+ *
-+ * Our job here is to fix the operand so that it would add
-+ * the correct offset so that %ebx would point to itself. The
-+ * thing that is tricky is that .-.L66 will point to the
-+ * beginning of the instruction, so we need to further modify
-+ * the operand so that it will point to itself. There are
-+ * other cases where you have something like:
-+ *
-+ * .long $_GLOBAL_OFFSET_TABLE_+[.-.L66]
-+ *
-+ * and here no correction would be required. Internally in
-+ * the assembler we treat operands of this form as not being
-+ * pcrel since the '.' is explicitly mentioned, and I wonder
-+ * whether it would simplify matters to do it this way. Who
-+ * knows. In earlier versions of the PIC patches, the
-+ * pcrel_adjust field was used to store the correction, but
-+ * since the expression is not pcrel, I felt it would be
-+ * confusing to do it this way. */
-+
- if (reloc_type == BFD_RELOC_32
- && GOT_symbol
- && GOT_symbol == i.op[n].imms->X_add_symbol
-@@ -3337,11 +3425,26 @@ output_imm ()
- (i.op[n].imms->X_op_symbol)->X_op)
- == O_subtract))))
- {
-+ offsetT add;
-+
-+ if (insn_start_frag == frag_now)
-+ add = (p - frag_now->fr_literal) - insn_start_off;
-+ else
-+ {
-+ fragS *fr;
-+
-+ add = insn_start_frag->fr_fix - insn_start_off;
-+ for (fr = insn_start_frag->fr_next;
-+ fr && fr != frag_now; fr = fr->fr_next)
-+ add += fr->fr_fix;
-+ add += p - frag_now->fr_literal;
-+ }
-+
- /* We don't support dynamic linking on x86-64 yet. */
- if (flag_code == CODE_64BIT)
- abort ();
- reloc_type = BFD_RELOC_386_GOTPC;
-- i.op[n].imms->X_add_number += 3;
-+ i.op[n].imms->X_add_number += add;
- }
- #endif
- fix_new_exp (frag_now, p - frag_now->fr_literal, size,
-@@ -4542,48 +4645,6 @@ md_apply_fix3 (fixP, valP, seg)
- runtime we merely add the offset to the actual PLT entry. */
- value = -4;
- break;
-- case BFD_RELOC_386_GOTPC:
--
--/* This is tough to explain. We end up with this one if we have
-- * operands that look like "_GLOBAL_OFFSET_TABLE_+[.-.L284]". The goal
-- * here is to obtain the absolute address of the GOT, and it is strongly
-- * preferable from a performance point of view to avoid using a runtime
-- * relocation for this. The actual sequence of instructions often look
-- * something like:
-- *
-- * call .L66
-- * .L66:
-- * popl %ebx
-- * addl $_GLOBAL_OFFSET_TABLE_+[.-.L66],%ebx
-- *
-- * The call and pop essentially return the absolute address of
-- * the label .L66 and store it in %ebx. The linker itself will
-- * ultimately change the first operand of the addl so that %ebx points to
-- * the GOT, but to keep things simple, the .o file must have this operand
-- * set so that it generates not the absolute address of .L66, but the
-- * absolute address of itself. This allows the linker itself simply
-- * treat a GOTPC relocation as asking for a pcrel offset to the GOT to be
-- * added in, and the addend of the relocation is stored in the operand
-- * field for the instruction itself.
-- *
-- * Our job here is to fix the operand so that it would add the correct
-- * offset so that %ebx would point to itself. The thing that is tricky is
-- * that .-.L66 will point to the beginning of the instruction, so we need
-- * to further modify the operand so that it will point to itself.
-- * There are other cases where you have something like:
-- *
-- * .long $_GLOBAL_OFFSET_TABLE_+[.-.L66]
-- *
-- * and here no correction would be required. Internally in the assembler
-- * we treat operands of this form as not being pcrel since the '.' is
-- * explicitly mentioned, and I wonder whether it would simplify matters
-- * to do it this way. Who knows. In earlier versions of the PIC patches,
-- * the pcrel_adjust field was used to store the correction, but since the
-- * expression is not pcrel, I felt it would be confusing to do it this
-- * way. */
--
-- value -= 1;
-- break;
- case BFD_RELOC_386_GOT32:
- case BFD_RELOC_386_TLS_GD:
- case BFD_RELOC_386_TLS_LDM:
---- binutils/gas/testsuite/gas/i386/gotpc.s.jj 2002-08-02 21:17:57.000000000 +0200
-+++ binutils/gas/testsuite/gas/i386/gotpc.s 2002-08-03 22:55:47.000000000 +0200
-@@ -0,0 +1,40 @@
-+ .text
-+test:
-+ addl $_GLOBAL_OFFSET_TABLE_+[.-test], %eax
-+ addl $_GLOBAL_OFFSET_TABLE_+[.-test], %ebx
-+ addl $_GLOBAL_OFFSET_TABLE_, %eax
-+ addl $_GLOBAL_OFFSET_TABLE_, %ebx
-+ leal _GLOBAL_OFFSET_TABLE+[.-test](%eax), %ebx
-+ leal _GLOBAL_OFFSET_TABLE+[.-test](%ebx), %eax
-+ leal _GLOBAL_OFFSET_TABLE+[.-test](%eax), %eax
-+ leal _GLOBAL_OFFSET_TABLE+[.-test](%ebx), %ebx
-+ subl $_GLOBAL_OFFSET_TABLE_+[.-test], %eax
-+ subl $_GLOBAL_OFFSET_TABLE_+[.-test], %ebx
-+ subl $_GLOBAL_OFFSET_TABLE_, %eax
-+ subl $_GLOBAL_OFFSET_TABLE_, %ebx
-+ orl $_GLOBAL_OFFSET_TABLE_+[.-test], %eax
-+ orl $_GLOBAL_OFFSET_TABLE_+[.-test], %ebx
-+ orl $_GLOBAL_OFFSET_TABLE_, %eax
-+ orl $_GLOBAL_OFFSET_TABLE_, %ebx
-+ movl $_GLOBAL_OFFSET_TABLE_+[.-test], %eax
-+ movl $_GLOBAL_OFFSET_TABLE_+[.-test], %ebx
-+ movl $_GLOBAL_OFFSET_TABLE_, %eax
-+ movl $_GLOBAL_OFFSET_TABLE_, %ebx
-+ movl $_GLOBAL_OFFSET_TABLE_+[.-test], foo
-+ movl $_GLOBAL_OFFSET_TABLE_+[.-test], %gs:foo
-+ gs; movl $_GLOBAL_OFFSET_TABLE_+[.-test], foo
-+ movl $_GLOBAL_OFFSET_TABLE_+[.-test], _GLOBAL_OFFSET_TABLE_
-+ movl _GLOBAL_OFFSET_TABLE_+[.-test], %eax
-+ movl _GLOBAL_OFFSET_TABLE_+[.-test], %ebx
-+ movl %eax, _GLOBAL_OFFSET_TABLE_+[.-test]
-+ movl %ebx, _GLOBAL_OFFSET_TABLE_+[.-test]
-+ movl %eax, %gs:_GLOBAL_OFFSET_TABLE_+[.-test]
-+ movl %ebx, %gs:_GLOBAL_OFFSET_TABLE_+[.-test]
-+ gs; movl %eax, _GLOBAL_OFFSET_TABLE_+[.-test]
-+ gs; movl %ebx, _GLOBAL_OFFSET_TABLE_+[.-test]
-+ leal _GLOBAL_OFFSET_TABLE_@GOTOFF(%ebx), %eax
-+ leal _GLOBAL_OFFSET_TABLE_@GOTOFF(%ebx), %ebx
-+ movl _GLOBAL_OFFSET_TABLE_@GOTOFF(%ebx), %eax
-+ movl _GLOBAL_OFFSET_TABLE_@GOTOFF(%ebx), %ebx
-+ .long _GLOBAL_OFFSET_TABLE_+[.-test]
-+ .long _GLOBAL_OFFSET_TABLE_@GOTOFF
---- binutils/gas/testsuite/gas/i386/gotpc.d.jj 2002-08-02 21:18:43.000000000 +0200
-+++ binutils/gas/testsuite/gas/i386/gotpc.d 2002-08-03 23:05:43.000000000 +0200
-@@ -0,0 +1,52 @@
-+#objdump: -drw
-+#name: i386 gotpc
-+
-+.*: +file format .*
-+
-+Disassembly of section .text:
-+
-+0+000 <test>:
-+ 0: 05 01 00 00 00 [ ]*add \$0x1,%eax 1: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 5: 81 c3 07 00 00 00 [ ]*add \$0x7,%ebx 7: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ b: 05 01 00 00 00 [ ]*add \$0x1,%eax c: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 10: 81 c3 02 00 00 00 [ ]*add \$0x2,%ebx 12: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 16: 8d 98 16 00 00 00 [ ]*lea 0x16\(%eax\),%ebx 18: (R_386_)?(dir)?32 _GLOBAL_OFFSET_TABLE
-+ 1c: 8d 83 1c 00 00 00 [ ]*lea 0x1c\(%ebx\),%eax 1e: (R_386_)?(dir)?32 _GLOBAL_OFFSET_TABLE
-+ 22: 8d 80 22 00 00 00 [ ]*lea 0x22\(%eax\),%eax 24: (R_386_)?(dir)?32 _GLOBAL_OFFSET_TABLE
-+ 28: 8d 9b 28 00 00 00 [ ]*lea 0x28\(%ebx\),%ebx 2a: (R_386_)?(dir)?32 _GLOBAL_OFFSET_TABLE
-+ 2e: 2d 2f 00 00 00 [ ]*sub \$0x2f,%eax 2f: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 33: 81 eb 35 00 00 00 [ ]*sub \$0x35,%ebx 35: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 39: 2d 01 00 00 00 [ ]*sub \$0x1,%eax 3a: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 3e: 81 eb 02 00 00 00 [ ]*sub \$0x2,%ebx 40: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 44: 0d 45 00 00 00 [ ]*or \$0x45,%eax 45: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 49: 81 cb 4b 00 00 00 [ ]*or \$0x4b,%ebx 4b: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 4f: 0d 01 00 00 00 [ ]*or \$0x1,%eax 50: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 54: 81 cb 02 00 00 00 [ ]*or \$0x2,%ebx 56: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 5a: b8 5b 00 00 00 [ ]*mov \$0x5b,%eax 5b: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 5f: bb 60 00 00 00 [ ]*mov \$0x60,%ebx 60: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 64: b8 01 00 00 00 [ ]*mov \$0x1,%eax 65: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 69: bb 01 00 00 00 [ ]*mov \$0x1,%ebx 6a: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 6e: c7 05 00 00 00 00 74 00 00 00 [ ]*movl \$0x74,0x0 70: (R_386_)?(dir)?32 foo
-+[ ]*74: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 78: 65 c7 05 00 00 00 00 7f 00 00 00 [ ]*movl \$0x7f,%gs:0x0 7b: (R_386_)?(dir)?32 foo
-+[ ]*7f: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 83: 65 c7 05 00 00 00 00 8a 00 00 00 [ ]*movl \$0x8a,%gs:0x0 86: (R_386_)?(dir)?32 foo
-+[ ]*8a: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 8e: c7 05 02 00 00 00 94 00 00 00 [ ]*movl \$0x94,0x2 90: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+[ ]*94: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 98: a1 99 00 00 00 [ ]*mov 0x99,%eax 99: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 9d: 8b 1d 9f 00 00 00 [ ]*mov 0x9f,%ebx 9f: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ a3: a3 a4 00 00 00 [ ]*mov %eax,0xa4 a4: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ a8: 89 1d aa 00 00 00 [ ]*mov %ebx,0xaa aa: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ ae: 65 a3 b0 00 00 00 [ ]*mov %eax,%gs:0xb0 b0: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ b4: 65 89 1d b7 00 00 00 [ ]*mov %ebx,%gs:0xb7 b7: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ bb: 65 a3 bd 00 00 00 [ ]*mov %eax,%gs:0xbd bd: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ c1: 65 89 1d c4 00 00 00 [ ]*mov %ebx,%gs:0xc4 c4: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ c8: 8d 83 00 00 00 00 [ ]*lea 0x0\(%ebx\),%eax ca: (R_386_)?GOTOFF _GLOBAL_OFFSET_TABLE_
-+ ce: 8d 9b 00 00 00 00 [ ]*lea 0x0\(%ebx\),%ebx d0: (R_386_)?GOTOFF _GLOBAL_OFFSET_TABLE_
-+ d4: 8b 83 00 00 00 00 [ ]*mov 0x0\(%ebx\),%eax d6: (R_386_)?GOTOFF _GLOBAL_OFFSET_TABLE_
-+ da: 8b 9b 00 00 00 00 [ ]*mov 0x0\(%ebx\),%ebx dc: (R_386_)?GOTOFF _GLOBAL_OFFSET_TABLE_
-+ e0: e0 00 [ ]*loopne e2 <test\+0xe2> e0: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ e2: 00 00 [ ]*add %al,\(%eax\)
-+ e4: 00 00 [ ]*add %al,\(%eax\) e4: (R_386_)?GOTOFF _GLOBAL_OFFSET_TABLE_
-+ ...
---- binutils/gas/testsuite/gas/i386/i386.exp.jj 2002-07-18 11:35:39.000000000 +0200
-+++ binutils/gas/testsuite/gas/i386/i386.exp 2002-08-02 21:57:46.000000000 +0200
-@@ -53,6 +53,7 @@ if [expr ([istarget "i*86-*-*"] || [ist
- run_dump_test "jump"
- run_dump_test "ssemmx2"
- run_dump_test "sse2"
-+ run_dump_test "gotpc"
-
- # PIC is only supported on ELF targets.
- if { ([istarget "*-*-elf*"] || [istarget "*-*-linux*"] )
-
diff --git a/patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-tpoff32.patch b/patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-tpoff32.patch
deleted file mode 100644
index 511a11e..0000000
--- a/patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-tpoff32.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-2002-08-07 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
- for R_386_TLS_TPOFF32 relocs against symndx 0.
-
---- binutils/bfd/elf32-i386.c.jj 2002-07-30 16:14:55.000000000 +0200
-+++ binutils/bfd/elf32-i386.c 2002-08-07 23:41:48.000000000 +0200
-@@ -2561,13 +2567,17 @@ elf_i386_relocate_section (output_bfd, i
- outrel.r_offset = (htab->sgot->output_section->vma
- + htab->sgot->output_offset + off);
-
-- bfd_put_32 (output_bfd, 0,
-- htab->sgot->contents + off);
- indx = h && h->dynindx != -1 ? h->dynindx : 0;
- if (r_type == R_386_TLS_GD)
- dr_type = R_386_TLS_DTPMOD32;
- else
- dr_type = R_386_TLS_TPOFF32;
-+ if (dr_type == R_386_TLS_TPOFF32 && indx == 0)
-+ bfd_put_32 (output_bfd, relocation - dtpoff_base (info),
-+ htab->sgot->contents + off);
-+ else
-+ bfd_put_32 (output_bfd, 0,
-+ htab->sgot->contents + off);
- outrel.r_info = ELF32_R_INFO (indx, dr_type);
- loc = (Elf32_External_Rel *) htab->srelgot->contents;
- loc += htab->srelgot->reloc_count++;
diff --git a/patches/binutils/2.14.90.0.5/binutils-cross-demangler.patch b/patches/binutils/2.14.90.0.5/binutils-cross-demangler.patch
deleted file mode 100644
index ec701ce..0000000
--- a/patches/binutils/2.14.90.0.5/binutils-cross-demangler.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- orig/Makefile.in 2004-05-12 18:22:30.000000000 -0700
-+++ binutils-2.14.90.0.5/Makefile.in 2004-05-12 18:26:19.000000000 -0700
-@@ -24384,6 +24384,8 @@
- # Demangler depends on libiberty.
- configure-demangler: maybe-configure-libiberty
- all-demangler: maybe-all-libiberty
-+configure-build-demangler: maybe-configure-build-libiberty
-+all-build-demangler: maybe-all-build-libiberty
-
- # The new demangler, which is included in libiberty, is written in C++.
- # A working C++ compiler is required. For the target demangler, it may
diff --git a/patches/binutils/2.14.90.0.5/binutils-sh-relocs.patch b/patches/binutils/2.14.90.0.5/binutils-sh-relocs.patch
deleted file mode 100644
index ca0f2ac..0000000
--- a/patches/binutils/2.14.90.0.5/binutils-sh-relocs.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Message-Id: <200307311239.h6VCdNe27056@r-rr.iij4u.or.jp>
-To: dank@kegel.com
-Cc: kkojima@rr.iij4u.or.jp
-Subject: Re: Writing PIC version of __udivsi3_i4? (was: Re: "make tests" fails
- with "libc.so: text relocations used" in glibc-2.3.2 for sh4)
-In-Reply-To: Your message of "Wed, 30 Jul 2003 21:55:54 -0700"
- <3F28A15A.5010400@kegel.com>
-References: <3F28A15A.5010400@kegel.com>
-Date: Thu, 31 Jul 2003 21:47:38 +0900
-From: kaz Kojima <kkojima@rr.iij4u.or.jp>
-
-Dan Kegel <dank@kegel.com> wrote:
->> I'll give binutils-2.14.90.0.5 a shot, then.
->
-> No joy - same problem. Guess I'll take this up on binutils and/or libc-alpha.
-
-Please try the patch below, though it's a diff against the current
-binutils CVS.
-
-Regards,
- kaz
---
-diff -u3p ORIG/src/bfd/elf32-sh.c LOCAL/src/bfd/elf32-sh.c
---- src/bfd/elf32-sh.c.old Fri Jul 25 14:46:58 2003
-+++ src/bfd/elf32-sh.c Thu Jul 31 21:09:38 2003
-@@ -6497,8 +6497,10 @@ sh_elf_check_relocs (bfd *abfd, struct b
- sreloc, 2))
- return FALSE;
- }
-+#if 0
- if (sec->flags & SEC_READONLY)
- info->flags |= DF_TEXTREL;
-+#endif
- elf_section_data (sec)->sreloc = sreloc;
- }
-
-
-
diff --git a/patches/binutils/2.14.90.0.7/binutils-cross-demangler.patch b/patches/binutils/2.14.90.0.7/binutils-cross-demangler.patch
deleted file mode 100644
index ec701ce..0000000
--- a/patches/binutils/2.14.90.0.7/binutils-cross-demangler.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- orig/Makefile.in 2004-05-12 18:22:30.000000000 -0700
-+++ binutils-2.14.90.0.5/Makefile.in 2004-05-12 18:26:19.000000000 -0700
-@@ -24384,6 +24384,8 @@
- # Demangler depends on libiberty.
- configure-demangler: maybe-configure-libiberty
- all-demangler: maybe-all-libiberty
-+configure-build-demangler: maybe-configure-build-libiberty
-+all-build-demangler: maybe-all-build-libiberty
-
- # The new demangler, which is included in libiberty, is written in C++.
- # A working C++ compiler is required. For the target demangler, it may
diff --git a/patches/binutils/2.14.92/binutils-skip-comments.patch b/patches/binutils/2.14.92/binutils-skip-comments.patch
deleted file mode 100644
index 804a17e..0000000
--- a/patches/binutils/2.14.92/binutils-skip-comments.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html
-Fixes
-localealias.s:544: Error: junk at end of line, first unrecognized character is `,'
-when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3
-
-Paths adjusted to match crosstool's patcher.
-
-Message-Id: m3n052qw2g.fsf@whitebox.m5r.de
-From: Andreas Schwab <schwab at suse dot de>
-To: Nathan Sidwell <nathan at codesourcery dot com>
-Cc: Ian Lance Taylor <ian at wasabisystems dot com>, binutils at sources dot redhat dot com
-Date: Fri, 23 Apr 2004 22:27:19 +0200
-Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line
-
-Nathan Sidwell <nathan@codesourcery.com> writes:
-
-> Index: read.c
-> ===================================================================
-> RCS file: /cvs/src/src/gas/read.c,v
-> retrieving revision 1.76
-> diff -c -3 -p -r1.76 read.c
-> *** read.c 12 Mar 2004 17:48:12 -0000 1.76
-> --- read.c 18 Mar 2004 09:56:05 -0000
-> *************** read_a_source_file (char *name)
-> *** 1053,1059 ****
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! ignore_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-> --- 1053,1059 ----
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! demand_empty_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-
-This means that the unknown character is no longer ignored, despite the
-comment. As a side effect a line starting with a line comment character
-not followed by APP in NO_APP mode now triggers an error instead of just a
-warning, breaking builds of glibc on m68k-linux. Earlier in
-read_a_source_file where #APP is handled there is another comment that
-claims that unknown comments are ignored, when in fact they aren't (only
-the initial line comment character is skipped).
-
-Note that the presence of #APP will mess up the line counters, but
-that appears to be difficult to fix.
-
-Andreas.
-
-2004-04-23 Andreas Schwab <schwab@suse.de>
-
- * read.c (read_a_source_file): Ignore unknown text after line
- comment character. Fix misleading comment.
-
---- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200
-+++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200
-@@ -1,6 +1,6 @@
- /* read.c - read a source file -
- Copyright 1986, 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-- 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+ 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-
- This file is part of GAS, the GNU Assembler.
-
-@@ -950,10 +950,14 @@ read_a_source_file (char *name)
- unsigned int new_length;
- char *tmp_buf = 0;
-
-- bump_line_counters ();
- s = input_line_pointer;
- if (strncmp (s, "APP\n", 4))
-- continue; /* We ignore it */
-+ {
-+ /* We ignore it */
-+ ignore_rest_of_line ();
-+ continue;
-+ }
-+ bump_line_counters ();
- s += 4;
-
- sb_new (&sbuf);
-@@ -1052,7 +1056,7 @@ read_a_source_file (char *name)
- continue;
- #endif
- input_line_pointer--;
-- /* Report unknown char as ignored. */
-+ /* Report unknown char as error. */
- demand_empty_rest_of_line ();
- }
-
-
---
-Andreas Schwab, SuSE Labs, schwab@suse.de
-SuSE Linux AG, Maxfeldstra&#xC3;e 5, 90409 N&#xC3;rnberg, Germany
-Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
-"And now for something completely different."
diff --git a/patches/binutils/2.14.92/gccpr15247-fix.patch b/patches/binutils/2.14.92/gccpr15247-fix.patch
deleted file mode 100644
index 967bf7f..0000000
--- a/patches/binutils/2.14.92/gccpr15247-fix.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-See
-http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15247
-
-Fixes spurious error
-/tmp/ccvNi4ou.s: Assembler messages:
-/tmp/ccvNi4ou.s:2310: Error: Illegal operands: There are only 32 single precision f registers; [0-31]
-make[2]: *** [/home/dank/wk/crosstool-0.28-rc10/build/sparc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/math/dosincos.o] Error 1
-
-when compiling glibc's dosincos.c with gcc-3.4.0
-
-===================================================================
-RCS file: /cvs/src/src/opcodes/sparc-opc.c,v
-retrieving revision 1.9
-retrieving revision 1.10
-diff -u -r1.9 -r1.10
---- src/opcodes/sparc-opc.c 2004/01/18 23:46:32 1.9
-+++ src/opcodes/sparc-opc.c 2004/04/20 10:23:51 1.10
-@@ -1273,110 +1273,72 @@
- #define FM_DF 2 /* v9 */
- #define FM_QF 3 /* v9 */
-
--#define fmovicc(opcode, fpsize, cond, flags) /* v9 */ \
--{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z,f,g", flags, v9 }, \
--{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z,f,g", flags, v9 }
--
--#define fmovfcc(opcode, fpsize, fcond, flags) /* v9 */ \
--{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6,f,g", flags, v9 }, \
--{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7,f,g", flags, v9 }, \
--{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8,f,g", flags, v9 }, \
--{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9,f,g", flags, v9 }
-+#define fmoviccx(opcode, fpsize, args, cond, flags) /* v9 */ \
-+{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z," args, flags, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z," args, flags, v9 }
-+
-+#define fmovfccx(opcode, fpsize, args, fcond, flags) /* v9 */ \
-+{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6," args, flags, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7," args, flags, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8," args, flags, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9," args, flags, v9 }
-
- /* FIXME: use fmovicc/fmovfcc? */ /* v9 */
--#define fmovcc(opcode, fpsize, cond, fcond, flags) /* v9 */ \
--{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9,f,g", flags | F_FLOAT, v9 }
--
--/* v9 */ fmovcc ("fmovda", FM_DF, CONDA, FCONDA, 0),
--/* v9 */ fmovcc ("fmovqa", FM_QF, CONDA, FCONDA, 0),
--/* v9 */ fmovcc ("fmovsa", FM_SF, CONDA, FCONDA, 0),
--/* v9 */ fmovicc ("fmovdcc", FM_DF, CONDCC, 0),
--/* v9 */ fmovicc ("fmovqcc", FM_QF, CONDCC, 0),
--/* v9 */ fmovicc ("fmovscc", FM_SF, CONDCC, 0),
--/* v9 */ fmovicc ("fmovdcs", FM_DF, CONDCS, 0),
--/* v9 */ fmovicc ("fmovqcs", FM_QF, CONDCS, 0),
--/* v9 */ fmovicc ("fmovscs", FM_SF, CONDCS, 0),
--/* v9 */ fmovcc ("fmovde", FM_DF, CONDE, FCONDE, 0),
--/* v9 */ fmovcc ("fmovqe", FM_QF, CONDE, FCONDE, 0),
--/* v9 */ fmovcc ("fmovse", FM_SF, CONDE, FCONDE, 0),
--/* v9 */ fmovcc ("fmovdg", FM_DF, CONDG, FCONDG, 0),
--/* v9 */ fmovcc ("fmovqg", FM_QF, CONDG, FCONDG, 0),
--/* v9 */ fmovcc ("fmovsg", FM_SF, CONDG, FCONDG, 0),
--/* v9 */ fmovcc ("fmovdge", FM_DF, CONDGE, FCONDGE, 0),
--/* v9 */ fmovcc ("fmovqge", FM_QF, CONDGE, FCONDGE, 0),
--/* v9 */ fmovcc ("fmovsge", FM_SF, CONDGE, FCONDGE, 0),
--/* v9 */ fmovicc ("fmovdgeu", FM_DF, CONDGEU, F_ALIAS),
--/* v9 */ fmovicc ("fmovqgeu", FM_QF, CONDGEU, F_ALIAS),
--/* v9 */ fmovicc ("fmovsgeu", FM_SF, CONDGEU, F_ALIAS),
--/* v9 */ fmovicc ("fmovdgu", FM_DF, CONDGU, 0),
--/* v9 */ fmovicc ("fmovqgu", FM_QF, CONDGU, 0),
--/* v9 */ fmovicc ("fmovsgu", FM_SF, CONDGU, 0),
--/* v9 */ fmovcc ("fmovdl", FM_DF, CONDL, FCONDL, 0),
--/* v9 */ fmovcc ("fmovql", FM_QF, CONDL, FCONDL, 0),
--/* v9 */ fmovcc ("fmovsl", FM_SF, CONDL, FCONDL, 0),
--/* v9 */ fmovcc ("fmovdle", FM_DF, CONDLE, FCONDLE, 0),
--/* v9 */ fmovcc ("fmovqle", FM_QF, CONDLE, FCONDLE, 0),
--/* v9 */ fmovcc ("fmovsle", FM_SF, CONDLE, FCONDLE, 0),
--/* v9 */ fmovicc ("fmovdleu", FM_DF, CONDLEU, 0),
--/* v9 */ fmovicc ("fmovqleu", FM_QF, CONDLEU, 0),
--/* v9 */ fmovicc ("fmovsleu", FM_SF, CONDLEU, 0),
--/* v9 */ fmovfcc ("fmovdlg", FM_DF, FCONDLG, 0),
--/* v9 */ fmovfcc ("fmovqlg", FM_QF, FCONDLG, 0),
--/* v9 */ fmovfcc ("fmovslg", FM_SF, FCONDLG, 0),
--/* v9 */ fmovicc ("fmovdlu", FM_DF, CONDLU, F_ALIAS),
--/* v9 */ fmovicc ("fmovqlu", FM_QF, CONDLU, F_ALIAS),
--/* v9 */ fmovicc ("fmovslu", FM_SF, CONDLU, F_ALIAS),
--/* v9 */ fmovcc ("fmovdn", FM_DF, CONDN, FCONDN, 0),
--/* v9 */ fmovcc ("fmovqn", FM_QF, CONDN, FCONDN, 0),
--/* v9 */ fmovcc ("fmovsn", FM_SF, CONDN, FCONDN, 0),
--/* v9 */ fmovcc ("fmovdne", FM_DF, CONDNE, FCONDNE, 0),
--/* v9 */ fmovcc ("fmovqne", FM_QF, CONDNE, FCONDNE, 0),
--/* v9 */ fmovcc ("fmovsne", FM_SF, CONDNE, FCONDNE, 0),
--/* v9 */ fmovicc ("fmovdneg", FM_DF, CONDNEG, 0),
--/* v9 */ fmovicc ("fmovqneg", FM_QF, CONDNEG, 0),
--/* v9 */ fmovicc ("fmovsneg", FM_SF, CONDNEG, 0),
--/* v9 */ fmovcc ("fmovdnz", FM_DF, CONDNZ, FCONDNZ, F_ALIAS),
--/* v9 */ fmovcc ("fmovqnz", FM_QF, CONDNZ, FCONDNZ, F_ALIAS),
--/* v9 */ fmovcc ("fmovsnz", FM_SF, CONDNZ, FCONDNZ, F_ALIAS),
--/* v9 */ fmovfcc ("fmovdo", FM_DF, FCONDO, 0),
--/* v9 */ fmovfcc ("fmovqo", FM_QF, FCONDO, 0),
--/* v9 */ fmovfcc ("fmovso", FM_SF, FCONDO, 0),
--/* v9 */ fmovicc ("fmovdpos", FM_DF, CONDPOS, 0),
--/* v9 */ fmovicc ("fmovqpos", FM_QF, CONDPOS, 0),
--/* v9 */ fmovicc ("fmovspos", FM_SF, CONDPOS, 0),
--/* v9 */ fmovfcc ("fmovdu", FM_DF, FCONDU, 0),
--/* v9 */ fmovfcc ("fmovqu", FM_QF, FCONDU, 0),
--/* v9 */ fmovfcc ("fmovsu", FM_SF, FCONDU, 0),
--/* v9 */ fmovfcc ("fmovdue", FM_DF, FCONDUE, 0),
--/* v9 */ fmovfcc ("fmovque", FM_QF, FCONDUE, 0),
--/* v9 */ fmovfcc ("fmovsue", FM_SF, FCONDUE, 0),
--/* v9 */ fmovfcc ("fmovdug", FM_DF, FCONDUG, 0),
--/* v9 */ fmovfcc ("fmovqug", FM_QF, FCONDUG, 0),
--/* v9 */ fmovfcc ("fmovsug", FM_SF, FCONDUG, 0),
--/* v9 */ fmovfcc ("fmovduge", FM_DF, FCONDUGE, 0),
--/* v9 */ fmovfcc ("fmovquge", FM_QF, FCONDUGE, 0),
--/* v9 */ fmovfcc ("fmovsuge", FM_SF, FCONDUGE, 0),
--/* v9 */ fmovfcc ("fmovdul", FM_DF, FCONDUL, 0),
--/* v9 */ fmovfcc ("fmovqul", FM_QF, FCONDUL, 0),
--/* v9 */ fmovfcc ("fmovsul", FM_SF, FCONDUL, 0),
--/* v9 */ fmovfcc ("fmovdule", FM_DF, FCONDULE, 0),
--/* v9 */ fmovfcc ("fmovqule", FM_QF, FCONDULE, 0),
--/* v9 */ fmovfcc ("fmovsule", FM_SF, FCONDULE, 0),
--/* v9 */ fmovicc ("fmovdvc", FM_DF, CONDVC, 0),
--/* v9 */ fmovicc ("fmovqvc", FM_QF, CONDVC, 0),
--/* v9 */ fmovicc ("fmovsvc", FM_SF, CONDVC, 0),
--/* v9 */ fmovicc ("fmovdvs", FM_DF, CONDVS, 0),
--/* v9 */ fmovicc ("fmovqvs", FM_QF, CONDVS, 0),
--/* v9 */ fmovicc ("fmovsvs", FM_SF, CONDVS, 0),
--/* v9 */ fmovcc ("fmovdz", FM_DF, CONDZ, FCONDZ, F_ALIAS),
--/* v9 */ fmovcc ("fmovqz", FM_QF, CONDZ, FCONDZ, F_ALIAS),
--/* v9 */ fmovcc ("fmovsz", FM_SF, CONDZ, FCONDZ, F_ALIAS),
--
-+#define fmovccx(opcode, fpsize, args, cond, fcond, flags) /* v9 */ \
-+{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9," args, flags | F_FLOAT, v9 }
-+
-+#define fmovicc(suffix, cond, flags) /* v9 */ \
-+fmoviccx("fmovd" suffix, FM_DF, "B,H", cond, flags), \
-+fmoviccx("fmovq" suffix, FM_QF, "R,J", cond, flags), \
-+fmoviccx("fmovs" suffix, FM_SF, "f,g", cond, flags)
-+
-+#define fmovfcc(suffix, fcond, flags) /* v9 */ \
-+fmovfccx("fmovd" suffix, FM_DF, "B,H", fcond, flags), \
-+fmovfccx("fmovq" suffix, FM_QF, "R,J", fcond, flags), \
-+fmovfccx("fmovs" suffix, FM_SF, "f,g", fcond, flags)
-+
-+#define fmovcc(suffix, cond, fcond, flags) /* v9 */ \
-+fmovccx("fmovd" suffix, FM_DF, "B,H", cond, fcond, flags), \
-+fmovccx("fmovq" suffix, FM_QF, "R,J", cond, fcond, flags), \
-+fmovccx("fmovs" suffix, FM_SF, "f,g", cond, fcond, flags)
-+
-+/* v9 */ fmovcc ("a", CONDA, FCONDA, 0),
-+/* v9 */ fmovicc ("cc", CONDCC, 0),
-+/* v9 */ fmovicc ("cs", CONDCS, 0),
-+/* v9 */ fmovcc ("e", CONDE, FCONDE, 0),
-+/* v9 */ fmovcc ("g", CONDG, FCONDG, 0),
-+/* v9 */ fmovcc ("ge", CONDGE, FCONDGE, 0),
-+/* v9 */ fmovicc ("geu", CONDGEU, F_ALIAS),
-+/* v9 */ fmovicc ("gu", CONDGU, 0),
-+/* v9 */ fmovcc ("l", CONDL, FCONDL, 0),
-+/* v9 */ fmovcc ("le", CONDLE, FCONDLE, 0),
-+/* v9 */ fmovicc ("leu", CONDLEU, 0),
-+/* v9 */ fmovfcc ("lg", FCONDLG, 0),
-+/* v9 */ fmovicc ("lu", CONDLU, F_ALIAS),
-+/* v9 */ fmovcc ("n", CONDN, FCONDN, 0),
-+/* v9 */ fmovcc ("ne", CONDNE, FCONDNE, 0),
-+/* v9 */ fmovicc ("neg", CONDNEG, 0),
-+/* v9 */ fmovcc ("nz", CONDNZ, FCONDNZ, F_ALIAS),
-+/* v9 */ fmovfcc ("o", FCONDO, 0),
-+/* v9 */ fmovicc ("pos", CONDPOS, 0),
-+/* v9 */ fmovfcc ("u", FCONDU, 0),
-+/* v9 */ fmovfcc ("ue", FCONDUE, 0),
-+/* v9 */ fmovfcc ("ug", FCONDUG, 0),
-+/* v9 */ fmovfcc ("uge", FCONDUGE, 0),
-+/* v9 */ fmovfcc ("ul", FCONDUL, 0),
-+/* v9 */ fmovfcc ("ule", FCONDULE, 0),
-+/* v9 */ fmovicc ("vc", CONDVC, 0),
-+/* v9 */ fmovicc ("vs", CONDVS, 0),
-+/* v9 */ fmovcc ("z", CONDZ, FCONDZ, F_ALIAS),
-+
-+#undef fmoviccx /* v9 */
-+#undef fmovfccx /* v9 */
-+#undef fmovccx /* v9 */
- #undef fmovicc /* v9 */
- #undef fmovfcc /* v9 */
- #undef fmovcc /* v9 */
diff --git a/patches/binutils/2.15.90.0.3/binutils-20040817-linkonce.patch b/patches/binutils/2.15.90.0.3/binutils-20040817-linkonce.patch
deleted file mode 100644
index 97fa6ee..0000000
--- a/patches/binutils/2.15.90.0.3/binutils-20040817-linkonce.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-From http://sources.redhat.com/ml/binutils/2004-08/msg00190.html
-
-Date: Tue, 17 Aug 2004 12:04:29 +0200
-From: Jakub Jelinek <jakub at redhat dot com>
-To: binutils at sources dot redhat dot com
-Subject: [PATCH] Fix `defined in discarded section' errors when building ia64 gcc
-Message-ID: <20040817100429.GL30497@sunsite.ms.mff.cuni.cz>
-Reply-To: Jakub Jelinek <jakub at redhat dot com>
-References: <20040817090201.GK30497@sunsite.ms.mff.cuni.cz>
-In-Reply-To: <20040817090201 dot GK30497 at sunsite dot ms dot mff dot cuni dot cz>
-
-On Tue, Aug 17, 2004 at 11:02:01AM +0200, Jakub Jelinek wrote:
-> Current gcc 3.4.x (at least gcc-3_4-rhl-branch) doesn't build with CVS
-> binutils (nor 2.15.91.0.2).
-> The problem is that libstdc++.so linking fails with:
-> `.gnu.linkonce.t._ZNSdD2Ev' referenced in section `.gnu.linkonce.ia64unw._ZNSdD2Ev' of .libs/sstream-inst.o: defined in discarded section `.gnu.linkonce.t._ZNSdD2Ev' of .libs/sstream-inst.o
-> The problem is that both io-inst.s and sstream-inst.s have
-> .gnu.linkonce.t._ZNSdD2Ev definition, but because io-inst.cc
-> also instantiates some templates sstream-inst.cc doesn't instantiate,
-> the inliner can do a better job in io-inst.cc.
-> The result is that _ZNSdD2Ev in io-inst.cc is a leaf routine, while
-> it is not in sstream-inst.cc (in assembly,
-> _ZNSdD2Ev in io-inst.s starts with .prologue and no .save directives,
-> while _ZNSdD2Ev] in sstream-inst.s has .prologue 12, 35 and some
-> .save directives.
-> IA-64 ABI allows leaf routines to have no unwind section at all,
-> which means .gnu.linkonce.ia64unw._ZNSdD2Ev is not created in
-> io-inst.o at all and as .gnu.linkonce.t._ZNSdD2Ev comes first
-> and wins, .gnu.linkonce.ia64unw._ZNSdD2Ev in sstream.o suddenly
-> references a discarded section.
->
-> Not sure what should be done here, but certainly the compiler
-> isn't at fault here, it is a binutils problem.
-> One fix could be to create empty .gnu.linkonce.ia64unw.* section
-> in assembler, another special case ia64 unwind sections in the linker.
-
-Here is a patch for the first possibility.
-It certainly makes libstdc++.so to link and even the unwind info looks
-good on brief skimming.
-
-2004-08-17 Jakub Jelinek <jakub@redhat.com>
-
- * config/tc-ia64.c (start_unwind_section): Add linkonce_empty
- argument, don't do anything if current section is not
- .gnu.linkonce.t.* and linkonce_empty is set.
- (generate_unwind_image, dot_endp): Adjust callers, call
- start_unwind_section (*, 1) if nothing will be put into the
- section.
-
---- binutils/gas/config/tc-ia64.c.jj 2004-07-30 11:42:24.000000000 +0200
-+++ binutils/gas/config/tc-ia64.c 2004-08-17 13:45:04.288173205 +0200
-@@ -1,5 +1,6 @@
- /* tc-ia64.c -- Assembler for the HP/Intel IA-64 architecture.
-- Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+ Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
-+ Free Software Foundation, Inc.
- Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
-
- This file is part of GAS, the GNU Assembler.
-@@ -3297,7 +3298,7 @@ static char *special_linkonce_name[] =
- };
-
- static void
--start_unwind_section (const segT text_seg, int sec_index)
-+start_unwind_section (const segT text_seg, int sec_index, int linkonce_empty)
- {
- /*
- Use a slightly ugly scheme to derive the unwind section names from
-@@ -3359,6 +3360,8 @@ start_unwind_section (const segT text_se
- prefix = special_linkonce_name [sec_index - SPECIAL_SECTION_UNWIND];
- suffix += sizeof (".gnu.linkonce.t.") - 1;
- }
-+ else if (linkonce_empty)
-+ return;
-
- prefix_len = strlen (prefix);
- suffix_len = strlen (suffix);
-@@ -3444,7 +3447,7 @@ generate_unwind_image (const segT text_s
- expressionS exp;
- bfd_reloc_code_real_type reloc;
-
-- start_unwind_section (text_seg, SPECIAL_SECTION_UNWIND_INFO);
-+ start_unwind_section (text_seg, SPECIAL_SECTION_UNWIND_INFO, 0);
-
- /* Make sure the section has 4 byte alignment for ILP32 and
- 8 byte alignment for LP64. */
-@@ -3485,6 +3488,8 @@ generate_unwind_image (const segT text_s
- unwind.personality_routine = 0;
- }
- }
-+ else
-+ start_unwind_section (text_seg, SPECIAL_SECTION_UNWIND_INFO, 1);
-
- free_saved_prologue_counts ();
- unwind.list = unwind.tail = unwind.current_entry = NULL;
-@@ -4164,7 +4169,7 @@ dot_endp (dummy)
- subseg_set (md.last_text_seg, 0);
- unwind.proc_end = expr_build_dot ();
-
-- start_unwind_section (saved_seg, SPECIAL_SECTION_UNWIND);
-+ start_unwind_section (saved_seg, SPECIAL_SECTION_UNWIND, 0);
-
- /* Make sure that section has 4 byte alignment for ILP32 and
- 8 byte alignment for LP64. */
-@@ -4204,6 +4209,9 @@ dot_endp (dummy)
- bytes_per_address);
-
- }
-+ else
-+ start_unwind_section (saved_seg, SPECIAL_SECTION_UNWIND, 1);
-+
- subseg_set (saved_seg, saved_subseg);
-
- /* Parse names of main and alternate entry points and set symbol sizes. */
-
-
- Jakub
-
diff --git a/patches/binutils/2.15.90.0.3/binutils-20040820-duplicates.patch b/patches/binutils/2.15.90.0.3/binutils-20040820-duplicates.patch
deleted file mode 100644
index 03f6453..0000000
--- a/patches/binutils/2.15.90.0.3/binutils-20040820-duplicates.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-See http://sources.redhat.com/ml/binutils/2004-08/msg00256.html
-
-Date: Fri, 20 Aug 2004 21:13:43 -0400
-From: Daniel Jacobowitz <drow at false dot org>
-To: binutils at sources dot redhat dot com
-Subject: Re: Handle SEC_LINK_DUPLICATES_SAME_CONTENTS for arm-linux
-Message-ID: <20040821011342.GA30319@nevyn.them.org>
-Mail-Followup-To: binutils at sources dot redhat dot com
-References: <20040818145518.GA9774@nevyn.them.org> <20040819055040.GA11820@lucon.org> <20040819080034.GE21716@bubble.modra.org> <20040820173240.GA17678@nevyn.them.org> <20040821003737.GB16016@bubble.modra.org>
-In-Reply-To: <20040821003737 dot GB16016 at bubble dot modra dot org>
-
-On Sat, Aug 21, 2004 at 10:07:38AM +0930, Alan Modra wrote:
-> On Fri, Aug 20, 2004 at 01:32:40PM -0400, Daniel Jacobowitz wrote:
-> > Thanks. How's this?
->
-> As you might have guessed from my rather slack review of your previous
-> patch, I trust you enough to give the OK without proper review. But
-> since you asked... :)
-
-Checked in as so.
-
---
-Daniel Jacobowitz
-
-2004-08-20 Daniel Jacobowitz <dan@debian.org>
-
- * elflink.c (_bfd_elf_section_already_linked): Handle
- SEC_LINK_DUPLICATES_SAME_CONTENTS.
-
-Index: elflink.c
-===================================================================
-RCS file: /big/fsf/rsync/src-cvs/src/bfd/elflink.c,v
-retrieving revision 1.97
-diff -u -p -r1.97 elflink.c
---- binutils/bfd/elflink.c 18 Aug 2004 02:45:42 -0000 1.97
-+++ binutils/bfd/elflink.c 21 Aug 2004 00:59:08 -0000
-@@ -9366,6 +9366,36 @@ _bfd_elf_section_already_linked (bfd *ab
- (_("%B: duplicate section `%A' has different size\n"),
- abfd, sec);
- break;
-+
-+ case SEC_LINK_DUPLICATES_SAME_CONTENTS:
-+ if (sec->size != l->sec->size)
-+ (*_bfd_error_handler)
-+ (_("%B: duplicate section `%A' has different size\n"),
-+ abfd, sec);
-+ else if (sec->size != 0)
-+ {
-+ bfd_byte *sec_contents, *l_sec_contents;
-+
-+ if (!bfd_malloc_and_get_section (abfd, sec, &sec_contents))
-+ (*_bfd_error_handler)
-+ (_("%B: warning: could not read contents of section `%A'\n"),
-+ abfd, sec);
-+ else if (!bfd_malloc_and_get_section (l->sec->owner, l->sec,
-+ &l_sec_contents))
-+ (*_bfd_error_handler)
-+ (_("%B: warning: could not read contents of section `%A'\n"),
-+ l->sec->owner, l->sec);
-+ else if (memcmp (sec_contents, l_sec_contents, sec->size) != 0)
-+ (*_bfd_error_handler)
-+ (_("%B: warning: duplicate section `%A' has different contents\n"),
-+ abfd, sec);
-+
-+ if (sec_contents)
-+ free (sec_contents);
-+ if (l_sec_contents)
-+ free (l_sec_contents);
-+ }
-+ break;
- }
-
- /* Set the output_section field so that lang_add_section
-
diff --git a/patches/binutils/2.15.90.0.3/binutils-skip-comments.patch b/patches/binutils/2.15.90.0.3/binutils-skip-comments.patch
deleted file mode 100644
index 804a17e..0000000
--- a/patches/binutils/2.15.90.0.3/binutils-skip-comments.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html
-Fixes
-localealias.s:544: Error: junk at end of line, first unrecognized character is `,'
-when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3
-
-Paths adjusted to match crosstool's patcher.
-
-Message-Id: m3n052qw2g.fsf@whitebox.m5r.de
-From: Andreas Schwab <schwab at suse dot de>
-To: Nathan Sidwell <nathan at codesourcery dot com>
-Cc: Ian Lance Taylor <ian at wasabisystems dot com>, binutils at sources dot redhat dot com
-Date: Fri, 23 Apr 2004 22:27:19 +0200
-Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line
-
-Nathan Sidwell <nathan@codesourcery.com> writes:
-
-> Index: read.c
-> ===================================================================
-> RCS file: /cvs/src/src/gas/read.c,v
-> retrieving revision 1.76
-> diff -c -3 -p -r1.76 read.c
-> *** read.c 12 Mar 2004 17:48:12 -0000 1.76
-> --- read.c 18 Mar 2004 09:56:05 -0000
-> *************** read_a_source_file (char *name)
-> *** 1053,1059 ****
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! ignore_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-> --- 1053,1059 ----
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! demand_empty_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-
-This means that the unknown character is no longer ignored, despite the
-comment. As a side effect a line starting with a line comment character
-not followed by APP in NO_APP mode now triggers an error instead of just a
-warning, breaking builds of glibc on m68k-linux. Earlier in
-read_a_source_file where #APP is handled there is another comment that
-claims that unknown comments are ignored, when in fact they aren't (only
-the initial line comment character is skipped).
-
-Note that the presence of #APP will mess up the line counters, but
-that appears to be difficult to fix.
-
-Andreas.
-
-2004-04-23 Andreas Schwab <schwab@suse.de>
-
- * read.c (read_a_source_file): Ignore unknown text after line
- comment character. Fix misleading comment.
-
---- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200
-+++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200
-@@ -1,6 +1,6 @@
- /* read.c - read a source file -
- Copyright 1986, 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-- 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+ 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-
- This file is part of GAS, the GNU Assembler.
-
-@@ -950,10 +950,14 @@ read_a_source_file (char *name)
- unsigned int new_length;
- char *tmp_buf = 0;
-
-- bump_line_counters ();
- s = input_line_pointer;
- if (strncmp (s, "APP\n", 4))
-- continue; /* We ignore it */
-+ {
-+ /* We ignore it */
-+ ignore_rest_of_line ();
-+ continue;
-+ }
-+ bump_line_counters ();
- s += 4;
-
- sb_new (&sbuf);
-@@ -1052,7 +1056,7 @@ read_a_source_file (char *name)
- continue;
- #endif
- input_line_pointer--;
-- /* Report unknown char as ignored. */
-+ /* Report unknown char as error. */
- demand_empty_rest_of_line ();
- }
-
-
---
-Andreas Schwab, SuSE Labs, schwab@suse.de
-SuSE Linux AG, Maxfeldstra&#xC3;e 5, 90409 N&#xC3;rnberg, Germany
-Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
-"And now for something completely different."
diff --git a/patches/binutils/2.15.90.0.3/gccpr15247-fix.patch b/patches/binutils/2.15.90.0.3/gccpr15247-fix.patch
deleted file mode 100644
index 967bf7f..0000000
--- a/patches/binutils/2.15.90.0.3/gccpr15247-fix.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-See
-http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15247
-
-Fixes spurious error
-/tmp/ccvNi4ou.s: Assembler messages:
-/tmp/ccvNi4ou.s:2310: Error: Illegal operands: There are only 32 single precision f registers; [0-31]
-make[2]: *** [/home/dank/wk/crosstool-0.28-rc10/build/sparc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/math/dosincos.o] Error 1
-
-when compiling glibc's dosincos.c with gcc-3.4.0
-
-===================================================================
-RCS file: /cvs/src/src/opcodes/sparc-opc.c,v
-retrieving revision 1.9
-retrieving revision 1.10
-diff -u -r1.9 -r1.10
---- src/opcodes/sparc-opc.c 2004/01/18 23:46:32 1.9
-+++ src/opcodes/sparc-opc.c 2004/04/20 10:23:51 1.10
-@@ -1273,110 +1273,72 @@
- #define FM_DF 2 /* v9 */
- #define FM_QF 3 /* v9 */
-
--#define fmovicc(opcode, fpsize, cond, flags) /* v9 */ \
--{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z,f,g", flags, v9 }, \
--{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z,f,g", flags, v9 }
--
--#define fmovfcc(opcode, fpsize, fcond, flags) /* v9 */ \
--{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6,f,g", flags, v9 }, \
--{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7,f,g", flags, v9 }, \
--{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8,f,g", flags, v9 }, \
--{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9,f,g", flags, v9 }
-+#define fmoviccx(opcode, fpsize, args, cond, flags) /* v9 */ \
-+{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z," args, flags, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z," args, flags, v9 }
-+
-+#define fmovfccx(opcode, fpsize, args, fcond, flags) /* v9 */ \
-+{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6," args, flags, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7," args, flags, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8," args, flags, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9," args, flags, v9 }
-
- /* FIXME: use fmovicc/fmovfcc? */ /* v9 */
--#define fmovcc(opcode, fpsize, cond, fcond, flags) /* v9 */ \
--{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9,f,g", flags | F_FLOAT, v9 }
--
--/* v9 */ fmovcc ("fmovda", FM_DF, CONDA, FCONDA, 0),
--/* v9 */ fmovcc ("fmovqa", FM_QF, CONDA, FCONDA, 0),
--/* v9 */ fmovcc ("fmovsa", FM_SF, CONDA, FCONDA, 0),
--/* v9 */ fmovicc ("fmovdcc", FM_DF, CONDCC, 0),
--/* v9 */ fmovicc ("fmovqcc", FM_QF, CONDCC, 0),
--/* v9 */ fmovicc ("fmovscc", FM_SF, CONDCC, 0),
--/* v9 */ fmovicc ("fmovdcs", FM_DF, CONDCS, 0),
--/* v9 */ fmovicc ("fmovqcs", FM_QF, CONDCS, 0),
--/* v9 */ fmovicc ("fmovscs", FM_SF, CONDCS, 0),
--/* v9 */ fmovcc ("fmovde", FM_DF, CONDE, FCONDE, 0),
--/* v9 */ fmovcc ("fmovqe", FM_QF, CONDE, FCONDE, 0),
--/* v9 */ fmovcc ("fmovse", FM_SF, CONDE, FCONDE, 0),
--/* v9 */ fmovcc ("fmovdg", FM_DF, CONDG, FCONDG, 0),
--/* v9 */ fmovcc ("fmovqg", FM_QF, CONDG, FCONDG, 0),
--/* v9 */ fmovcc ("fmovsg", FM_SF, CONDG, FCONDG, 0),
--/* v9 */ fmovcc ("fmovdge", FM_DF, CONDGE, FCONDGE, 0),
--/* v9 */ fmovcc ("fmovqge", FM_QF, CONDGE, FCONDGE, 0),
--/* v9 */ fmovcc ("fmovsge", FM_SF, CONDGE, FCONDGE, 0),
--/* v9 */ fmovicc ("fmovdgeu", FM_DF, CONDGEU, F_ALIAS),
--/* v9 */ fmovicc ("fmovqgeu", FM_QF, CONDGEU, F_ALIAS),
--/* v9 */ fmovicc ("fmovsgeu", FM_SF, CONDGEU, F_ALIAS),
--/* v9 */ fmovicc ("fmovdgu", FM_DF, CONDGU, 0),
--/* v9 */ fmovicc ("fmovqgu", FM_QF, CONDGU, 0),
--/* v9 */ fmovicc ("fmovsgu", FM_SF, CONDGU, 0),
--/* v9 */ fmovcc ("fmovdl", FM_DF, CONDL, FCONDL, 0),
--/* v9 */ fmovcc ("fmovql", FM_QF, CONDL, FCONDL, 0),
--/* v9 */ fmovcc ("fmovsl", FM_SF, CONDL, FCONDL, 0),
--/* v9 */ fmovcc ("fmovdle", FM_DF, CONDLE, FCONDLE, 0),
--/* v9 */ fmovcc ("fmovqle", FM_QF, CONDLE, FCONDLE, 0),
--/* v9 */ fmovcc ("fmovsle", FM_SF, CONDLE, FCONDLE, 0),
--/* v9 */ fmovicc ("fmovdleu", FM_DF, CONDLEU, 0),
--/* v9 */ fmovicc ("fmovqleu", FM_QF, CONDLEU, 0),
--/* v9 */ fmovicc ("fmovsleu", FM_SF, CONDLEU, 0),
--/* v9 */ fmovfcc ("fmovdlg", FM_DF, FCONDLG, 0),
--/* v9 */ fmovfcc ("fmovqlg", FM_QF, FCONDLG, 0),
--/* v9 */ fmovfcc ("fmovslg", FM_SF, FCONDLG, 0),
--/* v9 */ fmovicc ("fmovdlu", FM_DF, CONDLU, F_ALIAS),
--/* v9 */ fmovicc ("fmovqlu", FM_QF, CONDLU, F_ALIAS),
--/* v9 */ fmovicc ("fmovslu", FM_SF, CONDLU, F_ALIAS),
--/* v9 */ fmovcc ("fmovdn", FM_DF, CONDN, FCONDN, 0),
--/* v9 */ fmovcc ("fmovqn", FM_QF, CONDN, FCONDN, 0),
--/* v9 */ fmovcc ("fmovsn", FM_SF, CONDN, FCONDN, 0),
--/* v9 */ fmovcc ("fmovdne", FM_DF, CONDNE, FCONDNE, 0),
--/* v9 */ fmovcc ("fmovqne", FM_QF, CONDNE, FCONDNE, 0),
--/* v9 */ fmovcc ("fmovsne", FM_SF, CONDNE, FCONDNE, 0),
--/* v9 */ fmovicc ("fmovdneg", FM_DF, CONDNEG, 0),
--/* v9 */ fmovicc ("fmovqneg", FM_QF, CONDNEG, 0),
--/* v9 */ fmovicc ("fmovsneg", FM_SF, CONDNEG, 0),
--/* v9 */ fmovcc ("fmovdnz", FM_DF, CONDNZ, FCONDNZ, F_ALIAS),
--/* v9 */ fmovcc ("fmovqnz", FM_QF, CONDNZ, FCONDNZ, F_ALIAS),
--/* v9 */ fmovcc ("fmovsnz", FM_SF, CONDNZ, FCONDNZ, F_ALIAS),
--/* v9 */ fmovfcc ("fmovdo", FM_DF, FCONDO, 0),
--/* v9 */ fmovfcc ("fmovqo", FM_QF, FCONDO, 0),
--/* v9 */ fmovfcc ("fmovso", FM_SF, FCONDO, 0),
--/* v9 */ fmovicc ("fmovdpos", FM_DF, CONDPOS, 0),
--/* v9 */ fmovicc ("fmovqpos", FM_QF, CONDPOS, 0),
--/* v9 */ fmovicc ("fmovspos", FM_SF, CONDPOS, 0),
--/* v9 */ fmovfcc ("fmovdu", FM_DF, FCONDU, 0),
--/* v9 */ fmovfcc ("fmovqu", FM_QF, FCONDU, 0),
--/* v9 */ fmovfcc ("fmovsu", FM_SF, FCONDU, 0),
--/* v9 */ fmovfcc ("fmovdue", FM_DF, FCONDUE, 0),
--/* v9 */ fmovfcc ("fmovque", FM_QF, FCONDUE, 0),
--/* v9 */ fmovfcc ("fmovsue", FM_SF, FCONDUE, 0),
--/* v9 */ fmovfcc ("fmovdug", FM_DF, FCONDUG, 0),
--/* v9 */ fmovfcc ("fmovqug", FM_QF, FCONDUG, 0),
--/* v9 */ fmovfcc ("fmovsug", FM_SF, FCONDUG, 0),
--/* v9 */ fmovfcc ("fmovduge", FM_DF, FCONDUGE, 0),
--/* v9 */ fmovfcc ("fmovquge", FM_QF, FCONDUGE, 0),
--/* v9 */ fmovfcc ("fmovsuge", FM_SF, FCONDUGE, 0),
--/* v9 */ fmovfcc ("fmovdul", FM_DF, FCONDUL, 0),
--/* v9 */ fmovfcc ("fmovqul", FM_QF, FCONDUL, 0),
--/* v9 */ fmovfcc ("fmovsul", FM_SF, FCONDUL, 0),
--/* v9 */ fmovfcc ("fmovdule", FM_DF, FCONDULE, 0),
--/* v9 */ fmovfcc ("fmovqule", FM_QF, FCONDULE, 0),
--/* v9 */ fmovfcc ("fmovsule", FM_SF, FCONDULE, 0),
--/* v9 */ fmovicc ("fmovdvc", FM_DF, CONDVC, 0),
--/* v9 */ fmovicc ("fmovqvc", FM_QF, CONDVC, 0),
--/* v9 */ fmovicc ("fmovsvc", FM_SF, CONDVC, 0),
--/* v9 */ fmovicc ("fmovdvs", FM_DF, CONDVS, 0),
--/* v9 */ fmovicc ("fmovqvs", FM_QF, CONDVS, 0),
--/* v9 */ fmovicc ("fmovsvs", FM_SF, CONDVS, 0),
--/* v9 */ fmovcc ("fmovdz", FM_DF, CONDZ, FCONDZ, F_ALIAS),
--/* v9 */ fmovcc ("fmovqz", FM_QF, CONDZ, FCONDZ, F_ALIAS),
--/* v9 */ fmovcc ("fmovsz", FM_SF, CONDZ, FCONDZ, F_ALIAS),
--
-+#define fmovccx(opcode, fpsize, args, cond, fcond, flags) /* v9 */ \
-+{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9," args, flags | F_FLOAT, v9 }
-+
-+#define fmovicc(suffix, cond, flags) /* v9 */ \
-+fmoviccx("fmovd" suffix, FM_DF, "B,H", cond, flags), \
-+fmoviccx("fmovq" suffix, FM_QF, "R,J", cond, flags), \
-+fmoviccx("fmovs" suffix, FM_SF, "f,g", cond, flags)
-+
-+#define fmovfcc(suffix, fcond, flags) /* v9 */ \
-+fmovfccx("fmovd" suffix, FM_DF, "B,H", fcond, flags), \
-+fmovfccx("fmovq" suffix, FM_QF, "R,J", fcond, flags), \
-+fmovfccx("fmovs" suffix, FM_SF, "f,g", fcond, flags)
-+
-+#define fmovcc(suffix, cond, fcond, flags) /* v9 */ \
-+fmovccx("fmovd" suffix, FM_DF, "B,H", cond, fcond, flags), \
-+fmovccx("fmovq" suffix, FM_QF, "R,J", cond, fcond, flags), \
-+fmovccx("fmovs" suffix, FM_SF, "f,g", cond, fcond, flags)
-+
-+/* v9 */ fmovcc ("a", CONDA, FCONDA, 0),
-+/* v9 */ fmovicc ("cc", CONDCC, 0),
-+/* v9 */ fmovicc ("cs", CONDCS, 0),
-+/* v9 */ fmovcc ("e", CONDE, FCONDE, 0),
-+/* v9 */ fmovcc ("g", CONDG, FCONDG, 0),
-+/* v9 */ fmovcc ("ge", CONDGE, FCONDGE, 0),
-+/* v9 */ fmovicc ("geu", CONDGEU, F_ALIAS),
-+/* v9 */ fmovicc ("gu", CONDGU, 0),
-+/* v9 */ fmovcc ("l", CONDL, FCONDL, 0),
-+/* v9 */ fmovcc ("le", CONDLE, FCONDLE, 0),
-+/* v9 */ fmovicc ("leu", CONDLEU, 0),
-+/* v9 */ fmovfcc ("lg", FCONDLG, 0),
-+/* v9 */ fmovicc ("lu", CONDLU, F_ALIAS),
-+/* v9 */ fmovcc ("n", CONDN, FCONDN, 0),
-+/* v9 */ fmovcc ("ne", CONDNE, FCONDNE, 0),
-+/* v9 */ fmovicc ("neg", CONDNEG, 0),
-+/* v9 */ fmovcc ("nz", CONDNZ, FCONDNZ, F_ALIAS),
-+/* v9 */ fmovfcc ("o", FCONDO, 0),
-+/* v9 */ fmovicc ("pos", CONDPOS, 0),
-+/* v9 */ fmovfcc ("u", FCONDU, 0),
-+/* v9 */ fmovfcc ("ue", FCONDUE, 0),
-+/* v9 */ fmovfcc ("ug", FCONDUG, 0),
-+/* v9 */ fmovfcc ("uge", FCONDUGE, 0),
-+/* v9 */ fmovfcc ("ul", FCONDUL, 0),
-+/* v9 */ fmovfcc ("ule", FCONDULE, 0),
-+/* v9 */ fmovicc ("vc", CONDVC, 0),
-+/* v9 */ fmovicc ("vs", CONDVS, 0),
-+/* v9 */ fmovcc ("z", CONDZ, FCONDZ, F_ALIAS),
-+
-+#undef fmoviccx /* v9 */
-+#undef fmovfccx /* v9 */
-+#undef fmovccx /* v9 */
- #undef fmovicc /* v9 */
- #undef fmovfcc /* v9 */
- #undef fmovcc /* v9 */
diff --git a/patches/binutils/2.15.91.0.2/binutils-20040817-linkonce.patch b/patches/binutils/2.15.91.0.2/binutils-20040817-linkonce.patch
deleted file mode 100644
index 97fa6ee..0000000
--- a/patches/binutils/2.15.91.0.2/binutils-20040817-linkonce.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-From http://sources.redhat.com/ml/binutils/2004-08/msg00190.html
-
-Date: Tue, 17 Aug 2004 12:04:29 +0200
-From: Jakub Jelinek <jakub at redhat dot com>
-To: binutils at sources dot redhat dot com
-Subject: [PATCH] Fix `defined in discarded section' errors when building ia64 gcc
-Message-ID: <20040817100429.GL30497@sunsite.ms.mff.cuni.cz>
-Reply-To: Jakub Jelinek <jakub at redhat dot com>
-References: <20040817090201.GK30497@sunsite.ms.mff.cuni.cz>
-In-Reply-To: <20040817090201 dot GK30497 at sunsite dot ms dot mff dot cuni dot cz>
-
-On Tue, Aug 17, 2004 at 11:02:01AM +0200, Jakub Jelinek wrote:
-> Current gcc 3.4.x (at least gcc-3_4-rhl-branch) doesn't build with CVS
-> binutils (nor 2.15.91.0.2).
-> The problem is that libstdc++.so linking fails with:
-> `.gnu.linkonce.t._ZNSdD2Ev' referenced in section `.gnu.linkonce.ia64unw._ZNSdD2Ev' of .libs/sstream-inst.o: defined in discarded section `.gnu.linkonce.t._ZNSdD2Ev' of .libs/sstream-inst.o
-> The problem is that both io-inst.s and sstream-inst.s have
-> .gnu.linkonce.t._ZNSdD2Ev definition, but because io-inst.cc
-> also instantiates some templates sstream-inst.cc doesn't instantiate,
-> the inliner can do a better job in io-inst.cc.
-> The result is that _ZNSdD2Ev in io-inst.cc is a leaf routine, while
-> it is not in sstream-inst.cc (in assembly,
-> _ZNSdD2Ev in io-inst.s starts with .prologue and no .save directives,
-> while _ZNSdD2Ev] in sstream-inst.s has .prologue 12, 35 and some
-> .save directives.
-> IA-64 ABI allows leaf routines to have no unwind section at all,
-> which means .gnu.linkonce.ia64unw._ZNSdD2Ev is not created in
-> io-inst.o at all and as .gnu.linkonce.t._ZNSdD2Ev comes first
-> and wins, .gnu.linkonce.ia64unw._ZNSdD2Ev in sstream.o suddenly
-> references a discarded section.
->
-> Not sure what should be done here, but certainly the compiler
-> isn't at fault here, it is a binutils problem.
-> One fix could be to create empty .gnu.linkonce.ia64unw.* section
-> in assembler, another special case ia64 unwind sections in the linker.
-
-Here is a patch for the first possibility.
-It certainly makes libstdc++.so to link and even the unwind info looks
-good on brief skimming.
-
-2004-08-17 Jakub Jelinek <jakub@redhat.com>
-
- * config/tc-ia64.c (start_unwind_section): Add linkonce_empty
- argument, don't do anything if current section is not
- .gnu.linkonce.t.* and linkonce_empty is set.
- (generate_unwind_image, dot_endp): Adjust callers, call
- start_unwind_section (*, 1) if nothing will be put into the
- section.
-
---- binutils/gas/config/tc-ia64.c.jj 2004-07-30 11:42:24.000000000 +0200
-+++ binutils/gas/config/tc-ia64.c 2004-08-17 13:45:04.288173205 +0200
-@@ -1,5 +1,6 @@
- /* tc-ia64.c -- Assembler for the HP/Intel IA-64 architecture.
-- Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+ Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
-+ Free Software Foundation, Inc.
- Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
-
- This file is part of GAS, the GNU Assembler.
-@@ -3297,7 +3298,7 @@ static char *special_linkonce_name[] =
- };
-
- static void
--start_unwind_section (const segT text_seg, int sec_index)
-+start_unwind_section (const segT text_seg, int sec_index, int linkonce_empty)
- {
- /*
- Use a slightly ugly scheme to derive the unwind section names from
-@@ -3359,6 +3360,8 @@ start_unwind_section (const segT text_se
- prefix = special_linkonce_name [sec_index - SPECIAL_SECTION_UNWIND];
- suffix += sizeof (".gnu.linkonce.t.") - 1;
- }
-+ else if (linkonce_empty)
-+ return;
-
- prefix_len = strlen (prefix);
- suffix_len = strlen (suffix);
-@@ -3444,7 +3447,7 @@ generate_unwind_image (const segT text_s
- expressionS exp;
- bfd_reloc_code_real_type reloc;
-
-- start_unwind_section (text_seg, SPECIAL_SECTION_UNWIND_INFO);
-+ start_unwind_section (text_seg, SPECIAL_SECTION_UNWIND_INFO, 0);
-
- /* Make sure the section has 4 byte alignment for ILP32 and
- 8 byte alignment for LP64. */
-@@ -3485,6 +3488,8 @@ generate_unwind_image (const segT text_s
- unwind.personality_routine = 0;
- }
- }
-+ else
-+ start_unwind_section (text_seg, SPECIAL_SECTION_UNWIND_INFO, 1);
-
- free_saved_prologue_counts ();
- unwind.list = unwind.tail = unwind.current_entry = NULL;
-@@ -4164,7 +4169,7 @@ dot_endp (dummy)
- subseg_set (md.last_text_seg, 0);
- unwind.proc_end = expr_build_dot ();
-
-- start_unwind_section (saved_seg, SPECIAL_SECTION_UNWIND);
-+ start_unwind_section (saved_seg, SPECIAL_SECTION_UNWIND, 0);
-
- /* Make sure that section has 4 byte alignment for ILP32 and
- 8 byte alignment for LP64. */
-@@ -4204,6 +4209,9 @@ dot_endp (dummy)
- bytes_per_address);
-
- }
-+ else
-+ start_unwind_section (saved_seg, SPECIAL_SECTION_UNWIND, 1);
-+
- subseg_set (saved_seg, saved_subseg);
-
- /* Parse names of main and alternate entry points and set symbol sizes. */
-
-
- Jakub
-
diff --git a/patches/binutils/2.15.91.0.2/binutils-dup-sections.patch b/patches/binutils/2.15.91.0.2/binutils-dup-sections.patch
deleted file mode 100644
index 4e4934d..0000000
--- a/patches/binutils/2.15.91.0.2/binutils-dup-sections.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-See http://sources.redhat.com/ml/binutils/2004-08/msg00256.html
-
-Date: Fri, 20 Aug 2004 21:13:43 -0400
-From: Daniel Jacobowitz <drow at false dot org>
-To: binutils at sources dot redhat dot com
-Subject: Re: Handle SEC_LINK_DUPLICATES_SAME_CONTENTS for arm-linux
-Message-ID: <20040821011342.GA30319@nevyn.them.org>
-Mail-Followup-To: binutils at sources dot redhat dot com
-References: <20040818145518.GA9774@nevyn.them.org> <20040819055040.GA11820@lucon.org> <20040819080034.GE21716@bubble.modra.org> <20040820173240.GA17678@nevyn.them.org> <20040821003737.GB16016@bubble.modra.org>
-In-Reply-To: <20040821003737 dot GB16016 at bubble dot modra dot org>
-
-On Sat, Aug 21, 2004 at 10:07:38AM +0930, Alan Modra wrote:
-> On Fri, Aug 20, 2004 at 01:32:40PM -0400, Daniel Jacobowitz wrote:
-> > Thanks. How's this?
->
-> As you might have guessed from my rather slack review of your previous
-> patch, I trust you enough to give the OK without proper review. But
-> since you asked... :)
-
-Checked in as so.
-
---
-Daniel Jacobowitz
-
-[ rediffed against binutils-2.15.91.0.2, with some elbow grease ]
-
-2004-08-20 Daniel Jacobowitz <dan@debian.org>
-
- * elflink.c (_bfd_elf_section_already_linked): Handle
- SEC_LINK_DUPLICATES_SAME_CONTENTS.
---- binutils-2.15.91.0.2/bfd/elflink.c.old 2004-07-27 21:36:08.000000000 -0700
-+++ binutils-2.15.91.0.2/bfd/elflink.c 2004-08-26 06:38:07.000000000 -0700
-@@ -9359,6 +9359,35 @@
- (_("%s: %s: warning: duplicate section `%s' has different size\n"),
- bfd_archive_filename (abfd), name);
- break;
-+ case SEC_LINK_DUPLICATES_SAME_CONTENTS:
-+ if (sec->size != l->sec->size)
-+ (*_bfd_error_handler)
-+ (_("%B: duplicate section `%A' has different size\n"),
-+ bfd_archive_filename (abfd), sec);
-+ else if (sec->size != 0)
-+ {
-+ bfd_byte *sec_contents, *l_sec_contents;
-+
-+ if (!bfd_malloc_and_get_section (abfd, sec, &sec_contents))
-+ (*_bfd_error_handler)
-+ (_("%B: warning: could not read contents of section `%A'\n"),
-+ bfd_archive_filename (abfd), sec);
-+ else if (!bfd_malloc_and_get_section (l->sec->owner, l->sec,
-+ &l_sec_contents))
-+ (*_bfd_error_handler)
-+ (_("%B: warning: could not read contents of section `%A'\n"),
-+ bfd_archive_filename(l->sec->owner), l->sec);
-+ else if (memcmp (sec_contents, l_sec_contents, sec->size) != 0)
-+ (*_bfd_error_handler)
-+ (_("%B: warning: duplicate section `%A' has different contents\n"),
-+ bfd_archive_filename (abfd), sec);
-+
-+ if (sec_contents)
-+ free (sec_contents);
-+ if (l_sec_contents)
-+ free (l_sec_contents);
-+ }
-+ break;
- }
-
- /* Set the output_section field so that lang_add_section
diff --git a/patches/binutils/2.15.91.0.2/binutils-skip-comments.patch b/patches/binutils/2.15.91.0.2/binutils-skip-comments.patch
deleted file mode 100644
index 804a17e..0000000
--- a/patches/binutils/2.15.91.0.2/binutils-skip-comments.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html
-Fixes
-localealias.s:544: Error: junk at end of line, first unrecognized character is `,'
-when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3
-
-Paths adjusted to match crosstool's patcher.
-
-Message-Id: m3n052qw2g.fsf@whitebox.m5r.de
-From: Andreas Schwab <schwab at suse dot de>
-To: Nathan Sidwell <nathan at codesourcery dot com>
-Cc: Ian Lance Taylor <ian at wasabisystems dot com>, binutils at sources dot redhat dot com
-Date: Fri, 23 Apr 2004 22:27:19 +0200
-Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line
-
-Nathan Sidwell <nathan@codesourcery.com> writes:
-
-> Index: read.c
-> ===================================================================
-> RCS file: /cvs/src/src/gas/read.c,v
-> retrieving revision 1.76
-> diff -c -3 -p -r1.76 read.c
-> *** read.c 12 Mar 2004 17:48:12 -0000 1.76
-> --- read.c 18 Mar 2004 09:56:05 -0000
-> *************** read_a_source_file (char *name)
-> *** 1053,1059 ****
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! ignore_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-> --- 1053,1059 ----
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! demand_empty_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-
-This means that the unknown character is no longer ignored, despite the
-comment. As a side effect a line starting with a line comment character
-not followed by APP in NO_APP mode now triggers an error instead of just a
-warning, breaking builds of glibc on m68k-linux. Earlier in
-read_a_source_file where #APP is handled there is another comment that
-claims that unknown comments are ignored, when in fact they aren't (only
-the initial line comment character is skipped).
-
-Note that the presence of #APP will mess up the line counters, but
-that appears to be difficult to fix.
-
-Andreas.
-
-2004-04-23 Andreas Schwab <schwab@suse.de>
-
- * read.c (read_a_source_file): Ignore unknown text after line
- comment character. Fix misleading comment.
-
---- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200
-+++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200
-@@ -1,6 +1,6 @@
- /* read.c - read a source file -
- Copyright 1986, 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-- 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+ 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-
- This file is part of GAS, the GNU Assembler.
-
-@@ -950,10 +950,14 @@ read_a_source_file (char *name)
- unsigned int new_length;
- char *tmp_buf = 0;
-
-- bump_line_counters ();
- s = input_line_pointer;
- if (strncmp (s, "APP\n", 4))
-- continue; /* We ignore it */
-+ {
-+ /* We ignore it */
-+ ignore_rest_of_line ();
-+ continue;
-+ }
-+ bump_line_counters ();
- s += 4;
-
- sb_new (&sbuf);
-@@ -1052,7 +1056,7 @@ read_a_source_file (char *name)
- continue;
- #endif
- input_line_pointer--;
-- /* Report unknown char as ignored. */
-+ /* Report unknown char as error. */
- demand_empty_rest_of_line ();
- }
-
-
---
-Andreas Schwab, SuSE Labs, schwab@suse.de
-SuSE Linux AG, Maxfeldstra&#xC3;e 5, 90409 N&#xC3;rnberg, Germany
-Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
-"And now for something completely different."
diff --git a/patches/binutils/2.17.50.0.8/100-uclibc-conf.patch b/patches/binutils/2.17.50.0.8/100-uclibc-conf.patch
deleted file mode 100644
index 25222e5..0000000
--- a/patches/binutils/2.17.50.0.8/100-uclibc-conf.patch
+++ /dev/null
@@ -1,139 +0,0 @@
---- binutils-2.16.91.0.7/bfd/configure
-+++ binutils-2.16.91.0.7/bfd/configure
-@@ -3576,7 +3576,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/binutils/configure
-+++ binutils-2.16.91.0.7/binutils/configure
-@@ -3411,7 +3411,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/configure
-+++ binutils-2.16.91.0.7/configure
-@@ -1270,7 +1270,7 @@
- am33_2.0-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
-- sh-*-linux*)
-+ sh*-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
-@@ -1578,7 +1578,7 @@
- romp-*-*)
- noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
- ;;
-- sh-*-* | sh64-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${host}" in
- i[3456789]86-*-vsta) ;; # don't add gprof back in
- i[3456789]86-*-go32*) ;; # don't add gprof back in
---- binutils-2.16.91.0.7/configure.in
-+++ binutils-2.16.91.0.7/configure.in
-@@ -468,7 +468,7 @@
- am33_2.0-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
-- sh-*-linux*)
-+ sh*-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
-@@ -776,7 +776,7 @@
- romp-*-*)
- noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
- ;;
-- sh-*-* | sh64-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${host}" in
- i[[3456789]]86-*-vsta) ;; # don't add gprof back in
- i[[3456789]]86-*-go32*) ;; # don't add gprof back in
---- binutils-2.16.91.0.7/gas/configure
-+++ binutils-2.16.91.0.7/gas/configure
-@@ -3411,7 +3411,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/gprof/configure
-+++ binutils-2.16.91.0.7/gprof/configure
-@@ -3419,6 +3419,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- binutils-2.16.91.0.7/ld/configure
-+++ binutils-2.16.91.0.7/ld/configure
-@@ -3413,7 +3413,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/libtool.m4
-+++ binutils-2.16.91.0.7/libtool.m4
-@@ -739,7 +739,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/ltconfig
-+++ binutils-2.16.91.0.7/ltconfig
-@@ -602,6 +602,7 @@
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
-+linux-uclibc*) ;;
- linux-gnu*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-@@ -1247,7 +1248,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
---- binutils-2.16.91.0.7/opcodes/configure
-+++ binutils-2.16.91.0.7/opcodes/configure
-@@ -3579,7 +3579,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
diff --git a/patches/binutils/2.17.50.0.8/110-arm-eabi-conf.patch b/patches/binutils/2.17.50.0.8/110-arm-eabi-conf.patch
deleted file mode 100644
index be85ceb..0000000
--- a/patches/binutils/2.17.50.0.8/110-arm-eabi-conf.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -urN binutils-2.16.91.0.7.orig/configure binutils-2.16.91.0.7/configure
---- binutils-2.16.91.0.7.orig/configure 2006-05-31 14:54:24.000000000 +0300
-+++ binutils-2.16.91.0.7/configure 2006-05-31 14:55:53.000000000 +0300
-@@ -1299,7 +1299,7 @@
- arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
- noconfigdirs="$noconfigdirs target-libffi target-qthreads"
- ;;
-- arm*-*-linux-gnueabi)
-+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
- noconfigdirs="$noconfigdirs target-libffi target-qthreads"
- noconfigdirs="$noconfigdirs target-libjava target-libobjc"
- ;;
-diff -urN binutils-2.16.91.0.7.orig/configure.in binutils-2.16.91.0.7/configure.in
---- binutils-2.16.91.0.7.orig/configure.in 2006-05-31 14:54:24.000000000 +0300
-+++ binutils-2.16.91.0.7/configure.in 2006-05-31 14:55:53.000000000 +0300
-@@ -497,7 +497,7 @@
- arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
- noconfigdirs="$noconfigdirs target-libffi target-qthreads"
- ;;
-- arm*-*-linux-gnueabi)
-+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
- noconfigdirs="$noconfigdirs target-libffi target-qthreads"
- noconfigdirs="$noconfigdirs target-libjava target-libobjc"
- ;;
diff --git a/patches/binutils/2.17.50.0.8/300-001_ld_makefile_patch.patch b/patches/binutils/2.17.50.0.8/300-001_ld_makefile_patch.patch
deleted file mode 100644
index 04a7e61..0000000
--- a/patches/binutils/2.17.50.0.8/300-001_ld_makefile_patch.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh -e
-## 001_ld_makefile_patch.dpatch
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Description: correct where ld scripts are installed
-## DP: Author: Chris Chimelis <chris@debian.org>
-## DP: Upstream status: N/A
-## DP: Date: ??
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
---- binutils-2.16.91.0.1/ld/Makefile.am
-+++ binutils-2.16.91.0.1/ld/Makefile.am
-@@ -20,7 +20,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
-
- EMUL = @EMUL@
- EMULATION_OFILES = @EMULATION_OFILES@
---- binutils-2.16.91.0.1/ld/Makefile.in
-+++ binutils-2.16.91.0.1/ld/Makefile.in
-@@ -268,7 +268,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
- BASEDIR = $(srcdir)/..
- BFDDIR = $(BASEDIR)/bfd
- INCDIR = $(BASEDIR)/include
diff --git a/patches/binutils/2.17.50.0.8/300-012_check_ldrunpath_length.patch b/patches/binutils/2.17.50.0.8/300-012_check_ldrunpath_length.patch
deleted file mode 100644
index 498651a..0000000
--- a/patches/binutils/2.17.50.0.8/300-012_check_ldrunpath_length.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/sh -e
-## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
-## DP: cases where -rpath isn't specified. (#151024)
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
---- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
-+++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
-@@ -692,6 +692,8 @@
- && command_line.rpath == NULL)
- {
- lib_path = (const char *) getenv ("LD_RUN_PATH");
-+ if ((lib_path) && (strlen (lib_path) == 0))
-+ lib_path = NULL;
- if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
- force))
- break;
-@@ -871,6 +873,8 @@
- rpath = command_line.rpath;
- if (rpath == NULL)
- rpath = (const char *) getenv ("LD_RUN_PATH");
-+ if ((rpath) && (strlen (rpath) == 0))
-+ rpath = NULL;
- if (! (bfd_elf_size_dynamic_sections
- (output_bfd, command_line.soname, rpath,
- command_line.filter_shlib,
diff --git a/patches/binutils/2.17.50.0.9/100-uclibc-conf.patch b/patches/binutils/2.17.50.0.9/100-uclibc-conf.patch
deleted file mode 100644
index 25222e5..0000000
--- a/patches/binutils/2.17.50.0.9/100-uclibc-conf.patch
+++ /dev/null
@@ -1,139 +0,0 @@
---- binutils-2.16.91.0.7/bfd/configure
-+++ binutils-2.16.91.0.7/bfd/configure
-@@ -3576,7 +3576,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/binutils/configure
-+++ binutils-2.16.91.0.7/binutils/configure
-@@ -3411,7 +3411,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/configure
-+++ binutils-2.16.91.0.7/configure
-@@ -1270,7 +1270,7 @@
- am33_2.0-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
-- sh-*-linux*)
-+ sh*-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
-@@ -1578,7 +1578,7 @@
- romp-*-*)
- noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
- ;;
-- sh-*-* | sh64-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${host}" in
- i[3456789]86-*-vsta) ;; # don't add gprof back in
- i[3456789]86-*-go32*) ;; # don't add gprof back in
---- binutils-2.16.91.0.7/configure.in
-+++ binutils-2.16.91.0.7/configure.in
-@@ -468,7 +468,7 @@
- am33_2.0-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
-- sh-*-linux*)
-+ sh*-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
-@@ -776,7 +776,7 @@
- romp-*-*)
- noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
- ;;
-- sh-*-* | sh64-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${host}" in
- i[[3456789]]86-*-vsta) ;; # don't add gprof back in
- i[[3456789]]86-*-go32*) ;; # don't add gprof back in
---- binutils-2.16.91.0.7/gas/configure
-+++ binutils-2.16.91.0.7/gas/configure
-@@ -3411,7 +3411,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/gprof/configure
-+++ binutils-2.16.91.0.7/gprof/configure
-@@ -3419,6 +3419,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- binutils-2.16.91.0.7/ld/configure
-+++ binutils-2.16.91.0.7/ld/configure
-@@ -3413,7 +3413,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/libtool.m4
-+++ binutils-2.16.91.0.7/libtool.m4
-@@ -739,7 +739,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/ltconfig
-+++ binutils-2.16.91.0.7/ltconfig
-@@ -602,6 +602,7 @@
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
-+linux-uclibc*) ;;
- linux-gnu*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-@@ -1247,7 +1248,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
---- binutils-2.16.91.0.7/opcodes/configure
-+++ binutils-2.16.91.0.7/opcodes/configure
-@@ -3579,7 +3579,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
diff --git a/patches/binutils/2.17.50.0.9/110-arm-eabi-conf.patch b/patches/binutils/2.17.50.0.9/110-arm-eabi-conf.patch
deleted file mode 100644
index be85ceb..0000000
--- a/patches/binutils/2.17.50.0.9/110-arm-eabi-conf.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -urN binutils-2.16.91.0.7.orig/configure binutils-2.16.91.0.7/configure
---- binutils-2.16.91.0.7.orig/configure 2006-05-31 14:54:24.000000000 +0300
-+++ binutils-2.16.91.0.7/configure 2006-05-31 14:55:53.000000000 +0300
-@@ -1299,7 +1299,7 @@
- arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
- noconfigdirs="$noconfigdirs target-libffi target-qthreads"
- ;;
-- arm*-*-linux-gnueabi)
-+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
- noconfigdirs="$noconfigdirs target-libffi target-qthreads"
- noconfigdirs="$noconfigdirs target-libjava target-libobjc"
- ;;
-diff -urN binutils-2.16.91.0.7.orig/configure.in binutils-2.16.91.0.7/configure.in
---- binutils-2.16.91.0.7.orig/configure.in 2006-05-31 14:54:24.000000000 +0300
-+++ binutils-2.16.91.0.7/configure.in 2006-05-31 14:55:53.000000000 +0300
-@@ -497,7 +497,7 @@
- arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
- noconfigdirs="$noconfigdirs target-libffi target-qthreads"
- ;;
-- arm*-*-linux-gnueabi)
-+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
- noconfigdirs="$noconfigdirs target-libffi target-qthreads"
- noconfigdirs="$noconfigdirs target-libjava target-libobjc"
- ;;
diff --git a/patches/binutils/2.17.50.0.9/300-001_ld_makefile_patch.patch b/patches/binutils/2.17.50.0.9/300-001_ld_makefile_patch.patch
deleted file mode 100644
index 04a7e61..0000000
--- a/patches/binutils/2.17.50.0.9/300-001_ld_makefile_patch.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh -e
-## 001_ld_makefile_patch.dpatch
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Description: correct where ld scripts are installed
-## DP: Author: Chris Chimelis <chris@debian.org>
-## DP: Upstream status: N/A
-## DP: Date: ??
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
---- binutils-2.16.91.0.1/ld/Makefile.am
-+++ binutils-2.16.91.0.1/ld/Makefile.am
-@@ -20,7 +20,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
-
- EMUL = @EMUL@
- EMULATION_OFILES = @EMULATION_OFILES@
---- binutils-2.16.91.0.1/ld/Makefile.in
-+++ binutils-2.16.91.0.1/ld/Makefile.in
-@@ -268,7 +268,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
- BASEDIR = $(srcdir)/..
- BFDDIR = $(BASEDIR)/bfd
- INCDIR = $(BASEDIR)/include
diff --git a/patches/binutils/2.17.50.0.9/300-012_check_ldrunpath_length.patch b/patches/binutils/2.17.50.0.9/300-012_check_ldrunpath_length.patch
deleted file mode 100644
index 498651a..0000000
--- a/patches/binutils/2.17.50.0.9/300-012_check_ldrunpath_length.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/sh -e
-## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
-## DP: cases where -rpath isn't specified. (#151024)
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
---- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
-+++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
-@@ -692,6 +692,8 @@
- && command_line.rpath == NULL)
- {
- lib_path = (const char *) getenv ("LD_RUN_PATH");
-+ if ((lib_path) && (strlen (lib_path) == 0))
-+ lib_path = NULL;
- if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
- force))
- break;
-@@ -871,6 +873,8 @@
- rpath = command_line.rpath;
- if (rpath == NULL)
- rpath = (const char *) getenv ("LD_RUN_PATH");
-+ if ((rpath) && (strlen (rpath) == 0))
-+ rpath = NULL;
- if (! (bfd_elf_size_dynamic_sections
- (output_bfd, command_line.soname, rpath,
- command_line.filter_shlib,
diff --git a/patches/gcc/3.3.1/compat.exp.patch b/patches/gcc/3.3.1/compat.exp.patch
deleted file mode 100644
index 763b8a1..0000000
--- a/patches/gcc/3.3.1/compat.exp.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Fixes the following problem when testing a cross-compiler:
-
-============================================
-Testing g++.dg/compat/abi/bitfield1,
-...
-Invoking the compiler as /crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/build-gcc/gcc/testsuite/../g++ ...
-/crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/gcc-3.3/gcc/testsuite/g++.dg/compat/abi/bitfield1_main.C
-pid is 16028 -16028
-compiler exited with status 1
-output is:
-sh: error while loading shared libraries: /opt/cegl-2.0/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/powerpc-750-linux-gnu/./lib/libdl.so.2: ELF file data encoding not little-endian
-/crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/build-gcc/gcc/testsuite/../g++: error while loading shared libraries: /opt/cegl-2.0/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/powerpc-750-linux-gnu/./lib/libc.so.6: ELF file data encoding not little-endian
-
-FAIL: g++.dg/compat/abi/bitfield1 main_tst.o compile
-============================================
-
---- gcc-3.3/gcc/testsuite/g++.dg/compat/compat.exp.old Thu Oct 17 17:22:57 2002
-+++ gcc-3.3/gcc/testsuite/g++.dg/compat/compat.exp Mon Jul 14 10:59:19 2003
-@@ -42,11 +42,13 @@
- proc compat-fix-library-path { } {
- global ld_library_path
-
-- # See comments in lib/g++.exp for why this is needed.
-- setenv LD_LIBRARY_PATH $ld_library_path
-- setenv SHLIB_PATH $ld_library_path
-- setenv LD_LIBRARYN32_PATH $ld_library_path
-- setenv LD_LIBRARY64_PATH $ld_library_path
-+ if {![is_remote target]} {
-+ # See comments in lib/g++.exp for why this is needed.
-+ setenv LD_LIBRARY_PATH $ld_library_path
-+ setenv SHLIB_PATH $ld_library_path
-+ setenv LD_LIBRARYN32_PATH $ld_library_path
-+ setenv LD_LIBRARY64_PATH $ld_library_path
-+ }
- }
-
- #
diff --git a/patches/gcc/3.3.1/config.sub.patch b/patches/gcc/3.3.1/config.sub.patch
deleted file mode 100644
index 928f911..0000000
--- a/patches/gcc/3.3.1/config.sub.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-When configuring a s390->s390 or cris->cris crosscompiler
-(ok, I haven't hit this yet, but one of these days I'll get me an account
-on an s390, and then I'll need this patch :-), you'll get the
-following error:
-
-+ /build/s390-unknown-linux-gnu/gcc-3.3-glibc-2.3.2/gcc-3.3/configure
---target=s390-unknown-linux-gnu --host=s390-host_unknown-linux-gnu
---prefix=/result/s390-unknown-linux-gnu/gcc-3.3-glibc-2.3.2
---enable-languages=c
---with-local-prefix=/result/s390-unknown-linux-gnu/gcc-3.3-glibc-2.3.2/s390-
-unknown-linux-gnu --enable-threads=no --without-headers --with-newlib
---disable-shared
-...
-*** --with-headers is only supported when cross compiling
-
-This error pops up only when you're using Daniel Jacobowitz's technique
-of slightly changing the target and host tuples to make them different
-enough to force gcc's build system to not try to pull in system libraries
-or headers. This technique is needed e.g. to build an x86 -> x86
-cross-compiler.
-(The LFS developers ran into the same bug that prompted me to use
-this technique; they point people who run into it to
-http://linuxfromscratch.org/~greg/pure_lfs.txt, which is a different
-way of avoiding this problem. I think the tuple tweak is the way to go, though.)
-
-config-patches@gnu.org rejected this patch, on the grounds that there
-is only one vendor of each of those two architectures, so the
-canonicalization is by definition correct. When I pointed out the
-difficulty this causes for people building s390 -> s390 or
-cris -> cris compilers that are incompatible with the system
-libraries and thus must be built like cross-compilers, he grumped and said
-"autoconf should let you specify a cross-compiler in some other way than
-comparing tuple strings".
-
-
-
---- gcc-3.3/config.sub.old Sun Jun 8 20:38:47 2003
-+++ gcc-3.3/config.sub Sun Jun 8 20:40:34 2003
-@@ -433,9 +433,12 @@
- crds | unos)
- basic_machine=m68k-crds
- ;;
-- cris | cris-* | etrax*)
-+ cris | etrax*)
- basic_machine=cris-axis
- ;;
-+ cris-*)
-+ basic_machine=cris-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
-@@ -820,11 +823,17 @@
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
-- s390 | s390-*)
-+ s390)
- basic_machine=s390-ibm
- ;;
-- s390x | s390x-*)
-+ s390-*)
-+ basic_machine=s390-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ s390x)
- basic_machine=s390x-ibm
-+ ;;
-+ s390x-*)
-+ basic_machine=s390x-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- sa29200)
- basic_machine=a29k-amd
diff --git a/patches/gcc/3.3.1/empty6.patch b/patches/gcc/3.3.1/empty6.patch
deleted file mode 100644
index 1b0715c..0000000
--- a/patches/gcc/3.3.1/empty6.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 3.4 branch. Fixes test failure
-FAIL: g++.dg/abi/empty6.C (test for warnings, line 6)
-
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/testsuite/g++.dg/abi/empty6.C,v
-retrieving revision 1.1
-retrieving revision 1.2
-diff -u -r1.1 -r1.2
---- gcc/gcc/testsuite/g++.dg/abi/empty6.C 2002/09/25 19:07:35 1.1
-+++ gcc/gcc/testsuite/g++.dg/abi/empty6.C 2003/06/03 19:10:09 1.2
-@@ -5,4 +5,9 @@
- struct B {
- A a; // { dg-warning "empty" }
- virtual void f () {}
--};
-+} __attribute__((aligned(8)));
-+/* The preceding attribute is necessary on targets with
-+ BIGGEST_ALIGNMENT <= 32 to trigger the warning, as otherwise a 32 bit
-+ offset is split into DECL_FIELD_OFFSET 4 and DECL_FIELD_BIT_OFFSET 0,
-+ and then there is no discrepancy between DECL_FIELD_OFFSET and
-+ byte_position to warn about. */
diff --git a/patches/gcc/3.3.1/gcc-3.2.3-g++.exp.patch b/patches/gcc/3.3.1/gcc-3.2.3-g++.exp.patch
deleted file mode 100644
index fb8e4f0..0000000
--- a/patches/gcc/3.3.1/gcc-3.2.3-g++.exp.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-See http://gcc.gnu.org/PR12010
-
-g++ testsuite fixes for cross-compilers, Dan Kegel, Ixia Communications, 12 July 2003
-
-The first hunk fixes the error
-
-/testsuite_flags: /testsuite_flags: No such file or directory
- while executing
-"exec sh ${odir_v3}/testsuite_flags --build-includes"
- (procedure "g++_include_flags" line 21)
- invoked from within
-"g++_include_flags [get_multilibs] "
- (procedure "g++_init" line 63)
- invoked from within
-"${tool}_init $test_file_name"
- (procedure "runtest" line 19)
- invoked from within
-"runtest $test_name"
- ("foreach" body line 42)
- invoked from within
-...
-make[1]: [check-g++] Error 1 (ignored)
-
-The fix isn't especially pretty, but it worked for me, and can't hurt the
-more common native compiler case. Maybe someone who knows the code better
-can come up with a better fix.
-
-The second hunk fixes the error
-
-sh: error while loading shared libraries: /opt/cegl-2.0/powerpc-405-linux-gnu/gcc-3.2.3-glibc-2.2.5/powerpc-405-linux-gnu/./lib/libdl.so.2: ELF file data encoding not little-endian
-
-when trying to compile g++ testcases (!); setting up
-the shared library environment when running crosstests of g++
-should either be done by a special board file, or by
-setting up a remote chroot environment (see http://kegel.com/crosstool),
-not by blithely setting LD_LIBRARY_PATH on the local system.
-
---- gcc-3.2.3/gcc/testsuite/lib/g++.exp.old Fri Jul 11 15:42:47 2003
-+++ gcc-3.2.3/gcc/testsuite/lib/g++.exp Sat Jul 12 12:57:07 2003
-@@ -72,6 +72,8 @@
- #
- proc g++_include_flags { paths } {
- global srcdir
-+ global objdir
-+ global target_triplet
- global HAVE_LIBSTDCXX_V3
- global TESTING_IN_BUILD_TREE
-
-@@ -90,6 +92,20 @@
-
- if { ${HAVE_LIBSTDCXX_V3} } {
- set odir_v3 [lookfor_file ${gccpath} libstdc++-v3]
-+ if { $odir_v3 == "" } {
-+ verbose "g++_include_flags: couldn't find libstdc++-v3 on first try, now looking in build directory $objdir"
-+ # first assume no multilibs
-+ set odir_v3 [lookfor_file ${objdir} "$target_triplet/libstdc++-v3"]
-+ }
-+ if { $odir_v3 == "" } {
-+ verbose "g++_include_flags: couldn't find libstdc++-v3 on second try, trying multilib"
-+ # assume multilib only one level deep
-+ set multisub [file tail $gccpath]
-+ set odir_v3 [lookfor_file ${objdir} "$target_triplet/$multisub/libstdc++-v3"]
-+ }
-+ if { $odir_v3 == "" } {
-+ error "Can't find libstdc++-v3"
-+ }
- append flags [exec sh ${odir_v3}/testsuite_flags --build-includes]
- } else {
- set odir_v2 [lookfor_file ${gccpath} libstdc++]
-@@ -192,16 +192,20 @@
- }
- }
-
-- # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
-- # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
-- # (for the 64-bit ABI). The right way to do this would be to modify
-- # unix.exp -- but that's not an option since it's part of DejaGNU
-- # proper, so we do it here. We really only need to do
-- # this on IRIX, but it shouldn't hurt to do it anywhere else.
-- setenv LD_LIBRARY_PATH $ld_library_path
-- setenv SHLIB_PATH $ld_library_path
-- setenv LD_LIBRARYN32_PATH $ld_library_path
-- setenv LD_LIBRARY64_PATH $ld_library_path
-+ if {![is_remote target]} {
-+ # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
-+ # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
-+ # (for the 64-bit ABI). The right way to do this would be to modify
-+ # unix.exp -- but that's not an option since it's part of DejaGNU
-+ # proper, so we do it here. We really only need to do
-+ # this on IRIX, but it shouldn't hurt to do it anywhere else.
-+
-+ # Doing this causes us to be unable to run cross-compilers.
-+ setenv LD_LIBRARY_PATH $ld_library_path
-+ setenv SHLIB_PATH $ld_library_path
-+ setenv LD_LIBRARYN32_PATH $ld_library_path
-+ setenv LD_LIBRARY64_PATH $ld_library_path
-+ }
-
- return "$flags"
- }
diff --git a/patches/gcc/3.3.1/gcc-3.3-libstdc++-v3-dg.exp.patch b/patches/gcc/3.3.1/gcc-3.3-libstdc++-v3-dg.exp.patch
deleted file mode 100644
index aafc130..0000000
--- a/patches/gcc/3.3.1/gcc-3.3-libstdc++-v3-dg.exp.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-Without this patch, the command
-
-RUNTESTFLAGS=--target=powerpc-750-linux-gnu -v -v -v -v make check-target-libstdc++-v3
-
-fails in two ways:
-1. the -L option meant to locate the testsuite directory is incorrect, and
-2. the wrong compiler is invoked, causing all sorts of havoc, not least of which
-is the native compiler is invoked when we really wanted to invoke the cross-compiler
-we just built.
-
-Here's an example log of the problem in action. Every testcase fails, this shows just one:
--------------
-Invoking the compiler as g++ -ggdb3 -DDEBUG_ASSERT -I/home3/dank/wk/ixos/dap_interim/linux/3rdParty/crosstool/crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/gcc-3.3/libstdc++-v3/testsuite /home3/dank/wk/ixos/dap_interim/linux/3rdParty/crosstool/crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/gcc-3.3/libstdc++-v3/testsuite/20_util/binders.cc -g -O2 -DDEBUG_ASSERT -L/testsuite -lv3test -lm -o ./binders.exe
-compiler exited with status 1
-output is:
-/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_function.h: In method `void binder2nd<mem_fun1_ref_t<void,Elem,int> >::operator ()(const Elem &) const':^M
-/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_algo.h:83: instantiated from `for_each<Elem *, binder2nd<mem_fun1_ref_t<void,Elem,int> > >(Elem *, Elem *, binder2nd<mem_fun1_ref_t<void,Elem,int> >)'^M
-/home3/dank/wk/ixos/dap_interim/linux/3rdParty/crosstool/crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/gcc-3.3/libstdc++-v3/testsuite/20_util/binders.cc:43: instantiated from here^M
-/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_function.h:224: conversion from `const Elem' to `Elem &' discards qualifiers^M
-/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_function.h:622: in passing argument 1 of `mem_fun1_ref_t<void,Elem,int>::operator ()(Elem &, int) const'^M
-...
-FAIL: 20_util/binders.cc (test for excess errors)
-WARNING: 20_util/binders.cc compilation failed to produce executable
--------------
-
-And here's the patch. I'm not happy with it, and it probably gets some cases wrong,
-but it seems to work for the common native case and for my cross-compiler case.
-
---- gcc-3.3/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp.old Sun Jul 13 10:42:01 2003
-+++ gcc-3.3/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp Sun Jul 13 11:39:54 2003
-@@ -46,8 +46,23 @@
- global gluefile wrap_flags
- global ld_library_path
- global tool_root_dir
-+ global target_triplet
-
- set blddir [lookfor_file [get_multilibs] libstdc++-v3]
-+ if { $blddir == "" } {
-+ set multilibs [get_multilibs]
-+ # FIXME: assume multilib only one level deep
-+ set multisub [file tail $multilibs]
-+ verbose "libstdc++-v3-init: couldn't find libstdc++-v3 in $multilibs, trying $objdir"
-+ set blddir [lookfor_file ${objdir} "$target_triplet/$multisub/libstdc++-v3"]
-+ }
-+ if { $blddir == "" } {
-+ verbose "libstdc++-v3-init: couldn't find libstdc++-v3, trying $objdir without multilibs"
-+ set blddir [lookfor_file ${objdir} "$target_triplet/libstdc++-v3"]
-+ }
-+ if { $blddir == "" } {
-+ error "Can't find libstdc++-v3"
-+ }
-
- # By default, we assume we want to run program images.
- global dg-do-what-default
diff --git a/patches/gcc/3.3.1/gcc-3.3.1-trap-posix.patch b/patches/gcc/3.3.1/gcc-3.3.1-trap-posix.patch
deleted file mode 100644
index ce2baf3..0000000
--- a/patches/gcc/3.3.1/gcc-3.3.1-trap-posix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# Submitted-By: Marc Kleine-Budde <mkl@pengutronix.de>, 2005-04-20
-#
-# Error:
-#
-# creating libintl.h
-# Configuring etc...
-# loading cache ../config.cache
-# checking for a BSD compatible install... (cached) /usr/bin/install -c
-# creating ./config.status
-# creating Makefile
-# trap: usage: trap [-lp] [[arg] signal_spec ...]
-#
-# Description:
-#
-# non-posix conform usage of trap causes bash >= 3.0 to fail
-# e.g.: http://sourceware.org/ml/crossgcc/2004-12/msg00132.html
-#
-# Status:
-#
-# fixed in gcc >= 3.3.5
-# backport of gcc-3.3.5 fix
-#
-diff -ruN gcc-3.3.1-orig/configure gcc-3.3.1/configure
---- gcc-3.3.1-orig/configure 2002-09-29 18:11:24.000000000 +0200
-+++ gcc-3.3.1/configure 2005-04-20 18:49:20.223220401 +0200
-@@ -697,7 +697,7 @@
- if test -f skip-this-dir; then
- # Perform the same cleanup as the trap handler, minus the "exit 1" of course,
- # and reset the trap handler.
-- trap 0
-+ trap '' 0
- rm -rf Makefile* ${tmpdir}
- # Execute the final clean-up actions
- ${config_shell} skip-this-dir
-@@ -1596,7 +1596,7 @@
- # Perform the same cleanup as the trap handler, minus the "exit 1" of course,
- # and reset the trap handler.
- rm -rf ${tmpdir}
--trap 0
-+trap '' 0
-
- exit 0
-
diff --git a/patches/gcc/3.3.1/pr10392-1-test.patch b/patches/gcc/3.3.1/pr10392-1-test.patch
deleted file mode 100644
index e94c8b9..0000000
--- a/patches/gcc/3.3.1/pr10392-1-test.patch
+++ /dev/null
@@ -1,65 +0,0 @@
---- /dev/null Sat Dec 14 13:56:51 2002
-+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr10392-1.c Sun Sep 14 14:28:24 2003
-@@ -0,0 +1,62 @@
-+/* PR optimization/10392
-+ * Reporter: marcus@mc.pp.se
-+ * Summary: [3.3/3.4 regression] [SH] optimizer generates faulty array indexing
-+ * Description:
-+ * The address calculation of an index operation on an array on the stack
-+ * can _under some conditions_ get messed up completely
-+ *
-+ * Testcase tweaked by dank@kegel.com
-+ * Problem only happens with -O2 -m4, so it should only happen on sh4,
-+ * but what the heck, let's test other architectures, too.
-+ * Not marked as xfail since it's a regression.
-+*/
-+/* { dg-do run } */
-+/* { dg-options "-O2" } */
-+/* { dg-options "-O2 -m4" { target sh4-*-* } } */
-+const char *dont_optimize_function_away;
-+
-+const char *use(const char *str)
-+{
-+ dont_optimize_function_away = str;
-+ if (str[0] != 'v')
-+ abort();
-+ if (str[1] < '1' || str[1] > '6')
-+ abort();
-+ if (str[2])
-+ abort();
-+ return str[2] ? "notused" : "v6";
-+}
-+
-+const char *func(char *a, char *b)
-+{
-+ char buf[128];
-+ unsigned char i;
-+ const char *result;
-+
-+ char *item[] = {
-+ "v1",
-+ "v2",
-+ };
-+
-+ buf[0] = 'v';
-+ buf[1] = '3';
-+ buf[2] = 0;
-+
-+ for (i = 0; i < 2; i++) {
-+ /* bug is: following line passes wild pointer to use() on sh4 -O2 */
-+ result = use(item[i]);
-+
-+ use(buf);
-+ use(a);
-+ use(b);
-+ result = use(result);
-+ }
-+ return result;
-+}
-+
-+int main()
-+{
-+ func("v4", "v5");
-+ return 0;
-+}
-+
diff --git a/patches/gcc/3.3.1/pr10412-1-test.patch b/patches/gcc/3.3.1/pr10412-1-test.patch
deleted file mode 100644
index 6ca0525..0000000
--- a/patches/gcc/3.3.1/pr10412-1-test.patch
+++ /dev/null
@@ -1,46 +0,0 @@
---- /dev/null Sat Dec 14 13:56:51 2002
-+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr10412-1.c Sun Sep 14 16:15:21 2003
-@@ -0,0 +1,43 @@
-+/* PR target/10412
-+ * Reporter: shrinivasa@kpitcummins.com
-+ * Summary: Renesas SH - Incorrect code generation
-+ * Description:
-+ * When following code is compiled with
-+ * sh-elf-gcc -S -mhitachi -m2 -O2 bug1.c
-+ * generates an incorrect code.
-+ *
-+ * Testcase tweaked by dank@kegel.com
-+ * Problem only happens with -mhitachi -m2. Not sure if I can give those
-+ * options for all sh targets. They work on sh4, though.
-+ * Not marked as xfail as it's a regression relative to hardhat 2.0 gcc-2.97.
-+*/
-+/* { dg-do run } */
-+/* { dg-options "-O2" } */
-+int global_val;
-+
-+int func0(int x)
-+{
-+ global_val += x;
-+ return (x != 99);
-+}
-+
-+int func1(unsigned long addr)
-+{
-+ int err;
-+
-+ err = func0(addr);
-+ if (err)
-+ return (err);
-+
-+ err = func0(addr * 7); /* address of func0 is lost during multiplication -> probable SIGSEGV */
-+ return (err);
-+}
-+
-+int main(int argc, char **argv)
-+{
-+ global_val = 0;
-+ global_val += func1(99);
-+ if (global_val != 99 * 8 + 1)
-+ abort();
-+ return 0;
-+}
diff --git a/patches/gcc/3.3.1/pr10589-1-test.patch b/patches/gcc/3.3.1/pr10589-1-test.patch
deleted file mode 100644
index 04882e5..0000000
--- a/patches/gcc/3.3.1/pr10589-1-test.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- /dev/null Sat Dec 14 13:56:51 2002
-+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr10589-1.c Mon Sep 15 08:57:58 2003
-@@ -0,0 +1,14 @@
-+/* PR target/10589
-+ * Reporter: mathieu@thenesis.com
-+ * Summary: For Hitachi SH target, GCC crashes when both -fomit-frame-pointer and -mdalign options are specified
-+ * Keywords: ice-on-valid-code
-+ * Testcase by Kazu Hirata, tweaked by dank@kegel.com
-+ * Did not fail in Hard Hat 2.0 gcc-2.97, nor in dodes gcc-3.0.2, so this is a regression, so I'm not marking it xfail
-+ */
-+/* { dg-do compile { target sh*-*-* } } */
-+/* { dg-options "-fomit-frame-pointer -mdalign" } */
-+
-+int foo(int a, int b)
-+{
-+ return a / b;
-+}
diff --git a/patches/gcc/3.3.1/pr11162-1-test.patch b/patches/gcc/3.3.1/pr11162-1-test.patch
deleted file mode 100644
index 9ab0d32..0000000
--- a/patches/gcc/3.3.1/pr11162-1-test.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- /dev/null Sat Dec 14 13:56:51 2002
-+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr11162-1.c Sun Sep 14 16:24:41 2003
-@@ -0,0 +1,22 @@
-+/*
-+ * PR optimization/11162
-+ * Reporter: Toshiyasu Morita <tm@kloo.net>
-+ * Summary: [3.4 Regression] [-fnew-ra] ICE compiling channel.i on sh
-+ * Keywords: ice-on-valid-code
-+ * Description:
-+ * [ICE] when channel.i from stress-1.17 is compiled with options:
-+ * -O2 -m4 -fnew-ra
-+ * ...
-+ * The CFG code gets confused by the addition of a USE insn after a sibcall.
-+ * Sibcalls are supposed to end the block (and the function!), so the fact
-+ * that we have an instruction following one (even if its fake) is confusing.
-+ *
-+ * testcase tweaked by dank@kegel.com
-+ */
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -fnew-ra" } */
-+
-+int foo(char *p1)
-+{
-+ return bar(p1);
-+}
diff --git a/patches/gcc/3.3.1/pr11587-1-test.patch b/patches/gcc/3.3.1/pr11587-1-test.patch
deleted file mode 100644
index f6dedde..0000000
--- a/patches/gcc/3.3.1/pr11587-1-test.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- /dev/null Sat Dec 14 13:56:51 2002
-+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr11587-1.c Mon Sep 15 08:46:00 2003
-@@ -0,0 +1,36 @@
-+/* PR optimization/11587
-+ * Reporter: Michael Eager <eager@mvista.com>
-+ * Summary: [3.3/3.4 Regression] SH ICE in reload_cse_simplify_operand, postreload.c
-+ * Keywords: ice-on-valid-code
-+ *
-+ * Note: a fix exists; see bugzilla
-+ *
-+ * Testcase tweaked by dank@kegel.com
-+ * Not marked as xfail since it's a regression.
-+ */
-+
-+/* { dg-do compile } */
-+/* { dg-options "-O1" } */
-+int foo1(void);
-+int foo2();
-+int foo3();
-+
-+static int goo()
-+{
-+ int i;
-+
-+ if (i <= 0)
-+ return i;
-+
-+ if (foo1() > 1) {
-+ i = foo2();
-+ if (i < 0)
-+ return i;
-+ if (i) {
-+ if (foo3())
-+ return 1;
-+ return 0;
-+ }
-+ }
-+
-+}
diff --git a/patches/gcc/3.3.1/pr11736-1-test.patch b/patches/gcc/3.3.1/pr11736-1-test.patch
deleted file mode 100644
index ea544b1..0000000
--- a/patches/gcc/3.3.1/pr11736-1-test.patch
+++ /dev/null
@@ -1,48 +0,0 @@
---- /dev/null Sat Dec 14 13:56:51 2002
-+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr11736-1.c Sun Sep 14 14:26:33 2003
-@@ -0,0 +1,45 @@
-+/* PR optimization/11736
-+ * Reporter: marcus@mc.pp.se
-+ * Summary: Stackpointer messed up on SuperH
-+ * Keywords: wrong-code
-+ * Description:
-+ * When a function with 5 arguments is called in both branches of a
-+ * conditional, and only the last argument differs, the code to push that
-+ * last argument on the stack gets confused.
-+ * Space for the fifth argument is reserved on the stack by the
-+ * instruction I have marked as "A". However, if the else-branch is
-+ * taken the stackpointer is decremented _again_ at "B". This
-+ * decrementation is never restored, and it is only due to the
-+ * restoration of r15 from r14 that the function works at all. With
-+ * -fomit-frame-pointer it will crash.
-+ *
-+ * Testcase tweaked by dank@kegel.com
-+ * Not marked as xfail since it's a regression from hardhat 2.0 gcc-2.97
-+ * and dodes gcc-3.0.2
-+ */
-+
-+/* { dg-do run } */
-+/* { dg-options "-O1 -fomit-frame-pointer" } */
-+
-+int expected_e;
-+
-+void bar(int a, int b, int c, int d, int e)
-+{
-+ if (e != expected_e)
-+ abort();
-+}
-+
-+void foo(int a)
-+{
-+ if (a)
-+ bar(0, 0, 0, 0, 1);
-+ else
-+ bar(0, 0, 0, 0, 0); /* stack pointer decremented extra time here, causing segfault */
-+}
-+
-+int main(int argc, char **argv)
-+{
-+ for (expected_e = 0; expected_e < 2; expected_e++)
-+ foo(expected_e);
-+ return 0;
-+}
diff --git a/patches/gcc/3.3.1/pr11864-1-test.patch b/patches/gcc/3.3.1/pr11864-1-test.patch
deleted file mode 100644
index f5b0d17..0000000
--- a/patches/gcc/3.3.1/pr11864-1-test.patch
+++ /dev/null
@@ -1,45 +0,0 @@
---- /dev/null Sat Dec 14 13:56:51 2002
-+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr11864-1.c Sun Sep 14 14:32:24 2003
-@@ -0,0 +1,42 @@
-+/* PR optimization/11864
-+ * Reporter: Kazumoto Kojima <kkojima@gcc.gnu.org>
-+ * Summary: [3.3/3.4 regression] miscompiles zero extension and test
-+ * Description:
-+ * gcc-3.3/3.4 -O2 for sh target may miscompile the combination of zero extension
-+ * and test if it's zero.
-+ *
-+ * Testcase tweaked by dank@kegel.com. Not marked as xfail because it's a regression.
-+ */
-+/* { dg-do run } */
-+/* { dg-options "-O2" } */
-+
-+extern void abort(void);
-+
-+int val = 0xff00;
-+
-+int f(void)
-+{
-+ return val;
-+}
-+
-+unsigned char a[1];
-+
-+void foo(void)
-+{
-+ a[0] = f() & 255;
-+
-+ if (!a[0])
-+ a[0] = f() & 255;
-+
-+ if (!a[0])
-+ a[0] = 1 + (f() & 127);
-+}
-+
-+int main(int argc, char **argv)
-+{
-+ foo();
-+ if (!a[0])
-+ abort();
-+
-+ return 0;
-+}
diff --git a/patches/gcc/3.3.1/pr11949-fix.patch b/patches/gcc/3.3.1/pr11949-fix.patch
deleted file mode 100644
index 7f60b95..0000000
--- a/patches/gcc/3.3.1/pr11949-fix.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-Message-Id: 20030822160024.GA305@ftbfs.org
-From: Matt Kraai kraai at alumni dot cmu dot edu
-To: gcc-patches at gcc dot gnu dot org
-Date: Fri, 22 Aug 2003 09:00:24 -0700
-Subject: PR 11949
-
-Howdy,
-
-I've backported the following patch from the mainline to the 3.3
-branch to fix PR 11949.
-
-Bootstrapped and regression tested on powerpc-unknown-linux-gnu.
-
-OK to commit?
-
- PR c/11949
- Backport from mainline:
-
- 2003-05-05 Aldy Hernandez aldyh@redhat.com
-
- * testsuite/gcc.c-torture/compile/simd-6.c: New.
-
- * c-typeck.c (digest_init): Handle arrays of vector constants.
-
-Index: gcc/c-typeck.c
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/c-typeck.c,v
-retrieving revision 1.213.2.8
-diff -3 -c -p -r1.213.2.8 c-typeck.c
-*** gcc/gcc/c-typeck.c 19 Aug 2003 01:42:35 -0000 1.213.2.8
---- gcc/gcc/c-typeck.c 22 Aug 2003 09:24:03 -0000
-*************** digest_init (type, init, require_constan
-*** 4765,4772 ****
- if (code == VECTOR_TYPE
- && comptypes (TREE_TYPE (inside_init), type)
- && TREE_CONSTANT (inside_init))
-! return build_vector (type, TREE_OPERAND (inside_init, 1));
-!
-
- /* Any type can be initialized
- from an expression of the same type, optionally with braces. */
---- 4765,4778 ----
- if (code == VECTOR_TYPE
- && comptypes (TREE_TYPE (inside_init), type)
- && TREE_CONSTANT (inside_init))
-! {
-! if (TREE_CODE (inside_init) == VECTOR_CST
-! && comptypes (TYPE_MAIN_VARIANT (TREE_TYPE (inside_init)),
-! TYPE_MAIN_VARIANT (type)))
-! return inside_init;
-! else
-! return build_vector (type, CONSTRUCTOR_ELTS (inside_init));
-! }
-
- /* Any type can be initialized
- from an expression of the same type, optionally with braces. */
-
-typedef int __attribute__((mode(V2SI))) vec;
-
-vec a[] = {(vec) {1, 2}, {3, 4}};
-
diff --git a/patches/gcc/3.3.1/pr9365-1-test.patch b/patches/gcc/3.3.1/pr9365-1-test.patch
deleted file mode 100644
index ee7dfa7..0000000
--- a/patches/gcc/3.3.1/pr9365-1-test.patch
+++ /dev/null
@@ -1,43 +0,0 @@
---- /dev/null Sat Dec 14 13:56:51 2002
-+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr9365-1.c Sun Sep 14 09:34:37 2003
-@@ -0,0 +1,40 @@
-+/* PR target/9365
-+ * Origin: marcus@mc.pp.se
-+ * Testcase tweaked by dank@kegel.com
-+ * [3.3 regression] [SH] segfault in gen_far_branch (config/sh/sh.c)
-+ * ice-on-valid-code
-+ * Not marked as xfail since it's a regression
-+*/
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -fomit-frame-pointer" } */
-+
-+
-+void foo(int n, int *p)
-+{
-+ switch(n) {
-+ case 100: case 110: case 120: case 130: case 140:
-+ case 200: case 210: case 220: case 230: case 240:
-+ case 300: case 310: case 320: case 330: case 340:
-+ case 400: case 410: case 420: case 430: case 440:
-+ case 500: case 510: case 520: case 530: case 540:
-+ case 600: case 610: case 620: case 630: case 640:
-+ case 700: case 710: case 720: case 730: case 740:
-+ case 800: case 810: case 820: case 830: case 840:
-+ case 900: case 910: case 920: case 930: case 940:
-+ break;
-+ default:
-+ *p = n;
-+ break;
-+ }
-+}
-+
-+int main(int argc, char **argv)
-+{
-+ int p;
-+
-+ (void) argv;
-+
-+ foo(argc, &p);
-+
-+ return p;
-+}
diff --git a/patches/gcc/3.3.1/sh-pic-set_fpscr.patch b/patches/gcc/3.3.1/sh-pic-set_fpscr.patch
deleted file mode 100644
index e83f728..0000000
--- a/patches/gcc/3.3.1/sh-pic-set_fpscr.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-See http://gcc.gnu.org/PR11901
-Should fix
-make[2]: *** [/gcc-3.3-glibc-2.3.2/build-glibc/elf/check-textrel.out] Error 1
-in glibc's "make tests".
-
--------------
-
-Message-Id: <200307300255.h6U2tB906928@r-rr.iij4u.or.jp>
-To: dank@kegel.com
-Cc: linux-sh@m17n.org
-Subject: Re: Writing PIC version of __udivsi3_i4? (was: Re: "make tests" fails
- with "libc.so: text relocations used" in glibc-2.3.2 for sh4)
-In-Reply-To: Your message of "Wed, 30 Jul 2003 11:20:49 +0900"
- <200307300212.h6U2CH901209@r-rr.iij4u.or.jp>
-References: <200307300212.h6U2CH901209@r-rr.iij4u.or.jp>
-Date: Wed, 30 Jul 2003 12:03:01 +0900
-From: kaz Kojima <kkojima@rr.iij4u.or.jp>
-
-> I'll try to write the PIC version of it,
-
-Dan, does the attached patch work for you?
-
-[dank: original patch deleted; here's same thing rediffed against gcc-3.3 instead of HEAD]
-
---- gcc-3.3/gcc/config/sh/lib1funcs.asm.old Tue Jul 29 21:37:29 2003
-+++ gcc-3.3/gcc/config/sh/lib1funcs.asm Tue Jul 29 21:40:58 2003
-@@ -1792,7 +1792,17 @@
- .global GLOBAL(set_fpscr)
- GLOBAL(set_fpscr):
- lds r4,fpscr
-+#ifdef __PIC__
-+ mov.l r12,@-r15
-+ mova LOCAL(set_fpscr_L0),r0
-+ mov.l LOCAL(set_fpscr_L0),r12
-+ add r0,r12
-+ mov.l LOCAL(set_fpscr_L1),r0
-+ mov.l @(r0,r12),r1
-+ mov.l @r15+,r12
-+#else
- mov.l LOCAL(set_fpscr_L1),r1
-+#endif
- swap.w r4,r0
- or #24,r0
- #ifndef FMOVD_WORKS
-@@ -1820,8 +1830,16 @@
- mov.l r3,@(4,r1)
- #endif
- .align 2
-+#ifdef __PIC__
-+LOCAL(set_fpscr_L0):
-+ .long _GLOBAL_OFFSET_TABLE_
-+LOCAL(set_fpscr_L1):
-+ .long GLOBAL(fpscr_values@GOT)
-+#else
- LOCAL(set_fpscr_L1):
- .long GLOBAL(fpscr_values)
-+#endif
-+
- #ifdef __ELF__
- .comm GLOBAL(fpscr_values),8,4
- #else
diff --git a/patches/gcc/3.3.1/sh-spec.patch b/patches/gcc/3.3.1/sh-spec.patch
deleted file mode 100644
index efd4243..0000000
--- a/patches/gcc/3.3.1/sh-spec.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-See http://gcc.gnu.org/PR11902
-
-Part of fix for abort on line
- assert (info[DT_RPATH] == NULL);
-in glibc-2.3.2's ld.so, which makes all dynamically-linked
-programs crash.
-
-Message-Id: <200308020452.h724q0n01509@r-rr.iij4u.or.jp>
-To: dank@kegel.com
-Cc: kkojima@rr.iij4u.or.jp
-Subject: Re: Writing PIC version of __udivsi3_i4?
-In-Reply-To: Your message of "Fri, 01 Aug 2003 21:15:27 -0700"
- <3F2B3ADF.6030206@kegel.com>
-References: <3F2B3ADF.6030206@kegel.com>
-Date: Sat, 02 Aug 2003 13:58:05 +0900
-From: kaz Kojima <kkojima@rr.iij4u.or.jp>
-
-Dan Kegel <dank@kegel.com> wrote:
-> It seems it might be from gcc's spec file:
->
-> *subtarget_link_spec:
-> %{shared:-shared} %{!static: %{rdynamic:-export-dynamic} %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} %{!rpath:-rpath /lib}} %{static:-static}
->
-> as the only place -rpath showed up was in the output of gcc -v as it
-> was linking libc.so.
->
-> Well, that's a clue, anyway! Guess I'll dig through the spec files
-> tomorrow to see if I can figure it out some more.
-
-I've grepped gcc/config/*/*.h and found only SH and old libc1 stuffs
-of i386/alpha include %{!rpath:-rpath ... in 3.3 release and the
-current CVS. And my sh-gcc's specs doesn't have this :-(
-It would be the Right Thing to remove this stuff simply. How about
-the gcc patch below?
-
-Regards,
- kaz
---
---- gcc-3.3/gcc/config/sh/linux.h.orig Sat Aug 2 13:20:57 2003
-+++ gcc-3.3/gcc/config/sh/linux.h Sat Aug 2 13:22:42 2003
-@@ -48,8 +48,7 @@ do { \
- "%{shared:-shared} \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
-- %{!rpath:-rpath /lib}} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
- %{static:-static}"
-
- /* The GNU C++ standard library requires that these macros be defined. */
-
-
diff --git a/patches/gcc/3.3.1/sh4-pthread.patch b/patches/gcc/3.3.1/sh4-pthread.patch
deleted file mode 100644
index 95e1057..0000000
--- a/patches/gcc/3.3.1/sh4-pthread.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-See http://gcc.gnu.org/PR11903
-
-Patch to fix following test case failure:
-
- === libstdc++-v3 tests ===
-FAIL: thread/pthread1.cc (test for excess errors)
-Excess errors:
-/opt/cegl-2.0/sh4-unknown-linux-gnu/gcc-ss-3_3-20030714-glibc-2.2.5/sh4-unknown-linux-gnu/bin/ld: cannot find -lthread
-collect2: ld returned 1 exit status
-
-Note that *any* program compiled with -pthread fails:
-
-/opt/cegl-2.0/sh4-unknown-linux-gnu/gcc-ss-3_3-20030714-glibc-2.2.5/bin/sh4-unknown-linux-gnu-gcc hello.c -pthread
-/opt/cegl-2.0/sh4-unknown-linux-gnu/gcc-ss-3_3-20030714-glibc-2.2.5/lib/gcc-lib/sh4-unknown-linux-gnu/3.3.1/../../../../sh4-unknown-linux-gnu/bin/ld: cannot find -lthread
-collect2: ld returned 1 exit status
-
-Compiling with -lpthread on the other hand works fine:
-/opt/cegl-2.0/sh4-unknown-linux-gnu/gcc-ss-3_3-20030714-glibc-2.2.5/bin/sh4-unknown-linux-gnu-gcc hello.c -lpthread
-
-So -pthread is broken in some trivial way; it should invoke -lpthread, not -lthread,
-at least when targeting Linux.
-
-http://www.sh-linux.org/rpm-2003/SRPMS/gcc-3.2.3-3.src.rpm contains a jumbo patch,
-gcc-20030210-sh-linux-1.patch, that includes a fix for this. Here's the
-appropriate hunk (brings in a fix for the documented -mieee option).
-No idea if this fix is completely right, but it works for me...
-- dank@kegel.com 20 Jul 2003
-
-Index: linux.h
-===================================================================
-RCS file: /cvsroot/gcc/gcc/gcc/config/sh/linux.h,v
-retrieving revision 1.9.20.1
-diff -u -d -u -r1.9.20.1 linux.h
---- gcc-ss-3_3-20030714/gcc/config/sh/linux.h.old 6 Jun 2003 02:30:59 -0000 1.9.20.1
-+++ gcc-ss-3_3-20030714/gcc/config/sh/linux.h 20 Jul 2003 23:36:50 -0000
-@@ -59,7 +59,7 @@
- #undef LIB_SPEC
- #define LIB_SPEC \
- "%{shared: -lc} \
-- %{!shared: %{pthread:-lthread} \
-+ %{!shared: %{mieee:-lieee} %{pthread:-lpthread} \
- %{profile:-lc_p} %{!profile: -lc}}"
-
- #undef STARTFILE_SPEC
diff --git a/patches/gcc/3.3.1/thunk3.patch b/patches/gcc/3.3.1/thunk3.patch
deleted file mode 100644
index 7974a0c..0000000
--- a/patches/gcc/3.3.1/thunk3.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Fixes
-FAIL: g++.jason/thunk3.C (test for excess errors)
-on sh4-unknown-linux-gnu.
-
-Does any sh variant *not* use the generic thunk support? If so, the patch should be
-more cautious. As it is, it excludes all sh processors from this test.
-
-Index: thunk3.C
-===================================================================
-RCS file: /cvsroot/gcc/gcc/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C,v
-retrieving revision 1.13
-diff -u -d -u -r1.13 thunk3.C
---- gcc-ss-3_3-20030714/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C.old 25 Mar 2002 17:57:03 -0000 1.13
-+++ gcc-ss-3_3-20030714/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C 20 Jul 2003 16:57:38 -0000
-@@ -2,7 +2,7 @@
- // Note that this will break on any target that uses the generic thunk
- // support, because it doesn't support variadic functions.
-
--// excess errors test - XFAIL mips*-*-* rs6000-*-* powerpc-*-eabi m68k-*-coff m68k-motorola-sysv m88k-motorola-sysv3 mn10300-*-* mn10200-*-* v850-*-* sh-*-* sh64-*-* h8*-*-* xtensa-*-*
-+// excess errors test - XFAIL mips*-*-* rs6000-*-* powerpc-*-eabi m68k-*-coff m68k-motorola-sysv m88k-motorola-sysv3 mn10300-*-* mn10200-*-* v850-*-* sh*-*-* h8*-*-* xtensa-*-*
-
- #include <stdarg.h>
-
diff --git a/patches/gcc/3.3.2/empty6.patch b/patches/gcc/3.3.2/empty6.patch
deleted file mode 100644
index 1b0715c..0000000
--- a/patches/gcc/3.3.2/empty6.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 3.4 branch. Fixes test failure
-FAIL: g++.dg/abi/empty6.C (test for warnings, line 6)
-
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/testsuite/g++.dg/abi/empty6.C,v
-retrieving revision 1.1
-retrieving revision 1.2
-diff -u -r1.1 -r1.2
---- gcc/gcc/testsuite/g++.dg/abi/empty6.C 2002/09/25 19:07:35 1.1
-+++ gcc/gcc/testsuite/g++.dg/abi/empty6.C 2003/06/03 19:10:09 1.2
-@@ -5,4 +5,9 @@
- struct B {
- A a; // { dg-warning "empty" }
- virtual void f () {}
--};
-+} __attribute__((aligned(8)));
-+/* The preceding attribute is necessary on targets with
-+ BIGGEST_ALIGNMENT <= 32 to trigger the warning, as otherwise a 32 bit
-+ offset is split into DECL_FIELD_OFFSET 4 and DECL_FIELD_BIT_OFFSET 0,
-+ and then there is no discrepancy between DECL_FIELD_OFFSET and
-+ byte_position to warn about. */
diff --git a/patches/gcc/3.3.2/gcc-3.2.3-g++.exp.patch b/patches/gcc/3.3.2/gcc-3.2.3-g++.exp.patch
deleted file mode 100644
index fb8e4f0..0000000
--- a/patches/gcc/3.3.2/gcc-3.2.3-g++.exp.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-See http://gcc.gnu.org/PR12010
-
-g++ testsuite fixes for cross-compilers, Dan Kegel, Ixia Communications, 12 July 2003
-
-The first hunk fixes the error
-
-/testsuite_flags: /testsuite_flags: No such file or directory
- while executing
-"exec sh ${odir_v3}/testsuite_flags --build-includes"
- (procedure "g++_include_flags" line 21)
- invoked from within
-"g++_include_flags [get_multilibs] "
- (procedure "g++_init" line 63)
- invoked from within
-"${tool}_init $test_file_name"
- (procedure "runtest" line 19)
- invoked from within
-"runtest $test_name"
- ("foreach" body line 42)
- invoked from within
-...
-make[1]: [check-g++] Error 1 (ignored)
-
-The fix isn't especially pretty, but it worked for me, and can't hurt the
-more common native compiler case. Maybe someone who knows the code better
-can come up with a better fix.
-
-The second hunk fixes the error
-
-sh: error while loading shared libraries: /opt/cegl-2.0/powerpc-405-linux-gnu/gcc-3.2.3-glibc-2.2.5/powerpc-405-linux-gnu/./lib/libdl.so.2: ELF file data encoding not little-endian
-
-when trying to compile g++ testcases (!); setting up
-the shared library environment when running crosstests of g++
-should either be done by a special board file, or by
-setting up a remote chroot environment (see http://kegel.com/crosstool),
-not by blithely setting LD_LIBRARY_PATH on the local system.
-
---- gcc-3.2.3/gcc/testsuite/lib/g++.exp.old Fri Jul 11 15:42:47 2003
-+++ gcc-3.2.3/gcc/testsuite/lib/g++.exp Sat Jul 12 12:57:07 2003
-@@ -72,6 +72,8 @@
- #
- proc g++_include_flags { paths } {
- global srcdir
-+ global objdir
-+ global target_triplet
- global HAVE_LIBSTDCXX_V3
- global TESTING_IN_BUILD_TREE
-
-@@ -90,6 +92,20 @@
-
- if { ${HAVE_LIBSTDCXX_V3} } {
- set odir_v3 [lookfor_file ${gccpath} libstdc++-v3]
-+ if { $odir_v3 == "" } {
-+ verbose "g++_include_flags: couldn't find libstdc++-v3 on first try, now looking in build directory $objdir"
-+ # first assume no multilibs
-+ set odir_v3 [lookfor_file ${objdir} "$target_triplet/libstdc++-v3"]
-+ }
-+ if { $odir_v3 == "" } {
-+ verbose "g++_include_flags: couldn't find libstdc++-v3 on second try, trying multilib"
-+ # assume multilib only one level deep
-+ set multisub [file tail $gccpath]
-+ set odir_v3 [lookfor_file ${objdir} "$target_triplet/$multisub/libstdc++-v3"]
-+ }
-+ if { $odir_v3 == "" } {
-+ error "Can't find libstdc++-v3"
-+ }
- append flags [exec sh ${odir_v3}/testsuite_flags --build-includes]
- } else {
- set odir_v2 [lookfor_file ${gccpath} libstdc++]
-@@ -192,16 +192,20 @@
- }
- }
-
-- # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
-- # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
-- # (for the 64-bit ABI). The right way to do this would be to modify
-- # unix.exp -- but that's not an option since it's part of DejaGNU
-- # proper, so we do it here. We really only need to do
-- # this on IRIX, but it shouldn't hurt to do it anywhere else.
-- setenv LD_LIBRARY_PATH $ld_library_path
-- setenv SHLIB_PATH $ld_library_path
-- setenv LD_LIBRARYN32_PATH $ld_library_path
-- setenv LD_LIBRARY64_PATH $ld_library_path
-+ if {![is_remote target]} {
-+ # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
-+ # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
-+ # (for the 64-bit ABI). The right way to do this would be to modify
-+ # unix.exp -- but that's not an option since it's part of DejaGNU
-+ # proper, so we do it here. We really only need to do
-+ # this on IRIX, but it shouldn't hurt to do it anywhere else.
-+
-+ # Doing this causes us to be unable to run cross-compilers.
-+ setenv LD_LIBRARY_PATH $ld_library_path
-+ setenv SHLIB_PATH $ld_library_path
-+ setenv LD_LIBRARYN32_PATH $ld_library_path
-+ setenv LD_LIBRARY64_PATH $ld_library_path
-+ }
-
- return "$flags"
- }
diff --git a/patches/gcc/3.3.2/gcc-3.3-libstdc++-v3-dg.exp.patch b/patches/gcc/3.3.2/gcc-3.3-libstdc++-v3-dg.exp.patch
deleted file mode 100644
index aafc130..0000000
--- a/patches/gcc/3.3.2/gcc-3.3-libstdc++-v3-dg.exp.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-Without this patch, the command
-
-RUNTESTFLAGS=--target=powerpc-750-linux-gnu -v -v -v -v make check-target-libstdc++-v3
-
-fails in two ways:
-1. the -L option meant to locate the testsuite directory is incorrect, and
-2. the wrong compiler is invoked, causing all sorts of havoc, not least of which
-is the native compiler is invoked when we really wanted to invoke the cross-compiler
-we just built.
-
-Here's an example log of the problem in action. Every testcase fails, this shows just one:
--------------
-Invoking the compiler as g++ -ggdb3 -DDEBUG_ASSERT -I/home3/dank/wk/ixos/dap_interim/linux/3rdParty/crosstool/crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/gcc-3.3/libstdc++-v3/testsuite /home3/dank/wk/ixos/dap_interim/linux/3rdParty/crosstool/crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/gcc-3.3/libstdc++-v3/testsuite/20_util/binders.cc -g -O2 -DDEBUG_ASSERT -L/testsuite -lv3test -lm -o ./binders.exe
-compiler exited with status 1
-output is:
-/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_function.h: In method `void binder2nd<mem_fun1_ref_t<void,Elem,int> >::operator ()(const Elem &) const':^M
-/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_algo.h:83: instantiated from `for_each<Elem *, binder2nd<mem_fun1_ref_t<void,Elem,int> > >(Elem *, Elem *, binder2nd<mem_fun1_ref_t<void,Elem,int> >)'^M
-/home3/dank/wk/ixos/dap_interim/linux/3rdParty/crosstool/crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/gcc-3.3/libstdc++-v3/testsuite/20_util/binders.cc:43: instantiated from here^M
-/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_function.h:224: conversion from `const Elem' to `Elem &' discards qualifiers^M
-/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_function.h:622: in passing argument 1 of `mem_fun1_ref_t<void,Elem,int>::operator ()(Elem &, int) const'^M
-...
-FAIL: 20_util/binders.cc (test for excess errors)
-WARNING: 20_util/binders.cc compilation failed to produce executable
--------------
-
-And here's the patch. I'm not happy with it, and it probably gets some cases wrong,
-but it seems to work for the common native case and for my cross-compiler case.
-
---- gcc-3.3/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp.old Sun Jul 13 10:42:01 2003
-+++ gcc-3.3/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp Sun Jul 13 11:39:54 2003
-@@ -46,8 +46,23 @@
- global gluefile wrap_flags
- global ld_library_path
- global tool_root_dir
-+ global target_triplet
-
- set blddir [lookfor_file [get_multilibs] libstdc++-v3]
-+ if { $blddir == "" } {
-+ set multilibs [get_multilibs]
-+ # FIXME: assume multilib only one level deep
-+ set multisub [file tail $multilibs]
-+ verbose "libstdc++-v3-init: couldn't find libstdc++-v3 in $multilibs, trying $objdir"
-+ set blddir [lookfor_file ${objdir} "$target_triplet/$multisub/libstdc++-v3"]
-+ }
-+ if { $blddir == "" } {
-+ verbose "libstdc++-v3-init: couldn't find libstdc++-v3, trying $objdir without multilibs"
-+ set blddir [lookfor_file ${objdir} "$target_triplet/libstdc++-v3"]
-+ }
-+ if { $blddir == "" } {
-+ error "Can't find libstdc++-v3"
-+ }
-
- # By default, we assume we want to run program images.
- global dg-do-what-default
diff --git a/patches/gcc/3.3.2/gcc-3.3.2-arm-bigendian.patch b/patches/gcc/3.3.2/gcc-3.3.2-arm-bigendian.patch
deleted file mode 100644
index 9ec6c53..0000000
--- a/patches/gcc/3.3.2/gcc-3.3.2-arm-bigendian.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-By Lennert Buytenhek <buytenh@wantstofly.org>
-Adds support for arm*b-linux* big-endian ARM targets
-
-See http://gcc.gnu.org/PR16350
-
-diff -urN gcc-3.3.2.orig/gcc/config/arm/linux-elf.h gcc-3.3.2/gcc/config/arm/linux-elf.h
---- gcc-3.3.2.orig/gcc/config/arm/linux-elf.h 2003-09-16 17:39:23.000000000 +0200
-+++ gcc-3.3.2/gcc/config/arm/linux-elf.h 2004-07-07 14:03:54.329839922 +0200
-@@ -30,15 +30,29 @@
- /* Do not assume anything about header files. */
- #define NO_IMPLICIT_EXTERN_C
-
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
-+#define TARGET_ENDIAN_OPTION "mbig-endian"
-+#define TARGET_LINKER_EMULATION "armelfb_linux"
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#define TARGET_ENDIAN_OPTION "mlittle-endian"
-+#define TARGET_LINKER_EMULATION "armelf_linux"
-+#endif
-+
- /* Default is to use APCS-32 mode. */
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
-+#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS | TARGET_ENDIAN_DEFAULT)
-
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
-+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
-
- #undef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-
- #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
-
-@@ -86,7 +100,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
- -X \
-- %{mbig-endian:-EB}" \
-+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
- SUBTARGET_EXTRA_LINK_SPEC
-
- #define TARGET_OS_CPP_BUILTINS() \
-diff -urN gcc-3.3.2.orig/gcc/config.gcc gcc-3.3.2/gcc/config.gcc
---- gcc-3.3.2.orig/gcc/config.gcc 2003-10-01 21:07:01.000000000 +0200
-+++ gcc-3.3.2/gcc/config.gcc 2004-07-07 14:04:59.046716638 +0200
-@@ -699,6 +699,11 @@
- ;;
- arm*-*-linux*) # ARM GNU/Linux with ELF
- tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/linux-gas.h arm/linux-elf.h"
-+ case $machine in
-+ arm*b-*)
-+ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
-+ ;;
-+ esac
- tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
- extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- gnu_ld=yes
diff --git a/patches/gcc/3.3.2/gcc-3.3.2-trap-posix.patch b/patches/gcc/3.3.2/gcc-3.3.2-trap-posix.patch
deleted file mode 100644
index c8bc2ea..0000000
--- a/patches/gcc/3.3.2/gcc-3.3.2-trap-posix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# Submitted-By: Marc Kleine-Budde <mkl@pengutronix.de>, 2005-04-20
-#
-# Error:
-#
-# creating libintl.h
-# Configuring etc...
-# loading cache ../config.cache
-# checking for a BSD compatible install... (cached) /usr/bin/install -c
-# creating ./config.status
-# creating Makefile
-# trap: usage: trap [-lp] [[arg] signal_spec ...]
-#
-# Description:
-#
-# non-posix conform usage of trap causes bash >= 3.0 to fail
-# e.g.: http://sourceware.org/ml/crossgcc/2004-12/msg00132.html
-#
-# Status:
-#
-# fixed in gcc >= 3.3.5
-# backport of gcc-3.3.5 fix
-#
-diff -ruN gcc-3.3.2-orig/configure gcc-3.3.2/configure
---- gcc-3.3.2-orig/configure 2002-09-29 18:11:24.000000000 +0200
-+++ gcc-3.3.2/configure 2005-04-20 20:55:51.000000000 +0200
-@@ -697,7 +697,7 @@
- if test -f skip-this-dir; then
- # Perform the same cleanup as the trap handler, minus the "exit 1" of course,
- # and reset the trap handler.
-- trap 0
-+ trap '' 0
- rm -rf Makefile* ${tmpdir}
- # Execute the final clean-up actions
- ${config_shell} skip-this-dir
-@@ -1596,7 +1596,7 @@
- # Perform the same cleanup as the trap handler, minus the "exit 1" of course,
- # and reset the trap handler.
- rm -rf ${tmpdir}
--trap 0
-+trap '' 0
-
- exit 0
-
diff --git a/patches/gcc/3.3.2/pr10392-1-test.patch b/patches/gcc/3.3.2/pr10392-1-test.patch
deleted file mode 120000
index f02b235..0000000
--- a/patches/gcc/3.3.2/pr10392-1-test.patch
+++ /dev/null
@@ -1 +0,0 @@
-../3.3.1/pr10392-1-test.patch \ No newline at end of file
diff --git a/patches/gcc/3.3.2/pr10412-1-test.patch b/patches/gcc/3.3.2/pr10412-1-test.patch
deleted file mode 120000
index 195d7f5..0000000
--- a/patches/gcc/3.3.2/pr10412-1-test.patch
+++ /dev/null
@@ -1 +0,0 @@
-../3.3.1/pr10412-1-test.patch \ No newline at end of file
diff --git a/patches/gcc/3.3.2/pr10589-1-test.patch b/patches/gcc/3.3.2/pr10589-1-test.patch
deleted file mode 120000
index b7e0a6b..0000000
--- a/patches/gcc/3.3.2/pr10589-1-test.patch
+++ /dev/null
@@ -1 +0,0 @@
-../3.3.1/pr10589-1-test.patch \ No newline at end of file
diff --git a/patches/gcc/3.3.2/pr11162-1-test.patch b/patches/gcc/3.3.2/pr11162-1-test.patch
deleted file mode 120000
index 9f17500..0000000
--- a/patches/gcc/3.3.2/pr11162-1-test.patch
+++ /dev/null
@@ -1 +0,0 @@
-../3.3.1/pr11162-1-test.patch \ No newline at end of file
diff --git a/patches/gcc/3.3.2/pr11587-1-test.patch b/patches/gcc/3.3.2/pr11587-1-test.patch
deleted file mode 120000
index cdb9d8e..0000000
--- a/patches/gcc/3.3.2/pr11587-1-test.patch
+++ /dev/null
@@ -1 +0,0 @@
-../3.3.1/pr11587-1-test.patch \ No newline at end of file
diff --git a/patches/gcc/3.3.2/pr11608-fix.patch b/patches/gcc/3.3.2/pr11608-fix.patch
deleted file mode 100644
index b435126..0000000
--- a/patches/gcc/3.3.2/pr11608-fix.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-pr11608
-
-------------
-I'm building and testing an x86->sh4 crosscompiler with http://kegel.com/crosstool
-With either gcc-3.3 or gcc-ss-3_3-20030714 I get:
-
-Testing debug/20020327-1.c, -gstabs1
-...
-FAIL: gcc.dg/debug/20020327-1.c (test for excess errors)
-Excess errors:
-/tmp/cc8dFF7Y.s: Assembler messages:
-/tmp/cc8dFF7Y.s:66: Error: symbol `Letext' is already defined
-
-------------
-
-Index: elf.h
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/config/sh/elf.h,v
-retrieving revision 1.32
-diff -u -p -r1.32 elf.h
---- gcc-orig/gcc/config/sh/elf.h 27 Sep 2003 04:48:28 -0000 1.32
-+++ gcc-new/gcc/config/sh/elf.h 2 Jan 2004 07:23:23 -0000
-@@ -95,7 +95,7 @@ while (0)
- #define DBX_OUTPUT_MAIN_SOURCE_FILE_END(FILE, FILENAME) \
- do { \
- text_section (); \
-- fprintf ((FILE), "\t.stabs \"\",%d,0,0,Letext\nLetext:\n", N_SO); \
-+ asm_fprintf ((FILE), "\t.stabs \"\",%d,0,0,%LLetext\n%LLetext:\n", N_SO); \
- } while (0)
-
- #undef STARTFILE_SPEC
diff --git a/patches/gcc/3.3.2/pr11736-1-test.patch b/patches/gcc/3.3.2/pr11736-1-test.patch
deleted file mode 120000
index 04a0841..0000000
--- a/patches/gcc/3.3.2/pr11736-1-test.patch
+++ /dev/null
@@ -1 +0,0 @@
-../3.3.1/pr11736-1-test.patch \ No newline at end of file
diff --git a/patches/gcc/3.3.2/pr11864-1-test.patch b/patches/gcc/3.3.2/pr11864-1-test.patch
deleted file mode 120000
index b40aaa0..0000000
--- a/patches/gcc/3.3.2/pr11864-1-test.patch
+++ /dev/null
@@ -1 +0,0 @@
-../3.3.1/pr11864-1-test.patch \ No newline at end of file
diff --git a/patches/gcc/3.3.2/pr13260-test.patch b/patches/gcc/3.3.2/pr13260-test.patch
deleted file mode 100644
index d9cc3e4..0000000
--- a/patches/gcc/3.3.2/pr13260-test.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-See http://gcc.gnu.org/PR13260
-
-/cvs/gcc/gcc/gcc/testsuite/gcc.c-torture/execute/20031204-1.c,v --> standard output
-revision 1.1
---- - 1970-01-01 00:00:00.000000000 +0000
-+++ gcc/gcc/testsuite/gcc.c-torture/execute/20031204-1.c
-@@ -0,0 +1,49 @@
-+/* PR optimization/13260 */
-+
-+#include <string.h>
-+
-+typedef unsigned long u32;
-+
-+u32 in_aton(const char* x)
-+{
-+ return 0x0a0b0c0d;
-+}
-+
-+u32 root_nfs_parse_addr(char *name)
-+{
-+ u32 addr;
-+ int octets = 0;
-+ char *cp, *cq;
-+
-+ cp = cq = name;
-+ while (octets < 4) {
-+ while (*cp >= '0' && *cp <= '9')
-+ cp++;
-+ if (cp == cq || cp - cq > 3)
-+ break;
-+ if (*cp == '.' || octets == 3)
-+ octets++;
-+ if (octets < 4)
-+ cp++;
-+ cq = cp;
-+ }
-+
-+ if (octets == 4 && (*cp == ':' || *cp == '\0')) {
-+ if (*cp == ':')
-+ *cp++ = '\0';
-+ addr = in_aton(name);
-+ strcpy(name, cp);
-+ } else
-+ addr = (-1);
-+
-+ return addr;
-+}
-+
-+int
-+main()
-+{
-+ static char addr[] = "10.11.12.13:/hello";
-+ u32 result = root_nfs_parse_addr(addr);
-+ if (result != 0x0a0b0c0d) { abort(); }
-+ return 0;
-+}
diff --git a/patches/gcc/3.3.2/pr9365-1-test.patch b/patches/gcc/3.3.2/pr9365-1-test.patch
deleted file mode 120000
index a8eee16..0000000
--- a/patches/gcc/3.3.2/pr9365-1-test.patch
+++ /dev/null
@@ -1 +0,0 @@
-../3.3.1/pr9365-1-test.patch \ No newline at end of file
diff --git a/patches/gcc/3.3.2/sh-lib1funcs_sizeAndType.patch b/patches/gcc/3.3.2/sh-lib1funcs_sizeAndType.patch
deleted file mode 100644
index 5c1895a..0000000
--- a/patches/gcc/3.3.2/sh-lib1funcs_sizeAndType.patch
+++ /dev/null
@@ -1,610 +0,0 @@
-Fixes the problem
- [ libdemo.so and main.o both use assignment on structures ]
- $ sh4-unknown-linux-gnu-gcc libdemo.so main.o
- sh4-unknown-linux-gnu/bin/ld: warning: type and size of dynamic symbol `__movstr_i4_even' are not defined
- [ resulting app links, but crashes at runtime ]
-See testcase at http://tsukuba.m17n.org/linux-sh/ml/linux-sh/2003-11/msg00016.html
-
-Patch was posted as http://gcc.gnu.org/ml/gcc-patches/2002-11/msg01641.html
-and is in cvs as http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sh/lib1funcs.asm.diff?r1=1.29.4.1&r2=1.29.4.2
-
-but see also sh-libgcc-hidden.patch
-
-===================================================================
-
---- gcc/gcc/config/sh/lib1funcs.asm 2002/09/20 01:29:21 1.29.4.1
-+++ gcc/gcc/config/sh/lib1funcs.asm 2003/11/18 12:27:31
-@@ -38,9 +38,14 @@
- amylaar@cygnus.com */
-
- #ifdef __ELF__
--#define LOCAL(X) .L_##X
--#else
--#define LOCAL(X) L_##X
-+#define LOCAL(X) .L_##X
-+#define FUNC(X) .type X,@function
-+#define ENDFUNC0(X) .Lfe_##X: .size X,.Lfe_##X-X
-+#define ENDFUNC(X) ENDFUNC0(X)
-+#else
-+#define LOCAL(X) L_##X
-+#define FUNC(X)
-+#define ENDFUNC(X)
- #endif
-
- #define CONCAT(A,B) A##B
-@@ -87,6 +92,40 @@
- .global GLOBAL(ashiftrt_r4_31)
- .global GLOBAL(ashiftrt_r4_32)
-
-+ FUNC(GLOBAL(ashiftrt_r4_0))
-+ FUNC(GLOBAL(ashiftrt_r4_1))
-+ FUNC(GLOBAL(ashiftrt_r4_2))
-+ FUNC(GLOBAL(ashiftrt_r4_3))
-+ FUNC(GLOBAL(ashiftrt_r4_4))
-+ FUNC(GLOBAL(ashiftrt_r4_5))
-+ FUNC(GLOBAL(ashiftrt_r4_6))
-+ FUNC(GLOBAL(ashiftrt_r4_7))
-+ FUNC(GLOBAL(ashiftrt_r4_8))
-+ FUNC(GLOBAL(ashiftrt_r4_9))
-+ FUNC(GLOBAL(ashiftrt_r4_10))
-+ FUNC(GLOBAL(ashiftrt_r4_11))
-+ FUNC(GLOBAL(ashiftrt_r4_12))
-+ FUNC(GLOBAL(ashiftrt_r4_13))
-+ FUNC(GLOBAL(ashiftrt_r4_14))
-+ FUNC(GLOBAL(ashiftrt_r4_15))
-+ FUNC(GLOBAL(ashiftrt_r4_16))
-+ FUNC(GLOBAL(ashiftrt_r4_17))
-+ FUNC(GLOBAL(ashiftrt_r4_18))
-+ FUNC(GLOBAL(ashiftrt_r4_19))
-+ FUNC(GLOBAL(ashiftrt_r4_20))
-+ FUNC(GLOBAL(ashiftrt_r4_21))
-+ FUNC(GLOBAL(ashiftrt_r4_22))
-+ FUNC(GLOBAL(ashiftrt_r4_23))
-+ FUNC(GLOBAL(ashiftrt_r4_24))
-+ FUNC(GLOBAL(ashiftrt_r4_25))
-+ FUNC(GLOBAL(ashiftrt_r4_26))
-+ FUNC(GLOBAL(ashiftrt_r4_27))
-+ FUNC(GLOBAL(ashiftrt_r4_28))
-+ FUNC(GLOBAL(ashiftrt_r4_29))
-+ FUNC(GLOBAL(ashiftrt_r4_30))
-+ FUNC(GLOBAL(ashiftrt_r4_31))
-+ FUNC(GLOBAL(ashiftrt_r4_32))
-+
- .align 1
- GLOBAL(ashiftrt_r4_32):
- GLOBAL(ashiftrt_r4_31):
-@@ -166,6 +205,40 @@
- GLOBAL(ashiftrt_r4_0):
- rts
- nop
-+
-+ ENDFUNC(GLOBAL(ashiftrt_r4_0))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_1))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_2))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_3))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_4))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_5))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_6))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_7))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_8))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_9))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_10))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_11))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_12))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_13))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_14))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_15))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_16))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_17))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_18))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_19))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_20))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_21))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_22))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_23))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_24))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_25))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_26))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_27))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_28))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_29))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_30))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_31))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_32))
- #endif
-
- #ifdef L_ashiftrt_n
-@@ -188,6 +261,7 @@
- !
-
- .global GLOBAL(ashrsi3)
-+ FUNC(GLOBAL(ashrsi3))
- .align 2
- GLOBAL(ashrsi3):
- mov #31,r0
-@@ -315,6 +389,7 @@
- rts
- nop
-
-+ ENDFUNC(GLOBAL(ashrsi3))
- #endif
-
- #ifdef L_ashiftlt
-@@ -336,6 +411,7 @@
- ! (none)
- !
- .global GLOBAL(ashlsi3)
-+ FUNC(GLOBAL(ashlsi3))
- .align 2
- GLOBAL(ashlsi3):
- mov #31,r0
-@@ -472,6 +548,7 @@
- rts
- nop
-
-+ ENDFUNC(GLOBAL(ashlsi3))
- #endif
-
- #ifdef L_lshiftrt
-@@ -493,6 +570,7 @@
- ! (none)
- !
- .global GLOBAL(lshrsi3)
-+ FUNC(GLOBAL(lshrsi3))
- .align 2
- GLOBAL(lshrsi3):
- mov #31,r0
-@@ -629,6 +707,7 @@
- rts
- nop
-
-+ ENDFUNC(GLOBAL(lshrsi3))
- #endif
-
- #ifdef L_movstr
-@@ -645,76 +724,113 @@
- add #64,r4
- .align 4
- .global GLOBAL(movstrSI64)
-+ FUNC(GLOBAL(movstrSI64))
- GLOBAL(movstrSI64):
- mov.l @(60,r5),r0
- mov.l r0,@(60,r4)
- .global GLOBAL(movstrSI60)
-+ FUNC(GLOBAL(movstrSI60))
- GLOBAL(movstrSI60):
- mov.l @(56,r5),r0
- mov.l r0,@(56,r4)
- .global GLOBAL(movstrSI56)
-+ FUNC(GLOBAL(movstrSI56))
- GLOBAL(movstrSI56):
- mov.l @(52,r5),r0
- mov.l r0,@(52,r4)
- .global GLOBAL(movstrSI52)
-+ FUNC(GLOBAL(movstrSI52))
- GLOBAL(movstrSI52):
- mov.l @(48,r5),r0
- mov.l r0,@(48,r4)
- .global GLOBAL(movstrSI48)
-+ FUNC(GLOBAL(movstrSI48))
- GLOBAL(movstrSI48):
- mov.l @(44,r5),r0
- mov.l r0,@(44,r4)
- .global GLOBAL(movstrSI44)
-+ FUNC(GLOBAL(movstrSI44))
- GLOBAL(movstrSI44):
- mov.l @(40,r5),r0
- mov.l r0,@(40,r4)
- .global GLOBAL(movstrSI40)
-+ FUNC(GLOBAL(movstrSI40))
- GLOBAL(movstrSI40):
- mov.l @(36,r5),r0
- mov.l r0,@(36,r4)
- .global GLOBAL(movstrSI36)
-+ FUNC(GLOBAL(movstrSI36))
- GLOBAL(movstrSI36):
- mov.l @(32,r5),r0
- mov.l r0,@(32,r4)
- .global GLOBAL(movstrSI32)
-+ FUNC(GLOBAL(movstrSI32))
- GLOBAL(movstrSI32):
- mov.l @(28,r5),r0
- mov.l r0,@(28,r4)
- .global GLOBAL(movstrSI28)
-+ FUNC(GLOBAL(movstrSI28))
- GLOBAL(movstrSI28):
- mov.l @(24,r5),r0
- mov.l r0,@(24,r4)
- .global GLOBAL(movstrSI24)
-+ FUNC(GLOBAL(movstrSI24))
- GLOBAL(movstrSI24):
- mov.l @(20,r5),r0
- mov.l r0,@(20,r4)
- .global GLOBAL(movstrSI20)
-+ FUNC(GLOBAL(movstrSI20))
- GLOBAL(movstrSI20):
- mov.l @(16,r5),r0
- mov.l r0,@(16,r4)
- .global GLOBAL(movstrSI16)
-+ FUNC(GLOBAL(movstrSI16))
- GLOBAL(movstrSI16):
- mov.l @(12,r5),r0
- mov.l r0,@(12,r4)
- .global GLOBAL(movstrSI12)
-+ FUNC(GLOBAL(movstrSI12))
- GLOBAL(movstrSI12):
- mov.l @(8,r5),r0
- mov.l r0,@(8,r4)
- .global GLOBAL(movstrSI8)
-+ FUNC(GLOBAL(movstrSI8))
- GLOBAL(movstrSI8):
- mov.l @(4,r5),r0
- mov.l r0,@(4,r4)
- .global GLOBAL(movstrSI4)
-+ FUNC(GLOBAL(movstrSI4))
- GLOBAL(movstrSI4):
- mov.l @(0,r5),r0
- mov.l r0,@(0,r4)
-+ .global GLOBAL(movstrSI0)
-+ FUNC(GLOBAL(movstrSI0))
- GLOBAL(movstrSI0):
- rts
- nop
-
-+ ENDFUNC(GLOBAL(movstrSI64))
-+ ENDFUNC(GLOBAL(movstrSI60))
-+ ENDFUNC(GLOBAL(movstrSI56))
-+ ENDFUNC(GLOBAL(movstrSI52))
-+ ENDFUNC(GLOBAL(movstrSI48))
-+ ENDFUNC(GLOBAL(movstrSI44))
-+ ENDFUNC(GLOBAL(movstrSI40))
-+ ENDFUNC(GLOBAL(movstrSI36))
-+ ENDFUNC(GLOBAL(movstrSI32))
-+ ENDFUNC(GLOBAL(movstrSI28))
-+ ENDFUNC(GLOBAL(movstrSI24))
-+ ENDFUNC(GLOBAL(movstrSI20))
-+ ENDFUNC(GLOBAL(movstrSI16))
-+ ENDFUNC(GLOBAL(movstrSI12))
-+ ENDFUNC(GLOBAL(movstrSI8))
-+ ENDFUNC(GLOBAL(movstrSI4))
-+ ENDFUNC(GLOBAL(movstrSI0))
-+
- .align 4
-
- .global GLOBAL(movstr)
-+ FUNC(GLOBAL(movstr))
- GLOBAL(movstr):
- mov.l @(60,r5),r0
- mov.l r0,@(60,r4)
-@@ -771,6 +887,8 @@
- add #64,r5
- bra GLOBAL(movstr)
- add #64,r4
-+
-+ FUNC(GLOBAL(movstr))
- #endif
-
- #ifdef L_movstr_i4
-@@ -779,6 +897,10 @@
- .global GLOBAL(movstr_i4_odd)
- .global GLOBAL(movstrSI12_i4)
-
-+ FUNC(GLOBAL(movstr_i4_even))
-+ FUNC(GLOBAL(movstr_i4_odd))
-+ FUNC(GLOBAL(movstrSI12_i4))
-+
- .p2align 5
- L_movstr_2mod4_end:
- mov.l r0,@(16,r4)
-@@ -787,6 +909,11 @@
-
- .p2align 2
-
-+GLOBAL(movstr_i4_even):
-+ mov.l @r5+,r0
-+ bra L_movstr_start_even
-+ mov.l @r5+,r1
-+
- GLOBAL(movstr_i4_odd):
- mov.l @r5+,r1
- add #-4,r4
-@@ -813,10 +940,8 @@
- rts
- mov.l r3,@(12,r4)
-
--GLOBAL(movstr_i4_even):
-- mov.l @r5+,r0
-- bra L_movstr_start_even
-- mov.l @r5+,r1
-+ ENDFUNC(GLOBAL(movstr_i4_even))
-+ ENDFUNC(GLOBAL(movstr_i4_odd))
-
- .p2align 4
- GLOBAL(movstrSI12_i4):
-@@ -827,12 +952,15 @@
- mov.l r1,@(4,r4)
- rts
- mov.l r2,@(8,r4)
-+
-+ ENDFUNC(GLOBAL(movstrSI12_i4))
- #endif
-
- #ifdef L_mulsi3
-
-
- .global GLOBAL(mulsi3)
-+ FUNC(GLOBAL(mulsi3))
-
- ! r4 = aabb
- ! r5 = ccdd
-@@ -865,7 +993,7 @@
- rts
- add r2,r0
-
--
-+ FUNC(GLOBAL(mulsi3))
- #endif
- #endif /* ! __SH5__ */
- #ifdef L_sdivsi3_i4
-@@ -875,6 +1003,7 @@
- !! args in r4 and r5, result in fpul, clobber dr0, dr2
-
- .global GLOBAL(sdivsi3_i4)
-+ FUNC(GLOBAL(sdivsi3_i4))
- GLOBAL(sdivsi3_i4):
- lds r4,fpul
- float fpul,dr0
-@@ -884,6 +1013,7 @@
- rts
- ftrc dr0,fpul
-
-+ ENDFUNC(GLOBAL(sdivsi3_i4))
- #elif defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__) || (defined (__SH5__) && ! defined __SH4_NOFPU__)
- !! args in r4 and r5, result in fpul, clobber r2, dr0, dr2
-
-@@ -892,6 +1022,7 @@
- .mode SHcompact
- #endif
- .global GLOBAL(sdivsi3_i4)
-+ FUNC(GLOBAL(sdivsi3_i4))
- GLOBAL(sdivsi3_i4):
- sts.l fpscr,@-r15
- mov #8,r2
-@@ -906,6 +1037,7 @@
- rts
- lds.l @r15+,fpscr
-
-+ ENDFUNC(GLOBAL(sdivsi3_i4))
- #endif /* ! __SH5__ || __SH5__ == 32 */
- #endif /* ! __SH4__ */
- #endif
-@@ -920,9 +1052,10 @@
- !!
- !!
-
--!! args in r4 and r5, result in r0 clobber r1,r2,r3
-+!! args in r4 and r5, result in r0 clobber r1, r2, r3, and t bit
-
- .global GLOBAL(sdivsi3)
-+ FUNC(GLOBAL(sdivsi3))
- #if __SHMEDIA__
- #if __SH5__ == 32
- .section .text..SHmedia32,"ax"
-@@ -1166,6 +1299,7 @@
- div0: rts
- mov #0,r0
-
-+ ENDFUNC(GLOBAL(sdivsi3))
- #endif /* ! __SHMEDIA__ */
- #endif /* ! __SH4__ */
- #endif
-@@ -1174,9 +1308,11 @@
- .title "SH DIVIDE"
- !! 4 byte integer Divide code for the Hitachi SH
- #ifdef __SH4__
--!! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4
-+!! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4,
-+!! and t bit
-
- .global GLOBAL(udivsi3_i4)
-+ FUNC(GLOBAL(udivsi3_i4))
- GLOBAL(udivsi3_i4):
- mov #1,r1
- cmp/hi r1,r5
-@@ -1217,11 +1353,13 @@
- L1:
- .double 2147483648
-
-+ ENDFUNC(GLOBAL(udivsi3_i4))
- #elif defined (__SH5__) && ! defined (__SH4_NOFPU__)
- #if ! __SH5__ || __SH5__ == 32
- !! args in r4 and r5, result in fpul, clobber r20, r21, dr0, fr33
- .mode SHmedia
- .global GLOBAL(udivsi3_i4)
-+ FUNC(GLOBAL(udivsi3_i4))
- GLOBAL(udivsi3_i4):
- addz.l r4,r63,r20
- addz.l r5,r63,r21
-@@ -1234,6 +1372,8 @@
- ftrc.dq dr0,dr32
- fmov.s fr33,fr32
- blink tr0,r63
-+
-+ ENDFUNC(GLOBAL(udivsi3_i4))
- #endif /* ! __SH5__ || __SH5__ == 32 */
- #elif defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__)
- !! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4
-@@ -1287,6 +1427,7 @@
- #endif
- .double 2147483648
-
-+ ENDFUNC(GLOBAL(udivsi3_i4))
- #endif /* ! __SH4__ */
- #endif
-
-@@ -1297,6 +1438,7 @@
-
- !! args in r4 and r5, result in r0, clobbers r4, pr, and t bit
- .global GLOBAL(udivsi3)
-+ FUNC(GLOBAL(udivsi3))
-
- #if __SHMEDIA__
- #if __SH5__ == 32
-@@ -1485,6 +1627,7 @@
- rts
- rotcl r0
-
-+ ENDFUNC(GLOBAL(udivsi3))
- #endif /* ! __SHMEDIA__ */
- #endif /* __SH4__ */
- #endif /* L_udivsi3 */
-@@ -1790,6 +1933,7 @@
- .mode SHcompact
- #endif
- .global GLOBAL(set_fpscr)
-+ FUNC(GLOBAL(set_fpscr))
- GLOBAL(set_fpscr):
- lds r4,fpscr
- mov.l LOCAL(set_fpscr_L1),r1
-@@ -1822,6 +1966,8 @@
- .align 2
- LOCAL(set_fpscr_L1):
- .long GLOBAL(fpscr_values)
-+
-+ ENDFUNC(GLOBAL(set_fpscr))
- #ifdef __ELF__
- .comm GLOBAL(fpscr_values),8,4
- #else
-@@ -1860,6 +2006,7 @@
- blink tr0, r63
- #elif defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
- .global GLOBAL(ic_invalidate)
-+ FUNC(GLOBAL(ic_invalidate))
- GLOBAL(ic_invalidate):
- ocbwb @r4
- mova 0f,r0
-@@ -1882,6 +2029,8 @@
- nop
- .endr
- .endr
-+
-+ ENDFUNC(GLOBAL(ic_invalidate))
- #endif /* SH4 */
- #endif /* L_ic_invalidate */
-
-@@ -1940,6 +2089,7 @@
- will be expanded into r2/r3 upon return. */
-
- .global GLOBAL(GCC_shcompact_call_trampoline)
-+ FUNC(GLOBAL(GCC_shcompact_call_trampoline))
- GLOBAL(GCC_shcompact_call_trampoline):
- ptabs/l r0, tr0 /* Prepare to call the actual function. */
- movi ((datalabel LOCAL(ct_main_table) - 31 * 2) >> 16) & 65535, r0
-@@ -2290,6 +2440,8 @@
- shari r2, 32, r2
- #endif
- blink tr0, r63
-+
-+ ENDFUNC(GLOBAL(GCC_shcompact_call_trampoline))
- #endif /* L_shcompact_call_trampoline */
-
- #ifdef L_shcompact_return_trampoline
-@@ -2302,6 +2454,7 @@
- .section .text..SHmedia32, "ax"
- .align 2
- .global GLOBAL(GCC_shcompact_return_trampoline)
-+ FUNC(GLOBAL(GCC_shcompact_return_trampoline))
- GLOBAL(GCC_shcompact_return_trampoline):
- ptabs/l r18, tr0
- #if __LITTLE_ENDIAN__
-@@ -2313,6 +2466,8 @@
- #endif
- or r3, r2, r2
- blink tr0, r63
-+
-+ ENDFUNC(GLOBAL(GCC_shcompact_return_trampoline))
- #endif /* L_shcompact_return_trampoline */
-
- #ifdef L_shcompact_incoming_args
-@@ -2367,6 +2522,7 @@
- actual bit pattern. */
-
- .global GLOBAL(GCC_shcompact_incoming_args)
-+ FUNC(GLOBAL(GCC_shcompact_incoming_args))
- GLOBAL(GCC_shcompact_incoming_args):
- ptabs/l r18, tr0 /* Prepare to return. */
- shlri r17, 32, r0 /* Load the cookie. */
-@@ -2519,6 +2675,7 @@
- LOCAL(ia_return): /* Return. */
- blink tr0, r63
- LOCAL(ia_end_of_push_seq): /* Label used to compute the first push instruction. */
-+ ENDFUNC(GLOBAL(GCC_shcompact_incoming_args))
- #endif /* L_shcompact_incoming_args */
- #endif
- #if __SH5__
-@@ -2530,6 +2687,7 @@
- #endif
- .align 3 /* It is copied in units of 8 bytes in SHmedia mode. */
- .global GLOBAL(GCC_nested_trampoline)
-+ FUNC(GLOBAL(GCC_nested_trampoline))
- GLOBAL(GCC_nested_trampoline):
- .mode SHmedia
- ptrel/u r63, tr0
-@@ -2546,6 +2704,8 @@
- ld.l r0, 28, r1
- #endif
- blink tr1, r63
-+
-+ ENDFUNC(GLOBAL(GCC_nested_trampoline))
- #endif /* L_nested_trampoline */
- #endif /* __SH5__ */
- #if __SH5__ == 32
-@@ -2555,6 +2715,7 @@
- .align 2
- #ifndef __SH4_NOFPU__
- .global GLOBAL(GCC_push_shmedia_regs)
-+ FUNC(GLOBAL(GCC_push_shmedia_regs))
- GLOBAL(GCC_push_shmedia_regs):
- addi.l r15, -14*8, r15
- fst.d r15, 13*8, dr62
-@@ -2573,6 +2734,7 @@
- fst.d r15, 0*8, dr36
- #endif
- .global GLOBAL(GCC_push_shmedia_regs_nofpu)
-+ FUNC(GLOBAL(GCC_push_shmedia_regs_nofpu))
- GLOBAL(GCC_push_shmedia_regs_nofpu):
- ptabs/l r18, tr0
- addi.l r15, -27*8, r15
-@@ -2608,8 +2770,13 @@
- st.q r15, 0*8, r28
- blink tr0, r63
-
-+#ifndef __SH4_NOFPU__
-+ ENDFUNC(GLOBAL(GCC_push_shmedia_regs))
-+#endif
-+ ENDFUNC(GLOBAL(GCC_push_shmedia_regs_nofpu))
- #ifndef __SH4_NOFPU__
- .global GLOBAL(GCC_pop_shmedia_regs)
-+ FUNC(GLOBAL(GCC_pop_shmedia_regs))
- GLOBAL(GCC_pop_shmedia_regs):
- pt .L0, tr1
- movi 41*8, r0
-@@ -2630,6 +2797,7 @@
- blink tr1, r63
- #endif
- .global GLOBAL(GCC_pop_shmedia_regs_nofpu)
-+ FUNC(GLOBAL(GCC_pop_shmedia_regs_nofpu))
- GLOBAL(GCC_pop_shmedia_regs_nofpu):
- movi 27*8, r0
- .L0:
-@@ -2666,5 +2834,10 @@
- ld.q r15, 0*8, r28
- add.l r15, r0, r15
- blink tr0, r63
-+
-+#ifndef __SH4_NOFPU__
-+ ENDFUNC(GLOBAL(GCC_pop_shmedia_regs))
-+#endif
-+ ENDFUNC(GLOBAL(GCC_pop_shmedia_regs_nofpu))
- #endif /* __SH5__ == 32 */
- #endif /* L_push_pop_shmedia_regs */
diff --git a/patches/gcc/3.3.2/sh-libgcc-hidden.patch b/patches/gcc/3.3.2/sh-libgcc-hidden.patch
deleted file mode 100644
index adccc0e..0000000
--- a/patches/gcc/3.3.2/sh-libgcc-hidden.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-[adjusted very slightly to apply to gcc-3.3.2 - dank]
-
-From: kaz Kojima <kkojima@rr.iij4u.or.jp>
-
-I've noticed one more problem about this issue. In the testcase given
-by ZhouChang, libdemo.so exports __movstr_i4_even which is a function
-in libgcc.a. This itself is not a problem but it means that some functions
-in libgcc.a which should not be exported from shared objects might be
-exported from shared libs
-
-Date: Wed, 19 Nov 2003 09:04:12 +0900 (JST)
-From: kaz Kojima <kkojima@rr.iij4u.or.jp>
-Subject: [linux-sh:03096] Re: [linux] Re: About tool chain in
- http://kegel.com/crosstool/
-To: dank@kegel.com
-Cc: zjuzhou@yahoo.com.cn, linux-sh@m17n.org, zhan_sh@yahoo.com.cn,
- crossgcc@sources.redhat.com
-Message-Id: <20031119.090412.85413542.kkojima@rr.iij4u.or.jp>
-
-Hi,
-
-Dan Kegel <dank@kegel.com> wrote:
-> I'll try that, thanks. I notice that the '.hidden' isn't in cvs yet.
-> I also notice you've been trying to get that into CVS for two years
-> now (http://gcc.gnu.org/ml/gcc-patches/2001-10/msg00053.html).
-> Time for another try? It'd be nice if gcc-3.4 (and maybe even gcc-3.3.3)
-> didn't need a patch for this.
-
-The situation is a bit complicated. sh-linux target doesn't make
-shared libgcc in gcc-3.3.x.
-OTOH, I withdrew that .hidden patch because gcc-3.3 has a general
-mechanism to make all libgcc functions .hidden. But I missed that
-that mechanism was conditionalized later so that it's done only
-when the target creates the shared libgcc.
-In 3.4, sh-linux target becomes to use the shared libgcc like as
-all other linux targets, so there is no problem.
-
-I inclined to backport 3.4 shared libgcc stuff to 3.3.3 rather
-than the old .hidden patch. How do you think about it?
-I'm happy if you or ZhouChang create a PR on gcc bugzilla about
-this issue.
-
-Regards,
- kaz
---
- This is a backport of 3.4 shared libgcc stuff to 3.3 branch.
- * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux.
- to tmake_file. * config/sh/libgcc-glibc.ver: New file.
- * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
- libgcc_s.so.
- (SHLIB_INSTALL): Likewise.
-
-diff -u3prN ORIG/gcc-3.3/gcc/config/sh/libgcc-glibc.ver gcc-3.3/gcc/config/sh/libgcc-glibc.ver
---- ORIG/gcc-3.3/gcc/config/sh/libgcc-glibc.ver Thu Jan 1 09:00:00 1970
-+++ gcc-3.3/gcc/config/sh/libgcc-glibc.ver Wed Nov 19 08:15:16 2003
-@@ -0,0 +1,21 @@
-+# In order to work around the very problems that force us to now generally
-+# create a libgcc.so, glibc reexported a number of routines from libgcc.a.
-+# By now choosing the same version tags for these specific routines, we
-+# maintain enough binary compatibility to allow future versions of glibc
-+# to defer implementation of these routines to libgcc.so via DT_AUXILIARY.
-+
-+# Note that we cannot use the default libgcc-glibc.ver file on sh,
-+# because GLIBC_2.0 does not exist on this architecture, as the first
-+# ever glibc release on the platform was GLIBC_2.2.
-+
-+%inherit GCC_3.0 GLIBC_2.2
-+GLIBC_2.2 {
-+ __register_frame
-+ __register_frame_table
-+ __deregister_frame
-+ __register_frame_info
-+ __deregister_frame_info
-+ __frame_state_for
-+ __register_frame_info_table
-+}
-+
-diff -u3prN ORIG/gcc-3.3/gcc/config/sh/t-linux gcc-3.3/gcc/config/sh/t-linux
---- ORIG/gcc-3.3/gcc/config/sh/t-linux Fri Jun 6 11:07:14 2003
-+++ gcc-3.3/gcc/config/sh/t-linux Wed Nov 19 08:09:26 2003
-@@ -12,3 +12,27 @@ MULTILIB_MATCHES =
- MULTILIB_EXCEPTIONS=
-
- EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o
-+
-+# Override t-slibgcc-elf-ver to export some libgcc symbols with
-+# the symbol versions that glibc used.
-+SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/sh/libgcc-glibc.ver
-+
-+# Override SHLIB_LINK and SHLIB_INSTALL to use linker script
-+# libgcc_s.so.
-+SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
-+ -Wl,--soname=$(SHLIB_SONAME) \
-+ -Wl,--version-script=$(SHLIB_MAP) \
-+ -o $(SHLIB_NAME) @multilib_flags@ $(SHLIB_OBJS) $(SHLIB_LC) && \
-+ rm -f $(SHLIB_SOLINK) && \
-+ (echo "/* GNU ld script"; \
-+ echo " Use the shared library, but some functions are only in"; \
-+ echo " the static library. */"; \
-+ echo "GROUP ( $(SHLIB_SONAME) libgcc.a )" \
-+ ) > $(SHLIB_SOLINK)
-+SHLIB_INSTALL = \
-+ $$(SHELL) $$(srcdir)/mkinstalldirs $$(slibdir)$(SHLIB_SLIBDIR_QUAL); \
-+ $(INSTALL_DATA) $(SHLIB_NAME) \
-+ $$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SONAME); \
-+ rm -f $$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK); \
-+ $(INSTALL_DATA) $(SHLIB_SOLINK) \
-+ $$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
-diff -u3prN ORIG/gcc-3.3/gcc/config.gcc gcc-3.3/gcc/config.gcc
---- ORIG/gcc-3.3/gcc/config.gcc Sat Aug 9 07:19:07 2003
-+++ gcc-3.3/gcc/config.gcc Wed Nov 19 08:07:53 2003
-@@ -2308,7 +2308,7 @@ sh-*-rtems*)
- fi
- ;;
- sh-*-linux* | sh[2346lbe]*-*-linux*)
-- tmake_file="sh/t-sh sh/t-elf"
-+ tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver t-linux"
- case $machine in
- sh*be-*-* | sh*eb-*-*) ;;
- *)
-
-
diff --git a/patches/gcc/3.3.2/sh-pic-set_fpscr-gcc-3.3.2.patch b/patches/gcc/3.3.2/sh-pic-set_fpscr-gcc-3.3.2.patch
deleted file mode 100644
index 2a9d592..0000000
--- a/patches/gcc/3.3.2/sh-pic-set_fpscr-gcc-3.3.2.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-See http://gcc.gnu.org/PR11901
-Should fix
-make[2]: *** [/gcc-3.3-glibc-2.3.2/build-glibc/elf/check-textrel.out] Error 1
-in glibc's "make tests".
-
-Note: this patch is named
-sh-pic-set_fpscr-gcc-3.3.2.patch
-and must be applied after
-sh-lib1funcs_sizeAndType.patch
-but that'll happen naturally if you apply them in alphabetical order.
-
--------------
-
-Date: Wed, 30 Jul 2003 12:03:01 +0900
-From: kaz Kojima <kkojima@rr.iij4u.or.jp>
-Subject: [linux-sh:02916] Re: Writing PIC version of __udivsi3_i4? (was: Re: "make tests" fails
- with "libc.so: text relocations used" in glibc-2.3.2 for sh4)
-To: dank@kegel.com
-Cc: linux-sh@m17n.org
-Message-Id: <200307300255.h6U2tB906928@r-rr.iij4u.or.jp>
-
-> I'll try to write the PIC version of it,
-
-Dan, does the attached patch work for you?
-
-Regards,
- kaz
---
-diff -u3prN ORIG/gcc/gcc/config/sh/lib1funcs.asm LOCAL/gcc/gcc/config/sh/lib1funcs.asm
---- ORIG/gcc/gcc/config/sh/lib1funcs.asm Thu Jun 19 07:38:59 2003
-+++ gcc-3.3.2/gcc/config/sh/lib1funcs.asm Wed Jul 30 11:08:49 2003
-@@ -1936,7 +1944,17 @@ GLOBAL(moddi3):
- FUNC(GLOBAL(set_fpscr))
- GLOBAL(set_fpscr):
- lds r4,fpscr
-+#ifdef __PIC__
-+ mov.l r12,@-r15
-+ mova LOCAL(set_fpscr_L0),r0
-+ mov.l LOCAL(set_fpscr_L0),r12
-+ add r0,r12
-+ mov.l LOCAL(set_fpscr_L1),r0
-+ mov.l @(r0,r12),r1
-+ mov.l @r15+,r12
-+#else
- mov.l LOCAL(set_fpscr_L1),r1
-+#endif
- swap.w r4,r0
- or #24,r0
- #ifndef FMOVD_WORKS
-@@ -1964,8 +1982,15 @@ GLOBAL(set_fpscr):
- mov.l r3,@(4,r1)
- #endif
- .align 2
-+#ifdef __PIC__
-+LOCAL(set_fpscr_L0):
-+ .long _GLOBAL_OFFSET_TABLE_
-+LOCAL(set_fpscr_L1):
-+ .long GLOBAL(fpscr_values@GOT)
-+#else
- LOCAL(set_fpscr_L1):
- .long GLOBAL(fpscr_values)
-+#endif
-
- ENDFUNC(GLOBAL(set_fpscr))
- #ifndef NO_FPSCR_VALUES
-
-
diff --git a/patches/gcc/3.3.2/thunk3.patch b/patches/gcc/3.3.2/thunk3.patch
deleted file mode 100644
index 7974a0c..0000000
--- a/patches/gcc/3.3.2/thunk3.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Fixes
-FAIL: g++.jason/thunk3.C (test for excess errors)
-on sh4-unknown-linux-gnu.
-
-Does any sh variant *not* use the generic thunk support? If so, the patch should be
-more cautious. As it is, it excludes all sh processors from this test.
-
-Index: thunk3.C
-===================================================================
-RCS file: /cvsroot/gcc/gcc/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C,v
-retrieving revision 1.13
-diff -u -d -u -r1.13 thunk3.C
---- gcc-ss-3_3-20030714/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C.old 25 Mar 2002 17:57:03 -0000 1.13
-+++ gcc-ss-3_3-20030714/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C 20 Jul 2003 16:57:38 -0000
-@@ -2,7 +2,7 @@
- // Note that this will break on any target that uses the generic thunk
- // support, because it doesn't support variadic functions.
-
--// excess errors test - XFAIL mips*-*-* rs6000-*-* powerpc-*-eabi m68k-*-coff m68k-motorola-sysv m88k-motorola-sysv3 mn10300-*-* mn10200-*-* v850-*-* sh-*-* sh64-*-* h8*-*-* xtensa-*-*
-+// excess errors test - XFAIL mips*-*-* rs6000-*-* powerpc-*-eabi m68k-*-coff m68k-motorola-sysv m88k-motorola-sysv3 mn10300-*-* mn10200-*-* v850-*-* sh*-*-* h8*-*-* xtensa-*-*
-
- #include <stdarg.h>
-
diff --git a/patches/gcc/3.3.3/config.sub.patch b/patches/gcc/3.3.3/config.sub.patch
deleted file mode 100644
index 928f911..0000000
--- a/patches/gcc/3.3.3/config.sub.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-When configuring a s390->s390 or cris->cris crosscompiler
-(ok, I haven't hit this yet, but one of these days I'll get me an account
-on an s390, and then I'll need this patch :-), you'll get the
-following error:
-
-+ /build/s390-unknown-linux-gnu/gcc-3.3-glibc-2.3.2/gcc-3.3/configure
---target=s390-unknown-linux-gnu --host=s390-host_unknown-linux-gnu
---prefix=/result/s390-unknown-linux-gnu/gcc-3.3-glibc-2.3.2
---enable-languages=c
---with-local-prefix=/result/s390-unknown-linux-gnu/gcc-3.3-glibc-2.3.2/s390-
-unknown-linux-gnu --enable-threads=no --without-headers --with-newlib
---disable-shared
-...
-*** --with-headers is only supported when cross compiling
-
-This error pops up only when you're using Daniel Jacobowitz's technique
-of slightly changing the target and host tuples to make them different
-enough to force gcc's build system to not try to pull in system libraries
-or headers. This technique is needed e.g. to build an x86 -> x86
-cross-compiler.
-(The LFS developers ran into the same bug that prompted me to use
-this technique; they point people who run into it to
-http://linuxfromscratch.org/~greg/pure_lfs.txt, which is a different
-way of avoiding this problem. I think the tuple tweak is the way to go, though.)
-
-config-patches@gnu.org rejected this patch, on the grounds that there
-is only one vendor of each of those two architectures, so the
-canonicalization is by definition correct. When I pointed out the
-difficulty this causes for people building s390 -> s390 or
-cris -> cris compilers that are incompatible with the system
-libraries and thus must be built like cross-compilers, he grumped and said
-"autoconf should let you specify a cross-compiler in some other way than
-comparing tuple strings".
-
-
-
---- gcc-3.3/config.sub.old Sun Jun 8 20:38:47 2003
-+++ gcc-3.3/config.sub Sun Jun 8 20:40:34 2003
-@@ -433,9 +433,12 @@
- crds | unos)
- basic_machine=m68k-crds
- ;;
-- cris | cris-* | etrax*)
-+ cris | etrax*)
- basic_machine=cris-axis
- ;;
-+ cris-*)
-+ basic_machine=cris-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
-@@ -820,11 +823,17 @@
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
-- s390 | s390-*)
-+ s390)
- basic_machine=s390-ibm
- ;;
-- s390x | s390x-*)
-+ s390-*)
-+ basic_machine=s390-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ s390x)
- basic_machine=s390x-ibm
-+ ;;
-+ s390x-*)
-+ basic_machine=s390x-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- sa29200)
- basic_machine=a29k-amd
diff --git a/patches/gcc/3.3.3/empty6.patch b/patches/gcc/3.3.3/empty6.patch
deleted file mode 100644
index 1b0715c..0000000
--- a/patches/gcc/3.3.3/empty6.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 3.4 branch. Fixes test failure
-FAIL: g++.dg/abi/empty6.C (test for warnings, line 6)
-
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/testsuite/g++.dg/abi/empty6.C,v
-retrieving revision 1.1
-retrieving revision 1.2
-diff -u -r1.1 -r1.2
---- gcc/gcc/testsuite/g++.dg/abi/empty6.C 2002/09/25 19:07:35 1.1
-+++ gcc/gcc/testsuite/g++.dg/abi/empty6.C 2003/06/03 19:10:09 1.2
-@@ -5,4 +5,9 @@
- struct B {
- A a; // { dg-warning "empty" }
- virtual void f () {}
--};
-+} __attribute__((aligned(8)));
-+/* The preceding attribute is necessary on targets with
-+ BIGGEST_ALIGNMENT <= 32 to trigger the warning, as otherwise a 32 bit
-+ offset is split into DECL_FIELD_OFFSET 4 and DECL_FIELD_BIT_OFFSET 0,
-+ and then there is no discrepancy between DECL_FIELD_OFFSET and
-+ byte_position to warn about. */
diff --git a/patches/gcc/3.3.3/gcc-3.3.2-arm-bigendian.patch b/patches/gcc/3.3.3/gcc-3.3.2-arm-bigendian.patch
deleted file mode 100644
index 9ec6c53..0000000
--- a/patches/gcc/3.3.3/gcc-3.3.2-arm-bigendian.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-By Lennert Buytenhek <buytenh@wantstofly.org>
-Adds support for arm*b-linux* big-endian ARM targets
-
-See http://gcc.gnu.org/PR16350
-
-diff -urN gcc-3.3.2.orig/gcc/config/arm/linux-elf.h gcc-3.3.2/gcc/config/arm/linux-elf.h
---- gcc-3.3.2.orig/gcc/config/arm/linux-elf.h 2003-09-16 17:39:23.000000000 +0200
-+++ gcc-3.3.2/gcc/config/arm/linux-elf.h 2004-07-07 14:03:54.329839922 +0200
-@@ -30,15 +30,29 @@
- /* Do not assume anything about header files. */
- #define NO_IMPLICIT_EXTERN_C
-
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
-+#define TARGET_ENDIAN_OPTION "mbig-endian"
-+#define TARGET_LINKER_EMULATION "armelfb_linux"
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#define TARGET_ENDIAN_OPTION "mlittle-endian"
-+#define TARGET_LINKER_EMULATION "armelf_linux"
-+#endif
-+
- /* Default is to use APCS-32 mode. */
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
-+#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS | TARGET_ENDIAN_DEFAULT)
-
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
-+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
-
- #undef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-
- #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
-
-@@ -86,7 +100,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
- -X \
-- %{mbig-endian:-EB}" \
-+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
- SUBTARGET_EXTRA_LINK_SPEC
-
- #define TARGET_OS_CPP_BUILTINS() \
-diff -urN gcc-3.3.2.orig/gcc/config.gcc gcc-3.3.2/gcc/config.gcc
---- gcc-3.3.2.orig/gcc/config.gcc 2003-10-01 21:07:01.000000000 +0200
-+++ gcc-3.3.2/gcc/config.gcc 2004-07-07 14:04:59.046716638 +0200
-@@ -699,6 +699,11 @@
- ;;
- arm*-*-linux*) # ARM GNU/Linux with ELF
- tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/linux-gas.h arm/linux-elf.h"
-+ case $machine in
-+ arm*b-*)
-+ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
-+ ;;
-+ esac
- tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
- extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- gnu_ld=yes
diff --git a/patches/gcc/3.3.3/gcc-3.3.3-trap-posix.patch b/patches/gcc/3.3.3/gcc-3.3.3-trap-posix.patch
deleted file mode 100644
index 437c2a1..0000000
--- a/patches/gcc/3.3.3/gcc-3.3.3-trap-posix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# Submitted-By: Marc Kleine-Budde <mkl@pengutronix.de>, 2005-04-20
-#
-# Error:
-#
-# creating libintl.h
-# Configuring etc...
-# loading cache ../config.cache
-# checking for a BSD compatible install... (cached) /usr/bin/install -c
-# creating ./config.status
-# creating Makefile
-# trap: usage: trap [-lp] [[arg] signal_spec ...]
-#
-# Description:
-#
-# non-posix conform usage of trap causes bash >= 3.0 to fail
-# e.g.: http://sourceware.org/ml/crossgcc/2004-12/msg00132.html
-#
-# Status:
-#
-# fixed in gcc >= 3.3.5
-# backport of gcc-3.3.5 fix
-#
-diff -ruN gcc-3.3.3-orig/configure gcc-3.3.3/configure
---- gcc-3.3.3-orig/configure 2002-09-29 18:11:24.000000000 +0200
-+++ gcc-3.3.3/configure 2005-04-20 21:03:51.000000000 +0200
-@@ -697,7 +697,7 @@
- if test -f skip-this-dir; then
- # Perform the same cleanup as the trap handler, minus the "exit 1" of course,
- # and reset the trap handler.
-- trap 0
-+ trap '' 0
- rm -rf Makefile* ${tmpdir}
- # Execute the final clean-up actions
- ${config_shell} skip-this-dir
-@@ -1596,7 +1596,7 @@
- # Perform the same cleanup as the trap handler, minus the "exit 1" of course,
- # and reset the trap handler.
- rm -rf ${tmpdir}
--trap 0
-+trap '' 0
-
- exit 0
-
diff --git a/patches/gcc/3.3.3/pr10392-1-test.patch b/patches/gcc/3.3.3/pr10392-1-test.patch
deleted file mode 100644
index e94c8b9..0000000
--- a/patches/gcc/3.3.3/pr10392-1-test.patch
+++ /dev/null
@@ -1,65 +0,0 @@
---- /dev/null Sat Dec 14 13:56:51 2002
-+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr10392-1.c Sun Sep 14 14:28:24 2003
-@@ -0,0 +1,62 @@
-+/* PR optimization/10392
-+ * Reporter: marcus@mc.pp.se
-+ * Summary: [3.3/3.4 regression] [SH] optimizer generates faulty array indexing
-+ * Description:
-+ * The address calculation of an index operation on an array on the stack
-+ * can _under some conditions_ get messed up completely
-+ *
-+ * Testcase tweaked by dank@kegel.com
-+ * Problem only happens with -O2 -m4, so it should only happen on sh4,
-+ * but what the heck, let's test other architectures, too.
-+ * Not marked as xfail since it's a regression.
-+*/
-+/* { dg-do run } */
-+/* { dg-options "-O2" } */
-+/* { dg-options "-O2 -m4" { target sh4-*-* } } */
-+const char *dont_optimize_function_away;
-+
-+const char *use(const char *str)
-+{
-+ dont_optimize_function_away = str;
-+ if (str[0] != 'v')
-+ abort();
-+ if (str[1] < '1' || str[1] > '6')
-+ abort();
-+ if (str[2])
-+ abort();
-+ return str[2] ? "notused" : "v6";
-+}
-+
-+const char *func(char *a, char *b)
-+{
-+ char buf[128];
-+ unsigned char i;
-+ const char *result;
-+
-+ char *item[] = {
-+ "v1",
-+ "v2",
-+ };
-+
-+ buf[0] = 'v';
-+ buf[1] = '3';
-+ buf[2] = 0;
-+
-+ for (i = 0; i < 2; i++) {
-+ /* bug is: following line passes wild pointer to use() on sh4 -O2 */
-+ result = use(item[i]);
-+
-+ use(buf);
-+ use(a);
-+ use(b);
-+ result = use(result);
-+ }
-+ return result;
-+}
-+
-+int main()
-+{
-+ func("v4", "v5");
-+ return 0;
-+}
-+
diff --git a/patches/gcc/3.3.3/pr10412-1-test.patch b/patches/gcc/3.3.3/pr10412-1-test.patch
deleted file mode 100644
index 6ca0525..0000000
--- a/patches/gcc/3.3.3/pr10412-1-test.patch
+++ /dev/null
@@ -1,46 +0,0 @@
---- /dev/null Sat Dec 14 13:56:51 2002
-+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr10412-1.c Sun Sep 14 16:15:21 2003
-@@ -0,0 +1,43 @@
-+/* PR target/10412
-+ * Reporter: shrinivasa@kpitcummins.com
-+ * Summary: Renesas SH - Incorrect code generation
-+ * Description:
-+ * When following code is compiled with
-+ * sh-elf-gcc -S -mhitachi -m2 -O2 bug1.c
-+ * generates an incorrect code.
-+ *
-+ * Testcase tweaked by dank@kegel.com
-+ * Problem only happens with -mhitachi -m2. Not sure if I can give those
-+ * options for all sh targets. They work on sh4, though.
-+ * Not marked as xfail as it's a regression relative to hardhat 2.0 gcc-2.97.
-+*/
-+/* { dg-do run } */
-+/* { dg-options "-O2" } */
-+int global_val;
-+
-+int func0(int x)
-+{
-+ global_val += x;
-+ return (x != 99);
-+}
-+
-+int func1(unsigned long addr)
-+{
-+ int err;
-+
-+ err = func0(addr);
-+ if (err)
-+ return (err);
-+
-+ err = func0(addr * 7); /* address of func0 is lost during multiplication -> probable SIGSEGV */
-+ return (err);
-+}
-+
-+int main(int argc, char **argv)
-+{
-+ global_val = 0;
-+ global_val += func1(99);
-+ if (global_val != 99 * 8 + 1)
-+ abort();
-+ return 0;
-+}
diff --git a/patches/gcc/3.3.3/pr10589-1-test.patch b/patches/gcc/3.3.3/pr10589-1-test.patch
deleted file mode 100644
index 04882e5..0000000
--- a/patches/gcc/3.3.3/pr10589-1-test.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- /dev/null Sat Dec 14 13:56:51 2002
-+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr10589-1.c Mon Sep 15 08:57:58 2003
-@@ -0,0 +1,14 @@
-+/* PR target/10589
-+ * Reporter: mathieu@thenesis.com
-+ * Summary: For Hitachi SH target, GCC crashes when both -fomit-frame-pointer and -mdalign options are specified
-+ * Keywords: ice-on-valid-code
-+ * Testcase by Kazu Hirata, tweaked by dank@kegel.com
-+ * Did not fail in Hard Hat 2.0 gcc-2.97, nor in dodes gcc-3.0.2, so this is a regression, so I'm not marking it xfail
-+ */
-+/* { dg-do compile { target sh*-*-* } } */
-+/* { dg-options "-fomit-frame-pointer -mdalign" } */
-+
-+int foo(int a, int b)
-+{
-+ return a / b;
-+}
diff --git a/patches/gcc/3.3.3/pr11162-1-test.patch b/patches/gcc/3.3.3/pr11162-1-test.patch
deleted file mode 100644
index 9ab0d32..0000000
--- a/patches/gcc/3.3.3/pr11162-1-test.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- /dev/null Sat Dec 14 13:56:51 2002
-+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr11162-1.c Sun Sep 14 16:24:41 2003
-@@ -0,0 +1,22 @@
-+/*
-+ * PR optimization/11162
-+ * Reporter: Toshiyasu Morita <tm@kloo.net>
-+ * Summary: [3.4 Regression] [-fnew-ra] ICE compiling channel.i on sh
-+ * Keywords: ice-on-valid-code
-+ * Description:
-+ * [ICE] when channel.i from stress-1.17 is compiled with options:
-+ * -O2 -m4 -fnew-ra
-+ * ...
-+ * The CFG code gets confused by the addition of a USE insn after a sibcall.
-+ * Sibcalls are supposed to end the block (and the function!), so the fact
-+ * that we have an instruction following one (even if its fake) is confusing.
-+ *
-+ * testcase tweaked by dank@kegel.com
-+ */
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -fnew-ra" } */
-+
-+int foo(char *p1)
-+{
-+ return bar(p1);
-+}
diff --git a/patches/gcc/3.3.3/pr11587-1-test.patch b/patches/gcc/3.3.3/pr11587-1-test.patch
deleted file mode 100644
index f6dedde..0000000
--- a/patches/gcc/3.3.3/pr11587-1-test.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- /dev/null Sat Dec 14 13:56:51 2002
-+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr11587-1.c Mon Sep 15 08:46:00 2003
-@@ -0,0 +1,36 @@
-+/* PR optimization/11587
-+ * Reporter: Michael Eager <eager@mvista.com>
-+ * Summary: [3.3/3.4 Regression] SH ICE in reload_cse_simplify_operand, postreload.c
-+ * Keywords: ice-on-valid-code
-+ *
-+ * Note: a fix exists; see bugzilla
-+ *
-+ * Testcase tweaked by dank@kegel.com
-+ * Not marked as xfail since it's a regression.
-+ */
-+
-+/* { dg-do compile } */
-+/* { dg-options "-O1" } */
-+int foo1(void);
-+int foo2();
-+int foo3();
-+
-+static int goo()
-+{
-+ int i;
-+
-+ if (i <= 0)
-+ return i;
-+
-+ if (foo1() > 1) {
-+ i = foo2();
-+ if (i < 0)
-+ return i;
-+ if (i) {
-+ if (foo3())
-+ return 1;
-+ return 0;
-+ }
-+ }
-+
-+}
diff --git a/patches/gcc/3.3.3/pr11608.patch b/patches/gcc/3.3.3/pr11608.patch
deleted file mode 100644
index b45959c..0000000
--- a/patches/gcc/3.3.3/pr11608.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-# See http://gcc.gnu.org/PR11608
-# Fixes following error when testing sh4 toolchain:
-#
-# Testing debug/20020327-1.c, -gstabs1
-# ...
-# FAIL: gcc.dg/debug/20020327-1.c (test for excess errors)
-# Excess errors:
-# /tmp/cc8dFF7Y.s: Assembler messages:
-# /tmp/cc8dFF7Y.s:66: Error: symbol `Letext' is already defined
-
-Index: elf.h
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/config/sh/elf.h,v
-retrieving revision 1.32
-diff -u -p -r1.32 elf.h
---- gcc/gcc/config/sh/elf.h.old 27 Sep 2003 04:48:28 -0000 1.32
-+++ gcc/gcc/config/sh/elf.h 2 Jan 2004 07:23:23 -0000
-@@ -95,7 +95,7 @@ while (0)
- #define DBX_OUTPUT_MAIN_SOURCE_FILE_END(FILE, FILENAME) \
- do { \
- text_section (); \
-- fprintf ((FILE), "\t.stabs \"\",%d,0,0,Letext\nLetext:\n", N_SO); \
-+ asm_fprintf ((FILE), "\t.stabs \"\",%d,0,0,%LLetext\n%LLetext:\n", N_SO); \
- } while (0)
-
- #undef STARTFILE_SPEC
diff --git a/patches/gcc/3.3.3/pr11736-1-test.patch b/patches/gcc/3.3.3/pr11736-1-test.patch
deleted file mode 100644
index ea544b1..0000000
--- a/patches/gcc/3.3.3/pr11736-1-test.patch
+++ /dev/null
@@ -1,48 +0,0 @@
---- /dev/null Sat Dec 14 13:56:51 2002
-+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr11736-1.c Sun Sep 14 14:26:33 2003
-@@ -0,0 +1,45 @@
-+/* PR optimization/11736
-+ * Reporter: marcus@mc.pp.se
-+ * Summary: Stackpointer messed up on SuperH
-+ * Keywords: wrong-code
-+ * Description:
-+ * When a function with 5 arguments is called in both branches of a
-+ * conditional, and only the last argument differs, the code to push that
-+ * last argument on the stack gets confused.
-+ * Space for the fifth argument is reserved on the stack by the
-+ * instruction I have marked as "A". However, if the else-branch is
-+ * taken the stackpointer is decremented _again_ at "B". This
-+ * decrementation is never restored, and it is only due to the
-+ * restoration of r15 from r14 that the function works at all. With
-+ * -fomit-frame-pointer it will crash.
-+ *
-+ * Testcase tweaked by dank@kegel.com
-+ * Not marked as xfail since it's a regression from hardhat 2.0 gcc-2.97
-+ * and dodes gcc-3.0.2
-+ */
-+
-+/* { dg-do run } */
-+/* { dg-options "-O1 -fomit-frame-pointer" } */
-+
-+int expected_e;
-+
-+void bar(int a, int b, int c, int d, int e)
-+{
-+ if (e != expected_e)
-+ abort();
-+}
-+
-+void foo(int a)
-+{
-+ if (a)
-+ bar(0, 0, 0, 0, 1);
-+ else
-+ bar(0, 0, 0, 0, 0); /* stack pointer decremented extra time here, causing segfault */
-+}
-+
-+int main(int argc, char **argv)
-+{
-+ for (expected_e = 0; expected_e < 2; expected_e++)
-+ foo(expected_e);
-+ return 0;
-+}
diff --git a/patches/gcc/3.3.3/pr11864-1-test.patch b/patches/gcc/3.3.3/pr11864-1-test.patch
deleted file mode 100644
index f5b0d17..0000000
--- a/patches/gcc/3.3.3/pr11864-1-test.patch
+++ /dev/null
@@ -1,45 +0,0 @@
---- /dev/null Sat Dec 14 13:56:51 2002
-+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr11864-1.c Sun Sep 14 14:32:24 2003
-@@ -0,0 +1,42 @@
-+/* PR optimization/11864
-+ * Reporter: Kazumoto Kojima <kkojima@gcc.gnu.org>
-+ * Summary: [3.3/3.4 regression] miscompiles zero extension and test
-+ * Description:
-+ * gcc-3.3/3.4 -O2 for sh target may miscompile the combination of zero extension
-+ * and test if it's zero.
-+ *
-+ * Testcase tweaked by dank@kegel.com. Not marked as xfail because it's a regression.
-+ */
-+/* { dg-do run } */
-+/* { dg-options "-O2" } */
-+
-+extern void abort(void);
-+
-+int val = 0xff00;
-+
-+int f(void)
-+{
-+ return val;
-+}
-+
-+unsigned char a[1];
-+
-+void foo(void)
-+{
-+ a[0] = f() & 255;
-+
-+ if (!a[0])
-+ a[0] = f() & 255;
-+
-+ if (!a[0])
-+ a[0] = 1 + (f() & 127);
-+}
-+
-+int main(int argc, char **argv)
-+{
-+ foo();
-+ if (!a[0])
-+ abort();
-+
-+ return 0;
-+}
diff --git a/patches/gcc/3.3.3/pr12009.patch b/patches/gcc/3.3.3/pr12009.patch
deleted file mode 100644
index cb294d5..0000000
--- a/patches/gcc/3.3.3/pr12009.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-See http://gcc.gnu.org/PR12009
-
-Fixes the following problems when testing a cross-compiler:
-
-============================================
-Testing g++.dg/compat/abi/bitfield1,
-...
-Invoking the compiler as /crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-gli
-bc-2.2.5/build-gcc/gcc/testsuite/../g++ ...
-/crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/gcc-3.3/gcc/test
-suite/g++.dg/compat/abi/bitfield1_main.C
-pid is 16028 -16028
-compiler exited with status 1
-output is:
-sh: error while loading shared libraries: /opt/cegl-2.0/powerpc-750-linux-gnu/gc
-c-3.3-glibc-2.2.5/powerpc-750-linux-gnu/./lib/libdl.so.2: ELF file data encoding
- not little-endian
-/crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/build-gcc/gcc/te
-stsuite/../g++: error while loading shared libraries: /opt/cegl-2.0/powerpc-750-
-linux-gnu/gcc-3.3-glibc-2.2.5/powerpc-750-linux-gnu/./lib/libc.so.6: ELF file da
-ta encoding not little-endian
-
-FAIL: g++.dg/compat/abi/bitfield1 main_tst.o compile
-============================================
-
-and
-
-sh: error while loading shared libraries: /opt/cegl-2.0/powerpc-405-linux-gnu/gcc-3.2.3-glibc-2.2.5/powerpc-405-linux-gnu/./lib/libdl.so.2: ELF file data encoding not little-endian
-
-
-
---- gcc-3.3/gcc/testsuite/g++.dg/compat/compat.exp.old Thu Oct 17 17:22:57 2002
-+++ gcc-3.3/gcc/testsuite/g++.dg/compat/compat.exp Mon Jul 14 10:59:19 2003
-@@ -42,11 +42,13 @@
- proc compat-fix-library-path { } {
- global ld_library_path
-
-- # See comments in lib/g++.exp for why this is needed.
-- setenv LD_LIBRARY_PATH $ld_library_path
-- setenv SHLIB_PATH $ld_library_path
-- setenv LD_LIBRARYN32_PATH $ld_library_path
-- setenv LD_LIBRARY64_PATH $ld_library_path
-+ if {![is_remote target]} {
-+ # See comments in lib/g++.exp for why this is needed.
-+ setenv LD_LIBRARY_PATH $ld_library_path
-+ setenv SHLIB_PATH $ld_library_path
-+ setenv LD_LIBRARYN32_PATH $ld_library_path
-+ setenv LD_LIBRARY64_PATH $ld_library_path
-+ }
- }
-
- #
---- gcc-3.4-20030813/gcc/testsuite/lib/g++.exp.orig Tue Jun 17 18:56:45 2003
-+++ gcc-3.4-20030813/gcc/testsuite/lib/g++.exp Sun Aug 17 18:35:38 2003
-@@ -166,16 +182,20 @@
- }
- }
-
-- # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
-- # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
-- # (for the 64-bit ABI). The right way to do this would be to modify
-- # unix.exp -- but that's not an option since it's part of DejaGNU
-- # proper, so we do it here. We really only need to do
-- # this on IRIX, but it shouldn't hurt to do it anywhere else.
-- setenv LD_LIBRARY_PATH $ld_library_path
-- setenv SHLIB_PATH $ld_library_path
-- setenv LD_LIBRARYN32_PATH $ld_library_path
-- setenv LD_LIBRARY64_PATH $ld_library_path
-+ if {![is_remote target]} {
-+ # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
-+ # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
-+ # (for the 64-bit ABI). The right way to do this would be to modify
-+ # unix.exp -- but that's not an option since it's part of DejaGNU
-+ # proper, so we do it here. We really only need to do
-+ # this on IRIX, but it shouldn't hurt to do it anywhere else.
-+
-+ # Doing this causes us to be unable to run cross-compilers.
-+ setenv LD_LIBRARY_PATH $ld_library_path
-+ setenv SHLIB_PATH $ld_library_path
-+ setenv LD_LIBRARYN32_PATH $ld_library_path
-+ setenv LD_LIBRARY64_PATH $ld_library_path
-+ }
-
- return "$flags"
- }
diff --git a/patches/gcc/3.3.3/pr12010.patch b/patches/gcc/3.3.3/pr12010.patch
deleted file mode 100644
index bb7f171..0000000
--- a/patches/gcc/3.3.3/pr12010.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-Adjusted for gcc-3.3-20040119
-
-See http://gcc.gnu.org/PR12010
-
-Without this patch, one gets both compile and link time errors in
-'make check' when configured for cross-compiling.
-
-In particular, 'make check' on a cross-compiler fails with
-
-/testsuite_flags: /testsuite_flags: No such file or directory
- while executing
-"exec sh ${odir_v3}/testsuite_flags --build-includes"
- (procedure "g++_include_flags" line 21)
- invoked from within
-"g++_include_flags [get_multilibs] "
- (procedure "g++_init" line 63)
- invoked from within
-"${tool}_init $test_file_name"
- (procedure "runtest" line 19)
-...
-make[1]: [check-g++] Error 1 (ignored)
-
---- gcc-3.3-20040119/gcc/testsuite/lib/g++.exp.orig 2004-01-25 17:56:24.000000000 -0800
-+++ gcc-3.3-20040119/gcc/testsuite/lib/g++.exp 2004-01-25 18:29:44.000000000 -0800
-@@ -72,6 +72,8 @@ proc g++_version { } {
- #
- proc g++_include_flags { paths } {
- global srcdir
-+ global objdir
-+ global target_triplet
- global HAVE_LIBSTDCXX_V3
- global TESTING_IN_BUILD_TREE
-
-@@ -90,6 +92,20 @@ proc g++_include_flags { paths } {
-
- if { ${HAVE_LIBSTDCXX_V3} } {
- set odir_v3 [lookfor_file ${gccpath} libstdc++-v3]
-+ if { $odir_v3 == "" } {
-+ verbose "g++_include_flags: couldn't find libstdc++-v3 on first try, now looking in build directory $objdir"
-+ # first assume no multilibs
-+ set odir_v3 [lookfor_file ${objdir} "$target_triplet/libstdc++-v3"]
-+ }
-+ if { $odir_v3 == "" } {
-+ verbose "g++_include_flags: couldn't find libstdc++-v3 on second try, trying multilib"
-+ # assume multilib only one level deep
-+ set multisub [file tail $gccpath]
-+ set odir_v3 [lookfor_file ${objdir} "$target_triplet/$multisub/libstdc++-v3"]
-+ }
-+ if { $odir_v3 == "" } {
-+ error "Can't find libstdc++-v3"
-+ }
- append flags [exec sh ${odir_v3}/testsuite_flags --build-includes]
- } else {
- set odir_v2 [lookfor_file ${gccpath} libstdc++]
-
---- gcc-3.3-20040119/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp.old Sun Jul 13 10:42:01 2003
-+++ gcc-3.3-20040119/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp Sun Jul 13 11:39:54 2003
-@@ -48,8 +48,23 @@
- global ld_library_path
- global original_ld_library_path
- global tool_root_dir
-+ global target_triplet
-
- set blddir [lookfor_file [get_multilibs] libstdc++-v3]
-+ if { $blddir == "" } {
-+ set multilibs [get_multilibs]
-+ # FIXME: assume multilib only one level deep
-+ set multisub [file tail $multilibs]
-+ verbose "libstdc++-v3-init: couldn't find libstdc++-v3 in $multilibs, trying $objdir"
-+ set blddir [lookfor_file ${objdir} "$target_triplet/$multisub/libstdc++-v3"]
-+ }
-+ if { $blddir == "" } {
-+ verbose "libstdc++-v3-init: couldn't find libstdc++-v3, trying $objdir without multilibs"
-+ set blddir [lookfor_file ${objdir} "$target_triplet/libstdc++-v3"]
-+ }
-+ if { $blddir == "" } {
-+ error "Can't find libstdc++-v3"
-+ }
-
- # By default, we assume we want to run program images.
- global dg-do-what-default
diff --git a/patches/gcc/3.3.3/pr13250-fix.patch b/patches/gcc/3.3.3/pr13250-fix.patch
deleted file mode 100644
index ce68bb1..0000000
--- a/patches/gcc/3.3.3/pr13250-fix.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-See http://gcc.gnu.org/PR13250
-Fixes bad code generated when compiling SHA256 for SH processor
-
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/config/sh/sh.md,v
-retrieving revision 1.171
-retrieving revision 1.172
-diff -u -r1.171 -r1.172
---- gcc/gcc/config/sh/sh.md 2004/05/10 23:25:13 1.171
-+++ gcc/gcc/config/sh/sh.md 2004/05/28 05:47:36 1.172
-@@ -2194,7 +2194,7 @@
- parts[0] = gen_reg_rtx (SImode);
- parts[1] = gen_reg_rtx (SImode);
- emit_insn (gen_rotlsi3_16 (parts[2-choice], operands[1]));
-- parts[choice-1] = operands[1];
-+ emit_move_insn (parts[choice-1], operands[1]);
- emit_insn (gen_ashlsi3 (parts[0], parts[0], GEN_INT (8)));
- emit_insn (gen_lshrsi3 (parts[1], parts[1], GEN_INT (8)));
- emit_insn (gen_iorsi3 (operands[0], parts[0], parts[1]));
diff --git a/patches/gcc/3.3.3/pr13260-fix-3.3.3.patch b/patches/gcc/3.3.3/pr13260-fix-3.3.3.patch
deleted file mode 100644
index 7587ad8..0000000
--- a/patches/gcc/3.3.3/pr13260-fix-3.3.3.patch
+++ /dev/null
@@ -1,246 +0,0 @@
-Date: Fri, 06 Feb 2004 12:35:58 +0900
-From: SUGIOKA Toshinobu <sugioka@itonet.co.jp>
-Subject: [linux-sh:03150] Re: gcc 3.3 optimisation problem
-To: linux-sh@m17n.org
-Message-Id: <4.2.0.58.J.20040206122503.04fe3058@router.itonet.co.jp>
-List-Help: <mailto:linux-sh-ctl@m17n.org?body=help>
-List-Id: linux-sh.m17n.org
-
-At 19:40 03/12/01 +0000, Stuart Menefy <stuart.menefy@st.com> wrote:
->On Sat, 29 Nov 2003 20:19:08 +0900 kkojima@rr.iij4u.or.jp wrote:
->
->> Dan Kegel <dank@kegel.com> wrote:
->> > Stuart Menefy wrote:
->> >> I've just been trying to put together a gcc 3.3.2 based toolchain, and
->> >> appear to be hitting a gcc optimisation bug. I was just wondering if
->> >> anyone else had seen anything similar.
->> >>
->> >> The problem is seen when building the kernel, in the function
->> >> root_nfs_parse_addr(). I've extracted this into a small stand alone
->> >> program which demonstrates the problem.
->> >
->> > Excellent work. I haven't seen anything like this (doesn't mean much)
->> > and the sh-specific optimization bugs in the gcc bug database don't look
->> > similar. I think you should submit this as a bug report at
->> > http://gcc.gnu.org/bugzilla/
->> > It would be good if you could make your test case call abort() if
->> > the problem is present, so the test case can be automated.
->>
->> Indeed. It'd be very nice to create a gcc PR for this issue.
->
->OK, I've done that. PR 13260.
-
-PR 13260 was fixed by amylaar@gcc.gnu.org at 2003-12-04 20:10:29 on mainline(gcc-3.4).
-I have back-ported that patch to gcc-3.3.3 and seems fine for me.
-
- * sh-protos.h (sh_expand_t_scc): Declare.
- * sh.h (PREDICATE_CODES): Add cmpsi_operand.
- * sh.c (cmpsi_operand, sh_expand_t_scc): New functions.
- * sh.md (cmpsi): Use cmpsi_operand. If T_REG is compared to
- something that is not a CONST_INT, copy it into a pseudo register.
- (subc): Fix description of new T value.
- (slt, sgt, sge, sgtu): Don't clobber T after rtl generation is over.
- (sltu, sleu, sgeu): Likewise.
- (seq, sne): Likewise. Use sh_expand_t_scc.
-
-diff -ru gcc-3.3-20040126-1/gcc/config/sh/sh-protos.h gcc-3.3-20040126/gcc/config/sh/sh-protos.h
---- gcc-3.3-20040126-1/gcc/config/sh/sh-protos.h Tue Jan 13 02:03:24 2004
-+++ gcc-3.3-20040126/gcc/config/sh/sh-protos.h Fri Jan 30 17:54:04 2004
-@@ -102,6 +102,7 @@
- extern int sh_can_redirect_branch PARAMS ((rtx, rtx));
- extern void sh_expand_unop_v2sf PARAMS ((enum rtx_code, rtx, rtx));
- extern void sh_expand_binop_v2sf PARAMS ((enum rtx_code, rtx, rtx, rtx));
-+extern int sh_expand_t_scc (enum rtx_code code, rtx target);
- #ifdef TREE_CODE
- extern void sh_va_start PARAMS ((tree, rtx));
- extern rtx sh_va_arg PARAMS ((tree, tree));
-diff -ru gcc-3.3-20040126-1/gcc/config/sh/sh.c gcc-3.3-20040126/gcc/config/sh/sh.c
---- gcc-3.3-20040126-1/gcc/config/sh/sh.c Thu Jan 15 03:11:36 2004
-+++ gcc-3.3-20040126/gcc/config/sh/sh.c Fri Jan 30 17:53:58 2004
-@@ -7870,6 +7870,15 @@
- return register_operand (op, mode);
- }
-
-+int
-+cmpsi_operand (rtx op, enum machine_mode mode)
-+{
-+ if (GET_CODE (op) == REG && REGNO (op) == T_REG
-+ && GET_MODE (op) == SImode)
-+ return 1;
-+ return arith_operand (op, mode);
-+}
-+
- /* INSN is an sfunc; return the rtx that describes the address used. */
- static rtx
- extract_sfunc_addr (rtx insn)
-@@ -7917,4 +7926,33 @@
- abort ();
- }
-
-+int
-+sh_expand_t_scc (enum rtx_code code, rtx target)
-+{
-+ rtx result = target;
-+ HOST_WIDE_INT val;
-+
-+ if (GET_CODE (sh_compare_op0) != REG || REGNO (sh_compare_op0) != T_REG
-+ || GET_CODE (sh_compare_op1) != CONST_INT)
-+ return 0;
-+ if (GET_CODE (result) != REG)
-+ result = gen_reg_rtx (SImode);
-+ val = INTVAL (sh_compare_op1);
-+ if ((code == EQ && val == 1) || (code == NE && val == 0))
-+ emit_insn (gen_movt (result));
-+ else if ((code == EQ && val == 0) || (code == NE && val == 1))
-+ {
-+ emit_insn (gen_rtx_CLOBBER (VOIDmode, result));
-+ emit_insn (gen_subc (result, result, result));
-+ emit_insn (gen_addsi3 (result, result, GEN_INT (1)));
-+ }
-+ else if (code == EQ || code == NE)
-+ emit_insn (gen_move_insn (result, GEN_INT (code == NE)));
-+ else
-+ return 0;
-+ if (result != target)
-+ emit_move_insn (target, result);
-+ return 1;
-+}
-+
- #include "gt-sh.h"
-diff -ru gcc-3.3-20040126-1/gcc/config/sh/sh.h gcc-3.3-20040126/gcc/config/sh/sh.h
---- gcc-3.3-20040126-1/gcc/config/sh/sh.h Wed Apr 16 02:06:09 2003
-+++ gcc-3.3-20040126/gcc/config/sh/sh.h Fri Jan 30 17:53:51 2004
-@@ -3231,6 +3231,7 @@
- {"arith_reg_or_0_operand", {SUBREG, REG, CONST_INT, CONST_VECTOR}}, \
- {"binary_float_operator", {PLUS, MINUS, MULT, DIV}}, \
- {"binary_logical_operator", {AND, IOR, XOR}}, \
-+ {"cmpsi_operand", {SUBREG, REG, CONST_INT}}, \
- {"commutative_float_operator", {PLUS, MULT}}, \
- {"equality_comparison_operator", {EQ,NE}}, \
- {"extend_reg_operand", {SUBREG, REG, TRUNCATE}}, \
-diff -ru gcc-3.3-20040126-1/gcc/config/sh/sh.md gcc-3.3-20040126/gcc/config/sh/sh.md
---- gcc-3.3-20040126-1/gcc/config/sh/sh.md Tue Jan 13 02:03:25 2004
-+++ gcc-3.3-20040126/gcc/config/sh/sh.md Fri Jan 30 17:54:20 2004
-@@ -685,11 +685,14 @@
-
- (define_expand "cmpsi"
- [(set (reg:SI T_REG)
-- (compare (match_operand:SI 0 "arith_operand" "")
-+ (compare (match_operand:SI 0 "cmpsi_operand" "")
- (match_operand:SI 1 "arith_operand" "")))]
- "TARGET_SH1"
- "
- {
-+ if (GET_CODE (operands[0]) == REG && REGNO (operands[0]) == T_REG
-+ && GET_CODE (operands[1]) != CONST_INT)
-+ operands[0] = copy_to_mode_reg (SImode, operands[0]);
- sh_compare_op0 = operands[0];
- sh_compare_op1 = operands[1];
- DONE;
-@@ -1147,7 +1150,9 @@
- (match_operand:SI 2 "arith_reg_operand" "r"))
- (reg:SI T_REG)))
- (set (reg:SI T_REG)
-- (gtu:SI (minus:SI (match_dup 1) (match_dup 2)) (match_dup 1)))]
-+ (gtu:SI (minus:SI (minus:SI (match_dup 1) (match_dup 2))
-+ (reg:SI T_REG))
-+ (match_dup 1)))]
- "TARGET_SH1"
- "subc %2,%0"
- [(set_attr "type" "arith")])
-@@ -7223,6 +7228,10 @@
- }
- DONE;
- }
-+ if (sh_expand_t_scc (EQ, operands[0]))
-+ DONE;
-+ if (! rtx_equal_function_value_matters)
-+ FAIL;
- operands[1] = prepare_scc_operands (EQ);
- }")
-
-@@ -7269,6 +7278,8 @@
- }
- DONE;
- }
-+ if (! rtx_equal_function_value_matters)
-+ FAIL;
- operands[1] = prepare_scc_operands (LT);
- }")
-
-@@ -7371,6 +7382,8 @@
- }
- DONE;
- }
-+ if (! rtx_equal_function_value_matters)
-+ FAIL;
- operands[1] = prepare_scc_operands (GT);
- }")
-
-@@ -7423,6 +7436,8 @@
- DONE;
- }
-
-+ if (! rtx_equal_function_value_matters)
-+ FAIL;
- if (GET_MODE_CLASS (GET_MODE (sh_compare_op0)) == MODE_FLOAT)
- {
- if (TARGET_IEEE)
-@@ -7462,6 +7477,8 @@
- sh_compare_op0, sh_compare_op1));
- DONE;
- }
-+ if (! rtx_equal_function_value_matters)
-+ FAIL;
- operands[1] = prepare_scc_operands (GTU);
- }")
-
-@@ -7486,6 +7503,8 @@
- sh_compare_op1, sh_compare_op0));
- DONE;
- }
-+ if (! rtx_equal_function_value_matters)
-+ FAIL;
- operands[1] = prepare_scc_operands (LTU);
- }")
-
-@@ -7515,6 +7534,8 @@
-
- DONE;
- }
-+ if (! rtx_equal_function_value_matters)
-+ FAIL;
- operands[1] = prepare_scc_operands (LEU);
- }")
-
-@@ -7545,6 +7566,8 @@
- DONE;
- }
-
-+ if (! rtx_equal_function_value_matters)
-+ FAIL;
- operands[1] = prepare_scc_operands (GEU);
- }")
-
-@@ -7592,8 +7615,12 @@
- DONE;
- }
-
-- operands[1] = prepare_scc_operands (EQ);
-- operands[2] = gen_reg_rtx (SImode);
-+ if (sh_expand_t_scc (NE, operands[0]))
-+ DONE;
-+ if (! rtx_equal_function_value_matters)
-+ FAIL;
-+ operands[1] = prepare_scc_operands (EQ);
-+ operands[2] = gen_reg_rtx (SImode);
- }")
-
- (define_expand "sunordered"
-
-----
-SUGIOKA Toshinobu
-
-
-
-
diff --git a/patches/gcc/3.3.3/pr13260-test.patch b/patches/gcc/3.3.3/pr13260-test.patch
deleted file mode 100644
index d9cc3e4..0000000
--- a/patches/gcc/3.3.3/pr13260-test.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-See http://gcc.gnu.org/PR13260
-
-/cvs/gcc/gcc/gcc/testsuite/gcc.c-torture/execute/20031204-1.c,v --> standard output
-revision 1.1
---- - 1970-01-01 00:00:00.000000000 +0000
-+++ gcc/gcc/testsuite/gcc.c-torture/execute/20031204-1.c
-@@ -0,0 +1,49 @@
-+/* PR optimization/13260 */
-+
-+#include <string.h>
-+
-+typedef unsigned long u32;
-+
-+u32 in_aton(const char* x)
-+{
-+ return 0x0a0b0c0d;
-+}
-+
-+u32 root_nfs_parse_addr(char *name)
-+{
-+ u32 addr;
-+ int octets = 0;
-+ char *cp, *cq;
-+
-+ cp = cq = name;
-+ while (octets < 4) {
-+ while (*cp >= '0' && *cp <= '9')
-+ cp++;
-+ if (cp == cq || cp - cq > 3)
-+ break;
-+ if (*cp == '.' || octets == 3)
-+ octets++;
-+ if (octets < 4)
-+ cp++;
-+ cq = cp;
-+ }
-+
-+ if (octets == 4 && (*cp == ':' || *cp == '\0')) {
-+ if (*cp == ':')
-+ *cp++ = '\0';
-+ addr = in_aton(name);
-+ strcpy(name, cp);
-+ } else
-+ addr = (-1);
-+
-+ return addr;
-+}
-+
-+int
-+main()
-+{
-+ static char addr[] = "10.11.12.13:/hello";
-+ u32 result = root_nfs_parse_addr(addr);
-+ if (result != 0x0a0b0c0d) { abort(); }
-+ return 0;
-+}
diff --git a/patches/gcc/3.3.3/pr15089-fix.patch b/patches/gcc/3.3.3/pr15089-fix.patch
deleted file mode 100644
index ceaf957..0000000
--- a/patches/gcc/3.3.3/pr15089-fix.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-See http://gcc.gnu.org/PR15089
-"In some cases the specified register for a local variable meant to be
-used with inline assembly code is not respected. This breaks code
-relying on this feature to implement non-standard calling convension."
-
-This fix is probably needed to properly implement linux syscalls in some architectures.
-
-First added to crosstool by Jamie Hicks, see
-http://www.handhelds.org/hypermail/kernel-discuss/current/0066.html
-
-Index: gcc/loop.c
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/loop.c,v
-retrieving revision 1.488.2.3
-diff -u -r1.488.2.3 loop.c
---- gcc-old/gcc/loop.c 14 Feb 2004 14:46:03 -0000 1.488.2.3
-+++ gcc-new/gcc/loop.c 28 Apr 2004 22:02:53 -0000
-@@ -929,6 +929,7 @@
- || (! (GET_CODE (SET_SRC (set)) == REG
- && (REGNO (SET_SRC (set))
- < FIRST_PSEUDO_REGISTER))))
-+ && regno >= FIRST_PSEUDO_REGISTER
- /* This test is not redundant; SET_SRC (set) might be
- a call-clobbered register and the life of REGNO
- might span a call. */
diff --git a/patches/gcc/3.3.3/pr9365-1-test.patch b/patches/gcc/3.3.3/pr9365-1-test.patch
deleted file mode 100644
index ee7dfa7..0000000
--- a/patches/gcc/3.3.3/pr9365-1-test.patch
+++ /dev/null
@@ -1,43 +0,0 @@
---- /dev/null Sat Dec 14 13:56:51 2002
-+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr9365-1.c Sun Sep 14 09:34:37 2003
-@@ -0,0 +1,40 @@
-+/* PR target/9365
-+ * Origin: marcus@mc.pp.se
-+ * Testcase tweaked by dank@kegel.com
-+ * [3.3 regression] [SH] segfault in gen_far_branch (config/sh/sh.c)
-+ * ice-on-valid-code
-+ * Not marked as xfail since it's a regression
-+*/
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -fomit-frame-pointer" } */
-+
-+
-+void foo(int n, int *p)
-+{
-+ switch(n) {
-+ case 100: case 110: case 120: case 130: case 140:
-+ case 200: case 210: case 220: case 230: case 240:
-+ case 300: case 310: case 320: case 330: case 340:
-+ case 400: case 410: case 420: case 430: case 440:
-+ case 500: case 510: case 520: case 530: case 540:
-+ case 600: case 610: case 620: case 630: case 640:
-+ case 700: case 710: case 720: case 730: case 740:
-+ case 800: case 810: case 820: case 830: case 840:
-+ case 900: case 910: case 920: case 930: case 940:
-+ break;
-+ default:
-+ *p = n;
-+ break;
-+ }
-+}
-+
-+int main(int argc, char **argv)
-+{
-+ int p;
-+
-+ (void) argv;
-+
-+ foo(argc, &p);
-+
-+ return p;
-+}
diff --git a/patches/gcc/3.3.3/sh-lib1funcs_sizeAndType.patch b/patches/gcc/3.3.3/sh-lib1funcs_sizeAndType.patch
deleted file mode 100644
index 64d4fc4..0000000
--- a/patches/gcc/3.3.3/sh-lib1funcs_sizeAndType.patch
+++ /dev/null
@@ -1,610 +0,0 @@
-Fixes the problem
- [ libdemo.so and main.o both use assignment on structures ]
- $ sh4-unknown-linux-gnu-gcc libdemo.so main.o
- sh4-unknown-linux-gnu/bin/ld: warning: type and size of dynamic symbol `__movstr_i4_even' are not defined
- [ resulting app links, but crashes at runtime ]
-See testcase at http://tsukuba.m17n.org/linux-sh/ml/linux-sh/2003-11/msg00016.html
-
-Patch was posted as http://gcc.gnu.org/ml/gcc-patches/2002-11/msg01641.html
-and is in cvs as http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sh/lib1funcs.asm.diff?r1=1.29.4.1&r2=1.29.4.2
-
-but see also sh-libgcc-hidden.patch (part of gcc-3.3.3 as of 20040119 or so)
-
-===================================================================
-
---- gcc/gcc/config/sh/lib1funcs.asm 2002/09/20 01:29:21 1.29.4.1
-+++ gcc/gcc/config/sh/lib1funcs.asm 2003/11/18 12:27:31
-@@ -38,9 +38,14 @@
- amylaar@cygnus.com */
-
- #ifdef __ELF__
--#define LOCAL(X) .L_##X
--#else
--#define LOCAL(X) L_##X
-+#define LOCAL(X) .L_##X
-+#define FUNC(X) .type X,@function
-+#define ENDFUNC0(X) .Lfe_##X: .size X,.Lfe_##X-X
-+#define ENDFUNC(X) ENDFUNC0(X)
-+#else
-+#define LOCAL(X) L_##X
-+#define FUNC(X)
-+#define ENDFUNC(X)
- #endif
-
- #define CONCAT(A,B) A##B
-@@ -87,6 +92,40 @@
- .global GLOBAL(ashiftrt_r4_31)
- .global GLOBAL(ashiftrt_r4_32)
-
-+ FUNC(GLOBAL(ashiftrt_r4_0))
-+ FUNC(GLOBAL(ashiftrt_r4_1))
-+ FUNC(GLOBAL(ashiftrt_r4_2))
-+ FUNC(GLOBAL(ashiftrt_r4_3))
-+ FUNC(GLOBAL(ashiftrt_r4_4))
-+ FUNC(GLOBAL(ashiftrt_r4_5))
-+ FUNC(GLOBAL(ashiftrt_r4_6))
-+ FUNC(GLOBAL(ashiftrt_r4_7))
-+ FUNC(GLOBAL(ashiftrt_r4_8))
-+ FUNC(GLOBAL(ashiftrt_r4_9))
-+ FUNC(GLOBAL(ashiftrt_r4_10))
-+ FUNC(GLOBAL(ashiftrt_r4_11))
-+ FUNC(GLOBAL(ashiftrt_r4_12))
-+ FUNC(GLOBAL(ashiftrt_r4_13))
-+ FUNC(GLOBAL(ashiftrt_r4_14))
-+ FUNC(GLOBAL(ashiftrt_r4_15))
-+ FUNC(GLOBAL(ashiftrt_r4_16))
-+ FUNC(GLOBAL(ashiftrt_r4_17))
-+ FUNC(GLOBAL(ashiftrt_r4_18))
-+ FUNC(GLOBAL(ashiftrt_r4_19))
-+ FUNC(GLOBAL(ashiftrt_r4_20))
-+ FUNC(GLOBAL(ashiftrt_r4_21))
-+ FUNC(GLOBAL(ashiftrt_r4_22))
-+ FUNC(GLOBAL(ashiftrt_r4_23))
-+ FUNC(GLOBAL(ashiftrt_r4_24))
-+ FUNC(GLOBAL(ashiftrt_r4_25))
-+ FUNC(GLOBAL(ashiftrt_r4_26))
-+ FUNC(GLOBAL(ashiftrt_r4_27))
-+ FUNC(GLOBAL(ashiftrt_r4_28))
-+ FUNC(GLOBAL(ashiftrt_r4_29))
-+ FUNC(GLOBAL(ashiftrt_r4_30))
-+ FUNC(GLOBAL(ashiftrt_r4_31))
-+ FUNC(GLOBAL(ashiftrt_r4_32))
-+
- .align 1
- GLOBAL(ashiftrt_r4_32):
- GLOBAL(ashiftrt_r4_31):
-@@ -166,6 +205,40 @@
- GLOBAL(ashiftrt_r4_0):
- rts
- nop
-+
-+ ENDFUNC(GLOBAL(ashiftrt_r4_0))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_1))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_2))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_3))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_4))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_5))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_6))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_7))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_8))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_9))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_10))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_11))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_12))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_13))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_14))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_15))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_16))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_17))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_18))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_19))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_20))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_21))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_22))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_23))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_24))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_25))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_26))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_27))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_28))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_29))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_30))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_31))
-+ ENDFUNC(GLOBAL(ashiftrt_r4_32))
- #endif
-
- #ifdef L_ashiftrt_n
-@@ -188,6 +261,7 @@
- !
-
- .global GLOBAL(ashrsi3)
-+ FUNC(GLOBAL(ashrsi3))
- .align 2
- GLOBAL(ashrsi3):
- mov #31,r0
-@@ -315,6 +389,7 @@
- rts
- nop
-
-+ ENDFUNC(GLOBAL(ashrsi3))
- #endif
-
- #ifdef L_ashiftlt
-@@ -336,6 +411,7 @@
- ! (none)
- !
- .global GLOBAL(ashlsi3)
-+ FUNC(GLOBAL(ashlsi3))
- .align 2
- GLOBAL(ashlsi3):
- mov #31,r0
-@@ -472,6 +548,7 @@
- rts
- nop
-
-+ ENDFUNC(GLOBAL(ashlsi3))
- #endif
-
- #ifdef L_lshiftrt
-@@ -493,6 +570,7 @@
- ! (none)
- !
- .global GLOBAL(lshrsi3)
-+ FUNC(GLOBAL(lshrsi3))
- .align 2
- GLOBAL(lshrsi3):
- mov #31,r0
-@@ -629,6 +707,7 @@
- rts
- nop
-
-+ ENDFUNC(GLOBAL(lshrsi3))
- #endif
-
- #ifdef L_movstr
-@@ -645,76 +724,113 @@
- add #64,r4
- .align 4
- .global GLOBAL(movstrSI64)
-+ FUNC(GLOBAL(movstrSI64))
- GLOBAL(movstrSI64):
- mov.l @(60,r5),r0
- mov.l r0,@(60,r4)
- .global GLOBAL(movstrSI60)
-+ FUNC(GLOBAL(movstrSI60))
- GLOBAL(movstrSI60):
- mov.l @(56,r5),r0
- mov.l r0,@(56,r4)
- .global GLOBAL(movstrSI56)
-+ FUNC(GLOBAL(movstrSI56))
- GLOBAL(movstrSI56):
- mov.l @(52,r5),r0
- mov.l r0,@(52,r4)
- .global GLOBAL(movstrSI52)
-+ FUNC(GLOBAL(movstrSI52))
- GLOBAL(movstrSI52):
- mov.l @(48,r5),r0
- mov.l r0,@(48,r4)
- .global GLOBAL(movstrSI48)
-+ FUNC(GLOBAL(movstrSI48))
- GLOBAL(movstrSI48):
- mov.l @(44,r5),r0
- mov.l r0,@(44,r4)
- .global GLOBAL(movstrSI44)
-+ FUNC(GLOBAL(movstrSI44))
- GLOBAL(movstrSI44):
- mov.l @(40,r5),r0
- mov.l r0,@(40,r4)
- .global GLOBAL(movstrSI40)
-+ FUNC(GLOBAL(movstrSI40))
- GLOBAL(movstrSI40):
- mov.l @(36,r5),r0
- mov.l r0,@(36,r4)
- .global GLOBAL(movstrSI36)
-+ FUNC(GLOBAL(movstrSI36))
- GLOBAL(movstrSI36):
- mov.l @(32,r5),r0
- mov.l r0,@(32,r4)
- .global GLOBAL(movstrSI32)
-+ FUNC(GLOBAL(movstrSI32))
- GLOBAL(movstrSI32):
- mov.l @(28,r5),r0
- mov.l r0,@(28,r4)
- .global GLOBAL(movstrSI28)
-+ FUNC(GLOBAL(movstrSI28))
- GLOBAL(movstrSI28):
- mov.l @(24,r5),r0
- mov.l r0,@(24,r4)
- .global GLOBAL(movstrSI24)
-+ FUNC(GLOBAL(movstrSI24))
- GLOBAL(movstrSI24):
- mov.l @(20,r5),r0
- mov.l r0,@(20,r4)
- .global GLOBAL(movstrSI20)
-+ FUNC(GLOBAL(movstrSI20))
- GLOBAL(movstrSI20):
- mov.l @(16,r5),r0
- mov.l r0,@(16,r4)
- .global GLOBAL(movstrSI16)
-+ FUNC(GLOBAL(movstrSI16))
- GLOBAL(movstrSI16):
- mov.l @(12,r5),r0
- mov.l r0,@(12,r4)
- .global GLOBAL(movstrSI12)
-+ FUNC(GLOBAL(movstrSI12))
- GLOBAL(movstrSI12):
- mov.l @(8,r5),r0
- mov.l r0,@(8,r4)
- .global GLOBAL(movstrSI8)
-+ FUNC(GLOBAL(movstrSI8))
- GLOBAL(movstrSI8):
- mov.l @(4,r5),r0
- mov.l r0,@(4,r4)
- .global GLOBAL(movstrSI4)
-+ FUNC(GLOBAL(movstrSI4))
- GLOBAL(movstrSI4):
- mov.l @(0,r5),r0
- mov.l r0,@(0,r4)
-+ .global GLOBAL(movstrSI0)
-+ FUNC(GLOBAL(movstrSI0))
- GLOBAL(movstrSI0):
- rts
- nop
-
-+ ENDFUNC(GLOBAL(movstrSI64))
-+ ENDFUNC(GLOBAL(movstrSI60))
-+ ENDFUNC(GLOBAL(movstrSI56))
-+ ENDFUNC(GLOBAL(movstrSI52))
-+ ENDFUNC(GLOBAL(movstrSI48))
-+ ENDFUNC(GLOBAL(movstrSI44))
-+ ENDFUNC(GLOBAL(movstrSI40))
-+ ENDFUNC(GLOBAL(movstrSI36))
-+ ENDFUNC(GLOBAL(movstrSI32))
-+ ENDFUNC(GLOBAL(movstrSI28))
-+ ENDFUNC(GLOBAL(movstrSI24))
-+ ENDFUNC(GLOBAL(movstrSI20))
-+ ENDFUNC(GLOBAL(movstrSI16))
-+ ENDFUNC(GLOBAL(movstrSI12))
-+ ENDFUNC(GLOBAL(movstrSI8))
-+ ENDFUNC(GLOBAL(movstrSI4))
-+ ENDFUNC(GLOBAL(movstrSI0))
-+
- .align 4
-
- .global GLOBAL(movstr)
-+ FUNC(GLOBAL(movstr))
- GLOBAL(movstr):
- mov.l @(60,r5),r0
- mov.l r0,@(60,r4)
-@@ -771,6 +887,8 @@
- add #64,r5
- bra GLOBAL(movstr)
- add #64,r4
-+
-+ FUNC(GLOBAL(movstr))
- #endif
-
- #ifdef L_movstr_i4
-@@ -779,6 +897,10 @@
- .global GLOBAL(movstr_i4_odd)
- .global GLOBAL(movstrSI12_i4)
-
-+ FUNC(GLOBAL(movstr_i4_even))
-+ FUNC(GLOBAL(movstr_i4_odd))
-+ FUNC(GLOBAL(movstrSI12_i4))
-+
- .p2align 5
- L_movstr_2mod4_end:
- mov.l r0,@(16,r4)
-@@ -787,6 +909,11 @@
-
- .p2align 2
-
-+GLOBAL(movstr_i4_even):
-+ mov.l @r5+,r0
-+ bra L_movstr_start_even
-+ mov.l @r5+,r1
-+
- GLOBAL(movstr_i4_odd):
- mov.l @r5+,r1
- add #-4,r4
-@@ -813,10 +940,8 @@
- rts
- mov.l r3,@(12,r4)
-
--GLOBAL(movstr_i4_even):
-- mov.l @r5+,r0
-- bra L_movstr_start_even
-- mov.l @r5+,r1
-+ ENDFUNC(GLOBAL(movstr_i4_even))
-+ ENDFUNC(GLOBAL(movstr_i4_odd))
-
- .p2align 4
- GLOBAL(movstrSI12_i4):
-@@ -827,12 +952,15 @@
- mov.l r1,@(4,r4)
- rts
- mov.l r2,@(8,r4)
-+
-+ ENDFUNC(GLOBAL(movstrSI12_i4))
- #endif
-
- #ifdef L_mulsi3
-
-
- .global GLOBAL(mulsi3)
-+ FUNC(GLOBAL(mulsi3))
-
- ! r4 = aabb
- ! r5 = ccdd
-@@ -865,7 +993,7 @@
- rts
- add r2,r0
-
--
-+ FUNC(GLOBAL(mulsi3))
- #endif
- #endif /* ! __SH5__ */
- #ifdef L_sdivsi3_i4
-@@ -875,6 +1003,7 @@
- !! args in r4 and r5, result in fpul, clobber dr0, dr2
-
- .global GLOBAL(sdivsi3_i4)
-+ FUNC(GLOBAL(sdivsi3_i4))
- GLOBAL(sdivsi3_i4):
- lds r4,fpul
- float fpul,dr0
-@@ -884,6 +1013,7 @@
- rts
- ftrc dr0,fpul
-
-+ ENDFUNC(GLOBAL(sdivsi3_i4))
- #elif defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__) || (defined (__SH5__) && ! defined __SH4_NOFPU__)
- !! args in r4 and r5, result in fpul, clobber r2, dr0, dr2
-
-@@ -892,6 +1022,7 @@
- .mode SHcompact
- #endif
- .global GLOBAL(sdivsi3_i4)
-+ FUNC(GLOBAL(sdivsi3_i4))
- GLOBAL(sdivsi3_i4):
- sts.l fpscr,@-r15
- mov #8,r2
-@@ -906,6 +1037,7 @@
- rts
- lds.l @r15+,fpscr
-
-+ ENDFUNC(GLOBAL(sdivsi3_i4))
- #endif /* ! __SH5__ || __SH5__ == 32 */
- #endif /* ! __SH4__ */
- #endif
-@@ -920,9 +1052,10 @@
- !!
- !!
-
--!! args in r4 and r5, result in r0 clobber r1,r2,r3
-+!! args in r4 and r5, result in r0 clobber r1, r2, r3, and t bit
-
- .global GLOBAL(sdivsi3)
-+ FUNC(GLOBAL(sdivsi3))
- #if __SHMEDIA__
- #if __SH5__ == 32
- .section .text..SHmedia32,"ax"
-@@ -1166,6 +1299,7 @@
- div0: rts
- mov #0,r0
-
-+ ENDFUNC(GLOBAL(sdivsi3))
- #endif /* ! __SHMEDIA__ */
- #endif /* ! __SH4__ */
- #endif
-@@ -1174,9 +1308,11 @@
- .title "SH DIVIDE"
- !! 4 byte integer Divide code for the Hitachi SH
- #ifdef __SH4__
--!! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4
-+!! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4,
-+!! and t bit
-
- .global GLOBAL(udivsi3_i4)
-+ FUNC(GLOBAL(udivsi3_i4))
- GLOBAL(udivsi3_i4):
- mov #1,r1
- cmp/hi r1,r5
-@@ -1217,11 +1353,13 @@
- L1:
- .double 2147483648
-
-+ ENDFUNC(GLOBAL(udivsi3_i4))
- #elif defined (__SH5__) && ! defined (__SH4_NOFPU__)
- #if ! __SH5__ || __SH5__ == 32
- !! args in r4 and r5, result in fpul, clobber r20, r21, dr0, fr33
- .mode SHmedia
- .global GLOBAL(udivsi3_i4)
-+ FUNC(GLOBAL(udivsi3_i4))
- GLOBAL(udivsi3_i4):
- addz.l r4,r63,r20
- addz.l r5,r63,r21
-@@ -1234,6 +1372,8 @@
- ftrc.dq dr0,dr32
- fmov.s fr33,fr32
- blink tr0,r63
-+
-+ ENDFUNC(GLOBAL(udivsi3_i4))
- #endif /* ! __SH5__ || __SH5__ == 32 */
- #elif defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__)
- !! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4
-@@ -1287,6 +1427,7 @@
- #endif
- .double 2147483648
-
-+ ENDFUNC(GLOBAL(udivsi3_i4))
- #endif /* ! __SH4__ */
- #endif
-
-@@ -1297,6 +1438,7 @@
-
- !! args in r4 and r5, result in r0, clobbers r4, pr, and t bit
- .global GLOBAL(udivsi3)
-+ FUNC(GLOBAL(udivsi3))
-
- #if __SHMEDIA__
- #if __SH5__ == 32
-@@ -1485,6 +1627,7 @@
- rts
- rotcl r0
-
-+ ENDFUNC(GLOBAL(udivsi3))
- #endif /* ! __SHMEDIA__ */
- #endif /* __SH4__ */
- #endif /* L_udivsi3 */
-@@ -1790,6 +1933,7 @@
- .mode SHcompact
- #endif
- .global GLOBAL(set_fpscr)
-+ FUNC(GLOBAL(set_fpscr))
- GLOBAL(set_fpscr):
- lds r4,fpscr
- mov.l LOCAL(set_fpscr_L1),r1
-@@ -1822,6 +1966,8 @@
- .align 2
- LOCAL(set_fpscr_L1):
- .long GLOBAL(fpscr_values)
-+
-+ ENDFUNC(GLOBAL(set_fpscr))
- #ifdef __ELF__
- .comm GLOBAL(fpscr_values),8,4
- #else
-@@ -1860,6 +2006,7 @@
- blink tr0, r63
- #elif defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
- .global GLOBAL(ic_invalidate)
-+ FUNC(GLOBAL(ic_invalidate))
- GLOBAL(ic_invalidate):
- ocbwb @r4
- mova 0f,r0
-@@ -1882,6 +2029,8 @@
- nop
- .endr
- .endr
-+
-+ ENDFUNC(GLOBAL(ic_invalidate))
- #endif /* SH4 */
- #endif /* L_ic_invalidate */
-
-@@ -1940,6 +2089,7 @@
- will be expanded into r2/r3 upon return. */
-
- .global GLOBAL(GCC_shcompact_call_trampoline)
-+ FUNC(GLOBAL(GCC_shcompact_call_trampoline))
- GLOBAL(GCC_shcompact_call_trampoline):
- ptabs/l r0, tr0 /* Prepare to call the actual function. */
- movi ((datalabel LOCAL(ct_main_table) - 31 * 2) >> 16) & 65535, r0
-@@ -2290,6 +2440,8 @@
- shari r2, 32, r2
- #endif
- blink tr0, r63
-+
-+ ENDFUNC(GLOBAL(GCC_shcompact_call_trampoline))
- #endif /* L_shcompact_call_trampoline */
-
- #ifdef L_shcompact_return_trampoline
-@@ -2302,6 +2454,7 @@
- .section .text..SHmedia32, "ax"
- .align 2
- .global GLOBAL(GCC_shcompact_return_trampoline)
-+ FUNC(GLOBAL(GCC_shcompact_return_trampoline))
- GLOBAL(GCC_shcompact_return_trampoline):
- ptabs/l r18, tr0
- #if __LITTLE_ENDIAN__
-@@ -2313,6 +2466,8 @@
- #endif
- or r3, r2, r2
- blink tr0, r63
-+
-+ ENDFUNC(GLOBAL(GCC_shcompact_return_trampoline))
- #endif /* L_shcompact_return_trampoline */
-
- #ifdef L_shcompact_incoming_args
-@@ -2367,6 +2522,7 @@
- actual bit pattern. */
-
- .global GLOBAL(GCC_shcompact_incoming_args)
-+ FUNC(GLOBAL(GCC_shcompact_incoming_args))
- GLOBAL(GCC_shcompact_incoming_args):
- ptabs/l r18, tr0 /* Prepare to return. */
- shlri r17, 32, r0 /* Load the cookie. */
-@@ -2519,6 +2675,7 @@
- LOCAL(ia_return): /* Return. */
- blink tr0, r63
- LOCAL(ia_end_of_push_seq): /* Label used to compute the first push instruction. */
-+ ENDFUNC(GLOBAL(GCC_shcompact_incoming_args))
- #endif /* L_shcompact_incoming_args */
- #endif
- #if __SH5__
-@@ -2530,6 +2687,7 @@
- #endif
- .align 3 /* It is copied in units of 8 bytes in SHmedia mode. */
- .global GLOBAL(GCC_nested_trampoline)
-+ FUNC(GLOBAL(GCC_nested_trampoline))
- GLOBAL(GCC_nested_trampoline):
- .mode SHmedia
- ptrel/u r63, tr0
-@@ -2546,6 +2704,8 @@
- ld.l r0, 28, r1
- #endif
- blink tr1, r63
-+
-+ ENDFUNC(GLOBAL(GCC_nested_trampoline))
- #endif /* L_nested_trampoline */
- #endif /* __SH5__ */
- #if __SH5__ == 32
-@@ -2555,6 +2715,7 @@
- .align 2
- #ifndef __SH4_NOFPU__
- .global GLOBAL(GCC_push_shmedia_regs)
-+ FUNC(GLOBAL(GCC_push_shmedia_regs))
- GLOBAL(GCC_push_shmedia_regs):
- addi.l r15, -14*8, r15
- fst.d r15, 13*8, dr62
-@@ -2573,6 +2734,7 @@
- fst.d r15, 0*8, dr36
- #endif
- .global GLOBAL(GCC_push_shmedia_regs_nofpu)
-+ FUNC(GLOBAL(GCC_push_shmedia_regs_nofpu))
- GLOBAL(GCC_push_shmedia_regs_nofpu):
- ptabs/l r18, tr0
- addi.l r15, -27*8, r15
-@@ -2608,8 +2770,13 @@
- st.q r15, 0*8, r28
- blink tr0, r63
-
-+#ifndef __SH4_NOFPU__
-+ ENDFUNC(GLOBAL(GCC_push_shmedia_regs))
-+#endif
-+ ENDFUNC(GLOBAL(GCC_push_shmedia_regs_nofpu))
- #ifndef __SH4_NOFPU__
- .global GLOBAL(GCC_pop_shmedia_regs)
-+ FUNC(GLOBAL(GCC_pop_shmedia_regs))
- GLOBAL(GCC_pop_shmedia_regs):
- pt .L0, tr1
- movi 41*8, r0
-@@ -2630,6 +2797,7 @@
- blink tr1, r63
- #endif
- .global GLOBAL(GCC_pop_shmedia_regs_nofpu)
-+ FUNC(GLOBAL(GCC_pop_shmedia_regs_nofpu))
- GLOBAL(GCC_pop_shmedia_regs_nofpu):
- movi 27*8, r0
- .L0:
-@@ -2666,5 +2834,10 @@
- ld.q r15, 0*8, r28
- add.l r15, r0, r15
- blink tr0, r63
-+
-+#ifndef __SH4_NOFPU__
-+ ENDFUNC(GLOBAL(GCC_pop_shmedia_regs))
-+#endif
-+ ENDFUNC(GLOBAL(GCC_pop_shmedia_regs_nofpu))
- #endif /* __SH5__ == 32 */
- #endif /* L_push_pop_shmedia_regs */
diff --git a/patches/gcc/3.3.3/sh-pic-set_fpscr-gcc-3.3.2.patch b/patches/gcc/3.3.3/sh-pic-set_fpscr-gcc-3.3.2.patch
deleted file mode 100644
index 2a9d592..0000000
--- a/patches/gcc/3.3.3/sh-pic-set_fpscr-gcc-3.3.2.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-See http://gcc.gnu.org/PR11901
-Should fix
-make[2]: *** [/gcc-3.3-glibc-2.3.2/build-glibc/elf/check-textrel.out] Error 1
-in glibc's "make tests".
-
-Note: this patch is named
-sh-pic-set_fpscr-gcc-3.3.2.patch
-and must be applied after
-sh-lib1funcs_sizeAndType.patch
-but that'll happen naturally if you apply them in alphabetical order.
-
--------------
-
-Date: Wed, 30 Jul 2003 12:03:01 +0900
-From: kaz Kojima <kkojima@rr.iij4u.or.jp>
-Subject: [linux-sh:02916] Re: Writing PIC version of __udivsi3_i4? (was: Re: "make tests" fails
- with "libc.so: text relocations used" in glibc-2.3.2 for sh4)
-To: dank@kegel.com
-Cc: linux-sh@m17n.org
-Message-Id: <200307300255.h6U2tB906928@r-rr.iij4u.or.jp>
-
-> I'll try to write the PIC version of it,
-
-Dan, does the attached patch work for you?
-
-Regards,
- kaz
---
-diff -u3prN ORIG/gcc/gcc/config/sh/lib1funcs.asm LOCAL/gcc/gcc/config/sh/lib1funcs.asm
---- ORIG/gcc/gcc/config/sh/lib1funcs.asm Thu Jun 19 07:38:59 2003
-+++ gcc-3.3.2/gcc/config/sh/lib1funcs.asm Wed Jul 30 11:08:49 2003
-@@ -1936,7 +1944,17 @@ GLOBAL(moddi3):
- FUNC(GLOBAL(set_fpscr))
- GLOBAL(set_fpscr):
- lds r4,fpscr
-+#ifdef __PIC__
-+ mov.l r12,@-r15
-+ mova LOCAL(set_fpscr_L0),r0
-+ mov.l LOCAL(set_fpscr_L0),r12
-+ add r0,r12
-+ mov.l LOCAL(set_fpscr_L1),r0
-+ mov.l @(r0,r12),r1
-+ mov.l @r15+,r12
-+#else
- mov.l LOCAL(set_fpscr_L1),r1
-+#endif
- swap.w r4,r0
- or #24,r0
- #ifndef FMOVD_WORKS
-@@ -1964,8 +1982,15 @@ GLOBAL(set_fpscr):
- mov.l r3,@(4,r1)
- #endif
- .align 2
-+#ifdef __PIC__
-+LOCAL(set_fpscr_L0):
-+ .long _GLOBAL_OFFSET_TABLE_
-+LOCAL(set_fpscr_L1):
-+ .long GLOBAL(fpscr_values@GOT)
-+#else
- LOCAL(set_fpscr_L1):
- .long GLOBAL(fpscr_values)
-+#endif
-
- ENDFUNC(GLOBAL(set_fpscr))
- #ifndef NO_FPSCR_VALUES
-
-
diff --git a/patches/gcc/3.3.3/thunk3.patch b/patches/gcc/3.3.3/thunk3.patch
deleted file mode 100644
index 7974a0c..0000000
--- a/patches/gcc/3.3.3/thunk3.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Fixes
-FAIL: g++.jason/thunk3.C (test for excess errors)
-on sh4-unknown-linux-gnu.
-
-Does any sh variant *not* use the generic thunk support? If so, the patch should be
-more cautious. As it is, it excludes all sh processors from this test.
-
-Index: thunk3.C
-===================================================================
-RCS file: /cvsroot/gcc/gcc/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C,v
-retrieving revision 1.13
-diff -u -d -u -r1.13 thunk3.C
---- gcc-ss-3_3-20030714/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C.old 25 Mar 2002 17:57:03 -0000 1.13
-+++ gcc-ss-3_3-20030714/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C 20 Jul 2003 16:57:38 -0000
-@@ -2,7 +2,7 @@
- // Note that this will break on any target that uses the generic thunk
- // support, because it doesn't support variadic functions.
-
--// excess errors test - XFAIL mips*-*-* rs6000-*-* powerpc-*-eabi m68k-*-coff m68k-motorola-sysv m88k-motorola-sysv3 mn10300-*-* mn10200-*-* v850-*-* sh-*-* sh64-*-* h8*-*-* xtensa-*-*
-+// excess errors test - XFAIL mips*-*-* rs6000-*-* powerpc-*-eabi m68k-*-coff m68k-motorola-sysv m88k-motorola-sysv3 mn10300-*-* mn10200-*-* v850-*-* sh*-*-* h8*-*-* xtensa-*-*
-
- #include <stdarg.h>
-
diff --git a/patches/gcc/3.3.4/gcc-3.3.4-arm-bigendian.patch b/patches/gcc/3.3.4/gcc-3.3.4-arm-bigendian.patch
deleted file mode 100644
index 0816b83..0000000
--- a/patches/gcc/3.3.4/gcc-3.3.4-arm-bigendian.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-diff -urN gcc-3.3.4.orig/gcc/config/arm/linux-elf.h gcc-3.3.4/gcc/config/arm/linux-elf.h
---- gcc-3.3.4.orig/gcc/config/arm/linux-elf.h 2004-03-30 22:43:45.000000000 +0200
-+++ gcc-3.3.4/gcc/config/arm/linux-elf.h 2004-08-20 02:13:02.969084177 +0200
-@@ -30,17 +30,31 @@
- /* Do not assume anything about header files. */
- #define NO_IMPLICIT_EXTERN_C
-
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
-+#define TARGET_ENDIAN_OPTION "mbig-endian"
-+#define TARGET_LINKER_EMULATION "armelfb_linux"
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#define TARGET_ENDIAN_OPTION "mlittle-endian"
-+#define TARGET_LINKER_EMULATION "armelf_linux"
-+#endif
-+
- /* Default is to use APCS-32 mode. */
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
-+#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS | TARGET_ENDIAN_DEFAULT)
-
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
-
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
-+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
-
- #undef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-
- #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
-
-@@ -88,7 +102,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
- -X \
-- %{mbig-endian:-EB}" \
-+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
- SUBTARGET_EXTRA_LINK_SPEC
-
- #define TARGET_OS_CPP_BUILTINS() \
-diff -urN gcc-3.3.4.orig/gcc/config.gcc gcc-3.3.4/gcc/config.gcc
---- gcc-3.3.4.orig/gcc/config.gcc 2004-04-29 06:42:47.000000000 +0200
-+++ gcc-3.3.4/gcc/config.gcc 2004-08-20 02:11:04.326143343 +0200
-@@ -699,6 +699,11 @@
- ;;
- arm*-*-linux*) # ARM GNU/Linux with ELF
- tm_file="dbxelf.h elfos.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
-+ case $machine in
-+ arm*b-*)
-+ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
-+ ;;
-+ esac
- tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
- extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- gnu_ld=yes
diff --git a/patches/gcc/3.3.4/gcc-3.3.4-arm-pr22528.patch b/patches/gcc/3.3.4/gcc-3.3.4-arm-pr22528.patch
deleted file mode 100644
index 0611e2c..0000000
--- a/patches/gcc/3.3.4/gcc-3.3.4-arm-pr22528.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From http://gcc.gnu.org/ml/gcc-patches/2003-11/msg00832.html, by
-Richard Earnshaw. Fixes http://gcc.gnu.org/PR22528
-
---- gcc-3.3.4/gcc/config/arm/arm.md.orig 2004-03-30 22:43:44.000000000 +0200
-+++ gcc-3.3.4/gcc/config/arm/arm.md 2005-08-15 12:21:55.000000000 +0200
-@@ -4275,7 +4275,7 @@
- (set (match_dup 2)
- (ashiftrt:SI (match_operand 0 "" "") (const_int 8)))
- ;; store the high byte
-- (set (match_dup 4) (subreg:QI (match_dup 2) 0))] ;explicit subreg safe
-+ (set (match_dup 4) (match_dup 5))]
- "TARGET_ARM"
- "
- {
-@@ -4291,7 +4291,8 @@
- operands[1] = adjust_address (operands[1], QImode, 0);
- operands[3] = gen_lowpart (QImode, operands[0]);
- operands[0] = gen_lowpart (SImode, operands[0]);
-- operands[2] = gen_reg_rtx (SImode);
-+ operands[2] = gen_reg_rtx (SImode);
-+ operands[5] = gen_lowpart (QImode, operands[2]);
- }"
- )
-
-@@ -4299,7 +4300,7 @@
- [(set (match_dup 4) (match_dup 3))
- (set (match_dup 2)
- (ashiftrt:SI (match_operand 0 "" "") (const_int 8)))
-- (set (match_operand 1 "" "") (subreg:QI (match_dup 2) 3))]
-+ (set (match_operand 1 "" "") (match_dup 5))]
- "TARGET_ARM"
- "
- {
-@@ -4316,13 +4317,14 @@
- operands[3] = gen_lowpart (QImode, operands[0]);
- operands[0] = gen_lowpart (SImode, operands[0]);
- operands[2] = gen_reg_rtx (SImode);
-+ operands[5] = gen_lowpart (QImode, operands[2]);
- }"
- )
-
- ;; Subroutine to store a half word integer constant into memory.
- (define_expand "storeinthi"
- [(set (match_operand 0 "" "")
-- (subreg:QI (match_operand 1 "" "") 0))
-+ (match_operand 1 "" ""))
- (set (match_dup 3) (match_dup 2))]
- "TARGET_ARM"
- "
-@@ -4363,6 +4365,7 @@
- operands[3] = adjust_address (op0, QImode, 1);
- operands[0] = adjust_address (operands[0], QImode, 0);
- operands[2] = gen_lowpart (QImode, operands[2]);
-+ operands[1] = gen_lowpart (QImode, operands[1]);
- }"
- )
-
-@@ -4682,11 +4685,12 @@
- (set (match_dup 3)
- (ashiftrt:SI (match_dup 2) (const_int 16)))
- (set (match_operand:HI 0 "s_register_operand" "")
-- (subreg:HI (match_dup 3) 0))]
-+ (match_dup 4))]
- "TARGET_ARM"
- "
- operands[2] = gen_reg_rtx (SImode);
- operands[3] = gen_reg_rtx (SImode);
-+ operands[4] = gen_lowpart (HImode, operands[3]);
- "
- )
-
diff --git a/patches/gcc/3.3.4/gcc-3.3.4-libstdcxx-sh.patch b/patches/gcc/3.3.4/gcc-3.3.4-libstdcxx-sh.patch
deleted file mode 100644
index 4f21be3..0000000
--- a/patches/gcc/3.3.4/gcc-3.3.4-libstdcxx-sh.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Date: Tue, 06 Jul 2004 10:40:57 +0900 (JST)
-Message-Id: <20040706.104057.48529182.kkojima@rr.iij4u.or.jp>
-To: dank@kegel.com
-Cc: linux-sh@m17n.org, linuxsh-dev@lists.sourceforge.net
-Subject: gcc-3.4.1 (Was: The current kernel for a Jornada 680 SH3)
-From: Kaz Kojima <kkojima@rr.iij4u.or.jp>
-In-Reply-To: <20040529.175014.48668611.kkojima@rr.iij4u.or.jp>
-References: <20040528.125858.50336810.kkojima@rr.iij4u.or.jp>
- <40B8205D.8030200@kegel.com>
- <20040529.175014.48668611.kkojima@rr.iij4u.or.jp>
-
-Hi,
-
-...
-
-BTW, gcc-3.3.4 was also released and there is a bad news :-( Someone
-reverted wrongly a configury patch against libstdc++ for sh-linux at
-the last moment. We have to regenerate gcc-3.3.4/libstdc++-v3/configure
-with autoconf 2.13 or apply the one-line patch below manually:
-
---- gcc-3.3.4-orig/libstdc++-v3/configure 2004-06-01 09:45:44.000000000 +0900
-+++ gcc-3.3.4/libstdc++-v3/configure 2004-06-29 22:38:05.000000000 +0900
-@@ -2009,7 +2009,7 @@ irix5* | irix6*)
- # This must be Linux ELF.
- linux-gnu*)
- case $host_cpu in
-- alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
-+ alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh* )
- lt_cv_deplibs_check_method=pass_all ;;
- *)
- # glibc up to 2.1.1 does not perform some relocations on ARM
-
-
-Regards,
- kaz
-
-
-
diff --git a/patches/gcc/3.3.4/gcc-3.3.4-ppc-asm-spec.patch b/patches/gcc/3.3.4/gcc-3.3.4-ppc-asm-spec.patch
deleted file mode 100644
index 9e45943..0000000
--- a/patches/gcc/3.3.4/gcc-3.3.4-ppc-asm-spec.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-Based on gcc-3.4.0/gcc-3.3.3h-ppc-asm-spec.patch
-
-Fixes the following errors when building gcc for ppc7450:
-
-/tmp/ccj38uQs.s: Assembler messages:
-/tmp/ccj38uQs.s:4370: Error: Unrecognized opcode: `mfvrsave'
-/tmp/ccj38uQs.s:4404: Error: Unrecognized opcode: `stvx'
-/tmp/ccj38uQs.s:4571: Error: Unrecognized opcode: `lvx'
-/tmp/ccj38uQs.s:4572: Error: Unrecognized opcode: `mtvrsave'
-make[2]: *** [libgcc/./unwind-dw2.o] Error 1
-make[2]: Leaving directory `/opt/crosstool-0.28-rc35/build/powerpc-7450-linux-gnu/gcc-3.3.4-glibc-2.3.2/build-gcc-core/gcc'
-make[1]: *** [stmp-multilib] Error 2
-make[1]: Leaving directory `/opt/crosstool-0.28-rc35/build/powerpc-7450-linux-gnu/gcc-3.3.4-glibc-2.3.2/build-gcc-core/gcc'
-make: *** [all-gcc] Error 2
-
-Note that the "-mcpu=7450" option must appear on the "gcc" command line in
-order for "-maltivec" to be passed to the assembler. Or, "-maltivec" itself
-may be passed to the "gcc" command.
-
-Contributed by Tom Warzeka <waz@quahog.npt.nuwc.navy.mil>
-
-===================================================================
---- gcc-3.3.4/gcc/config/rs6000/rs6000.h~ 2004-02-01 23:40:49.000000000 -0500
-+++ gcc-3.3.4/gcc/config/rs6000/rs6000.h 2004-08-18 14:15:57.000000000 -0400
-@@ -52,23 +52,29 @@
- "%{!mcpu*: \
- %{mpower: %{!mpower2: -mpwr}} \
- %{mpower2: -mpwrx} \
-- %{mpowerpc*: -mppc} \
-+ %{mpowerpc64*: -mppc64} \
-+ %{!mpowerpc64*: %{mpowerpc*: -mppc}} \
- %{mno-power: %{!mpowerpc*: -mcom}} \
-- %{!mno-power: %{!mpower2: %(asm_default)}}} \
-+ %{!mno-power: %{!mpower*: %(asm_default)}}} \
- %{mcpu=common: -mcom} \
- %{mcpu=power: -mpwr} \
- %{mcpu=power2: -mpwrx} \
--%{mcpu=power3: -m604} \
-+%{mcpu=power3: -mppc64} \
- %{mcpu=power4: -mpower4} \
-+%{mcpu=power5: -mpower4} \
- %{mcpu=powerpc: -mppc} \
- %{mcpu=rios: -mpwr} \
- %{mcpu=rios1: -mpwr} \
- %{mcpu=rios2: -mpwrx} \
- %{mcpu=rsc: -mpwr} \
- %{mcpu=rsc1: -mpwr} \
-+%{mcpu=rs64a: -mppc64} \
- %{mcpu=401: -mppc} \
- %{mcpu=403: -m403} \
- %{mcpu=405: -m405} \
-+%{mcpu=405fp: -m405} \
-+%{mcpu=440: -m440} \
-+%{mcpu=440fp: -m440} \
- %{mcpu=505: -mppc} \
- %{mcpu=601: -m601} \
- %{mcpu=602: -mppc} \
-@@ -77,18 +83,23 @@
- %{mcpu=ec603e: -mppc} \
- %{mcpu=604: -mppc} \
- %{mcpu=604e: -mppc} \
--%{mcpu=620: -mppc} \
--%{mcpu=630: -m604} \
-+%{mcpu=620: -mppc64} \
-+%{mcpu=630: -mppc64} \
- %{mcpu=740: -mppc} \
--%{mcpu=7400: -mppc} \
--%{mcpu=7450: -mppc} \
- %{mcpu=750: -mppc} \
-+%{mcpu=G3: -mppc} \
-+%{mcpu=7400: -mppc -maltivec} \
-+%{mcpu=7450: -mppc -maltivec} \
-+%{mcpu=G4: -mppc -maltivec} \
- %{mcpu=801: -mppc} \
- %{mcpu=821: -mppc} \
- %{mcpu=823: -mppc} \
- %{mcpu=860: -mppc} \
-+%{mcpu=970: -mpower4 -maltivec} \
-+%{mcpu=G5: -mpower4 -maltivec} \
- %{mcpu=8540: -me500} \
--%{maltivec: -maltivec}"
-+%{maltivec: -maltivec} \
-+-many"
-
- #define CPP_DEFAULT_SPEC ""
-
diff --git a/patches/gcc/3.3.4/gcc-3.3.4-trap-posix.patch b/patches/gcc/3.3.4/gcc-3.3.4-trap-posix.patch
deleted file mode 100644
index eef35b5..0000000
--- a/patches/gcc/3.3.4/gcc-3.3.4-trap-posix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# Submitted-By: Marc Kleine-Budde <mkl@pengutronix.de>, 2005-04-20
-#
-# Error:
-#
-# creating libintl.h
-# Configuring etc...
-# loading cache ../config.cache
-# checking for a BSD compatible install... (cached) /usr/bin/install -c
-# creating ./config.status
-# creating Makefile
-# trap: usage: trap [-lp] [[arg] signal_spec ...]
-#
-# Description:
-#
-# non-posix conform usage of trap causes bash >= 3.0 to fail
-# e.g.: http://sourceware.org/ml/crossgcc/2004-12/msg00132.html
-#
-# Status:
-#
-# fixed in gcc >= 3.3.5
-# backport of gcc-3.3.5 fix
-#
-diff -ruN gcc-3.3.4-orig/configure gcc-3.3.4/configure
---- gcc-3.3.4-orig/configure 2002-09-29 18:11:24.000000000 +0200
-+++ gcc-3.3.4/configure 2005-04-20 21:11:30.000000000 +0200
-@@ -697,7 +697,7 @@
- if test -f skip-this-dir; then
- # Perform the same cleanup as the trap handler, minus the "exit 1" of course,
- # and reset the trap handler.
-- trap 0
-+ trap '' 0
- rm -rf Makefile* ${tmpdir}
- # Execute the final clean-up actions
- ${config_shell} skip-this-dir
-@@ -1596,7 +1596,7 @@
- # Perform the same cleanup as the trap handler, minus the "exit 1" of course,
- # and reset the trap handler.
- rm -rf ${tmpdir}
--trap 0
-+trap '' 0
-
- exit 0
-
diff --git a/patches/gcc/3.3.5/gcc-3.3.4-arm-bigendian.patch b/patches/gcc/3.3.5/gcc-3.3.4-arm-bigendian.patch
deleted file mode 100644
index 0816b83..0000000
--- a/patches/gcc/3.3.5/gcc-3.3.4-arm-bigendian.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-diff -urN gcc-3.3.4.orig/gcc/config/arm/linux-elf.h gcc-3.3.4/gcc/config/arm/linux-elf.h
---- gcc-3.3.4.orig/gcc/config/arm/linux-elf.h 2004-03-30 22:43:45.000000000 +0200
-+++ gcc-3.3.4/gcc/config/arm/linux-elf.h 2004-08-20 02:13:02.969084177 +0200
-@@ -30,17 +30,31 @@
- /* Do not assume anything about header files. */
- #define NO_IMPLICIT_EXTERN_C
-
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
-+#define TARGET_ENDIAN_OPTION "mbig-endian"
-+#define TARGET_LINKER_EMULATION "armelfb_linux"
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#define TARGET_ENDIAN_OPTION "mlittle-endian"
-+#define TARGET_LINKER_EMULATION "armelf_linux"
-+#endif
-+
- /* Default is to use APCS-32 mode. */
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
-+#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS | TARGET_ENDIAN_DEFAULT)
-
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
-
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
-+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
-
- #undef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-
- #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
-
-@@ -88,7 +102,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
- -X \
-- %{mbig-endian:-EB}" \
-+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
- SUBTARGET_EXTRA_LINK_SPEC
-
- #define TARGET_OS_CPP_BUILTINS() \
-diff -urN gcc-3.3.4.orig/gcc/config.gcc gcc-3.3.4/gcc/config.gcc
---- gcc-3.3.4.orig/gcc/config.gcc 2004-04-29 06:42:47.000000000 +0200
-+++ gcc-3.3.4/gcc/config.gcc 2004-08-20 02:11:04.326143343 +0200
-@@ -699,6 +699,11 @@
- ;;
- arm*-*-linux*) # ARM GNU/Linux with ELF
- tm_file="dbxelf.h elfos.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
-+ case $machine in
-+ arm*b-*)
-+ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
-+ ;;
-+ esac
- tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
- extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- gnu_ld=yes
diff --git a/patches/gcc/3.3.5/gcc-3.3.4-arm-pr22528.patch b/patches/gcc/3.3.5/gcc-3.3.4-arm-pr22528.patch
deleted file mode 100644
index 0611e2c..0000000
--- a/patches/gcc/3.3.5/gcc-3.3.4-arm-pr22528.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From http://gcc.gnu.org/ml/gcc-patches/2003-11/msg00832.html, by
-Richard Earnshaw. Fixes http://gcc.gnu.org/PR22528
-
---- gcc-3.3.4/gcc/config/arm/arm.md.orig 2004-03-30 22:43:44.000000000 +0200
-+++ gcc-3.3.4/gcc/config/arm/arm.md 2005-08-15 12:21:55.000000000 +0200
-@@ -4275,7 +4275,7 @@
- (set (match_dup 2)
- (ashiftrt:SI (match_operand 0 "" "") (const_int 8)))
- ;; store the high byte
-- (set (match_dup 4) (subreg:QI (match_dup 2) 0))] ;explicit subreg safe
-+ (set (match_dup 4) (match_dup 5))]
- "TARGET_ARM"
- "
- {
-@@ -4291,7 +4291,8 @@
- operands[1] = adjust_address (operands[1], QImode, 0);
- operands[3] = gen_lowpart (QImode, operands[0]);
- operands[0] = gen_lowpart (SImode, operands[0]);
-- operands[2] = gen_reg_rtx (SImode);
-+ operands[2] = gen_reg_rtx (SImode);
-+ operands[5] = gen_lowpart (QImode, operands[2]);
- }"
- )
-
-@@ -4299,7 +4300,7 @@
- [(set (match_dup 4) (match_dup 3))
- (set (match_dup 2)
- (ashiftrt:SI (match_operand 0 "" "") (const_int 8)))
-- (set (match_operand 1 "" "") (subreg:QI (match_dup 2) 3))]
-+ (set (match_operand 1 "" "") (match_dup 5))]
- "TARGET_ARM"
- "
- {
-@@ -4316,13 +4317,14 @@
- operands[3] = gen_lowpart (QImode, operands[0]);
- operands[0] = gen_lowpart (SImode, operands[0]);
- operands[2] = gen_reg_rtx (SImode);
-+ operands[5] = gen_lowpart (QImode, operands[2]);
- }"
- )
-
- ;; Subroutine to store a half word integer constant into memory.
- (define_expand "storeinthi"
- [(set (match_operand 0 "" "")
-- (subreg:QI (match_operand 1 "" "") 0))
-+ (match_operand 1 "" ""))
- (set (match_dup 3) (match_dup 2))]
- "TARGET_ARM"
- "
-@@ -4363,6 +4365,7 @@
- operands[3] = adjust_address (op0, QImode, 1);
- operands[0] = adjust_address (operands[0], QImode, 0);
- operands[2] = gen_lowpart (QImode, operands[2]);
-+ operands[1] = gen_lowpart (QImode, operands[1]);
- }"
- )
-
-@@ -4682,11 +4685,12 @@
- (set (match_dup 3)
- (ashiftrt:SI (match_dup 2) (const_int 16)))
- (set (match_operand:HI 0 "s_register_operand" "")
-- (subreg:HI (match_dup 3) 0))]
-+ (match_dup 4))]
- "TARGET_ARM"
- "
- operands[2] = gen_reg_rtx (SImode);
- operands[3] = gen_reg_rtx (SImode);
-+ operands[4] = gen_lowpart (HImode, operands[3]);
- "
- )
-
diff --git a/patches/gcc/3.3/compat.exp.patch b/patches/gcc/3.3/compat.exp.patch
deleted file mode 100644
index 763b8a1..0000000
--- a/patches/gcc/3.3/compat.exp.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Fixes the following problem when testing a cross-compiler:
-
-============================================
-Testing g++.dg/compat/abi/bitfield1,
-...
-Invoking the compiler as /crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/build-gcc/gcc/testsuite/../g++ ...
-/crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/gcc-3.3/gcc/testsuite/g++.dg/compat/abi/bitfield1_main.C
-pid is 16028 -16028
-compiler exited with status 1
-output is:
-sh: error while loading shared libraries: /opt/cegl-2.0/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/powerpc-750-linux-gnu/./lib/libdl.so.2: ELF file data encoding not little-endian
-/crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/build-gcc/gcc/testsuite/../g++: error while loading shared libraries: /opt/cegl-2.0/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/powerpc-750-linux-gnu/./lib/libc.so.6: ELF file data encoding not little-endian
-
-FAIL: g++.dg/compat/abi/bitfield1 main_tst.o compile
-============================================
-
---- gcc-3.3/gcc/testsuite/g++.dg/compat/compat.exp.old Thu Oct 17 17:22:57 2002
-+++ gcc-3.3/gcc/testsuite/g++.dg/compat/compat.exp Mon Jul 14 10:59:19 2003
-@@ -42,11 +42,13 @@
- proc compat-fix-library-path { } {
- global ld_library_path
-
-- # See comments in lib/g++.exp for why this is needed.
-- setenv LD_LIBRARY_PATH $ld_library_path
-- setenv SHLIB_PATH $ld_library_path
-- setenv LD_LIBRARYN32_PATH $ld_library_path
-- setenv LD_LIBRARY64_PATH $ld_library_path
-+ if {![is_remote target]} {
-+ # See comments in lib/g++.exp for why this is needed.
-+ setenv LD_LIBRARY_PATH $ld_library_path
-+ setenv SHLIB_PATH $ld_library_path
-+ setenv LD_LIBRARYN32_PATH $ld_library_path
-+ setenv LD_LIBRARY64_PATH $ld_library_path
-+ }
- }
-
- #
diff --git a/patches/gcc/3.3/config.sub.patch b/patches/gcc/3.3/config.sub.patch
deleted file mode 100644
index 928f911..0000000
--- a/patches/gcc/3.3/config.sub.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-When configuring a s390->s390 or cris->cris crosscompiler
-(ok, I haven't hit this yet, but one of these days I'll get me an account
-on an s390, and then I'll need this patch :-), you'll get the
-following error:
-
-+ /build/s390-unknown-linux-gnu/gcc-3.3-glibc-2.3.2/gcc-3.3/configure
---target=s390-unknown-linux-gnu --host=s390-host_unknown-linux-gnu
---prefix=/result/s390-unknown-linux-gnu/gcc-3.3-glibc-2.3.2
---enable-languages=c
---with-local-prefix=/result/s390-unknown-linux-gnu/gcc-3.3-glibc-2.3.2/s390-
-unknown-linux-gnu --enable-threads=no --without-headers --with-newlib
---disable-shared
-...
-*** --with-headers is only supported when cross compiling
-
-This error pops up only when you're using Daniel Jacobowitz's technique
-of slightly changing the target and host tuples to make them different
-enough to force gcc's build system to not try to pull in system libraries
-or headers. This technique is needed e.g. to build an x86 -> x86
-cross-compiler.
-(The LFS developers ran into the same bug that prompted me to use
-this technique; they point people who run into it to
-http://linuxfromscratch.org/~greg/pure_lfs.txt, which is a different
-way of avoiding this problem. I think the tuple tweak is the way to go, though.)
-
-config-patches@gnu.org rejected this patch, on the grounds that there
-is only one vendor of each of those two architectures, so the
-canonicalization is by definition correct. When I pointed out the
-difficulty this causes for people building s390 -> s390 or
-cris -> cris compilers that are incompatible with the system
-libraries and thus must be built like cross-compilers, he grumped and said
-"autoconf should let you specify a cross-compiler in some other way than
-comparing tuple strings".
-
-
-
---- gcc-3.3/config.sub.old Sun Jun 8 20:38:47 2003
-+++ gcc-3.3/config.sub Sun Jun 8 20:40:34 2003
-@@ -433,9 +433,12 @@
- crds | unos)
- basic_machine=m68k-crds
- ;;
-- cris | cris-* | etrax*)
-+ cris | etrax*)
- basic_machine=cris-axis
- ;;
-+ cris-*)
-+ basic_machine=cris-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
-@@ -820,11 +823,17 @@
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
-- s390 | s390-*)
-+ s390)
- basic_machine=s390-ibm
- ;;
-- s390x | s390x-*)
-+ s390-*)
-+ basic_machine=s390-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ s390x)
- basic_machine=s390x-ibm
-+ ;;
-+ s390x-*)
-+ basic_machine=s390x-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- sa29200)
- basic_machine=a29k-amd
diff --git a/patches/gcc/3.3/gcc-3.2.3-g++.exp.patch b/patches/gcc/3.3/gcc-3.2.3-g++.exp.patch
deleted file mode 100644
index 0de46fc..0000000
--- a/patches/gcc/3.3/gcc-3.2.3-g++.exp.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-g++ testsuite fixes for cross-compilers, Dan Kegel, Ixia Communications, 12 July 2003
-
-The first hunk fixes the error
-
-/testsuite_flags: /testsuite_flags: No such file or directory
- while executing
-"exec sh ${odir_v3}/testsuite_flags --build-includes"
- (procedure "g++_include_flags" line 21)
- invoked from within
-"g++_include_flags [get_multilibs] "
- (procedure "g++_init" line 63)
- invoked from within
-"${tool}_init $test_file_name"
- (procedure "runtest" line 19)
- invoked from within
-"runtest $test_name"
- ("foreach" body line 42)
- invoked from within
-...
-make[1]: [check-g++] Error 1 (ignored)
-
-The fix isn't especially pretty, but it worked for me, and can't hurt the
-more common native compiler case. Maybe someone who knows the code better
-can come up with a better fix.
-
-The second hunk fixes the error
-
-sh: error while loading shared libraries: /opt/cegl-2.0/powerpc-405-linux-gnu/gcc-3.2.3-glibc-2.2.5/powerpc-405-linux-gnu/./lib/libdl.so.2: ELF file data encoding not little-endian
-
-when trying to compile g++ testcases (!); setting up
-the shared library environment when running crosstests of g++
-should either be done by a special board file, or by
-setting up a remote chroot environment (see http://kegel.com/crosstool),
-not by blithely setting LD_LIBRARY_PATH on the local system.
-
---- gcc-3.2.3/gcc/testsuite/lib/g++.exp.old Fri Jul 11 15:42:47 2003
-+++ gcc-3.2.3/gcc/testsuite/lib/g++.exp Sat Jul 12 12:57:07 2003
-@@ -72,6 +72,8 @@
- #
- proc g++_include_flags { paths } {
- global srcdir
-+ global objdir
-+ global target_triplet
- global HAVE_LIBSTDCXX_V3
- global TESTING_IN_BUILD_TREE
-
-@@ -90,6 +92,20 @@
-
- if { ${HAVE_LIBSTDCXX_V3} } {
- set odir_v3 [lookfor_file ${gccpath} libstdc++-v3]
-+ if { $odir_v3 == "" } {
-+ verbose "g++_include_flags: couldn't find libstdc++-v3 on first try, now looking in build directory $objdir"
-+ # first assume no multilibs
-+ set odir_v3 [lookfor_file ${objdir} "$target_triplet/libstdc++-v3"]
-+ }
-+ if { $odir_v3 == "" } {
-+ verbose "g++_include_flags: couldn't find libstdc++-v3 on second try, trying multilib"
-+ # assume multilib only one level deep
-+ set multisub [file tail $gccpath]
-+ set odir_v3 [lookfor_file ${objdir} "$target_triplet/$multisub/libstdc++-v3"]
-+ }
-+ if { $odir_v3 == "" } {
-+ error "Can't find libstdc++-v3"
-+ }
- append flags [exec sh ${odir_v3}/testsuite_flags --build-includes]
- } else {
- set odir_v2 [lookfor_file ${gccpath} libstdc++]
-@@ -192,16 +192,20 @@
- }
- }
-
-- # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
-- # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
-- # (for the 64-bit ABI). The right way to do this would be to modify
-- # unix.exp -- but that's not an option since it's part of DejaGNU
-- # proper, so we do it here. We really only need to do
-- # this on IRIX, but it shouldn't hurt to do it anywhere else.
-- setenv LD_LIBRARY_PATH $ld_library_path
-- setenv SHLIB_PATH $ld_library_path
-- setenv LD_LIBRARYN32_PATH $ld_library_path
-- setenv LD_LIBRARY64_PATH $ld_library_path
-+ if {![is_remote target]} {
-+ # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
-+ # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
-+ # (for the 64-bit ABI). The right way to do this would be to modify
-+ # unix.exp -- but that's not an option since it's part of DejaGNU
-+ # proper, so we do it here. We really only need to do
-+ # this on IRIX, but it shouldn't hurt to do it anywhere else.
-+
-+ # Doing this causes us to be unable to run cross-compilers.
-+ setenv LD_LIBRARY_PATH $ld_library_path
-+ setenv SHLIB_PATH $ld_library_path
-+ setenv LD_LIBRARYN32_PATH $ld_library_path
-+ setenv LD_LIBRARY64_PATH $ld_library_path
-+ }
-
- return "$flags"
- }
diff --git a/patches/gcc/3.3/gcc-3.3-libstdc++-v3-dg.exp.patch b/patches/gcc/3.3/gcc-3.3-libstdc++-v3-dg.exp.patch
deleted file mode 100644
index aafc130..0000000
--- a/patches/gcc/3.3/gcc-3.3-libstdc++-v3-dg.exp.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-Without this patch, the command
-
-RUNTESTFLAGS=--target=powerpc-750-linux-gnu -v -v -v -v make check-target-libstdc++-v3
-
-fails in two ways:
-1. the -L option meant to locate the testsuite directory is incorrect, and
-2. the wrong compiler is invoked, causing all sorts of havoc, not least of which
-is the native compiler is invoked when we really wanted to invoke the cross-compiler
-we just built.
-
-Here's an example log of the problem in action. Every testcase fails, this shows just one:
--------------
-Invoking the compiler as g++ -ggdb3 -DDEBUG_ASSERT -I/home3/dank/wk/ixos/dap_interim/linux/3rdParty/crosstool/crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/gcc-3.3/libstdc++-v3/testsuite /home3/dank/wk/ixos/dap_interim/linux/3rdParty/crosstool/crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/gcc-3.3/libstdc++-v3/testsuite/20_util/binders.cc -g -O2 -DDEBUG_ASSERT -L/testsuite -lv3test -lm -o ./binders.exe
-compiler exited with status 1
-output is:
-/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_function.h: In method `void binder2nd<mem_fun1_ref_t<void,Elem,int> >::operator ()(const Elem &) const':^M
-/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_algo.h:83: instantiated from `for_each<Elem *, binder2nd<mem_fun1_ref_t<void,Elem,int> > >(Elem *, Elem *, binder2nd<mem_fun1_ref_t<void,Elem,int> >)'^M
-/home3/dank/wk/ixos/dap_interim/linux/3rdParty/crosstool/crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/gcc-3.3/libstdc++-v3/testsuite/20_util/binders.cc:43: instantiated from here^M
-/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_function.h:224: conversion from `const Elem' to `Elem &' discards qualifiers^M
-/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_function.h:622: in passing argument 1 of `mem_fun1_ref_t<void,Elem,int>::operator ()(Elem &, int) const'^M
-...
-FAIL: 20_util/binders.cc (test for excess errors)
-WARNING: 20_util/binders.cc compilation failed to produce executable
--------------
-
-And here's the patch. I'm not happy with it, and it probably gets some cases wrong,
-but it seems to work for the common native case and for my cross-compiler case.
-
---- gcc-3.3/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp.old Sun Jul 13 10:42:01 2003
-+++ gcc-3.3/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp Sun Jul 13 11:39:54 2003
-@@ -46,8 +46,23 @@
- global gluefile wrap_flags
- global ld_library_path
- global tool_root_dir
-+ global target_triplet
-
- set blddir [lookfor_file [get_multilibs] libstdc++-v3]
-+ if { $blddir == "" } {
-+ set multilibs [get_multilibs]
-+ # FIXME: assume multilib only one level deep
-+ set multisub [file tail $multilibs]
-+ verbose "libstdc++-v3-init: couldn't find libstdc++-v3 in $multilibs, trying $objdir"
-+ set blddir [lookfor_file ${objdir} "$target_triplet/$multisub/libstdc++-v3"]
-+ }
-+ if { $blddir == "" } {
-+ verbose "libstdc++-v3-init: couldn't find libstdc++-v3, trying $objdir without multilibs"
-+ set blddir [lookfor_file ${objdir} "$target_triplet/libstdc++-v3"]
-+ }
-+ if { $blddir == "" } {
-+ error "Can't find libstdc++-v3"
-+ }
-
- # By default, we assume we want to run program images.
- global dg-do-what-default
diff --git a/patches/gcc/3.3/sh-pic-set_fpscr.patch b/patches/gcc/3.3/sh-pic-set_fpscr.patch
deleted file mode 100644
index 00cfb4c..0000000
--- a/patches/gcc/3.3/sh-pic-set_fpscr.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-Should fix
-make[2]: *** [/gcc-3.3-glibc-2.3.2/build-glibc/elf/check-textrel.out] Error 1
-in glibc's "make tests".
-
--------------
-
-Message-Id: <200307300255.h6U2tB906928@r-rr.iij4u.or.jp>
-To: dank@kegel.com
-Cc: linux-sh@m17n.org
-Subject: Re: Writing PIC version of __udivsi3_i4? (was: Re: "make tests" fails
- with "libc.so: text relocations used" in glibc-2.3.2 for sh4)
-In-Reply-To: Your message of "Wed, 30 Jul 2003 11:20:49 +0900"
- <200307300212.h6U2CH901209@r-rr.iij4u.or.jp>
-References: <200307300212.h6U2CH901209@r-rr.iij4u.or.jp>
-Date: Wed, 30 Jul 2003 12:03:01 +0900
-From: kaz Kojima <kkojima@rr.iij4u.or.jp>
-
-> I'll try to write the PIC version of it,
-
-Dan, does the attached patch work for you?
-
-[dank: original patch deleted; here's same thing rediffed against gcc-3.3 instead of HEAD]
-
---- gcc-3.3/gcc/config/sh/lib1funcs.asm.old Tue Jul 29 21:37:29 2003
-+++ gcc-3.3/gcc/config/sh/lib1funcs.asm Tue Jul 29 21:40:58 2003
-@@ -1792,7 +1792,17 @@
- .global GLOBAL(set_fpscr)
- GLOBAL(set_fpscr):
- lds r4,fpscr
-+#ifdef __PIC__
-+ mov.l r12,@-r15
-+ mova LOCAL(set_fpscr_L0),r0
-+ mov.l LOCAL(set_fpscr_L0),r12
-+ add r0,r12
-+ mov.l LOCAL(set_fpscr_L1),r0
-+ mov.l @(r0,r12),r1
-+ mov.l @r15+,r12
-+#else
- mov.l LOCAL(set_fpscr_L1),r1
-+#endif
- swap.w r4,r0
- or #24,r0
- #ifndef FMOVD_WORKS
-@@ -1820,8 +1830,16 @@
- mov.l r3,@(4,r1)
- #endif
- .align 2
-+#ifdef __PIC__
-+LOCAL(set_fpscr_L0):
-+ .long _GLOBAL_OFFSET_TABLE_
-+LOCAL(set_fpscr_L1):
-+ .long GLOBAL(fpscr_values@GOT)
-+#else
- LOCAL(set_fpscr_L1):
- .long GLOBAL(fpscr_values)
-+#endif
-+
- #ifdef __ELF__
- .comm GLOBAL(fpscr_values),8,4
- #else
diff --git a/patches/gcc/3.3/sh-predef-gnu_source.patch b/patches/gcc/3.3/sh-predef-gnu_source.patch
deleted file mode 100644
index dc94f4c..0000000
--- a/patches/gcc/3.3/sh-predef-gnu_source.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11096
-and http://gcc.gnu.org/ml/gcc-patches/2003-06/msg00424.html
-
---- gcc-3.3/gcc/config/sh/linux.h.old Wed Jun 4 17:37:40 2003
-+++ gcc-3.3/gcc/config/sh/linux.h Wed Jun 4 17:38:16 2003
-@@ -53,5 +53,9 @@
- %{static:-static}"
-
-+/* The GNU C++ standard library requires that these macros be defined. */
-+#undef CPLUSPLUS_CPP_SPEC
-+#define CPLUSPLUS_CPP_SPEC "-D_GNU_SOURCE %(cpp)"
-+
- #undef LIB_SPEC
- #define LIB_SPEC \
- "%{shared: -lc} \
diff --git a/patches/gcc/3.3/sh-spec.patch b/patches/gcc/3.3/sh-spec.patch
deleted file mode 100644
index 6266c1f..0000000
--- a/patches/gcc/3.3/sh-spec.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-Message-Id: <200308020452.h724q0n01509@r-rr.iij4u.or.jp>
-To: dank@kegel.com
-Cc: kkojima@rr.iij4u.or.jp
-Subject: Re: Writing PIC version of __udivsi3_i4?
-In-Reply-To: Your message of "Fri, 01 Aug 2003 21:15:27 -0700"
- <3F2B3ADF.6030206@kegel.com>
-References: <3F2B3ADF.6030206@kegel.com>
-Date: Sat, 02 Aug 2003 13:58:05 +0900
-From: kaz Kojima <kkojima@rr.iij4u.or.jp>
-
-Dan Kegel <dank@kegel.com> wrote:
-> It seems it might be from gcc's spec file:
->
-> *subtarget_link_spec:
-> %{shared:-shared} %{!static: %{rdynamic:-export-dynamic} %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} %{!rpath:-rpath /lib}} %{static:-static}
->
-> as the only place -rpath showed up was in the output of gcc -v as it
-> was linking libc.so.
->
-> Well, that's a clue, anyway! Guess I'll dig through the spec files
-> tomorrow to see if I can figure it out some more.
-
-I've grepped gcc/config/*/*.h and found only SH and old libc1 stuffs
-of i386/alpha include %{!rpath:-rpath ... in 3.3 release and the
-current CVS. And my sh-gcc's specs doesn't have this :-(
-It would be the Right Thing to remove this stuff simply. How about
-the gcc patch below?
-
-Regards,
- kaz
---
---- gcc-3.3/gcc/config/sh/linux.h.orig Sat Aug 2 13:20:57 2003
-+++ gcc-3.3/gcc/config/sh/linux.h Sat Aug 2 13:22:42 2003
-@@ -48,8 +48,7 @@ do { \
- "%{shared:-shared} \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
-- %{!rpath:-rpath /lib}} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
- %{static:-static}"
-
- /* The GNU C++ standard library requires that these macros be defined. */
-
-
diff --git a/patches/gcc/3.3/sh4-kaz-workaround.patch b/patches/gcc/3.3/sh4-kaz-workaround.patch
deleted file mode 100644
index 189b132..0000000
--- a/patches/gcc/3.3/sh4-kaz-workaround.patch
+++ /dev/null
@@ -1,145 +0,0 @@
-[lightly edited to fit my patch directory - dank]
-
-From: kaz Kojima <kkojima@rr.iij4u.or.jp>
-Date: Sat, 09 Aug 2003 09:46:21 +0900
-To: dank@kegel.com
-
-Hi Dan,
-
-I've come back from the vacation and looked glibc string test
-failures on sh4. This looks a gcc problem. gcc-3.3/3.4 doesn't
-compile these tests correctly. The attached testcase aborts on
-gcc-3.3/3.4 -O2 but exits normally gcc-3.2 and gcc-3.0.
-The option -O2 is not essential but it makes the testcase small.
-The failed string tests include the same pattern of the code with
-f=random to generate ramdom strings but they get strings with
-embedded NULL characters :-(
-
-...
-I've got a workaround below for this bug, though it might merely
-paper over the real bug. Anyway, I'd like to send a PR for this.
-
-Regards,
- kaz
---
-int val = 0xff00;
-
-int f (void) { return val; }
-
-unsigned char a[1];
-
-void
-foo (void)
-{
- a[0] = f () & 255;
-
- if (!a[0])
- a[0] = f () & 255;
-
- if (!a[0])
- a[0] = 1 + (f () & 127);
-}
-
-int
-main (int argc, char **argv)
-{
- foo ();
- if (!a[0])
- abort ();
-
- return 0;
-}
-
---
-
-diff -u3prN ORIG/gcc/gcc/config/sh/sh.c LOCAL/gcc/gcc/config/sh/sh.c
---- gcc/gcc/config/sh/sh.c.old Fri Aug 8 18:39:02 2003
-+++ gcc/gcc/config/sh/sh.c Fri Aug 8 22:31:02 2003
-@@ -6657,6 +6657,19 @@ arith_reg_dest (op, mode)
- return arith_reg_operand (op, mode);
- }
-
-+/* Like above, but for SImode compare destinations: forbid paradoxical
-+ subregs, because it would get the combiner confused. */
-+int
-+arith_reg_cmp_dest (op, mode)
-+ rtx op;
-+ enum machine_mode mode;
-+{
-+ if (mode == SImode && GET_CODE (op) == SUBREG
-+ && GET_MODE_SIZE (GET_MODE (SUBREG_REG (op))) < 4)
-+ return 0;
-+ return arith_reg_operand (op, mode);
-+}
-+
- int
- int_gpr_dest (op, mode)
- rtx op;
-diff -u3prN ORIG/gcc/gcc/config/sh/sh.h LOCAL/gcc/gcc/config/sh/sh.h
---- gcc/gcc/config/sh/sh.h.old Fri Aug 8 18:39:02 2003
-+++ gcc/gcc/config/sh/sh.h Fri Aug 8 22:31:02 2003
-@@ -3365,6 +3365,7 @@ extern int rtx_equal_function_value_matt
- {"and_operand", {SUBREG, REG, CONST_INT}}, \
- {"any_register_operand", {SUBREG, REG}}, \
- {"arith_operand", {SUBREG, REG, CONST_INT}}, \
-+ {"arith_reg_cmp_dest", {SUBREG, REG}}, \
- {"arith_reg_dest", {SUBREG, REG}}, \
- {"arith_reg_operand", {SUBREG, REG}}, \
- {"arith_reg_or_0_operand", {SUBREG, REG, CONST_INT, CONST_VECTOR}}, \
-
---- gcc-3.3/gcc/config/sh/sh.md.orig Tue Apr 15 10:06:10 2003
-+++ gcc-3.3/gcc/config/sh/sh.md Sat Aug 9 22:31:13 2003
-@@ -616,7 +616,7 @@
-
- (define_insn ""
- [(set (reg:SI T_REG)
-- (eq:SI (and:SI (match_operand:SI 0 "arith_reg_operand" "z,r")
-+ (eq:SI (and:SI (match_operand:SI 0 "arith_reg_cmp_dest" "z,r")
- (match_operand:SI 1 "arith_operand" "L,r"))
- (const_int 0)))]
- "TARGET_SH1"
-@@ -631,7 +631,7 @@
-
- (define_insn "cmpeqsi_t"
- [(set (reg:SI T_REG)
-- (eq:SI (match_operand:SI 0 "arith_reg_operand" "r,z,r")
-+ (eq:SI (match_operand:SI 0 "arith_reg_cmp_dest" "r,z,r")
- (match_operand:SI 1 "arith_operand" "N,rI,r")))]
- "TARGET_SH1"
- "@
-@@ -642,7 +642,7 @@
-
- (define_insn "cmpgtsi_t"
- [(set (reg:SI T_REG)
-- (gt:SI (match_operand:SI 0 "arith_reg_operand" "r,r")
-+ (gt:SI (match_operand:SI 0 "arith_reg_cmp_dest" "r,r")
- (match_operand:SI 1 "arith_reg_or_0_operand" "r,N")))]
- "TARGET_SH1"
- "@
-@@ -652,7 +652,7 @@
-
- (define_insn "cmpgesi_t"
- [(set (reg:SI T_REG)
-- (ge:SI (match_operand:SI 0 "arith_reg_operand" "r,r")
-+ (ge:SI (match_operand:SI 0 "arith_reg_cmp_dest" "r,r")
- (match_operand:SI 1 "arith_reg_or_0_operand" "r,N")))]
- "TARGET_SH1"
- "@
-@@ -666,7 +666,7 @@
-
- (define_insn "cmpgeusi_t"
- [(set (reg:SI T_REG)
-- (geu:SI (match_operand:SI 0 "arith_reg_operand" "r")
-+ (geu:SI (match_operand:SI 0 "arith_reg_cmp_dest" "r")
- (match_operand:SI 1 "arith_reg_operand" "r")))]
- "TARGET_SH1"
- "cmp/hs %1,%0"
-@@ -674,7 +674,7 @@
-
- (define_insn "cmpgtusi_t"
- [(set (reg:SI T_REG)
-- (gtu:SI (match_operand:SI 0 "arith_reg_operand" "r")
-+ (gtu:SI (match_operand:SI 0 "arith_reg_cmp_dest" "r")
- (match_operand:SI 1 "arith_reg_operand" "r")))]
- "TARGET_SH1"
- "cmp/hi %1,%0"
diff --git a/patches/gcc/3.3/sh4-no-fix-protos.patch b/patches/gcc/3.3/sh4-no-fix-protos.patch
deleted file mode 100644
index c3c478f..0000000
--- a/patches/gcc/3.3/sh4-no-fix-protos.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10331
-and http://gcc.gnu.org/ml/gcc-patches/2003-06/msg00423.html
-
---- gcc-3.3/gcc/config/sh/t-linux.old Wed Jun 4 13:01:39 2003
-+++ gcc-3.3/gcc/config/sh/t-linux Wed Jun 4 13:02:12 2003
-@@ -1,3 +1,6 @@
-+# Don't run fixproto
-+STMP_FIXPROTO =
-+
- TARGET_LIBGCC2_CFLAGS = -fpic
- LIB1ASMFUNCS_CACHE = _ic_invalidate
-
diff --git a/patches/gcc/3.3/sh4-pthread.patch b/patches/gcc/3.3/sh4-pthread.patch
deleted file mode 100644
index a0c9233..0000000
--- a/patches/gcc/3.3/sh4-pthread.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Patch to fix following test case failure:
-
- === libstdc++-v3 tests ===
-FAIL: thread/pthread1.cc (test for excess errors)
-Excess errors:
-/opt/cegl-2.0/sh4-unknown-linux-gnu/gcc-ss-3_3-20030714-glibc-2.2.5/sh4-unknown-linux-gnu/bin/ld: cannot find -lthread
-collect2: ld returned 1 exit status
-
-Note that *any* program compiled with -pthread fails:
-
-/opt/cegl-2.0/sh4-unknown-linux-gnu/gcc-ss-3_3-20030714-glibc-2.2.5/bin/sh4-unknown-linux-gnu-gcc hello.c -pthread
-/opt/cegl-2.0/sh4-unknown-linux-gnu/gcc-ss-3_3-20030714-glibc-2.2.5/lib/gcc-lib/sh4-unknown-linux-gnu/3.3.1/../../../../sh4-unknown-linux-gnu/bin/ld: cannot find -lthread
-collect2: ld returned 1 exit status
-
-Compiling with -lpthread on the other hand works fine:
-/opt/cegl-2.0/sh4-unknown-linux-gnu/gcc-ss-3_3-20030714-glibc-2.2.5/bin/sh4-unknown-linux-gnu-gcc hello.c -lpthread
-
-So -pthread is broken in some trivial way; it should invoke -lpthread, not -lthread,
-at least when targeting Linux.
-
-http://www.sh-linux.org/rpm-2003/SRPMS/gcc-3.2.3-3.src.rpm contains a jumbo patch,
-gcc-20030210-sh-linux-1.patch, that includes a fix for this. Here's the
-appropriate hunk (brings in a fix for the documented -mieee option).
-No idea if this fix is completely right, but it works for me...
-- dank@kegel.com 20 Jul 2003
-
-Index: linux.h
-===================================================================
-RCS file: /cvsroot/gcc/gcc/gcc/config/sh/linux.h,v
-retrieving revision 1.9.20.1
-diff -u -d -u -r1.9.20.1 linux.h
---- gcc-ss-3_3-20030714/gcc/config/sh/linux.h.old 6 Jun 2003 02:30:59 -0000 1.9.20.1
-+++ gcc-ss-3_3-20030714/gcc/config/sh/linux.h 20 Jul 2003 23:36:50 -0000
-@@ -59,7 +59,7 @@
- #undef LIB_SPEC
- #define LIB_SPEC \
- "%{shared: -lc} \
-- %{!shared: %{pthread:-lthread} \
-+ %{!shared: %{mieee:-lieee} %{pthread:-lpthread} \
- %{profile:-lc_p} %{!profile: -lc}}"
-
- #undef STARTFILE_SPEC
diff --git a/patches/gcc/3.4.0/gcc-3.3.3h-ppc-asm-spec.patch b/patches/gcc/3.4.0/gcc-3.3.3h-ppc-asm-spec.patch
deleted file mode 100644
index 870024d..0000000
--- a/patches/gcc/3.4.0/gcc-3.3.3h-ppc-asm-spec.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-Retrieved from http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.h.diff?r1=1.234.2.28&r2=1.234.2.29
-
-Should fix following error building gcc for ppc7450:
-
-/tmp/ccmfQBT9.s:5197: Error: Unrecognized opcode: `lvx'
-make[2]: *** [libgcc/./unwind-dw2.o] Error 1
-make[2]: Leaving directory `build-gcc-core/gcc'
-make[1]: *** [stmp-multilib] Error 2
-make[1]: Leaving directory `build-gcc-core/gcc'
-make: *** [all-gcc] Error 2
-
-(I'm not so sure about the unconditional -many it sends to binutils;
-that seems redundant?)
-
-Revision 1.234.2.29, Tue May 25 06:08:57 2004 UTC (6 days, 11 hours ago) by amodra
-Branch: hammer-3_3-branch
-Changes since 1.234.2.28: +15 -11 lines
-
- * config/rs6000/rs6000.h (ASM_CPU_SPEC): Handle -mpowerpc64 and -mcpu
- for power5 and rs64a. Correct condition for default. Correct power3,
- 620, 630, 7400, 7450, G4, 970 and G5 -mcpu entries. Add -many.
-
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.h,v
-retrieving revision 1.234.2.28
-retrieving revision 1.234.2.29
-diff -u -r1.234.2.28 -r1.234.2.29
---- gcc/gcc/config/rs6000/rs6000.h 2004/05/18 14:26:57 1.234.2.28
-+++ gcc/gcc/config/rs6000/rs6000.h 2004/05/25 06:08:57 1.234.2.29
-@@ -51,20 +51,23 @@
- "%{!mcpu*: \
- %{mpower: %{!mpower2: -mpwr}} \
- %{mpower2: -mpwrx} \
-- %{mpowerpc*: -mppc} \
-+ %{mpowerpc64*: -mppc64} \
-+ %{!mpowerpc64*: %{mpowerpc*: -mppc}} \
- %{mno-power: %{!mpowerpc*: -mcom}} \
-- %{!mno-power: %{!mpower2: %(asm_default)}}} \
-+ %{!mno-power: %{!mpower*: %(asm_default)}}} \
- %{mcpu=common: -mcom} \
- %{mcpu=power: -mpwr} \
- %{mcpu=power2: -mpwrx} \
--%{mcpu=power3: -m604} \
-+%{mcpu=power3: -mppc64} \
- %{mcpu=power4: -mpower4} \
-+%{mcpu=power5: -mpower4} \
- %{mcpu=powerpc: -mppc} \
- %{mcpu=rios: -mpwr} \
- %{mcpu=rios1: -mpwr} \
- %{mcpu=rios2: -mpwrx} \
- %{mcpu=rsc: -mpwr} \
- %{mcpu=rsc1: -mpwr} \
-+%{mcpu=rs64a: -mppc64} \
- %{mcpu=401: -mppc} \
- %{mcpu=403: -m403} \
- %{mcpu=405: -m405} \
-@@ -79,22 +82,23 @@
- %{mcpu=ec603e: -mppc} \
- %{mcpu=604: -mppc} \
- %{mcpu=604e: -mppc} \
--%{mcpu=620: -mppc} \
--%{mcpu=630: -m604} \
-+%{mcpu=620: -mppc64} \
-+%{mcpu=630: -mppc64} \
- %{mcpu=740: -mppc} \
--%{mcpu=7400: -mppc} \
--%{mcpu=7450: -mppc} \
--%{mcpu=G4: -mppc} \
- %{mcpu=750: -mppc} \
- %{mcpu=G3: -mppc} \
-+%{mcpu=7400: -mppc -maltivec} \
-+%{mcpu=7450: -mppc -maltivec} \
-+%{mcpu=G4: -mppc -maltivec} \
- %{mcpu=801: -mppc} \
- %{mcpu=821: -mppc} \
- %{mcpu=823: -mppc} \
- %{mcpu=860: -mppc} \
--%{mcpu=970: -mpower4} \
--%{mcpu=G5: -mpower4} \
-+%{mcpu=970: -mpower4 -maltivec} \
-+%{mcpu=G5: -mpower4 -maltivec} \
- %{mcpu=8540: -me500} \
--%{maltivec: -maltivec}"
-+%{maltivec: -maltivec} \
-+-many"
-
- #define CPP_DEFAULT_SPEC ""
-
diff --git a/patches/gcc/3.4.0/gcc-3.4.0-arm-bigendian.patch b/patches/gcc/3.4.0/gcc-3.4.0-arm-bigendian.patch
deleted file mode 100644
index c9288c6..0000000
--- a/patches/gcc/3.4.0/gcc-3.4.0-arm-bigendian.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-By Lennert Buytenhek <buytenh@wantstofly.org>
-Adds support for arm*b-linux* big-endian ARM targets
-
-See http://gcc.gnu.org/PR16350
-
-diff -urN gcc-3.4.0.orig/gcc/config/arm/linux-elf.h gcc-3.4.0/gcc/config/arm/linux-elf.h
---- gcc-3.4.0.orig/gcc/config/arm/linux-elf.h 2004-01-31 07:18:11.000000000 +0100
-+++ gcc-3.4.0/gcc/config/arm/linux-elf.h 2004-07-02 14:46:29.225443757 +0200
-@@ -30,17 +30,34 @@
- /* Do not assume anything about header files. */
- #define NO_IMPLICIT_EXTERN_C
-
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
-+#define TARGET_ENDIAN_OPTION "mbig-endian"
-+#define TARGET_LINKER_EMULATION "armelfb_linux"
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#define TARGET_ENDIAN_OPTION "mlittle-endian"
-+#define TARGET_LINKER_EMULATION "armelf_linux"
-+#endif
-+
- /* Default is to use APCS-32 mode. */
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
-+#define TARGET_DEFAULT \
-+ ( ARM_FLAG_APCS_32 | \
-+ ARM_FLAG_MMU_TRAPS | \
-+ TARGET_ENDIAN_DEFAULT )
-
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
-
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
-+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
-
- #undef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-
- #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
-
-@@ -89,7 +106,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
- -X \
-- %{mbig-endian:-EB}" \
-+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
- SUBTARGET_EXTRA_LINK_SPEC
-
- #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS()
-diff -urN gcc-3.4.0.orig/gcc/config.gcc gcc-3.4.0/gcc/config.gcc
---- gcc-3.4.0.orig/gcc/config.gcc 2004-04-17 04:28:24.000000000 +0200
-+++ gcc-3.4.0/gcc/config.gcc 2004-07-02 14:44:40.045822542 +0200
-@@ -666,6 +666,11 @@
- ;;
- arm*-*-linux*) # ARM GNU/Linux with ELF
- tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
-+ case $target in
-+ arm*b-*)
-+ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
-+ ;;
-+ esac
- tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
- extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- gnu_ld=yes
diff --git a/patches/gcc/3.4.0/gcc-3.4.0-arm-lib1asm.patch b/patches/gcc/3.4.0/gcc-3.4.0-arm-lib1asm.patch
deleted file mode 100644
index 69a79d5..0000000
--- a/patches/gcc/3.4.0/gcc-3.4.0-arm-lib1asm.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-# Origin: from a patch by Dimitry Andric <dimitry@andric.com>, 2004-05-01
-# See http://gcc.gnu.org/PR14352 and http://gcc.gnu.org/PR16314
-# See also http://gcc.gnu.org/ml/gcc-patches/2004-08/msg02568.html et seq for why this isn't in mainline
-# Fixes errors like the following when building glibc (or any other executable
-# or shared library) when using gcc 3.4.0 for ARM with softfloat:
-#
-# .../libc_pic.os(.text+0x15834): In function `__modf': undefined reference to `__subdf3'
-# .../libc_pic.os(.text+0x158b8): In function `__modf': undefined reference to `__subdf3'
-# .../libc_pic.os(.text+0x1590c): In function `scalbn': undefined reference to `__muldf3'
-# .../libc_pic.os(.text+0x15e94): In function `__ldexpf': undefined reference to `__eqsf2'
-# .../libc_pic.os(.text+0xcee4c): In function `monstartup': undefined reference to `__fixsfsi'
-
-diff -urNd gcc-3.4.0-orig/gcc/config/arm/t-linux gcc-3.4.0/gcc/config/arm/t-linux
---- gcc-3.4.0-orig/gcc/config/arm/t-linux 2003-09-20 23:09:07.000000000 +0200
-+++ gcc-3.4.0/gcc/config/arm/t-linux 2004-05-01 20:31:59.102846400 +0200
-@@ -4,7 +4,10 @@
- LIBGCC2_DEBUG_CFLAGS = -g0
-
- LIB1ASMSRC = arm/lib1funcs.asm
--LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
-+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
-+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
-+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
-+ _fixsfsi _fixunssfsi
-
- # MULTILIB_OPTIONS = mhard-float/msoft-float
- # MULTILIB_DIRNAMES = hard-float soft-float
diff --git a/patches/gcc/3.4.0/gcc-3.4.0-arm-nolibfloat.patch b/patches/gcc/3.4.0/gcc-3.4.0-arm-nolibfloat.patch
deleted file mode 100644
index 43eed3e..0000000
--- a/patches/gcc/3.4.0/gcc-3.4.0-arm-nolibfloat.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-# Dimitry Andric <dimitry@andric.com>, 2004-05-01
-#
-# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed
-# anymore. (The required functions are now in libgcc.)
-#
-# Fixes errors like
-# arm-softfloat-linux-gnu/3.4.0/../../../../arm-softfloat-linux-gnu/bin/ld: cannot find -lfloat
-# collect2: ld returned 1 exit status
-# make[2]: *** [arm-softfloat-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/iconvdata/ISO8859-1.so] Error 1
-# when building glibc-2.3.3 with gcc-3.4.0 for arm-softfloat
-
-diff -urNd gcc-3.4.0-orig/gcc/config/arm/linux-elf.h gcc-3.4.0/gcc/config/arm/linux-elf.h
---- gcc-3.4.0-orig/gcc/config/arm/linux-elf.h 2004-01-31 07:18:11.000000000 +0100
-+++ gcc-3.4.0/gcc/config/arm/linux-elf.h 2004-05-01 19:19:06.935979200 +0200
-@@ -55,7 +73,7 @@
- %{shared:-lc} \
- %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
-
--#define LIBGCC_SPEC "%{msoft-float:-lfloat} -lgcc"
-+#define LIBGCC_SPEC "-lgcc"
-
- /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
- the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
-
diff --git a/patches/gcc/3.4.0/gcc-3.4.0-pr14808-refix.patch b/patches/gcc/3.4.0/gcc-3.4.0-pr14808-refix.patch
deleted file mode 100644
index 2a48c99..0000000
--- a/patches/gcc/3.4.0/gcc-3.4.0-pr14808-refix.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-See http://gcc.gnu.org/ml/gcc/2004-06/msg00394.html
-This might fix the error
-
-strstream.s: Assembler messages:
-strstream.s:8390: Error: junk `(%ecx)' after expression
-strstream.s:8402: Error: junk `(%ecx)' after expression
-strstream.s:8551: Error: junk `(%ecx)' after expression
-strstream.s:8563: Error: junk `(%ecx)' after expression
-make[3]: *** [strstream.lo] Error 1
-make[3]: Leaving directory `i686-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-gcc/i686-unknown-linux-gnu/libstdc++-v3/src'
-
-when building a cygwin->linux cross-compiler with gcc-3.4.0,
-probably caused by patch to fix http://gcc.gnu.org/PR14808
-
-
---- gcc-3.4.0/gcc/cp/method.c.old Sun Jun 6 22:46:04 2004
-+++ gcc-3.4.0/gcc/cp/method.c Sun Jun 6 22:48:13 2004
-@@ -286,7 +286,7 @@
- tree alias;
- char buf[256];
-
--#if defined (__CYGWIN__) || defined (__MINGW32__)
-+#if defined (TARGET_IS_PE_COFF)
- if (DECL_ONE_ONLY (function))
- return function;
- #endif
-@@ -404,7 +404,7 @@
- push_to_top_level ();
-
- #if defined (ASM_OUTPUT_DEF) \
-- && !(defined (__CYGWIN__) || defined (__MINGW32__))
-+ && !defined (TARGET_IS_PE_COFF)
- if (targetm.have_named_sections)
- {
- resolve_unique_section (function, 0, flag_function_sections);
---- gcc-3.4.0/gcc/config/i386/cygming.h.old Sun Jun 6 22:50:46 2004
-+++ gcc-3.4.0/gcc/config/i386/cygming.h Sun Jun 6 22:52:10 2004
-@@ -27,6 +27,8 @@
-
- #define TARGET_EXECUTABLE_SUFFIX ".exe"
-
-+#define TARGET_IS_PE_COFF 1
-+
- #include <stdio.h>
-
- /* Masks for subtarget switches used by other files. */
diff --git a/patches/gcc/3.4.0/gcc-3.4.0-ultrasparc3-default64.patch b/patches/gcc/3.4.0/gcc-3.4.0-ultrasparc3-default64.patch
deleted file mode 100644
index 6357f56..0000000
--- a/patches/gcc/3.4.0/gcc-3.4.0-ultrasparc3-default64.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-Date: Sat, 1 May 2004 21:08:10 +0200
-From: Jakub Jelinek <jakub@redhat.com>
-To: Dan Kegel <dank@kegel.com>, mark@codesourcery.com
-Cc: gcc-patches@gcc.gnu.org
-Subject: [PATCH] sparc64-linux --with-cpu=ultrasparc fix
-Message-ID: <20040501190810.GD5191@sunsite.ms.mff.cuni.cz>
-Reply-To: Jakub Jelinek <jakub@redhat.com>
-References: <40940B11.9080907@kegel.com>
-In-Reply-To: <40940B11.9080907@kegel.com>
-
-On Sat, May 01, 2004 at 01:39:45PM -0700, Dan Kegel wrote:
-> I'm having a bit of trouble configuring gcc-3.4.0 for sparc64-linux.
-> The resulting compiler defaults to sparc32, which is a problem
-> because it means having to figure out how to add
-> -mcpu=ultrasparc3 -Wa,-Av9a -m64 to CFLAGS for everything I build.
-> The worst part is that this even affects libgcc.a, which makes it
-> pretty hard to link any sparc64 executables. I could figure out
-> how mklibgcc and multilibbing work, and maybe thereby get a good 64 bit
-> libgcc.a,
-> but I'd kind of like to avoid that for the moment, and just really get
-> gcc to default to 64 bit output.
->
-> What's the right way to get gcc to default to building 64 bit executables
-> when targeting sparc64-linux?
-
-There was TARGET_CPU_ultrasparc3 missing in linux64.h.
-I've commited the following fix to the trunk, but as it is not a regression,
-I'm not sure if Mark is ok with this for gcc-3_4-branch.
-
-2004-05-01 Jakub Jelinek <jakub@redhat.com>
-
- * config/sparc/linux64.h (TARGET_DEFAULT): Make 64-bit by default
- also for TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3.
-
---- gcc-3.4.0/gcc/config/sparc/linux64.h.jj 2004-05-01 22:59:52.000000000 +0200
-+++ gcc-3.4.0/gcc/config/sparc/linux64.h 2004-05-01 23:00:41.126176529 +0200
-@@ -39,7 +39,9 @@ Boston, MA 02111-1307, USA. */
- #undef MD_EXEC_PREFIX
- #undef MD_STARTFILE_PREFIX
-
--#if TARGET_CPU_DEFAULT == TARGET_CPU_v9 || TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc
-+#if TARGET_CPU_DEFAULT == TARGET_CPU_v9 \
-+ || TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc \
-+ || TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3
- /* A 64 bit v9 compiler with stack-bias,
- in a Medium/Low code model environment. */
-
-
- Jakub
-
-
-
diff --git a/patches/gcc/3.4.0/pr13250-fix.patch b/patches/gcc/3.4.0/pr13250-fix.patch
deleted file mode 100644
index ce68bb1..0000000
--- a/patches/gcc/3.4.0/pr13250-fix.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-See http://gcc.gnu.org/PR13250
-Fixes bad code generated when compiling SHA256 for SH processor
-
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/config/sh/sh.md,v
-retrieving revision 1.171
-retrieving revision 1.172
-diff -u -r1.171 -r1.172
---- gcc/gcc/config/sh/sh.md 2004/05/10 23:25:13 1.171
-+++ gcc/gcc/config/sh/sh.md 2004/05/28 05:47:36 1.172
-@@ -2194,7 +2194,7 @@
- parts[0] = gen_reg_rtx (SImode);
- parts[1] = gen_reg_rtx (SImode);
- emit_insn (gen_rotlsi3_16 (parts[2-choice], operands[1]));
-- parts[choice-1] = operands[1];
-+ emit_move_insn (parts[choice-1], operands[1]);
- emit_insn (gen_ashlsi3 (parts[0], parts[0], GEN_INT (8)));
- emit_insn (gen_lshrsi3 (parts[1], parts[1], GEN_INT (8)));
- emit_insn (gen_iorsi3 (operands[0], parts[0], parts[1]));
diff --git a/patches/gcc/3.4.0/pr15647-fix.patch b/patches/gcc/3.4.0/pr15647-fix.patch
deleted file mode 100644
index 6a4265d..0000000
--- a/patches/gcc/3.4.0/pr15647-fix.patch
+++ /dev/null
@@ -1,288 +0,0 @@
-Received: (qmail 11693 invoked from network); 26 May 2004 03:17:41 -0000
-Received: from unknown (HELO r-rr.iij4u.or.jp) (210.130.0.76)
- by sourceware dot org with SMTP; 26 May 2004 03:17:41 -0000
-Received: from localhost (frgw.3in.ne.jp [210.251.121.226])
- by r-rr dot iij4u dot or dot jp (8 dot 11 dot 6+IIJ/8 dot 11 dot 6) with ESMTP id i4Q3HbJ21421;
- Wed, 26 May 2004 12:17:37 +0900 (JST)
-Date: Wed, 26 May 2004 12:13:58 +0900 (JST)
-Message-Id: <20040526.121358.39460214.kkojima@rr.iij4u.or.jp>
-To: gcc-patches at gcc dot gnu dot org
-Cc: Mark Mitchell <mark at codesourcery dot com>
-Subject: [PATCH] Fix PR target/15647 for sh-linux
-From: Kaz Kojima <kkojima at rr dot iij4u dot or dot jp>
-Mime-Version: 1.0
-Content-Type: Text/Plain; charset=us-ascii
-Content-Transfer-Encoding: 7bit
-
-Hi,
-
-The appended patch is to fix PR target/15647
- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15647
-for linux.
-__udivsi3 is exported from libgcc_s.so.1 and gcc generates the code
-which assumes r1 will be not clobbered when calling __udivsi3 in SH3
-case. This is bad because r1 is clobbered by PLT.
-The another functions listed in the standard libgcc-std.ver which
-possively have similar problem are __ashlsi3, __ashrsi3 and __lshrsi3,
-though these are used only by SH1/2.
-The patch below simply uses an SH specific libgcc-std.ver which drops
-these functions. SH linux uses a linker script libgcc_s.so having
-libgcc.a as a suppementary library, so these functions given by
-libgcc.a when needed in the link time.
-Although mainline has one failure in bulding zlib which can be avoided
-with -fno-reorder-blocks for sh3-unknown-linux-gnu target, x86 cross
-to sh3-unknown-linux-gnu can be build successfully on mainline with
-this patch except the above failure. 3.4-branch successfully bootstraps
-with it and there are no new failures on the native sh4-unknown-linux-gnu.
-The patch is highly sh-linux specific and seems to be safe. I'll check
-it into mainline.
-The original PR is also for sh3 netbsd. I'd like to leave it for the
-netbsd experts.
-
-I think that it's too late for 3.3.4. Mark, is it also late for
-3.4.1?
-
-Regards,
- kaz
---
-2004-05-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/t-linux (SHLIB_MAPFILES): Use sh specific
- libgcc-std.ver.
- * config/sh/libgcc-std.ver: New file.
-
-diff -u3prN ORIG-gcc/gcc/config/sh/t-linux LOCAL-gcc/gcc/config/sh/t-linux
---- ORIG-gcc/gcc/config/sh/t-linux Mon Feb 16 20:13:25 2004
-+++ LOCAL-gcc/gcc/config/sh/t-linux Tue May 25 18:25:48 2004
-@@ -11,8 +11,11 @@ MULTILIB_EXCEPTIONS=
- EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
-
- # Override t-slibgcc-elf-ver to export some libgcc symbols with
--# the symbol versions that glibc used.
--SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/sh/libgcc-glibc.ver
-+# the symbol versions that glibc used. Also use an sh specific
-+# libgcc-std.ver to avoid to export some lib1func routines which
-+# should not be called via PLT.
-+SHLIB_MAPFILES = $(srcdir)/config/sh/libgcc-std.ver \
-+ $(srcdir)/config/sh/libgcc-glibc.ver
-
- # Override SHLIB_LINK and SHLIB_INSTALL to use linker script
- # libgcc_s.so.
-diff -u3prN ORIG-gcc/gcc/config/sh/libgcc-std.ver LOCAL-gcc/gcc/config/sh/libgcc-std.ver
---- ORIG-gcc/gcc/config/sh/libgcc-std.ver Thu Jan 1 09:00:00 1970
-+++ LOCAL-gcc/gcc/config/sh/libgcc-std.ver Tue May 25 18:50:54 2004
-@@ -0,0 +1,213 @@
-+GCC_3.0 {
-+ # libgcc1 integer symbols
-+ __absvsi2
-+ __addvsi3
-+ # __ashlsi3
-+ # __ashrsi3
-+ __divsi3
-+ # __lshrsi3
-+ __modsi3
-+ __mulsi3
-+ __mulvsi3
-+ __negvsi2
-+ __subvsi3
-+ # __udivsi3
-+ __umodsi3
-+
-+ # libgcc1 floating point symbols
-+ __addsf3
-+ __adddf3
-+ __addxf3
-+ __addtf3
-+ __divsf3
-+ __divdf3
-+ __divxf3
-+ __divtf3
-+ __eqsf2
-+ __eqdf2
-+ __eqxf2
-+ __eqtf2
-+ __extenddfxf2
-+ __extenddftf2
-+ __extendsfdf2
-+ __extendsfxf2
-+ __extendsftf2
-+ __fixsfsi
-+ __fixdfsi
-+ __fixxfsi
-+ __fixtfsi
-+ __floatsisf
-+ __floatsidf
-+ __floatsixf
-+ __floatsitf
-+ __gesf2
-+ __gedf2
-+ __gexf2
-+ __getf2
-+ __gtsf2
-+ __gtdf2
-+ __gtxf2
-+ __gttf2
-+ __lesf2
-+ __ledf2
-+ __lexf2
-+ __letf2
-+ __ltsf2
-+ __ltdf2
-+ __ltxf2
-+ __lttf2
-+ __mulsf3
-+ __muldf3
-+ __mulxf3
-+ __multf3
-+ __negsf2
-+ __negdf2
-+ __negxf2
-+ __negtf2
-+ __nesf2
-+ __nedf2
-+ __nexf2
-+ __netf2
-+ __subsf3
-+ __subdf3
-+ __subxf3
-+ __subtf3
-+ __truncdfsf2
-+ __truncxfsf2
-+ __trunctfsf2
-+ __truncxfdf2
-+ __trunctfdf2
-+
-+ # libgcc2 DImode arithmetic (for 32-bit targets).
-+ __absvdi2
-+ __addvdi3
-+ __ashldi3
-+ __ashrdi3
-+ __cmpdi2
-+ __divdi3
-+ __ffsdi2
-+ __fixdfdi
-+ __fixsfdi
-+ __fixtfdi
-+ __fixxfdi
-+ __fixunsdfdi
-+ __fixunsdfsi
-+ __fixunssfsi
-+ __fixunssfdi
-+ __fixunstfdi
-+ __fixunstfsi
-+ __fixunsxfdi
-+ __fixunsxfsi
-+ __floatdidf
-+ __floatdisf
-+ __floatdixf
-+ __floatditf
-+ __lshrdi3
-+ __moddi3
-+ __muldi3
-+ __mulvdi3
-+ __negdi2
-+ __negvdi2
-+ __subvdi3
-+ __ucmpdi2
-+ __udivdi3
-+ __udivmoddi4
-+ __umoddi3
-+
-+ # libgcc2 TImode arithmetic (for 64-bit targets).
-+ __ashlti3
-+ __ashrti3
-+ __cmpti2
-+ __divti3
-+ __ffsti2
-+ __fixdfti
-+ __fixsfti
-+ __fixtfti
-+ __fixxfti
-+ __lshrti3
-+ __modti3
-+ __multi3
-+ __negti2
-+ __ucmpti2
-+ __udivmodti4
-+ __udivti3
-+ __umodti3
-+ __fixunsdfti
-+ __fixunssfti
-+ __fixunstfti
-+ __fixunsxfti
-+ __floattidf
-+ __floattisf
-+ __floattixf
-+ __floattitf
-+
-+ # Used to deal with trampoline initialization on some platforms
-+ __clear_cache
-+
-+ # EH symbols
-+ _Unwind_DeleteException
-+ _Unwind_Find_FDE
-+ _Unwind_ForcedUnwind
-+ _Unwind_GetGR
-+ _Unwind_GetIP
-+ _Unwind_GetLanguageSpecificData
-+ _Unwind_GetRegionStart
-+ _Unwind_GetTextRelBase
-+ _Unwind_GetDataRelBase
-+ _Unwind_RaiseException
-+ _Unwind_Resume
-+ _Unwind_SetGR
-+ _Unwind_SetIP
-+ __deregister_frame
-+ __deregister_frame_info
-+ __deregister_frame_info_bases
-+ __register_frame
-+ __register_frame_info
-+ __register_frame_info_bases
-+ __register_frame_info_table
-+ __register_frame_info_table_bases
-+ __register_frame_table
-+
-+ # SjLj EH symbols
-+ _Unwind_SjLj_Register
-+ _Unwind_SjLj_Unregister
-+ _Unwind_SjLj_RaiseException
-+ _Unwind_SjLj_ForcedUnwind
-+ _Unwind_SjLj_Resume
-+}
-+
-+%inherit GCC_3.3 GCC_3.0
-+GCC_3.3 {
-+ _Unwind_FindEnclosingFunction
-+ _Unwind_GetCFA
-+ _Unwind_Backtrace
-+ _Unwind_Resume_or_Rethrow
-+ _Unwind_SjLj_Resume_or_Rethrow
-+}
-+
-+%inherit GCC_3.3.1 GCC_3.3
-+GCC_3.3.1 {
-+ __gcc_personality_sj0
-+ __gcc_personality_v0
-+}
-+
-+%inherit GCC_3.3.2 GCC_3.3.1
-+GCC_3.3.2 {
-+}
-+
-+%inherit GCC_3.4 GCC_3.3.2
-+GCC_3.4 {
-+ # bit scanning and counting built-ins
-+ __clzsi2
-+ __clzdi2
-+ __clzti2
-+ __ctzsi2
-+ __ctzdi2
-+ __ctzti2
-+ __popcountsi2
-+ __popcountdi2
-+ __popcountti2
-+ __paritysi2
-+ __paritydi2
-+ __parityti2
-+}
-
diff --git a/patches/gcc/3.4.1/fix-fixincl.patch b/patches/gcc/3.4.1/fix-fixincl.patch
deleted file mode 100644
index 7936b19..0000000
--- a/patches/gcc/3.4.1/fix-fixincl.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-See http://gcc.gnu.org/PR22541
-
-From: Dan Kegel
-
-When building gcc-3.4.3 or gcc-4.0.0 as a cross into a clean $PREFIX
-(the only two I've tried like this), the configure script happily copies
-the glibc include files from include to sys-include; here's the line
-from the log file (with $PREFIX instead of the real prefix):
-
-Copying $PREFIX/i686-unknown-linux-gnu/include to $PREFIX/i686-unknown-linux-gnu/sys-include
-
-But later, when running fixincludes, it gives the error message
- The directory that should contain system headers does not exist:
- $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/../../../../i686-unknown-linux-gnu/sys-include
-
-Nevertheless, it continues building; the header files it installs in
- $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/include
-do not include the boilerplate that would cause it to #include_next the
-glibc headers in the system header directory.
-Thus the resulting toolchain can't compile the following program:
-#include <limits.h>
-int x = PATH_MAX;
-because its limits.h doesn't include the glibc header.
-
-That's not nice. I suspect the problem is that gcc/Makefile.in assumes that
-it can refer to $PREFIX/i686-unknown-linux-gnu with the path
- $PREFIX/lib/../i686-unknown-linux-gnu, but
-that fails because the directory $PREFIX/lib doesn't exist during 'make all';
-it is only created later, during 'make install'. (Which makes this problem
-confusing, since one only notices the breakage well after 'make install',
-at which point the path configure complained about does exist, and has the
-right stuff in it.)
-
-A possible fix is to replace the line in gcc/Makefile.in that says
- SYSTEM_HEADER_DIR = @SYSTEM_HEADER_DIR@
-with a version that gets rid of extra ..'s, e.g.
- SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e "s,[^/]*/\.\.\/,,;ta"`
-(hey, that's the first time I've ever used a label in a sed script; thanks to the sed faq
-for explaining the :a ... ta method of looping to repeat a search-and-replace until it doesn't match.)
-
-
---- gcc-3.4.3/gcc/Makefile.in.foo 2005-05-20 11:41:39.000000000 -0700
-+++ gcc-3.4.3/gcc/Makefile.in 2005-05-20 12:08:46.000000000 -0700
-@@ -350,7 +350,10 @@
- CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
-
- # autoconf sets SYSTEM_HEADER_DIR to one of the above.
--SYSTEM_HEADER_DIR = @SYSTEM_HEADER_DIR@
-+# Purge it of unneccessary internal relative paths
-+# to directories that might not exist yet.
-+# The sed idiom for this is to repeat the search-and-replace until it doesn't match, using :a ... ta.
-+SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`
-
- # Control whether to run fixproto and fixincludes.
- STMP_FIXPROTO = @STMP_FIXPROTO@
-@@ -2532,11 +2535,13 @@
- $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(gcc_tooldir)
-
- # Build fixed copies of system files.
-+# Abort if no system headers available, unless building a crosscompiler.
-+# FIXME: abort unless building --without-headers would be more accurate and less ugly
- stmp-fixinc: fixinc.sh gsyslimits.h
- @if test ! -d ${SYSTEM_HEADER_DIR}; then \
- echo The directory that should contain system headers does not exist: >&2 ; \
- echo " ${SYSTEM_HEADER_DIR}" >&2 ; \
-- if test "x${SYSTEM_HEADER_DIR}" = "x${gcc_tooldir}/sys-include"; \
-+ if test "x${SYSTEM_HEADER_DIR}" = "x`echo "${gcc_tooldir}/sys-include" | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`"; \
- then sleep 1; else exit 1; fi; \
- fi
- rm -rf include; mkdir include
diff --git a/patches/gcc/3.4.1/gcc-3.4-sparc-pr16430-fix.patch b/patches/gcc/3.4.1/gcc-3.4-sparc-pr16430-fix.patch
deleted file mode 100644
index 2fc805b..0000000
--- a/patches/gcc/3.4.1/gcc-3.4-sparc-pr16430-fix.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Message-ID: <33159.207.230.144.240.1093980498.squirrel@207.230.144.240>
-Date: Tue, 31 Aug 2004 14:28:18 -0500 (CDT)
-Subject: Crosstool 0.28-rc35
-From: "Jason Rothstein" <fdragon@fdragon.org>
-To: dank@kegel.com
-
-Could you please add the patches in GCC PR 16430 to GCC 3.4.1?
-
-http://gcc.gnu.org/PR16430
-
-These fix one of 2 current ICE conditions when building a sparc64 ada
-compilers.
-
-
-http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/sparc.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.271.4.16&r2=1.271.4.17
-
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/config/sparc/sparc.c,v
-retrieving revision 1.271.4.16
-retrieving revision 1.271.4.17
-diff -u -r1.271.4.16 -r1.271.4.17
---- gcc/gcc/config/sparc/sparc.c 2004/07/08 13:00:56 1.271.4.16
-+++ gcc/gcc/config/sparc/sparc.c 2004/07/08 14:36:51 1.271.4.17
-@@ -5808,6 +5808,18 @@
- abort ();
-
- mode = mode_for_size (bytes * BITS_PER_UNIT, MODE_INT, 0);
-+
-+ /* ??? We probably should have made the same ABI change in
-+ 3.4.0 as the one we made for unions. The latter was
-+ required by the SCD though, while the former is not
-+ specified, so we favored compatibility and efficiency.
-+
-+ Now we're stuck for aggregates larger than 16 bytes,
-+ because OImode vanished in the meantime. Let's not
-+ try to be unduly clever, and simply follow the ABI
-+ for unions in that case. */
-+ if (mode == BLKmode)
-+ return function_arg_union_value (bytes, mode, regbase);
- }
- else if (GET_MODE_CLASS (mode) == MODE_INT
- && GET_MODE_SIZE (mode) < UNITS_PER_WORD)
diff --git a/patches/gcc/3.4.1/gcc-3.4.0-arm-bigendian.patch b/patches/gcc/3.4.1/gcc-3.4.0-arm-bigendian.patch
deleted file mode 100644
index c9288c6..0000000
--- a/patches/gcc/3.4.1/gcc-3.4.0-arm-bigendian.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-By Lennert Buytenhek <buytenh@wantstofly.org>
-Adds support for arm*b-linux* big-endian ARM targets
-
-See http://gcc.gnu.org/PR16350
-
-diff -urN gcc-3.4.0.orig/gcc/config/arm/linux-elf.h gcc-3.4.0/gcc/config/arm/linux-elf.h
---- gcc-3.4.0.orig/gcc/config/arm/linux-elf.h 2004-01-31 07:18:11.000000000 +0100
-+++ gcc-3.4.0/gcc/config/arm/linux-elf.h 2004-07-02 14:46:29.225443757 +0200
-@@ -30,17 +30,34 @@
- /* Do not assume anything about header files. */
- #define NO_IMPLICIT_EXTERN_C
-
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
-+#define TARGET_ENDIAN_OPTION "mbig-endian"
-+#define TARGET_LINKER_EMULATION "armelfb_linux"
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#define TARGET_ENDIAN_OPTION "mlittle-endian"
-+#define TARGET_LINKER_EMULATION "armelf_linux"
-+#endif
-+
- /* Default is to use APCS-32 mode. */
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
-+#define TARGET_DEFAULT \
-+ ( ARM_FLAG_APCS_32 | \
-+ ARM_FLAG_MMU_TRAPS | \
-+ TARGET_ENDIAN_DEFAULT )
-
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
-
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
-+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
-
- #undef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-
- #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
-
-@@ -89,7 +106,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
- -X \
-- %{mbig-endian:-EB}" \
-+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
- SUBTARGET_EXTRA_LINK_SPEC
-
- #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS()
-diff -urN gcc-3.4.0.orig/gcc/config.gcc gcc-3.4.0/gcc/config.gcc
---- gcc-3.4.0.orig/gcc/config.gcc 2004-04-17 04:28:24.000000000 +0200
-+++ gcc-3.4.0/gcc/config.gcc 2004-07-02 14:44:40.045822542 +0200
-@@ -666,6 +666,11 @@
- ;;
- arm*-*-linux*) # ARM GNU/Linux with ELF
- tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
-+ case $target in
-+ arm*b-*)
-+ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
-+ ;;
-+ esac
- tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
- extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- gnu_ld=yes
diff --git a/patches/gcc/3.4.1/gcc-3.4.0-arm-lib1asm.patch b/patches/gcc/3.4.1/gcc-3.4.0-arm-lib1asm.patch
deleted file mode 100644
index 69a79d5..0000000
--- a/patches/gcc/3.4.1/gcc-3.4.0-arm-lib1asm.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-# Origin: from a patch by Dimitry Andric <dimitry@andric.com>, 2004-05-01
-# See http://gcc.gnu.org/PR14352 and http://gcc.gnu.org/PR16314
-# See also http://gcc.gnu.org/ml/gcc-patches/2004-08/msg02568.html et seq for why this isn't in mainline
-# Fixes errors like the following when building glibc (or any other executable
-# or shared library) when using gcc 3.4.0 for ARM with softfloat:
-#
-# .../libc_pic.os(.text+0x15834): In function `__modf': undefined reference to `__subdf3'
-# .../libc_pic.os(.text+0x158b8): In function `__modf': undefined reference to `__subdf3'
-# .../libc_pic.os(.text+0x1590c): In function `scalbn': undefined reference to `__muldf3'
-# .../libc_pic.os(.text+0x15e94): In function `__ldexpf': undefined reference to `__eqsf2'
-# .../libc_pic.os(.text+0xcee4c): In function `monstartup': undefined reference to `__fixsfsi'
-
-diff -urNd gcc-3.4.0-orig/gcc/config/arm/t-linux gcc-3.4.0/gcc/config/arm/t-linux
---- gcc-3.4.0-orig/gcc/config/arm/t-linux 2003-09-20 23:09:07.000000000 +0200
-+++ gcc-3.4.0/gcc/config/arm/t-linux 2004-05-01 20:31:59.102846400 +0200
-@@ -4,7 +4,10 @@
- LIBGCC2_DEBUG_CFLAGS = -g0
-
- LIB1ASMSRC = arm/lib1funcs.asm
--LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
-+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
-+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
-+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
-+ _fixsfsi _fixunssfsi
-
- # MULTILIB_OPTIONS = mhard-float/msoft-float
- # MULTILIB_DIRNAMES = hard-float soft-float
diff --git a/patches/gcc/3.4.1/gcc-3.4.0-arm-nolibfloat.patch b/patches/gcc/3.4.1/gcc-3.4.0-arm-nolibfloat.patch
deleted file mode 100644
index 43eed3e..0000000
--- a/patches/gcc/3.4.1/gcc-3.4.0-arm-nolibfloat.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-# Dimitry Andric <dimitry@andric.com>, 2004-05-01
-#
-# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed
-# anymore. (The required functions are now in libgcc.)
-#
-# Fixes errors like
-# arm-softfloat-linux-gnu/3.4.0/../../../../arm-softfloat-linux-gnu/bin/ld: cannot find -lfloat
-# collect2: ld returned 1 exit status
-# make[2]: *** [arm-softfloat-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/iconvdata/ISO8859-1.so] Error 1
-# when building glibc-2.3.3 with gcc-3.4.0 for arm-softfloat
-
-diff -urNd gcc-3.4.0-orig/gcc/config/arm/linux-elf.h gcc-3.4.0/gcc/config/arm/linux-elf.h
---- gcc-3.4.0-orig/gcc/config/arm/linux-elf.h 2004-01-31 07:18:11.000000000 +0100
-+++ gcc-3.4.0/gcc/config/arm/linux-elf.h 2004-05-01 19:19:06.935979200 +0200
-@@ -55,7 +73,7 @@
- %{shared:-lc} \
- %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
-
--#define LIBGCC_SPEC "%{msoft-float:-lfloat} -lgcc"
-+#define LIBGCC_SPEC "-lgcc"
-
- /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
- the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
-
diff --git a/patches/gcc/3.4.1/pr15068-fix.patch b/patches/gcc/3.4.1/pr15068-fix.patch
deleted file mode 100644
index 2977765..0000000
--- a/patches/gcc/3.4.1/pr15068-fix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-See http://gcc.gnu.org/PR15068
-
-Fixes error
-
-../sysdeps/generic/s_fmax.c: In function `__fmax':
-../sysdeps/generic/s_fmax.c:28: internal compiler error: in elim_reg_cond, at flow.c:3257
-Please submit a full bug report,
-with preprocessed source if appropriate.
-See <URL:http://gcc.gnu.org/bugs.html> for instructions.
-make[2]: *** [/home/dank/wk/crosstool-0.28-rc35/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/build-glibc/math/s_fmax.o] Error 1
-make[2]: Leaving directory `/home/dank/wk/crosstool-0.28-rc35/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/glibc-20040822/math'
-make[1]: *** [math/others] Error 2
-make[1]: Leaving directory `/home/dank/wk/crosstool-0.28-rc35/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/glibc-20040822'
-make: *** [all] Error 2
-
-[ rediffed against gcc-3.4.1, with elbow grease, ending up with same thing as
-http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flow.c.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.563.4.2&r2=1.563.4.3 ]
-
---- gcc-3.4.1/gcc/flow.c.old 2004-02-27 19:39:19.000000000 -0800
-+++ gcc-3.4.1/gcc/flow.c 2004-08-26 07:29:46.000000000 -0700
-@@ -1878,6 +1878,7 @@
- rtx set_src = SET_SRC (pc_set (BB_END (bb)));
- rtx cond_true = XEXP (set_src, 0);
- rtx reg = XEXP (cond_true, 0);
-+ enum rtx_code inv_cond;
-
- if (GET_CODE (reg) == SUBREG)
- reg = SUBREG_REG (reg);
-@@ -1886,11 +1887,13 @@
- in the form of a comparison of a register against zero.
- If the condition is more complex than that, then it is safe
- not to record any information. */
-- if (GET_CODE (reg) == REG
-+ inv_cond = reversed_comparison_code (cond_true, BB_END (bb));
-+ if (inv_cond != UNKNOWN
-+ && GET_CODE (reg) == REG
- && XEXP (cond_true, 1) == const0_rtx)
- {
- rtx cond_false
-- = gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)),
-+ = gen_rtx_fmt_ee (inv_cond,
- GET_MODE (cond_true), XEXP (cond_true, 0),
- XEXP (cond_true, 1));
- if (GET_CODE (XEXP (set_src, 1)) == PC)
diff --git a/patches/gcc/3.4.2/gcc-3.4.0-arm-bigendian.patch b/patches/gcc/3.4.2/gcc-3.4.0-arm-bigendian.patch
deleted file mode 100644
index f7178c1..0000000
--- a/patches/gcc/3.4.2/gcc-3.4.0-arm-bigendian.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-By Lennert Buytenhek <buytenh@wantstofly.org>
-Adds support for arm*b-linux* big-endian ARM targets
-
-Fixes build error
-
-/opt/crosstool/armeb-unknown-linux-gnu/gcc-3.4.2-glibc-2.3.3/armeb-unknown-linux-gnu/bin/ld: unrecognised emulation mode: armelf_linux
-Supported emulations: armelfb_linux armelfb
-collect2: ld returned 1 exit status
-make[2]: *** [/home/dank/wk/crosstool-0.28-rc36/build/armeb-unknown-linux-gnu/gcc-3.4.2-glibc-2.3.3/build-glibc/csu/crt1.o] Error 1
-make[2]: Leaving directory `/home/dank/wk/crosstool-0.28-rc36/build/armeb-unknown-linux-gnu/gcc-3.4.2-glibc-2.3.3/glibc-2.3.3/csu'
-make[1]: *** [csu/subdir_lib] Error 2
-make[1]: Leaving directory `/home/dank/wk/crosstool-0.28-rc36/build/armeb-unknown-linux-gnu/gcc-3.4.2-glibc-2.3.3/glibc-2.3.3'
-make: *** [all] Error 2
-
-
-See http://gcc.gnu.org/PR16350
-
-diff -urN gcc-3.4.0.orig/gcc/config/arm/linux-elf.h gcc-3.4.0/gcc/config/arm/linux-elf.h
---- gcc-3.4.0.orig/gcc/config/arm/linux-elf.h 2004-01-31 07:18:11.000000000 +0100
-+++ gcc-3.4.0/gcc/config/arm/linux-elf.h 2004-07-02 14:46:29.225443757 +0200
-@@ -30,17 +30,34 @@
- /* Do not assume anything about header files. */
- #define NO_IMPLICIT_EXTERN_C
-
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
-+#define TARGET_ENDIAN_OPTION "mbig-endian"
-+#define TARGET_LINKER_EMULATION "armelfb_linux"
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#define TARGET_ENDIAN_OPTION "mlittle-endian"
-+#define TARGET_LINKER_EMULATION "armelf_linux"
-+#endif
-+
- /* Default is to use APCS-32 mode. */
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
-+#define TARGET_DEFAULT \
-+ ( ARM_FLAG_APCS_32 | \
-+ ARM_FLAG_MMU_TRAPS | \
-+ TARGET_ENDIAN_DEFAULT )
-
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
-
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
-+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
-
- #undef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-
- #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
-
-@@ -89,7 +106,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
- -X \
-- %{mbig-endian:-EB}" \
-+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
- SUBTARGET_EXTRA_LINK_SPEC
-
- #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS()
-diff -urN gcc-3.4.0.orig/gcc/config.gcc gcc-3.4.0/gcc/config.gcc
---- gcc-3.4.0.orig/gcc/config.gcc 2004-04-17 04:28:24.000000000 +0200
-+++ gcc-3.4.0/gcc/config.gcc 2004-07-02 14:44:40.045822542 +0200
-@@ -666,6 +666,11 @@
- ;;
- arm*-*-linux*) # ARM GNU/Linux with ELF
- tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
-+ case $target in
-+ arm*b-*)
-+ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
-+ ;;
-+ esac
- tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
- extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- gnu_ld=yes
diff --git a/patches/gcc/3.4.2/gcc-3.4.0-arm-lib1asm.patch b/patches/gcc/3.4.2/gcc-3.4.0-arm-lib1asm.patch
deleted file mode 100644
index 69a79d5..0000000
--- a/patches/gcc/3.4.2/gcc-3.4.0-arm-lib1asm.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-# Origin: from a patch by Dimitry Andric <dimitry@andric.com>, 2004-05-01
-# See http://gcc.gnu.org/PR14352 and http://gcc.gnu.org/PR16314
-# See also http://gcc.gnu.org/ml/gcc-patches/2004-08/msg02568.html et seq for why this isn't in mainline
-# Fixes errors like the following when building glibc (or any other executable
-# or shared library) when using gcc 3.4.0 for ARM with softfloat:
-#
-# .../libc_pic.os(.text+0x15834): In function `__modf': undefined reference to `__subdf3'
-# .../libc_pic.os(.text+0x158b8): In function `__modf': undefined reference to `__subdf3'
-# .../libc_pic.os(.text+0x1590c): In function `scalbn': undefined reference to `__muldf3'
-# .../libc_pic.os(.text+0x15e94): In function `__ldexpf': undefined reference to `__eqsf2'
-# .../libc_pic.os(.text+0xcee4c): In function `monstartup': undefined reference to `__fixsfsi'
-
-diff -urNd gcc-3.4.0-orig/gcc/config/arm/t-linux gcc-3.4.0/gcc/config/arm/t-linux
---- gcc-3.4.0-orig/gcc/config/arm/t-linux 2003-09-20 23:09:07.000000000 +0200
-+++ gcc-3.4.0/gcc/config/arm/t-linux 2004-05-01 20:31:59.102846400 +0200
-@@ -4,7 +4,10 @@
- LIBGCC2_DEBUG_CFLAGS = -g0
-
- LIB1ASMSRC = arm/lib1funcs.asm
--LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
-+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
-+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
-+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
-+ _fixsfsi _fixunssfsi
-
- # MULTILIB_OPTIONS = mhard-float/msoft-float
- # MULTILIB_DIRNAMES = hard-float soft-float
diff --git a/patches/gcc/3.4.2/gcc-3.4.0-arm-nolibfloat.patch b/patches/gcc/3.4.2/gcc-3.4.0-arm-nolibfloat.patch
deleted file mode 100644
index 43eed3e..0000000
--- a/patches/gcc/3.4.2/gcc-3.4.0-arm-nolibfloat.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-# Dimitry Andric <dimitry@andric.com>, 2004-05-01
-#
-# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed
-# anymore. (The required functions are now in libgcc.)
-#
-# Fixes errors like
-# arm-softfloat-linux-gnu/3.4.0/../../../../arm-softfloat-linux-gnu/bin/ld: cannot find -lfloat
-# collect2: ld returned 1 exit status
-# make[2]: *** [arm-softfloat-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/iconvdata/ISO8859-1.so] Error 1
-# when building glibc-2.3.3 with gcc-3.4.0 for arm-softfloat
-
-diff -urNd gcc-3.4.0-orig/gcc/config/arm/linux-elf.h gcc-3.4.0/gcc/config/arm/linux-elf.h
---- gcc-3.4.0-orig/gcc/config/arm/linux-elf.h 2004-01-31 07:18:11.000000000 +0100
-+++ gcc-3.4.0/gcc/config/arm/linux-elf.h 2004-05-01 19:19:06.935979200 +0200
-@@ -55,7 +73,7 @@
- %{shared:-lc} \
- %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
-
--#define LIBGCC_SPEC "%{msoft-float:-lfloat} -lgcc"
-+#define LIBGCC_SPEC "-lgcc"
-
- /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
- the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
-
diff --git a/patches/gcc/3.4.3/fix-fixincl.patch b/patches/gcc/3.4.3/fix-fixincl.patch
deleted file mode 100644
index 7936b19..0000000
--- a/patches/gcc/3.4.3/fix-fixincl.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-See http://gcc.gnu.org/PR22541
-
-From: Dan Kegel
-
-When building gcc-3.4.3 or gcc-4.0.0 as a cross into a clean $PREFIX
-(the only two I've tried like this), the configure script happily copies
-the glibc include files from include to sys-include; here's the line
-from the log file (with $PREFIX instead of the real prefix):
-
-Copying $PREFIX/i686-unknown-linux-gnu/include to $PREFIX/i686-unknown-linux-gnu/sys-include
-
-But later, when running fixincludes, it gives the error message
- The directory that should contain system headers does not exist:
- $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/../../../../i686-unknown-linux-gnu/sys-include
-
-Nevertheless, it continues building; the header files it installs in
- $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/include
-do not include the boilerplate that would cause it to #include_next the
-glibc headers in the system header directory.
-Thus the resulting toolchain can't compile the following program:
-#include <limits.h>
-int x = PATH_MAX;
-because its limits.h doesn't include the glibc header.
-
-That's not nice. I suspect the problem is that gcc/Makefile.in assumes that
-it can refer to $PREFIX/i686-unknown-linux-gnu with the path
- $PREFIX/lib/../i686-unknown-linux-gnu, but
-that fails because the directory $PREFIX/lib doesn't exist during 'make all';
-it is only created later, during 'make install'. (Which makes this problem
-confusing, since one only notices the breakage well after 'make install',
-at which point the path configure complained about does exist, and has the
-right stuff in it.)
-
-A possible fix is to replace the line in gcc/Makefile.in that says
- SYSTEM_HEADER_DIR = @SYSTEM_HEADER_DIR@
-with a version that gets rid of extra ..'s, e.g.
- SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e "s,[^/]*/\.\.\/,,;ta"`
-(hey, that's the first time I've ever used a label in a sed script; thanks to the sed faq
-for explaining the :a ... ta method of looping to repeat a search-and-replace until it doesn't match.)
-
-
---- gcc-3.4.3/gcc/Makefile.in.foo 2005-05-20 11:41:39.000000000 -0700
-+++ gcc-3.4.3/gcc/Makefile.in 2005-05-20 12:08:46.000000000 -0700
-@@ -350,7 +350,10 @@
- CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
-
- # autoconf sets SYSTEM_HEADER_DIR to one of the above.
--SYSTEM_HEADER_DIR = @SYSTEM_HEADER_DIR@
-+# Purge it of unneccessary internal relative paths
-+# to directories that might not exist yet.
-+# The sed idiom for this is to repeat the search-and-replace until it doesn't match, using :a ... ta.
-+SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`
-
- # Control whether to run fixproto and fixincludes.
- STMP_FIXPROTO = @STMP_FIXPROTO@
-@@ -2532,11 +2535,13 @@
- $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(gcc_tooldir)
-
- # Build fixed copies of system files.
-+# Abort if no system headers available, unless building a crosscompiler.
-+# FIXME: abort unless building --without-headers would be more accurate and less ugly
- stmp-fixinc: fixinc.sh gsyslimits.h
- @if test ! -d ${SYSTEM_HEADER_DIR}; then \
- echo The directory that should contain system headers does not exist: >&2 ; \
- echo " ${SYSTEM_HEADER_DIR}" >&2 ; \
-- if test "x${SYSTEM_HEADER_DIR}" = "x${gcc_tooldir}/sys-include"; \
-+ if test "x${SYSTEM_HEADER_DIR}" = "x`echo "${gcc_tooldir}/sys-include" | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`"; \
- then sleep 1; else exit 1; fi; \
- fi
- rm -rf include; mkdir include
diff --git a/patches/gcc/3.4.3/gcc-3.4.0-arm-bigendian.patch b/patches/gcc/3.4.3/gcc-3.4.0-arm-bigendian.patch
deleted file mode 100644
index f7178c1..0000000
--- a/patches/gcc/3.4.3/gcc-3.4.0-arm-bigendian.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-By Lennert Buytenhek <buytenh@wantstofly.org>
-Adds support for arm*b-linux* big-endian ARM targets
-
-Fixes build error
-
-/opt/crosstool/armeb-unknown-linux-gnu/gcc-3.4.2-glibc-2.3.3/armeb-unknown-linux-gnu/bin/ld: unrecognised emulation mode: armelf_linux
-Supported emulations: armelfb_linux armelfb
-collect2: ld returned 1 exit status
-make[2]: *** [/home/dank/wk/crosstool-0.28-rc36/build/armeb-unknown-linux-gnu/gcc-3.4.2-glibc-2.3.3/build-glibc/csu/crt1.o] Error 1
-make[2]: Leaving directory `/home/dank/wk/crosstool-0.28-rc36/build/armeb-unknown-linux-gnu/gcc-3.4.2-glibc-2.3.3/glibc-2.3.3/csu'
-make[1]: *** [csu/subdir_lib] Error 2
-make[1]: Leaving directory `/home/dank/wk/crosstool-0.28-rc36/build/armeb-unknown-linux-gnu/gcc-3.4.2-glibc-2.3.3/glibc-2.3.3'
-make: *** [all] Error 2
-
-
-See http://gcc.gnu.org/PR16350
-
-diff -urN gcc-3.4.0.orig/gcc/config/arm/linux-elf.h gcc-3.4.0/gcc/config/arm/linux-elf.h
---- gcc-3.4.0.orig/gcc/config/arm/linux-elf.h 2004-01-31 07:18:11.000000000 +0100
-+++ gcc-3.4.0/gcc/config/arm/linux-elf.h 2004-07-02 14:46:29.225443757 +0200
-@@ -30,17 +30,34 @@
- /* Do not assume anything about header files. */
- #define NO_IMPLICIT_EXTERN_C
-
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
-+#define TARGET_ENDIAN_OPTION "mbig-endian"
-+#define TARGET_LINKER_EMULATION "armelfb_linux"
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#define TARGET_ENDIAN_OPTION "mlittle-endian"
-+#define TARGET_LINKER_EMULATION "armelf_linux"
-+#endif
-+
- /* Default is to use APCS-32 mode. */
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
-+#define TARGET_DEFAULT \
-+ ( ARM_FLAG_APCS_32 | \
-+ ARM_FLAG_MMU_TRAPS | \
-+ TARGET_ENDIAN_DEFAULT )
-
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
-
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
-+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
-
- #undef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-
- #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
-
-@@ -89,7 +106,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
- -X \
-- %{mbig-endian:-EB}" \
-+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
- SUBTARGET_EXTRA_LINK_SPEC
-
- #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS()
-diff -urN gcc-3.4.0.orig/gcc/config.gcc gcc-3.4.0/gcc/config.gcc
---- gcc-3.4.0.orig/gcc/config.gcc 2004-04-17 04:28:24.000000000 +0200
-+++ gcc-3.4.0/gcc/config.gcc 2004-07-02 14:44:40.045822542 +0200
-@@ -666,6 +666,11 @@
- ;;
- arm*-*-linux*) # ARM GNU/Linux with ELF
- tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
-+ case $target in
-+ arm*b-*)
-+ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
-+ ;;
-+ esac
- tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
- extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- gnu_ld=yes
diff --git a/patches/gcc/3.4.3/gcc-3.4.0-arm-lib1asm.patch b/patches/gcc/3.4.3/gcc-3.4.0-arm-lib1asm.patch
deleted file mode 100644
index 69a79d5..0000000
--- a/patches/gcc/3.4.3/gcc-3.4.0-arm-lib1asm.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-# Origin: from a patch by Dimitry Andric <dimitry@andric.com>, 2004-05-01
-# See http://gcc.gnu.org/PR14352 and http://gcc.gnu.org/PR16314
-# See also http://gcc.gnu.org/ml/gcc-patches/2004-08/msg02568.html et seq for why this isn't in mainline
-# Fixes errors like the following when building glibc (or any other executable
-# or shared library) when using gcc 3.4.0 for ARM with softfloat:
-#
-# .../libc_pic.os(.text+0x15834): In function `__modf': undefined reference to `__subdf3'
-# .../libc_pic.os(.text+0x158b8): In function `__modf': undefined reference to `__subdf3'
-# .../libc_pic.os(.text+0x1590c): In function `scalbn': undefined reference to `__muldf3'
-# .../libc_pic.os(.text+0x15e94): In function `__ldexpf': undefined reference to `__eqsf2'
-# .../libc_pic.os(.text+0xcee4c): In function `monstartup': undefined reference to `__fixsfsi'
-
-diff -urNd gcc-3.4.0-orig/gcc/config/arm/t-linux gcc-3.4.0/gcc/config/arm/t-linux
---- gcc-3.4.0-orig/gcc/config/arm/t-linux 2003-09-20 23:09:07.000000000 +0200
-+++ gcc-3.4.0/gcc/config/arm/t-linux 2004-05-01 20:31:59.102846400 +0200
-@@ -4,7 +4,10 @@
- LIBGCC2_DEBUG_CFLAGS = -g0
-
- LIB1ASMSRC = arm/lib1funcs.asm
--LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
-+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
-+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
-+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
-+ _fixsfsi _fixunssfsi
-
- # MULTILIB_OPTIONS = mhard-float/msoft-float
- # MULTILIB_DIRNAMES = hard-float soft-float
diff --git a/patches/gcc/3.4.3/gcc-3.4.0-arm-nolibfloat.patch b/patches/gcc/3.4.3/gcc-3.4.0-arm-nolibfloat.patch
deleted file mode 100644
index 43eed3e..0000000
--- a/patches/gcc/3.4.3/gcc-3.4.0-arm-nolibfloat.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-# Dimitry Andric <dimitry@andric.com>, 2004-05-01
-#
-# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed
-# anymore. (The required functions are now in libgcc.)
-#
-# Fixes errors like
-# arm-softfloat-linux-gnu/3.4.0/../../../../arm-softfloat-linux-gnu/bin/ld: cannot find -lfloat
-# collect2: ld returned 1 exit status
-# make[2]: *** [arm-softfloat-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/iconvdata/ISO8859-1.so] Error 1
-# when building glibc-2.3.3 with gcc-3.4.0 for arm-softfloat
-
-diff -urNd gcc-3.4.0-orig/gcc/config/arm/linux-elf.h gcc-3.4.0/gcc/config/arm/linux-elf.h
---- gcc-3.4.0-orig/gcc/config/arm/linux-elf.h 2004-01-31 07:18:11.000000000 +0100
-+++ gcc-3.4.0/gcc/config/arm/linux-elf.h 2004-05-01 19:19:06.935979200 +0200
-@@ -55,7 +73,7 @@
- %{shared:-lc} \
- %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
-
--#define LIBGCC_SPEC "%{msoft-float:-lfloat} -lgcc"
-+#define LIBGCC_SPEC "-lgcc"
-
- /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
- the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
-
diff --git a/patches/gcc/3.4.3/pr15068-fix.patch b/patches/gcc/3.4.3/pr15068-fix.patch
deleted file mode 100644
index 2977765..0000000
--- a/patches/gcc/3.4.3/pr15068-fix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-See http://gcc.gnu.org/PR15068
-
-Fixes error
-
-../sysdeps/generic/s_fmax.c: In function `__fmax':
-../sysdeps/generic/s_fmax.c:28: internal compiler error: in elim_reg_cond, at flow.c:3257
-Please submit a full bug report,
-with preprocessed source if appropriate.
-See <URL:http://gcc.gnu.org/bugs.html> for instructions.
-make[2]: *** [/home/dank/wk/crosstool-0.28-rc35/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/build-glibc/math/s_fmax.o] Error 1
-make[2]: Leaving directory `/home/dank/wk/crosstool-0.28-rc35/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/glibc-20040822/math'
-make[1]: *** [math/others] Error 2
-make[1]: Leaving directory `/home/dank/wk/crosstool-0.28-rc35/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/glibc-20040822'
-make: *** [all] Error 2
-
-[ rediffed against gcc-3.4.1, with elbow grease, ending up with same thing as
-http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flow.c.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.563.4.2&r2=1.563.4.3 ]
-
---- gcc-3.4.1/gcc/flow.c.old 2004-02-27 19:39:19.000000000 -0800
-+++ gcc-3.4.1/gcc/flow.c 2004-08-26 07:29:46.000000000 -0700
-@@ -1878,6 +1878,7 @@
- rtx set_src = SET_SRC (pc_set (BB_END (bb)));
- rtx cond_true = XEXP (set_src, 0);
- rtx reg = XEXP (cond_true, 0);
-+ enum rtx_code inv_cond;
-
- if (GET_CODE (reg) == SUBREG)
- reg = SUBREG_REG (reg);
-@@ -1886,11 +1887,13 @@
- in the form of a comparison of a register against zero.
- If the condition is more complex than that, then it is safe
- not to record any information. */
-- if (GET_CODE (reg) == REG
-+ inv_cond = reversed_comparison_code (cond_true, BB_END (bb));
-+ if (inv_cond != UNKNOWN
-+ && GET_CODE (reg) == REG
- && XEXP (cond_true, 1) == const0_rtx)
- {
- rtx cond_false
-- = gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)),
-+ = gen_rtx_fmt_ee (inv_cond,
- GET_MODE (cond_true), XEXP (cond_true, 0),
- XEXP (cond_true, 1));
- if (GET_CODE (XEXP (set_src, 1)) == PC)
diff --git a/patches/gcc/3.4.3/pr16201-fix.patch b/patches/gcc/3.4.3/pr16201-fix.patch
deleted file mode 100644
index be3fec9..0000000
--- a/patches/gcc/3.4.3/pr16201-fix.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-See http://gcc.gnu.org/PR16201
-
-Should fix "bad immediate value for offset" errors for several flavors of arm, e.g.
-
-/tmp/ccmdoQyg.s: Assembler messages:
-/tmp/ccmdoQyg.s:6235: Error: bad immediate value for offset (4096)
-make[2]: *** [crosstool-0.32/build/arm-xscale-linux-gnu/gcc-3.4.3-glibc-2.3.3/build-glibc/locale/ld-collate.o] Error 1
-
-/tmp/cc0c7qop.s: Assembler messages:
-/tmp/cc0c7qop.s:6234: Error: bad immediate value for offset (4104)
-make[2]: *** [crosstool-0.32/build/armv5b-softfloat-linux/gcc-3.4.3-glibc-2.3.3/build-glibc/locale/ld-collate.o] Error 1
-
-
-CVSROOT: /cvs/gcc
-Module name: gcc
-Branch: gcc-3_4-branch
-Changes by: rearnsha@gcc.gnu.org 2005-02-01 15:07:05
-
-Modified files:
- gcc : ChangeLog
- gcc/config/arm : arm-protos.h arm.c
-
-Log message:
- PR target/16201
- * arm.c (arm_eliminable_register): New function.
- (adjacent_mem_locations): Don't allow eliminable registers. Use
- HOST_WIDE_INT for address offsets.
- * arm-protos.h (arm_eliminable_register): Add prototype.
-
-Patches:
-http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.790&r2=2.2326.2.791
-http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/arm/arm-protos.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.61&r2=1.61.4.1
-http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/arm/arm.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.317.4.8&r2=1.317.4.9
-
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/config/arm/arm-protos.h,v
-retrieving revision 1.61
-retrieving revision 1.61.4.1
-diff -u -r1.61 -r1.61.4.1
---- gcc/gcc/config/arm/arm-protos.h 2003/11/20 11:44:18 1.61
-+++ gcc/gcc/config/arm/arm-protos.h 2005/02/01 15:07:02 1.61.4.1
-@@ -1,5 +1,6 @@
- /* Prototypes for exported functions defined in arm.c and pe.c
-- Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+ Copyright (C) 1999, 2000, 2001, 2002, 2003, 2005
-+ Free Software Foundation, Inc.
- Contributed by Richard Earnshaw (rearnsha@arm.com)
- Minor hacks by Nick Clifton (nickc@cygnus.com)
-
-@@ -138,6 +139,7 @@
- extern int arm_is_longcall_p (rtx, int, int);
- extern int arm_emit_vector_const (FILE *, rtx);
- extern const char * arm_output_load_gr (rtx *);
-+extern int arm_eliminable_register (rtx);
-
- #if defined TREE_CODE
- extern rtx arm_function_arg (CUMULATIVE_ARGS *, enum machine_mode, tree, int);
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/config/arm/arm.c,v
-retrieving revision 1.317.4.8
-retrieving revision 1.317.4.9
-diff -u -r1.317.4.8 -r1.317.4.9
---- gcc/gcc/config/arm/arm.c 2004/04/29 19:52:41 1.317.4.8
-+++ gcc/gcc/config/arm/arm.c 2005/02/01 15:07:02 1.317.4.9
-@@ -1,6 +1,6 @@
- /* Output routines for GCC for ARM.
- Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-- 2002, 2003, 2004 Free Software Foundation, Inc.
-+ 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
- Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
- and Martin Simmons (@harleqn.co.uk).
- More major hacks by Richard Earnshaw (rearnsha@arm.com).
-@@ -4056,6 +4056,16 @@
- && INTVAL (op) < 64);
- }
-
-+/* Return true if X is a register that will be eliminated later on. */
-+int
-+arm_eliminable_register (rtx x)
-+{
-+ return REG_P (x) && (REGNO (x) == FRAME_POINTER_REGNUM
-+ || REGNO (x) == ARG_POINTER_REGNUM
-+ || (REGNO (x) >= FIRST_VIRTUAL_REGISTER
-+ && REGNO (x) <= LAST_VIRTUAL_REGISTER));
-+}
-+
- /* Returns TRUE if INSN is an "LDR REG, ADDR" instruction.
- Use by the Cirrus Maverick code which has to workaround
- a hardware bug triggered by such instructions. */
-@@ -4569,33 +4579,42 @@
- || (GET_CODE (XEXP (b, 0)) == PLUS
- && GET_CODE (XEXP (XEXP (b, 0), 1)) == CONST_INT)))
- {
-- int val0 = 0, val1 = 0;
-- int reg0, reg1;
--
-+ HOST_WIDE_INT val0 = 0, val1 = 0;
-+ rtx reg0, reg1;
-+ int val_diff;
-+
- if (GET_CODE (XEXP (a, 0)) == PLUS)
- {
-- reg0 = REGNO (XEXP (XEXP (a, 0), 0));
-+ reg0 = XEXP (XEXP (a, 0), 0);
- val0 = INTVAL (XEXP (XEXP (a, 0), 1));
- }
- else
-- reg0 = REGNO (XEXP (a, 0));
-+ reg0 = XEXP (a, 0);
-
- if (GET_CODE (XEXP (b, 0)) == PLUS)
- {
-- reg1 = REGNO (XEXP (XEXP (b, 0), 0));
-+ reg1 = XEXP (XEXP (b, 0), 0);
- val1 = INTVAL (XEXP (XEXP (b, 0), 1));
- }
- else
-- reg1 = REGNO (XEXP (b, 0));
-+ reg1 = XEXP (b, 0);
-
- /* Don't accept any offset that will require multiple
- instructions to handle, since this would cause the
- arith_adjacentmem pattern to output an overlong sequence. */
- if (!const_ok_for_op (PLUS, val0) || !const_ok_for_op (PLUS, val1))
- return 0;
--
-- return (reg0 == reg1) && ((val1 - val0) == 4 || (val0 - val1) == 4);
-+
-+ /* Don't allow an eliminable register: register elimination can make
-+ the offset too large. */
-+ if (arm_eliminable_register (reg0))
-+ return 0;
-+
-+ val_diff = val1 - val0;
-+ return ((REGNO (reg0) == REGNO (reg1))
-+ && (val_diff == 4 || val_diff == -4));
- }
-+
- return 0;
- }
-
-@@ -7301,7 +7320,6 @@
- return "";
- }
-
--
- /* Output a move from arm registers to an fpa registers.
- OPERANDS[0] is an fpa register.
- OPERANDS[1] is the first registers of an arm register pair. */
diff --git a/patches/gcc/3.4.3/pr18508-fix.patch b/patches/gcc/3.4.3/pr18508-fix.patch
deleted file mode 100644
index a438fee..0000000
--- a/patches/gcc/3.4.3/pr18508-fix.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-See http://gcc.gnu.org/PR18508
-
-This should fix cygwin errors like:
-
-basename: missing operand
-Try `basename --help' for more information.
-mv: `libgcc_s_nof.so.1' and `libgcc_s_nof.so.1.' are the same file
-make[2]: *** [nof/libgcc_s_nof.so] Error 1
-make[2]: Leaving directory `/home/cvachoucek/crosstool-0.32/build/powerpc-750-linux-gnu/gcc-3.4.3-glibc-2.3.5/build-gcc/gcc'
-make[1]: *** [stmp-multilib] Error 2
-make[1]: Leaving directory `/home/cvachoucek/crosstool-0.32/build/powerpc-750-linux-gnu/gcc-3.4.3-glibc-2.3.5/build-gcc/gcc'
-make: *** [install-gcc] Error 2
-
-From gcc-patches-return-133821-listarch-gcc-patches=gcc dot gnu dot org at gcc dot gnu dot org Wed Nov 17 00:15:28 2004
-Return-Path: <gcc-patches-return-133821-listarch-gcc-patches=gcc dot gnu dot org at gcc dot gnu dot org>
-Delivered-To: listarch-gcc-patches at gcc dot gnu dot org
-Received: (qmail 12823 invoked by alias); 17 Nov 2004 00:15:19 -0000
-Mailing-List: contact gcc-patches-help at gcc dot gnu dot org; run by ezmlm
-List-Archive: <http://gcc.gnu.org/ml/gcc-patches/>
-List-Post: <mailto:gcc-patches at gcc dot gnu dot org>
-List-Help: <mailto:gcc-patches-help at gcc dot gnu dot org>
-Sender: gcc-patches-owner at gcc dot gnu dot org
-Date: Tue, 16 Nov 2004 16:14:57 -0800
-From: "H dot J dot Lu" <hjl at lucon dot org>
-To: gcc-patches at gcc dot gnu dot org
-Subject: PATCH: PR other/18508: "basename: too few arguments" when building without bootstrap
-Message-ID: <20041117001457.GA13610@lucon.org>
-
-I think it is safe to use `.backup' to backup the existing shared
-library. No processes should be using the old shared library when
-we get there.
-
-
-H.J.
----
-2004-11-16 H.J. Lu <hongjiu.lu@intel.com>
-
- PR other/18508
- * config/alpha/t-osf4 (SHLIB_LINK): Use `.backup' as the suffix
- to back up the existing shared library.
- * config/arm/t-netbsd (SHLIB_LINK): Likewise.
- * config/i386/t-nwld (SHLIB_LINK): Likewise. [deleted]
- * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise. [deleted]
- * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
- * config/sh/t-linux (SHLIB_LINK): Likewise.
- * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
- * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
- * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
- * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
-
-[ paths adjusted for patch -p1, rediffed agaainst gcc-3.4.3.
- Looks like the t-iris5-6 hunk in cvs is missing here; this must
- have been the mainline patch. ]
-
---- gcc-3.4.3/gcc/config/alpha/t-osf4.stage 2004-10-18 09:14:39.000000000 -0700
-+++ gcc-3.4.3/gcc/config/alpha/t-osf4 2004-11-16 16:06:41.686905479 -0800
-@@ -19,7 +19,7 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2
- -o $(SHLIB_NAME).tmp @multilib_flags@ $(SHLIB_OBJS) -lc && \
- rm -f $(SHLIB_SONAME) && \
- if [ -f $(SHLIB_NAME) ]; then \
-- mv -f $(SHLIB_NAME) $(SHLIB_NAME).`basename $(STAGE_PREFIX)`; \
-+ mv -f $(SHLIB_NAME) $(SHLIB_NAME).backup; \
- else true; fi && \
- mv $(SHLIB_NAME).tmp $(SHLIB_NAME) && \
- $(LN_S) $(SHLIB_NAME) $(SHLIB_SONAME)
---- gcc-3.4.3/gcc/config/arm/t-netbsd.stage 2004-10-18 09:14:40.000000000 -0700
-+++ gcc-3.4.3/gcc/config/arm/t-netbsd 2004-11-16 16:06:46.016348194 -0800
-@@ -14,7 +14,7 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2
- -o $(SHLIB_NAME).tmp @multilib_flags@ $(SHLIB_OBJS) -lc && \
- rm -f $(SHLIB_SONAME) && \
- if [ -f $(SHLIB_NAME) ]; then \
-- mv -f $(SHLIB_NAME) $(SHLIB_NAME).`basename $(STAGE_PREFIX)`; \
-+ mv -f $(SHLIB_NAME) $(SHLIB_NAME).backup; \
- else true; fi && \
- mv $(SHLIB_NAME).tmp $(SHLIB_NAME) && \
- $(LN_S) $(SHLIB_NAME) $(SHLIB_SONAME)
---- gcc-3.4.3/gcc/config/pa/t-hpux-shlib.stage 2004-10-18 09:14:46.000000000 -0700
-+++ gcc-3.4.3/gcc/config/pa/t-hpux-shlib 2004-11-16 16:06:57.982807875 -0800
-@@ -8,7 +8,7 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2
- -o $(SHLIB_NAME).tmp @multilib_flags@ $(SHLIB_OBJS) -lc && \
- rm -f $(SHLIB_SONAME) && \
- if [ -f $(SHLIB_NAME) ]; then \
-- mv -f $(SHLIB_NAME) $(SHLIB_NAME).`basename $(STAGE_PREFIX)`; \
-+ mv -f $(SHLIB_NAME) $(SHLIB_NAME).backup; \
- else true; fi && \
- mv $(SHLIB_NAME).tmp $(SHLIB_NAME) && \
- $(LN_S) $(SHLIB_NAME) $(SHLIB_SONAME)
---- gcc-3.4.3/gcc/config/sh/t-linux.stage 2004-10-18 09:14:48.000000000 -0700
-+++ gcc-3.4.3/gcc/config/sh/t-linux 2004-11-16 16:07:00.787446863 -0800
-@@ -24,7 +24,7 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2
- -o $(SHLIB_NAME).tmp @multilib_flags@ $(SHLIB_OBJS) $(SHLIB_LC) && \
- rm -f $(SHLIB_SOLINK) && \
- if [ -f $(SHLIB_NAME) ]; then \
-- mv -f $(SHLIB_NAME) $(SHLIB_NAME).`basename $(STAGE_PREFIX)`; \
-+ mv -f $(SHLIB_NAME) $(SHLIB_NAME).backup; \
- else true; fi && \
- mv $(SHLIB_NAME).tmp $(SHLIB_NAME) && \
- (echo "/* GNU ld script"; \
---- gcc-3.4.3/gcc/config/t-libunwind-elf.stage 2004-10-18 09:14:39.000000000 -0700
-+++ gcc-3.4.3/gcc/config/t-libunwind-elf 2004-11-16 16:07:08.133501281 -0800
-@@ -14,8 +14,7 @@ SHLIBUNWIND_LINK = $(GCC_FOR_TARGET) $(L
- @multilib_flags@ $(SHLIB_OBJS) -lc && \
- rm -f $(SHLIB_SOLINK) && \
- if [ -f $(SHLIBUNWIND_NAME) ]; then \
-- mv -f $(SHLIBUNWIND_NAME) \
-- $(SHLIBUNWIND_NAME).`basename $(STAGE_PREFIX)`; \
-+ mv -f $(SHLIBUNWIND_NAME) $(SHLIBUNWIND_NAME).backup; \
- else true; fi && \
- mv $(SHLIBUNWIND_NAME).tmp $(SHLIBUNWIND_NAME) && \
- $(LN_S) $(SHLIBUNWIND_NAME) $(SHLIB_SOLINK)
---- gcc-3.4.3/gcc/config/t-slibgcc-darwin.stage 2004-10-18 09:14:39.000000000 -0700
-+++ gcc-3.4.3/gcc/config/t-slibgcc-darwin 2004-11-16 16:07:13.777774752 -0800
-@@ -17,7 +17,7 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2
- @multilib_flags@ $(SHLIB_OBJS) -lc && \
- rm -f $(SHLIB_SOLINK) && \
- if [ -f $(SHLIB_NAME) ]; then \
-- mv -f $(SHLIB_NAME) $(SHLIB_NAME).`basename $(STAGE_PREFIX)`; \
-+ mv -f $(SHLIB_NAME) $(SHLIB_NAME).backup; \
- else true; fi && \
- mv $(SHLIB_NAME).tmp $(SHLIB_NAME) && \
- $(LN_S) $(SHLIB_NAME) $(SHLIB_SOLINK)
---- gcc-3.4.3/gcc/config/t-slibgcc-elf-ver.stage 2004-10-18 09:14:39.000000000 -0700
-+++ gcc-3.4.3/gcc/config/t-slibgcc-elf-ver 2004-11-16 16:04:40.961445223 -0800
-@@ -17,7 +17,7 @@ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2
- -o $(SHLIB_NAME).tmp @multilib_flags@ $(SHLIB_OBJS) $(SHLIB_LC) && \
- rm -f $(SHLIB_SOLINK) && \
- if [ -f $(SHLIB_NAME) ]; then \
-- mv -f $(SHLIB_NAME) $(SHLIB_NAME).`basename $(STAGE_PREFIX)`; \
-+ mv -f $(SHLIB_NAME) $(SHLIB_NAME).backup; \
- else true; fi && \
- mv $(SHLIB_NAME).tmp $(SHLIB_NAME) && \
- $(LN_S) $(SHLIB_NAME) $(SHLIB_SOLINK)
---- gcc-3.4.3/gcc/config/t-slibgcc-sld.old 2004-10-18 09:00:47.000000000 -0700
-+++ gcc-3.4.3/gcc/config/t-slibgcc-sld 2005-05-14 13:44:48.000000000 -0700
-@@ -14,7 +14,7 @@
- @multilib_flags@ $(SHLIB_OBJS) -lc && \
- rm -f $(SHLIB_SOLINK) && \
- if [ -f $(SHLIB_NAME) ]; then \
-- mv -f $(SHLIB_NAME) $(SHLIB_NAME).`basename $(STAGE_PREFIX)`; \
-+ mv -f $(SHLIB_NAME) $(SHLIB_NAME).backup; \
- else true; fi && \
- mv $(SHLIB_NAME).tmp $(SHLIB_NAME) && \
- $(LN_S) $(SHLIB_NAME) $(SHLIB_SOLINK)
diff --git a/patches/gcc/3.4.4/100-uclibc-conf.patch b/patches/gcc/3.4.4/100-uclibc-conf.patch
deleted file mode 100644
index 00ea4ee..0000000
--- a/patches/gcc/3.4.4/100-uclibc-conf.patch
+++ /dev/null
@@ -1,470 +0,0 @@
---- gcc-3.4.1/gcc/config/t-linux-uclibc
-+++ gcc-3.4.1/gcc/config/t-linux-uclibc
-@@ -0,0 +1,5 @@
-+# Remove glibc specific files added in t-linux
-+SHLIB_MAPFILES := $(filter-out $(srcdir)/config/libgcc-glibc.ver, $(SHLIB_MAPFILES))
-+
-+# Use unwind-dw2-fde instead of unwind-dw2-fde-glibc
-+LIB2ADDEH := $(subst unwind-dw2-fde-glibc.c,unwind-dw2-fde.c,$(LIB2ADDEH))
---- gcc-3.4.1/gcc/config.gcc
-+++ gcc-3.4.1/gcc/config.gcc
-@@ -2310,10 +2310,16 @@
- *)
- echo "*** Configuration ${target} not supported" 1>&2
- exit 1
- ;;
- esac
-+
-+# Rather than hook into each target, just do it after all the linux
-+# targets have been processed
-+case ${target} in
-+*-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc"
-+esac
-
- # Support for --with-cpu and related options (and a few unrelated options,
- # too).
- case ${with_cpu} in
- yes | no)
---- gcc-3.4.4/gcc/config/alpha/linux-elf.h
-+++ gcc-3.4.4/gcc/config/alpha/linux-elf.h
-@@ -27,7 +27,11 @@
- #define SUBTARGET_EXTRA_SPECS \
- { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
- #define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
-
- #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
- %{O*:-O3} %{!O*:-O1} \
---- gcc-3.4.1-dist/gcc/config/arm/linux-elf.h 2004-01-31 00:18:11.000000000 -0600
-+++ gcc-3.4.1/gcc/config/arm/linux-elf.h 2004-08-12 15:54:42.000000000 -0500
-@@ -80,14 +80,19 @@
- #define ENDFILE_SPEC \
- "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "%{h*} %{version:-v} \
- %{b} %{Wl,*:%*} \
- %{static:-Bstatic} \
- %{shared:-shared} \
- %{symbolic:-Bsymbolic} \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "} \
- -X \
- %{mbig-endian:-EB}" \
- SUBTARGET_EXTRA_LINK_SPEC
---- gcc-3.4.1-dist/gcc/config/cris/linux.h 2003-11-28 21:08:09.000000000 -0600
-+++ gcc-3.4.1/gcc/config/cris/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -79,6 +79,25 @@
- #undef CRIS_DEFAULT_CPU_VERSION
- #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
-
-+#ifdef USE_UCLIBC
-+
-+#undef CRIS_SUBTARGET_VERSION
-+#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
-+
-+#undef CRIS_LINK_SUBTARGET_SPEC
-+#define CRIS_LINK_SUBTARGET_SPEC \
-+ "-mcrislinux\
-+ -rpath-link include/asm/../..%s\
-+ %{shared} %{static}\
-+ %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
-+ %{!shared: \
-+ %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \
-+ %{!r:%{O2|O3: --gc-sections}}"
-+
-+#else /* USE_UCLIBC */
-+
- #undef CRIS_SUBTARGET_VERSION
- #define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
-
-@@ -93,6 +112,8 @@
- %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\
- %{!r:%{O2|O3: --gc-sections}}"
-
-+#endif /* USE_UCLIBC */
-+
-
- /* Node: Run-time Target */
-
---- gcc-3.4.1-dist/gcc/config/i386/linux.h 2003-11-28 21:08:10.000000000 -0600
-+++ gcc-3.4.1/gcc/config/i386/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -110,22 +110,21 @@
-
- #undef LINK_SPEC
- #ifdef USE_GNULIBC_1
--#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
-- %{!shared: \
-- %{!ibcs: \
-- %{!static: \
-- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.1}} \
-- %{static:-static}}}"
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.1"
-+#else
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
- #else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
-+#endif
- #define LINK_SPEC "-m elf_i386 %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}}"
--#endif
-
- /* A C statement (sans semicolon) to output to the stdio stream
- FILE the assembler definition of uninitialized global DECL named
---- gcc-3.4.4/gcc/config/i386/linux64.h
-+++ gcc-3.4.4/gcc/config/i386/linux64.h
-@@ -54,14 +54,21 @@
- When the -shared link option is used a final link is not being
- done. */
-
-+#ifdef USE_UCLIBC
-+#define ELF32_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
-+#else
-+#define ELF32_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define ELF64_DYNAMIC_LINKER "/lib64/ld-linux-x86-64.so.2"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
- %{shared:-shared} \
- %{!shared: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-- %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
-+ %{m32:%{!dynamic-linker:-dynamic-linker " ELF32_DYNAMIC_LINKER "}} \
-+ %{!m32:%{!dynamic-linker:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}} \
- %{static:-static}}"
-
- #define MULTILIB_DEFAULTS { "m64" }
---- gcc-3.4.4/gcc/config/ia64/linux.h
-+++ gcc-3.4.4/gcc/config/ia64/linux.h
-@@ -37,13 +37,18 @@
- /* Define this for shared library support because it isn't in the main
- linux.h file. */
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "\
- %{shared:-shared} \
- %{!shared: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}"
-
-
---- gcc-3.4.4/gcc/config/m68k/linux.h
-+++ gcc-3.4.4/gcc/config/m68k/linux.h
-@@ -131,12 +131,17 @@
-
- /* If ELF is the default format, we should not use /lib/elf. */
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "-m m68kelf %{shared} \
- %{!shared: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \
-+ %{!dynamic-linker*:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static}}"
-
- /* For compatibility with linux/a.out */
---- gcc-3.4.1-dist/gcc/config/mips/linux.h 2004-06-15 20:42:24.000000000 -0500
-+++ gcc-3.4.1/gcc/config/mips/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -109,14 +109,19 @@
-
- /* Borrowed from sparc/linux.h */
- #undef LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
-+#endif
- #define LINK_SPEC \
- "%(endian_spec) \
- %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}}"
-
- #undef SUBTARGET_ASM_SPEC
---- gcc-3.4.4/gcc/config/pa/pa-linux.h
-+++ gcc-3.4.4/gcc/config/pa/pa-linux.h
-@@ -77,13 +77,18 @@
- /* Define this for shared library support because it isn't in the main
- linux.h file. */
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "\
- %{shared:-shared} \
- %{!shared: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}"
-
- /* glibc's profiling functions don't need gcc to allocate counters. */
---- gcc-3.4.1-dist/gcc/config/rs6000/linux.h 2004-02-25 09:11:19.000000000 -0600
-+++ gcc-3.4.1/gcc/config/rs6000/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -69,7 +69,11 @@
- #define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
-
- #undef LINK_OS_DEFAULT_SPEC
-+#ifdef USE_UCLIBC
-+#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
-+#else
- #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
-+#endif
-
- #define LINK_GCC_C_SEQUENCE_SPEC \
- "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
---- gcc-3.4.1-dist/gcc/config/rs6000/sysv4.h 2004-06-10 01:39:50.000000000 -0500
-+++ gcc-3.4.1/gcc/config/rs6000/sysv4.h 2004-08-12 15:54:43.000000000 -0500
-@@ -947,6 +947,7 @@
- mcall-linux : %(link_os_linux) ; \
- mcall-gnu : %(link_os_gnu) ; \
- mcall-netbsd : %(link_os_netbsd) ; \
-+ mcall-linux-uclibc : %(link_os_linux_uclibc); \
- mcall-openbsd: %(link_os_openbsd) ; \
- : %(link_os_default) }"
-
-@@ -1125,6 +1126,10 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
-
-+#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
-+
- #if defined(HAVE_LD_EH_FRAME_HDR)
- # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
- #endif
-@@ -1291,6 +1296,7 @@
- { "link_os_sim", LINK_OS_SIM_SPEC }, \
- { "link_os_freebsd", LINK_OS_FREEBSD_SPEC }, \
- { "link_os_linux", LINK_OS_LINUX_SPEC }, \
-+ { "link_os_linux_uclibc", LINK_OS_LINUX_UCLIBC_SPEC }, \
- { "link_os_gnu", LINK_OS_GNU_SPEC }, \
- { "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
- { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
---- gcc-3.4.4/gcc/config/s390/linux.h
-+++ gcc-3.4.4/gcc/config/s390/linux.h
-@@ -77,6 +77,13 @@
- #define MULTILIB_DEFAULTS { "m31" }
- #endif
-
-+#ifdef USE_UCLIBC
-+#define ELF31_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
-+#else
-+#define ELF31_DYNAMIC_LINKER "/lib/ld.so.1"
-+#define ELF64_DYNAMIC_LINKER "/lib/ld64.so.1"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC \
- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
-@@ -86,8 +93,8 @@
- %{!static: \
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker: \
-- %{m31:-dynamic-linker /lib/ld.so.1} \
-- %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
-+ %{m31:-dynamic-linker " ELF31_DYNAMIC_LINKER "} \
-+ %{m64:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}}}"
-
-
- #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
---- gcc-3.4.1-dist/gcc/config/sh/linux.h 2004-01-11 20:29:13.000000000 -0600
-+++ gcc-3.4.1/gcc/config/sh/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -73,11 +73,16 @@
- #undef SUBTARGET_LINK_EMUL_SUFFIX
- #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
- #undef SUBTARGET_LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
- #define SUBTARGET_LINK_SPEC \
- "%{shared:-shared} \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}"
-
- #undef LIB_SPEC
---- gcc-3.4.4/gcc/config/sparc/linux.h
-+++ gcc-3.4.4/gcc/config/sparc/linux.h
-@@ -162,13 +162,18 @@
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.1}} \
- %{static:-static}}}"
- #else
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
- #define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
- %{!mno-relax:%{!r:-relax}} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}}"
- #endif
-
---- gcc-3.4.4/gcc/config/sparc/linux64.h
-+++ gcc-3.4.4/gcc/config/sparc/linux64.h
-@@ -167,12 +166,17 @@
- { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
- { "link_arch", LINK_ARCH_SPEC },
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
- #define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}} \
- "
-
---- gcc-3.4.1-dist/libtool.m4 2004-05-18 04:08:37.000000000 -0500
-+++ gcc-3.4.1/libtool.m4 2004-08-12 15:54:43.000000000 -0500
-@@ -689,6 +689,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
---- gcc-3.4.1-dist/ltconfig 2004-03-05 15:05:41.000000000 -0600
-+++ gcc-3.4.1/ltconfig 2004-08-12 15:55:48.000000000 -0500
-@@ -602,6 +602,7 @@
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
-+linux-uclibc*) ;;
- linux-gnu*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-@@ -1262,6 +1263,24 @@
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-+linux-uclibc*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+ soname_spec='${libname}${release}.so$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ # This implies no fast_install, which is unacceptable.
-+ # Some rework will be needed to allow for fast_install
-+ # before this can be enabled.
-+ # Note: copied from linux-gnu, and may not be appropriate.
-+ hardcode_into_libs=yes
-+ # Assume using the uClibc dynamic linker.
-+ dynamic_linker="uClibc ld.so"
-+ ;;
-+
- netbsd*)
- need_lib_prefix=no
- need_version=no
---- gcc-3.4.1-dist/boehm-gc/configure 2004-07-01 14:14:03.000000000 -0500
-+++ gcc-3.4.1/boehm-gc/configure 2004-08-12 16:22:57.000000000 -0500
-@@ -1947,6 +1947,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-3.4.1-dist/boehm-gc/ltconfig 2002-11-20 09:59:06.000000000 -0600
-+++ gcc-3.4.1/boehm-gc/ltconfig 2004-08-12 15:54:42.000000000 -0500
-@@ -1981,6 +1981,23 @@
- fi
- ;;
-
-+linux-uclibc*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+ soname_spec='${libname}${release}.so$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-+ file_magic_cmd=/usr/bin/file
-+ file_magic_test_file=`echo /lib/libuClibc-*.so`
-+
-+ # Assume using the uClibc dynamic linker.
-+ dynamic_linker="uClibc ld.so"
-+ ;;
-+
- netbsd*)
- version_type=sunos
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
diff --git a/patches/gcc/3.4.4/200-uclibc-locale.patch b/patches/gcc/3.4.4/200-uclibc-locale.patch
deleted file mode 100644
index a97f22b..0000000
--- a/patches/gcc/3.4.4/200-uclibc-locale.patch
+++ /dev/null
@@ -1,3255 +0,0 @@
-diff -urN gcc-3.4.2-dist/libstdc++-v3/acinclude.m4 gcc-3.4.2/libstdc++-v3/acinclude.m4
---- gcc-3.4.2-dist/libstdc++-v3/acinclude.m4 2004-07-15 12:42:45.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/acinclude.m4 2004-09-10 10:47:40.000000000 -0500
-@@ -996,7 +996,7 @@
- AC_MSG_CHECKING([for C locale to use])
- GLIBCXX_ENABLE(clocale,auto,[@<:@=MODEL@:>@],
- [use MODEL for target locale package],
-- [permit generic|gnu|ieee_1003.1-2001|yes|no|auto])
-+ [permit generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto])
-
- # If they didn't use this option switch, or if they specified --enable
- # with no specific model, we'll have to look for one. If they
-@@ -1012,6 +1012,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case x${target_os} in
-+ x*-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- xlinux* | xgnu* | xkfreebsd*-gnu | xknetbsd*-gnu)
- AC_EGREP_CPP([_GLIBCXX_ok], [
- #include <features.h>
-@@ -1138,6 +1141,41 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ AC_MSG_RESULT(uclibc)
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+ AC_SUBST(glibcxx_MOFILES)
-+ AC_SUBST(glibcxx_POFILES)
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-3.4.2-dist/libstdc++-v3/aclocal.m4 gcc-3.4.2/libstdc++-v3/aclocal.m4
---- gcc-3.4.2-dist/libstdc++-v3/aclocal.m4 2004-08-13 15:44:03.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/aclocal.m4 2004-09-10 10:47:40.000000000 -0500
-@@ -1025,6 +1025,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case x${target_os} in
-+ x*-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- xlinux* | xgnu* | xkfreebsd*-gnu | xknetbsd*-gnu)
- AC_EGREP_CPP([_GLIBCXX_ok], [
- #include <features.h>
-@@ -1151,6 +1154,41 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ AC_MSG_RESULT(uclibc)
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+ AC_SUBST(glibcxx_MOFILES)
-+ AC_SUBST(glibcxx_POFILES)
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c++locale_internal.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,59 @@
-+// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
-+
-+// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library 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 2, or (at your option)
-+// any later version.
-+
-+// This library 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.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+// Written by Jakub Jelinek <jakub@redhat.com>
-+
-+#include <clocale>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning clean this up
-+#endif
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+
-+extern "C" __typeof(iswctype_l) __iswctype_l;
-+extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
-+extern "C" __typeof(strcoll_l) __strcoll_l;
-+extern "C" __typeof(strftime_l) __strftime_l;
-+extern "C" __typeof(strtod_l) __strtod_l;
-+extern "C" __typeof(strtof_l) __strtof_l;
-+extern "C" __typeof(strtold_l) __strtold_l;
-+extern "C" __typeof(strxfrm_l) __strxfrm_l;
-+extern "C" __typeof(towlower_l) __towlower_l;
-+extern "C" __typeof(towupper_l) __towupper_l;
-+extern "C" __typeof(wcscoll_l) __wcscoll_l;
-+extern "C" __typeof(wcsftime_l) __wcsftime_l;
-+extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
-+extern "C" __typeof(wctype_l) __wctype_l;
-+extern "C" __typeof(newlocale) __newlocale;
-+extern "C" __typeof(freelocale) __freelocale;
-+extern "C" __typeof(duplocale) __duplocale;
-+extern "C" __typeof(uselocale) __uselocale;
-+
-+#endif // GLIBC 2.3 and later
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,160 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library 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 2, or (at your option)
-+// any later version.
-+
-+// This library 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.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.8 Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <cerrno> // For errno
-+#include <locale>
-+#include <stdexcept>
-+#include <langinfo.h>
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
-+#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
-+#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
-+#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
-+#define __strtof_l(S, E, L) strtof((S), (E))
-+#define __strtod_l(S, E, L) strtod((S), (E))
-+#define __strtold_l(S, E, L) strtold((S), (E))
-+#warning should dummy __newlocale check for C|POSIX ?
-+#define __newlocale(a, b, c) NULL
-+#define __freelocale(a) ((void)0)
-+#define __duplocale(a) __c_locale()
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ float __f = __strtof_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __f;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ double __d = __strtod_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __d;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ long double __ld = __strtold_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __ld;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ void
-+ locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
-+ __c_locale __old)
-+ {
-+ __cloc = __newlocale(1 << LC_ALL, __s, __old);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ if (!__cloc)
-+ {
-+ // This named locale is not supported by the underlying OS.
-+ __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
-+ "name not valid"));
-+ }
-+#endif
-+ }
-+
-+ void
-+ locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
-+ {
-+ if (_S_get_c_locale() != __cloc)
-+ __freelocale(__cloc);
-+ }
-+
-+ __c_locale
-+ locale::facet::_S_clone_c_locale(__c_locale& __cloc)
-+ { return __duplocale(__cloc); }
-+} // namespace std
-+
-+namespace __gnu_cxx
-+{
-+ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
-+ {
-+ "LC_CTYPE",
-+ "LC_NUMERIC",
-+ "LC_TIME",
-+ "LC_COLLATE",
-+ "LC_MONETARY",
-+ "LC_MESSAGES",
-+#if _GLIBCXX_NUM_CATEGORIES != 0
-+ "LC_PAPER",
-+ "LC_NAME",
-+ "LC_ADDRESS",
-+ "LC_TELEPHONE",
-+ "LC_MEASUREMENT",
-+ "LC_IDENTIFICATION"
-+#endif
-+ };
-+}
-+
-+namespace std
-+{
-+ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
-+} // namespace std
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.h
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.h 2004-09-10 10:48:08.000000000 -0500
-@@ -0,0 +1,115 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library 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 2, or (at your option)
-+// any later version.
-+
-+// This library 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.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.8 Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#ifndef _C_LOCALE_H
-+#define _C_LOCALE_H 1
-+
-+#pragma GCC system_header
-+
-+#include <cstring> // get std::strlen
-+#include <cstdio> // get std::snprintf or std::sprintf
-+#include <clocale>
-+#include <langinfo.h> // For codecvt
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this
-+#endif
-+#ifdef __UCLIBC_HAS_LOCALE__
-+#include <iconv.h> // For codecvt using iconv, iconv_t
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+#include <libintl.h> // For messages
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning what is _GLIBCXX_C_LOCALE_GNU for
-+#endif
-+#define _GLIBCXX_C_LOCALE_GNU 1
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix categories
-+#endif
-+// #define _GLIBCXX_NUM_CATEGORIES 6
-+#define _GLIBCXX_NUM_CATEGORIES 0
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+namespace __gnu_cxx
-+{
-+ extern "C" __typeof(uselocale) __uselocale;
-+}
-+#endif
-+
-+namespace std
-+{
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ typedef __locale_t __c_locale;
-+#else
-+ typedef int* __c_locale;
-+#endif
-+
-+ // Convert numeric value of type _Tv to string and return length of
-+ // string. If snprintf is available use it, otherwise fall back to
-+ // the unsafe sprintf which, in general, can be dangerous and should
-+ // be avoided.
-+ template<typename _Tv>
-+ int
-+ __convert_from_v(char* __out, const int __size, const char* __fmt,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ _Tv __v, const __c_locale& __cloc, int __prec)
-+ {
-+ __c_locale __old = __gnu_cxx::__uselocale(__cloc);
-+#else
-+ _Tv __v, const __c_locale&, int __prec)
-+ {
-+# ifdef __UCLIBC_HAS_LOCALE__
-+ char* __old = std::setlocale(LC_ALL, NULL);
-+ char* __sav = new char[std::strlen(__old) + 1];
-+ std::strcpy(__sav, __old);
-+ std::setlocale(LC_ALL, "C");
-+# endif
-+#endif
-+
-+ const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __gnu_cxx::__uselocale(__old);
-+#elif defined __UCLIBC_HAS_LOCALE__
-+ std::setlocale(LC_ALL, __sav);
-+ delete [] __sav;
-+#endif
-+ return __ret;
-+ }
-+}
-+
-+#endif
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/codecvt_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,306 @@
-+// std::codecvt implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library 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 2, or (at your option)
-+// any later version.
-+
-+// This library 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.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.1.5 - Template class codecvt
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+namespace std
-+{
-+ // Specializations.
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ codecvt_base::result
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_out(state_type& __state, const intern_type* __from,
-+ const intern_type* __from_end, const intern_type*& __from_next,
-+ extern_type* __to, extern_type* __to_end,
-+ extern_type*& __to_next) const
-+ {
-+ result __ret = ok;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // wcsnrtombs is *very* fast but stops if encounters NUL characters:
-+ // in case we fall back to wcrtomb and then continue, in a loop.
-+ // NB: wcsnrtombs is a GNU extension
-+ for (__from_next = __from, __to_next = __to;
-+ __from_next < __from_end && __to_next < __to_end
-+ && __ret == ok;)
-+ {
-+ const intern_type* __from_chunk_end = wmemchr(__from_next, L'\0',
-+ __from_end - __from_next);
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __from_end;
-+
-+ __from = __from_next;
-+ const size_t __conv = wcsnrtombs(__to_next, &__from_next,
-+ __from_chunk_end - __from_next,
-+ __to_end - __to_next, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // wcrtomb.
-+ for (; __from < __from_next; ++__from)
-+ __to_next += wcrtomb(__to_next, *__from, &__tmp_state);
-+ __state = __tmp_state;
-+ __ret = error;
-+ }
-+ else if (__from_next && __from_next < __from_chunk_end)
-+ {
-+ __to_next += __conv;
-+ __ret = partial;
-+ }
-+ else
-+ {
-+ __from_next = __from_chunk_end;
-+ __to_next += __conv;
-+ }
-+
-+ if (__from_next < __from_end && __ret == ok)
-+ {
-+ extern_type __buf[MB_LEN_MAX];
-+ __tmp_state = __state;
-+ const size_t __conv = wcrtomb(__buf, *__from_next, &__tmp_state);
-+ if (__conv > static_cast<size_t>(__to_end - __to_next))
-+ __ret = partial;
-+ else
-+ {
-+ memcpy(__to_next, __buf, __conv);
-+ __state = __tmp_state;
-+ __to_next += __conv;
-+ ++__from_next;
-+ }
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+
-+ codecvt_base::result
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_in(state_type& __state, const extern_type* __from,
-+ const extern_type* __from_end, const extern_type*& __from_next,
-+ intern_type* __to, intern_type* __to_end,
-+ intern_type*& __to_next) const
-+ {
-+ result __ret = ok;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
-+ // in case we store a L'\0' and then continue, in a loop.
-+ // NB: mbsnrtowcs is a GNU extension
-+ for (__from_next = __from, __to_next = __to;
-+ __from_next < __from_end && __to_next < __to_end
-+ && __ret == ok;)
-+ {
-+ const extern_type* __from_chunk_end;
-+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from_next, '\0',
-+ __from_end
-+ - __from_next));
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __from_end;
-+
-+ __from = __from_next;
-+ size_t __conv = mbsnrtowcs(__to_next, &__from_next,
-+ __from_chunk_end - __from_next,
-+ __to_end - __to_next, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // mbrtowc.
-+ for (;; ++__to_next, __from += __conv)
-+ {
-+ __conv = mbrtowc(__to_next, __from, __from_end - __from,
-+ &__tmp_state);
-+ if (__conv == static_cast<size_t>(-1)
-+ || __conv == static_cast<size_t>(-2))
-+ break;
-+ }
-+ __from_next = __from;
-+ __state = __tmp_state;
-+ __ret = error;
-+ }
-+ else if (__from_next && __from_next < __from_chunk_end)
-+ {
-+ // It is unclear what to return in this case (see DR 382).
-+ __to_next += __conv;
-+ __ret = partial;
-+ }
-+ else
-+ {
-+ __from_next = __from_chunk_end;
-+ __to_next += __conv;
-+ }
-+
-+ if (__from_next < __from_end && __ret == ok)
-+ {
-+ if (__to_next < __to_end)
-+ {
-+ // XXX Probably wrong for stateful encodings
-+ __tmp_state = __state;
-+ ++__from_next;
-+ *__to_next++ = L'\0';
-+ }
-+ else
-+ __ret = partial;
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_encoding() const throw()
-+ {
-+ // XXX This implementation assumes that the encoding is
-+ // stateless and is either single-byte or variable-width.
-+ int __ret = 0;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+ if (MB_CUR_MAX == 1)
-+ __ret = 1;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_max_length() const throw()
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+ // XXX Probably wrong for stateful encodings.
-+ int __ret = MB_CUR_MAX;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_length(state_type& __state, const extern_type* __from,
-+ const extern_type* __end, size_t __max) const
-+ {
-+ int __ret = 0;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
-+ // in case we advance past it and then continue, in a loop.
-+ // NB: mbsnrtowcs is a GNU extension
-+
-+ // A dummy internal buffer is needed in order for mbsnrtocws to consider
-+ // its fourth parameter (it wouldn't with NULL as first parameter).
-+ wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
-+ * __max));
-+ while (__from < __end && __max)
-+ {
-+ const extern_type* __from_chunk_end;
-+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from, '\0',
-+ __end
-+ - __from));
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __end;
-+
-+ const extern_type* __tmp_from = __from;
-+ size_t __conv = mbsnrtowcs(__to, &__from,
-+ __from_chunk_end - __from,
-+ __max, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // mbrtowc.
-+ for (__from = __tmp_from;; __from += __conv)
-+ {
-+ __conv = mbrtowc(NULL, __from, __end - __from,
-+ &__tmp_state);
-+ if (__conv == static_cast<size_t>(-1)
-+ || __conv == static_cast<size_t>(-2))
-+ break;
-+ }
-+ __state = __tmp_state;
-+ __ret += __from - __tmp_from;
-+ break;
-+ }
-+ if (!__from)
-+ __from = __from_chunk_end;
-+
-+ __ret += __from - __tmp_from;
-+ __max -= __conv;
-+
-+ if (__from < __end && __max)
-+ {
-+ // XXX Probably wrong for stateful encodings
-+ __tmp_state = __state;
-+ ++__from;
-+ ++__ret;
-+ --__max;
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/collate_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/collate_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/collate_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/collate_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,80 @@
-+// std::collate implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library 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 2, or (at your option)
-+// any later version.
-+
-+// This library 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.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.4.1.2 collate virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
-+#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
-+#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
-+#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
-+#endif
-+
-+namespace std
-+{
-+ // These are basically extensions to char_traits, and perhaps should
-+ // be put there instead of here.
-+ template<>
-+ int
-+ collate<char>::_M_compare(const char* __one, const char* __two) const
-+ {
-+ int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
-+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
-+ }
-+
-+ template<>
-+ size_t
-+ collate<char>::_M_transform(char* __to, const char* __from,
-+ size_t __n) const
-+ { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ int
-+ collate<wchar_t>::_M_compare(const wchar_t* __one,
-+ const wchar_t* __two) const
-+ {
-+ int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
-+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
-+ }
-+
-+ template<>
-+ size_t
-+ collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
-+ size_t __n) const
-+ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/ctype_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/ctype_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,300 @@
-+// std::ctype implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library 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 2, or (at your option)
-+// any later version.
-+
-+// This library 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.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __wctype_l(S, L) wctype((S))
-+#define __towupper_l(C, L) towupper((C))
-+#define __towlower_l(C, L) towlower((C))
-+#define __iswctype_l(C, M, L) iswctype((C), (M))
-+#endif
-+
-+namespace std
-+{
-+ // NB: The other ctype<char> specializations are in src/locale.cc and
-+ // various /config/os/* files.
-+ template<>
-+ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
-+ : ctype<char>(0, false, __refs)
-+ {
-+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+ {
-+ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
-+ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
-+ this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
-+ this->_M_table = this->_M_c_locale_ctype->__ctype_b;
-+#endif
-+ }
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ ctype<wchar_t>::__wmask_type
-+ ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
-+ {
-+ __wmask_type __ret;
-+ switch (__m)
-+ {
-+ case space:
-+ __ret = __wctype_l("space", _M_c_locale_ctype);
-+ break;
-+ case print:
-+ __ret = __wctype_l("print", _M_c_locale_ctype);
-+ break;
-+ case cntrl:
-+ __ret = __wctype_l("cntrl", _M_c_locale_ctype);
-+ break;
-+ case upper:
-+ __ret = __wctype_l("upper", _M_c_locale_ctype);
-+ break;
-+ case lower:
-+ __ret = __wctype_l("lower", _M_c_locale_ctype);
-+ break;
-+ case alpha:
-+ __ret = __wctype_l("alpha", _M_c_locale_ctype);
-+ break;
-+ case digit:
-+ __ret = __wctype_l("digit", _M_c_locale_ctype);
-+ break;
-+ case punct:
-+ __ret = __wctype_l("punct", _M_c_locale_ctype);
-+ break;
-+ case xdigit:
-+ __ret = __wctype_l("xdigit", _M_c_locale_ctype);
-+ break;
-+ case alnum:
-+ __ret = __wctype_l("alnum", _M_c_locale_ctype);
-+ break;
-+ case graph:
-+ __ret = __wctype_l("graph", _M_c_locale_ctype);
-+ break;
-+ default:
-+ __ret = 0;
-+ }
-+ return __ret;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::do_toupper(wchar_t __c) const
-+ { return __towupper_l(__c, _M_c_locale_ctype); }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
-+ ++__lo;
-+ }
-+ return __hi;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::do_tolower(wchar_t __c) const
-+ { return __towlower_l(__c, _M_c_locale_ctype); }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
-+ ++__lo;
-+ }
-+ return __hi;
-+ }
-+
-+ bool
-+ ctype<wchar_t>::
-+ do_is(mask __m, wchar_t __c) const
-+ {
-+ // Highest bitmask in ctype_base == 10, but extra in "C"
-+ // library for blank.
-+ bool __ret = false;
-+ const size_t __bitmasksize = 11;
-+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+ if (__m & _M_bit[__bitcur]
-+ && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
-+ {
-+ __ret = true;
-+ break;
-+ }
-+ return __ret;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
-+ {
-+ for (; __lo < __hi; ++__vec, ++__lo)
-+ {
-+ // Highest bitmask in ctype_base == 10, but extra in "C"
-+ // library for blank.
-+ const size_t __bitmasksize = 11;
-+ mask __m = 0;
-+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+ if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype))
-+ __m |= _M_bit[__bitcur];
-+ *__vec = __m;
-+ }
-+ return __hi;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi && !this->do_is(__m, *__lo))
-+ ++__lo;
-+ return __lo;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
-+ {
-+ while (__lo < __hi && this->do_is(__m, *__lo) != 0)
-+ ++__lo;
-+ return __lo;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::
-+ do_widen(char __c) const
-+ { return _M_widen[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<wchar_t>::
-+ do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
-+ ++__lo;
-+ ++__dest;
-+ }
-+ return __hi;
-+ }
-+
-+ char
-+ ctype<wchar_t>::
-+ do_narrow(wchar_t __wc, char __dfault) const
-+ {
-+ if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
-+ return _M_narrow[__wc];
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ const int __c = wctob(__wc);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return (__c == EOF ? __dfault : static_cast<char>(__c));
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
-+ char* __dest) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ if (_M_narrow_ok)
-+ while (__lo < __hi)
-+ {
-+ if (*__lo >= 0 && *__lo < 128)
-+ *__dest = _M_narrow[*__lo];
-+ else
-+ {
-+ const int __c = wctob(*__lo);
-+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+ }
-+ ++__lo;
-+ ++__dest;
-+ }
-+ else
-+ while (__lo < __hi)
-+ {
-+ const int __c = wctob(*__lo);
-+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+ ++__lo;
-+ ++__dest;
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __hi;
-+ }
-+
-+ void
-+ ctype<wchar_t>::_M_initialize_ctype()
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ wint_t __i;
-+ for (__i = 0; __i < 128; ++__i)
-+ {
-+ const int __c = wctob(__i);
-+ if (__c == EOF)
-+ break;
-+ else
-+ _M_narrow[__i] = static_cast<char>(__c);
-+ }
-+ if (__i == 128)
-+ _M_narrow_ok = true;
-+ else
-+ _M_narrow_ok = false;
-+ for (size_t __j = 0;
-+ __j < sizeof(_M_widen) / sizeof(wint_t); ++__j)
-+ _M_widen[__j] = btowc(__j);
-+
-+ for (size_t __k = 0; __k <= 11; ++__k)
-+ {
-+ _M_bit[__k] = static_cast<mask>(_ISbit(__k));
-+ _M_wmask[__k] = _M_convert_to_wmask(_M_bit[__k]);
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ }
-+#endif // _GLIBCXX_USE_WCHAR_T
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,100 @@
-+// std::messages implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library 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 2, or (at your option)
-+// any later version.
-+
-+// This library 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.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix gettext stuff
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+extern "C" char *__dcgettext(const char *domainname,
-+ const char *msgid, int category);
-+#undef gettext
-+#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
-+#else
-+#undef gettext
-+#define gettext(msgid) (msgid)
-+#endif
-+
-+namespace std
-+{
-+ // Specializations.
-+ template<>
-+ string
-+ messages<char>::do_get(catalog, int, int, const string& __dfault) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_messages);
-+ const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
-+ __uselocale(__old);
-+ return string(__msg);
-+#elif defined __UCLIBC_HAS_LOCALE__
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_messages);
-+ const char* __msg = gettext(__dfault.c_str());
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+ return string(__msg);
-+#else
-+ const char* __msg = gettext(__dfault.c_str());
-+ return string(__msg);
-+#endif
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ wstring
-+ messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
-+ {
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_messages);
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ __uselocale(__old);
-+ return _M_convert_from_char(__msg);
-+# elif defined __UCLIBC_HAS_LOCALE__
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_messages);
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+ return _M_convert_from_char(__msg);
-+# else
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ return _M_convert_from_char(__msg);
-+# endif
-+ }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.h
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,118 @@
-+// std::messages implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library 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 2, or (at your option)
-+// any later version.
-+
-+// This library 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.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.7.1.2 messages functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix prototypes for *textdomain funcs
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+extern "C" char *__textdomain(const char *domainname);
-+extern "C" char *__bindtextdomain(const char *domainname,
-+ const char *dirname);
-+#else
-+#undef __textdomain
-+#undef __bindtextdomain
-+#define __textdomain(D) ((void)0)
-+#define __bindtextdomain(D,P) ((void)0)
-+#endif
-+
-+ // Non-virtual member functions.
-+ template<typename _CharT>
-+ messages<_CharT>::messages(size_t __refs)
-+ : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
-+ _M_name_messages(_S_get_c_name())
-+ { }
-+
-+ template<typename _CharT>
-+ messages<_CharT>::messages(__c_locale __cloc, const char* __s,
-+ size_t __refs)
-+ : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
-+ _M_name_messages(__s)
-+ {
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ _M_name_messages = __tmp;
-+ }
-+
-+ template<typename _CharT>
-+ typename messages<_CharT>::catalog
-+ messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
-+ const char* __dir) const
-+ {
-+ __bindtextdomain(__s.c_str(), __dir);
-+ return this->do_open(__s, __loc);
-+ }
-+
-+ // Virtual member functions.
-+ template<typename _CharT>
-+ messages<_CharT>::~messages()
-+ {
-+ if (_M_name_messages != _S_get_c_name())
-+ delete [] _M_name_messages;
-+ _S_destroy_c_locale(_M_c_locale_messages);
-+ }
-+
-+ template<typename _CharT>
-+ typename messages<_CharT>::catalog
-+ messages<_CharT>::do_open(const basic_string<char>& __s,
-+ const locale&) const
-+ {
-+ // No error checking is done, assume the catalog exists and can
-+ // be used.
-+ __textdomain(__s.c_str());
-+ return 0;
-+ }
-+
-+ template<typename _CharT>
-+ void
-+ messages<_CharT>::do_close(catalog) const
-+ { }
-+
-+ // messages_byname
-+ template<typename _CharT>
-+ messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
-+ : messages<_CharT>(__refs)
-+ {
-+ if (this->_M_name_messages != locale::facet::_S_get_c_name())
-+ delete [] this->_M_name_messages;
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ this->_M_name_messages = __tmp;
-+
-+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+ {
-+ this->_S_destroy_c_locale(this->_M_c_locale_messages);
-+ this->_S_create_c_locale(this->_M_c_locale_messages, __s);
-+ }
-+ }
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/monetary_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/monetary_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,698 @@
-+// std::moneypunct implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library 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 2, or (at your option)
-+// any later version.
-+
-+// This library 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.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.6.3.2 moneypunct virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning optimize this for uclibc
-+#warning tailor for stub locale support
-+#endif
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ // Construct and return valid pattern consisting of some combination of:
-+ // space none symbol sign value
-+ money_base::pattern
-+ money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
-+ {
-+ pattern __ret;
-+
-+ // This insanely complicated routine attempts to construct a valid
-+ // pattern for use with monyepunct. A couple of invariants:
-+
-+ // if (__precedes) symbol -> value
-+ // else value -> symbol
-+
-+ // if (__space) space
-+ // else none
-+
-+ // none == never first
-+ // space never first or last
-+
-+ // Any elegant implementations of this are welcome.
-+ switch (__posn)
-+ {
-+ case 0:
-+ case 1:
-+ // 1 The sign precedes the value and symbol.
-+ __ret.field[0] = sign;
-+ if (__space)
-+ {
-+ // Pattern starts with sign.
-+ if (__precedes)
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[1] = value;
-+ __ret.field[3] = symbol;
-+ }
-+ __ret.field[2] = space;
-+ }
-+ else
-+ {
-+ // Pattern starts with sign and ends with none.
-+ if (__precedes)
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[2] = value;
-+ }
-+ else
-+ {
-+ __ret.field[1] = value;
-+ __ret.field[2] = symbol;
-+ }
-+ __ret.field[3] = none;
-+ }
-+ break;
-+ case 2:
-+ // 2 The sign follows the value and symbol.
-+ if (__space)
-+ {
-+ // Pattern either ends with sign.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[2] = value;
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ __ret.field[2] = symbol;
-+ }
-+ __ret.field[1] = space;
-+ __ret.field[3] = sign;
-+ }
-+ else
-+ {
-+ // Pattern ends with sign then none.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[1] = value;
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ __ret.field[1] = symbol;
-+ }
-+ __ret.field[2] = sign;
-+ __ret.field[3] = none;
-+ }
-+ break;
-+ case 3:
-+ // 3 The sign immediately precedes the symbol.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = sign;
-+ __ret.field[1] = symbol;
-+ if (__space)
-+ {
-+ __ret.field[2] = space;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[2] = value;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ if (__space)
-+ {
-+ __ret.field[1] = space;
-+ __ret.field[2] = sign;
-+ __ret.field[3] = symbol;
-+ }
-+ else
-+ {
-+ __ret.field[1] = sign;
-+ __ret.field[2] = symbol;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ break;
-+ case 4:
-+ // 4 The sign immediately follows the symbol.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[1] = sign;
-+ if (__space)
-+ {
-+ __ret.field[2] = space;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[2] = value;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ if (__space)
-+ {
-+ __ret.field[1] = space;
-+ __ret.field[2] = symbol;
-+ __ret.field[3] = sign;
-+ }
-+ else
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[2] = sign;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ break;
-+ default:
-+ ;
-+ }
-+ return __ret;
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc,
-+ const char*)
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<char, true>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = "";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = "";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = "";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
-+ __cloc));
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-+
-+ char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = "()";
-+ else
-+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
-+ __cloc);
-+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true
-+ _M_data->_M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
-+ __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+ }
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc,
-+ const char*)
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<char, false>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = "";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = "";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = "";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
-+ __cloc));
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-+
-+ char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = "()";
-+ else
-+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
-+ __cloc);
-+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-+
-+ // _Intl == false
-+ _M_data->_M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+ }
-+ }
-+
-+ template<>
-+ moneypunct<char, true>::~moneypunct()
-+ { delete _M_data; }
-+
-+ template<>
-+ moneypunct<char, false>::~moneypunct()
-+ { delete _M_data; }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const char*)
-+#else
-+ const char* __name)
-+#endif
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<wchar_t, true>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ // Use ctype::widen code without the facet...
-+ unsigned char uc;
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ {
-+ uc = static_cast<unsigned char>(money_base::_S_atoms[__i]);
-+ _M_data->_M_atoms[__i] = btowc(uc);
-+ }
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(__cloc);
-+#else
-+ // Switch to named locale so that mbsrtowcs will work.
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, __name);
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be monetary
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union __s_and_w { const char *__s; unsigned int __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
-+
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
-+#endif
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+
-+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
-+ const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-+
-+ wchar_t* __wcs_ps = 0;
-+ wchar_t* __wcs_ns = 0;
-+ const char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
-+ try
-+ {
-+ mbstate_t __state;
-+ size_t __len = strlen(__cpossign);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ps = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
-+ _M_data->_M_positive_sign = __wcs_ps;
-+ }
-+ else
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-+
-+ __len = strlen(__cnegsign);
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = L"()";
-+ else if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ns = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
-+ _M_data->_M_negative_sign = __wcs_ns;
-+ }
-+ else
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true.
-+ __len = strlen(__ccurr);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ wchar_t* __wcs = new wchar_t[__len];
-+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
-+ _M_data->_M_curr_symbol = __wcs;
-+ }
-+ else
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
-+ }
-+ catch (...)
-+ {
-+ delete _M_data;
-+ _M_data = 0;
-+ delete __wcs_ps;
-+ delete __wcs_ns;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ __throw_exception_again;
-+ }
-+
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
-+ __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ }
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const char*)
-+#else
-+ const char* __name)
-+#endif
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<wchar_t, false>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ // Use ctype::widen code without the facet...
-+ unsigned char uc;
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ {
-+ uc = static_cast<unsigned char>(money_base::_S_atoms[__i]);
-+ _M_data->_M_atoms[__i] = btowc(uc);
-+ }
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(__cloc);
-+#else
-+ // Switch to named locale so that mbsrtowcs will work.
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, __name);
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be monetary
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union __s_and_w { const char *__s; unsigned int __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
-+
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
-+#endif
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+
-+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
-+ const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-+
-+ wchar_t* __wcs_ps = 0;
-+ wchar_t* __wcs_ns = 0;
-+ const char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
-+ try
-+ {
-+ mbstate_t __state;
-+ size_t __len;
-+ __len = strlen(__cpossign);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ps = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
-+ _M_data->_M_positive_sign = __wcs_ps;
-+ }
-+ else
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-+
-+ __len = strlen(__cnegsign);
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = L"()";
-+ else if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ns = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
-+ _M_data->_M_negative_sign = __wcs_ns;
-+ }
-+ else
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true.
-+ __len = strlen(__ccurr);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ wchar_t* __wcs = new wchar_t[__len];
-+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
-+ _M_data->_M_curr_symbol = __wcs;
-+ }
-+ else
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
-+ }
-+ catch (...)
-+ {
-+ delete _M_data;
-+ _M_data = 0;
-+ delete __wcs_ps;
-+ delete __wcs_ns;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ __throw_exception_again;
-+ }
-+
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ }
-+ }
-+
-+ template<>
-+ moneypunct<wchar_t, true>::~moneypunct()
-+ {
-+ if (_M_data->_M_positive_sign_size)
-+ delete [] _M_data->_M_positive_sign;
-+ if (_M_data->_M_negative_sign_size
-+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
-+ delete [] _M_data->_M_negative_sign;
-+ if (_M_data->_M_curr_symbol_size)
-+ delete [] _M_data->_M_curr_symbol;
-+ delete _M_data;
-+ }
-+
-+ template<>
-+ moneypunct<wchar_t, false>::~moneypunct()
-+ {
-+ if (_M_data->_M_positive_sign_size)
-+ delete [] _M_data->_M_positive_sign;
-+ if (_M_data->_M_negative_sign_size
-+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
-+ delete [] _M_data->_M_negative_sign;
-+ if (_M_data->_M_curr_symbol_size)
-+ delete [] _M_data->_M_curr_symbol;
-+ delete _M_data;
-+ }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/numeric_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/numeric_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,183 @@
-+// std::numpunct implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library 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 2, or (at your option)
-+// any later version.
-+
-+// This library 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.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.3.1.2 numpunct virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning tailor for stub locale support
-+#endif
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __numpunct_cache<char>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_use_grouping = false;
-+
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+
-+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
-+ _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
-+
-+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
-+ _M_data->_M_atoms_in[__j] = __num_base::_S_atoms_in[__j];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(THOUSANDS_SEP,
-+ __cloc));
-+
-+ // Check for NULL, which implies no grouping.
-+ if (_M_data->_M_thousands_sep == '\0')
-+ _M_data->_M_grouping = "";
-+ else
-+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ }
-+
-+ // NB: There is no way to extact this info from posix locales.
-+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
-+ _M_data->_M_truename = "true";
-+ _M_data->_M_truename_size = strlen(_M_data->_M_truename);
-+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
-+ _M_data->_M_falsename = "false";
-+ _M_data->_M_falsename_size = strlen(_M_data->_M_falsename);
-+ }
-+
-+ template<>
-+ numpunct<char>::~numpunct()
-+ { delete _M_data; }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __numpunct_cache<wchar_t>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_use_grouping = false;
-+
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_S_get_c_locale());
-+#endif
-+ // Use ctype::widen code without the facet...
-+ unsigned char uc;
-+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
-+ {
-+ uc = static_cast<unsigned char>(__num_base::_S_atoms_out[__i]);
-+ _M_data->_M_atoms_out[__i] = btowc(uc);
-+ }
-+
-+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
-+ {
-+ uc = static_cast<unsigned char>(__num_base::_S_atoms_in[__j]);
-+ _M_data->_M_atoms_in[__j] = btowc(uc);
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union __s_and_w { const char *__s; unsigned int __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
-+
-+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
-+#endif
-+
-+ if (_M_data->_M_thousands_sep == L'\0')
-+ _M_data->_M_grouping = "";
-+ else
-+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ }
-+
-+ // NB: There is no way to extact this info from posix locales.
-+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
-+ _M_data->_M_truename = L"true";
-+ _M_data->_M_truename_size = wcslen(_M_data->_M_truename);
-+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
-+ _M_data->_M_falsename = L"false";
-+ _M_data->_M_falsename_size = wcslen(_M_data->_M_falsename);
-+ }
-+
-+ template<>
-+ numpunct<wchar_t>::~numpunct()
-+ { delete _M_data; }
-+ #endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.cc 2004-09-10 10:48:00.000000000 -0500
-@@ -0,0 +1,356 @@
-+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library 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 2, or (at your option)
-+// any later version.
-+
-+// This library 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.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
-+// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning tailor for stub locale support
-+#endif
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ __timepunct<char>::
-+ _M_put(char* __s, size_t __maxlen, const char* __format,
-+ const tm* __tm) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
-+ _M_c_locale_timepunct);
-+#else
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_timepunct);
-+ const size_t __len = strftime(__s, __maxlen, __format, __tm);
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ // Make sure __s is null terminated.
-+ if (__len == 0)
-+ __s[0] = '\0';
-+ }
-+
-+ template<>
-+ void
-+ __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __timepunct_cache<char>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_c_locale_timepunct = _S_get_c_locale();
-+
-+ _M_data->_M_date_format = "%m/%d/%y";
-+ _M_data->_M_date_era_format = "%m/%d/%y";
-+ _M_data->_M_time_format = "%H:%M:%S";
-+ _M_data->_M_time_era_format = "%H:%M:%S";
-+ _M_data->_M_date_time_format = "";
-+ _M_data->_M_date_time_era_format = "";
-+ _M_data->_M_am = "AM";
-+ _M_data->_M_pm = "PM";
-+ _M_data->_M_am_pm_format = "";
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = "Sunday";
-+ _M_data->_M_day2 = "Monday";
-+ _M_data->_M_day3 = "Tuesday";
-+ _M_data->_M_day4 = "Wednesday";
-+ _M_data->_M_day5 = "Thursday";
-+ _M_data->_M_day6 = "Friday";
-+ _M_data->_M_day7 = "Saturday";
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = "Sun";
-+ _M_data->_M_aday2 = "Mon";
-+ _M_data->_M_aday3 = "Tue";
-+ _M_data->_M_aday4 = "Wed";
-+ _M_data->_M_aday5 = "Thu";
-+ _M_data->_M_aday6 = "Fri";
-+ _M_data->_M_aday7 = "Sat";
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = "January";
-+ _M_data->_M_month02 = "February";
-+ _M_data->_M_month03 = "March";
-+ _M_data->_M_month04 = "April";
-+ _M_data->_M_month05 = "May";
-+ _M_data->_M_month06 = "June";
-+ _M_data->_M_month07 = "July";
-+ _M_data->_M_month08 = "August";
-+ _M_data->_M_month09 = "September";
-+ _M_data->_M_month10 = "October";
-+ _M_data->_M_month11 = "November";
-+ _M_data->_M_month12 = "December";
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = "Jan";
-+ _M_data->_M_amonth02 = "Feb";
-+ _M_data->_M_amonth03 = "Mar";
-+ _M_data->_M_amonth04 = "Apr";
-+ _M_data->_M_amonth05 = "May";
-+ _M_data->_M_amonth06 = "Jun";
-+ _M_data->_M_amonth07 = "Jul";
-+ _M_data->_M_amonth08 = "Aug";
-+ _M_data->_M_amonth09 = "Sep";
-+ _M_data->_M_amonth10 = "Oct";
-+ _M_data->_M_amonth11 = "Nov";
-+ _M_data->_M_amonth12 = "Dec";
-+ }
-+ else
-+ {
-+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
-+
-+ _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
-+ _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
-+ _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
-+ _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
-+ _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
-+ _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT, __cloc);
-+ _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
-+ _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
-+ _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
-+ _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
-+ _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
-+ _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
-+ _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
-+ _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
-+ _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
-+ _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
-+ _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
-+ _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
-+ _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
-+ _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
-+ _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
-+ _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
-+ _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
-+ _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
-+ _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
-+ _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
-+ _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
-+ _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
-+ _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
-+ _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
-+ _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
-+ _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
-+ _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
-+ _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
-+ _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
-+ _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
-+ _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
-+ _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
-+ _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
-+ _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
-+ _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
-+ _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
-+ _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
-+ }
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ __timepunct<wchar_t>::
-+ _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
-+ const tm* __tm) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
-+ const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
-+ _M_c_locale_timepunct);
-+#else
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_timepunct);
-+ const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ // Make sure __s is null terminated.
-+ if (__len == 0)
-+ __s[0] = L'\0';
-+ }
-+
-+ template<>
-+ void
-+ __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __timepunct_cache<wchar_t>;
-+
-+#warning wide time stuff
-+// if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_c_locale_timepunct = _S_get_c_locale();
-+
-+ _M_data->_M_date_format = L"%m/%d/%y";
-+ _M_data->_M_date_era_format = L"%m/%d/%y";
-+ _M_data->_M_time_format = L"%H:%M:%S";
-+ _M_data->_M_time_era_format = L"%H:%M:%S";
-+ _M_data->_M_date_time_format = L"";
-+ _M_data->_M_date_time_era_format = L"";
-+ _M_data->_M_am = L"AM";
-+ _M_data->_M_pm = L"PM";
-+ _M_data->_M_am_pm_format = L"";
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = L"Sunday";
-+ _M_data->_M_day2 = L"Monday";
-+ _M_data->_M_day3 = L"Tuesday";
-+ _M_data->_M_day4 = L"Wednesday";
-+ _M_data->_M_day5 = L"Thursday";
-+ _M_data->_M_day6 = L"Friday";
-+ _M_data->_M_day7 = L"Saturday";
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = L"Sun";
-+ _M_data->_M_aday2 = L"Mon";
-+ _M_data->_M_aday3 = L"Tue";
-+ _M_data->_M_aday4 = L"Wed";
-+ _M_data->_M_aday5 = L"Thu";
-+ _M_data->_M_aday6 = L"Fri";
-+ _M_data->_M_aday7 = L"Sat";
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = L"January";
-+ _M_data->_M_month02 = L"February";
-+ _M_data->_M_month03 = L"March";
-+ _M_data->_M_month04 = L"April";
-+ _M_data->_M_month05 = L"May";
-+ _M_data->_M_month06 = L"June";
-+ _M_data->_M_month07 = L"July";
-+ _M_data->_M_month08 = L"August";
-+ _M_data->_M_month09 = L"September";
-+ _M_data->_M_month10 = L"October";
-+ _M_data->_M_month11 = L"November";
-+ _M_data->_M_month12 = L"December";
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = L"Jan";
-+ _M_data->_M_amonth02 = L"Feb";
-+ _M_data->_M_amonth03 = L"Mar";
-+ _M_data->_M_amonth04 = L"Apr";
-+ _M_data->_M_amonth05 = L"May";
-+ _M_data->_M_amonth06 = L"Jun";
-+ _M_data->_M_amonth07 = L"Jul";
-+ _M_data->_M_amonth08 = L"Aug";
-+ _M_data->_M_amonth09 = L"Sep";
-+ _M_data->_M_amonth10 = L"Oct";
-+ _M_data->_M_amonth11 = L"Nov";
-+ _M_data->_M_amonth12 = L"Dec";
-+ }
-+#if 0
-+ else
-+ {
-+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
-+
-+ _M_data->_M_date_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WD_FMT, __cloc));
-+ _M_data->_M_date_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_D_FMT, __cloc));
-+ _M_data->_M_time_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WT_FMT, __cloc));
-+ _M_data->_M_time_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_T_FMT, __cloc));
-+ _M_data->_M_date_time_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WD_T_FMT, __cloc));
-+ _M_data->_M_date_time_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc));
-+ _M_data->_M_am = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WAM_STR, __cloc));
-+ _M_data->_M_pm = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WPM_STR, __cloc));
-+ _M_data->_M_am_pm_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc));
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_1, __cloc));
-+ _M_data->_M_day2 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_2, __cloc));
-+ _M_data->_M_day3 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_3, __cloc));
-+ _M_data->_M_day4 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_4, __cloc));
-+ _M_data->_M_day5 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_5, __cloc));
-+ _M_data->_M_day6 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_6, __cloc));
-+ _M_data->_M_day7 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_7, __cloc));
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_1, __cloc));
-+ _M_data->_M_aday2 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_2, __cloc));
-+ _M_data->_M_aday3 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_3, __cloc));
-+ _M_data->_M_aday4 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_4, __cloc));
-+ _M_data->_M_aday5 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_5, __cloc));
-+ _M_data->_M_aday6 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_6, __cloc));
-+ _M_data->_M_aday7 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_7, __cloc));
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_1, __cloc));
-+ _M_data->_M_month02 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_2, __cloc));
-+ _M_data->_M_month03 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_3, __cloc));
-+ _M_data->_M_month04 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_4, __cloc));
-+ _M_data->_M_month05 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_5, __cloc));
-+ _M_data->_M_month06 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_6, __cloc));
-+ _M_data->_M_month07 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_7, __cloc));
-+ _M_data->_M_month08 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_8, __cloc));
-+ _M_data->_M_month09 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_9, __cloc));
-+ _M_data->_M_month10 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_10, __cloc));
-+ _M_data->_M_month11 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_11, __cloc));
-+ _M_data->_M_month12 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_12, __cloc));
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_1, __cloc));
-+ _M_data->_M_amonth02 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_2, __cloc));
-+ _M_data->_M_amonth03 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_3, __cloc));
-+ _M_data->_M_amonth04 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_4, __cloc));
-+ _M_data->_M_amonth05 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_5, __cloc));
-+ _M_data->_M_amonth06 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_6, __cloc));
-+ _M_data->_M_amonth07 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_7, __cloc));
-+ _M_data->_M_amonth08 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_8, __cloc));
-+ _M_data->_M_amonth09 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_9, __cloc));
-+ _M_data->_M_amonth10 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_10, __cloc));
-+ _M_data->_M_amonth11 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_11, __cloc));
-+ _M_data->_M_amonth12 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_12, __cloc));
-+ }
-+#endif // 0
-+ }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.h
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,68 @@
-+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library 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 2, or (at your option)
-+// any later version.
-+
-+// This library 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.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.5.1.2 - time_get functions
-+// ISO C++ 14882: 22.2.5.3.2 - time_put functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(size_t __refs)
-+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(_S_get_c_name())
-+ { _M_initialize_timepunct(); }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
-+ : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(_S_get_c_name())
-+ { _M_initialize_timepunct(); }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
-+ size_t __refs)
-+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(__s)
-+ {
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ _M_name_timepunct = __tmp;
-+ _M_initialize_timepunct(__cloc);
-+ }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::~__timepunct()
-+ {
-+ if (_M_name_timepunct != _S_get_c_name())
-+ delete [] _M_name_timepunct;
-+ delete _M_data;
-+ _S_destroy_c_locale(_M_c_locale_timepunct);
-+ }
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_base.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_base.h
---- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_base.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_base.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,58 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003
-+// Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library 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 2, or (at your option)
-+// any later version.
-+
-+// This library 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.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// Information as gleaned from /usr/include/ctype.h
-+
-+ struct ctype_base
-+ {
-+ // Note: In uClibc, the following two types depend on configuration.
-+
-+ // Non-standard typedefs.
-+ typedef const __ctype_touplow_t* __to_type;
-+
-+ // NB: Offsets into ctype<char>::_M_table force a particular size
-+ // on the mask type. Because of this, we don't use an enum.
-+ typedef __ctype_mask_t mask;
-+ static const mask upper = _ISupper;
-+ static const mask lower = _ISlower;
-+ static const mask alpha = _ISalpha;
-+ static const mask digit = _ISdigit;
-+ static const mask xdigit = _ISxdigit;
-+ static const mask space = _ISspace;
-+ static const mask print = _ISprint;
-+ static const mask graph = _ISalpha | _ISdigit | _ISpunct;
-+ static const mask cntrl = _IScntrl;
-+ static const mask punct = _ISpunct;
-+ static const mask alnum = _ISalpha | _ISdigit;
-+ };
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_inline.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_inline.h
---- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_inline.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_inline.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,69 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library 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 2, or (at your option)
-+// any later version.
-+
-+// This library 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.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-+// functions go in ctype.cc
-+
-+ bool
-+ ctype<char>::
-+ is(mask __m, char __c) const
-+ { return _M_table[static_cast<unsigned char>(__c)] & __m; }
-+
-+ const char*
-+ ctype<char>::
-+ is(const char* __low, const char* __high, mask* __vec) const
-+ {
-+ while (__low < __high)
-+ *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
-+ return __high;
-+ }
-+
-+ const char*
-+ ctype<char>::
-+ scan_is(mask __m, const char* __low, const char* __high) const
-+ {
-+ while (__low < __high
-+ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
-+ ++__low;
-+ return __low;
-+ }
-+
-+ const char*
-+ ctype<char>::
-+ scan_not(mask __m, const char* __low, const char* __high) const
-+ {
-+ while (__low < __high
-+ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
-+ ++__low;
-+ return __low;
-+ }
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_noninline.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_noninline.h
---- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_noninline.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_noninline.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,92 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004
-+// Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library 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 2, or (at your option)
-+// any later version.
-+
-+// This library 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.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// Information as gleaned from /usr/include/ctype.h
-+
-+ const ctype_base::mask*
-+ ctype<char>::classic_table() throw()
-+ { return __C_ctype_b; }
-+
-+ ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
-+ size_t __refs)
-+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
-+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
-+ {
-+ _M_toupper = __C_ctype_toupper;
-+ _M_tolower = __C_ctype_tolower;
-+ _M_table = __table ? __table : __C_ctype_b;
-+ memset(_M_widen, 0, sizeof(_M_widen));
-+ memset(_M_narrow, 0, sizeof(_M_narrow));
-+ }
-+
-+ ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
-+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
-+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
-+ {
-+ _M_toupper = __C_ctype_toupper;
-+ _M_tolower = __C_ctype_tolower;
-+ _M_table = __table ? __table : __C_ctype_b;
-+ memset(_M_widen, 0, sizeof(_M_widen));
-+ memset(_M_narrow, 0, sizeof(_M_narrow));
-+ }
-+
-+ char
-+ ctype<char>::do_toupper(char __c) const
-+ { return _M_toupper[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<char>::do_toupper(char* __low, const char* __high) const
-+ {
-+ while (__low < __high)
-+ {
-+ *__low = _M_toupper[static_cast<unsigned char>(*__low)];
-+ ++__low;
-+ }
-+ return __high;
-+ }
-+
-+ char
-+ ctype<char>::do_tolower(char __c) const
-+ { return _M_tolower[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<char>::do_tolower(char* __low, const char* __high) const
-+ {
-+ while (__low < __high)
-+ {
-+ *__low = _M_tolower[static_cast<unsigned char>(*__low)];
-+ ++__low;
-+ }
-+ return __high;
-+ }
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/os_defines.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/os_defines.h
---- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/os_defines.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/os_defines.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,44 @@
-+// Specific definitions for GNU/Linux -*- C++ -*-
-+
-+// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library 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 2, or (at your option)
-+// any later version.
-+
-+// This library 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.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+#ifndef _GLIBCXX_OS_DEFINES
-+#define _GLIBCXX_OS_DEFINES 1
-+
-+// System-specific #define, typedefs, corrections, etc, go here. This
-+// file will come before all others.
-+
-+// This keeps isanum, et al from being propagated as macros.
-+#define __NO_CTYPE 1
-+
-+#include <features.h>
-+
-+// We must not see the optimized string functions GNU libc defines.
-+#define __NO_STRING_INLINES
-+
-+#endif
-diff -urN gcc-3.4.2-dist/libstdc++-v3/configure gcc-3.4.2/libstdc++-v3/configure
---- gcc-3.4.2-dist/libstdc++-v3/configure 2004-08-13 15:44:04.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/configure 2004-09-10 10:47:40.000000000 -0500
-@@ -3878,6 +3878,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-@@ -5479,7 +5479,7 @@
- enableval="$enable_clocale"
-
- case "$enableval" in
-- generic|gnu|ieee_1003.1-2001|yes|no|auto) ;;
-+ generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto) ;;
- *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable clocale" >&5
- echo "$as_me: error: Unknown argument to enable/disable clocale" >&2;}
- { (exit 1); exit 1; }; } ;;
-@@ -5545,6 +5550,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case x${target_os} in
-+ xlinux-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- xlinux* | xgnu* | xkfreebsd*-gnu | xknetbsd*-gnu)
- cat >conftest.$ac_ext <<_ACEOF
- #line $LINENO "configure"
-@@ -5759,6 +5767,77 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ echo "$as_me:$LINENO: result: uclibc" >&5
-+echo "${ECHO_T}uclibc" >&6
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ # Extract the first word of "msgfmt", so it can be a program name with args.
-+set dummy msgfmt; ac_word=$2
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_check_msgfmt+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$check_msgfmt"; then
-+ ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_check_msgfmt="yes"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+
-+ test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
-+fi
-+fi
-+check_msgfmt=$ac_cv_prog_check_msgfmt
-+if test -n "$check_msgfmt"; then
-+ echo "$as_me:$LINENO: result: $check_msgfmt" >&5
-+echo "${ECHO_T}$check_msgfmt" >&6
-+else
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+fi
-+
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+
-+
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-3.4.2-dist/libstdc++-v3/configure.host gcc-3.4.2/libstdc++-v3/configure.host
---- gcc-3.4.2-dist/libstdc++-v3/configure.host 2004-08-27 14:52:30.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/configure.host 2004-09-10 10:47:40.000000000 -0500
-@@ -217,6 +217,12 @@
- ;;
- esac
-
-+# Override for uClibc since linux-uclibc gets mishandled above.
-+case "${host_os}" in
-+ *-uclibc*)
-+ os_include_dir="os/uclibc"
-+ ;;
-+esac
-
- # Set any OS-dependent and CPU-dependent bits.
- # THIS TABLE IS SORTED. KEEP IT THAT WAY.
-diff -urN gcc-3.4.2-dist/libstdc++-v3/crossconfig.m4 gcc-3.4.2/libstdc++-v3/crossconfig.m4
---- gcc-3.4.2-dist/libstdc++-v3/crossconfig.m4 2004-07-06 20:23:49.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/crossconfig.m4 2004-09-10 10:47:40.000000000 -0500
-@@ -138,6 +138,99 @@
- ;;
- esac
- ;;
-+ *-uclibc*)
-+# Temporary hack until we implement the float versions of the libm funcs
-+ AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
-+ machine/endian.h machine/param.h sys/machine.h sys/types.h \
-+ fp.h float.h endian.h inttypes.h locale.h float.h stdint.h])
-+ SECTION_FLAGS='-ffunction-sections -fdata-sections'
-+ AC_SUBST(SECTION_FLAGS)
-+ GLIBCXX_CHECK_LINKER_FEATURES
-+ GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
-+ GLIBCXX_CHECK_WCHAR_T_SUPPORT
-+
-+ # For LFS.
-+ AC_DEFINE(HAVE_INT64_T)
-+ case "$target" in
-+ *-uclinux*)
-+ # Don't enable LFS with uClinux
-+ ;;
-+ *)
-+ AC_DEFINE(_GLIBCXX_USE_LFS)
-+ esac
-+
-+ # For showmanyc_helper().
-+ AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
-+ GLIBCXX_CHECK_POLL
-+ GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
-+
-+ # For xsputn_2().
-+ AC_CHECK_HEADERS(sys/uio.h)
-+ GLIBCXX_CHECK_WRITEV
-+
-+# AC_DEFINE(HAVE_ACOSF)
-+# AC_DEFINE(HAVE_ASINF)
-+# AC_DEFINE(HAVE_ATANF)
-+# AC_DEFINE(HAVE_ATAN2F)
-+ AC_DEFINE(HAVE_CEILF)
-+ AC_DEFINE(HAVE_COPYSIGN)
-+# AC_DEFINE(HAVE_COPYSIGNF)
-+# AC_DEFINE(HAVE_COSF)
-+# AC_DEFINE(HAVE_COSHF)
-+# AC_DEFINE(HAVE_EXPF)
-+# AC_DEFINE(HAVE_FABSF)
-+ AC_DEFINE(HAVE_FINITE)
-+ AC_DEFINE(HAVE_FINITEF)
-+ AC_DEFINE(HAVE_FLOORF)
-+# AC_DEFINE(HAVE_FMODF)
-+# AC_DEFINE(HAVE_FREXPF)
-+ AC_DEFINE(HAVE_HYPOT)
-+# AC_DEFINE(HAVE_HYPOTF)
-+ AC_DEFINE(HAVE_ISINF)
-+ AC_DEFINE(HAVE_ISINFF)
-+ AC_DEFINE(HAVE_ISNAN)
-+ AC_DEFINE(HAVE_ISNANF)
-+# AC_DEFINE(HAVE_LOGF)
-+# AC_DEFINE(HAVE_LOG10F)
-+# AC_DEFINE(HAVE_MODFF)
-+# AC_DEFINE(HAVE_SINF)
-+# AC_DEFINE(HAVE_SINHF)
-+# AC_DEFINE(HAVE_SINCOS)
-+# AC_DEFINE(HAVE_SINCOSF)
-+ AC_DEFINE(HAVE_SQRTF)
-+# AC_DEFINE(HAVE_TANF)
-+# AC_DEFINE(HAVE_TANHF)
-+ if test x"long_double_math_on_this_cpu" = x"yes"; then
-+ AC_MSG_ERROR([long_double_math_on_this_cpu is yes!])
-+# AC_DEFINE(HAVE_ACOSL)
-+# AC_DEFINE(HAVE_ASINL)
-+# AC_DEFINE(HAVE_ATANL)
-+# AC_DEFINE(HAVE_ATAN2L)
-+# AC_DEFINE(HAVE_CEILL)
-+# AC_DEFINE(HAVE_COPYSIGNL)
-+# AC_DEFINE(HAVE_COSL)
-+# AC_DEFINE(HAVE_COSHL)
-+# AC_DEFINE(HAVE_EXPL)
-+# AC_DEFINE(HAVE_FABSL)
-+# AC_DEFINE(HAVE_FINITEL)
-+# AC_DEFINE(HAVE_FLOORL)
-+# AC_DEFINE(HAVE_FMODL)
-+# AC_DEFINE(HAVE_FREXPL)
-+# AC_DEFINE(HAVE_HYPOTL)
-+# AC_DEFINE(HAVE_ISINFL)
-+# AC_DEFINE(HAVE_ISNANL)
-+# AC_DEFINE(HAVE_LOGL)
-+# AC_DEFINE(HAVE_LOG10L)
-+# AC_DEFINE(HAVE_MODFL)
-+# AC_DEFINE(HAVE_POWL)
-+# AC_DEFINE(HAVE_SINL)
-+# AC_DEFINE(HAVE_SINHL)
-+# AC_DEFINE(HAVE_SINCOSL)
-+# AC_DEFINE(HAVE_SQRTL)
-+# AC_DEFINE(HAVE_TANL)
-+# AC_DEFINE(HAVE_TANHL)
-+ fi
-+ ;;
- *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
- AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
- machine/endian.h machine/param.h sys/machine.h sys/types.h \
-@@ -152,7 +245,7 @@
- AC_DEFINE(HAVE_INT64_T)
- case "$target" in
- *-uclinux*)
-- # Don't enable LFS with uClibc
-+ # Don't enable LFS with uClinux
- ;;
- *)
- AC_DEFINE(_GLIBCXX_USE_LFS)
-diff -urN gcc-3.4.2-dist/libstdc++-v3/include/c_compatibility/wchar.h gcc-3.4.2/libstdc++-v3/include/c_compatibility/wchar.h
---- gcc-3.4.2-dist/libstdc++-v3/include/c_compatibility/wchar.h 2003-12-08 21:51:45.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/include/c_compatibility/wchar.h 2004-09-10 10:47:40.000000000 -0500
-@@ -101,7 +101,9 @@
- using std::wmemcpy;
- using std::wmemmove;
- using std::wmemset;
-+#if _GLIBCXX_HAVE_WCSFTIME
- using std::wcsftime;
-+#endif
-
- #if _GLIBCXX_USE_C99
- using std::wcstold;
-diff -urN gcc-3.4.2-dist/libstdc++-v3/include/c_std/std_cwchar.h gcc-3.4.2/libstdc++-v3/include/c_std/std_cwchar.h
---- gcc-3.4.2-dist/libstdc++-v3/include/c_std/std_cwchar.h 2004-07-20 03:52:12.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/include/c_std/std_cwchar.h 2004-09-10 10:47:40.000000000 -0500
-@@ -179,7 +179,9 @@
- using ::wcscoll;
- using ::wcscpy;
- using ::wcscspn;
-+#if _GLIBCXX_HAVE_WCSFTIME
- using ::wcsftime;
-+#endif
- using ::wcslen;
- using ::wcsncat;
- using ::wcsncmp;
diff --git a/patches/gcc/3.4.4/300-libstdc++-pic.patch b/patches/gcc/3.4.4/300-libstdc++-pic.patch
deleted file mode 100644
index 0c41db9..0000000
--- a/patches/gcc/3.4.4/300-libstdc++-pic.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff -dur gcc-3.4.4.orig/libstdc++-v3/src/Makefile.am gcc-3.4.4/libstdc++-v3/src/Makefile.am
---- gcc-3.4.4.orig/libstdc++-v3/src/Makefile.am 2004-04-16 21:08:35.000000000 +0200
-+++ gcc-3.4.4/libstdc++-v3/src/Makefile.am 2007-02-14 17:24:53.000000000 +0100
-@@ -209,6 +209,9 @@
- CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) \
- $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@
-
-+install-exec-local:
-+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o
-+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
-
- # Added bits to build debug library.
- if GLIBCXX_BUILD_DEBUG
-diff -dur gcc-3.4.4.orig/libstdc++-v3/src/Makefile.in gcc-3.4.4/libstdc++-v3/src/Makefile.in
---- gcc-3.4.4.orig/libstdc++-v3/src/Makefile.in 2004-04-16 21:08:35.000000000 +0200
-+++ gcc-3.4.4/libstdc++-v3/src/Makefile.in 2007-02-14 17:25:18.000000000 +0100
-@@ -592,7 +592,7 @@
-
- install-data-am: install-data-local
-
--install-exec-am: install-toolexeclibLTLIBRARIES
-+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
-
- install-info: install-info-am
-
-@@ -625,6 +625,7 @@
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-data-local \
- install-exec install-exec-am install-info install-info-am \
-+ install-exec-local \
- install-man install-strip install-toolexeclibLTLIBRARIES \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
-@@ -709,6 +710,11 @@
- install_debug:
- (cd ${debugdir} && $(MAKE) \
- toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
-+
-+install-exec-local:
-+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o
-+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
-+
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
- .NOEXPORT:
-Only in gcc-3.4.4/libstdc++-v3/src: Makefile.in.orig
diff --git a/patches/gcc/3.4.4/600-gcc34-arm-ldm-peephole.patch b/patches/gcc/3.4.4/600-gcc34-arm-ldm-peephole.patch
deleted file mode 100644
index 0c37050..0000000
--- a/patches/gcc/3.4.4/600-gcc34-arm-ldm-peephole.patch
+++ /dev/null
@@ -1,65 +0,0 @@
---- gcc-3.4.0/gcc/config/arm/arm.md.arm-ldm-peephole 2004-01-13 08:24:37.000000000 -0500
-+++ gcc-3.4.0/gcc/config/arm/arm.md 2004-04-24 18:18:04.000000000 -0400
-@@ -8810,13 +8810,16 @@
- (set_attr "length" "4,8,8")]
- )
-
-+; Try to convert LDR+LDR+arith into [add+]LDM+arith
-+; On XScale, LDM is always slower than two LDRs, so only do this if
-+; optimising for size.
- (define_insn "*arith_adjacentmem"
- [(set (match_operand:SI 0 "s_register_operand" "=r")
- (match_operator:SI 1 "shiftable_operator"
- [(match_operand:SI 2 "memory_operand" "m")
- (match_operand:SI 3 "memory_operand" "m")]))
- (clobber (match_scratch:SI 4 "=r"))]
-- "TARGET_ARM && adjacent_mem_locations (operands[2], operands[3])"
-+ "TARGET_ARM && (!arm_tune_xscale || optimize_size) && adjacent_mem_locations (operands[2], operands[3])"
- "*
- {
- rtx ldm[3];
-@@ -8851,6 +8854,8 @@
- }
- if (val1 && val2)
- {
-+ /* This would be a loss on a Harvard core, but adjacent_mem_locations()
-+ will prevent it from happening. */
- rtx ops[3];
- ldm[0] = ops[0] = operands[4];
- ops[1] = XEXP (XEXP (operands[2], 0), 0);
---- gcc-3.4.0/gcc/config/arm/arm.c.arm-ldm-peephole 2004-04-24 18:16:25.000000000 -0400
-+++ gcc-3.4.0/gcc/config/arm/arm.c 2004-04-24 18:18:04.000000000 -0400
-@@ -4838,6 +4841,11 @@
- *load_offset = unsorted_offsets[order[0]];
- }
-
-+ /* For XScale a two-word LDM is a performance loss, so only do this if
-+ size is more important. See comments in arm_gen_load_multiple. */
-+ if (nops == 2 && arm_tune_xscale && !optimize_size)
-+ return 0;
-+
- if (unsorted_offsets[order[0]] == 0)
- return 1; /* ldmia */
-
-@@ -5064,6 +5072,11 @@
- *load_offset = unsorted_offsets[order[0]];
- }
-
-+ /* For XScale a two-word LDM is a performance loss, so only do this if
-+ size is more important. See comments in arm_gen_load_multiple. */
-+ if (nops == 2 && arm_tune_xscale && !optimize_size)
-+ return 0;
-+
- if (unsorted_offsets[order[0]] == 0)
- return 1; /* stmia */
-
---- gcc-3.4.0/gcc/genpeep.c.arm-ldm-peephole 2003-07-05 01:27:22.000000000 -0400
-+++ gcc-3.4.0/gcc/genpeep.c 2004-04-24 18:18:04.000000000 -0400
-@@ -381,6 +381,7 @@
- printf ("#include \"recog.h\"\n");
- printf ("#include \"except.h\"\n\n");
- printf ("#include \"function.h\"\n\n");
-+ printf ("#include \"flags.h\"\n\n");
-
- printf ("#ifdef HAVE_peephole\n");
- printf ("extern rtx peep_operand[];\n\n");
diff --git a/patches/gcc/3.4.4/601-gcc34-arm-ldm-peephole2.patch b/patches/gcc/3.4.4/601-gcc34-arm-ldm-peephole2.patch
deleted file mode 100644
index 27f7c07..0000000
--- a/patches/gcc/3.4.4/601-gcc34-arm-ldm-peephole2.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-The 30_all_gcc34-arm-ldm-peephole.patch from Debian was conflicting
-with the newer 36_all_pr16201-fix.patch, so i cut out the hunk from
-it that was causing problems and grabbed an updated version from
-upstream cvs.
-
-Index: gcc/config/arm/arm.c
-===================================================================
-RCS file: /cvsroot/gcc/gcc/gcc/config/arm/arm.c,v
-retrieving revision 1.432
-retrieving revision 1.433
-diff -u -r1.432 -r1.433
---- gcc-3.4.4/gcc/config/arm/arm.c 29 Mar 2005 03:00:23 -0000 1.432
-+++ gcc-3.4.4/gcc/config/arm/arm.c 1 Apr 2005 11:02:22 -0000 1.433
-@@ -5139,6 +5139,10 @@
- int
- adjacent_mem_locations (rtx a, rtx b)
- {
-+ /* We don't guarantee to preserve the order of these memory refs. */
-+ if (volatile_refs_p (a) || volatile_refs_p (b))
-+ return 0;
-+
- if ((GET_CODE (XEXP (a, 0)) == REG
- || (GET_CODE (XEXP (a, 0)) == PLUS
- && GET_CODE (XEXP (XEXP (a, 0), 1)) == CONST_INT))
-@@ -5178,6 +5182,17 @@
- return 0;
-
- val_diff = val1 - val0;
-+
-+ if (arm_ld_sched)
-+ {
-+ /* If the target has load delay slots, then there's no benefit
-+ to using an ldm instruction unless the offset is zero and
-+ we are optimizing for size. */
-+ return (optimize_size && (REGNO (reg0) == REGNO (reg1))
-+ && (val0 == 0 || val1 == 0 || val0 == 4 || val1 == 4)
-+ && (val_diff == 4 || val_diff == -4));
-+ }
-+
- return ((REGNO (reg0) == REGNO (reg1))
- && (val_diff == 4 || val_diff == -4));
- }
diff --git a/patches/gcc/3.4.4/601-gcc34-arm-ldm.patch b/patches/gcc/3.4.4/601-gcc34-arm-ldm.patch
deleted file mode 100644
index 142052f..0000000
--- a/patches/gcc/3.4.4/601-gcc34-arm-ldm.patch
+++ /dev/null
@@ -1,119 +0,0 @@
---- gcc-3.4.0/gcc/config/arm/arm.c.arm-ldm 2004-02-27 09:51:05.000000000 -0500
-+++ gcc-3.4.0/gcc/config/arm/arm.c 2004-04-24 18:16:25.000000000 -0400
-@@ -8520,6 +8520,26 @@
- return_used_this_function = 0;
- }
-
-+/* Return the number (counting from 0) of
-+ the least significant set bit in MASK. */
-+
-+#ifdef __GNUC__
-+inline
-+#endif
-+static int
-+number_of_first_bit_set (mask)
-+ int mask;
-+{
-+ int bit;
-+
-+ for (bit = 0;
-+ (mask & (1 << bit)) == 0;
-+ ++bit)
-+ continue;
-+
-+ return bit;
-+}
-+
- const char *
- arm_output_epilogue (rtx sibling)
- {
-@@ -8753,27 +8773,47 @@
- saved_regs_mask |= (1 << PC_REGNUM);
- }
-
-- /* Load the registers off the stack. If we only have one register
-- to load use the LDR instruction - it is faster. */
-- if (saved_regs_mask == (1 << LR_REGNUM))
-- {
-- /* The exception handler ignores the LR, so we do
-- not really need to load it off the stack. */
-- if (eh_ofs)
-- asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM);
-- else
-- asm_fprintf (f, "\tldr\t%r, [%r], #4\n", LR_REGNUM, SP_REGNUM);
-- }
-- else if (saved_regs_mask)
-+ if (saved_regs_mask)
- {
-- if (saved_regs_mask & (1 << SP_REGNUM))
-- /* Note - write back to the stack register is not enabled
-- (ie "ldmfd sp!..."). We know that the stack pointer is
-- in the list of registers and if we add writeback the
-- instruction becomes UNPREDICTABLE. */
-- print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, saved_regs_mask);
-+ /* Load the registers off the stack. If we only have one register
-+ to load use the LDR instruction - it is faster. */
-+ if (bit_count (saved_regs_mask) == 1)
-+ {
-+ int reg = number_of_first_bit_set (saved_regs_mask);
-+
-+ switch (reg)
-+ {
-+ case SP_REGNUM:
-+ /* Mustn't use base writeback when loading SP. */
-+ asm_fprintf (f, "\tldr\t%r, [%r]\n", SP_REGNUM, SP_REGNUM);
-+ break;
-+
-+ case LR_REGNUM:
-+ if (eh_ofs)
-+ {
-+ /* The exception handler ignores the LR, so we do
-+ not really need to load it off the stack. */
-+ asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM);
-+ break;
-+ }
-+ /* else fall through */
-+
-+ default:
-+ asm_fprintf (f, "\tldr\t%r, [%r], #4\n", reg, SP_REGNUM);
-+ break;
-+ }
-+ }
- else
-- print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, saved_regs_mask);
-+ {
-+ if (saved_regs_mask & (1 << SP_REGNUM))
-+ /* Note - write back to the stack register is not enabled
-+ (ie "ldmfd sp!..."). We know that the stack pointer is
-+ in the list of registers and if we add writeback the
-+ instruction becomes UNPREDICTABLE. */
-+ print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, saved_regs_mask);
-+ else
-+ print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, saved_regs_mask);
-+ }
- }
-
- if (current_function_pretend_args_size)
-@@ -11401,22 +11441,6 @@
- }
- }
-
--/* Return the number (counting from 0) of
-- the least significant set bit in MASK. */
--
--inline static int
--number_of_first_bit_set (int mask)
--{
-- int bit;
--
-- for (bit = 0;
-- (mask & (1 << bit)) == 0;
-- ++bit)
-- continue;
--
-- return bit;
--}
--
- /* Generate code to return from a thumb function.
- If 'reg_containing_return_addr' is -1, then the return address is
- actually on the stack, at the stack pointer. */
diff --git a/patches/gcc/3.4.4/602-sdk-libstdc++-includes.patch b/patches/gcc/3.4.4/602-sdk-libstdc++-includes.patch
deleted file mode 100644
index 4377c21..0000000
--- a/patches/gcc/3.4.4/602-sdk-libstdc++-includes.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- gcc-3.4.1/libstdc++-v3/libmath/Makefile.am~ 2003-08-27 22:29:42.000000000 +0100
-+++ gcc-3.4.1/libstdc++-v3/libmath/Makefile.am 2004-07-22 16:41:45.152130128 +0100
-@@ -32,7 +32,7 @@
-
- libmath_la_SOURCES = stubs.c
-
--AM_CPPFLAGS = $(CANADIAN_INCLUDES)
-+AM_CPPFLAGS = $(CANADIAN_INCLUDES) -I$(toplevel_srcdir)/include
-
- # Only compiling "C" sources in this directory.
- LIBTOOL = @LIBTOOL@ --tag CC
---- gcc-3.4.1/libstdc++-v3/fragment.am.old 2004-07-22 18:24:58.024083656 +0100
-+++ gcc-3.4.1/libstdc++-v3/fragment.am 2004-07-22 18:24:59.019932264 +0100
-@@ -18,7 +18,7 @@
- $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
-
- # -I/-D flags to pass when compiling.
--AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
-+AM_CPPFLAGS = $(GLIBCXX_INCLUDES) -I$(toplevel_srcdir)/include
-
-
-
diff --git a/patches/gcc/3.4.4/700-pr15068-fix.patch b/patches/gcc/3.4.4/700-pr15068-fix.patch
deleted file mode 100644
index 2977765..0000000
--- a/patches/gcc/3.4.4/700-pr15068-fix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-See http://gcc.gnu.org/PR15068
-
-Fixes error
-
-../sysdeps/generic/s_fmax.c: In function `__fmax':
-../sysdeps/generic/s_fmax.c:28: internal compiler error: in elim_reg_cond, at flow.c:3257
-Please submit a full bug report,
-with preprocessed source if appropriate.
-See <URL:http://gcc.gnu.org/bugs.html> for instructions.
-make[2]: *** [/home/dank/wk/crosstool-0.28-rc35/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/build-glibc/math/s_fmax.o] Error 1
-make[2]: Leaving directory `/home/dank/wk/crosstool-0.28-rc35/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/glibc-20040822/math'
-make[1]: *** [math/others] Error 2
-make[1]: Leaving directory `/home/dank/wk/crosstool-0.28-rc35/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/glibc-20040822'
-make: *** [all] Error 2
-
-[ rediffed against gcc-3.4.1, with elbow grease, ending up with same thing as
-http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flow.c.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.563.4.2&r2=1.563.4.3 ]
-
---- gcc-3.4.1/gcc/flow.c.old 2004-02-27 19:39:19.000000000 -0800
-+++ gcc-3.4.1/gcc/flow.c 2004-08-26 07:29:46.000000000 -0700
-@@ -1878,6 +1878,7 @@
- rtx set_src = SET_SRC (pc_set (BB_END (bb)));
- rtx cond_true = XEXP (set_src, 0);
- rtx reg = XEXP (cond_true, 0);
-+ enum rtx_code inv_cond;
-
- if (GET_CODE (reg) == SUBREG)
- reg = SUBREG_REG (reg);
-@@ -1886,11 +1887,13 @@
- in the form of a comparison of a register against zero.
- If the condition is more complex than that, then it is safe
- not to record any information. */
-- if (GET_CODE (reg) == REG
-+ inv_cond = reversed_comparison_code (cond_true, BB_END (bb));
-+ if (inv_cond != UNKNOWN
-+ && GET_CODE (reg) == REG
- && XEXP (cond_true, 1) == const0_rtx)
- {
- rtx cond_false
-- = gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)),
-+ = gen_rtx_fmt_ee (inv_cond,
- GET_MODE (cond_true), XEXP (cond_true, 0),
- XEXP (cond_true, 1));
- if (GET_CODE (XEXP (set_src, 1)) == PC)
diff --git a/patches/gcc/3.4.4/71_all_sh-pr16665-fix.patch b/patches/gcc/3.4.4/71_all_sh-pr16665-fix.patch
deleted file mode 100644
index 680bb39..0000000
--- a/patches/gcc/3.4.4/71_all_sh-pr16665-fix.patch
+++ /dev/null
@@ -1,43 +0,0 @@
---- gcc/gcc/config/sh/sh.c
-+++ gcc/gcc/config/sh/sh.c
-@@ -9106,6 +9106,15 @@ sh_output_mi_thunk (FILE *file, tree thu
- }
- this = FUNCTION_ARG (cum, Pmode, ptr_type_node, 1);
-
-+ /* In PIC case, we set PIC register to compute the target address. We
-+ can use a scratch register to save and restore the original value
-+ except for SHcompact. For SHcompact, use stack. */
-+ if (flag_pic && TARGET_SHCOMPACT)
-+ {
-+ push (PIC_OFFSET_TABLE_REGNUM);
-+ emit_insn (gen_GOTaddr2picreg ());
-+ }
-+
- /* For SHcompact, we only have r0 for a scratch register: r1 is the
- static chain pointer (even if you can't have nested virtual functions
- right now, someone might implement them sometime), and the rest of the
-@@ -9188,8 +9197,24 @@ sh_output_mi_thunk (FILE *file, tree thu
- assemble_external (function);
- TREE_USED (function) = 1;
- }
-+ /* We can use scratch1 to save and restore the original value of
-+ PIC register except for SHcompact. */
-+ if (flag_pic && ! TARGET_SHCOMPACT)
-+ {
-+ emit_move_insn (scratch1,
-+ gen_rtx_REG (Pmode, PIC_OFFSET_TABLE_REGNUM));
-+ emit_insn (gen_GOTaddr2picreg ());
-+ }
- funexp = XEXP (DECL_RTL (function), 0);
- emit_move_insn (scratch2, funexp);
-+ if (flag_pic)
-+ {
-+ if (! TARGET_SHCOMPACT)
-+ emit_move_insn (gen_rtx_REG (Pmode, PIC_OFFSET_TABLE_REGNUM),
-+ scratch1);
-+ else
-+ pop (PIC_OFFSET_TABLE_REGNUM);
-+ }
- funexp = gen_rtx_MEM (FUNCTION_MODE, scratch2);
- sibcall = emit_call_insn (gen_sibcall (funexp, const0_rtx, NULL_RTX));
- SIBLING_CALL_P (sibcall) = 1;
diff --git a/patches/gcc/3.4.4/72_all_sh-no-reorder-blocks.patch b/patches/gcc/3.4.4/72_all_sh-no-reorder-blocks.patch
deleted file mode 100644
index 8b98268..0000000
--- a/patches/gcc/3.4.4/72_all_sh-no-reorder-blocks.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- g/gcc/config/sh/sh.h
-+++ g/gcc/config/sh/sh.h
-@@ -422,6 +422,10 @@
- do { \
- if (LEVEL) \
- flag_omit_frame_pointer = -1; \
-+ if (LEVEL <= 2) \
-+ { \
-+ flag_reorder_blocks = 0; \
-+ } \
- if (SIZE) \
- target_flags |= SPACE_BIT; \
- if (TARGET_SHMEDIA && LEVEL > 1) \
diff --git a/patches/gcc/3.4.4/73_all_sh-pr20617.patch b/patches/gcc/3.4.4/73_all_sh-pr20617.patch
deleted file mode 100644
index 6d8021c..0000000
--- a/patches/gcc/3.4.4/73_all_sh-pr20617.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-2005-03-24 J"orn Rennecke <joern.rennecke@st.com>
-
- Band aid for PR target/20617:
- * config/sh/lib1funcs.asm (FUNC, ALIAS): Add .hidden directive.
-
---- g/gcc/config/sh/lib1funcs.asm
-+++ g/gcc/config/sh/lib1funcs.asm
-@@ -37,9 +37,19 @@ Boston, MA 02111-1307, USA. */
- ELF local label prefixes by J"orn Rennecke
- amylaar@cygnus.com */
-
-+#define ALIAS(X,Y) .global GLOBAL(X); .set GLOBAL(X),GLOBAL(Y)
-+
- #ifdef __ELF__
- #define LOCAL(X) .L_##X
--#define FUNC(X) .type X,@function
-+
-+#if 1 /* ??? The export list mechanism is broken, everything that is not
-+ hidden is exported. */
-+#undef FUNC
-+#define FUNC(X) .type X,@function; .hidden X
-+#undef ALIAS
-+#define ALIAS(X,Y) .global GLOBAL(X); .set GLOBAL(X),GLOBAL(Y); .hidden GLOBAL(X)
-+#endif
-+
- #define ENDFUNC0(X) .Lfe_##X: .size X,.Lfe_##X-X
- #define ENDFUNC(X) ENDFUNC0(X)
- #else
diff --git a/patches/gcc/3.4.4/800-arm-bigendian.patch b/patches/gcc/3.4.4/800-arm-bigendian.patch
deleted file mode 100644
index 625e335..0000000
--- a/patches/gcc/3.4.4/800-arm-bigendian.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-diff -dur gcc-3.4.4.orig/gcc/config/arm/linux-elf.h gcc-3.4.4/gcc/config/arm/linux-elf.h
---- gcc-3.4.4.orig/gcc/config/arm/linux-elf.h 2007-02-14 17:44:27.000000000 +0100
-+++ gcc-3.4.4/gcc/config/arm/linux-elf.h 2007-02-14 17:47:32.000000000 +0100
-@@ -30,17 +30,34 @@
- /* Do not assume anything about header files. */
- #define NO_IMPLICIT_EXTERN_C
-
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
-+#define TARGET_ENDIAN_OPTION "mbig-endian"
-+#define TARGET_LINKER_EMULATION "armelfb_linux"
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#define TARGET_ENDIAN_OPTION "mlittle-endian"
-+#define TARGET_LINKER_EMULATION "armelf_linux"
-+#endif
-+
- /* Default is to use APCS-32 mode. */
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
-+#define TARGET_DEFAULT \
-+ ( ARM_FLAG_APCS_32 | \
-+ ARM_FLAG_MMU_TRAPS | \
-+ TARGET_ENDIAN_DEFAULT )
-
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
-
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
-+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
-
- #undef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-
- #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
-
-@@ -94,7 +111,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "} \
- -X \
-- %{mbig-endian:-EB}" \
-+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
- SUBTARGET_EXTRA_LINK_SPEC
-
- #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS()
-Only in gcc-3.4.4/gcc/config/arm: linux-elf.h.orig
-diff -dur gcc-3.4.4.orig/gcc/config.gcc gcc-3.4.4/gcc/config.gcc
---- gcc-3.4.4.orig/gcc/config.gcc 2007-02-14 17:44:27.000000000 +0100
-+++ gcc-3.4.4/gcc/config.gcc 2007-02-14 17:47:32.000000000 +0100
-@@ -672,6 +672,11 @@
- ;;
- arm*-*-linux*) # ARM GNU/Linux with ELF
- tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
-+ case $target in
-+ arm*b-*)
-+ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
-+ ;;
-+ esac
- tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
- extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- gnu_ld=yes
diff --git a/patches/gcc/3.4.4/800-powerpc-libc_stack_end-uclibc.patch b/patches/gcc/3.4.4/800-powerpc-libc_stack_end-uclibc.patch
deleted file mode 100644
index a209470..0000000
--- a/patches/gcc/3.4.4/800-powerpc-libc_stack_end-uclibc.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- gcc-3.4.4/gcc/config/rs6000/linux-unwind.h.org 2005-06-23 17:50:34.000000000 -0600
-+++ gcc-3.4.4/gcc/config/rs6000/linux-unwind.h 2005-06-23 17:52:02.000000000 -0600
-@@ -32,6 +32,7 @@
- these structs elsewhere; Many fields are missing, particularly
- from the end of the structures. */
-
-+#ifndef inhibit_libc
- struct gcc_vregs
- {
- __attribute__ ((vector_size (16))) int vr[32];
-@@ -320,3 +321,4 @@
- \
- goto SUCCESS; \
- } while (0)
-+#endif
diff --git a/patches/gcc/3.4.4/830-gcc-bug-num-22167.patch b/patches/gcc/3.4.4/830-gcc-bug-num-22167.patch
deleted file mode 100644
index c7419af..0000000
--- a/patches/gcc/3.4.4/830-gcc-bug-num-22167.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: gcc/gcse.c
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/gcse.c,v
-retrieving revision 1.288.2.9
-diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.288.2.9 gcse.c
---- gcc/gcc/gcse.c 30 Oct 2004 18:02:53 -0000 1.288.2.9
-+++ gcc/gcc/gcse.c 14 Jul 2005 13:19:57 -0000
-@@ -6445,7 +6445,7 @@ hoist_code (void)
- insn_inserted_p = 0;
-
- /* These tests should be the same as the tests above. */
-- if (TEST_BIT (hoist_vbeout[bb->index], i))
-+ if (TEST_BIT (hoist_exprs[bb->index], i))
- {
- /* We've found a potentially hoistable expression, now
- we look at every block BB dominates to see if it
diff --git a/patches/gcc/3.4.4/900-nios2.patch b/patches/gcc/3.4.4/900-nios2.patch
deleted file mode 100644
index bfa06a2..0000000
--- a/patches/gcc/3.4.4/900-nios2.patch
+++ /dev/null
@@ -1,10211 +0,0 @@
---- gcc-3.4.3/gcc/Makefile.in
-+++ gcc-3.4.3-nios2/gcc/Makefile.in
-@@ -3085,7 +3085,7 @@ install-mkheaders: stmp-int-hdrs $(STMP_
- $(INSTALL_DATA) $(srcdir)/README-fixinc \
- $(DESTDIR)$(itoolsdatadir)/include/README ; \
- $(INSTALL_SCRIPT) fixinc.sh $(DESTDIR)$(itoolsdir)/fixinc.sh ; \
-- $(INSTALL_PROGRAM) fixinc/fixincl $(DESTDIR)$(itoolsdir)/fixincl ; \
-+ $(INSTALL_PROGRAM) fixinc/fixincl$(build_exeext) $(DESTDIR)$(itoolsdir)/fixincl$(build_exeext) ; \
- $(INSTALL_DATA) $(srcdir)/gsyslimits.h \
- $(DESTDIR)$(itoolsdatadir)/gsyslimits.h ; \
- else :; fi
---- gcc-3.4.3/gcc/combine.c
-+++ gcc-3.4.3-nios2/gcc/combine.c
-@@ -4380,6 +4380,14 @@ combine_simplify_rtx (rtx x, enum machin
- mode);
- }
-
-+#ifndef __nios2__
-+/* This screws up Nios II in this test case:
-+
-+if (x & 1)
-+ return 2;
-+else
-+ return 3;
-+*/
- else if (STORE_FLAG_VALUE == 1
- && new_code == EQ && GET_MODE_CLASS (mode) == MODE_INT
- && op1 == const0_rtx
-@@ -4391,6 +4399,7 @@ combine_simplify_rtx (rtx x, enum machin
- gen_lowpart_for_combine (mode, op0),
- const1_rtx);
- }
-+#endif
-
- else if (STORE_FLAG_VALUE == 1
- && new_code == EQ && GET_MODE_CLASS (mode) == MODE_INT
---- gcc-3.4.3/gcc/config/nios2/crti.asm
-+++ gcc-3.4.3-nios2/gcc/config/nios2/crti.asm
-@@ -0,0 +1,88 @@
-+/*
-+ Copyright (C) 2003
-+ by Jonah Graham (jgraham@altera.com)
-+
-+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 2, or (at your option) any
-+later version.
-+
-+In addition to the permissions in the GNU General Public License, the
-+Free Software Foundation gives you unlimited permission to link the
-+compiled version of this file with other programs, and to distribute
-+those programs without any restriction coming from the use of this
-+file. (The General Public License restrictions do apply in other
-+respects; for example, they cover modification of the file, and
-+distribution when not linked into another program.)
-+
-+This file 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.
-+
-+You should have received a copy of the GNU General Public License
-+along with this program; see the file COPYING. If not, write to
-+the Free Software Foundation, 59 Temple Place - Suite 330,
-+Boston, MA 02111-1307, USA.
-+
-+ As a special exception, if you link this library with files
-+ compiled with GCC to produce an executable, this does not cause
-+ the resulting executable to be covered by the GNU General Public License.
-+ This exception does not however invalidate any other reasons why
-+ the executable file might be covered by the GNU General Public License.
-+
-+
-+This file just make a stack frame for the contents of the .fini and
-+.init sections. Users may put any desired instructions in those
-+sections.
-+
-+
-+While technically any code can be put in the init and fini sections
-+most stuff will not work other than stuff which obeys the call frame
-+and ABI. All the call-preserved registers are saved, the call clobbered
-+registers should have been saved by the code calling init and fini.
-+
-+See crtstuff.c for an example of code that inserts itself in the
-+init and fini sections.
-+
-+See crt0.s for the code that calls init and fini.
-+*/
-+
-+ .file "crti.asm"
-+
-+ .section ".init"
-+ .align 2
-+ .global _init
-+_init:
-+ addi sp, sp, -48
-+ stw ra, 44(sp)
-+ stw r23, 40(sp)
-+ stw r22, 36(sp)
-+ stw r21, 32(sp)
-+ stw r20, 28(sp)
-+ stw r19, 24(sp)
-+ stw r18, 20(sp)
-+ stw r17, 16(sp)
-+ stw r16, 12(sp)
-+ stw fp, 8(sp)
-+ mov fp, sp
-+
-+
-+ .section ".fini"
-+ .align 2
-+ .global _fini
-+_fini:
-+ addi sp, sp, -48
-+ stw ra, 44(sp)
-+ stw r23, 40(sp)
-+ stw r22, 36(sp)
-+ stw r21, 32(sp)
-+ stw r20, 28(sp)
-+ stw r19, 24(sp)
-+ stw r18, 20(sp)
-+ stw r17, 16(sp)
-+ stw r16, 12(sp)
-+ stw fp, 8(sp)
-+ mov fp, sp
-+
-+
---- gcc-3.4.3/gcc/config/nios2/crtn.asm
-+++ gcc-3.4.3-nios2/gcc/config/nios2/crtn.asm
-@@ -0,0 +1,70 @@
-+/*
-+ Copyright (C) 2003
-+ by Jonah Graham (jgraham@altera.com)
-+
-+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 2, or (at your option) any
-+later version.
-+
-+In addition to the permissions in the GNU General Public License, the
-+Free Software Foundation gives you unlimited permission to link the
-+compiled version of this file with other programs, and to distribute
-+those programs without any restriction coming from the use of this
-+file. (The General Public License restrictions do apply in other
-+respects; for example, they cover modification of the file, and
-+distribution when not linked into another program.)
-+
-+This file 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.
-+
-+You should have received a copy of the GNU General Public License
-+along with this program; see the file COPYING. If not, write to
-+the Free Software Foundation, 59 Temple Place - Suite 330,
-+Boston, MA 02111-1307, USA.
-+
-+ As a special exception, if you link this library with files
-+ compiled with GCC to produce an executable, this does not cause
-+ the resulting executable to be covered by the GNU General Public License.
-+ This exception does not however invalidate any other reasons why
-+ the executable file might be covered by the GNU General Public License.
-+
-+
-+This file just makes sure that the .fini and .init sections do in
-+fact return. Users may put any desired instructions in those sections.
-+This file is the last thing linked into any executable.
-+*/
-+ .file "crtn.asm"
-+
-+
-+
-+ .section ".init"
-+ ldw ra, 44(sp)
-+ ldw r23, 40(sp)
-+ ldw r22, 36(sp)
-+ ldw r21, 32(sp)
-+ ldw r20, 28(sp)
-+ ldw r19, 24(sp)
-+ ldw r18, 20(sp)
-+ ldw r17, 16(sp)
-+ ldw r16, 12(sp)
-+ ldw fp, 8(sp)
-+ addi sp, sp, -48
-+ ret
-+
-+ .section ".fini"
-+ ldw ra, 44(sp)
-+ ldw r23, 40(sp)
-+ ldw r22, 36(sp)
-+ ldw r21, 32(sp)
-+ ldw r20, 28(sp)
-+ ldw r19, 24(sp)
-+ ldw r18, 20(sp)
-+ ldw r17, 16(sp)
-+ ldw r16, 12(sp)
-+ ldw fp, 8(sp)
-+ addi sp, sp, -48
-+ ret
-+
---- gcc-3.4.3/gcc/config/nios2/lib2-divmod-hi.c
-+++ gcc-3.4.3-nios2/gcc/config/nios2/lib2-divmod-hi.c
-@@ -0,0 +1,123 @@
-+
-+/* We include auto-host.h here to get HAVE_GAS_HIDDEN. This is
-+ supposedly valid even though this is a "target" file. */
-+#include "auto-host.h"
-+
-+
-+#include "tconfig.h"
-+#include "tsystem.h"
-+#include "coretypes.h"
-+#include "tm.h"
-+
-+
-+/* Don't use `fancy_abort' here even if config.h says to use it. */
-+#ifdef abort
-+#undef abort
-+#endif
-+
-+
-+#ifdef HAVE_GAS_HIDDEN
-+#define ATTRIBUTE_HIDDEN __attribute__ ((__visibility__ ("hidden")))
-+#else
-+#define ATTRIBUTE_HIDDEN
-+#endif
-+
-+#include "libgcc2.h"
-+
-+extern HItype __modhi3 (HItype, HItype);
-+extern HItype __divhi3 (HItype, HItype);
-+extern HItype __umodhi3 (HItype, HItype);
-+extern HItype __udivhi3 (HItype, HItype);
-+
-+static UHItype udivmodhi4(UHItype, UHItype, word_type);
-+
-+static UHItype
-+udivmodhi4(UHItype num, UHItype den, word_type modwanted)
-+{
-+ UHItype bit = 1;
-+ UHItype res = 0;
-+
-+ while (den < num && bit && !(den & (1L<<15)))
-+ {
-+ den <<=1;
-+ bit <<=1;
-+ }
-+ while (bit)
-+ {
-+ if (num >= den)
-+ {
-+ num -= den;
-+ res |= bit;
-+ }
-+ bit >>=1;
-+ den >>=1;
-+ }
-+ if (modwanted) return num;
-+ return res;
-+}
-+
-+
-+HItype
-+__divhi3 (HItype a, HItype b)
-+{
-+ word_type neg = 0;
-+ HItype res;
-+
-+ if (a < 0)
-+ {
-+ a = -a;
-+ neg = !neg;
-+ }
-+
-+ if (b < 0)
-+ {
-+ b = -b;
-+ neg = !neg;
-+ }
-+
-+ res = udivmodhi4 (a, b, 0);
-+
-+ if (neg)
-+ res = -res;
-+
-+ return res;
-+}
-+
-+
-+HItype
-+__modhi3 (HItype a, HItype b)
-+{
-+ word_type neg = 0;
-+ HItype res;
-+
-+ if (a < 0)
-+ {
-+ a = -a;
-+ neg = 1;
-+ }
-+
-+ if (b < 0)
-+ b = -b;
-+
-+ res = udivmodhi4 (a, b, 1);
-+
-+ if (neg)
-+ res = -res;
-+
-+ return res;
-+}
-+
-+
-+HItype
-+__udivhi3 (HItype a, HItype b)
-+{
-+ return udivmodhi4 (a, b, 0);
-+}
-+
-+
-+HItype
-+__umodhi3 (HItype a, HItype b)
-+{
-+ return udivmodhi4 (a, b, 1);
-+}
-+
---- gcc-3.4.3/gcc/config/nios2/lib2-divmod.c
-+++ gcc-3.4.3-nios2/gcc/config/nios2/lib2-divmod.c
-@@ -0,0 +1,126 @@
-+
-+/* We include auto-host.h here to get HAVE_GAS_HIDDEN. This is
-+ supposedly valid even though this is a "target" file. */
-+#include "auto-host.h"
-+
-+
-+#include "tconfig.h"
-+#include "tsystem.h"
-+#include "coretypes.h"
-+#include "tm.h"
-+
-+
-+/* Don't use `fancy_abort' here even if config.h says to use it. */
-+#ifdef abort
-+#undef abort
-+#endif
-+
-+
-+#ifdef HAVE_GAS_HIDDEN
-+#define ATTRIBUTE_HIDDEN __attribute__ ((__visibility__ ("hidden")))
-+#else
-+#define ATTRIBUTE_HIDDEN
-+#endif
-+
-+#include "libgcc2.h"
-+
-+extern SItype __modsi3 (SItype, SItype);
-+extern SItype __divsi3 (SItype, SItype);
-+extern SItype __umodsi3 (SItype, SItype);
-+extern SItype __udivsi3 (SItype, SItype);
-+
-+static USItype udivmodsi4(USItype, USItype, word_type);
-+
-+/* 16-bit SI divide and modulo as used in NIOS */
-+
-+
-+static USItype
-+udivmodsi4(USItype num, USItype den, word_type modwanted)
-+{
-+ USItype bit = 1;
-+ USItype res = 0;
-+
-+ while (den < num && bit && !(den & (1L<<31)))
-+ {
-+ den <<=1;
-+ bit <<=1;
-+ }
-+ while (bit)
-+ {
-+ if (num >= den)
-+ {
-+ num -= den;
-+ res |= bit;
-+ }
-+ bit >>=1;
-+ den >>=1;
-+ }
-+ if (modwanted) return num;
-+ return res;
-+}
-+
-+
-+SItype
-+__divsi3 (SItype a, SItype b)
-+{
-+ word_type neg = 0;
-+ SItype res;
-+
-+ if (a < 0)
-+ {
-+ a = -a;
-+ neg = !neg;
-+ }
-+
-+ if (b < 0)
-+ {
-+ b = -b;
-+ neg = !neg;
-+ }
-+
-+ res = udivmodsi4 (a, b, 0);
-+
-+ if (neg)
-+ res = -res;
-+
-+ return res;
-+}
-+