diff options
author | Rene Ladan <rene@FreeBSD.org> | 2022-06-30 20:33:06 +0000 |
---|---|---|
committer | Rene Ladan <rene@FreeBSD.org> | 2022-06-30 20:33:06 +0000 |
commit | 10b96277e5d911a7461dabfa9719d1a68bd33bf6 (patch) | |
tree | 7052c65cd4f2dc6e46a325a97fe878a39161bd08 | |
parent | c46b556a1b834132e6d02d1bdc422f16c3dc80ad (diff) | |
download | ports-10b9627.tar.gz ports-10b9627.zip |
cleanup: Remove expired ports:
2022-06-30 devel/psptoolchain: Security issues for multiple years
2022-06-30 devel/psptoolchain-binutils: Security issues for multiple years
2022-06-30 devel/psptoolchain-newlib: Security issues for multiple years
2022-06-30 devel/psptoolchain-gdb: Security issues for multiple years
2022-06-30 devel/psptoolchain-gcc-stage1: Security issues for multiple years
2022-06-30 devel/psptoolchain-pspsdk-stage1: Security issues for multiple years
2022-06-30 devel/psptoolchain-pspsdk-stage2: Security issues for multiple years
2022-06-30 devel/psptoolchain-gcc-stage2: Security issues for multiple years
131 files changed, 8 insertions, 20475 deletions
@@ -17454,3 +17454,11 @@ multimedia/sabbu||2022-06-30|Has expired: please consider using multimedia/aegis multimedia/avinfo||2022-06-30|Has expired: Last release in 2008, please consider using multimedia/mediainfo or multimedia/ffmpeg instead audio/asterisk-espeak||2022-06-30|Has expired: Depends on deprecated audio/espeaak multimedia/mpgtx||2022-06-30|Has expired: Obsolete, please consider using multimedia/ffmpeg +devel/psptoolchain||2022-06-30|Has expired: Security issues for multiple years +devel/psptoolchain-binutils||2022-06-30|Has expired: Security issues for multiple years +devel/psptoolchain-newlib||2022-06-30|Has expired: Security issues for multiple years +devel/psptoolchain-gdb||2022-06-30|Has expired: Security issues for multiple years +devel/psptoolchain-gcc-stage1||2022-06-30|Has expired: Security issues for multiple years +devel/psptoolchain-pspsdk-stage1||2022-06-30|Has expired: Security issues for multiple years +devel/psptoolchain-pspsdk-stage2||2022-06-30|Has expired: Security issues for multiple years +devel/psptoolchain-gcc-stage2||2022-06-30|Has expired: Security issues for multiple years diff --git a/devel/Makefile b/devel/Makefile index 1d52276db101..bd23d27160e4 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -4051,14 +4051,6 @@ SUBDIR += protozero SUBDIR += pructl SUBDIR += psimd - SUBDIR += psptoolchain - SUBDIR += psptoolchain-binutils - SUBDIR += psptoolchain-gcc-stage1 - SUBDIR += psptoolchain-gcc-stage2 - SUBDIR += psptoolchain-gdb - SUBDIR += psptoolchain-newlib - SUBDIR += psptoolchain-pspsdk-stage1 - SUBDIR += psptoolchain-pspsdk-stage2 SUBDIR += pstreams SUBDIR += psvn SUBDIR += pth diff --git a/devel/psptoolchain-binutils/Makefile b/devel/psptoolchain-binutils/Makefile deleted file mode 100644 index 076f5cb8e206..000000000000 --- a/devel/psptoolchain-binutils/Makefile +++ /dev/null @@ -1,46 +0,0 @@ -# Created by: Tassilo Philipp <tphilipp@potion-studios.com> - -PORTNAME= binutils -PORTVERSION= 2.22 -PORTREVISION= 1 -CATEGORIES= devel -MASTER_SITES= GNU \ - SOURCEWARE/${PORTNAME}/releases -PKGNAMEPREFIX= psptoolchain- - -MAINTAINER= ports@FreeBSD.org -COMMENT= PlayStation Portable development toolchain ${PORTNAME} - -LICENSE= GPLv3 LGPL3 -LICENSE_COMB= multi - -DEPRECATED= Security issues for multiple years -EXPIRATION_DATE=2022-06-30 - -BROKEN_mips64= fails to package: ansidecl.h: No such file or directory - -USES= cpe gmake tar:bzip2 libtool -CPE_VENDOR= gnu - -HAS_CONFIGURE= yes -CONFIGURE_TARGET= ${ARCH:S/aarch64/arm64/:S/amd64/x86_64/:C/armv[0-9]+/arm/:C/powerpc64.*/powerpc/:S/riscv64/riscv/}-unknown-${OPSYS:tl}${OSREL} -CONFIGURE_ARGS= --prefix=${PREFIX} \ - --target="psp" \ - --enable-install-libbfd \ - --disable-werror \ - --disable-nls \ - --mandir=${PREFIX}/man -PLIST_SUB= CONFIGURE_TARGET="${CONFIGURE_TARGET}" - -# Disable installation of .info files and libiberty. -post-patch: - @${REINPLACE_CMD} -E 's/^(install-data-am:)(.*)install-info-am(.*)/\1 \2 \3/' \ - ${WRKSRC}/ld/Makefile.in - @${REINPLACE_CMD} -E 's/^(install-info:)(.*install-info-am.*)/\1#\2/' \ - ${WRKSRC}/gas/doc/Makefile.in \ - ${WRKSRC}/bfd/doc/Makefile.in \ - ${WRKSRC}/binutils/doc/Makefile.in - @${REINPLACE_CMD} -E 's/^(install:)(.*)/\1#\2/' ${WRKSRC}/libiberty/Makefile.in - @${REINPLACE_CMD} -E 's,^(install.*:)(.*)install-info(.*),\1 \2 \3,' ${WRKSRC}/etc/Makefile.in - -.include <bsd.port.mk> diff --git a/devel/psptoolchain-binutils/distinfo b/devel/psptoolchain-binutils/distinfo deleted file mode 100644 index e335740cce29..000000000000 --- a/devel/psptoolchain-binutils/distinfo +++ /dev/null @@ -1,2 +0,0 @@ -SHA256 (binutils-2.22.tar.bz2) = 6c7af8ed1c8cf9b4b9d6e6fe09a3e1d3d479fe63984ba8b9b26bf356b6313ca9 -SIZE (binutils-2.22.tar.bz2) = 19973532 diff --git a/devel/psptoolchain-binutils/files/patch-bfd-archures.c b/devel/psptoolchain-binutils/files/patch-bfd-archures.c deleted file mode 100644 index 2e81fc0f418a..000000000000 --- a/devel/psptoolchain-binutils/files/patch-bfd-archures.c +++ /dev/null @@ -1,10 +0,0 @@ ---- ./bfd/archures.c.orig 2011-08-01 23:04:19.000000000 +0000 -+++ ./bfd/archures.c 2012-01-21 13:31:35.000000000 +0000 -@@ -175,6 +175,7 @@ - .#define bfd_mach_mips_loongson_2f 3002 - .#define bfd_mach_mips_loongson_3a 3003 - .#define bfd_mach_mips_sb1 12310201 {* octal 'SB', 01 *} -+.#define bfd_mach_mips_allegrex 10111431 {* octal 'AL', 31 *} - .#define bfd_mach_mips_octeon 6501 - .#define bfd_mach_mips_xlr 887682 {* decimal 'XLR' *} - .#define bfd_mach_mipsisa32 32 diff --git a/devel/psptoolchain-binutils/files/patch-bfd-bfd-in2.h b/devel/psptoolchain-binutils/files/patch-bfd-bfd-in2.h deleted file mode 100644 index 81b0f7138424..000000000000 --- a/devel/psptoolchain-binutils/files/patch-bfd-bfd-in2.h +++ /dev/null @@ -1,10 +0,0 @@ ---- ./bfd/bfd-in2.h.orig 2011-09-16 01:15:18.000000000 +0000 -+++ ./bfd/bfd-in2.h 2012-01-21 13:31:35.000000000 +0000 -@@ -1882,6 +1882,7 @@ - #define bfd_mach_mips_loongson_2f 3002 - #define bfd_mach_mips_loongson_3a 3003 - #define bfd_mach_mips_sb1 12310201 /* octal 'SB', 01 */ -+#define bfd_mach_mips_allegrex 10111431 /* octal 'AL', 31 */ - #define bfd_mach_mips_octeon 6501 - #define bfd_mach_mips_xlr 887682 /* decimal 'XLR' */ - #define bfd_mach_mipsisa32 32 diff --git a/devel/psptoolchain-binutils/files/patch-bfd-cpu-mips.c b/devel/psptoolchain-binutils/files/patch-bfd-cpu-mips.c deleted file mode 100644 index 5ba46c6c229f..000000000000 --- a/devel/psptoolchain-binutils/files/patch-bfd-cpu-mips.c +++ /dev/null @@ -1,18 +0,0 @@ ---- ./bfd/cpu-mips.c.orig 2011-07-24 14:20:05.000000000 +0000 -+++ ./bfd/cpu-mips.c 2012-01-21 13:31:35.000000000 +0000 -@@ -89,6 +89,7 @@ - I_mipsisa64, - I_mipsisa64r2, - I_sb1, -+ I_allegrex, - I_loongson_2e, - I_loongson_2f, - I_loongson_3a, -@@ -130,6 +131,7 @@ - N (64, 64, bfd_mach_mipsisa64, "mips:isa64", FALSE, NN(I_mipsisa64)), - N (64, 64, bfd_mach_mipsisa64r2,"mips:isa64r2", FALSE, NN(I_mipsisa64r2)), - N (64, 64, bfd_mach_mips_sb1, "mips:sb1", FALSE, NN(I_sb1)), -+ N (32, 32, bfd_mach_mips_allegrex, "mips:allegrex", FALSE, NN(I_allegrex)), - N (64, 64, bfd_mach_mips_loongson_2e, "mips:loongson_2e", FALSE, NN(I_loongson_2e)), - N (64, 64, bfd_mach_mips_loongson_2f, "mips:loongson_2f", FALSE, NN(I_loongson_2f)), - N (64, 64, bfd_mach_mips_loongson_3a, "mips:loongson_3a", FALSE, NN(I_loongson_3a)), diff --git a/devel/psptoolchain-binutils/files/patch-bfd-elfxx-mips.c b/devel/psptoolchain-binutils/files/patch-bfd-elfxx-mips.c deleted file mode 100644 index 5717296eacdd..000000000000 --- a/devel/psptoolchain-binutils/files/patch-bfd-elfxx-mips.c +++ /dev/null @@ -1,41 +0,0 @@ ---- ./bfd/elfxx-mips.c.orig 2011-11-21 09:29:27.000000000 +0000 -+++ ./bfd/elfxx-mips.c 2012-01-21 13:31:35.000000000 +0000 -@@ -6173,14 +6173,19 @@ - case E_MIPS_MACH_SB1: - return bfd_mach_mips_sb1; - -+ case E_MIPS_MACH_ALLEGREX: -+ return bfd_mach_mips_allegrex; -+ - case E_MIPS_MACH_LS2E: - return bfd_mach_mips_loongson_2e; - - case E_MIPS_MACH_LS2F: - return bfd_mach_mips_loongson_2f; - -+ /* - case E_MIPS_MACH_LS3A: - return bfd_mach_mips_loongson_3a; -+ */ - - case E_MIPS_MACH_OCTEON: - return bfd_mach_mips_octeon; -@@ -10882,6 +10887,10 @@ - val = E_MIPS_ARCH_64 | E_MIPS_MACH_SB1; - break; - -+ case bfd_mach_mips_allegrex: -+ val = E_MIPS_ARCH_2 | E_MIPS_MACH_ALLEGREX; -+ break; -+ - case bfd_mach_mips_loongson_3a: - val = E_MIPS_ARCH_64 | E_MIPS_MACH_LS3A; - break; -@@ -13544,6 +13553,7 @@ - /* MIPS II extensions. */ - { bfd_mach_mips4000, bfd_mach_mips6000 }, - { bfd_mach_mipsisa32, bfd_mach_mips6000 }, -+ { bfd_mach_mips_allegrex, bfd_mach_mips6000 }, - - /* MIPS I extensions. */ - { bfd_mach_mips6000, bfd_mach_mips3000 }, diff --git a/devel/psptoolchain-binutils/files/patch-bfd-version.h b/devel/psptoolchain-binutils/files/patch-bfd-version.h deleted file mode 100644 index b6cb299becf1..000000000000 --- a/devel/psptoolchain-binutils/files/patch-bfd-version.h +++ /dev/null @@ -1,8 +0,0 @@ ---- ./bfd/version.h.orig 2011-11-21 09:29:28.000000000 +0000 -+++ ./bfd/version.h 2012-01-21 13:31:35.000000000 +0000 -@@ -1,4 +1,4 @@ --#define BFD_VERSION_DATE 20111121 -+#define BFD_VERSION_DATE (PSNPT 20120103) - #define BFD_VERSION @bfd_version@ - #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ - #define REPORT_BUGS_TO @report_bugs_to@ diff --git a/devel/psptoolchain-binutils/files/patch-binutils-readelf.c b/devel/psptoolchain-binutils/files/patch-binutils-readelf.c deleted file mode 100644 index 46548ca5e043..000000000000 --- a/devel/psptoolchain-binutils/files/patch-binutils-readelf.c +++ /dev/null @@ -1,15 +0,0 @@ ---- ./binutils/readelf.c.orig 2011-09-21 20:49:13.000000000 +0000 -+++ ./binutils/readelf.c 2012-01-21 13:31:35.000000000 +0000 -@@ -2395,10 +2395,11 @@ - case E_MIPS_MACH_9000: strcat (buf, ", 9000"); break; - case E_MIPS_MACH_LS2E: strcat (buf, ", loongson-2e"); break; - case E_MIPS_MACH_LS2F: strcat (buf, ", loongson-2f"); break; -- case E_MIPS_MACH_LS3A: strcat (buf, ", loongson-3a"); break; -+ /* case E_MIPS_MACH_LS3A: strcat (buf, ", loongson-3a"); break; */ - case E_MIPS_MACH_OCTEON: strcat (buf, ", octeon"); break; - case E_MIPS_MACH_OCTEON2: strcat (buf, ", octeon2"); break; - case E_MIPS_MACH_XLR: strcat (buf, ", xlr"); break; -+ case E_MIPS_MACH_ALLEGREX: strcat(buf, ", allegrex"); break; - case 0: - /* We simply ignore the field in this case to avoid confusion: - MIPS ELF does not specify EF_MIPS_MACH, it is a GNU diff --git a/devel/psptoolchain-binutils/files/patch-config.sub b/devel/psptoolchain-binutils/files/patch-config.sub deleted file mode 100644 index c13c029fc6cb..000000000000 --- a/devel/psptoolchain-binutils/files/patch-config.sub +++ /dev/null @@ -1,29 +0,0 @@ ---- ./config.sub.orig 2011-06-06 10:36:06.000000000 +0000 -+++ ./config.sub 2012-01-21 13:31:35.000000000 +0000 -@@ -279,6 +279,7 @@ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ -+ | mipsallegrex | mipsallegrexel \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ -@@ -389,6 +390,7 @@ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ -+ | mipsallegrex-* | mipsallegrexel-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ -@@ -788,6 +790,10 @@ - basic_machine=m68k-atari - os=-mint - ;; -+ psp) -+ basic_machine=mipsallegrexel-psp -+ os=-elf -+ ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; diff --git a/devel/psptoolchain-binutils/files/patch-configure b/devel/psptoolchain-binutils/files/patch-configure deleted file mode 100644 index 107487f1fd7c..000000000000 --- a/devel/psptoolchain-binutils/files/patch-configure +++ /dev/null @@ -1,19 +0,0 @@ ---- ./configure.orig 2011-08-14 12:28:15.000000000 +0000 -+++ ./configure 2012-01-21 13:31:35.000000000 +0000 -@@ -2667,7 +2667,7 @@ - # binutils, gas and ld appear in that order because it makes sense to run - # "make check" in that particular order. - # If --enable-gold is used, "gold" may replace "ld". --host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gprof etc expect dejagnu m4 utils guile fastjar gnattools" -+host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb etc expect dejagnu m4 utils guile fastjar gnattools" - - # libgcj represents the runtime libraries only used by gcj. - libgcj="target-libffi \ -@@ -3568,7 +3568,6 @@ - mips*-*-linux*) - ;; - mips*-*-*) -- noconfigdirs="$noconfigdirs gprof" - ;; - sh-*-* | sh64-*-*) - case "${target}" in diff --git a/devel/psptoolchain-binutils/files/patch-gas-config-tc-mips.c b/devel/psptoolchain-binutils/files/patch-gas-config-tc-mips.c deleted file mode 100644 index afd01e6348ff..000000000000 --- a/devel/psptoolchain-binutils/files/patch-gas-config-tc-mips.c +++ /dev/null @@ -1,1867 +0,0 @@ ---- ./gas/config/tc-mips.c.orig 2011-11-21 09:29:32.000000000 +0000 -+++ ./gas/config/tc-mips.c 2012-01-21 13:31:35.000000000 +0000 -@@ -91,8 +91,32 @@ - - #define ZERO 0 - #define ATREG 1 -+#define V0 2 -+#define V1 3 -+#define A0 4 -+#define A1 5 -+#define A2 6 -+#define A3 7 -+#define T0 8 -+#define T1 9 -+#define T2 10 -+#define T3 11 -+#define T4 12 -+#define T5 13 -+#define T6 14 -+#define T7 15 - #define S0 16 -+#define S1 17 -+#define S2 18 -+#define S3 19 -+#define S4 20 -+#define S5 21 -+#define S6 22 - #define S7 23 -+#define T8 24 -+#define T9 25 -+#define K0 26 -+#define K1 27 - #define TREG 24 - #define PIC_CALL_REG 25 - #define KT0 26 -@@ -490,11 +514,14 @@ - /* Return true if the given CPU supports the microMIPS ASE. */ - #define CPU_HAS_MICROMIPS(cpu) 0 - -+/* True if the given CPU belongs to the Allegrex family. */ -+#define CPU_IS_ALLEGREX(CPU) ((CPU) == CPU_ALLEGREX) -+ - /* True if CPU has a dror instruction. */ - #define CPU_HAS_DROR(CPU) ((CPU) == CPU_VR5400 || (CPU) == CPU_VR5500) - - /* True if CPU has a ror instruction. */ --#define CPU_HAS_ROR(CPU) CPU_HAS_DROR (CPU) -+#define CPU_HAS_ROR(CPU) CPU_HAS_DROR (CPU) || CPU_IS_ALLEGREX (CPU) - - /* True if CPU has seq/sne and seqi/snei instructions. */ - #define CPU_HAS_SEQ(CPU) ((CPU) == CPU_OCTEON) -@@ -528,6 +555,7 @@ - || mips_opts.arch == CPU_R16000 \ - || mips_opts.arch == CPU_RM7000 \ - || mips_opts.arch == CPU_VR5500 \ -+ || mips_opts.arch == CPU_ALLEGREX \ - || mips_opts.micromips \ - ) - -@@ -1563,6 +1591,8 @@ - static expressionS imm_expr; - static expressionS imm2_expr; - static expressionS offset_expr; -+static expressionS vimm_expr[4]; -+static expressionS voffset_expr[4]; - - /* Relocs associated with imm_expr and offset_expr. */ - -@@ -1571,6 +1601,15 @@ - static bfd_reloc_code_real_type offset_reloc[3] - = {BFD_RELOC_UNUSED, BFD_RELOC_UNUSED, BFD_RELOC_UNUSED}; - -+/* set by vfpu code for prefix instructions */ -+ -+static bfd_boolean vfpu_dprefix; -+static char vfpu_dprefix_str[64]; -+static bfd_boolean vfpu_sprefix; -+static char vfpu_sprefix_str[64]; -+static bfd_boolean vfpu_tprefix; -+static char vfpu_tprefix_str[64]; -+ - /* This is set to the resulting size of the instruction to be produced - by mips16_ip if an explicit extension is used or by mips_ip if an - explicit size is supplied. */ -@@ -2580,6 +2619,56 @@ - return; - } - -+ /* If we've generated operands for a VFPU prefix instruction then we need -+ to assemble and append the prefix instruction before emitting the -+ instruction it prefixes. Note that in mips_ip prefix operands do not -+ cause any side effects with imm_expr or offset_expr. If they did -+ we'd have to save and restore them here. */ -+ if (CPU_IS_ALLEGREX (mips_opts.arch) && ((vfpu_dprefix || vfpu_sprefix || vfpu_tprefix))) -+ { -+ -+ if (mips_opts.noreorder -+ && ( history[0].insn_mo->pinfo & (INSN_UNCOND_BRANCH_DELAY -+ | INSN_COND_BRANCH_DELAY -+ | INSN_COND_BRANCH_LIKELY))) -+ { -+ as_bad (_("instruction with prefix cannot be used in branch delay slot")); -+ } -+ -+ if (vfpu_dprefix) -+ { -+ struct mips_cl_insn prefix; -+ char buf[256]; -+ -+ sprintf (buf, "vpfxd %s", vfpu_dprefix_str); -+ mips_ip (buf, &prefix); -+ append_insn (&prefix, NULL, unused_reloc, FALSE); -+ vfpu_dprefix = FALSE; -+ } -+ -+ if (vfpu_sprefix) -+ { -+ struct mips_cl_insn prefix; -+ char buf[256]; -+ -+ sprintf (buf, "vpfxs %s", vfpu_sprefix_str); -+ mips_ip (buf, &prefix); -+ append_insn ( &prefix, NULL, unused_reloc, FALSE); -+ vfpu_sprefix = FALSE; -+ } -+ -+ if (vfpu_tprefix) -+ { -+ struct mips_cl_insn prefix; -+ char buf[256]; -+ -+ sprintf (buf, "vpfxt %s", vfpu_tprefix_str); -+ mips_ip (buf, &prefix); -+ append_insn (&prefix, NULL, unused_reloc, FALSE); -+ vfpu_tprefix = FALSE; -+ } -+ } -+ - if (insn.insn_mo->pinfo == INSN_MACRO) - { - macro_start (); -@@ -5085,6 +5174,55 @@ - } - continue; - -+ /* VFPU fields */ -+ case '?': -+ switch (*fmt++) -+ { -+ case 'o': -+ *r = (bfd_reloc_code_real_type) va_arg (args, int); -+ gas_assert (*r == BFD_RELOC_GPREL16 -+ || *r == BFD_RELOC_MIPS_LITERAL -+ || *r == BFD_RELOC_MIPS_HIGHER -+ || *r == BFD_RELOC_HI16_S -+ || *r == BFD_RELOC_LO16 -+ || *r == BFD_RELOC_MIPS_GOT16 -+ || *r == BFD_RELOC_MIPS_CALL16 -+ || *r == BFD_RELOC_MIPS_GOT_DISP -+ || *r == BFD_RELOC_MIPS_GOT_PAGE -+ || *r == BFD_RELOC_MIPS_GOT_OFST -+ || *r == BFD_RELOC_MIPS_GOT_LO16 -+ || *r == BFD_RELOC_MIPS_CALL_LO16); -+ break; -+ case 'd': -+ insn.insn_opcode |= va_arg (args, int) << VF_SH_VD; -+ fmt += 2; -+ break; -+ case 's': -+ insn.insn_opcode |= va_arg (args, int) << VF_SH_VS; -+ fmt += 2; -+ break; -+ case 'm': -+ { -+ int vtreg = va_arg (args, int); -+ insn.insn_opcode |= (vtreg & VF_MASK_VML) << VF_SH_VML; -+ insn.insn_opcode |= ((vtreg >> 5) & VF_MASK_VMH) << VF_SH_VMH; -+ fmt += 2; -+ } -+ break; -+ case 'n': -+ { -+ int vtreg = va_arg (args, int); -+ insn.insn_opcode |= (vtreg & VF_MASK_VNL) << VF_SH_VNL; -+ insn.insn_opcode |= ((vtreg >> 5) & VF_MASK_VNH) << VF_SH_VNH; -+ fmt += 2; -+ } -+ break; -+ case 'e': -+ insn.insn_opcode |= va_arg (args, int) << VF_SH_MCOND; -+ break; -+ } -+ continue; -+ - default: - internalError (); - } -@@ -6241,6 +6379,7 @@ - macro (struct mips_cl_insn *ip) - { - unsigned int treg, sreg, dreg, breg; -+ int vsreg, vtreg, vdreg, vmreg, vwb; - unsigned int tempreg; - int mask; - int used_at = 0; -@@ -6272,6 +6411,13 @@ - sreg = breg = EXTRACT_OPERAND (mips_opts.micromips, RS, *ip); - mask = ip->insn_mo->mask; - -+ vmreg = ((ip->insn_opcode >> 16) & 0x1f) -+ | ((ip->insn_opcode << 5) & 0x60); -+ vtreg = (ip->insn_opcode >> 16) & 0x7f; -+ vsreg = (ip->insn_opcode >> 8) & 0x7f; -+ vdreg = (ip->insn_opcode >> 0) & 0x7f; -+ vwb = (ip->insn_opcode >> 1) & 0x1; -+ - label_expr.X_op = O_constant; - label_expr.X_op_symbol = NULL; - label_expr.X_add_symbol = NULL; -@@ -7964,6 +8110,34 @@ - /* Itbl support may require additional care here. */ - coproc = 1; - goto ld_st; -+ case M_LV_S_AB: -+ s = "lv.s"; -+ /* Itbl support may require additional care here. */ -+ coproc = 1; -+ fmt = "?m0x,?o(b)"; -+ treg = vmreg; -+ goto ld; -+ case M_LV_Q_AB: -+ s = "lv.q"; -+ /* Itbl support may require additional care here. */ -+ coproc = 1; -+ fmt = "?n3x,?o(b)"; -+ treg = vmreg; -+ goto ld; -+ case M_LVL_Q_AB: -+ s = "lvl.q"; -+ /* Itbl support may require additional care here. */ -+ coproc = 1; -+ fmt = "?n3x,?o(b)"; -+ treg = vmreg; -+ goto ld; -+ case M_LVR_Q_AB: -+ s = "lvr.q"; -+ /* Itbl support may require additional care here. */ -+ coproc = 1; -+ fmt = "?n3x,?o(b)"; -+ treg = vmreg; -+ goto ld; - case M_LWL_AB: - ab = 1; - case M_LWL_OB: -@@ -8125,6 +8299,37 @@ - /* Itbl support may require additional care here. */ - coproc = 1; - goto ld_st; -+ case M_SV_S_AB: -+ s = "sv.s"; -+ /* Itbl support may require additional care here. */ -+ coproc = 1; -+ fmt = "?m0x,?o(b)"; -+ treg = vmreg; -+ goto ld_st; -+ case M_SV_Q_AB: -+ if (vwb) -+ s = "vwb.q"; -+ else -+ s = "sv.q"; -+ /* Itbl support may require additional care here. */ -+ coproc = 1; -+ fmt = "?n3x,?o(b)"; -+ treg = vmreg; -+ goto ld_st; -+ case M_SVL_Q_AB: -+ s = "svl.q"; -+ /* Itbl support may require additional care here. */ -+ coproc = 1; -+ fmt = "?n3x,?o(b)"; -+ treg = vmreg; -+ goto ld_st; -+ case M_SVR_Q_AB: -+ s = "svr.q"; -+ /* Itbl support may require additional care here. */ -+ coproc = 1; -+ fmt = "?n3x,?o(b)"; -+ treg = vmreg; -+ goto ld_st; - case M_SWL_AB: - ab = 1; - case M_SWL_OB: -@@ -8654,6 +8859,138 @@ - break; - } - -+ case M_LVI_S_SS: -+ case M_LVI_P_SS: -+ case M_LVI_T_SS: -+ case M_LVI_Q_SS: -+ { -+ int mtx = (vtreg >> VF_SH_MR_MTX) & VF_MASK_MR_MTX; -+ int idx = (vtreg >> VF_SH_MR_IDX) & VF_MASK_MR_IDX; -+ int fsl = 0; -+ int rxc = 0; -+ int vtreg_s = 0; -+ int vnum = 0; -+ int vat = 0; -+ int i; -+ -+ switch (mask) -+ { -+ case M_LVI_S_SS: -+ vnum = 1; -+ fsl = (vtreg >> VF_SH_MR_FSL) & VF_MASK_MR_FSL; -+ rxc = 0; -+ break; -+ case M_LVI_P_SS: -+ vnum = 2; -+ fsl = ((vtreg >> VF_SH_MR_VFSL) & VF_MASK_MR_VFSL) << 1; -+ rxc = (vtreg >> VF_SH_MR_RXC) & VF_MASK_MR_RXC; -+ break; -+ case M_LVI_T_SS: -+ vnum = 3; -+ fsl = (vtreg >> VF_SH_MR_VFSL) & VF_MASK_MR_VFSL; -+ rxc = (vtreg >> VF_SH_MR_RXC) & VF_MASK_MR_RXC; -+ break; -+ case M_LVI_Q_SS: -+ vnum = 4; -+ fsl = 0; -+ rxc = (vtreg >> VF_SH_MR_RXC) & VF_MASK_MR_RXC; -+ break; -+ } -+ if (rxc) -+ vtreg_s = (mtx << VF_SH_MR_MTX) | (idx << VF_SH_MR_FSL) -+ | (fsl << VF_SH_MR_IDX); -+ else -+ vtreg_s = (mtx << VF_SH_MR_MTX) | (idx << VF_SH_MR_IDX) -+ | (fsl << VF_SH_MR_FSL); -+ -+ for (i = 0; i < vnum; i++) { -+ imm_expr = vimm_expr[i]; -+ offset_expr = voffset_expr[i]; -+ -+ if (imm_expr.X_op == O_constant) -+ { -+ load_register (AT, &imm_expr, 0); -+ macro_build ((expressionS *) NULL, -+ "mtv", "t,?d0z", AT, vtreg_s); -+ vat = 1; -+ } -+ else -+ { -+ gas_assert (offset_expr.X_op == O_symbol -+ && strcmp (segment_name (S_GET_SEGMENT -+ (offset_expr.X_add_symbol)), -+ ".lit4") == 0 -+ && offset_expr.X_add_number == 0); -+ macro_build (&offset_expr, -+ "lv.s", "?m0x,?o(b)", vtreg_s, -+ (int) BFD_RELOC_MIPS_LITERAL, mips_gp_register); -+ } -+ -+ if (rxc) -+ vtreg_s += (1 << VF_SH_MR_IDX); -+ else -+ vtreg_s += (1 << VF_SH_MR_FSL); -+ } -+ -+ if (vat) -+ break; -+ else -+ return; -+ } -+ -+ case M_LVHI_S_SS: -+ case M_LVHI_P_SS: -+ { -+ int mtx = (vtreg >> VF_SH_MR_MTX) & VF_MASK_MR_MTX; -+ int idx = (vtreg >> VF_SH_MR_IDX) & VF_MASK_MR_IDX; -+ int fsl = 0; -+ int rxc = 0; -+ int vtreg_s = 0; -+ int vnum = 0; -+ int i; -+ unsigned int f16v; -+ char f16v_str[16]; -+ -+ switch (mask) -+ { -+ case M_LVHI_S_SS: -+ vnum = 2; -+ fsl = (vtreg >> VF_SH_MR_FSL) & VF_MASK_MR_FSL; -+ rxc = 0; -+ break; -+ case M_LVHI_P_SS: -+ vnum = 4; -+ fsl = ((vtreg >> VF_SH_MR_VFSL) & VF_MASK_MR_VFSL) << 1; -+ rxc = (vtreg >> VF_SH_MR_RXC) & VF_MASK_MR_RXC; -+ break; -+ } -+ if (rxc) -+ vtreg_s = (mtx << VF_SH_MR_MTX) | (idx << VF_SH_MR_FSL) -+ | (fsl << VF_SH_MR_IDX); -+ else -+ vtreg_s = (mtx << VF_SH_MR_MTX) | (idx << VF_SH_MR_IDX) -+ | (fsl << VF_SH_MR_FSL); -+ -+ -+ for (i = 0; i < vnum; i += 2) { -+ f16v = ((vimm_expr[i + 1].X_add_number & 0xffff) << 16) -+ | (vimm_expr[i].X_add_number & 0xffff); -+ sprintf(f16v_str, "0x%08x", f16v); -+ my_getExpression (&imm_expr, f16v_str); -+ -+ load_register (AT, &imm_expr, 0); -+ macro_build ((expressionS *) NULL, -+ "mtv", "t,?d0z", AT, vtreg_s); -+ -+ if (rxc) -+ vtreg_s += (1 << VF_SH_MR_IDX); -+ else -+ vtreg_s += (1 << VF_SH_MR_FSL); -+ } -+ -+ break; -+ } -+ - case M_LI_D: - /* Check if we have a constant in IMM_EXPR. If the GPRs are 64 bits - wide, IMM_EXPR is the entire value. Otherwise IMM_EXPR is the high -@@ -9164,6 +9501,27 @@ - move_register (dreg, sreg); - break; - -+ case M_VCMOV_S: -+ s = "vcmovt.s"; -+ fmt = "?d0d,?s0s,?e"; -+ goto vcmov; -+ case M_VCMOV_P: -+ s = "vcmovt.p"; -+ fmt = "?d1d,?s1s,?e"; -+ goto vcmov; -+ case M_VCMOV_T: -+ s = "vcmovt.t"; -+ fmt = "?d2d,?s2s,?e"; -+ goto vcmov; -+ case M_VCMOV_Q: -+ s = "vcmovt.q"; -+ fmt = "?d3d,?s3s,?e"; -+ vcmov: -+ macro_build ((expressionS *) NULL, s, fmt, -+ vdreg, vsreg, -+ (ip->insn_opcode >> VF_SH_MCOND) & VF_MASK_MCOND); -+ return; -+ - case M_DMUL: - dbl = 1; - case M_MUL: -@@ -9779,6 +10137,40 @@ - off12 = mips_opts.micromips; - off = 3; - goto uld_st; -+ -+ case M_ULV_S: -+ if (mips_opts.arch == CPU_ALLEGREX) -+ as_bad (_("opcode not supported on this processor")); -+ off = 3; -+ if (offset_expr.X_add_number >= 0x8000 - off) -+ as_bad (_("operand overflow")); -+ if (! target_big_endian) -+ offset_expr.X_add_number += off; -+ macro_build (&offset_expr, "lwl", "t,o(b)", -+ AT, (int) BFD_RELOC_LO16, breg); -+ if (! target_big_endian) -+ offset_expr.X_add_number -= off; -+ else -+ offset_expr.X_add_number += off; -+ macro_build (&offset_expr, "lwr", "t,o(b)", -+ AT, (int) BFD_RELOC_LO16, breg); -+ -+ macro_build ((expressionS *) NULL, "mtv", "t,?d0z", -+ AT, vmreg); -+ break; -+ -+ case M_ULV_Q: -+ off = 12; -+ if (offset_expr.X_add_number >= 0x8000 - off) -+ as_bad (_("operand overflow")); -+ offset_expr.X_add_number += off; -+ macro_build (&offset_expr, "lvl.q", "?n3x,?o(b)", -+ vmreg, (int) BFD_RELOC_LO16, breg); -+ offset_expr.X_add_number -= off; -+ macro_build (&offset_expr, "lvr.q", "?n3x,?o(b)", -+ vmreg, (int) BFD_RELOC_LO16, breg); -+ return; -+ - case M_ULD_A: - ab = 1; - case M_ULD: -@@ -9804,6 +10196,56 @@ - off = 3; - ust = 1; - goto uld_st; -+ -+ case M_USV_S: -+ off = 3; -+ if (offset_expr.X_add_number >= 0x8000 - off) -+ as_bad (_("operand overflow")); -+ macro_build ((expressionS *) NULL, "mfv", "t,?d0z", -+ AT, vmreg); -+ if (mips_opts.arch != CPU_ALLEGREX) -+ { -+ if (! target_big_endian) -+ offset_expr.X_add_number += off; -+ macro_build (&offset_expr, "swl", "t,o(b)", -+ AT, (int) BFD_RELOC_LO16, breg); -+ if (! target_big_endian) -+ offset_expr.X_add_number -= off; -+ else -+ offset_expr.X_add_number += off; -+ macro_build (&offset_expr, "swr", "t,o(b)", -+ AT, (int) BFD_RELOC_LO16, breg); -+ } -+ else -+ { -+ if (target_big_endian) -+ offset_expr.X_add_number += off; -+ while (off-- >= 0) -+ { -+ macro_build (&offset_expr, "sb", "t,o(b)", -+ AT, (int) BFD_RELOC_LO16, breg); -+ macro_build ((expressionS *) NULL, "ror", -+ "d,w,<", AT, AT, 8); -+ if (target_big_endian) -+ --offset_expr.X_add_number; -+ else -+ ++offset_expr.X_add_number; -+ } -+ } -+ break; -+ -+ case M_USV_Q: -+ off = 12; -+ if (offset_expr.X_add_number >= 0x8000 - off) -+ as_bad (_("operand overflow")); -+ offset_expr.X_add_number += off; -+ macro_build (&offset_expr, "svl.q", "?n3x,?o(b)", -+ vmreg, (int) BFD_RELOC_LO16, breg); -+ offset_expr.X_add_number -= off; -+ macro_build (&offset_expr, "svr.q", "?n3x,?o(b)", -+ vmreg, (int) BFD_RELOC_LO16, breg); -+ return; -+ - case M_USD_A: - ab = 1; - case M_USD: -@@ -10279,6 +10721,103 @@ - case '%': USE_BITS (OP_MASK_VECALIGN, OP_SH_VECALIGN); break; - case '[': break; - case ']': break; -+ -+ /* VFPU fields */ -+ case '?': -+ switch (c = *p++) -+ { -+ case '[': break; -+ case ']': break; -+ case 'y': -+ { -+ if ((*p != '0') && (*p != '1') && (*p != '2') && (*p != '3')) -+ { -+ as_bad (_("internal: bad mips opcode : %s %s"), -+ opc->name, opc->args); -+ return 0; -+ } -+ p++; -+ } -+ break; -+ -+ case 'o': USE_BITS (VF_MASK_OFFSET, VF_SH_OFFSET); break; -+ -+ case 's': -+ case 't': -+ case 'd': -+ case 'v': -+ case 'x': -+ case 'm': -+ case 'n': -+ { -+ if ((*p != '0') && (*p != '1') && (*p != '2') && (*p != '3') -+ && (*p != '5') && (*p != '6') && (*p != '7')) -+ { -+ as_bad (_("internal: bad mips opcode (vreg type `?%c'): %s %s"), -+ *p, opc->name, opc->args); -+ return 0; -+ } -+ p++; -+ -+ if ((*p != 's') && (*p != 't') && (*p != 'd') -+ && (*p != 'y') && (*p != 'x') && (*p != 'z') -+ && (*p != 'w') && (*p != 'm')) -+ { -+ as_bad (_("internal: bad mips opcode (vreg type `?%c'): %s %s"), -+ *(p - 1), opc->name, opc->args); -+ } -+ p++; -+ -+ switch (c) -+ { -+ case 's': USE_BITS (VF_MASK_VS, VF_SH_VS); break; -+ case 't': USE_BITS (VF_MASK_VT, VF_SH_VT); break; -+ case 'd': -+ case 'v': -+ case 'x': USE_BITS (VF_MASK_VD, VF_SH_VD); break; -+ case 'm': USE_BITS (VF_MASK_VML, VF_SH_VML); -+ USE_BITS (VF_MASK_VMH, VF_SH_VMH); break; -+ case 'n': USE_BITS (VF_MASK_VNL, VF_SH_VNL); -+ USE_BITS (VF_MASK_VNH, VF_SH_VNH); break; -+ } -+ } -+ break; -+ -+ case 'f': USE_BITS (VF_MASK_CC, VF_SH_CC); -+ p++; break; -+ -+ case 'a': USE_BITS (VF_MASK_CONST, VF_SH_CONST); break; -+ case 'b': USE_BITS (VF_MASK_SCALE, VF_SH_SCALE); break; -+ case 'c': USE_BITS (VF_MASK_BCOND, VF_SH_BCOND); break; -+ case 'e': USE_BITS (VF_MASK_MCOND, VF_SH_MCOND); break; -+ -+ case 'i': USE_BITS (VF_MASK_WRAP, VF_SH_WRAP); break; -+ -+ case 'q': USE_BITS (VF_MASK_VCD, VF_SH_VCD); break; -+ case 'r': USE_BITS (VF_MASK_VCS, VF_SH_VCS); break; -+ -+ case 'u': USE_BITS (VF_MASK_HFLOAT, VF_SH_HFLOAT); break; -+ -+ case 'w': USE_BITS (VF_MASK_ROT, VF_SH_ROT); break; -+ case 'z': USE_BITS (VF_MASK_RWB, VF_SH_RWB); break; -+ -+ case '0': USE_BITS (VF_MASK_PFX, VF_SH_PFX); break; -+ case '1': USE_BITS (VF_MASK_PFX, VF_SH_PFX); break; -+ case '2': USE_BITS (VF_MASK_PFX, VF_SH_PFX); break; -+ case '3': USE_BITS (VF_MASK_PFX, VF_SH_PFX); break; -+ case '4': USE_BITS (VF_MASK_PFX, VF_SH_PFX); break; -+ case '5': USE_BITS (VF_MASK_PFX, VF_SH_PFX); break; -+ case '6': USE_BITS (VF_MASK_PFX, VF_SH_PFX); break; -+ case '7': USE_BITS (VF_MASK_PFX, VF_SH_PFX); break; -+ -+ default: -+ as_bad (_("internal: bad mips opcode (unknown extension operand type `?%c'): %s %s"), -+ c, opc->name, opc->args); -+ return 0; -+ -+ } -+ break; -+ - case '1': USE_BITS (OP_MASK_SHAMT, OP_SH_SHAMT); break; - case '2': USE_BITS (OP_MASK_BP, OP_SH_BP); break; - case '3': USE_BITS (OP_MASK_SA3, OP_SH_SA3); break; -@@ -10585,7 +11124,7 @@ - char c = 0; - struct mips_opcode *insn; - char *argsStart; -- unsigned int regno; -+ unsigned int regno = 0; - unsigned int lastregno; - unsigned int destregno = 0; - unsigned int lastpos = 0; -@@ -10598,6 +11137,9 @@ - unsigned int rtype; - char *dot; - long end; -+ unsigned int vdregno = 0xffff; -+ char vdregt = 0; -+ char vdregl = 0; - - insn_error = NULL; - -@@ -11683,6 +12225,1151 @@ - case 'y': /* ALNV.PS source register. */ - gas_assert (mips_opts.micromips); - goto do_reg; -+ -+ /* VFPU fields */ -+ case '?': -+ switch (*++args) -+ { -+ case '[': -+ case ']': -+ if (*s++ == *args) -+ continue; -+ break; -+ -+ case 'y': /* immediate separator */ -+ ++args; -+ vimm_expr[*args - '0'] = imm_expr; -+ voffset_expr[*args - '0'] = offset_expr; -+ -+ imm_expr.X_op = O_absent; -+ offset_expr.X_op = O_absent; -+ imm_reloc[0] = BFD_RELOC_UNUSED; -+ imm_reloc[1] = BFD_RELOC_UNUSED; -+ imm_reloc[2] = BFD_RELOC_UNUSED; -+ offset_reloc[0] = BFD_RELOC_UNUSED; -+ offset_reloc[1] = BFD_RELOC_UNUSED; -+ offset_reloc[2] = BFD_RELOC_UNUSED; -+ -+ continue; -+ -+ case 'o': /* 16 bit offset */ -+ /* Check whether there is only a single bracketed expression -+ left. If so, it must be the base register and the -+ constant must be zero. */ -+ if (*s == '(' && strchr (s + 1, '(') == 0) -+ { -+ offset_expr.X_op = O_constant; -+ offset_expr.X_add_number = 0; -+ continue; -+ } -+ -+ /* If this value won't fit into a 16 bit offset, then go -+ find a macro that will generate the 32 bit offset -+ code pattern. */ -+ if (my_getSmallExpression (&offset_expr, offset_reloc, s) == 0 -+ && (offset_expr.X_op != O_constant -+ || offset_expr.X_add_number >= 0x8000 -+ || offset_expr.X_add_number < -0x8000)) -+ break; -+ -+ s = expr_end; -+ continue; -+ -+ case 's': /* VFPU source register */ -+ case 't': /* VFPU target register */ -+ case 'd': /* VFPU destination register */ -+ case 'v': /* VFPU destination register */ -+ case 'x': /* VFPU destination register */ -+ case 'm': /* VFPU target regsiter (load/store) */ -+ case 'n': /* VFPU target regsiter (load/store) */ -+ { -+ int dtype_err = 0; -+ int dnum_err = 0; -+ int dlen = 0; -+ char dtype = s[0]; -+ char regtype = *(args + 1); -+ -+ int mtx = 0; -+ int idx = 0; -+ int rxc = 0; -+ int fsl = 0; -+ int vidx = 0; -+ int vfsl = 0; -+ -+ if (ISDIGIT (s[1])) -+ { -+ int num = 0; -+ s++; -+ do -+ { -+ num *= 10; -+ num += *s - '0'; -+ dlen++; -+ s++; -+ } -+ while (ISDIGIT (*s)); -+ -+ if ((s[0] == '.') -+ && (s[1] == 's' || s[1] == 'p' -+ || s[1] == 't' || s[1] == 'q')) -+ s += 2; -+ -+ if (ISUPPER(dtype)) -+ dtype -= 'A' - 'a'; -+ -+ if (dtype == '$') -+ { -+ regno = num; -+ if (regno > VF_MAX_MR) -+ as_bad (_("Invalid VFPU register number (%d)"), -+ regno); -+ -+ idx = (num >> VF_SH_MR_IDX) & VF_MASK_MR_IDX; -+ vfsl = (num >> VF_SH_MR_VFSL) & VF_MASK_MR_VFSL; -+ switch (regtype) -+ { -+ case '0': /* single word */ -+ break; -+ case '1': /* pare word */ -+ dnum_err = (vfsl & 0x1); -+ break; -+ case '2': /* triple word */ -+ dnum_err = (vfsl > 1); -+ break; -+ case '3': /* quad word */ -+ dnum_err = (vfsl > 0); -+ break; -+ case '5': /* 2x2 word */ -+ dnum_err = (vfsl & 0x1) || (idx & 0x1); -+ break; -+ case '6': /* 3x3 word */ -+ dnum_err = (vfsl > 1) || (idx > 1); -+ break; -+ case '7': /* 4x4 word */ -+ dnum_err = (vfsl > 0) || (idx > 0); -+ break; -+ } -+ -+ if (dnum_err) -+ as_bad (_("Improper VFPU register number (%d)"), -+ regno); -+ -+ } -+ else if ((dlen == 3) -+ && ((dtype == 's') -+ || (dtype == 'c') || (dtype == 'r') -+ || (dtype == 'm') || (dtype == 'e'))) -+ { -+ mtx = num / 100; -+ if ((dtype == 'r') || (dtype == 'e')) -+ { -+ vfsl = (num / 10) % 10; -+ vidx = num % 10; -+ rxc = 1; -+ } -+ else -+ { -+ vidx = (num / 10) % 10; -+ vfsl = num % 10; -+ rxc = 0; -+ } -+ -+ switch (regtype) -+ { -+ case '0': /* single word */ -+ idx = vidx; -+ fsl = vfsl; -+ dtype_err = (dtype != 's'); -+ break; -+ case '1': /* pare word */ -+ idx = vidx; -+ fsl = (vfsl & 0x2) | rxc; -+ dnum_err = (vfsl & 0x1); -+ dtype_err = (dtype != 'c') && (dtype != 'r'); -+ break; -+ case '2': /* triple word */ -+ idx = vidx; -+ fsl = ((vfsl & 0x1) << 1) | rxc; -+ dnum_err = (vfsl > 1); -+ dtype_err = (dtype != 'c') && (dtype != 'r'); -+ break; -+ case '3': /* quad word */ -+ idx = vidx; -+ fsl = rxc; -+ dnum_err = (vfsl > 0); -+ dtype_err = (dtype != 'c') && (dtype != 'r'); -+ break; -+ case '5': /* 2x2 word */ -+ idx = vidx & 0x2; -+ fsl = (vfsl & 0x2) | rxc; -+ dnum_err = (vfsl & 0x1) || (vidx & 0x1); -+ dtype_err = (dtype != 'm') && (dtype != 'e'); -+ break; -+ case '6': /* 3x3 word */ -+ idx = vidx & 0x1; -+ fsl = ((vfsl & 0x1) << 1) | rxc; -+ dnum_err = (vfsl > 1) || (vidx > 1); -+ dtype_err = (dtype != 'm') && (dtype != 'e'); -+ break; -+ case '7': /* 4x4 word */ -+ idx = 0; -+ fsl = rxc; -+ dnum_err = (vfsl > 0) || (vidx > 0); -+ dtype_err = (dtype != 'm') && (dtype != 'e'); -+ break; -+ } -+ -+ if (dtype_err) -+ as_bad (_("Improper VFPU register prefix '%c'"), -+ dtype); -+ if (dnum_err) -+ as_bad (_("Improper VFPU register number (%03d)"), -+ num); -+ -+ if (mtx > VF_MAX_MR_MTX) -+ as_bad (_("VFPU matrix range over %d"), mtx); -+ if (vidx > VF_MAX_MR_IDX) -+ as_bad (_("VFPU index range over %d"), idx); -+ if (vfsl > VF_MAX_MR_FSL) -+ as_bad (_("VFPU field select range over %d"), fsl); -+ -+ regno = ((fsl & VF_MASK_MR_FSL) << VF_SH_MR_FSL) -+ | ((mtx & VF_MASK_MR_MTX) << VF_SH_MR_MTX) -+ | ((idx & VF_MASK_MR_IDX) << VF_SH_MR_IDX); -+ } -+ else -+ { -+ as_bad (_("Improper VFPU register prefix '%c'"), -+ dtype); -+ } -+ } -+ else -+ { -+ as_bad (_("bad operand %s"), s); -+ } -+ -+ if ((*args == 'v') || (*args == 'x')) -+ { -+ vdregno = regno; -+ vdregt = regtype; -+ vdregl = (*args == 'v'); -+ } -+ else if (vdregno <= VF_MAX_MR) -+ { -+ static unsigned short used_vreg[8][16] = { -+ { 0x0001, 0x0010, 0x0100, 0x1000, -+ 0x0002, 0x0020, 0x0200, 0x2000, -+ 0x0004, 0x0040, 0x0400, 0x4000, -+ 0x0008, 0x0080, 0x0800, 0x8000 }, -+ { 0x0003, 0x0030, 0x0300, 0x3000, -+ 0x0011, 0x0022, 0x0044, 0x0088, -+ 0x000c, 0x00c0, 0x0c00, 0xc000, -+ 0x1100, 0x2200, 0x4400, 0x8800 }, -+ { 0x0007, 0x0070, 0x0700, 0x7000, -+ 0x0111, 0x0222, 0x0444, 0x0888, -+ 0x000e, 0x00e0, 0x0e00, 0xe000, -+ 0x1110, 0x2220, 0x4440, 0x8880 }, -+ { 0x000f, 0x00f0, 0x0f00, 0xf000, -+ 0x1111, 0x2222, 0x4444, 0x8888, -+ 0x000f, 0x00f0, 0x0f00, 0xf000, -+ 0x1111, 0x2222, 0x4444, 0x8888 }, -+ { 0x0000, 0x0000, 0x0000, 0x0000, -+ 0x0000, 0x0000, 0x0000, 0x0000, -+ 0x0000, 0x0000, 0x0000, 0x0000, -+ 0x0000, 0x0000, 0x0000, 0x0000 }, -+ { 0x0033, 0x0033, 0x3300, 0x3300, -+ 0x0033, 0x0033, 0x00cc, 0x00cc, -+ 0x00cc, 0x00cc, 0xcc00, 0xcc00, -+ 0x3300, 0x3300, 0xcc00, 0xcc00 }, -+ { 0x0777, 0x7770, 0x0777, 0x7770, -+ 0x0777, 0x0eee, 0x0777, 0x0eee, -+ 0x0eee, 0xeee0, 0x0eee, 0xeee0, -+ 0x7770, 0xeee0, 0x7770, 0xeee0 }, -+ { 0xffff, 0xffff, 0xffff, 0xffff, -+ 0xffff, 0xffff, 0xffff, 0xffff, -+ 0xffff, 0xffff, 0xffff, 0xffff, -+ 0xffff, 0xffff, 0xffff, 0xffff }, -+ }; -+ int dmtx, smtx; -+ int dfsl, sfsl; -+ int didx, sidx; -+ int drxc, srxc; -+ -+ dmtx = (vdregno >> VF_SH_MR_MTX) & VF_MASK_MR_MTX; -+ smtx = (regno >> VF_SH_MR_MTX) & VF_MASK_MR_MTX; -+ -+ if (dmtx == smtx) -+ { -+ unsigned short dused, sused; -+ int dtype2, stype; -+ -+ dfsl = (vdregno >> VF_SH_MR_FSL) & VF_MASK_MR_FSL; -+ didx = (vdregno >> VF_SH_MR_IDX) & VF_MASK_MR_IDX; -+ drxc = (vdregno >> VF_SH_MR_RXC) & VF_MASK_MR_RXC; -+ sfsl = (regno >> VF_SH_MR_FSL) & VF_MASK_MR_FSL; -+ sidx = (regno >> VF_SH_MR_IDX) & VF_MASK_MR_IDX; -+ srxc = (regno >> VF_SH_MR_RXC) & VF_MASK_MR_RXC; -+ -+ dtype2 = vdregt - '0'; -+ stype = regtype - '0'; -+ dused = used_vreg[dtype2][(dfsl << 2) + didx]; -+ sused = used_vreg[stype][(sfsl << 2) + sidx]; -+ -+ if ((dused & sused) -+ && (vdregl || (dused ^ sused) || (drxc != srxc))) -+ { -+ int dvfsl; -+ dvfsl = (vdregno >> VF_SH_MR_VFSL) & VF_MASK_MR_VFSL; -+ switch (vdregt) -+ { -+ case '1': -+ dvfsl <<= 1; -+ case '2': -+ case '3': -+ if (drxc) -+ as_bad (_("VFPU register conflict(R%d%d%d)"), -+ dmtx, dvfsl, didx); -+ else -+ as_bad (_("VFPU register conflict(C%d%d%d)"), -+ dmtx, didx, dvfsl); -+ break; -+ case '5': -+ dvfsl <<= 1; -+ case '6': -+ case '7': -+ if (drxc) -+ as_bad (_("VFPU register conflict(E%d%d%d)"), -+ dmtx, dvfsl, didx); -+ else -+ as_bad (_("VFPU register conflict(M%d%d%d)"), -+ dmtx, didx, dvfsl); -+ break; -+ } -+ } -+ } -+ } -+ -+ switch (*args++) -+ { -+ case 's': -+ if ( -+ (ip->insn_opcode -+ & VFPU_MASK_RPT_MMUL) == VFPU_INST_RPT_MMUL) -+ { -+ if (regno & (VF_MASK_MR_RXC << VF_SH_MR_RXC)) -+ regno &= ~(VF_MASK_MR_RXC << VF_SH_MR_RXC); -+ else -+ regno |= (VF_MASK_MR_RXC << VF_SH_MR_RXC); -+ } -+ ip->insn_opcode |= (regno & VF_MASK_VS) << VF_SH_VS; -+ break; -+ case 't': -+ ip->insn_opcode |= (regno & VF_MASK_VT) << VF_SH_VT; -+ break; -+ case 'd': -+ case 'v': -+ case 'x': -+ ip->insn_opcode |= (regno & VF_MASK_VD) << VF_SH_VD; -+ break; -+ case 'm': -+ { -+ int vmregL = (regno >> 0) & VF_MASK_VML; -+ int vmregH = (regno >> 5) & VF_MASK_VMH; -+ ip->insn_opcode |= (vmregL << VF_SH_VML) -+ | (vmregH << VF_SH_VMH); -+ } -+ break; -+ case 'n': -+ { -+ int vmregL = (regno >> 0) & VF_MASK_VNL; -+ int vmregH = (regno >> 5) & VF_MASK_VNH; -+ ip->insn_opcode |= (vmregL << VF_SH_VNL) -+ | (vmregH << VF_SH_VNH); -+ } -+ break; -+ } -+ args++; -+ -+ /* now check for vfpu prefixes if necessary */ -+ if (*s == '[') -+ { -+ char *prefix_out = NULL; -+ bfd_boolean *prefix_bool = NULL; -+ char *prefix_type = NULL; -+ int num_args = 0; -+ char *ob = ++s; -+ bfd_boolean has_w = FALSE; -+ bfd_boolean has_z = FALSE; -+ bfd_boolean has_y = FALSE; -+ bfd_boolean has_operator = FALSE; -+ bfd_boolean has_saturater = FALSE; -+ -+ switch (*args) -+ { -+ case 'w': /* only swizzle */ -+ case 's': /* source prefix */ -+ prefix_bool = &vfpu_sprefix; -+ prefix_out = vfpu_sprefix_str; -+ prefix_type = "source"; -+ break; -+ case 't': /* target prefix */ -+ prefix_bool = &vfpu_tprefix; -+ prefix_out = vfpu_tprefix_str; -+ prefix_type = "target"; -+ break; -+ case 'm': /* only write mask */ -+ case 'd': /* destination prefix */ -+ prefix_bool = &vfpu_dprefix; -+ prefix_out = vfpu_dprefix_str; -+ prefix_type = "destination"; -+ break; -+ case 'y': /* inhibit */ -+ prefix_bool = NULL; -+ prefix_type = "source"; -+ break; -+ case 'x': /* inhibit */ -+ prefix_bool = NULL; -+ prefix_type = "target"; -+ break; -+ case 'z': /* inhibit */ -+ prefix_bool = NULL; -+ prefix_type = "destination"; -+ break; -+ } -+ -+ for ( ; *s != '\0' && *s != ']'; s++) -+ { -+ switch (*s) -+ { -+ case ',': -+ /* count no. of params for syntax check */ -+ num_args++; -+ break; -+ case ' ': -+ case '\t': -+ break; -+ case 'm': -+ case 'M': -+ case 'x': -+ case 'X': -+ break; -+ case 'y': -+ case 'Y': -+ has_y = TRUE; -+ break; -+ case 'z': -+ case 'Z': -+ has_z = TRUE; -+ break; -+ case 'w': -+ case 'W': -+ has_w = TRUE; -+ break; -+ default: -+ if (*args == 'w') -+ has_operator = TRUE; -+ if (*args == 'm') -+ has_saturater = TRUE; -+ } -+ } -+ -+ if (*s == ']') -+ { -+ if (prefix_bool) -+ { -+ *prefix_bool = TRUE; -+ strncpy (prefix_out, ob, s - ob); -+ prefix_out[s - ob] = '\0'; -+ s++; -+ } -+ else -+ { -+ as_bad (_("%s cannot use %s prefix"), -+ insn->name, prefix_type); -+ s++; -+ continue; -+ } -+ } -+ else -+ { -+ as_bad (_("parse error (%s)"), ob - 1); -+ return; -+ } -+ -+ if (num_args != regtype - '0') -+ { -+ as_bad (_("%s prefix specification requires %d parameters - [%s]"), -+ prefix_type, regtype - '0' + 1, -+ prefix_out); -+ } -+ else -+ { -+ int i = 8 - ((3 - num_args) * 2); -+ char dummy_d[] = " m,m,m,m"; -+ char dummy_st[] = " x,y,z,w"; -+ -+ if (*args == 'd' || *args == 'm') -+ { -+ strcat (prefix_out, dummy_d + i); -+ if (has_saturater) -+ { -+ as_bad (_("%s is restricted to mask destination prefixes only"), -+ insn->name); -+ } -+ } -+ else -+ { -+ strcat (prefix_out, dummy_st + i); -+ if (has_operator) -+ { -+ as_bad (_("%s is restricted to swizzle %s prefixes only"), -+ insn->name, prefix_type); -+ } -+ /* semantic check, w can't be specified for -+ s, p, or t instructions same goes for -+ z for p and s, and y for scalars */ -+ if ((has_y && num_args == 0) -+ || (has_z && num_args < 2) -+ || (has_w && num_args < 3)) -+ { -+ as_bad (_("%s swizzle operand is out of range in [%s]"), -+ prefix_type, prefix_out); -+ } -+ } -+ } -+ } -+ -+ continue; -+ } -+ break; -+ -+ case 'q': /* VFPU destination control register */ -+ case 'r': /* VFPU source control register */ -+ { -+ if ((s[0] == '$') && ISDIGIT (s[1])) -+ { -+ s++; -+ regno = 0; -+ do -+ { -+ regno *= 10; -+ regno += *s - '0'; -+ ++s; -+ } -+ while (ISDIGIT (*s)); -+ -+ if ((regno < VF_MIN_CR) || (regno > VF_MAX_CR)) -+ as_bad (_("Invalid VFPU control register number (%d)"), -+ regno); -+ -+ else if (!((regno >= VF_MIN_VCR) && (regno <= VF_MAX_VCR))) -+ as_bad (_("Improper VFPU control register number (%d)"), -+ regno); -+ -+ switch (*args) -+ { -+ case 'q': -+ ip->insn_opcode |= (regno & VF_MASK_VCD) << VF_SH_VCD; -+ break; -+ case 'r': -+ ip->insn_opcode |= (regno & VF_MASK_VCS) << VF_SH_VCS; -+ break; -+ } -+ } -+ else -+ { -+ as_bad (_("Invalid VFPU control register name (%s)"), s); -+ } -+ -+ continue; -+ } -+ break; -+ -+ case 'f': /* condition code */ -+ { -+ int cond = 0; -+ if (ISDIGIT (s[0])) -+ { -+ my_getExpression (&imm_expr, s); -+ check_absolute_expr (ip, &imm_expr); -+ cond = imm_expr.X_add_number; -+ if ((cond < VF_MIN_CC) || (cond > VF_MAX_CC)) -+ as_bad (_("Invalid VFPU condition code (%d)"), cond); -+ imm_expr.X_op = O_absent; -+ s = expr_end; -+ } -+ else -+ { -+ static const char * const vfpu_cond_names[] = { -+ "FL", "EQ", "LT", "LE", -+ "TR", "NE", "GE", "GT", -+ "EZ", "EN", "EI", "ES", -+ "NZ", "NN", "NI", "NS" }; -+ for (cond = VF_MIN_CC; cond <= VF_MAX_CC; cond++) -+ { -+ if (strncasecmp(vfpu_cond_names[cond], s, 2) == 0) -+ break; -+ } -+ if ((cond < VF_MIN_CC) || (cond > VF_MAX_CC)) -+ as_bad (_("Invalid VFPU condition code (%s)"), s); -+ -+ s += 2; -+ } -+ -+ args++; -+ if ((cond == 0) || (cond == 4)) -+ { -+ } -+ else if (cond & 0x8) -+ { -+ if (*args - '0' < 1) -+ as_bad (_("Invalid VFPU condition oparetion")); -+ } -+ else -+ { -+ if (*args - '0' < 2) -+ as_bad (_("Invalid VFPU condition oparetion")); -+ } -+ -+ ip->insn_opcode |= (cond & VF_MASK_CC) << VF_SH_CC; -+ continue; -+ } -+ break; -+ -+ case 'a': /* constant code */ -+ { -+ int cst = 0; -+ if (ISDIGIT (s[0])) -+ { -+ my_getExpression (&imm_expr, s); -+ check_absolute_expr (ip, &imm_expr); -+ cst = imm_expr.X_add_number; -+ if ((cst < VF_MIN_CONST) || (cst > VF_MAX_CONST)) -+ { -+ as_bad (_("Improper constant code (%d)"), cst); -+ cst &= VF_MASK_CONST; -+ } -+ imm_expr.X_op = O_absent; -+ s = expr_end; -+ } -+ else -+ { -+ static const char * const vfpu_const_names[] = { -+ "", "VFPU_HUGE", "VFPU_SQRT2", "VFPU_SQRT1_2", -+ "VFPU_2_SQRTPI", "VFPU_2_PI", "VFPU_1_PI", "VFPU_PI_4", -+ "VFPU_PI_2", "VFPU_PI", "VFPU_E", "VFPU_LOG2E", -+ "VFPU_LOG10E", "VFPU_LN2", "VFPU_LN10", "VFPU_2PI", -+ "VFPU_PI_6", "VFPU_LOG10TWO", "VFPU_LOG2TEN", -+ "VFPU_SQRT3_2"}; -+ for (cst = VF_MIN_CONST; cst <= VF_MAX_CONST; cst++) -+ { -+ if (strcasecmp(vfpu_const_names[cst], s) == 0) -+ break; -+ } -+ if ((cst < VF_MIN_CONST) || (cst > VF_MAX_CONST)) -+ as_bad (_("Invalid constant code (%s)"), s); -+ else -+ s += strlen(vfpu_const_names[cst]); -+ } -+ -+ ip->insn_opcode |= cst << VF_SH_CONST; -+ } -+ continue; -+ -+ case 'b': /* scale exponent */ -+ my_getExpression (&imm_expr, s); -+ check_absolute_expr (ip, &imm_expr); -+ if ((unsigned long) imm_expr.X_add_number > VF_MAX_SCALE) -+ { -+ as_bad (_("Improper scale (%lu)"), -+ (unsigned long) imm_expr.X_add_number); -+ imm_expr.X_add_number &= VF_MASK_SCALE; -+ } -+ ip->insn_opcode |= imm_expr.X_add_number << VF_SH_SCALE; -+ imm_expr.X_op = O_absent; -+ s = expr_end; -+ continue; -+ -+ case 'c': /* branch condition code bit */ -+ my_getExpression (&imm_expr, s); -+ check_absolute_expr (ip, &imm_expr); -+ if ((unsigned long) imm_expr.X_add_number > VF_MAX_BCOND) -+ { -+ as_bad (_("Improper condition bit (%lu)"), -+ (unsigned long) imm_expr.X_add_number); -+ imm_expr.X_add_number &= VF_MASK_BCOND; -+ } -+ ip->insn_opcode |= imm_expr.X_add_number << VF_SH_BCOND; -+ imm_expr.X_op = O_absent; -+ s = expr_end; -+ continue; -+ -+ case 'e': /* move condition code bit */ -+ my_getExpression (&imm_expr, s); -+ check_absolute_expr (ip, &imm_expr); -+ if ((unsigned long) imm_expr.X_add_number > VF_MAX_MCOND) -+ { -+ as_bad (_("Improper condition bit (%lu)"), -+ (unsigned long) imm_expr.X_add_number); -+ imm_expr.X_add_number &= VF_MASK_MCOND; -+ } -+ ip->insn_opcode |= imm_expr.X_add_number << VF_SH_MCOND; -+ imm_expr.X_op = O_absent; -+ s = expr_end; -+ continue; -+ -+ case 'i': /* wrap exponent */ -+ my_getExpression (&imm_expr, s); -+ check_absolute_expr (ip, &imm_expr); -+ if ((unsigned long) imm_expr.X_add_number > VF_MAX_WRAP) -+ { -+ as_bad (_("Improper wrap (%lu)"), -+ (unsigned long) imm_expr.X_add_number); -+ imm_expr.X_add_number &= VF_MASK_WRAP; -+ } -+ ip->insn_opcode |= imm_expr.X_add_number << VF_SH_WRAP; -+ imm_expr.X_op = O_absent; -+ s = expr_end; -+ continue; -+ -+ case 'w': /* rotation code */ -+ if (s[0] == '[') -+ { -+ char *rot_str = s; -+ int rot_idx = 0; -+ int rot_neg = 0; -+ int rot_sin = 3; -+ int rot_cos = 3; -+ int rot_err = 0; -+ int rot_n; -+ int rot_neg_n = 0; -+ int rot_sin_n = 0; -+ int rot_cos_n = 0; -+ int rot_code; -+ -+ if ((ip->insn_opcode & VFPU_MASK_DTYPE) == VFPU_PAIR) -+ rot_n = 2; -+ else if ((ip->insn_opcode & VFPU_MASK_DTYPE) == VFPU_TRIPLE) -+ rot_n = 3; -+ else if ((ip->insn_opcode & VFPU_MASK_DTYPE) == VFPU_QUAD) -+ rot_n = 4; -+ else -+ rot_n = 0; -+ -+ s++; -+ while ((s[0] != ']') && (s[0] != '\0')) -+ { -+ if (s[0] == '-') -+ { -+ if ((s[1] != 's') && (s[1] != 'S')) -+ { -+ rot_err = 1; -+ break; -+ } -+ rot_neg = 1; -+ rot_neg_n++; -+ s++; -+ } -+ -+ if (s[0] == ',') -+ rot_idx++; -+ else if ((s[0] == 'c') || (s[0] == 'C')) -+ { -+ rot_cos = rot_idx; -+ rot_cos_n++; -+ } -+ else if ((s[0] == 's') || (s[0] == 'S')) -+ { -+ rot_sin = rot_idx; -+ rot_sin_n++; -+ } -+ else if (ISSPACE(s[0]) || (s[0] == '0')) -+ ; -+ else -+ { -+ rot_err = 1; -+ break; -+ } -+ -+ s++; -+ } -+ -+ if (s[0] == ']') -+ rot_idx++; -+ else -+ rot_err = 1; -+ s++; -+ -+ if ((rot_sin_n == 0) && (rot_cos_n == 0)) -+ { -+ if (rot_n == 2) -+ rot_sin = 2; -+ else if ((rot_n == 4) || (rot_n == 3)) -+ rot_err = 1; -+ } -+ -+ if (rot_cos_n > 1) -+ rot_err = 1; -+ -+ if (rot_sin_n > 1) -+ { -+ if (((rot_sin_n + rot_cos_n) != rot_n) -+ || ((rot_n == 4) && (rot_cos_n == 0))) -+ rot_err = 1; -+ } -+ -+ if (rot_neg && (rot_neg_n != rot_sin_n)) -+ rot_err = 1; -+ -+ if (rot_sin_n > 1) -+ rot_sin = rot_cos; -+ -+ if (rot_err || (rot_n != rot_idx)) -+ as_bad (_("Invalid rotation code (%s)"), rot_str); -+ -+ rot_code = ((rot_neg & VF_MASK_ROT_NEG) << VF_SH_ROT_NEG) -+ | ((rot_cos & VF_MASK_ROT_COS) << VF_SH_ROT_COS) -+ | ((rot_sin & VF_MASK_ROT_SIN) << VF_SH_ROT_SIN); -+ ip->insn_opcode |= rot_code << VF_SH_ROT; -+ } -+ else -+ { -+ my_getExpression (&imm_expr, s); -+ check_absolute_expr (ip, &imm_expr); -+ if ((unsigned long) imm_expr.X_add_number > VF_MAX_ROT) -+ { -+ as_bad (_("Improper rotation code (%lu)"), -+ (unsigned long) imm_expr.X_add_number); -+ imm_expr.X_add_number &= VF_MASK_ROT; -+ } -+ ip->insn_opcode |= imm_expr.X_add_number << VF_SH_ROT; -+ imm_expr.X_op = O_absent; -+ s = expr_end; -+ } -+ continue; -+ -+ case 'u': /* half float */ -+ if ((s[0] == '0') && ((s[1] == 'x') || (s[1] == 'X'))) -+ { -+ my_getExpression (&imm_expr, s); -+ check_absolute_expr (ip, &imm_expr); -+ if ((unsigned long) imm_expr.X_add_number > VF_MAX_HFLOAT) -+ { -+ as_bad (_("Improper half floating point constant: (%lu)"), -+ (unsigned long) imm_expr.X_add_number); -+ imm_expr.X_add_number &= VF_MASK_HFLOAT; -+ } -+ ip->insn_opcode |= imm_expr.X_add_number << VF_SH_HFLOAT; -+ imm_expr.X_op = O_absent; -+ s = expr_end; -+ continue; -+ } -+ else -+ { -+ char *save_in; -+ char *err; -+ int len; -+ unsigned char temp[8]; -+ unsigned int f32, f16; -+ int exponent32, exponent16; -+ int fraction32, fraction16; -+ int sign; -+ char f16_str[8]; -+ -+ save_in = input_line_pointer; -+ input_line_pointer = s; -+ err = md_atof ('f', (char *) temp, &len); -+ s = input_line_pointer; -+ input_line_pointer = save_in; -+ if (err != NULL && *err != '\0') -+ { -+ as_bad (_("Bad half floating point constant: %s"), err); -+ memset (temp, '\0', sizeof temp); -+ } -+ -+ if (! target_big_endian) -+ f32 = bfd_getl32 (temp); -+ else -+ f32 = bfd_getb32 (temp); -+ -+ sign = (f32 >> VF_SH_F32_SIGN) & VF_MASK_F32_SIGN; -+ exponent32 = (f32 >> VF_SH_F32_EXP) & VF_MASK_F32_EXP; -+ fraction32 = (f32 >> VF_SH_F32_FRA) & VF_MASK_F32_FRA; -+ exponent16 = exponent32 -+ - VF_BIAS_F32_EXP + VF_BIAS_F16_EXP; -+ -+ if (exponent16 < VF_MIN_F16_EXP) -+ { -+ if ((exponent32 == VF_MIN_F32_EXP) -+ && (fraction32 == 0)) -+ { // zero -+ exponent16 = VF_MIN_F16_EXP; -+ fraction16 = 0; -+ } -+ else -+ { // underflow -+ float* p; -+ p = (float*) &f32; -+ as_warn (_("Half floating point underflow: %g"), -+ *p); -+ exponent16 = VF_MIN_F16_EXP; -+ fraction16 = 0; -+ } -+ } -+ else if (exponent16 > VF_MAX_F16_EXP) -+ { -+ if (exponent32 != VF_MAX_F32_EXP) -+ { // overflow -+ float* p; -+ p = (float*) &f32; -+ as_warn (_("Half floating point overflow: %g"), -+ *p); -+ exponent16 = VF_MAX_F16_EXP; -+ fraction16 = 0; -+ } -+ else -+ { -+ if (fraction32 == 0) -+ { // infinity -+ exponent16 = VF_MAX_F16_EXP; -+ fraction16 = 0; -+ } -+ else -+ { // NaN -+ exponent16 = VF_MAX_F16_EXP; -+ fraction16 = 1; -+ } -+ } -+ } -+ else -+ { -+ fraction16 = (f32 >> (VF_SH_F32_EXP - VF_SH_F16_EXP)) -+ & VF_MASK_F16_FRA; -+ } -+ -+ f16 = (sign << VF_SH_F16_SIGN) -+ | (exponent16 << VF_SH_F16_EXP) -+ | (fraction16 << VF_SH_F16_FRA); -+ ip->insn_opcode |= (f16 & VF_MASK_HFLOAT) << VF_SH_HFLOAT; -+ -+ sprintf(f16_str, "0x%04x", f16); -+ my_getExpression (&imm_expr, f16_str); -+ -+ continue; -+ } -+ break; -+ -+ case 'z': /* read/write access code */ -+ { -+ int rwb = 0; -+ -+ if (strncasecmp (s, "WT", 2) == 0) -+ rwb = 0x0; -+ else if (strncasecmp (s, "WB", 2) == 0) -+ rwb = 0x1; -+ else -+ as_bad (_("Invalid memory access type (%s)"), s); -+ -+ s += 2; -+ ip->insn_opcode |= (rwb & VF_MASK_RWB) << VF_SH_RWB; -+ -+ continue; -+ } -+ -+ case '0': /* source or target prefix code (X) */ -+ case '1': /* source or target prefix code (Y) */ -+ case '2': /* source or target prefix code (Z) */ -+ case '3': /* source or target prefix code (W) */ -+ { -+ int operand; -+ int shift; -+ -+ int pfx_neg = 0; -+ int pfx_cst = 0; -+ int pfx_abs = 0; -+ int pfx_swz = 0; -+ int pfx_err = 0; -+ int cst = 0; -+ char *pfx_str = s; -+ -+ if (s[0] == '-') -+ { // sign code -+ pfx_neg = 1; -+ s++; -+ } -+ -+ if (ISDIGIT (s[0])) -+ { // constant -+ pfx_cst = 1; -+ -+ if (s[0] == '0') -+ cst = 0; -+ else if (s[0] == '1') -+ { -+ if (s[1] == '/') -+ { -+ s += 2; -+ if (s[0] == '2') -+ cst = 3; -+ else if (s[0] == '3') -+ cst = 5; -+ else if (s[0] == '4') -+ cst = 6; -+ else if (s[0] == '6') -+ cst = 7; -+ else -+ pfx_err = 1; -+ } -+ else -+ { -+ cst = 1; -+ } -+ } -+ else if (s[0] == '2') -+ cst = 2; -+ else if (s[0] == '3') -+ cst = 4; -+ else -+ pfx_err = 1; -+ -+ pfx_abs = (cst >> 2) & 0x1; -+ pfx_swz = (cst >> 0) & 0x3; -+ s++; -+ } -+ else -+ { // variable -+ -+ if (s[0] == '|') -+ { // abs -+ pfx_abs = 1; -+ s++; -+ } -+ -+ if ((s[0] == 'X') || (s[0] == 'x')) -+ { -+ pfx_swz = 0; -+ s++; -+ } -+ else if ((s[0] == 'Y') || (s[0] == 'y')) -+ { -+ pfx_swz = 1; -+ s++; -+ } -+ else if ((s[0] == 'Z') || (s[0] == 'z')) -+ { -+ pfx_swz = 2; -+ s++; -+ } -+ else if ((s[0] == 'W') || (s[0] == 'w')) -+ { -+ pfx_swz = 3; -+ s++; -+ } -+ else if ((s[0] == ',') || IS_SPACE_OR_NUL (s[0]) -+ || (s[0] == '|')) -+ { -+ pfx_swz = *args - '0'; -+ } -+ else -+ pfx_err = 1; -+ -+ if (pfx_err == 0) -+ { -+ if (s[0] == '|') -+ { -+ s++; -+ if (pfx_abs == 0) -+ pfx_err = 1; -+ } -+ else -+ { -+ if (pfx_abs == 1) -+ pfx_err = 1; -+ } -+ } -+ } -+ -+ if (! ((s[0] == ',') || IS_SPACE_OR_NUL (s[0]))) -+ pfx_err = 1; -+ -+ if (pfx_err) -+ as_bad (_("Invalid prefix format (%s)"), pfx_str); -+ -+ shift = *args - '0'; -+ -+ operand = (pfx_neg << (VF_SH_PFX_NEG + shift)) -+ | (pfx_cst << (VF_SH_PFX_CST + shift)) -+ | (pfx_abs << (VF_SH_PFX_ABS + shift)) -+ | (pfx_swz << (VF_SH_PFX_SWZ + shift * 2)); -+ -+ ip->insn_opcode |= operand; -+ continue; -+ } -+ -+ case '4': /* destination prefix code (X) */ -+ case '5': /* destination prefix code (Y) */ -+ case '6': /* destination prefix code (Z) */ -+ case '7': /* destination prefix code (W) */ -+ { -+ int operand; -+ int shift; -+ static const char order[] = "xyzwXYZW"; -+ -+ int pfx_msk = 0; -+ int pfx_sat = 0; -+ char *pfx_str = s; -+ -+ if (s[0] == '[') -+ s++; -+ if (s[0] == '-') /* -1:1, skip the minus symbol */ -+ s++; -+ -+ if ((s[0] == 'm') || (s[0] == 'M')) -+ { -+ pfx_msk = 1; -+ s++; -+ } -+ else if (s[0] == '0') /* 0:1 */ -+ { -+ pfx_sat = 1; -+ s++; -+ } -+ else if (s[0] == '1') /* -1:1 or -1:+1 */ -+ { -+ pfx_sat = 3; -+ s++; -+ } -+ else if ((s[0] == order[(*args) - '4']) -+ || (s[0] == order[(*args) - '4' + 4])) -+ { -+ pfx_sat = 0; -+ s++; -+ } -+ -+ if (s[0] == ':') /* skip the :1 or :+1 part of the expression */ -+ { -+ s++; -+ if (s[0] == '+') -+ s++; -+ if (s[0] == '1') -+ s++; -+ } -+ if (s[0] == ']') -+ s++; -+ -+ if (! ((s[0] == ',') || IS_SPACE_OR_NUL (s[0]))) -+ as_bad (_("Invalid prefix format (%s)"), pfx_str); -+ -+ shift = *args - '4'; -+ operand = (pfx_msk << (VF_SH_PFX_MSK + shift)) -+ | (pfx_sat << (VF_SH_PFX_SAT + shift * 2)); -+ -+ ip->insn_opcode |= operand; -+ continue; -+ } -+ } -+ break; -+ - case 'x': /* Ignore register name. */ - case 'U': /* Destination register (CLO/CLZ). */ - case 'g': /* Coprocessor destination register. */ -@@ -11877,6 +13564,7 @@ - { - if ((regno & 1) != 0 - && HAVE_32BIT_FPRS -+ && ! CPU_IS_ALLEGREX (mips_opts.arch) - && !mips_oddfpreg_ok (ip->insn_mo, argnum)) - as_warn (_("Float register should be even, was %d"), - regno); -@@ -18227,7 +19915,7 @@ - | RELAX_DELAY_SLOT_SIZE_SECOND); - msg = macro_warning (s); - if (msg != NULL) -- as_warn_where (fragp->fr_file, fragp->fr_line, msg); -+ as_warn_where (fragp->fr_file, fragp->fr_line, "%s", msg); - subtype &= ~s; - } - -@@ -18241,7 +19929,7 @@ - & (RELAX_SECOND_LONGER | RELAX_NOMACRO | RELAX_DELAY_SLOT)); - msg = macro_warning (s); - if (msg != NULL) -- as_warn_where (fragp->fr_file, fragp->fr_line, msg); -+ as_warn_where (fragp->fr_file, fragp->fr_line, "%s", msg); - subtype &= ~s; - } - -@@ -18913,6 +20601,8 @@ - - /* MIPS II */ - { "r6000", 0, ISA_MIPS2, CPU_R6000 }, -+ /* Sony PSP "Allegrex" CPU core */ -+ { "allegrex", 0, ISA_MIPS2, CPU_ALLEGREX }, - - /* MIPS III */ - { "r4000", 0, ISA_MIPS3, CPU_R4000 }, diff --git a/devel/psptoolchain-binutils/files/patch-gas-configure b/devel/psptoolchain-binutils/files/patch-gas-configure deleted file mode 100644 index ada09a83d652..000000000000 --- a/devel/psptoolchain-binutils/files/patch-gas-configure +++ /dev/null @@ -1,12 +0,0 @@ ---- ./gas/configure.orig 2011-05-18 09:41:14.000000000 +0000 -+++ ./gas/configure 2012-01-21 13:31:35.000000000 +0000 -@@ -12043,6 +12043,9 @@ - mips64vr | mips64vrel) - mips_cpu=vr4100 - ;; -+ mipsallegrex | mipsallegrexel) -+ mips_cpu=allegrex -+ ;; - mipsisa32r2* | mipsisa64r2*) - mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..r2//' -e 's/el$//'` - ;; diff --git a/devel/psptoolchain-binutils/files/patch-gas-configure.in b/devel/psptoolchain-binutils/files/patch-gas-configure.in deleted file mode 100644 index cbe4da48fef7..000000000000 --- a/devel/psptoolchain-binutils/files/patch-gas-configure.in +++ /dev/null @@ -1,12 +0,0 @@ ---- ./gas/configure.in.orig 2011-05-18 09:41:14.000000000 +0000 -+++ ./gas/configure.in 2012-01-21 13:31:35.000000000 +0000 -@@ -213,6 +213,9 @@ - mips64vr | mips64vrel) - mips_cpu=vr4100 - ;; -+ mipsallegrex | mipsallegrexel) -+ mips_cpu=allegrex -+ ;; - mipsisa32r2* | mipsisa64r2*) - changequote(,)dnl - mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..r2//' -e 's/el$//'` diff --git a/devel/psptoolchain-binutils/files/patch-gas-testsuite-gas-mips-mips.exp b/devel/psptoolchain-binutils/files/patch-gas-testsuite-gas-mips-mips.exp deleted file mode 100644 index 8bd3ec00147a..000000000000 --- a/devel/psptoolchain-binutils/files/patch-gas-testsuite-gas-mips-mips.exp +++ /dev/null @@ -1,12 +0,0 @@ ---- ./gas/testsuite/gas/mips/mips.exp.orig 2011-11-21 09:29:32.000000000 +0000 -+++ ./gas/testsuite/gas/mips/mips.exp 2012-01-21 13:31:35.000000000 +0000 -@@ -409,6 +409,9 @@ - mips_arch_create sb1 64 mips64 { mips3d } \ - { -march=sb1 -mtune=sb1 } { -mmips:sb1 } \ - { mipsisa64sb1-*-* mipsisa64sb1el-*-* } -+mips_arch_create allegrex 32 mips2 { ror } \ -+ { -march=allegrex -mtune=allegrex } { -mmips:allegrex } \ -+ { mipsallegrex-*-* mipsallegrexel-*-* } - mips_arch_create octeon 64 mips64r2 {} \ - { -march=octeon -mtune=octeon } { -mmips:octeon } \ - { mips64octeon*-*-* } diff --git a/devel/psptoolchain-binutils/files/patch-include-elf-common.h b/devel/psptoolchain-binutils/files/patch-include-elf-common.h deleted file mode 100644 index 2d6e03ee83bd..000000000000 --- a/devel/psptoolchain-binutils/files/patch-include-elf-common.h +++ /dev/null @@ -1,10 +0,0 @@ ---- ./include/elf/common.h.orig 2011-07-22 20:22:36.000000000 +0000 -+++ ./include/elf/common.h 2012-01-21 13:31:35.000000000 +0000 -@@ -96,6 +96,7 @@ - #define ET_HIOS 0xFEFF /* Operating system-specific */ - #define ET_LOPROC 0xFF00 /* Processor-specific */ - #define ET_HIPROC 0xFFFF /* Processor-specific */ -+#define ET_PSPEXEC 0xFFA0 /* Sony PSP executable file */ - - /* Values for e_machine, which identifies the architecture. These numbers - are officially assigned by registry@sco.com. See below for a list of diff --git a/devel/psptoolchain-binutils/files/patch-include-elf-mips.h b/devel/psptoolchain-binutils/files/patch-include-elf-mips.h deleted file mode 100644 index 631dbd76feda..000000000000 --- a/devel/psptoolchain-binutils/files/patch-include-elf-mips.h +++ /dev/null @@ -1,10 +0,0 @@ ---- ./include/elf/mips.h.orig 2011-07-24 14:20:12.000000000 +0000 -+++ ./include/elf/mips.h 2012-01-21 13:31:35.000000000 +0000 -@@ -265,6 +265,7 @@ - #define E_MIPS_MACH_5400 0x00910000 - #define E_MIPS_MACH_5500 0x00980000 - #define E_MIPS_MACH_9000 0x00990000 -+#define E_MIPS_MACH_ALLEGREX 0x00A20000 - #define E_MIPS_MACH_LS2E 0x00A00000 - #define E_MIPS_MACH_LS2F 0x00A10000 - #define E_MIPS_MACH_LS3A 0x00A20000 diff --git a/devel/psptoolchain-binutils/files/patch-include-opcode-mips.h b/devel/psptoolchain-binutils/files/patch-include-opcode-mips.h deleted file mode 100644 index 37702b81a5f3..000000000000 --- a/devel/psptoolchain-binutils/files/patch-include-opcode-mips.h +++ /dev/null @@ -1,358 +0,0 @@ ---- ./include/opcode/mips.h.orig 2011-08-09 15:20:03.000000000 +0000 -+++ ./include/opcode/mips.h 2012-01-21 13:31:35.000000000 +0000 -@@ -216,6 +216,228 @@ - #define MDMX_FMTSEL_VEC_QH 0x15 - #define MDMX_FMTSEL_VEC_OB 0x16 - -+#include "vfpu.h" -+ -+#define VF_MASK_VT 0x7f -+#define VF_SH_VT 16 -+#define VF_MASK_VS 0x7f -+#define VF_SH_VS 8 -+#define VF_MASK_VD 0x7f -+#define VF_SH_VD 0 -+#define VF_MASK_VML 0x1f -+#define VF_SH_VML 16 -+#define VF_MASK_VMH 0x3 -+#define VF_SH_VMH 0 -+#define VF_MASK_VNL 0x1f -+#define VF_SH_VNL 16 -+#define VF_MASK_VNH 0x1 -+#define VF_SH_VNH 0 -+#define VF_MASK_OFFSET 0x3fff -+#define VF_SH_OFFSET 2 -+#define VF_MASK_CC 0xf -+#define VF_SH_CC 0 -+#define VF_MASK_CONST 0x1f -+#define VF_SH_CONST 16 -+#define VF_MASK_SCALE 0x1f -+#define VF_SH_SCALE 16 -+#define VF_MASK_BCOND 0x7 -+#define VF_SH_BCOND 18 -+#define VF_MASK_MCOND 0x7 -+#define VF_SH_MCOND 16 -+#define VF_MASK_VCD 0xff -+#define VF_SH_VCD 0 -+#define VF_MASK_VCS 0xff -+#define VF_SH_VCS 8 -+#define VF_MASK_ROT 0x1f -+#define VF_SH_ROT 16 -+#define VF_MASK_WRAP 0xff -+#define VF_SH_WRAP 16 -+#define VF_MASK_TSIGN 0x1 -+#define VF_SH_TSIGN 5 -+#define VF_MASK_BMCOND 0x1f -+#define VF_SH_BMCOND 0 -+#define VF_MASK_HFLOAT 0xffff -+#define VF_SH_HFLOAT 0 -+#define VF_MASK_PFX 0xffffff -+#define VF_SH_PFX 0 -+#define VF_MASK_RWB 0x1 -+#define VF_SH_RWB 1 -+ -+#define VF_MASK_PFX_SWZ 0x3 -+#define VF_SH_PFX_SWZ 0 -+#define VF_MASK_PFX_ABS 0x1 -+#define VF_SH_PFX_ABS 8 -+#define VF_MASK_PFX_CST 0x1 -+#define VF_SH_PFX_CST 12 -+#define VF_MASK_PFX_NEG 0x1 -+#define VF_SH_PFX_NEG 16 -+#define VF_MASK_PFX_SAT 0x3 -+#define VF_SH_PFX_SAT 0 -+#define VF_MASK_PFX_MSK 0x1 -+#define VF_SH_PFX_MSK 8 -+ -+#define VF_MASK_ROT_COS 0x3 -+#define VF_SH_ROT_COS 0 -+#define VF_MASK_ROT_SIN 0x3 -+#define VF_SH_ROT_SIN 2 -+#define VF_MASK_ROT_NEG 0x1 -+#define VF_SH_ROT_NEG 4 -+ -+#define VF_MASK_MR_MTX 0x7 -+#define VF_SH_MR_MTX 2 -+#define VF_MASK_MR_IDX 0x3 -+#define VF_SH_MR_IDX 0 -+#define VF_MASK_MR_FSL 0x3 -+#define VF_SH_MR_FSL 5 -+#define VF_MASK_MR_RXC 0x1 -+#define VF_SH_MR_RXC 5 -+#define VF_MASK_MR_VFSL 0x1 -+#define VF_SH_MR_VFSL 6 -+ -+#define VF_MAX_MR_MTX 7 -+#define VF_MAX_MR_IDX 3 -+#define VF_MAX_MR_FSL 3 -+#define VF_MAX_MR_VIDX 1 -+#define VF_MAX_MR_VFSL 1 -+ -+#define VF_MIN_MR 0 -+#define VF_MAX_MR 127 -+#define VF_MIN_CR 128 -+#define VF_MAX_CR 255 -+#define VF_MIN_VCR 128 -+#define VF_MAX_VCR 143 -+#define VF_MIN_CC 0 -+#define VF_MAX_CC 15 -+#define VF_MIN_CONST 1 -+#define VF_MAX_CONST 19 -+#define VF_MIN_SCALE 0 -+#define VF_MAX_SCALE 31 -+#define VF_MIN_BCOND 0 -+#define VF_MAX_BCOND 5 -+#define VF_MIN_MCOND 0 -+#define VF_MAX_MCOND 6 -+#define VF_MIN_WRAP 0 -+#define VF_MAX_WRAP 255 -+#define VF_MIN_ROT 0 -+#define VF_MAX_ROT 31 -+#define VF_MIN_TSIGN 0 -+#define VF_MAX_TSIGN 1 -+#define VF_MIN_BMCOND 0 -+#define VF_MAX_BMCOND 31 -+#define VF_MIN_HFLOAT 0 -+#define VF_MAX_HFLOAT 0xffff -+ -+#define VF_MASK_F32_SIGN 0x1 -+#define VF_SH_F32_SIGN 31 -+#define VF_MASK_F32_EXP 0xff -+#define VF_SH_F32_EXP 23 -+#define VF_MASK_F32_FRA 0x7fffff -+#define VF_SH_F32_FRA 0 -+#define VF_MASK_F16_SIGN 0x1 -+#define VF_SH_F16_SIGN 15 -+#define VF_MASK_F16_EXP 0x1f -+#define VF_SH_F16_EXP 10 -+#define VF_MASK_F16_FRA 0x3ff -+#define VF_SH_F16_FRA 0 -+ -+#define VF_MIN_F32_EXP 0 -+#define VF_MAX_F32_EXP 255 -+#define VF_BIAS_F32_EXP 127 -+#define VF_MIN_F16_EXP 0 -+#define VF_MAX_F16_EXP 31 -+#define VF_BIAS_F16_EXP 15 -+ -+#define OP_SH_VFPU_DELTA 0 -+#define OP_MASK_VFPU_DELTA 0xfffc -+#define OP_SH_VFPU_IMM3 16 -+#define OP_MASK_VFPU_IMM3 0x7 -+#define OP_SH_VFPU_IMM5 16 -+#define OP_MASK_VFPU_IMM5 0x1f -+#define OP_SH_VFPU_IMM8 16 -+#define OP_MASK_VFPU_IMM8 0xff -+#define OP_SH_VFPU_CC 18 /* Condition code. */ -+#define OP_MASK_VFPU_CC 0x7 -+#define OP_SH_VFPU_CONST 16 -+#define OP_MASK_VFPU_CONST 0x1f -+#define OP_SH_VFPU_COND 0 /* Conditional compare. */ -+#define OP_MASK_VFPU_COND 0xf -+#define OP_SH_VFPU_VMTVC 0 -+#define OP_MASK_VFPU_VMTVC 0xff -+#define OP_SH_VFPU_VMFVC 8 -+#define OP_MASK_VFPU_VMFVC 0xff -+#define OP_SH_VFPU_RWB 1 -+#define OP_MASK_VFPU_RWB 0x1 -+#define OP_SH_VFPU_ROT 16 /* Rotators used in vrot. */ -+#define OP_MASK_VFPU_ROT 0x1f -+#define OP_SH_VFPU_FLOAT16 0 -+#define OP_MASK_VFPU_FLOAT16 0xffff -+ -+/* VFPU registers. */ -+#define OP_SH_VFPU_VD 0 -+#define OP_MASK_VFPU_VD 0x7f -+#define OP_SH_VFPU_VS 8 -+#define OP_MASK_VFPU_VS 0x7f -+#define OP_SH_VFPU_VT 16 -+#define OP_MASK_VFPU_VT 0x7f -+#define OP_SH_VFPU_VT_LO 16 /* Bits 0-4 of vt. */ -+#define OP_MASK_VFPU_VT_LO 0x1f -+#define OP_SH_VFPU_VT_HI 5 /* Right-shifted. */ -+#define OP_MASK_VFPU_VT_HI1 0x1 /* Bit 5 of vt. */ -+#define OP_MASK_VFPU_VT_HI2 0x3 /* Bits 5-6 of vt. */ -+/* Special handling of vs in vmmul instructions. */ -+#define VFPU_OP_VT_VS_VD 0xff800000 -+#define VFPU_OPCODE_VMMUL 0xf0000000 -+ -+/* VFPU condition codes. FL and TR accept no arguments, while any conditions -+ above and including EZ only accept one argument. The rest require two -+ arguments. */ -+enum -+{ -+ VFPU_COND_FL, VFPU_COND_EQ, VFPU_COND_LT, VFPU_COND_LE, -+ VFPU_COND_TR, VFPU_COND_NE, VFPU_COND_GE, VFPU_COND_GT, -+ VFPU_COND_EZ, VFPU_COND_EN, VFPU_COND_EI, VFPU_COND_ES, -+ VFPU_COND_NZ, VFPU_COND_NN, VFPU_COND_NI, VFPU_COND_NS, -+ VFPU_NUM_CONDS -+}; -+ -+/* VFPU prefix instruction operands. The *_SH_* values really specify where -+ the bitfield begins, as VFPU prefix instructions have four operands -+ encoded within the immediate field. */ -+#define VFPU_SH_PFX_NEG 16 -+#define VFPU_MASK_PFX_NEG 0x1 /* Negation. */ -+#define VFPU_SH_PFX_CST 12 -+#define VFPU_MASK_PFX_CST 0x1 /* Constant. */ -+#define VFPU_SH_PFX_ABS_CSTHI 8 -+#define VFPU_MASK_PFX_ABS_CSTHI 0x1 /* Abs/Constant (bit 2). */ -+#define VFPU_SH_PFX_SWZ_CSTLO 0 -+#define VFPU_MASK_PFX_SWZ_CSTLO 0x3 /* Swizzle/Constant (bits 0-1). */ -+#define VFPU_SH_PFX_MASK 8 -+#define VFPU_MASK_PFX_MASK 0x1 /* Mask. */ -+#define VFPU_SH_PFX_SAT 0 -+#define VFPU_MASK_PFX_SAT 0x3 /* Saturation. */ -+ -+/* Special handling of the vrot instructions. */ -+#define VFPU_MASK_OP_SIZE 0x8080 /* Masks the operand size (pair, triple, quad). */ -+#define VFPU_OP_SIZE_PAIR 0x80 -+#define VFPU_OP_SIZE_TRIPLE 0x8000 -+#define VFPU_OP_SIZE_QUAD 0x8080 -+/* Note that these are within the rotators field, and not the full opcode. */ -+#define VFPU_SH_ROT_HI 2 -+#define VFPU_MASK_ROT_HI 0x3 -+#define VFPU_SH_ROT_LO 0 -+#define VFPU_MASK_ROT_LO 0x3 -+#define VFPU_SH_ROT_NEG 4 /* Negation. */ -+#define VFPU_MASK_ROT_NEG 0x1 -+ -+/* VFPU 16-bit floating-point format. */ -+#define VFPU_FLOAT16_EXP_MAX 0x1f -+#define VFPU_SH_FLOAT16_SIGN 15 -+#define VFPU_MASK_FLOAT16_SIGN 0x1 -+#define VFPU_SH_FLOAT16_EXP 10 -+#define VFPU_MASK_FLOAT16_EXP 0x1f -+#define VFPU_SH_FLOAT16_FRAC 0 -+#define VFPU_MASK_FLOAT16_FRAC 0x3ff -+ - /* UDI */ - #define OP_SH_UDI1 6 - #define OP_MASK_UDI1 0x1f -@@ -416,6 +638,29 @@ - Requires that "+A" or "+E" occur first to set position. - Enforces: 32 < (pos+size) <= 64. - -+ Sony Allegrex VFPU instructions: -+ "?o" -+ "?0" - "?3" -+ "?4" - "?7" -+ "?a" -+ "?b" -+ "?c" -+ "?e" -+ "?f" -+ "?i" -+ "?q" -+ "?r" -+ "?u" -+ "?w" -+ "?d" -+ "?m" -+ "?n" -+ "?s" -+ "?t" -+ "?v" -+ "?x" -+ "?z" -+ - Floating point instructions: - "D" 5 bit destination register (OP_*_FD) - "M" 3 bit compare condition code (OP_*_CCC) (only used for mips4 and up) -@@ -750,6 +995,8 @@ - #define INSN_5400 0x01000000 - /* NEC VR5500 instruction. */ - #define INSN_5500 0x02000000 -+/* Sony Allegrex instruction. */ -+#define INSN_ALLEGREX 0x10000000 - - /* MDMX ASE */ - #define INSN_MDMX 0x04000000 -@@ -819,6 +1066,7 @@ - #define CPU_MIPS64 64 - #define CPU_MIPS64R2 65 - #define CPU_SB1 12310201 /* octal 'SB', 01. */ -+#define CPU_ALLEGREX 10111431 /* octal 'AL', 31. */ - #define CPU_LOONGSON_2E 3001 - #define CPU_LOONGSON_2F 3002 - #define CPU_LOONGSON_3A 3003 -@@ -851,6 +1099,7 @@ - || (cpu == CPU_VR4120 && ((insn)->membership & INSN_4120) != 0) \ - || (cpu == CPU_VR5400 && ((insn)->membership & INSN_5400) != 0) \ - || (cpu == CPU_VR5500 && ((insn)->membership & INSN_5500) != 0) \ -+ || (cpu == CPU_ALLEGREX && ((insn)->membership & INSN_ALLEGREX) != 0) \ - || (cpu == CPU_LOONGSON_2E \ - && ((insn)->membership & INSN_LOONGSON_2E) != 0) \ - || (cpu == CPU_LOONGSON_2F \ -@@ -1005,11 +1254,27 @@ - M_LI_DD, - M_LI_S, - M_LI_SS, -+ M_LVHI_S_SS, -+ M_LVHI_P_SS, -+ M_LVI_S_SS, -+ M_LVI_P_SS, -+ M_LVI_T_SS, -+ M_LVI_Q_SS, - M_LL_AB, - M_LL_OB, - M_LLD_AB, - M_LLD_OB, - M_LS_A, -+ M_LVHI_P, -+ M_LVHI_S, -+ M_LVI_P, -+ M_LVI_Q, -+ M_LVI_S, -+ M_LVI_T, -+ M_LVL_Q_AB, -+ M_LVR_Q_AB, -+ M_LV_Q_AB, -+ M_LV_Q_AB_2, - M_LW_A, - M_LW_AB, - M_LWC0_A, -@@ -1021,6 +1286,7 @@ - M_LWC2_OB, - M_LWC3_A, - M_LWC3_AB, -+ M_LV_S_AB, - M_LWL_A, - M_LWL_AB, - M_LWL_OB, -@@ -1130,6 +1396,10 @@ - M_SUB_I, - M_SUBU_I, - M_SUBU_I_2, -+ M_SVL_Q_AB, -+ M_SV_Q_AB, -+ M_SVR_Q_AB, -+ M_SV_S_AB, - M_TEQ_I, - M_TGE_I, - M_TGEU_I, -@@ -1144,14 +1414,24 @@ - M_ULH_A, - M_ULHU, - M_ULHU_A, -+ M_ULV_Q, -+ M_ULV_Q_AB, -+ M_ULV_S, - M_ULW, - M_ULW_A, - M_USH, - M_USH_A, -+ M_USV_Q, -+ M_USV_Q_AB, -+ M_USV_S, - M_USW, - M_USW_A, - M_USD, - M_USD_A, -+ M_VCMOV_P, -+ M_VCMOV_Q, -+ M_VCMOV_S, -+ M_VCMOV_T, - M_XOR_I, - M_COP0, - M_COP1, diff --git a/devel/psptoolchain-binutils/files/patch-include-opcode-vfpu.h b/devel/psptoolchain-binutils/files/patch-include-opcode-vfpu.h deleted file mode 100644 index e32399f789ac..000000000000 --- a/devel/psptoolchain-binutils/files/patch-include-opcode-vfpu.h +++ /dev/null @@ -1,264 +0,0 @@ ---- ./include/opcode/vfpu.h.orig 2012-01-21 13:31:35.000000000 +0000 -+++ ./include/opcode/vfpu.h 2012-01-21 13:31:35.000000000 +0000 -@@ -0,0 +1,261 @@ -+#ifndef _VFPU_H_ -+#define _VFPU_H_ -+ -+//////////////////////////////////// -+// data type -+#define VFPU_MASK_DTYPE 0x8080 -+#define VFPU_QUAD 0x8080 -+#define VFPU_TRIPLE 0x8000 -+#define VFPU_PAIR 0x0080 -+#define VFPU_SINGLE 0x0000 -+ -+//////////////////////////////////// -+// register index -+#define VFPU_MASK_VT 0x7f0000 -+#define VFPU_MASK_VS 0x007f00 -+#define VFPU_MASK_VD 0x00007f -+ -+//////////////////////////////////// -+// condition and comapre inst -+#define VFPU_PADD_BIN_CMP 0x70 -+ -+//////////////////////////////////// -+// load/store left/right -+#define VFPU_MASK_LDST_LR 0x2 -+#define VFPU_LDST_L 0x0 -+#define VFPU_LDST_R 0x2 -+ -+//////////////////////////////////// -+// load/store memory/buffer -+#define VFPU_MASK_LDST_MB 0x2 -+#define VFPU_LDST_M 0x0 -+#define VFPU_LDST_B 0x2 -+ -+//////////////////////////////////// -+// coprocessor move -+#define VFPU_MASK_COP_MV 0xff80 -+#define VFPU_MASK_COP_MVC 0xff00 -+ -+//////////////////////////////////// -+// sync code -+#define VFPU_MASK_SYNC_CODE 0xffff -+#define VFPU_SYNC_CODE_DEFAULT 0x0320 -+#define VFPU_SYNC_CODE_NOP 0x0000 -+#define VFPU_SYNC_CODE_FLUSH 0x040d -+ -+//////////////////////////////////// -+#define VFPU_INST_BR_F 0x49000000 -+#define VFPU_MASK_BR_F 0xffe30000 -+#define VFPU_INST_BR_FL 0x49020000 -+#define VFPU_MASK_BR_FL 0xffe30000 -+#define VFPU_INST_BR_T 0x49010000 -+#define VFPU_MASK_BR_T 0xffe30000 -+#define VFPU_INST_BR_TL 0x49030000 -+#define VFPU_MASK_BR_TL 0xffe30000 -+ -+#define VFPU_INST_COP_LD_S 0xc8000000 -+#define VFPU_MASK_COP_LD_S 0xfc000000 -+#define VFPU_INST_COP_ST_S 0xe8000000 -+#define VFPU_MASK_COP_ST_S 0xfc000000 -+#define VFPU_INST_COP_LD_Q 0xd8000000 -+#define VFPU_MASK_COP_LD_Q 0xfc000000 -+#define VFPU_INST_COP_ST_Q 0xf8000000 -+#define VFPU_MASK_COP_ST_Q 0xfc000000 -+#define VFPU_INST_COP_LD_U 0xd4000000 -+#define VFPU_MASK_COP_LD_U 0xfc000000 -+#define VFPU_INST_COP_ST_U 0xf4000000 -+#define VFPU_MASK_COP_ST_U 0xfc000000 -+#define VFPU_INST_COP_MF 0x48600000 -+#define VFPU_MASK_COP_MF 0xffe00000 -+#define VFPU_INST_COP_MT 0x48e00000 -+#define VFPU_MASK_COP_MT 0xffe00000 -+ -+#define VFPU_INST_BIN_ADD 0x60000000 -+#define VFPU_MASK_BIN_ADD 0xff800000 -+#define VFPU_INST_BIN_SUB 0x60800000 -+#define VFPU_MASK_BIN_SUB 0xff800000 -+#define VFPU_INST_BIN_SBN 0x61000000 -+#define VFPU_MASK_BIN_SBN 0xff800000 -+#define VFPU_INST_BIN_DIV 0x63800000 -+#define VFPU_MASK_BIN_DIV 0xff800000 -+#define VFPU_INST_BIN_MUL 0x64000000 -+#define VFPU_MASK_BIN_MUL 0xff800000 -+#define VFPU_INST_BIN_DOT 0x64800000 -+#define VFPU_MASK_BIN_DOT 0xff800000 -+#define VFPU_INST_BIN_SCL 0x65000000 -+#define VFPU_MASK_BIN_SCL 0xff800000 -+#define VFPU_INST_BIN_HDP 0x66000000 -+#define VFPU_MASK_BIN_HDP 0xff800000 -+#define VFPU_INST_BIN_CRS 0x66800000 -+#define VFPU_MASK_BIN_CRS 0xff800000 -+#define VFPU_INST_BIN_DET 0x67000000 -+#define VFPU_MASK_BIN_DET 0xff800000 -+#define VFPU_INST_BIN_CMP 0x6c000000 -+#define VFPU_MASK_BIN_CMP 0xff800000 -+#define VFPU_INST_BIN_MIN 0x6d000000 -+#define VFPU_MASK_BIN_MIN 0xff800000 -+#define VFPU_INST_BIN_MAX 0x6d800000 -+#define VFPU_MASK_BIN_MAX 0xff800000 -+#define VFPU_INST_BIN_SCMP 0x6e800000 -+#define VFPU_MASK_BIN_SCMP 0xff800000 -+#define VFPU_INST_BIN_SGE 0x6f000000 -+#define VFPU_MASK_BIN_SGE 0xff800000 -+#define VFPU_INST_BIN_SLT 0x6f800000 -+#define VFPU_MASK_BIN_SLT 0xff800000 -+ -+#define VFPU_INST_UNR_MOV 0xd0000000 -+#define VFPU_MASK_UNR_MOV 0xffff0000 -+#define VFPU_INST_UNR_ABS 0xd0010000 -+#define VFPU_MASK_UNR_ABS 0xffff0000 -+#define VFPU_INST_UNR_NEG 0xd0020000 -+#define VFPU_MASK_UNR_NEG 0xffff0000 -+#define VFPU_INST_UNR_IDT 0xd0030000 -+#define VFPU_MASK_UNR_IDT 0xffff0000 -+#define VFPU_INST_UNR_SAT0 0xd0040000 -+#define VFPU_MASK_UNR_SAT0 0xffff0000 -+#define VFPU_INST_UNR_SAT1 0xd0050000 -+#define VFPU_MASK_UNR_SAT1 0xffff0000 -+#define VFPU_INST_UNR_ZERO 0xd0060000 -+#define VFPU_MASK_UNR_ZERO 0xffff0000 -+#define VFPU_INST_UNR_ONE 0xd0070000 -+#define VFPU_MASK_UNR_ONE 0xffff0000 -+#define VFPU_INST_UNR_RCP 0xd0100000 -+#define VFPU_MASK_UNR_RCP 0xffff0000 -+#define VFPU_INST_UNR_RSQ 0xd0110000 -+#define VFPU_MASK_UNR_RSQ 0xffff0000 -+#define VFPU_INST_UNR_SIN 0xd0120000 -+#define VFPU_MASK_UNR_SIN 0xffff0000 -+#define VFPU_INST_UNR_COS 0xd0130000 -+#define VFPU_MASK_UNR_COS 0xffff0000 -+#define VFPU_INST_UNR_EXP2 0xd0140000 -+#define VFPU_MASK_UNR_EXP2 0xffff0000 -+#define VFPU_INST_UNR_LOG2 0xd0150000 -+#define VFPU_MASK_UNR_LOG2 0xffff0000 -+#define VFPU_INST_UNR_SQR 0xd0160000 -+#define VFPU_MASK_UNR_SQR 0xffff0000 -+#define VFPU_INST_UNR_ASIN 0xd0170000 -+#define VFPU_MASK_UNR_ASIN 0xffff0000 -+#define VFPU_INST_UNR_NRCP 0xd0180000 -+#define VFPU_MASK_UNR_NRCP 0xffff0000 -+#define VFPU_INST_UNR_NSIN 0xd01a0000 -+#define VFPU_MASK_UNR_NSIN 0xffff0000 -+#define VFPU_INST_UNR_REXP2 0xd01c0000 -+#define VFPU_MASK_UNR_REXP2 0xffff0000 -+#define VFPU_INST_UNR_RNDS 0xd0200000 -+#define VFPU_MASK_UNR_RNDS 0xffff0000 -+#define VFPU_INST_UNR_RNDI 0xd0210000 -+#define VFPU_MASK_UNR_RNDI 0xffff0000 -+#define VFPU_INST_UNR_RNDF1 0xd0220000 -+#define VFPU_MASK_UNR_RNDF1 0xffff0000 -+#define VFPU_INST_UNR_RNDF2 0xd0230000 -+#define VFPU_MASK_UNR_RNDF2 0xffff0000 -+#define VFPU_INST_UNR_F2H 0xd0320000 -+#define VFPU_MASK_UNR_F2H 0xffff0000 -+#define VFPU_INST_UNR_H2F 0xd0330000 -+#define VFPU_MASK_UNR_H2F 0xffff0000 -+#define VFPU_INST_UNR_SBZ 0xd0360000 -+#define VFPU_MASK_UNR_SBZ 0xffff0000 -+#define VFPU_INST_UNR_LGB 0xd0370000 -+#define VFPU_MASK_UNR_LGB 0xffff0000 -+#define VFPU_INST_UNR_US2I 0xd03a0000 -+#define VFPU_MASK_UNR_US2I 0xffff0000 -+#define VFPU_INST_UNR_S2I 0xd03b0000 -+#define VFPU_MASK_UNR_S2I 0xffff0000 -+#define VFPU_INST_UNR_I2UC 0xd03c0000 -+#define VFPU_MASK_UNR_I2UC 0xffff0000 -+#define VFPU_INST_UNR_I2C 0xd03d0000 -+#define VFPU_MASK_UNR_I2C 0xffff0000 -+#define VFPU_INST_UNR_I2US 0xd03e0000 -+#define VFPU_MASK_UNR_I2US 0xffff0000 -+#define VFPU_INST_UNR_I2S 0xd03f0000 -+#define VFPU_MASK_UNR_I2S 0xffff0000 -+#define VFPU_INST_UNR_SRT1 0xd0400000 -+#define VFPU_MASK_UNR_SRT1 0xffff0000 -+#define VFPU_INST_UNR_SRT2 0xd0410000 -+#define VFPU_MASK_UNR_SRT2 0xffff0000 -+#define VFPU_INST_UNR_BFY1 0xd0420000 -+#define VFPU_MASK_UNR_BFY1 0xffff0000 -+#define VFPU_INST_UNR_BFY2 0xd0430000 -+#define VFPU_MASK_UNR_BFY2 0xffff0000 -+#define VFPU_INST_UNR_OCP 0xd0440000 -+#define VFPU_MASK_UNR_OCP 0xffff0000 -+#define VFPU_INST_UNR_SOCP 0xd0450000 -+#define VFPU_MASK_UNR_SOCP 0xffff0000 -+#define VFPU_INST_UNR_FAD 0xd0460000 -+#define VFPU_MASK_UNR_FAD 0xffff0000 -+#define VFPU_INST_UNR_AVG 0xd0470000 -+#define VFPU_MASK_UNR_AVG 0xffff0000 -+#define VFPU_INST_UNR_SRT3 0xd0480000 -+#define VFPU_MASK_UNR_SRT3 0xffff0000 -+#define VFPU_INST_UNR_SRT4 0xd0490000 -+#define VFPU_MASK_UNR_SRT4 0xffff0000 -+#define VFPU_INST_UNR_SGN 0xd04a0000 -+#define VFPU_MASK_UNR_SGN 0xffff0000 -+#define VFPU_INST_UNR_CF 0xd0500000 -+#define VFPU_MASK_UNR_CF 0xffff0080 -+#define VFPU_INST_UNR_CT 0xd0510000 -+#define VFPU_MASK_UNR_CT 0xffff8000 -+#define VFPU_INST_UNR_T4444 0xd0590000 -+#define VFPU_MASK_UNR_T4444 0xffff0000 -+#define VFPU_INST_UNR_T5551 0xd05a0000 -+#define VFPU_MASK_UNR_T5551 0xffff0000 -+#define VFPU_INST_UNR_T5650 0xd05b0000 -+#define VFPU_MASK_UNR_T5650 0xffff0000 -+#define VFPU_INST_UNR_CST 0xd0600000 -+#define VFPU_MASK_UNR_CST 0xffe00000 -+ -+#define VFPU_INST_UNRI_F2I_N 0xd2000000 -+#define VFPU_MASK_UNRI_F2I_N 0xffe00000 -+#define VFPU_INST_UNRI_F2I_Z 0xd2200000 -+#define VFPU_MASK_UNRI_F2I_Z 0xffe00000 -+#define VFPU_INST_UNRI_F2I_U 0xd2400000 -+#define VFPU_MASK_UNRI_F2I_U 0xffe00000 -+#define VFPU_INST_UNRI_F2I_D 0xd2600000 -+#define VFPU_MASK_UNRI_F2I_D 0xffe00000 -+#define VFPU_INST_UNRI_I2F 0xd2800000 -+#define VFPU_MASK_UNRI_I2F 0xffe00000 -+#define VFPU_INST_UNRI_CMOV_T 0xd2a00000 -+#define VFPU_MASK_UNRI_CMOV_T 0xfff80000 -+#define VFPU_INST_UNRI_CMOV_F 0xd2a80000 -+#define VFPU_MASK_UNRI_CMOV_F 0xfff80000 -+#define VFPU_INST_UNRI_WBN 0xd3000000 -+#define VFPU_MASK_UNRI_WBN 0xff000000 -+ -+#define VFPU_INST_PFX_RA 0xdc000000 -+#define VFPU_MASK_PFX_RA 0xff000000 -+#define VFPU_INST_PFX_RB 0xdd000000 -+#define VFPU_MASK_PFX_RB 0xff000000 -+#define VFPU_INST_PFX_W 0xde000000 -+#define VFPU_MASK_PFX_W 0xff000000 -+#define VFPU_INST_IIM 0xdf000000 -+#define VFPU_MASK_IIM 0xff800000 -+#define VFPU_INST_FIM 0xdf800000 -+#define VFPU_MASK_FIM 0xff800000 -+ -+#define VFPU_INST_RPT_MMUL 0xf0000000 -+#define VFPU_MASK_RPT_MMUL 0xff800000 -+#define VFPU_INST_RPT_TFM2 0xf0800000 -+#define VFPU_MASK_RPT_TFM2 0xff800000 -+#define VFPU_INST_RPT_TFM3 0xf1000000 -+#define VFPU_MASK_RPT_TFM3 0xff800000 -+#define VFPU_INST_RPT_TFM4 0xf1800000 -+#define VFPU_MASK_RPT_TFM4 0xff800000 -+#define VFPU_INST_RPT_MSCL 0xf2000000 -+#define VFPU_MASK_RPT_MSCL 0xff800000 -+#define VFPU_INST_RPT_QMUL 0xf2800000 -+#define VFPU_MASK_RPT_QMUL 0xff800000 -+#define VFPU_INST_RPT_MMOV 0xf3800000 -+#define VFPU_MASK_RPT_MMOV 0xffff0000 -+#define VFPU_INST_RPT_MIDT 0xf3830000 -+#define VFPU_MASK_RPT_MIDT 0xffff0000 -+#define VFPU_INST_RPT_MZERO 0xf3860000 -+#define VFPU_MASK_RPT_MZERO 0xffff0000 -+#define VFPU_INST_RPT_MONE 0xf3870000 -+#define VFPU_MASK_RPT_MONE 0xffff0000 -+#define VFPU_INST_RPT_ROT 0xf3a00000 -+#define VFPU_MASK_RPT_ROT 0xffe00000 -+ -+#define VFPU_INST_SYNC 0xffff0000 -+#define VFPU_MASK_SYNC 0xffff0000 -+ -+#endif /* _VFPU_H_ */ diff --git a/devel/psptoolchain-binutils/files/patch-ld-Makefile.am b/devel/psptoolchain-binutils/files/patch-ld-Makefile.am deleted file mode 100644 index a55df5014883..000000000000 --- a/devel/psptoolchain-binutils/files/patch-ld-Makefile.am +++ /dev/null @@ -1,20 +0,0 @@ ---- ./ld/Makefile.am.orig 2011-07-22 20:22:37.000000000 +0000 -+++ ./ld/Makefile.am 2012-01-21 13:31:35.000000000 +0000 -@@ -262,6 +262,7 @@ - eelf_i386_ldso.c \ - eelf_i386_sol2.c \ - eelf_i386_vxworks.c \ -+ eelf_mipsallegrexel_psp.o \ - eelf_s390.c \ - egld960.c \ - egld960coff.c \ -@@ -1196,6 +1197,9 @@ - $(srcdir)/emulparams/vxworks.sh $(srcdir)/emultempl/vxworks.em \ - $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - ${GENSCRIPTS} elf_i386_vxworks "$(tdir_elf_i386_vxworks)" -+eelf_mipsallegrexel_psp.c: $(srcdir)/emulparams/elf_mipsallegrexel_psp.sh \ -+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf_psp.sc ${GEN_DEPENDS} -+ ${GENSCRIPTS} elf_mipsallegrexel_psp "$(tdir_elf_mipsallegrexel_psp)" - eelf_s390.c: $(srcdir)/emulparams/elf_s390.sh \ - $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - ${GENSCRIPTS} elf_s390 "$(tdir_elf_s390)" diff --git a/devel/psptoolchain-binutils/files/patch-ld-Makefile.in b/devel/psptoolchain-binutils/files/patch-ld-Makefile.in deleted file mode 100644 index dcc117860111..000000000000 --- a/devel/psptoolchain-binutils/files/patch-ld-Makefile.in +++ /dev/null @@ -1,20 +0,0 @@ ---- ./ld/Makefile.in.orig 2011-07-22 20:22:37.000000000 +0000 -+++ ./ld/Makefile.in 2012-01-21 13:31:35.000000000 +0000 -@@ -568,6 +568,7 @@ - eelf_i386_ldso.c \ - eelf_i386_sol2.c \ - eelf_i386_vxworks.c \ -+ eelf_mipsallegrexel_psp.o \ - eelf_s390.c \ - egld960.c \ - egld960coff.c \ -@@ -2649,6 +2650,9 @@ - $(srcdir)/emulparams/vxworks.sh $(srcdir)/emultempl/vxworks.em \ - $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - ${GENSCRIPTS} elf_i386_vxworks "$(tdir_elf_i386_vxworks)" -+eelf_mipsallegrexel_psp.c: $(srcdir)/emulparams/elf_mipsallegrexel_psp.sh \ -+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf_psp.sc ${GEN_DEPENDS} -+ ${GENSCRIPTS} elf_mipsallegrexel_psp "$(tdir_elf_mipsallegrexel_psp)" - eelf_s390.c: $(srcdir)/emulparams/elf_s390.sh \ - $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} - ${GENSCRIPTS} elf_s390 "$(tdir_elf_s390)" diff --git a/devel/psptoolchain-binutils/files/patch-ld-configure.tgt b/devel/psptoolchain-binutils/files/patch-ld-configure.tgt deleted file mode 100644 index 5ece069ca426..000000000000 --- a/devel/psptoolchain-binutils/files/patch-ld-configure.tgt +++ /dev/null @@ -1,11 +0,0 @@ ---- ./ld/configure.tgt.orig 2011-11-21 09:29:37.000000000 +0000 -+++ ./ld/configure.tgt 2012-01-21 13:31:35.000000000 +0000 -@@ -383,6 +383,8 @@ - mips*vr4100-*-elf*) targ_emul=elf32b4300 ;; - mips*vr5000el-*-elf*) targ_emul=elf32l4300 ;; - mips*vr5000-*-elf*) targ_emul=elf32b4300 ;; -+mips*allegrexel-psp-elf*) targ_emul=elf_mipsallegrexel_psp -+ targ_extra_emuls="elf32elmip" ;; - mips*el-sde-elf*) targ_emul=elf32ltsmip - targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" ;; - mips*-sde-elf*) targ_emul=elf32btsmip diff --git a/devel/psptoolchain-binutils/files/patch-ld-emulparams-elf_mipsallegrexel_psp.sh b/devel/psptoolchain-binutils/files/patch-ld-emulparams-elf_mipsallegrexel_psp.sh deleted file mode 100644 index 5fcd3839e75e..000000000000 --- a/devel/psptoolchain-binutils/files/patch-ld-emulparams-elf_mipsallegrexel_psp.sh +++ /dev/null @@ -1,25 +0,0 @@ ---- ./ld/emulparams/elf_mipsallegrexel_psp.sh.orig 2012-01-21 13:31:35.000000000 +0000 -+++ ./ld/emulparams/elf_mipsallegrexel_psp.sh 2012-01-21 13:31:35.000000000 +0000 -@@ -0,0 +1,22 @@ -+# Based off of the default elf32 MIPS target. However, we use a seperate -+# script template because the PSP architecture defines sections that normally -+# cannot be overriden here and would normally get absorbed (i.e. -+# .rodata.sceModuleInfo would be absorbed into .rodata). -+ -+EMBEDDED=yes -+. ${srcdir}/emulparams/elf32lmip.sh -+unset NONPAGED_TEXT_START_ADDR -+unset SHLIB_TEXT_START_ADDR -+unset COMMONPAGESIZE -+ -+SCRIPT_NAME=elf_psp -+TEXT_START_ADDR=0x08900000 -+MAXPAGESIZE=256 -+ARCH="mips:allegrex" -+MACHINE= -+TEMPLATE_NAME=elf32 -+GENERATE_SHLIB_SCRIPT=yes -+DYNAMIC_LINK=FALSE -+ -+# Discard the .comment and .pdr sections. -+OTHER_SECTIONS="/DISCARD/ : { *(.comment) *(.pdr) }" diff --git a/devel/psptoolchain-binutils/files/patch-ld-scripttempl-elf_psp.sc b/devel/psptoolchain-binutils/files/patch-ld-scripttempl-elf_psp.sc deleted file mode 100644 index bee0174411ba..000000000000 --- a/devel/psptoolchain-binutils/files/patch-ld-scripttempl-elf_psp.sc +++ /dev/null @@ -1,499 +0,0 @@ ---- ./ld/scripttempl/elf_psp.sc.orig 2012-01-21 13:31:35.000000000 +0000 -+++ ./ld/scripttempl/elf_psp.sc 2012-01-21 13:31:35.000000000 +0000 -@@ -0,0 +1,496 @@ -+# -+# Unusual variables checked by this code: -+# NOP - four byte opcode for no-op (defaults to 0) -+# NO_SMALL_DATA - no .sbss/.sbss2/.sdata/.sdata2 sections if not -+# empty. -+# SMALL_DATA_CTOR - .ctors contains small data. -+# SMALL_DATA_DTOR - .dtors contains small data. -+# DATA_ADDR - if end-of-text-plus-one-page isn't right for data start -+# INITIAL_READONLY_SECTIONS - at start of text segment -+# OTHER_READONLY_SECTIONS - other than .text .init .rodata ... -+# (e.g., .PARISC.milli) -+# OTHER_TEXT_SECTIONS - these get put in .text when relocating -+# OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ... -+# (e.g., .PARISC.global) -+# OTHER_RELRO_SECTIONS - other than .data.rel.ro ... -+# (e.g. PPC32 .fixup, .got[12]) -+# OTHER_BSS_SECTIONS - other than .bss .sbss ... -+# OTHER_SECTIONS - at the end -+# EXECUTABLE_SYMBOLS - symbols that must be defined for an -+# executable (e.g., _DYNAMIC_LINK) -+# TEXT_START_ADDR - the first byte of the text segment, after any -+# headers. -+# TEXT_BASE_ADDRESS - the first byte of the text segment. -+# TEXT_START_SYMBOLS - symbols that appear at the start of the -+# .text section. -+# DATA_START_SYMBOLS - symbols that appear at the start of the -+# .data section. -+# OTHER_GOT_SYMBOLS - symbols defined just before .got. -+# OTHER_GOT_SECTIONS - sections just after .got. -+# OTHER_SDATA_SECTIONS - sections just after .sdata. -+# OTHER_BSS_SYMBOLS - symbols that appear at the start of the -+# .bss section besides __bss_start. -+# DATA_PLT - .plt should be in data segment, not text segment. -+# PLT_BEFORE_GOT - .plt just before .got when .plt is in data segement. -+# BSS_PLT - .plt should be in bss segment -+# TEXT_DYNAMIC - .dynamic in text segment, not data segment. -+# EMBEDDED - whether this is for an embedded system. -+# SHLIB_TEXT_START_ADDR - if set, add to SIZEOF_HEADERS to set -+# start address of shared library. -+# INPUT_FILES - INPUT command of files to always include -+# WRITABLE_RODATA - if set, the .rodata section should be writable -+# INIT_START, INIT_END - statements just before and just after -+# combination of .init sections. -+# FINI_START, FINI_END - statements just before and just after -+# combination of .fini sections. -+# STACK_ADDR - start of a .stack section. -+# OTHER_END_SYMBOLS - symbols to place right at the end of the script. -+# SEPARATE_GOTPLT - if set, .got.plt should be separate output section, -+# so that .got can be in the RELRO area. It should be set to -+# the number of bytes in the beginning of .got.plt which can be -+# in the RELRO area as well. -+# -+# When adding sections, do note that the names of some sections are used -+# when specifying the start address of the next. -+# -+ -+# Many sections come in three flavours. There is the 'real' section, -+# like ".data". Then there are the per-procedure or per-variable -+# sections, generated by -ffunction-sections and -fdata-sections in GCC, -+# and useful for --gc-sections, which for a variable "foo" might be -+# ".data.foo". Then there are the linkonce sections, for which the linker -+# eliminates duplicates, which are named like ".gnu.linkonce.d.foo". -+# The exact correspondences are: -+# -+# Section Linkonce section -+# .text .gnu.linkonce.t.foo -+# .rodata .gnu.linkonce.r.foo -+# .data .gnu.linkonce.d.foo -+# .bss .gnu.linkonce.b.foo -+# .sdata .gnu.linkonce.s.foo -+# .sbss .gnu.linkonce.sb.foo -+# .sdata2 .gnu.linkonce.s2.foo -+# .sbss2 .gnu.linkonce.sb2.foo -+# .debug_info .gnu.linkonce.wi.foo -+# .tdata .gnu.linkonce.td.foo -+# .tbss .gnu.linkonce.tb.foo -+# -+# Each of these can also have corresponding .rel.* and .rela.* sections. -+ -+test -z "$ENTRY" && ENTRY=_start -+test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT} -+test -z "${LITTLE_OUTPUT_FORMAT}" && LITTLE_OUTPUT_FORMAT=${OUTPUT_FORMAT} -+if [ -z "$MACHINE" ]; then OUTPUT_ARCH=${ARCH}; else OUTPUT_ARCH=${ARCH}:${MACHINE}; fi -+test -z "${ELFSIZE}" && ELFSIZE=32 -+test -z "${ALIGNMENT}" && ALIGNMENT="${ELFSIZE} / 8" -+test "$LD_FLAG" = "N" && DATA_ADDR=. -+test -n "$CREATE_SHLIB$CREATE_PIE" && test -n "$SHLIB_DATA_ADDR" && COMMONPAGESIZE="" -+test -z "$CREATE_SHLIB$CREATE_PIE" && test -n "$DATA_ADDR" && COMMONPAGESIZE="" -+test -n "$RELRO_NOW" && unset SEPARATE_GOTPLT -+DATA_SEGMENT_ALIGN="ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1))" -+DATA_SEGMENT_RELRO_END="" -+DATA_SEGMENT_RELRO_GOTPLT_END="" -+DATA_SEGMENT_END="" -+if test -n "${COMMONPAGESIZE}"; then -+ DATA_SEGMENT_ALIGN="ALIGN (${SEGMENT_SIZE}) - ((${MAXPAGESIZE} - .) & (${MAXPAGESIZE} - 1)); . = DATA_SEGMENT_ALIGN (${MAXPAGESIZE}, ${COMMONPAGESIZE})" -+ DATA_SEGMENT_END=". = DATA_SEGMENT_END (.);" -+ if test -n "${SEPARATE_GOTPLT}"; then -+ DATA_SEGMENT_RELRO_GOTPLT_END=". = DATA_SEGMENT_RELRO_END (${SEPARATE_GOTPLT}, .);" -+ else -+ DATA_SEGMENT_RELRO_END=". = DATA_SEGMENT_RELRO_END (0, .);" -+ fi -+fi -+INTERP=".interp ${RELOCATING-0} : { *(.interp) }" -+PLT=".plt ${RELOCATING-0} : { *(.plt) }" -+if test -z "$GOT"; then -+ if test -z "$SEPARATE_GOTPLT"; then -+ GOT=".got ${RELOCATING-0} : { *(.got.plt) *(.got) }" -+ else -+ GOT=".got ${RELOCATING-0} : { *(.got) }" -+ GOTPLT="${RELOCATING+${DATA_SEGMENT_RELRO_GOTPLT_END}} -+ .got.plt ${RELOCATING-0} : { *(.got.plt) }" -+ fi -+fi -+DYNAMIC=".dynamic ${RELOCATING-0} : { *(.dynamic) }" -+RODATA=".rodata ${RELOCATING-0} : { *(.rodata${RELOCATING+ .rodata.* .gnu.linkonce.r.*}) }" -+DATARELRO=".data.rel.ro : { *(.data.rel.ro.local) *(.data.rel.ro*) }" -+STACKNOTE="/DISCARD/ : { *(.note.GNU-stack) }" -+if test -z "${NO_SMALL_DATA}"; then -+ SBSS=".sbss ${RELOCATING-0} : -+ { -+ ${RELOCATING+PROVIDE (__sbss_start = .);} -+ ${RELOCATING+PROVIDE (___sbss_start = .);} -+ ${CREATE_SHLIB+*(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)} -+ *(.dynsbss) -+ *(.sbss${RELOCATING+ .sbss.* .gnu.linkonce.sb.*}) -+ *(.scommon) -+ ${RELOCATING+PROVIDE (__sbss_end = .);} -+ ${RELOCATING+PROVIDE (___sbss_end = .);} -+ }" -+ SBSS2=".sbss2 ${RELOCATING-0} : { *(.sbss2${RELOCATING+ .sbss2.* .gnu.linkonce.sb2.*}) }" -+ SDATA="/* We want the small data sections together, so single-instruction offsets -+ can access them all, and initialized data all before uninitialized, so -+ we can shorten the on-disk segment size. */ -+ .sdata ${RELOCATING-0} : -+ { -+ ${RELOCATING+${SDATA_START_SYMBOLS}} -+ ${CREATE_SHLIB+*(.sdata2 .sdata2.* .gnu.linkonce.s2.*)} -+ *(.sdata${RELOCATING+ .sdata.* .gnu.linkonce.s.*}) -+ }" -+ SDATA2=".sdata2 ${RELOCATING-0} : { *(.sdata2${RELOCATING+ .sdata2.* .gnu.linkonce.s2.*}) }" -+ REL_SDATA=".rel.sdata ${RELOCATING-0} : { *(.rel.sdata${RELOCATING+ .rel.sdata.* .rel.gnu.linkonce.s.*}) } -+ .rela.sdata ${RELOCATING-0} : { *(.rela.sdata${RELOCATING+ .rela.sdata.* .rela.gnu.linkonce.s.*}) }" -+ REL_SBSS=".rel.sbss ${RELOCATING-0} : { *(.rel.sbss${RELOCATING+ .rel.sbss.* .rel.gnu.linkonce.sb.*}) } -+ .rela.sbss ${RELOCATING-0} : { *(.rela.sbss${RELOCATING+ .rela.sbss.* .rela.gnu.linkonce.sb.*}) }" -+ REL_SDATA2=".rel.sdata2 ${RELOCATING-0} : { *(.rel.sdata2${RELOCATING+ .rel.sdata2.* .rel.gnu.linkonce.s2.*}) } -+ .rela.sdata2 ${RELOCATING-0} : { *(.rela.sdata2${RELOCATING+ .rela.sdata2.* .rela.gnu.linkonce.s2.*}) }" -+ REL_SBSS2=".rel.sbss2 ${RELOCATING-0} : { *(.rel.sbss2${RELOCATING+ .rel.sbss2.* .rel.gnu.linkonce.sb2.*}) } -+ .rela.sbss2 ${RELOCATING-0} : { *(.rela.sbss2${RELOCATING+ .rela.sbss2.* .rela.gnu.linkonce.sb2.*}) }" -+else -+ NO_SMALL_DATA=" " -+fi -+test -n "$SEPARATE_GOTPLT" && SEPARATE_GOTPLT=" " -+CTOR=".ctors ${CONSTRUCTING-0} : -+ { -+ ${CONSTRUCTING+${CTOR_START}} -+ /* gcc uses crtbegin.o to find the start of -+ the constructors, so we make sure it is -+ first. Because this is a wildcard, it -+ doesn't matter if the user does not -+ actually link against crtbegin.o; the -+ linker won't look for a file to match a -+ wildcard. The wildcard also means that it -+ doesn't matter which directory crtbegin.o -+ is in. */ -+ -+ KEEP (*crtbegin*.o(.ctors)) -+ -+ /* We don't want to include the .ctor section from -+ from the crtend.o file until after the sorted ctors. -+ The .ctor section from the crtend file contains the -+ end of ctors marker and it must be last */ -+ -+ KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .ctors)) -+ KEEP (*(SORT(.ctors.*))) -+ KEEP (*(.ctors)) -+ ${CONSTRUCTING+${CTOR_END}} -+ }" -+DTOR=".dtors ${CONSTRUCTING-0} : -+ { -+ ${CONSTRUCTING+${DTOR_START}} -+ KEEP (*crtbegin*.o(.dtors)) -+ KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .dtors)) -+ KEEP (*(SORT(.dtors.*))) -+ KEEP (*(.dtors)) -+ ${CONSTRUCTING+${DTOR_END}} -+ }" -+STACK=" .stack ${RELOCATING-0}${RELOCATING+${STACK_ADDR}} : -+ { -+ ${RELOCATING+_stack = .;} -+ *(.stack) -+ }" -+ -+# if this is for an embedded system, don't add SIZEOF_HEADERS. -+if [ -z "$EMBEDDED" ]; then -+ test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR} + SIZEOF_HEADERS" -+else -+ test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR}" -+fi -+ -+cat <<EOF -+OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}", -+ "${LITTLE_OUTPUT_FORMAT}") -+OUTPUT_ARCH(${OUTPUT_ARCH}) -+ENTRY(${ENTRY}) -+ -+${RELOCATING+${LIB_SEARCH_DIRS}} -+${RELOCATING+/* Do we need any of these for elf? -+ __DYNAMIC = 0; ${STACKZERO+${STACKZERO}} ${SHLIB_PATH+${SHLIB_PATH}} */} -+${RELOCATING+${EXECUTABLE_SYMBOLS}} -+${RELOCATING+${INPUT_FILES}} -+${RELOCATING- /* For some reason, the Solaris linker makes bad executables -+ if gld -r is used and the intermediate file has sections starting -+ at non-zero addresses. Could be a Solaris ld bug, could be a GNU ld -+ bug. But for now assigning the zero vmas works. */} -+ -+SECTIONS -+{ -+ /* Read-only sections, merged into text segment: */ -+ ${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+PROVIDE (__executable_start = ${TEXT_START_ADDR}); . = ${TEXT_BASE_ADDRESS};}}} -+ ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR:-0} + SIZEOF_HEADERS;}} -+ ${CREATE_PIE+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR:-0} + SIZEOF_HEADERS;}} -+ ${CREATE_SHLIB-${INTERP}} -+ ${INITIAL_READONLY_SECTIONS} -+ ${TEXT_DYNAMIC+${DYNAMIC}} -+ .hash ${RELOCATING-0} : { *(.hash) } -+ .dynsym ${RELOCATING-0} : { *(.dynsym) } -+ .dynstr ${RELOCATING-0} : { *(.dynstr) } -+ .gnu.version ${RELOCATING-0} : { *(.gnu.version) } -+ .gnu.version_d ${RELOCATING-0}: { *(.gnu.version_d) } -+ .gnu.version_r ${RELOCATING-0}: { *(.gnu.version_r) } -+ -+EOF -+if [ "x$COMBRELOC" = x ]; then -+ COMBRELOCCAT=cat -+else -+ COMBRELOCCAT="cat > $COMBRELOC" -+fi -+eval $COMBRELOCCAT <<EOF -+ .rel.init ${RELOCATING-0} : { *(.rel.init) } -+ .rela.init ${RELOCATING-0} : { *(.rela.init) } -+ .rel.text ${RELOCATING-0} : { *(.rel.text${RELOCATING+ .rel.text.* .rel.gnu.linkonce.t.*}) } -+ .rela.text ${RELOCATING-0} : { *(.rela.text${RELOCATING+ .rela.text.* .rela.gnu.linkonce.t.*}) } -+ .rel.fini ${RELOCATING-0} : { *(.rel.fini) } -+ .rela.fini ${RELOCATING-0} : { *(.rela.fini) } -+ -+ /* PSP-specific relocations. */ -+ .rel.sceStub.text ${RELOCATING-0} : { *(.rel.sceStub.text) *(SORT(.rel.sceStub.text.*)) } -+ .rel.lib.ent.top ${RELOCATING-0} : { *(.rel.lib.ent.top) } -+ .rel.lib.ent ${RELOCATING-0} : { *(.rel.lib.ent) } -+ .rel.lib.ent.btm ${RELOCATING-0} : { *(.rel.lib.ent.btm) } -+ .rel.lib.stub.top ${RELOCATING-0} : { *(.rel.lib.stub.top) } -+ .rel.lib.stub ${RELOCATING-0} : { *(.rel.lib.stub) } -+ .rel.lib.stub.btm ${RELOCATING-0} : { *(.rel.lib.stub.btm) } -+ .rel.rodata.sceModuleInfo ${RELOCATING-0} : { *(.rel.rodata.sceModuleInfo) } -+ .rel.rodata.sceResident ${RELOCATING-0} : { *(.rel.rodata.sceResident) } -+ .rel.rodata.sceNid ${RELOCATING-0} : { *(.rel.rodata.sceNid) } -+ .rel.rodata.sceVstub ${RELOCATING-0} : { *(.rel.rodata.sceVstub) *(SORT(.rel.rodata.sceVstub.*)) } -+ -+ .rel.rodata ${RELOCATING-0} : { *(.rel.rodata${RELOCATING+ .rel.rodata.* .rel.gnu.linkonce.r.*}) } -+ .rela.rodata ${RELOCATING-0} : { *(.rela.rodata${RELOCATING+ .rela.rodata.* .rela.gnu.linkonce.r.*}) } -+ ${OTHER_READONLY_RELOC_SECTIONS} -+ .rel.data.rel.ro ${RELOCATING-0} : { *(.rel.data.rel.ro${RELOCATING+*}) } -+ .rela.data.rel.ro ${RELOCATING-0} : { *(.rel.data.rel.ro${RELOCATING+*}) } -+ .rel.data ${RELOCATING-0} : { *(.rel.data${RELOCATING+ .rel.data.* .rel.gnu.linkonce.d.*}) } -+ .rela.data ${RELOCATING-0} : { *(.rela.data${RELOCATING+ .rela.data.* .rela.gnu.linkonce.d.*}) } -+ .rel.tdata ${RELOCATING-0} : { *(.rel.tdata${RELOCATING+ .rel.tdata.* .rel.gnu.linkonce.td.*}) } -+ .rela.tdata ${RELOCATING-0} : { *(.rela.tdata${RELOCATING+ .rela.tdata.* .rela.gnu.linkonce.td.*}) } -+ .rel.tbss ${RELOCATING-0} : { *(.rel.tbss${RELOCATING+ .rel.tbss.* .rel.gnu.linkonce.tb.*}) } -+ .rela.tbss ${RELOCATING-0} : { *(.rela.tbss${RELOCATING+ .rela.tbss.* .rela.gnu.linkonce.tb.*}) } -+ .rel.ctors ${RELOCATING-0} : { *(.rel.ctors) } -+ .rela.ctors ${RELOCATING-0} : { *(.rela.ctors) } -+ .rel.dtors ${RELOCATING-0} : { *(.rel.dtors) } -+ .rela.dtors ${RELOCATING-0} : { *(.rela.dtors) } -+ .rel.got ${RELOCATING-0} : { *(.rel.got) } -+ .rela.got ${RELOCATING-0} : { *(.rela.got) } -+ ${OTHER_GOT_RELOC_SECTIONS} -+ ${REL_SDATA} -+ ${REL_SBSS} -+ ${REL_SDATA2} -+ ${REL_SBSS2} -+ .rel.bss ${RELOCATING-0} : { *(.rel.bss${RELOCATING+ .rel.bss.* .rel.gnu.linkonce.b.*}) } -+ .rela.bss ${RELOCATING-0} : { *(.rela.bss${RELOCATING+ .rela.bss.* .rela.gnu.linkonce.b.*}) } -+EOF -+if [ -n "$COMBRELOC" ]; then -+cat <<EOF -+ .rel.dyn ${RELOCATING-0} : -+ { -+EOF -+sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rela\./d;s/^.*: { *\(.*\)}$/ \1/' $COMBRELOC -+cat <<EOF -+ } -+ .rela.dyn ${RELOCATING-0} : -+ { -+EOF -+sed -e '/^[ ]*[{}][ ]*$/d;/:[ ]*$/d;/\.rel\./d;s/^.*: { *\(.*\)}/ \1/' $COMBRELOC -+cat <<EOF -+ } -+EOF -+fi -+cat <<EOF -+ .rel.plt ${RELOCATING-0} : { *(.rel.plt) } -+ .rela.plt ${RELOCATING-0} : { *(.rela.plt) } -+ ${OTHER_PLT_RELOC_SECTIONS} -+ -+ .init ${RELOCATING-0} : -+ { -+ ${RELOCATING+${INIT_START}} -+ KEEP (*(.init)) -+ ${RELOCATING+${INIT_END}} -+ } =${NOP-0} -+ -+ ${DATA_PLT-${BSS_PLT-${PLT}}} -+ .text ${RELOCATING-0} : -+ { -+ ${RELOCATING+${TEXT_START_SYMBOLS}} -+ *(.text .stub${RELOCATING+ .text.* .gnu.linkonce.t.*}) -+ KEEP (*(.text.*personality*)) -+ /* .gnu.warning sections are handled specially by elf32.em. */ -+ *(.gnu.warning) -+ ${RELOCATING+${OTHER_TEXT_SECTIONS}} -+ } =${NOP-0} -+ .fini ${RELOCATING-0} : -+ { -+ ${RELOCATING+${FINI_START}} -+ KEEP (*(.fini)) -+ ${RELOCATING+${FINI_END}} -+ } =${NOP-0} -+ -+ /* PSP library stub functions. */ -+ .sceStub.text ${RELOCATING-0} : { *(.sceStub.text) *(SORT(.sceStub.text.*)) } -+ -+ ${RELOCATING+PROVIDE (__etext = .);} -+ ${RELOCATING+PROVIDE (_etext = .);} -+ ${RELOCATING+PROVIDE (etext = .);} -+ -+ /* PSP library entry table and library stub table. */ -+ .lib.ent.top ${RELOCATING-0} : { *(.lib.ent.top) } -+ .lib.ent ${RELOCATING-0} : { *(.lib.ent) } -+ .lib.ent.btm ${RELOCATING-0} : { *(.lib.ent.btm) } -+ -+ .lib.stub.top ${RELOCATING-0} : { *(.lib.stub.top) } -+ .lib.stub ${RELOCATING-0} : { *(.lib.stub) } -+ .lib.stub.btm ${RELOCATING-0} : { *(.lib.stub.btm) } -+ -+ /* PSP read-only data for module info, NIDs, and Vstubs. The -+ .rodata.sceModuleInfo section must appear before the .rodata section -+ otherwise it would get absorbed into .rodata and the PSP bootloader -+ would be unable to locate the module info structure. */ -+ .rodata.sceModuleInfo ${RELOCATING-0} : { *(.rodata.sceModuleInfo) } -+ .rodata.sceResident ${RELOCATING-0} : { *(.rodata.sceResident) } -+ .rodata.sceNid ${RELOCATING-0} : { *(.rodata.sceNid) } -+ .rodata.sceVstub ${RELOCATING-0} : { *(.rodata.sceVstub) *(SORT(.rodata.sceVstub.*)) } -+ -+ ${WRITABLE_RODATA-${RODATA}} -+ .rodata1 ${RELOCATING-0} : { *(.rodata1) } -+ ${CREATE_SHLIB-${SDATA2}} -+ ${CREATE_SHLIB-${SBSS2}} -+ ${OTHER_READONLY_SECTIONS} -+ .eh_frame_hdr : { *(.eh_frame_hdr) } -+ .eh_frame ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) } -+ .gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) } -+ -+ /* Adjust the address for the data segment. We want to adjust up to -+ the same address within the page on the next page up. */ -+ ${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+. = ${DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}} -+ ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}} -+ ${CREATE_PIE+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}} -+ -+ /* Exception handling */ -+ .eh_frame ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.eh_frame)) } -+ .gcc_except_table ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) } -+ -+ /* Thread Local Storage sections */ -+ .tdata ${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) } -+ .tbss ${RELOCATING-0} : { *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} } -+ -+ /* Ensure the __preinit_array_start label is properly aligned. We -+ could instead move the label definition inside the section, but -+ the linker would then create the section even if it turns out to -+ be empty, which isn't pretty. */ -+ ${RELOCATING+. = ALIGN(${ALIGNMENT});} -+ ${RELOCATING+${CREATE_SHLIB-PROVIDE (__preinit_array_start = .);}} -+ .preinit_array ${RELOCATING-0} : { KEEP (*(.preinit_array)) } -+ ${RELOCATING+${CREATE_SHLIB-PROVIDE (__preinit_array_end = .);}} -+ -+ ${RELOCATING+${CREATE_SHLIB-PROVIDE (__init_array_start = .);}} -+ .init_array ${RELOCATING-0} : { KEEP (*(.init_array)) } -+ ${RELOCATING+${CREATE_SHLIB-PROVIDE (__init_array_end = .);}} -+ -+ ${RELOCATING+${CREATE_SHLIB-PROVIDE (__fini_array_start = .);}} -+ .fini_array ${RELOCATING-0} : { KEEP (*(.fini_array)) } -+ ${RELOCATING+${CREATE_SHLIB-PROVIDE (__fini_array_end = .);}} -+ -+ ${SMALL_DATA_CTOR-${RELOCATING+${CTOR}}} -+ ${SMALL_DATA_DTOR-${RELOCATING+${DTOR}}} -+ .jcr ${RELOCATING-0} : { KEEP (*(.jcr)) } -+ -+ ${RELOCATING+${DATARELRO}} -+ ${OTHER_RELRO_SECTIONS} -+ ${TEXT_DYNAMIC-${DYNAMIC}} -+ ${NO_SMALL_DATA+${RELRO_NOW+${GOT}}} -+ ${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT+${GOT}}}} -+ ${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT+${GOTPLT}}}} -+ ${RELOCATING+${DATA_SEGMENT_RELRO_END}} -+ ${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT-${GOT}}}} -+ -+ ${DATA_PLT+${PLT_BEFORE_GOT-${PLT}}} -+ -+ .data ${RELOCATING-0} : -+ { -+ ${RELOCATING+${DATA_START_SYMBOLS}} -+ *(.data${RELOCATING+ .data.* .gnu.linkonce.d.*}) -+ KEEP (*(.gnu.linkonce.d.*personality*)) -+ ${CONSTRUCTING+SORT(CONSTRUCTORS)} -+ } -+ .data1 ${RELOCATING-0} : { *(.data1) } -+ ${WRITABLE_RODATA+${RODATA}} -+ ${OTHER_READWRITE_SECTIONS} -+ ${SMALL_DATA_CTOR+${RELOCATING+${CTOR}}} -+ ${SMALL_DATA_DTOR+${RELOCATING+${DTOR}}} -+ ${DATA_PLT+${PLT_BEFORE_GOT+${PLT}}} -+ ${RELOCATING+${OTHER_GOT_SYMBOLS}} -+ ${NO_SMALL_DATA-${GOT}} -+ ${OTHER_GOT_SECTIONS} -+ ${SDATA} -+ ${OTHER_SDATA_SECTIONS} -+ ${RELOCATING+_edata = .;} -+ ${RELOCATING+PROVIDE (edata = .);} -+ ${RELOCATING+__bss_start = .;} -+ ${RELOCATING+${OTHER_BSS_SYMBOLS}} -+ ${SBSS} -+ ${BSS_PLT+${PLT}} -+ .bss ${RELOCATING-0} : -+ { -+ *(.dynbss) -+ *(.bss${RELOCATING+ .bss.* .gnu.linkonce.b.*}) -+ *(COMMON) -+ /* Align here to ensure that the .bss section occupies space up to -+ _end. Align after .bss to ensure correct alignment even if the -+ .bss section disappears because there are no input sections. */ -+ ${RELOCATING+. = ALIGN(${ALIGNMENT});} -+ } -+ ${OTHER_BSS_SECTIONS} -+ ${RELOCATING+. = ALIGN(${ALIGNMENT});} -+ ${RELOCATING+_end = .;} -+ ${RELOCATING+${OTHER_BSS_END_SYMBOLS}} -+ ${RELOCATING+PROVIDE (end = .);} -+ ${RELOCATING+${DATA_SEGMENT_END}} -+ -+ /* Stabs debugging sections. */ -+ .stab 0 : { *(.stab) } -+ .stabstr 0 : { *(.stabstr) } -+ .stab.excl 0 : { *(.stab.excl) } -+ .stab.exclstr 0 : { *(.stab.exclstr) } -+ .stab.index 0 : { *(.stab.index) } -+ .stab.indexstr 0 : { *(.stab.indexstr) } -+ -+ .comment 0 : { *(.comment) } -+ -+ /* DWARF debug sections. -+ Symbols in the DWARF debugging sections are relative to the beginning -+ of the section so we begin them at 0. */ -+ -+ /* DWARF 1 */ -+ .debug 0 : { *(.debug) } -+ .line 0 : { *(.line) } -+ -+ /* GNU DWARF 1 extensions */ -+ .debug_srcinfo 0 : { *(.debug_srcinfo) } -+ .debug_sfnames 0 : { *(.debug_sfnames) } -+ -+ /* DWARF 1.1 and DWARF 2 */ -+ .debug_aranges 0 : { *(.debug_aranges) } -+ .debug_pubnames 0 : { *(.debug_pubnames) } -+ -+ /* DWARF 2 */ -+ .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } -+ .debug_abbrev 0 : { *(.debug_abbrev) } -+ .debug_line 0 : { *(.debug_line) } -+ .debug_frame 0 : { *(.debug_frame) } -+ .debug_str 0 : { *(.debug_str) } -+ .debug_loc 0 : { *(.debug_loc) } -+ .debug_macinfo 0 : { *(.debug_macinfo) } -+ -+ /* SGI/MIPS DWARF 2 extensions */ -+ .debug_weaknames 0 : { *(.debug_weaknames) } -+ .debug_funcnames 0 : { *(.debug_funcnames) } -+ .debug_typenames 0 : { *(.debug_typenames) } -+ .debug_varnames 0 : { *(.debug_varnames) } -+ -+ ${STACK_ADDR+${STACK}} -+ ${OTHER_SECTIONS} -+ ${RELOCATING+${OTHER_END_SYMBOLS}} -+ ${RELOCATING+${STACKNOTE}} -+} -+EOF diff --git a/devel/psptoolchain-binutils/files/patch-opcodes-mips-dis.c b/devel/psptoolchain-binutils/files/patch-opcodes-mips-dis.c deleted file mode 100644 index 51586c4cf0e8..000000000000 --- a/devel/psptoolchain-binutils/files/patch-opcodes-mips-dis.c +++ /dev/null @@ -1,556 +0,0 @@ ---- ./opcodes/mips-dis.c.orig 2011-08-09 15:20:03.000000000 +0000 -+++ ./opcodes/mips-dis.c 2012-01-21 13:31:35.000000000 +0000 -@@ -245,6 +245,139 @@ - "c0_taglo", "c0_taghi", "c0_errorepc", "c0_desave", - }; - -+static const char * const vfpu_sreg_names[128] = { -+ "S000", "S010", "S020", "S030", "S100", "S110", "S120", "S130", -+ "S200", "S210", "S220", "S230", "S300", "S310", "S320", "S330", -+ "S400", "S410", "S420", "S430", "S500", "S510", "S520", "S530", -+ "S600", "S610", "S620", "S630", "S700", "S710", "S720", "S730", -+ "S001", "S011", "S021", "S031", "S101", "S111", "S121", "S131", -+ "S201", "S211", "S221", "S231", "S301", "S311", "S321", "S331", -+ "S401", "S411", "S421", "S431", "S501", "S511", "S521", "S531", -+ "S601", "S611", "S621", "S631", "S701", "S711", "S721", "S731", -+ "S002", "S012", "S022", "S032", "S102", "S112", "S122", "S132", -+ "S202", "S212", "S222", "S232", "S302", "S312", "S322", "S332", -+ "S402", "S412", "S422", "S432", "S502", "S512", "S522", "S532", -+ "S602", "S612", "S622", "S632", "S702", "S712", "S722", "S732", -+ "S003", "S013", "S023", "S033", "S103", "S113", "S123", "S133", -+ "S203", "S213", "S223", "S233", "S303", "S313", "S323", "S333", -+ "S403", "S413", "S423", "S433", "S503", "S513", "S523", "S533", -+ "S603", "S613", "S623", "S633", "S703", "S713", "S723", "S733" -+}; -+ -+static const char * const vfpu_vpreg_names[128] = { -+ "C000", "C010", "C020", "C030", "C100", "C110", "C120", "C130", -+ "C200", "C210", "C220", "C230", "C300", "C310", "C320", "C330", -+ "C400", "C410", "C420", "C430", "C500", "C510", "C520", "C530", -+ "C600", "C610", "C620", "C630", "C700", "C710", "C720", "C730", -+ "R000", "R001", "R002", "R003", "R100", "R101", "R102", "R103", -+ "R200", "R201", "R202", "R203", "R300", "R301", "R302", "R303", -+ "R400", "R401", "R402", "R403", "R500", "R501", "R502", "R503", -+ "R600", "R601", "R602", "R603", "R700", "R701", "R702", "R703", -+ "C002", "C012", "C022", "C032", "C102", "C112", "C122", "C132", -+ "C202", "C212", "C222", "C232", "C302", "C312", "C322", "C332", -+ "C402", "C412", "C422", "C432", "C502", "C512", "C522", "C532", -+ "C602", "C612", "C622", "C632", "C702", "C712", "C722", "C732", -+ "R020", "R021", "R022", "R023", "R120", "R121", "R122", "R123", -+ "R220", "R221", "R222", "R223", "R320", "R321", "R322", "R323", -+ "R420", "R421", "R422", "R423", "R520", "R521", "R522", "R523", -+ "R620", "R621", "R622", "R623", "R720", "R721", "R722", "R723" -+}; -+ -+static const char * const vfpu_vtreg_names[128] = { -+ "C000", "C010", "C020", "C030", "C100", "C110", "C120", "C130", -+ "C200", "C210", "C220", "C230", "C300", "C310", "C320", "C330", -+ "C400", "C410", "C420", "C430", "C500", "C510", "C520", "C530", -+ "C600", "C610", "C620", "C630", "C700", "C710", "C720", "C730", -+ "R000", "R001", "R002", "R003", "R100", "R101", "R102", "R103", -+ "R200", "R201", "R202", "R203", "R300", "R301", "R302", "R303", -+ "R400", "R401", "R402", "R403", "R500", "R501", "R502", "R503", -+ "R600", "R601", "R602", "R603", "R700", "R701", "R702", "R703", -+ "C001", "C011", "C021", "C031", "C101", "C111", "C121", "C131", -+ "C201", "C211", "C221", "C231", "C301", "C311", "C321", "C331", -+ "C401", "C411", "C421", "C431", "C501", "C511", "C521", "C531", -+ "C601", "C611", "C621", "C631", "C701", "C711", "C721", "C731", -+ "R010", "R011", "R012", "R013", "R110", "R111", "R112", "R113", -+ "R210", "R211", "R212", "R213", "R310", "R311", "R312", "R313", -+ "R410", "R411", "R412", "R413", "R510", "R511", "R512", "R513", -+ "R610", "R611", "R612", "R613", "R710", "R711", "R712", "R713" -+}; -+ -+static const char * const vfpu_vqreg_names[128] = { -+ "C000", "C010", "C020", "C030", "C100", "C110", "C120", "C130", -+ "C200", "C210", "C220", "C230", "C300", "C310", "C320", "C330", -+ "C400", "C410", "C420", "C430", "C500", "C510", "C520", "C530", -+ "C600", "C610", "C620", "C630", "C700", "C710", "C720", "C730", -+ "R000", "R001", "R002", "R003", "R100", "R101", "R102", "R103", -+ "R200", "R201", "R202", "R203", "R300", "R301", "R302", "R303", -+ "R400", "R401", "R402", "R403", "R500", "R501", "R502", "R503", -+ "R600", "R601", "R602", "R603", "R700", "R701", "R702", "R703", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "" -+}; -+ -+static const char * const vfpu_mpreg_names[128] = { -+ "M000", "", "M020", "", "M100", "", "M120", "", -+ "M200", "", "M220", "", "M300", "", "M320", "", -+ "M400", "", "M420", "", "M500", "", "M520", "", -+ "M600", "", "M620", "", "M700", "", "M720", "", -+ "E000", "", "E002", "", "E100", "", "E102", "", -+ "E200", "", "E202", "", "E300", "", "E302", "", -+ "E400", "", "E402", "", "E500", "", "E502", "", -+ "E600", "", "E602", "", "E700", "", "E702", "", -+ "M002", "", "M022", "", "M102", "", "M122", "", -+ "M202", "", "M222", "", "M302", "", "M322", "", -+ "M402", "", "M422", "", "M502", "", "M522", "", -+ "M602", "", "M622", "", "M702", "", "M722", "", -+ "E020", "", "E022", "", "E120", "", "E122", "", -+ "E220", "", "E222", "", "E320", "", "E322", "", -+ "E420", "", "E422", "", "E520", "", "E522", "", -+ "E620", "", "E622", "", "E720", "", "E722", "" -+}; -+ -+static const char * const vfpu_mtreg_names[128] = { -+ "M000", "M010", "", "", "M100", "M110", "", "", -+ "M200", "M210", "", "", "M300", "M310", "", "", -+ "M400", "M410", "", "", "M500", "M510", "", "", -+ "M600", "M610", "", "", "M700", "M710", "", "", -+ "E000", "E001", "", "", "E100", "E101", "", "", -+ "E200", "E201", "", "", "E300", "E301", "", "", -+ "E400", "E401", "", "", "E500", "E501", "", "", -+ "E600", "E601", "", "", "E700", "E701", "", "", -+ "M001", "M011", "", "", "M101", "M111", "", "", -+ "M201", "M211", "", "", "M301", "M311", "", "", -+ "M401", "M411", "", "", "M501", "M511", "", "", -+ "M601", "M611", "", "", "M701", "M711", "", "", -+ "E010", "E011", "", "", "E110", "E111", "", "", -+ "E210", "E211", "", "", "E310", "E311", "", "", -+ "E410", "E411", "", "", "E510", "E511", "", "", -+ "E610", "E611", "", "", "E710", "E711", "", "" -+}; -+ -+static const char * const vfpu_mqreg_names[128] = { -+ "M000", "", "", "", "M100", "", "", "", -+ "M200", "", "", "", "M300", "", "", "", -+ "M400", "", "", "", "M500", "", "", "", -+ "M600", "", "", "", "M700", "", "", "", -+ "E000", "", "", "", "E100", "", "", "", -+ "E200", "", "", "", "E300", "", "", "", -+ "E400", "", "", "", "E500", "", "", "", -+ "E600", "", "", "", "E700", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "" -+}; -+ - static const struct mips_cp0sel_name mips_cp0sel_names_mips3264[] = - { - { 16, 1, "c0_config1" }, -@@ -471,6 +604,54 @@ - "$24", "$25", "$26", "$27", "$28", "$29", "$30", "$31" - }; - -+static const char * const vfpu_cond_names[16] = { -+ "FL", "EQ", "LT", "LE", "TR", "NE", "GE", "GT", -+ "EZ", "EN", "EI", "ES", "NZ", "NN", "NI", "NS" -+}; -+ -+static const char * const vfpu_const_names[20] = { -+ "", -+ "VFPU_HUGE", -+ "VFPU_SQRT2", -+ "VFPU_SQRT1_2", -+ "VFPU_2_SQRTPI", -+ "VFPU_2_PI", -+ "VFPU_1_PI", -+ "VFPU_PI_4", -+ "VFPU_PI_2", -+ "VFPU_PI", -+ "VFPU_E", -+ "VFPU_LOG2E", -+ "VFPU_LOG10E", -+ "VFPU_LN2", -+ "VFPU_LN10", -+ "VFPU_2PI", -+ "VFPU_PI_6", -+ "VFPU_LOG10TWO", -+ "VFPU_LOG2TEN", -+ "VFPU_SQRT3_2" -+}; -+ -+#define VFPU_NUM_CONSTANTS \ -+ ((sizeof vfpu_const_names) / (sizeof (vfpu_const_names[0]))) -+const unsigned int vfpu_num_constants = VFPU_NUM_CONSTANTS; -+ -+static const char * const vfpu_rwb_names[4] = { -+ "wt", "wb", "", "" -+}; -+ -+static const char * const pfx_cst_names[8] = { -+ "0", "1", "2", "1/2", "3", "1/3", "1/4", "1/6" -+}; -+ -+static const char * const pfx_swz_names[4] = { -+ "x", "y", "z", "w" -+}; -+ -+static const char * const pfx_sat_names[4] = { -+ "", "[0:1]", "", "[-1:1]" -+}; -+ - struct mips_abi_choice - { - const char * name; -@@ -550,6 +731,8 @@ - mips_cp0_names_numeric, NULL, 0, mips_hwr_names_numeric }, - { "mips5", 1, bfd_mach_mips5, CPU_MIPS5, ISA_MIPS5, - mips_cp0_names_numeric, NULL, 0, mips_hwr_names_numeric }, -+ { "allegrex", 1, bfd_mach_mips_allegrex, CPU_ALLEGREX, ISA_MIPS2, -+ mips_cp0_names_numeric, NULL, 0, mips_hwr_names_numeric }, - - /* For stock MIPS32, disassemble all applicable MIPS-specified ASEs. - Note that MIPS-3D and MDMX are not applicable to MIPS32. (See -@@ -1479,6 +1662,349 @@ - (l >> OP_SH_FT) & OP_MASK_FT); - break; - -+ case '?': -+ /* VFPU extensions. */ -+ d++; -+ switch (*d) -+ { -+ case '\0': -+ /* xgettext:c-format */ -+ (*info->fprintf_func) (info->stream, -+ _("# internal error, incomplete VFPU extension sequence (?)")); -+ return; -+ -+ case 'o': -+ delta = (l >> OP_SH_VFPU_DELTA) & OP_MASK_VFPU_DELTA; -+ if (delta & 0x8000) -+ delta |= ~0xffff; -+ (*info->fprintf_func) (info->stream, "%d", -+ delta); -+ break; -+ -+ case '0': -+ case '1': -+ case '2': -+ case '3': -+ { -+ unsigned int pos = *d, base = '0'; -+ unsigned int negation = (l >> (pos - (base - VFPU_SH_PFX_NEG))) & VFPU_MASK_PFX_NEG; -+ unsigned int constant = (l >> (pos - (base - VFPU_SH_PFX_CST))) & VFPU_MASK_PFX_CST; -+ unsigned int abs_consthi = -+ (l >> (pos - (base - VFPU_SH_PFX_ABS_CSTHI))) & VFPU_MASK_PFX_ABS_CSTHI; -+ unsigned int swz_constlo = (l >> ((pos - base) * 2)) & VFPU_MASK_PFX_SWZ_CSTLO; -+ -+ if (negation) -+ (*info->fprintf_func) (info->stream, "-"); -+ if (constant) -+ { -+ (*info->fprintf_func) (info->stream, "%s", -+ pfx_cst_names[(abs_consthi << 2) | swz_constlo]); -+ } -+ else -+ { -+ if (abs_consthi) -+ (*info->fprintf_func) (info->stream, "|%s|", -+ pfx_swz_names[swz_constlo]); -+ else -+ (*info->fprintf_func) (info->stream, "%s", -+ pfx_swz_names[swz_constlo]); -+ } -+ } -+ break; -+ -+ case '4': -+ case '5': -+ case '6': -+ case '7': -+ { -+ unsigned int pos = *d, base = '4'; -+ unsigned int mask = (l >> (pos - (base - VFPU_SH_PFX_MASK))) & VFPU_MASK_PFX_MASK; -+ unsigned int saturation = (l >> ((pos - base) * 2)) & VFPU_MASK_PFX_SAT; -+ -+ if (mask) -+ (*info->fprintf_func) (info->stream, "m"); -+ else -+ (*info->fprintf_func) (info->stream, "%s", -+ pfx_sat_names[saturation]); -+ } -+ break; -+ -+ case 'a': -+ { -+ unsigned int c = (l >> OP_SH_VFPU_CONST) & OP_MASK_VFPU_CONST; -+ if (c < vfpu_num_constants) -+ { -+ (*info->fprintf_func) (info->stream, "%s", -+ vfpu_const_names[c]); -+ } -+ break; -+ } -+ -+ case 'b': -+ /* 5-bit immediate value. */ -+ (*info->fprintf_func) (info->stream, "%d", -+ (l >> OP_SH_VFPU_IMM5) & OP_MASK_VFPU_IMM5); -+ break; -+ -+ case 'c': -+ /* VFPU condition code. */ -+ (*info->fprintf_func) (info->stream, "%d", -+ (l >> OP_SH_VFPU_CC) & OP_MASK_VFPU_CC); -+ break; -+ -+ case 'e': -+ /* 3-bit immediate value. */ -+ (*info->fprintf_func) (info->stream, "%d", -+ (l >> OP_SH_VFPU_IMM3) & OP_MASK_VFPU_IMM3); -+ break; -+ -+ case 'f': -+ /* Conditional compare. */ -+ (*info->fprintf_func) (info->stream, "%s", -+ vfpu_cond_names[(l >> OP_SH_VFPU_COND) & OP_MASK_VFPU_COND]); -+ /* Apparently this specifier is unused. */ -+ d++; -+ break; -+ -+ case 'i': -+ /* 8-bit immediate value. */ -+ (*info->fprintf_func) (info->stream, "0x%02x", -+ (l >> OP_SH_VFPU_IMM8) & OP_MASK_VFPU_IMM8); -+ break; -+ -+ case 'q': -+ /* VFPU control register (vmtvc). */ -+ (*info->fprintf_func) (info->stream, "$%d", -+ (l >> OP_SH_VFPU_VMTVC) & OP_MASK_VFPU_VMTVC); -+ break; -+ -+ case 'r': -+ /* VFPU control register (vmfvc). */ -+ (*info->fprintf_func) (info->stream, "$%d", -+ (l >> OP_SH_VFPU_VMFVC) & OP_MASK_VFPU_VMFVC); -+ break; -+ -+ case 'u': -+ /* Convert a VFPU 16-bit floating-point number to IEEE754. */ -+ { -+ union float2int { -+ unsigned int i; -+ float f; -+ } float2int; -+ unsigned short float16 = (l >> OP_SH_VFPU_FLOAT16) & OP_MASK_VFPU_FLOAT16; -+ unsigned int sign = (float16 >> VFPU_SH_FLOAT16_SIGN) & VFPU_MASK_FLOAT16_SIGN; -+ int exponent = (float16 >> VFPU_SH_FLOAT16_EXP) & VFPU_MASK_FLOAT16_EXP; -+ unsigned int fraction = float16 & VFPU_MASK_FLOAT16_FRAC; -+ char signchar = '+' + ((sign == 1) * 2); -+ -+ if (exponent == VFPU_FLOAT16_EXP_MAX) -+ { -+ if (fraction == 0) -+ (*info->fprintf_func) (info->stream, "%cInf", signchar); -+ else -+ (*info->fprintf_func) (info->stream, "%cNaN", signchar); -+ } -+ else if (exponent == 0 && fraction == 0) -+ { -+ (*info->fprintf_func) (info->stream, "%c0", signchar); -+ } -+ else -+ { -+ if (exponent == 0) -+ { -+ do -+ { -+ fraction <<= 1; -+ exponent--; -+ } -+ while (!(fraction & (VFPU_MASK_FLOAT16_FRAC + 1))); -+ -+ fraction &= VFPU_MASK_FLOAT16_FRAC; -+ } -+ -+ /* Convert to 32-bit single-precision IEEE754. */ -+ float2int.i = sign << 31; -+ float2int.i |= (exponent + 112) << 23; -+ float2int.i |= fraction << 13; -+ (*info->fprintf_func) (info->stream, "%g", float2int.f); -+ } -+ } -+ break; -+ -+ case 'w': -+ { -+ const char *elements[4]; -+ unsigned int opcode = l & VFPU_MASK_OP_SIZE; -+ unsigned int rotators = (l >> OP_SH_VFPU_ROT) & OP_MASK_VFPU_ROT; -+ unsigned int opsize, rothi, rotlo, negation, i; -+ -+ /* Determine the operand size so we'll know how many elements to output. */ -+ if (opcode == VFPU_OP_SIZE_PAIR) -+ opsize = 2; -+ else if (opcode == VFPU_OP_SIZE_TRIPLE) -+ opsize = 3; -+ else -+ opsize = (opcode == VFPU_OP_SIZE_QUAD) * 4; /* Sanity check. */ -+ -+ rothi = (rotators >> VFPU_SH_ROT_HI) & VFPU_MASK_ROT_HI; -+ rotlo = (rotators >> VFPU_SH_ROT_LO) & VFPU_MASK_ROT_LO; -+ negation = (rotators >> VFPU_SH_ROT_NEG) & VFPU_MASK_ROT_NEG; -+ -+ if (rothi == rotlo) -+ { -+ if (negation) -+ { -+ elements[0] = "-s"; -+ elements[1] = "-s"; -+ elements[2] = "-s"; -+ elements[3] = "-s"; -+ } -+ else -+ { -+ elements[0] = "s"; -+ elements[1] = "s"; -+ elements[2] = "s"; -+ elements[3] = "s"; -+ } -+ } -+ else -+ { -+ elements[0] = "0"; -+ elements[1] = "0"; -+ elements[2] = "0"; -+ elements[3] = "0"; -+ } -+ if (negation) -+ elements[rothi] = "-s"; -+ else -+ elements[rothi] = "s"; -+ elements[rotlo] = "c"; -+ -+ (*info->fprintf_func) (info->stream, "["); -+ i = 0; -+ for (;;) -+ { -+ (*info->fprintf_func) (info->stream, "%s", -+ elements[i++]); -+ if (i >= opsize) -+ break; -+ (*info->fprintf_func) (info->stream, ","); -+ } -+ (*info->fprintf_func) (info->stream, "]"); -+ } -+ break; -+ -+ case 'd': -+ case 'm': -+ case 'n': -+ case 's': -+ case 't': -+ case 'v': -+ case 'x': -+ { -+ unsigned int vreg = 0; -+ -+ /* The first char specifies the bitfield that contains the register number. */ -+ switch (*d) -+ { -+ case 'd': -+ case 'v': -+ case 'x': -+ vreg = (l >> OP_SH_VFPU_VD) & OP_MASK_VFPU_VD; -+ break; -+ -+ case 'm': -+ /* Combine bits 0-4 of vt with bits 5-6 of vt. */ -+ vreg = ((l >> OP_SH_VFPU_VT_LO) & OP_MASK_VFPU_VT_LO) -+ | ((l & OP_MASK_VFPU_VT_HI2) << OP_SH_VFPU_VT_HI); -+ break; -+ -+ case 'n': -+ /* Combine bits 0-4 of vt with bit 5 of vt. */ -+ vreg = ((l >> OP_SH_VFPU_VT_LO) & OP_MASK_VFPU_VT_LO) -+ | ((l & OP_MASK_VFPU_VT_HI1) << OP_SH_VFPU_VT_HI); -+ break; -+ -+ case 's': -+ { -+ unsigned int temp_vreg = l >> OP_SH_VFPU_VS; -+ -+ vreg = temp_vreg & OP_MASK_VFPU_VS; -+ if ((l & VFPU_OP_VT_VS_VD) == VFPU_OPCODE_VMMUL) -+ { -+ /* vmmul instructions have the RXC bit (bit 13) inverted. */ -+ if (temp_vreg & 0x20) -+ vreg = temp_vreg & 0x5f; -+ else -+ vreg |= 0x20; -+ } -+ } -+ break; -+ -+ case 't': -+ vreg = (l >> OP_SH_VFPU_VT) & OP_MASK_VFPU_VT; -+ break; -+ } -+ -+ /* The next char is the register set vreg comes from. */ -+ d++; -+ switch (*d) -+ { -+ case '0': -+ (*info->fprintf_func) (info->stream, "%s.s", -+ vfpu_sreg_names[vreg]); -+ break; -+ -+ case '1': -+ (*info->fprintf_func) (info->stream, "%s.p", -+ vfpu_vpreg_names[vreg]); -+ break; -+ -+ case '2': -+ (*info->fprintf_func) (info->stream, "%s.t", -+ vfpu_vtreg_names[vreg]); -+ break; -+ -+ case '3': -+ (*info->fprintf_func) (info->stream, "%s.q", -+ vfpu_vqreg_names[vreg]); -+ break; -+ -+ case '5': -+ (*info->fprintf_func) (info->stream, "%s.p", -+ vfpu_mpreg_names[vreg]); -+ break; -+ -+ case '6': -+ (*info->fprintf_func) (info->stream, "%s.t", -+ vfpu_mtreg_names[vreg]); -+ break; -+ -+ case '7': -+ (*info->fprintf_func) (info->stream, "%s.q", -+ vfpu_mqreg_names[vreg]); -+ break; -+ -+ default: -+ /* xgettext:c-format */ -+ (*info->fprintf_func) (info->stream, -+ _("# internal error, undefined vreg modifier(%c)"), -+ *d); -+ break; -+ } -+ -+ /* The last char is unused for disassembly. */ -+ d++; -+ } -+ break; -+ -+ case 'z': -+ (*info->fprintf_func) (info->stream, "%s", -+ vfpu_rwb_names[(l >> OP_SH_VFPU_RWB) & OP_MASK_VFPU_RWB]); -+ break; -+ } -+ break; -+ - default: - /* xgettext:c-format */ - (*info->fprintf_func) (info->stream, diff --git a/devel/psptoolchain-binutils/files/patch-opcodes-mips-opc.c b/devel/psptoolchain-binutils/files/patch-opcodes-mips-opc.c deleted file mode 100644 index a70c0e673e9c..000000000000 --- a/devel/psptoolchain-binutils/files/patch-opcodes-mips-opc.c +++ /dev/null @@ -1,624 +0,0 @@ ---- ./opcodes/mips-opc.c.orig 2011-08-09 15:20:03.000000000 +0000 -+++ ./opcodes/mips-opc.c 2012-01-21 13:31:35.000000000 +0000 -@@ -121,6 +121,7 @@ - #define N5 (INSN_5400 | INSN_5500) - #define N54 INSN_5400 - #define N55 INSN_5500 -+#define AL INSN_ALLEGREX - #define IOCT INSN_OCTEON - #define XLR INSN_XLR - -@@ -402,6 +403,7 @@ - {"bnel", "s,t,p", 0x54000000, 0xfc000000, CBL|RD_s|RD_t, 0, I2|T3 }, - {"bnel", "s,I,p", 0, (int) M_BNEL_I, INSN_MACRO, 0, I2|T3 }, - {"break", "", 0x0000000d, 0xffffffff, TRAP, 0, I1 }, -+{"break", "B", 0x0000000d, 0xfc00003f, TRAP, 0, AL }, - {"break", "c", 0x0000000d, 0xfc00ffff, TRAP, 0, I1 }, - {"break", "c,q", 0x0000000d, 0xfc00003f, TRAP, 0, I1 }, - {"c.f.d", "S,T", 0x46200030, 0xffe007ff, RD_S|RD_T|WR_CC|FP_D, 0, I1 }, -@@ -584,7 +586,7 @@ - {"flushd", "", 0xbc020000, 0xffffffff, 0, 0, L1 }, - {"flushid", "", 0xbc030000, 0xffffffff, 0, 0, L1 }, - {"wb", "o(b)", 0xbc040000, 0xfc1f0000, SM|RD_b, 0, L1 }, --{"cache", "k,o(b)", 0xbc000000, 0xfc000000, RD_b, 0, I3_32|T3}, -+{"cache", "k,o(b)", 0xbc000000, 0xfc000000, RD_b, 0, I3_32|T3|AL}, - {"cache", "k,A(b)", 0, (int) M_CACHE_AB, INSN_MACRO, 0, I3_32|T3}, - {"ceil.l.d", "D,S", 0x4620000a, 0xffff003f, WR_D|RD_S|FP_D, 0, I3_33 }, - {"ceil.l.s", "D,S", 0x4600000a, 0xffff003f, WR_D|RD_S|FP_S|FP_D, 0, I3_33 }, -@@ -602,7 +604,9 @@ - {"cins", "t,r,+P,+S",0x70000033, 0xfc00003f, WR_t|RD_s, 0, IOCT }, /* cins32 */ - {"cins", "t,r,+p,+s",0x70000032, 0xfc00003f, WR_t|RD_s, 0, IOCT }, - {"clo", "U,s", 0x70000021, 0xfc0007ff, WR_d|WR_t|RD_s, 0, I32|N55 }, -+{"clo", "d,s", 0x00000017, 0xfc1f07ff, WR_d|RD_s, 0, AL }, - {"clz", "U,s", 0x70000020, 0xfc0007ff, WR_d|WR_t|RD_s, 0, I32|N55 }, -+{"clz", "d,s", 0x00000016, 0xfc1f07ff, WR_d|RD_s, 0, AL }, - {"ctc0", "t,G", 0x40c00000, 0xffe007ff, COD|RD_t|WR_CC, 0, I1 }, - {"ctc1", "t,G", 0x44c00000, 0xffe007ff, COD|RD_t|WR_CC|FP_S, 0, I1 }, - {"ctc1", "t,S", 0x44c00000, 0xffe007ff, COD|RD_t|WR_CC|FP_S, 0, I1 }, -@@ -627,16 +631,16 @@ - {"cvt.ps.s","D,V,T", 0x46000026, 0xffe0003f, WR_D|RD_S|RD_T|FP_S|FP_D, 0, I5_33 }, - {"cvt.pw.ps", "D,S", 0x46c00024, 0xffff003f, WR_D|RD_S|FP_S|FP_D, 0, M3D }, - {"dabs", "d,v", 0, (int) M_DABS, INSN_MACRO, 0, I3 }, -+{"max", "d,v,t", 0x0000002c, 0xfc0007ff, WR_d|RD_s|RD_t, 0, AL }, - {"dadd", "d,v,t", 0x0000002c, 0xfc0007ff, WR_d|RD_s|RD_t, 0, I3 }, - {"dadd", "t,r,I", 0, (int) M_DADD_I, INSN_MACRO, 0, I3 }, --{"dadd", "D,S,T", 0x45e00000, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E }, --{"dadd", "D,S,T", 0x4b60000c, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F|IL3A }, - {"daddi", "t,r,j", 0x60000000, 0xfc000000, WR_t|RD_s, 0, I3 }, - {"daddiu", "t,r,j", 0x64000000, 0xfc000000, WR_t|RD_s, 0, I3 }, -+{"min", "d,v,t", 0x0000002d, 0xfc0007ff, WR_d|RD_s|RD_t, 0, AL }, - {"daddu", "d,v,t", 0x0000002d, 0xfc0007ff, WR_d|RD_s|RD_t, 0, I3 }, - {"daddu", "t,r,I", 0, (int) M_DADDU_I, INSN_MACRO, 0, I3 }, - {"daddwc", "d,s,t", 0x70000038, 0xfc0007ff, WR_d|RD_s|RD_t|WR_C0|RD_C0, 0, XLR }, --{"dbreak", "", 0x7000003f, 0xffffffff, 0, 0, N5 }, -+{"dbreak", "", 0x7000003f, 0xffffffff, 0, 0, N5|AL }, - {"dclo", "U,s", 0x70000025, 0xfc0007ff, RD_s|WR_d|WR_t, 0, I64|N55 }, - {"dclz", "U,s", 0x70000024, 0xfc0007ff, RD_s|WR_d|WR_t, 0, I64|N55 }, - /* dctr and dctw are used on the r5000. */ -@@ -725,7 +729,7 @@ - {"dremu", "z,s,t", 0x0000001f, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, I3 }, - {"dremu", "d,v,t", 0, (int) M_DREMU_3, INSN_MACRO, 0, I3 }, - {"dremu", "d,v,I", 0, (int) M_DREMU_3I, INSN_MACRO, 0, I3 }, --{"dret", "", 0x7000003e, 0xffffffff, 0, 0, N5 }, -+{"dret", "", 0x7000003e, 0xffffffff, 0, 0, N5|AL }, - {"drol", "d,v,t", 0, (int) M_DROL, INSN_MACRO, 0, I3 }, - {"drol", "d,v,I", 0, (int) M_DROL_I, INSN_MACRO, 0, I3 }, - {"dror", "d,v,t", 0, (int) M_DROR, INSN_MACRO, 0, I3 }, -@@ -774,10 +778,10 @@ - {"ei", "t", 0x41606020, 0xffe0ffff, WR_t|WR_C0, 0, I33|IOCT}, - {"emt", "", 0x41600be1, 0xffffffff, TRAP, 0, MT32 }, - {"emt", "t", 0x41600be1, 0xffe0ffff, TRAP|WR_t, 0, MT32 }, --{"eret", "", 0x42000018, 0xffffffff, NODS, 0, I3_32 }, -+{"eret", "", 0x42000018, 0xffffffff, NODS, 0, I3_32|AL }, - {"evpe", "", 0x41600021, 0xffffffff, TRAP, 0, MT32 }, - {"evpe", "t", 0x41600021, 0xffe0ffff, TRAP|WR_t, 0, MT32 }, --{"ext", "t,r,+A,+C", 0x7c000000, 0xfc00003f, WR_t|RD_s, 0, I33 }, -+{"ext", "t,r,+A,+C", 0x7c000000, 0xfc00003f, WR_t|RD_s, 0, I33|AL }, - {"exts32", "t,r,+p,+S",0x7000003b, 0xfc00003f, WR_t|RD_s, 0, IOCT }, - {"exts", "t,r,+P,+S",0x7000003b, 0xfc00003f, WR_t|RD_s, 0, IOCT }, /* exts32 */ - {"exts", "t,r,+p,+s",0x7000003a, 0xfc00003f, WR_t|RD_s, 0, IOCT }, -@@ -786,7 +790,7 @@ - {"floor.w.d", "D,S", 0x4620000f, 0xffff003f, WR_D|RD_S|FP_S|FP_D, 0, I2 }, - {"floor.w.s", "D,S", 0x4600000f, 0xffff003f, WR_D|RD_S|FP_S, 0, I2 }, - {"hibernate","", 0x42000023, 0xffffffff, 0, 0, V1 }, --{"ins", "t,r,+A,+B", 0x7c000004, 0xfc00003f, WR_t|RD_s, 0, I33 }, -+{"ins", "t,r,+A,+B", 0x7c000004, 0xfc00003f, WR_t|RD_s, 0, I33|AL }, - {"iret", "", 0x42000038, 0xffffffff, NODS, 0, MC }, - {"jr", "s", 0x00000008, 0xfc1fffff, UBD|RD_s, 0, I1 }, - /* jr.hb is officially MIPS{32,64}R2, but it works on R1 as jr with -@@ -829,18 +833,10 @@ - {"ldaddw", "t,b", 0x70000010, 0xfc00ffff, SM|RD_t|WR_t|RD_b, 0, XLR }, - {"ldaddwu", "t,b", 0x70000011, 0xfc00ffff, SM|RD_t|WR_t|RD_b, 0, XLR }, - {"ldaddd", "t,b", 0x70000012, 0xfc00ffff, SM|RD_t|WR_t|RD_b, 0, XLR }, --{"ldc1", "T,o(b)", 0xd4000000, 0xfc000000, CLD|RD_b|WR_T|FP_D, 0, I2 }, --{"ldc1", "E,o(b)", 0xd4000000, 0xfc000000, CLD|RD_b|WR_T|FP_D, 0, I2 }, --{"ldc1", "T,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2 }, --{"ldc1", "E,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2 }, --{"l.d", "T,o(b)", 0xd4000000, 0xfc000000, CLD|RD_b|WR_T|FP_D, 0, I2 }, /* ldc1 */ --{"l.d", "T,o(b)", 0, (int) M_L_DOB, INSN_MACRO, INSN2_M_FP_D, I1 }, --{"l.d", "T,A(b)", 0, (int) M_L_DAB, INSN_MACRO, INSN2_M_FP_D, I1 }, --{"ldc2", "E,o(b)", 0xd8000000, 0xfc000000, CLD|RD_b|WR_CC, 0, I2 }, --{"ldc2", "E,A(b)", 0, (int) M_LDC2_AB, INSN_MACRO, 0, I2 }, --{"ldc3", "E,o(b)", 0xdc000000, 0xfc000000, CLD|RD_b|WR_CC, 0, I2 }, --{"ldc3", "E,A(b)", 0, (int) M_LDC3_AB, INSN_MACRO, 0, I2 }, --{"ldl", "t,o(b)", 0x68000000, 0xfc000000, LDD|WR_t|RD_b, 0, I3 }, -+/* ldc1 is at the bottom of the table. */ -+/* ldc2 is at the bottom of the table. */ -+/* ldc3 is at the bottom of the table. */ -+{"ldl", "t,o(b)", 0x68000000, 0xfc000000, LDD|WR_t|RD_b, 0, I3|AL }, - {"ldl", "t,A(b)", 0, (int) M_LDL_AB, INSN_MACRO, 0, I3 }, - {"ldr", "t,o(b)", 0x6c000000, 0xfc000000, LDD|WR_t|RD_b, 0, I3 }, - {"ldr", "t,A(b)", 0, (int) M_LDR_AB, INSN_MACRO, 0, I3 }, -@@ -870,8 +866,7 @@ - {"lwc1", "E,A(b)", 0, (int) M_LWC1_AB, INSN_MACRO, INSN2_M_FP_S, I1 }, - {"l.s", "T,o(b)", 0xc4000000, 0xfc000000, CLD|RD_b|WR_T|FP_S, 0, I1 }, /* lwc1 */ - {"l.s", "T,A(b)", 0, (int) M_LWC1_AB, INSN_MACRO, INSN2_M_FP_S, I1 }, --{"lwc2", "E,o(b)", 0xc8000000, 0xfc000000, CLD|RD_b|WR_CC, 0, I1 }, --{"lwc2", "E,A(b)", 0, (int) M_LWC2_AB, INSN_MACRO, 0, I1 }, -+/* lwc2 is at the bottom of the table. */ - {"lwc3", "E,o(b)", 0xcc000000, 0xfc000000, CLD|RD_b|WR_CC, 0, I1 }, - {"lwc3", "E,A(b)", 0, (int) M_LWC3_AB, INSN_MACRO, 0, I1 }, - {"lwl", "t,o(b)", 0x88000000, 0xfc000000, LDD|RD_b|WR_t, 0, I1 }, -@@ -911,12 +906,14 @@ - {"madd.ps", "D,S,T", 0x45600018, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E }, - {"madd.ps", "D,S,T", 0x71600018, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, - {"madd", "s,t", 0x0000001c, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, L1 }, -+{"madd", "s,t", 0x0000001c, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M, 0, AL }, - {"madd", "s,t", 0x70000000, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, I32|N55 }, - {"madd", "s,t", 0x70000000, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M, 0, G1 }, - {"madd", "7,s,t", 0x70000000, 0xfc00e7ff, MOD_a|RD_s|RD_t, 0, D32 }, - {"madd", "d,s,t", 0x70000000, 0xfc0007ff, RD_s|RD_t|WR_HILO|WR_d|IS_M, 0, G1 }, - {"maddp", "s,t", 0x70000441, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, SMT }, - {"maddu", "s,t", 0x0000001d, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, L1 }, -+{"maddu", "s,t", 0x0000001d, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M, 0, AL }, - {"maddu", "s,t", 0x70000001, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, I32|N55 }, - {"maddu", "s,t", 0x70000001, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M, 0, G1 }, - {"maddu", "7,s,t", 0x70000001, 0xfc00e7ff, MOD_a|RD_s|RD_t, 0, D32 }, -@@ -957,7 +954,7 @@ - /* mfc2 is at the bottom of the table. */ - /* mfhc2 is at the bottom of the table. */ - /* mfc3 is at the bottom of the table. */ --{"mfdr", "t,G", 0x7000003d, 0xffe007ff, LCD|WR_t|RD_C0, 0, N5 }, -+{"mfdr", "t,G", 0x7000003d, 0xffe007ff, LCD|WR_t|RD_C0, 0, N5|AL }, - {"mfhi", "d", 0x00000010, 0xffff07ff, WR_d|RD_HI, 0, I1 }, - {"mfhi", "d,9", 0x00000010, 0xff9f07ff, WR_d|RD_HI, 0, D32 }, - {"mflo", "d", 0x00000012, 0xffff07ff, WR_d|RD_LO, 0, I1 }, -@@ -979,7 +976,7 @@ - {"movf.l", "X,Y,N", 0x46a00011, 0xffe3003f, WR_D|RD_S|RD_CC|FP_D, 0, MX|SB1 }, - {"movf.s", "D,S,N", 0x46000011, 0xffe3003f, WR_D|RD_S|RD_CC|FP_S, 0, I4_32 }, - {"movf.ps", "D,S,N", 0x46c00011, 0xffe3003f, WR_D|RD_S|RD_CC|FP_D, 0, I5_33 }, --{"movn", "d,v,t", 0x0000000b, 0xfc0007ff, WR_d|RD_s|RD_t, 0, I4_32|IL2E|IL2F }, -+{"movn", "d,v,t", 0x0000000b, 0xfc0007ff, WR_d|RD_s|RD_t, 0, I4_32|IL2E|IL2F|AL }, - {"movnz", "d,v,t", 0x0000000b, 0xfc0007ff, WR_d|RD_s|RD_t, 0, IL2E|IL2F|IL3A }, - {"ffc", "d,v", 0x0000000b, 0xfc1f07ff, WR_d|RD_s, 0, L1 }, - {"movn.d", "D,S,t", 0x46200013, 0xffe0003f, WR_D|RD_S|RD_t|FP_D, 0, I4_32 }, -@@ -993,7 +990,7 @@ - {"movt.l", "X,Y,N", 0x46a10011, 0xffe3003f, WR_D|RD_S|RD_CC|FP_D, 0, MX|SB1 }, - {"movt.s", "D,S,N", 0x46010011, 0xffe3003f, WR_D|RD_S|RD_CC|FP_S, 0, I4_32 }, - {"movt.ps", "D,S,N", 0x46c10011, 0xffe3003f, WR_D|RD_S|RD_CC|FP_D, 0, I5_33 }, --{"movz", "d,v,t", 0x0000000a, 0xfc0007ff, WR_d|RD_s|RD_t, 0, I4_32|IL2E|IL2F }, -+{"movz", "d,v,t", 0x0000000a, 0xfc0007ff, WR_d|RD_s|RD_t, 0, I4_32|IL2E|IL2F|AL }, - {"ffs", "d,v", 0x0000000a, 0xfc1f07ff, WR_d|RD_s, 0, L1 }, - {"movz.d", "D,S,t", 0x46200012, 0xffe0003f, WR_D|RD_S|RD_t|FP_D, 0, I4_32 }, - {"movz.l", "D,S,t", 0x46a00012, 0xffe0003f, WR_D|RD_S|RD_t|FP_D, 0, MX|SB1 }, -@@ -1021,9 +1018,11 @@ - {"msub.ps", "D,S,T", 0x45600019, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E }, - {"msub.ps", "D,S,T", 0x71600019, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, - {"msub", "s,t", 0x0000001e, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, L1 }, -+{"msub", "s,t", 0x0000002e, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M, 0, AL }, - {"msub", "s,t", 0x70000004, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, I32|N55 }, - {"msub", "7,s,t", 0x70000004, 0xfc00e7ff, MOD_a|RD_s|RD_t, 0, D32 }, - {"msubu", "s,t", 0x0000001f, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, L1 }, -+{"msubu", "s,t", 0x0000002f, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M, 0, AL }, - {"msubu", "s,t", 0x70000005, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, I32|N55 }, - {"msubu", "7,s,t", 0x70000005, 0xfc00e7ff, MOD_a|RD_s|RD_t, 0, D32 }, - {"mtpc", "t,P", 0x4080c801, 0xffe0ffc1, COD|RD_t|WR_C0, 0, M1|N5 }, -@@ -1038,7 +1037,7 @@ - /* mtc2 is at the bottom of the table. */ - /* mthc2 is at the bottom of the table. */ - /* mtc3 is at the bottom of the table. */ --{"mtdr", "t,G", 0x7080003d, 0xffe007ff, COD|RD_t|WR_C0, 0, N5 }, -+{"mtdr", "t,G", 0x7080003d, 0xffe007ff, COD|RD_t|WR_C0, 0, N5|AL }, - {"mthi", "s", 0x00000011, 0xfc1fffff, RD_s|WR_HI, 0, I1 }, - {"mthi", "s,7", 0x00000011, 0xfc1fe7ff, RD_s|WR_HI, 0, D32 }, - {"mtlo", "s", 0x00000013, 0xfc1fffff, RD_s|WR_LO, 0, I1 }, -@@ -1223,13 +1222,13 @@ - {"rol", "d,v,I", 0, (int) M_ROL_I, INSN_MACRO, 0, I1 }, - {"ror", "d,v,t", 0, (int) M_ROR, INSN_MACRO, 0, I1 }, - {"ror", "d,v,I", 0, (int) M_ROR_I, INSN_MACRO, 0, I1 }, --{"ror", "d,w,<", 0x00200002, 0xffe0003f, WR_d|RD_t, 0, N5|I33|SMT }, --{"rorv", "d,t,s", 0x00000046, 0xfc0007ff, RD_t|RD_s|WR_d, 0, N5|I33|SMT }, --{"rotl", "d,v,t", 0, (int) M_ROL, INSN_MACRO, 0, I33|SMT }, --{"rotl", "d,v,I", 0, (int) M_ROL_I, INSN_MACRO, 0, I33|SMT }, --{"rotr", "d,v,t", 0, (int) M_ROR, INSN_MACRO, 0, I33|SMT }, --{"rotr", "d,v,I", 0, (int) M_ROR_I, INSN_MACRO, 0, I33|SMT }, --{"rotrv", "d,t,s", 0x00000046, 0xfc0007ff, RD_t|RD_s|WR_d, 0, I33|SMT }, -+{"ror", "d,w,<", 0x00200002, 0xffe0003f, WR_d|RD_t, 0, N5|I33|SMT|AL }, -+{"rorv", "d,t,s", 0x00000046, 0xfc0007ff, RD_t|RD_s|WR_d, 0, N5|I33|SMT|AL }, -+{"rotl", "d,v,t", 0, (int) M_ROL, INSN_MACRO, 0, I33|SMT|AL }, -+{"rotl", "d,v,I", 0, (int) M_ROL_I, INSN_MACRO, 0, I33|SMT|AL }, -+{"rotr", "d,v,t", 0, (int) M_ROR, INSN_MACRO, 0, I33|SMT|AL }, -+{"rotr", "d,v,I", 0, (int) M_ROR_I, INSN_MACRO, 0, I33|SMT|AL }, -+{"rotrv", "d,t,s", 0x00000046, 0xfc0007ff, RD_t|RD_s|WR_d, 0, I33|SMT|AL }, - {"round.l.d", "D,S", 0x46200008, 0xffff003f, WR_D|RD_S|FP_D, 0, I3_33 }, - {"round.l.s", "D,S", 0x46000008, 0xffff003f, WR_D|RD_S|FP_S|FP_D, 0, I3_33 }, - {"round.w.d", "D,S", 0x4620000c, 0xffff003f, WR_D|RD_S|FP_S|FP_D, 0, I2 }, -@@ -1262,24 +1261,17 @@ - {"sdbbp", "c,q", 0x0000000e, 0xfc00003f, TRAP, 0, G2 }, - {"sdbbp", "", 0x7000003f, 0xffffffff, TRAP, 0, I32 }, - {"sdbbp", "B", 0x7000003f, 0xfc00003f, TRAP, 0, I32 }, --{"sdc1", "T,o(b)", 0xf4000000, 0xfc000000, SM|RD_T|RD_b|FP_D, 0, I2 }, --{"sdc1", "E,o(b)", 0xf4000000, 0xfc000000, SM|RD_T|RD_b|FP_D, 0, I2 }, --{"sdc1", "T,A(b)", 0, (int) M_SDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2 }, --{"sdc1", "E,A(b)", 0, (int) M_SDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2 }, --{"sdc2", "E,o(b)", 0xf8000000, 0xfc000000, SM|RD_C2|RD_b, 0, I2 }, --{"sdc2", "E,A(b)", 0, (int) M_SDC2_AB, INSN_MACRO, 0, I2 }, --{"sdc3", "E,o(b)", 0xfc000000, 0xfc000000, SM|RD_C3|RD_b, 0, I2 }, --{"sdc3", "E,A(b)", 0, (int) M_SDC3_AB, INSN_MACRO, 0, I2 }, --{"s.d", "T,o(b)", 0xf4000000, 0xfc000000, SM|RD_T|RD_b|FP_D, 0, I2 }, --{"s.d", "T,o(b)", 0, (int) M_S_DOB, INSN_MACRO, INSN2_M_FP_D, I1 }, --{"s.d", "T,A(b)", 0, (int) M_S_DAB, INSN_MACRO, INSN2_M_FP_D, I1 }, --{"sdl", "t,o(b)", 0xb0000000, 0xfc000000, SM|RD_t|RD_b, 0, I3 }, -+/* sdc1 is at the bottom of the table. */ -+/* sdc2 is at the bottom of the table. */ -+/* sdc3 is at the bottom of the table. */ -+/* s.d (sdc1 is at the bottom of the table. */ -+{"sdl", "t,o(b)", 0xb0000000, 0xfc000000, SM|RD_t|RD_b, 0, I3|AL }, - {"sdl", "t,A(b)", 0, (int) M_SDL_AB, INSN_MACRO, 0, I3 }, - {"sdr", "t,o(b)", 0xb4000000, 0xfc000000, SM|RD_t|RD_b, 0, I3 }, - {"sdr", "t,A(b)", 0, (int) M_SDR_AB, INSN_MACRO, 0, I3 }, - {"sdxc1", "S,t(b)", 0x4c000009, 0xfc0007ff, SM|RD_S|RD_t|RD_b|FP_D, 0, I4_33 }, --{"seb", "d,w", 0x7c000420, 0xffe007ff, WR_d|RD_t, 0, I33 }, --{"seh", "d,w", 0x7c000620, 0xffe007ff, WR_d|RD_t, 0, I33 }, -+{"seb", "d,w", 0x7c000420, 0xffe007ff, WR_d|RD_t, 0, I33|AL }, -+{"seh", "d,w", 0x7c000620, 0xffe007ff, WR_d|RD_t, 0, I33|AL }, - {"selsl", "d,v,t", 0x00000005, 0xfc0007ff, WR_d|RD_s|RD_t, 0, L1 }, - {"selsr", "d,v,t", 0x00000001, 0xfc0007ff, WR_d|RD_s|RD_t, 0, L1 }, - {"seq", "d,v,t", 0x7000002a, 0xfc0007ff, WR_d|RD_s|RD_t, 0, IOCT }, -@@ -1399,8 +1391,7 @@ - {"swc1", "E,A(b)", 0, (int) M_SWC1_AB, INSN_MACRO, INSN2_M_FP_S, I1 }, - {"s.s", "T,o(b)", 0xe4000000, 0xfc000000, SM|RD_T|RD_b|FP_S, 0, I1 }, /* swc1 */ - {"s.s", "T,A(b)", 0, (int) M_SWC1_AB, INSN_MACRO, INSN2_M_FP_S, I1 }, --{"swc2", "E,o(b)", 0xe8000000, 0xfc000000, SM|RD_C2|RD_b, 0, I1 }, --{"swc2", "E,A(b)", 0, (int) M_SWC2_AB, INSN_MACRO, 0, I1 }, -+/* swc2 is at the bottom of the table. */ - {"swc3", "E,o(b)", 0xec000000, 0xfc000000, SM|RD_C3|RD_b, 0, I1 }, - {"swc3", "E,A(b)", 0, (int) M_SWC3_AB, INSN_MACRO, 0, I1 }, - {"swl", "t,o(b)", 0xa8000000, 0xfc000000, SM|RD_t|RD_b, 0, I1 }, -@@ -1497,7 +1488,8 @@ - {"wait", "J", 0x42000020, 0xfe00003f, NODS, 0, I32|N55 }, - {"waiti", "", 0x42000020, 0xffffffff, NODS, 0, L1 }, - {"wrpgpr", "d,w", 0x41c00000, 0xffe007ff, RD_t, 0, I33 }, --{"wsbh", "d,w", 0x7c0000a0, 0xffe007ff, WR_d|RD_t, 0, I33 }, -+{"wsbh", "d,w", 0x7c0000a0, 0xffe007ff, WR_d|RD_t, 0, I33|AL }, -+{"wsbw", "d,t", 0x7c0000e0, 0xffe007ff, WR_d|RD_t, 0, AL }, - {"xor", "d,v,t", 0x00000026, 0xfc0007ff, WR_d|RD_s|RD_t, 0, I1 }, - {"xor", "t,r,I", 0, (int) M_XOR_I, INSN_MACRO, 0, I1 }, - {"xor", "D,S,T", 0x47800002, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E }, -@@ -1511,6 +1503,321 @@ - {"yield", "s", 0x7c000009, 0xfc1fffff, NODS|RD_s, 0, MT32 }, - {"yield", "d,s", 0x7c000009, 0xfc1f07ff, NODS|WR_d|RD_s, 0, MT32 }, - -+/* Sony Allegrex CPU core. */ -+{"bitrev", "d,t", 0x7c000520, 0xffe007ff, WR_d|RD_t, 0, AL }, -+/* From "MIPS DSP ASU", because instructions with the same name need to be next to each other */ -+{"bitrev", "d,t", 0x7c0006d2, 0xffe007ff, WR_d|RD_t, 0, D32 }, -+{"mfic", "t,G", 0x70000024, 0xffe007ff, LCD|WR_t|RD_C0, 0, AL }, -+{"mtic", "t,G", 0x70000026, 0xffe007ff, COD|RD_t|WR_C0, 0, AL }, -+ -+/* Sony Allegrex VFPU instructions. */ -+{"bvf", "?c,p", 0x49000000, 0xffe30000, CBD|RD_CC, 0, AL }, -+{"bvfl", "?c,p", 0x49020000, 0xffe30000, CBL|RD_CC, 0, AL }, -+{"bvt", "?c,p", 0x49010000, 0xffe30000, CBD|RD_CC, 0, AL }, -+{"bvtl", "?c,p", 0x49030000, 0xffe30000, CBL|RD_CC, 0, AL }, -+{"lv.s", "?m0x,?o(b)", 0xc8000000, 0xfc000000, CLD|RD_s|WR_CC, 0, AL }, -+{"lv.s", "?m0x,A(b)", 0, (int) M_LV_Q_AB, INSN_MACRO, 0, AL }, -+{"ulv.s", "?m0x,o(b)", 0, (int) M_ULV_S, INSN_MACRO, 0, AL }, -+{"lv.q", "?n3x,?o(b)", 0xd8000000, 0xfc000002, CLD|RD_s|WR_CC, 0, AL }, -+{"lv.q", "?n3x,A(b)", 0, (int) M_LV_Q_AB_2, INSN_MACRO, 0, AL }, -+{"ulv.q", "?n3x,?o(b)", 0, (int) M_ULV_Q, INSN_MACRO, 0, AL }, -+{"ulv.q", "?n3x,A(b)", 0, (int) M_ULV_Q_AB, INSN_MACRO, 0, AL }, -+{"lvi.s", "?t0x,l?y0", 0, (int) M_LVI_S, INSN_MACRO, 0, AL }, -+{"lvi.p", "?t1x,?[l?y0,l?y1?]", 0, (int) M_LVI_P, INSN_MACRO, 0, AL }, -+{"lvi.t", "?t2x,?[l?y0,l?y1,l?y2?]", 0, (int) M_LVI_T, INSN_MACRO, 0, AL }, -+{"lvi.q", "?t3x,?[l?y0,l?y1,l?y2,l?y3?]", 0, (int) M_LVI_Q, INSN_MACRO, 0, AL }, -+{"lvhi.s", "?t0x,?[?u?y0,?u?y1?]", 0, (int) M_LVHI_S, INSN_MACRO, 0, AL }, -+{"lvhi.p", "?t1x,?[?u?y0,?u?y1,?u?y2,?u?y3?]", 0, (int) M_LVHI_P, INSN_MACRO, 0, AL }, -+{"sv.s", "?m0x,?o(b)", 0xe8000000, 0xfc000000, SM|RD_s|RD_C2, 0, AL }, -+{"sv.s", "?m0x,A(b)", 0, (int) M_SV_S_AB, INSN_MACRO, 0, AL }, -+{"usv.s", "?m0x,o(b)", 0, (int) M_USV_S, INSN_MACRO, 0, AL }, -+{"sv.q", "?n3x,?o(b)", 0xf8000000, 0xfc000002, SM|RD_s|RD_C2, 0, AL }, -+{"sv.q", "?n3x,?o(b),?z", 0xf8000000, 0xfc000000, SM|RD_s|RD_C2, 0, AL }, -+{"sv.q", "?n3x,A(b)", 0, (int) M_SV_Q_AB, INSN_MACRO, 0, AL }, -+{"sv.q", "?n3x,A(b),?z", 0, (int) M_SV_Q_AB, INSN_MACRO, 0, AL }, -+{"sv.q", "?n3x,A,?z", 0, (int) M_SV_Q_AB, INSN_MACRO, 0, AL }, -+{"usv.q", "?n3x,?o(b)", 0, (int) M_USV_Q, INSN_MACRO, 0, AL }, -+{"usv.q", "?n3x,A(b)", 0, (int) M_USV_Q_AB, INSN_MACRO, 0, AL }, -+{"vwb.q", "?n3x,?o(b)", 0xf8000002, 0xfc000002, SM|RD_s|RD_C2, 0, AL }, -+{"lvl.q", "?n3x,?o(b)", 0xd4000000, 0xfc000002, CLD|RD_s|WR_CC, 0, AL }, -+{"lvl.q", "?n3x,A(b)", 0, (int) M_LVL_Q_AB, INSN_MACRO, 0, AL }, -+{"lvr.q", "?n3x,?o(b)", 0xd4000002, 0xfc000002, CLD|RD_s|WR_CC, 0, AL }, -+{"lvr.q", "?n3x,A(b)", 0, (int) M_LVR_Q_AB, INSN_MACRO, 0, AL }, -+{"svl.q", "?n3x,?o(b)", 0xf4000000, 0xfc000002, SM|RD_s|RD_C2, 0, AL }, -+{"svl.q", "?n3x,A(b)", 0, (int) M_SVL_Q_AB, INSN_MACRO, 0, AL }, -+{"svr.q", "?n3x,?o(b)", 0xf4000002, 0xfc000002, SM|RD_s|RD_C2, 0, AL }, -+{"svr.q", "?n3x,A(b)", 0, (int) M_SVR_Q_AB, INSN_MACRO, 0, AL }, -+{"mtv", "t,?d0z", 0x48e00000, 0xffe0ff80, LCD|WR_t|WR_C2, 0, AL }, -+{"mfv", "t,?d0z", 0x48600000, 0xffe0ff80, COD|RD_t|WR_CC|RD_C2, 0, AL }, -+{"mtvc", "t,?q", 0x48e00000, 0xffe0ff00, LCD|WR_t|WR_C2, 0, AL }, -+{"mfvc", "t,?q", 0x48600000, 0xffe0ff00, COD|RD_t|WR_CC|RD_C2, 0, AL }, -+{"vmtvc", "?q,?s0y", 0xd0510000, 0xffff8000, WR_C2, 0, AL }, -+{"vmfvc", "?d0z,?r", 0xd0500000, 0xffff0080, RD_C2, 0, AL }, -+{"vadd.q", "?d3d,?s3s,?t3t", 0x60008080, 0xff808080, RD_C2, 0, AL }, -+{"vsub.q", "?d3d,?s3s,?t3t", 0x60808080, 0xff808080, RD_C2, 0, AL }, -+{"vdiv.q", "?x3z,?s3y,?t3x", 0x63808080, 0xff808080, RD_C2, 0, AL }, -+{"vmul.q", "?d3d,?s3s,?t3t", 0x64008080, 0xff808080, RD_C2, 0, AL }, -+{"vdot.q", "?d0d,?s3s,?t3t", 0x64808080, 0xff808080, RD_C2, 0, AL }, -+{"vscl.q", "?d3d,?s3s,?t0x", 0x65008080, 0xff808080, RD_C2, 0, AL }, -+{"vhdp.q", "?d0d,?s3y,?t3t", 0x66008080, 0xff808080, RD_C2, 0, AL }, -+{"vcmp.q", "?f2,?s3s,?t3t", 0x6c008080, 0xff8080f0, RD_C2, 0, AL }, -+{"vcmp.q", "?f1,?s3s", 0x6c008080, 0xffff80f0, RD_C2, 0, AL }, -+{"vcmp.q", "?f0", 0x6c008080, 0xfffffff0, RD_C2, 0, AL }, -+{"vmin.q", "?d3d,?s3s,?t3t", 0x6d008080, 0xff808080, RD_C2, 0, AL }, -+{"vmax.q", "?d3d,?s3s,?t3t", 0x6d808080, 0xff808080, RD_C2, 0, AL }, -+{"vsgn.q", "?d3d,?s3s", 0xd04a8080, 0xffff8080, RD_C2, 0, AL }, -+{"vcst.q", "?d3d,?a", 0xd0608080, 0xffe0ff80, RD_C2, 0, AL }, -+{"vscmp.q", "?d3d,?s3s,?t3t", 0x6e808080, 0xff808080, RD_C2, 0, AL }, -+{"vsge.q", "?d3d,?s3s,?t3t", 0x6f008080, 0xff808080, RD_C2, 0, AL }, -+{"vslt.q", "?d3d,?s3s,?t3t", 0x6f808080, 0xff808080, RD_C2, 0, AL }, -+{"vi2uc.q", "?d0m,?s3w", 0xd03c8080, 0xffff8080, RD_C2, 0, AL }, -+{"vi2c.q", "?d0m,?s3w", 0xd03d8080, 0xffff8080, RD_C2, 0, AL }, -+{"vi2us.q", "?d1m,?s3w", 0xd03e8080, 0xffff8080, RD_C2, 0, AL }, -+{"vi2s.q", "?d1m,?s3w", 0xd03f8080, 0xffff8080, RD_C2, 0, AL }, -+{"vmov.q", "?d3d,?s3s", 0xd0008080, 0xffff8080, RD_C2, 0, AL }, -+{"vabs.q", "?d3d,?s3w", 0xd0018080, 0xffff8080, RD_C2, 0, AL }, -+{"vneg.q", "?d3d,?s3w", 0xd0028080, 0xffff8080, RD_C2, 0, AL }, -+{"vidt.q", "?d3d", 0xd0038080, 0xffffff80, RD_C2, 0, AL }, -+{"vsat0.q", "?d3z,?s3s", 0xd0048080, 0xffff8080, RD_C2, 0, AL }, -+{"vsat1.q", "?d3z,?s3s", 0xd0058080, 0xffff8080, RD_C2, 0, AL }, -+{"vzero.q", "?d3d", 0xd0068080, 0xffffff80, RD_C2, 0, AL }, -+{"vone.q", "?d3d", 0xd0078080, 0xffffff80, RD_C2, 0, AL }, -+{"vrcp.q", "?x3z,?s3y", 0xd0108080, 0xffff8080, RD_C2, 0, AL }, -+{"vrsq.q", "?x3z,?s3y", 0xd0118080, 0xffff8080, RD_C2, 0, AL }, -+{"vsin.q", "?x3z,?s3y", 0xd0128080, 0xffff8080, RD_C2, 0, AL }, -+{"vcos.q", "?x3z,?s3y", 0xd0138080, 0xffff8080, RD_C2, 0, AL }, -+{"vexp2.q", "?x3z,?s3y", 0xd0148080, 0xffff8080, RD_C2, 0, AL }, -+{"vlog2.q", "?x3z,?s3y", 0xd0158080, 0xffff8080, RD_C2, 0, AL }, -+{"vsqrt.q", "?x3z,?s3y", 0xd0168080, 0xffff8080, RD_C2, 0, AL }, -+{"vasin.q", "?x3z,?s3y", 0xd0178080, 0xffff8080, RD_C2, 0, AL }, -+{"vnrcp.q", "?x3z,?s3y", 0xd0188080, 0xffff8080, RD_C2, 0, AL }, -+{"vnsin.q", "?x3z,?s3y", 0xd01a8080, 0xffff8080, RD_C2, 0, AL }, -+{"vrexp2.q", "?x3z,?s3y", 0xd01c8080, 0xffff8080, RD_C2, 0, AL }, -+{"vrndi.q", "?d3z", 0xd0218080, 0xffffff80, RD_C2, 0, AL }, -+{"vrndf1.q", "?d3z", 0xd0228080, 0xffffff80, RD_C2, 0, AL }, -+{"vrndf2.q", "?d3z", 0xd0238080, 0xffffff80, RD_C2, 0, AL }, -+{"vf2h.q", "?d1m,?s3s", 0xd0328080, 0xffff8080, RD_C2, 0, AL }, -+{"vsrt1.q", "?d3d,?s3s", 0xd0408080, 0xffff8080, RD_C2, 0, AL }, -+{"vsrt2.q", "?d3d,?s3s", 0xd0418080, 0xffff8080, RD_C2, 0, AL }, -+{"vsrt3.q", "?d3d,?s3s", 0xd0488080, 0xffff8080, RD_C2, 0, AL }, -+{"vsrt4.q", "?d3d,?s3s", 0xd0498080, 0xffff8080, RD_C2, 0, AL }, -+{"vbfy1.q", "?d3d,?s3s", 0xd0428080, 0xffff8080, RD_C2, 0, AL }, -+{"vbfy2.q", "?d3d,?s3s", 0xd0438080, 0xffff8080, RD_C2, 0, AL }, -+{"vocp.q", "?d3d,?s3y", 0xd0448080, 0xffff8080, RD_C2, 0, AL }, -+{"vfad.q", "?d0d,?s3s", 0xd0468080, 0xffff8080, RD_C2, 0, AL }, -+{"vavg.q", "?d0d,?s3s", 0xd0478080, 0xffff8080, RD_C2, 0, AL }, -+{"vf2in.q", "?d3m,?s3s,?b", 0xd2008080, 0xffe08080, RD_C2, 0, AL }, -+{"vf2iz.q", "?d3m,?s3s,?b", 0xd2208080, 0xffe08080, RD_C2, 0, AL }, -+{"vf2iu.q", "?d3m,?s3s,?b", 0xd2408080, 0xffe08080, RD_C2, 0, AL }, -+{"vf2id.q", "?d3m,?s3s,?b", 0xd2608080, 0xffe08080, RD_C2, 0, AL }, -+{"vi2f.q", "?d3d,?s3w,?b", 0xd2808080, 0xffe08080, RD_C2, 0, AL }, -+{"vcmov.q", "?d3d,?s3s,?e", 0, (int) M_VCMOV_Q, INSN_MACRO, 0, AL }, -+{"vcmovt.q", "?d3d,?s3s,?e", 0xd2a08080, 0xfff88080, RD_C2, 0, AL }, -+{"vcmovf.q", "?d3d,?s3s,?e", 0xd2a88080, 0xfff88080, RD_C2, 0, AL }, -+{"vmmul.q", "?v7z,?s7y,?t7x", 0xf0008080, 0xff808080, RD_C2, 0, AL }, -+{"vtfm4.q", "?v3z,?s7y,?t3x", 0xf1808080, 0xff808080, RD_C2, 0, AL }, -+{"vhtfm4.q", "?v3z,?s7y,?t3x", 0xf1808000, 0xff808080, RD_C2, 0, AL }, -+{"vmscl.q", "?x7z,?s7y,?t0x", 0xf2008080, 0xff808080, RD_C2, 0, AL }, -+{"vqmul.q", "?v3z,?s3y,?t3x", 0xf2808080, 0xff808080, RD_C2, 0, AL }, -+{"vmmov.q", "?x7z,?s7y", 0xf3808080, 0xffff8080, RD_C2, 0, AL }, -+{"vmidt.q", "?d7z", 0xf3838080, 0xffffff80, RD_C2, 0, AL }, -+{"vmzero.q", "?d7z", 0xf3868080, 0xffffff80, RD_C2, 0, AL }, -+{"vmone.q", "?d7z", 0xf3878080, 0xffffff80, RD_C2, 0, AL }, -+{"vrot.q", "?x3z,?s0y,?w", 0xf3a08080, 0xffe08080, RD_C2, 0, AL }, -+{"vt4444.q", "?d1z,?s3w", 0xd0598080, 0xffff8080, RD_C2, 0, AL }, -+{"vt5551.q", "?d1z,?s3w", 0xd05a8080, 0xffff8080, RD_C2, 0, AL }, -+{"vt5650.q", "?d1z,?s3w", 0xd05b8080, 0xffff8080, RD_C2, 0, AL }, -+{"vadd.t", "?d2d,?s2s,?t2t", 0x60008000, 0xff808080, RD_C2, 0, AL }, -+{"vsub.t", "?d2d,?s2s,?t2t", 0x60808000, 0xff808080, RD_C2, 0, AL }, -+{"vdiv.t", "?x2z,?s2y,?t2x", 0x63808000, 0xff808080, RD_C2, 0, AL }, -+{"vmul.t", "?d2d,?s2s,?t2t", 0x64008000, 0xff808080, RD_C2, 0, AL }, -+{"vdot.t", "?d0d,?s2s,?t2t", 0x64808000, 0xff808080, RD_C2, 0, AL }, -+{"vscl.t", "?d2d,?s2s,?t0x", 0x65008000, 0xff808080, RD_C2, 0, AL }, -+{"vhdp.t", "?d0d,?s2y,?t2t", 0x66008000, 0xff808080, RD_C2, 0, AL }, -+{"vcrs.t", "?d2d,?s2y,?t2x", 0x66808000, 0xff808080, RD_C2, 0, AL }, -+{"vcmp.t", "?f2,?s2s,?t2t", 0x6c008000, 0xff8080f0, RD_C2, 0, AL }, -+{"vcmp.t", "?f1,?s2s", 0x6c008000, 0xffff80f0, RD_C2, 0, AL }, -+{"vcmp.t", "?f0", 0x6c008000, 0xfffffff0, RD_C2, 0, AL }, -+{"vmin.t", "?d2d,?s2s,?t2t", 0x6d008000, 0xff808080, RD_C2, 0, AL }, -+{"vmax.t", "?d2d,?s2s,?t2t", 0x6d808000, 0xff808080, RD_C2, 0, AL }, -+{"vsgn.t", "?d2d,?s2s", 0xd04a8000, 0xffff8080, RD_C2, 0, AL }, -+{"vcst.t", "?d2d,?a", 0xd0608000, 0xffe0ff80, RD_C2, 0, AL }, -+{"vscmp.t", "?d2d,?s2s,?t2t", 0x6e808000, 0xff808080, RD_C2, 0, AL }, -+{"vsge.t", "?d2d,?s2s,?t2t", 0x6f008000, 0xff808080, RD_C2, 0, AL }, -+{"vslt.t", "?d2d,?s2s,?t2t", 0x6f808000, 0xff808080, RD_C2, 0, AL }, -+{"vmov.t", "?d2d,?s2s", 0xd0008000, 0xffff8080, RD_C2, 0, AL }, -+{"vabs.t", "?d2d,?s2w", 0xd0018000, 0xffff8080, RD_C2, 0, AL }, -+{"vneg.t", "?d2d,?s2w", 0xd0028000, 0xffff8080, RD_C2, 0, AL }, -+{"vsat0.t", "?d2z,?s2s", 0xd0048000, 0xffff8080, RD_C2, 0, AL }, -+{"vsat1.t", "?d2z,?s2s", 0xd0058000, 0xffff8080, RD_C2, 0, AL }, -+{"vzero.t", "?d2d", 0xd0068000, 0xffffff80, RD_C2, 0, AL }, -+{"vone.t", "?d2d", 0xd0078000, 0xffffff80, RD_C2, 0, AL }, -+{"vrcp.t", "?x2z,?s2y", 0xd0108000, 0xffff8080, RD_C2, 0, AL }, -+{"vrsq.t", "?x2z,?s2y", 0xd0118000, 0xffff8080, RD_C2, 0, AL }, -+{"vsin.t", "?x2z,?s2y", 0xd0128000, 0xffff8080, RD_C2, 0, AL }, -+{"vcos.t", "?x2z,?s2y", 0xd0138000, 0xffff8080, RD_C2, 0, AL }, -+{"vexp2.t", "?x2z,?s2y", 0xd0148000, 0xffff8080, RD_C2, 0, AL }, -+{"vlog2.t", "?x2z,?s2y", 0xd0158000, 0xffff8080, RD_C2, 0, AL }, -+{"vsqrt.t", "?x2z,?s2y", 0xd0168000, 0xffff8080, RD_C2, 0, AL }, -+{"vasin.t", "?x2z,?s2y", 0xd0178000, 0xffff8080, RD_C2, 0, AL }, -+{"vnrcp.t", "?x2z,?s2y", 0xd0188000, 0xffff8080, RD_C2, 0, AL }, -+{"vnsin.t", "?x2z,?s2y", 0xd01a8000, 0xffff8080, RD_C2, 0, AL }, -+{"vrexp2.t", "?x2z,?s2y", 0xd01c8000, 0xffff8080, RD_C2, 0, AL }, -+{"vrndi.t", "?d2z", 0xd0218000, 0xffffff80, RD_C2, 0, AL }, -+{"vrndf1.t", "?d2z", 0xd0228000, 0xffffff80, RD_C2, 0, AL }, -+{"vrndf2.t", "?d2z", 0xd0238000, 0xffffff80, RD_C2, 0, AL }, -+{"vocp.t", "?d2d,?s2y", 0xd0448000, 0xffff8080, RD_C2, 0, AL }, -+{"vfad.t", "?d0d,?s2s", 0xd0468000, 0xffff8080, RD_C2, 0, AL }, -+{"vavg.t", "?d0d,?s2s", 0xd0478000, 0xffff8080, RD_C2, 0, AL }, -+{"vf2in.t", "?d2m,?s2s,?b", 0xd2008000, 0xffe08080, RD_C2, 0, AL }, -+{"vf2iz.t", "?d2m,?s2s,?b", 0xd2208000, 0xffe08080, RD_C2, 0, AL }, -+{"vf2iu.t", "?d2m,?s2s,?b", 0xd2408000, 0xffe08080, RD_C2, 0, AL }, -+{"vf2id.t", "?d2m,?s2s,?b", 0xd2608000, 0xffe08080, RD_C2, 0, AL }, -+{"vi2f.t", "?d2d,?s2w,?b", 0xd2808000, 0xffe08080, RD_C2, 0, AL }, -+{"vcmov.t", "?d2d,?s2s,?e", 0, (int) M_VCMOV_T, INSN_MACRO, 0, AL }, -+{"vcmovt.t", "?d2d,?s2s,?e", 0xd2a08000, 0xfff88080, RD_C2, 0, AL }, -+{"vcmovf.t", "?d2d,?s2s,?e", 0xd2a88000, 0xfff88080, RD_C2, 0, AL }, -+{"vmmul.t", "?v6z,?s6y,?t6x", 0xf0008000, 0xff808080, RD_C2, 0, AL }, -+{"vtfm3.t", "?v2z,?s6y,?t2x", 0xf1008000, 0xff808080, RD_C2, 0, AL }, -+{"vhtfm3.t", "?v2z,?s6y,?t2x", 0xf1000080, 0xff808080, RD_C2, 0, AL }, -+{"vmscl.t", "?x6z,?s6y,?t0x", 0xf2008000, 0xff808080, RD_C2, 0, AL }, -+{"vmmov.t", "?x6z,?s6y", 0xf3808000, 0xffff8080, RD_C2, 0, AL }, -+{"vmidt.t", "?d6z", 0xf3838000, 0xffffff80, RD_C2, 0, AL }, -+{"vmzero.t", "?d6z", 0xf3868000, 0xffffff80, RD_C2, 0, AL }, -+{"vmone.t", "?d6z", 0xf3878000, 0xffffff80, RD_C2, 0, AL }, -+{"vrot.t", "?x2z,?s0y,?w", 0xf3a08000, 0xffe08080, RD_C2, 0, AL }, -+{"vcrsp.t", "?d2z,?s2y,?t2x", 0xf2808000, 0xff808080, RD_C2, 0, AL }, -+{"vadd.p", "?d1d,?s1s,?t1t", 0x60000080, 0xff808080, RD_C2, 0, AL }, -+{"vsub.p", "?d1d,?s1s,?t1t", 0x60800080, 0xff808080, RD_C2, 0, AL }, -+{"vdiv.p", "?x1z,?s1y,?t1x", 0x63800080, 0xff808080, RD_C2, 0, AL }, -+{"vmul.p", "?d1d,?s1s,?t1t", 0x64000080, 0xff808080, RD_C2, 0, AL }, -+{"vdot.p", "?d0d,?s1s,?t1t", 0x64800080, 0xff808080, RD_C2, 0, AL }, -+{"vscl.p", "?d1d,?s1s,?t0x", 0x65000080, 0xff808080, RD_C2, 0, AL }, -+{"vhdp.p", "?d0d,?s1y,?t1t", 0x66000080, 0xff808080, RD_C2, 0, AL }, -+{"vdet.p", "?d0d,?s1s,?t1x", 0x67000080, 0xff808080, RD_C2, 0, AL }, -+{"vcmp.p", "?f2,?s1s,?t1t", 0x6c000080, 0xff8080f0, RD_C2, 0, AL }, -+{"vcmp.p", "?f1,?s1s", 0x6c000080, 0xffff80f0, RD_C2, 0, AL }, -+{"vcmp.p", "?f0", 0x6c000080, 0xfffffff0, RD_C2, 0, AL }, -+{"vmin.p", "?d1d,?s1s,?t1t", 0x6d000080, 0xff808080, RD_C2, 0, AL }, -+{"vmax.p", "?d1d,?s1s,?t1t", 0x6d800080, 0xff808080, RD_C2, 0, AL }, -+{"vsgn.p", "?d1d,?s1s", 0xd04a0080, 0xffff8080, RD_C2, 0, AL }, -+{"vcst.p", "?d1d,?a", 0xd0600080, 0xffe0ff80, RD_C2, 0, AL }, -+{"vscmp.p", "?d1d,?s1s,?t1t", 0x6e800080, 0xff808080, RD_C2, 0, AL }, -+{"vsge.p", "?d1d,?s1s,?t1t", 0x6f000080, 0xff808080, RD_C2, 0, AL }, -+{"vslt.p", "?d1d,?s1s,?t1t", 0x6f800080, 0xff808080, RD_C2, 0, AL }, -+{"vus2i.p", "?d3m,?s1y", 0xd03a0080, 0xffff8080, RD_C2, 0, AL }, -+{"vs2i.p", "?d3m,?s1y", 0xd03b0080, 0xffff8080, RD_C2, 0, AL }, -+{"vi2us.p", "?d0m,?s1w", 0xd03e0080, 0xffff8080, RD_C2, 0, AL }, -+{"vi2s.p", "?d0m,?s1w", 0xd03f0080, 0xffff8080, RD_C2, 0, AL }, -+{"vmov.p", "?d1d,?s1s", 0xd0000080, 0xffff8080, RD_C2, 0, AL }, -+{"vabs.p", "?d1d,?s1w", 0xd0010080, 0xffff8080, RD_C2, 0, AL }, -+{"vneg.p", "?d1d,?s1w", 0xd0020080, 0xffff8080, RD_C2, 0, AL }, -+{"vidt.p", "?d1d", 0xd0030080, 0xffffff80, RD_C2, 0, AL }, -+{"vsat0.p", "?d1z,?s1s", 0xd0040080, 0xffff8080, RD_C2, 0, AL }, -+{"vsat1.p", "?d1z,?s1s", 0xd0050080, 0xffff8080, RD_C2, 0, AL }, -+{"vzero.p", "?d1d", 0xd0060080, 0xffffff80, RD_C2, 0, AL }, -+{"vone.p", "?d1d", 0xd0070080, 0xffffff80, RD_C2, 0, AL }, -+{"vrcp.p", "?x1z,?s1y", 0xd0100080, 0xffff8080, RD_C2, 0, AL }, -+{"vrsq.p", "?x1z,?s1y", 0xd0110080, 0xffff8080, RD_C2, 0, AL }, -+{"vsin.p", "?x1z,?s1y", 0xd0120080, 0xffff8080, RD_C2, 0, AL }, -+{"vcos.p", "?x1z,?s1y", 0xd0130080, 0xffff8080, RD_C2, 0, AL }, -+{"vexp2.p", "?x1z,?s1y", 0xd0140080, 0xffff8080, RD_C2, 0, AL }, -+{"vlog2.p", "?x1z,?s1y", 0xd0150080, 0xffff8080, RD_C2, 0, AL }, -+{"vsqrt.p", "?x1z,?s1y", 0xd0160080, 0xffff8080, RD_C2, 0, AL }, -+{"vasin.p", "?x1z,?s1y", 0xd0170080, 0xffff8080, RD_C2, 0, AL }, -+{"vnrcp.p", "?x1z,?s1y", 0xd0180080, 0xffff8080, RD_C2, 0, AL }, -+{"vnsin.p", "?x1z,?s1y", 0xd01a0080, 0xffff8080, RD_C2, 0, AL }, -+{"vrexp2.p", "?x1z,?s1y", 0xd01c0080, 0xffff8080, RD_C2, 0, AL }, -+{"vrndi.p", "?d1z", 0xd0210080, 0xffffff80, RD_C2, 0, AL }, -+{"vrndf1.p", "?d1z", 0xd0220080, 0xffffff80, RD_C2, 0, AL }, -+{"vrndf2.p", "?d1z", 0xd0230080, 0xffffff80, RD_C2, 0, AL }, -+{"vf2h.p", "?d0m,?s1s", 0xd0320080, 0xffff8080, RD_C2, 0, AL }, -+{"vh2f.p", "?d3d,?s1y", 0xd0330080, 0xffff8080, RD_C2, 0, AL }, -+{"vbfy1.p", "?d1d,?s1s", 0xd0420080, 0xffff8080, RD_C2, 0, AL }, -+{"vocp.p", "?d1d,?s1y", 0xd0440080, 0xffff8080, RD_C2, 0, AL }, -+{"vsocp.p", "?d3z,?s1y", 0xd0450080, 0xffff8080, RD_C2, 0, AL }, -+{"vfad.p", "?d0d,?s1s", 0xd0460080, 0xffff8080, RD_C2, 0, AL }, -+{"vavg.p", "?d0d,?s1s", 0xd0470080, 0xffff8080, RD_C2, 0, AL }, -+{"vf2in.p", "?d1m,?s1s,?b", 0xd2000080, 0xffe08080, RD_C2, 0, AL }, -+{"vf2iz.p", "?d1m,?s1s,?b", 0xd2200080, 0xffe08080, RD_C2, 0, AL }, -+{"vf2iu.p", "?d1m,?s1s,?b", 0xd2400080, 0xffe08080, RD_C2, 0, AL }, -+{"vf2id.p", "?d1m,?s1s,?b", 0xd2600080, 0xffe08080, RD_C2, 0, AL }, -+{"vi2f.p", "?d1d,?s1w,?b", 0xd2800080, 0xffe08080, RD_C2, 0, AL }, -+{"vcmov.p", "?d1d,?s1s,?e", 0, (int) M_VCMOV_P, INSN_MACRO, 0, AL }, -+{"vcmovt.p", "?d1d,?s1s,?e", 0xd2a00080, 0xfff88080, RD_C2, 0, AL }, -+{"vcmovf.p", "?d1d,?s1s,?e", 0xd2a80080, 0xfff88080, RD_C2, 0, AL }, -+{"vmmul.p", "?v5z,?s5y,?t5x", 0xf0000080, 0xff808080, RD_C2, 0, AL }, -+{"vtfm2.p", "?v1z,?s5y,?t1x", 0xf0800080, 0xff808080, RD_C2, 0, AL }, -+{"vhtfm2.p", "?v1z,?s5y,?t1x", 0xf0800000, 0xff808080, RD_C2, 0, AL }, -+{"vmscl.p", "?x5z,?s5y,?t0x", 0xf2000080, 0xff808080, RD_C2, 0, AL }, -+{"vmmov.p", "?x5z,?s5y", 0xf3800080, 0xffff8080, RD_C2, 0, AL }, -+{"vmidt.p", "?d5z", 0xf3830080, 0xffffff80, RD_C2, 0, AL }, -+{"vmzero.p", "?d5z", 0xf3860080, 0xffffff80, RD_C2, 0, AL }, -+{"vmone.p", "?d5z", 0xf3870080, 0xffffff80, RD_C2, 0, AL }, -+{"vrot.p", "?x1z,?s0y,?w", 0xf3a00080, 0xffe08080, RD_C2, 0, AL }, -+{"vadd.s", "?d0d,?s0s,?t0t", 0x60000000, 0xff808080, RD_C2, 0, AL }, -+{"vsub.s", "?d0d,?s0s,?t0t", 0x60800000, 0xff808080, RD_C2, 0, AL }, -+{"vdiv.s", "?x0d,?s0s,?t0t", 0x63800000, 0xff808080, RD_C2, 0, AL }, -+{"vmul.s", "?d0d,?s0s,?t0t", 0x64000000, 0xff808080, RD_C2, 0, AL }, -+{"vcmp.s", "?f2,?s0s,?t0t", 0x6c000000, 0xff8080f0, RD_C2, 0, AL }, -+{"vcmp.s", "?f1,?s0s", 0x6c000000, 0xffff80f0, RD_C2, 0, AL }, -+{"vcmp.s", "?f0", 0x6c000000, 0xfffffff0, RD_C2, 0, AL }, -+{"vmin.s", "?d0d,?s0s,?t0t", 0x6d000000, 0xff808080, RD_C2, 0, AL }, -+{"vmax.s", "?d0d,?s0s,?t0t", 0x6d800000, 0xff808080, RD_C2, 0, AL }, -+{"vsgn.s", "?d0d,?s0s", 0xd04a0000, 0xffff8080, RD_C2, 0, AL }, -+{"vcst.s", "?d0d,?a", 0xd0600000, 0xffe0ff80, RD_C2, 0, AL }, -+{"vscmp.s", "?d0d,?s0s,?t0t", 0x6e800000, 0xff808080, RD_C2, 0, AL }, -+{"vsge.s", "?d0d,?s0s,?t0t", 0x6f000000, 0xff808080, RD_C2, 0, AL }, -+{"vslt.s", "?d0d,?s0s,?t0t", 0x6f800000, 0xff808080, RD_C2, 0, AL }, -+{"vus2i.s", "?d1m,?s0y", 0xd03a0000, 0xffff8080, RD_C2, 0, AL }, -+{"vs2i.s", "?d1m,?s0y", 0xd03b0000, 0xffff8080, RD_C2, 0, AL }, -+{"vmov.s", "?d0d,?s0s", 0xd0000000, 0xffff8080, RD_C2, 0, AL }, -+{"vabs.s", "?d0d,?s0w", 0xd0010000, 0xffff8080, RD_C2, 0, AL }, -+{"vneg.s", "?d0d,?s0w", 0xd0020000, 0xffff8080, RD_C2, 0, AL }, -+{"vsat0.s", "?d0z,?s0s", 0xd0040000, 0xffff8080, RD_C2, 0, AL }, -+{"vsat1.s", "?d0z,?s0s", 0xd0050000, 0xffff8080, RD_C2, 0, AL }, -+{"vzero.s", "?d0d", 0xd0060000, 0xffffff80, RD_C2, 0, AL }, -+{"vone.s", "?d0d", 0xd0070000, 0xffffff80, RD_C2, 0, AL }, -+{"vrcp.s", "?x0d,?s0s", 0xd0100000, 0xffff8080, RD_C2, 0, AL }, -+{"vrsq.s", "?x0d,?s0s", 0xd0110000, 0xffff8080, RD_C2, 0, AL }, -+{"vsin.s", "?x0d,?s0s", 0xd0120000, 0xffff8080, RD_C2, 0, AL }, -+{"vcos.s", "?x0d,?s0s", 0xd0130000, 0xffff8080, RD_C2, 0, AL }, -+{"vexp2.s", "?x0d,?s0s", 0xd0140000, 0xffff8080, RD_C2, 0, AL }, -+{"vlog2.s", "?x0d,?s0s", 0xd0150000, 0xffff8080, RD_C2, 0, AL }, -+{"vsqrt.s", "?x0d,?s0s", 0xd0160000, 0xffff8080, RD_C2, 0, AL }, -+{"vasin.s", "?x0d,?s0s", 0xd0170000, 0xffff8080, RD_C2, 0, AL }, -+{"vnrcp.s", "?x0d,?s0y", 0xd0180000, 0xffff8080, RD_C2, 0, AL }, -+{"vnsin.s", "?x0d,?s0y", 0xd01a0000, 0xffff8080, RD_C2, 0, AL }, -+{"vrexp2.s", "?x0d,?s0y", 0xd01c0000, 0xffff8080, RD_C2, 0, AL }, -+{"vrnds.s", "?s0y", 0xd0200000, 0xffff80ff, RD_C2, 0, AL }, -+{"vrndi.s", "?d0d", 0xd0210000, 0xffffff80, RD_C2, 0, AL }, -+{"vrndf1.s", "?d0d", 0xd0220000, 0xffffff80, RD_C2, 0, AL }, -+{"vrndf2.s", "?d0d", 0xd0230000, 0xffffff80, RD_C2, 0, AL }, -+{"vh2f.s", "?d1d,?s0y", 0xd0330000, 0xffff8080, RD_C2, 0, AL }, -+{"vsbz.s", "?d0d,?s0s", 0xd0360000, 0xffff8080, RD_C2, 0, AL }, -+{"vsbn.s", "?d0d,?s0s,?t0t", 0x61000000, 0xff808080, RD_C2, 0, AL }, -+{"vlgb.s", "?d0d,?s0s", 0xd0370000, 0xffff8080, RD_C2, 0, AL }, -+{"vocp.s", "?d0d,?s0y", 0xd0440000, 0xffff8080, RD_C2, 0, AL }, -+{"vsocp.s", "?d1z,?s0y", 0xd0450000, 0xffff8080, RD_C2, 0, AL }, -+{"vf2in.s", "?d0m,?s0s,?b", 0xd2000000, 0xffe08080, RD_C2, 0, AL }, -+{"vf2iz.s", "?d0m,?s0s,?b", 0xd2200000, 0xffe08080, RD_C2, 0, AL }, -+{"vf2iu.s", "?d0m,?s0s,?b", 0xd2400000, 0xffe08080, RD_C2, 0, AL }, -+{"vf2id.s", "?d0m,?s0s,?b", 0xd2600000, 0xffe08080, RD_C2, 0, AL }, -+{"vi2f.s", "?d0d,?s0w,?b", 0xd2800000, 0xffe08080, RD_C2, 0, AL }, -+{"vcmov.s", "?d0d,?s0s,?e", 0, (int) M_VCMOV_S, INSN_MACRO, 0, AL }, -+{"vcmovt.s", "?d0d,?s0s,?e", 0xd2a00000, 0xfff88080, RD_C2, 0, AL }, -+{"vcmovf.s", "?d0d,?s0s,?e", 0xd2a80000, 0xfff88080, RD_C2, 0, AL }, -+{"vwbn.s", "?d0d,?s0s,?i", 0xd3000000, 0xff008080, RD_C2, 0, AL }, -+{"vpfxs", "?0,?1,?2,?3", 0xdc000000, 0xff000000, RD_C2, 0, AL }, -+{"vpfxt", "?0,?1,?2,?3", 0xdd000000, 0xff000000, RD_C2, 0, AL }, -+{"vpfxd", "?4,?5,?6,?7", 0xde000000, 0xff000000, RD_C2, 0, AL }, -+{"viim.s", "?t0d,j", 0xdf000000, 0xff800000, RD_C2, 0, AL }, -+{"vfim.s", "?t0d,?u", 0xdf800000, 0xff800000, RD_C2, 0, AL }, -+{"vnop", "", 0xffff0000, 0xffffffff, RD_C2, 0, AL }, -+{"vflush", "", 0xffff040d, 0xffffffff, RD_C2, 0, AL }, -+{"vsync", "", 0xffff0320, 0xffffffff, RD_C2, 0, AL }, -+{"vsync", "i", 0xffff0000, 0xffff0000, RD_C2, 0, AL }, -+ - /* User Defined Instruction. */ - {"udi0", "s,t,d,+1",0x70000010, 0xfc00003f, WR_d|RD_s|RD_t, 0, I33 }, - {"udi0", "s,t,+2", 0x70000010, 0xfc00003f, WR_d|RD_s|RD_t, 0, I33 }, -@@ -1606,6 +1913,36 @@ - {"mthc2", "t,G,H", 0x48e00000, 0xffe007f8, COD|RD_t|WR_C2|WR_CC, 0, I33 }, - {"mthc2", "t,i", 0x48e00000, 0xffe00000, COD|RD_t|WR_C2|WR_CC, 0, I33 }, - -+/* Coprocessor 2 load/store operations overlap with the Allegrex VFPU -+ instructions so they are here for the latters to take precedence. */ -+/* COP1 ldc1 and sdc1 and COP3 ldc3 and sdc3 also overlap with the VFPU. */ -+{"ldc1", "T,o(b)", 0xd4000000, 0xfc000000, CLD|RD_b|WR_T|FP_D, 0, I2 }, -+{"ldc1", "E,o(b)", 0xd4000000, 0xfc000000, CLD|RD_b|WR_T|FP_D, 0, I2 }, -+{"ldc1", "T,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, 0, I2 }, -+{"ldc1", "E,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, 0, I2 }, -+{"l.d", "T,o(b)", 0xd4000000, 0xfc000000, CLD|RD_b|WR_T|FP_D, 0, I2 }, /* ldc1 */ -+{"l.d", "T,o(b)", 0, (int) M_L_DOB, INSN_MACRO, 0, I1 }, -+{"l.d", "T,A(b)", 0, (int) M_L_DAB, INSN_MACRO, 0, I1 }, -+{"ldc2", "E,o(b)", 0xd8000000, 0xfc000000, CLD|RD_b|WR_CC, 0, I2 }, -+{"ldc2", "E,A(b)", 0, (int) M_LDC2_AB, INSN_MACRO, 0, I2 }, -+{"ldc3", "E,o(b)", 0xdc000000, 0xfc000000, CLD|RD_b|WR_CC, 0, I2 }, -+{"ldc3", "E,A(b)", 0, (int) M_LDC3_AB, INSN_MACRO, 0, I2 }, -+{"lwc2", "E,o(b)", 0xc8000000, 0xfc000000, CLD|RD_b|WR_CC, 0, I1 }, -+{"lwc2", "E,A(b)", 0, (int) M_LWC2_AB, INSN_MACRO, 0, I1 }, -+{"sdc1", "T,o(b)", 0xf4000000, 0xfc000000, SM|RD_T|RD_b|FP_D, 0, I2 }, -+{"sdc1", "E,o(b)", 0xf4000000, 0xfc000000, SM|RD_T|RD_b|FP_D, 0, I2 }, -+{"sdc1", "T,A(b)", 0, (int) M_SDC1_AB, INSN_MACRO, 0, I2 }, -+{"sdc1", "E,A(b)", 0, (int) M_SDC1_AB, INSN_MACRO, 0, I2 }, -+{"s.d", "T,o(b)", 0xf4000000, 0xfc000000, SM|RD_T|RD_b|FP_D, 0, I2 }, -+{"s.d", "T,o(b)", 0, (int) M_S_DOB, INSN_MACRO, 0, I1 }, -+{"s.d", "T,A(b)", 0, (int) M_S_DAB, INSN_MACRO, 0, I1 }, -+{"sdc2", "E,o(b)", 0xf8000000, 0xfc000000, SM|RD_C2|RD_b, 0, I2 }, -+{"sdc2", "E,A(b)", 0, (int) M_SDC2_AB, INSN_MACRO, 0, I2 }, -+{"sdc3", "E,o(b)", 0xfc000000, 0xfc000000, SM|RD_C3|RD_b, 0, I2 }, -+{"sdc3", "E,A(b)", 0, (int) M_SDC3_AB, INSN_MACRO, 0, I2 }, -+{"swc2", "E,o(b)", 0xe8000000, 0xfc000000, SM|RD_C2|RD_b, 0, I1 }, -+{"swc2", "E,A(b)", 0, (int) M_SWC2_AB, INSN_MACRO, 0, I1 }, -+ - /* Coprocessor 3 move/branch operations overlap with MIPS IV COP1X - instructions, so they are here for the latters to take precedence. */ - {"bc3f", "p", 0x4d000000, 0xffff0000, CBD|RD_CC, 0, I1 }, -@@ -1643,7 +1980,6 @@ - {"addu_s.ob", "d,s,t", 0x7c000114, 0xfc0007ff, WR_d|RD_s|RD_t, 0, D64 }, - {"addu_s.qb", "d,s,t", 0x7c000110, 0xfc0007ff, WR_d|RD_s|RD_t, 0, D32 }, - {"addwc", "d,s,t", 0x7c000450, 0xfc0007ff, WR_d|RD_s|RD_t, 0, D32 }, --{"bitrev", "d,t", 0x7c0006d2, 0xffe007ff, WR_d|RD_t, 0, D32 }, - {"bposge32", "p", 0x041c0000, 0xffff0000, CBD, 0, D32 }, - {"bposge64", "p", 0x041d0000, 0xffff0000, CBD, 0, D64 }, - {"cmp.eq.ph", "s,t", 0x7c000211, 0xfc00ffff, RD_s|RD_t, 0, D32 }, diff --git a/devel/psptoolchain-binutils/pkg-descr b/devel/psptoolchain-binutils/pkg-descr deleted file mode 100644 index ebd84fb39295..000000000000 --- a/devel/psptoolchain-binutils/pkg-descr +++ /dev/null @@ -1,4 +0,0 @@ -The PlayStation Portable Toolchain is a collection of tools and utilities -for homebrew PSP development. - -WWW: http://www.ps2dev.org diff --git a/devel/psptoolchain-binutils/pkg-plist b/devel/psptoolchain-binutils/pkg-plist deleted file mode 100644 index 4cd4d21f053f..000000000000 --- a/devel/psptoolchain-binutils/pkg-plist +++ /dev/null @@ -1,69 +0,0 @@ -bin/psp-addr2line -bin/psp-ar -bin/psp-as -bin/psp-c++filt -bin/psp-elfedit -bin/psp-ld -bin/psp-ld.bfd -bin/psp-nm -bin/psp-objcopy -bin/psp-objdump -bin/psp-ranlib -bin/psp-readelf -bin/psp-size -bin/psp-strings -bin/psp-strip -man/man1/psp-addr2line.1.gz -man/man1/psp-ar.1.gz -man/man1/psp-as.1.gz -man/man1/psp-c++filt.1.gz -man/man1/psp-dlltool.1.gz -man/man1/psp-elfedit.1.gz -man/man1/psp-ld.1.gz -man/man1/psp-nlmconv.1.gz -man/man1/psp-nm.1.gz -man/man1/psp-objcopy.1.gz -man/man1/psp-objdump.1.gz -man/man1/psp-ranlib.1.gz -man/man1/psp-readelf.1.gz -man/man1/psp-size.1.gz -man/man1/psp-strings.1.gz -man/man1/psp-strip.1.gz -man/man1/psp-windmc.1.gz -man/man1/psp-windres.1.gz -psp/bin/ar -psp/bin/as -psp/bin/ld -psp/bin/ld.bfd -psp/bin/nm -psp/bin/objcopy -psp/bin/objdump -psp/bin/ranlib -psp/bin/strip -psp/lib/ldscripts/elf32elmip.x -psp/lib/ldscripts/elf32elmip.xbn -psp/lib/ldscripts/elf32elmip.xc -psp/lib/ldscripts/elf32elmip.xd -psp/lib/ldscripts/elf32elmip.xdc -psp/lib/ldscripts/elf32elmip.xdw -psp/lib/ldscripts/elf32elmip.xn -psp/lib/ldscripts/elf32elmip.xr -psp/lib/ldscripts/elf32elmip.xs -psp/lib/ldscripts/elf32elmip.xsc -psp/lib/ldscripts/elf32elmip.xsw -psp/lib/ldscripts/elf32elmip.xu -psp/lib/ldscripts/elf32elmip.xw -psp/lib/ldscripts/elf_mipsallegrexel_psp.x -psp/lib/ldscripts/elf_mipsallegrexel_psp.xbn -psp/lib/ldscripts/elf_mipsallegrexel_psp.xd -psp/lib/ldscripts/elf_mipsallegrexel_psp.xn -psp/lib/ldscripts/elf_mipsallegrexel_psp.xr -psp/lib/ldscripts/elf_mipsallegrexel_psp.xs -psp/lib/ldscripts/elf_mipsallegrexel_psp.xu -%%CONFIGURE_TARGET%%/psp/include/ansidecl.h -%%CONFIGURE_TARGET%%/psp/include/bfd.h -%%CONFIGURE_TARGET%%/psp/include/bfdlink.h -%%CONFIGURE_TARGET%%/psp/include/dis-asm.h -%%CONFIGURE_TARGET%%/psp/include/symcat.h -%%CONFIGURE_TARGET%%/psp/lib/libbfd.a -%%CONFIGURE_TARGET%%/psp/lib/libopcodes.a diff --git a/devel/psptoolchain-gcc-stage1/Makefile b/devel/psptoolchain-gcc-stage1/Makefile deleted file mode 100644 index 2d9b078aea17..000000000000 --- a/devel/psptoolchain-gcc-stage1/Makefile +++ /dev/null @@ -1,86 +0,0 @@ -# Created by: Tassilo Philipp <tphilipp@potion-studios.com> - -PORTNAME= gcc -PORTVERSION= 4.9.3 -PORTREVISION?= 2 -CATEGORIES= devel -MASTER_SITES= GCC -PKGNAMEPREFIX= psptoolchain- -PKGNAMESUFFIX?= -stage1 - -MAINTAINER= ports@FreeBSD.org -COMMENT= PlayStation Portable development toolchain ${PORTNAME} - -LICENSE= GPLv3 - -DEPRECATED= Security issues for multiple years -EXPIRATION_DATE= 2022-06-30 - -ONLY_FOR_ARCHS= aarch64 amd64 armv7 i386 powerpc powerpc64 powerpc64le - -LIB_DEPENDS= libgmp.so:math/gmp \ - libmpfr.so:math/mpfr \ - libmpc.so:math/mpc - -PSP_GCC_STAGE_PREFIX= psp/stage1 - -BUILD_DEPENDS+= psp-addr2line:devel/psptoolchain-binutils \ - psp-ar:devel/psptoolchain-binutils \ - psp-as:devel/psptoolchain-binutils \ - psp-c++filt:devel/psptoolchain-binutils \ - psp-ld:devel/psptoolchain-binutils \ - psp-nm:devel/psptoolchain-binutils \ - psp-objcopy:devel/psptoolchain-binutils \ - psp-objdump:devel/psptoolchain-binutils \ - psp-ranlib:devel/psptoolchain-binutils \ - psp-readelf:devel/psptoolchain-binutils \ - psp-size:devel/psptoolchain-binutils \ - psp-strings:devel/psptoolchain-binutils \ - psp-strip:devel/psptoolchain-binutils \ - objdump:devel/binutils - -USES+= compiler:c11 cpe gmake libtool tar:bzip2 -CPE_VENDOR= gnu - -MAKE_ENV+= PATH=${LOCALBASE}/${PSP_GCC_STAGE_PREFIX}/bin:${PREFIX}/bin:${PATH} -HAS_CONFIGURE= yes -CONFIGURE_OUTSOURCE= yes -CONFIGURE_ARGS?= --prefix=${PREFIX}/${PSP_GCC_STAGE_PREFIX} \ - --target="psp" \ - --enable-languages="c" \ - --enable-lto \ - --with-newlib \ - --with-gmp=${LOCALBASE} \ - --with-mpfr \ - --without-headers \ - --disable-libssp \ - --disable-nls \ - --with-ld=${LOCALBASE}/bin/psp-ld \ - --with-as=${LOCALBASE}/bin/psp-as \ - --mandir=${PREFIX}/man -CFLAGS+= -Wno-reserved-user-defined-literal -SSP_CFLAGS?= -fstack-protector # XXX -strong isn't supported by GCC < 4.9 - -# make sure xgcc doesn't get any -march=... from env C(XX)?FLAGS (e.g. set by CPUTYPE in make.conf); also "disable" info file gen -CONFIGURE_ENV+= CFLAGS_FOR_TARGET="${CFLAGS:C/(^|[[:space:]])-march=[^[:space:]]*//g} ${XGCC_FLAGS}" \ - CXXFLAGS_FOR_TARGET="${CXXFLAGS:C/(^|[[:space:]])-march=[^[:space:]]*//g} ${XGCC_FLAGS}" \ - MAKEINFO=true - -# Don't install any documentation for psptoolchain's gcc stage 1 - makes no sense. -# Disable installation of .info files and libiberty for both stages. -post-patch: - @${REINPLACE_CMD} -E "s/^(install-data-am:)(.*)install-info-am(.*)/\1 \2 \3/" \ - ${PATCH_WRKSRC}/libquadmath/Makefile.in - @${REINPLACE_CMD} -E "s/^(install:)(.*)/\1#\2/" ${PATCH_WRKSRC}/libiberty/Makefile.in - @${REINPLACE_CMD} -E \ - -e "/^ \\$$\(mkinstalldirs\) \\$$\(DESTDIR\)\\$$\((infodir|man7dir)\)/d" \ - -e "s/^(install-info:)(.*)/\1#\2/" \ - -e "/^ \\$$\(DESTDIR\)\\$$\(man7dir\)\/(fsf-funding|gfdl|gpl)\\$$\(man7ext\)/d" \ - ${PATCH_WRKSRC}/gcc/Makefile.in -.if ${PKGNAMESUFFIX} == "-stage1" - @${REINPLACE_CMD} -E "s/^(install-man:)(.*)/\1#\2/" ${PATCH_WRKSRC}/gcc/Makefile.in -.endif - -PLIST_SUB+= PSP_GCC_STAGE_PREFIX=${PSP_GCC_STAGE_PREFIX} - -.include <bsd.port.mk> diff --git a/devel/psptoolchain-gcc-stage1/distinfo b/devel/psptoolchain-gcc-stage1/distinfo deleted file mode 100644 index c3031af853ca..000000000000 --- a/devel/psptoolchain-gcc-stage1/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -TIMESTAMP = 1559855654 -SHA256 (gcc-4.9.3.tar.bz2) = 2332b2a5a321b57508b9031354a8503af6fdfb868b8c1748d33028d100a8b67e -SIZE (gcc-4.9.3.tar.bz2) = 90006707 diff --git a/devel/psptoolchain-gcc-stage1/files/patch-config.sub b/devel/psptoolchain-gcc-stage1/files/patch-config.sub deleted file mode 100644 index 65387161e6b6..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-config.sub +++ /dev/null @@ -1,29 +0,0 @@ ---- config.sub.orig 2013-10-01 16:50:56 UTC -+++ config.sub -@@ -289,6 +289,7 @@ case $basic_machine in - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ -+ | mipsallegrex | mipsallegrexel \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ -@@ -408,6 +409,7 @@ case $basic_machine in - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ -+ | mipsallegrex-* | mipsallegrexel-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ -@@ -809,6 +811,10 @@ case $basic_machine in - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint -+ ;; -+ psp) -+ basic_machine=mipsallegrexel-psp -+ os=-elf - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` diff --git a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config.gcc b/devel/psptoolchain-gcc-stage1/files/patch-gcc_config.gcc deleted file mode 100644 index 01f28f2a07b5..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config.gcc +++ /dev/null @@ -1,21 +0,0 @@ ---- gcc/config.gcc.orig 2015-05-21 20:50:59 UTC -+++ gcc/config.gcc -@@ -2118,6 +2118,18 @@ mipstx39-*-elf* | mipstx39el-*-elf*) - tm_file="elfos.h newlib-stdint.h ${tm_file} mips/r3900.h mips/elf.h" - tmake_file="mips/t-r3900" - ;; -+mipsallegrex-*-elf* | mipsallegrexel-*-elf*) -+ tm_file="elfos.h ${tm_file} mips/elf.h" -+ tmake_file=mips/t-allegrex -+ target_cpu_default="MASK_SINGLE_FLOAT|MASK_DIVIDE_BREAKS" -+ tm_defines="MIPS_ISA_DEFAULT=2 MIPS_CPU_STRING_DEFAULT=\\\"allegrex\\\" MIPS_ABI_DEFAULT=ABI_EABI" -+ case ${target} in -+ mipsallegrex*-psp-elf*) -+ tm_file="${tm_file} mips/psp.h" -+ ;; -+ esac -+ use_fixproto=yes -+ ;; - mmix-knuth-mmixware) - tm_file="${tm_file} newlib-stdint.h" - need_64bit_hwint=yes diff --git a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_allegrex.md b/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_allegrex.md deleted file mode 100644 index 7e8a0ff6a3ef..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_allegrex.md +++ /dev/null @@ -1,175 +0,0 @@ ---- gcc/config/mips/allegrex.md.orig 2019-06-06 21:32:32 UTC -+++ gcc/config/mips/allegrex.md -@@ -0,0 +1,172 @@ -+;; Sony ALLEGREX instructions. -+;; Copyright (C) 2005 Free Software Foundation, Inc. -+;; -+;; This file is part of GCC. -+;; -+;; GCC 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. -+;; -+;; GCC 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 GCC; see the file COPYING. If not, write to -+;; the Free Software Foundation, 59 Temple Place - Suite 330, -+;; Boston, MA 02111-1307, USA. -+ -+(define_c_enum "unspec" [ -+ UNSPEC_CLO -+ UNSPEC_CTO -+ UNSPEC_CACHE -+ UNSPEC_CEIL_W_S -+ UNSPEC_FLOOR_W_S -+ UNSPEC_ROUND_W_S -+]) -+ -+;; Multiply Add and Subtract. -+;; Note: removed clobbering for madd and msub (testing needed) -+ -+(define_insn "allegrex_madd" -+ [(set (match_operand:SI 0 "register_operand" "+l") -+ (plus:SI (mult:SI (match_operand:SI 1 "register_operand" "d") -+ (match_operand:SI 2 "register_operand" "d")) -+ (match_dup 0)))] -+ "TARGET_ALLEGREX" -+ "madd\t%1,%2" -+ [(set_attr "type" "imadd") -+ (set_attr "mode" "SI")]) -+ -+(define_insn "allegrex_msub" -+ [(set (match_operand:SI 0 "register_operand" "+l") -+ (minus:SI (match_dup 0) -+ (mult:SI (match_operand:SI 1 "register_operand" "d") -+ (match_operand:SI 2 "register_operand" "d"))))] -+ "TARGET_ALLEGREX" -+ "msub\t%1,%2" -+ [(set_attr "type" "imadd") -+ (set_attr "mode" "SI")]) -+ -+ -+;; Min and max. -+ -+(define_insn "sminsi3" -+ [(set (match_operand:SI 0 "register_operand" "=d") -+ (smin:SI (match_operand:SI 1 "register_operand" "d") -+ (match_operand:SI 2 "register_operand" "d")))] -+ "TARGET_ALLEGREX" -+ "min\t%0,%1,%2" -+ [(set_attr "type" "arith") -+ (set_attr "mode" "SI")]) -+ -+(define_insn "smaxsi3" -+ [(set (match_operand:SI 0 "register_operand" "=d") -+ (smax:SI (match_operand:SI 1 "register_operand" "d") -+ (match_operand:SI 2 "register_operand" "d")))] -+ "TARGET_ALLEGREX" -+ "max\t%0,%1,%2" -+ [(set_attr "type" "arith") -+ (set_attr "mode" "SI")]) -+ -+ -+;; Extended shift instructions. -+ -+(define_insn "allegrex_bitrev" -+ [(set (match_operand:SI 0 "register_operand" "=d") -+ (unspec:SI [(match_operand:SI 1 "register_operand" "d")] -+ UNSPEC_BITREV))] -+ "TARGET_ALLEGREX" -+ "bitrev\t%0,%1" -+ [(set_attr "type" "arith") -+ (set_attr "mode" "SI")]) -+ -+;; Count leading ones, count trailing zeros, and count trailing ones (clz is -+;; already defined). -+ -+(define_insn "allegrex_clo" -+ [(set (match_operand:SI 0 "register_operand" "=d") -+ (unspec:SI [(match_operand:SI 1 "register_operand" "d")] -+ UNSPEC_CLO))] -+ "TARGET_ALLEGREX" -+ "clo\t%0,%1" -+ [(set_attr "type" "clz") -+ (set_attr "mode" "SI")]) -+ -+(define_expand "ctzsi2" -+ [(set (match_operand:SI 0 "register_operand") -+ (ctz:SI (match_operand:SI 1 "register_operand")))] -+ "TARGET_ALLEGREX" -+{ -+ rtx r1; -+ -+ r1 = gen_reg_rtx (SImode); -+ emit_insn (gen_allegrex_bitrev (r1, operands[1])); -+ emit_insn (gen_clzsi2 (operands[0], r1)); -+ DONE; -+}) -+ -+(define_expand "allegrex_cto" -+ [(set (match_operand:SI 0 "register_operand") -+ (unspec:SI [(match_operand:SI 1 "register_operand")] -+ UNSPEC_CTO))] -+ "TARGET_ALLEGREX" -+{ -+ rtx r1; -+ -+ r1 = gen_reg_rtx (SImode); -+ emit_insn (gen_allegrex_bitrev (r1, operands[1])); -+ emit_insn (gen_allegrex_clo (operands[0], r1)); -+ DONE; -+}) -+ -+ -+;; Misc. -+ -+(define_insn "allegrex_sync" -+ [(unspec_volatile [(const_int 0)] UNSPEC_SYNC)] -+ "TARGET_ALLEGREX" -+ "sync" -+ [(set_attr "type" "unknown") -+ (set_attr "mode" "none")]) -+ -+(define_insn "allegrex_cache" -+ [(unspec_volatile [(match_operand:SI 0 "const_int_operand" "") -+ (match_operand:SI 1 "register_operand" "d")] -+ UNSPEC_CACHE)] -+ "TARGET_ALLEGREX" -+ "cache\t%0,0(%1)" -+ [(set_attr "type" "unknown") -+ (set_attr "mode" "none")]) -+ -+ -+;; Floating-point builtins. -+ -+(define_insn "allegrex_ceil_w_s" -+ [(set (match_operand:SI 0 "register_operand" "=f") -+ (unspec:SI [(match_operand:SF 1 "register_operand" "f")] -+ UNSPEC_CEIL_W_S))] -+ "TARGET_ALLEGREX" -+ "ceil.w.s\t%0,%1" -+ [(set_attr "type" "fcvt") -+ (set_attr "mode" "SF")]) -+ -+(define_insn "allegrex_floor_w_s" -+ [(set (match_operand:SI 0 "register_operand" "=f") -+ (unspec:SI [(match_operand:SF 1 "register_operand" "f")] -+ UNSPEC_FLOOR_W_S))] -+ "TARGET_ALLEGREX" -+ "floor.w.s\t%0,%1" -+ [(set_attr "type" "fcvt") -+ (set_attr "mode" "SF")]) -+ -+(define_insn "allegrex_round_w_s" -+ [(set (match_operand:SI 0 "register_operand" "=f") -+ (unspec:SI [(match_operand:SF 1 "register_operand" "f")] -+ UNSPEC_ROUND_W_S))] -+ "TARGET_ALLEGREX" -+ "round.w.s\t%0,%1" -+ [(set_attr "type" "fcvt") -+ (set_attr "mode" "SF")]) diff --git a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_mips-cpus.def b/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_mips-cpus.def deleted file mode 100644 index 527a7490d506..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_mips-cpus.def +++ /dev/null @@ -1,10 +0,0 @@ ---- gcc/config/mips/mips-cpus.def.orig 2014-03-04 21:39:50 UTC -+++ gcc/config/mips/mips-cpus.def -@@ -55,6 +55,7 @@ MIPS_CPU ("r3900", PROCESSOR_R3900, 1, 0) - - /* MIPS II processors. */ - MIPS_CPU ("r6000", PROCESSOR_R6000, 2, 0) -+MIPS_CPU ("allegrex", PROCESSOR_ALLEGREX, 2, 0) - - /* MIPS III processors. */ - MIPS_CPU ("r4000", PROCESSOR_R4000, 3, 0) diff --git a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_mips-ftypes.def b/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_mips-ftypes.def deleted file mode 100644 index 0c49eccb2f8c..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_mips-ftypes.def +++ /dev/null @@ -1,20 +0,0 @@ ---- gcc/config/mips/mips-ftypes.def.orig 2014-02-02 16:05:09 UTC -+++ gcc/config/mips/mips-ftypes.def -@@ -53,9 +53,12 @@ DEF_MIPS_FTYPE (4, (INT, V2SF, V2SF, V2SF, V2SF)) - DEF_MIPS_FTYPE (2, (SI, DI, SI)) - DEF_MIPS_FTYPE (2, (SI, POINTER, SI)) - DEF_MIPS_FTYPE (2, (DI, POINTER, SI)) -+DEF_MIPS_FTYPE (1, (SI, HI)) -+DEF_MIPS_FTYPE (1, (SI, SF)) - DEF_MIPS_FTYPE (1, (SI, SI)) - DEF_MIPS_FTYPE (2, (SI, SI, SI)) - DEF_MIPS_FTYPE (3, (SI, SI, SI, SI)) -+DEF_MIPS_FTYPE (1, (SI, QI)) - DEF_MIPS_FTYPE (1, (SI, V2HI)) - DEF_MIPS_FTYPE (2, (SI, V2HI, V2HI)) - DEF_MIPS_FTYPE (1, (SI, V4QI)) -@@ -127,3 +130,4 @@ DEF_MIPS_FTYPE (2, (VOID, SI, SI)) - DEF_MIPS_FTYPE (1, (VOID, USI)) - DEF_MIPS_FTYPE (2, (VOID, V2HI, V2HI)) - DEF_MIPS_FTYPE (2, (VOID, V4QI, V4QI)) -+DEF_MIPS_FTYPE (1, (VOID, VOID)) diff --git a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_mips.c b/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_mips.c deleted file mode 100644 index aa3b89667de7..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_mips.c +++ /dev/null @@ -1,184 +0,0 @@ ---- gcc/config/mips/mips.c.orig 2014-03-08 09:27:23 UTC -+++ gcc/config/mips/mips.c -@@ -248,7 +248,12 @@ enum mips_builtin_type { - MIPS_BUILTIN_CMP_SINGLE, - - /* For generating bposge32 branch instructions in MIPS32 DSP ASE. */ -- MIPS_BUILTIN_BPOSGE32 -+ MIPS_BUILTIN_BPOSGE32, -+ -+ /* The builtin corresponds to the ALLEGREX cache instruction. Operand 0 -+ is the function code (must be less than 32) and operand 1 is the base -+ address. */ -+ MIPS_BUILTIN_CACHE - }; - - /* Invoke MACRO (COND) for each C.cond.fmt condition. */ -@@ -574,6 +579,10 @@ struct mips_asm_switch mips_noat = { "at", 0 }; - normal branch. */ - static bool mips_branch_likely; - -+/* Preferred stack boundary for proper stack vars alignment */ -+unsigned int mips_preferred_stack_boundary; -+unsigned int mips_preferred_stack_align; -+ - /* The current instruction-set architecture. */ - enum processor mips_arch; - const struct mips_cpu_info *mips_arch_info; -@@ -919,6 +928,9 @@ static const struct mips_rtx_cost_data - 1, /* branch_cost */ - 4 /* memory_latency */ - }, -+ { /* Allegrex */ -+ DEFAULT_COSTS -+ }, - { /* Loongson-2E */ - DEFAULT_COSTS - }, -@@ -13780,6 +13792,7 @@ AVAIL_NON_MIPS16 (dsp_64, TARGET_64BIT && TARGET_DSP) - AVAIL_NON_MIPS16 (dspr2_32, !TARGET_64BIT && TARGET_DSPR2) - AVAIL_NON_MIPS16 (loongson, TARGET_LOONGSON_VECTORS) - AVAIL_NON_MIPS16 (cache, TARGET_CACHE_BUILTIN) -+AVAIL_NON_MIPS16 (allegrex, TARGET_ALLEGREX) - - /* Construct a mips_builtin_description from the given arguments. - -@@ -13876,6 +13889,30 @@ AVAIL_NON_MIPS16 (cache, TARGET_CACHE_BUILTIN) - MIPS_BUILTIN (bposge, f, "bposge" #VALUE, \ - MIPS_BUILTIN_BPOSGE ## VALUE, MIPS_SI_FTYPE_VOID, AVAIL) - -+/* Define a MIPS_BUILTIN_DIRECT function for instruction CODE_FOR_allegrex_<INSN>. -+ FUNCTION_TYPE and TARGET_FLAGS are builtin_description fields. */ -+#define DIRECT_ALLEGREX_BUILTIN(INSN, FUNCTION_TYPE, TARGET_FLAGS) \ -+ { CODE_FOR_allegrex_ ## INSN, MIPS_FP_COND_f, "__builtin_allegrex_" #INSN, \ -+ MIPS_BUILTIN_DIRECT, FUNCTION_TYPE, mips_builtin_avail_allegrex } -+ -+/* Same as the above, but mapped to an instruction that doesn't share the -+ NAME. NAME is the name of the builtin without the builtin prefix. */ -+#define DIRECT_ALLEGREX_NAMED_BUILTIN(NAME, INSN, FUNCTION_TYPE, TARGET_FLAGS) \ -+ { CODE_FOR_ ## INSN, MIPS_FP_COND_f, "__builtin_allegrex_" #NAME, \ -+ MIPS_BUILTIN_DIRECT, FUNCTION_TYPE, mips_builtin_avail_allegrex } -+ -+/* Define a MIPS_BUILTIN_DIRECT_NO_TARGET function for instruction -+ CODE_FOR_allegrex_<INSN>. FUNCTION_TYPE and TARGET_FLAGS are -+ builtin_description fields. */ -+#define DIRECT_ALLEGREX_NO_TARGET_BUILTIN(INSN, FUNCTION_TYPE, TARGET_FLAGS) \ -+ { CODE_FOR_allegrex_ ## INSN, MIPS_FP_COND_f, "__builtin_allegrex_" #INSN, \ -+ MIPS_BUILTIN_DIRECT_NO_TARGET, FUNCTION_TYPE, mips_builtin_avail_allegrex } -+ -+/* Define a builtin with a specific function TYPE. */ -+#define SPECIAL_ALLEGREX_BUILTIN(TYPE, INSN, FUNCTION_TYPE, TARGET_FLAGS) \ -+ { CODE_FOR_allegrex_ ## INSN, MIPS_FP_COND_f, "__builtin_allegrex_" #INSN, \ -+ MIPS_BUILTIN_ ## TYPE, FUNCTION_TYPE, mips_builtin_avail_allegrex } -+ - /* Define a Loongson MIPS_BUILTIN_DIRECT function __builtin_loongson_<FN_NAME> - for instruction CODE_FOR_loongson_<INSN>. FUNCTION_TYPE is a - builtin_description field. */ -@@ -14122,6 +14159,38 @@ static const struct mips_builtin_description mips_buil - DIRECT_BUILTIN (dpsqx_s_w_ph, MIPS_DI_FTYPE_DI_V2HI_V2HI, dspr2_32), - DIRECT_BUILTIN (dpsqx_sa_w_ph, MIPS_DI_FTYPE_DI_V2HI_V2HI, dspr2_32), - -+/* Builtin functions for the Sony ALLEGREX processor. -+ -+ These have the `__builtin_allegrex_' prefix instead of `__builtin_mips_' -+ to maintain compatibility with Sony's ALLEGREX GCC port. -+ -+ Some of the builtins may seem redundant, but they are the same as the -+ builtins defined in the Sony compiler. I chose to map redundant and -+ trivial builtins to the original instruction instead of creating -+ duplicate patterns specifically for the ALLEGREX (as Sony does). */ -+ -+ DIRECT_ALLEGREX_BUILTIN(bitrev, MIPS_SI_FTYPE_SI, 0), -+ DIRECT_ALLEGREX_NAMED_BUILTIN(clz, clzsi2, MIPS_SI_FTYPE_SI, 0), -+ DIRECT_ALLEGREX_BUILTIN(clo, MIPS_SI_FTYPE_SI, 0), -+ DIRECT_ALLEGREX_NAMED_BUILTIN(ctz, ctzsi2, MIPS_SI_FTYPE_SI, 0), -+ DIRECT_ALLEGREX_BUILTIN(cto, MIPS_SI_FTYPE_SI, 0), -+ DIRECT_ALLEGREX_NAMED_BUILTIN(rotr, rotrsi3, MIPS_SI_FTYPE_SI_SI, 0), -+ DIRECT_ALLEGREX_NAMED_BUILTIN(rotl, rotlsi3, MIPS_SI_FTYPE_SI_SI, 0), -+ -+ DIRECT_ALLEGREX_NAMED_BUILTIN(seb, extendqisi2, MIPS_SI_FTYPE_QI, 0), -+ DIRECT_ALLEGREX_NAMED_BUILTIN(seh, extendhisi2, MIPS_SI_FTYPE_HI, 0), -+ DIRECT_ALLEGREX_NAMED_BUILTIN(max, smaxsi3, MIPS_SI_FTYPE_SI_SI, 0), -+ DIRECT_ALLEGREX_NAMED_BUILTIN(min, sminsi3, MIPS_SI_FTYPE_SI_SI, 0), -+ -+ DIRECT_ALLEGREX_NO_TARGET_BUILTIN(sync, MIPS_VOID_FTYPE_VOID, 0), -+ SPECIAL_ALLEGREX_BUILTIN(CACHE, cache, MIPS_VOID_FTYPE_SI_SI, 0), -+ -+ DIRECT_ALLEGREX_NAMED_BUILTIN(sqrt_s, sqrtsf2, MIPS_SF_FTYPE_SF, 0), -+ DIRECT_ALLEGREX_BUILTIN(ceil_w_s, MIPS_SI_FTYPE_SF, 0), -+ DIRECT_ALLEGREX_BUILTIN(floor_w_s, MIPS_SI_FTYPE_SF, 0), -+ DIRECT_ALLEGREX_BUILTIN(round_w_s, MIPS_SI_FTYPE_SF, 0), -+ DIRECT_ALLEGREX_NAMED_BUILTIN(trunc_w_s, fix_truncsfsi2_insn, MIPS_SI_FTYPE_SF, 0), -+ - /* Builtin functions for ST Microelectronics Loongson-2E/2F cores. */ - LOONGSON_BUILTIN (packsswh, MIPS_V4HI_FTYPE_V2SI_V2SI), - LOONGSON_BUILTIN (packsshb, MIPS_V8QI_FTYPE_V4HI_V4HI), -@@ -14273,6 +14342,8 @@ mips_build_cvpointer_type (void) - /* Standard mode-based argument types. */ - #define MIPS_ATYPE_UQI unsigned_intQI_type_node - #define MIPS_ATYPE_SI intSI_type_node -+#define MIPS_ATYPE_HI intHI_type_node -+#define MIPS_ATYPE_QI intQI_type_node - #define MIPS_ATYPE_USI unsigned_intSI_type_node - #define MIPS_ATYPE_DI intDI_type_node - #define MIPS_ATYPE_UDI unsigned_intDI_type_node -@@ -14575,6 +14646,26 @@ mips_expand_builtin_bposge (enum mips_builtin_type bui - const1_rtx, const0_rtx); - } - -+/* Expand a __builtin_allegrex_cache() function. Make sure the passed -+ cache function code is less than 32. */ -+ -+static rtx -+mips_expand_builtin_cache (enum insn_code icode, rtx target, tree exp) -+{ -+ int argno; -+ struct expand_operand ops[2]; -+ -+ for (argno = 0; argno < 2; argno++) -+ mips_prepare_builtin_arg (&ops[argno], exp, argno); -+ -+ if (GET_CODE(ops[0].value) != CONST_INT || -+ INTVAL(ops[0].value) < 0 || INTVAL(ops[0].value) > 0x1f) -+ error("Invalid first argument for cache builtin (0 <= arg <= 31)"); -+ -+ emit_insn(mips_expand_builtin_insn (icode, 2, ops, false)); -+ return target; -+} -+ - /* Implement TARGET_EXPAND_BUILTIN. */ - - static rtx -@@ -14620,6 +14711,9 @@ mips_expand_builtin (tree exp, rtx target, rtx subtarg - - case MIPS_BUILTIN_BPOSGE32: - return mips_expand_builtin_bposge (d->builtin_type, target); -+ -+ case MIPS_BUILTIN_CACHE: -+ return mips_expand_builtin_cache (d->icode, target, exp); - } - gcc_unreachable (); - } -@@ -17376,6 +17470,22 @@ mips_option_override (void) - - if (TARGET_HARD_FLOAT_ABI && TARGET_MIPS5900) - REAL_MODE_FORMAT (SFmode) = &spu_single_format; -+ -+ /* Validate -mpreferred-stack-boundary= value, or provide default. -+ The default of 128-bit is for newABI else 64-bit. */ -+ mips_preferred_stack_boundary = (TARGET_NEWABI ? 128 : 64); -+ mips_preferred_stack_align = (TARGET_NEWABI ? 16 : 8); -+ if (mips_preferred_stack_boundary_string) -+ { -+ i = atoi (mips_preferred_stack_boundary_string); -+ if (i < 2 || i > 12) -+ error ("-mpreferred-stack-boundary=%d is not between 2 and 12", i); -+ else -+ { -+ mips_preferred_stack_align = (1 << i); -+ mips_preferred_stack_boundary = mips_preferred_stack_align * 8; -+ } -+ } - } - - /* Swap the register information for registers I and I + 1, which diff --git a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_mips.h b/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_mips.h deleted file mode 100644 index ec143d699004..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_mips.h +++ /dev/null @@ -1,104 +0,0 @@ ---- gcc/config/mips/mips.h.orig 2015-02-26 10:40:06 UTC -+++ gcc/config/mips/mips.h -@@ -231,6 +231,7 @@ struct mips_cpu_info { - #define TARGET_SB1 (mips_arch == PROCESSOR_SB1 \ - || mips_arch == PROCESSOR_SB1A) - #define TARGET_SR71K (mips_arch == PROCESSOR_SR71000) -+#define TARGET_ALLEGREX (mips_arch == PROCESSOR_ALLEGREX) - #define TARGET_XLP (mips_arch == PROCESSOR_XLP) - - /* Scheduling target defines. */ -@@ -260,6 +261,7 @@ struct mips_cpu_info { - || mips_tune == PROCESSOR_OCTEON2) - #define TUNE_SB1 (mips_tune == PROCESSOR_SB1 \ - || mips_tune == PROCESSOR_SB1A) -+#define TUNE_ALLEGREX (mips_tune == PROCESSOR_ALLEGREX) - - /* Whether vector modes and intrinsics for ST Microelectronics - Loongson-2E/2F processors should be enabled. In o32 pairs of -@@ -868,6 +870,9 @@ struct mips_cpu_info { - && !TARGET_MIPS5900 \ - && !TARGET_MIPS16) - -+/* ISA has just the integer condition move instructions (movn,movz) */ -+#define ISA_HAS_INT_CONDMOVE (TARGET_ALLEGREX) -+ - /* ISA has the mips4 FP condition code instructions: FP-compare to CC, - branch on CC, and move (both FP and non-FP) on CC. */ - #define ISA_HAS_8CC (ISA_MIPS4 \ -@@ -895,6 +900,7 @@ struct mips_cpu_info { - - /* ISA has conditional trap instructions. */ - #define ISA_HAS_COND_TRAP (!ISA_MIPS1 \ -+ && !TARGET_ALLEGREX \ - && !TARGET_MIPS16) - - /* ISA has integer multiply-accumulate instructions, madd and msub. */ -@@ -938,6 +944,7 @@ struct mips_cpu_info { - /* ISA has count leading zeroes/ones instruction (not implemented). */ - #define ISA_HAS_CLZ_CLO ((ISA_MIPS32 \ - || ISA_MIPS32R2 \ -+ || TARGET_ALLEGREX \ - || ISA_MIPS64 \ - || ISA_MIPS64R2) \ - && !TARGET_MIPS16) -@@ -983,6 +990,7 @@ struct mips_cpu_info { - || TARGET_MIPS5400 \ - || TARGET_MIPS5500 \ - || TARGET_SR71K \ -+ || TARGET_ALLEGREX \ - || TARGET_SMARTMIPS) \ - && !TARGET_MIPS16) - -@@ -1014,11 +1022,13 @@ struct mips_cpu_info { - - /* ISA includes the MIPS32r2 seb and seh instructions. */ - #define ISA_HAS_SEB_SEH ((ISA_MIPS32R2 \ -+ || TARGET_ALLEGREX \ - || ISA_MIPS64R2) \ - && !TARGET_MIPS16) - - /* ISA includes the MIPS32/64 rev 2 ext and ins instructions. */ - #define ISA_HAS_EXT_INS ((ISA_MIPS32R2 \ -+ || TARGET_ALLEGREX \ - || ISA_MIPS64R2) \ - && !TARGET_MIPS16) - -@@ -1084,7 +1094,8 @@ struct mips_cpu_info { - || ISA_MIPS64R2 \ - || TARGET_MIPS5500 \ - || TARGET_MIPS5900 \ -- || TARGET_LOONGSON_2EF) -+ || TARGET_LOONGSON_2EF \ -+ || TARGET_ALLEGREX) - - /* ISA includes synci, jr.hb and jalr.hb. */ - #define ISA_HAS_SYNCI ((ISA_MIPS32R2 \ -@@ -2209,7 +2220,7 @@ enum reg_class - `crtl->outgoing_args_size'. */ - #define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 1 - --#define STACK_BOUNDARY (TARGET_NEWABI ? 128 : 64) -+#define STACK_BOUNDARY (mips_preferred_stack_boundary) - - /* Symbolic macros for the registers used to return integer and floating - point values. */ -@@ -2321,7 +2332,7 @@ typedef struct mips_args { - /* Treat LOC as a byte offset from the stack pointer and round it up - to the next fully-aligned offset. */ - #define MIPS_STACK_ALIGN(LOC) \ -- (TARGET_NEWABI ? ((LOC) + 15) & -16 : ((LOC) + 7) & -8) -+ (((LOC) + (mips_preferred_stack_align - 1)) & -(mips_preferred_stack_align)) - - - /* Output assembler code to FILE to increment profiler label # LABELNO -@@ -2936,6 +2947,9 @@ while (0) - .set pop\n\ - " TEXT_SECTION_ASM_OP); - #endif -+ -+extern unsigned int mips_preferred_stack_boundary; -+extern unsigned int mips_preferred_stack_align; - - #ifndef HAVE_AS_TLS - #define HAVE_AS_TLS 0 diff --git a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_mips.md b/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_mips.md deleted file mode 100644 index 297729e30461..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_mips.md +++ /dev/null @@ -1,142 +0,0 @@ ---- gcc/config/mips/mips.md.orig 2014-02-02 16:05:09 UTC -+++ gcc/config/mips/mips.md -@@ -35,6 +35,7 @@ - 74kf2_1 - 74kf1_1 - 74kf3_2 -+ allegrex - loongson_2e - loongson_2f - loongson_3a -@@ -756,6 +757,7 @@ - (define_mode_iterator MOVECC [SI (DI "TARGET_64BIT") - (CC "TARGET_HARD_FLOAT - && !TARGET_LOONGSON_2EF -+ && !TARGET_ALLEGREX - && !TARGET_MIPS5900")]) - - ;; 32-bit integer moves for which we provide move patterns. -@@ -2070,11 +2072,11 @@ - (mult:DI - (any_extend:DI (match_operand:SI 1 "register_operand" "d")) - (any_extend:DI (match_operand:SI 2 "register_operand" "d")))))] -- "!TARGET_64BIT && (ISA_HAS_MSAC || GENERATE_MADD_MSUB || ISA_HAS_DSP)" -+ "!TARGET_64BIT && (ISA_HAS_MSAC || GENERATE_MADD_MSUB || ISA_HAS_DSP || TARGET_ALLEGREX)" - { - if (ISA_HAS_DSP_MULT) - return "msub<u>\t%q0,%1,%2"; -- else if (TARGET_MIPS5500 || GENERATE_MADD_MSUB) -+ else if (TARGET_MIPS5500 || GENERATE_MADD_MSUB || TARGET_ALLEGREX) - return "msub<u>\t%1,%2"; - else - return "msac<u>\t$0,%1,%2"; -@@ -2312,14 +2314,14 @@ - (mult:DI (any_extend:DI (match_operand:SI 1 "register_operand" "d")) - (any_extend:DI (match_operand:SI 2 "register_operand" "d"))) - (match_operand:DI 3 "muldiv_target_operand" "0")))] -- "(TARGET_MAD || ISA_HAS_MACC || GENERATE_MADD_MSUB || ISA_HAS_DSP) -+ "(TARGET_MAD || ISA_HAS_MACC || GENERATE_MADD_MSUB || ISA_HAS_DSP || TARGET_ALLEGREX) - && !TARGET_64BIT" - { - if (TARGET_MAD) - return "mad<u>\t%1,%2"; - else if (ISA_HAS_DSP_MULT) - return "madd<u>\t%q0,%1,%2"; -- else if (GENERATE_MADD_MSUB || TARGET_MIPS5500) -+ else if (GENERATE_MADD_MSUB || TARGET_MIPS5500 || TARGET_ALLEGREX) - return "madd<u>\t%1,%2"; - else - /* See comment in *macc. */ -@@ -2857,6 +2859,33 @@ - ;; - ;; .................... - ;; -+;; FIND FIRST BIT INSTRUCTION -+;; -+;; .................... -+;; -+ -+(define_expand "ffs<mode>2" -+ [(set (match_operand:GPR 0 "register_operand" "") -+ (ffs:GPR (match_operand:GPR 1 "register_operand" "")))] -+ "ISA_HAS_CLZ_CLO" -+{ -+ rtx r1, r2, r3, r4; -+ -+ r1 = gen_reg_rtx (<MODE>mode); -+ r2 = gen_reg_rtx (<MODE>mode); -+ r3 = gen_reg_rtx (<MODE>mode); -+ r4 = gen_reg_rtx (<MODE>mode); -+ emit_insn (gen_neg<mode>2 (r1, operands[1])); -+ emit_insn (gen_and<mode>3 (r2, operands[1], r1)); -+ emit_insn (gen_clz<mode>2 (r3, r2)); -+ emit_move_insn (r4, GEN_INT (GET_MODE_BITSIZE (<MODE>mode))); -+ emit_insn (gen_sub<mode>3 (operands[0], r4, r3)); -+ DONE; -+}) -+ -+;; -+;; .................... -+;; - ;; NEGATION and ONE'S COMPLEMENT - ;; - ;; .................... -@@ -2909,6 +2938,25 @@ - (set_attr "compression" "micromips,*") - (set_attr "mode" "<MODE>")]) - -+(define_expand "rotl<mode>3" -+ [(set (match_operand:GPR 0 "register_operand") -+ (rotate:GPR (match_operand:GPR 1 "register_operand") -+ (match_operand:SI 2 "arith_operand")))] -+ "ISA_HAS_ROR" -+{ -+ rtx temp; -+ -+ if (GET_CODE (operands[2]) == CONST_INT) -+ temp = GEN_INT (GET_MODE_BITSIZE (<MODE>mode) - INTVAL (operands[2])); -+ else -+ { -+ temp = gen_reg_rtx (<MODE>mode); -+ emit_insn (gen_neg<mode>2 (temp, operands[2])); -+ } -+ emit_insn (gen_rotr<mode>3 (operands[0], operands[1], temp)); -+ DONE; -+}) -+ - ;; - ;; .................... - ;; -@@ -6869,7 +6917,7 @@ - (const_int 0)]) - (match_operand:GPR 2 "reg_or_0_operand" "dJ,0") - (match_operand:GPR 3 "reg_or_0_operand" "0,dJ")))] -- "ISA_HAS_CONDMOVE" -+ "ISA_HAS_CONDMOVE || ISA_HAS_INT_CONDMOVE" - "@ - mov%T4\t%0,%z2,%1 - mov%t4\t%0,%z3,%1" -@@ -6912,8 +6960,12 @@ - (if_then_else:GPR (match_dup 5) - (match_operand:GPR 2 "reg_or_0_operand") - (match_operand:GPR 3 "reg_or_0_operand")))] -- "ISA_HAS_CONDMOVE" -+ "ISA_HAS_CONDMOVE || ISA_HAS_INT_CONDMOVE" - { -+ if (ISA_HAS_INT_CONDMOVE -+ && GET_MODE_CLASS (GET_MODE (operands[0])) == MODE_FLOAT) -+ FAIL; -+ - mips_expand_conditional_move (operands); - DONE; - }) -@@ -7184,6 +7236,9 @@ - - ; ST-Microelectronics Loongson-2E/2F-specific patterns. - (include "loongson.md") -+ -+; Sony ALLEGREX instructions. -+(include "allegrex.md") - - (define_c_enum "unspec" [ - UNSPEC_ADDRESS_FIRST diff --git a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_mips.opt b/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_mips.opt deleted file mode 100644 index b50030b22169..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_mips.opt +++ /dev/null @@ -1,12 +0,0 @@ ---- gcc/config/mips/mips.opt.orig 2014-02-21 13:30:47 UTC -+++ gcc/config/mips/mips.opt -@@ -400,5 +400,9 @@ mxgot - Target Report Var(TARGET_XGOT) - Lift restrictions on GOT size - -+mpreferred-stack-boundary= -+Target RejectNegative Joined Var(mips_preferred_stack_boundary_string) -+Attempt to keep stack aligned to this power of 2 -+ - noasmopt - Driver diff --git a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_psp.h b/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_psp.h deleted file mode 100644 index c816089e71b3..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_psp.h +++ /dev/null @@ -1,34 +0,0 @@ ---- gcc/config/mips/psp.h.orig 2019-06-06 21:32:32 UTC -+++ gcc/config/mips/psp.h -@@ -0,0 +1,31 @@ -+/* Support for Sony's Playstation Portable (PSP). -+ Copyright (C) 2005 Free Software Foundation, Inc. -+ Contributed by Marcus R. Brown <mrbrown@ocgnet.org> -+ -+This file is part of GCC. -+ -+GCC 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. -+ -+GCC 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 GCC; see the file COPYING. If not, write to -+the Free Software Foundation, 59 Temple Place - Suite 330, -+Boston, MA 02111-1307, USA. */ -+ -+/* Override the startfile spec to include crt0.o. */ -+#undef STARTFILE_SPEC -+#define STARTFILE_SPEC "crt0%O%s crti%O%s crtbegin%O%s" -+ -+#undef SUBTARGET_CPP_SPEC -+#define SUBTARGET_CPP_SPEC "-DPSP=1 -D__psp__=1 -D_PSP=1" -+ -+/* Get rid of the .pdr section. */ -+#undef SUBTARGET_ASM_SPEC -+#define SUBTARGET_ASM_SPEC "-mno-pdr" diff --git a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_t-allegrex b/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_t-allegrex deleted file mode 100644 index 4e7bf1161a8b..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-gcc_config_mips_t-allegrex +++ /dev/null @@ -1,32 +0,0 @@ ---- gcc/config/mips/t-allegrex.orig 2019-06-06 21:32:32 UTC -+++ gcc/config/mips/t-allegrex -@@ -0,0 +1,29 @@ -+# Suppress building libgcc1.a, since the MIPS compiler port is complete -+# and does not need anything from libgcc1.a. -+LIBGCC1 = -+CROSS_LIBGCC1 = -+ -+EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o -+# Don't let CTOR_LIST end up in sdata section. -+CRTSTUFF_T_CFLAGS = -G 0 -+ -+# Assemble startup files. -+$(T)crti.o: $(srcdir)/config/mips/crti.asm $(GCC_PASSES) -+ $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \ -+ -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/mips/crti.asm -+ -+$(T)crtn.o: $(srcdir)/config/mips/crtn.asm $(GCC_PASSES) -+ $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \ -+ -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/mips/crtn.asm -+ -+# We must build libgcc2.a with -G 0, in case the user wants to link -+# without the $gp register. -+TARGET_LIBGCC2_CFLAGS = -G 0 -+ -+# Build the libraries for both hard and soft floating point -+ -+MULTILIB_OPTIONS = -+MULTILIB_DIRNAMES = -+ -+LIBGCC = stmp-multilib -+INSTALL_LIBGCC = install-multilib diff --git a/devel/psptoolchain-gcc-stage1/files/patch-gcc_cp_cfns.gperf b/devel/psptoolchain-gcc-stage1/files/patch-gcc_cp_cfns.gperf deleted file mode 100644 index ca63d77bce27..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-gcc_cp_cfns.gperf +++ /dev/null @@ -1,12 +0,0 @@ ---- gcc/cp/cfns.gperf.orig 2019-07-29 17:16:37.155805000 +0200 -+++ gcc/cp/cfns.gperf -@@ -22,6 +22,9 @@ - static unsigned int hash (const char *, unsigned int); - #ifdef __GNUC__ - __inline -+#ifdef __GNUC_STDC_INLINE__ -+__attribute__ ((__gnu_inline__)) -+#endif - #endif - const char * libc_name_p (const char *, unsigned int); - %} diff --git a/devel/psptoolchain-gcc-stage1/files/patch-gcc_cp_cfns.h b/devel/psptoolchain-gcc-stage1/files/patch-gcc_cp_cfns.h deleted file mode 100644 index 642ff7347d04..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-gcc_cp_cfns.h +++ /dev/null @@ -1,12 +0,0 @@ ---- gcc/cp/cfns.h.orig 2019-07-29 17:16:40.469655000 +0200 -+++ gcc/cp/cfns.h -@@ -53,6 +53,9 @@ - static unsigned int hash (const char *, unsigned int); - #ifdef __GNUC__ - __inline -+#ifdef __GNUC_STDC_INLINE__ -+__attribute__ ((__gnu_inline__)) -+#endif - #endif - const char * libc_name_p (const char *, unsigned int); - /* maximum key range = 391, duplicates = 0 */ diff --git a/devel/psptoolchain-gcc-stage1/files/patch-gcc_system.h b/devel/psptoolchain-gcc-stage1/files/patch-gcc_system.h deleted file mode 100644 index 05f61aaab868..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-gcc_system.h +++ /dev/null @@ -1,10 +0,0 @@ ---- gcc/system.h.orig 2014-01-02 22:23:26 UTC -+++ gcc/system.h -@@ -203,6 +203,7 @@ extern int errno; - - #ifdef __cplusplus - # include <cstring> -+# include <new> - #endif - - /* Some of glibc's string inlines cause warnings. Plus we'd rather diff --git a/devel/psptoolchain-gcc-stage1/files/patch-gcc_tree-vect-loop.c b/devel/psptoolchain-gcc-stage1/files/patch-gcc_tree-vect-loop.c deleted file mode 100644 index bfa533474e4d..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-gcc_tree-vect-loop.c +++ /dev/null @@ -1,11 +0,0 @@ ---- gcc/tree-vect-loop.c.orig 2019-11-27 20:05:37 UTC -+++ gcc/tree-vect-loop.c -@@ -56,6 +56,8 @@ along with GCC; see the file COPYING3. If not see - #include "tree-vectorizer.h" - #include "target.h" - -+#define vec_step vec_step_ -+ - /* Loop Vectorization Pass. - - This pass tries to vectorize loops. diff --git a/devel/psptoolchain-gcc-stage1/files/patch-libcpp_Makefile.in b/devel/psptoolchain-gcc-stage1/files/patch-libcpp_Makefile.in deleted file mode 100644 index 73d08891555d..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-libcpp_Makefile.in +++ /dev/null @@ -1,13 +0,0 @@ ---- libcpp/Makefile.in.orig 2015-06-26 17:59:14 UTC -+++ libcpp/Makefile.in -@@ -208,8 +208,8 @@ ifeq ($(DEPMODE),depmode=gcc3) - # Note that we put the dependencies into a .Tpo file, then move them - # into place if the compile succeeds. We need this because gcc does - # not atomically write the dependency output file. --COMPILE = $(COMPILE.base) -o $@ -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Tpo --POSTCOMPILE = @mv $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+COMPILE = $(COMPILE.base) -o $@ -+POSTCOMPILE = - else - COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \ - $(depcomp) $(COMPILE.base) diff --git a/devel/psptoolchain-gcc-stage1/files/patch-libcpp_lex.c b/devel/psptoolchain-gcc-stage1/files/patch-libcpp_lex.c deleted file mode 100644 index 05ad28872d11..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-libcpp_lex.c +++ /dev/null @@ -1,25 +0,0 @@ -This is - - commit cd547f0ddcd3a54e5b73bcda5ac0f0c46808db8b - Author: Jakub Jelinek <jakub@redhat.com> - Date: Sat Sep 26 10:07:41 2020 +0200 - -which is on the GCC 10 release branch and thus part of lang/gcc10-devel; -we should automatically get it with GCC 10.3. - ---- libcpp/lex.c.orig 2020-11-02 10:24:50 UTC -+++ libcpp/lex.c -@@ -531,11 +531,11 @@ init_vectorized_lexer (void) - search_line_fast = impl; - } - --#elif defined(_ARCH_PWR8) && defined(__ALTIVEC__) -+#elif (GCC_VERSION >= 4005) && defined(_ARCH_PWR8) && defined(__ALTIVEC__) - - /* A vection of the fast scanner using AltiVec vectorized byte compares - and VSX unaligned loads (when VSX is available). This is otherwise -- the same as the pre-GCC 5 version. */ -+ the same as the AltiVec version. */ - - ATTRIBUTE_NO_SANITIZE_UNDEFINED - static const uchar * diff --git a/devel/psptoolchain-gcc-stage1/files/patch-libgcc_config.host b/devel/psptoolchain-gcc-stage1/files/patch-libgcc_config.host deleted file mode 100644 index 41b0ff80d3d3..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-libgcc_config.host +++ /dev/null @@ -1,35 +0,0 @@ ---- libgcc/config.host.orig 2014-03-27 15:40:31 UTC -+++ libgcc/config.host -@@ -140,11 +140,15 @@ microblaze*-*-*) - cpu_type=microblaze - ;; - mips*-*-*) -- # All MIPS targets provide a full set of FP routines. - cpu_type=mips - tmake_file="mips/t-mips" - if test "${libgcc_cv_mips_hard_float}" = yes; then -- tmake_file="${tmake_file} t-hardfp-sfdf t-hardfp" -+ if test "${libgcc_cv_mips_single_float}" = yes; then -+ tmake_file="${tmake_file} t-hardfp-sf" -+ else -+ tmake_file="${tmake_file} t-hardfp-sfdf" -+ fi -+ tmake_file="${tmake_file} t-hardfp" - else - tmake_file="${tmake_file} t-softfp-sfdf" - fi -@@ -859,6 +863,14 @@ mips-wrs-vxworks) - ;; - mipstx39-*-elf* | mipstx39el-*-elf*) - tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16" -+ ;; -+mips*-psp*) -+ tmake_file="${tmake_file} mips/t-allegrex" -+ target_cpu_default="MASK_SINGLE_FLOAT|MASK_DIVIDE_BREAKS" -+ tm_file="${tm_file} mips/psp.h" -+ extra_parts="$extra_parts crti.o crtn.o" -+ use_fixproto=yes -+ tm_defines="MIPS_ISA_DEFAULT=2 MIPS_CPU_STRING_DEFAULT=\\\"allegrex\\\" MIPS_ABI_DEFAULT=ABI_EABI" - ;; - mmix-knuth-mmixware) - extra_parts="crti.o crtn.o crtbegin.o crtend.o" diff --git a/devel/psptoolchain-gcc-stage1/files/patch-libgcc_config_mips_psp.h b/devel/psptoolchain-gcc-stage1/files/patch-libgcc_config_mips_psp.h deleted file mode 100644 index 60273b644302..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-libgcc_config_mips_psp.h +++ /dev/null @@ -1,34 +0,0 @@ ---- libgcc/config/mips/psp.h.orig 2019-06-06 21:32:32 UTC -+++ libgcc/config/mips/psp.h -@@ -0,0 +1,31 @@ -+/* Support for Sony's Playstation Portable (PSP). -+ Copyright (C) 2005 Free Software Foundation, Inc. -+ Contributed by Marcus R. Brown <mrbrown@ocgnet.org> -+ -+This file is part of GCC. -+ -+GCC 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. -+ -+GCC 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 GCC; see the file COPYING. If not, write to -+the Free Software Foundation, 59 Temple Place - Suite 330, -+Boston, MA 02111-1307, USA. */ -+ -+/* Override the startfile spec to include crt0.o. */ -+#undef STARTFILE_SPEC -+#define STARTFILE_SPEC "crt0%O%s crti%O%s crtbegin%O%s" -+ -+#undef SUBTARGET_CPP_SPEC -+#define SUBTARGET_CPP_SPEC "-DPSP=1 -D__psp__=1 -D_PSP=1" -+ -+/* Get rid of the .pdr section. */ -+#undef SUBTARGET_ASM_SPEC -+#define SUBTARGET_ASM_SPEC "-mno-pdr" diff --git a/devel/psptoolchain-gcc-stage1/files/patch-libgcc_config_mips_t-allegrex b/devel/psptoolchain-gcc-stage1/files/patch-libgcc_config_mips_t-allegrex deleted file mode 100644 index 2a83d44594d1..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-libgcc_config_mips_t-allegrex +++ /dev/null @@ -1,23 +0,0 @@ ---- libgcc/config/mips/t-allegrex.orig 2019-06-06 21:32:32 UTC -+++ libgcc/config/mips/t-allegrex -@@ -0,0 +1,20 @@ -+# Suppress building libgcc1.a, since the MIPS compiler port is complete -+# and does not need anything from libgcc1.a. -+LIBGCC1 = -+CROSS_LIBGCC1 = -+ -+EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o -+# Don't let CTOR_LIST end up in sdata section. -+CRTSTUFF_T_CFLAGS = -G 0 -+ -+# We must build libgcc2.a with -G 0, in case the user wants to link -+# without the $gp register. -+TARGET_LIBGCC2_CFLAGS = -G 0 -+ -+# Build the libraries for both hard and soft floating point -+ -+MULTILIB_OPTIONS = -+MULTILIB_DIRNAMES = -+ -+LIBGCC = stmp-multilib -+INSTALL_LIBGCC = install-multilib diff --git a/devel/psptoolchain-gcc-stage1/files/patch-libgcc_config_t-hardfp b/devel/psptoolchain-gcc-stage1/files/patch-libgcc_config_t-hardfp deleted file mode 100644 index a834c25658cd..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-libgcc_config_t-hardfp +++ /dev/null @@ -1,42 +0,0 @@ ---- libgcc/config/t-hardfp.orig 2014-02-07 07:46:34 UTC -+++ libgcc/config/t-hardfp -@@ -50,12 +50,16 @@ hardfp_func_list += $(foreach pair, $(hardfp_extension - hardfp_func_list += $(foreach pair, $(hardfp_truncations), \ - $(subst M,$(pair),truncM2)) - -+hardfp_suffixes := $(hardfp_int_modes) 2 3 -+ - # Regexp for matching a floating-point mode. - hardfp_mode_regexp := $(shell echo $(hardfp_float_modes) | sed 's/ /\\|/g') -+hardfp_mode_regexp_awk := $(shell echo $(hardfp_float_modes) | sed 's/ /|/g') - - # Regexp for matching the end of a function name, after the last - # floating-point mode. --hardfp_suffix_regexp := $(shell echo $(hardfp_int_modes) 2 3 | sed 's/ /\\|/g') -+hardfp_suffix_regexp := $(shell echo $(hardfp_suffixes) | sed 's/ /\\|/g') -+hardfp_suffix_regexp_awk := $(shell echo $(hardfp_suffixes) | sed 's/ /|/g') - - # Add -D options to define: - # FUNC: the function name (e.g. __addsf3) -@@ -64,12 +68,20 @@ hardfp_suffix_regexp := $(shell echo $(hardfp_int_mode - # TYPE: the last floating-point mode (e.g. sf) - hardfp_defines_for = \ - $(shell echo $1 | \ -- sed 's/\(.*\)\($(hardfp_mode_regexp)\)\($(hardfp_suffix_regexp)\|\)$$/-DFUNC=__& -DOP_\1\3 -DTYPE=\2/') -+ $(AWK) 'BEGIN{split("$(hardfp_mode_regexp_awk)",mode,"|"); \ -+ split("$(hardfp_suffix_regexp_awk)",suffix,"|")} \ -+ { sfx=""; for (s in suffix) if (match($$0, suffix[s]"$$")) { sfx=suffix[s]; break; } \ -+ o=substr($$0,0,length($$0)-length(sfx)); \ -+ for (m in mode) { if (match(o, mode[m]"$$")) { \ -+ op=substr(o,0,length(o)-length(mode[m])); \ -+ print"-DFUNC=__"$$0" -DOP_" op sfx" -DTYPE="mode[m];exit; }}}') - - hardfp-o = $(patsubst %,%$(objext),$(hardfp_func_list)) - $(hardfp-o): %$(objext): $(srcdir)/config/hardfp.c - @echo "Mode = $(hardfp_mode_regexp)" - @echo "Suffix = $(hardfp_suffix_regexp)" -+ $(info $(call hardfp_defines_for, $*)) -+ $(info $$*=$*) - $(gcc_compile) $(call hardfp_defines_for, $*) -c $< $(vis_hide) -Wno-missing-prototypes - libgcc-objects += $(hardfp-o) - diff --git a/devel/psptoolchain-gcc-stage1/files/patch-libgcc_config_t-hardfp-sf b/devel/psptoolchain-gcc-stage1/files/patch-libgcc_config_t-hardfp-sf deleted file mode 100644 index 59f0e27c4509..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-libgcc_config_t-hardfp-sf +++ /dev/null @@ -1,35 +0,0 @@ ---- libgcc/config/t-hardfp-sf.orig 2019-06-06 21:40:23 UTC -+++ libgcc/config/t-hardfp-sf -@@ -0,0 +1,32 @@ -+# Copyright (C) 2014 Free Software Foundation, Inc. -+ -+# This file is part of GCC. -+ -+# GCC is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3, or (at your option) -+# any later version. -+ -+# GCC 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 GCC; see the file COPYING3. If not see -+# <http://www.gnu.org/licenses/>. -+ -+hardfp_float_modes := sf -+# di and ti are provided by libgcc2.c where needed. -+hardfp_int_modes := si -+hardfp_extensions := -+hardfp_truncations := -+ -+# Emulate 64 bit float: -+FPBIT = true -+DPBIT = true -+# Don't build functions handled by 32 bit hardware: -+LIB2FUNCS_EXCLUDE = _addsub_sf _mul_sf _div_sf \ -+ _fpcmp_parts_sf _compare_sf _eq_sf _ne_sf _gt_sf _ge_sf \ -+ _lt_sf _le_sf _unord_sf _si_to_sf _sf_to_si _negate_sf \ -+ _thenan_sf _sf_to_usi _usi_to_sf diff --git a/devel/psptoolchain-gcc-stage1/files/patch-libgcc_configure b/devel/psptoolchain-gcc-stage1/files/patch-libgcc_configure deleted file mode 100644 index b849f4d8308b..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-libgcc_configure +++ /dev/null @@ -1,29 +0,0 @@ ---- libgcc/configure.orig 2014-02-07 07:46:34 UTC -+++ libgcc/configure -@@ -4352,6 +4352,26 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgcc_cv_mips_hard_float" >&5 - $as_echo "$libgcc_cv_mips_hard_float" >&6; } -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the target is single-float" >&5 -+$as_echo_n "checking whether the target is single-float... " >&6; } -+if test "${libgcc_cv_mips_single_float+set}" = set; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+#ifndef __mips_single_float -+ #error FOO -+ #endif -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ libgcc_cv_mips_single_float=yes -+else -+ libgcc_cv_mips_single_float=no -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgcc_cv_mips_single_float" >&5 -+$as_echo "$libgcc_cv_mips_single_float" >&6; } - esac - - # Collect host-machine-specific information. diff --git a/devel/psptoolchain-gcc-stage1/files/patch-libgcc_configure.ac b/devel/psptoolchain-gcc-stage1/files/patch-libgcc_configure.ac deleted file mode 100644 index 99215862140c..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-libgcc_configure.ac +++ /dev/null @@ -1,17 +0,0 @@ ---- libgcc/configure.ac.orig 2014-02-07 07:46:34 UTC -+++ libgcc/configure.ac -@@ -302,6 +302,14 @@ mips*-*-*) - #endif], - [libgcc_cv_mips_hard_float=yes], - [libgcc_cv_mips_hard_float=no])]) -+ AC_CACHE_CHECK([whether the target is single-float], -+ [libgcc_cv_mips_single_float], -+ [AC_COMPILE_IFELSE( -+ [#ifndef __mips_single_float -+ #error FOO -+ #endif], -+ [libgcc_cv_mips_single_float=yes], -+ [libgcc_cv_mips_single_float=no])]) - esac - - # Collect host-machine-specific information. diff --git a/devel/psptoolchain-gcc-stage1/files/patch-libgcc_crtstuff.c b/devel/psptoolchain-gcc-stage1/files/patch-libgcc_crtstuff.c deleted file mode 100644 index 05470d1e8292..000000000000 --- a/devel/psptoolchain-gcc-stage1/files/patch-libgcc_crtstuff.c +++ /dev/null @@ -1,11 +0,0 @@ ---- libgcc/crtstuff.c.orig 2014-03-10 18:31:20 UTC -+++ libgcc/crtstuff.c -@@ -47,7 +47,7 @@ see the files COPYING3 and COPYING.RUNTIME respectivel - - /* Target machine header files require this define. */ - #define IN_LIBGCC2 -- -+#define USED_FOR_TARGET - /* FIXME: Including auto-host is incorrect, but until we have - identified the set of defines that need to go into auto-target.h, - this will have to do. */ diff --git a/devel/psptoolchain-gcc-stage1/pkg-descr b/devel/psptoolchain-gcc-stage1/pkg-descr deleted file mode 100644 index ebd84fb39295..000000000000 --- a/devel/psptoolchain-gcc-stage1/pkg-descr +++ /dev/null @@ -1,4 +0,0 @@ -The PlayStation Portable Toolchain is a collection of tools and utilities -for homebrew PSP development. - -WWW: http://www.ps2dev.org diff --git a/devel/psptoolchain-gcc-stage1/pkg-plist b/devel/psptoolchain-gcc-stage1/pkg-plist deleted file mode 100644 index d1595835285e..000000000000 --- a/devel/psptoolchain-gcc-stage1/pkg-plist +++ /dev/null @@ -1,247 +0,0 @@ -%%PSP_GCC_STAGE_PREFIX%%/bin/psp-cpp -%%PSP_GCC_STAGE_PREFIX%%/bin/psp-gcc -%%PSP_GCC_STAGE_PREFIX%%/bin/psp-gcc-4.9.3 -%%PSP_GCC_STAGE_PREFIX%%/bin/psp-gcc-ar -%%PSP_GCC_STAGE_PREFIX%%/bin/psp-gcc-nm -%%PSP_GCC_STAGE_PREFIX%%/bin/psp-gcc-ranlib -%%PSP_GCC_STAGE_PREFIX%%/bin/psp-gcov -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/crtbegin.o -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/crtend.o -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/crti.o -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/crtn.o -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/include-fixed/README -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/include-fixed/limits.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/include-fixed/syslimits.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/include/float.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/include/iso646.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/include/loongson.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/include/stdalign.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/include/stdarg.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/include/stdatomic.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/include/stdbool.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/include/stddef.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/include/stdfix.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/include/stdint-gcc.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/include/stdint.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/include/stdnoreturn.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/include/tgmath.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/include/unwind.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/include/varargs.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/install-tools/fixinc_list -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/install-tools/gsyslimits.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/install-tools/include/README -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/install-tools/include/limits.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/install-tools/macro_list -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/install-tools/mkheaders.conf -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/libgcc.a -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/libgcov.a -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/gtype.state -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/ada/gcc-interface/ada-tree.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/alias.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/all-tree.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/alloc-pool.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/ansidecl.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/attribs.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/auto-host.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/b-header-vars -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/basic-block.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/bitmap.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/builtins.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/bversion.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/c-family/c-common.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/c-family/c-common.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/c-family/c-objc.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/c-family/c-pragma.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/c-family/c-pretty-print.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/c-tree.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/calls.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/cfg-flags.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/cfgexpand.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/cfghooks.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/cfgloop.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/cgraph.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/cif-code.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/cilk-builtins.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/cilkplus.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/config.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/config/elfos.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/config/initfini-array.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/config/mips/elf.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/config/mips/mips-opts.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/config/mips/mips-protos.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/config/mips/mips.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/config/mips/psp.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/config/vxworks-dummy.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/configargs.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/context.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/coretypes.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/cp/cp-tree.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/cppdefault.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/cpplib.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/debug.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/defaults.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/df.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/diagnostic-color.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/diagnostic-core.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/diagnostic.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/diagnostic.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/double-int.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/dumpfile.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/emit-rtl.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/except.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/filenames.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/fixed-value.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/flag-types.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/flags.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/fold-const.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/function.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/gcc-plugin.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/gcc-symtab.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/genrtl.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/ggc.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/gimple-builder.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/gimple-expr.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/gimple-fold.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/gimple-iterator.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/gimple-low.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/gimple-pretty-print.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/gimple-ssa.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/gimple-walk.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/gimple.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/gimple.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/gimplify-me.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/gimplify.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/gsstruct.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/gtm-builtins.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/gtype-desc.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/hard-reg-set.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/hash-table.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/hashtab.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/highlev-plugin-common.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/hwint.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/incpath.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/input.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/insn-codes.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/insn-constants.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/insn-flags.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/insn-modes.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/insn-notes.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/internal-fn.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/internal-fn.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/intl.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/ipa-prop.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/ipa-ref-inline.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/ipa-ref.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/ipa-reference.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/ipa-utils.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/is-a.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/java/java-tree.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/langhooks.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/libiberty.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/line-map.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/machmode.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/md5.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/mode-classes.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/objc/objc-tree.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/obstack.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/omp-builtins.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/options.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/opts.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/output.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/params.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/params.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/pass-instances.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/pass_manager.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/plugin-api.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/plugin-version.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/plugin.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/plugin.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/pointer-set.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/predict.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/predict.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/prefix.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/pretty-print.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/print-rtl.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/print-tree.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/real.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/realmpfr.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/reg-notes.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/regset.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/resource.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/rtl.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/rtl.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/safe-ctype.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/sanitizer.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/sbitmap.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/splay-tree.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/ssa-iterators.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/statistics.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/stmt.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/stor-layout.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/stringpool.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/symtab.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/sync-builtins.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/system.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/target-hooks-macros.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/target.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/target.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/timevar.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/timevar.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tm-preds.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tm.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tm_p.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/toplev.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-cfg.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-cfgcleanup.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-check.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-core.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-dfa.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-dump.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-eh.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-hasher.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-inline.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-into-ssa.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-iterator.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-nested.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-object-size.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-outof-ssa.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-parloops.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-pass.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-phinodes.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-pretty-print.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-ssa-address.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-ssa-alias.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-ssa-coalesce.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-ssa-dom.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-ssa-loop-ivopts.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-ssa-loop-manip.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-ssa-loop-niter.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-ssa-loop.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-ssa-operands.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-ssa-sccvn.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-ssa-ter.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-ssa-threadedge.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-ssa-threadupdate.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-ssa.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree-ssanames.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/tree.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/treestruct.def -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/varasm.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/vec.h -%%PSP_GCC_STAGE_PREFIX%%/lib/gcc/psp/4.9.3/plugin/include/version.h -%%PSP_GCC_STAGE_PREFIX%%/libexec/gcc/psp/4.9.3/cc1 -%%PSP_GCC_STAGE_PREFIX%%/libexec/gcc/psp/4.9.3/collect2 -%%PSP_GCC_STAGE_PREFIX%%/libexec/gcc/psp/4.9.3/install-tools/fixinc.sh -%%PSP_GCC_STAGE_PREFIX%%/libexec/gcc/psp/4.9.3/install-tools/fixincl -%%PSP_GCC_STAGE_PREFIX%%/libexec/gcc/psp/4.9.3/install-tools/mkheaders -%%PSP_GCC_STAGE_PREFIX%%/libexec/gcc/psp/4.9.3/install-tools/mkinstalldirs -%%PSP_GCC_STAGE_PREFIX%%/libexec/gcc/psp/4.9.3/liblto_plugin.so -%%PSP_GCC_STAGE_PREFIX%%/libexec/gcc/psp/4.9.3/liblto_plugin.so.0 -%%PSP_GCC_STAGE_PREFIX%%/libexec/gcc/psp/4.9.3/liblto_plugin.so.0.0.0 -%%PSP_GCC_STAGE_PREFIX%%/libexec/gcc/psp/4.9.3/lto-wrapper -%%PSP_GCC_STAGE_PREFIX%%/libexec/gcc/psp/4.9.3/lto1 -%%PSP_GCC_STAGE_PREFIX%%/libexec/gcc/psp/4.9.3/plugin/gengtype -@dir %%PSP_GCC_STAGE_PREFIX%%/include -@dir %%PSP_GCC_STAGE_PREFIX%%/psp/lib -@dir %%PSP_GCC_STAGE_PREFIX%%/share diff --git a/devel/psptoolchain-gcc-stage2/Makefile b/devel/psptoolchain-gcc-stage2/Makefile deleted file mode 100644 index fca8a18ba82e..000000000000 --- a/devel/psptoolchain-gcc-stage2/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -# Created by: Tassilo Philipp <tphilipp@potion-studios.com> - -PORTREVISION= 0 - -PKGNAMESUFFIX= -stage2 - -MAINTAINER= ports@FreeBSD.org - -BUILD_DEPENDS= ${LOCALBASE}/psp/lib/libc.a:devel/psptoolchain-newlib - -USES= iconv - -MAKE_ENV= CFLAGS_FOR_TARGET="-G0" PATH=${PREFIX}/bin:${PATH} -CONFIGURE_ARGS= --prefix=${PREFIX} \ - --target="psp" \ - --enable-languages="c,c++" \ - --enable-lto \ - --with-newlib \ - --with-gmp=${LOCALBASE} \ - --with-mpfr \ - --disable-libssp \ - --disable-nls \ - --enable-cxx-flags="-G0" \ - --with-ld=${LOCALBASE}/bin/psp-ld \ - --with-as=${LOCALBASE}/bin/psp-as \ - --mandir=${PREFIX}/man - -PLIST= ${.CURDIR}/pkg-plist -MASTERDIR= ${.CURDIR}/../psptoolchain-gcc-stage1 - -.include "${MASTERDIR}/Makefile" diff --git a/devel/psptoolchain-gcc-stage2/pkg-plist b/devel/psptoolchain-gcc-stage2/pkg-plist deleted file mode 100644 index 28f204eb5983..000000000000 --- a/devel/psptoolchain-gcc-stage2/pkg-plist +++ /dev/null @@ -1,944 +0,0 @@ -bin/psp-c++ -bin/psp-cpp -bin/psp-g++ -bin/psp-gcc -bin/psp-gcc-4.9.3 -bin/psp-gcc-ar -bin/psp-gcc-nm -bin/psp-gcc-ranlib -bin/psp-gcov -lib/gcc/psp/4.9.3/crtbegin.o -lib/gcc/psp/4.9.3/crtend.o -lib/gcc/psp/4.9.3/crti.o -lib/gcc/psp/4.9.3/crtn.o -lib/gcc/psp/4.9.3/include-fixed/README -lib/gcc/psp/4.9.3/include-fixed/limits.h -lib/gcc/psp/4.9.3/include-fixed/syslimits.h -lib/gcc/psp/4.9.3/include/float.h -lib/gcc/psp/4.9.3/include/iso646.h -lib/gcc/psp/4.9.3/include/loongson.h -lib/gcc/psp/4.9.3/include/stdalign.h -lib/gcc/psp/4.9.3/include/stdarg.h -lib/gcc/psp/4.9.3/include/stdatomic.h -lib/gcc/psp/4.9.3/include/stdbool.h -lib/gcc/psp/4.9.3/include/stddef.h -lib/gcc/psp/4.9.3/include/stdfix.h -lib/gcc/psp/4.9.3/include/stdint-gcc.h -lib/gcc/psp/4.9.3/include/stdint.h -lib/gcc/psp/4.9.3/include/stdnoreturn.h -lib/gcc/psp/4.9.3/include/tgmath.h -lib/gcc/psp/4.9.3/include/unwind.h -lib/gcc/psp/4.9.3/include/varargs.h -lib/gcc/psp/4.9.3/install-tools/fixinc_list -lib/gcc/psp/4.9.3/install-tools/gsyslimits.h -lib/gcc/psp/4.9.3/install-tools/include/README -lib/gcc/psp/4.9.3/install-tools/include/limits.h -lib/gcc/psp/4.9.3/install-tools/macro_list -lib/gcc/psp/4.9.3/install-tools/mkheaders.conf -lib/gcc/psp/4.9.3/libgcc.a -lib/gcc/psp/4.9.3/libgcov.a -lib/gcc/psp/4.9.3/plugin/gtype.state -lib/gcc/psp/4.9.3/plugin/include/ada/gcc-interface/ada-tree.def -lib/gcc/psp/4.9.3/plugin/include/alias.h -lib/gcc/psp/4.9.3/plugin/include/all-tree.def -lib/gcc/psp/4.9.3/plugin/include/alloc-pool.h -lib/gcc/psp/4.9.3/plugin/include/ansidecl.h -lib/gcc/psp/4.9.3/plugin/include/attribs.h -lib/gcc/psp/4.9.3/plugin/include/auto-host.h -lib/gcc/psp/4.9.3/plugin/include/b-header-vars -lib/gcc/psp/4.9.3/plugin/include/basic-block.h -lib/gcc/psp/4.9.3/plugin/include/bitmap.h -lib/gcc/psp/4.9.3/plugin/include/builtins.def -lib/gcc/psp/4.9.3/plugin/include/bversion.h -lib/gcc/psp/4.9.3/plugin/include/c-family/c-common.def -lib/gcc/psp/4.9.3/plugin/include/c-family/c-common.h -lib/gcc/psp/4.9.3/plugin/include/c-family/c-objc.h -lib/gcc/psp/4.9.3/plugin/include/c-family/c-pragma.h -lib/gcc/psp/4.9.3/plugin/include/c-family/c-pretty-print.h -lib/gcc/psp/4.9.3/plugin/include/c-tree.h -lib/gcc/psp/4.9.3/plugin/include/calls.h -lib/gcc/psp/4.9.3/plugin/include/cfg-flags.def -lib/gcc/psp/4.9.3/plugin/include/cfgexpand.h -lib/gcc/psp/4.9.3/plugin/include/cfghooks.h -lib/gcc/psp/4.9.3/plugin/include/cfgloop.h -lib/gcc/psp/4.9.3/plugin/include/cgraph.h -lib/gcc/psp/4.9.3/plugin/include/cif-code.def -lib/gcc/psp/4.9.3/plugin/include/cilk-builtins.def -lib/gcc/psp/4.9.3/plugin/include/cilkplus.def -lib/gcc/psp/4.9.3/plugin/include/config.h -lib/gcc/psp/4.9.3/plugin/include/config/elfos.h -lib/gcc/psp/4.9.3/plugin/include/config/initfini-array.h -lib/gcc/psp/4.9.3/plugin/include/config/mips/elf.h -lib/gcc/psp/4.9.3/plugin/include/config/mips/mips-opts.h -lib/gcc/psp/4.9.3/plugin/include/config/mips/mips-protos.h -lib/gcc/psp/4.9.3/plugin/include/config/mips/mips.h -lib/gcc/psp/4.9.3/plugin/include/config/mips/psp.h -lib/gcc/psp/4.9.3/plugin/include/config/vxworks-dummy.h -lib/gcc/psp/4.9.3/plugin/include/configargs.h -lib/gcc/psp/4.9.3/plugin/include/context.h -lib/gcc/psp/4.9.3/plugin/include/coretypes.h -lib/gcc/psp/4.9.3/plugin/include/cp/cp-tree.def -lib/gcc/psp/4.9.3/plugin/include/cp/cp-tree.h -lib/gcc/psp/4.9.3/plugin/include/cp/cxx-pretty-print.h -lib/gcc/psp/4.9.3/plugin/include/cp/name-lookup.h -lib/gcc/psp/4.9.3/plugin/include/cp/type-utils.h -lib/gcc/psp/4.9.3/plugin/include/cppdefault.h -lib/gcc/psp/4.9.3/plugin/include/cpplib.h -lib/gcc/psp/4.9.3/plugin/include/debug.h -lib/gcc/psp/4.9.3/plugin/include/defaults.h -lib/gcc/psp/4.9.3/plugin/include/df.h -lib/gcc/psp/4.9.3/plugin/include/diagnostic-color.h -lib/gcc/psp/4.9.3/plugin/include/diagnostic-core.h -lib/gcc/psp/4.9.3/plugin/include/diagnostic.def -lib/gcc/psp/4.9.3/plugin/include/diagnostic.h -lib/gcc/psp/4.9.3/plugin/include/double-int.h -lib/gcc/psp/4.9.3/plugin/include/dumpfile.h -lib/gcc/psp/4.9.3/plugin/include/emit-rtl.h -lib/gcc/psp/4.9.3/plugin/include/except.h -lib/gcc/psp/4.9.3/plugin/include/filenames.h -lib/gcc/psp/4.9.3/plugin/include/fixed-value.h -lib/gcc/psp/4.9.3/plugin/include/flag-types.h -lib/gcc/psp/4.9.3/plugin/include/flags.h -lib/gcc/psp/4.9.3/plugin/include/fold-const.h -lib/gcc/psp/4.9.3/plugin/include/function.h -lib/gcc/psp/4.9.3/plugin/include/gcc-plugin.h -lib/gcc/psp/4.9.3/plugin/include/gcc-symtab.h -lib/gcc/psp/4.9.3/plugin/include/genrtl.h -lib/gcc/psp/4.9.3/plugin/include/ggc.h -lib/gcc/psp/4.9.3/plugin/include/gimple-builder.h -lib/gcc/psp/4.9.3/plugin/include/gimple-expr.h -lib/gcc/psp/4.9.3/plugin/include/gimple-fold.h -lib/gcc/psp/4.9.3/plugin/include/gimple-iterator.h -lib/gcc/psp/4.9.3/plugin/include/gimple-low.h -lib/gcc/psp/4.9.3/plugin/include/gimple-pretty-print.h -lib/gcc/psp/4.9.3/plugin/include/gimple-ssa.h -lib/gcc/psp/4.9.3/plugin/include/gimple-walk.h -lib/gcc/psp/4.9.3/plugin/include/gimple.def -lib/gcc/psp/4.9.3/plugin/include/gimple.h -lib/gcc/psp/4.9.3/plugin/include/gimplify-me.h -lib/gcc/psp/4.9.3/plugin/include/gimplify.h -lib/gcc/psp/4.9.3/plugin/include/gsstruct.def -lib/gcc/psp/4.9.3/plugin/include/gtm-builtins.def -lib/gcc/psp/4.9.3/plugin/include/gtype-desc.h -lib/gcc/psp/4.9.3/plugin/include/hard-reg-set.h -lib/gcc/psp/4.9.3/plugin/include/hash-table.h -lib/gcc/psp/4.9.3/plugin/include/hashtab.h -lib/gcc/psp/4.9.3/plugin/include/highlev-plugin-common.h -lib/gcc/psp/4.9.3/plugin/include/hwint.h -lib/gcc/psp/4.9.3/plugin/include/incpath.h -lib/gcc/psp/4.9.3/plugin/include/input.h -lib/gcc/psp/4.9.3/plugin/include/insn-codes.h -lib/gcc/psp/4.9.3/plugin/include/insn-constants.h -lib/gcc/psp/4.9.3/plugin/include/insn-flags.h -lib/gcc/psp/4.9.3/plugin/include/insn-modes.h -lib/gcc/psp/4.9.3/plugin/include/insn-notes.def -lib/gcc/psp/4.9.3/plugin/include/internal-fn.def -lib/gcc/psp/4.9.3/plugin/include/internal-fn.h -lib/gcc/psp/4.9.3/plugin/include/intl.h -lib/gcc/psp/4.9.3/plugin/include/ipa-prop.h -lib/gcc/psp/4.9.3/plugin/include/ipa-ref-inline.h -lib/gcc/psp/4.9.3/plugin/include/ipa-ref.h -lib/gcc/psp/4.9.3/plugin/include/ipa-reference.h -lib/gcc/psp/4.9.3/plugin/include/ipa-utils.h -lib/gcc/psp/4.9.3/plugin/include/is-a.h -lib/gcc/psp/4.9.3/plugin/include/java/java-tree.def -lib/gcc/psp/4.9.3/plugin/include/langhooks.h -lib/gcc/psp/4.9.3/plugin/include/libiberty.h -lib/gcc/psp/4.9.3/plugin/include/line-map.h -lib/gcc/psp/4.9.3/plugin/include/machmode.h -lib/gcc/psp/4.9.3/plugin/include/md5.h -lib/gcc/psp/4.9.3/plugin/include/mode-classes.def -lib/gcc/psp/4.9.3/plugin/include/objc/objc-tree.def -lib/gcc/psp/4.9.3/plugin/include/obstack.h -lib/gcc/psp/4.9.3/plugin/include/omp-builtins.def -lib/gcc/psp/4.9.3/plugin/include/options.h -lib/gcc/psp/4.9.3/plugin/include/opts.h -lib/gcc/psp/4.9.3/plugin/include/output.h -lib/gcc/psp/4.9.3/plugin/include/params.def -lib/gcc/psp/4.9.3/plugin/include/params.h -lib/gcc/psp/4.9.3/plugin/include/pass-instances.def -lib/gcc/psp/4.9.3/plugin/include/pass_manager.h -lib/gcc/psp/4.9.3/plugin/include/plugin-api.h -lib/gcc/psp/4.9.3/plugin/include/plugin-version.h -lib/gcc/psp/4.9.3/plugin/include/plugin.def -lib/gcc/psp/4.9.3/plugin/include/plugin.h -lib/gcc/psp/4.9.3/plugin/include/pointer-set.h -lib/gcc/psp/4.9.3/plugin/include/predict.def -lib/gcc/psp/4.9.3/plugin/include/predict.h -lib/gcc/psp/4.9.3/plugin/include/prefix.h -lib/gcc/psp/4.9.3/plugin/include/pretty-print.h -lib/gcc/psp/4.9.3/plugin/include/print-rtl.h -lib/gcc/psp/4.9.3/plugin/include/print-tree.h -lib/gcc/psp/4.9.3/plugin/include/real.h -lib/gcc/psp/4.9.3/plugin/include/realmpfr.h -lib/gcc/psp/4.9.3/plugin/include/reg-notes.def -lib/gcc/psp/4.9.3/plugin/include/regset.h -lib/gcc/psp/4.9.3/plugin/include/resource.h -lib/gcc/psp/4.9.3/plugin/include/rtl.def -lib/gcc/psp/4.9.3/plugin/include/rtl.h -lib/gcc/psp/4.9.3/plugin/include/safe-ctype.h -lib/gcc/psp/4.9.3/plugin/include/sanitizer.def -lib/gcc/psp/4.9.3/plugin/include/sbitmap.h -lib/gcc/psp/4.9.3/plugin/include/splay-tree.h -lib/gcc/psp/4.9.3/plugin/include/ssa-iterators.h -lib/gcc/psp/4.9.3/plugin/include/statistics.h -lib/gcc/psp/4.9.3/plugin/include/stmt.h -lib/gcc/psp/4.9.3/plugin/include/stor-layout.h -lib/gcc/psp/4.9.3/plugin/include/stringpool.h -lib/gcc/psp/4.9.3/plugin/include/symtab.h -lib/gcc/psp/4.9.3/plugin/include/sync-builtins.def -lib/gcc/psp/4.9.3/plugin/include/system.h -lib/gcc/psp/4.9.3/plugin/include/target-hooks-macros.h -lib/gcc/psp/4.9.3/plugin/include/target.def -lib/gcc/psp/4.9.3/plugin/include/target.h -lib/gcc/psp/4.9.3/plugin/include/timevar.def -lib/gcc/psp/4.9.3/plugin/include/timevar.h -lib/gcc/psp/4.9.3/plugin/include/tm-preds.h -lib/gcc/psp/4.9.3/plugin/include/tm.h -lib/gcc/psp/4.9.3/plugin/include/tm_p.h -lib/gcc/psp/4.9.3/plugin/include/toplev.h -lib/gcc/psp/4.9.3/plugin/include/tree-cfg.h -lib/gcc/psp/4.9.3/plugin/include/tree-cfgcleanup.h -lib/gcc/psp/4.9.3/plugin/include/tree-check.h -lib/gcc/psp/4.9.3/plugin/include/tree-core.h -lib/gcc/psp/4.9.3/plugin/include/tree-dfa.h -lib/gcc/psp/4.9.3/plugin/include/tree-dump.h -lib/gcc/psp/4.9.3/plugin/include/tree-eh.h -lib/gcc/psp/4.9.3/plugin/include/tree-hasher.h -lib/gcc/psp/4.9.3/plugin/include/tree-inline.h -lib/gcc/psp/4.9.3/plugin/include/tree-into-ssa.h -lib/gcc/psp/4.9.3/plugin/include/tree-iterator.h -lib/gcc/psp/4.9.3/plugin/include/tree-nested.h -lib/gcc/psp/4.9.3/plugin/include/tree-object-size.h -lib/gcc/psp/4.9.3/plugin/include/tree-outof-ssa.h -lib/gcc/psp/4.9.3/plugin/include/tree-parloops.h -lib/gcc/psp/4.9.3/plugin/include/tree-pass.h -lib/gcc/psp/4.9.3/plugin/include/tree-phinodes.h -lib/gcc/psp/4.9.3/plugin/include/tree-pretty-print.h -lib/gcc/psp/4.9.3/plugin/include/tree-ssa-address.h -lib/gcc/psp/4.9.3/plugin/include/tree-ssa-alias.h -lib/gcc/psp/4.9.3/plugin/include/tree-ssa-coalesce.h -lib/gcc/psp/4.9.3/plugin/include/tree-ssa-dom.h -lib/gcc/psp/4.9.3/plugin/include/tree-ssa-loop-ivopts.h -lib/gcc/psp/4.9.3/plugin/include/tree-ssa-loop-manip.h -lib/gcc/psp/4.9.3/plugin/include/tree-ssa-loop-niter.h -lib/gcc/psp/4.9.3/plugin/include/tree-ssa-loop.h -lib/gcc/psp/4.9.3/plugin/include/tree-ssa-operands.h -lib/gcc/psp/4.9.3/plugin/include/tree-ssa-sccvn.h -lib/gcc/psp/4.9.3/plugin/include/tree-ssa-ter.h -lib/gcc/psp/4.9.3/plugin/include/tree-ssa-threadedge.h -lib/gcc/psp/4.9.3/plugin/include/tree-ssa-threadupdate.h -lib/gcc/psp/4.9.3/plugin/include/tree-ssa.h -lib/gcc/psp/4.9.3/plugin/include/tree-ssanames.h -lib/gcc/psp/4.9.3/plugin/include/tree.def -lib/gcc/psp/4.9.3/plugin/include/tree.h -lib/gcc/psp/4.9.3/plugin/include/treestruct.def -lib/gcc/psp/4.9.3/plugin/include/varasm.h -lib/gcc/psp/4.9.3/plugin/include/vec.h -lib/gcc/psp/4.9.3/plugin/include/version.h -libexec/gcc/psp/4.9.3/cc1 -libexec/gcc/psp/4.9.3/cc1plus -libexec/gcc/psp/4.9.3/collect2 -libexec/gcc/psp/4.9.3/install-tools/fixinc.sh -libexec/gcc/psp/4.9.3/install-tools/fixincl -libexec/gcc/psp/4.9.3/install-tools/mkheaders -libexec/gcc/psp/4.9.3/install-tools/mkinstalldirs -libexec/gcc/psp/4.9.3/liblto_plugin.so -libexec/gcc/psp/4.9.3/liblto_plugin.so.0 -libexec/gcc/psp/4.9.3/liblto_plugin.so.0.0.0 -libexec/gcc/psp/4.9.3/lto-wrapper -libexec/gcc/psp/4.9.3/lto1 -libexec/gcc/psp/4.9.3/plugin/gengtype -man/man1/psp-cpp.1.gz -man/man1/psp-g++.1.gz -man/man1/psp-gcc.1.gz -man/man1/psp-gcov.1.gz -psp/include/c++/4.9.3/algorithm -psp/include/c++/4.9.3/array -psp/include/c++/4.9.3/atomic -psp/include/c++/4.9.3/backward/auto_ptr.h -psp/include/c++/4.9.3/backward/backward_warning.h -psp/include/c++/4.9.3/backward/binders.h -psp/include/c++/4.9.3/backward/hash_fun.h -psp/include/c++/4.9.3/backward/hash_map -psp/include/c++/4.9.3/backward/hash_set -psp/include/c++/4.9.3/backward/hashtable.h -psp/include/c++/4.9.3/backward/strstream -psp/include/c++/4.9.3/bits/algorithmfwd.h -psp/include/c++/4.9.3/bits/alloc_traits.h -psp/include/c++/4.9.3/bits/allocator.h -psp/include/c++/4.9.3/bits/atomic_base.h -psp/include/c++/4.9.3/bits/atomic_lockfree_defines.h -psp/include/c++/4.9.3/bits/basic_ios.h -psp/include/c++/4.9.3/bits/basic_ios.tcc -psp/include/c++/4.9.3/bits/basic_string.h -psp/include/c++/4.9.3/bits/basic_string.tcc -psp/include/c++/4.9.3/bits/boost_concept_check.h -psp/include/c++/4.9.3/bits/c++0x_warning.h -psp/include/c++/4.9.3/bits/c++14_warning.h -psp/include/c++/4.9.3/bits/char_traits.h -psp/include/c++/4.9.3/bits/codecvt.h -psp/include/c++/4.9.3/bits/concept_check.h -psp/include/c++/4.9.3/bits/cpp_type_traits.h -psp/include/c++/4.9.3/bits/cxxabi_forced.h -psp/include/c++/4.9.3/bits/deque.tcc -psp/include/c++/4.9.3/bits/enable_special_members.h -psp/include/c++/4.9.3/bits/exception_defines.h -psp/include/c++/4.9.3/bits/exception_ptr.h -psp/include/c++/4.9.3/bits/forward_list.h -psp/include/c++/4.9.3/bits/forward_list.tcc -psp/include/c++/4.9.3/bits/fstream.tcc -psp/include/c++/4.9.3/bits/functexcept.h -psp/include/c++/4.9.3/bits/functional_hash.h -psp/include/c++/4.9.3/bits/gslice.h -psp/include/c++/4.9.3/bits/gslice_array.h -psp/include/c++/4.9.3/bits/hash_bytes.h -psp/include/c++/4.9.3/bits/hashtable.h -psp/include/c++/4.9.3/bits/hashtable_policy.h -psp/include/c++/4.9.3/bits/indirect_array.h -psp/include/c++/4.9.3/bits/ios_base.h -psp/include/c++/4.9.3/bits/istream.tcc -psp/include/c++/4.9.3/bits/list.tcc -psp/include/c++/4.9.3/bits/locale_classes.h -psp/include/c++/4.9.3/bits/locale_classes.tcc -psp/include/c++/4.9.3/bits/locale_facets.h -psp/include/c++/4.9.3/bits/locale_facets.tcc -psp/include/c++/4.9.3/bits/locale_facets_nonio.h -psp/include/c++/4.9.3/bits/locale_facets_nonio.tcc -psp/include/c++/4.9.3/bits/localefwd.h -psp/include/c++/4.9.3/bits/mask_array.h -psp/include/c++/4.9.3/bits/memoryfwd.h -psp/include/c++/4.9.3/bits/move.h -psp/include/c++/4.9.3/bits/nested_exception.h -psp/include/c++/4.9.3/bits/ostream.tcc -psp/include/c++/4.9.3/bits/ostream_insert.h -psp/include/c++/4.9.3/bits/parse_numbers.h -psp/include/c++/4.9.3/bits/postypes.h -psp/include/c++/4.9.3/bits/predefined_ops.h -psp/include/c++/4.9.3/bits/ptr_traits.h -psp/include/c++/4.9.3/bits/random.h -psp/include/c++/4.9.3/bits/random.tcc -psp/include/c++/4.9.3/bits/range_access.h -psp/include/c++/4.9.3/bits/regex.h -psp/include/c++/4.9.3/bits/regex.tcc -psp/include/c++/4.9.3/bits/regex_automaton.h -psp/include/c++/4.9.3/bits/regex_automaton.tcc -psp/include/c++/4.9.3/bits/regex_compiler.h -psp/include/c++/4.9.3/bits/regex_compiler.tcc -psp/include/c++/4.9.3/bits/regex_constants.h -psp/include/c++/4.9.3/bits/regex_error.h -psp/include/c++/4.9.3/bits/regex_executor.h -psp/include/c++/4.9.3/bits/regex_executor.tcc -psp/include/c++/4.9.3/bits/regex_scanner.h -psp/include/c++/4.9.3/bits/regex_scanner.tcc -psp/include/c++/4.9.3/bits/shared_ptr.h -psp/include/c++/4.9.3/bits/shared_ptr_base.h -psp/include/c++/4.9.3/bits/slice_array.h -psp/include/c++/4.9.3/bits/sstream.tcc -psp/include/c++/4.9.3/bits/stl_algo.h -psp/include/c++/4.9.3/bits/stl_algobase.h -psp/include/c++/4.9.3/bits/stl_bvector.h -psp/include/c++/4.9.3/bits/stl_construct.h -psp/include/c++/4.9.3/bits/stl_deque.h -psp/include/c++/4.9.3/bits/stl_function.h -psp/include/c++/4.9.3/bits/stl_heap.h -psp/include/c++/4.9.3/bits/stl_iterator.h -psp/include/c++/4.9.3/bits/stl_iterator_base_funcs.h -psp/include/c++/4.9.3/bits/stl_iterator_base_types.h -psp/include/c++/4.9.3/bits/stl_list.h -psp/include/c++/4.9.3/bits/stl_map.h -psp/include/c++/4.9.3/bits/stl_multimap.h -psp/include/c++/4.9.3/bits/stl_multiset.h -psp/include/c++/4.9.3/bits/stl_numeric.h -psp/include/c++/4.9.3/bits/stl_pair.h -psp/include/c++/4.9.3/bits/stl_queue.h -psp/include/c++/4.9.3/bits/stl_raw_storage_iter.h -psp/include/c++/4.9.3/bits/stl_relops.h -psp/include/c++/4.9.3/bits/stl_set.h -psp/include/c++/4.9.3/bits/stl_stack.h -psp/include/c++/4.9.3/bits/stl_tempbuf.h -psp/include/c++/4.9.3/bits/stl_tree.h -psp/include/c++/4.9.3/bits/stl_uninitialized.h -psp/include/c++/4.9.3/bits/stl_vector.h -psp/include/c++/4.9.3/bits/stream_iterator.h -psp/include/c++/4.9.3/bits/streambuf.tcc -psp/include/c++/4.9.3/bits/streambuf_iterator.h -psp/include/c++/4.9.3/bits/stringfwd.h -psp/include/c++/4.9.3/bits/unique_ptr.h -psp/include/c++/4.9.3/bits/unordered_map.h -psp/include/c++/4.9.3/bits/unordered_set.h -psp/include/c++/4.9.3/bits/uses_allocator.h -psp/include/c++/4.9.3/bits/valarray_after.h -psp/include/c++/4.9.3/bits/valarray_array.h -psp/include/c++/4.9.3/bits/valarray_array.tcc -psp/include/c++/4.9.3/bits/valarray_before.h -psp/include/c++/4.9.3/bits/vector.tcc -psp/include/c++/4.9.3/bitset -psp/include/c++/4.9.3/cassert -psp/include/c++/4.9.3/ccomplex -psp/include/c++/4.9.3/cctype -psp/include/c++/4.9.3/cerrno -psp/include/c++/4.9.3/cfenv -psp/include/c++/4.9.3/cfloat -psp/include/c++/4.9.3/chrono -psp/include/c++/4.9.3/cinttypes -psp/include/c++/4.9.3/ciso646 -psp/include/c++/4.9.3/climits -psp/include/c++/4.9.3/clocale -psp/include/c++/4.9.3/cmath -psp/include/c++/4.9.3/complex -psp/include/c++/4.9.3/complex.h -psp/include/c++/4.9.3/condition_variable -psp/include/c++/4.9.3/csetjmp -psp/include/c++/4.9.3/csignal -psp/include/c++/4.9.3/cstdalign -psp/include/c++/4.9.3/cstdarg -psp/include/c++/4.9.3/cstdbool -psp/include/c++/4.9.3/cstddef -psp/include/c++/4.9.3/cstdint -psp/include/c++/4.9.3/cstdio -psp/include/c++/4.9.3/cstdlib -psp/include/c++/4.9.3/cstring -psp/include/c++/4.9.3/ctgmath -psp/include/c++/4.9.3/ctime -psp/include/c++/4.9.3/cwchar -psp/include/c++/4.9.3/cwctype -psp/include/c++/4.9.3/cxxabi.h -psp/include/c++/4.9.3/debug/array -psp/include/c++/4.9.3/debug/bitset -psp/include/c++/4.9.3/debug/debug.h -psp/include/c++/4.9.3/debug/deque -psp/include/c++/4.9.3/debug/formatter.h -psp/include/c++/4.9.3/debug/forward_list -psp/include/c++/4.9.3/debug/functions.h -psp/include/c++/4.9.3/debug/list -psp/include/c++/4.9.3/debug/macros.h -psp/include/c++/4.9.3/debug/map -psp/include/c++/4.9.3/debug/map.h -psp/include/c++/4.9.3/debug/multimap.h -psp/include/c++/4.9.3/debug/multiset.h -psp/include/c++/4.9.3/debug/safe_base.h -psp/include/c++/4.9.3/debug/safe_iterator.h -psp/include/c++/4.9.3/debug/safe_iterator.tcc -psp/include/c++/4.9.3/debug/safe_local_iterator.h -psp/include/c++/4.9.3/debug/safe_local_iterator.tcc -psp/include/c++/4.9.3/debug/safe_sequence.h -psp/include/c++/4.9.3/debug/safe_sequence.tcc -psp/include/c++/4.9.3/debug/safe_unordered_base.h -psp/include/c++/4.9.3/debug/safe_unordered_container.h -psp/include/c++/4.9.3/debug/safe_unordered_container.tcc -psp/include/c++/4.9.3/debug/set -psp/include/c++/4.9.3/debug/set.h -psp/include/c++/4.9.3/debug/string -psp/include/c++/4.9.3/debug/unordered_map -psp/include/c++/4.9.3/debug/unordered_set -psp/include/c++/4.9.3/debug/vector -psp/include/c++/4.9.3/decimal/decimal -psp/include/c++/4.9.3/decimal/decimal.h -psp/include/c++/4.9.3/deque -psp/include/c++/4.9.3/exception -psp/include/c++/4.9.3/experimental/optional -psp/include/c++/4.9.3/experimental/string_view -psp/include/c++/4.9.3/experimental/string_view.tcc -psp/include/c++/4.9.3/ext/algorithm -psp/include/c++/4.9.3/ext/aligned_buffer.h -psp/include/c++/4.9.3/ext/alloc_traits.h -psp/include/c++/4.9.3/ext/array_allocator.h -psp/include/c++/4.9.3/ext/atomicity.h -psp/include/c++/4.9.3/ext/bitmap_allocator.h -psp/include/c++/4.9.3/ext/cast.h -psp/include/c++/4.9.3/ext/cmath -psp/include/c++/4.9.3/ext/codecvt_specializations.h -psp/include/c++/4.9.3/ext/concurrence.h -psp/include/c++/4.9.3/ext/debug_allocator.h -psp/include/c++/4.9.3/ext/enc_filebuf.h -psp/include/c++/4.9.3/ext/extptr_allocator.h -psp/include/c++/4.9.3/ext/functional -psp/include/c++/4.9.3/ext/hash_map -psp/include/c++/4.9.3/ext/hash_set -psp/include/c++/4.9.3/ext/iterator -psp/include/c++/4.9.3/ext/malloc_allocator.h -psp/include/c++/4.9.3/ext/memory -psp/include/c++/4.9.3/ext/mt_allocator.h -psp/include/c++/4.9.3/ext/new_allocator.h -psp/include/c++/4.9.3/ext/numeric -psp/include/c++/4.9.3/ext/numeric_traits.h -psp/include/c++/4.9.3/ext/pb_ds/assoc_container.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/bin_search_tree_/traits.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binary_heap_/const_iterator.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binary_heap_/entry_pred.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binary_heap_/resize_policy.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/branch_policy/branch_policy.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/branch_policy/traits.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/cond_dealtor.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/container_base_dispatch.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/debug_map_base.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/eq_fn/eq_by_less.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/left_child_next_sibling_heap_/point_const_iterator.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/list_update_map_/lu_map_.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/list_update_policy/lu_counter_metadata.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/ov_tree_map_/traits.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pat_trie_/traits.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/priority_queue_base_dispatch.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/rb_tree_map_/node.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/rb_tree_map_/traits.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/splay_tree_/node.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/splay_tree_/traits.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/standard_policies.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/tree_trace_base.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/type_utils.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/types_traits.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/unordered_iterator/iterator.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp -psp/include/c++/4.9.3/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp -psp/include/c++/4.9.3/ext/pb_ds/exception.hpp -psp/include/c++/4.9.3/ext/pb_ds/hash_policy.hpp -psp/include/c++/4.9.3/ext/pb_ds/list_update_policy.hpp -psp/include/c++/4.9.3/ext/pb_ds/priority_queue.hpp -psp/include/c++/4.9.3/ext/pb_ds/tag_and_trait.hpp -psp/include/c++/4.9.3/ext/pb_ds/tree_policy.hpp -psp/include/c++/4.9.3/ext/pb_ds/trie_policy.hpp -psp/include/c++/4.9.3/ext/pod_char_traits.h -psp/include/c++/4.9.3/ext/pointer.h -psp/include/c++/4.9.3/ext/pool_allocator.h -psp/include/c++/4.9.3/ext/random -psp/include/c++/4.9.3/ext/random.tcc -psp/include/c++/4.9.3/ext/rb_tree -psp/include/c++/4.9.3/ext/rc_string_base.h -psp/include/c++/4.9.3/ext/rope -psp/include/c++/4.9.3/ext/ropeimpl.h -psp/include/c++/4.9.3/ext/slist -psp/include/c++/4.9.3/ext/sso_string_base.h -psp/include/c++/4.9.3/ext/stdio_filebuf.h -psp/include/c++/4.9.3/ext/stdio_sync_filebuf.h -psp/include/c++/4.9.3/ext/string_conversions.h -psp/include/c++/4.9.3/ext/throw_allocator.h -psp/include/c++/4.9.3/ext/type_traits.h -psp/include/c++/4.9.3/ext/typelist.h -psp/include/c++/4.9.3/ext/vstring.h -psp/include/c++/4.9.3/ext/vstring.tcc -psp/include/c++/4.9.3/ext/vstring_fwd.h -psp/include/c++/4.9.3/ext/vstring_util.h -psp/include/c++/4.9.3/fenv.h -psp/include/c++/4.9.3/forward_list -psp/include/c++/4.9.3/fstream -psp/include/c++/4.9.3/functional -psp/include/c++/4.9.3/future -psp/include/c++/4.9.3/initializer_list -psp/include/c++/4.9.3/iomanip -psp/include/c++/4.9.3/ios -psp/include/c++/4.9.3/iosfwd -psp/include/c++/4.9.3/iostream -psp/include/c++/4.9.3/istream -psp/include/c++/4.9.3/iterator -psp/include/c++/4.9.3/limits -psp/include/c++/4.9.3/list -psp/include/c++/4.9.3/locale -psp/include/c++/4.9.3/map -psp/include/c++/4.9.3/memory -psp/include/c++/4.9.3/mutex -psp/include/c++/4.9.3/new -psp/include/c++/4.9.3/numeric -psp/include/c++/4.9.3/ostream -psp/include/c++/4.9.3/parallel/algo.h -psp/include/c++/4.9.3/parallel/algobase.h -psp/include/c++/4.9.3/parallel/algorithm -psp/include/c++/4.9.3/parallel/algorithmfwd.h -psp/include/c++/4.9.3/parallel/balanced_quicksort.h -psp/include/c++/4.9.3/parallel/base.h -psp/include/c++/4.9.3/parallel/basic_iterator.h -psp/include/c++/4.9.3/parallel/checkers.h -psp/include/c++/4.9.3/parallel/compatibility.h -psp/include/c++/4.9.3/parallel/compiletime_settings.h -psp/include/c++/4.9.3/parallel/equally_split.h -psp/include/c++/4.9.3/parallel/features.h -psp/include/c++/4.9.3/parallel/find.h -psp/include/c++/4.9.3/parallel/find_selectors.h -psp/include/c++/4.9.3/parallel/for_each.h -psp/include/c++/4.9.3/parallel/for_each_selectors.h -psp/include/c++/4.9.3/parallel/iterator.h -psp/include/c++/4.9.3/parallel/list_partition.h -psp/include/c++/4.9.3/parallel/losertree.h -psp/include/c++/4.9.3/parallel/merge.h -psp/include/c++/4.9.3/parallel/multiseq_selection.h -psp/include/c++/4.9.3/parallel/multiway_merge.h -psp/include/c++/4.9.3/parallel/multiway_mergesort.h -psp/include/c++/4.9.3/parallel/numeric -psp/include/c++/4.9.3/parallel/numericfwd.h -psp/include/c++/4.9.3/parallel/omp_loop.h -psp/include/c++/4.9.3/parallel/omp_loop_static.h -psp/include/c++/4.9.3/parallel/par_loop.h -psp/include/c++/4.9.3/parallel/parallel.h -psp/include/c++/4.9.3/parallel/partial_sum.h -psp/include/c++/4.9.3/parallel/partition.h -psp/include/c++/4.9.3/parallel/queue.h -psp/include/c++/4.9.3/parallel/quicksort.h -psp/include/c++/4.9.3/parallel/random_number.h -psp/include/c++/4.9.3/parallel/random_shuffle.h -psp/include/c++/4.9.3/parallel/search.h -psp/include/c++/4.9.3/parallel/set_operations.h -psp/include/c++/4.9.3/parallel/settings.h -psp/include/c++/4.9.3/parallel/sort.h -psp/include/c++/4.9.3/parallel/tags.h -psp/include/c++/4.9.3/parallel/types.h -psp/include/c++/4.9.3/parallel/unique_copy.h -psp/include/c++/4.9.3/parallel/workstealing.h -psp/include/c++/4.9.3/profile/array -psp/include/c++/4.9.3/profile/base.h -psp/include/c++/4.9.3/profile/bitset -psp/include/c++/4.9.3/profile/deque -psp/include/c++/4.9.3/profile/forward_list -psp/include/c++/4.9.3/profile/impl/profiler.h -psp/include/c++/4.9.3/profile/impl/profiler_algos.h -psp/include/c++/4.9.3/profile/impl/profiler_container_size.h -psp/include/c++/4.9.3/profile/impl/profiler_hash_func.h -psp/include/c++/4.9.3/profile/impl/profiler_hashtable_size.h -psp/include/c++/4.9.3/profile/impl/profiler_list_to_slist.h -psp/include/c++/4.9.3/profile/impl/profiler_list_to_vector.h -psp/include/c++/4.9.3/profile/impl/profiler_map_to_unordered_map.h -psp/include/c++/4.9.3/profile/impl/profiler_node.h -psp/include/c++/4.9.3/profile/impl/profiler_state.h -psp/include/c++/4.9.3/profile/impl/profiler_trace.h -psp/include/c++/4.9.3/profile/impl/profiler_vector_size.h -psp/include/c++/4.9.3/profile/impl/profiler_vector_to_list.h -psp/include/c++/4.9.3/profile/iterator_tracker.h -psp/include/c++/4.9.3/profile/list -psp/include/c++/4.9.3/profile/map -psp/include/c++/4.9.3/profile/map.h -psp/include/c++/4.9.3/profile/multimap.h -psp/include/c++/4.9.3/profile/multiset.h -psp/include/c++/4.9.3/profile/set -psp/include/c++/4.9.3/profile/set.h -psp/include/c++/4.9.3/profile/unordered_base.h -psp/include/c++/4.9.3/profile/unordered_map -psp/include/c++/4.9.3/profile/unordered_set -psp/include/c++/4.9.3/profile/vector -psp/include/c++/4.9.3/psp/bits/atomic_word.h -psp/include/c++/4.9.3/psp/bits/basic_file.h -psp/include/c++/4.9.3/psp/bits/c++allocator.h -psp/include/c++/4.9.3/psp/bits/c++config.h -psp/include/c++/4.9.3/psp/bits/c++io.h -psp/include/c++/4.9.3/psp/bits/c++locale.h -psp/include/c++/4.9.3/psp/bits/cpu_defines.h -psp/include/c++/4.9.3/psp/bits/ctype_base.h -psp/include/c++/4.9.3/psp/bits/ctype_inline.h -psp/include/c++/4.9.3/psp/bits/cxxabi_tweaks.h -psp/include/c++/4.9.3/psp/bits/error_constants.h -psp/include/c++/4.9.3/psp/bits/extc++.h -psp/include/c++/4.9.3/psp/bits/gthr-default.h -psp/include/c++/4.9.3/psp/bits/gthr-posix.h -psp/include/c++/4.9.3/psp/bits/gthr-single.h -psp/include/c++/4.9.3/psp/bits/gthr.h -psp/include/c++/4.9.3/psp/bits/messages_members.h -psp/include/c++/4.9.3/psp/bits/opt_random.h -psp/include/c++/4.9.3/psp/bits/os_defines.h -psp/include/c++/4.9.3/psp/bits/stdc++.h -psp/include/c++/4.9.3/psp/bits/stdtr1c++.h -psp/include/c++/4.9.3/psp/bits/time_members.h -psp/include/c++/4.9.3/psp/ext/opt_random.h -psp/include/c++/4.9.3/queue -psp/include/c++/4.9.3/random -psp/include/c++/4.9.3/ratio -psp/include/c++/4.9.3/regex -psp/include/c++/4.9.3/scoped_allocator -psp/include/c++/4.9.3/set -psp/include/c++/4.9.3/shared_mutex -psp/include/c++/4.9.3/sstream -psp/include/c++/4.9.3/stack -psp/include/c++/4.9.3/stdexcept -psp/include/c++/4.9.3/streambuf -psp/include/c++/4.9.3/string -psp/include/c++/4.9.3/system_error -psp/include/c++/4.9.3/tgmath.h -psp/include/c++/4.9.3/thread -psp/include/c++/4.9.3/tr1/array -psp/include/c++/4.9.3/tr1/bessel_function.tcc -psp/include/c++/4.9.3/tr1/beta_function.tcc -psp/include/c++/4.9.3/tr1/ccomplex -psp/include/c++/4.9.3/tr1/cctype -psp/include/c++/4.9.3/tr1/cfenv -psp/include/c++/4.9.3/tr1/cfloat -psp/include/c++/4.9.3/tr1/cinttypes -psp/include/c++/4.9.3/tr1/climits -psp/include/c++/4.9.3/tr1/cmath -psp/include/c++/4.9.3/tr1/complex -psp/include/c++/4.9.3/tr1/complex.h -psp/include/c++/4.9.3/tr1/cstdarg -psp/include/c++/4.9.3/tr1/cstdbool -psp/include/c++/4.9.3/tr1/cstdint -psp/include/c++/4.9.3/tr1/cstdio -psp/include/c++/4.9.3/tr1/cstdlib -psp/include/c++/4.9.3/tr1/ctgmath -psp/include/c++/4.9.3/tr1/ctime -psp/include/c++/4.9.3/tr1/ctype.h -psp/include/c++/4.9.3/tr1/cwchar -psp/include/c++/4.9.3/tr1/cwctype -psp/include/c++/4.9.3/tr1/ell_integral.tcc -psp/include/c++/4.9.3/tr1/exp_integral.tcc -psp/include/c++/4.9.3/tr1/fenv.h -psp/include/c++/4.9.3/tr1/float.h -psp/include/c++/4.9.3/tr1/functional -psp/include/c++/4.9.3/tr1/functional_hash.h -psp/include/c++/4.9.3/tr1/gamma.tcc -psp/include/c++/4.9.3/tr1/hashtable.h -psp/include/c++/4.9.3/tr1/hashtable_policy.h -psp/include/c++/4.9.3/tr1/hypergeometric.tcc -psp/include/c++/4.9.3/tr1/inttypes.h -psp/include/c++/4.9.3/tr1/legendre_function.tcc -psp/include/c++/4.9.3/tr1/limits.h -psp/include/c++/4.9.3/tr1/math.h -psp/include/c++/4.9.3/tr1/memory -psp/include/c++/4.9.3/tr1/modified_bessel_func.tcc -psp/include/c++/4.9.3/tr1/poly_hermite.tcc -psp/include/c++/4.9.3/tr1/poly_laguerre.tcc -psp/include/c++/4.9.3/tr1/random -psp/include/c++/4.9.3/tr1/random.h -psp/include/c++/4.9.3/tr1/random.tcc -psp/include/c++/4.9.3/tr1/regex -psp/include/c++/4.9.3/tr1/riemann_zeta.tcc -psp/include/c++/4.9.3/tr1/shared_ptr.h -psp/include/c++/4.9.3/tr1/special_function_util.h -psp/include/c++/4.9.3/tr1/stdarg.h -psp/include/c++/4.9.3/tr1/stdbool.h -psp/include/c++/4.9.3/tr1/stdint.h -psp/include/c++/4.9.3/tr1/stdio.h -psp/include/c++/4.9.3/tr1/stdlib.h -psp/include/c++/4.9.3/tr1/tgmath.h -psp/include/c++/4.9.3/tr1/tuple -psp/include/c++/4.9.3/tr1/type_traits -psp/include/c++/4.9.3/tr1/unordered_map -psp/include/c++/4.9.3/tr1/unordered_map.h -psp/include/c++/4.9.3/tr1/unordered_set -psp/include/c++/4.9.3/tr1/unordered_set.h -psp/include/c++/4.9.3/tr1/utility -psp/include/c++/4.9.3/tr1/wchar.h -psp/include/c++/4.9.3/tr1/wctype.h -psp/include/c++/4.9.3/tr2/bool_set -psp/include/c++/4.9.3/tr2/bool_set.tcc -psp/include/c++/4.9.3/tr2/dynamic_bitset -psp/include/c++/4.9.3/tr2/dynamic_bitset.tcc -psp/include/c++/4.9.3/tr2/ratio -psp/include/c++/4.9.3/tr2/type_traits -psp/include/c++/4.9.3/tuple -psp/include/c++/4.9.3/type_traits -psp/include/c++/4.9.3/typeindex -psp/include/c++/4.9.3/typeinfo -psp/include/c++/4.9.3/unordered_map -psp/include/c++/4.9.3/unordered_set -psp/include/c++/4.9.3/utility -psp/include/c++/4.9.3/valarray -psp/include/c++/4.9.3/vector -psp/lib/libstdc++.a -psp/lib/libstdc++.a-gdb.py -psp/lib/libsupc++.a -%%DATADIR%%-4.9.3/python/libstdcxx/__init__.py -%%DATADIR%%-4.9.3/python/libstdcxx/v6/__init__.py -%%DATADIR%%-4.9.3/python/libstdcxx/v6/printers.py diff --git a/devel/psptoolchain-gdb/Makefile b/devel/psptoolchain-gdb/Makefile deleted file mode 100644 index 44b8f67c8b09..000000000000 --- a/devel/psptoolchain-gdb/Makefile +++ /dev/null @@ -1,40 +0,0 @@ -# Created by: Tassilo Philipp <tphilipp@potion-studios.com> - -PORTNAME= gdb -PORTVERSION= 7.3.1 -PORTREVISION= 1 -CATEGORIES= devel -MASTER_SITES= GNU -PKGNAMEPREFIX= psptoolchain- - -MAINTAINER= ports@FreeBSD.org -COMMENT= PlayStation Portable development toolchain ${PORTNAME} - -DEPRECATED= Security issues for multiple years -EXPIRATION_DATE= 2022-06-30 - -BUILD_DEPENDS= ${LOCALBASE}/psp/sdk/lib/libpspsdk.a:devel/psptoolchain-pspsdk-stage2 - -USES= cpe gmake tar:bzip2 -CPE_VENDOR= gnu -USE_CSTD= gnu89 - -HAS_CONFIGURE= yes -CONFIGURE_ARGS= --prefix=${PREFIX} \ - --target="psp" \ - --disable-werror \ - --disable-nls \ - --disable-install-libiberty \ - --mandir=${PREFIX}/man - -# Disable installation of .info files and libiberty. -post-patch: - @${REINPLACE_CMD} -E 's/^(INFO_DEPS.*=)(.*)/\1#\2/' ${WRKSRC}/bfd/doc/Makefile.in - @${REINPLACE_CMD} -E 's/^(INFO_DEPS.*=)(.*)/\1#\2/' ${WRKSRC}/gdb/doc/Makefile.in - @${REINPLACE_CMD} -E 's/^(install.*:.*)install-info(.*)/\1\2/' ${WRKSRC}/etc/Makefile.in - @${REINPLACE_CMD} -E 's/^(install:)(.*)/\1#\2/' ${WRKSRC}/libiberty/Makefile.in - -post-install: - @${RMDIR} ${STAGEDIR}${PREFIX}/share/info - -.include <bsd.port.mk> diff --git a/devel/psptoolchain-gdb/distinfo b/devel/psptoolchain-gdb/distinfo deleted file mode 100644 index 29f873181f39..000000000000 --- a/devel/psptoolchain-gdb/distinfo +++ /dev/null @@ -1,2 +0,0 @@ -SHA256 (gdb-7.3.1.tar.bz2) = 6d7bff716fde98d03866a1b747c0929ee7dba49bca13e01d975e0b0fa9b33a28 -SIZE (gdb-7.3.1.tar.bz2) = 19500995 diff --git a/devel/psptoolchain-gdb/files/patch-bfd-archures.c b/devel/psptoolchain-gdb/files/patch-bfd-archures.c deleted file mode 100644 index c5cbe0f231e0..000000000000 --- a/devel/psptoolchain-gdb/files/patch-bfd-archures.c +++ /dev/null @@ -1,10 +0,0 @@ ---- ./bfd/archures.c.orig 2011-03-22 18:10:41.000000000 +0000 -+++ ./bfd/archures.c 2012-01-25 22:24:29.000000000 +0000 -@@ -175,6 +175,7 @@ - .#define bfd_mach_mips_loongson_2f 3002 - .#define bfd_mach_mips_loongson_3a 3003 - .#define bfd_mach_mips_sb1 12310201 {* octal 'SB', 01 *} -+.#define bfd_mach_mips_allegrex 10111431 {* octal 'AL', 31 *} - .#define bfd_mach_mips_octeon 6501 - .#define bfd_mach_mips_xlr 887682 {* decimal 'XLR' *} - .#define bfd_mach_mipsisa32 32 diff --git a/devel/psptoolchain-gdb/files/patch-bfd-bfd-in2.h b/devel/psptoolchain-gdb/files/patch-bfd-bfd-in2.h deleted file mode 100644 index 22dbd818a04b..000000000000 --- a/devel/psptoolchain-gdb/files/patch-bfd-bfd-in2.h +++ /dev/null @@ -1,10 +0,0 @@ ---- ./bfd/bfd-in2.h.orig 2011-03-31 08:58:19.000000000 +0000 -+++ ./bfd/bfd-in2.h 2012-01-25 22:24:29.000000000 +0000 -@@ -1862,6 +1862,7 @@ - #define bfd_mach_mips_loongson_2f 3002 - #define bfd_mach_mips_loongson_3a 3003 - #define bfd_mach_mips_sb1 12310201 /* octal 'SB', 01 */ -+#define bfd_mach_mips_allegrex 10111431 /* octal 'AL', 31 */ - #define bfd_mach_mips_octeon 6501 - #define bfd_mach_mips_xlr 887682 /* decimal 'XLR' */ - #define bfd_mach_mipsisa32 32 diff --git a/devel/psptoolchain-gdb/files/patch-bfd-cpu-mips.c b/devel/psptoolchain-gdb/files/patch-bfd-cpu-mips.c deleted file mode 100644 index 3e777dd1b5b2..000000000000 --- a/devel/psptoolchain-gdb/files/patch-bfd-cpu-mips.c +++ /dev/null @@ -1,18 +0,0 @@ ---- ./bfd/cpu-mips.c.orig 2010-11-17 09:32:42.000000000 +0000 -+++ ./bfd/cpu-mips.c 2012-01-25 22:24:29.000000000 +0000 -@@ -89,6 +89,7 @@ - I_mipsisa64, - I_mipsisa64r2, - I_sb1, -+ I_allegrex, - I_loongson_2e, - I_loongson_2f, - I_loongson_3a, -@@ -129,6 +130,7 @@ - N (64, 64, bfd_mach_mipsisa64, "mips:isa64", FALSE, NN(I_mipsisa64)), - N (64, 64, bfd_mach_mipsisa64r2,"mips:isa64r2", FALSE, NN(I_mipsisa64r2)), - N (64, 64, bfd_mach_mips_sb1, "mips:sb1", FALSE, NN(I_sb1)), -+ N (32, 32, bfd_mach_mips_allegrex, "mips:allegrex", FALSE, NN(I_allegrex)), - N (64, 64, bfd_mach_mips_loongson_2e, "mips:loongson_2e", FALSE, NN(I_loongson_2e)), - N (64, 64, bfd_mach_mips_loongson_2f, "mips:loongson_2f", FALSE, NN(I_loongson_2f)), - N (64, 64, bfd_mach_mips_loongson_3a, "mips:loongson_3a", FALSE, NN(I_loongson_3a)), diff --git a/devel/psptoolchain-gdb/files/patch-bfd-elfxx-mips.c b/devel/psptoolchain-gdb/files/patch-bfd-elfxx-mips.c deleted file mode 100644 index a7a0fbc1bb45..000000000000 --- a/devel/psptoolchain-gdb/files/patch-bfd-elfxx-mips.c +++ /dev/null @@ -1,30 +0,0 @@ ---- ./bfd/elfxx-mips.c.orig 2011-01-22 10:16:28.000000000 +0000 -+++ ./bfd/elfxx-mips.c 2012-01-25 22:24:29.000000000 +0000 -@@ -5940,14 +5940,19 @@ - case E_MIPS_MACH_SB1: - return bfd_mach_mips_sb1; - -+ case E_MIPS_MACH_ALLEGREX: -+ return bfd_mach_mips_allegrex; -+ - case E_MIPS_MACH_LS2E: - return bfd_mach_mips_loongson_2e; - - case E_MIPS_MACH_LS2F: - return bfd_mach_mips_loongson_2f; - -+ /* - case E_MIPS_MACH_LS3A: - return bfd_mach_mips_loongson_3a; -+ */ - - case E_MIPS_MACH_OCTEON: - return bfd_mach_mips_octeon; -@@ -12311,6 +12316,7 @@ - /* MIPS II extensions. */ - { bfd_mach_mips4000, bfd_mach_mips6000 }, - { bfd_mach_mipsisa32, bfd_mach_mips6000 }, -+ { bfd_mach_mips_allegrex, bfd_mach_mips6000 }, - - /* MIPS I extensions. */ - { bfd_mach_mips6000, bfd_mach_mips3000 }, diff --git a/devel/psptoolchain-gdb/files/patch-bfd-sysdep.h b/devel/psptoolchain-gdb/files/patch-bfd-sysdep.h deleted file mode 100644 index 3ac30aee82a1..000000000000 --- a/devel/psptoolchain-gdb/files/patch-bfd-sysdep.h +++ /dev/null @@ -1,11 +0,0 @@ ---- ./bfd/sysdep.h.orig 2009-09-02 07:18:37.000000000 +0000 -+++ ./bfd/sysdep.h 2012-01-25 22:24:22.000000000 +0000 -@@ -131,7 +131,7 @@ - extern PTR realloc (); - #endif - --#if !HAVE_DECL_STPCPY -+#if !HAVE_DECL_STPCPY && !defined(stpcpy) - extern char *stpcpy (char *__dest, const char *__src); - #endif - diff --git a/devel/psptoolchain-gdb/files/patch-config.sub b/devel/psptoolchain-gdb/files/patch-config.sub deleted file mode 100644 index 2c81d004c3cf..000000000000 --- a/devel/psptoolchain-gdb/files/patch-config.sub +++ /dev/null @@ -1,29 +0,0 @@ ---- ./config.sub.orig 2011-03-24 11:13:32.000000000 +0000 -+++ ./config.sub 2012-01-25 22:24:29.000000000 +0000 -@@ -279,6 +279,7 @@ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ -+ | mipsallegrex | mipsallegrexel \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ -@@ -388,6 +389,7 @@ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ -+ | mipsallegrex-* | mipsallegrexel-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ -@@ -785,6 +787,10 @@ - basic_machine=m68k-atari - os=-mint - ;; -+ psp) -+ basic_machine=mipsallegrexel-psp -+ os=-elf -+ ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; diff --git a/devel/psptoolchain-gdb/files/patch-include-elf-common.h b/devel/psptoolchain-gdb/files/patch-include-elf-common.h deleted file mode 100644 index f8ba6565e745..000000000000 --- a/devel/psptoolchain-gdb/files/patch-include-elf-common.h +++ /dev/null @@ -1,10 +0,0 @@ ---- ./include/elf/common.h.orig 2011-03-10 10:23:37.000000000 +0000 -+++ ./include/elf/common.h 2012-01-25 22:24:29.000000000 +0000 -@@ -96,6 +96,7 @@ - #define ET_HIOS 0xFEFF /* Operating system-specific */ - #define ET_LOPROC 0xFF00 /* Processor-specific */ - #define ET_HIPROC 0xFFFF /* Processor-specific */ -+#define ET_PSPEXEC 0xFFA0 /* Sony PSP executable file */ - - /* Values for e_machine, which identifies the architecture. These numbers - are officially assigned by registry@sco.com. See below for a list of diff --git a/devel/psptoolchain-gdb/files/patch-include-elf-mips.h b/devel/psptoolchain-gdb/files/patch-include-elf-mips.h deleted file mode 100644 index d427096918a3..000000000000 --- a/devel/psptoolchain-gdb/files/patch-include-elf-mips.h +++ /dev/null @@ -1,10 +0,0 @@ ---- ./include/elf/mips.h.orig 2010-11-11 10:23:38.000000000 +0000 -+++ ./include/elf/mips.h 2012-01-25 22:24:29.000000000 +0000 -@@ -220,6 +220,7 @@ - #define E_MIPS_MACH_5400 0x00910000 - #define E_MIPS_MACH_5500 0x00980000 - #define E_MIPS_MACH_9000 0x00990000 -+#define E_MIPS_MACH_ALLEGREX 0x00A20000 - #define E_MIPS_MACH_LS2E 0x00A00000 - #define E_MIPS_MACH_LS2F 0x00A10000 - #define E_MIPS_MACH_LS3A 0x00A20000 diff --git a/devel/psptoolchain-gdb/files/patch-include-opcode-mips.h b/devel/psptoolchain-gdb/files/patch-include-opcode-mips.h deleted file mode 100644 index cea54ec13f0e..000000000000 --- a/devel/psptoolchain-gdb/files/patch-include-opcode-mips.h +++ /dev/null @@ -1,194 +0,0 @@ ---- ./include/opcode/mips.h.orig 2011-02-28 16:06:51.000000000 +0000 -+++ ./include/opcode/mips.h 2012-01-25 22:24:29.000000000 +0000 -@@ -238,6 +238,83 @@ - #define OP_SH_FZ 0 - #define OP_MASK_FZ 0x1f - -+#define OP_SH_VFPU_DELTA 0 -+#define OP_MASK_VFPU_DELTA 0xfffc -+#define OP_SH_VFPU_IMM3 16 -+#define OP_MASK_VFPU_IMM3 0x7 -+#define OP_SH_VFPU_IMM5 16 -+#define OP_MASK_VFPU_IMM5 0x1f -+#define OP_SH_VFPU_IMM8 16 -+#define OP_MASK_VFPU_IMM8 0xff -+#define OP_SH_VFPU_CC 18 /* Condition code. */ -+#define OP_MASK_VFPU_CC 0x7 -+#define OP_SH_VFPU_CONST 16 -+#define OP_MASK_VFPU_CONST 0x1f -+#define OP_SH_VFPU_COND 0 /* Conditional compare. */ -+#define OP_MASK_VFPU_COND 0xf -+#define OP_SH_VFPU_VMTVC 0 -+#define OP_MASK_VFPU_VMTVC 0xff -+#define OP_SH_VFPU_VMFVC 8 -+#define OP_MASK_VFPU_VMFVC 0xff -+#define OP_SH_VFPU_RWB 1 -+#define OP_MASK_VFPU_RWB 0x1 -+#define OP_SH_VFPU_ROT 16 /* Rotators used in vrot. */ -+#define OP_MASK_VFPU_ROT 0x1f -+#define OP_SH_VFPU_FLOAT16 0 -+#define OP_MASK_VFPU_FLOAT16 0xffff -+ -+/* VFPU registers. */ -+#define OP_SH_VFPU_VD 0 -+#define OP_MASK_VFPU_VD 0x7f -+#define OP_SH_VFPU_VS 8 -+#define OP_MASK_VFPU_VS 0x7f -+#define OP_SH_VFPU_VT 16 -+#define OP_MASK_VFPU_VT 0x7f -+#define OP_SH_VFPU_VT_LO 16 /* Bits 0-4 of vt. */ -+#define OP_MASK_VFPU_VT_LO 0x1f -+#define OP_SH_VFPU_VT_HI 5 /* Right-shifted. */ -+#define OP_MASK_VFPU_VT_HI1 0x1 /* Bit 5 of vt. */ -+#define OP_MASK_VFPU_VT_HI2 0x3 /* Bits 5-6 of vt. */ -+/* Special handling of vs in vmmul instructions. */ -+#define VFPU_OP_VT_VS_VD 0xff800000 -+#define VFPU_OPCODE_VMMUL 0xf0000000 -+ -+/* VFPU prefix instruction operands. The *_SH_* values really specify where -+ the bitfield begins, as VFPU prefix instructions have four operands -+ encoded within the immediate field. */ -+#define VFPU_SH_PFX_NEG 16 -+#define VFPU_MASK_PFX_NEG 0x1 /* Negation. */ -+#define VFPU_SH_PFX_CST 12 -+#define VFPU_MASK_PFX_CST 0x1 /* Constant. */ -+#define VFPU_SH_PFX_ABS_CSTHI 8 -+#define VFPU_MASK_PFX_ABS_CSTHI 0x1 /* Abs/Constant (bit 2). */ -+#define VFPU_MASK_PFX_SWZ_CSTLO 0x3 /* Swizzle/Constant (bits 0-1). */ -+#define VFPU_SH_PFX_MASK 8 -+#define VFPU_MASK_PFX_MASK 0x1 /* Mask. */ -+#define VFPU_MASK_PFX_SAT 0x3 /* Saturation. */ -+ -+/* Special handling of the vrot instructions. */ -+#define VFPU_MASK_OP_SIZE 0x8080 /* Masks the operand size (pair, triple, quad). */ -+#define VFPU_OP_SIZE_PAIR 0x80 -+#define VFPU_OP_SIZE_TRIPLE 0x8000 -+#define VFPU_OP_SIZE_QUAD 0x8080 -+/* Note that these are within the rotators field, and not the full opcode. */ -+#define VFPU_SH_ROT_HI 2 -+#define VFPU_MASK_ROT_HI 0x3 -+#define VFPU_SH_ROT_LO 0 -+#define VFPU_MASK_ROT_LO 0x3 -+#define VFPU_SH_ROT_NEG 4 /* Negation. */ -+#define VFPU_MASK_ROT_NEG 0x1 -+ -+/* VFPU 16-bit floating-point format. */ -+#define VFPU_FLOAT16_EXP_MAX 0x1f -+#define VFPU_SH_FLOAT16_SIGN 15 -+#define VFPU_MASK_FLOAT16_SIGN 0x1 -+#define VFPU_SH_FLOAT16_EXP 10 -+#define VFPU_MASK_FLOAT16_EXP 0x1f -+#define VFPU_SH_FLOAT16_FRAC 0 -+#define VFPU_MASK_FLOAT16_FRAC 0x3ff -+ - /* This structure holds information for a particular instruction. */ - - struct mips_opcode -@@ -327,6 +404,29 @@ - Requires that "+A" or "+E" occur first to set position. - Enforces: 32 < (pos+size) <= 64. - -+ Sony Allegrex VFPU instructions: -+ "?o" -+ "?0" - "?3" -+ "?4" - "?7" -+ "?a" -+ "?b" -+ "?c" -+ "?e" -+ "?f" -+ "?i" -+ "?q" -+ "?r" -+ "?u" -+ "?w" -+ "?d" -+ "?m" -+ "?n" -+ "?s" -+ "?t" -+ "?v" -+ "?x" -+ "?z" -+ - Floating point instructions: - "D" 5 bit destination register (OP_*_FD) - "M" 3 bit compare condition code (OP_*_CCC) (only used for mips4 and up) -@@ -620,6 +720,8 @@ - #define INSN_SMARTMIPS 0x10000000 - /* DSP R2 ASE */ - #define INSN_DSPR2 0x20000000 -+/* Sony Allegrex instruction. */ -+#define INSN_ALLEGREX 0x40000000 - /* ST Microelectronics Loongson 2E. */ - #define INSN_LOONGSON_2E 0x40000000 - /* ST Microelectronics Loongson 2F. */ -@@ -677,6 +779,7 @@ - #define CPU_MIPS64 64 - #define CPU_MIPS64R2 65 - #define CPU_SB1 12310201 /* octal 'SB', 01. */ -+#define CPU_ALLEGREX 10111431 /* octal 'AL', 31. */ - #define CPU_LOONGSON_2E 3001 - #define CPU_LOONGSON_2F 3002 - #define CPU_LOONGSON_3A 3003 -@@ -709,6 +812,7 @@ - || (cpu == CPU_VR4120 && ((insn)->membership & INSN_4120) != 0) \ - || (cpu == CPU_VR5400 && ((insn)->membership & INSN_5400) != 0) \ - || (cpu == CPU_VR5500 && ((insn)->membership & INSN_5500) != 0) \ -+ || (cpu == CPU_ALLEGREX && ((insn)->membership & INSN_ALLEGREX) != 0) \ - || (cpu == CPU_LOONGSON_2E \ - && ((insn)->membership & INSN_LOONGSON_2E) != 0) \ - || (cpu == CPU_LOONGSON_2F \ -@@ -835,6 +939,16 @@ - M_LL_AB, - M_LLD_AB, - M_LS_A, -+ M_LVHIP, -+ M_LVHIS, -+ M_LVIP, -+ M_LVIQ, -+ M_LVIS, -+ M_LVIT, -+ M_LVLQ_AB, -+ M_LVRQ_AB, -+ M_LVQ_AB, -+ M_LVQ_AB_2, - M_LW_A, - M_LW_AB, - M_LWC0_A, -@@ -930,6 +1044,10 @@ - M_SUB_I, - M_SUBU_I, - M_SUBU_I_2, -+ M_SVLQ_AB, -+ M_SVQ_AB, -+ M_SVRQ_AB, -+ M_SVS_AB, - M_TEQ_I, - M_TGE_I, - M_TGEU_I, -@@ -944,14 +1062,24 @@ - M_ULH_A, - M_ULHU, - M_ULHU_A, -+ M_ULVQ, -+ M_ULVQ_AB, -+ M_ULVS, - M_ULW, - M_ULW_A, - M_USH, - M_USH_A, -+ M_USVQ, -+ M_USVQ_AB, -+ M_USVS, - M_USW, - M_USW_A, - M_USD, - M_USD_A, -+ M_VCMOVP, -+ M_VCMOVQ, -+ M_VCMOVS, -+ M_VCMOVT, - M_XOR_I, - M_COP0, - M_COP1, diff --git a/devel/psptoolchain-gdb/files/patch-opcodes-mips-dis.c b/devel/psptoolchain-gdb/files/patch-opcodes-mips-dis.c deleted file mode 100644 index f878c35cb76c..000000000000 --- a/devel/psptoolchain-gdb/files/patch-opcodes-mips-dis.c +++ /dev/null @@ -1,557 +0,0 @@ ---- ./opcodes/mips-dis.c.orig 2011-01-11 07:22:09.000000000 +0000 -+++ ./opcodes/mips-dis.c 2012-01-25 22:24:29.000000000 +0000 -@@ -160,6 +160,139 @@ - "c0_taglo", "c0_taghi", "c0_errorepc", "c0_desave", - }; - -+static const char * const vfpu_sreg_names[128] = { -+ "S000", "S010", "S020", "S030", "S100", "S110", "S120", "S130", -+ "S200", "S210", "S220", "S230", "S300", "S310", "S320", "S330", -+ "S400", "S410", "S420", "S430", "S500", "S510", "S520", "S530", -+ "S600", "S610", "S620", "S630", "S700", "S710", "S720", "S730", -+ "S001", "S011", "S021", "S031", "S101", "S111", "S121", "S131", -+ "S201", "S211", "S221", "S231", "S301", "S311", "S321", "S331", -+ "S401", "S411", "S421", "S431", "S501", "S511", "S521", "S531", -+ "S601", "S611", "S621", "S631", "S701", "S711", "S721", "S731", -+ "S002", "S012", "S022", "S032", "S102", "S112", "S122", "S132", -+ "S202", "S212", "S222", "S232", "S302", "S312", "S322", "S332", -+ "S402", "S412", "S422", "S432", "S502", "S512", "S522", "S532", -+ "S602", "S612", "S622", "S632", "S702", "S712", "S722", "S732", -+ "S003", "S013", "S023", "S033", "S103", "S113", "S123", "S133", -+ "S203", "S213", "S223", "S233", "S303", "S313", "S323", "S333", -+ "S403", "S413", "S423", "S433", "S503", "S513", "S523", "S533", -+ "S603", "S613", "S623", "S633", "S703", "S713", "S723", "S733" -+}; -+ -+static const char * const vfpu_vpreg_names[128] = { -+ "C000", "C010", "C020", "C030", "C100", "C110", "C120", "C130", -+ "C200", "C210", "C220", "C230", "C300", "C310", "C320", "C330", -+ "C400", "C410", "C420", "C430", "C500", "C510", "C520", "C530", -+ "C600", "C610", "C620", "C630", "C700", "C710", "C720", "C730", -+ "R000", "R001", "R002", "R003", "R100", "R101", "R102", "R103", -+ "R200", "R201", "R202", "R203", "R300", "R301", "R302", "R303", -+ "R400", "R401", "R402", "R403", "R500", "R501", "R502", "R503", -+ "R600", "R601", "R602", "R603", "R700", "R701", "R702", "R703", -+ "C002", "C012", "C022", "C032", "C102", "C112", "C122", "C132", -+ "C202", "C212", "C222", "C232", "C302", "C312", "C322", "C332", -+ "C402", "C412", "C422", "C432", "C502", "C512", "C522", "C532", -+ "C602", "C612", "C622", "C632", "C702", "C712", "C722", "C732", -+ "R020", "R021", "R022", "R023", "R120", "R121", "R122", "R123", -+ "R220", "R221", "R222", "R223", "R320", "R321", "R322", "R323", -+ "R420", "R421", "R422", "R423", "R520", "R521", "R522", "R523", -+ "R620", "R621", "R622", "R623", "R720", "R721", "R722", "R723" -+}; -+ -+static const char * const vfpu_vtreg_names[128] = { -+ "C000", "C010", "C020", "C030", "C100", "C110", "C120", "C130", -+ "C200", "C210", "C220", "C230", "C300", "C310", "C320", "C330", -+ "C400", "C410", "C420", "C430", "C500", "C510", "C520", "C530", -+ "C600", "C610", "C620", "C630", "C700", "C710", "C720", "C730", -+ "R000", "R001", "R002", "R003", "R100", "R101", "R102", "R103", -+ "R200", "R201", "R202", "R203", "R300", "R301", "R302", "R303", -+ "R400", "R401", "R402", "R403", "R500", "R501", "R502", "R503", -+ "R600", "R601", "R602", "R603", "R700", "R701", "R702", "R703", -+ "C001", "C011", "C021", "C031", "C101", "C111", "C121", "C131", -+ "C201", "C211", "C221", "C231", "C301", "C311", "C321", "C331", -+ "C401", "C411", "C421", "C431", "C501", "C511", "C521", "C531", -+ "C601", "C611", "C621", "C631", "C701", "C711", "C721", "C731", -+ "R010", "R011", "R012", "R013", "R110", "R111", "R112", "R113", -+ "R210", "R211", "R212", "R213", "R310", "R311", "R312", "R313", -+ "R410", "R411", "R412", "R413", "R510", "R511", "R512", "R513", -+ "R610", "R611", "R612", "R613", "R710", "R711", "R712", "R713" -+}; -+ -+static const char * const vfpu_vqreg_names[128] = { -+ "C000", "C010", "C020", "C030", "C100", "C110", "C120", "C130", -+ "C200", "C210", "C220", "C230", "C300", "C310", "C320", "C330", -+ "C400", "C410", "C420", "C430", "C500", "C510", "C520", "C530", -+ "C600", "C610", "C620", "C630", "C700", "C710", "C720", "C730", -+ "R000", "R001", "R002", "R003", "R100", "R101", "R102", "R103", -+ "R200", "R201", "R202", "R203", "R300", "R301", "R302", "R303", -+ "R400", "R401", "R402", "R403", "R500", "R501", "R502", "R503", -+ "R600", "R601", "R602", "R603", "R700", "R701", "R702", "R703", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "" -+}; -+ -+static const char * const vfpu_mpreg_names[128] = { -+ "M000", "", "M020", "", "M100", "", "M120", "", -+ "M200", "", "M220", "", "M300", "", "M320", "", -+ "M400", "", "M420", "", "M500", "", "M520", "", -+ "M600", "", "M620", "", "M700", "", "M720", "", -+ "E000", "", "E002", "", "E100", "", "E102", "", -+ "E200", "", "E202", "", "E300", "", "E302", "", -+ "E400", "", "E402", "", "E500", "", "E502", "", -+ "E600", "", "E602", "", "E700", "", "E702", "", -+ "M002", "", "M022", "", "M102", "", "M122", "", -+ "M202", "", "M222", "", "M302", "", "M322", "", -+ "M402", "", "M422", "", "M502", "", "M522", "", -+ "M602", "", "M622", "", "M702", "", "M722", "", -+ "E020", "", "E022", "", "E120", "", "E122", "", -+ "E220", "", "E222", "", "E320", "", "E322", "", -+ "E420", "", "E422", "", "E520", "", "E522", "", -+ "E620", "", "E622", "", "E720", "", "E722", "" -+}; -+ -+static const char * const vfpu_mtreg_names[128] = { -+ "M000", "M010", "", "", "M100", "M110", "", "", -+ "M200", "M210", "", "", "M300", "M310", "", "", -+ "M400", "M410", "", "", "M500", "M510", "", "", -+ "M600", "M610", "", "", "M700", "M710", "", "", -+ "E000", "E001", "", "", "E100", "E101", "", "", -+ "E200", "E201", "", "", "E300", "E301", "", "", -+ "E400", "E401", "", "", "E500", "E501", "", "", -+ "E600", "E601", "", "", "E700", "E701", "", "", -+ "M001", "M011", "", "", "M101", "M111", "", "", -+ "M201", "M211", "", "", "M301", "M311", "", "", -+ "M401", "M411", "", "", "M501", "M511", "", "", -+ "M601", "M611", "", "", "M701", "M711", "", "", -+ "E010", "E011", "", "", "E110", "E111", "", "", -+ "E210", "E211", "", "", "E310", "E311", "", "", -+ "E410", "E411", "", "", "E510", "E511", "", "", -+ "E610", "E611", "", "", "E710", "E711", "", "" -+}; -+ -+static const char * const vfpu_mqreg_names[128] = { -+ "M000", "", "", "", "M100", "", "", "", -+ "M200", "", "", "", "M300", "", "", "", -+ "M400", "", "", "", "M500", "", "", "", -+ "M600", "", "", "", "M700", "", "", "", -+ "E000", "", "", "", "E100", "", "", "", -+ "E200", "", "", "", "E300", "", "", "", -+ "E400", "", "", "", "E500", "", "", "", -+ "E600", "", "", "", "E700", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "", "", "", "" -+}; -+ - static const struct mips_cp0sel_name mips_cp0sel_names_mips3264[] = - { - { 16, 1, "c0_config1" }, -@@ -386,6 +519,54 @@ - "$24", "$25", "$26", "$27", "$28", "$29", "$30", "$31" - }; - -+static const char * const vfpu_cond_names[16] = { -+ "FL", "EQ", "LT", "LE", "TR", "NE", "GE", "GT", -+ "EZ", "EN", "EI", "ES", "NZ", "NN", "NI", "NS" -+}; -+ -+static const char * const vfpu_const_names[20] = { -+ "", -+ "VFPU_HUGE", -+ "VFPU_SQRT2", -+ "VFPU_SQRT1_2", -+ "VFPU_2_SQRTPI", -+ "VFPU_2_PI", -+ "VFPU_1_PI", -+ "VFPU_PI_4", -+ "VFPU_PI_2", -+ "VFPU_PI", -+ "VFPU_E", -+ "VFPU_LOG2E", -+ "VFPU_LOG10E", -+ "VFPU_LN2", -+ "VFPU_LN10", -+ "VFPU_2PI", -+ "VFPU_PI_6", -+ "VFPU_LOG10TWO", -+ "VFPU_LOG2TEN", -+ "VFPU_SQRT3_2" -+}; -+ -+#define VFPU_NUM_CONSTANTS \ -+ ((sizeof vfpu_const_names) / (sizeof (vfpu_const_names[0]))) -+const unsigned int vfpu_num_constants = VFPU_NUM_CONSTANTS; -+ -+static const char * const vfpu_rwb_names[4] = { -+ "wt", "wb", "", "" -+}; -+ -+static const char * const pfx_cst_names[8] = { -+ "0", "1", "2", "1/2", "3", "1/3", "1/4", "1/6" -+}; -+ -+static const char * const pfx_swz_names[4] = { -+ "x", "y", "z", "w" -+}; -+ -+static const char * const pfx_sat_names[4] = { -+ "", "[0:1]", "", "[-1:1]" -+}; -+ - struct mips_abi_choice - { - const char * name; -@@ -465,7 +646,8 @@ - mips_cp0_names_numeric, NULL, 0, mips_hwr_names_numeric }, - { "mips5", 1, bfd_mach_mips5, CPU_MIPS5, ISA_MIPS5, - mips_cp0_names_numeric, NULL, 0, mips_hwr_names_numeric }, -- -+ { "allegrex", 1, bfd_mach_mips_allegrex, CPU_ALLEGREX, ISA_MIPS2, -+ mips_cp0_names_numeric, NULL, 0, mips_hwr_names_numeric }, - /* For stock MIPS32, disassemble all applicable MIPS-specified ASEs. - Note that MIPS-3D and MDMX are not applicable to MIPS32. (See - _MIPS32 Architecture For Programmers Volume I: Introduction to the -@@ -1365,6 +1547,349 @@ - (l >> OP_SH_FT) & OP_MASK_FT); - break; - -+ case '?': -+ /* VFPU extensions. */ -+ d++; -+ switch (*d) -+ { -+ case '\0': -+ /* xgettext:c-format */ -+ (*info->fprintf_func) (info->stream, -+ _("# internal error, incomplete VFPU extension sequence (?)")); -+ return; -+ -+ case 'o': -+ delta = (l >> OP_SH_VFPU_DELTA) & OP_MASK_VFPU_DELTA; -+ if (delta & 0x8000) -+ delta |= ~0xffff; -+ (*info->fprintf_func) (info->stream, "%d", -+ delta); -+ break; -+ -+ case '0': -+ case '1': -+ case '2': -+ case '3': -+ { -+ unsigned int pos = *d, base = '0'; -+ unsigned int negation = (l >> (pos - (base - VFPU_SH_PFX_NEG))) & VFPU_MASK_PFX_NEG; -+ unsigned int constant = (l >> (pos - (base - VFPU_SH_PFX_CST))) & VFPU_MASK_PFX_CST; -+ unsigned int abs_consthi = -+ (l >> (pos - (base - VFPU_SH_PFX_ABS_CSTHI))) & VFPU_MASK_PFX_ABS_CSTHI; -+ unsigned int swz_constlo = (l >> ((pos - base) * 2)) & VFPU_MASK_PFX_SWZ_CSTLO; -+ -+ if (negation) -+ (*info->fprintf_func) (info->stream, "-"); -+ if (constant) -+ { -+ (*info->fprintf_func) (info->stream, "%s", -+ pfx_cst_names[(abs_consthi << 2) | swz_constlo]); -+ } -+ else -+ { -+ if (abs_consthi) -+ (*info->fprintf_func) (info->stream, "|%s|", -+ pfx_swz_names[swz_constlo]); -+ else -+ (*info->fprintf_func) (info->stream, "%s", -+ pfx_swz_names[swz_constlo]); -+ } -+ } -+ break; -+ -+ case '4': -+ case '5': -+ case '6': -+ case '7': -+ { -+ unsigned int pos = *d, base = '4'; -+ unsigned int mask = (l >> (pos - (base - VFPU_MASK_PFX_MASK))) & VFPU_MASK_PFX_MASK; -+ unsigned int saturation = (l >> ((pos - base) * 2)) & VFPU_MASK_PFX_SAT; -+ -+ if (mask) -+ (*info->fprintf_func) (info->stream, "m"); -+ else -+ (*info->fprintf_func) (info->stream, "%s", -+ pfx_sat_names[saturation]); -+ } -+ break; -+ -+ case 'a': -+ { -+ unsigned int c = (l >> OP_SH_VFPU_CONST) & OP_MASK_VFPU_CONST; -+ if (c < vfpu_num_constants) -+ { -+ (*info->fprintf_func) (info->stream, "%s", -+ vfpu_const_names[c]); -+ } -+ break; -+ } -+ -+ case 'b': -+ /* 5-bit immediate value. */ -+ (*info->fprintf_func) (info->stream, "%ld", -+ (l >> OP_SH_VFPU_IMM5) & OP_MASK_VFPU_IMM5); -+ break; -+ -+ case 'c': -+ /* VFPU condition code. */ -+ (*info->fprintf_func) (info->stream, "%ld", -+ (l >> OP_SH_VFPU_CC) & OP_MASK_VFPU_CC); -+ break; -+ -+ case 'e': -+ /* 3-bit immediate value. */ -+ (*info->fprintf_func) (info->stream, "%ld", -+ (l >> OP_SH_VFPU_IMM3) & OP_MASK_VFPU_IMM3); -+ break; -+ -+ case 'f': -+ /* Conditional compare. */ -+ (*info->fprintf_func) (info->stream, "%s", -+ vfpu_cond_names[(l >> OP_SH_VFPU_COND) & OP_MASK_VFPU_COND]); -+ /* Apparently this specifier is unused. */ -+ d++; -+ break; -+ -+ case 'i': -+ /* 8-bit immediate value. */ -+ (*info->fprintf_func) (info->stream, "0x%02lx", -+ (l >> OP_SH_VFPU_IMM8) & OP_MASK_VFPU_IMM8); -+ break; -+ -+ case 'q': -+ /* VFPU control register (vmtvc). */ -+ (*info->fprintf_func) (info->stream, "$%ld", -+ (l >> OP_SH_VFPU_VMTVC) & OP_MASK_VFPU_VMTVC); -+ break; -+ -+ case 'r': -+ /* VFPU control register (vmfvc). */ -+ (*info->fprintf_func) (info->stream, "$%ld", -+ (l >> OP_SH_VFPU_VMFVC) & OP_MASK_VFPU_VMFVC); -+ break; -+ -+ case 'u': -+ /* Convert a VFPU 16-bit floating-point number to IEEE754. */ -+ { -+ union float2int { -+ unsigned int i; -+ float f; -+ } float2int; -+ unsigned short float16 = (l >> OP_SH_VFPU_FLOAT16) & OP_MASK_VFPU_FLOAT16; -+ unsigned int sign = (float16 >> VFPU_SH_FLOAT16_SIGN) & VFPU_MASK_FLOAT16_SIGN; -+ int exponent = (float16 >> VFPU_SH_FLOAT16_EXP) & VFPU_MASK_FLOAT16_EXP; -+ unsigned int fraction = float16 & VFPU_MASK_FLOAT16_FRAC; -+ char signchar = '+' + ((sign == 1) * 2); -+ -+ if (exponent == VFPU_FLOAT16_EXP_MAX) -+ { -+ if (fraction == 0) -+ (*info->fprintf_func) (info->stream, "%cInf", signchar); -+ else -+ (*info->fprintf_func) (info->stream, "%cNaN", signchar); -+ } -+ else if (exponent == 0 && fraction == 0) -+ { -+ (*info->fprintf_func) (info->stream, "%c0", signchar); -+ } -+ else -+ { -+ if (exponent == 0) -+ { -+ do -+ { -+ fraction <<= 1; -+ exponent--; -+ } -+ while (!(fraction & (VFPU_MASK_FLOAT16_FRAC + 1))); -+ -+ fraction &= VFPU_MASK_FLOAT16_FRAC; -+ } -+ -+ /* Convert to 32-bit single-precision IEEE754. */ -+ float2int.i = sign << 31; -+ float2int.i |= (exponent + 112) << 23; -+ float2int.i |= fraction << 13; -+ (*info->fprintf_func) (info->stream, "%g", float2int.f); -+ } -+ } -+ break; -+ -+ case 'w': -+ { -+ const char *elements[4]; -+ unsigned int opcode = l & VFPU_MASK_OP_SIZE; -+ unsigned int rotators = (l >> OP_SH_VFPU_ROT) & OP_MASK_VFPU_ROT; -+ unsigned int opsize, rothi, rotlo, negation, i; -+ -+ /* Determine the operand size so we'll know how many elements to output. */ -+ if (opcode == VFPU_OP_SIZE_PAIR) -+ opsize = 2; -+ else if (opcode == VFPU_OP_SIZE_TRIPLE) -+ opsize = 3; -+ else -+ opsize = (opcode == VFPU_OP_SIZE_QUAD) * 4; /* Sanity check. */ -+ -+ rothi = (rotators >> VFPU_SH_ROT_HI) & VFPU_MASK_ROT_HI; -+ rotlo = (rotators >> VFPU_SH_ROT_LO) & VFPU_MASK_ROT_LO; -+ negation = (rotators >> VFPU_SH_ROT_NEG) & VFPU_MASK_ROT_NEG; -+ -+ if (rothi == rotlo) -+ { -+ if (negation) -+ { -+ elements[0] = "-s"; -+ elements[1] = "-s"; -+ elements[2] = "-s"; -+ elements[3] = "-s"; -+ } -+ else -+ { -+ elements[0] = "s"; -+ elements[1] = "s"; -+ elements[2] = "s"; -+ elements[3] = "s"; -+ } -+ } -+ else -+ { -+ elements[0] = "0"; -+ elements[1] = "0"; -+ elements[2] = "0"; -+ elements[3] = "0"; -+ } -+ if (negation) -+ elements[rothi] = "-s"; -+ else -+ elements[rothi] = "s"; -+ elements[rotlo] = "c"; -+ -+ (*info->fprintf_func) (info->stream, "["); -+ i = 0; -+ for (;;) -+ { -+ (*info->fprintf_func) (info->stream, "%s", -+ elements[i++]); -+ if (i >= opsize) -+ break; -+ (*info->fprintf_func) (info->stream, ","); -+ } -+ (*info->fprintf_func) (info->stream, "]"); -+ } -+ break; -+ -+ case 'd': -+ case 'm': -+ case 'n': -+ case 's': -+ case 't': -+ case 'v': -+ case 'x': -+ { -+ unsigned int vreg = 0; -+ -+ /* The first char specifies the bitfield that contains the register number. */ -+ switch (*d) -+ { -+ case 'd': -+ case 'v': -+ case 'x': -+ vreg = (l >> OP_SH_VFPU_VD) & OP_MASK_VFPU_VD; -+ break; -+ -+ case 'm': -+ /* Combine bits 0-4 of vt with bits 5-6 of vt. */ -+ vreg = ((l >> OP_SH_VFPU_VT_LO) & OP_MASK_VFPU_VT_LO) -+ | ((l & OP_MASK_VFPU_VT_HI2) << OP_SH_VFPU_VT_HI); -+ break; -+ -+ case 'n': -+ /* Combine bits 0-4 of vt with bit 5 of vt. */ -+ vreg = ((l >> OP_SH_VFPU_VT_LO) & OP_MASK_VFPU_VT_LO) -+ | ((l & OP_MASK_VFPU_VT_HI1) << OP_SH_VFPU_VT_HI); -+ break; -+ -+ case 's': -+ { -+ unsigned int temp_vreg = l >> OP_SH_VFPU_VS; -+ -+ vreg = temp_vreg & OP_MASK_VFPU_VS; -+ if ((l & VFPU_OP_VT_VS_VD) == VFPU_OPCODE_VMMUL) -+ { -+ /* vmmul instructions have the RXC bit (bit 13) inverted. */ -+ if (temp_vreg & 0x20) -+ vreg = temp_vreg & 0x5f; -+ else -+ vreg |= 0x20; -+ } -+ } -+ break; -+ -+ case 't': -+ vreg = (l >> OP_SH_VFPU_VT) & OP_MASK_VFPU_VT; -+ break; -+ } -+ -+ /* The next char is the register set vreg comes from. */ -+ d++; -+ switch (*d) -+ { -+ case '0': -+ (*info->fprintf_func) (info->stream, "%s.s", -+ vfpu_sreg_names[vreg]); -+ break; -+ -+ case '1': -+ (*info->fprintf_func) (info->stream, "%s.p", -+ vfpu_vpreg_names[vreg]); -+ break; -+ -+ case '2': -+ (*info->fprintf_func) (info->stream, "%s.t", -+ vfpu_vtreg_names[vreg]); -+ break; -+ -+ case '3': -+ (*info->fprintf_func) (info->stream, "%s.q", -+ vfpu_vqreg_names[vreg]); -+ break; -+ -+ case '5': -+ (*info->fprintf_func) (info->stream, "%s.p", -+ vfpu_mpreg_names[vreg]); -+ break; -+ -+ case '6': -+ (*info->fprintf_func) (info->stream, "%s.t", -+ vfpu_mtreg_names[vreg]); -+ break; -+ -+ case '7': -+ (*info->fprintf_func) (info->stream, "%s.q", -+ vfpu_mqreg_names[vreg]); -+ break; -+ -+ default: -+ /* xgettext:c-format */ -+ (*info->fprintf_func) (info->stream, -+ _("# internal error, undefined vreg modifier(%c)"), -+ *d); -+ break; -+ } -+ -+ /* The last char is unused for disassembly. */ -+ d++; -+ } -+ break; -+ -+ case 'z': -+ (*info->fprintf_func) (info->stream, "%s", -+ vfpu_rwb_names[(l >> OP_SH_VFPU_RWB) & OP_MASK_VFPU_RWB]); -+ break; -+ } -+ break; -+ - default: - /* xgettext:c-format */ - (*info->fprintf_func) (info->stream, diff --git a/devel/psptoolchain-gdb/files/patch-opcodes-mips-opc.c b/devel/psptoolchain-gdb/files/patch-opcodes-mips-opc.c deleted file mode 100644 index 1d0da76d3bd1..000000000000 --- a/devel/psptoolchain-gdb/files/patch-opcodes-mips-opc.c +++ /dev/null @@ -1,600 +0,0 @@ ---- ./opcodes/mips-opc.c.orig 2011-02-28 16:34:39.000000000 +0000 -+++ ./opcodes/mips-opc.c 2012-01-25 22:24:29.000000000 +0000 -@@ -120,6 +120,7 @@ - #define N5 (INSN_5400 | INSN_5500) - #define N54 INSN_5400 - #define N55 INSN_5500 -+#define AL INSN_ALLEGREX - #define IOCT INSN_OCTEON - #define XLR INSN_XLR - -@@ -391,6 +392,7 @@ - {"bnel", "s,t,p", 0x54000000, 0xfc000000, CBL|RD_s|RD_t, 0, I2|T3 }, - {"bnel", "s,I,p", 0, (int) M_BNEL_I, INSN_MACRO, 0, I2|T3 }, - {"break", "", 0x0000000d, 0xffffffff, TRAP, 0, I1 }, -+{"break", "B", 0x0000000d, 0xfc00003f, TRAP, 0, I32|AL }, - {"break", "c", 0x0000000d, 0xfc00ffff, TRAP, 0, I1 }, - {"break", "c,q", 0x0000000d, 0xfc00003f, TRAP, 0, I1 }, - {"c.f.d", "S,T", 0x46200030, 0xffe007ff, RD_S|RD_T|WR_CC|FP_D, 0, I1 }, -@@ -573,7 +575,7 @@ - {"flushd", "", 0xbc020000, 0xffffffff, 0, 0, L1 }, - {"flushid", "", 0xbc030000, 0xffffffff, 0, 0, L1 }, - {"wb", "o(b)", 0xbc040000, 0xfc1f0000, SM|RD_b, 0, L1 }, --{"cache", "k,o(b)", 0xbc000000, 0xfc000000, RD_b, 0, I3_32|T3}, -+{"cache", "k,o(b)", 0xbc000000, 0xfc000000, RD_b, 0, I3|I32|T3|AL}, - {"cache", "k,A(b)", 0, (int) M_CACHE_AB, INSN_MACRO, 0, I3_32|T3}, - {"ceil.l.d", "D,S", 0x4620000a, 0xffff003f, WR_D|RD_S|FP_D, 0, I3_33 }, - {"ceil.l.s", "D,S", 0x4600000a, 0xffff003f, WR_D|RD_S|FP_S|FP_D, 0, I3_33 }, -@@ -591,7 +593,9 @@ - {"cins", "t,r,+P,+S",0x70000033, 0xfc00003f, WR_t|RD_s, 0, IOCT }, /* cins32 */ - {"cins", "t,r,+p,+s",0x70000032, 0xfc00003f, WR_t|RD_s, 0, IOCT }, - {"clo", "U,s", 0x70000021, 0xfc0007ff, WR_d|WR_t|RD_s, 0, I32|N55 }, -+{"clo", "d,s", 0x00000017, 0xfc1f07ff, WR_d|RD_s, 0, AL }, - {"clz", "U,s", 0x70000020, 0xfc0007ff, WR_d|WR_t|RD_s, 0, I32|N55 }, -+{"clz", "d,s", 0x00000016, 0xfc1f07ff, WR_d|RD_s, 0, AL }, - {"ctc0", "t,G", 0x40c00000, 0xffe007ff, COD|RD_t|WR_CC, 0, I1 }, - {"ctc1", "t,G", 0x44c00000, 0xffe007ff, COD|RD_t|WR_CC|FP_S, 0, I1 }, - {"ctc1", "t,S", 0x44c00000, 0xffe007ff, COD|RD_t|WR_CC|FP_S, 0, I1 }, -@@ -616,16 +620,16 @@ - {"cvt.ps.s","D,V,T", 0x46000026, 0xffe0003f, WR_D|RD_S|RD_T|FP_S|FP_D, 0, I5_33 }, - {"cvt.pw.ps", "D,S", 0x46c00024, 0xffff003f, WR_D|RD_S|FP_S|FP_D, 0, M3D }, - {"dabs", "d,v", 0, (int) M_DABS, INSN_MACRO, 0, I3 }, -+{"max", "d,v,t", 0x0000002c, 0xfc0007ff, WR_d|RD_s|RD_t, 0, AL }, - {"dadd", "d,v,t", 0x0000002c, 0xfc0007ff, WR_d|RD_s|RD_t, 0, I3 }, - {"dadd", "t,r,I", 0, (int) M_DADD_I, INSN_MACRO, 0, I3 }, --{"dadd", "D,S,T", 0x45e00000, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E }, --{"dadd", "D,S,T", 0x4b60000c, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F|IL3A }, - {"daddi", "t,r,j", 0x60000000, 0xfc000000, WR_t|RD_s, 0, I3 }, - {"daddiu", "t,r,j", 0x64000000, 0xfc000000, WR_t|RD_s, 0, I3 }, -+{"min", "d,v,t", 0x0000002d, 0xfc0007ff, WR_d|RD_s|RD_t, 0, AL }, - {"daddu", "d,v,t", 0x0000002d, 0xfc0007ff, WR_d|RD_s|RD_t, 0, I3 }, - {"daddu", "t,r,I", 0, (int) M_DADDU_I, INSN_MACRO, 0, I3 }, - {"daddwc", "d,s,t", 0x70000038, 0xfc0007ff, WR_d|RD_s|RD_t|WR_C0|RD_C0, 0, XLR }, --{"dbreak", "", 0x7000003f, 0xffffffff, 0, 0, N5 }, -+{"dbreak", "", 0x7000003f, 0xffffffff, 0, 0, N5|AL }, - {"dclo", "U,s", 0x70000025, 0xfc0007ff, RD_s|WR_d|WR_t, 0, I64|N55 }, - {"dclz", "U,s", 0x70000024, 0xfc0007ff, RD_s|WR_d|WR_t, 0, I64|N55 }, - /* dctr and dctw are used on the r5000. */ -@@ -714,7 +718,7 @@ - {"dremu", "z,s,t", 0x0000001f, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, I3 }, - {"dremu", "d,v,t", 0, (int) M_DREMU_3, INSN_MACRO, 0, I3 }, - {"dremu", "d,v,I", 0, (int) M_DREMU_3I, INSN_MACRO, 0, I3 }, --{"dret", "", 0x7000003e, 0xffffffff, 0, 0, N5 }, -+{"dret", "", 0x7000003e, 0xffffffff, 0, 0, N5|AL }, - {"drol", "d,v,t", 0, (int) M_DROL, INSN_MACRO, 0, I3 }, - {"drol", "d,v,I", 0, (int) M_DROL_I, INSN_MACRO, 0, I3 }, - {"dror", "d,v,t", 0, (int) M_DROR, INSN_MACRO, 0, I3 }, -@@ -763,10 +767,10 @@ - {"ei", "t", 0x41606020, 0xffe0ffff, WR_t|WR_C0, 0, I33|IOCT}, - {"emt", "", 0x41600be1, 0xffffffff, TRAP, 0, MT32 }, - {"emt", "t", 0x41600be1, 0xffe0ffff, TRAP|WR_t, 0, MT32 }, --{"eret", "", 0x42000018, 0xffffffff, 0, 0, I3_32 }, -+{"eret", "", 0x42000018, 0xffffffff, 0, 0, I3_32|AL }, - {"evpe", "", 0x41600021, 0xffffffff, TRAP, 0, MT32 }, - {"evpe", "t", 0x41600021, 0xffe0ffff, TRAP|WR_t, 0, MT32 }, --{"ext", "t,r,+A,+C", 0x7c000000, 0xfc00003f, WR_t|RD_s, 0, I33 }, -+{"ext", "t,r,+A,+C", 0x7c000000, 0xfc00003f, WR_t|RD_s, 0, I33|AL }, - {"exts32", "t,r,+p,+S",0x7000003b, 0xfc00003f, WR_t|RD_s, 0, IOCT }, - {"exts", "t,r,+P,+S",0x7000003b, 0xfc00003f, WR_t|RD_s, 0, IOCT }, /* exts32 */ - {"exts", "t,r,+p,+s",0x7000003a, 0xfc00003f, WR_t|RD_s, 0, IOCT }, -@@ -775,7 +779,7 @@ - {"floor.w.d", "D,S", 0x4620000f, 0xffff003f, WR_D|RD_S|FP_S|FP_D, 0, I2 }, - {"floor.w.s", "D,S", 0x4600000f, 0xffff003f, WR_D|RD_S|FP_S, 0, I2 }, - {"hibernate","", 0x42000023, 0xffffffff, 0, 0, V1 }, --{"ins", "t,r,+A,+B", 0x7c000004, 0xfc00003f, WR_t|RD_s, 0, I33 }, -+{"ins", "t,r,+A,+B", 0x7c000004, 0xfc00003f, WR_t|RD_s, 0, I33|AL }, - {"jr", "s", 0x00000008, 0xfc1fffff, UBD|RD_s, 0, I1 }, - /* jr.hb is officially MIPS{32,64}R2, but it works on R1 as jr with - the same hazard barrier effect. */ -@@ -817,18 +821,10 @@ - {"ldaddw", "t,b", 0x70000010, 0xfc00ffff, SM|RD_t|WR_t|RD_b, 0, XLR }, - {"ldaddwu", "t,b", 0x70000011, 0xfc00ffff, SM|RD_t|WR_t|RD_b, 0, XLR }, - {"ldaddd", "t,b", 0x70000012, 0xfc00ffff, SM|RD_t|WR_t|RD_b, 0, XLR }, --{"ldc1", "T,o(b)", 0xd4000000, 0xfc000000, CLD|RD_b|WR_T|FP_D, 0, I2 }, --{"ldc1", "E,o(b)", 0xd4000000, 0xfc000000, CLD|RD_b|WR_T|FP_D, 0, I2 }, --{"ldc1", "T,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2 }, --{"ldc1", "E,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2 }, --{"l.d", "T,o(b)", 0xd4000000, 0xfc000000, CLD|RD_b|WR_T|FP_D, 0, I2 }, /* ldc1 */ --{"l.d", "T,o(b)", 0, (int) M_L_DOB, INSN_MACRO, INSN2_M_FP_D, I1 }, --{"l.d", "T,A(b)", 0, (int) M_L_DAB, INSN_MACRO, INSN2_M_FP_D, I1 }, --{"ldc2", "E,o(b)", 0xd8000000, 0xfc000000, CLD|RD_b|WR_CC, 0, I2 }, --{"ldc2", "E,A(b)", 0, (int) M_LDC2_AB, INSN_MACRO, 0, I2 }, --{"ldc3", "E,o(b)", 0xdc000000, 0xfc000000, CLD|RD_b|WR_CC, 0, I2 }, --{"ldc3", "E,A(b)", 0, (int) M_LDC3_AB, INSN_MACRO, 0, I2 }, --{"ldl", "t,o(b)", 0x68000000, 0xfc000000, LDD|WR_t|RD_b, 0, I3 }, -+/* ldc1 is at the bottom of the table. */ -+/* ldc2 is at the bottom of the table. */ -+/* ldc3 is at the bottom of the table. */ -+{"ldl", "t,o(b)", 0x68000000, 0xfc000000, LDD|WR_t|RD_b, 0, I3|AL }, - {"ldl", "t,A(b)", 0, (int) M_LDL_AB, INSN_MACRO, 0, I3 }, - {"ldr", "t,o(b)", 0x6c000000, 0xfc000000, LDD|WR_t|RD_b, 0, I3 }, - {"ldr", "t,A(b)", 0, (int) M_LDR_AB, INSN_MACRO, 0, I3 }, -@@ -858,8 +854,7 @@ - {"lwc1", "E,A(b)", 0, (int) M_LWC1_AB, INSN_MACRO, INSN2_M_FP_S, I1 }, - {"l.s", "T,o(b)", 0xc4000000, 0xfc000000, CLD|RD_b|WR_T|FP_S, 0, I1 }, /* lwc1 */ - {"l.s", "T,A(b)", 0, (int) M_LWC1_AB, INSN_MACRO, INSN2_M_FP_S, I1 }, --{"lwc2", "E,o(b)", 0xc8000000, 0xfc000000, CLD|RD_b|WR_CC, 0, I1 }, --{"lwc2", "E,A(b)", 0, (int) M_LWC2_AB, INSN_MACRO, 0, I1 }, -+/* lwc2 is at the bottom of the table. */ - {"lwc3", "E,o(b)", 0xcc000000, 0xfc000000, CLD|RD_b|WR_CC, 0, I1 }, - {"lwc3", "E,A(b)", 0, (int) M_LWC3_AB, INSN_MACRO, 0, I1 }, - {"lwl", "t,o(b)", 0x88000000, 0xfc000000, LDD|RD_b|WR_t, 0, I1 }, -@@ -900,13 +895,13 @@ - {"madd.ps", "D,S,T", 0x71600018, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, - {"madd", "s,t", 0x0000001c, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, L1 }, - {"madd", "s,t", 0x70000000, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, I32|N55 }, --{"madd", "s,t", 0x70000000, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M, 0, G1 }, -+{"madd", "s,t", 0x70000000, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M, 0, G1|AL }, - {"madd", "7,s,t", 0x70000000, 0xfc00e7ff, MOD_a|RD_s|RD_t, 0, D32 }, - {"madd", "d,s,t", 0x70000000, 0xfc0007ff, RD_s|RD_t|WR_HILO|WR_d|IS_M, 0, G1 }, - {"maddp", "s,t", 0x70000441, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, SMT }, - {"maddu", "s,t", 0x0000001d, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, L1 }, - {"maddu", "s,t", 0x70000001, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, I32|N55 }, --{"maddu", "s,t", 0x70000001, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M, 0, G1 }, -+{"maddu", "s,t", 0x70000001, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M, 0, G1|AL }, - {"maddu", "7,s,t", 0x70000001, 0xfc00e7ff, MOD_a|RD_s|RD_t, 0, D32 }, - {"maddu", "d,s,t", 0x70000001, 0xfc0007ff, RD_s|RD_t|WR_HILO|WR_d|IS_M, 0, G1 }, - {"madd16", "s,t", 0x00000028, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, N411 }, -@@ -945,7 +940,7 @@ - /* mfc2 is at the bottom of the table. */ - /* mfhc2 is at the bottom of the table. */ - /* mfc3 is at the bottom of the table. */ --{"mfdr", "t,G", 0x7000003d, 0xffe007ff, LCD|WR_t|RD_C0, 0, N5 }, -+{"mfdr", "t,G", 0x7000003d, 0xffe007ff, LCD|WR_t|RD_C0, 0, N5|AL }, - {"mfhi", "d", 0x00000010, 0xffff07ff, WR_d|RD_HI, 0, I1 }, - {"mfhi", "d,9", 0x00000010, 0xff9f07ff, WR_d|RD_HI, 0, D32 }, - {"mflo", "d", 0x00000012, 0xffff07ff, WR_d|RD_LO, 0, I1 }, -@@ -967,7 +962,7 @@ - {"movf.l", "X,Y,N", 0x46a00011, 0xffe3003f, WR_D|RD_S|RD_CC|FP_D, 0, MX|SB1 }, - {"movf.s", "D,S,N", 0x46000011, 0xffe3003f, WR_D|RD_S|RD_CC|FP_S, 0, I4_32 }, - {"movf.ps", "D,S,N", 0x46c00011, 0xffe3003f, WR_D|RD_S|RD_CC|FP_D, 0, I5_33 }, --{"movn", "d,v,t", 0x0000000b, 0xfc0007ff, WR_d|RD_s|RD_t, 0, I4_32|IL2E|IL2F }, -+{"movn", "d,v,t", 0x0000000b, 0xfc0007ff, WR_d|RD_s|RD_t, 0, I4_32|IL2E|IL2F|AL }, - {"movnz", "d,v,t", 0x0000000b, 0xfc0007ff, WR_d|RD_s|RD_t, 0, IL2E|IL2F|IL3A }, - {"ffc", "d,v", 0x0000000b, 0xfc1f07ff, WR_d|RD_s, 0, L1 }, - {"movn.d", "D,S,t", 0x46200013, 0xffe0003f, WR_D|RD_S|RD_t|FP_D, 0, I4_32 }, -@@ -981,7 +976,7 @@ - {"movt.l", "X,Y,N", 0x46a10011, 0xffe3003f, WR_D|RD_S|RD_CC|FP_D, 0, MX|SB1 }, - {"movt.s", "D,S,N", 0x46010011, 0xffe3003f, WR_D|RD_S|RD_CC|FP_S, 0, I4_32 }, - {"movt.ps", "D,S,N", 0x46c10011, 0xffe3003f, WR_D|RD_S|RD_CC|FP_D, 0, I5_33 }, --{"movz", "d,v,t", 0x0000000a, 0xfc0007ff, WR_d|RD_s|RD_t, 0, I4_32|IL2E|IL2F }, -+{"movz", "d,v,t", 0x0000000a, 0xfc0007ff, WR_d|RD_s|RD_t, 0, I4|I32|AL }, - {"ffs", "d,v", 0x0000000a, 0xfc1f07ff, WR_d|RD_s, 0, L1 }, - {"movz.d", "D,S,t", 0x46200012, 0xffe0003f, WR_D|RD_S|RD_t|FP_D, 0, I4_32 }, - {"movz.l", "D,S,t", 0x46a00012, 0xffe0003f, WR_D|RD_S|RD_t|FP_D, 0, MX|SB1 }, -@@ -1010,8 +1005,10 @@ - {"msub.ps", "D,S,T", 0x71600019, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F }, - {"msub", "s,t", 0x0000001e, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, L1 }, - {"msub", "s,t", 0x70000004, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, I32|N55 }, -+{"msub", "s,t", 0x0000002e, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M, 0, AL }, - {"msub", "7,s,t", 0x70000004, 0xfc00e7ff, MOD_a|RD_s|RD_t, 0, D32 }, - {"msubu", "s,t", 0x0000001f, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, L1 }, -+{"msubu", "s,t", 0x0000002f, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M, 0, AL }, - {"msubu", "s,t", 0x70000005, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, I32|N55 }, - {"msubu", "7,s,t", 0x70000005, 0xfc00e7ff, MOD_a|RD_s|RD_t, 0, D32 }, - {"mtpc", "t,P", 0x4080c801, 0xffe0ffc1, COD|RD_t|WR_C0, 0, M1|N5 }, -@@ -1026,7 +1023,7 @@ - /* mtc2 is at the bottom of the table. */ - /* mthc2 is at the bottom of the table. */ - /* mtc3 is at the bottom of the table. */ --{"mtdr", "t,G", 0x7080003d, 0xffe007ff, COD|RD_t|WR_C0, 0, N5 }, -+{"mtdr", "t,G", 0x7080003d, 0xffe007ff, COD|RD_t|WR_C0, 0, N5|AL }, - {"mthi", "s", 0x00000011, 0xfc1fffff, RD_s|WR_HI, 0, I1 }, - {"mthi", "s,7", 0x00000011, 0xfc1fe7ff, RD_s|WR_HI, 0, D32 }, - {"mtlo", "s", 0x00000013, 0xfc1fffff, RD_s|WR_LO, 0, I1 }, -@@ -1211,13 +1208,13 @@ - {"rol", "d,v,I", 0, (int) M_ROL_I, INSN_MACRO, 0, I1 }, - {"ror", "d,v,t", 0, (int) M_ROR, INSN_MACRO, 0, I1 }, - {"ror", "d,v,I", 0, (int) M_ROR_I, INSN_MACRO, 0, I1 }, --{"ror", "d,w,<", 0x00200002, 0xffe0003f, WR_d|RD_t, 0, N5|I33|SMT }, --{"rorv", "d,t,s", 0x00000046, 0xfc0007ff, RD_t|RD_s|WR_d, 0, N5|I33|SMT }, --{"rotl", "d,v,t", 0, (int) M_ROL, INSN_MACRO, 0, I33|SMT }, --{"rotl", "d,v,I", 0, (int) M_ROL_I, INSN_MACRO, 0, I33|SMT }, --{"rotr", "d,v,t", 0, (int) M_ROR, INSN_MACRO, 0, I33|SMT }, --{"rotr", "d,v,I", 0, (int) M_ROR_I, INSN_MACRO, 0, I33|SMT }, --{"rotrv", "d,t,s", 0x00000046, 0xfc0007ff, RD_t|RD_s|WR_d, 0, I33|SMT }, -+{"ror", "d,w,<", 0x00200002, 0xffe0003f, WR_d|RD_t, 0, N5|I33|SMT|AL }, -+{"rorv", "d,t,s", 0x00000046, 0xfc0007ff, RD_t|RD_s|WR_d, 0, N5|I33|SMT|AL }, -+{"rotl", "d,v,t", 0, (int) M_ROL, INSN_MACRO, 0, I33|SMT|AL }, -+{"rotl", "d,v,I", 0, (int) M_ROL_I, INSN_MACRO, 0, I33|SMT|AL }, -+{"rotr", "d,v,t", 0, (int) M_ROR, INSN_MACRO, 0, I33|SMT|AL }, -+{"rotr", "d,v,I", 0, (int) M_ROR_I, INSN_MACRO, 0, I33|SMT|AL }, -+{"rotrv", "d,t,s", 0x00000046, 0xfc0007ff, RD_t|RD_s|WR_d, 0, I33|SMT|AL }, - {"round.l.d", "D,S", 0x46200008, 0xffff003f, WR_D|RD_S|FP_D, 0, I3_33 }, - {"round.l.s", "D,S", 0x46000008, 0xffff003f, WR_D|RD_S|FP_S|FP_D, 0, I3_33 }, - {"round.w.d", "D,S", 0x4620000c, 0xffff003f, WR_D|RD_S|FP_S|FP_D, 0, I2 }, -@@ -1261,13 +1258,13 @@ - {"s.d", "T,o(b)", 0xf4000000, 0xfc000000, SM|RD_T|RD_b|FP_D, 0, I2 }, - {"s.d", "T,o(b)", 0, (int) M_S_DOB, INSN_MACRO, INSN2_M_FP_D, I1 }, - {"s.d", "T,A(b)", 0, (int) M_S_DAB, INSN_MACRO, INSN2_M_FP_D, I1 }, --{"sdl", "t,o(b)", 0xb0000000, 0xfc000000, SM|RD_t|RD_b, 0, I3 }, -+{"sdl", "t,o(b)", 0xb0000000, 0xfc000000, SM|RD_t|RD_b, 0, I3|AL }, - {"sdl", "t,A(b)", 0, (int) M_SDL_AB, INSN_MACRO, 0, I3 }, - {"sdr", "t,o(b)", 0xb4000000, 0xfc000000, SM|RD_t|RD_b, 0, I3 }, - {"sdr", "t,A(b)", 0, (int) M_SDR_AB, INSN_MACRO, 0, I3 }, - {"sdxc1", "S,t(b)", 0x4c000009, 0xfc0007ff, SM|RD_S|RD_t|RD_b|FP_D, 0, I4_33 }, --{"seb", "d,w", 0x7c000420, 0xffe007ff, WR_d|RD_t, 0, I33 }, --{"seh", "d,w", 0x7c000620, 0xffe007ff, WR_d|RD_t, 0, I33 }, -+{"seb", "d,w", 0x7c000420, 0xffe007ff, WR_d|RD_t, 0, I33|AL }, -+{"seh", "d,w", 0x7c000620, 0xffe007ff, WR_d|RD_t, 0, I33|AL }, - {"selsl", "d,v,t", 0x00000005, 0xfc0007ff, WR_d|RD_s|RD_t, 0, L1 }, - {"selsr", "d,v,t", 0x00000001, 0xfc0007ff, WR_d|RD_s|RD_t, 0, L1 }, - {"seq", "d,v,t", 0x7000002a, 0xfc0007ff, WR_d|RD_s|RD_t, 0, IOCT }, -@@ -1387,8 +1384,7 @@ - {"swc1", "E,A(b)", 0, (int) M_SWC1_AB, INSN_MACRO, INSN2_M_FP_S, I1 }, - {"s.s", "T,o(b)", 0xe4000000, 0xfc000000, SM|RD_T|RD_b|FP_S, 0, I1 }, /* swc1 */ - {"s.s", "T,A(b)", 0, (int) M_SWC1_AB, INSN_MACRO, INSN2_M_FP_S, I1 }, --{"swc2", "E,o(b)", 0xe8000000, 0xfc000000, SM|RD_C2|RD_b, 0, I1 }, --{"swc2", "E,A(b)", 0, (int) M_SWC2_AB, INSN_MACRO, 0, I1 }, -+/* swc2 is at the bottom of the table. */ - {"swc3", "E,o(b)", 0xec000000, 0xfc000000, SM|RD_C3|RD_b, 0, I1 }, - {"swc3", "E,A(b)", 0, (int) M_SWC3_AB, INSN_MACRO, 0, I1 }, - {"swl", "t,o(b)", 0xa8000000, 0xfc000000, SM|RD_t|RD_b, 0, I1 }, -@@ -1485,7 +1481,8 @@ - {"wait", "J", 0x42000020, 0xfe00003f, TRAP, 0, I32|N55 }, - {"waiti", "", 0x42000020, 0xffffffff, TRAP, 0, L1 }, - {"wrpgpr", "d,w", 0x41c00000, 0xffe007ff, RD_t, 0, I33 }, --{"wsbh", "d,w", 0x7c0000a0, 0xffe007ff, WR_d|RD_t, 0, I33 }, -+{"wsbh", "d,w", 0x7c0000a0, 0xffe007ff, WR_d|RD_t, 0, I33|AL }, -+{"wsbw", "d,t", 0x7c0000e0, 0xffe007ff, WR_d|RD_t, 0, AL }, - {"xor", "d,v,t", 0x00000026, 0xfc0007ff, WR_d|RD_s|RD_t, 0, I1 }, - {"xor", "t,r,I", 0, (int) M_XOR_I, INSN_MACRO, 0, I1 }, - {"xor", "D,S,T", 0x47800002, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E }, -@@ -1564,7 +1561,318 @@ - {"udi15", "s,t,+2", 0x7000001f, 0xfc00003f, WR_d|RD_s|RD_t, 0, I33 }, - {"udi15", "s,+3", 0x7000001f, 0xfc00003f, WR_d|RD_s|RD_t, 0, I33 }, - {"udi15", "+4", 0x7000001f, 0xfc00003f, WR_d|RD_s|RD_t, 0, I33 }, -+/* Sony Allegrex CPU core. */ -+{"bitrev", "d,t", 0x7c000520, 0xffe007ff, WR_d|RD_t, 0, AL }, -+{"mfic", "t,G", 0x70000024, 0xffe007ff, LCD|WR_t|RD_C0, 0, AL }, -+{"mtic", "t,G", 0x70000026, 0xffe007ff, COD|RD_t|WR_C0, 0, AL }, - -+/* Sony Allegrex VFPU instructions. */ -+{"bvf", "?c,p", 0x49000000, 0xffe30000, CBD|RD_CC, 0, AL }, -+{"bvfl", "?c,p", 0x49020000, 0xffe30000, CBL|RD_CC, 0, AL }, -+{"bvt", "?c,p", 0x49010000, 0xffe30000, CBD|RD_CC, 0, AL }, -+{"bvtl", "?c,p", 0x49030000, 0xffe30000, CBL|RD_CC, 0, AL }, -+{"lv.s", "?m0x,?o(b)", 0xc8000000, 0xfc000000, CLD|RD_s|WR_CC, 0, AL }, -+{"lv.s", "?m0x,A(b)", 0, (int) M_LVQ_AB, INSN_MACRO, 0, AL }, -+{"ulv.s", "?m0x,o(b)", 0, (int) M_ULVS, INSN_MACRO, 0, AL }, -+{"lv.q", "?n3x,?o(b)", 0xd8000000, 0xfc000002, CLD|RD_s|WR_CC, 0, AL }, -+{"lv.q", "?n3x,A(b)", 0, (int) M_LVQ_AB_2, INSN_MACRO, 0, AL }, -+{"ulv.q", "?n3x,?o(b)", 0, (int) M_ULVQ, INSN_MACRO, 0, AL }, -+{"ulv.q", "?n3x,A(b)", 0, (int) M_ULVQ_AB, INSN_MACRO, 0, AL }, -+{"lvi.s", "?t0x,l?y0", 0, (int) M_LVIS, INSN_MACRO, 0, AL }, -+{"lvi.p", "?t1x,?[l?y0,l?y1?]", 0, (int) M_LVIP, INSN_MACRO, 0, AL }, -+{"lvi.t", "?t2x,?[l?y0,l?y1,l?y2?]", 0, (int) M_LVIT, INSN_MACRO, 0, AL }, -+{"lvi.q", "?t3x,?[l?y0,l?y1,l?y2,l?y3?]", 0, (int) M_LVIQ, INSN_MACRO, 0, AL }, -+{"lvhi.s", "?t0x,?[?u?y0,?u?y1?]", 0, (int) M_LVHIS, INSN_MACRO, 0, AL }, -+{"lvhi.p", "?t1x,?[?u?y0,?u?y1,?u?y2,?u?y3?]", 0, (int) M_LVHIP, INSN_MACRO, 0, AL }, -+{"sv.s", "?m0x,?o(b)", 0xe8000000, 0xfc000000, SM|RD_s|RD_C2, 0, AL }, -+{"sv.s", "?m0x,A(b)", 0, (int) M_SVS_AB, INSN_MACRO, 0, AL }, -+{"usv.s", "?m0x,o(b)", 0, (int) M_USVS, INSN_MACRO, 0, AL }, -+{"sv.q", "?n3x,?o(b)", 0xf8000000, 0xfc000002, SM|RD_s|RD_C2, 0, AL }, -+{"sv.q", "?n3x,?o(b),?z", 0xf8000000, 0xfc000000, SM|RD_s|RD_C2, 0, AL }, -+{"sv.q", "?n3x,A(b)", 0, (int) M_SVQ_AB, INSN_MACRO, 0, AL }, -+{"sv.q", "?n3x,A(b),?z", 0, (int) M_SVQ_AB, INSN_MACRO, 0, AL }, -+{"sv.q", "?n3x,A,?z", 0, (int) M_SVQ_AB, INSN_MACRO, 0, AL }, -+{"usv.q", "?n3x,?o(b)", 0, (int) M_USVQ, INSN_MACRO, 0, AL }, -+{"usv.q", "?n3x,A(b)", 0, (int) M_USVQ_AB, INSN_MACRO, 0, AL }, -+{"vwb.q", "?n3x,?o(b)", 0xf8000002, 0xfc000002, SM|RD_s|RD_C2, 0, AL }, -+{"lvl.q", "?n3x,?o(b)", 0xd4000000, 0xfc000002, CLD|RD_s|WR_CC, 0, AL }, -+{"lvl.q", "?n3x,A(b)", 0, (int) M_LVLQ_AB, INSN_MACRO, 0, AL }, -+{"lvr.q", "?n3x,?o(b)", 0xd4000002, 0xfc000002, CLD|RD_s|WR_CC, 0, AL }, -+{"lvr.q", "?n3x,A(b)", 0, (int) M_LVRQ_AB, INSN_MACRO, 0, AL }, -+{"svl.q", "?n3x,?o(b)", 0xf4000000, 0xfc000002, SM|RD_s|RD_C2, 0, AL }, -+{"svl.q", "?n3x,A(b)", 0, (int) M_SVLQ_AB, INSN_MACRO, 0, AL }, -+{"svr.q", "?n3x,?o(b)", 0xf4000002, 0xfc000002, SM|RD_s|RD_C2, 0, AL }, -+{"svr.q", "?n3x,A(b)", 0, (int) M_SVRQ_AB, INSN_MACRO, 0, AL }, -+{"mtv", "t,?d0z", 0x48e00000, 0xffe0ff80, LCD|WR_t|WR_C2, 0, AL }, -+{"mfv", "t,?d0z", 0x48600000, 0xffe0ff80, COD|RD_t|WR_CC|RD_C2, 0, AL }, -+{"mtvc", "t,?q", 0x48e00000, 0xffe0ff00, LCD|WR_t|WR_C2, 0, AL }, -+{"mfvc", "t,?q", 0x48600000, 0xffe0ff00, COD|RD_t|WR_CC|RD_C2, 0, AL }, -+{"vmtvc", "?q,?s0y", 0xd0510000, 0xffff8000, WR_C2, 0, AL }, -+{"vmfvc", "?d0z,?r", 0xd0500000, 0xffff0080, RD_C2, 0, AL }, -+{"vadd.q", "?d3d,?s3s,?t3t", 0x60008080, 0xff808080, RD_C2, 0, AL }, -+{"vsub.q", "?d3d,?s3s,?t3t", 0x60808080, 0xff808080, RD_C2, 0, AL }, -+{"vdiv.q", "?x3z,?s3y,?t3x", 0x63808080, 0xff808080, RD_C2, 0, AL }, -+{"vmul.q", "?d3d,?s3s,?t3t", 0x64008080, 0xff808080, RD_C2, 0, AL }, -+{"vdot.q", "?d0d,?s3s,?t3t", 0x64808080, 0xff808080, RD_C2, 0, AL }, -+{"vscl.q", "?d3d,?s3s,?t0x", 0x65008080, 0xff808080, RD_C2, 0, AL }, -+{"vhdp.q", "?d0d,?s3y,?t3t", 0x66008080, 0xff808080, RD_C2, 0, AL }, -+{"vcmp.q", "?f2,?s3s,?t3t", 0x6c008080, 0xff8080f0, RD_C2, 0, AL }, -+{"vcmp.q", "?f1,?s3s", 0x6c008080, 0xffff80f0, RD_C2, 0, AL }, -+{"vcmp.q", "?f0", 0x6c008080, 0xfffffff0, RD_C2, 0, AL }, -+{"vmin.q", "?d3d,?s3s,?t3t", 0x6d008080, 0xff808080, RD_C2, 0, AL }, -+{"vmax.q", "?d3d,?s3s,?t3t", 0x6d808080, 0xff808080, RD_C2, 0, AL }, -+{"vsgn.q", "?d3d,?s3s", 0xd04a8080, 0xffff8080, RD_C2, 0, AL }, -+{"vcst.q", "?d3d,?a", 0xd0608080, 0xffe0ff80, RD_C2, 0, AL }, -+{"vscmp.q", "?d3d,?s3s,?t3t", 0x6e808080, 0xff808080, RD_C2, 0, AL }, -+{"vsge.q", "?d3d,?s3s,?t3t", 0x6f008080, 0xff808080, RD_C2, 0, AL }, -+{"vslt.q", "?d3d,?s3s,?t3t", 0x6f808080, 0xff808080, RD_C2, 0, AL }, -+{"vi2uc.q", "?d0m,?s3w", 0xd03c8080, 0xffff8080, RD_C2, 0, AL }, -+{"vi2c.q", "?d0m,?s3w", 0xd03d8080, 0xffff8080, RD_C2, 0, AL }, -+{"vi2us.q", "?d1m,?s3w", 0xd03e8080, 0xffff8080, RD_C2, 0, AL }, -+{"vi2s.q", "?d1m,?s3w", 0xd03f8080, 0xffff8080, RD_C2, 0, AL }, -+{"vmov.q", "?d3d,?s3s", 0xd0008080, 0xffff8080, RD_C2, 0, AL }, -+{"vabs.q", "?d3d,?s3w", 0xd0018080, 0xffff8080, RD_C2, 0, AL }, -+{"vneg.q", "?d3d,?s3w", 0xd0028080, 0xffff8080, RD_C2, 0, AL }, -+{"vidt.q", "?d3d", 0xd0038080, 0xffffff80, RD_C2, 0, AL }, -+{"vsat0.q", "?d3z,?s3s", 0xd0048080, 0xffff8080, RD_C2, 0, AL }, -+{"vsat1.q", "?d3z,?s3s", 0xd0058080, 0xffff8080, RD_C2, 0, AL }, -+{"vzero.q", "?d3d", 0xd0068080, 0xffffff80, RD_C2, 0, AL }, -+{"vone.q", "?d3d", 0xd0078080, 0xffffff80, RD_C2, 0, AL }, -+{"vrcp.q", "?x3z,?s3y", 0xd0108080, 0xffff8080, RD_C2, 0, AL }, -+{"vrsq.q", "?x3z,?s3y", 0xd0118080, 0xffff8080, RD_C2, 0, AL }, -+{"vsin.q", "?x3z,?s3y", 0xd0128080, 0xffff8080, RD_C2, 0, AL }, -+{"vcos.q", "?x3z,?s3y", 0xd0138080, 0xffff8080, RD_C2, 0, AL }, -+{"vexp2.q", "?x3z,?s3y", 0xd0148080, 0xffff8080, RD_C2, 0, AL }, -+{"vlog2.q", "?x3z,?s3y", 0xd0158080, 0xffff8080, RD_C2, 0, AL }, -+{"vsqrt.q", "?x3z,?s3y", 0xd0168080, 0xffff8080, RD_C2, 0, AL }, -+{"vasin.q", "?x3z,?s3y", 0xd0178080, 0xffff8080, RD_C2, 0, AL }, -+{"vnrcp.q", "?x3z,?s3y", 0xd0188080, 0xffff8080, RD_C2, 0, AL }, -+{"vnsin.q", "?x3z,?s3y", 0xd01a8080, 0xffff8080, RD_C2, 0, AL }, -+{"vrexp2.q", "?x3z,?s3y", 0xd01c8080, 0xffff8080, RD_C2, 0, AL }, -+{"vrndi.q", "?d3z", 0xd0218080, 0xffffff80, RD_C2, 0, AL }, -+{"vrndf1.q", "?d3z", 0xd0228080, 0xffffff80, RD_C2, 0, AL }, -+{"vrndf2.q", "?d3z", 0xd0238080, 0xffffff80, RD_C2, 0, AL }, -+{"vf2h.q", "?d1m,?s3s", 0xd0328080, 0xffff8080, RD_C2, 0, AL }, -+{"vsrt1.q", "?d3d,?s3s", 0xd0408080, 0xffff8080, RD_C2, 0, AL }, -+{"vsrt2.q", "?d3d,?s3s", 0xd0418080, 0xffff8080, RD_C2, 0, AL }, -+{"vsrt3.q", "?d3d,?s3s", 0xd0488080, 0xffff8080, RD_C2, 0, AL }, -+{"vsrt4.q", "?d3d,?s3s", 0xd0498080, 0xffff8080, RD_C2, 0, AL }, -+{"vbfy1.q", "?d3d,?s3s", 0xd0428080, 0xffff8080, RD_C2, 0, AL }, -+{"vbfy2.q", "?d3d,?s3s", 0xd0438080, 0xffff8080, RD_C2, 0, AL }, -+{"vocp.q", "?d3d,?s3y", 0xd0448080, 0xffff8080, RD_C2, 0, AL }, -+{"vfad.q", "?d0d,?s3s", 0xd0468080, 0xffff8080, RD_C2, 0, AL }, -+{"vavg.q", "?d0d,?s3s", 0xd0478080, 0xffff8080, RD_C2, 0, AL }, -+{"vf2in.q", "?d3m,?s3s,?b", 0xd2008080, 0xffe08080, RD_C2, 0, AL }, -+{"vf2iz.q", "?d3m,?s3s,?b", 0xd2208080, 0xffe08080, RD_C2, 0, AL }, -+{"vf2iu.q", "?d3m,?s3s,?b", 0xd2408080, 0xffe08080, RD_C2, 0, AL }, -+{"vf2id.q", "?d3m,?s3s,?b", 0xd2608080, 0xffe08080, RD_C2, 0, AL }, -+{"vi2f.q", "?d3d,?s3w,?b", 0xd2808080, 0xffe08080, RD_C2, 0, AL }, -+{"vcmov.q", "?d3d,?s3s,?e", 0, (int) M_VCMOVQ, INSN_MACRO, 0, AL }, -+{"vcmovt.q", "?d3d,?s3s,?e", 0xd2a08080, 0xfff88080, RD_C2, 0, AL }, -+{"vcmovf.q", "?d3d,?s3s,?e", 0xd2a88080, 0xfff88080, RD_C2, 0, AL }, -+{"vmmul.q", "?v7z,?s7y,?t7x", 0xf0008080, 0xff808080, RD_C2, 0, AL }, -+{"vtfm4.q", "?v3z,?s7y,?t3x", 0xf1808080, 0xff808080, RD_C2, 0, AL }, -+{"vhtfm4.q", "?v3z,?s7y,?t3x", 0xf1808000, 0xff808080, RD_C2, 0, AL }, -+{"vmscl.q", "?x7z,?s7y,?t0x", 0xf2008080, 0xff808080, RD_C2, 0, AL }, -+{"vqmul.q", "?v3z,?s3y,?t3x", 0xf2808080, 0xff808080, RD_C2, 0, AL }, -+{"vmmov.q", "?x7z,?s7y", 0xf3808080, 0xffff8080, RD_C2, 0, AL }, -+{"vmidt.q", "?d7z", 0xf3838080, 0xffffff80, RD_C2, 0, AL }, -+{"vmzero.q", "?d7z", 0xf3868080, 0xffffff80, RD_C2, 0, AL }, -+{"vmone.q", "?d7z", 0xf3878080, 0xffffff80, RD_C2, 0, AL }, -+{"vrot.q", "?x3z,?s0y,?w", 0xf3a08080, 0xffe08080, RD_C2, 0, AL }, -+{"vt4444.q", "?d1z,?s3w", 0xd0598080, 0xffff8080, RD_C2, 0, AL }, -+{"vt5551.q", "?d1z,?s3w", 0xd05a8080, 0xffff8080, RD_C2, 0, AL }, -+{"vt5650.q", "?d1z,?s3w", 0xd05b8080, 0xffff8080, RD_C2, 0, AL }, -+{"vadd.t", "?d2d,?s2s,?t2t", 0x60008000, 0xff808080, RD_C2, 0, AL }, -+{"vsub.t", "?d2d,?s2s,?t2t", 0x60808000, 0xff808080, RD_C2, 0, AL }, -+{"vdiv.t", "?x2z,?s2y,?t2x", 0x63808000, 0xff808080, RD_C2, 0, AL }, -+{"vmul.t", "?d2d,?s2s,?t2t", 0x64008000, 0xff808080, RD_C2, 0, AL }, -+{"vdot.t", "?d0d,?s2s,?t2t", 0x64808000, 0xff808080, RD_C2, 0, AL }, -+{"vscl.t", "?d2d,?s2s,?t0x", 0x65008000, 0xff808080, RD_C2, 0, AL }, -+{"vhdp.t", "?d0d,?s2y,?t2t", 0x66008000, 0xff808080, RD_C2, 0, AL }, -+{"vcrs.t", "?d2d,?s2y,?t2x", 0x66808000, 0xff808080, RD_C2, 0, AL }, -+{"vcmp.t", "?f2,?s2s,?t2t", 0x6c008000, 0xff8080f0, RD_C2, 0, AL }, -+{"vcmp.t", "?f1,?s2s", 0x6c008000, 0xffff80f0, RD_C2, 0, AL }, -+{"vcmp.t", "?f0", 0x6c008000, 0xfffffff0, RD_C2, 0, AL }, -+{"vmin.t", "?d2d,?s2s,?t2t", 0x6d008000, 0xff808080, RD_C2, 0, AL }, -+{"vmax.t", "?d2d,?s2s,?t2t", 0x6d808000, 0xff808080, RD_C2, 0, AL }, -+{"vsgn.t", "?d2d,?s2s", 0xd04a8000, 0xffff8080, RD_C2, 0, AL }, -+{"vcst.t", "?d2d,?a", 0xd0608000, 0xffe0ff80, RD_C2, 0, AL }, -+{"vscmp.t", "?d2d,?s2s,?t2t", 0x6e808000, 0xff808080, RD_C2, 0, AL }, -+{"vsge.t", "?d2d,?s2s,?t2t", 0x6f008000, 0xff808080, RD_C2, 0, AL }, -+{"vslt.t", "?d2d,?s2s,?t2t", 0x6f808000, 0xff808080, RD_C2, 0, AL }, -+{"vmov.t", "?d2d,?s2s", 0xd0008000, 0xffff8080, RD_C2, 0, AL }, -+{"vabs.t", "?d2d,?s2w", 0xd0018000, 0xffff8080, RD_C2, 0, AL }, -+{"vneg.t", "?d2d,?s2w", 0xd0028000, 0xffff8080, RD_C2, 0, AL }, -+{"vsat0.t", "?d2z,?s2s", 0xd0048000, 0xffff8080, RD_C2, 0, AL }, -+{"vsat1.t", "?d2z,?s2s", 0xd0058000, 0xffff8080, RD_C2, 0, AL }, -+{"vzero.t", "?d2d", 0xd0068000, 0xffffff80, RD_C2, 0, AL }, -+{"vone.t", "?d2d", 0xd0078000, 0xffffff80, RD_C2, 0, AL }, -+{"vrcp.t", "?x2z,?s2y", 0xd0108000, 0xffff8080, RD_C2, 0, AL }, -+{"vrsq.t", "?x2z,?s2y", 0xd0118000, 0xffff8080, RD_C2, 0, AL }, -+{"vsin.t", "?x2z,?s2y", 0xd0128000, 0xffff8080, RD_C2, 0, AL }, -+{"vcos.t", "?x2z,?s2y", 0xd0138000, 0xffff8080, RD_C2, 0, AL }, -+{"vexp2.t", "?x2z,?s2y", 0xd0148000, 0xffff8080, RD_C2, 0, AL }, -+{"vlog2.t", "?x2z,?s2y", 0xd0158000, 0xffff8080, RD_C2, 0, AL }, -+{"vsqrt.t", "?x2z,?s2y", 0xd0168000, 0xffff8080, RD_C2, 0, AL }, -+{"vasin.t", "?x2z,?s2y", 0xd0178000, 0xffff8080, RD_C2, 0, AL }, -+{"vnrcp.t", "?x2z,?s2y", 0xd0188000, 0xffff8080, RD_C2, 0, AL }, -+{"vnsin.t", "?x2z,?s2y", 0xd01a8000, 0xffff8080, RD_C2, 0, AL }, -+{"vrexp2.t", "?x2z,?s2y", 0xd01c8000, 0xffff8080, RD_C2, 0, AL }, -+{"vrndi.t", "?d2z", 0xd0218000, 0xffffff80, RD_C2, 0, AL }, -+{"vrndf1.t", "?d2z", 0xd0228000, 0xffffff80, RD_C2, 0, AL }, -+{"vrndf2.t", "?d2z", 0xd0238000, 0xffffff80, RD_C2, 0, AL }, -+{"vocp.t", "?d2d,?s2y", 0xd0448000, 0xffff8080, RD_C2, 0, AL }, -+{"vfad.t", "?d0d,?s2s", 0xd0468000, 0xffff8080, RD_C2, 0, AL }, -+{"vavg.t", "?d0d,?s2s", 0xd0478000, 0xffff8080, RD_C2, 0, AL }, -+{"vf2in.t", "?d2m,?s2s,?b", 0xd2008000, 0xffe08080, RD_C2, 0, AL }, -+{"vf2iz.t", "?d2m,?s2s,?b", 0xd2208000, 0xffe08080, RD_C2, 0, AL }, -+{"vf2iu.t", "?d2m,?s2s,?b", 0xd2408000, 0xffe08080, RD_C2, 0, AL }, -+{"vf2id.t", "?d2m,?s2s,?b", 0xd2608000, 0xffe08080, RD_C2, 0, AL }, -+{"vi2f.t", "?d2d,?s2w,?b", 0xd2808000, 0xffe08080, RD_C2, 0, AL }, -+{"vcmov.t", "?d2d,?s2s,?e", 0, (int) M_VCMOVT, INSN_MACRO, 0, AL }, -+{"vcmovt.t", "?d2d,?s2s,?e", 0xd2a08000, 0xfff88080, RD_C2, 0, AL }, -+{"vcmovf.t", "?d2d,?s2s,?e", 0xd2a88000, 0xfff88080, RD_C2, 0, AL }, -+{"vmmul.t", "?v6z,?s6y,?t6x", 0xf0008000, 0xff808080, RD_C2, 0, AL }, -+{"vtfm3.t", "?v2z,?s6y,?t2x", 0xf1008000, 0xff808080, RD_C2, 0, AL }, -+{"vhtfm3.t", "?v2z,?s6y,?t2x", 0xf1000080, 0xff808080, RD_C2, 0, AL }, -+{"vmscl.t", "?x6z,?s6y,?t0x", 0xf2008000, 0xff808080, RD_C2, 0, AL }, -+{"vmmov.t", "?x6z,?s6y", 0xf3808000, 0xffff8080, RD_C2, 0, AL }, -+{"vmidt.t", "?d6z", 0xf3838000, 0xffffff80, RD_C2, 0, AL }, -+{"vmzero.t", "?d6z", 0xf3868000, 0xffffff80, RD_C2, 0, AL }, -+{"vmone.t", "?d6z", 0xf3878000, 0xffffff80, RD_C2, 0, AL }, -+{"vrot.t", "?x2z,?s0y,?w", 0xf3a08000, 0xffe08080, RD_C2, 0, AL }, -+{"vcrsp.t", "?d2z,?s2y,?t2x", 0xf2808000, 0xff808080, RD_C2, 0, AL }, -+{"vadd.p", "?d1d,?s1s,?t1t", 0x60000080, 0xff808080, RD_C2, 0, AL }, -+{"vsub.p", "?d1d,?s1s,?t1t", 0x60800080, 0xff808080, RD_C2, 0, AL }, -+{"vdiv.p", "?x1z,?s1y,?t1x", 0x63800080, 0xff808080, RD_C2, 0, AL }, -+{"vmul.p", "?d1d,?s1s,?t1t", 0x64000080, 0xff808080, RD_C2, 0, AL }, -+{"vdot.p", "?d0d,?s1s,?t1t", 0x64800080, 0xff808080, RD_C2, 0, AL }, -+{"vscl.p", "?d1d,?s1s,?t0x", 0x65000080, 0xff808080, RD_C2, 0, AL }, -+{"vhdp.p", "?d0d,?s1y,?t1t", 0x66000080, 0xff808080, RD_C2, 0, AL }, -+{"vdet.p", "?d0d,?s1s,?t1x", 0x67000080, 0xff808080, RD_C2, 0, AL }, -+{"vcmp.p", "?f2,?s1s,?t1t", 0x6c000080, 0xff8080f0, RD_C2, 0, AL }, -+{"vcmp.p", "?f1,?s1s", 0x6c000080, 0xffff80f0, RD_C2, 0, AL }, -+{"vcmp.p", "?f0", 0x6c000080, 0xfffffff0, RD_C2, 0, AL }, -+{"vmin.p", "?d1d,?s1s,?t1t", 0x6d000080, 0xff808080, RD_C2, 0, AL }, -+{"vmax.p", "?d1d,?s1s,?t1t", 0x6d800080, 0xff808080, RD_C2, 0, AL }, -+{"vsgn.p", "?d1d,?s1s", 0xd04a0080, 0xffff8080, RD_C2, 0, AL }, -+{"vcst.p", "?d1d,?a", 0xd0600080, 0xffe0ff80, RD_C2, 0, AL }, -+{"vscmp.p", "?d1d,?s1s,?t1t", 0x6e800080, 0xff808080, RD_C2, 0, AL }, -+{"vsge.p", "?d1d,?s1s,?t1t", 0x6f000080, 0xff808080, RD_C2, 0, AL }, -+{"vslt.p", "?d1d,?s1s,?t1t", 0x6f800080, 0xff808080, RD_C2, 0, AL }, -+{"vus2i.p", "?d3m,?s1y", 0xd03a0080, 0xffff8080, RD_C2, 0, AL }, -+{"vs2i.p", "?d3m,?s1y", 0xd03b0080, 0xffff8080, RD_C2, 0, AL }, -+{"vi2us.p", "?d0m,?s1w", 0xd03e0080, 0xffff8080, RD_C2, 0, AL }, -+{"vi2s.p", "?d0m,?s1w", 0xd03f0080, 0xffff8080, RD_C2, 0, AL }, -+{"vmov.p", "?d1d,?s1s", 0xd0000080, 0xffff8080, RD_C2, 0, AL }, -+{"vabs.p", "?d1d,?s1w", 0xd0010080, 0xffff8080, RD_C2, 0, AL }, -+{"vneg.p", "?d1d,?s1w", 0xd0020080, 0xffff8080, RD_C2, 0, AL }, -+{"vidt.p", "?d1d", 0xd0030080, 0xffffff80, RD_C2, 0, AL }, -+{"vsat0.p", "?d1z,?s1s", 0xd0040080, 0xffff8080, RD_C2, 0, AL }, -+{"vsat1.p", "?d1z,?s1s", 0xd0050080, 0xffff8080, RD_C2, 0, AL }, -+{"vzero.p", "?d1d", 0xd0060080, 0xffffff80, RD_C2, 0, AL }, -+{"vone.p", "?d1d", 0xd0070080, 0xffffff80, RD_C2, 0, AL }, -+{"vrcp.p", "?x1z,?s1y", 0xd0100080, 0xffff8080, RD_C2, 0, AL }, -+{"vrsq.p", "?x1z,?s1y", 0xd0110080, 0xffff8080, RD_C2, 0, AL }, -+{"vsin.p", "?x1z,?s1y", 0xd0120080, 0xffff8080, RD_C2, 0, AL }, -+{"vcos.p", "?x1z,?s1y", 0xd0130080, 0xffff8080, RD_C2, 0, AL }, -+{"vexp2.p", "?x1z,?s1y", 0xd0140080, 0xffff8080, RD_C2, 0, AL }, -+{"vlog2.p", "?x1z,?s1y", 0xd0150080, 0xffff8080, RD_C2, 0, AL }, -+{"vsqrt.p", "?x1z,?s1y", 0xd0160080, 0xffff8080, RD_C2, 0, AL }, -+{"vasin.p", "?x1z,?s1y", 0xd0170080, 0xffff8080, RD_C2, 0, AL }, -+{"vnrcp.p", "?x1z,?s1y", 0xd0180080, 0xffff8080, RD_C2, 0, AL }, -+{"vnsin.p", "?x1z,?s1y", 0xd01a0080, 0xffff8080, RD_C2, 0, AL }, -+{"vrexp2.p", "?x1z,?s1y", 0xd01c0080, 0xffff8080, RD_C2, 0, AL }, -+{"vrndi.p", "?d1z", 0xd0210080, 0xffffff80, RD_C2, 0, AL }, -+{"vrndf1.p", "?d1z", 0xd0220080, 0xffffff80, RD_C2, 0, AL }, -+{"vrndf2.p", "?d1z", 0xd0230080, 0xffffff80, RD_C2, 0, AL }, -+{"vf2h.p", "?d0m,?s1s", 0xd0320080, 0xffff8080, RD_C2, 0, AL }, -+{"vh2f.p", "?d3d,?s1y", 0xd0330080, 0xffff8080, RD_C2, 0, AL }, -+{"vbfy1.p", "?d1d,?s1s", 0xd0420080, 0xffff8080, RD_C2, 0, AL }, -+{"vocp.p", "?d1d,?s1y", 0xd0440080, 0xffff8080, RD_C2, 0, AL }, -+{"vsocp.p", "?d3z,?s1y", 0xd0450080, 0xffff8080, RD_C2, 0, AL }, -+{"vfad.p", "?d0d,?s1s", 0xd0460080, 0xffff8080, RD_C2, 0, AL }, -+{"vavg.p", "?d0d,?s1s", 0xd0470080, 0xffff8080, RD_C2, 0, AL }, -+{"vf2in.p", "?d1m,?s1s,?b", 0xd2000080, 0xffe08080, RD_C2, 0, AL }, -+{"vf2iz.p", "?d1m,?s1s,?b", 0xd2200080, 0xffe08080, RD_C2, 0, AL }, -+{"vf2iu.p", "?d1m,?s1s,?b", 0xd2400080, 0xffe08080, RD_C2, 0, AL }, -+{"vf2id.p", "?d1m,?s1s,?b", 0xd2600080, 0xffe08080, RD_C2, 0, AL }, -+{"vi2f.p", "?d1d,?s1w,?b", 0xd2800080, 0xffe08080, RD_C2, 0, AL }, -+{"vcmov.p", "?d1d,?s1s,?e", 0, (int) M_VCMOVP, INSN_MACRO, 0, AL }, -+{"vcmovt.p", "?d1d,?s1s,?e", 0xd2a00080, 0xfff88080, RD_C2, 0, AL }, -+{"vcmovf.p", "?d1d,?s1s,?e", 0xd2a80080, 0xfff88080, RD_C2, 0, AL }, -+{"vmmul.p", "?v5z,?s5y,?t5x", 0xf0000080, 0xff808080, RD_C2, 0, AL }, -+{"vtfm2.p", "?v1z,?s5y,?t1x", 0xf0800080, 0xff808080, RD_C2, 0, AL }, -+{"vhtfm2.p", "?v1z,?s5y,?t1x", 0xf0800000, 0xff808080, RD_C2, 0, AL }, -+{"vmscl.p", "?x5z,?s5y,?t0x", 0xf2000080, 0xff808080, RD_C2, 0, AL }, -+{"vmmov.p", "?x5z,?s5y", 0xf3800080, 0xffff8080, RD_C2, 0, AL }, -+{"vmidt.p", "?d5z", 0xf3830080, 0xffffff80, RD_C2, 0, AL }, -+{"vmzero.p", "?d5z", 0xf3860080, 0xffffff80, RD_C2, 0, AL }, -+{"vmone.p", "?d5z", 0xf3870080, 0xffffff80, RD_C2, 0, AL }, -+{"vrot.p", "?x1z,?s0y,?w", 0xf3a00080, 0xffe08080, RD_C2, 0, AL }, -+{"vadd.s", "?d0d,?s0s,?t0t", 0x60000000, 0xff808080, RD_C2, 0, AL }, -+{"vsub.s", "?d0d,?s0s,?t0t", 0x60800000, 0xff808080, RD_C2, 0, AL }, -+{"vdiv.s", "?x0d,?s0s,?t0t", 0x63800000, 0xff808080, RD_C2, 0, AL }, -+{"vmul.s", "?d0d,?s0s,?t0t", 0x64000000, 0xff808080, RD_C2, 0, AL }, -+{"vcmp.s", "?f2,?s0s,?t0t", 0x6c000000, 0xff8080f0, RD_C2, 0, AL }, -+{"vcmp.s", "?f1,?s0s", 0x6c000000, 0xffff80f0, RD_C2, 0, AL }, -+{"vcmp.s", "?f0", 0x6c000000, 0xfffffff0, RD_C2, 0, AL }, -+{"vmin.s", "?d0d,?s0s,?t0t", 0x6d000000, 0xff808080, RD_C2, 0, AL }, -+{"vmax.s", "?d0d,?s0s,?t0t", 0x6d800000, 0xff808080, RD_C2, 0, AL }, -+{"vsgn.s", "?d0d,?s0s", 0xd04a0000, 0xffff8080, RD_C2, 0, AL }, -+{"vcst.s", "?d0d,?a", 0xd0600000, 0xffe0ff80, RD_C2, 0, AL }, -+{"vscmp.s", "?d0d,?s0s,?t0t", 0x6e800000, 0xff808080, RD_C2, 0, AL }, -+{"vsge.s", "?d0d,?s0s,?t0t", 0x6f000000, 0xff808080, RD_C2, 0, AL }, -+{"vslt.s", "?d0d,?s0s,?t0t", 0x6f800000, 0xff808080, RD_C2, 0, AL }, -+{"vus2i.s", "?d1m,?s0y", 0xd03a0000, 0xffff8080, RD_C2, 0, AL }, -+{"vs2i.s", "?d1m,?s0y", 0xd03b0000, 0xffff8080, RD_C2, 0, AL }, -+{"vmov.s", "?d0d,?s0s", 0xd0000000, 0xffff8080, RD_C2, 0, AL }, -+{"vabs.s", "?d0d,?s0w", 0xd0010000, 0xffff8080, RD_C2, 0, AL }, -+{"vneg.s", "?d0d,?s0w", 0xd0020000, 0xffff8080, RD_C2, 0, AL }, -+{"vsat0.s", "?d0z,?s0s", 0xd0040000, 0xffff8080, RD_C2, 0, AL }, -+{"vsat1.s", "?d0z,?s0s", 0xd0050000, 0xffff8080, RD_C2, 0, AL }, -+{"vzero.s", "?d0d", 0xd0060000, 0xffffff80, RD_C2, 0, AL }, -+{"vone.s", "?d0d", 0xd0070000, 0xffffff80, RD_C2, 0, AL }, -+{"vrcp.s", "?x0d,?s0s", 0xd0100000, 0xffff8080, RD_C2, 0, AL }, -+{"vrsq.s", "?x0d,?s0s", 0xd0110000, 0xffff8080, RD_C2, 0, AL }, -+{"vsin.s", "?x0d,?s0s", 0xd0120000, 0xffff8080, RD_C2, 0, AL }, -+{"vcos.s", "?x0d,?s0s", 0xd0130000, 0xffff8080, RD_C2, 0, AL }, -+{"vexp2.s", "?x0d,?s0s", 0xd0140000, 0xffff8080, RD_C2, 0, AL }, -+{"vlog2.s", "?x0d,?s0s", 0xd0150000, 0xffff8080, RD_C2, 0, AL }, -+{"vsqrt.s", "?x0d,?s0s", 0xd0160000, 0xffff8080, RD_C2, 0, AL }, -+{"vasin.s", "?x0d,?s0s", 0xd0170000, 0xffff8080, RD_C2, 0, AL }, -+{"vnrcp.s", "?x0d,?s0y", 0xd0180000, 0xffff8080, RD_C2, 0, AL }, -+{"vnsin.s", "?x0d,?s0y", 0xd01a0000, 0xffff8080, RD_C2, 0, AL }, -+{"vrexp2.s", "?x0d,?s0y", 0xd01c0000, 0xffff8080, RD_C2, 0, AL }, -+{"vrnds.s", "?s0y", 0xd0200000, 0xffff80ff, RD_C2, 0, AL }, -+{"vrndi.s", "?d0d", 0xd0210000, 0xffffff80, RD_C2, 0, AL }, -+{"vrndf1.s", "?d0d", 0xd0220000, 0xffffff80, RD_C2, 0, AL }, -+{"vrndf2.s", "?d0d", 0xd0230000, 0xffffff80, RD_C2, 0, AL }, -+{"vh2f.s", "?d1d,?s0y", 0xd0330000, 0xffff8080, RD_C2, 0, AL }, -+{"vsbz.s", "?d0d,?s0s", 0xd0360000, 0xffff8080, RD_C2, 0, AL }, -+{"vsbn.s", "?d0d,?s0s,?t0t", 0x61000000, 0xff808080, RD_C2, 0, AL }, -+{"vlgb.s", "?d0d,?s0s", 0xd0370000, 0xffff8080, RD_C2, 0, AL }, -+{"vocp.s", "?d0d,?s0y", 0xd0440000, 0xffff8080, RD_C2, 0, AL }, -+{"vsocp.s", "?d1z,?s0y", 0xd0450000, 0xffff8080, RD_C2, 0, AL }, -+{"vf2in.s", "?d0m,?s0s,?b", 0xd2000000, 0xffe08080, RD_C2, 0, AL }, -+{"vf2iz.s", "?d0m,?s0s,?b", 0xd2200000, 0xffe08080, RD_C2, 0, AL }, -+{"vf2iu.s", "?d0m,?s0s,?b", 0xd2400000, 0xffe08080, RD_C2, 0, AL }, -+{"vf2id.s", "?d0m,?s0s,?b", 0xd2600000, 0xffe08080, RD_C2, 0, AL }, -+{"vi2f.s", "?d0d,?s0w,?b", 0xd2800000, 0xffe08080, RD_C2, 0, AL }, -+{"vcmov.s", "?d0d,?s0s,?e", 0, (int) M_VCMOVS, INSN_MACRO, 0, AL }, -+{"vcmovt.s", "?d0d,?s0s,?e", 0xd2a00000, 0xfff88080, RD_C2, 0, AL }, -+{"vcmovf.s", "?d0d,?s0s,?e", 0xd2a80000, 0xfff88080, RD_C2, 0, AL }, -+{"vwbn.s", "?d0d,?s0s,?i", 0xd3000000, 0xff008080, RD_C2, 0, AL }, -+{"vpfxs", "?0,?1,?2,?3", 0xdc000000, 0xff000000, RD_C2, 0, AL }, -+{"vpfxt", "?0,?1,?2,?3", 0xdd000000, 0xff000000, RD_C2, 0, AL }, -+{"vpfxd", "?4,?5,?6,?7", 0xde000000, 0xff000000, RD_C2, 0, AL }, -+{"viim.s", "?t0d,j", 0xdf000000, 0xff800000, RD_C2, 0, AL }, -+{"vfim.s", "?t0d,?u", 0xdf800000, 0xff800000, RD_C2, 0, AL }, -+{"vnop", "", 0xffff0000, 0xffffffff, RD_C2, 0, AL }, -+{"vflush", "", 0xffff040d, 0xffffffff, RD_C2, 0, AL }, -+{"vsync", "", 0xffff0320, 0xffffffff, RD_C2, 0, AL }, -+{"vsync", "i", 0xffff0000, 0xffff0000, RD_C2, 0, AL }, - /* Coprocessor 2 move/branch operations overlap with VR5400 .ob format - instructions so they are here for the latters to take precedence. */ - {"bc2f", "p", 0x49000000, 0xffff0000, CBD|RD_CC, 0, I1 }, -@@ -1609,6 +1917,38 @@ - {"mtc3", "t,G", 0x4c800000, 0xffe007ff, COD|RD_t|WR_C3|WR_CC, 0, I1 }, - {"mtc3", "t,G,H", 0x4c800000, 0xffe007f8, COD|RD_t|WR_C3|WR_CC, 0, I32 }, - -+ -+/* Coprocessor 2 load/store operations overlap with the Allegrex VFPU -+ instructions so they are here for the latters to take precedence. */ -+/* COP1 ldc1 and sdc1 and COP3 ldc3 and sdc3 also overlap with the VFPU. */ -+{"ldc1", "T,o(b)", 0xd4000000, 0xfc000000, CLD|RD_b|WR_T|FP_D, 0, I2 }, -+{"ldc1", "E,o(b)", 0xd4000000, 0xfc000000, CLD|RD_b|WR_T|FP_D, 0, I2 }, -+{"ldc1", "T,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, 0, I2 }, -+{"ldc1", "E,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, 0, I2 }, -+{"l.d", "T,o(b)", 0xd4000000, 0xfc000000, CLD|RD_b|WR_T|FP_D, 0, I2 }, /* ldc1 */ -+{"l.d", "T,o(b)", 0, (int) M_L_DOB, INSN_MACRO, 0, I1 }, -+{"l.d", "T,A(b)", 0, (int) M_L_DAB, INSN_MACRO, 0, I1 }, -+{"ldc2", "E,o(b)", 0xd8000000, 0xfc000000, CLD|RD_b|WR_CC, 0, I2 }, -+{"ldc2", "E,A(b)", 0, (int) M_LDC2_AB, INSN_MACRO, 0, I2 }, -+{"ldc3", "E,o(b)", 0xdc000000, 0xfc000000, CLD|RD_b|WR_CC, 0, I2 }, -+{"ldc3", "E,A(b)", 0, (int) M_LDC3_AB, INSN_MACRO, 0, I2 }, -+{"lwc2", "E,o(b)", 0xc8000000, 0xfc000000, CLD|RD_b|WR_CC, 0, I1 }, -+{"lwc2", "E,A(b)", 0, (int) M_LWC2_AB, INSN_MACRO, 0, I1 }, -+{"sdc1", "T,o(b)", 0xf4000000, 0xfc000000, SM|RD_T|RD_b|FP_D, 0, I2 }, -+{"sdc1", "E,o(b)", 0xf4000000, 0xfc000000, SM|RD_T|RD_b|FP_D, 0, I2 }, -+{"sdc1", "T,A(b)", 0, (int) M_SDC1_AB, INSN_MACRO, 0, I2 }, -+{"sdc1", "E,A(b)", 0, (int) M_SDC1_AB, INSN_MACRO, 0, I2 }, -+{"s.d", "T,o(b)", 0xf4000000, 0xfc000000, SM|RD_T|RD_b|FP_D, 0, I2 }, -+{"s.d", "T,o(b)", 0, (int) M_S_DOB, INSN_MACRO, 0, I1 }, -+{"s.d", "T,A(b)", 0, (int) M_S_DAB, INSN_MACRO, 0, I1 }, -+{"sdc2", "E,o(b)", 0xf8000000, 0xfc000000, SM|RD_C2|RD_b, 0, I2 }, -+{"sdc2", "E,A(b)", 0, (int) M_SDC2_AB, INSN_MACRO, 0, I2 }, -+{"sdc3", "E,o(b)", 0xfc000000, 0xfc000000, SM|RD_C3|RD_b, 0, I2 }, -+{"sdc3", "E,A(b)", 0, (int) M_SDC3_AB, INSN_MACRO, 0, I2 }, -+{"swc2", "E,o(b)", 0xe8000000, 0xfc000000, SM|RD_C2|RD_b, 0, I1 }, -+{"swc2", "E,A(b)", 0, (int) M_SWC2_AB, INSN_MACRO, 0, I1 }, -+ -+ - /* Conflicts with the 4650's "mul" instruction. Nobody's using the - 4010 any more, so move this insn out of the way. If the object - format gave us more info, we could do this right. */ diff --git a/devel/psptoolchain-gdb/files/patch-sim-common-sim-signal.c b/devel/psptoolchain-gdb/files/patch-sim-common-sim-signal.c deleted file mode 100644 index d67bcfdf0951..000000000000 --- a/devel/psptoolchain-gdb/files/patch-sim-common-sim-signal.c +++ /dev/null @@ -1,11 +0,0 @@ ---- ./sim/common/sim-signal.c.orig 2011-03-15 03:16:17.000000000 +0000 -+++ ./sim/common/sim-signal.c 2012-01-25 22:24:29.000000000 +0000 -@@ -27,7 +27,7 @@ - to not think the process has died (so it can be debugged at the point of - failure). */ - --#ifdef _WIN32 -+#if defined(_WIN32) && !defined(__CYGWIN__) - #ifndef SIGTRAP - #define SIGTRAP 5 - #endif diff --git a/devel/psptoolchain-gdb/pkg-descr b/devel/psptoolchain-gdb/pkg-descr deleted file mode 100644 index ebd84fb39295..000000000000 --- a/devel/psptoolchain-gdb/pkg-descr +++ /dev/null @@ -1,4 +0,0 @@ -The PlayStation Portable Toolchain is a collection of tools and utilities -for homebrew PSP development. - -WWW: http://www.ps2dev.org diff --git a/devel/psptoolchain-gdb/pkg-plist b/devel/psptoolchain-gdb/pkg-plist deleted file mode 100644 index 075ce1eeabf1..000000000000 --- a/devel/psptoolchain-gdb/pkg-plist +++ /dev/null @@ -1,22 +0,0 @@ -bin/psp-gdb -bin/psp-gdbtui -bin/psp-run -lib/libpsp-sim.a -share/gdb/python/gdb/__init__.py -share/gdb/python/gdb/command/__init__.py -share/gdb/python/gdb/command/pretty_printers.py -share/gdb/python/gdb/printing.py -share/gdb/python/gdb/types.py -share/gdb/syscalls/amd64-linux.xml -share/gdb/syscalls/gdb-syscalls.dtd -share/gdb/syscalls/i386-linux.xml -share/gdb/syscalls/mips-n32-linux.xml -share/gdb/syscalls/mips-n64-linux.xml -share/gdb/syscalls/mips-o32-linux.xml -share/gdb/syscalls/ppc-linux.xml -share/gdb/syscalls/ppc64-linux.xml -share/gdb/syscalls/sparc-linux.xml -share/gdb/syscalls/sparc64-linux.xml -man/man1/psp-gdb.1.gz -man/man1/psp-gdbtui.1.gz -man/man1/psp-run.1.gz diff --git a/devel/psptoolchain-newlib/Makefile b/devel/psptoolchain-newlib/Makefile deleted file mode 100644 index a88b94c5a52a..000000000000 --- a/devel/psptoolchain-newlib/Makefile +++ /dev/null @@ -1,52 +0,0 @@ -# Created by: Tassilo Philipp <tphilipp@potion-studios.com> - -PORTNAME= newlib -PORTVERSION= 1.20.0 -PORTREVISION= 2 -CATEGORIES= devel -MASTER_SITES= ftp://sources.redhat.com/pub/ \ - SOURCEWARE/${PORTNAME} -PKGNAMEPREFIX= psptoolchain- - -MAINTAINER= ports@FreeBSD.org -COMMENT= PlayStation Portable development toolchain ${PORTNAME} - -DEPRECATED= Security issues for multiple years -EXPIRATION_DATE= 2022-06-30 - -PSP_GCC_STAGE_PREFIX= psp/stage1 -PSP_SDK_STAGE_PREFIX= psp/stage1 - -BUILD_DEPENDS+= ${LOCALBASE}/${PSP_SDK_STAGE_PREFIX}/sdk/include/pspsdk.h:devel/psptoolchain-pspsdk-stage1 \ - psp-ar:devel/psptoolchain-binutils \ - psp-as:devel/psptoolchain-binutils \ - psp-ld:devel/psptoolchain-binutils \ - ${LOCALBASE}/${PSP_GCC_STAGE_PREFIX}/bin/psp-gcc:devel/psptoolchain-gcc-stage1 - -USES= cpe gmake makeinfo -CPE_VENDOR= ${PORTNAME}_project -HAS_CONFIGURE= yes - -# psp-gcc doesn't need -march=... in CFLAGS (e.g. set by CPUTYPE in make.conf); also need -g on psp for some reason -CONFIGURE_ENV= PATH=${LOCALBASE}/${PSP_GCC_STAGE_PREFIX}/bin:${PATH} \ - CFLAGS="${CFLAGS:C/(^|[[:space:]])-march=[^[:space:]]*//g} -g" -MAKE_ENV= PATH=${LOCALBASE}/${PSP_GCC_STAGE_PREFIX}/bin:${PATH} -CONFIGURE_ARGS= --prefix=${PREFIX} --target="psp" -SSP_CFLAGS?= -fstack-protector # XXX -strong isn't supported by GCC < 4.9 -# there is no libssp w/ PSP SDK, disable stack guards as they would be -# unresolved symbols, explicitly disable to be on the safe side -SSP_UNSAFE= yes -CFLAGS+= -fno-stack-protector -LDFLAGS+= -fno-stack-protector - -# Disable installation of .info files and fix includedir reference. -post-patch: - @${REINPLACE_CMD} -E 's/^(install.*:.*)install-info(.*)/\1\2/' ${WRKSRC}/etc/Makefile.in - @${REINPLACE_CMD} -E 's#(-I\$$\{prefix}/)psp(/sdk/include)#-I${LOCALBASE}/${PSP_SDK_STAGE_PREFIX:S,/,\\/,}\2#' ${WRKSRC}/newlib/configure.host - -# Rename installed crt0.o as real crt0.o used by PSP code comes with psptoolchain-pspsdk-stage2 -# and would overwrite the one from this port. -post-install: - @${MV} ${STAGEDIR}${PREFIX}/psp/lib/crt0.o ${STAGEDIR}${PREFIX}/psp/lib/crt0.newlib.o - -.include <bsd.port.mk> diff --git a/devel/psptoolchain-newlib/distinfo b/devel/psptoolchain-newlib/distinfo deleted file mode 100644 index 533c86ff48af..000000000000 --- a/devel/psptoolchain-newlib/distinfo +++ /dev/null @@ -1,2 +0,0 @@ -SHA256 (newlib-1.20.0.tar.gz) = c644b2847244278c57bec2ddda69d8fab5a7c767f3b9af69aa7aa3da823ff692 -SIZE (newlib-1.20.0.tar.gz) = 14571004 diff --git a/devel/psptoolchain-newlib/files/patch-config.sub b/devel/psptoolchain-newlib/files/patch-config.sub deleted file mode 100644 index b5b279759c81..000000000000 --- a/devel/psptoolchain-newlib/files/patch-config.sub +++ /dev/null @@ -1,29 +0,0 @@ ---- ./config.sub.orig 2011-11-02 00:56:53.000000000 +0000 -+++ ./config.sub 2012-01-25 19:33:11.000000000 +0000 -@@ -283,6 +283,7 @@ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ -+ | mipsallegrex | mipsallegrexel \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ -@@ -396,6 +397,7 @@ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ -+ | mipsallegrex-* | mipsallegrexel-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ -@@ -795,6 +797,10 @@ - basic_machine=m68k-atari - os=-mint - ;; -+ psp) -+ basic_machine=mipsallegrexel-psp -+ os=-elf -+ ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; diff --git a/devel/psptoolchain-newlib/files/patch-configure b/devel/psptoolchain-newlib/files/patch-configure deleted file mode 100644 index ca375ea278de..000000000000 --- a/devel/psptoolchain-newlib/files/patch-configure +++ /dev/null @@ -1,12 +0,0 @@ ---- ./configure.orig 2011-12-18 10:20:51.000000000 +0000 -+++ ./configure 2012-01-25 19:33:11.000000000 +0000 -@@ -3598,6 +3598,9 @@ - ;; - mips*-*-linux*) - ;; -+ mipsallegrex*-*-*) -+ noconfigdirs="$noconfigdirs target-libgloss" -+ ;; - mips*-*-*) - noconfigdirs="$noconfigdirs gprof" - ;; diff --git a/devel/psptoolchain-newlib/files/patch-configure.ac b/devel/psptoolchain-newlib/files/patch-configure.ac deleted file mode 100644 index 7e73eb4cf191..000000000000 --- a/devel/psptoolchain-newlib/files/patch-configure.ac +++ /dev/null @@ -1,12 +0,0 @@ ---- ./configure.ac.orig 2011-11-09 18:57:28.000000000 +0000 -+++ ./configure.ac 2012-01-25 19:33:11.000000000 +0000 -@@ -1024,6 +1024,9 @@ - ;; - mips*-*-linux*) - ;; -+ mipsallegrex*-*-*) -+ noconfigdirs="$noconfigdirs target-libgloss" -+ ;; - mips*-*-*) - noconfigdirs="$noconfigdirs gprof" - ;; diff --git a/devel/psptoolchain-newlib/files/patch-newlib-Makefile.am b/devel/psptoolchain-newlib/files/patch-newlib-Makefile.am deleted file mode 100644 index 3aaf4370c305..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-Makefile.am +++ /dev/null @@ -1,21 +0,0 @@ ---- ./newlib/Makefile.am.orig 2011-05-19 06:04:59.000000000 +0000 -+++ ./newlib/Makefile.am 2012-01-25 19:33:12.000000000 +0000 -@@ -283,6 +283,18 @@ - for i in $(srcdir)/libc/include/rpc/*.h; do \ - $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/rpc/`basename $$i`; \ - done; \ -+ $(mkinstalldirs) $(DESTDIR)$(tooldir)/include/netinet; \ -+ for i in $(srcdir)/libc/sys/$(sys_dir)/netinet/*.h; do \ -+ if [ -f $$i ]; then \ -+ $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/netinet/`basename $$i`; \ -+ else true; fi ; \ -+ done ; \ -+ $(mkinstalldirs) $(DESTDIR)$(tooldir)/include/arpa; \ -+ for i in $(srcdir)/libc/sys/$(sys_dir)/arpa/*.h; do \ -+ if [ -f $$i ]; then \ -+ $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/arpa/`basename $$i`; \ -+ else true; fi ; \ -+ done ; \ - $(mkinstalldirs) $(DESTDIR)$(tooldir)/include/sys; \ - for i in $(srcdir)/libc/include/sys/*.h; do \ - $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/sys/`basename $$i`; \ diff --git a/devel/psptoolchain-newlib/files/patch-newlib-Makefile.in b/devel/psptoolchain-newlib/files/patch-newlib-Makefile.in deleted file mode 100644 index cb8048423b32..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-Makefile.in +++ /dev/null @@ -1,21 +0,0 @@ ---- ./newlib/Makefile.in.orig 2011-05-19 06:04:59.000000000 +0000 -+++ ./newlib/Makefile.in 2012-01-25 19:33:12.000000000 +0000 -@@ -990,6 +990,18 @@ - for i in $(srcdir)/libc/include/rpc/*.h; do \ - $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/rpc/`basename $$i`; \ - done; \ -+ $(mkinstalldirs) $(DESTDIR)$(tooldir)/include/netinet; \ -+ for i in $(srcdir)/libc/sys/$(sys_dir)/netinet/*.h; do \ -+ if [ -f $$i ]; then \ -+ $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/netinet/`basename $$i`; \ -+ else true; fi ; \ -+ done ; \ -+ $(mkinstalldirs) $(DESTDIR)$(tooldir)/include/arpa; \ -+ for i in $(srcdir)/libc/sys/$(sys_dir)/arpa/*.h; do \ -+ if [ -f $$i ]; then \ -+ $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/arpa/`basename $$i`; \ -+ else true; fi ; \ -+ done ; \ - $(mkinstalldirs) $(DESTDIR)$(tooldir)/include/sys; \ - for i in $(srcdir)/libc/include/sys/*.h; do \ - $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/sys/`basename $$i`; \ diff --git a/devel/psptoolchain-newlib/files/patch-newlib-configure.host b/devel/psptoolchain-newlib/files/patch-newlib-configure.host deleted file mode 100644 index 322df5894c13..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-configure.host +++ /dev/null @@ -1,24 +0,0 @@ ---- ./newlib/configure.host.orig 2011-11-29 06:33:48.000000000 +0000 -+++ ./newlib/configure.host 2012-01-25 19:33:11.000000000 +0000 -@@ -535,7 +535,7 @@ - default_newlib_io_long_long="yes" - default_newlib_io_c99_formats="yes" - newlib_cflags="${newlib_cflags} -D_COMPILING_NEWLIB" -- newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL -DHAVE_ASSERT_FUNC" -+ newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL -DHAVE_ASSERT_FUNC -DHAVE_RENAME" - # turn off unsupported items in posix directory - newlib_cflags="${newlib_cflags} -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN" - ;; -@@ -665,6 +665,12 @@ - default_newlib_io_long_long="yes" - newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" - ;; -+ mipsallegrex*-psp-*) -+ default_newlib_io_long_long="yes" -+ sys_dir=psp -+ syscall_dir=syscalls -+ newlib_cflags="${newlib_cflags} -G0 -mno-explicit-relocs -DCOMPACT_CTYPE -DCLOCK_PROVIDED -DHAVE_FCNTL -DHAVE_RENAME -DMALLOC_ALIGNMENT=16 -I${prefix}/psp/sdk/include" -+ ;; - mips*-*-elf*) - default_newlib_io_long_long="yes" - newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-include-machine-time.h b/devel/psptoolchain-newlib/files/patch-newlib-libc-include-machine-time.h deleted file mode 100644 index 8d22b967208e..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-include-machine-time.h +++ /dev/null @@ -1,13 +0,0 @@ ---- ./newlib/libc/include/machine/time.h.orig 2009-04-06 22:04:33.000000000 +0000 -+++ ./newlib/libc/include/machine/time.h 2012-01-25 19:33:11.000000000 +0000 -@@ -9,6 +9,10 @@ - #endif - #endif /* !__rtems__ */ - -+#if defined(__psp__) -+#define _CLOCKS_PER_SEC_ 1000000 -+#endif -+ - #ifdef __SPU__ - #include <sys/types.h> - int nanosleep (const struct timespec *, struct timespec *); diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-include-stdint.h b/devel/psptoolchain-newlib/files/patch-newlib-libc-include-stdint.h deleted file mode 100644 index 6657cc183e39..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-include-stdint.h +++ /dev/null @@ -1,15 +0,0 @@ ---- ./newlib/libc/include/stdint.h.orig 2009-04-24 21:55:07.000000000 +0000 -+++ ./newlib/libc/include/stdint.h 2012-01-25 19:33:12.000000000 +0000 -@@ -30,11 +30,9 @@ - #define __have_longlong64 1 - #endif - --/* Check if "long" is 64bit or 32bit wide */ -+/* Check if "long" is 64bit */ - #if __STDINT_EXP(LONG_MAX) > 0x7fffffff - #define __have_long64 1 --#elif __STDINT_EXP(LONG_MAX) == 0x7fffffff && !defined(__SPU__) --#define __have_long32 1 - #endif - - #if __STDINT_EXP(SCHAR_MAX) == 0x7f diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-include-sys-config.h b/devel/psptoolchain-newlib/files/patch-newlib-libc-include-sys-config.h deleted file mode 100644 index cf09b8a17d20..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-include-sys-config.h +++ /dev/null @@ -1,15 +0,0 @@ ---- ./newlib/libc/include/sys/config.h.orig 2010-12-02 19:30:46.000000000 +0000 -+++ ./newlib/libc/include/sys/config.h 2012-01-25 19:33:12.000000000 +0000 -@@ -130,6 +130,12 @@ - #define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__section__(".sdata"))) - #endif - -+/* We compile newlib with -G0 for PSP, but if we're compiling an app with $gp enabled, -+ then _impure_ptr is expected to live in .sdata. */ -+#if defined(__psp__) -+#define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__section__(".sdata"))) -+#endif -+ - #ifdef __xstormy16__ - #define __SMALL_BITFIELDS - #undef INT_MAX diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-include-sys-types.h b/devel/psptoolchain-newlib/files/patch-newlib-libc-include-sys-types.h deleted file mode 100644 index 2763d8fc082c..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-include-sys-types.h +++ /dev/null @@ -1,18 +0,0 @@ ---- ./newlib/libc/include/sys/types.h.orig 2011-08-01 17:22:18.000000000 +0000 -+++ ./newlib/libc/include/sys/types.h 2012-01-25 19:33:12.000000000 +0000 -@@ -200,6 +200,7 @@ - - typedef unsigned short nlink_t; - -+#if !defined(__psp__) - /* We don't define fd_set and friends if we are compiling POSIX - source, or if we have included (or may include as indicated - by __USE_W32_SOCKETS) the W32api winsock[2].h header which -@@ -245,6 +246,7 @@ - })) - - # endif /* !(defined (_POSIX_SOURCE) || defined (_WINSOCK_H) || defined (__USE_W32_SOCKETS)) */ -+#endif /* !defined(__psp__) */ - - #undef __MS_types__ - #undef _ST_INT32 diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-include-sys-unistd.h b/devel/psptoolchain-newlib/files/patch-newlib-libc-include-sys-unistd.h deleted file mode 100644 index adbfc6215178..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-include-sys-unistd.h +++ /dev/null @@ -1,18 +0,0 @@ ---- ./newlib/libc/include/sys/unistd.h.orig 2011-08-19 14:29:34.000000000 +0000 -+++ ./newlib/libc/include/sys/unistd.h 2012-01-25 19:33:12.000000000 +0000 -@@ -241,6 +241,7 @@ - void _EXFUN(sync, (void)); - #endif - -+#if !defined(__psp__) - ssize_t _EXFUN(readlink, (const char *__path, char *__buf, size_t __buflen)); - #if defined(__CYGWIN__) - ssize_t _EXFUN(readlinkat, (int __dirfd1, const char *__path, char *__buf, size_t __buflen)); -@@ -250,6 +251,7 @@ - int _EXFUN(symlinkat, (const char *, int, const char *)); - int _EXFUN(unlinkat, (int, const char *, int)); - #endif -+#endif - - #define F_OK 0 - #define R_OK 4 diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-configure b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-configure deleted file mode 100644 index d214fd2b0541..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-configure +++ /dev/null @@ -1,19 +0,0 @@ ---- ./newlib/libc/sys/configure.orig 2011-12-19 22:03:37.000000000 +0000 -+++ ./newlib/libc/sys/configure 2012-01-25 19:33:12.000000000 +0000 -@@ -796,6 +796,7 @@ - mmixware - netware - rdos -+psp - rtems - sh - sparc64 -@@ -11808,6 +11809,8 @@ - ;; - rdos) subdirs="$subdirs rdos" - ;; -+ psp) subdirs="$subdirs psp" -+ ;; - rtems) subdirs="$subdirs rtems" - ;; - sh) subdirs="$subdirs sh" diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-configure.in b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-configure.in deleted file mode 100644 index 1e4e8fd498d9..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-configure.in +++ /dev/null @@ -1,10 +0,0 @@ ---- ./newlib/libc/sys/configure.in.orig 2010-02-24 20:59:55.000000000 +0000 -+++ ./newlib/libc/sys/configure.in 2012-01-25 19:33:12.000000000 +0000 -@@ -34,6 +34,7 @@ - mmixware) AC_CONFIG_SUBDIRS(mmixware) ;; - netware) AC_CONFIG_SUBDIRS(netware) ;; - rdos) AC_CONFIG_SUBDIRS(rdos) ;; -+ psp) AC_CONFIG_SUBDIRS(psp) ;; - rtems) AC_CONFIG_SUBDIRS(rtems) ;; - sh) AC_CONFIG_SUBDIRS(sh) ;; - sparc64) AC_CONFIG_SUBDIRS(sparc64) ;; diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-Makefile.am b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-Makefile.am deleted file mode 100644 index 5e89501dcdd7..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-Makefile.am +++ /dev/null @@ -1,74 +0,0 @@ ---- ./newlib/libc/sys/psp/Makefile.am.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/Makefile.am 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,71 @@ -+## Process this file with automake to generate Makefile.in -+ -+AUTOMAKE_OPTIONS = cygnus -+ -+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) -+ -+AM_CCASFLAGS = $(INCLUDES) $(CFLAGS) -+ -+noinst_LIBRARIES = lib.a -+ -+LIBCGLUE_MULT_OBJS = _close.o _exit.o _fork.o _fstat.o _getpid.o \ -+ _gettimeofday.o _kill.o _lseek.o _open.o _read.o \ -+ _sbrk.o _wait.o _write.o clock.o isatty.o _isatty.o \ -+ time.o_link.o _unlink.o sleep.o opendir.o readdir.o \ -+ closedir.o getcwd.o chdir.o mkdir.o rmdir.o \ -+ realpath.o _stat.o truncate.o access.o tzset.o \ -+ __psp_set_errno.o mlock.o _fcntl.o _rename.o nanosleep.o -+ -+SOCKET_MULT_OBJS = socket.o accept.o bind.o connect.o getsockopt.o \ -+ listen.o recv.o recvfrom.o send.o sendto.o \ -+ setsockopt.o shutdown.o getsockname.o getpeername.o \ -+ inet_ntoa.o -+ -+PE_OBJS = pipe.o -+ -+FDMAN_OBJS = fdman.o -+ -+SELECT_OBJS = select.o -+ -+INTERRUPT_OBJS = interrupt.o -+ -+XPRINTF_MULT_OBJS = vxprintf.o _xprintf.o __sout.o vsnprintf.o snprintf.o \ -+ vsprintf.o sprintf.o __mout.o mprintf.o vmprintf.o asprintf.o \ -+ vasprintf.o __fout.o fprintf.o vfprintf.o printf.o vprintf.o \ -+ _sprintf_r.o -+ -+NETDB_MULT_OBJS = h_errno.o gethostbyaddr.o gethostbyname.o -+ -+ -+lib_a_SOURCES = libcglue.c socket.c pspcwd.c xprintf.c netdb.c pipe.c fdman.c select.c syscalls.c interrupt.S -+lib_a_LIBADD = $(LIBCGLUE_MULT_OBJS) $(SOCKET_MULT_OBJS) $(XPRINTF_MULT_OBJS) \ -+ $(NETDB_MULT_OBJS) $(PIPE_OBJS) $(FDMAN_OBJS) $(SELECT_OBJS) $(INTERRUPT_OBJS) -+ -+all: crt0.o -+ -+$(LIBCGLUE_MULT_OBJS): libcglue.c -+ $(COMPILE) -DF_$* $< -c -o $@ -+ -+$(SOCKET_MULT_OBJS): socket.c -+ $(COMPILE) -DF_$* $< -c -o $@ -+ -+$(XPRINTF_MULT_OBJS): xprintf.c -+ $(COMPILE) -DF_$* $< -c -o $@ -+ -+$(NETDB_MULT_OBJS): netdb.c -+ $(COMPILE) -DF_$* $< -c -o $@ -+ -+$(PIPE_OBJS): pipe.c -+ $(COMPILE) -DF_$* $< -c -o $@ -+ -+$(FDMAN_OBJS): fdman.c -+ $(COMPILE) -DF_$* $< -c -o $@ -+ -+$(SELECT_OBJS): select.c -+ $(COMPILE) -DF_$* $< -c -o $@ -+ -+$(INTERRUPT_OBJS): interrupt.S -+ $(COMPILE) -DF_$* $< -c -o $@ -+ -+ACLOCAL_AMFLAGS = -I ../../.. -+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-Makefile.in b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-Makefile.in deleted file mode 100644 index c06d59155ef3..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-Makefile.in +++ /dev/null @@ -1,471 +0,0 @@ ---- ./newlib/libc/sys/psp/Makefile.in.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/Makefile.in 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,468 @@ -+# Makefile.in generated by automake 1.11.1 from Makefile.am. -+# @configure_input@ -+ -+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -+# Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+VPATH = @srcdir@ -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkglibexecdir = $(libexecdir)/@PACKAGE@ -+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -+install_sh_DATA = $(install_sh) -c -m 644 -+install_sh_PROGRAM = $(install_sh) -c -+install_sh_SCRIPT = $(install_sh) -c -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = $(program_transform_name) -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+build_triplet = @build@ -+host_triplet = @host@ -+subdir = . -+DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ -+ $(top_srcdir)/configure $(am__configure_deps) \ -+ $(srcdir)/../../../../mkinstalldirs -+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -+am__aclocal_m4_deps = $(top_srcdir)/../../../acinclude.m4 \ -+ $(top_srcdir)/configure.in -+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ -+ $(ACLOCAL_M4) -+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ -+ configure.lineno config.status.lineno -+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs -+CONFIG_CLEAN_FILES = -+CONFIG_CLEAN_VPATH_FILES = -+LIBRARIES = $(noinst_LIBRARIES) -+ARFLAGS = cru -+lib_a_AR = $(AR) $(ARFLAGS) -+lib_a_DEPENDENCIES = $(LIBCGLUE_MULT_OBJS) $(SOCKET_MULT_OBJS) \ -+ $(XPRINTF_MULT_OBJS) $(NETDB_MULT_OBJS) $(FDMAN_OBJS) \ -+ $(SELECT_OBJS) $(INTERRUPT_OBJS) -+am_lib_a_OBJECTS = libcglue.$(OBJEXT) socket.$(OBJEXT) \ -+ pspcwd.$(OBJEXT) xprintf.$(OBJEXT) netdb.$(OBJEXT) \ -+ pipe.$(OBJEXT) fdman.$(OBJEXT) select.$(OBJEXT) \ -+ syscalls.$(OBJEXT) interrupt.$(OBJEXT) -+lib_a_OBJECTS = $(am_lib_a_OBJECTS) -+DEFAULT_INCLUDES = -I.@am__isrc@ -+depcomp = -+am__depfiles_maybe = -+CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+CCLD = $(CC) -+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -+SOURCES = $(lib_a_SOURCES) -+ETAGS = etags -+CTAGS = ctags -+ACLOCAL = @ACLOCAL@ -+AMTAR = @AMTAR@ -+AR = @AR@ -+AS = @AS@ -+AUTOCONF = @AUTOCONF@ -+AUTOHEADER = @AUTOHEADER@ -+AUTOMAKE = @AUTOMAKE@ -+AWK = @AWK@ -+CC = @CC@ -+CCAS = @CCAS@ -+CCASFLAGS = @CCASFLAGS@ -+CCDEPMODE = @CCDEPMODE@ -+CYGPATH_W = @CYGPATH_W@ -+DEFS = @DEFS@ -+DEPDIR = @DEPDIR@ -+ECHO_C = @ECHO_C@ -+ECHO_N = @ECHO_N@ -+ECHO_T = @ECHO_T@ -+INSTALL = @INSTALL@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+LDFLAGS = @LDFLAGS@ -+LIBOBJS = @LIBOBJS@ -+LIBS = @LIBS@ -+LTLIBOBJS = @LTLIBOBJS@ -+MAINT = @MAINT@ -+MAKEINFO = @MAKEINFO@ -+MKDIR_P = @MKDIR_P@ -+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@ -+NO_INCLUDE_LIST = @NO_INCLUDE_LIST@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -+PACKAGE_NAME = @PACKAGE_NAME@ -+PACKAGE_STRING = @PACKAGE_STRING@ -+PACKAGE_TARNAME = @PACKAGE_TARNAME@ -+PACKAGE_URL = @PACKAGE_URL@ -+PACKAGE_VERSION = @PACKAGE_VERSION@ -+PATH_SEPARATOR = @PATH_SEPARATOR@ -+RANLIB = @RANLIB@ -+READELF = @READELF@ -+SET_MAKE = @SET_MAKE@ -+SHELL = @SHELL@ -+STRIP = @STRIP@ -+VERSION = @VERSION@ -+abs_builddir = @abs_builddir@ -+abs_srcdir = @abs_srcdir@ -+abs_top_builddir = @abs_top_builddir@ -+abs_top_srcdir = @abs_top_srcdir@ -+aext = @aext@ -+am__include = @am__include@ -+am__leading_dot = @am__leading_dot@ -+am__quote = @am__quote@ -+am__tar = @am__tar@ -+am__untar = @am__untar@ -+bindir = @bindir@ -+build = @build@ -+build_alias = @build_alias@ -+build_cpu = @build_cpu@ -+build_os = @build_os@ -+build_vendor = @build_vendor@ -+builddir = @builddir@ -+datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ -+exec_prefix = @exec_prefix@ -+host = @host@ -+host_alias = @host_alias@ -+host_cpu = @host_cpu@ -+host_os = @host_os@ -+host_vendor = @host_vendor@ -+htmldir = @htmldir@ -+includedir = @includedir@ -+infodir = @infodir@ -+install_sh = @install_sh@ -+libdir = @libdir@ -+libexecdir = @libexecdir@ -+libm_machine_dir = @libm_machine_dir@ -+localedir = @localedir@ -+localstatedir = @localstatedir@ -+lpfx = @lpfx@ -+machine_dir = @machine_dir@ -+mandir = @mandir@ -+mkdir_p = @mkdir_p@ -+newlib_basedir = @newlib_basedir@ -+oext = @oext@ -+oldincludedir = @oldincludedir@ -+pdfdir = @pdfdir@ -+prefix = @prefix@ -+program_transform_name = @program_transform_name@ -+psdir = @psdir@ -+sbindir = @sbindir@ -+sharedstatedir = @sharedstatedir@ -+srcdir = @srcdir@ -+sys_dir = @sys_dir@ -+sysconfdir = @sysconfdir@ -+target_alias = @target_alias@ -+top_build_prefix = @top_build_prefix@ -+top_builddir = @top_builddir@ -+top_srcdir = @top_srcdir@ -+AUTOMAKE_OPTIONS = cygnus -+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) -+AM_CCASFLAGS = $(INCLUDES) $(CFLAGS) -+noinst_LIBRARIES = lib.a -+LIBCGLUE_MULT_OBJS = _close.o _exit.o _fork.o _fstat.o _getpid.o \ -+ _gettimeofday.o _kill.o _lseek.o _open.o _read.o \ -+ _sbrk.o _wait.o _write.o clock.o isatty.o _isatty.o \ -+ time.o_link.o _unlink.o sleep.o opendir.o readdir.o \ -+ closedir.o getcwd.o chdir.o mkdir.o rmdir.o \ -+ realpath.o _stat.o truncate.o access.o tzset.o \ -+ __psp_set_errno.o mlock.o _fcntl.o _rename.o nanosleep.o -+ -+SOCKET_MULT_OBJS = socket.o accept.o bind.o connect.o getsockopt.o \ -+ listen.o recv.o recvfrom.o send.o sendto.o \ -+ setsockopt.o shutdown.o getsockname.o getpeername.o \ -+ inet_ntoa.o -+ -+PE_OBJS = pipe.o -+FDMAN_OBJS = fdman.o -+SELECT_OBJS = select.o -+INTERRUPT_OBJS = interrupt.o -+XPRINTF_MULT_OBJS = vxprintf.o _xprintf.o __sout.o vsnprintf.o snprintf.o \ -+ vsprintf.o sprintf.o __mout.o mprintf.o vmprintf.o asprintf.o \ -+ vasprintf.o __fout.o fprintf.o vfprintf.o printf.o vprintf.o \ -+ _sprintf_r.o -+ -+NETDB_MULT_OBJS = h_errno.o gethostbyaddr.o gethostbyname.o -+lib_a_SOURCES = libcglue.c socket.c pspcwd.c xprintf.c netdb.c pipe.c fdman.c select.c syscalls.c interrupt.S -+lib_a_LIBADD = $(LIBCGLUE_MULT_OBJS) $(SOCKET_MULT_OBJS) $(XPRINTF_MULT_OBJS) \ -+ $(NETDB_MULT_OBJS) $(PIPE_OBJS) $(FDMAN_OBJS) $(SELECT_OBJS) $(INTERRUPT_OBJS) -+ -+ACLOCAL_AMFLAGS = -I ../../.. -+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .S .c .o .obj -+am--refresh: -+ @: -+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) -+ @for dep in $?; do \ -+ case '$(am__configure_deps)' in \ -+ *$$dep*) \ -+ echo ' cd $(srcdir) && $(AUTOMAKE) --cygnus'; \ -+ $(am__cd) $(srcdir) && $(AUTOMAKE) --cygnus \ -+ && exit 0; \ -+ exit 1;; \ -+ esac; \ -+ done; \ -+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile'; \ -+ $(am__cd) $(top_srcdir) && \ -+ $(AUTOMAKE) --cygnus Makefile -+.PRECIOUS: Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ @case '$?' in \ -+ *config.status*) \ -+ echo ' $(SHELL) ./config.status'; \ -+ $(SHELL) ./config.status;; \ -+ *) \ -+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ -+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ -+ esac; -+ -+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) -+ $(SHELL) ./config.status --recheck -+ -+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) -+ $(am__cd) $(srcdir) && $(AUTOCONF) -+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) -+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -+$(am__aclocal_m4_deps): -+ -+clean-noinstLIBRARIES: -+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES) -+ -rm -f lib.a -+ $(lib_a_AR) lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD) -+ $(RANLIB) lib.a -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+.S.o: -+ $(CPPASCOMPILE) -c -o $@ $< -+ -+.S.obj: -+ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` -+ -+.c.o: -+ $(COMPILE) -c $< -+ -+.c.obj: -+ $(COMPILE) -c `$(CYGPATH_W) '$<'` -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ -+ END { if (nonempty) { for (i in files) print i; }; }'`; \ -+ mkid -fID $$unique -+tags: TAGS -+ -+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ set x; \ -+ here=`pwd`; \ -+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ -+ END { if (nonempty) { for (i in files) print i; }; }'`; \ -+ shift; \ -+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ -+ test -n "$$unique" || unique=$$empty_fix; \ -+ if test $$# -gt 0; then \ -+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ -+ "$$@" $$unique; \ -+ else \ -+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ -+ $$unique; \ -+ fi; \ -+ fi -+ctags: CTAGS -+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ -+ END { if (nonempty) { for (i in files) print i; }; }'`; \ -+ test -z "$(CTAGS_ARGS)$$unique" \ -+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ -+ $$unique -+ -+GTAGS: -+ here=`$(am__cd) $(top_builddir) && pwd` \ -+ && $(am__cd) $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) "$$here" -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -+check-am: -+check: check-am -+all-am: Makefile $(LIBRARIES) -+installdirs: -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -+distclean-generic: -+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+clean: clean-am -+ -+clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am -+ -+distclean: distclean-am -+ -rm -f $(am__CONFIG_DISTCLEAN_FILES) -+ -rm -f Makefile -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+html: html-am -+ -+html-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: -+ -+install-dvi: install-dvi-am -+ -+install-dvi-am: -+ -+install-exec-am: -+ -+install-html: install-html-am -+ -+install-html-am: -+ -+install-info: install-info-am -+ -+install-info-am: -+ -+install-man: -+ -+install-pdf: install-pdf-am -+ -+install-pdf-am: -+ -+install-ps: install-ps-am -+ -+install-ps-am: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -rm -f $(am__CONFIG_DISTCLEAN_FILES) -+ -rm -rf $(top_srcdir)/autom4te.cache -+ -rm -f Makefile -+maintainer-clean-am: distclean-am maintainer-clean-generic -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-compile mostlyclean-generic -+ -+pdf: pdf-am -+ -+pdf-am: -+ -+ps: ps-am -+ -+ps-am: -+ -+uninstall-am: -+ -+.MAKE: install-am install-strip -+ -+.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ -+ clean-generic clean-noinstLIBRARIES ctags distclean \ -+ distclean-compile distclean-generic distclean-tags dvi dvi-am \ -+ html html-am info info-am install install-am install-data \ -+ install-data-am install-dvi install-dvi-am install-exec \ -+ install-exec-am install-html install-html-am install-info \ -+ install-info-am install-man install-pdf install-pdf-am \ -+ install-ps install-ps-am install-strip installcheck \ -+ installcheck-am installdirs maintainer-clean \ -+ maintainer-clean-generic mostlyclean mostlyclean-compile \ -+ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ -+ uninstall-am -+ -+ -+all: crt0.o -+ -+$(LIBCGLUE_MULT_OBJS): libcglue.c -+ $(COMPILE) -DF_$* $< -c -o $@ -+ -+$(SOCKET_MULT_OBJS): socket.c -+ $(COMPILE) -DF_$* $< -c -o $@ -+ -+$(XPRINTF_MULT_OBJS): xprintf.c -+ $(COMPILE) -DF_$* $< -c -o $@ -+ -+$(NETDB_MULT_OBJS): netdb.c -+ $(COMPILE) -DF_$* $< -c -o $@ -+ -+$(PIPE_OBJS): pipe.c -+ $(COMPILE) -DF_$* $< -c -o $@ -+ -+$(FDMAN_OBJS): fdman.c -+ $(COMPILE) -DF_$* $< -c -o $@ -+ -+$(SELECT_OBJS): select.c -+ $(COMPILE) -DF_$* $< -c -o $@ -+ -+$(INTERRUPT_OBJS): interrupt.S -+ $(COMPILE) -DF_$* $< -c -o $@ -+ -+# 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: diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-README b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-README deleted file mode 100644 index f398fdee4c22..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-README +++ /dev/null @@ -1,18 +0,0 @@ ---- ./newlib/libc/sys/psp/README.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/README 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,15 @@ -+Newlib for PSP -+-- -+ -+This sys/psp directory depends on PSPSDK headers. It expects them to live in -+${prefix}/psp/sdk/include (see newlib/configure.host). -+ -+I used the autotools to generate aclocal.m4, Makefile.in and configure using: -+ -+ aclocal -I ../../.. -+ automake --cygnus -+ autoconf -+ -+-- -+Originally by Marcus R. Brown <mrbrown@ocgnet.org> -+Updated by artart78 <arthur.blot78@gmail.com> diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-aclocal.m4 b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-aclocal.m4 deleted file mode 100644 index 38217110a6be..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-aclocal.m4 +++ /dev/null @@ -1,995 +0,0 @@ ---- ./newlib/libc/sys/psp/aclocal.m4.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/aclocal.m4 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,992 @@ -+# generated automatically by aclocal 1.11.1 -*- Autoconf -*- -+ -+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -+# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+m4_ifndef([AC_AUTOCONF_VERSION], -+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],, -+[m4_warning([this file was generated for autoconf 2.68. -+You have another version of autoconf. It may work, but is not guaranteed to. -+If you have problems, you may need to regenerate the build system entirely. -+To do so, use the procedure documented by the package, typically `autoreconf'.])]) -+ -+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# AM_AUTOMAKE_VERSION(VERSION) -+# ---------------------------- -+# Automake X.Y traces this macro to ensure aclocal.m4 has been -+# generated from the m4 files accompanying Automake X.Y. -+# (This private macro should not be called outside this file.) -+AC_DEFUN([AM_AUTOMAKE_VERSION], -+[am__api_version='1.11' -+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -+dnl require some minimum version. Point them to the right macro. -+m4_if([$1], [1.11.1], [], -+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -+]) -+ -+# _AM_AUTOCONF_VERSION(VERSION) -+# ----------------------------- -+# aclocal traces this macro to find the Autoconf version. -+# This is a private macro too. Using m4_define simplifies -+# the logic in aclocal, which can simply ignore this definition. -+m4_define([_AM_AUTOCONF_VERSION], []) -+ -+# AM_SET_CURRENT_AUTOMAKE_VERSION -+# ------------------------------- -+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -+[AM_AUTOMAKE_VERSION([1.11.1])dnl -+m4_ifndef([AC_AUTOCONF_VERSION], -+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) -+ -+# AM_AUX_DIR_EXPAND -*- Autoconf -*- -+ -+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -+# `$srcdir', `$srcdir/..', or `$srcdir/../..'. -+# -+# Of course, Automake must honor this variable whenever it calls a -+# tool from the auxiliary directory. The problem is that $srcdir (and -+# therefore $ac_aux_dir as well) can be either absolute or relative, -+# depending on how configure is run. This is pretty annoying, since -+# it makes $ac_aux_dir quite unusable in subdirectories: in the top -+# source directory, any form will work fine, but in subdirectories a -+# relative path needs to be adjusted first. -+# -+# $ac_aux_dir/missing -+# fails when called from a subdirectory if $ac_aux_dir is relative -+# $top_srcdir/$ac_aux_dir/missing -+# fails if $ac_aux_dir is absolute, -+# fails when called from a subdirectory in a VPATH build with -+# a relative $ac_aux_dir -+# -+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -+# are both prefixed by $srcdir. In an in-source build this is usually -+# harmless because $srcdir is `.', but things will broke when you -+# start a VPATH build or use an absolute $srcdir. -+# -+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -+# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -+# and then we would define $MISSING as -+# MISSING="\${SHELL} $am_aux_dir/missing" -+# This will work as long as MISSING is not called from configure, because -+# unfortunately $(top_srcdir) has no meaning in configure. -+# However there are other variables, like CC, which are often used in -+# configure, and could therefore not use this "fixed" $ac_aux_dir. -+# -+# Another solution, used here, is to always expand $ac_aux_dir to an -+# absolute PATH. The drawback is that using absolute paths prevent a -+# configured tree to be moved without reconfiguration. -+ -+AC_DEFUN([AM_AUX_DIR_EXPAND], -+[dnl Rely on autoconf to set up CDPATH properly. -+AC_PREREQ([2.50])dnl -+# expand $ac_aux_dir to an absolute path -+am_aux_dir=`cd $ac_aux_dir && pwd` -+]) -+ -+# AM_CONDITIONAL -*- Autoconf -*- -+ -+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 9 -+ -+# AM_CONDITIONAL(NAME, SHELL-CONDITION) -+# ------------------------------------- -+# Define a conditional. -+AC_DEFUN([AM_CONDITIONAL], -+[AC_PREREQ(2.52)dnl -+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], -+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -+AC_SUBST([$1_TRUE])dnl -+AC_SUBST([$1_FALSE])dnl -+_AM_SUBST_NOTMAKE([$1_TRUE])dnl -+_AM_SUBST_NOTMAKE([$1_FALSE])dnl -+m4_define([_AM_COND_VALUE_$1], [$2])dnl -+if $2; then -+ $1_TRUE= -+ $1_FALSE='#' -+else -+ $1_TRUE='#' -+ $1_FALSE= -+fi -+AC_CONFIG_COMMANDS_PRE( -+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then -+ AC_MSG_ERROR([[conditional "$1" was never defined. -+Usually this means the macro was only invoked conditionally.]]) -+fi])]) -+ -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 10 -+ -+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -+# written in clear, in which case automake, when reading aclocal.m4, -+# will think it sees a *use*, and therefore will trigger all it's -+# C support machinery. Also note that it means that autoscan, seeing -+# CC etc. in the Makefile, will ask for an AC_PROG_CC use... -+ -+ -+# _AM_DEPENDENCIES(NAME) -+# ---------------------- -+# See how the compiler implements dependency checking. -+# NAME is "CC", "CXX", "GCJ", or "OBJC". -+# We try a few techniques and use that to set a single cache variable. -+# -+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -+# dependency, and given that the user is not expected to run this macro, -+# just rely on AC_PROG_CC. -+AC_DEFUN([_AM_DEPENDENCIES], -+[AC_REQUIRE([AM_SET_DEPDIR])dnl -+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -+AC_REQUIRE([AM_MAKE_INCLUDE])dnl -+AC_REQUIRE([AM_DEP_TRACK])dnl -+ -+ifelse([$1], CC, [depcc="$CC" am_compiler_list=], -+ [$1], CXX, [depcc="$CXX" am_compiler_list=], -+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], -+ [$1], UPC, [depcc="$UPC" am_compiler_list=], -+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], -+ [depcc="$$1" am_compiler_list=]) -+ -+AC_CACHE_CHECK([dependency style of $depcc], -+ [am_cv_$1_dependencies_compiler_type], -+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+ # We make a subdir and do the tests there. Otherwise we can end up -+ # making bogus files that we don't know about and never remove. For -+ # instance it was reported that on HP-UX the gcc test will end up -+ # making a dummy file named `D' -- because `-MD' means `put the output -+ # in D'. -+ mkdir conftest.dir -+ # Copy depcomp to subdir because otherwise we won't find it if we're -+ # using a relative directory. -+ cp "$am_depcomp" conftest.dir -+ cd conftest.dir -+ # We will build objects and dependencies in a subdirectory because -+ # it helps to detect inapplicable dependency modes. For instance -+ # both Tru64's cc and ICC support -MD to output dependencies as a -+ # side effect of compilation, but ICC will put the dependencies in -+ # the current directory while Tru64 will put them in the object -+ # directory. -+ mkdir sub -+ -+ am_cv_$1_dependencies_compiler_type=none -+ if test "$am_compiler_list" = ""; then -+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` -+ fi -+ am__universal=false -+ m4_case([$1], [CC], -+ [case " $depcc " in #( -+ *\ -arch\ *\ -arch\ *) am__universal=true ;; -+ esac], -+ [CXX], -+ [case " $depcc " in #( -+ *\ -arch\ *\ -arch\ *) am__universal=true ;; -+ esac]) -+ -+ for depmode in $am_compiler_list; do -+ # Setup a source with many dependencies, because some compilers -+ # like to wrap large dependency lists on column 80 (with \), and -+ # we should not choose a depcomp mode which is confused by this. -+ # -+ # We need to recreate these files for each test, as the compiler may -+ # overwrite some of them when testing with obscure command lines. -+ # This happens at least with the AIX C compiler. -+ : > sub/conftest.c -+ for i in 1 2 3 4 5 6; do -+ echo '#include "conftst'$i'.h"' >> sub/conftest.c -+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -+ # Solaris 8's {/usr,}/bin/sh. -+ touch sub/conftst$i.h -+ done -+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf -+ -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. Also, some Intel -+ # versions had trouble with output in subdirs -+ am__obj=sub/conftest.${OBJEXT-o} -+ am__minus_obj="-o $am__obj" -+ case $depmode in -+ gcc) -+ # This depmode causes a compiler race in universal mode. -+ test "$am__universal" = false || continue -+ ;; -+ nosideeffect) -+ # after this tag, mechanisms are not by side-effect, so they'll -+ # only be used when explicitly requested -+ if test "x$enable_dependency_tracking" = xyes; then -+ continue -+ else -+ break -+ fi -+ ;; -+ msvisualcpp | msvcmsys) -+ # This compiler won't grok `-c -o', but also, the minuso test has -+ # not run yet. These depmodes are late enough in the game, and -+ # so weak that their functioning should not be impacted. -+ am__obj=conftest.${OBJEXT-o} -+ am__minus_obj= -+ ;; -+ none) break ;; -+ esac -+ if depmode=$depmode \ -+ source=sub/conftest.c object=$am__obj \ -+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ -+ >/dev/null 2>conftest.err && -+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && -+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 && -+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+ # icc doesn't choke on unknown options, it will just issue warnings -+ # or remarks (even with -Werror). So we grep stderr for any message -+ # that says an option was ignored or not supported. -+ # When given -MP, icc 7.0 and 7.1 complain thusly: -+ # icc: Command line warning: ignoring option '-M'; no argument required -+ # The diagnosis changed in icc 8.0: -+ # icc: Command line remark: option '-MP' not supported -+ if (grep 'ignoring option' conftest.err || -+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -+ am_cv_$1_dependencies_compiler_type=$depmode -+ break -+ fi -+ fi -+ done -+ -+ cd .. -+ rm -rf conftest.dir -+else -+ am_cv_$1_dependencies_compiler_type=none -+fi -+]) -+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -+AM_CONDITIONAL([am__fastdep$1], [ -+ test "x$enable_dependency_tracking" != xno \ -+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -+]) -+ -+ -+# AM_SET_DEPDIR -+# ------------- -+# Choose a directory name for dependency files. -+# This macro is AC_REQUIREd in _AM_DEPENDENCIES -+AC_DEFUN([AM_SET_DEPDIR], -+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -+]) -+ -+ -+# AM_DEP_TRACK -+# ------------ -+AC_DEFUN([AM_DEP_TRACK], -+[AC_ARG_ENABLE(dependency-tracking, -+[ --disable-dependency-tracking speeds up one-time build -+ --enable-dependency-tracking do not reject slow dependency extractors]) -+if test "x$enable_dependency_tracking" != xno; then -+ am_depcomp="$ac_aux_dir/depcomp" -+ AMDEPBACKSLASH='\' -+fi -+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -+AC_SUBST([AMDEPBACKSLASH])dnl -+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -+]) -+ -+# Generate code to set up dependency tracking. -*- Autoconf -*- -+ -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+#serial 5 -+ -+# _AM_OUTPUT_DEPENDENCY_COMMANDS -+# ------------------------------ -+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -+[{ -+ # Autoconf 2.62 quotes --file arguments for eval, but not when files -+ # are listed without --file. Let's play safe and only enable the eval -+ # if we detect the quoting. -+ case $CONFIG_FILES in -+ *\'*) eval set x "$CONFIG_FILES" ;; -+ *) set x $CONFIG_FILES ;; -+ esac -+ shift -+ for mf -+ do -+ # Strip MF so we end up with the name of the file. -+ mf=`echo "$mf" | sed -e 's/:.*$//'` -+ # Check whether this is an Automake generated Makefile or not. -+ # We used to match only the files named `Makefile.in', but -+ # some people rename them; so instead we look at the file content. -+ # Grep'ing the first line is not enough: some people post-process -+ # each Makefile.in and add a new line on top of each file to say so. -+ # Grep'ing the whole file is not good either: AIX grep has a line -+ # limit of 2048, but all sed's we know have understand at least 4000. -+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then -+ dirpart=`AS_DIRNAME("$mf")` -+ else -+ continue -+ fi -+ # Extract the definition of DEPDIR, am__include, and am__quote -+ # from the Makefile without running `make'. -+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -+ test -z "$DEPDIR" && continue -+ am__include=`sed -n 's/^am__include = //p' < "$mf"` -+ test -z "am__include" && continue -+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` -+ # When using ansi2knr, U may be empty or an underscore; expand it -+ U=`sed -n 's/^U = //p' < "$mf"` -+ # Find all dependency output files, they are included files with -+ # $(DEPDIR) in their names. We invoke sed twice because it is the -+ # simplest approach to changing $(DEPDIR) to its actual value in the -+ # expansion. -+ for file in `sed -n " -+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ -+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+ # Make sure the directory exists. -+ test -f "$dirpart/$file" && continue -+ fdir=`AS_DIRNAME(["$file"])` -+ AS_MKDIR_P([$dirpart/$fdir]) -+ # echo "creating $dirpart/$file" -+ echo '# dummy' > "$dirpart/$file" -+ done -+ done -+} -+])# _AM_OUTPUT_DEPENDENCY_COMMANDS -+ -+ -+# AM_OUTPUT_DEPENDENCY_COMMANDS -+# ----------------------------- -+# This macro should only be invoked once -- use via AC_REQUIRE. -+# -+# This code is only required when automatic dependency tracking -+# is enabled. FIXME. This creates each `.P' file that we will -+# need in order to bootstrap the dependency handling code. -+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -+[AC_CONFIG_COMMANDS([depfiles], -+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], -+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -+]) -+ -+# Do all the work for Automake. -*- Autoconf -*- -+ -+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 16 -+ -+# This macro actually does too much. Some checks are only needed if -+# your package does certain things. But this isn't really a big deal. -+ -+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -+# AM_INIT_AUTOMAKE([OPTIONS]) -+# ----------------------------------------------- -+# The call with PACKAGE and VERSION arguments is the old style -+# call (pre autoconf-2.50), which is being phased out. PACKAGE -+# and VERSION should now be passed to AC_INIT and removed from -+# the call to AM_INIT_AUTOMAKE. -+# We support both call styles for the transition. After -+# the next Automake release, Autoconf can make the AC_INIT -+# arguments mandatory, and then we can depend on a new Autoconf -+# release and drop the old call support. -+AC_DEFUN([AM_INIT_AUTOMAKE], -+[AC_PREREQ([2.62])dnl -+dnl Autoconf wants to disallow AM_ names. We explicitly allow -+dnl the ones we care about. -+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -+AC_REQUIRE([AC_PROG_INSTALL])dnl -+if test "`cd $srcdir && pwd`" != "`pwd`"; then -+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output -+ # is not polluted with repeated "-I." -+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl -+ # test to see if srcdir already configured -+ if test -f $srcdir/config.status; then -+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) -+ fi -+fi -+ -+# test whether we have cygpath -+if test -z "$CYGPATH_W"; then -+ if (cygpath --version) >/dev/null 2>/dev/null; then -+ CYGPATH_W='cygpath -w' -+ else -+ CYGPATH_W=echo -+ fi -+fi -+AC_SUBST([CYGPATH_W]) -+ -+# Define the identity of the package. -+dnl Distinguish between old-style and new-style calls. -+m4_ifval([$2], -+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl -+ AC_SUBST([PACKAGE], [$1])dnl -+ AC_SUBST([VERSION], [$2])], -+[_AM_SET_OPTIONS([$1])dnl -+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, -+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl -+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl -+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl -+ -+_AM_IF_OPTION([no-define],, -+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) -+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl -+ -+# Some tools Automake needs. -+AC_REQUIRE([AM_SANITY_CHECK])dnl -+AC_REQUIRE([AC_ARG_PROGRAM])dnl -+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -+AM_MISSING_PROG(AUTOCONF, autoconf) -+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -+AM_MISSING_PROG(AUTOHEADER, autoheader) -+AM_MISSING_PROG(MAKEINFO, makeinfo) -+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -+AC_REQUIRE([AM_PROG_MKDIR_P])dnl -+# We need awk for the "check" target. The system "awk" is bad on -+# some platforms. -+AC_REQUIRE([AC_PROG_AWK])dnl -+AC_REQUIRE([AC_PROG_MAKE_SET])dnl -+AC_REQUIRE([AM_SET_LEADING_DOT])dnl -+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], -+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], -+ [_AM_PROG_TAR([v7])])]) -+_AM_IF_OPTION([no-dependencies],, -+[AC_PROVIDE_IFELSE([AC_PROG_CC], -+ [_AM_DEPENDENCIES(CC)], -+ [define([AC_PROG_CC], -+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl -+AC_PROVIDE_IFELSE([AC_PROG_CXX], -+ [_AM_DEPENDENCIES(CXX)], -+ [define([AC_PROG_CXX], -+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl -+AC_PROVIDE_IFELSE([AC_PROG_OBJC], -+ [_AM_DEPENDENCIES(OBJC)], -+ [define([AC_PROG_OBJC], -+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl -+]) -+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl -+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the -+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro -+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. -+AC_CONFIG_COMMANDS_PRE(dnl -+[m4_provide_if([_AM_COMPILER_EXEEXT], -+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl -+]) -+ -+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -+dnl mangled by Autoconf and run in a shell conditional statement. -+m4_define([_AC_COMPILER_EXEEXT], -+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) -+ -+ -+# When config.status generates a header, we must update the stamp-h file. -+# This file resides in the same directory as the config header -+# that is generated. The stamp files are numbered to have different names. -+ -+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -+# loop where config.status creates the headers, so we can generate -+# our stamp files there. -+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -+[# Compute $1's index in $config_headers. -+_am_arg=$1 -+_am_stamp_count=1 -+for _am_header in $config_headers :; do -+ case $_am_header in -+ $_am_arg | $_am_arg:* ) -+ break ;; -+ * ) -+ _am_stamp_count=`expr $_am_stamp_count + 1` ;; -+ esac -+done -+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -+ -+# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# AM_PROG_INSTALL_SH -+# ------------------ -+# Define $install_sh. -+AC_DEFUN([AM_PROG_INSTALL_SH], -+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -+if test x"${install_sh}" != xset; then -+ case $am_aux_dir in -+ *\ * | *\ *) -+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; -+ *) -+ install_sh="\${SHELL} $am_aux_dir/install-sh" -+ esac -+fi -+AC_SUBST(install_sh)]) -+ -+# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 2 -+ -+# Check whether the underlying file-system supports filenames -+# with a leading dot. For instance MS-DOS doesn't. -+AC_DEFUN([AM_SET_LEADING_DOT], -+[rm -rf .tst 2>/dev/null -+mkdir .tst 2>/dev/null -+if test -d .tst; then -+ am__leading_dot=. -+else -+ am__leading_dot=_ -+fi -+rmdir .tst 2>/dev/null -+AC_SUBST([am__leading_dot])]) -+ -+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- -+# From Jim Meyering -+ -+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 5 -+ -+# AM_MAINTAINER_MODE([DEFAULT-MODE]) -+# ---------------------------------- -+# Control maintainer-specific portions of Makefiles. -+# Default is to disable them, unless `enable' is passed literally. -+# For symmetry, `disable' may be passed as well. Anyway, the user -+# can override the default with the --enable/--disable switch. -+AC_DEFUN([AM_MAINTAINER_MODE], -+[m4_case(m4_default([$1], [disable]), -+ [enable], [m4_define([am_maintainer_other], [disable])], -+ [disable], [m4_define([am_maintainer_other], [enable])], -+ [m4_define([am_maintainer_other], [enable]) -+ m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) -+AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles]) -+ dnl maintainer-mode's default is 'disable' unless 'enable' is passed -+ AC_ARG_ENABLE([maintainer-mode], -+[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful -+ (and sometimes confusing) to the casual installer], -+ [USE_MAINTAINER_MODE=$enableval], -+ [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) -+ AC_MSG_RESULT([$USE_MAINTAINER_MODE]) -+ AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) -+ MAINT=$MAINTAINER_MODE_TRUE -+ AC_SUBST([MAINT])dnl -+] -+) -+ -+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) -+ -+# Check to see how 'make' treats includes. -*- Autoconf -*- -+ -+# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 4 -+ -+# AM_MAKE_INCLUDE() -+# ----------------- -+# Check to see how make treats includes. -+AC_DEFUN([AM_MAKE_INCLUDE], -+[am_make=${MAKE-make} -+cat > confinc << 'END' -+am__doit: -+ @echo this is the am__doit target -+.PHONY: am__doit -+END -+# If we don't find an include directive, just comment out the code. -+AC_MSG_CHECKING([for style of include used by $am_make]) -+am__include="#" -+am__quote= -+_am_result=none -+# First try GNU make style include. -+echo "include confinc" > confmf -+# Ignore all kinds of additional output from `make'. -+case `$am_make -s -f confmf 2> /dev/null` in #( -+*the\ am__doit\ target*) -+ am__include=include -+ am__quote= -+ _am_result=GNU -+ ;; -+esac -+# Now try BSD make style include. -+if test "$am__include" = "#"; then -+ echo '.include "confinc"' > confmf -+ case `$am_make -s -f confmf 2> /dev/null` in #( -+ *the\ am__doit\ target*) -+ am__include=.include -+ am__quote="\"" -+ _am_result=BSD -+ ;; -+ esac -+fi -+AC_SUBST([am__include]) -+AC_SUBST([am__quote]) -+AC_MSG_RESULT([$_am_result]) -+rm -f confinc confmf -+]) -+ -+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -+ -+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 6 -+ -+# AM_MISSING_PROG(NAME, PROGRAM) -+# ------------------------------ -+AC_DEFUN([AM_MISSING_PROG], -+[AC_REQUIRE([AM_MISSING_HAS_RUN]) -+$1=${$1-"${am_missing_run}$2"} -+AC_SUBST($1)]) -+ -+ -+# AM_MISSING_HAS_RUN -+# ------------------ -+# Define MISSING if not defined so far and test if it supports --run. -+# If it does, set am_missing_run to use it, otherwise, to nothing. -+AC_DEFUN([AM_MISSING_HAS_RUN], -+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -+AC_REQUIRE_AUX_FILE([missing])dnl -+if test x"${MISSING+set}" != xset; then -+ case $am_aux_dir in -+ *\ * | *\ *) -+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; -+ *) -+ MISSING="\${SHELL} $am_aux_dir/missing" ;; -+ esac -+fi -+# Use eval to expand $SHELL -+if eval "$MISSING --run true"; then -+ am_missing_run="$MISSING --run " -+else -+ am_missing_run= -+ AC_MSG_WARN([`missing' script is too old or missing]) -+fi -+]) -+ -+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# AM_PROG_MKDIR_P -+# --------------- -+# Check for `mkdir -p'. -+AC_DEFUN([AM_PROG_MKDIR_P], -+[AC_PREREQ([2.60])dnl -+AC_REQUIRE([AC_PROG_MKDIR_P])dnl -+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, -+dnl while keeping a definition of mkdir_p for backward compatibility. -+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. -+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of -+dnl Makefile.ins that do not define MKDIR_P, so we do our own -+dnl adjustment using top_builddir (which is defined more often than -+dnl MKDIR_P). -+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl -+case $mkdir_p in -+ [[\\/$]]* | ?:[[\\/]]*) ;; -+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -+esac -+]) -+ -+# Helper functions for option handling. -*- Autoconf -*- -+ -+# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 4 -+ -+# _AM_MANGLE_OPTION(NAME) -+# ----------------------- -+AC_DEFUN([_AM_MANGLE_OPTION], -+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) -+ -+# _AM_SET_OPTION(NAME) -+# ------------------------------ -+# Set option NAME. Presently that only means defining a flag for this option. -+AC_DEFUN([_AM_SET_OPTION], -+[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) -+ -+# _AM_SET_OPTIONS(OPTIONS) -+# ---------------------------------- -+# OPTIONS is a space-separated list of Automake options. -+AC_DEFUN([_AM_SET_OPTIONS], -+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) -+ -+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -+# ------------------------------------------- -+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -+AC_DEFUN([_AM_IF_OPTION], -+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -+ -+# Check to make sure that the build environment is sane. -*- Autoconf -*- -+ -+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 -+# Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 5 -+ -+# AM_SANITY_CHECK -+# --------------- -+AC_DEFUN([AM_SANITY_CHECK], -+[AC_MSG_CHECKING([whether build environment is sane]) -+# Just in case -+sleep 1 -+echo timestamp > conftest.file -+# Reject unsafe characters in $srcdir or the absolute working directory -+# name. Accept space and tab only in the latter. -+am_lf=' -+' -+case `pwd` in -+ *[[\\\"\#\$\&\'\`$am_lf]]*) -+ AC_MSG_ERROR([unsafe absolute working directory name]);; -+esac -+case $srcdir in -+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) -+ AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; -+esac -+ -+# Do `set' in a subshell so we don't clobber the current shell's -+# arguments. Must try -L first in case configure is actually a -+# symlink; some systems play weird games with the mod time of symlinks -+# (eg FreeBSD returns the mod time of the symlink's containing -+# directory). -+if ( -+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` -+ if test "$[*]" = "X"; then -+ # -L didn't work. -+ set X `ls -t "$srcdir/configure" conftest.file` -+ fi -+ rm -f conftest.file -+ if test "$[*]" != "X $srcdir/configure conftest.file" \ -+ && test "$[*]" != "X conftest.file $srcdir/configure"; then -+ -+ # If neither matched, then we have a broken ls. This can happen -+ # if, for instance, CONFIG_SHELL is bash and it inherits a -+ # broken ls alias from the environment. This has actually -+ # happened. Such a system could not be considered "sane". -+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -+alias in your environment]) -+ fi -+ -+ test "$[2]" = conftest.file -+ ) -+then -+ # Ok. -+ : -+else -+ AC_MSG_ERROR([newly created file is older than distributed files! -+Check your system clock]) -+fi -+AC_MSG_RESULT(yes)]) -+ -+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# AM_PROG_INSTALL_STRIP -+# --------------------- -+# One issue with vendor `install' (even GNU) is that you can't -+# specify the program used to strip binaries. This is especially -+# annoying in cross-compiling environments, where the build's strip -+# is unlikely to handle the host's binaries. -+# Fortunately install-sh will honor a STRIPPROG variable, so we -+# always use install-sh in `make install-strip', and initialize -+# STRIPPROG with the value of the STRIP variable (set by the user). -+AC_DEFUN([AM_PROG_INSTALL_STRIP], -+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -+# Installed binaries are usually stripped using `strip' when the user -+# run `make install-strip'. However `strip' might not be the right -+# tool to use in cross-compilation environments, therefore Automake -+# will honor the `STRIP' environment variable to overrule this program. -+dnl Don't test for $cross_compiling = yes, because it might be `maybe'. -+if test "$cross_compiling" != no; then -+ AC_CHECK_TOOL([STRIP], [strip], :) -+fi -+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -+AC_SUBST([INSTALL_STRIP_PROGRAM])]) -+ -+# Copyright (C) 2006, 2008 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 2 -+ -+# _AM_SUBST_NOTMAKE(VARIABLE) -+# --------------------------- -+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -+# This macro is traced by Automake. -+AC_DEFUN([_AM_SUBST_NOTMAKE]) -+ -+# AM_SUBST_NOTMAKE(VARIABLE) -+# --------------------------- -+# Public sister of _AM_SUBST_NOTMAKE. -+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) -+ -+# Check how to create a tarball. -*- Autoconf -*- -+ -+# Copyright (C) 2004, 2005 Free Software Foundation, Inc. -+# -+# This file is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# serial 2 -+ -+# _AM_PROG_TAR(FORMAT) -+# -------------------- -+# Check how to create a tarball in format FORMAT. -+# FORMAT should be one of `v7', `ustar', or `pax'. -+# -+# Substitute a variable $(am__tar) that is a command -+# writing to stdout a FORMAT-tarball containing the directory -+# $tardir. -+# tardir=directory && $(am__tar) > result.tar -+# -+# Substitute a variable $(am__untar) that extract such -+# a tarball read from stdin. -+# $(am__untar) < result.tar -+AC_DEFUN([_AM_PROG_TAR], -+[# Always define AMTAR for backward compatibility. -+AM_MISSING_PROG([AMTAR], [tar]) -+m4_if([$1], [v7], -+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], -+ [m4_case([$1], [ustar],, [pax],, -+ [m4_fatal([Unknown tar format])]) -+AC_MSG_CHECKING([how to create a $1 tar archive]) -+# Loop over all known methods to create a tar archive until one works. -+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -+_am_tools=${am_cv_prog_tar_$1-$_am_tools} -+# Do not fold the above two line into one, because Tru64 sh and -+# Solaris sh will not grok spaces in the rhs of `-'. -+for _am_tool in $_am_tools -+do -+ case $_am_tool in -+ gnutar) -+ for _am_tar in tar gnutar gtar; -+ do -+ AM_RUN_LOG([$_am_tar --version]) && break -+ done -+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' -+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' -+ am__untar="$_am_tar -xf -" -+ ;; -+ plaintar) -+ # Must skip GNU tar: if it does not support --format= it doesn't create -+ # ustar tarball either. -+ (tar --version) >/dev/null 2>&1 && continue -+ am__tar='tar chf - "$$tardir"' -+ am__tar_='tar chf - "$tardir"' -+ am__untar='tar xf -' -+ ;; -+ pax) -+ am__tar='pax -L -x $1 -w "$$tardir"' -+ am__tar_='pax -L -x $1 -w "$tardir"' -+ am__untar='pax -r' -+ ;; -+ cpio) -+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L' -+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L' -+ am__untar='cpio -i -H $1 -d' -+ ;; -+ none) -+ am__tar=false -+ am__tar_=false -+ am__untar=false -+ ;; -+ esac -+ -+ # If the value was cached, stop now. We just wanted to have am__tar -+ # and am__untar set. -+ test -n "${am_cv_prog_tar_$1}" && break -+ -+ # tar/untar a dummy directory, and stop if the command works -+ rm -rf conftest.dir -+ mkdir conftest.dir -+ echo GrepMe > conftest.dir/file -+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) -+ rm -rf conftest.dir -+ if test -s conftest.tar; then -+ AM_RUN_LOG([$am__untar <conftest.tar]) -+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break -+ fi -+done -+rm -rf conftest.dir -+ -+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -+AC_MSG_RESULT([$am_cv_prog_tar_$1])]) -+AC_SUBST([am__tar]) -+AC_SUBST([am__untar]) -+]) # _AM_PROG_TAR -+ -+m4_include([../../../acinclude.m4]) diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-arpa-inet.h b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-arpa-inet.h deleted file mode 100644 index 05f5a6e22846..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-arpa-inet.h +++ /dev/null @@ -1,29 +0,0 @@ ---- ./newlib/libc/sys/psp/arpa/inet.h.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/arpa/inet.h 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,26 @@ -+/* arpa/inet.h - Functions for converting IP addresses between strings and numbers */ -+ -+#ifndef _ARPA_INET_H_ -+#define _ARPA_INET_H_ -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include <netinet/in.h> -+ -+in_addr_t sceNetInetInetAddr(const char *ip); -+int sceNetInetInetAton(const char *ip, struct in_addr *in); -+const char* sceNetInetInetNtop(int af, const void *src, char *dst, socklen_t cnt); -+int sceNetInetInetPton(int af, const char *src, void *dst); -+ -+char *inet_ntoa(struct in_addr in); -+#define inet_addr sceNetInetInetAddr -+#define inet_aton sceNetInetInetAton -+#define inet_ntop sceNetInetInetNtop -+#define inet_pton sceNetInetInetPton -+ -+#ifdef __cplusplus -+} -+#endif -+#endif /* _ARPA_INET_H_ */ diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-confdefs.h b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-confdefs.h deleted file mode 100644 index 7608db58ff79..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-confdefs.h +++ /dev/null @@ -1,4 +0,0 @@ ---- ./newlib/libc/sys/psp/confdefs.h.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/confdefs.h 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1 @@ -+ diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-configure b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-configure deleted file mode 100644 index d5d601734730..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-configure +++ /dev/null @@ -1,4748 +0,0 @@ ---- ./newlib/libc/sys/psp/configure.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/configure 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,4745 @@ -+#! /bin/sh -+# Guess values for system-dependent variables and create Makefiles. -+# Generated by GNU Autoconf 2.68 for newlib 1.20.0. -+# -+# -+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software -+# Foundation, Inc. -+# -+# -+# This configure script is free software; the Free Software Foundation -+# gives unlimited permission to copy, distribute and modify it. -+## -------------------- ## -+## M4sh Initialization. ## -+## -------------------- ## -+ -+# Be more Bourne compatible -+DUALCASE=1; export DUALCASE # for MKS sh -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '${1+"$@"}'='"$@"' -+ setopt NO_GLOB_SUBST -+else -+ case `(set -o) 2>/dev/null` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi -+ -+ -+as_nl=' -+' -+export as_nl -+# Printing a long string crashes Solaris 7 /usr/bin/printf. -+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -+# Prefer a ksh shell builtin over an external printf program on Solaris, -+# but without wasting forks for bash or zsh. -+if test -z "$BASH_VERSION$ZSH_VERSION" \ -+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='print -r --' -+ as_echo_n='print -rn --' -+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='printf %s\n' -+ as_echo_n='printf %s' -+else -+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then -+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' -+ as_echo_n='/usr/ucb/echo -n' -+ else -+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' -+ as_echo_n_body='eval -+ arg=$1; -+ case $arg in #( -+ *"$as_nl"*) -+ expr "X$arg" : "X\\(.*\\)$as_nl"; -+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; -+ esac; -+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" -+ ' -+ export as_echo_n_body -+ as_echo_n='sh -c $as_echo_n_body as_echo' -+ fi -+ export as_echo_body -+ as_echo='sh -c $as_echo_body as_echo' -+fi -+ -+# The user is always right. -+if test "${PATH_SEPARATOR+set}" != set; then -+ PATH_SEPARATOR=: -+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { -+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || -+ PATH_SEPARATOR=';' -+ } -+fi -+ -+ -+# IFS -+# We need space, tab and new line, in precisely that order. Quoting is -+# there to prevent editors from complaining about space-tab. -+# (If _AS_PATH_WALK were called with IFS unset, it would disable word -+# splitting by setting IFS to empty value.) -+IFS=" "" $as_nl" -+ -+# Find who we are. Look in the path if we contain no directory separator. -+as_myself= -+case $0 in #(( -+ *[\\/]* ) as_myself=$0 ;; -+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -+ done -+IFS=$as_save_IFS -+ -+ ;; -+esac -+# We did not find ourselves, most probably we were run as `sh COMMAND' -+# in which case we are not to be found in the path. -+if test "x$as_myself" = x; then -+ as_myself=$0 -+fi -+if test ! -f "$as_myself"; then -+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -+ exit 1 -+fi -+ -+# Unset variables that we do not need and which cause bugs (e.g. in -+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -+# suppresses any "Segmentation fault" message there. '((' could -+# trigger a bug in pdksh 5.2.14. -+for as_var in BASH_ENV ENV MAIL MAILPATH -+do eval test x\${$as_var+set} = xset \ -+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -+done -+PS1='$ ' -+PS2='> ' -+PS4='+ ' -+ -+# NLS nuisances. -+LC_ALL=C -+export LC_ALL -+LANGUAGE=C -+export LANGUAGE -+ -+# CDPATH. -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -+ -+if test "x$CONFIG_SHELL" = x; then -+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '\${1+\"\$@\"}'='\"\$@\"' -+ setopt NO_GLOB_SUBST -+else -+ case \`(set -o) 2>/dev/null\` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi -+" -+ as_required="as_fn_return () { (exit \$1); } -+as_fn_success () { as_fn_return 0; } -+as_fn_failure () { as_fn_return 1; } -+as_fn_ret_success () { return 0; } -+as_fn_ret_failure () { return 1; } -+ -+exitcode=0 -+as_fn_success || { exitcode=1; echo as_fn_success failed.; } -+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : -+ -+else -+ exitcode=1; echo positional parameters were not saved. -+fi -+test x\$exitcode = x0 || exit 1" -+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO -+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO -+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && -+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" -+ if (eval "$as_required") 2>/dev/null; then : -+ as_have_required=yes -+else -+ as_have_required=no -+fi -+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : -+ -+else -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+as_found=false -+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ as_found=: -+ case $as_dir in #( -+ /*) -+ for as_base in sh bash ksh sh5; do -+ # Try only shells that exist, to save several forks. -+ as_shell=$as_dir/$as_base -+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } && -+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : -+ CONFIG_SHELL=$as_shell as_have_required=yes -+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : -+ break 2 -+fi -+fi -+ done;; -+ esac -+ as_found=false -+done -+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && -+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : -+ CONFIG_SHELL=$SHELL as_have_required=yes -+fi; } -+IFS=$as_save_IFS -+ -+ -+ if test "x$CONFIG_SHELL" != x; then : -+ # We cannot yet assume a decent shell, so we have to provide a -+ # neutralization value for shells without unset; and this also -+ # works around shells that cannot unset nonexistent variables. -+ # Preserve -v and -x to the replacement shell. -+ BASH_ENV=/dev/null -+ ENV=/dev/null -+ (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -+ export CONFIG_SHELL -+ case $- in # (((( -+ *v*x* | *x*v* ) as_opts=-vx ;; -+ *v* ) as_opts=-v ;; -+ *x* ) as_opts=-x ;; -+ * ) as_opts= ;; -+ esac -+ exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} -+fi -+ -+ if test x$as_have_required = xno; then : -+ $as_echo "$0: This script requires a shell more modern than all" -+ $as_echo "$0: the shells that I found on your system." -+ if test x${ZSH_VERSION+set} = xset ; then -+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" -+ $as_echo "$0: be upgraded to zsh 4.3.4 or later." -+ else -+ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, -+$0: including any error possibly output before this -+$0: message. Then install a modern shell, or manually run -+$0: the script under such a shell if you do have one." -+ fi -+ exit 1 -+fi -+fi -+fi -+SHELL=${CONFIG_SHELL-/bin/sh} -+export SHELL -+# Unset more variables known to interfere with behavior of common tools. -+CLICOLOR_FORCE= GREP_OPTIONS= -+unset CLICOLOR_FORCE GREP_OPTIONS -+ -+## --------------------- ## -+## M4sh Shell Functions. ## -+## --------------------- ## -+# as_fn_unset VAR -+# --------------- -+# Portably unset VAR. -+as_fn_unset () -+{ -+ { eval $1=; unset $1;} -+} -+as_unset=as_fn_unset -+ -+# as_fn_set_status STATUS -+# ----------------------- -+# Set $? to STATUS, without forking. -+as_fn_set_status () -+{ -+ return $1 -+} # as_fn_set_status -+ -+# as_fn_exit STATUS -+# ----------------- -+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -+as_fn_exit () -+{ -+ set +e -+ as_fn_set_status $1 -+ exit $1 -+} # as_fn_exit -+ -+# as_fn_mkdir_p -+# ------------- -+# Create "$as_dir" as a directory, including parents if necessary. -+as_fn_mkdir_p () -+{ -+ -+ case $as_dir in #( -+ -*) as_dir=./$as_dir;; -+ esac -+ test -d "$as_dir" || eval $as_mkdir_p || { -+ as_dirs= -+ while :; do -+ case $as_dir in #( -+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( -+ *) as_qdir=$as_dir;; -+ esac -+ as_dirs="'$as_qdir' $as_dirs" -+ as_dir=`$as_dirname -- "$as_dir" || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_dir" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ test -d "$as_dir" && break -+ done -+ test -z "$as_dirs" || eval "mkdir $as_dirs" -+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" -+ -+ -+} # as_fn_mkdir_p -+# as_fn_append VAR VALUE -+# ---------------------- -+# Append the text in VALUE to the end of the definition contained in VAR. Take -+# advantage of any shell optimizations that allow amortized linear growth over -+# repeated appends, instead of the typical quadratic growth present in naive -+# implementations. -+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : -+ eval 'as_fn_append () -+ { -+ eval $1+=\$2 -+ }' -+else -+ as_fn_append () -+ { -+ eval $1=\$$1\$2 -+ } -+fi # as_fn_append -+ -+# as_fn_arith ARG... -+# ------------------ -+# Perform arithmetic evaluation on the ARGs, and store the result in the -+# global $as_val. Take advantage of shells that can avoid forks. The arguments -+# must be portable across $(()) and expr. -+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -+ eval 'as_fn_arith () -+ { -+ as_val=$(( $* )) -+ }' -+else -+ as_fn_arith () -+ { -+ as_val=`expr "$@" || test $? -eq 1` -+ } -+fi # as_fn_arith -+ -+ -+# as_fn_error STATUS ERROR [LINENO LOG_FD] -+# ---------------------------------------- -+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -+# script with STATUS, using 1 if that was 0. -+as_fn_error () -+{ -+ as_status=$1; test $as_status -eq 0 && as_status=1 -+ if test "$4"; then -+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 -+ fi -+ $as_echo "$as_me: error: $2" >&2 -+ as_fn_exit $as_status -+} # as_fn_error -+ -+if expr a : '\(a\)' >/dev/null 2>&1 && -+ test "X`expr 00001 : '.*\(...\)'`" = X001; then -+ as_expr=expr -+else -+ as_expr=false -+fi -+ -+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then -+ as_basename=basename -+else -+ as_basename=false -+fi -+ -+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then -+ as_dirname=dirname -+else -+ as_dirname=false -+fi -+ -+as_me=`$as_basename -- "$0" || -+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -+ X"$0" : 'X\(//\)$' \| \ -+ X"$0" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X/"$0" | -+ sed '/^.*\/\([^/][^/]*\)\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits -+ -+ -+ as_lineno_1=$LINENO as_lineno_1a=$LINENO -+ as_lineno_2=$LINENO as_lineno_2a=$LINENO -+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && -+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { -+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) -+ sed -n ' -+ p -+ /[$]LINENO/= -+ ' <$as_myself | -+ sed ' -+ s/[$]LINENO.*/&-/ -+ t lineno -+ b -+ :lineno -+ N -+ :loop -+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ -+ t loop -+ s/-\n.*// -+ ' >$as_me.lineno && -+ chmod +x "$as_me.lineno" || -+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } -+ -+ # Don't try to exec as it changes $[0], causing all sort of problems -+ # (the dirname of $[0] is not the place where we might find the -+ # original and so on. Autoconf is especially sensitive to this). -+ . "./$as_me.lineno" -+ # Exit status is that of the last command. -+ exit -+} -+ -+ECHO_C= ECHO_N= ECHO_T= -+case `echo -n x` in #((((( -+-n*) -+ case `echo 'xy\c'` in -+ *c*) ECHO_T=' ';; # ECHO_T is single tab character. -+ xy) ECHO_C='\c';; -+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null -+ ECHO_T=' ';; -+ esac;; -+*) -+ ECHO_N='-n';; -+esac -+ -+rm -f conf$$ conf$$.exe conf$$.file -+if test -d conf$$.dir; then -+ rm -f conf$$.dir/conf$$.file -+else -+ rm -f conf$$.dir -+ mkdir conf$$.dir 2>/dev/null -+fi -+if (echo >conf$$.file) 2>/dev/null; then -+ if ln -s conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s='ln -s' -+ # ... but there are two gotchas: -+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. -+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. -+ # In both cases, we have to default to `cp -p'. -+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || -+ as_ln_s='cp -p' -+ elif ln conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s=ln -+ else -+ as_ln_s='cp -p' -+ fi -+else -+ as_ln_s='cp -p' -+fi -+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -+rmdir conf$$.dir 2>/dev/null -+ -+if mkdir -p . 2>/dev/null; then -+ as_mkdir_p='mkdir -p "$as_dir"' -+else -+ test -d ./-p && rmdir ./-p -+ as_mkdir_p=false -+fi -+ -+if test -x / >/dev/null 2>&1; then -+ as_test_x='test -x' -+else -+ if ls -dL / >/dev/null 2>&1; then -+ as_ls_L_option=L -+ else -+ as_ls_L_option= -+ fi -+ as_test_x=' -+ eval sh -c '\'' -+ if test -d "$1"; then -+ test -d "$1/."; -+ else -+ case $1 in #( -+ -*)set "./$1";; -+ esac; -+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( -+ ???[sx]*):;;*)false;;esac;fi -+ '\'' sh -+ ' -+fi -+as_executable_p=$as_test_x -+ -+# Sed expression to map a string onto a valid CPP name. -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -+ -+# Sed expression to map a string onto a valid variable name. -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -+ -+ -+test -n "$DJDIR" || exec 7<&0 </dev/null -+exec 6>&1 -+ -+# Name of the host. -+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -+# so uname gets run too. -+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` -+ -+# -+# Initializations. -+# -+ac_default_prefix=/usr/local -+ac_clean_files= -+ac_config_libobj_dir=. -+LIBOBJS= -+cross_compiling=no -+subdirs= -+MFLAGS= -+MAKEFLAGS= -+ -+# Identity of this package. -+PACKAGE_NAME='newlib' -+PACKAGE_TARNAME='newlib' -+PACKAGE_VERSION='1.20.0' -+PACKAGE_STRING='newlib 1.20.0' -+PACKAGE_BUGREPORT='' -+PACKAGE_URL='' -+ -+ac_unique_file="libcglue.c" -+ac_subst_vars='LTLIBOBJS -+LIBOBJS -+sys_dir -+machine_dir -+libm_machine_dir -+lpfx -+aext -+oext -+OBJEXT -+USE_LIBTOOL_FALSE -+USE_LIBTOOL_TRUE -+ELIX_LEVEL_4_FALSE -+ELIX_LEVEL_4_TRUE -+ELIX_LEVEL_3_FALSE -+ELIX_LEVEL_3_TRUE -+ELIX_LEVEL_2_FALSE -+ELIX_LEVEL_2_TRUE -+ELIX_LEVEL_1_FALSE -+ELIX_LEVEL_1_TRUE -+ELIX_LEVEL_0_FALSE -+ELIX_LEVEL_0_TRUE -+LDFLAGS -+NO_INCLUDE_LIST -+NEWLIB_CFLAGS -+CCASFLAGS -+CCAS -+MAINT -+MAINTAINER_MODE_FALSE -+MAINTAINER_MODE_TRUE -+READELF -+RANLIB -+AR -+AS -+am__fastdepCC_FALSE -+am__fastdepCC_TRUE -+CCDEPMODE -+AMDEPBACKSLASH -+AMDEP_FALSE -+AMDEP_TRUE -+am__quote -+am__include -+DEPDIR -+CC -+am__untar -+am__tar -+AMTAR -+am__leading_dot -+SET_MAKE -+AWK -+mkdir_p -+MKDIR_P -+INSTALL_STRIP_PROGRAM -+STRIP -+install_sh -+MAKEINFO -+AUTOHEADER -+AUTOMAKE -+AUTOCONF -+ACLOCAL -+VERSION -+PACKAGE -+CYGPATH_W -+am__isrc -+INSTALL_DATA -+INSTALL_SCRIPT -+INSTALL_PROGRAM -+host_os -+host_vendor -+host_cpu -+host -+build_os -+build_vendor -+build_cpu -+build -+newlib_basedir -+MAY_SUPPLY_SYSCALLS_FALSE -+MAY_SUPPLY_SYSCALLS_TRUE -+target_alias -+host_alias -+build_alias -+LIBS -+ECHO_T -+ECHO_N -+ECHO_C -+DEFS -+mandir -+localedir -+libdir -+psdir -+pdfdir -+dvidir -+htmldir -+infodir -+docdir -+oldincludedir -+includedir -+localstatedir -+sharedstatedir -+sysconfdir -+datadir -+datarootdir -+libexecdir -+sbindir -+bindir -+program_transform_name -+prefix -+exec_prefix -+PACKAGE_URL -+PACKAGE_BUGREPORT -+PACKAGE_STRING -+PACKAGE_VERSION -+PACKAGE_TARNAME -+PACKAGE_NAME -+PATH_SEPARATOR -+SHELL' -+ac_subst_files='' -+ac_user_opts=' -+enable_option_checking -+enable_multilib -+enable_target_optspace -+enable_malloc_debugging -+enable_newlib_multithread -+enable_newlib_iconv -+enable_newlib_elix_level -+enable_newlib_io_float -+enable_newlib_supplied_syscalls -+enable_dependency_tracking -+enable_maintainer_mode -+' -+ ac_precious_vars='build_alias -+host_alias -+target_alias -+CCAS -+CCASFLAGS' -+ -+ -+# Initialize some variables set by options. -+ac_init_help= -+ac_init_version=false -+ac_unrecognized_opts= -+ac_unrecognized_sep= -+# The variables have the same names as the options, with -+# dashes changed to underlines. -+cache_file=/dev/null -+exec_prefix=NONE -+no_create= -+no_recursion= -+prefix=NONE -+program_prefix=NONE -+program_suffix=NONE -+program_transform_name=s,x,x, -+silent= -+site= -+srcdir= -+verbose= -+x_includes=NONE -+x_libraries=NONE -+ -+# Installation directory options. -+# These are left unexpanded so users can "make install exec_prefix=/foo" -+# and all the variables that are supposed to be based on exec_prefix -+# by default will actually change. -+# Use braces instead of parens because sh, perl, etc. also accept them. -+# (The list follows the same order as the GNU Coding Standards.) -+bindir='${exec_prefix}/bin' -+sbindir='${exec_prefix}/sbin' -+libexecdir='${exec_prefix}/libexec' -+datarootdir='${prefix}/share' -+datadir='${datarootdir}' -+sysconfdir='${prefix}/etc' -+sharedstatedir='${prefix}/com' -+localstatedir='${prefix}/var' -+includedir='${prefix}/include' -+oldincludedir='/usr/include' -+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -+infodir='${datarootdir}/info' -+htmldir='${docdir}' -+dvidir='${docdir}' -+pdfdir='${docdir}' -+psdir='${docdir}' -+libdir='${exec_prefix}/lib' -+localedir='${datarootdir}/locale' -+mandir='${datarootdir}/man' -+ -+ac_prev= -+ac_dashdash= -+for ac_option -+do -+ # If the previous option needs an argument, assign it. -+ if test -n "$ac_prev"; then -+ eval $ac_prev=\$ac_option -+ ac_prev= -+ continue -+ fi -+ -+ case $ac_option in -+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; -+ *=) ac_optarg= ;; -+ *) ac_optarg=yes ;; -+ esac -+ -+ # Accept the important Cygnus configure options, so we can diagnose typos. -+ -+ case $ac_dashdash$ac_option in -+ --) -+ ac_dashdash=yes ;; -+ -+ -bindir | --bindir | --bindi | --bind | --bin | --bi) -+ ac_prev=bindir ;; -+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) -+ bindir=$ac_optarg ;; -+ -+ -build | --build | --buil | --bui | --bu) -+ ac_prev=build_alias ;; -+ -build=* | --build=* | --buil=* | --bui=* | --bu=*) -+ build_alias=$ac_optarg ;; -+ -+ -cache-file | --cache-file | --cache-fil | --cache-fi \ -+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) -+ ac_prev=cache_file ;; -+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ -+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) -+ cache_file=$ac_optarg ;; -+ -+ --config-cache | -C) -+ cache_file=config.cache ;; -+ -+ -datadir | --datadir | --datadi | --datad) -+ ac_prev=datadir ;; -+ -datadir=* | --datadir=* | --datadi=* | --datad=*) -+ datadir=$ac_optarg ;; -+ -+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ -+ | --dataroo | --dataro | --datar) -+ ac_prev=datarootdir ;; -+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ -+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) -+ datarootdir=$ac_optarg ;; -+ -+ -disable-* | --disable-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid feature name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"enable_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval enable_$ac_useropt=no ;; -+ -+ -docdir | --docdir | --docdi | --doc | --do) -+ ac_prev=docdir ;; -+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) -+ docdir=$ac_optarg ;; -+ -+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) -+ ac_prev=dvidir ;; -+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) -+ dvidir=$ac_optarg ;; -+ -+ -enable-* | --enable-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid feature name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"enable_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval enable_$ac_useropt=\$ac_optarg ;; -+ -+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ -+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ -+ | --exec | --exe | --ex) -+ ac_prev=exec_prefix ;; -+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ -+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ -+ | --exec=* | --exe=* | --ex=*) -+ exec_prefix=$ac_optarg ;; -+ -+ -gas | --gas | --ga | --g) -+ # Obsolete; use --with-gas. -+ with_gas=yes ;; -+ -+ -help | --help | --hel | --he | -h) -+ ac_init_help=long ;; -+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) -+ ac_init_help=recursive ;; -+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) -+ ac_init_help=short ;; -+ -+ -host | --host | --hos | --ho) -+ ac_prev=host_alias ;; -+ -host=* | --host=* | --hos=* | --ho=*) -+ host_alias=$ac_optarg ;; -+ -+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) -+ ac_prev=htmldir ;; -+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ -+ | --ht=*) -+ htmldir=$ac_optarg ;; -+ -+ -includedir | --includedir | --includedi | --included | --include \ -+ | --includ | --inclu | --incl | --inc) -+ ac_prev=includedir ;; -+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ -+ | --includ=* | --inclu=* | --incl=* | --inc=*) -+ includedir=$ac_optarg ;; -+ -+ -infodir | --infodir | --infodi | --infod | --info | --inf) -+ ac_prev=infodir ;; -+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) -+ infodir=$ac_optarg ;; -+ -+ -libdir | --libdir | --libdi | --libd) -+ ac_prev=libdir ;; -+ -libdir=* | --libdir=* | --libdi=* | --libd=*) -+ libdir=$ac_optarg ;; -+ -+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ -+ | --libexe | --libex | --libe) -+ ac_prev=libexecdir ;; -+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ -+ | --libexe=* | --libex=* | --libe=*) -+ libexecdir=$ac_optarg ;; -+ -+ -localedir | --localedir | --localedi | --localed | --locale) -+ ac_prev=localedir ;; -+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) -+ localedir=$ac_optarg ;; -+ -+ -localstatedir | --localstatedir | --localstatedi | --localstated \ -+ | --localstate | --localstat | --localsta | --localst | --locals) -+ ac_prev=localstatedir ;; -+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ -+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) -+ localstatedir=$ac_optarg ;; -+ -+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) -+ ac_prev=mandir ;; -+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) -+ mandir=$ac_optarg ;; -+ -+ -nfp | --nfp | --nf) -+ # Obsolete; use --without-fp. -+ with_fp=no ;; -+ -+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ -+ | --no-cr | --no-c | -n) -+ no_create=yes ;; -+ -+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ -+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) -+ no_recursion=yes ;; -+ -+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ -+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ -+ | --oldin | --oldi | --old | --ol | --o) -+ ac_prev=oldincludedir ;; -+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ -+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ -+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) -+ oldincludedir=$ac_optarg ;; -+ -+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) -+ ac_prev=prefix ;; -+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) -+ prefix=$ac_optarg ;; -+ -+ -program-prefix | --program-prefix | --program-prefi | --program-pref \ -+ | --program-pre | --program-pr | --program-p) -+ ac_prev=program_prefix ;; -+ -program-prefix=* | --program-prefix=* | --program-prefi=* \ -+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) -+ program_prefix=$ac_optarg ;; -+ -+ -program-suffix | --program-suffix | --program-suffi | --program-suff \ -+ | --program-suf | --program-su | --program-s) -+ ac_prev=program_suffix ;; -+ -program-suffix=* | --program-suffix=* | --program-suffi=* \ -+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) -+ program_suffix=$ac_optarg ;; -+ -+ -program-transform-name | --program-transform-name \ -+ | --program-transform-nam | --program-transform-na \ -+ | --program-transform-n | --program-transform- \ -+ | --program-transform | --program-transfor \ -+ | --program-transfo | --program-transf \ -+ | --program-trans | --program-tran \ -+ | --progr-tra | --program-tr | --program-t) -+ ac_prev=program_transform_name ;; -+ -program-transform-name=* | --program-transform-name=* \ -+ | --program-transform-nam=* | --program-transform-na=* \ -+ | --program-transform-n=* | --program-transform-=* \ -+ | --program-transform=* | --program-transfor=* \ -+ | --program-transfo=* | --program-transf=* \ -+ | --program-trans=* | --program-tran=* \ -+ | --progr-tra=* | --program-tr=* | --program-t=*) -+ program_transform_name=$ac_optarg ;; -+ -+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) -+ ac_prev=pdfdir ;; -+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) -+ pdfdir=$ac_optarg ;; -+ -+ -psdir | --psdir | --psdi | --psd | --ps) -+ ac_prev=psdir ;; -+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) -+ psdir=$ac_optarg ;; -+ -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil) -+ silent=yes ;; -+ -+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) -+ ac_prev=sbindir ;; -+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ -+ | --sbi=* | --sb=*) -+ sbindir=$ac_optarg ;; -+ -+ -sharedstatedir | --sharedstatedir | --sharedstatedi \ -+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ -+ | --sharedst | --shareds | --shared | --share | --shar \ -+ | --sha | --sh) -+ ac_prev=sharedstatedir ;; -+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ -+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ -+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ -+ | --sha=* | --sh=*) -+ sharedstatedir=$ac_optarg ;; -+ -+ -site | --site | --sit) -+ ac_prev=site ;; -+ -site=* | --site=* | --sit=*) -+ site=$ac_optarg ;; -+ -+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) -+ ac_prev=srcdir ;; -+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) -+ srcdir=$ac_optarg ;; -+ -+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ -+ | --syscon | --sysco | --sysc | --sys | --sy) -+ ac_prev=sysconfdir ;; -+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ -+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) -+ sysconfdir=$ac_optarg ;; -+ -+ -target | --target | --targe | --targ | --tar | --ta | --t) -+ ac_prev=target_alias ;; -+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) -+ target_alias=$ac_optarg ;; -+ -+ -v | -verbose | --verbose | --verbos | --verbo | --verb) -+ verbose=yes ;; -+ -+ -version | --version | --versio | --versi | --vers | -V) -+ ac_init_version=: ;; -+ -+ -with-* | --with-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid package name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"with_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval with_$ac_useropt=\$ac_optarg ;; -+ -+ -without-* | --without-*) -+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` -+ # Reject names that are not valid shell variable names. -+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -+ as_fn_error $? "invalid package name: $ac_useropt" -+ ac_useropt_orig=$ac_useropt -+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` -+ case $ac_user_opts in -+ *" -+"with_$ac_useropt" -+"*) ;; -+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" -+ ac_unrecognized_sep=', ';; -+ esac -+ eval with_$ac_useropt=no ;; -+ -+ --x) -+ # Obsolete; use --with-x. -+ with_x=yes ;; -+ -+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ -+ | --x-incl | --x-inc | --x-in | --x-i) -+ ac_prev=x_includes ;; -+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ -+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) -+ x_includes=$ac_optarg ;; -+ -+ -x-libraries | --x-libraries | --x-librarie | --x-librari \ -+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) -+ ac_prev=x_libraries ;; -+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ -+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) -+ x_libraries=$ac_optarg ;; -+ -+ -*) as_fn_error $? "unrecognized option: \`$ac_option' -+Try \`$0 --help' for more information" -+ ;; -+ -+ *=*) -+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` -+ # Reject names that are not valid shell variable names. -+ case $ac_envvar in #( -+ '' | [0-9]* | *[!_$as_cr_alnum]* ) -+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; -+ esac -+ eval $ac_envvar=\$ac_optarg -+ export $ac_envvar ;; -+ -+ *) -+ # FIXME: should be removed in autoconf 3.0. -+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 -+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && -+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 -+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" -+ ;; -+ -+ esac -+done -+ -+if test -n "$ac_prev"; then -+ ac_option=--`echo $ac_prev | sed 's/_/-/g'` -+ as_fn_error $? "missing argument to $ac_option" -+fi -+ -+if test -n "$ac_unrecognized_opts"; then -+ case $enable_option_checking in -+ no) ;; -+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; -+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; -+ esac -+fi -+ -+# Check all directory arguments for consistency. -+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ -+ datadir sysconfdir sharedstatedir localstatedir includedir \ -+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ -+ libdir localedir mandir -+do -+ eval ac_val=\$$ac_var -+ # Remove trailing slashes. -+ case $ac_val in -+ */ ) -+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` -+ eval $ac_var=\$ac_val;; -+ esac -+ # Be sure to have absolute directory names. -+ case $ac_val in -+ [\\/$]* | ?:[\\/]* ) continue;; -+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;; -+ esac -+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -+done -+ -+# There might be people who depend on the old broken behavior: `$host' -+# used to hold the argument of --host etc. -+# FIXME: To remove some day. -+build=$build_alias -+host=$host_alias -+target=$target_alias -+ -+# FIXME: To remove some day. -+if test "x$host_alias" != x; then -+ if test "x$build_alias" = x; then -+ cross_compiling=maybe -+ $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. -+ If a cross compiler is detected then cross compile mode will be used" >&2 -+ elif test "x$build_alias" != "x$host_alias"; then -+ cross_compiling=yes -+ fi -+fi -+ -+ac_tool_prefix= -+test -n "$host_alias" && ac_tool_prefix=$host_alias- -+ -+test "$silent" = yes && exec 6>/dev/null -+ -+ -+ac_pwd=`pwd` && test -n "$ac_pwd" && -+ac_ls_di=`ls -di .` && -+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || -+ as_fn_error $? "working directory cannot be determined" -+test "X$ac_ls_di" = "X$ac_pwd_ls_di" || -+ as_fn_error $? "pwd does not report name of working directory" -+ -+ -+# Find the source files, if location was not specified. -+if test -z "$srcdir"; then -+ ac_srcdir_defaulted=yes -+ # Try the directory containing this script, then the parent directory. -+ ac_confdir=`$as_dirname -- "$as_myself" || -+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_myself" : 'X\(//\)[^/]' \| \ -+ X"$as_myself" : 'X\(//\)$' \| \ -+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_myself" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ srcdir=$ac_confdir -+ if test ! -r "$srcdir/$ac_unique_file"; then -+ srcdir=.. -+ fi -+else -+ ac_srcdir_defaulted=no -+fi -+if test ! -r "$srcdir/$ac_unique_file"; then -+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." -+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -+fi -+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -+ac_abs_confdir=`( -+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" -+ pwd)` -+# When building in place, set srcdir=. -+if test "$ac_abs_confdir" = "$ac_pwd"; then -+ srcdir=. -+fi -+# Remove unnecessary trailing slashes from srcdir. -+# Double slashes in file names in object file debugging info -+# mess up M-x gdb in Emacs. -+case $srcdir in -+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -+esac -+for ac_var in $ac_precious_vars; do -+ eval ac_env_${ac_var}_set=\${${ac_var}+set} -+ eval ac_env_${ac_var}_value=\$${ac_var} -+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} -+ eval ac_cv_env_${ac_var}_value=\$${ac_var} -+done -+ -+# -+# Report the --help message. -+# -+if test "$ac_init_help" = "long"; then -+ # Omit some internal or obsolete options to make the list less imposing. -+ # This message is too long to be a string in the A/UX 3.1 sh. -+ cat <<_ACEOF -+\`configure' configures newlib 1.20.0 to adapt to many kinds of systems. -+ -+Usage: $0 [OPTION]... [VAR=VALUE]... -+ -+To assign environment variables (e.g., CC, CFLAGS...), specify them as -+VAR=VALUE. See below for descriptions of some of the useful variables. -+ -+Defaults for the options are specified in brackets. -+ -+Configuration: -+ -h, --help display this help and exit -+ --help=short display options specific to this package -+ --help=recursive display the short help of all the included packages -+ -V, --version display version information and exit -+ -q, --quiet, --silent do not print \`checking ...' messages -+ --cache-file=FILE cache test results in FILE [disabled] -+ -C, --config-cache alias for \`--cache-file=config.cache' -+ -n, --no-create do not create output files -+ --srcdir=DIR find the sources in DIR [configure dir or \`..'] -+ -+Installation directories: -+ --prefix=PREFIX install architecture-independent files in PREFIX -+ [$ac_default_prefix] -+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX -+ [PREFIX] -+ -+By default, \`make install' will install all the files in -+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -+an installation prefix other than \`$ac_default_prefix' using \`--prefix', -+for instance \`--prefix=\$HOME'. -+ -+For better control, use the options below. -+ -+Fine tuning of the installation directories: -+ --bindir=DIR user executables [EPREFIX/bin] -+ --sbindir=DIR system admin executables [EPREFIX/sbin] -+ --libexecdir=DIR program executables [EPREFIX/libexec] -+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] -+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] -+ --localstatedir=DIR modifiable single-machine data [PREFIX/var] -+ --libdir=DIR object code libraries [EPREFIX/lib] -+ --includedir=DIR C header files [PREFIX/include] -+ --oldincludedir=DIR C header files for non-gcc [/usr/include] -+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] -+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR] -+ --infodir=DIR info documentation [DATAROOTDIR/info] -+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale] -+ --mandir=DIR man documentation [DATAROOTDIR/man] -+ --docdir=DIR documentation root [DATAROOTDIR/doc/newlib] -+ --htmldir=DIR html documentation [DOCDIR] -+ --dvidir=DIR dvi documentation [DOCDIR] -+ --pdfdir=DIR pdf documentation [DOCDIR] -+ --psdir=DIR ps documentation [DOCDIR] -+_ACEOF -+ -+ cat <<\_ACEOF -+ -+Program names: -+ --program-prefix=PREFIX prepend PREFIX to installed program names -+ --program-suffix=SUFFIX append SUFFIX to installed program names -+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names -+ -+System types: -+ --build=BUILD configure for building on BUILD [guessed] -+ --host=HOST cross-compile to build programs to run on HOST [BUILD] -+_ACEOF -+fi -+ -+if test -n "$ac_init_help"; then -+ case $ac_init_help in -+ short | recursive ) echo "Configuration of newlib 1.20.0:";; -+ esac -+ cat <<\_ACEOF -+ -+Optional Features: -+ --disable-option-checking ignore unrecognized --enable/--with options -+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) -+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] -+ --enable-multilib build many library versions (default) -+ --enable-target-optspace optimize for space -+ --enable-malloc-debugging indicate malloc debugging requested -+ --enable-newlib-multithread enable support for multiple threads -+ --enable-newlib-iconv enable iconv library support -+ --enable-newlib-elix-level supply desired elix library level (1-4) -+ --disable-newlib-io-float disable printf/scanf family float support -+ --disable-newlib-supplied-syscalls disable newlib from supplying syscalls -+ --disable-dependency-tracking speeds up one-time build -+ --enable-dependency-tracking do not reject slow dependency extractors -+ --enable-maintainer-mode enable make rules and dependencies not useful -+ (and sometimes confusing) to the casual installer -+ -+Some influential environment variables: -+ CCAS assembler compiler command (defaults to CC) -+ CCASFLAGS assembler compiler flags (defaults to CFLAGS) -+ -+Use these variables to override the choices made by `configure' or to help -+it to find libraries and programs with nonstandard names/locations. -+ -+Report bugs to the package provider. -+_ACEOF -+ac_status=$? -+fi -+ -+if test "$ac_init_help" = "recursive"; then -+ # If there are subdirs, report their specific --help. -+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue -+ test -d "$ac_dir" || -+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || -+ continue -+ ac_builddir=. -+ -+case "$ac_dir" in -+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -+*) -+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` -+ # A ".." for each directory in $ac_dir_suffix. -+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` -+ case $ac_top_builddir_sub in -+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; -+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; -+ esac ;; -+esac -+ac_abs_top_builddir=$ac_pwd -+ac_abs_builddir=$ac_pwd$ac_dir_suffix -+# for backward compatibility: -+ac_top_builddir=$ac_top_build_prefix -+ -+case $srcdir in -+ .) # We are building in place. -+ ac_srcdir=. -+ ac_top_srcdir=$ac_top_builddir_sub -+ ac_abs_top_srcdir=$ac_pwd ;; -+ [\\/]* | ?:[\\/]* ) # Absolute name. -+ ac_srcdir=$srcdir$ac_dir_suffix; -+ ac_top_srcdir=$srcdir -+ ac_abs_top_srcdir=$srcdir ;; -+ *) # Relative name. -+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix -+ ac_top_srcdir=$ac_top_build_prefix$srcdir -+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -+esac -+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix -+ -+ cd "$ac_dir" || { ac_status=$?; continue; } -+ # Check for guested configure. -+ if test -f "$ac_srcdir/configure.gnu"; then -+ echo && -+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive -+ elif test -f "$ac_srcdir/configure"; then -+ echo && -+ $SHELL "$ac_srcdir/configure" --help=recursive -+ else -+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 -+ fi || ac_status=$? -+ cd "$ac_pwd" || { ac_status=$?; break; } -+ done -+fi -+ -+test -n "$ac_init_help" && exit $ac_status -+if $ac_init_version; then -+ cat <<\_ACEOF -+newlib configure 1.20.0 -+generated by GNU Autoconf 2.68 -+ -+Copyright (C) 2010 Free Software Foundation, Inc. -+This configure script is free software; the Free Software Foundation -+gives unlimited permission to copy, distribute and modify it. -+_ACEOF -+ exit -+fi -+ -+## ------------------------ ## -+## Autoconf initialization. ## -+## ------------------------ ## -+ -+# ac_fn_c_try_compile LINENO -+# -------------------------- -+# Try to compile conftest.$ac_ext, and return whether this succeeded. -+ac_fn_c_try_compile () -+{ -+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ rm -f conftest.$ac_objext -+ if { { ac_try="$ac_compile" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_compile") 2>conftest.err -+ ac_status=$? -+ if test -s conftest.err; then -+ grep -v '^ *+' conftest.err >conftest.er1 -+ cat conftest.er1 >&5 -+ mv -f conftest.er1 conftest.err -+ fi -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then : -+ ac_retval=0 -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_retval=1 -+fi -+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -+ as_fn_set_status $ac_retval -+ -+} # ac_fn_c_try_compile -+cat >config.log <<_ACEOF -+This file contains any messages produced by compilers while -+running configure, to aid debugging if configure makes a mistake. -+ -+It was created by newlib $as_me 1.20.0, which was -+generated by GNU Autoconf 2.68. Invocation command line was -+ -+ $ $0 $@ -+ -+_ACEOF -+exec 5>>config.log -+{ -+cat <<_ASUNAME -+## --------- ## -+## Platform. ## -+## --------- ## -+ -+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -+uname -m = `(uname -m) 2>/dev/null || echo unknown` -+uname -r = `(uname -r) 2>/dev/null || echo unknown` -+uname -s = `(uname -s) 2>/dev/null || echo unknown` -+uname -v = `(uname -v) 2>/dev/null || echo unknown` -+ -+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` -+ -+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` -+ -+_ASUNAME -+ -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ $as_echo "PATH: $as_dir" -+ done -+IFS=$as_save_IFS -+ -+} >&5 -+ -+cat >&5 <<_ACEOF -+ -+ -+## ----------- ## -+## Core tests. ## -+## ----------- ## -+ -+_ACEOF -+ -+ -+# Keep a trace of the command line. -+# Strip out --no-create and --no-recursion so they do not pile up. -+# Strip out --silent because we don't want to record it for future runs. -+# Also quote any args containing shell meta-characters. -+# Make two passes to allow for proper duplicate-argument suppression. -+ac_configure_args= -+ac_configure_args0= -+ac_configure_args1= -+ac_must_keep_next=false -+for ac_pass in 1 2 -+do -+ for ac_arg -+ do -+ case $ac_arg in -+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil) -+ continue ;; -+ *\'*) -+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ esac -+ case $ac_pass in -+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; -+ 2) -+ as_fn_append ac_configure_args1 " '$ac_arg'" -+ if test $ac_must_keep_next = true; then -+ ac_must_keep_next=false # Got value, back to normal. -+ else -+ case $ac_arg in -+ *=* | --config-cache | -C | -disable-* | --disable-* \ -+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ -+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ -+ | -with-* | --with-* | -without-* | --without-* | --x) -+ case "$ac_configure_args0 " in -+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; -+ esac -+ ;; -+ -* ) ac_must_keep_next=true ;; -+ esac -+ fi -+ as_fn_append ac_configure_args " '$ac_arg'" -+ ;; -+ esac -+ done -+done -+{ ac_configure_args0=; unset ac_configure_args0;} -+{ ac_configure_args1=; unset ac_configure_args1;} -+ -+# When interrupted or exit'd, cleanup temporary files, and complete -+# config.log. We remove comments because anyway the quotes in there -+# would cause problems or look ugly. -+# WARNING: Use '\'' to represent an apostrophe within the trap. -+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -+trap 'exit_status=$? -+ # Save into config.log some information that might help in debugging. -+ { -+ echo -+ -+ $as_echo "## ---------------- ## -+## Cache variables. ## -+## ---------------- ##" -+ echo -+ # The following way of writing the cache mishandles newlines in values, -+( -+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do -+ eval ac_val=\$$ac_var -+ case $ac_val in #( -+ *${as_nl}*) -+ case $ac_var in #( -+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; -+ esac -+ case $ac_var in #( -+ _ | IFS | as_nl) ;; #( -+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( -+ *) { eval $ac_var=; unset $ac_var;} ;; -+ esac ;; -+ esac -+ done -+ (set) 2>&1 | -+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( -+ *${as_nl}ac_space=\ *) -+ sed -n \ -+ "s/'\''/'\''\\\\'\'''\''/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" -+ ;; #( -+ *) -+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" -+ ;; -+ esac | -+ sort -+) -+ echo -+ -+ $as_echo "## ----------------- ## -+## Output variables. ## -+## ----------------- ##" -+ echo -+ for ac_var in $ac_subst_vars -+ do -+ eval ac_val=\$$ac_var -+ case $ac_val in -+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; -+ esac -+ $as_echo "$ac_var='\''$ac_val'\''" -+ done | sort -+ echo -+ -+ if test -n "$ac_subst_files"; then -+ $as_echo "## ------------------- ## -+## File substitutions. ## -+## ------------------- ##" -+ echo -+ for ac_var in $ac_subst_files -+ do -+ eval ac_val=\$$ac_var -+ case $ac_val in -+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; -+ esac -+ $as_echo "$ac_var='\''$ac_val'\''" -+ done | sort -+ echo -+ fi -+ -+ if test -s confdefs.h; then -+ $as_echo "## ----------- ## -+## confdefs.h. ## -+## ----------- ##" -+ echo -+ cat confdefs.h -+ echo -+ fi -+ test "$ac_signal" != 0 && -+ $as_echo "$as_me: caught signal $ac_signal" -+ $as_echo "$as_me: exit $exit_status" -+ } >&5 -+ rm -f core *.core core.conftest.* && -+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files && -+ exit $exit_status -+' 0 -+for ac_signal in 1 2 13 15; do -+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -+done -+ac_signal=0 -+ -+# confdefs.h avoids OS command line length limits that DEFS can exceed. -+rm -f -r conftest* confdefs.h -+ -+$as_echo "/* confdefs.h */" > confdefs.h -+ -+# Predefined preprocessor variables. -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_NAME "$PACKAGE_NAME" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_VERSION "$PACKAGE_VERSION" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_STRING "$PACKAGE_STRING" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -+_ACEOF -+ -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_URL "$PACKAGE_URL" -+_ACEOF -+ -+ -+# Let the site file select an alternate cache file if it wants to. -+# Prefer an explicitly selected file to automatically selected ones. -+ac_site_file1=NONE -+ac_site_file2=NONE -+if test -n "$CONFIG_SITE"; then -+ # We do not want a PATH search for config.site. -+ case $CONFIG_SITE in #(( -+ -*) ac_site_file1=./$CONFIG_SITE;; -+ */*) ac_site_file1=$CONFIG_SITE;; -+ *) ac_site_file1=./$CONFIG_SITE;; -+ esac -+elif test "x$prefix" != xNONE; then -+ ac_site_file1=$prefix/share/config.site -+ ac_site_file2=$prefix/etc/config.site -+else -+ ac_site_file1=$ac_default_prefix/share/config.site -+ ac_site_file2=$ac_default_prefix/etc/config.site -+fi -+for ac_site_file in "$ac_site_file1" "$ac_site_file2" -+do -+ test "x$ac_site_file" = xNONE && continue -+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -+$as_echo "$as_me: loading site script $ac_site_file" >&6;} -+ sed 's/^/| /' "$ac_site_file" >&5 -+ . "$ac_site_file" \ -+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error $? "failed to load site script $ac_site_file -+See \`config.log' for more details" "$LINENO" 5; } -+ fi -+done -+ -+if test -r "$cache_file"; then -+ # Some versions of bash will fail to source /dev/null (special files -+ # actually), so we avoid doing that. DJGPP emulates it as a regular file. -+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -+$as_echo "$as_me: loading cache $cache_file" >&6;} -+ case $cache_file in -+ [\\/]* | ?:[\\/]* ) . "$cache_file";; -+ *) . "./$cache_file";; -+ esac -+ fi -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -+$as_echo "$as_me: creating cache $cache_file" >&6;} -+ >$cache_file -+fi -+ -+# Check that the precious variables saved in the cache have kept the same -+# value. -+ac_cache_corrupted=false -+for ac_var in $ac_precious_vars; do -+ eval ac_old_set=\$ac_cv_env_${ac_var}_set -+ eval ac_new_set=\$ac_env_${ac_var}_set -+ eval ac_old_val=\$ac_cv_env_${ac_var}_value -+ eval ac_new_val=\$ac_env_${ac_var}_value -+ case $ac_old_set,$ac_new_set in -+ set,) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} -+ ac_cache_corrupted=: ;; -+ ,set) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} -+ ac_cache_corrupted=: ;; -+ ,);; -+ *) -+ if test "x$ac_old_val" != "x$ac_new_val"; then -+ # differences in whitespace do not lead to failure. -+ ac_old_val_w=`echo x $ac_old_val` -+ ac_new_val_w=`echo x $ac_new_val` -+ if test "$ac_old_val_w" != "$ac_new_val_w"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} -+ ac_cache_corrupted=: -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} -+ eval $ac_var=\$ac_old_val -+ fi -+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} -+ fi;; -+ esac -+ # Pass precious variables to config.status. -+ if test "$ac_new_set" = set; then -+ case $ac_new_val in -+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; -+ *) ac_arg=$ac_var=$ac_new_val ;; -+ esac -+ case " $ac_configure_args " in -+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. -+ *) as_fn_append ac_configure_args " '$ac_arg'" ;; -+ esac -+ fi -+done -+if $ac_cache_corrupted; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} -+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -+fi -+## -------------------- ## -+## Main body of script. ## -+## -------------------- ## -+ -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+ -+ -+ -+ -+ac_aux_dir= -+for ac_dir in ../../../.. "$srcdir"/../../../..; do -+ if test -f "$ac_dir/install-sh"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/install-sh -c" -+ break -+ elif test -f "$ac_dir/install.sh"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/install.sh -c" -+ break -+ elif test -f "$ac_dir/shtool"; then -+ ac_aux_dir=$ac_dir -+ ac_install_sh="$ac_aux_dir/shtool install -c" -+ break -+ fi -+done -+if test -z "$ac_aux_dir"; then -+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in ../../../.. \"$srcdir\"/../../../.." "$LINENO" 5 -+fi -+ -+# These three variables are undocumented and unsupported, -+# and are intended to be withdrawn in a future Autoconf release. -+# They can cause serious problems if a builder's source tree is in a directory -+# whose full name contains unusual characters. -+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -+ -+ -+ -+ -+# Make sure we can run config.sub. -+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || -+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -+$as_echo_n "checking build system type... " >&6; } -+if ${ac_cv_build+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_build_alias=$build_alias -+test "x$ac_build_alias" = x && -+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -+test "x$ac_build_alias" = x && -+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -+$as_echo "$ac_cv_build" >&6; } -+case $ac_cv_build in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -+esac -+build=$ac_cv_build -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_build -+shift -+build_cpu=$1 -+build_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+build_os=$* -+IFS=$ac_save_IFS -+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -+$as_echo_n "checking host system type... " >&6; } -+if ${ac_cv_host+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test "x$host_alias" = x; then -+ ac_cv_host=$ac_cv_build -+else -+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -+fi -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -+$as_echo "$ac_cv_host" >&6; } -+case $ac_cv_host in -+*-*-*) ;; -+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -+esac -+host=$ac_cv_host -+ac_save_IFS=$IFS; IFS='-' -+set x $ac_cv_host -+shift -+host_cpu=$1 -+host_vendor=$2 -+shift; shift -+# Remember, the first character of IFS is used to create $*, -+# except with old shells: -+host_os=$* -+IFS=$ac_save_IFS -+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -+ -+ -+am__api_version='1.11' -+ -+# Find a good install program. We prefer a C program (faster), -+# so one script is as good as another. But avoid the broken or -+# incompatible versions: -+# SysV /etc/install, /usr/sbin/install -+# SunOS /usr/etc/install -+# IRIX /sbin/install -+# AIX /bin/install -+# AmigaOS /C/install, which installs bootblocks on floppy discs -+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -+# AFS /usr/afsws/bin/install, which mishandles nonexistent args -+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -+# OS/2's system install, which has a completely different semantic -+# ./install, which can be erroneously created by make from ./install.sh. -+# Reject install programs that cannot install multiple files. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -+$as_echo_n "checking for a BSD-compatible install... " >&6; } -+if test -z "$INSTALL"; then -+if ${ac_cv_path_install+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ # Account for people who put trailing slashes in PATH elements. -+case $as_dir/ in #(( -+ ./ | .// | /[cC]/* | \ -+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ -+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ -+ /usr/ucb/* ) ;; -+ *) -+ # OSF1 and SCO ODT 3.0 have their own names for install. -+ # Don't use installbsd from OSF since it installs stuff as root -+ # by default. -+ for ac_prog in ginstall scoinst install; do -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then -+ if test $ac_prog = install && -+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # AIX install. It has an incompatible calling convention. -+ : -+ elif test $ac_prog = install && -+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then -+ # program-specific install script used by HP pwplus--don't use. -+ : -+ else -+ rm -rf conftest.one conftest.two conftest.dir -+ echo one > conftest.one -+ echo two > conftest.two -+ mkdir conftest.dir -+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && -+ test -s conftest.one && test -s conftest.two && -+ test -s conftest.dir/conftest.one && -+ test -s conftest.dir/conftest.two -+ then -+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" -+ break 3 -+ fi -+ fi -+ fi -+ done -+ done -+ ;; -+esac -+ -+ done -+IFS=$as_save_IFS -+ -+rm -rf conftest.one conftest.two conftest.dir -+ -+fi -+ if test "${ac_cv_path_install+set}" = set; then -+ INSTALL=$ac_cv_path_install -+ else -+ # As a last resort, use the slow shell script. Don't cache a -+ # value for INSTALL within a source directory, because that will -+ # break other packages using the cache if that directory is -+ # removed, or if the value is a relative name. -+ INSTALL=$ac_install_sh -+ fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -+$as_echo "$INSTALL" >&6; } -+ -+# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -+# It thinks the first close brace ends the variable substitution. -+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' -+ -+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' -+ -+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -+$as_echo_n "checking whether build environment is sane... " >&6; } -+# Just in case -+sleep 1 -+echo timestamp > conftest.file -+# Reject unsafe characters in $srcdir or the absolute working directory -+# name. Accept space and tab only in the latter. -+am_lf=' -+' -+case `pwd` in -+ *[\\\"\#\$\&\'\`$am_lf]*) -+ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -+esac -+case $srcdir in -+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*) -+ as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; -+esac -+ -+# Do `set' in a subshell so we don't clobber the current shell's -+# arguments. Must try -L first in case configure is actually a -+# symlink; some systems play weird games with the mod time of symlinks -+# (eg FreeBSD returns the mod time of the symlink's containing -+# directory). -+if ( -+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` -+ if test "$*" = "X"; then -+ # -L didn't work. -+ set X `ls -t "$srcdir/configure" conftest.file` -+ fi -+ rm -f conftest.file -+ if test "$*" != "X $srcdir/configure conftest.file" \ -+ && test "$*" != "X conftest.file $srcdir/configure"; then -+ -+ # If neither matched, then we have a broken ls. This can happen -+ # if, for instance, CONFIG_SHELL is bash and it inherits a -+ # broken ls alias from the environment. This has actually -+ # happened. Such a system could not be considered "sane". -+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken -+alias in your environment" "$LINENO" 5 -+ fi -+ -+ test "$2" = conftest.file -+ ) -+then -+ # Ok. -+ : -+else -+ as_fn_error $? "newly created file is older than distributed files! -+Check your system clock" "$LINENO" 5 -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+$as_echo "yes" >&6; } -+test "$program_prefix" != NONE && -+ program_transform_name="s&^&$program_prefix&;$program_transform_name" -+# Use a double $ so make ignores it. -+test "$program_suffix" != NONE && -+ program_transform_name="s&\$&$program_suffix&;$program_transform_name" -+# Double any \ or $. -+# By default was `s,x,x', remove it if useless. -+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` -+ -+# expand $ac_aux_dir to an absolute path -+am_aux_dir=`cd $ac_aux_dir && pwd` -+ -+if test x"${MISSING+set}" != xset; then -+ case $am_aux_dir in -+ *\ * | *\ *) -+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; -+ *) -+ MISSING="\${SHELL} $am_aux_dir/missing" ;; -+ esac -+fi -+# Use eval to expand $SHELL -+if eval "$MISSING --run true"; then -+ am_missing_run="$MISSING --run " -+else -+ am_missing_run= -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 -+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -+fi -+ -+if test x"${install_sh}" != xset; then -+ case $am_aux_dir in -+ *\ * | *\ *) -+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; -+ *) -+ install_sh="\${SHELL} $am_aux_dir/install-sh" -+ esac -+fi -+ -+# Installed binaries are usually stripped using `strip' when the user -+# run `make install-strip'. However `strip' might not be the right -+# tool to use in cross-compilation environments, therefore Automake -+# will honor the `STRIP' environment variable to overrule this program. -+if test "$cross_compiling" != no; then -+ if test -n "$ac_tool_prefix"; then -+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -+set dummy ${ac_tool_prefix}strip; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_STRIP+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$STRIP"; then -+ ac_cv_prog_STRIP="$STRIP" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_STRIP="${ac_tool_prefix}strip" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+STRIP=$ac_cv_prog_STRIP -+if test -n "$STRIP"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -+$as_echo "$STRIP" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+fi -+if test -z "$ac_cv_prog_STRIP"; then -+ ac_ct_STRIP=$STRIP -+ # Extract the first word of "strip", so it can be a program name with args. -+set dummy strip; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_ac_ct_STRIP+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$ac_ct_STRIP"; then -+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_ac_ct_STRIP="strip" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -+if test -n "$ac_ct_STRIP"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -+$as_echo "$ac_ct_STRIP" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ if test "x$ac_ct_STRIP" = x; then -+ STRIP=":" -+ else -+ case $cross_compiling:$ac_tool_warned in -+yes:) -+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -+ac_tool_warned=yes ;; -+esac -+ STRIP=$ac_ct_STRIP -+ fi -+else -+ STRIP="$ac_cv_prog_STRIP" -+fi -+ -+fi -+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -+if test -z "$MKDIR_P"; then -+ if ${ac_cv_path_mkdir+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_prog in mkdir gmkdir; do -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue -+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( -+ 'mkdir (GNU coreutils) '* | \ -+ 'mkdir (coreutils) '* | \ -+ 'mkdir (fileutils) '4.1*) -+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext -+ break 3;; -+ esac -+ done -+ done -+ done -+IFS=$as_save_IFS -+ -+fi -+ -+ test -d ./--version && rmdir ./--version -+ if test "${ac_cv_path_mkdir+set}" = set; then -+ MKDIR_P="$ac_cv_path_mkdir -p" -+ else -+ # As a last resort, use the slow shell script. Don't cache a -+ # value for MKDIR_P within a source directory, because that will -+ # break other packages using the cache if that directory is -+ # removed, or if the value is a relative name. -+ MKDIR_P="$ac_install_sh -d" -+ fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -+$as_echo "$MKDIR_P" >&6; } -+ -+mkdir_p="$MKDIR_P" -+case $mkdir_p in -+ [\\/$]* | ?:[\\/]*) ;; -+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -+esac -+ -+for ac_prog in gawk mawk nawk awk -+do -+ # Extract the first word of "$ac_prog", so it can be a program name with args. -+set dummy $ac_prog; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_AWK+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$AWK"; then -+ ac_cv_prog_AWK="$AWK" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_AWK="$ac_prog" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+AWK=$ac_cv_prog_AWK -+if test -n "$AWK"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -+$as_echo "$AWK" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+ test -n "$AWK" && break -+done -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -+set x ${MAKE-make} -+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat >conftest.make <<\_ACEOF -+SHELL = /bin/sh -+all: -+ @echo '@@@%%%=$(MAKE)=@@@%%%' -+_ACEOF -+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -+case `${MAKE-make} -f conftest.make 2>/dev/null` in -+ *@@@%%%=?*=@@@%%%*) -+ eval ac_cv_prog_make_${ac_make}_set=yes;; -+ *) -+ eval ac_cv_prog_make_${ac_make}_set=no;; -+esac -+rm -f conftest.make -+fi -+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+$as_echo "yes" >&6; } -+ SET_MAKE= -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+ SET_MAKE="MAKE=${MAKE-make}" -+fi -+ -+rm -rf .tst 2>/dev/null -+mkdir .tst 2>/dev/null -+if test -d .tst; then -+ am__leading_dot=. -+else -+ am__leading_dot=_ -+fi -+rmdir .tst 2>/dev/null -+ -+DEPDIR="${am__leading_dot}deps" -+ -+ac_config_commands="$ac_config_commands depfiles" -+ -+ -+am_make=${MAKE-make} -+cat > confinc << 'END' -+am__doit: -+ @echo this is the am__doit target -+.PHONY: am__doit -+END -+# If we don't find an include directive, just comment out the code. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -+$as_echo_n "checking for style of include used by $am_make... " >&6; } -+am__include="#" -+am__quote= -+_am_result=none -+# First try GNU make style include. -+echo "include confinc" > confmf -+# Ignore all kinds of additional output from `make'. -+case `$am_make -s -f confmf 2> /dev/null` in #( -+*the\ am__doit\ target*) -+ am__include=include -+ am__quote= -+ _am_result=GNU -+ ;; -+esac -+# Now try BSD make style include. -+if test "$am__include" = "#"; then -+ echo '.include "confinc"' > confmf -+ case `$am_make -s -f confmf 2> /dev/null` in #( -+ *the\ am__doit\ target*) -+ am__include=.include -+ am__quote="\"" -+ _am_result=BSD -+ ;; -+ esac -+fi -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -+$as_echo "$_am_result" >&6; } -+rm -f confinc confmf -+ -+# Check whether --enable-dependency-tracking was given. -+if test "${enable_dependency_tracking+set}" = set; then : -+ enableval=$enable_dependency_tracking; -+fi -+ -+if test "x$enable_dependency_tracking" != xno; then -+ am_depcomp="$ac_aux_dir/depcomp" -+ AMDEPBACKSLASH='\' -+fi -+ if test "x$enable_dependency_tracking" != xno; then -+ AMDEP_TRUE= -+ AMDEP_FALSE='#' -+else -+ AMDEP_TRUE='#' -+ AMDEP_FALSE= -+fi -+ -+ -+ -+# Check whether --enable-multilib was given. -+if test "${enable_multilib+set}" = set; then : -+ enableval=$enable_multilib; case "${enableval}" in -+ yes) multilib=yes ;; -+ no) multilib=no ;; -+ *) as_fn_error $? "bad value ${enableval} for multilib option" "$LINENO" 5 ;; -+ esac -+else -+ multilib=yes -+fi -+ -+# Check whether --enable-target-optspace was given. -+if test "${enable_target_optspace+set}" = set; then : -+ enableval=$enable_target_optspace; case "${enableval}" in -+ yes) target_optspace=yes ;; -+ no) target_optspace=no ;; -+ *) as_fn_error $? "bad value ${enableval} for target-optspace option" "$LINENO" 5 ;; -+ esac -+else -+ target_optspace= -+fi -+ -+# Check whether --enable-malloc-debugging was given. -+if test "${enable_malloc_debugging+set}" = set; then : -+ enableval=$enable_malloc_debugging; case "${enableval}" in -+ yes) malloc_debugging=yes ;; -+ no) malloc_debugging=no ;; -+ *) as_fn_error $? "bad value ${enableval} for malloc-debugging option" "$LINENO" 5 ;; -+ esac -+else -+ malloc_debugging= -+fi -+ -+# Check whether --enable-newlib-multithread was given. -+if test "${enable_newlib_multithread+set}" = set; then : -+ enableval=$enable_newlib_multithread; case "${enableval}" in -+ yes) newlib_multithread=yes ;; -+ no) newlib_multithread=no ;; -+ *) as_fn_error $? "bad value ${enableval} for newlib-multithread option" "$LINENO" 5 ;; -+ esac -+else -+ newlib_multithread=yes -+fi -+ -+# Check whether --enable-newlib-iconv was given. -+if test "${enable_newlib_iconv+set}" = set; then : -+ enableval=$enable_newlib_iconv; if test "${newlib_iconv+set}" != set; then -+ case "${enableval}" in -+ yes) newlib_iconv=yes ;; -+ no) newlib_iconv=no ;; -+ *) as_fn_error $? "bad value ${enableval} for newlib-iconv option" "$LINENO" 5 ;; -+ esac -+ fi -+else -+ newlib_iconv=${newlib_iconv} -+fi -+ -+# Check whether --enable-newlib-elix-level was given. -+if test "${enable_newlib_elix_level+set}" = set; then : -+ enableval=$enable_newlib_elix_level; case "${enableval}" in -+ 0) newlib_elix_level=0 ;; -+ 1) newlib_elix_level=1 ;; -+ 2) newlib_elix_level=2 ;; -+ 3) newlib_elix_level=3 ;; -+ 4) newlib_elix_level=4 ;; -+ *) as_fn_error $? "bad value ${enableval} for newlib-elix-level option" "$LINENO" 5 ;; -+ esac -+else -+ newlib_elix_level=0 -+fi -+ -+# Check whether --enable-newlib-io-float was given. -+if test "${enable_newlib_io_float+set}" = set; then : -+ enableval=$enable_newlib_io_float; case "${enableval}" in -+ yes) newlib_io_float=yes ;; -+ no) newlib_io_float=no ;; -+ *) as_fn_error $? "bad value ${enableval} for newlib-io-float option" "$LINENO" 5 ;; -+ esac -+else -+ newlib_io_float=yes -+fi -+ -+# Check whether --enable-newlib-supplied-syscalls was given. -+if test "${enable_newlib_supplied_syscalls+set}" = set; then : -+ enableval=$enable_newlib_supplied_syscalls; case "${enableval}" in -+ yes) newlib_may_supply_syscalls=yes ;; -+ no) newlib_may_supply_syscalls=no ;; -+ *) as_fn_error $? "bad value ${enableval} for newlib-supplied-syscalls option" "$LINENO" 5 ;; -+ esac -+else -+ newlib_may_supply_syscalls=yes -+fi -+ -+ if test x${newlib_may_supply_syscalls} = xyes; then -+ MAY_SUPPLY_SYSCALLS_TRUE= -+ MAY_SUPPLY_SYSCALLS_FALSE='#' -+else -+ MAY_SUPPLY_SYSCALLS_TRUE='#' -+ MAY_SUPPLY_SYSCALLS_FALSE= -+fi -+ -+ -+ -+test -z "${with_target_subdir}" && with_target_subdir=. -+ -+if test "${srcdir}" = "."; then -+ if test "${with_target_subdir}" != "."; then -+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.." -+ else -+ newlib_basedir="${srcdir}/${with_multisrctop}../../.." -+ fi -+else -+ newlib_basedir="${srcdir}/../../.." -+fi -+ -+ -+ -+ -+if test "`cd $srcdir && pwd`" != "`pwd`"; then -+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output -+ # is not polluted with repeated "-I." -+ am__isrc=' -I$(srcdir)' -+ # test to see if srcdir already configured -+ if test -f $srcdir/config.status; then -+ as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 -+ fi -+fi -+ -+# test whether we have cygpath -+if test -z "$CYGPATH_W"; then -+ if (cygpath --version) >/dev/null 2>/dev/null; then -+ CYGPATH_W='cygpath -w' -+ else -+ CYGPATH_W=echo -+ fi -+fi -+ -+ -+# Define the identity of the package. -+ PACKAGE='newlib' -+ VERSION='1.20.0' -+ -+ -+# Some tools Automake needs. -+ -+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} -+ -+ -+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} -+ -+ -+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} -+ -+ -+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} -+ -+ -+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} -+ -+# We need awk for the "check" target. The system "awk" is bad on -+# some platforms. -+# Always define AMTAR for backward compatibility. -+ -+AMTAR=${AMTAR-"${am_missing_run}tar"} -+ -+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' -+ -+ -+ -+ -+ -+ -+# FIXME: We temporarily define our own version of AC_PROG_CC. This is -+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We -+# are probably using a cross compiler, which will not be able to fully -+# link an executable. This should really be fixed in autoconf -+# itself. -+ -+ -+ -+ -+ -+ -+ -+# Extract the first word of "gcc", so it can be a program name with args. -+set dummy gcc; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_CC+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_CC="gcc" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -+$as_echo "$CC" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+ -+depcc="$CC" am_compiler_list= -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -+$as_echo_n "checking dependency style of $depcc... " >&6; } -+if ${am_cv_CC_dependencies_compiler_type+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+ # We make a subdir and do the tests there. Otherwise we can end up -+ # making bogus files that we don't know about and never remove. For -+ # instance it was reported that on HP-UX the gcc test will end up -+ # making a dummy file named `D' -- because `-MD' means `put the output -+ # in D'. -+ mkdir conftest.dir -+ # Copy depcomp to subdir because otherwise we won't find it if we're -+ # using a relative directory. -+ cp "$am_depcomp" conftest.dir -+ cd conftest.dir -+ # We will build objects and dependencies in a subdirectory because -+ # it helps to detect inapplicable dependency modes. For instance -+ # both Tru64's cc and ICC support -MD to output dependencies as a -+ # side effect of compilation, but ICC will put the dependencies in -+ # the current directory while Tru64 will put them in the object -+ # directory. -+ mkdir sub -+ -+ am_cv_CC_dependencies_compiler_type=none -+ if test "$am_compiler_list" = ""; then -+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` -+ fi -+ am__universal=false -+ case " $depcc " in #( -+ *\ -arch\ *\ -arch\ *) am__universal=true ;; -+ esac -+ -+ for depmode in $am_compiler_list; do -+ # Setup a source with many dependencies, because some compilers -+ # like to wrap large dependency lists on column 80 (with \), and -+ # we should not choose a depcomp mode which is confused by this. -+ # -+ # We need to recreate these files for each test, as the compiler may -+ # overwrite some of them when testing with obscure command lines. -+ # This happens at least with the AIX C compiler. -+ : > sub/conftest.c -+ for i in 1 2 3 4 5 6; do -+ echo '#include "conftst'$i'.h"' >> sub/conftest.c -+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -+ # Solaris 8's {/usr,}/bin/sh. -+ touch sub/conftst$i.h -+ done -+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf -+ -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. Also, some Intel -+ # versions had trouble with output in subdirs -+ am__obj=sub/conftest.${OBJEXT-o} -+ am__minus_obj="-o $am__obj" -+ case $depmode in -+ gcc) -+ # This depmode causes a compiler race in universal mode. -+ test "$am__universal" = false || continue -+ ;; -+ nosideeffect) -+ # after this tag, mechanisms are not by side-effect, so they'll -+ # only be used when explicitly requested -+ if test "x$enable_dependency_tracking" = xyes; then -+ continue -+ else -+ break -+ fi -+ ;; -+ msvisualcpp | msvcmsys) -+ # This compiler won't grok `-c -o', but also, the minuso test has -+ # not run yet. These depmodes are late enough in the game, and -+ # so weak that their functioning should not be impacted. -+ am__obj=conftest.${OBJEXT-o} -+ am__minus_obj= -+ ;; -+ none) break ;; -+ esac -+ if depmode=$depmode \ -+ source=sub/conftest.c object=$am__obj \ -+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ -+ >/dev/null 2>conftest.err && -+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && -+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 && -+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+ # icc doesn't choke on unknown options, it will just issue warnings -+ # or remarks (even with -Werror). So we grep stderr for any message -+ # that says an option was ignored or not supported. -+ # When given -MP, icc 7.0 and 7.1 complain thusly: -+ # icc: Command line warning: ignoring option '-M'; no argument required -+ # The diagnosis changed in icc 8.0: -+ # icc: Command line remark: option '-MP' not supported -+ if (grep 'ignoring option' conftest.err || -+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -+ am_cv_CC_dependencies_compiler_type=$depmode -+ break -+ fi -+ fi -+ done -+ -+ cd .. -+ rm -rf conftest.dir -+else -+ am_cv_CC_dependencies_compiler_type=none -+fi -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type -+ -+ if -+ test "x$enable_dependency_tracking" != xno \ -+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then -+ am__fastdepCC_TRUE= -+ am__fastdepCC_FALSE='#' -+else -+ am__fastdepCC_TRUE='#' -+ am__fastdepCC_FALSE= -+fi -+ -+ -+if test -z "$CC"; then -+ # Extract the first word of "cc", so it can be a program name with args. -+set dummy cc; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_CC+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+ ac_prog_rejected=no -+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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then -+ ac_prog_rejected=yes -+ continue -+ fi -+ ac_cv_prog_CC="cc" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+if test $ac_prog_rejected = yes; then -+ # We found a bogon in the path, so make sure we never use it. -+ set dummy $ac_cv_prog_CC -+ shift -+ if test $# != 0; then -+ # We chose a different compiler from the bogus one. -+ # However, it has the same basename, so the bogon will be chosen -+ # first if we set CC to just the basename; use the full file name. -+ shift -+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" -+ fi -+fi -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -+$as_echo "$CC" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+ test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5 -+fi -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5 -+$as_echo_n "checking whether we are using GNU C... " >&6; } -+if ${ac_cv_c_compiler_gnu+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat > conftest.c <<EOF -+#ifdef __GNUC__ -+ yes; -+#endif -+EOF -+if { ac_try='${CC-cc} -E conftest.c' -+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then -+ ac_cv_c_compiler_gnu=yes -+else -+ ac_cv_c_compiler_gnu=no -+fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -+$as_echo "$ac_cv_c_compiler_gnu" >&6; } -+ -+if test $ac_cv_c_compiler_gnu = yes; then -+ GCC=yes -+ ac_test_CFLAGS="${CFLAGS+set}" -+ ac_save_CFLAGS="$CFLAGS" -+ ac_test_CFLAGS=${CFLAGS+set} -+ac_save_CFLAGS=$CFLAGS -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -+$as_echo_n "checking whether $CC accepts -g... " >&6; } -+if ${ac_cv_prog_cc_g+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_save_c_werror_flag=$ac_c_werror_flag -+ ac_c_werror_flag=yes -+ ac_cv_prog_cc_g=no -+ CFLAGS="-g" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ ac_cv_prog_cc_g=yes -+else -+ CFLAGS="" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ -+else -+ ac_c_werror_flag=$ac_save_c_werror_flag -+ CFLAGS="-g" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ ac_cv_prog_cc_g=yes -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ ac_c_werror_flag=$ac_save_c_werror_flag -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -+$as_echo "$ac_cv_prog_cc_g" >&6; } -+if test "$ac_test_CFLAGS" = set; then -+ CFLAGS=$ac_save_CFLAGS -+elif test $ac_cv_prog_cc_g = yes; then -+ if test "$GCC" = yes; then -+ CFLAGS="-g -O2" -+ else -+ CFLAGS="-g" -+ fi -+else -+ if test "$GCC" = yes; then -+ CFLAGS="-O2" -+ else -+ CFLAGS= -+ fi -+fi -+ if test "$ac_test_CFLAGS" = set; then -+ CFLAGS="$ac_save_CFLAGS" -+ elif test $ac_cv_prog_cc_g = yes; then -+ CFLAGS="-g -O2" -+ else -+ CFLAGS="-O2" -+ fi -+else -+ GCC= -+ test "${CFLAGS+set}" = set || CFLAGS="-g" -+fi -+ -+ -+if test -n "$ac_tool_prefix"; then -+ # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. -+set dummy ${ac_tool_prefix}as; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_AS+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$AS"; then -+ ac_cv_prog_AS="$AS" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_AS="${ac_tool_prefix}as" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+AS=$ac_cv_prog_AS -+if test -n "$AS"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 -+$as_echo "$AS" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+fi -+if test -z "$ac_cv_prog_AS"; then -+ ac_ct_AS=$AS -+ # Extract the first word of "as", so it can be a program name with args. -+set dummy as; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_ac_ct_AS+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$ac_ct_AS"; then -+ ac_cv_prog_ac_ct_AS="$ac_ct_AS" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_ac_ct_AS="as" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+ac_ct_AS=$ac_cv_prog_ac_ct_AS -+if test -n "$ac_ct_AS"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 -+$as_echo "$ac_ct_AS" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ if test "x$ac_ct_AS" = x; then -+ AS="" -+ else -+ case $cross_compiling:$ac_tool_warned in -+yes:) -+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -+ac_tool_warned=yes ;; -+esac -+ AS=$ac_ct_AS -+ fi -+else -+ AS="$ac_cv_prog_AS" -+fi -+ -+if test -n "$ac_tool_prefix"; then -+ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -+set dummy ${ac_tool_prefix}ar; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_AR+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$AR"; then -+ ac_cv_prog_AR="$AR" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_AR="${ac_tool_prefix}ar" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+AR=$ac_cv_prog_AR -+if test -n "$AR"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -+$as_echo "$AR" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+fi -+if test -z "$ac_cv_prog_AR"; then -+ ac_ct_AR=$AR -+ # Extract the first word of "ar", so it can be a program name with args. -+set dummy ar; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_ac_ct_AR+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$ac_ct_AR"; then -+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_ac_ct_AR="ar" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+ac_ct_AR=$ac_cv_prog_ac_ct_AR -+if test -n "$ac_ct_AR"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -+$as_echo "$ac_ct_AR" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ if test "x$ac_ct_AR" = x; then -+ AR="" -+ else -+ case $cross_compiling:$ac_tool_warned in -+yes:) -+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -+ac_tool_warned=yes ;; -+esac -+ AR=$ac_ct_AR -+ fi -+else -+ AR="$ac_cv_prog_AR" -+fi -+ -+if test -n "$ac_tool_prefix"; then -+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -+set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_RANLIB+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$RANLIB"; then -+ ac_cv_prog_RANLIB="$RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+RANLIB=$ac_cv_prog_RANLIB -+if test -n "$RANLIB"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -+$as_echo "$RANLIB" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+fi -+if test -z "$ac_cv_prog_RANLIB"; then -+ ac_ct_RANLIB=$RANLIB -+ # Extract the first word of "ranlib", so it can be a program name with args. -+set dummy ranlib; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$ac_ct_RANLIB"; then -+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_ac_ct_RANLIB="ranlib" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -+if test -n "$ac_ct_RANLIB"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -+$as_echo "$ac_ct_RANLIB" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ if test "x$ac_ct_RANLIB" = x; then -+ RANLIB=":" -+ else -+ case $cross_compiling:$ac_tool_warned in -+yes:) -+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -+ac_tool_warned=yes ;; -+esac -+ RANLIB=$ac_ct_RANLIB -+ fi -+else -+ RANLIB="$ac_cv_prog_RANLIB" -+fi -+ -+if test -n "$ac_tool_prefix"; then -+ # Extract the first word of "${ac_tool_prefix}readelf", so it can be a program name with args. -+set dummy ${ac_tool_prefix}readelf; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_READELF+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$READELF"; then -+ ac_cv_prog_READELF="$READELF" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_READELF="${ac_tool_prefix}readelf" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+READELF=$ac_cv_prog_READELF -+if test -n "$READELF"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READELF" >&5 -+$as_echo "$READELF" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+fi -+if test -z "$ac_cv_prog_READELF"; then -+ ac_ct_READELF=$READELF -+ # Extract the first word of "readelf", so it can be a program name with args. -+set dummy readelf; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_ac_ct_READELF+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$ac_ct_READELF"; then -+ ac_cv_prog_ac_ct_READELF="$ac_ct_READELF" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_ac_ct_READELF="readelf" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+ac_ct_READELF=$ac_cv_prog_ac_ct_READELF -+if test -n "$ac_ct_READELF"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_READELF" >&5 -+$as_echo "$ac_ct_READELF" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ if test "x$ac_ct_READELF" = x; then -+ READELF=":" -+ else -+ case $cross_compiling:$ac_tool_warned in -+yes:) -+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -+ac_tool_warned=yes ;; -+esac -+ READELF=$ac_ct_READELF -+ fi -+else -+ READELF="$ac_cv_prog_READELF" -+fi -+ -+ -+ -+ -+# Hack to ensure that INSTALL won't be set to "../" with autoconf 2.13. */ -+ac_given_INSTALL=$INSTALL -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 -+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } -+ # Check whether --enable-maintainer-mode was given. -+if test "${enable_maintainer_mode+set}" = set; then : -+ enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval -+else -+ USE_MAINTAINER_MODE=no -+fi -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 -+$as_echo "$USE_MAINTAINER_MODE" >&6; } -+ if test $USE_MAINTAINER_MODE = yes; then -+ MAINTAINER_MODE_TRUE= -+ MAINTAINER_MODE_FALSE='#' -+else -+ MAINTAINER_MODE_TRUE='#' -+ MAINTAINER_MODE_FALSE= -+fi -+ -+ MAINT=$MAINTAINER_MODE_TRUE -+ -+ -+# By default we simply use the C compiler to build assembly code. -+ -+test "${CCAS+set}" = set || CCAS=$CC -+test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS -+ -+ -+ -+ -+# We need AC_EXEEXT to keep automake happy in cygnus mode. However, -+# at least currently, we never actually build a program, so we never -+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally -+# fails, because we are probably configuring with a cross compiler -+# which can't create executables. So we include AC_EXEEXT to keep -+# automake happy, but we don't execute it, since we don't care about -+# the result. -+if false; then -+ -+ dummy_var=1 -+fi -+ -+. ${newlib_basedir}/configure.host -+ -+newlib_cflags="${newlib_cflags} -fno-builtin" -+ -+NEWLIB_CFLAGS=${newlib_cflags} -+ -+ -+NO_INCLUDE_LIST=${noinclude} -+ -+ -+LDFLAGS=${ldflags} -+ -+ -+ if test x${newlib_elix_level} = x0; then -+ ELIX_LEVEL_0_TRUE= -+ ELIX_LEVEL_0_FALSE='#' -+else -+ ELIX_LEVEL_0_TRUE='#' -+ ELIX_LEVEL_0_FALSE= -+fi -+ -+ if test x${newlib_elix_level} = x1; then -+ ELIX_LEVEL_1_TRUE= -+ ELIX_LEVEL_1_FALSE='#' -+else -+ ELIX_LEVEL_1_TRUE='#' -+ ELIX_LEVEL_1_FALSE= -+fi -+ -+ if test x${newlib_elix_level} = x2; then -+ ELIX_LEVEL_2_TRUE= -+ ELIX_LEVEL_2_FALSE='#' -+else -+ ELIX_LEVEL_2_TRUE='#' -+ ELIX_LEVEL_2_FALSE= -+fi -+ -+ if test x${newlib_elix_level} = x3; then -+ ELIX_LEVEL_3_TRUE= -+ ELIX_LEVEL_3_FALSE='#' -+else -+ ELIX_LEVEL_3_TRUE='#' -+ ELIX_LEVEL_3_FALSE= -+fi -+ -+ if test x${newlib_elix_level} = x4; then -+ ELIX_LEVEL_4_TRUE= -+ ELIX_LEVEL_4_FALSE='#' -+else -+ ELIX_LEVEL_4_TRUE='#' -+ ELIX_LEVEL_4_FALSE= -+fi -+ -+ -+ if test x${use_libtool} = xyes; then -+ USE_LIBTOOL_TRUE= -+ USE_LIBTOOL_FALSE='#' -+else -+ USE_LIBTOOL_TRUE='#' -+ USE_LIBTOOL_FALSE= -+fi -+ -+ -+# Hard-code OBJEXT. Normally it is set by AC_OBJEXT, but we -+# use oext, which is set in configure.host based on the target platform. -+OBJEXT=${oext} -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ac_config_files="$ac_config_files Makefile" -+ -+cat >confcache <<\_ACEOF -+# This file is a shell script that caches the results of configure -+# tests run on this system so they can be shared between configure -+# scripts and configure runs, see configure's option --config-cache. -+# It is not useful on other systems. If it contains results you don't -+# want to keep, you may remove or edit it. -+# -+# config.status only pays attention to the cache file if you give it -+# the --recheck option to rerun configure. -+# -+# `ac_cv_env_foo' variables (set or unset) will be overridden when -+# loading this file, other *unset* `ac_cv_foo' will be assigned the -+# following values. -+ -+_ACEOF -+ -+# The following way of writing the cache mishandles newlines in values, -+# but we know of no workaround that is simple, portable, and efficient. -+# So, we kill variables containing newlines. -+# Ultrix sh set writes to stderr and can't be redirected directly, -+# and sets the high bit in the cache file unless we assign to the vars. -+( -+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do -+ eval ac_val=\$$ac_var -+ case $ac_val in #( -+ *${as_nl}*) -+ case $ac_var in #( -+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; -+ esac -+ case $ac_var in #( -+ _ | IFS | as_nl) ;; #( -+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( -+ *) { eval $ac_var=; unset $ac_var;} ;; -+ esac ;; -+ esac -+ done -+ -+ (set) 2>&1 | -+ case $as_nl`(ac_space=' '; set) 2>&1` in #( -+ *${as_nl}ac_space=\ *) -+ # `set' does not quote correctly, so add quotes: double-quote -+ # substitution turns \\\\ into \\, and sed turns \\ into \. -+ sed -n \ -+ "s/'/'\\\\''/g; -+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" -+ ;; #( -+ *) -+ # `set' quotes correctly as required by POSIX, so do not add quotes. -+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" -+ ;; -+ esac | -+ sort -+) | -+ sed ' -+ /^ac_cv_env_/b end -+ t clear -+ :clear -+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ -+ t end -+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ -+ :end' >>confcache -+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else -+ if test -w "$cache_file"; then -+ if test "x$cache_file" != "x/dev/null"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -+$as_echo "$as_me: updating cache $cache_file" >&6;} -+ if test ! -f "$cache_file" || test -h "$cache_file"; then -+ cat confcache >"$cache_file" -+ else -+ case $cache_file in #( -+ */* | ?:*) -+ mv -f confcache "$cache_file"$$ && -+ mv -f "$cache_file"$$ "$cache_file" ;; #( -+ *) -+ mv -f confcache "$cache_file" ;; -+ esac -+ fi -+ fi -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} -+ fi -+fi -+rm -f confcache -+ -+test "x$prefix" = xNONE && prefix=$ac_default_prefix -+# Let make expand exec_prefix. -+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -+ -+# Transform confdefs.h into DEFS. -+# Protect against shell expansion while executing Makefile rules. -+# Protect against Makefile macro expansion. -+# -+# If the first sed substitution is executed (which looks for macros that -+# take arguments), then branch to the quote section. Otherwise, -+# look for a macro that doesn't take arguments. -+ac_script=' -+:mline -+/\\$/{ -+ N -+ s,\\\n,, -+ b mline -+} -+t clear -+:clear -+s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g -+t quote -+s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g -+t quote -+b any -+:quote -+s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g -+s/\[/\\&/g -+s/\]/\\&/g -+s/\$/$$/g -+H -+:any -+${ -+ g -+ s/^\n// -+ s/\n/ /g -+ p -+} -+' -+DEFS=`sed -n "$ac_script" confdefs.h` -+ -+ -+ac_libobjs= -+ac_ltlibobjs= -+U= -+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue -+ # 1. Remove the extension, and $U if already installed. -+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' -+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"` -+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR -+ # will be set to the directory where LIBOBJS objects are built. -+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" -+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -+done -+LIBOBJS=$ac_libobjs -+ -+LTLIBOBJS=$ac_ltlibobjs -+ -+ -+if test -z "${MAY_SUPPLY_SYSCALLS_TRUE}" && test -z "${MAY_SUPPLY_SYSCALLS_FALSE}"; then -+ as_fn_error $? "conditional \"MAY_SUPPLY_SYSCALLS\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+ -+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then -+ as_fn_error $? "conditional \"AMDEP\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then -+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then -+ as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+if test -z "${ELIX_LEVEL_0_TRUE}" && test -z "${ELIX_LEVEL_0_FALSE}"; then -+ as_fn_error $? "conditional \"ELIX_LEVEL_0\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+if test -z "${ELIX_LEVEL_1_TRUE}" && test -z "${ELIX_LEVEL_1_FALSE}"; then -+ as_fn_error $? "conditional \"ELIX_LEVEL_1\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+if test -z "${ELIX_LEVEL_2_TRUE}" && test -z "${ELIX_LEVEL_2_FALSE}"; then -+ as_fn_error $? "conditional \"ELIX_LEVEL_2\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+if test -z "${ELIX_LEVEL_3_TRUE}" && test -z "${ELIX_LEVEL_3_FALSE}"; then -+ as_fn_error $? "conditional \"ELIX_LEVEL_3\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+if test -z "${ELIX_LEVEL_4_TRUE}" && test -z "${ELIX_LEVEL_4_FALSE}"; then -+ as_fn_error $? "conditional \"ELIX_LEVEL_4\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+if test -z "${USE_LIBTOOL_TRUE}" && test -z "${USE_LIBTOOL_FALSE}"; then -+ as_fn_error $? "conditional \"USE_LIBTOOL\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+ -+: "${CONFIG_STATUS=./config.status}" -+ac_write_fail=0 -+ac_clean_files_save=$ac_clean_files -+ac_clean_files="$ac_clean_files $CONFIG_STATUS" -+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -+as_write_fail=0 -+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -+#! $SHELL -+# Generated by $as_me. -+# Run this file to recreate the current configuration. -+# Compiler output produced by configure, useful for debugging -+# configure, is in config.log if it exists. -+ -+debug=false -+ac_cs_recheck=false -+ac_cs_silent=false -+ -+SHELL=\${CONFIG_SHELL-$SHELL} -+export SHELL -+_ASEOF -+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -+## -------------------- ## -+## M4sh Initialization. ## -+## -------------------- ## -+ -+# Be more Bourne compatible -+DUALCASE=1; export DUALCASE # for MKS sh -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '${1+"$@"}'='"$@"' -+ setopt NO_GLOB_SUBST -+else -+ case `(set -o) 2>/dev/null` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac -+fi -+ -+ -+as_nl=' -+' -+export as_nl -+# Printing a long string crashes Solaris 7 /usr/bin/printf. -+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -+# Prefer a ksh shell builtin over an external printf program on Solaris, -+# but without wasting forks for bash or zsh. -+if test -z "$BASH_VERSION$ZSH_VERSION" \ -+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='print -r --' -+ as_echo_n='print -rn --' -+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='printf %s\n' -+ as_echo_n='printf %s' -+else -+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then -+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' -+ as_echo_n='/usr/ucb/echo -n' -+ else -+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"' -+ as_echo_n_body='eval -+ arg=$1; -+ case $arg in #( -+ *"$as_nl"*) -+ expr "X$arg" : "X\\(.*\\)$as_nl"; -+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; -+ esac; -+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" -+ ' -+ export as_echo_n_body -+ as_echo_n='sh -c $as_echo_n_body as_echo' -+ fi -+ export as_echo_body -+ as_echo='sh -c $as_echo_body as_echo' -+fi -+ -+# The user is always right. -+if test "${PATH_SEPARATOR+set}" != set; then -+ PATH_SEPARATOR=: -+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { -+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || -+ PATH_SEPARATOR=';' -+ } -+fi -+ -+ -+# IFS -+# We need space, tab and new line, in precisely that order. Quoting is -+# there to prevent editors from complaining about space-tab. -+# (If _AS_PATH_WALK were called with IFS unset, it would disable word -+# splitting by setting IFS to empty value.) -+IFS=" "" $as_nl" -+ -+# Find who we are. Look in the path if we contain no directory separator. -+as_myself= -+case $0 in #(( -+ *[\\/]* ) as_myself=$0 ;; -+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -+ done -+IFS=$as_save_IFS -+ -+ ;; -+esac -+# We did not find ourselves, most probably we were run as `sh COMMAND' -+# in which case we are not to be found in the path. -+if test "x$as_myself" = x; then -+ as_myself=$0 -+fi -+if test ! -f "$as_myself"; then -+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -+ exit 1 -+fi -+ -+# Unset variables that we do not need and which cause bugs (e.g. in -+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -+# suppresses any "Segmentation fault" message there. '((' could -+# trigger a bug in pdksh 5.2.14. -+for as_var in BASH_ENV ENV MAIL MAILPATH -+do eval test x\${$as_var+set} = xset \ -+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -+done -+PS1='$ ' -+PS2='> ' -+PS4='+ ' -+ -+# NLS nuisances. -+LC_ALL=C -+export LC_ALL -+LANGUAGE=C -+export LANGUAGE -+ -+# CDPATH. -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -+ -+ -+# as_fn_error STATUS ERROR [LINENO LOG_FD] -+# ---------------------------------------- -+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -+# script with STATUS, using 1 if that was 0. -+as_fn_error () -+{ -+ as_status=$1; test $as_status -eq 0 && as_status=1 -+ if test "$4"; then -+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 -+ fi -+ $as_echo "$as_me: error: $2" >&2 -+ as_fn_exit $as_status -+} # as_fn_error -+ -+ -+# as_fn_set_status STATUS -+# ----------------------- -+# Set $? to STATUS, without forking. -+as_fn_set_status () -+{ -+ return $1 -+} # as_fn_set_status -+ -+# as_fn_exit STATUS -+# ----------------- -+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -+as_fn_exit () -+{ -+ set +e -+ as_fn_set_status $1 -+ exit $1 -+} # as_fn_exit -+ -+# as_fn_unset VAR -+# --------------- -+# Portably unset VAR. -+as_fn_unset () -+{ -+ { eval $1=; unset $1;} -+} -+as_unset=as_fn_unset -+# as_fn_append VAR VALUE -+# ---------------------- -+# Append the text in VALUE to the end of the definition contained in VAR. Take -+# advantage of any shell optimizations that allow amortized linear growth over -+# repeated appends, instead of the typical quadratic growth present in naive -+# implementations. -+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : -+ eval 'as_fn_append () -+ { -+ eval $1+=\$2 -+ }' -+else -+ as_fn_append () -+ { -+ eval $1=\$$1\$2 -+ } -+fi # as_fn_append -+ -+# as_fn_arith ARG... -+# ------------------ -+# Perform arithmetic evaluation on the ARGs, and store the result in the -+# global $as_val. Take advantage of shells that can avoid forks. The arguments -+# must be portable across $(()) and expr. -+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -+ eval 'as_fn_arith () -+ { -+ as_val=$(( $* )) -+ }' -+else -+ as_fn_arith () -+ { -+ as_val=`expr "$@" || test $? -eq 1` -+ } -+fi # as_fn_arith -+ -+ -+if expr a : '\(a\)' >/dev/null 2>&1 && -+ test "X`expr 00001 : '.*\(...\)'`" = X001; then -+ as_expr=expr -+else -+ as_expr=false -+fi -+ -+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then -+ as_basename=basename -+else -+ as_basename=false -+fi -+ -+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then -+ as_dirname=dirname -+else -+ as_dirname=false -+fi -+ -+as_me=`$as_basename -- "$0" || -+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -+ X"$0" : 'X\(//\)$' \| \ -+ X"$0" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X/"$0" | -+ sed '/^.*\/\([^/][^/]*\)\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits -+ -+ECHO_C= ECHO_N= ECHO_T= -+case `echo -n x` in #((((( -+-n*) -+ case `echo 'xy\c'` in -+ *c*) ECHO_T=' ';; # ECHO_T is single tab character. -+ xy) ECHO_C='\c';; -+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null -+ ECHO_T=' ';; -+ esac;; -+*) -+ ECHO_N='-n';; -+esac -+ -+rm -f conf$$ conf$$.exe conf$$.file -+if test -d conf$$.dir; then -+ rm -f conf$$.dir/conf$$.file -+else -+ rm -f conf$$.dir -+ mkdir conf$$.dir 2>/dev/null -+fi -+if (echo >conf$$.file) 2>/dev/null; then -+ if ln -s conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s='ln -s' -+ # ... but there are two gotchas: -+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. -+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. -+ # In both cases, we have to default to `cp -p'. -+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || -+ as_ln_s='cp -p' -+ elif ln conf$$.file conf$$ 2>/dev/null; then -+ as_ln_s=ln -+ else -+ as_ln_s='cp -p' -+ fi -+else -+ as_ln_s='cp -p' -+fi -+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -+rmdir conf$$.dir 2>/dev/null -+ -+ -+# as_fn_mkdir_p -+# ------------- -+# Create "$as_dir" as a directory, including parents if necessary. -+as_fn_mkdir_p () -+{ -+ -+ case $as_dir in #( -+ -*) as_dir=./$as_dir;; -+ esac -+ test -d "$as_dir" || eval $as_mkdir_p || { -+ as_dirs= -+ while :; do -+ case $as_dir in #( -+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( -+ *) as_qdir=$as_dir;; -+ esac -+ as_dirs="'$as_qdir' $as_dirs" -+ as_dir=`$as_dirname -- "$as_dir" || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_dir" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ test -d "$as_dir" && break -+ done -+ test -z "$as_dirs" || eval "mkdir $as_dirs" -+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" -+ -+ -+} # as_fn_mkdir_p -+if mkdir -p . 2>/dev/null; then -+ as_mkdir_p='mkdir -p "$as_dir"' -+else -+ test -d ./-p && rmdir ./-p -+ as_mkdir_p=false -+fi -+ -+if test -x / >/dev/null 2>&1; then -+ as_test_x='test -x' -+else -+ if ls -dL / >/dev/null 2>&1; then -+ as_ls_L_option=L -+ else -+ as_ls_L_option= -+ fi -+ as_test_x=' -+ eval sh -c '\'' -+ if test -d "$1"; then -+ test -d "$1/."; -+ else -+ case $1 in #( -+ -*)set "./$1";; -+ esac; -+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( -+ ???[sx]*):;;*)false;;esac;fi -+ '\'' sh -+ ' -+fi -+as_executable_p=$as_test_x -+ -+# Sed expression to map a string onto a valid CPP name. -+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -+ -+# Sed expression to map a string onto a valid variable name. -+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -+ -+ -+exec 6>&1 -+## ----------------------------------- ## -+## Main body of $CONFIG_STATUS script. ## -+## ----------------------------------- ## -+_ASEOF -+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# Save the log message, to keep $0 and so on meaningful, and to -+# report actual input values of CONFIG_FILES etc. instead of their -+# values after options handling. -+ac_log=" -+This file was extended by newlib $as_me 1.20.0, which was -+generated by GNU Autoconf 2.68. Invocation command line was -+ -+ CONFIG_FILES = $CONFIG_FILES -+ CONFIG_HEADERS = $CONFIG_HEADERS -+ CONFIG_LINKS = $CONFIG_LINKS -+ CONFIG_COMMANDS = $CONFIG_COMMANDS -+ $ $0 $@ -+ -+on `(hostname || uname -n) 2>/dev/null | sed 1q` -+" -+ -+_ACEOF -+ -+case $ac_config_files in *" -+"*) set x $ac_config_files; shift; ac_config_files=$*;; -+esac -+ -+ -+ -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+# Files that config.status was made for. -+config_files="$ac_config_files" -+config_commands="$ac_config_commands" -+ -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ac_cs_usage="\ -+\`$as_me' instantiates files and other configuration actions -+from templates according to the current configuration. Unless the files -+and actions are specified as TAGs, all are instantiated by default. -+ -+Usage: $0 [OPTION]... [TAG]... -+ -+ -h, --help print this help, then exit -+ -V, --version print version number and configuration settings, then exit -+ --config print configuration, then exit -+ -q, --quiet, --silent -+ do not print progress messages -+ -d, --debug don't remove temporary files -+ --recheck update $as_me by reconfiguring in the same conditions -+ --file=FILE[:TEMPLATE] -+ instantiate the configuration file FILE -+ -+Configuration files: -+$config_files -+ -+Configuration commands: -+$config_commands -+ -+Report bugs to the package provider." -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -+ac_cs_version="\\ -+newlib config.status 1.20.0 -+configured by $0, generated by GNU Autoconf 2.68, -+ with options \\"\$ac_cs_config\\" -+ -+Copyright (C) 2010 Free Software Foundation, Inc. -+This config.status script is free software; the Free Software Foundation -+gives unlimited permission to copy, distribute and modify it." -+ -+ac_pwd='$ac_pwd' -+srcdir='$srcdir' -+INSTALL='$INSTALL' -+MKDIR_P='$MKDIR_P' -+AWK='$AWK' -+test -n "\$AWK" || AWK=awk -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# The default lists apply if the user does not specify any file. -+ac_need_defaults=: -+while test $# != 0 -+do -+ case $1 in -+ --*=?*) -+ ac_option=`expr "X$1" : 'X\([^=]*\)='` -+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` -+ ac_shift=: -+ ;; -+ --*=) -+ ac_option=`expr "X$1" : 'X\([^=]*\)='` -+ ac_optarg= -+ ac_shift=: -+ ;; -+ *) -+ ac_option=$1 -+ ac_optarg=$2 -+ ac_shift=shift -+ ;; -+ esac -+ -+ case $ac_option in -+ # Handling of the options. -+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) -+ ac_cs_recheck=: ;; -+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) -+ $as_echo "$ac_cs_version"; exit ;; -+ --config | --confi | --conf | --con | --co | --c ) -+ $as_echo "$ac_cs_config"; exit ;; -+ --debug | --debu | --deb | --de | --d | -d ) -+ debug=: ;; -+ --file | --fil | --fi | --f ) -+ $ac_shift -+ case $ac_optarg in -+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ '') as_fn_error $? "missing file argument" ;; -+ esac -+ as_fn_append CONFIG_FILES " '$ac_optarg'" -+ ac_need_defaults=false;; -+ --he | --h | --help | --hel | -h ) -+ $as_echo "$ac_cs_usage"; exit ;; -+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -+ | -silent | --silent | --silen | --sile | --sil | --si | --s) -+ ac_cs_silent=: ;; -+ -+ # This is an error. -+ -*) as_fn_error $? "unrecognized option: \`$1' -+Try \`$0 --help' for more information." ;; -+ -+ *) as_fn_append ac_config_targets " $1" -+ ac_need_defaults=false ;; -+ -+ esac -+ shift -+done -+ -+ac_configure_extra_args= -+ -+if $ac_cs_silent; then -+ exec 6>/dev/null -+ ac_configure_extra_args="$ac_configure_extra_args --silent" -+fi -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+if \$ac_cs_recheck; then -+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -+ shift -+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 -+ CONFIG_SHELL='$SHELL' -+ export CONFIG_SHELL -+ exec "\$@" -+fi -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+exec 5>>config.log -+{ -+ echo -+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -+## Running $as_me. ## -+_ASBOX -+ $as_echo "$ac_log" -+} >&5 -+ -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+# -+# INIT-COMMANDS -+# -+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" -+ -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+ -+# Handling of arguments. -+for ac_config_target in $ac_config_targets -+do -+ case $ac_config_target in -+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; -+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; -+ -+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; -+ esac -+done -+ -+ -+# If the user did not use the arguments to specify the items to instantiate, -+# then the envvar interface is used. Set only those that are not. -+# We use the long form for the default assignment because of an extremely -+# bizarre bug on SunOS 4.1.3. -+if $ac_need_defaults; then -+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files -+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -+fi -+ -+# Have a temporary directory for convenience. Make it in the build tree -+# simply because there is no reason against having it here, and in addition, -+# creating and moving files from /tmp can sometimes cause problems. -+# Hook for its removal unless debugging. -+# Note that there is a small window in which the directory will not be cleaned: -+# after its creation but before its name has been assigned to `$tmp'. -+$debug || -+{ -+ tmp= ac_tmp= -+ trap 'exit_status=$? -+ : "${ac_tmp:=$tmp}" -+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -+' 0 -+ trap 'as_fn_exit 1' 1 2 13 15 -+} -+# Create a (secure) tmp directory for tmp files. -+ -+{ -+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && -+ test -d "$tmp" -+} || -+{ -+ tmp=./conf$$-$RANDOM -+ (umask 077 && mkdir "$tmp") -+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -+ac_tmp=$tmp -+ -+# Set up the scripts for CONFIG_FILES section. -+# No need to generate them if there are no CONFIG_FILES. -+# This happens for instance with `./config.status config.h'. -+if test -n "$CONFIG_FILES"; then -+ -+ -+ac_cr=`echo X | tr X '\015'` -+# On cygwin, bash can eat \r inside `` if the user requested igncr. -+# But we know of no other shell where ac_cr would be empty at this -+# point, so we can use a bashism as a fallback. -+if test "x$ac_cr" = x; then -+ eval ac_cr=\$\'\\r\' -+fi -+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` -+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then -+ ac_cs_awk_cr='\\r' -+else -+ ac_cs_awk_cr=$ac_cr -+fi -+ -+echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -+_ACEOF -+ -+ -+{ -+ echo "cat >conf$$subs.awk <<_ACEOF" && -+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && -+ echo "_ACEOF" -+} >conf$$subs.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -+ac_delim='%!_!# ' -+for ac_last_try in false false false false false :; do -+ . ./conf$$subs.sh || -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ -+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` -+ if test $ac_delim_n = $ac_delim_num; then -+ break -+ elif $ac_last_try; then -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ else -+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! " -+ fi -+done -+rm -f conf$$subs.sh -+ -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -+_ACEOF -+sed -n ' -+h -+s/^/S["/; s/!.*/"]=/ -+p -+g -+s/^[^!]*!// -+:repl -+t repl -+s/'"$ac_delim"'$// -+t delim -+:nl -+h -+s/\(.\{148\}\)..*/\1/ -+t more1 -+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -+p -+n -+b repl -+:more1 -+s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -+p -+g -+s/.\{148\}// -+t nl -+:delim -+h -+s/\(.\{148\}\)..*/\1/ -+t more2 -+s/["\\]/\\&/g; s/^/"/; s/$/"/ -+p -+b -+:more2 -+s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -+p -+g -+s/.\{148\}// -+t delim -+' <conf$$subs.awk | sed ' -+/^[^""]/{ -+ N -+ s/\n// -+} -+' >>$CONFIG_STATUS || ac_write_fail=1 -+rm -f conf$$subs.awk -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+_ACAWK -+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && -+ for (key in S) S_is_set[key] = 1 -+ FS = "" -+ -+} -+{ -+ line = $ 0 -+ nfields = split(line, field, "@") -+ substed = 0 -+ len = length(field[1]) -+ for (i = 2; i < nfields; i++) { -+ key = field[i] -+ keylen = length(key) -+ if (S_is_set[key]) { -+ value = S[key] -+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) -+ len += length(value) + length(field[++i]) -+ substed = 1 -+ } else -+ len += 1 + keylen -+ } -+ -+ print line -+} -+ -+_ACAWK -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then -+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -+else -+ cat -+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ -+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -+_ACEOF -+ -+# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -+# trailing colons and then remove the whole line if VPATH becomes empty -+# (actually we leave an empty line to preserve line numbers). -+if test "x$srcdir" = x.; then -+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -+h -+s/// -+s/^/:/ -+s/[ ]*$/:/ -+s/:\$(srcdir):/:/g -+s/:\${srcdir}:/:/g -+s/:@srcdir@:/:/g -+s/^:*// -+s/:*$// -+x -+s/\(=[ ]*\).*/\1/ -+G -+s/\n// -+s/^[^=]*=[ ]*$// -+}' -+fi -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+fi # test -n "$CONFIG_FILES" -+ -+ -+eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS" -+shift -+for ac_tag -+do -+ case $ac_tag in -+ :[FHLC]) ac_mode=$ac_tag; continue;; -+ esac -+ case $ac_mode$ac_tag in -+ :[FHL]*:*);; -+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; -+ :[FH]-) ac_tag=-:-;; -+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; -+ esac -+ ac_save_IFS=$IFS -+ IFS=: -+ set x $ac_tag -+ IFS=$ac_save_IFS -+ shift -+ ac_file=$1 -+ shift -+ -+ case $ac_mode in -+ :L) ac_source=$1;; -+ :[FH]) -+ ac_file_inputs= -+ for ac_f -+ do -+ case $ac_f in -+ -) ac_f="$ac_tmp/stdin";; -+ *) # Look for the file first in the build tree, then in the source tree -+ # (if the path is not absolute). The absolute path cannot be DOS-style, -+ # because $ac_f cannot contain `:'. -+ test -f "$ac_f" || -+ case $ac_f in -+ [\\/$]*) false;; -+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; -+ esac || -+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; -+ esac -+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac -+ as_fn_append ac_file_inputs " '$ac_f'" -+ done -+ -+ # Let's still pretend it is `configure' which instantiates (i.e., don't -+ # use $as_me), people would be surprised to read: -+ # /* config.h. Generated by config.status. */ -+ configure_input='Generated from '` -+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' -+ `' by configure.' -+ if test x"$ac_file" != x-; then -+ configure_input="$ac_file. $configure_input" -+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -+$as_echo "$as_me: creating $ac_file" >&6;} -+ fi -+ # Neutralize special characters interpreted by sed in replacement strings. -+ case $configure_input in #( -+ *\&* | *\|* | *\\* ) -+ ac_sed_conf_input=`$as_echo "$configure_input" | -+ sed 's/[\\\\&|]/\\\\&/g'`;; #( -+ *) ac_sed_conf_input=$configure_input;; -+ esac -+ -+ case $ac_tag in -+ *:-:* | *:-) cat >"$ac_tmp/stdin" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; -+ esac -+ ;; -+ esac -+ -+ ac_dir=`$as_dirname -- "$ac_file" || -+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$ac_file" : 'X\(//\)[^/]' \| \ -+ X"$ac_file" : 'X\(//\)$' \| \ -+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$ac_file" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ as_dir="$ac_dir"; as_fn_mkdir_p -+ ac_builddir=. -+ -+case "$ac_dir" in -+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -+*) -+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` -+ # A ".." for each directory in $ac_dir_suffix. -+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` -+ case $ac_top_builddir_sub in -+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;; -+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; -+ esac ;; -+esac -+ac_abs_top_builddir=$ac_pwd -+ac_abs_builddir=$ac_pwd$ac_dir_suffix -+# for backward compatibility: -+ac_top_builddir=$ac_top_build_prefix -+ -+case $srcdir in -+ .) # We are building in place. -+ ac_srcdir=. -+ ac_top_srcdir=$ac_top_builddir_sub -+ ac_abs_top_srcdir=$ac_pwd ;; -+ [\\/]* | ?:[\\/]* ) # Absolute name. -+ ac_srcdir=$srcdir$ac_dir_suffix; -+ ac_top_srcdir=$srcdir -+ ac_abs_top_srcdir=$srcdir ;; -+ *) # Relative name. -+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix -+ ac_top_srcdir=$ac_top_build_prefix$srcdir -+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -+esac -+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix -+ -+ -+ case $ac_mode in -+ :F) -+ # -+ # CONFIG_FILE -+ # -+ -+ case $INSTALL in -+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; -+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; -+ esac -+ ac_MKDIR_P=$MKDIR_P -+ case $MKDIR_P in -+ [\\/$]* | ?:[\\/]* ) ;; -+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; -+ esac -+_ACEOF -+ -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# If the template does not know about datarootdir, expand it. -+# FIXME: This hack should be removed a few years after 2.60. -+ac_datarootdir_hack=; ac_datarootdir_seen= -+ac_sed_dataroot=' -+/datarootdir/ { -+ p -+ q -+} -+/@datadir@/p -+/@docdir@/p -+/@infodir@/p -+/@localedir@/p -+/@mandir@/p' -+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -+*datarootdir*) ac_datarootdir_seen=yes;; -+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -+_ACEOF -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ ac_datarootdir_hack=' -+ s&@datadir@&$datadir&g -+ s&@docdir@&$docdir&g -+ s&@infodir@&$infodir&g -+ s&@localedir@&$localedir&g -+ s&@mandir@&$mandir&g -+ s&\\\${datarootdir}&$datarootdir&g' ;; -+esac -+_ACEOF -+ -+# Neutralize VPATH when `$srcdir' = `.'. -+# Shell code in configure.ac might set extrasub. -+# FIXME: do we really want to maintain this feature? -+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ac_sed_extra="$ac_vpsub -+$extrasub -+_ACEOF -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+:t -+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -+s|@configure_input@|$ac_sed_conf_input|;t t -+s&@top_builddir@&$ac_top_builddir_sub&;t t -+s&@top_build_prefix@&$ac_top_build_prefix&;t t -+s&@srcdir@&$ac_srcdir&;t t -+s&@abs_srcdir@&$ac_abs_srcdir&;t t -+s&@top_srcdir@&$ac_top_srcdir&;t t -+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -+s&@builddir@&$ac_builddir&;t t -+s&@abs_builddir@&$ac_abs_builddir&;t t -+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -+s&@INSTALL@&$ac_INSTALL&;t t -+s&@MKDIR_P@&$ac_MKDIR_P&;t t -+$ac_datarootdir_hack -+" -+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ -+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ -+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && -+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && -+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ -+ "$ac_tmp/out"`; test -z "$ac_out"; } && -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -+which seems to be undefined. Please make sure it is defined" >&5 -+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -+which seems to be undefined. Please make sure it is defined" >&2;} -+ -+ rm -f "$ac_tmp/stdin" -+ case $ac_file in -+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; -+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; -+ esac \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ ;; -+ -+ -+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -+$as_echo "$as_me: executing $ac_file commands" >&6;} -+ ;; -+ esac -+ -+ -+ case $ac_file$ac_mode in -+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || { -+ # Autoconf 2.62 quotes --file arguments for eval, but not when files -+ # are listed without --file. Let's play safe and only enable the eval -+ # if we detect the quoting. -+ case $CONFIG_FILES in -+ *\'*) eval set x "$CONFIG_FILES" ;; -+ *) set x $CONFIG_FILES ;; -+ esac -+ shift -+ for mf -+ do -+ # Strip MF so we end up with the name of the file. -+ mf=`echo "$mf" | sed -e 's/:.*$//'` -+ # Check whether this is an Automake generated Makefile or not. -+ # We used to match only the files named `Makefile.in', but -+ # some people rename them; so instead we look at the file content. -+ # Grep'ing the first line is not enough: some people post-process -+ # each Makefile.in and add a new line on top of each file to say so. -+ # Grep'ing the whole file is not good either: AIX grep has a line -+ # limit of 2048, but all sed's we know have understand at least 4000. -+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then -+ dirpart=`$as_dirname -- "$mf" || -+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$mf" : 'X\(//\)[^/]' \| \ -+ X"$mf" : 'X\(//\)$' \| \ -+ X"$mf" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$mf" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ else -+ continue -+ fi -+ # Extract the definition of DEPDIR, am__include, and am__quote -+ # from the Makefile without running `make'. -+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -+ test -z "$DEPDIR" && continue -+ am__include=`sed -n 's/^am__include = //p' < "$mf"` -+ test -z "am__include" && continue -+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` -+ # When using ansi2knr, U may be empty or an underscore; expand it -+ U=`sed -n 's/^U = //p' < "$mf"` -+ # Find all dependency output files, they are included files with -+ # $(DEPDIR) in their names. We invoke sed twice because it is the -+ # simplest approach to changing $(DEPDIR) to its actual value in the -+ # expansion. -+ for file in `sed -n " -+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ -+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+ # Make sure the directory exists. -+ test -f "$dirpart/$file" && continue -+ fdir=`$as_dirname -- "$file" || -+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$file" : 'X\(//\)[^/]' \| \ -+ X"$file" : 'X\(//\)$' \| \ -+ X"$file" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$file" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ as_dir=$dirpart/$fdir; as_fn_mkdir_p -+ # echo "creating $dirpart/$file" -+ echo '# dummy' > "$dirpart/$file" -+ done -+ done -+} -+ ;; -+ -+ esac -+done # for ac_tag -+ -+ -+as_fn_exit 0 -+_ACEOF -+ac_clean_files=$ac_clean_files_save -+ -+test $ac_write_fail = 0 || -+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 -+ -+ -+# configure is writing to config.log, and then calls config.status. -+# config.status does its own redirection, appending to config.log. -+# Unfortunately, on DOS this fails, as config.log is still kept open -+# by configure, so config.status won't be able to write to it; its -+# output is simply discarded. So we exec the FD to /dev/null, -+# effectively closing config.log, so it can be properly (re)opened and -+# appended to by config.status. When coming back to configure, we -+# need to make the FD available again. -+if test "$no_create" != yes; then -+ ac_cs_success=: -+ ac_config_status_args= -+ test "$silent" = yes && -+ ac_config_status_args="$ac_config_status_args --quiet" -+ exec 5>/dev/null -+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false -+ exec 5>>config.log -+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which -+ # would make configure fail if this is the last instruction. -+ $ac_cs_success || as_fn_exit 1 -+fi -+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -+fi -+ diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-configure.in b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-configure.in deleted file mode 100644 index 9f78c4375fdb..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-configure.in +++ /dev/null @@ -1,17 +0,0 @@ ---- ./newlib/libc/sys/psp/configure.in.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/configure.in 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,14 @@ -+dnl This is the newlib/libc/sys/sun4 configure.in file. -+dnl Process this file with autoconf to produce a configure script. -+ -+AC_PREREQ(2.59) -+AC_INIT([newlib],[NEWLIB_VERSION]) -+AC_CONFIG_SRCDIR([libcglue.c]) -+ -+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake. -+AC_CONFIG_AUX_DIR(../../../..) -+ -+NEWLIB_CONFIGURE(../../..) -+ -+AC_CONFIG_FILES(Makefile) -+AC_OUTPUT diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-crt0.c b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-crt0.c deleted file mode 100644 index 8d4b9f74c794..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-crt0.c +++ /dev/null @@ -1,6 +0,0 @@ ---- ./newlib/libc/sys/psp/crt0.c.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/crt0.c 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,3 @@ -+/* The real crt0.c lives in PSPSDK. */ -+ -+void _start() { } diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-fdman.c b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-fdman.c deleted file mode 100644 index db8842cc4641..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-fdman.c +++ /dev/null @@ -1,118 +0,0 @@ ---- ./newlib/libc/sys/psp/fdman.c.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/fdman.c 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,115 @@ -+/* -+ * PSP Software Development Kit - http://www.pspdev.org -+ * ----------------------------------------------------------------------- -+ * Licensed under the BSD license, see LICENSE in PSPSDK root for details. -+ * -+ * fdman.c - File descriptor management. -+ * -+ * Copyright (c) 2006 Rafael Cabezas <rafpsp@gmail.com> -+ */ -+#include <psptypes.h> -+#include <errno.h> -+#include "fdman.h" -+ -+extern int pspDisableInterrupts(); -+extern void pspEnableInterrupts(int); -+ -+static __psp_descriptormap_type __psp_descriptor_data_pool[__PSP_FILENO_MAX]; -+__psp_descriptormap_type *__psp_descriptormap [__PSP_FILENO_MAX]; -+ -+void __psp_fdman_init() -+{ -+ int scefd; -+ -+ /* Initialize descriptor data*/ -+ memset(__psp_descriptor_data_pool, 0, sizeof(__psp_descriptormap_type) *__PSP_FILENO_MAX); -+ /* Initialize descriptor map*/ -+ memset(__psp_descriptormap, 0, sizeof(__psp_descriptormap_type*)*__PSP_FILENO_MAX); -+ -+ scefd = sceKernelStdin(); -+ if (scefd >= 0) { -+ __psp_descriptormap[0] = &__psp_descriptor_data_pool[0]; -+ __psp_descriptormap[0]->sce_descriptor = scefd; -+ __psp_descriptormap[0]->type = __PSP_DESCRIPTOR_TYPE_TTY; -+ } -+ scefd = sceKernelStdout(); -+ if (scefd >= 0) { -+ __psp_descriptormap[1] = &__psp_descriptor_data_pool[1]; -+ __psp_descriptormap[1]->sce_descriptor = scefd; -+ __psp_descriptormap[1]->type = __PSP_DESCRIPTOR_TYPE_TTY; -+ } -+ scefd = sceKernelStderr(); -+ if (scefd >= 0) { -+ __psp_descriptormap[2] = &__psp_descriptor_data_pool[2]; -+ __psp_descriptormap[2]->sce_descriptor = scefd; -+ __psp_descriptormap[2]->type = __PSP_DESCRIPTOR_TYPE_TTY; -+ } -+} -+ -+int __psp_fdman_get_new_descriptor() -+{ -+ int i = 0; -+ int inten; -+ -+ inten = pspDisableInterrupts(); /* lock here to make thread safe */ -+ for (i = 0; i < __PSP_FILENO_MAX; i++) { -+ if (__psp_descriptormap[i] == NULL) { -+ __psp_descriptormap[i] = &__psp_descriptor_data_pool[i]; -+ __psp_descriptormap[i]->ref_count++; -+ pspEnableInterrupts(inten); /* release lock */ -+ return i; -+ } -+ } -+ pspEnableInterrupts(inten); /* release lock */ -+ -+ errno = ENOMEM; -+ return -1; -+} -+ -+int __psp_fdman_get_dup_descriptor(int fd) -+{ -+ int i = 0; -+ int inten; -+ -+ if (!__PSP_IS_FD_VALID(fd)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ inten = pspDisableInterrupts(); /* lock here to make thread safe */ -+ for (i = 0; i < __PSP_FILENO_MAX; i++) { -+ if (__psp_descriptormap[i] == NULL) { -+ __psp_descriptormap[i] = &__psp_descriptor_data_pool[fd]; -+ __psp_descriptormap[i]->ref_count++; -+ pspEnableInterrupts(inten); /* release lock */ -+ return i; -+ } -+ } -+ pspEnableInterrupts(inten); /* release lock */ -+ -+ errno = ENOMEM; -+ return -1; -+} -+ -+void __psp_fdman_release_descriptor(int fd) -+{ -+ if (!__PSP_IS_FD_VALID(fd)) { -+ errno = EBADF; -+ return; -+ } -+ -+ __psp_descriptormap[fd]->ref_count--; -+ -+ if (__psp_descriptormap[fd]->ref_count == 0) { -+ -+ if (__psp_descriptormap[fd]->filename != NULL) { -+ free(__psp_descriptormap[fd]->filename); -+ } -+ __psp_descriptormap[fd]->filename = NULL; -+ __psp_descriptormap[fd]->sce_descriptor = 0; -+ __psp_descriptormap[fd]->type = 0; -+ __psp_descriptormap[fd]->flags = 0; -+ -+ } -+ __psp_descriptormap[fd] = NULL; -+} diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-fdman.h b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-fdman.h deleted file mode 100644 index 33b847460c35..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-fdman.h +++ /dev/null @@ -1,47 +0,0 @@ ---- ./newlib/libc/sys/psp/fdman.h.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/fdman.h 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,44 @@ -+/* -+ * PSP Software Development Kit - http://www.pspdev.org -+ * ----------------------------------------------------------------------- -+ * Licensed under the BSD license, see LICENSE in PSPSDK root for details. -+ * -+ * fdman.h - File descriptor management. -+ * -+ * Copyright (c) 2006 Rafael Cabezas <rafpsp@gmail.com> -+ */ -+ -+#ifndef _FDMAN_H_ -+ #define _FDMAN_H_ -+ -+ #define __PSP_FILENO_MAX 1024 -+ -+ #define __PSP_IS_FD_VALID(FD) \ -+ ( (FD >= 0) && (FD < __PSP_FILENO_MAX) && (__psp_descriptormap[FD] != NULL) ) -+ -+ #define __PSP_IS_FD_OF_TYPE(FD, TYPE) \ -+ ( (__PSP_IS_FD_VALID(FD)) && (__psp_descriptormap[FD]->type == TYPE) ) -+ -+ typedef enum { -+ __PSP_DESCRIPTOR_TYPE_FILE , -+ __PSP_DESCRIPTOR_TYPE_PIPE , -+ __PSP_DESCRIPTOR_TYPE_SOCKET, -+ __PSP_DESCRIPTOR_TYPE_TTY -+ } __psp_fdman_fd_types; -+ -+ typedef struct { -+ char * filename; -+ u8 type; -+ u32 sce_descriptor; -+ u32 flags; -+ u32 ref_count; -+ } __psp_descriptormap_type; -+ -+ extern __psp_descriptormap_type *__psp_descriptormap[__PSP_FILENO_MAX]; -+ -+ void __psp_fdman_init(); -+ int __psp_fdman_get_new_descriptor(); -+ int __psp_fdman_get_dup_descriptor(int fd); -+ void __psp_fdman_release_descriptor(int fd); -+ -+#endif diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-include-netdb.h b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-include-netdb.h deleted file mode 100644 index 3ec02968b505..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-include-netdb.h +++ /dev/null @@ -1,39 +0,0 @@ ---- ./newlib/libc/sys/psp/include/netdb.h.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/include/netdb.h 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,36 @@ -+/* Simple gethostbyname and gethostbyaddr replacements, note not thread safe */ -+#ifndef __NETDB_H__ -+#define __NETDB_H__ -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#define NETDB_INTERNAL -1 /* see errno */ -+#define NETDB_SUCCESS 0 /* no problem */ -+#define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found */ -+#define TRY_AGAIN 2 /* Non-Authoritative Host not found, or SERVERFAIL */ -+#define NO_RECOVERY 3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */ -+#define NO_DATA 4 /* Valid name, no data record of requested type */ -+#define NO_ADDRESS NO_DATA /* no address, look for MX record */ -+ -+extern int h_errno; -+ -+struct hostent -+{ -+ char *h_name; -+ char **h_aliases; -+ int h_addrtype; -+ int h_length; -+ char **h_addr_list; -+ char *h_addr; -+}; -+ -+struct hostent *gethostbyaddr(const void *addr, int len, int type); -+struct hostent *gethostbyname(const char *name); -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#endif diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-interrupt.S b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-interrupt.S deleted file mode 100644 index 7a2083494fe4..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-interrupt.S +++ /dev/null @@ -1,69 +0,0 @@ ---- ./newlib/libc/sys/psp/interrupt.S.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/interrupt.S 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,66 @@ -+ -+ .set noreorder -+ .set noat -+ -+ .global pspDisableInterrupts -+ .ent pspDisableInterrupts -+ -+pspDisableInterrupts: -+ mfic $v0, $0 -+ mtic $0, $0 -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ jr $ra -+ nop -+ -+ .end pspDisableInterrupts -+ -+ .global pspEnableInterrupts -+ .ent pspEnableInterrupts -+ -+pspEnableInterrupts: -+ mtic $a0, $0 -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ nop -+ jr $ra -+ nop -+ -+ .end pspEnableInterrupts diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-libcglue.c b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-libcglue.c deleted file mode 100644 index 44fb5d41f3a5..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-libcglue.c +++ /dev/null @@ -1,972 +0,0 @@ ---- ./newlib/libc/sys/psp/libcglue.c.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/libcglue.c 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,969 @@ -+/* -+ * PSP Software Development Kit - http://www.pspdev.org -+ * ----------------------------------------------------------------------- -+ * Licensed under the BSD license, see LICENSE in PSPSDK root for details. -+ * -+ * libcglue.c - Newlib-compatible system calls. -+ * -+ * Copyright (c) 2005 Marcus R. Brown <mrbrown@ocgnet.org> -+ * Copyright (c) 2005 James Forshaw <tyranid@gmail.com> -+ * Copyright (c) 2005 John Kelley <ps2dev@kelley.ca> -+ * Copyright (c) 2005 Jim Paris <jim@jtan.com> -+ * -+ */ -+#include <errno.h> -+#include <malloc.h> -+#include <reent.h> -+#include <stdarg.h> -+#include <stdlib.h> -+#include <string.h> -+#include <time.h> -+#include <sys/fcntl.h> -+#include <sys/stat.h> -+#include <sys/time.h> -+#include <sys/types.h> -+#include <sys/unistd.h> -+#include <sys/dirent.h> -+#include <sys/socket.h> -+ -+#include <psptypes.h> -+#include <pspiofilemgr.h> -+#include <pspmodulemgr.h> -+#include <pspsysmem.h> -+#include <pspthreadman.h> -+#include <psputils.h> -+#include <psputility.h> -+#include <pspstdio.h> -+#include <pspintrman.h> -+#include "fdman.h" -+ -+extern char __psp_cwd[MAXPATHLEN + 1]; -+extern void __psp_init_cwd(char *argv_0); -+extern int __psp_path_absolute(const char *in, char *out, int len); -+extern int pspDisableInterrupts(); -+extern void pspEnableInterrupts(int); -+ -+/* The following functions are defined in socket.c. They have weak linkage so -+ that the user doesn't have to link against the PSP network libraries if they -+ don't use the sockets API. */ -+extern int __psp_socket_close(int s) __attribute__((weak)); -+extern ssize_t __psp_socket_recv(int s, void *buf, size_t len, int flags) __attribute__((weak)); -+extern ssize_t __psp_socket_send(int s, const void *buf, size_t len, int flags) __attribute__((weak)); -+ -+extern int pipe(int fildes[2]); -+extern int __psp_pipe_close(int filedes); -+extern int __psp_pipe_nonblocking_read(int fd, void *buf, size_t len); -+extern int __psp_pipe_read(int fd, void *buf, size_t len); -+extern int __psp_pipe_write(int fd, const void *buf, size_t size); -+extern int __psp_pipe_nonblocking_write(int fd, const void *buf, size_t len); -+ -+int __psp_set_errno(int code); -+ -+#ifdef F___psp_set_errno -+int __psp_set_errno(int code) -+{ -+ if ((code & 0x80010000) == 0x80010000) { -+ errno = code & 0xFFFF; -+ return -1; -+ } -+ return code; -+} -+#endif -+ -+#ifdef F_getcwd -+char *getcwd(char *buf, size_t size) -+{ -+ if(!buf) { -+ errno = EINVAL; -+ return NULL; -+ } -+ -+ if(strlen(__psp_cwd) >= size) { -+ errno = ERANGE; -+ return NULL; -+ } -+ -+ strcpy(buf, __psp_cwd); -+ return buf; -+} -+#endif -+ -+#ifdef F_chdir -+int chdir(const char *path) -+{ -+ char dest[MAXPATHLEN + 1]; -+ SceUID uid; -+ -+ if(__psp_path_absolute(path, dest, MAXPATHLEN) < 0) { -+ errno = ENAMETOOLONG; -+ return -1; -+ } -+ -+ /* sceIoChdir doesn't give an indication of whether it worked, -+ so test for existence by attempting to open the dir */ -+ uid = sceIoDopen(dest); -+ if(uid < 0) { -+ errno = ENOTDIR; -+ return -1; -+ } -+ sceIoDclose(uid); -+ -+ sceIoChdir(dest); -+ strcpy(__psp_cwd, dest); -+ return 0; -+} -+#endif -+ -+#ifdef F_mkdir -+int mkdir(const char *pathname, mode_t mode) -+{ -+ char dest[MAXPATHLEN + 1]; -+ -+ if(__psp_path_absolute(pathname, dest, MAXPATHLEN) < 0) { -+ errno = ENAMETOOLONG; -+ return -1; -+ } -+ -+ return __psp_set_errno(sceIoMkdir(dest, mode)); -+} -+#endif -+ -+#ifdef F_rmdir -+int rmdir(const char *pathname) -+{ -+ char dest[MAXPATHLEN + 1]; -+ -+ if(__psp_path_absolute(pathname, dest, MAXPATHLEN) < 0) { -+ errno = ENAMETOOLONG; -+ return -1; -+ } -+ -+ return __psp_set_errno(sceIoRmdir(dest)); -+} -+#endif -+ -+#ifdef F_realpath -+char *realpath(const char *path, char *resolved_path) -+{ -+ if(!path || !resolved_path) { -+ errno = EINVAL; -+ return NULL; -+ } -+ if(__psp_path_absolute(path, resolved_path, MAXPATHLEN) < 0) { -+ errno = ENAMETOOLONG; -+ return NULL; -+ } -+ if(access(resolved_path, F_OK) < 0) { -+ errno = ENOENT; -+ return NULL; -+ } -+ return resolved_path; -+} -+#endif -+ -+/* Wrappers of the standard open(), close(), read(), write(), unlink() and lseek() routines. */ -+#ifdef F__open -+int _open(const char *name, int flags, int mode) -+{ -+ int scefd, fd; -+ int sce_flags; -+ char dest[MAXPATHLEN + 1]; -+ -+ if(__psp_path_absolute(name, dest, MAXPATHLEN) < 0) { -+ errno = ENAMETOOLONG; -+ return -1; -+ } -+ -+ /* O_RDONLY starts at 0, where PSP_O_RDONLY starts at 1, so remap the read/write -+ flags by adding 1. */ -+ sce_flags = (flags & O_ACCMODE) + 1; -+ -+ /* Translate standard open flags into the flags understood by the PSP kernel. */ -+ if (flags & O_APPEND) { -+ sce_flags |= PSP_O_APPEND; -+ } -+ if (flags & O_CREAT) { -+ sce_flags |= PSP_O_CREAT; -+ } -+ if (flags & O_TRUNC) { -+ sce_flags |= PSP_O_TRUNC; -+ } -+ if (flags & O_EXCL) { -+ sce_flags |= PSP_O_EXCL; -+ } -+ if (flags & O_NONBLOCK) { -+ sce_flags |= PSP_O_NBLOCK; -+ } -+ -+ scefd = sceIoOpen(dest, sce_flags, mode); -+ if (scefd >= 0) { -+ fd = __psp_fdman_get_new_descriptor(); -+ if (fd != -1) { -+ __psp_descriptormap[fd]->sce_descriptor = scefd; -+ __psp_descriptormap[fd]->type = __PSP_DESCRIPTOR_TYPE_FILE; -+ __psp_descriptormap[fd]->flags = flags; -+ __psp_descriptormap[fd]->filename = strdup(dest); -+ return fd; -+ } -+ else { -+ sceIoClose(scefd); -+ errno = ENOMEM; -+ return -1; -+ } -+ } -+ else { -+ return __psp_set_errno(scefd); -+ } -+ -+} -+#endif -+ -+#ifdef F__close -+int _close(int fd) -+{ -+ int ret = 0; -+ -+ if (!__PSP_IS_FD_VALID(fd)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ switch(__psp_descriptormap[fd]->type) -+ { -+ case __PSP_DESCRIPTOR_TYPE_FILE: -+ case __PSP_DESCRIPTOR_TYPE_TTY: -+ if (__psp_descriptormap[fd]->ref_count == 1) { -+ ret = __psp_set_errno(sceIoClose(__psp_descriptormap[fd]->sce_descriptor)); -+ } -+ __psp_fdman_release_descriptor(fd); -+ return ret; -+ break; -+ case __PSP_DESCRIPTOR_TYPE_PIPE: -+ return __psp_pipe_close(fd); -+ break; -+ case __PSP_DESCRIPTOR_TYPE_SOCKET: -+ if (__psp_socket_close != NULL) { -+ ret = __psp_socket_close(fd); -+ return ret; -+ } -+ break; -+ default: -+ break; -+ } -+ -+ errno = EBADF; -+ return -1; -+} -+#endif -+ -+#ifdef F__read -+int _read(int fd, void *buf, size_t size) -+{ -+ if (!__PSP_IS_FD_VALID(fd)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ switch(__psp_descriptormap[fd]->type) -+ { -+ case __PSP_DESCRIPTOR_TYPE_FILE: -+ case __PSP_DESCRIPTOR_TYPE_TTY: -+ return __psp_set_errno(sceIoRead(__psp_descriptormap[fd]->sce_descriptor, buf, size)); -+ break; -+ case __PSP_DESCRIPTOR_TYPE_PIPE: -+ if (__psp_descriptormap[fd]->flags & O_NONBLOCK) { -+ return __psp_pipe_nonblocking_read(fd, buf, size); -+ } -+ else { -+ return __psp_pipe_read(fd, buf, size); -+ } -+ break; -+ case __PSP_DESCRIPTOR_TYPE_SOCKET: -+ if (__psp_socket_recv != NULL) { -+ return __psp_socket_recv(fd, buf, size, 0); -+ } -+ break; -+ default: -+ break; -+ } -+ -+ errno = EBADF; -+ return -1; -+ -+} -+#endif -+ -+#ifdef F__write -+int _write(int fd, const void *buf, size_t size) -+{ -+ if (!__PSP_IS_FD_VALID(fd)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ switch(__psp_descriptormap[fd]->type) -+ { -+ case __PSP_DESCRIPTOR_TYPE_FILE: -+ case __PSP_DESCRIPTOR_TYPE_TTY: -+ return __psp_set_errno(sceIoWrite(__psp_descriptormap[fd]->sce_descriptor, buf, size)); -+ break; -+ case __PSP_DESCRIPTOR_TYPE_PIPE: -+ if (__psp_descriptormap[fd]->flags & O_NONBLOCK) { -+ return __psp_pipe_nonblocking_write(fd, buf, size); -+ } -+ else { -+ return __psp_pipe_write(fd, buf, size); -+ } -+ break; -+ break; -+ case __PSP_DESCRIPTOR_TYPE_SOCKET: -+ if (__psp_socket_send != NULL) { -+ return __psp_socket_send(fd, buf, size, 0); -+ } -+ break; -+ default: -+ break; -+ } -+ -+ errno = EBADF; -+ return -1; -+} -+#endif -+ -+#ifdef F__lseek -+off_t _lseek(int fd, off_t offset, int whence) -+{ -+ if (!__PSP_IS_FD_VALID(fd)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ switch(__psp_descriptormap[fd]->type) -+ { -+ case __PSP_DESCRIPTOR_TYPE_FILE: -+ /* We don't have to do anything with the whence argument because SEEK_* == PSP_SEEK_*. */ -+ return (off_t) __psp_set_errno(sceIoLseek(__psp_descriptormap[fd]->sce_descriptor, offset, whence)); -+ break; -+ case __PSP_DESCRIPTOR_TYPE_PIPE: -+ break; -+ case __PSP_DESCRIPTOR_TYPE_SOCKET: -+ break; -+ default: -+ break; -+ } -+ -+ errno = EBADF; -+ return -1; -+ -+} -+#endif -+ -+#ifdef F__unlink -+int _unlink(const char *path) -+{ -+ char dest[MAXPATHLEN + 1]; -+ -+ if(__psp_path_absolute(path, dest, MAXPATHLEN) < 0) { -+ errno = ENAMETOOLONG; -+ return -1; -+ } -+ -+ return __psp_set_errno(sceIoRemove(dest)); -+} -+#endif -+ -+#ifdef F__link -+int _link(const char *name1, const char *name2) -+{ -+ errno = ENOSYS; -+ return -1; /* not supported */ -+} -+#endif -+ -+#ifdef F_opendir -+DIR *opendir(const char *filename) -+{ -+ char dest[MAXPATHLEN + 1]; -+ DIR *dirp; -+ SceUID uid; -+ -+ /* Normalize pathname so that opendir(".") works */ -+ if(__psp_path_absolute(filename, dest, MAXPATHLEN) < 0) { -+ errno = ENOENT; -+ return NULL; -+ } -+ -+ dirp = (DIR *)malloc(sizeof(DIR)); -+ -+ uid = sceIoDopen(dest); -+ -+ if (uid < 0) -+ { -+ free(dirp); -+ (void) __psp_set_errno(uid); -+ return NULL; -+ } -+ -+ dirp->uid = uid; -+ -+ return dirp; -+} -+#endif -+ -+#ifdef F_readdir -+struct dirent *readdir(DIR *dirp) -+{ -+ int ret; -+ -+ /* Zero the dirent, to avoid possible problems with sceIoDread */ -+ memset(&dirp->de, 0, sizeof(struct dirent)); -+ -+ ret = sceIoDread(dirp->uid, (SceIoDirent *)&dirp->de); -+ if (ret == 0) { -+ /* EOF */ -+ errno = 0; -+ return NULL; -+ } -+ if (ret < 0) { -+ (void) __psp_set_errno(ret); -+ return NULL; -+ } -+ -+ return &dirp->de; -+} -+#endif -+ -+#ifdef F_closedir -+int closedir(DIR *dirp) -+{ -+ if (dirp != NULL) -+ { -+ int uid; -+ uid = dirp->uid; -+ free (dirp); -+ return __psp_set_errno(sceIoDclose(uid)); -+ } -+ errno = EBADF; -+ return -1; -+} -+#endif -+ -+/* Time routines. These wrap around the routines provided by the kernel. */ -+#ifdef F__gettimeofday -+int _gettimeofday(struct timeval *tp, struct timezone *tzp) -+{ -+ int ret; -+ time_t t; -+ struct timeval tv1, tv2; -+ -+ /* The kernel sceKernelLibcGettimeofday only returns time -+ since midnight. To get a proper timeval return value, we -+ get seconds using sceKernelLibcTime and microseconds using -+ sceKernelLibcGettimeofday. Since we are reading the time -+ with two different function calls, we need to be careful -+ to avoid glitches when the time changes between calls. */ -+ -+ retry: -+ /* Get seconds and microseconds since midnight */ -+ ret = __psp_set_errno(sceKernelLibcGettimeofday(&tv1, tzp)); -+ if (ret < 0) -+ return ret; -+ -+ /* Get seconds since epoch */ -+ ret = __psp_set_errno(sceKernelLibcTime(&t)); -+ if (ret < 0) -+ return ret; -+ -+ /* Get seconds and microseconds since midnight, again */ -+ ret = __psp_set_errno(sceKernelLibcGettimeofday(&tv2, tzp)); -+ if (ret < 0) -+ return ret; -+ -+ /* Retry if microseconds wrapped around */ -+ if (tv2.tv_usec < tv1.tv_usec) -+ goto retry; -+ -+ /* Return the actual time since epoch */ -+ tp->tv_sec = t; -+ tp->tv_usec = tv2.tv_usec; -+ -+ return 0; -+} -+ -+#endif -+ -+#if defined(F_clock) -+clock_t clock(void) -+{ -+ return sceKernelLibcClock(); -+} -+#endif -+ -+#if defined(F_time) -+time_t time(time_t *t) -+{ -+ return __psp_set_errno(sceKernelLibcTime(t)); -+} -+#endif -+ -+#if defined(F_sleep) -+unsigned int sleep(unsigned int secs) { -+ while(secs--) { -+ sceKernelDelayThreadCB(1000000); -+ } -+ return 0; -+} -+#endif -+ -+/* PSP-compatible sbrk(). */ -+#if defined(F__sbrk) || defined(F_glue__sbrk) -+ -+#define DEFAULT_PRX_HEAP_SIZE_KB 64 -+ -+/* If defined it specifies the desired size of the heap, in KB. */ -+extern int sce_newlib_heap_kb_size __attribute__((weak)); -+extern int __pspsdk_is_prx __attribute__((weak)); -+ -+/* UID of the memory block that represents the heap. */ -+static SceUID __psp_heap_blockid; -+ -+void * _sbrk(ptrdiff_t incr) -+{ -+ static void * heap_bottom = NULL; -+ static void * heap_top = NULL; -+ static void * heap_ptr = NULL; -+ -+ /* Has our heap been initialized? */ -+ if (heap_bottom == NULL) { -+ /* No, initialize the heap. */ -+ SceSize heap_size = (SceSize) -1; -+ -+ if (&sce_newlib_heap_kb_size != NULL) { -+ heap_size = sce_newlib_heap_kb_size; -+ } else if(&__pspsdk_is_prx != NULL) { -+ heap_size = DEFAULT_PRX_HEAP_SIZE_KB; -+ } -+ -+ heap_size *= 1024; -+ if ((int)heap_size < 0) { -+ heap_size += sceKernelMaxFreeMemSize(); -+ } -+ -+ if (heap_size != 0) { -+ __psp_heap_blockid = sceKernelAllocPartitionMemory(2, "block", PSP_SMEM_Low, heap_size, NULL); -+ if (__psp_heap_blockid > 0) { -+ heap_bottom = sceKernelGetBlockHeadAddr(__psp_heap_blockid); -+ heap_ptr = heap_bottom; -+ heap_top = (unsigned char *) heap_bottom + heap_size; -+ } -+ } -+ } -+ -+ void * heap_addr = (void *) -1; -+ void * next_heap_ptr = (void *) ((ptrdiff_t) heap_ptr + incr); -+ if ((heap_bottom != NULL) && (next_heap_ptr >= heap_bottom) && (next_heap_ptr < heap_top)) { -+ heap_addr = heap_ptr; -+ heap_ptr = next_heap_ptr; -+ } -+ -+ return heap_addr; -+} -+ -+/* Free the heap. */ -+int __psp_free_heap(void) -+{ -+ if (__psp_heap_blockid > 0) { -+ return sceKernelFreePartitionMemory(__psp_heap_blockid); -+ } -+ -+ return __psp_heap_blockid; -+} -+#endif -+ -+/* Other POSIX routines that must be defined. */ -+#ifdef F__fstat -+int _fstat(int fd, struct stat *sbuf) -+{ -+ int ret; -+ SceOff oldpos; -+ if (!__PSP_IS_FD_VALID(fd)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ switch(__psp_descriptormap[fd]->type) -+ { -+ case __PSP_DESCRIPTOR_TYPE_TTY: -+ memset(sbuf, '\0', sizeof(struct stat)); -+ sbuf->st_mode = S_IFCHR; -+ return 0; -+ break; -+ case __PSP_DESCRIPTOR_TYPE_FILE: -+ if (__psp_descriptormap[fd]->filename != NULL) { -+ ret = stat(__psp_descriptormap[fd]->filename, sbuf); -+ -+ /* Find true size of the open file */ -+ oldpos = sceIoLseek(__psp_descriptormap[fd]->sce_descriptor, 0, SEEK_CUR); -+ if (oldpos != (off_t) -1) { -+ sbuf->st_size = (off_t) sceIoLseek(__psp_descriptormap[fd]->sce_descriptor, 0, SEEK_END); -+ sceIoLseek(__psp_descriptormap[fd]->sce_descriptor, oldpos, SEEK_SET); -+ } -+ return ret; -+ } -+ break; -+ case __PSP_DESCRIPTOR_TYPE_PIPE: -+ case __PSP_DESCRIPTOR_TYPE_SOCKET: -+ default: -+ break; -+ } -+ -+ errno = EBADF; -+ return -1; -+} -+#endif -+ -+#ifdef F_isatty -+int isatty(int fd) -+{ -+ if (!__PSP_IS_FD_VALID(fd)) { -+ errno = EBADF; -+ return 0; -+ } -+ -+ if (__psp_descriptormap[fd]->type == __PSP_DESCRIPTOR_TYPE_TTY) { -+ return 1; -+ } -+ else { -+ return 0; -+ } -+} -+#endif -+ -+#ifdef F__isatty -+int _isatty(int fd) -+{ -+ return isatty(fd); -+} -+#endif -+ -+#ifdef F__stat -+static time_t psp_to_epoch_time(ScePspDateTime psp_time) -+{ -+ struct tm conv_time; -+ conv_time.tm_year = psp_time.year; -+ conv_time.tm_mon = psp_time.month; -+ conv_time.tm_mday = psp_time.day; -+ conv_time.tm_hour = psp_time.hour; -+ conv_time.tm_min = psp_time.minute; -+ conv_time.tm_sec = psp_time.second; -+ conv_time.tm_isdst = -1; -+ return mktime(&conv_time); -+} -+ -+int _stat(const char *filename, struct stat *buf) -+{ -+ SceIoStat psp_stat; -+ char dest[MAXPATHLEN + 1]; -+ int ret; -+ -+ if(__psp_path_absolute(filename, dest, MAXPATHLEN) < 0) { -+ errno = ENAMETOOLONG; -+ return -1; -+ } -+ -+ memset(buf, '\0', sizeof(struct stat)); -+ ret = sceIoGetstat(dest, &psp_stat); -+ if (ret < 0) { -+ return __psp_set_errno(ret); -+ } -+ -+ buf->st_ctime = psp_to_epoch_time(psp_stat.st_ctime); -+ buf->st_atime = psp_to_epoch_time(psp_stat.st_atime); -+ buf->st_mtime = psp_to_epoch_time(psp_stat.st_mtime); -+ -+ buf->st_mode = (psp_stat.st_mode & 0xfff) | -+ ((FIO_S_ISLNK(psp_stat.st_mode))?(S_IFLNK):(0)) | -+ ((FIO_S_ISREG(psp_stat.st_mode))?(S_IFREG):(0)) | -+ ((FIO_S_ISDIR(psp_stat.st_mode))?(S_IFDIR):(0)); -+ buf->st_size = psp_stat.st_size; -+ return 0; -+} -+#endif -+ -+/* from stat.h in ps2sdk, this function may be correct */ -+#define FIO_CST_SIZE 0x0004 -+ -+#ifdef F_truncate -+int truncate(const char *filename, off_t length) -+{ -+ SceIoStat psp_stat; -+ char dest[MAXPATHLEN + 1]; -+ -+ if(__psp_path_absolute(filename, dest, MAXPATHLEN) < 0) { -+ errno = ENAMETOOLONG; -+ return -1; -+ } -+ -+ psp_stat.st_size = length; -+ if(length < 0) -+ { -+ errno = EINVAL; -+ return -1; -+ } -+ return __psp_set_errno(sceIoChstat(dest, &psp_stat, FIO_CST_SIZE)); -+} -+#endif -+ -+/* Unsupported newlib system calls. */ -+#ifdef F__fork -+pid_t fork(void) -+{ -+ errno = ENOSYS; -+ return (pid_t) -1; -+} -+#endif -+ -+#ifdef F__getpid -+pid_t _getpid(void) -+{ -+ errno = ENOSYS; -+ return (pid_t) -1; -+} -+#endif -+ -+#ifdef F__kill -+int _kill(int unused, int unused2) -+{ -+ errno = ENOSYS; -+ return -1; -+} -+#endif -+ -+#ifdef F__wait -+pid_t _wait(int *unused) -+{ -+ errno = ENOSYS; -+ return (pid_t) -1; -+} -+#endif -+ -+#ifdef F_access -+int access(const char *fn, int flags) -+{ -+ struct stat s; -+ if (stat(fn, &s)) -+ return -1; -+ if (s.st_mode & S_IFDIR) -+ return 0; -+ if (flags & W_OK) -+ { -+ if (s.st_mode & S_IWRITE) -+ return 0; -+ errno = EACCES; -+ return -1; -+ } -+ return 0; -+} -+#endif -+ -+#ifdef F__fcntl -+int _fcntl(int fd, int cmd, ...) -+{ -+ if (!__PSP_IS_FD_VALID(fd)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ switch (cmd) -+ { -+ case F_DUPFD: -+ { -+ return __psp_fdman_get_dup_descriptor(fd); -+ break; -+ } -+ case F_GETFL: -+ { -+ return __psp_descriptormap[fd]->flags; -+ break; -+ } -+ case F_SETFL: -+ { -+ int newfl; -+ va_list args; -+ -+ va_start (args, cmd); /* Initialize the argument list. */ -+ newfl = va_arg(args, int); -+ va_end (args); /* Clean up. */ -+ -+ __psp_descriptormap[fd]->flags = newfl; -+ -+ switch(__psp_descriptormap[fd]->type) -+ { -+ case __PSP_DESCRIPTOR_TYPE_FILE: -+ break; -+ case __PSP_DESCRIPTOR_TYPE_PIPE: -+ break; -+ case __PSP_DESCRIPTOR_TYPE_SOCKET: -+ if (newfl & O_NONBLOCK) -+ { -+ int one = 1; -+ return setsockopt(fd, SOL_SOCKET, SO_NONBLOCK, (char *)&one, sizeof(one)); -+ } -+ else -+ { -+ int zero = 0; -+ return setsockopt(fd, SOL_SOCKET, SO_NONBLOCK, (char *)&zero, sizeof(zero)); -+ } -+ break; -+ default: -+ break; -+ } -+ return 0; -+ break; -+ } -+ } -+ -+ errno = EBADF; -+ return -1; -+} -+#endif /* F__fcntl */ -+ -+#ifdef F_tzset -+void tzset(void) -+{ -+ static int initialized = 0; -+ -+ if (!initialized) -+ { -+ initialized = 1; -+ -+ /* Don't init if TZ has already been set once, this probably means the user -+ wanted to override what we would set below. */ -+ if (getenv("TZ") == NULL) -+ { -+ /* Initialize timezone from PSP configuration */ -+ int tzOffset = 0; -+ sceUtilityGetSystemParamInt(PSP_SYSTEMPARAM_ID_INT_TIMEZONE, &tzOffset); -+ int tzOffsetAbs = tzOffset < 0 ? -tzOffset : tzOffset; -+ int hours = tzOffsetAbs / 60; -+ int minutes = tzOffsetAbs - hours * 60; -+ int pspDaylight = 0; -+ sceUtilityGetSystemParamInt(PSP_SYSTEMPARAM_ID_INT_DAYLIGHTSAVINGS, &pspDaylight); -+ static char tz[18]; -+ sprintf(tz, "GMT%s%02i:%02i%s", tzOffset < 0 ? "+" : "-", hours, minutes, pspDaylight ? "daylight" : ""); -+ setenv("TZ", tz, 1); -+ } -+ } -+ -+ _tzset_r(_REENT); -+} -+#endif -+ -+#ifdef F_mlock -+static unsigned int lock_count = 0; -+static unsigned int intr_flags = 0; -+ -+void __malloc_lock(struct _reent *ptr) -+{ -+ unsigned int flags = pspDisableInterrupts(); -+ -+ if (lock_count == 0) { -+ intr_flags = flags; -+ } -+ -+ lock_count++; -+} -+ -+void __malloc_unlock(struct _reent *ptr) -+{ -+ if (--lock_count == 0) { -+ pspEnableInterrupts(intr_flags); -+ } -+} -+#endif -+ -+/* Exit. */ -+#if defined(F__exit) || defined(F_glue__exit) -+extern int sce_newlib_nocreate_thread_in_start __attribute__((weak)); -+ -+extern int __psp_free_heap(void); -+ -+void _exit(int status) -+{ -+ if (&sce_newlib_nocreate_thread_in_start == NULL) { -+ /* Free the heap created by _sbrk(). */ -+ __psp_free_heap(); -+ -+ sceKernelSelfStopUnloadModule(1, 0, NULL); -+ } else { -+ if (status == 0) { -+ /* Free the heap created by _sbrk(). */ -+ __psp_free_heap(); -+ } -+ -+ sceKernelExitThread(status); -+ } -+ -+ while (1) ; -+} -+ -+/* Note: This function is being linked into _exit.o. -+ -+ Because __psp_libc_init is a weak import in crt0.c, the linker -+ chooses to ignore an object file in libc.a that contains just this -+ function, since it's not necessary for successful compilation. -+ -+ By putting it instead in _exit.o, which is already used by crt0.c, -+ the linker sees __psp_libc_init and resolves the symbol properly. -+*/ -+void __psp_libc_init(int argc, char *argv[]) -+{ -+ (void) argc; -+ -+ /* Initialize cwd from this program's path */ -+ __psp_init_cwd(argv[0]); -+ -+ /* Initialize filedescriptor management */ -+ __psp_fdman_init(); -+} -+ -+#endif /* F__exit */ -+ -+#ifdef F__rename -+int _rename(const char *old, const char *new) -+{ -+ char oldname[MAXPATHLEN + 1]; -+ char newname[MAXPATHLEN + 1]; -+ -+ if(__psp_path_absolute(old, oldname, MAXPATHLEN) < 0) { -+ errno = ENAMETOOLONG; -+ return -1; -+ } -+ -+ if(__psp_path_absolute(new, newname, MAXPATHLEN) < 0) { -+ errno = ENAMETOOLONG; -+ return -1; -+ } -+ -+ return __psp_set_errno(sceIoRename(oldname, newname)); -+} -+#endif -+ -+#ifdef F_nanosleep -+/* note: we don't use rem as we have no signals */ -+int nanosleep(const struct timespec *req, struct timespec *rem) -+{ -+ if( req == NULL ) -+ return EFAULT; -+ -+ if( rem != NULL ) { -+ rem->tv_sec = 0; -+ rem->tv_nsec = 0; -+ } -+ -+ sceKernelDelayThreadCB( 1000000 * req->tv_sec + (req->tv_nsec / 1000) ); -+ -+ return 0; -+} -+#endif -+ diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-netdb.c b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-netdb.c deleted file mode 100644 index 5753ebb5af3b..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-netdb.c +++ /dev/null @@ -1,106 +0,0 @@ ---- ./newlib/libc/sys/psp/netdb.c.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/netdb.c 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,103 @@ -+/* Simple gethostbyname and gethostbyaddr replacements using the resolver lib */ -+#include <stdio.h> -+#include <netdb.h> -+#include <netinet/in.h> -+#include <arpa/inet.h> -+#include <sys/socket.h> -+#include <pspkerneltypes.h> -+#include <pspnet_resolver.h> -+ -+#define MAX_NAME 512 -+ -+#ifdef F_h_errno -+int h_errno = NETDB_SUCCESS; -+#endif -+ -+#ifdef F_gethostbyaddr -+struct hostent *gethostbyaddr(const void *addr, int len, int type) -+{ -+ static struct hostent ent; -+ static char * aliases[1] = { NULL }; -+ char buf[1024]; -+ static char sname[MAX_NAME] = ""; -+ static struct in_addr saddr = { 0 }; -+ static char *addrlist[2] = { (char *) &saddr, NULL }; -+ int rid; -+ int err; -+ -+ if((len != sizeof(struct in_addr)) || (type != AF_INET) || (addr == NULL)) -+ { -+ h_errno = HOST_NOT_FOUND; -+ return NULL; -+ } -+ -+ memcpy(&saddr, addr, len); -+ -+ if(sceNetResolverCreate(&rid, buf, sizeof(buf)) < 0) -+ { -+ h_errno = NO_RECOVERY; -+ return NULL; -+ } -+ -+ err = sceNetResolverStartAtoN(rid, &saddr, sname, sizeof(sname), 2, 3); -+ sceNetResolverStop(rid); -+ sceNetResolverDelete(rid); -+ if(err < 0) -+ { -+ h_errno = HOST_NOT_FOUND; -+ return NULL; -+ } -+ -+ ent.h_name = sname; -+ ent.h_aliases = aliases; -+ ent.h_addrtype = AF_INET; -+ ent.h_length = sizeof(struct in_addr); -+ ent.h_addr_list = addrlist; -+ ent.h_addr = (char *) &saddr; -+ -+ return &ent; -+} -+#endif -+ -+#ifdef F_gethostbyname -+struct hostent *gethostbyname(const char *name) -+{ -+ static struct hostent ent; -+ char buf[1024]; -+ static char sname[MAX_NAME] = ""; -+ static struct in_addr saddr = { 0 }; -+ static char *addrlist[2] = { (char *) &saddr, NULL }; -+ int rid; -+ -+ if(sceNetInetInetAton(name, &saddr) == 0) -+ { -+ int err; -+ -+ if(sceNetResolverCreate(&rid, buf, sizeof(buf)) < 0) -+ { -+ h_errno = NO_RECOVERY; -+ return NULL; -+ } -+ -+ err = sceNetResolverStartNtoA(rid, name, &saddr, 2, 3); -+ sceNetResolverDelete(rid); -+ if(err < 0) -+ { -+ h_errno = HOST_NOT_FOUND; -+ return NULL; -+ } -+ -+ } -+ -+ snprintf(sname, MAX_NAME, "%s", name); -+ ent.h_name = sname; -+ ent.h_aliases = 0; -+ ent.h_addrtype = AF_INET; -+ ent.h_length = sizeof(struct in_addr); -+ ent.h_addr_list = addrlist; -+ ent.h_addr = (char *) &saddr; -+ -+ return &ent; -+} -+ -+#endif diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-netinet-in.h b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-netinet-in.h deleted file mode 100644 index 6ed7ae736fa3..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-netinet-in.h +++ /dev/null @@ -1,274 +0,0 @@ ---- ./newlib/libc/sys/psp/netinet/in.h.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/netinet/in.h 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,271 @@ -+/* $NetBSD: in.h,v 1.71 2005/08/05 09:21:25 elad Exp $ */ -+ -+/* -+ * Copyright (c) 1982, 1986, 1990, 1993 -+ * The Regents of the University of California. All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 3. Neither the name of the University nor the names of its contributors -+ * may be used to endorse or promote products derived from this software -+ * without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ * -+ * @(#)in.h 8.3 (Berkeley) 1/3/94 -+ */ -+ -+/* -+ * Constants and structures defined by the internet system, -+ * Per RFC 790, September 1981, and numerous additions. -+ */ -+ -+#ifndef _NETINET_IN_H_ -+#define _NETINET_IN_H_ -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include <sys/socket.h> -+ -+typedef uint32_t in_addr_t; -+typedef uint16_t in_port_t; -+ -+/* -+ * Protocols -+ */ -+#define IPPROTO_IP 0 /* dummy for IP */ -+#define IPPROTO_HOPOPTS 0 /* IP6 hop-by-hop options */ -+#define IPPROTO_ICMP 1 /* control message protocol */ -+#define IPPROTO_IGMP 2 /* group mgmt protocol */ -+#define IPPROTO_GGP 3 /* gateway^2 (deprecated) */ -+#define IPPROTO_IPV4 4 /* IP header */ -+#define IPPROTO_IPIP 4 /* IP inside IP */ -+#define IPPROTO_TCP 6 /* tcp */ -+#define IPPROTO_EGP 8 /* exterior gateway protocol */ -+#define IPPROTO_PUP 12 /* pup */ -+#define IPPROTO_UDP 17 /* user datagram protocol */ -+#define IPPROTO_IDP 22 /* xns idp */ -+#define IPPROTO_TP 29 /* tp-4 w/ class negotiation */ -+#define IPPROTO_IPV6 41 /* IP6 header */ -+#define IPPROTO_ROUTING 43 /* IP6 routing header */ -+#define IPPROTO_FRAGMENT 44 /* IP6 fragmentation header */ -+#define IPPROTO_RSVP 46 /* resource reservation */ -+#define IPPROTO_GRE 47 /* GRE encaps RFC 1701 */ -+#define IPPROTO_ESP 50 /* encap. security payload */ -+#define IPPROTO_AH 51 /* authentication header */ -+#define IPPROTO_MOBILE 55 /* IP Mobility RFC 2004 */ -+#define IPPROTO_IPV6_ICMP 58 /* IPv6 ICMP */ -+#define IPPROTO_ICMPV6 58 /* ICMP6 */ -+#define IPPROTO_NONE 59 /* IP6 no next header */ -+#define IPPROTO_DSTOPTS 60 /* IP6 destination option */ -+#define IPPROTO_EON 80 /* ISO cnlp */ -+#define IPPROTO_ETHERIP 97 /* Ethernet-in-IP */ -+#define IPPROTO_ENCAP 98 /* encapsulation header */ -+#define IPPROTO_PIM 103 /* Protocol indep. multicast */ -+#define IPPROTO_IPCOMP 108 /* IP Payload Comp. Protocol */ -+#define IPPROTO_VRRP 112 /* VRRP RFC 2338 */ -+ -+#define IPPROTO_RAW 255 /* raw IP packet */ -+#define IPPROTO_MAX 256 -+ -+/* last return value of *_input(), meaning "all job for this pkt is done". */ -+#define IPPROTO_DONE 257 -+ -+/* sysctl placeholder for (FAST_)IPSEC */ -+#define CTL_IPPROTO_IPSEC 258 -+ -+ -+/* -+ * Local port number conventions: -+ * -+ * Ports < IPPORT_RESERVED are reserved for privileged processes (e.g. root), -+ * unless a kernel is compiled with IPNOPRIVPORTS defined. -+ * -+ * When a user does a bind(2) or connect(2) with a port number of zero, -+ * a non-conflicting local port address is chosen. -+ * -+ * The default range is IPPORT_ANONMIN to IPPORT_ANONMAX, although -+ * that is settable by sysctl(3); net.inet.ip.anonportmin and -+ * net.inet.ip.anonportmax respectively. -+ * -+ * A user may set the IPPROTO_IP option IP_PORTRANGE to change this -+ * default assignment range. -+ * -+ * The value IP_PORTRANGE_DEFAULT causes the default behavior. -+ * -+ * The value IP_PORTRANGE_HIGH is the same as IP_PORTRANGE_DEFAULT, -+ * and exists only for FreeBSD compatibility purposes. -+ * -+ * The value IP_PORTRANGE_LOW changes the range to the "low" are -+ * that is (by convention) restricted to privileged processes. -+ * This convention is based on "vouchsafe" principles only. -+ * It is only secure if you trust the remote host to restrict these ports. -+ * The range is IPPORT_RESERVEDMIN to IPPORT_RESERVEDMAX. -+ */ -+ -+#define IPPORT_RESERVED 1024 -+#define IPPORT_ANONMIN 49152 -+#define IPPORT_ANONMAX 65535 -+#define IPPORT_RESERVEDMIN 600 -+#define IPPORT_RESERVEDMAX (IPPORT_RESERVED-1) -+ -+/* -+ * Internet address (a structure for historical reasons) -+ */ -+struct in_addr { -+ in_addr_t s_addr; -+} __attribute__((__packed__)); -+ -+#define __IPADDR(x) ((uint32_t)(x)) -+ -+#define IN_CLASSA(i) (((uint32_t)(i) & __IPADDR(0x80000000)) == \ -+ __IPADDR(0x00000000)) -+#define IN_CLASSA_NET __IPADDR(0xff000000) -+#define IN_CLASSA_NSHIFT 24 -+#define IN_CLASSA_HOST __IPADDR(0x00ffffff) -+#define IN_CLASSA_MAX 128 -+ -+#define IN_CLASSB(i) (((uint32_t)(i) & __IPADDR(0xc0000000)) == \ -+ __IPADDR(0x80000000)) -+#define IN_CLASSB_NET __IPADDR(0xffff0000) -+#define IN_CLASSB_NSHIFT 16 -+#define IN_CLASSB_HOST __IPADDR(0x0000ffff) -+#define IN_CLASSB_MAX 65536 -+ -+#define IN_CLASSC(i) (((uint32_t)(i) & __IPADDR(0xe0000000)) == \ -+ __IPADDR(0xc0000000)) -+#define IN_CLASSC_NET __IPADDR(0xffffff00) -+#define IN_CLASSC_NSHIFT 8 -+#define IN_CLASSC_HOST __IPADDR(0x000000ff) -+ -+#define IN_CLASSD(i) (((uint32_t)(i) & __IPADDR(0xf0000000)) == \ -+ __IPADDR(0xe0000000)) -+/* These ones aren't really net and host fields, but routing needn't know. */ -+#define IN_CLASSD_NET __IPADDR(0xf0000000) -+#define IN_CLASSD_NSHIFT 28 -+#define IN_CLASSD_HOST __IPADDR(0x0fffffff) -+#define IN_MULTICAST(i) IN_CLASSD(i) -+ -+#define IN_EXPERIMENTAL(i) (((uint32_t)(i) & __IPADDR(0xf0000000)) == \ -+ __IPADDR(0xf0000000)) -+#define IN_BADCLASS(i) (((uint32_t)(i) & __IPADDR(0xf0000000)) == \ -+ __IPADDR(0xf0000000)) -+ -+#define IN_LOCAL_GROUP(i) (((uint32_t)(i) & __IPADDR(0xffffff00)) == \ -+ __IPADDR(0xe0000000)) -+ -+#define INADDR_ANY __IPADDR(0x00000000) -+#define INADDR_LOOPBACK __IPADDR(0x7f000001) -+#define INADDR_BROADCAST __IPADDR(0xffffffff) /* must be masked */ -+ -+#define INADDR_UNSPEC_GROUP __IPADDR(0xe0000000) /* 224.0.0.0 */ -+#define INADDR_ALLHOSTS_GROUP __IPADDR(0xe0000001) /* 224.0.0.1 */ -+#define INADDR_ALLRTRS_GROUP __IPADDR(0xe0000002) /* 224.0.0.2 */ -+#define INADDR_MAX_LOCAL_GROUP __IPADDR(0xe00000ff) /* 224.0.0.255 */ -+ -+#define IN_LOOPBACKNET 127 /* official! */ -+ -+/* -+ * Socket address, internet style. -+ */ -+struct sockaddr_in { -+ uint8_t sin_len; -+ sa_family_t sin_family; -+ in_port_t sin_port; -+ struct in_addr sin_addr; -+ int8_t sin_zero[8]; -+}; -+ -+#define INET_ADDRSTRLEN 16 -+ -+/* -+ * Structure used to describe IP options. -+ * Used to store options internally, to pass them to a process, -+ * or to restore options retrieved earlier. -+ * The ip_dst is used for the first-hop gateway when using a source route -+ * (this gets put into the header proper). -+ */ -+struct ip_opts { -+ struct in_addr ip_dst; /* first hop, 0 w/o src rt */ -+#if defined(__cplusplus) -+ int8_t Ip_opts[40]; /* actually variable in size */ -+#else -+ int8_t ip_opts[40]; /* actually variable in size */ -+#endif -+}; -+ -+/* -+ * Options for use with [gs]etsockopt at the IP level. -+ * First word of comment is data type; bool is stored in int. -+ */ -+#define IP_OPTIONS 1 /* buf/ip_opts; set/get IP options */ -+#define IP_HDRINCL 2 /* int; header is included with data */ -+#define IP_TOS 3 /* int; IP type of service and preced. */ -+#define IP_TTL 4 /* int; IP time to live */ -+#define IP_RECVOPTS 5 /* bool; receive all IP opts w/dgram */ -+#define IP_RECVRETOPTS 6 /* bool; receive IP opts for response */ -+#define IP_RECVDSTADDR 7 /* bool; receive IP dst addr w/dgram */ -+#define IP_RETOPTS 8 /* ip_opts; set/get IP options */ -+#define IP_MULTICAST_IF 9 /* in_addr; set/get IP multicast i/f */ -+#define IP_MULTICAST_TTL 10 /* u_char; set/get IP multicast ttl */ -+#define IP_MULTICAST_LOOP 11 /* u_char; set/get IP multicast loopback */ -+#define IP_ADD_MEMBERSHIP 12 /* ip_mreq; add an IP group membership */ -+#define IP_DROP_MEMBERSHIP 13 /* ip_mreq; drop an IP group membership */ -+#define IP_PORTRANGE 19 /* int; range to use for ephemeral port */ -+#define IP_RECVIF 20 /* bool; receive reception if w/dgram */ -+#define IP_ERRORMTU 21 /* int; get MTU of last xmit = EMSGSIZE */ -+#if 1 /*IPSEC*/ -+#define IP_IPSEC_POLICY 22 /* struct; get/set security policy */ -+#endif -+ -+/* -+ * Defaults and limits for options -+ */ -+#define IP_DEFAULT_MULTICAST_TTL 1 /* normally limit m'casts to 1 hop */ -+#define IP_DEFAULT_MULTICAST_LOOP 1 /* normally hear sends if a member */ -+#define IP_MAX_MEMBERSHIPS 20 /* per socket; must fit in one mbuf */ -+ -+/* -+ * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP. -+ */ -+struct ip_mreq { -+ struct in_addr imr_multiaddr; /* IP multicast address of group */ -+ struct in_addr imr_interface; /* local IP address of interface */ -+}; -+ -+/* -+ * Argument for IP_PORTRANGE: -+ * - which range to search when port is unspecified at bind() or connect() -+ */ -+#define IP_PORTRANGE_DEFAULT 0 /* default range */ -+#define IP_PORTRANGE_HIGH 1 /* same as DEFAULT (FreeBSD compat) */ -+#define IP_PORTRANGE_LOW 2 /* use privileged range */ -+ -+#define ntohs(x) __builtin_allegrex_wsbh(x) -+#define ntohl(x) __builtin_allegrex_wsbw(x) -+#define htons(x) __builtin_allegrex_wsbh(x) -+#define htonl(x) __builtin_allegrex_wsbw(x) -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#endif /* !_NETINET_IN_H_ */ diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-netinet-tcp.h b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-netinet-tcp.h deleted file mode 100644 index 8d9a59f7518a..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-netinet-tcp.h +++ /dev/null @@ -1,15 +0,0 @@ ---- ./newlib/libc/sys/psp/netinet/tcp.h.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/netinet/tcp.h 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,12 @@ -+#ifndef __NETINET_TCP_H__ -+#define __NETINET_TCP_H__ -+ -+#include <netinet/in.h> -+ -+#define SOL_TCP IPPROTO_TCP -+ -+/* Socket options */ -+#define TCP_NODELAY 0x01 /* don't delay send to coalesce packets */ -+#define TCP_MAXSEG 0x02 /* set maximum segment size */ -+ -+#endif diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-pipe.c b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-pipe.c deleted file mode 100644 index 7e7368d5169c..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-pipe.c +++ /dev/null @@ -1,308 +0,0 @@ ---- ./newlib/libc/sys/psp/pipe.c.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/pipe.c 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,305 @@ -+/* -+ * PSP Software Development Kit - http://www.pspdev.org -+ * ----------------------------------------------------------------------- -+ * Licensed under the BSD license, see LICENSE in PSPSDK root for details. -+ * -+ * pipe.c - Socket wrappers to provide similar functions to normal unix -+ * -+ * Copyright (c) 2006 Rafael Cabezas <rafpsp@gmail.com> -+ * -+ * - 20070630 Alper Akcan "anhanguera" <distchx@yahoo.com> -+ * [non]blocking read/write() fix -+ * illegal size fix for read/write() -+ * -+ */ -+#include <stdio.h> -+#include <errno.h> -+#include <sys/syslimits.h> -+#include <sys/fd_set.h> -+ -+#include <psptypes.h> -+#include <pspthreadman.h> -+#include <pspmodulemgr.h> -+#include <pspkerror.h> -+#include "fdman.h" -+ -+/* Pipe functions */ -+/* Returns how many bytes are in the pipe -- waiting to be read */ -+size_t __psp_pipe_peekmsgsize(int fd) -+{ -+ SceKernelMppInfo info; -+ info.size = sizeof(info); -+ -+ if (!__PSP_IS_FD_OF_TYPE(fd, __PSP_DESCRIPTOR_TYPE_PIPE)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ if (sceKernelReferMsgPipeStatus(__psp_descriptormap[fd]->sce_descriptor, &info) == 0) { -+ return (info.bufSize - info.freeSize); -+ } -+ else { -+ return -1; -+ } -+} -+ -+int pipe(int fildes[2]) -+{ -+ static int iIndex = 0; -+ char name[32]; -+ iIndex++; -+ -+ sprintf(name, "__psp_pipe_%02d", iIndex); -+ -+ SceUID uid = sceKernelCreateMsgPipe(name, PSP_MEMORY_PARTITION_USER, 0, (void *)PIPE_BUF, NULL); -+ -+ if (uid >= 0) { -+ fildes[0] = __psp_fdman_get_new_descriptor(); -+ if (fildes[0] != -1) { -+ __psp_descriptormap[fildes[0]]->sce_descriptor = uid; -+ __psp_descriptormap[fildes[0]]->type = __PSP_DESCRIPTOR_TYPE_PIPE; -+ } -+ else { -+ sceKernelDeleteMsgPipe(uid); -+ errno = EFAULT; -+ return -1; -+ } -+ -+ fildes[1] = __psp_fdman_get_dup_descriptor(fildes[0]); -+ if (fildes[1] != -1) { -+ __psp_descriptormap[fildes[1]]->sce_descriptor = uid; -+ return 0; -+ } -+ else { -+ sceKernelDeleteMsgPipe(uid); -+ errno = EFAULT; -+ return -1; -+ } -+ -+ } -+ else { -+ errno = EFAULT; -+ return -1; -+ } -+} -+ -+int __psp_pipe_close(int fd) -+{ -+ int ret = 0; -+ -+ if (!__PSP_IS_FD_OF_TYPE(fd, __PSP_DESCRIPTOR_TYPE_PIPE)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ -+ if ( __psp_descriptormap[fd]->ref_count == 1 ) { -+ /** -+ * Delete a message pipe -+ * -+ * @param uid - The UID of the pipe -+ * -+ * @return 0 on success, < 0 on error -+ */ -+ ret = sceKernelDeleteMsgPipe(__psp_descriptormap[fd]->sce_descriptor); -+ } -+ -+ __psp_fdman_release_descriptor(fd); -+ -+ if(ret < 0) { -+ return __psp_set_errno(ret); -+ } -+ -+ return 0; -+} -+ -+int __psp_pipe_nonblocking_read(int fd, void *buf, size_t len) -+{ -+ int ret; -+ int sceuid; -+ int size; -+ -+ if (!__PSP_IS_FD_OF_TYPE(fd, __PSP_DESCRIPTOR_TYPE_PIPE)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ sceuid = __psp_descriptormap[fd]->sce_descriptor; -+ -+ size = __psp_pipe_peekmsgsize(fd); -+ if (size > 0) { -+ if (size < len) { -+ len = size; -+ } -+ } -+ else if (size == 0) { -+ errno = EAGAIN; -+ return -1; -+ } -+ else { -+ errno = EBADF; -+ return -1; -+ } -+ -+ /** -+ * Receive a message from a pipe -+ * -+ * @param uid - The UID of the pipe -+ * @param message - Pointer to the message -+ * @param size - Size of the message -+ * @param unk1 - Unknown -+ * @param unk2 - Unknown -+ * @param timeout - Timeout for receive -+ * -+ * @return 0 on success, < 0 on error -+ */ -+ ret = sceKernelTryReceiveMsgPipe(sceuid, buf, len, 0, 0); -+ -+ if (ret == 0) {/* Success - Data */ -+ return len; -+ } -+ else if (ret == SCE_KERNEL_ERROR_MPP_EMPTY) {/* No data */ -+ errno = EAGAIN; -+ return -1; -+ } -+ else {/* Error */ -+ return __psp_set_errno(ret); -+ } -+} -+ -+int __psp_pipe_read(int fd, void *buf, size_t len) -+{ -+ int ret; -+ int sceuid; -+ int size; -+ -+ if (!__PSP_IS_FD_OF_TYPE(fd, __PSP_DESCRIPTOR_TYPE_PIPE)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ sceuid = __psp_descriptormap[fd]->sce_descriptor; -+ -+#if 0 -+ /* we should block until there is some data (or maybe for enough data), -+ * peeking the msg size should be only for nonblocking reads -+ */ -+ size = __psp_pipe_peekmsgsize(fd); -+ if (size > 0) { -+ if (size < len) { -+ len = size; -+ } -+ } -+ else { -+ errno = EBADF; -+ return -1; -+ } -+#endif -+ /* if len is greater than PIPE_BUF then, MsgPipe functions returns -+ * SCE_KERNEL_ERROR_ILLEGAL_SIZE, but it should read at least -+ * PIPE_BUF bytes, and return the number of bytes read. -+ */ -+ if (len > PIPE_BUF) { -+ len = PIPE_BUF; -+ } -+ -+ /** -+ * Receive a message from a pipe -+ * -+ * @param uid - The UID of the pipe -+ * @param message - Pointer to the message -+ * @param size - Size of the message -+ * @param unk1 - Unknown -+ * @param unk2 - Unknown -+ * @param timeout - Timeout for receive -+ * -+ * @return 0 on success, < 0 on error -+ */ -+ ret = sceKernelReceiveMsgPipe(sceuid, buf, len, 0, NULL, NULL); -+ -+ if (ret == 0) {/* Success - Data */ -+ return len; -+ } -+ else {/* Error */ -+ return __psp_set_errno(ret); -+ } -+} -+ -+int __psp_pipe_write(int fd, const void *buf, size_t len) -+{ -+ int ret; -+ int sceuid; -+ char *cbuf; -+ -+ if (!__PSP_IS_FD_OF_TYPE(fd, __PSP_DESCRIPTOR_TYPE_PIPE)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ sceuid = __psp_descriptormap[fd]->sce_descriptor; -+ -+ /* if len is greater than PIPE_BUF then, MsgPipe functions returns -+ * SCE_KERNEL_ERROR_ILLEGAL_SIZE, but it should write at least -+ * PIPE_BUF bytes, and return the number of bytes written. -+ */ -+ if (len > PIPE_BUF) { -+ len = PIPE_BUF; -+ } -+ -+ /** -+ * Send a message to a pipe -+ * -+ * @param uid - The UID of the pipe -+ * @param message - Pointer to the message -+ * @param size - Size of the message -+ * @param unk1 - Unknown -+ * @param unk2 - Unknown -+ * @param timeout - Timeout for send -+ * -+ * @return 0 on success, < 0 on error -+ */ -+ cbuf = (char *)buf; -+ ret = sceKernelSendMsgPipe(sceuid, cbuf, len, 0, NULL, NULL); -+ if (ret == 0) {/* Success - Data */ -+ return len; -+ } -+ else {/* Error */ -+ return __psp_set_errno(ret); -+ } -+} -+ -+int __psp_pipe_nonblocking_write(int fd, const void *buf, size_t len) -+{ -+ int ret; -+ int sceuid; -+ char *cbuf; -+ -+ if (!__PSP_IS_FD_OF_TYPE(fd, __PSP_DESCRIPTOR_TYPE_PIPE)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ sceuid = __psp_descriptormap[fd]->sce_descriptor; -+ -+ /* if len is greater than PIPE_BUF then, MsgPipe functions returns -+ * SCE_KERNEL_ERROR_ILLEGAL_SIZE, but it should write at least -+ * PIPE_BUF bytes, and return the number of bytes written. -+ */ -+ if (len > PIPE_BUF) { -+ len = PIPE_BUF; -+ } -+ -+ cbuf = (char *)buf; -+ ret = sceKernelTrySendMsgPipe(sceuid, cbuf, len, 0, 0); -+ -+ if (ret == 0) {/* Success - Data */ -+ return len; -+ } -+ else if (ret == SCE_KERNEL_ERROR_MPP_FULL) { -+ errno = EAGAIN; -+ return -1; -+ } -+ else {/* Error */ -+ return __psp_set_errno(ret); -+ } -+} diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-pspcwd.c b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-pspcwd.c deleted file mode 100644 index 7117218833cb..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-pspcwd.c +++ /dev/null @@ -1,169 +0,0 @@ ---- ./newlib/libc/sys/psp/pspcwd.c.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/pspcwd.c 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,166 @@ -+/* -+ * PSP Software Development Kit - http://www.pspdev.org -+ * ----------------------------------------------------------------------- -+ * Licensed under the BSD license, see LICENSE in PSPSDK root for details. -+ * -+ * pspcwd.c - Current working directory emulation helper functions -+ * -+ * Copyright (c) 2005 Marcus R. Brown <mrbrown@ocgnet.org> -+ * Copyright (c) 2005 James Forshaw <tyranid@gmail.com> -+ * Copyright (c) 2005 John Kelley <ps2dev@kelley.ca> -+ * Copyright (c) 2005 Jim Paris <jim@jtan.com> -+ * -+ */ -+#include <string.h> -+#include <sys/types.h> -+#include <sys/unistd.h> -+ -+#include <psptypes.h> -+#include <pspiofilemgr.h> -+ -+char __psp_cwd[MAXPATHLEN + 1] = { 0 }; -+ -+/* Set the current working directory (CWD) to the path where the module was launched. */ -+void __psp_init_cwd(char *argv_0) -+{ -+ if (argv_0 != NULL) { -+ char base_path[MAXPATHLEN + 1]; -+ char *end; -+ -+ strncpy(base_path, argv_0, sizeof(base_path) - 1); -+ base_path[sizeof(base_path) - 1] = '\0'; -+ end = strrchr(base_path, '/'); -+ if (end != NULL) { -+ *(end + 1) = '\0'; -+ chdir(base_path); -+ } -+ } -+} -+ -+/* Return the number of bytes taken up by the "drive:" prefix, -+ or -1 if it's not found */ -+int __psp_get_drive(const char *d) -+{ -+ int i; -+ for(i=0; d[i]; i++) { -+ if(! ((d[i] >= 'a' && d[i] <= 'z') || -+ (d[i] >= '0' && d[i] <= '9') )) -+ break; -+ } -+ if(d[i] == ':') return i+1; -+ return -1; -+} -+ -+/* Like strcpy, but returns 0 if the string doesn't fit */ -+int __psp_safe_strcpy(char *out, const char *in, int maxlen) -+{ -+ for( ; maxlen > 0 && *in ; maxlen-- ) -+ *(out++) = *(in++); -+ if(maxlen < 1) return 0; -+ *out = 0; -+ return 1; -+} -+ -+/* Like strcat, but returns 0 if the string doesn't fit */ -+int __psp_safe_strcat(char *out, const char *in, int maxlen) -+{ -+ for( ; *out ; out++,maxlen-- ) -+ continue; -+ return __psp_safe_strcpy(out, in, maxlen); -+} -+ -+/* Normalize a pathname (without leading "drive:") by removing -+ . and .. components, duplicated /, etc. */ -+int __psp_path_normalize(char *out, int len) -+{ -+ int i, j; -+ int first, next; -+ -+ /* First append "/" to make the rest easier */ -+ if(!__psp_safe_strcat(out,"/",len)) return -10; -+ -+ /* Convert "//" to "/" */ -+ for(i=0; out[i+1]; i++) { -+ if(out[i]=='/' && out[i+1]=='/') { -+ for(j=i+1; out[j]; j++) -+ out[j] = out[j+1]; -+ i--; -+ } -+ } -+ -+ /* Convert "/./" to "/" */ -+ for(i=0; out[i] && out[i+1] && out[i+2]; i++) { -+ if(out[i]=='/' && out[i+1]=='.' && out[i+2]=='/') { -+ for(j=i+1; out[j]; j++) -+ out[j] = out[j+2]; -+ i--; -+ } -+ } -+ -+ /* Convert "/asdf/../" to "/" until we can't anymore. Also -+ * convert leading "/../" to "/" */ -+ first = next = 0; -+ while(1) { -+ /* If a "../" follows, remove it and the parent */ -+ if(out[next+1] && out[next+1]=='.' && -+ out[next+2] && out[next+2]=='.' && -+ out[next+3] && out[next+3]=='/') { -+ for(j=0; out[first+j+1]; j++) -+ out[first+j+1] = out[next+j+4]; -+ first = next = 0; -+ continue; -+ } -+ -+ /* Find next slash */ -+ first = next; -+ for(next=first+1; out[next] && out[next] != '/'; next++) -+ continue; -+ if(!out[next]) break; -+ } -+ -+ /* Remove trailing "/" */ -+ for(i=1; out[i]; i++) -+ continue; -+ if(i >= 1 && out[i-1] == '/') -+ out[i-1] = 0; -+ -+ return 0; -+} -+ -+/* Convert relative path to absolute path. */ -+int __psp_path_absolute(const char *in, char *out, int len) -+{ -+ int dr; -+ -+ /* See what the relative URL starts with */ -+ dr = __psp_get_drive(in); -+ if(dr > 0 && in[dr] == '/') { -+ /* It starts with "drive:/", so it's already absolute */ -+ if(!__psp_safe_strcpy(out, in, len)) -+ return -1; -+ } else if(in[0] == '/') { -+ /* It's absolute, but missing the drive, so use cwd's drive */ -+ if(strlen(__psp_cwd) >= len) -+ return -2; -+ strcpy(out, __psp_cwd); -+ dr = __psp_get_drive(out); -+ out[dr] = 0; -+ if(!__psp_safe_strcat(out, in, len)) -+ return -3; -+ } else { -+ /* It's not absolute, so append it to the current cwd */ -+ if(strlen(__psp_cwd) >= len) -+ return -4; -+ strcpy(out, __psp_cwd); -+ if(!__psp_safe_strcat(out, "/", len)) -+ return -6; -+ if(!__psp_safe_strcat(out, in, len)) -+ return -7; -+ } -+ -+ /* Now normalize the pathname portion */ -+ dr = __psp_get_drive(out); -+ if(dr < 0) dr = 0; -+ return __psp_path_normalize(out + dr, len - dr); -+} -+ diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-select.c b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-select.c deleted file mode 100644 index 506c1c97da71..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-select.c +++ /dev/null @@ -1,202 +0,0 @@ ---- ./newlib/libc/sys/psp/select.c.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/select.c 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,199 @@ -+/* -+ * PSP Software Development Kit - http://www.pspdev.org -+ * ----------------------------------------------------------------------- -+ * Licensed under the BSD license, see LICENSE in PSPSDK root for details. -+ * -+ * select.c - Socket wrappers to provide similar functions to normal unix -+ * -+ * Copyright (c) 2006 Rafael Cabezas <rafpsp@gmail.com> -+ * -+ * - 20070701 Alper Akcan "anhanguera" <distchx@yahoo.com> -+ * select EBADF fix -+ * -+ */ -+#include <fcntl.h> -+#include <errno.h> -+#include <sys/select.h> -+#include <psptypes.h> -+#include <pspthreadman.h> -+ -+#include "fdman.h" -+ -+#define SELECT_POLLING_DELAY_IN_us 100 -+ -+static int __psp_poll_select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds); -+ -+int select(int n, fd_set *readfds, fd_set *writefds, -+ fd_set *exceptfds, struct timeval *timeout) -+{ -+ int count; -+ clock_t start_time, time; -+ -+ start_time = clock(); -+ -+ count = 0; -+ -+ if (timeout) { -+ time = (timeout->tv_sec * CLOCKS_PER_SEC) + (timeout->tv_usec * (1*1000*1000/CLOCKS_PER_SEC)); -+ } -+ else { -+ time = 0; -+ } -+ -+ for (;;) { -+ count = __psp_poll_select(n, readfds, writefds, exceptfds); -+ /* If timeout == NULL, then don't timeout! */ -+ if ( (count > 0) || ((timeout != NULL) && ((clock() - start_time) >= time)) ) { -+ break; -+ } -+ if (count < 0) { -+ /* anhanguera - 20070701 -+ * error, lets let the caller to handle error state -+ */ -+ break; -+ } -+ else { -+ /* Nothing found, and not timed-out yet; let's yield for SELECT_POLLING_DELAY_IN_us, so we're not in a busy loop */ -+ sceKernelDelayThread(SELECT_POLLING_DELAY_IN_us); -+ } -+ } -+ -+ return count; -+} -+ -+#define SCE_FD_SET(n, p) \ -+ ((p)->fds_bits[((n) & 0xFF) /__NFDBITS] |= (1 << ((n) % __NFDBITS))) -+ -+static int __psp_poll_select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds) -+{ -+ int fd, count; -+ fd_set ready_readfds, ready_writefds, ready_exceptfds; -+ fd_set scereadfds, scewritefds, sceexceptfds; -+ SceKernelMppInfo info; -+ struct timeval scetv; -+ -+ FD_ZERO(&ready_readfds); -+ FD_ZERO(&ready_writefds); -+ FD_ZERO(&ready_exceptfds); -+ -+ info.size = sizeof(info); -+ scetv.tv_sec = 0; -+ scetv.tv_usec = 0; -+ count = 0; -+ -+ for (fd = 0; fd < n; fd++) -+ { -+ if (__psp_descriptormap[fd] != NULL) { -+ switch(__psp_descriptormap[fd]->type) -+ { -+ case __PSP_DESCRIPTOR_TYPE_PIPE: -+ if (readfds && FD_ISSET(fd, readfds)) { -+ if (sceKernelReferMsgPipeStatus(__psp_descriptormap[fd]->sce_descriptor, &info) == 0) { -+ if (info.bufSize != info.freeSize) { -+ FD_SET(fd, &ready_readfds); -+ count++; -+ } -+ } -+ else { -+ FD_SET(fd, &ready_exceptfds); -+ count++; -+ } -+ } -+ if (writefds && FD_ISSET(fd, writefds)) { -+ if (sceKernelReferMsgPipeStatus(__psp_descriptormap[fd]->sce_descriptor, &info) == 0) { -+ if (info.freeSize > 0) { -+ FD_SET(fd, &ready_writefds); -+ count++; -+ } -+ } -+ else { -+ FD_SET(fd, &ready_exceptfds); -+ count++; -+ } -+ } -+ break; -+ case __PSP_DESCRIPTOR_TYPE_FILE: -+ if (readfds && FD_ISSET(fd, readfds)) { -+ if (readfds && FD_ISSET(fd, readfds)) { -+ /** Just set it for now */ -+ FD_SET(fd, &ready_readfds); -+ count++; -+ } -+ } -+ break; -+ case __PSP_DESCRIPTOR_TYPE_SOCKET: -+ if (readfds && FD_ISSET(fd, readfds)) { -+ int sce_ret, sce_fd; -+ sce_fd = __psp_descriptormap[fd]->sce_descriptor; -+ FD_ZERO(&scereadfds); -+ SCE_FD_SET(sce_fd, &scereadfds); -+ errno = 0; -+ sce_ret = sceNetInetSelect (sce_fd+1, &scereadfds, NULL, NULL, &scetv); -+ if (sce_ret>0) { -+ FD_SET(fd, &ready_readfds); -+ count++; -+ } -+ else if (sce_ret == -1) { -+ errno = sceNetInetGetErrno(); -+ if (exceptfds && FD_ISSET(fd, exceptfds)) { -+ FD_SET(fd, &ready_exceptfds); -+ count++; -+ } else { -+ count = -1; -+ } -+ } -+ } -+ if (writefds && FD_ISSET(fd, writefds)) { -+ int sce_ret; -+ FD_ZERO(&scewritefds); -+ SCE_FD_SET(__psp_descriptormap[fd]->sce_descriptor, &scewritefds); -+ sce_ret = sceNetInetSelect (__psp_descriptormap[fd]->sce_descriptor+1, NULL, &scewritefds, NULL, &scetv); -+ if (sce_ret>0) { -+ FD_SET(fd, &ready_writefds); -+ count++; -+ } -+ else if (sce_ret == -1) { -+ if (exceptfds && FD_ISSET(fd, exceptfds)) { -+ FD_SET(fd, &ready_exceptfds); -+ count++; -+ } -+ else { -+ count = -1; -+ } -+ } -+ } -+ break; -+ } -+ } else { -+ /* anhanguera - 20070701 -+ * -+ * here we know that, system has no idea about 'fd'. if caller requested -+ * information about 'fd', return '-1' and set errno to 'EBADF'. we should -+ * increse the count and set exceptfd for fd, but it is safe to obey select -+ * manual. -+ * -+ * from manual; -+ * On error, -1 is returned, and errno is set appropriately; the sets and -+ * timeout become undefined, so do not rely on their contents after an error. -+ */ -+ if ((readfds && FD_ISSET(fd, readfds)) || -+ (writefds && FD_ISSET(fd, writefds)) || -+ (exceptfds && FD_ISSET(fd, exceptfds))) { -+ errno = EBADF; -+ return -1; -+ } -+ } -+ } -+ -+ if (count > 0) { -+ if (readfds) -+ *readfds = ready_readfds; -+ if (writefds) -+ *writefds = ready_writefds; -+ if (exceptfds) -+ *exceptfds = ready_exceptfds; -+ } -+ -+ return count; -+} -+ diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-socket.c b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-socket.c deleted file mode 100644 index 670536aba3d9..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-socket.c +++ /dev/null @@ -1,393 +0,0 @@ ---- ./newlib/libc/sys/psp/socket.c.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/socket.c 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,390 @@ -+/* -+ * PSP Software Development Kit - http://www.pspdev.org -+ * ----------------------------------------------------------------------- -+ * Licensed under the BSD license, see LICENSE in PSPSDK root for details. -+ * -+ * socket.c - Socket wrappers to provide similar functions to normal unix -+ * -+ * Copyright (c) 2005 Marcus R. Brown <mrbrown@ocgnet.org> -+ * Copyright (c) 2005 James Forshaw <tyranid@gmail.com> -+ * -+ */ -+#include <fcntl.h> -+#include <errno.h> -+#include <sys/socket.h> -+#include <sys/select.h> -+#include <netinet/in.h> -+#include <arpa/inet.h> -+ -+#include <psptypes.h> -+#include "fdman.h" -+ -+#ifdef F_socket -+int socket(int domain, int type, int protocol) -+{ -+ int sock, scesock; -+ int i; -+ -+ scesock = sceNetInetSocket(domain, type, protocol); -+ if(scesock < 0) { -+ errno = sceNetInetGetErrno(); -+ return -1; -+ } -+ -+ sock = __psp_fdman_get_new_descriptor(); -+ if( sock != -1 ) { -+ __psp_descriptormap[sock]->sce_descriptor = scesock; -+ __psp_descriptormap[sock]->type = __PSP_DESCRIPTOR_TYPE_SOCKET; -+ } -+ else { -+ sceNetInetClose(scesock); -+ errno = ENOENT; -+ return -1; -+ } -+ -+ return sock; -+} -+ -+/* These are glue routines that are called from _close(), _read(), and -+ _write(). They are here so that any program that uses socket() will pull -+ them in and have expanded socket capability. */ -+ -+int __psp_socket_close(int sock) -+{ -+ int ret = 0; -+ -+ if (__psp_descriptormap[sock]->ref_count == 1) { -+ ret = sceNetInetClose(__psp_descriptormap[sock]->sce_descriptor); -+ } -+ -+ __psp_fdman_release_descriptor(sock); -+ -+ if(ret < 0) -+ { -+ /* If close is defined likely errno is */ -+ errno = sceNetInetGetErrno(); -+ return -1; -+ } -+ -+ return 0; -+} -+ -+ssize_t __psp_socket_recv(int s, void *buf, size_t len, int flags) -+{ -+ return recv(s, buf, len, flags); -+} -+ -+ssize_t __psp_socket_send(int s, const void *buf, size_t len, int flags) -+{ -+ return send(s, buf, len, flags); -+} -+#endif -+ -+#ifdef F_accept -+int accept(int s, struct sockaddr *addr, socklen_t *addrlen) -+{ -+ int newscesock, newsock; -+ -+ if (!__PSP_IS_FD_OF_TYPE(s, __PSP_DESCRIPTOR_TYPE_SOCKET)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ newscesock = sceNetInetAccept(__psp_descriptormap[s]->sce_descriptor, addr, addrlen); -+ if( (newscesock >= 0) ) { -+ newsock = __psp_fdman_get_new_descriptor(); -+ if ( newsock != -1 ) { -+ __psp_descriptormap[newsock]->sce_descriptor = newscesock; -+ __psp_descriptormap[newsock]->type = __PSP_DESCRIPTOR_TYPE_SOCKET; -+ } -+ else { -+ sceNetInetClose(newscesock); -+ errno = ENOENT; -+ return -1; -+ } -+ } -+ else { -+ errno = ENOENT; -+ return -1; -+ } -+ -+ return newsock; -+} -+#endif -+ -+#ifdef F_bind -+int bind(int s, const struct sockaddr *my_addr, socklen_t addrlen) -+{ -+ int ret; -+ -+ if (!__PSP_IS_FD_OF_TYPE(s, __PSP_DESCRIPTOR_TYPE_SOCKET)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ ret = sceNetInetBind(__psp_descriptormap[s]->sce_descriptor, my_addr, addrlen); -+ if(ret < 0) -+ { -+ errno = sceNetInetGetErrno(); -+ return -1; -+ } -+ -+ return 0; -+} -+#endif -+ -+#ifdef F_connect -+int connect(int s, const struct sockaddr *serv_addr, socklen_t addrlen) -+{ -+ int ret; -+ -+ if (!__PSP_IS_FD_OF_TYPE(s, __PSP_DESCRIPTOR_TYPE_SOCKET)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ ret = sceNetInetConnect(__psp_descriptormap[s]->sce_descriptor, serv_addr, addrlen); -+ if(ret < 0) -+ { -+ errno = sceNetInetGetErrno(); -+ return -1; -+ } -+ -+ return 0; -+} -+#endif -+ -+#ifdef F_setsockopt -+int getsockopt(int s, int level, int optname, void *optval, socklen_t *optlen) -+{ -+ int ret; -+ -+ if (!__PSP_IS_FD_OF_TYPE(s, __PSP_DESCRIPTOR_TYPE_SOCKET)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ ret = sceNetInetGetsockopt(__psp_descriptormap[s]->sce_descriptor, level, optname, optval, optlen); -+ if(ret < 0) -+ { -+ errno = sceNetInetGetErrno(); -+ return -1; -+ } -+ -+ return 0; -+} -+#endif -+ -+#ifdef F_listen -+int listen(int s, int backlog) -+{ -+ int ret; -+ -+ if (!__PSP_IS_FD_OF_TYPE(s, __PSP_DESCRIPTOR_TYPE_SOCKET)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ ret = sceNetInetListen(__psp_descriptormap[s]->sce_descriptor, backlog); -+ if(ret < 0) -+ { -+ errno = sceNetInetGetErrno(); -+ return -1; -+ } -+ -+ return 0; -+} -+#endif -+ -+#ifdef F_recv -+ssize_t recv(int s, void *buf, size_t len, int flags) -+{ -+ int ret; -+ -+ if (!__PSP_IS_FD_OF_TYPE(s, __PSP_DESCRIPTOR_TYPE_SOCKET)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ ret = sceNetInetRecv(__psp_descriptormap[s]->sce_descriptor, buf, len, flags); -+ if(ret < 0) -+ { -+ errno = sceNetInetGetErrno(); -+ return -1; -+ } -+ -+ return ret; -+} -+#endif -+ -+#ifdef F_recvfrom -+ssize_t recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen) -+{ -+ int ret; -+ -+ if (!__PSP_IS_FD_OF_TYPE(s, __PSP_DESCRIPTOR_TYPE_SOCKET)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ ret = sceNetInetRecvfrom(__psp_descriptormap[s]->sce_descriptor, buf, len, flags, from, fromlen); -+ if(ret < 0) -+ { -+ errno = sceNetInetGetErrno(); -+ return -1; -+ } -+ -+ return ret; -+} -+#endif -+ -+#ifdef F_send -+ssize_t send(int s, const void *buf, size_t len, int flags) -+{ -+ int ret; -+ -+ if (!__PSP_IS_FD_OF_TYPE(s, __PSP_DESCRIPTOR_TYPE_SOCKET)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ ret = sceNetInetSend(__psp_descriptormap[s]->sce_descriptor, buf, len, flags); -+ if(ret < 0) -+ { -+ errno = sceNetInetGetErrno(); -+ return -1; -+ } -+ -+ return ret; -+} -+#endif -+ -+#ifdef F_sendto -+ssize_t sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen) -+{ -+ int ret; -+ -+ if (!__PSP_IS_FD_OF_TYPE(s, __PSP_DESCRIPTOR_TYPE_SOCKET)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ ret = sceNetInetSendto(__psp_descriptormap[s]->sce_descriptor, buf, len, flags, to, tolen); -+ if(ret < 0) -+ { -+ errno = sceNetInetGetErrno(); -+ return -1; -+ } -+ -+ return ret; -+} -+#endif -+ -+#ifdef F_setsockopt -+int setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen) -+{ -+ int ret; -+ -+ if (!__PSP_IS_FD_OF_TYPE(s, __PSP_DESCRIPTOR_TYPE_SOCKET)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ ret = sceNetInetSetsockopt(__psp_descriptormap[s]->sce_descriptor, level, optname, optval, optlen); -+ if(ret < 0) -+ { -+ errno = sceNetInetGetErrno(); -+ return -1; -+ } -+ else -+ { -+ if ( (level == SOL_SOCKET) && (optname == SO_NONBLOCK) ) { -+ if (*((int*)optval) == 1) { -+ __psp_descriptormap[s]->flags |= O_NONBLOCK; -+ } -+ else { -+ __psp_descriptormap[s]->flags &= ~O_NONBLOCK; -+ } -+ } -+ } -+ -+ return 0; -+} -+#endif -+ -+#ifdef F_shutdown -+int shutdown(int s, int how) -+{ -+ int ret; -+ -+ if (!__PSP_IS_FD_OF_TYPE(s, __PSP_DESCRIPTOR_TYPE_SOCKET)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ ret = sceNetInetShutdown(__psp_descriptormap[s]->sce_descriptor, how); -+ if(ret < 0) -+ { -+ errno = sceNetInetGetErrno(); -+ return -1; -+ } -+ -+ return 0; -+} -+#endif -+ -+#ifdef F_getpeername -+int getpeername(int s, struct sockaddr *name, socklen_t *namelen) -+{ -+ int ret; -+ -+ if (!__PSP_IS_FD_OF_TYPE(s, __PSP_DESCRIPTOR_TYPE_SOCKET)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ ret = sceNetInetGetpeername(__psp_descriptormap[s]->sce_descriptor, name, namelen); -+ if(ret < 0) -+ { -+ errno = sceNetInetGetErrno(); -+ return -1; -+ } -+ -+ return 0; -+} -+#endif -+ -+#ifdef F_getsockname -+int getsockname(int s, struct sockaddr *name, socklen_t *namelen) -+{ -+ int ret; -+ -+ if (!__PSP_IS_FD_OF_TYPE(s, __PSP_DESCRIPTOR_TYPE_SOCKET)) { -+ errno = EBADF; -+ return -1; -+ } -+ -+ ret = sceNetInetGetsockname(__psp_descriptormap[s]->sce_descriptor, name, namelen); -+ if(ret < 0) -+ { -+ errno = sceNetInetGetErrno(); -+ return -1; -+ } -+ -+ return 0; -+} -+#endif -+ -+#ifdef F_inet_ntoa -+char *inet_ntoa(struct in_addr in) -+{ -+ static char ip_addr[INET_ADDRSTRLEN+1]; -+ -+ if(sceNetInetInetNtop(AF_INET, &in, ip_addr, INET_ADDRSTRLEN) == NULL) -+ { -+ strcpy(ip_addr, "Invalid"); -+ } -+ -+ return ip_addr; -+} -+#endif diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-sys-dirent.h b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-sys-dirent.h deleted file mode 100644 index b5598faf162e..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-sys-dirent.h +++ /dev/null @@ -1,42 +0,0 @@ ---- ./newlib/libc/sys/psp/sys/dirent.h.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/sys/dirent.h 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,39 @@ -+#ifndef _SYS_DIRENT_H -+#define _SYS_DIRENT_H -+ -+/* PSP dirent.h, based on pspiofilemgr_dirent.h -+ by Jim Paris <jim@jtan.com> */ -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include <pspiofilemgr_dirent.h> -+ -+#define MAXNAMLEN 255 -+ -+/* Same as SceIoDirent, just with a different name. */ -+struct dirent { -+ /** File status. */ -+ SceIoStat d_stat; -+ /** File name. */ -+ char d_name[256]; -+ /** Device-specific data. */ -+ void * d_private; -+ int dummy; -+}; -+ -+typedef struct { -+ SceUID uid; -+ struct dirent de; -+} DIR; -+ -+DIR *opendir (const char *); -+struct dirent *readdir (DIR *); -+int closedir (DIR *); -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#endif diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-sys-errno.h b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-sys-errno.h deleted file mode 100644 index 6b02d7c0e9c0..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-sys-errno.h +++ /dev/null @@ -1,161 +0,0 @@ ---- ./newlib/libc/sys/psp/sys/errno.h.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/sys/errno.h 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,158 @@ -+/* errno.h for PSP, based on newlib/libc/include/sys/errno.h. */ -+ -+#ifndef _SYS_ERRNO_H_ -+#ifdef __cplusplus -+extern "C" { -+#endif -+#define _SYS_ERRNO_H_ -+ -+#include <sys/reent.h> -+ -+#ifndef _REENT_ONLY -+#define errno (*__errno()) -+extern int *__errno _PARAMS ((void)); -+#endif -+ -+/* Please don't use these variables directly. -+ Use strerror instead. */ -+extern __IMPORT _CONST char * _CONST _sys_errlist[]; -+extern __IMPORT int _sys_nerr; -+#ifdef __CYGWIN__ -+extern __IMPORT const char * const sys_errlist[]; -+extern __IMPORT int sys_nerr; -+#endif -+ -+#define __errno_r(ptr) ((ptr)->_errno) -+ -+#define EPERM 1 /* Not super-user */ -+#define ENOENT 2 /* No such file or directory */ -+#define ESRCH 3 /* No such process */ -+#define EINTR 4 /* Interrupted system call */ -+#define EIO 5 /* I/O error */ -+#define ENXIO 6 /* No such device or address */ -+#define E2BIG 7 /* Arg list too long */ -+#define ENOEXEC 8 /* Exec format error */ -+#define EBADF 9 /* Bad file number */ -+#define ECHILD 10 /* No children */ -+#define EAGAIN 11 /* No more processes */ -+#define ENOMEM 12 /* Not enough core */ -+#define EACCES 13 /* Permission denied */ -+#define EFAULT 14 /* Bad address */ -+#define ENOTBLK 15 /* Block device required */ -+#define EBUSY 16 /* Mount device busy */ -+#define EEXIST 17 /* File exists */ -+#define EXDEV 18 /* Cross-device link */ -+#define ENODEV 19 /* No such device */ -+#define ENOTDIR 20 /* Not a directory */ -+#define EISDIR 21 /* Is a directory */ -+#define EINVAL 22 /* Invalid argument */ -+#define ENFILE 23 /* Too many open files in system */ -+#define EMFILE 24 /* Too many open files */ -+#define ENOTTY 25 /* Not a typewriter */ -+#define ETXTBSY 26 /* Text file busy */ -+#define EFBIG 27 /* File too large */ -+#define ENOSPC 28 /* No space left on device */ -+#define ESPIPE 29 /* Illegal seek */ -+#define EROFS 30 /* Read only file system */ -+#define EMLINK 31 /* Too many links */ -+#define EPIPE 32 /* Broken pipe */ -+#define EDOM 33 /* Math arg out of domain of func */ -+#define ERANGE 34 /* Math result not representable */ -+#define ENOMSG 35 /* No message of desired type */ -+#define EIDRM 36 /* Identifier removed */ -+#define ECHRNG 37 /* Channel number out of range */ -+#define EL2NSYNC 38 /* Level 2 not synchronized */ -+#define EL3HLT 39 /* Level 3 halted */ -+#define EL3RST 40 /* Level 3 reset */ -+#define ELNRNG 41 /* Link number out of range */ -+#define EUNATCH 42 /* Protocol driver not attached */ -+#define ENOCSI 43 /* No CSI structure available */ -+#define EL2HLT 44 /* Level 2 halted */ -+#define EDEADLK 45 /* Deadlock condition */ -+#define ENOLCK 46 /* No record locks available */ -+#define EBADE 50 /* Invalid exchange */ -+#define EBADR 51 /* Invalid request descriptor */ -+#define EXFULL 52 /* Exchange full */ -+#define ENOANO 53 /* No anode */ -+#define EBADRQC 54 /* Invalid request code */ -+#define EBADSLT 55 /* Invalid slot */ -+#define EDEADLOCK 56 /* File locking deadlock error */ -+#define EBFONT 57 /* Bad font file fmt */ -+#define ENOSTR 60 /* Device not a stream */ -+#define ENODATA 61 /* No data (for no delay io) */ -+#define ETIME 62 /* Timer expired */ -+#define ENOSR 63 /* Out of streams resources */ -+#define ENONET 64 /* Machine is not on the network */ -+#define ENOPKG 65 /* Package not installed */ -+#define EREMOTE 66 /* The object is remote */ -+#define ENOLINK 67 /* The link has been severed */ -+#define EADV 68 /* Advertise error */ -+#define ESRMNT 69 /* Srmount error */ -+#define ECOMM 70 /* Communication error on send */ -+#define EPROTO 71 /* Protocol error */ -+#define EMULTIHOP 74 /* Multihop attempted */ -+#define ELBIN 75 /* Inode is remote (not really error) */ -+#define EDOTDOT 76 /* Cross mount point (not really error) */ -+#define EBADMSG 77 /* Trying to read unreadable message */ -+#define EFTYPE 79 /* Inappropriate file type or format */ -+#define ENOTUNIQ 80 /* Given log. name not unique */ -+#define EBADFD 81 /* f.d. invalid for this operation */ -+#define EREMCHG 82 /* Remote address changed */ -+#define ELIBACC 83 /* Can't access a needed shared lib */ -+#define ELIBBAD 84 /* Accessing a corrupted shared lib */ -+#define ELIBSCN 85 /* .lib section in a.out corrupted */ -+#define ELIBMAX 86 /* Attempting to link in too many libs */ -+#define ELIBEXEC 87 /* Attempting to exec a shared library */ -+#define ENOSYS 88 /* Function not implemented */ -+#define ENMFILE 89 /* No more files */ -+#define ENOTEMPTY 90 /* Directory not empty */ -+#define ENAMETOOLONG 91 /* File or path name too long */ -+#define ELOOP 92 /* Too many symbolic links */ -+#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */ -+#define EPFNOSUPPORT 96 /* Protocol family not supported */ -+#define ECONNRESET 104 /* Connection reset by peer */ -+#define ENOBUFS 105 /* No buffer space available */ -+#define EAFNOSUPPORT 106 /* Address family not supported by protocol family */ -+#define EPROTOTYPE 107 /* Protocol wrong type for socket */ -+#define ENOTSOCK 108 /* Socket operation on non-socket */ -+#define ENOPROTOOPT 109 /* Protocol not available */ -+#define ESHUTDOWN 110 /* Can't send after socket shutdown */ -+#define ECONNREFUSED 111 /* Connection refused */ -+#define EADDRINUSE 112 /* Address already in use */ -+#define ECONNABORTED 113 /* Connection aborted */ -+#define ENETUNREACH 114 /* Network is unreachable */ -+#define ENETDOWN 115 /* Network interface is not configured */ -+#define ETIMEDOUT 116 /* Connection timed out */ -+#define EHOSTDOWN 117 /* Host is down */ -+#define EHOSTUNREACH 118 /* Host is unreachable */ -+#define EINPROGRESS 119 /* Connection already in progress */ -+#define EALREADY 120 /* Socket already connected */ -+#define EDESTADDRREQ 121 /* Destination address required */ -+#define EMSGSIZE 122 /* Message too long */ -+#define EPROTONOSUPPORT 123 /* Unknown protocol */ -+#define ESOCKTNOSUPPORT 124 /* Socket type not supported */ -+#define EADDRNOTAVAIL 125 /* Address not available */ -+#define ENETRESET 126 -+#define EISCONN 127 /* Socket is already connected */ -+#define ENOTCONN 128 /* Socket is not connected */ -+#define ETOOMANYREFS 129 -+#define EPROCLIM 130 -+#define EUSERS 131 -+#define EDQUOT 132 -+#define ESTALE 133 -+#define ENOTSUP 134 /* Not supported */ -+#define ENOMEDIUM 135 /* No medium (in tape drive) */ -+#define ENOSHARE 136 /* No such host or network path */ -+#define ECASECLASH 137 /* Filename exists with different case */ -+#define EILSEQ 138 -+#define EOVERFLOW 139 /* Value too large for defined data type */ -+ -+/* From cygwin32. */ -+#define EWOULDBLOCK EAGAIN /* Operation would block */ -+ -+#define __ELASTERROR 2000 /* Users can add values starting here */ -+ -+#ifdef __cplusplus -+} -+#endif -+#endif /* _SYS_ERRNO_H */ diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-sys-fd_set.h b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-sys-fd_set.h deleted file mode 100644 index 1cdb2dca6c84..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-sys-fd_set.h +++ /dev/null @@ -1,72 +0,0 @@ ---- ./newlib/libc/sys/psp/sys/fd_set.h.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/sys/fd_set.h 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,69 @@ -+/* $NetBSD: fd_set.h,v 1.1 2005/05/22 12:44:24 kleink Exp $ */ -+ -+/*- -+ * Copyright (c) 1992, 1993 -+ * The Regents of the University of California. All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 3. Neither the name of the University nor the names of its contributors -+ * may be used to endorse or promote products derived from this software -+ * without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ * -+ * from: @(#)types.h 8.4 (Berkeley) 1/21/94 -+ */ -+ -+#ifndef _SYS_FD_SET_H_ -+#define _SYS_FD_SET_H_ -+ -+#include <sys/socket.h> -+#include <stdint.h> -+ -+/* -+ * Implementation dependent defines, hidden from user space. X/Open does not -+ * specify them. -+ */ -+#define __NBBY 8 /* number of bits in a byte */ -+typedef uint32_t __fd_mask; -+ -+/* bits per mask */ -+#define __NFDBITS ((unsigned int)sizeof(__fd_mask) * __NBBY) -+ -+#define __howmany(x, y) (((x) + ((y) - 1)) / (y)) -+ -+#define FD_SETSIZE 256 -+ -+typedef struct fd_set { -+ __fd_mask fds_bits[__howmany(FD_SETSIZE, __NFDBITS)]; -+} fd_set; -+ -+#define FD_SET(n, p) \ -+ ((p)->fds_bits[(n) /__NFDBITS] |= (1 << ((n) % __NFDBITS))) -+ -+#define FD_CLR(n, p) \ -+ ((p)->fds_bits[(n) /__NFDBITS] &= ~(1 << ((n) % __NFDBITS))) -+ -+#define FD_ISSET(n, p) \ -+ ((p)->fds_bits[(n) /__NFDBITS] & (1 << ((n) % __NFDBITS))) -+ -+#define FD_ZERO(p) (void)__builtin_memset((p), 0, sizeof(*(p))) -+ -+#endif /* _SYS_FD_SET_H_ */ diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-sys-ioctl.h b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-sys-ioctl.h deleted file mode 100644 index 04be432088cf..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-sys-ioctl.h +++ /dev/null @@ -1,4 +0,0 @@ ---- ./newlib/libc/sys/psp/sys/ioctl.h.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/sys/ioctl.h 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1 @@ -+/* Empty file, here for compatibility */ diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-sys-select.h b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-sys-select.h deleted file mode 100644 index 252aa16ff105..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-sys-select.h +++ /dev/null @@ -1,57 +0,0 @@ ---- ./newlib/libc/sys/psp/sys/select.h.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/sys/select.h 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,54 @@ -+/* $NetBSD: select.h,v 1.24 2005/05/22 12:44:24 kleink Exp $ */ -+ -+/*- -+ * Copyright (c) 1992, 1993 -+ * The Regents of the University of California. All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 3. Neither the name of the University nor the names of its contributors -+ * may be used to endorse or promote products derived from this software -+ * without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ * -+ * @(#)select.h 8.2 (Berkeley) 1/4/94 -+ */ -+ -+#ifndef _SYS_SELECT_H_ -+#define _SYS_SELECT_H_ -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include <sys/fd_set.h> -+#include <sys/time.h> -+ -+int sceNetInetSelect(int n, fd_set *readfds, fd_set *writefds, -+ fd_set *exceptfds, struct timeval *timeout); -+ -+int select(int n, fd_set *readfds, fd_set *writefds, -+ fd_set *exceptfds, struct timeval *timeout); -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#endif /* !_SYS_SELECT_H_ */ diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-sys-socket.h b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-sys-socket.h deleted file mode 100644 index 1be96562573f..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-sys-socket.h +++ /dev/null @@ -1,297 +0,0 @@ ---- ./newlib/libc/sys/psp/sys/socket.h.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/sys/socket.h 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,294 @@ -+/* $NetBSD: socket.h,v 1.77 2005/11/29 03:12:16 christos Exp $ */ -+ -+/* -+ * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 3. Neither the name of the project nor the names of its contributors -+ * may be used to endorse or promote products derived from this software -+ * without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ -+ -+/* -+ * Copyright (c) 1982, 1985, 1986, 1988, 1993, 1994 -+ * The Regents of the University of California. All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 3. Neither the name of the University nor the names of its contributors -+ * may be used to endorse or promote products derived from this software -+ * without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ * -+ * @(#)socket.h 8.6 (Berkeley) 5/3/95 -+ */ -+ -+#ifndef _SYS_SOCKET_H_ -+#define _SYS_SOCKET_H_ -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include <stdint.h> -+#include <stddef.h> -+#include <sys/types.h> -+ -+typedef uint8_t sa_family_t; -+typedef uint32_t socklen_t; -+ -+/* -+ * Socket types. -+ */ -+#define SOCK_STREAM 1 /* stream socket */ -+#define SOCK_DGRAM 2 /* datagram socket */ -+#define SOCK_RAW 3 /* raw-protocol interface */ -+#define SOCK_RDM 4 /* reliably-delivered message */ -+#define SOCK_SEQPACKET 5 /* sequenced packet stream */ -+ -+/* -+ * Option flags per-socket. -+ */ -+#define SO_DEBUG 0x0001 /* turn on debugging info recording */ -+#define SO_ACCEPTCONN 0x0002 /* socket has had listen() */ -+#define SO_REUSEADDR 0x0004 /* allow local address reuse */ -+#define SO_KEEPALIVE 0x0008 /* keep connections alive */ -+#define SO_DONTROUTE 0x0010 /* just use interface addresses */ -+#define SO_BROADCAST 0x0020 /* permit sending of broadcast msgs */ -+#define SO_USELOOPBACK 0x0040 /* bypass hardware when possible */ -+#define SO_LINGER 0x0080 /* linger on close if data present */ -+#define SO_OOBINLINE 0x0100 /* leave received OOB data in line */ -+#define SO_REUSEPORT 0x0200 /* allow local address & port reuse */ -+#define SO_TIMESTAMP 0x0400 /* timestamp received dgram traffic */ -+ -+/* -+ * Additional options, not kept in so_options. -+ */ -+#define SO_SNDBUF 0x1001 /* send buffer size */ -+#define SO_RCVBUF 0x1002 /* receive buffer size */ -+#define SO_SNDLOWAT 0x1003 /* send low-water mark */ -+#define SO_RCVLOWAT 0x1004 /* receive low-water mark */ -+#define SO_SNDTIMEO 0x1005 /* send timeout */ -+#define SO_RCVTIMEO 0x1006 /* receive timeout */ -+#define SO_ERROR 0x1007 /* get error status and clear */ -+#define SO_TYPE 0x1008 /* get socket type */ -+#define SO_OVERFLOWED 0x1009 /* datagrams: return packets dropped */ -+#define SO_NONBLOCK 0x1009 /* non-blocking I/O */ -+ -+/* -+ * Structure used for manipulating linger option. -+ */ -+struct linger { -+ int l_onoff; /* option on/off */ -+ int l_linger; /* linger time in seconds */ -+}; -+ -+/* -+ * Level number for (get/set)sockopt() to apply to socket itself. -+ */ -+#define SOL_SOCKET 0xffff /* options for socket level */ -+ -+/* -+ * Address families. -+ */ -+#define AF_UNSPEC 0 /* unspecified */ -+#define AF_LOCAL 1 /* local to host (pipes, portals) */ -+#define AF_UNIX AF_LOCAL /* backward compatibility */ -+#define AF_INET 2 /* internetwork: UDP, TCP, etc. */ -+#define AF_IMPLINK 3 /* arpanet imp addresses */ -+#define AF_PUP 4 /* pup protocols: e.g. BSP */ -+#define AF_CHAOS 5 /* mit CHAOS protocols */ -+#define AF_NS 6 /* XEROX NS protocols */ -+#define AF_ISO 7 /* ISO protocols */ -+#define AF_OSI AF_ISO -+#define AF_ECMA 8 /* european computer manufacturers */ -+#define AF_DATAKIT 9 /* datakit protocols */ -+#define AF_CCITT 10 /* CCITT protocols, X.25 etc */ -+#define AF_SNA 11 /* IBM SNA */ -+#define AF_DECnet 12 /* DECnet */ -+#define AF_DLI 13 /* DEC Direct data link interface */ -+#define AF_LAT 14 /* LAT */ -+#define AF_HYLINK 15 /* NSC Hyperchannel */ -+#define AF_APPLETALK 16 /* Apple Talk */ -+#define AF_ROUTE 17 /* Internal Routing Protocol */ -+#define AF_LINK 18 /* Link layer interface */ -+#define AF_COIP 20 /* connection-oriented IP, aka ST II */ -+#define AF_CNT 21 /* Computer Network Technology */ -+#define AF_IPX 23 /* Novell Internet Protocol */ -+#define AF_INET6 24 /* IP version 6 */ -+#define AF_ISDN 26 /* Integrated Services Digital Network*/ -+#define AF_E164 AF_ISDN /* CCITT E.164 recommendation */ -+#define AF_NATM 27 /* native ATM access */ -+#define AF_ARP 28 /* (rev.) addr. res. prot. (RFC 826) */ -+#define AF_MAX 31 -+ -+/* -+ * Structure used by kernel to store most -+ * addresses. -+ */ -+struct sockaddr { -+ uint8_t sa_len; /* total length */ -+ sa_family_t sa_family; /* address family */ -+ char sa_data[14]; /* actually longer; address value */ -+}; -+ -+/* -+ * Protocol families, same as address families for now. -+ */ -+#define PF_UNSPEC AF_UNSPEC -+#define PF_LOCAL AF_LOCAL -+#define PF_UNIX PF_LOCAL /* backward compatibility */ -+#define PF_INET AF_INET -+#define PF_IMPLINK AF_IMPLINK -+#define PF_PUP AF_PUP -+#define PF_CHAOS AF_CHAOS -+#define PF_NS AF_NS -+#define PF_ISO AF_ISO -+#define PF_OSI AF_ISO -+#define PF_ECMA AF_ECMA -+#define PF_DATAKIT AF_DATAKIT -+#define PF_CCITT AF_CCITT -+#define PF_SNA AF_SNA -+#define PF_DECnet AF_DECnet -+#define PF_DLI AF_DLI -+#define PF_LAT AF_LAT -+#define PF_HYLINK AF_HYLINK -+#define PF_APPLETALK AF_APPLETALK -+#define PF_ROUTE AF_ROUTE -+#define PF_LINK AF_LINK -+#if defined(_NETBSD_SOURCE) -+#define PF_XTP pseudo_AF_XTP /* really just proto family, no AF */ -+#endif -+#define PF_COIP AF_COIP -+#define PF_CNT AF_CNT -+#define PF_INET6 AF_INET6 -+#define PF_IPX AF_IPX /* same format as AF_NS */ -+#if defined(_NETBSD_SOURCE) -+#define PF_RTIP pseudo_AF_RTIP /* same format as AF_INET */ -+#define PF_PIP pseudo_AF_PIP -+#endif -+#define PF_ISDN AF_ISDN /* same as E164 */ -+#define PF_E164 AF_E164 -+#define PF_NATM AF_NATM -+#define PF_ARP AF_ARP -+#if defined(_NETBSD_SOURCE) -+#define PF_KEY pseudo_AF_KEY /* like PF_ROUTE, only for key mgmt */ -+#endif -+ -+#define PF_MAX AF_MAX -+ -+#define MSG_OOB 0x1 /* process out-of-band data */ -+#define MSG_PEEK 0x2 /* peek at incoming message */ -+#define MSG_DONTROUTE 0x4 /* send without using routing tables */ -+#define MSG_EOR 0x8 /* data completes record */ -+#define MSG_TRUNC 0x10 /* data discarded before delivery */ -+#define MSG_CTRUNC 0x20 /* control data lost before delivery */ -+#define MSG_WAITALL 0x40 /* wait for full request or error */ -+#define MSG_DONTWAIT 0x80 /* this message should be nonblocking */ -+#define MSG_BCAST 0x100 /* this message was rcvd using link-level brdcst */ -+#define MSG_MCAST 0x200 /* this message was rcvd using link-level mcast */ -+ -+/* -+ * Types of socket shutdown(2). -+ */ -+#define SHUT_RD 0 /* Disallow further receives. */ -+#define SHUT_WR 1 /* Disallow further sends. */ -+#define SHUT_RDWR 2 /* Disallow further sends/receives. */ -+ -+struct iovec { -+ void *iov_base; /* Base address. */ -+ size_t iov_len; /* Length. */ -+}; -+ -+struct msghdr { -+ void *msg_name; /* optional address */ -+ socklen_t msg_namelen; /* size of address */ -+ struct iovec *msg_iov; /* scatter/gather array */ -+ int msg_iovlen; /* # elements in msg_iov */ -+ void *msg_control; /* ancillary data, see below */ -+ socklen_t msg_controllen; /* ancillary data buffer len */ -+ int msg_flags; /* flags on received message */ -+}; -+ -+/* BSD-compatible socket API. */ -+int accept(int, struct sockaddr * __restrict, socklen_t * __restrict); -+int bind(int, const struct sockaddr *, socklen_t); -+int connect(int, const struct sockaddr *, socklen_t); -+int getpeername(int, struct sockaddr * __restrict, socklen_t * __restrict); -+int getsockname(int, struct sockaddr * __restrict, socklen_t * __restrict); -+int getsockopt(int, int, int, void * __restrict, socklen_t * __restrict); -+int listen(int, int); -+ssize_t recv(int, void *, size_t, int); -+ssize_t recvfrom(int, void * __restrict, size_t, int, -+ struct sockaddr * __restrict, socklen_t * __restrict); -+ssize_t recvmsg(int s, struct msghdr *msg, int flags); -+ssize_t send(int, const void *, size_t, int); -+ssize_t sendto(int, const void *, -+ size_t, int, const struct sockaddr *, socklen_t); -+ssize_t sendmsg(int s, const struct msghdr *msg, int flags); -+int setsockopt(int, int, int, const void *, socklen_t); -+int shutdown(int, int); -+int socket(int, int, int); -+ -+/* sceNetInet socket API. */ -+int sceNetInetAccept(int s, struct sockaddr *addr, socklen_t *addrlen); -+int sceNetInetBind(int s, const struct sockaddr *my_addr, socklen_t addrlen); -+int sceNetInetConnect(int s, const struct sockaddr *serv_addr, socklen_t addrlen); -+int sceNetInetGetsockopt(int s, int level, int optname, void *optval, socklen_t *optlen); -+int sceNetInetListen(int s, int backlog); -+ssize_t sceNetInetRecv(int s, void *buf, size_t len, int flags); -+ssize_t sceNetInetRecvfrom(int s, void *buf, size_t flags, int, struct sockaddr *from, socklen_t *fromlen); -+ssize_t sceNetInetRecvmsg(int s, struct msghdr *msg, int flags); -+ssize_t sceNetInetSend(int s, const void *buf, size_t len, int flags); -+ssize_t sceNetInetSendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); -+ssize_t sceNetInetSendmsg(int s, const struct msghdr *msg, int flags); -+int sceNetInetSetsockopt(int s, int level, int optname, const void *optval, socklen_t optlen); -+int sceNetInetShutdown(int s, int how); -+int sceNetInetSocket(int domain, int type, int protocol); -+int sceNetInetClose(int s); -+int sceNetInetGetErrno(void); -+int sceNetInetGetsockname(int s, struct sockaddr *name, socklen_t *namelen); -+int sceNetInetGetpeername(int s, struct sockaddr *name, socklen_t *namelen); -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#endif /* !_SYS_SOCKET_H_ */ diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-syscalls.c b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-syscalls.c deleted file mode 100644 index 0273b7e1cd92..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-syscalls.c +++ /dev/null @@ -1,22 +0,0 @@ ---- ./newlib/libc/sys/psp/syscalls.c.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/syscalls.c 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,19 @@ -+/* -+ * PSP Software Development Kit - http://www.pspdev.org -+ * ----------------------------------------------------------------------- -+ * Licensed under the BSD license, see LICENSE in PSPSDK root for details. -+ * -+ * syscalls.c - functions in systeam namespace goes here -+ * -+ * Copyright (c) 2007 Alper Akcan "anhanguera" <distchx@yahoo.com> -+ * -+ */ -+ -+#include <stdio.h> -+ -+int __psp_set_errno (int code); -+ -+time_t _times (time_t *t) -+{ -+ return __psp_set_errno(sceKernelLibcTime(t)); -+} diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-xprintf.c b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-xprintf.c deleted file mode 100644 index 48917c27811f..000000000000 --- a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-xprintf.c +++ /dev/null @@ -1,987 +0,0 @@ ---- ./newlib/libc/sys/psp/xprintf.c.orig 2012-01-25 19:33:12.000000000 +0000 -+++ ./newlib/libc/sys/psp/xprintf.c 2012-01-25 19:33:12.000000000 +0000 -@@ -0,0 +1,984 @@ -+/* -+ * PSP Software Development Kit - http://www.pspdev.org -+ * ----------------------------------------------------------------------- -+ * Licensed under the BSD license, see LICENSE in PSPSDK root for details. -+ * -+ * xprintf.c - Various *printf functions. -+ * -+ * Copyright (c) 2005 Marcus R. Brown <mrbrown@ocgnet.org> -+ * Copyright (c) 2005 James Forshaw <tyranid@gmail.com> -+ * Copyright (c) 2005 John Kelley <ps2dev@kelley.ca> -+ * -+ * $Id: newlib-1.13.0.patch 1891 2006-05-02 15:32:28Z raf $ -+ */ -+/* Code borrowed from mysql's xprintf.c, by Richard Hipp */ -+/* This xprintf.c file on which this one is based is in public domain. */ -+ -+#include <stdio.h> -+#include <string.h> -+#include <malloc.h> -+ -+#include <stdarg.h> -+#include <stddef.h> -+ -+/* -+** The maximum number of digits of accuracy in a floating-point conversion. -+*/ -+#define MAXDIG 20 -+ -+/* Instead of including ctype.h, use the isdigit() prototype because psplibc doesn't -+ know about newlib, and newlib defines isdigit as a macro that uses _ctype_. */ -+int isdigit(int __c); -+ -+int vxprintf(void (*func)(char *, int, void *), void *arg, const char *format, va_list ap); -+ -+#ifdef F_vxprintf -+/* -+** Conversion types fall into various categories as defined by the -+** following enumeration. -+*/ -+ -+enum e_type { /* The type of the format field */ -+ RADIX, /* Integer types. %d, %x, %o, and so forth */ -+ FLOAT, /* Floating point. %f */ -+ EXP, /* Exponentional notation. %e and %E */ -+ GENERIC, /* Floating or exponential, depending on exponent. %g */ -+ SIZE, /* Return number of characters processed so far. %n */ -+ STRING, /* Strings. %s */ -+ PERCENT, /* Percent symbol. %% */ -+ CHAR, /* Characters. %c */ -+ ERROR, /* Used to indicate no such conversion type */ -+/* The rest are extensions, not normally found in printf() */ -+ CHARLIT, /* Literal characters. %' */ -+ SEEIT, /* Strings with visible control characters. %S */ -+ MEM_STRING, /* A string which should be deleted after use. %z */ -+ ORDINAL, /* 1st, 2nd, 3rd and so forth */ -+}; -+ -+/* -+** Each builtin conversion character (ex: the 'd' in "%d") is described -+** by an instance of the following structure -+*/ -+typedef struct s_info { /* Information about each format field */ -+ int fmttype; /* The format field code letter */ -+ int base; /* The base for radix conversion */ -+ char *charset; /* The character set for conversion */ -+ int flag_signed; /* Is the quantity signed? */ -+ char *prefix; /* Prefix on non-zero values in alt format */ -+ enum e_type type; /* Conversion paradigm */ -+} info; -+ -+/* -+** The following table is searched linearly, so it is good to put the -+** most frequently used conversion types first. -+*/ -+static info fmtinfo[] = { -+ { 'd', 10, "0123456789", 1, 0, RADIX, }, -+ { 's', 0, 0, 0, 0, STRING, }, -+ { 'S', 0, 0, 0, 0, SEEIT, }, -+ { 'z', 0, 0, 0, 0, MEM_STRING, }, -+ { 'c', 0, 0, 0, 0, CHAR, }, -+ { 'o', 8, "01234567", 0, "0", RADIX, }, -+ { 'u', 10, "0123456789", 0, 0, RADIX, }, -+ { 'x', 16, "0123456789abcdef", 0, "x0", RADIX, }, -+ { 'X', 16, "0123456789ABCDEF", 0, "X0", RADIX, }, -+ { 'r', 10, "0123456789", 0, 0, ORDINAL, }, -+ { 'f', 0, 0, 1, 0, FLOAT, }, -+ { 'e', 0, "e", 1, 0, EXP, }, -+ { 'E', 0, "E", 1, 0, EXP, }, -+ { 'g', 0, "e", 1, 0, GENERIC, }, -+ { 'G', 0, "E", 1, 0, GENERIC, }, -+ { 'i', 10, "0123456789", 1, 0, RADIX, }, -+ { 'n', 0, 0, 0, 0, SIZE, }, -+ { 'S', 0, 0, 0, 0, SEEIT, }, -+ { '%', 0, 0, 0, 0, PERCENT, }, -+ { 'b', 2, "01", 0, "b0", RADIX, }, /* Binary notation */ -+ { 'p', 16, "0123456789ABCDEF", 0, "x0", RADIX, }, /* Pointers */ -+ { '\'', 0, 0, 0, 0, CHARLIT, }, /* Literal char */ -+}; -+#define NINFO (sizeof(fmtinfo)/sizeof(info)) /* Size of the fmtinfo table */ -+ -+/* -+** If NOFLOATINGPOINT is defined, then none of the floating point -+** conversions will work. -+*/ -+#ifndef NOFLOATINGPOINT -+/* -+** "*val" is a double such that 0.1 <= *val < 10.0 -+** Return the ascii code for the leading digit of *val, then -+** multiply "*val" by 10.0 to renormalize. -+** -+** Example: -+** input: *val = 3.14159 -+** output: *val = 1.4159 function return = '3' -+** -+** The counter *cnt is incremented each time. After counter exceeds -+** 16 (the number of significant digits in a 64-bit float) '0' is -+** always returned. -+*/ -+static int getdigit(long double *val, int *cnt){ -+ int digit; -+ long double d; -+ if( (*cnt)++ >= MAXDIG ) return '0'; -+ digit = (int)*val; -+ d = digit; -+ digit += '0'; -+ *val = (*val - d)*10.0; -+ return digit; -+} -+#endif -+ -+/* -+** Setting the size of the BUFFER involves trade-offs. No %d or %f -+** conversion can have more than BUFSIZE characters. If the field -+** width is larger than BUFSIZE, it is silently shortened. On the -+** other hand, this routine consumes more stack space with larger -+** BUFSIZEs. If you have some threads for which you want to minimize -+** stack space, you should keep BUFSIZE small. -+*/ -+#define BUFSIZE 100 /* Size of the output buffer */ -+ -+/* -+** The root program. All variations call this core. -+** -+** INPUTS: -+** func This is a pointer to a function taking three arguments -+** 1. A pointer to the list of characters to be output -+** (Note, this list is NOT null terminated.) -+** 2. An integer number of characters to be output. -+** (Note: This number might be zero.) -+** 3. A pointer to anything. Same as the "arg" parameter. -+** -+** arg This is the pointer to anything which will be passed as the -+** third argument to "func". Use it for whatever you like. -+** -+** fmt This is the format string, as in the usual print. -+** -+** ap This is a pointer to a list of arguments. Same as in -+** vfprint. -+** -+** OUTPUTS: -+** The return value is the total number of characters sent to -+** the function "func". Returns -1 on a error. -+** -+** Note that the order in which automatic variables are declared below -+** seems to make a big difference in determining how fast this beast -+** will run. -+*/ -+ -+int vxprintf(func,arg,format,ap) -+ void (*func)(char*,int,void*); -+ void *arg; -+ const char *format; -+ va_list ap; -+{ -+ register const char *fmt; /* The format string. */ -+ register int c; /* Next character in the format string */ -+ register char *bufpt; /* Pointer to the conversion buffer */ -+ register int precision; /* Precision of the current field */ -+ register int length; /* Length of the field */ -+ register int idx; /* A general purpose loop counter */ -+ int count; /* Total number of characters output */ -+ int width; /* Width of the current field */ -+ int flag_leftjustify; /* True if "-" flag is present */ -+ int flag_plussign; /* True if "+" flag is present */ -+ int flag_blanksign; /* True if " " flag is present */ -+ int flag_alternateform; /* True if "#" flag is present */ -+ int flag_zeropad; /* True if field width constant starts with zero */ -+ int flag_long; /* True if "l" flag is present */ -+ int flag_center; /* True if "=" flag is present */ -+ unsigned long long longvalue; /* Value for integer types */ -+ -+ long double realvalue; /* Value for real types */ -+ info *infop; /* Pointer to the appropriate info structure */ -+ char buf[BUFSIZE]; /* Conversion buffer */ -+ char prefix; /* Prefix character. "+" or "-" or " " or '\0'. */ -+ int errorflag = 0; /* True if an error is encountered */ -+ enum e_type xtype; /* Conversion paradigm */ -+ char *zMem = 0; /* String to be freed */ -+ static char spaces[] = -+ " "; -+#define SPACESIZE (sizeof(spaces)-1) -+#ifndef NOFLOATINGPOINT -+ int exp; /* exponent of real numbers */ -+ long double rounder; /* Used for rounding floating point values */ -+ int flag_dp; /* True if decimal point should be shown */ -+ int flag_rtz; /* True if trailing zeros should be removed */ -+ int flag_exp; /* True to force display of the exponent */ -+ int nsd; /* Number of significant digits returned */ -+#endif -+ -+ fmt = format; /* Put in a register for speed */ -+ count = length = 0; -+ bufpt = 0; -+ for(; (c=(*fmt))!=0; ++fmt){ -+ if( c!='%' ){ -+ register int amt; -+ bufpt = (char *)fmt; -+ amt = 1; -+ while( (c=(*++fmt))!='%' && c!=0 ) amt++; -+ (*func)(bufpt,amt,arg); -+ count += amt; -+ if( c==0 ) break; -+ } -+ if( (c=(*++fmt))==0 ){ -+ errorflag = 1; -+ (*func)("%",1,arg); -+ count++; -+ break; -+ } -+ /* Find out what flags are present */ -+ flag_leftjustify = flag_plussign = flag_blanksign = -+ flag_alternateform = flag_zeropad = flag_center = 0; -+ do{ -+ switch( c ){ -+ case '-': flag_leftjustify = 1; c = 0; break; -+ case '+': flag_plussign = 1; c = 0; break; -+ case ' ': flag_blanksign = 1; c = 0; break; -+ case '#': flag_alternateform = 1; c = 0; break; -+ case '0': flag_zeropad = 1; c = 0; break; -+ case '=': flag_center = 1; c = 0; break; -+ default: break; -+ } -+ }while( c==0 && (c=(*++fmt))!=0 ); -+ if( flag_center ) flag_leftjustify = 0; -+ /* Get the field width */ -+ width = 0; -+ if( c=='*' ){ -+ width = va_arg(ap,int); -+ if( width<0 ){ -+ flag_leftjustify = 1; -+ width = -width; -+ } -+ c = *++fmt; -+ }else{ -+ while( isdigit(c) ){ -+ width = width*10 + c - '0'; -+ c = *++fmt; -+ } -+ } -+ if( width > BUFSIZE-10 ){ -+ width = BUFSIZE-10; -+ } -+ /* Get the precision */ -+ if( c=='.' ){ -+ precision = 0; -+ c = *++fmt; -+ if( c=='*' ){ -+ precision = va_arg(ap,int); -+#ifndef COMPATIBILITY -+ /* This is sensible, but SUN OS 4.1 doesn't do it. */ -+ if( precision<0 ) precision = -precision; -+#endif -+ c = *++fmt; -+ }else{ -+ while( isdigit(c) ){ -+ precision = precision*10 + c - '0'; -+ c = *++fmt; -+ } -+ } -+ /* Limit the precision to prevent overflowing buf[] during conversion */ -+ if( precision>BUFSIZE-40 ) precision = BUFSIZE-40; -+ }else{ -+ precision = -1; -+ } -+ /* Get the conversion type modifier */ -+ if( c=='l' ){ -+ flag_long = 1; -+ c = *++fmt; -+ if( c == 'l' ){ -+ flag_long = 2; -+ c = *++fmt; -+ } -+ }else{ -+ flag_long = 0; -+ } -+ /* Fetch the info entry for the field */ -+ infop = 0; -+ for(idx=0; idx<NINFO; idx++){ -+ if( c==fmtinfo[idx].fmttype ){ -+ infop = &fmtinfo[idx]; -+ break; -+ } -+ } -+ /* No info entry found. It must be an error. */ -+ if( infop==0 ){ -+ xtype = ERROR; -+ }else{ -+ xtype = infop->type; -+ } -+ -+ /* -+ ** At this point, variables are initialized as follows: -+ ** -+ ** flag_alternateform TRUE if a '#' is present. -+ ** flag_plussign TRUE if a '+' is present. -+ ** flag_leftjustify TRUE if a '-' is present or if the -+ ** field width was negative. -+ ** flag_zeropad TRUE if the width began with 0. -+ ** flag_long TRUE if the letter 'l' (ell) prefixed -+ ** the conversion character. -+ ** flag_blanksign TRUE if a ' ' is present. -+ ** width The specified field width. This is -+ ** always non-negative. Zero is the default. -+ ** precision The specified precision. The default -+ ** is -1. -+ ** xtype The class of the conversion. -+ ** infop Pointer to the appropriate info struct. -+ */ -+ switch( xtype ){ -+ case ORDINAL: -+ case RADIX: -+ if(( flag_long>1 )&&( infop->flag_signed )){ -+ signed long long t = va_arg(ap,signed long long); -+ longvalue = t; -+ }else if(( flag_long>1 )&&( !infop->flag_signed )){ -+ unsigned long long t = va_arg(ap,unsigned long long); -+ longvalue = t; -+ }else if(( flag_long )&&( infop->flag_signed )){ -+ signed long t = va_arg(ap,signed long); -+ longvalue = t; -+ }else if(( flag_long )&&( !infop->flag_signed )){ -+ unsigned long t = va_arg(ap,unsigned long); -+ longvalue = t; -+ }else if(( !flag_long )&&( infop->flag_signed )){ -+ signed int t = va_arg(ap,signed int) & ((unsigned long) 0xffffffff); -+ longvalue = t; -+ }else{ -+ unsigned int t = va_arg(ap,unsigned int) & ((unsigned long) 0xffffffff); -+ longvalue = t; -+ } -+#ifdef COMPATIBILITY -+ /* For the format %#x, the value zero is printed "0" not "0x0". -+ ** I think this is stupid. */ -+ if( longvalue==0 ) flag_alternateform = 0; -+#else -+ /* More sensible: turn off the prefix for octal (to prevent "00"), -+ ** but leave the prefix for hex. */ -+ if( longvalue==0 && infop->base==8 ) flag_alternateform = 0; -+#endif -+ if( infop->flag_signed ){ -+ if( *(long long*)&longvalue<0 ){ -+ longvalue = -*(long long*)&longvalue; -+ prefix = '-'; -+ }else if( flag_plussign ) prefix = '+'; -+ else if( flag_blanksign ) prefix = ' '; -+ else prefix = 0; -+ }else prefix = 0; -+ if( flag_zeropad && precision<width-(prefix!=0) ){ -+ precision = width-(prefix!=0); -+ } -+ bufpt = &buf[BUFSIZE]; -+ if( xtype==ORDINAL ){ -+ long a,b; -+ a = longvalue%10; -+ b = longvalue%100; -+ bufpt -= 2; -+ if( a==0 || a>3 || (b>10 && b<14) ){ -+ bufpt[0] = 't'; -+ bufpt[1] = 'h'; -+ }else if( a==1 ){ -+ bufpt[0] = 's'; -+ bufpt[1] = 't'; -+ }else if( a==2 ){ -+ bufpt[0] = 'n'; -+ bufpt[1] = 'd'; -+ }else if( a==3 ){ -+ bufpt[0] = 'r'; -+ bufpt[1] = 'd'; -+ } -+ } -+ { -+ register char *cset; /* Use registers for speed */ -+ register int base; -+ cset = infop->charset; -+ base = infop->base; -+ do{ /* Convert to ascii */ -+ *(--bufpt) = cset[longvalue%base]; -+ longvalue = longvalue/base; -+ }while( longvalue>0 ); -+ } -+ length = (int)(&buf[BUFSIZE]-bufpt); -+ if(infop->fmttype == 'p') -+ { -+ precision = 8; -+ flag_alternateform = 1; -+ } -+ -+ for(idx=precision-length; idx>0; idx--){ -+ *(--bufpt) = '0'; /* Zero pad */ -+ } -+ if( prefix ) *(--bufpt) = prefix; /* Add sign */ -+ if( flag_alternateform && infop->prefix ){ /* Add "0" or "0x" */ -+ char *pre, x; -+ pre = infop->prefix; -+ if( *bufpt!=pre[0] ){ -+ for(pre=infop->prefix; (x=(*pre))!=0; pre++) *(--bufpt) = x; -+ } -+ } -+ -+ length = (int)(&buf[BUFSIZE]-bufpt); -+ break; -+ case FLOAT: -+ case EXP: -+ case GENERIC: -+ realvalue = va_arg(ap,double); -+#ifndef NOFLOATINGPOINT -+ if( precision<0 ) precision = 6; /* Set default precision */ -+ if( precision>BUFSIZE-10 ) precision = BUFSIZE-10; -+ if( realvalue<0.0 ){ -+ realvalue = -realvalue; -+ prefix = '-'; -+ }else{ -+ if( flag_plussign ) prefix = '+'; -+ else if( flag_blanksign ) prefix = ' '; -+ else prefix = 0; -+ } -+ if( infop->type==GENERIC && precision>0 ) precision--; -+ rounder = 0.0; -+#ifdef COMPATIBILITY -+ /* Rounding works like BSD when the constant 0.4999 is used. Wierd! */ -+ for(idx=precision, rounder=0.4999; idx>0; idx--, rounder*=0.1); -+#else -+ /* It makes more sense to use 0.5 */ -+ if( precision>MAXDIG-1 ) idx = MAXDIG-1; -+ else idx = precision; -+ for(rounder=0.5; idx>0; idx--, rounder*=0.1); -+#endif -+ if( infop->type==FLOAT ) realvalue += rounder; -+ /* Normalize realvalue to within 10.0 > realvalue >= 1.0 */ -+ exp = 0; -+ if( realvalue>0.0 ){ -+ int k = 0; -+ while( realvalue>=1e8 && k++<100 ){ realvalue *= 1e-8; exp+=8; } -+ while( realvalue>=10.0 && k++<100 ){ realvalue *= 0.1; exp++; } -+ while( realvalue<1e-8 && k++<100 ){ realvalue *= 1e8; exp-=8; } -+ while( realvalue<1.0 && k++<100 ){ realvalue *= 10.0; exp--; } -+ if( k>=100 ){ -+ bufpt = "NaN"; -+ length = 3; -+ break; -+ } -+ } -+ bufpt = buf; -+ /* -+ ** If the field type is GENERIC, then convert to either EXP -+ ** or FLOAT, as appropriate. -+ */ -+ flag_exp = xtype==EXP; -+ if( xtype!=FLOAT ){ -+ realvalue += rounder; -+ if( realvalue>=10.0 ){ realvalue *= 0.1; exp++; } -+ } -+ if( xtype==GENERIC ){ -+ flag_rtz = !flag_alternateform; -+ if( exp<-4 || exp>precision ){ -+ xtype = EXP; -+ }else{ -+ precision = precision - exp; -+ xtype = FLOAT; -+ } -+ }else{ -+ flag_rtz = 0; -+ } -+ /* -+ ** The "exp+precision" test causes output to be of type EXP if -+ ** the precision is too large to fit in buf[]. -+ */ -+ nsd = 0; -+ if( xtype==FLOAT && exp+precision<BUFSIZE-30 ){ -+ flag_dp = (precision>0 || flag_alternateform); -+ if( prefix ) *(bufpt++) = prefix; /* Sign */ -+ if( exp<0 ) *(bufpt++) = '0'; /* Digits before "." */ -+ else for(; exp>=0; exp--) *(bufpt++) = getdigit(&realvalue,&nsd); -+ if( flag_dp ) *(bufpt++) = '.'; /* The decimal point */ -+ for(exp++; exp<0 && precision>0; precision--, exp++){ -+ *(bufpt++) = '0'; -+ } -+ while( (precision--)>0 ) *(bufpt++) = getdigit(&realvalue,&nsd); -+ *(bufpt--) = 0; /* Null terminate */ -+ if( flag_rtz && flag_dp ){ /* Remove trailing zeros and "." */ -+ while( bufpt>=buf && *bufpt=='0' ) *(bufpt--) = 0; -+ if( bufpt>=buf && *bufpt=='.' ) *(bufpt--) = 0; -+ } -+ bufpt++; /* point to next free slot */ -+ }else{ /* EXP or GENERIC */ -+ flag_dp = (precision>0 || flag_alternateform); -+ if( prefix ) *(bufpt++) = prefix; /* Sign */ -+ *(bufpt++) = getdigit(&realvalue,&nsd); /* First digit */ -+ if( flag_dp ) *(bufpt++) = '.'; /* Decimal point */ -+ while( (precision--)>0 ) *(bufpt++) = getdigit(&realvalue,&nsd); -+ bufpt--; /* point to last digit */ -+ if( flag_rtz && flag_dp ){ /* Remove tail zeros */ -+ while( bufpt>=buf && *bufpt=='0' ) *(bufpt--) = 0; -+ if( bufpt>=buf && *bufpt=='.' ) *(bufpt--) = 0; -+ } -+ bufpt++; /* point to next free slot */ -+ if( exp || flag_exp ){ -+ *(bufpt++) = infop->charset[0]; -+ if( exp<0 ){ *(bufpt++) = '-'; exp = -exp; } /* sign of exp */ -+ else { *(bufpt++) = '+'; } -+ if( exp>=100 ){ -+ *(bufpt++) = (exp/100)+'0'; /* 100's digit */ -+ exp %= 100; -+ } -+ *(bufpt++) = exp/10+'0'; /* 10's digit */ -+ *(bufpt++) = exp%10+'0'; /* 1's digit */ -+ } -+ } -+ /* The converted number is in buf[] and zero terminated. Output it. -+ ** Note that the number is in the usual order, not reversed as with -+ ** integer conversions. */ -+ length = (int)(bufpt-buf); -+ bufpt = buf; -+ -+ /* Special case: Add leading zeros if the flag_zeropad flag is -+ ** set and we are not left justified */ -+ if( flag_zeropad && !flag_leftjustify && length < width){ -+ int i; -+ int nPad = width - length; -+ for(i=width; i>=nPad; i--){ -+ bufpt[i] = bufpt[i-nPad]; -+ } -+ i = prefix!=0; -+ while( nPad-- ) bufpt[i++] = '0'; -+ length = width; -+ } -+#endif -+ break; -+ case SIZE: -+ *(va_arg(ap,int*)) = count; -+ length = width = 0; -+ break; -+ case PERCENT: -+ buf[0] = '%'; -+ bufpt = buf; -+ length = 1; -+ break; -+ case CHARLIT: -+ case CHAR: -+ c = buf[0] = (xtype==CHAR ? va_arg(ap,int) : *++fmt); -+ if( precision>=0 ){ -+ for(idx=1; idx<precision; idx++) buf[idx] = c; -+ length = precision; -+ }else{ -+ length =1; -+ } -+ bufpt = buf; -+ break; -+ case STRING: -+ case MEM_STRING: -+ zMem = bufpt = va_arg(ap,char*); -+ if( bufpt==0 ) bufpt = "(null)"; -+ length = strlen(bufpt); -+ if( precision>=0 && precision<length ) length = precision; -+ break; -+ case SEEIT: -+ { -+ int i; -+ int c; -+ char *arg = va_arg(ap,char*); -+ for(i=0; i<BUFSIZE-1 && (c = *arg++)!=0; i++){ -+ if( c<0x20 || c>=0x7f ){ -+ buf[i++] = '^'; -+ buf[i] = (c&0x1f)+0x40; -+ }else{ -+ buf[i] = c; -+ } -+ } -+ bufpt = buf; -+ length = i; -+ if( precision>=0 && precision<length ) length = precision; -+ } -+ break; -+ case ERROR: -+ buf[0] = '%'; -+ buf[1] = c; -+ errorflag = 0; -+ idx = 1+(c!=0); -+ (*func)("%",idx,arg); -+ count += idx; -+ if( c==0 ) fmt--; -+ break; -+ }/* End switch over the format type */ -+ /* -+ ** The text of the conversion is pointed to by "bufpt" and is -+ ** "length" characters long. The field width is "width". Do -+ ** the output. -+ */ -+ if( !flag_leftjustify ){ -+ register int nspace; -+ nspace = width-length; -+ if( nspace>0 ){ -+ if( flag_center ){ -+ nspace = nspace/2; -+ width -= nspace; -+ flag_leftjustify = 1; -+ } -+ count += nspace; -+ while( nspace>=SPACESIZE ){ -+ (*func)(spaces,SPACESIZE,arg); -+ nspace -= SPACESIZE; -+ } -+ if( nspace>0 ) (*func)(spaces,nspace,arg); -+ } -+ } -+ if( length>0 ){ -+ (*func)(bufpt,length,arg); -+ count += length; -+ } -+ if( xtype==MEM_STRING && zMem ){ -+ free(zMem); -+ } -+ if( flag_leftjustify ){ -+ register int nspace; -+ nspace = width-length; -+ if( nspace>0 ){ -+ count += nspace; -+ while( nspace>=SPACESIZE ){ -+ (*func)(spaces,SPACESIZE,arg); -+ nspace -= SPACESIZE; -+ } -+ if( nspace>0 ) (*func)(spaces,nspace,arg); -+ } -+ } -+ }/* End for loop over the format string */ -+ return errorflag ? -1 : count; -+} /* End of function */ -+#endif -+ -+#ifdef F__xprintf -+/* -+** This non-standard function is still occasionally useful.... -+*/ -+int xprintf( -+ void (*func)(char*,int,void*), -+ void *arg, -+ const char *format, -+ ... -+){ -+ va_list ap; -+ va_start(ap,format); -+ return vxprintf(func,arg,format,ap); -+} -+#endif -+ -+/* -+** Now for string-print, also as found in any standard library. -+** Add to this the snprint function which stops added characters -+** to the string at a given length. -+** -+** Note that snprint returns the length of the string as it would -+** be if there were no limit on the output. -+*/ -+struct s_strargument { /* Describes the string being written to */ -+ char *next; /* Next free slot in the string */ -+ char *last; /* Last available slot in the string */ -+}; -+ -+void __sout(char *, int, void *); -+#ifdef F___sout -+void __sout(txt,amt,arg) -+ char *txt; -+ int amt; -+ void *arg; -+{ -+ register char *head; -+ register const char *t; -+ register int a; -+ register char *tail; -+ a = amt; -+ t = txt; -+ head = ((struct s_strargument*)arg)->next; -+ tail = ((struct s_strargument*)arg)->last; -+ if( tail ){ -+ while( a-- >0 && head<tail ) *(head++) = *(t++); -+ }else{ -+ while( a-- >0 ) *(head++) = *(t++); -+ } -+ *head = 0; -+ ((struct s_strargument*)arg)->next = head; -+} -+#endif -+ -+#ifdef F_vsnprintf -+int vsnprintf(char *buf, size_t n, const char *fmt, va_list ap){ -+ struct s_strargument arg; -+ arg.next = buf; -+ arg.last = &buf[n-1]; -+ *buf = 0; -+ return vxprintf(__sout,&arg,fmt,ap); -+} -+#endif -+ -+#ifdef F_snprintf -+int snprintf(char *str, size_t sz, const char *format, ...) -+{ -+ va_list args; -+ struct s_strargument arg; -+ int ret; -+ -+ arg.next = str; -+ arg.last = &str[sz-1]; -+ -+ va_start(args, format); -+ ret = vxprintf(__sout, &arg, format, args); -+ va_end(args); -+ -+ return ret; -+} -+#endif -+ -+#ifdef F_vsprintf -+int vsprintf(char *buf, const char *fmt, va_list ap){ -+ struct s_strargument arg; -+ arg.next = buf; -+ arg.last = NULL; -+ *buf = 0; -+ return vxprintf(__sout,&arg,fmt,ap); -+} -+#endif -+ -+#ifdef F_sprintf -+int sprintf (char *str, const char *format, ...) -+{ -+ va_list args; -+ struct s_strargument arg; -+ int ret; -+ -+ arg.next = str; -+ arg.last = NULL; -+ -+ va_start(args, format); -+ ret = vxprintf(__sout, &arg, format, args); -+ va_end(args); -+ -+ return ret; -+} -+#endif -+ -+/* -+** The following section of code handles the mprintf routine, that -+** writes to memory obtained from malloc(). -+*/ -+ -+/* This structure is used to store state information about the -+** write in progress -+*/ -+struct sgMprintf { -+ char *zBase; /* A base allocation */ -+ char *zText; /* The string collected so far */ -+ int nChar; /* Length of the string so far */ -+ int nAlloc; /* Amount of space allocated in zText */ -+}; -+ -+void __mout(char *, int, void*); -+ -+#ifdef F___mout -+/* The xprintf callback function. */ -+void __mout(zNewText,nNewChar,arg) -+ char *zNewText; -+ int nNewChar; -+ void *arg; -+{ -+ struct sgMprintf *pM = (struct sgMprintf*)arg; -+ if( pM->nChar + nNewChar + 1 > pM->nAlloc ){ -+ pM->nAlloc = pM->nChar + nNewChar*2 + 1; -+ if( pM->zText==pM->zBase ){ -+ pM->zText = malloc(pM->nAlloc); -+ if( pM->zText && pM->nChar ) memcpy(pM->zText,pM->zBase,pM->nChar); -+ }else{ -+ pM->zText = realloc(pM->zText, pM->nAlloc); -+ } -+ } -+ if( pM->zText ){ -+ memcpy(&pM->zText[pM->nChar], zNewText, nNewChar); -+ pM->nChar += nNewChar; -+ pM->zText[pM->nChar] = 0; -+ } -+} -+#endif -+ -+/* -+** mprintf() works like printf(), but allocations memory to hold the -+** resulting string and returns a pointer to the allocated memory. -+** -+** We changed the name to TclMPrint() to conform with the Tcl private -+** routine naming conventions. -+*/ -+ -+#ifdef F_mprintf -+char *mprintf(const char *zFormat, ...){ -+ va_list ap; -+ struct sgMprintf sMprintf; -+ char *zNew; -+ char zBuf[200]; -+ -+ va_start(ap,zFormat); -+ sMprintf.nChar = 0; -+ sMprintf.nAlloc = sizeof(zBuf); -+ sMprintf.zText = zBuf; -+ sMprintf.zBase = zBuf; -+ vxprintf(__mout,&sMprintf,zFormat,ap); -+ va_end(ap); -+ if( sMprintf.zText==sMprintf.zBase ){ -+ zNew = malloc( sMprintf.nChar+1 ); -+ if( zNew ) strcpy(zNew,zBuf); -+ }else{ -+ zNew = realloc(sMprintf.zText,sMprintf.nChar+1); -+ } -+ -+ return zNew; -+} -+#endif -+ -+/* This is the varargs version of mprintf. -+** -+** The name is changed to TclVMPrintf() to conform with Tcl naming -+** conventions. -+*/ -+#ifdef F_vmprintf -+char *vmprintf(const char *zFormat,va_list ap){ -+ struct sgMprintf sMprintf; -+ char zBuf[200]; -+ sMprintf.nChar = 0; -+ sMprintf.zText = zBuf; -+ sMprintf.nAlloc = sizeof(zBuf); -+ sMprintf.zBase = zBuf; -+ vxprintf(__mout,&sMprintf,zFormat,ap); -+ if( sMprintf.zText==sMprintf.zBase ){ -+ sMprintf.zText = malloc( strlen(zBuf)+1 ); -+ if( sMprintf.zText ) strcpy(sMprintf.zText,zBuf); -+ }else{ -+ sMprintf.zText = realloc(sMprintf.zText,sMprintf.nChar+1); -+ } -+ return sMprintf.zText; -+} -+#endif -+ -+#ifdef F_asprintf -+int asprintf(char ** strp, const char *zFormat, ...){ -+ va_list ap; -+ struct sgMprintf sMprintf; -+ char *zNew; -+ char zBuf[200]; -+ -+ va_start(ap,zFormat); -+ sMprintf.nChar = 0; -+ sMprintf.nAlloc = sizeof(zBuf); -+ sMprintf.zText = zBuf; -+ sMprintf.zBase = zBuf; -+ vxprintf(__mout,&sMprintf,zFormat,ap); -+ va_end(ap); -+ if( sMprintf.zText==sMprintf.zBase ){ -+ zNew = malloc( sMprintf.nChar+1 ); -+ if( zNew ) strcpy(zNew,zBuf); -+ }else{ -+ zNew = realloc(sMprintf.zText,sMprintf.nChar+1); -+ } -+ -+ *strp = zNew; -+ -+ return sMprintf.nChar+1; -+} -+#endif -+ -+#ifdef F_vasprintf -+int vasprintf(char **strp, const char *format, va_list ap) { -+ struct sgMprintf sMprintf; -+ char zBuf[200]; -+ sMprintf.nChar = 0; -+ sMprintf.zText = zBuf; -+ sMprintf.nAlloc = sizeof(zBuf); -+ sMprintf.zBase = zBuf; -+ vxprintf(__mout,&sMprintf,format,ap); -+ if( sMprintf.zText==sMprintf.zBase ){ -+ sMprintf.zText = malloc( strlen(zBuf)+1 ); -+ if( sMprintf.zText ) strcpy(sMprintf.zText,zBuf); -+ }else{ -+ sMprintf.zText = realloc(sMprintf.zText,sMprintf.nChar+1); -+ } -+ *strp = sMprintf.zText; -+ return sMprintf.nChar; -+} -+#endif -+ -+/* -+** The following section of code handles the standard fprintf routines -+** for pthreads. -+*/ -+ -+void __fout(char *, int, void *); -+ -+#ifdef F___fout -+void __fout(zNewText,nNewChar,arg) -+ char *zNewText; -+ int nNewChar; -+ void *arg; -+{ -+ fwrite(zNewText,1,nNewChar,(FILE*)arg); -+} -+#endif -+ -+#ifdef F_fprintf -+/* The public interface routines */ -+int fprintf(FILE *pOut, const char *zFormat, ...){ -+ va_list ap; -+ int retc; -+ -+ va_start(ap,zFormat); -+ retc = vxprintf(__fout,pOut,zFormat,ap); -+ va_end(ap); -+ return retc; -+} -+#endif -+ -+#ifdef F_vfprintf -+int vfprintf(FILE *pOut, const char *zFormat, va_list ap){ -+ return vxprintf(__fout,pOut,zFormat,ap); -+} -+#endif -+ -+ -+#ifdef F_printf -+int printf(const char *format, ...) -+{ -+ va_list args; -+ int ret; -+ -+ va_start(args, format); -+ ret = vprintf(format, args); -+ va_end(args); -+ -+ return ret; -+} -+#endif -+ -+#ifdef F_vprintf -+int vprintf(const char *format, va_list args) -+{ -+ return vxprintf(__fout, stdout, format, args); -+} -+#endif -+ -+#ifdef F__sprintf_r -+/* Idiotic kludge to get around newlib stupidity. tmpnam() calls this -+ directly, but since sprintf() above replaces newlib's sprintf() (and -+ _sprintf_r()) we have to define this in order to link tmpnam(). */ -+int _sprintf_r(struct _reent *unused, char *str, const char *format, ...) -+{ -+ va_list args; -+ struct s_strargument arg; -+ int ret; -+ -+ (void) unused; -+ arg.next = str; -+ arg.last = NULL; -+ -+ va_start(args, format); -+ ret = vxprintf(__sout, &arg, format, args); -+ va_end(args); -+ -+ return ret; -+} -+#endif diff --git a/devel/psptoolchain-newlib/pkg-descr b/devel/psptoolchain-newlib/pkg-descr deleted file mode 100644 index ebd84fb39295..000000000000 --- a/devel/psptoolchain-newlib/pkg-descr +++ /dev/null @@ -1,4 +0,0 @@ -The PlayStation Portable Toolchain is a collection of tools and utilities -for homebrew PSP development. - -WWW: http://www.ps2dev.org diff --git a/devel/psptoolchain-newlib/pkg-plist b/devel/psptoolchain-newlib/pkg-plist deleted file mode 100644 index fc19e1fdd89c..000000000000 --- a/devel/psptoolchain-newlib/pkg-plist +++ /dev/null @@ -1,114 +0,0 @@ -psp/lib/libm.a -psp/lib/libg.a -psp/lib/libc.a -psp/lib/crt0.newlib.o -psp/include/wordexp.h -psp/include/wctype.h -psp/include/wchar.h -psp/include/utmp.h -psp/include/utime.h -psp/include/unistd.h -psp/include/unctrl.h -psp/include/time.h -psp/include/termios.h -psp/include/tar.h -psp/include/sys/wait.h -psp/include/sys/utime.h -psp/include/sys/unistd.h -psp/include/sys/types.h -psp/include/sys/times.h -psp/include/sys/timeb.h -psp/include/sys/time.h -psp/include/sys/syslimits.h -psp/include/sys/string.h -psp/include/sys/stdio.h -psp/include/sys/stat.h -psp/include/sys/socket.h -psp/include/sys/signal.h -psp/include/sys/select.h -psp/include/sys/sched.h -psp/include/sys/resource.h -psp/include/sys/reent.h -psp/include/sys/queue.h -psp/include/sys/param.h -psp/include/sys/lock.h -psp/include/sys/ioctl.h -psp/include/sys/iconvnls.h -psp/include/sys/file.h -psp/include/sys/features.h -psp/include/sys/fd_set.h -psp/include/sys/fcntl.h -psp/include/sys/errno.h -psp/include/sys/dirent.h -psp/include/sys/dir.h -psp/include/sys/custom_file.h -psp/include/sys/config.h -psp/include/sys/cdefs.h -psp/include/sys/_types.h -psp/include/sys/_default_fcntl.h -psp/include/strings.h -psp/include/string.h -psp/include/stdlib.h -psp/include/stdio_ext.h -psp/include/stdio.h -psp/include/stdint.h -psp/include/signal.h -psp/include/setjmp.h -psp/include/search.h -psp/include/sched.h -psp/include/regex.h -psp/include/regdef.h -psp/include/reent.h -psp/include/pwd.h -psp/include/pthread.h -psp/include/process.h -psp/include/paths.h -psp/include/newlib.h -psp/include/netinet/tcp.h -psp/include/netinet/in.h -psp/include/netdb.h -psp/include/math.h -psp/include/malloc.h -psp/include/machine/types.h -psp/include/machine/time.h -psp/include/machine/termios.h -psp/include/machine/stdlib.h -psp/include/machine/setjmp.h -psp/include/machine/setjmp-dj.h -psp/include/machine/regdef.h -psp/include/machine/param.h -psp/include/machine/malloc.h -psp/include/machine/ieeefp.h -psp/include/machine/fastmath.h -psp/include/machine/endian.h -psp/include/machine/ansi.h -psp/include/machine/_types.h -psp/include/machine/_default_types.h -psp/include/locale.h -psp/include/limits.h -psp/include/libgen.h -psp/include/langinfo.h -psp/include/inttypes.h -psp/include/ieeefp.h -psp/include/iconv.h -psp/include/grp.h -psp/include/glob.h -psp/include/getopt.h -psp/include/fnmatch.h -psp/include/fcntl.h -psp/include/fastmath.h -psp/include/errno.h -psp/include/envz.h -psp/include/envlock.h -psp/include/dirent.h -psp/include/ctype.h -psp/include/complex.h -psp/include/assert.h -psp/include/arpa/inet.h -psp/include/argz.h -psp/include/ar.h -psp/include/alloca.h -psp/include/_syslist.h -psp/include/_ansi.h -@dir psp/include/rpc -@dir psp/include/bits diff --git a/devel/psptoolchain-pspsdk-stage1/Makefile b/devel/psptoolchain-pspsdk-stage1/Makefile deleted file mode 100644 index 8ddb135de674..000000000000 --- a/devel/psptoolchain-pspsdk-stage1/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -# Created by: Tassilo Philipp <tphilipp@potion-studios.com> - -PORTNAME= pspsdk -PORTVERSION= 20111215 -PORTREVISION= 1 -CATEGORIES= devel -MASTER_SITES= http://www.potion-studios.com/ -PKGNAMEPREFIX= psptoolchain- -PKGNAMESUFFIX?= -stage1 - -MAINTAINER= ports@FreeBSD.org -COMMENT= PlayStation Portable development toolchain ${PORTNAME} - -DEPRECATED= Security issues for multiple years -EXPIRATION_DATE= 2022-06-30 - -PSP_SDK_STAGE_PREFIX= psp/stage1 - -HAS_CONFIGURE= yes -CONFIGURE_ARGS?= --prefix=${PREFIX}/${PSP_SDK_STAGE_PREFIX} \ - --with-pspdev="${LOCALBASE}/${PSP_SDK_STAGE_PREFIX}" -USES= autoreconf:build gmake - -# First stage only needs to install some data needed to compile newlib. -# Patch a hardcoded prefix, such that we can set our own stage1 subdir. -.if ${PKGNAMESUFFIX} == "-stage1" - -INSTALL_TARGET= install-data -NO_BUILD= yes - -post-patch: - @${REINPLACE_CMD} -E 's/^(prefix="\$$pspdev")$$/#\1/' ${WRKSRC}/configure.ac - @${REINPLACE_CMD} -E 's/^(psp_targetdir=")psp(")$$/\1.\2/' ${WRKSRC}/configure.ac - -.endif - -pre-configure: - @cd ${WRKSRC} && ./bootstrap - -PLIST_SUB+= PSP_SDK_STAGE_PREFIX=${PSP_SDK_STAGE_PREFIX} - -.include <bsd.port.mk> diff --git a/devel/psptoolchain-pspsdk-stage1/distinfo b/devel/psptoolchain-pspsdk-stage1/distinfo deleted file mode 100644 index 21d8889e536f..000000000000 --- a/devel/psptoolchain-pspsdk-stage1/distinfo +++ /dev/null @@ -1,2 +0,0 @@ -SHA256 (pspsdk-20111215.tar.gz) = ddee6fe47ee4daa31691acdfa1832182692cefe2a0b153db96c492107e420abd -SIZE (pspsdk-20111215.tar.gz) = 643465 diff --git a/devel/psptoolchain-pspsdk-stage1/files/patch-tools-PrxEncrypter-kirk_engine.c b/devel/psptoolchain-pspsdk-stage1/files/patch-tools-PrxEncrypter-kirk_engine.c deleted file mode 100644 index 08c73a587dc2..000000000000 --- a/devel/psptoolchain-pspsdk-stage1/files/patch-tools-PrxEncrypter-kirk_engine.c +++ /dev/null @@ -1,10 +0,0 @@ ---- tools/PrxEncrypter/kirk_engine.c.orig 2012-01-25 22:10:31.000000000 +0000 -+++ tools/PrxEncrypter/kirk_engine.c 2012-01-25 22:10:49.000000000 +0000 -@@ -8,7 +8,6 @@ - #include <stdio.h> - #include <stdlib.h> - #include <time.h> --#include <malloc.h> - #include "types.h" - #include "kirk_engine.h" - #include "crypto.h" diff --git a/devel/psptoolchain-pspsdk-stage1/pkg-descr b/devel/psptoolchain-pspsdk-stage1/pkg-descr deleted file mode 100644 index ebd84fb39295..000000000000 --- a/devel/psptoolchain-pspsdk-stage1/pkg-descr +++ /dev/null @@ -1,4 +0,0 @@ -The PlayStation Portable Toolchain is a collection of tools and utilities -for homebrew PSP development. - -WWW: http://www.ps2dev.org diff --git a/devel/psptoolchain-pspsdk-stage1/pkg-plist b/devel/psptoolchain-pspsdk-stage1/pkg-plist deleted file mode 100644 index 6c98b18cd4ff..000000000000 --- a/devel/psptoolchain-pspsdk-stage1/pkg-plist +++ /dev/null @@ -1,316 +0,0 @@ -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/wlan/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/wlan/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/utility/systemparam/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/utility/systemparam/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/utility/osk/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/utility/osk/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/utility/netdialog/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/utility/netdialog/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/utility/netconf/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/utility/netconf/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/utility/msgdialog/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/utility/msgdialog/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/utility/htmlviewer/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/utility/htmlviewer/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/utility/gamesharing/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/utility/gamesharing/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/usb/storage/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/usb/storage/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/template/prx_template/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/template/prx_template/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/template/lib_template/template.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/template/lib_template/template.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/template/lib_template/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/template/kprx_template/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/template/kprx_template/exports.exp -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/template/kprx_template/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/template/elf_template/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/template/elf_template/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/savedata/utility/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/savedata/utility/data.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/savedata/utility/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/savedata/encrypt/psf.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/savedata/encrypt/psf.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/savedata/encrypt/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/savedata/encrypt/hash.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/savedata/encrypt/hash.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/savedata/encrypt/encrypt.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/savedata/encrypt/encrypt.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/savedata/encrypt/README.txt -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/savedata/encrypt/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/savedata/decrypt/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/savedata/decrypt/decrypt.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/savedata/decrypt/decrypt.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/savedata/decrypt/README.txt -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/savedata/decrypt/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/prx/testprx/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/prx/testprx/exports.exp -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/prx/testprx/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/prx/prx_loader/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/prx/prx_loader/MyLib.S -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/prx/prx_loader/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/power/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/power/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/net/wlanscan_elf/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/net/wlanscan_elf/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/net/wlanscan/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/net/wlanscan/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/net/simple_prx/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/net/simple_prx/exports.exp -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/net/simple_prx/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/net/simple/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/net/simple/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/net/resolver/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/net/resolver/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/nand/dumpipl/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/nand/dumpipl/README -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/nand/dumpipl/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/ms/callback/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/ms/callback/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/mp3/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/mp3/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/me/basic/me.S -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/me/basic/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/me/basic/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/threadstatus/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/threadstatus/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/systimer/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/systimer/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/sysevent/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/sysevent/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/registry/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/registry/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/regenum/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/regenum/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/messagebox/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/messagebox/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/loadmodule/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/loadmodule/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/kdumper/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/kdumper/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/idstorage/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/idstorage/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/fileio/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/fileio/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/cwd/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/kernel/cwd/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/ir/sircs/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/ir/sircs/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/ir/irda/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/ir/irda/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/zbufferfog/zbufferfog.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/zbufferfog/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/vertex/vertex.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/vertex/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/timing/timing.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/timing/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/text/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/text/font.raw -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/text/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/sprite/sprite.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/sprite/ball.raw -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/sprite/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/splinesurface/splinesurface.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/splinesurface/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/spharm/spharm.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/spharm/readme -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/spharm/mt19937.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/spharm/mt19937.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/spharm/logo.raw -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/spharm/disablefpu.S -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/spharm/cube.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/spharm/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/spharm/Image2.raw -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/spharm/Image1.raw -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/speed/speed.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/speed/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/skinning/skinning.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/skinning/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/signals/signals.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/signals/ball.raw -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/signals/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/shadowprojection/shadowprojection.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/shadowprojection/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/rendertarget/rendertarget.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/rendertarget/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/reflection/reflection.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/reflection/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/ortho/ortho.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/ortho/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/morphskin/morphskin.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/morphskin/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/morph/morph.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/morph/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/logic/logic.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/logic/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/lines/lines.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/lines/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/lights/lights.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/lights/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/integerdrawing/integerdrawing.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/integerdrawing/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/envmap/envmap.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/envmap/env0.raw -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/envmap/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/cube/logo.raw -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/cube/cube.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/cube/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/copy/copy.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/copy/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/common/vram.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/common/vram.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/common/menu.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/common/menu.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/common/geometry.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/common/geometry.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/common/callbacks.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/common/callbacks.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/clut/clut.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/clut/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/celshading/lightmap.raw -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/celshading/celshading.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/celshading/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/blit/blit.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/blit/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/blend/blend.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/blend/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/beginobject/beginobject.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/gu/beginobject/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/exceptions/main.cpp -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/exceptions/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/debug/sio/readme.txt -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/debug/sio/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/debug/sio/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/debug/prxdecrypt/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/debug/prxdecrypt/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/debug/profiler/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/debug/profiler/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/debug/kprintf/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/debug/kprintf/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/debug/gdb/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/debug/gdb/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/debug/exception/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/debug/exception/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/debug/debugkb/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/debug/debugkb/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/controller/basic/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/controller/basic/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/audio/wavegen/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/audio/wavegen/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/audio/polyphonic/main.c -%%PSP_SDK_STAGE_PREFIX%%/sdk/samples/audio/polyphonic/Makefile -%%PSP_SDK_STAGE_PREFIX%%/sdk/lib/prxspecs -%%PSP_SDK_STAGE_PREFIX%%/sdk/lib/linkfile.prx -%%PSP_SDK_STAGE_PREFIX%%/sdk/lib/build_prx.mak -%%PSP_SDK_STAGE_PREFIX%%/sdk/lib/build.mak -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspwlan.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspvideocodec.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspvfpu.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psputilsforkernel.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psputils.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psputility_usbmodules.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psputility_sysparam.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psputility_savedata.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psputility_osk.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psputility_netparam.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psputility_netmodules.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psputility_netconf.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psputility_msgdialog.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psputility_modules.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psputility_htmlviewer.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psputility_gamesharing.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psputility_avmodules.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psputility.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspuser.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspusbstor.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspusbcam.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspusbbus.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspusbacc.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspusb.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspumd.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psptypes.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspthreadman_kernel.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspthreadman.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspsystimer.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspsysreg.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspsysmem_kernel.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspsysmem.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspsysevent.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspsyscon.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspsysclib.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspsuspend.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspstub.s -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspstdio_kernel.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspstdio.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspssl.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspsircs.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspsdk.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psprtc.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspreg.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspprof.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psppower.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspopenpsid.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspnet_resolver.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspnet_inet.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspnet_apctl.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspnet_adhocmatching.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspnet_adhocctl.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspnet_adhoc.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspnet.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspnand_driver.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspmscm.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspmpegbase.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspmpeg.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspmp3.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspmodulemgr_kernel.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspmodulemgr.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspmoduleinfo.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspmoduleexport.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psploadexec_kernel.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psploadexec.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psploadcore.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspkerror.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspkerneltypes.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspkernel.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspkdebug.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspjpeg.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspiofilemgr_stat.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspiofilemgr_kernel.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspiofilemgr_fcntl.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspiofilemgr_dirent.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspiofilemgr.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspintrman_kernel.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspintrman.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspinit.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspimpose_driver.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspimport.s -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspidstorage.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psphttp.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/psphprm.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspgum.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspgu.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspge.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspfpu.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspexception.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspdisplay_kernel.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspdisplay.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspdebugkb.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspdebug.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspctrl_kernel.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspctrl.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspchnnlsv.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspaudiorouting.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspaudiolib.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspaudiocodec.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspaudio_kernel.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspaudio.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/pspatrac3.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/libc/unistd.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/libc/time.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/libc/string.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/libc/stdlib.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/libc/stdio.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/libc/malloc.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/libc/ctype.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/libc/assert.h -%%PSP_SDK_STAGE_PREFIX%%/sdk/include/as_reg_compat.h diff --git a/devel/psptoolchain-pspsdk-stage2/Makefile b/devel/psptoolchain-pspsdk-stage2/Makefile deleted file mode 100644 index db43fbf92d81..000000000000 --- a/devel/psptoolchain-pspsdk-stage2/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -# Created by: Tassilo Philipp <tphilipp@potion-studios.com> - -PORTREVISION= 2 - -PKGNAMESUFFIX= -stage2 - -MAINTAINER= ports@FreeBSD.org -COMMENT= PlayStation Portable development toolchain ${PORTNAME} - -BUILD_DEPENDS= psp-cpp:devel/psptoolchain-gcc-stage2 \ - psp-gcc:devel/psptoolchain-gcc-stage2 \ - psp-gcov:devel/psptoolchain-gcc-stage2 \ - psp-g++:devel/psptoolchain-gcc-stage2 \ - psp-ar:devel/psptoolchain-binutils \ - ${LOCALBASE}/psp/lib/libc.a:devel/psptoolchain-newlib - -# psp-gcc doesn't need -march=... in CFLAGS (e.g. set by CPUTYPE in make.conf) -CONFIGURE_ENV= CFLAGS="${CFLAGS:C/(^|[[:space:]])-march=[^[:space:]]*//g}" -CONFIGURE_ARGS= --prefix=${PREFIX} --with-pspdev="${LOCALBASE}" -# there is no libssp w/ PSP SDK, disable stack guards as they would be -# unresolved symbols, explicitly disable to be on the safe side -SSP_UNSAFE= yes -CFLAGS+= -fno-stack-protector -LDFLAGS+= -fno-stack-protector - -CONFLICTS_INSTALL= grx hxtools - -PLIST= ${.CURDIR}/pkg-plist -MASTERDIR= ${.CURDIR}/../psptoolchain-pspsdk-stage1 - -.include "${MASTERDIR}/Makefile" diff --git a/devel/psptoolchain-pspsdk-stage2/pkg-plist b/devel/psptoolchain-pspsdk-stage2/pkg-plist deleted file mode 100644 index f4e5816c2bd2..000000000000 --- a/devel/psptoolchain-pspsdk-stage2/pkg-plist +++ /dev/null @@ -1,395 +0,0 @@ -bin/PrxEncrypter -bin/bin2c -bin/bin2o -bin/bin2s -bin/mksfo -bin/mksfoex -bin/pack-pbp -bin/psp-build-exports -bin/psp-config -bin/psp-fixup-imports -bin/psp-prxgen -bin/unpack-pbp -psp/lib/crt0.o -psp/lib/crt0_prx.o -psp/sdk/include/as_reg_compat.h -psp/sdk/include/libc/assert.h -psp/sdk/include/libc/ctype.h -psp/sdk/include/libc/malloc.h -psp/sdk/include/libc/stdio.h -psp/sdk/include/libc/stdlib.h -psp/sdk/include/libc/string.h -psp/sdk/include/libc/time.h -psp/sdk/include/libc/unistd.h -psp/sdk/include/pspatrac3.h -psp/sdk/include/pspaudio.h -psp/sdk/include/pspaudio_kernel.h -psp/sdk/include/pspaudiocodec.h -psp/sdk/include/pspaudiolib.h -psp/sdk/include/pspaudiorouting.h -psp/sdk/include/pspchnnlsv.h -psp/sdk/include/pspctrl.h -psp/sdk/include/pspctrl_kernel.h -psp/sdk/include/pspdebug.h -psp/sdk/include/pspdebugkb.h -psp/sdk/include/pspdisplay.h -psp/sdk/include/pspdisplay_kernel.h -psp/sdk/include/pspexception.h -psp/sdk/include/pspfpu.h -psp/sdk/include/pspge.h -psp/sdk/include/pspgu.h -psp/sdk/include/pspgum.h -psp/sdk/include/psphprm.h -psp/sdk/include/psphttp.h -psp/sdk/include/pspidstorage.h -psp/sdk/include/pspimport.s -psp/sdk/include/pspimpose_driver.h -psp/sdk/include/pspinit.h -psp/sdk/include/pspintrman.h -psp/sdk/include/pspintrman_kernel.h -psp/sdk/include/pspiofilemgr.h -psp/sdk/include/pspiofilemgr_dirent.h -psp/sdk/include/pspiofilemgr_fcntl.h -psp/sdk/include/pspiofilemgr_kernel.h -psp/sdk/include/pspiofilemgr_stat.h -psp/sdk/include/pspjpeg.h -psp/sdk/include/pspkdebug.h -psp/sdk/include/pspkernel.h -psp/sdk/include/pspkerneltypes.h -psp/sdk/include/pspkerror.h -psp/sdk/include/psploadcore.h -psp/sdk/include/psploadexec.h -psp/sdk/include/psploadexec_kernel.h -psp/sdk/include/pspmoduleexport.h -psp/sdk/include/pspmoduleinfo.h -psp/sdk/include/pspmodulemgr.h -psp/sdk/include/pspmodulemgr_kernel.h -psp/sdk/include/pspmp3.h -psp/sdk/include/pspmpeg.h -psp/sdk/include/pspmpegbase.h -psp/sdk/include/pspmscm.h -psp/sdk/include/pspnand_driver.h -psp/sdk/include/pspnet.h -psp/sdk/include/pspnet_adhoc.h -psp/sdk/include/pspnet_adhocctl.h -psp/sdk/include/pspnet_adhocmatching.h -psp/sdk/include/pspnet_apctl.h -psp/sdk/include/pspnet_inet.h -psp/sdk/include/pspnet_resolver.h -psp/sdk/include/pspopenpsid.h -psp/sdk/include/psppower.h -psp/sdk/include/pspprof.h -psp/sdk/include/pspreg.h -psp/sdk/include/psprtc.h -psp/sdk/include/pspsdk.h -psp/sdk/include/pspsircs.h -psp/sdk/include/pspssl.h -psp/sdk/include/pspstdio.h -psp/sdk/include/pspstdio_kernel.h -psp/sdk/include/pspstub.s -psp/sdk/include/pspsuspend.h -psp/sdk/include/pspsysclib.h -psp/sdk/include/pspsyscon.h -psp/sdk/include/pspsysevent.h -psp/sdk/include/pspsysmem.h -psp/sdk/include/pspsysmem_kernel.h -psp/sdk/include/pspsysreg.h -psp/sdk/include/pspsystimer.h -psp/sdk/include/pspthreadman.h -psp/sdk/include/pspthreadman_kernel.h -psp/sdk/include/psptypes.h -psp/sdk/include/pspumd.h -psp/sdk/include/pspusb.h -psp/sdk/include/pspusbacc.h -psp/sdk/include/pspusbbus.h -psp/sdk/include/pspusbcam.h -psp/sdk/include/pspusbstor.h -psp/sdk/include/pspuser.h -psp/sdk/include/psputility.h -psp/sdk/include/psputility_avmodules.h -psp/sdk/include/psputility_gamesharing.h -psp/sdk/include/psputility_htmlviewer.h -psp/sdk/include/psputility_modules.h -psp/sdk/include/psputility_msgdialog.h -psp/sdk/include/psputility_netconf.h -psp/sdk/include/psputility_netmodules.h -psp/sdk/include/psputility_netparam.h -psp/sdk/include/psputility_osk.h -psp/sdk/include/psputility_savedata.h -psp/sdk/include/psputility_sysparam.h -psp/sdk/include/psputility_usbmodules.h -psp/sdk/include/psputils.h -psp/sdk/include/psputilsforkernel.h -psp/sdk/include/pspvfpu.h -psp/sdk/include/pspvideocodec.h -psp/sdk/include/pspwlan.h -psp/sdk/lib/build.mak -psp/sdk/lib/build_prx.mak -psp/sdk/lib/libpspatrac3.a -psp/sdk/lib/libpspaudio.a -psp/sdk/lib/libpspaudio_driver.a -psp/sdk/lib/libpspaudiocodec.a -psp/sdk/lib/libpspaudiolib.a -psp/sdk/lib/libpspchnnlsv.a -psp/sdk/lib/libpspctrl.a -psp/sdk/lib/libpspctrl_driver.a -psp/sdk/lib/libpspdebug.a -psp/sdk/lib/libpspdebugkb.a -psp/sdk/lib/libpspdisplay.a -psp/sdk/lib/libpspdisplay_driver.a -psp/sdk/lib/libpspfpu.a -psp/sdk/lib/libpspgdb.a -psp/sdk/lib/libpspgdb_kernel.a -psp/sdk/lib/libpspgdb_user.a -psp/sdk/lib/libpspge.a -psp/sdk/lib/libpspge_driver.a -psp/sdk/lib/libpspgu.a -psp/sdk/lib/libpspgum.a -psp/sdk/lib/libpspgum_vfpu.a -psp/sdk/lib/libpsphprm.a -psp/sdk/lib/libpsphprm_driver.a -psp/sdk/lib/libpsphttp.a -psp/sdk/lib/libpspjpeg.a -psp/sdk/lib/libpspkernel.a -psp/sdk/lib/libpsplibc.a -psp/sdk/lib/libpspmp3.a -psp/sdk/lib/libpspmpeg.a -psp/sdk/lib/libpspmpegbase.a -psp/sdk/lib/libpspmpegbase_driver.a -psp/sdk/lib/libpspnand_driver.a -psp/sdk/lib/libpspnet.a -psp/sdk/lib/libpspnet_adhoc.a -psp/sdk/lib/libpspnet_adhocctl.a -psp/sdk/lib/libpspnet_adhocmatching.a -psp/sdk/lib/libpspnet_apctl.a -psp/sdk/lib/libpspnet_inet.a -psp/sdk/lib/libpspnet_resolver.a -psp/sdk/lib/libpspopenpsid.a -psp/sdk/lib/libpsppaf.a -psp/sdk/lib/libpsppower.a -psp/sdk/lib/libpsppower_driver.a -psp/sdk/lib/libpspprof.a -psp/sdk/lib/libpspreg.a -psp/sdk/lib/libpspreg_driver.a -psp/sdk/lib/libpsprtc.a -psp/sdk/lib/libpsprtc_driver.a -psp/sdk/lib/libpspsdk.a -psp/sdk/lib/libpspsircs.a -psp/sdk/lib/libpspssl.a -psp/sdk/lib/libpspumd.a -psp/sdk/lib/libpspumd_driver.a -psp/sdk/lib/libpspusb.a -psp/sdk/lib/libpspusb_driver.a -psp/sdk/lib/libpspusbbus_driver.a -psp/sdk/lib/libpspusbcam.a -psp/sdk/lib/libpspusbstor.a -psp/sdk/lib/libpspuser.a -psp/sdk/lib/libpsputility.a -psp/sdk/lib/libpspvfpu.a -psp/sdk/lib/libpspvideocodec.a -psp/sdk/lib/libpspvshbridge.a -psp/sdk/lib/libpspwlan.a -psp/sdk/lib/linkfile.prx -psp/sdk/lib/prxexports.o -psp/sdk/lib/prxspecs -psp/sdk/samples/audio/polyphonic/Makefile -psp/sdk/samples/audio/polyphonic/main.c -psp/sdk/samples/audio/wavegen/Makefile -psp/sdk/samples/audio/wavegen/main.c -psp/sdk/samples/controller/basic/Makefile -psp/sdk/samples/controller/basic/main.c -psp/sdk/samples/debug/debugkb/Makefile -psp/sdk/samples/debug/debugkb/main.c -psp/sdk/samples/debug/exception/Makefile -psp/sdk/samples/debug/exception/main.c -psp/sdk/samples/debug/gdb/Makefile -psp/sdk/samples/debug/gdb/main.c -psp/sdk/samples/debug/kprintf/Makefile -psp/sdk/samples/debug/kprintf/main.c -psp/sdk/samples/debug/profiler/Makefile -psp/sdk/samples/debug/profiler/main.c -psp/sdk/samples/debug/prxdecrypt/Makefile -psp/sdk/samples/debug/prxdecrypt/main.c -psp/sdk/samples/debug/sio/Makefile -psp/sdk/samples/debug/sio/main.c -psp/sdk/samples/debug/sio/readme.txt -psp/sdk/samples/exceptions/Makefile -psp/sdk/samples/exceptions/main.cpp -psp/sdk/samples/gu/beginobject/Makefile -psp/sdk/samples/gu/beginobject/beginobject.c -psp/sdk/samples/gu/blend/Makefile -psp/sdk/samples/gu/blend/blend.c -psp/sdk/samples/gu/blit/Makefile -psp/sdk/samples/gu/blit/blit.c -psp/sdk/samples/gu/celshading/Makefile -psp/sdk/samples/gu/celshading/celshading.c -psp/sdk/samples/gu/celshading/lightmap.raw -psp/sdk/samples/gu/clut/Makefile -psp/sdk/samples/gu/clut/clut.c -psp/sdk/samples/gu/common/callbacks.c -psp/sdk/samples/gu/common/callbacks.h -psp/sdk/samples/gu/common/geometry.c -psp/sdk/samples/gu/common/geometry.h -psp/sdk/samples/gu/common/menu.c -psp/sdk/samples/gu/common/menu.h -psp/sdk/samples/gu/common/vram.c -psp/sdk/samples/gu/common/vram.h -psp/sdk/samples/gu/copy/Makefile -psp/sdk/samples/gu/copy/copy.c -psp/sdk/samples/gu/cube/Makefile -psp/sdk/samples/gu/cube/cube.c -psp/sdk/samples/gu/cube/logo.raw -psp/sdk/samples/gu/envmap/Makefile -psp/sdk/samples/gu/envmap/env0.raw -psp/sdk/samples/gu/envmap/envmap.c -psp/sdk/samples/gu/integerdrawing/Makefile -psp/sdk/samples/gu/integerdrawing/integerdrawing.c -psp/sdk/samples/gu/lights/Makefile -psp/sdk/samples/gu/lights/lights.c -psp/sdk/samples/gu/lines/Makefile -psp/sdk/samples/gu/lines/lines.c -psp/sdk/samples/gu/logic/Makefile -psp/sdk/samples/gu/logic/logic.c -psp/sdk/samples/gu/morph/Makefile -psp/sdk/samples/gu/morph/morph.c -psp/sdk/samples/gu/morphskin/Makefile -psp/sdk/samples/gu/morphskin/morphskin.c -psp/sdk/samples/gu/ortho/Makefile -psp/sdk/samples/gu/ortho/ortho.c -psp/sdk/samples/gu/reflection/Makefile -psp/sdk/samples/gu/reflection/reflection.c -psp/sdk/samples/gu/rendertarget/Makefile -psp/sdk/samples/gu/rendertarget/rendertarget.c -psp/sdk/samples/gu/shadowprojection/Makefile -psp/sdk/samples/gu/shadowprojection/shadowprojection.c -psp/sdk/samples/gu/signals/Makefile -psp/sdk/samples/gu/signals/ball.raw -psp/sdk/samples/gu/signals/signals.c -psp/sdk/samples/gu/skinning/Makefile -psp/sdk/samples/gu/skinning/skinning.c -psp/sdk/samples/gu/speed/Makefile -psp/sdk/samples/gu/speed/speed.c -psp/sdk/samples/gu/spharm/Image1.raw -psp/sdk/samples/gu/spharm/Image2.raw -psp/sdk/samples/gu/spharm/Makefile -psp/sdk/samples/gu/spharm/cube.c -psp/sdk/samples/gu/spharm/disablefpu.S -psp/sdk/samples/gu/spharm/logo.raw -psp/sdk/samples/gu/spharm/mt19937.c -psp/sdk/samples/gu/spharm/mt19937.h -psp/sdk/samples/gu/spharm/readme -psp/sdk/samples/gu/spharm/spharm.c -psp/sdk/samples/gu/splinesurface/Makefile -psp/sdk/samples/gu/splinesurface/splinesurface.c -psp/sdk/samples/gu/sprite/Makefile -psp/sdk/samples/gu/sprite/ball.raw -psp/sdk/samples/gu/sprite/sprite.c -psp/sdk/samples/gu/text/Makefile -psp/sdk/samples/gu/text/font.raw -psp/sdk/samples/gu/text/main.c -psp/sdk/samples/gu/timing/Makefile -psp/sdk/samples/gu/timing/timing.c -psp/sdk/samples/gu/vertex/Makefile -psp/sdk/samples/gu/vertex/vertex.c -psp/sdk/samples/gu/zbufferfog/Makefile -psp/sdk/samples/gu/zbufferfog/zbufferfog.c -psp/sdk/samples/ir/irda/Makefile -psp/sdk/samples/ir/irda/main.c -psp/sdk/samples/ir/sircs/Makefile -psp/sdk/samples/ir/sircs/main.c -psp/sdk/samples/kernel/cwd/Makefile -psp/sdk/samples/kernel/cwd/main.c -psp/sdk/samples/kernel/fileio/Makefile -psp/sdk/samples/kernel/fileio/main.c -psp/sdk/samples/kernel/idstorage/Makefile -psp/sdk/samples/kernel/idstorage/main.c -psp/sdk/samples/kernel/kdumper/Makefile -psp/sdk/samples/kernel/kdumper/main.c -psp/sdk/samples/kernel/loadmodule/Makefile -psp/sdk/samples/kernel/loadmodule/main.c -psp/sdk/samples/kernel/messagebox/Makefile -psp/sdk/samples/kernel/messagebox/main.c -psp/sdk/samples/kernel/regenum/Makefile -psp/sdk/samples/kernel/regenum/main.c -psp/sdk/samples/kernel/registry/Makefile -psp/sdk/samples/kernel/registry/main.c -psp/sdk/samples/kernel/sysevent/Makefile -psp/sdk/samples/kernel/sysevent/main.c -psp/sdk/samples/kernel/systimer/Makefile -psp/sdk/samples/kernel/systimer/main.c -psp/sdk/samples/kernel/threadstatus/Makefile -psp/sdk/samples/kernel/threadstatus/main.c -psp/sdk/samples/me/basic/Makefile -psp/sdk/samples/me/basic/main.c -psp/sdk/samples/me/basic/me.S -psp/sdk/samples/mp3/Makefile -psp/sdk/samples/mp3/main.c -psp/sdk/samples/ms/callback/Makefile -psp/sdk/samples/ms/callback/main.c -psp/sdk/samples/nand/dumpipl/Makefile -psp/sdk/samples/nand/dumpipl/README -psp/sdk/samples/nand/dumpipl/main.c -psp/sdk/samples/net/resolver/Makefile -psp/sdk/samples/net/resolver/main.c -psp/sdk/samples/net/simple/Makefile -psp/sdk/samples/net/simple/main.c -psp/sdk/samples/net/simple_prx/Makefile -psp/sdk/samples/net/simple_prx/exports.exp -psp/sdk/samples/net/simple_prx/main.c -psp/sdk/samples/net/wlanscan/Makefile -psp/sdk/samples/net/wlanscan/main.c -psp/sdk/samples/net/wlanscan_elf/Makefile -psp/sdk/samples/net/wlanscan_elf/main.c -psp/sdk/samples/power/Makefile -psp/sdk/samples/power/main.c -psp/sdk/samples/prx/prx_loader/Makefile -psp/sdk/samples/prx/prx_loader/MyLib.S -psp/sdk/samples/prx/prx_loader/main.c -psp/sdk/samples/prx/testprx/Makefile -psp/sdk/samples/prx/testprx/exports.exp -psp/sdk/samples/prx/testprx/main.c -psp/sdk/samples/savedata/decrypt/Makefile -psp/sdk/samples/savedata/decrypt/README.txt -psp/sdk/samples/savedata/decrypt/decrypt.c -psp/sdk/samples/savedata/decrypt/decrypt.h -psp/sdk/samples/savedata/decrypt/main.c -psp/sdk/samples/savedata/encrypt/Makefile -psp/sdk/samples/savedata/encrypt/README.txt -psp/sdk/samples/savedata/encrypt/encrypt.c -psp/sdk/samples/savedata/encrypt/encrypt.h -psp/sdk/samples/savedata/encrypt/hash.c -psp/sdk/samples/savedata/encrypt/hash.h -psp/sdk/samples/savedata/encrypt/main.c -psp/sdk/samples/savedata/encrypt/psf.c -psp/sdk/samples/savedata/encrypt/psf.h -psp/sdk/samples/savedata/utility/Makefile -psp/sdk/samples/savedata/utility/data.h -psp/sdk/samples/savedata/utility/main.c -psp/sdk/samples/template/elf_template/Makefile -psp/sdk/samples/template/elf_template/main.c -psp/sdk/samples/template/kprx_template/Makefile -psp/sdk/samples/template/kprx_template/exports.exp -psp/sdk/samples/template/kprx_template/main.c -psp/sdk/samples/template/lib_template/Makefile -psp/sdk/samples/template/lib_template/template.c -psp/sdk/samples/template/lib_template/template.h -psp/sdk/samples/template/prx_template/Makefile -psp/sdk/samples/template/prx_template/main.c -psp/sdk/samples/usb/storage/Makefile -psp/sdk/samples/usb/storage/main.c -psp/sdk/samples/utility/gamesharing/Makefile -psp/sdk/samples/utility/gamesharing/main.c -psp/sdk/samples/utility/htmlviewer/Makefile -psp/sdk/samples/utility/htmlviewer/main.c -psp/sdk/samples/utility/msgdialog/Makefile -psp/sdk/samples/utility/msgdialog/main.c -psp/sdk/samples/utility/netconf/Makefile -psp/sdk/samples/utility/netconf/main.c -psp/sdk/samples/utility/netdialog/Makefile -psp/sdk/samples/utility/netdialog/main.c -psp/sdk/samples/utility/osk/Makefile -psp/sdk/samples/utility/osk/main.c -psp/sdk/samples/utility/systemparam/Makefile -psp/sdk/samples/utility/systemparam/main.c -psp/sdk/samples/wlan/Makefile -psp/sdk/samples/wlan/main.c diff --git a/devel/psptoolchain/Makefile b/devel/psptoolchain/Makefile deleted file mode 100644 index 466f5d3aa15b..000000000000 --- a/devel/psptoolchain/Makefile +++ /dev/null @@ -1,32 +0,0 @@ -# Created by: Tassilo Philipp <tphilipp@potion-studios.com> - -PORTNAME= psptoolchain -PORTVERSION= 20111215 -PORTREVISION= 3 -CATEGORIES= devel - -MAINTAINER= ports@FreeBSD.org -COMMENT= PlayStation Portable development toolchain meta port - -DEPRECATED= Security issues for multiple years -EXPIRATION_DATE= 2022-06-30 - -RUN_DEPENDS= psp-gdb:devel/psptoolchain-gdb \ - psp-gcc:devel/psptoolchain-gcc-stage2 \ - psp-g++:devel/psptoolchain-gcc-stage2 \ - psp-ar:devel/psptoolchain-binutils \ - psp-as:devel/psptoolchain-binutils \ - psp-c++filt:devel/psptoolchain-binutils \ - psp-ld:devel/psptoolchain-binutils \ - psp-nm:devel/psptoolchain-binutils \ - psp-objcopy:devel/psptoolchain-binutils \ - psp-objdump:devel/psptoolchain-binutils \ - psp-ranlib:devel/psptoolchain-binutils \ - psp-readelf:devel/psptoolchain-binutils \ - psp-size:devel/psptoolchain-binutils \ - psp-strings:devel/psptoolchain-binutils \ - psp-strip:devel/psptoolchain-binutils - -USES= metaport - -.include <bsd.port.mk> diff --git a/devel/psptoolchain/pkg-descr b/devel/psptoolchain/pkg-descr deleted file mode 100644 index ebd84fb39295..000000000000 --- a/devel/psptoolchain/pkg-descr +++ /dev/null @@ -1,4 +0,0 @@ -The PlayStation Portable Toolchain is a collection of tools and utilities -for homebrew PSP development. - -WWW: http://www.ps2dev.org |