patches/binutils/2.18/130-avr32-atmel-v1.0.1.patch
changeset 2664 346263a07115
parent 2663 7179903f8d2e
child 2665 5b7e91ec300c
     1.1 --- a/patches/binutils/2.18/130-avr32-atmel-v1.0.1.patch	Sun Sep 11 18:26:12 2011 +0200
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,52747 +0,0 @@
     1.4 ---- a/bfd/archures.c
     1.5 -+++ b/bfd/archures.c
     1.6 -@@ -346,6 +346,11 @@ DESCRIPTION
     1.7 - .#define bfd_mach_avr4		4
     1.8 - .#define bfd_mach_avr5		5
     1.9 - .#define bfd_mach_avr6		6
    1.10 -+.  bfd_arch_avr32,     {* Atmel AVR32 *}
    1.11 -+.#define bfd_mach_avr32_ap	7000
    1.12 -+.#define bfd_mach_avr32_uc	3000
    1.13 -+.#define bfd_mach_avr32_ucr1    3001
    1.14 -+.#define bfd_mach_avr32_ucr2    3002
    1.15 - .  bfd_arch_bfin,        {* ADI Blackfin *}
    1.16 - .#define bfd_mach_bfin          1
    1.17 - .  bfd_arch_cr16,       {* National Semiconductor CompactRISC (ie CR16). *}
    1.18 -@@ -438,6 +443,7 @@ extern const bfd_arch_info_type bfd_alph
    1.19 - extern const bfd_arch_info_type bfd_arc_arch;
    1.20 - extern const bfd_arch_info_type bfd_arm_arch;
    1.21 - extern const bfd_arch_info_type bfd_avr_arch;
    1.22 -+extern const bfd_arch_info_type bfd_avr32_arch;
    1.23 - extern const bfd_arch_info_type bfd_bfin_arch;
    1.24 - extern const bfd_arch_info_type bfd_cr16_arch;
    1.25 - extern const bfd_arch_info_type bfd_cr16c_arch;
    1.26 -@@ -509,6 +515,7 @@ static const bfd_arch_info_type * const 
    1.27 -     &bfd_arc_arch,
    1.28 -     &bfd_arm_arch,
    1.29 -     &bfd_avr_arch,
    1.30 -+    &bfd_avr32_arch,
    1.31 -     &bfd_bfin_arch,
    1.32 -     &bfd_cr16_arch,
    1.33 -     &bfd_cr16c_arch,
    1.34 ---- a/bfd/config.bfd
    1.35 -+++ b/bfd/config.bfd
    1.36 -@@ -335,6 +335,10 @@ case "${targ}" in
    1.37 -     targ_underscore=yes
    1.38 -     ;;
    1.39 - 
    1.40 -+  avr32-*-*)
    1.41 -+    targ_defvec=bfd_elf32_avr32_vec
    1.42 -+    ;;
    1.43 -+
    1.44 -   c30-*-*aout* | tic30-*-*aout*)
    1.45 -     targ_defvec=tic30_aout_vec
    1.46 -     ;;
    1.47 ---- a/bfd/configure.in
    1.48 -+++ b/bfd/configure.in
    1.49 -@@ -8,7 +8,7 @@ AC_CONFIG_SRCDIR([libbfd.c])
    1.50 - AC_CANONICAL_TARGET
    1.51 - AC_ISC_POSIX
    1.52 - 
    1.53 --AM_INIT_AUTOMAKE(bfd, 2.18)
    1.54 -+AM_INIT_AUTOMAKE(bfd, 2.18.atmel.1.0.1.avr32linux.1)
    1.55 - 
    1.56 - dnl These must be called before AM_PROG_LIBTOOL, because it may want
    1.57 - dnl to call AC_CHECK_PROG.
    1.58 -@@ -619,6 +619,7 @@ do
    1.59 -     bfd_efi_app_ia64_vec)	tb="$tb efi-app-ia64.lo pepigen.lo cofflink.lo"; target_size=64 ;;
    1.60 -     bfd_elf32_am33lin_vec)	tb="$tb elf32-am33lin.lo elf32.lo $elf" ;;
    1.61 -     bfd_elf32_avr_vec)		tb="$tb elf32-avr.lo elf32.lo $elf" ;;
    1.62 -+    bfd_elf32_avr32_vec)	tb="$tb elf32-avr32.lo elf32.lo $elf" ;;
    1.63 -     bfd_elf32_bfin_vec)		tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
    1.64 -     bfd_elf32_bfinfdpic_vec)	tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
    1.65 -     bfd_elf32_big_generic_vec) 	tb="$tb elf32-gen.lo elf32.lo $elf" ;;
    1.66 ---- /dev/null
    1.67 -+++ b/bfd/cpu-avr32.c
    1.68 -@@ -0,0 +1,51 @@
    1.69 -+/* BFD library support routines for AVR32.
    1.70 -+   Copyright 2003-2006 Atmel Corporation.
    1.71 -+
    1.72 -+   Written by Haavard Skinnemoen, Atmel Norway, <hskinnemoen@atmel.com>
    1.73 -+
    1.74 -+   This is part of BFD, the Binary File Descriptor library.
    1.75 -+
    1.76 -+   This program is free software; you can redistribute it and/or modify
    1.77 -+   it under the terms of the GNU General Public License as published by
    1.78 -+   the Free Software Foundation; either version 2 of the License, or
    1.79 -+   (at your option) any later version.
    1.80 -+
    1.81 -+   This program is distributed in the hope that it will be useful,
    1.82 -+   but WITHOUT ANY WARRANTY; without even the implied warranty of
    1.83 -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    1.84 -+   GNU General Public License for more details.
    1.85 -+
    1.86 -+   You should have received a copy of the GNU General Public License
    1.87 -+   along with this program; if not, write to the Free Software
    1.88 -+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
    1.89 -+
    1.90 -+#include "bfd.h"
    1.91 -+#include "sysdep.h"
    1.92 -+#include "libbfd.h"
    1.93 -+
    1.94 -+#define N(machine, print, default, next)			\
    1.95 -+  {								\
    1.96 -+    32,				/* 32 bits in a word */		\
    1.97 -+    32,				/* 32 bits in an address */	\
    1.98 -+    8,				/* 8 bits in a byte */		\
    1.99 -+    bfd_arch_avr32,		/* architecture */		\
   1.100 -+    machine,			/* machine */			\
   1.101 -+    "avr32",			/* arch name */			\
   1.102 -+    print,			/* printable name */		\
   1.103 -+    1,				/* section align power */	\
   1.104 -+    default,			/* the default machine? */	\
   1.105 -+    bfd_default_compatible,					\
   1.106 -+    bfd_default_scan,						\
   1.107 -+    next,							\
   1.108 -+  }
   1.109 -+
   1.110 -+static const bfd_arch_info_type cpu_info[] =
   1.111 -+{
   1.112 -+  N(bfd_mach_avr32_ap, "avr32:ap", FALSE, &cpu_info[1]),
   1.113 -+  N(bfd_mach_avr32_uc, "avr32:uc", FALSE, &cpu_info[2]),
   1.114 -+  N(bfd_mach_avr32_ucr1, "avr32:ucr1", FALSE, &cpu_info[3]),
   1.115 -+  N(bfd_mach_avr32_ucr2, "avr32:ucr2", FALSE, NULL),
   1.116 -+};
   1.117 -+
   1.118 -+const bfd_arch_info_type bfd_avr32_arch =
   1.119 -+  N(bfd_mach_avr32_ap, "avr32", TRUE, &cpu_info[0]);
   1.120 ---- /dev/null
   1.121 -+++ b/bfd/elf32-avr32.c
   1.122 -@@ -0,0 +1,3915 @@
   1.123 -+/* AVR32-specific support for 32-bit ELF.
   1.124 -+   Copyright 2003-2006 Atmel Corporation.
   1.125 -+
   1.126 -+   Written by Haavard Skinnemoen, Atmel Norway, <hskinnemoen@atmel.com>
   1.127 -+
   1.128 -+   This file is part of BFD, the Binary File Descriptor library.
   1.129 -+
   1.130 -+   This program is free software; you can redistribute it and/or modify
   1.131 -+   it under the terms of the GNU General Public License as published by
   1.132 -+   the Free Software Foundation; either version 2 of the License, or
   1.133 -+   (at your option) any later version.
   1.134 -+
   1.135 -+   This program is distributed in the hope that it will be useful,
   1.136 -+   but WITHOUT ANY WARRANTY; without even the implied warranty of
   1.137 -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   1.138 -+   GNU General Public License for more details.
   1.139 -+
   1.140 -+   You should have received a copy of the GNU General Public License
   1.141 -+   along with this program; if not, write to the Free Software
   1.142 -+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
   1.143 -+
   1.144 -+#include "bfd.h"
   1.145 -+#include "sysdep.h"
   1.146 -+#include "bfdlink.h"
   1.147 -+#include "libbfd.h"
   1.148 -+#include "elf-bfd.h"
   1.149 -+#include "elf/avr32.h"
   1.150 -+#include "elf32-avr32.h"
   1.151 -+
   1.152 -+#define xDEBUG
   1.153 -+#define xRELAX_DEBUG
   1.154 -+
   1.155 -+#ifdef DEBUG
   1.156 -+# define pr_debug(fmt, args...) fprintf(stderr, fmt, ##args)
   1.157 -+#else
   1.158 -+# define pr_debug(fmt, args...) do { } while (0)
   1.159 -+#endif
   1.160 -+
   1.161 -+#ifdef RELAX_DEBUG
   1.162 -+# define RDBG(fmt, args...) fprintf(stderr, fmt, ##args)
   1.163 -+#else
   1.164 -+# define RDBG(fmt, args...) do { } while (0)
   1.165 -+#endif
   1.166 -+
   1.167 -+/* When things go wrong, we want it to blow up, damnit! */
   1.168 -+#undef BFD_ASSERT
   1.169 -+#undef abort
   1.170 -+#define BFD_ASSERT(expr)					\
   1.171 -+  do								\
   1.172 -+    {								\
   1.173 -+      if (!(expr))						\
   1.174 -+	{							\
   1.175 -+	  bfd_assert(__FILE__, __LINE__);			\
   1.176 -+	  abort();						\
   1.177 -+	}							\
   1.178 -+    }								\
   1.179 -+  while (0)
   1.180 -+
   1.181 -+/* The name of the dynamic interpreter. This is put in the .interp section. */
   1.182 -+#define ELF_DYNAMIC_INTERPRETER		"/lib/ld.so.1"
   1.183 -+
   1.184 -+#define AVR32_GOT_HEADER_SIZE		8
   1.185 -+#define AVR32_FUNCTION_STUB_SIZE	8
   1.186 -+
   1.187 -+#define ELF_R_INFO(x, y) ELF32_R_INFO(x, y)
   1.188 -+#define ELF_R_TYPE(x) ELF32_R_TYPE(x)
   1.189 -+#define ELF_R_SYM(x) ELF32_R_SYM(x)
   1.190 -+
   1.191 -+#define NOP_OPCODE 0xd703
   1.192 -+
   1.193 -+
   1.194 -+/* Mapping between BFD relocations and ELF relocations */
   1.195 -+
   1.196 -+static reloc_howto_type *
   1.197 -+bfd_elf32_bfd_reloc_type_lookup(bfd *abfd, bfd_reloc_code_real_type code);
   1.198 -+
   1.199 -+static reloc_howto_type *
   1.200 -+bfd_elf32_bfd_reloc_name_lookup(bfd *abfd, const char *r_name);
   1.201 -+
   1.202 -+static void
   1.203 -+avr32_info_to_howto (bfd *abfd, arelent *cache_ptr, Elf_Internal_Rela *dst);
   1.204 -+
   1.205 -+/* Generic HOWTO */
   1.206 -+#define GENH(name, align, size, bitsize, pcrel, bitpos, complain, mask)	\
   1.207 -+  HOWTO(name, align, size, bitsize, pcrel, bitpos,			\
   1.208 -+	complain_overflow_##complain, bfd_elf_generic_reloc, #name,	\
   1.209 -+	FALSE, 0, mask, pcrel)
   1.210 -+
   1.211 -+static reloc_howto_type elf_avr32_howto_table[] = {
   1.212 -+  /*   NAME		 ALN SZ BSZ PCREL  BP COMPLAIN  MASK	    */
   1.213 -+  GENH(R_AVR32_NONE,	  0, 0, 0,  FALSE, 0, dont,	0x00000000),
   1.214 -+
   1.215 -+  GENH(R_AVR32_32,	  0, 2, 32, FALSE, 0, dont,	0xffffffff),
   1.216 -+  GENH(R_AVR32_16,	  0, 1, 16, FALSE, 0, bitfield,	0x0000ffff),
   1.217 -+  GENH(R_AVR32_8,	  0, 0,  8, FALSE, 0, bitfield,	0x000000ff),
   1.218 -+  GENH(R_AVR32_32_PCREL,  0, 2, 32, TRUE,  0, signed,   0xffffffff),
   1.219 -+  GENH(R_AVR32_16_PCREL,  0, 1, 16, TRUE,  0, signed,   0x0000ffff),
   1.220 -+  GENH(R_AVR32_8_PCREL,	  0, 0,  8, TRUE,  0, signed,   0x000000ff),
   1.221 -+
   1.222 -+  /* Difference between two symbol (sym2 - sym1).  The reloc encodes
   1.223 -+     the value of sym1.  The field contains the difference before any
   1.224 -+     relaxing is done.  */
   1.225 -+  GENH(R_AVR32_DIFF32,	  0, 2, 32, FALSE, 0, dont,	0xffffffff),
   1.226 -+  GENH(R_AVR32_DIFF16,	  0, 1, 16, FALSE, 0, signed,	0x0000ffff),
   1.227 -+  GENH(R_AVR32_DIFF8,	  0, 0,  8, FALSE, 0, signed,	0x000000ff),
   1.228 -+
   1.229 -+  GENH(R_AVR32_GOT32,	  0, 2, 32, FALSE, 0, signed,	0xffffffff),
   1.230 -+  GENH(R_AVR32_GOT16,	  0, 1, 16, FALSE, 0, signed,	0x0000ffff),
   1.231 -+  GENH(R_AVR32_GOT8,	  0, 0,  8, FALSE, 0, signed,	0x000000ff),
   1.232 -+
   1.233 -+  GENH(R_AVR32_21S,	  0, 2, 21, FALSE, 0, signed,	0x1e10ffff),
   1.234 -+  GENH(R_AVR32_16U,	  0, 2, 16, FALSE, 0, unsigned,	0x0000ffff),
   1.235 -+  GENH(R_AVR32_16S,	  0, 2, 16, FALSE, 0, signed,	0x0000ffff),
   1.236 -+  GENH(R_AVR32_8S,	  0, 1,  8, FALSE, 4, signed,	0x00000ff0),
   1.237 -+  GENH(R_AVR32_8S_EXT,	  0, 2,  8, FALSE, 0, signed,	0x000000ff),
   1.238 -+
   1.239 -+  GENH(R_AVR32_22H_PCREL, 1, 2, 21, TRUE,  0, signed,	0x1e10ffff),
   1.240 -+  GENH(R_AVR32_18W_PCREL, 2, 2, 16, TRUE,  0, signed,	0x0000ffff),
   1.241 -+  GENH(R_AVR32_16B_PCREL, 0, 2, 16, TRUE,  0, signed,	0x0000ffff),
   1.242 -+  GENH(R_AVR32_16N_PCREL, 0, 2, 16, TRUE,  0, signed,	0x0000ffff),
   1.243 -+  GENH(R_AVR32_14UW_PCREL, 2, 2, 12, TRUE, 0, unsigned, 0x0000f0ff),
   1.244 -+  GENH(R_AVR32_11H_PCREL, 1, 1, 10, TRUE,  4, signed,	0x00000ff3),
   1.245 -+  GENH(R_AVR32_10UW_PCREL, 2, 2, 8, TRUE,  0, unsigned, 0x000000ff),
   1.246 -+  GENH(R_AVR32_9H_PCREL,  1, 1,  8, TRUE,  4, signed,	0x00000ff0),
   1.247 -+  GENH(R_AVR32_9UW_PCREL, 2, 1,  7, TRUE,  4, unsigned,	0x000007f0),
   1.248 -+
   1.249 -+  GENH(R_AVR32_HI16,	 16, 2, 16, FALSE, 0, dont,	0x0000ffff),
   1.250 -+  GENH(R_AVR32_LO16,	  0, 2, 16, FALSE, 0, dont,	0x0000ffff),
   1.251 -+
   1.252 -+  GENH(R_AVR32_GOTPC,	  0, 2, 32, FALSE, 0, dont,	0xffffffff),
   1.253 -+  GENH(R_AVR32_GOTCALL,   2, 2, 21, FALSE, 0, signed,	0x1e10ffff),
   1.254 -+  GENH(R_AVR32_LDA_GOT,	  2, 2, 21, FALSE, 0, signed,	0x1e10ffff),
   1.255 -+  GENH(R_AVR32_GOT21S,	  0, 2, 21, FALSE, 0, signed,	0x1e10ffff),
   1.256 -+  GENH(R_AVR32_GOT18SW,	  2, 2, 16, FALSE, 0, signed,	0x0000ffff),
   1.257 -+  GENH(R_AVR32_GOT16S,	  0, 2, 16, FALSE, 0, signed,	0x0000ffff),
   1.258 -+  GENH(R_AVR32_GOT7UW,	  2, 1,  5, FALSE, 4, unsigned, 0x000001f0),
   1.259 -+
   1.260 -+  GENH(R_AVR32_32_CPENT,  0, 2, 32, FALSE, 0, dont,	0xffffffff),
   1.261 -+  GENH(R_AVR32_CPCALL,	  2, 2, 16, TRUE,  0, signed,	0x0000ffff),
   1.262 -+  GENH(R_AVR32_16_CP,	  0, 2, 16, TRUE,  0, signed,	0x0000ffff),
   1.263 -+  GENH(R_AVR32_9W_CP,	  2, 1,  7, TRUE,  4, unsigned, 0x000007f0),
   1.264 -+
   1.265 -+  GENH(R_AVR32_RELATIVE,  0, 2, 32, FALSE, 0, signed,	0xffffffff),
   1.266 -+  GENH(R_AVR32_GLOB_DAT,  0, 2, 32, FALSE, 0, dont,	0xffffffff),
   1.267 -+  GENH(R_AVR32_JMP_SLOT,  0, 2, 32, FALSE, 0, dont,	0xffffffff),
   1.268 -+
   1.269 -+  GENH(R_AVR32_ALIGN,	  0, 1, 0,  FALSE, 0, unsigned, 0x00000000),
   1.270 -+
   1.271 -+  GENH(R_AVR32_15S,	  2, 2, 15, FALSE, 0, signed,	0x00007fff),
   1.272 -+};
   1.273 -+
   1.274 -+struct elf_reloc_map
   1.275 -+{
   1.276 -+  bfd_reloc_code_real_type bfd_reloc_val;
   1.277 -+  unsigned char elf_reloc_val;
   1.278 -+};
   1.279 -+
   1.280 -+static const struct elf_reloc_map avr32_reloc_map[] =
   1.281 -+{
   1.282 -+  { BFD_RELOC_NONE,			R_AVR32_NONE },
   1.283 -+
   1.284 -+  { BFD_RELOC_32,			R_AVR32_32 },
   1.285 -+  { BFD_RELOC_16,			R_AVR32_16 },
   1.286 -+  { BFD_RELOC_8,			R_AVR32_8 },
   1.287 -+  { BFD_RELOC_32_PCREL,			R_AVR32_32_PCREL },
   1.288 -+  { BFD_RELOC_16_PCREL,			R_AVR32_16_PCREL },
   1.289 -+  { BFD_RELOC_8_PCREL,			R_AVR32_8_PCREL },
   1.290 -+  { BFD_RELOC_AVR32_DIFF32,		R_AVR32_DIFF32 },
   1.291 -+  { BFD_RELOC_AVR32_DIFF16,		R_AVR32_DIFF16 },
   1.292 -+  { BFD_RELOC_AVR32_DIFF8,		R_AVR32_DIFF8 },
   1.293 -+  { BFD_RELOC_AVR32_GOT32,		R_AVR32_GOT32 },
   1.294 -+  { BFD_RELOC_AVR32_GOT16,		R_AVR32_GOT16 },
   1.295 -+  { BFD_RELOC_AVR32_GOT8,		R_AVR32_GOT8 },
   1.296 -+
   1.297 -+  { BFD_RELOC_AVR32_21S,		R_AVR32_21S },
   1.298 -+  { BFD_RELOC_AVR32_16U,		R_AVR32_16U },
   1.299 -+  { BFD_RELOC_AVR32_16S,		R_AVR32_16S },
   1.300 -+  { BFD_RELOC_AVR32_SUB5,		R_AVR32_16S },
   1.301 -+  { BFD_RELOC_AVR32_8S_EXT,		R_AVR32_8S_EXT },
   1.302 -+  { BFD_RELOC_AVR32_8S,			R_AVR32_8S },
   1.303 -+
   1.304 -+  { BFD_RELOC_AVR32_22H_PCREL,		R_AVR32_22H_PCREL },
   1.305 -+  { BFD_RELOC_AVR32_18W_PCREL,		R_AVR32_18W_PCREL },
   1.306 -+  { BFD_RELOC_AVR32_16B_PCREL,		R_AVR32_16B_PCREL },
   1.307 -+  { BFD_RELOC_AVR32_16N_PCREL,		R_AVR32_16N_PCREL },
   1.308 -+  { BFD_RELOC_AVR32_11H_PCREL,		R_AVR32_11H_PCREL },
   1.309 -+  { BFD_RELOC_AVR32_10UW_PCREL,		R_AVR32_10UW_PCREL },
   1.310 -+  { BFD_RELOC_AVR32_9H_PCREL,		R_AVR32_9H_PCREL },
   1.311 -+  { BFD_RELOC_AVR32_9UW_PCREL,		R_AVR32_9UW_PCREL },
   1.312 -+
   1.313 -+  { BFD_RELOC_HI16,			R_AVR32_HI16 },
   1.314 -+  { BFD_RELOC_LO16,			R_AVR32_LO16 },
   1.315 -+
   1.316 -+  { BFD_RELOC_AVR32_GOTPC,		R_AVR32_GOTPC },
   1.317 -+  { BFD_RELOC_AVR32_GOTCALL,		R_AVR32_GOTCALL },
   1.318 -+  { BFD_RELOC_AVR32_LDA_GOT,		R_AVR32_LDA_GOT },
   1.319 -+  { BFD_RELOC_AVR32_GOT21S,		R_AVR32_GOT21S },
   1.320 -+  { BFD_RELOC_AVR32_GOT18SW,		R_AVR32_GOT18SW },
   1.321 -+  { BFD_RELOC_AVR32_GOT16S,		R_AVR32_GOT16S },
   1.322 -+  /* GOT7UW should never be generated by the assembler */
   1.323 -+
   1.324 -+  { BFD_RELOC_AVR32_32_CPENT,		R_AVR32_32_CPENT },
   1.325 -+  { BFD_RELOC_AVR32_CPCALL,		R_AVR32_CPCALL },
   1.326 -+  { BFD_RELOC_AVR32_16_CP,		R_AVR32_16_CP },
   1.327 -+  { BFD_RELOC_AVR32_9W_CP,		R_AVR32_9W_CP },
   1.328 -+
   1.329 -+  { BFD_RELOC_AVR32_ALIGN,		R_AVR32_ALIGN },
   1.330 -+
   1.331 -+  { BFD_RELOC_AVR32_15S,		R_AVR32_15S },
   1.332 -+};
   1.333 -+
   1.334 -+static reloc_howto_type *
   1.335 -+bfd_elf32_bfd_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
   1.336 -+				 bfd_reloc_code_real_type code)
   1.337 -+{
   1.338 -+  unsigned int i;
   1.339 -+
   1.340 -+  for (i = 0; i < sizeof(avr32_reloc_map) / sizeof(struct elf_reloc_map); i++)
   1.341 -+    {
   1.342 -+      if (avr32_reloc_map[i].bfd_reloc_val == code)
   1.343 -+	return &elf_avr32_howto_table[avr32_reloc_map[i].elf_reloc_val];
   1.344 -+    }
   1.345 -+
   1.346 -+  return NULL;
   1.347 -+}
   1.348 -+
   1.349 -+static reloc_howto_type *
   1.350 -+bfd_elf32_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
   1.351 -+                 const char *r_name)
   1.352 -+{
   1.353 -+  unsigned int i;
   1.354 -+
   1.355 -+  for (i = 0;
   1.356 -+       i < sizeof (elf_avr32_howto_table) / sizeof (elf_avr32_howto_table[0]);
   1.357 -+       i++)
   1.358 -+    if (elf_avr32_howto_table[i].name != NULL
   1.359 -+    && strcasecmp (elf_avr32_howto_table[i].name, r_name) == 0)
   1.360 -+      return &elf_avr32_howto_table[i];
   1.361 -+
   1.362 -+  return NULL;
   1.363 -+}
   1.364 -+
   1.365 -+/* Set the howto pointer for an AVR32 ELF reloc.  */
   1.366 -+static void
   1.367 -+avr32_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
   1.368 -+		     arelent *cache_ptr,
   1.369 -+		     Elf_Internal_Rela *dst)
   1.370 -+{
   1.371 -+  unsigned int r_type;
   1.372 -+
   1.373 -+  r_type = ELF32_R_TYPE (dst->r_info);
   1.374 -+  BFD_ASSERT (r_type < (unsigned int) R_AVR32_max);
   1.375 -+  cache_ptr->howto = &elf_avr32_howto_table[r_type];
   1.376 -+}
   1.377 -+
   1.378 -+
   1.379 -+/* AVR32 ELF linker hash table and associated hash entries. */
   1.380 -+
   1.381 -+static struct bfd_hash_entry *
   1.382 -+avr32_elf_link_hash_newfunc(struct bfd_hash_entry *entry,
   1.383 -+			    struct bfd_hash_table *table,
   1.384 -+			    const char *string);
   1.385 -+static void
   1.386 -+avr32_elf_copy_indirect_symbol(struct bfd_link_info *info,
   1.387 -+			       struct elf_link_hash_entry *dir,
   1.388 -+			       struct elf_link_hash_entry *ind);
   1.389 -+static struct bfd_link_hash_table *
   1.390 -+avr32_elf_link_hash_table_create(bfd *abfd);
   1.391 -+
   1.392 -+/*
   1.393 -+  Try to limit memory usage to something reasonable when sorting the
   1.394 -+  GOT.  If just a couple of entries end up getting more references
   1.395 -+  than this, it won't affect performance at all, but if there are many
   1.396 -+  of them, we could end up with the wrong symbols being assigned the
   1.397 -+  first GOT entries.
   1.398 -+*/
   1.399 -+#define MAX_NR_GOT_HOLES	2048
   1.400 -+
   1.401 -+/*
   1.402 -+  AVR32 GOT entry.  We need to keep track of refcounts and offsets
   1.403 -+  simultaneously, since we need the offsets during relaxation, and we
   1.404 -+  also want to be able to drop GOT entries during relaxation. In
   1.405 -+  addition to this, we want to keep the list of GOT entries sorted so
   1.406 -+  that we can keep the most-used entries at the lowest offsets.
   1.407 -+*/
   1.408 -+struct got_entry
   1.409 -+{
   1.410 -+  struct got_entry *next;
   1.411 -+  struct got_entry **pprev;
   1.412 -+  int refcount;
   1.413 -+  bfd_signed_vma offset;
   1.414 -+};
   1.415 -+
   1.416 -+struct elf_avr32_link_hash_entry
   1.417 -+{
   1.418 -+  struct elf_link_hash_entry root;
   1.419 -+
   1.420 -+  /* Number of runtime relocations against this symbol.  */
   1.421 -+  unsigned int possibly_dynamic_relocs;
   1.422 -+
   1.423 -+  /* If there are anything but R_AVR32_GOT18 relocations against this
   1.424 -+     symbol, it means that someone may be taking the address of the
   1.425 -+     function, and we should therefore not create a stub.  */
   1.426 -+  bfd_boolean no_fn_stub;
   1.427 -+
   1.428 -+  /* If there is a R_AVR32_32 relocation in a read-only section
   1.429 -+     against this symbol, we could be in trouble. If we're linking a
   1.430 -+     shared library or this symbol is defined in one, it means we must
   1.431 -+     emit a run-time reloc for it and that's not allowed in read-only
   1.432 -+     sections.  */
   1.433 -+  asection *readonly_reloc_sec;
   1.434 -+  bfd_vma readonly_reloc_offset;
   1.435 -+
   1.436 -+  /* Record which frag (if any) contains the symbol.  This is used
   1.437 -+     during relaxation in order to avoid having to update all symbols
   1.438 -+     whenever we move something.  For local symbols, this information
   1.439 -+     is in the local_sym_frag member of struct elf_obj_tdata.  */
   1.440 -+  struct fragment *sym_frag;
   1.441 -+};
   1.442 -+#define avr32_elf_hash_entry(ent) ((struct elf_avr32_link_hash_entry *)(ent))
   1.443 -+
   1.444 -+struct elf_avr32_link_hash_table
   1.445 -+{
   1.446 -+  struct elf_link_hash_table root;
   1.447 -+
   1.448 -+  /* Shortcuts to get to dynamic linker sections.  */
   1.449 -+  asection *sgot;
   1.450 -+  asection *srelgot;
   1.451 -+  asection *sstub;
   1.452 -+
   1.453 -+  /* We use a variation of Pigeonhole Sort to sort the GOT.  After the
   1.454 -+     initial refcounts have been determined, we initialize
   1.455 -+     nr_got_holes to the highest refcount ever seen and allocate an
   1.456 -+     array of nr_got_holes entries for got_hole.  Each GOT entry is
   1.457 -+     then stored in this array at the index given by its refcount.
   1.458 -+
   1.459 -+     When a GOT entry has its refcount decremented during relaxation,
   1.460 -+     it is moved to a lower index in the got_hole array.
   1.461 -+   */
   1.462 -+  struct got_entry **got_hole;
   1.463 -+  int nr_got_holes;
   1.464 -+
   1.465 -+  /* Dynamic relocations to local symbols.  Only used when linking a
   1.466 -+     shared library and -Bsymbolic is not given.  */
   1.467 -+  unsigned int local_dynamic_relocs;
   1.468 -+
   1.469 -+  bfd_boolean relocations_analyzed;
   1.470 -+  bfd_boolean symbols_adjusted;
   1.471 -+  bfd_boolean repeat_pass;
   1.472 -+  bfd_boolean direct_data_refs;
   1.473 -+  unsigned int relax_iteration;
   1.474 -+  unsigned int relax_pass;
   1.475 -+};
   1.476 -+#define avr32_elf_hash_table(p)				\
   1.477 -+  ((struct elf_avr32_link_hash_table *)((p)->hash))
   1.478 -+
   1.479 -+static struct bfd_hash_entry *
   1.480 -+avr32_elf_link_hash_newfunc(struct bfd_hash_entry *entry,
   1.481 -+			    struct bfd_hash_table *table,
   1.482 -+			    const char *string)
   1.483 -+{
   1.484 -+  struct elf_avr32_link_hash_entry *ret = avr32_elf_hash_entry(entry);
   1.485 -+
   1.486 -+  /* Allocate the structure if it hasn't already been allocated by a
   1.487 -+     subclass */
   1.488 -+  if (ret == NULL)
   1.489 -+    ret = (struct elf_avr32_link_hash_entry *)
   1.490 -+      bfd_hash_allocate(table, sizeof(struct elf_avr32_link_hash_entry));
   1.491 -+
   1.492 -+  if (ret == NULL)
   1.493 -+    return NULL;
   1.494 -+
   1.495 -+  memset(ret, 0, sizeof(struct elf_avr32_link_hash_entry));
   1.496 -+
   1.497 -+  /* Give the superclass a chance */
   1.498 -+  ret = (struct elf_avr32_link_hash_entry *)
   1.499 -+    _bfd_elf_link_hash_newfunc((struct bfd_hash_entry *)ret, table, string);
   1.500 -+
   1.501 -+  return (struct bfd_hash_entry *)ret;
   1.502 -+}
   1.503 -+
   1.504 -+/* Copy data from an indirect symbol to its direct symbol, hiding the
   1.505 -+   old indirect symbol.  Process additional relocation information.
   1.506 -+   Also called for weakdefs, in which case we just let
   1.507 -+   _bfd_elf_link_hash_copy_indirect copy the flags for us.  */
   1.508 -+
   1.509 -+static void
   1.510 -+avr32_elf_copy_indirect_symbol(struct bfd_link_info *info,
   1.511 -+			       struct elf_link_hash_entry *dir,
   1.512 -+			       struct elf_link_hash_entry *ind)
   1.513 -+{
   1.514 -+  struct elf_avr32_link_hash_entry *edir, *eind;
   1.515 -+
   1.516 -+  _bfd_elf_link_hash_copy_indirect (info, dir, ind);
   1.517 -+
   1.518 -+  if (ind->root.type != bfd_link_hash_indirect)
   1.519 -+    return;
   1.520 -+
   1.521 -+  edir = (struct elf_avr32_link_hash_entry *)dir;
   1.522 -+  eind = (struct elf_avr32_link_hash_entry *)ind;
   1.523 -+
   1.524 -+  edir->possibly_dynamic_relocs += eind->possibly_dynamic_relocs;
   1.525 -+  edir->no_fn_stub = edir->no_fn_stub || eind->no_fn_stub;
   1.526 -+}
   1.527 -+
   1.528 -+static struct bfd_link_hash_table *
   1.529 -+avr32_elf_link_hash_table_create(bfd *abfd)
   1.530 -+{
   1.531 -+  struct elf_avr32_link_hash_table *ret;
   1.532 -+
   1.533 -+  ret = bfd_zmalloc(sizeof(*ret));
   1.534 -+  if (ret == NULL)
   1.535 -+    return NULL;
   1.536 -+
   1.537 -+  if (! _bfd_elf_link_hash_table_init(&ret->root, abfd,
   1.538 -+				      avr32_elf_link_hash_newfunc,
   1.539 -+                      sizeof (struct elf_avr32_link_hash_entry)))
   1.540 -+    {
   1.541 -+      free(ret);
   1.542 -+      return NULL;
   1.543 -+    }
   1.544 -+
   1.545 -+  /* Prevent the BFD core from creating bogus got_entry pointers */
   1.546 -+  ret->root.init_got_refcount.glist = NULL;
   1.547 -+  ret->root.init_plt_refcount.glist = NULL;
   1.548 -+  ret->root.init_got_offset.glist = NULL;
   1.549 -+  ret->root.init_plt_offset.glist = NULL;
   1.550 -+
   1.551 -+  return &ret->root.root;
   1.552 -+}
   1.553 -+
   1.554 -+
   1.555 -+/* Initial analysis and creation of dynamic sections and symbols */
   1.556 -+
   1.557 -+static asection *
   1.558 -+create_dynamic_section(bfd *dynobj, const char *name, flagword flags,
   1.559 -+		       unsigned int align_power);
   1.560 -+static struct elf_link_hash_entry *
   1.561 -+create_dynamic_symbol(bfd *dynobj, struct bfd_link_info *info,
   1.562 -+		      const char *name, asection *sec,
   1.563 -+		      bfd_vma offset);
   1.564 -+static bfd_boolean
   1.565 -+avr32_elf_create_got_section (bfd *dynobj, struct bfd_link_info *info);
   1.566 -+static bfd_boolean
   1.567 -+avr32_elf_create_dynamic_sections (bfd *dynobj, struct bfd_link_info *info);
   1.568 -+static bfd_boolean
   1.569 -+avr32_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec,
   1.570 -+		    const Elf_Internal_Rela *relocs);
   1.571 -+static bfd_boolean
   1.572 -+avr32_elf_adjust_dynamic_symbol(struct bfd_link_info *info,
   1.573 -+				struct elf_link_hash_entry *h);
   1.574 -+
   1.575 -+static asection *
   1.576 -+create_dynamic_section(bfd *dynobj, const char *name, flagword flags,
   1.577 -+		       unsigned int align_power)
   1.578 -+{
   1.579 -+  asection *sec;
   1.580 -+
   1.581 -+  sec = bfd_make_section(dynobj, name);
   1.582 -+  if (!sec
   1.583 -+      || !bfd_set_section_flags(dynobj, sec, flags)
   1.584 -+      || !bfd_set_section_alignment(dynobj, sec, align_power))
   1.585 -+    return NULL;
   1.586 -+
   1.587 -+  return sec;
   1.588 -+}
   1.589 -+
   1.590 -+static struct elf_link_hash_entry *
   1.591 -+create_dynamic_symbol(bfd *dynobj, struct bfd_link_info *info,
   1.592 -+		      const char *name, asection *sec,
   1.593 -+		      bfd_vma offset)
   1.594 -+{
   1.595 -+  struct bfd_link_hash_entry *bh = NULL;
   1.596 -+  struct elf_link_hash_entry *h;
   1.597 -+  const struct elf_backend_data *bed = get_elf_backend_data (dynobj);
   1.598 -+
   1.599 -+  if (!(_bfd_generic_link_add_one_symbol
   1.600 -+	(info, dynobj, name, BSF_GLOBAL, sec, offset, NULL, FALSE,
   1.601 -+	 bed->collect, &bh)))
   1.602 -+    return NULL;
   1.603 -+
   1.604 -+  h = (struct elf_link_hash_entry *)bh;
   1.605 -+  h->def_regular = 1;
   1.606 -+  h->type = STT_OBJECT;
   1.607 -+  h->other = STV_HIDDEN;
   1.608 -+
   1.609 -+  return h;
   1.610 -+}
   1.611 -+
   1.612 -+static bfd_boolean
   1.613 -+avr32_elf_create_got_section (bfd *dynobj, struct bfd_link_info *info)
   1.614 -+{
   1.615 -+  struct elf_avr32_link_hash_table *htab;
   1.616 -+  flagword flags;
   1.617 -+  const struct elf_backend_data *bed = get_elf_backend_data (dynobj);
   1.618 -+
   1.619 -+  htab = avr32_elf_hash_table(info);
   1.620 -+  flags = bed->dynamic_sec_flags;
   1.621 -+
   1.622 -+  if (htab->sgot)
   1.623 -+    return TRUE;
   1.624 -+
   1.625 -+  htab->sgot = create_dynamic_section(dynobj, ".got", flags, 2);
   1.626 -+  if (!htab->srelgot)
   1.627 -+    htab->srelgot = create_dynamic_section(dynobj, ".rela.got",
   1.628 -+					   flags | SEC_READONLY, 2);
   1.629 -+
   1.630 -+  if (!htab->sgot || !htab->srelgot)
   1.631 -+    return FALSE;
   1.632 -+
   1.633 -+  htab->root.hgot = create_dynamic_symbol(dynobj, info, "_GLOBAL_OFFSET_TABLE_",
   1.634 -+					  htab->sgot, 0);
   1.635 -+  if (!htab->root.hgot)
   1.636 -+    return FALSE;
   1.637 -+
   1.638 -+  /* Make room for the GOT header */
   1.639 -+  htab->sgot->size += bed->got_header_size;
   1.640 -+
   1.641 -+  return TRUE;
   1.642 -+}
   1.643 -+
   1.644 -+/* (1) Create all dynamic (i.e. linker generated) sections that we may
   1.645 -+   need during the link */
   1.646 -+
   1.647 -+static bfd_boolean
   1.648 -+avr32_elf_create_dynamic_sections (bfd *dynobj, struct bfd_link_info *info)
   1.649 -+{
   1.650 -+  struct elf_avr32_link_hash_table *htab;
   1.651 -+  flagword flags;
   1.652 -+  const struct elf_backend_data *bed = get_elf_backend_data (dynobj);
   1.653 -+
   1.654 -+  pr_debug("(1) create dynamic sections\n");
   1.655 -+
   1.656 -+  htab = avr32_elf_hash_table(info);
   1.657 -+  flags = bed->dynamic_sec_flags;
   1.658 -+
   1.659 -+  if (!avr32_elf_create_got_section (dynobj, info))
   1.660 -+    return FALSE;
   1.661 -+
   1.662 -+  if (!htab->sstub)
   1.663 -+    htab->sstub = create_dynamic_section(dynobj, ".stub",
   1.664 -+					 flags | SEC_READONLY | SEC_CODE, 2);
   1.665 -+
   1.666 -+  if (!htab->sstub)
   1.667 -+    return FALSE;
   1.668 -+
   1.669 -+  return TRUE;
   1.670 -+}
   1.671 -+
   1.672 -+/* (2) Go through all the relocs and count any potential GOT- or
   1.673 -+   PLT-references to each symbol */
   1.674 -+
   1.675 -+static bfd_boolean
   1.676 -+avr32_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec,
   1.677 -+		    const Elf_Internal_Rela *relocs)
   1.678 -+{
   1.679 -+  Elf_Internal_Shdr *symtab_hdr;
   1.680 -+  struct elf_avr32_link_hash_table *htab;
   1.681 -+  struct elf_link_hash_entry **sym_hashes;
   1.682 -+  const Elf_Internal_Rela *rel, *rel_end;
   1.683 -+  struct got_entry **local_got_ents;
   1.684 -+  struct got_entry *got;
   1.685 -+  const struct elf_backend_data *bed = get_elf_backend_data (abfd);
   1.686 -+  asection *sgot;
   1.687 -+  bfd *dynobj;
   1.688 -+
   1.689 -+  pr_debug("(2) check relocs for %s:<%s> (size 0x%lx)\n",
   1.690 -+	   abfd->filename, sec->name, sec->size);
   1.691 -+
   1.692 -+  if (info->relocatable)
   1.693 -+    return TRUE;
   1.694 -+
   1.695 -+  dynobj = elf_hash_table(info)->dynobj;
   1.696 -+  symtab_hdr = &elf_tdata(abfd)->symtab_hdr;
   1.697 -+  sym_hashes = elf_sym_hashes(abfd);
   1.698 -+  htab = avr32_elf_hash_table(info);
   1.699 -+  local_got_ents = elf_local_got_ents(abfd);
   1.700 -+  sgot = htab->sgot;
   1.701 -+
   1.702 -+  rel_end = relocs + sec->reloc_count;
   1.703 -+  for (rel = relocs; rel < rel_end; rel++)
   1.704 -+    {
   1.705 -+      unsigned long r_symndx, r_type;
   1.706 -+      struct elf_avr32_link_hash_entry *h;
   1.707 -+
   1.708 -+      r_symndx = ELF32_R_SYM(rel->r_info);
   1.709 -+      r_type = ELF32_R_TYPE(rel->r_info);
   1.710 -+
   1.711 -+      /* Local symbols use local_got_ents, while others store the same
   1.712 -+	 information in the hash entry */
   1.713 -+      if (r_symndx < symtab_hdr->sh_info)
   1.714 -+	{
   1.715 -+	  pr_debug("  (2a) processing local symbol %lu\n", r_symndx);
   1.716 -+	  h = NULL;
   1.717 -+	}
   1.718 -+      else
   1.719 -+	{
   1.720 -+	  h = (struct elf_avr32_link_hash_entry *)
   1.721 -+	    sym_hashes[r_symndx - symtab_hdr->sh_info];
   1.722 -+	  while (h->root.type == bfd_link_hash_indirect
   1.723 -+		 || h->root.type == bfd_link_hash_warning)
   1.724 -+	    h = (struct elf_avr32_link_hash_entry *)h->root.root.u.i.link;
   1.725 -+	  pr_debug("  (2a) processing symbol %s\n", h->root.root.root.string);
   1.726 -+	}
   1.727 -+
   1.728 -+      /* Some relocs require special sections to be created.  */
   1.729 -+      switch (r_type)
   1.730 -+	{
   1.731 -+	case R_AVR32_GOT32:
   1.732 -+	case R_AVR32_GOT16:
   1.733 -+	case R_AVR32_GOT8:
   1.734 -+	case R_AVR32_GOT21S:
   1.735 -+	case R_AVR32_GOT18SW:
   1.736 -+	case R_AVR32_GOT16S:
   1.737 -+	case R_AVR32_GOT7UW:
   1.738 -+	case R_AVR32_LDA_GOT:
   1.739 -+	case R_AVR32_GOTCALL:
   1.740 -+	  if (rel->r_addend)
   1.741 -+	    {
   1.742 -+	      if (info->callbacks->reloc_dangerous
   1.743 -+		  (info, _("Non-zero addend on GOT-relative relocation"),
   1.744 -+		   abfd, sec, rel->r_offset) == FALSE)
   1.745 -+		return FALSE;
   1.746 -+	    }
   1.747 -+	  /* fall through */
   1.748 -+	case R_AVR32_GOTPC:
   1.749 -+	  if (dynobj == NULL)
   1.750 -+	    elf_hash_table(info)->dynobj = dynobj = abfd;
   1.751 -+	  if (sgot == NULL && !avr32_elf_create_got_section(dynobj, info))
   1.752 -+	    return FALSE;
   1.753 -+	  break;
   1.754 -+	case R_AVR32_32:
   1.755 -+	  /* We may need to create .rela.dyn later on.  */
   1.756 -+	  if (dynobj == NULL
   1.757 -+	      && (info->shared || h != NULL)
   1.758 -+	      && (sec->flags & SEC_ALLOC))
   1.759 -+	    elf_hash_table(info)->dynobj = dynobj = abfd;
   1.760 -+	  break;
   1.761 -+	}
   1.762 -+
   1.763 -+      if (h != NULL && r_type != R_AVR32_GOT18SW)
   1.764 -+	h->no_fn_stub = TRUE;
   1.765 -+
   1.766 -+      switch (r_type)
   1.767 -+	{
   1.768 -+	case R_AVR32_GOT32:
   1.769 -+	case R_AVR32_GOT16:
   1.770 -+	case R_AVR32_GOT8:
   1.771 -+	case R_AVR32_GOT21S:
   1.772 -+	case R_AVR32_GOT18SW:
   1.773 -+	case R_AVR32_GOT16S:
   1.774 -+	case R_AVR32_GOT7UW:
   1.775 -+	case R_AVR32_LDA_GOT:
   1.776 -+	case R_AVR32_GOTCALL:
   1.777 -+	  if (h != NULL)
   1.778 -+	    {
   1.779 -+	      got = h->root.got.glist;
   1.780 -+	      if (!got)
   1.781 -+		{
   1.782 -+		  got = bfd_zalloc(abfd, sizeof(struct got_entry));
   1.783 -+		  if (!got)
   1.784 -+		    return FALSE;
   1.785 -+		  h->root.got.glist = got;
   1.786 -+		}
   1.787 -+	    }
   1.788 -+	  else
   1.789 -+	    {
   1.790 -+	      if (!local_got_ents)
   1.791 -+		{
   1.792 -+		  bfd_size_type size;
   1.793 -+		  bfd_size_type i;
   1.794 -+		  struct got_entry *tmp_entry;
   1.795 -+
   1.796 -+		  size = symtab_hdr->sh_info;
   1.797 -+		  size *= sizeof(struct got_entry *) + sizeof(struct got_entry);
   1.798 -+		  local_got_ents = bfd_zalloc(abfd, size);
   1.799 -+		  if (!local_got_ents)
   1.800 -+		    return FALSE;
   1.801 -+
   1.802 -+		  elf_local_got_ents(abfd) = local_got_ents;
   1.803 -+
   1.804 -+		  tmp_entry = (struct got_entry *)(local_got_ents
   1.805 -+						   + symtab_hdr->sh_info);
   1.806 -+		  for (i = 0; i < symtab_hdr->sh_info; i++)
   1.807 -+		    local_got_ents[i] = &tmp_entry[i];
   1.808 -+		}
   1.809 -+
   1.810 -+	      got = local_got_ents[r_symndx];
   1.811 -+	    }
   1.812 -+
   1.813 -+	  got->refcount++;
   1.814 -+	  if (got->refcount > htab->nr_got_holes)
   1.815 -+	    htab->nr_got_holes = got->refcount;
   1.816 -+	  break;
   1.817 -+
   1.818 -+	case R_AVR32_32:
   1.819 -+	  if ((info->shared || h != NULL)
   1.820 -+	      && (sec->flags & SEC_ALLOC))
   1.821 -+	    {
   1.822 -+	      if (htab->srelgot == NULL)
   1.823 -+		{
   1.824 -+		  htab->srelgot = create_dynamic_section(dynobj, ".rela.got",
   1.825 -+							 bed->dynamic_sec_flags
   1.826 -+							 | SEC_READONLY, 2);
   1.827 -+		  if (htab->srelgot == NULL)
   1.828 -+		    return FALSE;
   1.829 -+		}
   1.830 -+
   1.831 -+	      if (sec->flags & SEC_READONLY
   1.832 -+		  && !h->readonly_reloc_sec)
   1.833 -+		{
   1.834 -+		  h->readonly_reloc_sec = sec;
   1.835 -+		  h->readonly_reloc_offset = rel->r_offset;
   1.836 -+		}
   1.837 -+
   1.838 -+	      if (h != NULL)
   1.839 -+		{
   1.840 -+		  pr_debug("Non-GOT reference to symbol %s\n",
   1.841 -+			   h->root.root.root.string);
   1.842 -+		  h->possibly_dynamic_relocs++;
   1.843 -+		}
   1.844 -+	      else
   1.845 -+		{
   1.846 -+		  pr_debug("Non-GOT reference to local symbol %lu\n",
   1.847 -+			   r_symndx);
   1.848 -+		  htab->local_dynamic_relocs++;
   1.849 -+		}
   1.850 -+	    }
   1.851 -+
   1.852 -+	  break;
   1.853 -+
   1.854 -+	  /* TODO: GNU_VTINHERIT and GNU_VTENTRY */
   1.855 -+	}
   1.856 -+    }
   1.857 -+
   1.858 -+  return TRUE;
   1.859 -+}
   1.860 -+
   1.861 -+/* (3) Adjust a symbol defined by a dynamic object and referenced by a
   1.862 -+   regular object.  The current definition is in some section of the
   1.863 -+   dynamic object, but we're not including those sections.  We have to
   1.864 -+   change the definition to something the rest of the link can
   1.865 -+   understand.  */
   1.866 -+
   1.867 -+static bfd_boolean
   1.868 -+avr32_elf_adjust_dynamic_symbol(struct bfd_link_info *info,
   1.869 -+				struct elf_link_hash_entry *h)
   1.870 -+{
   1.871 -+  struct elf_avr32_link_hash_table *htab;
   1.872 -+  struct elf_avr32_link_hash_entry *havr;
   1.873 -+  bfd *dynobj;
   1.874 -+
   1.875 -+  pr_debug("(3) adjust dynamic symbol %s\n", h->root.root.string);
   1.876 -+
   1.877 -+  htab = avr32_elf_hash_table(info);
   1.878 -+  havr = (struct elf_avr32_link_hash_entry *)h;
   1.879 -+  dynobj = elf_hash_table(info)->dynobj;
   1.880 -+
   1.881 -+  /* Make sure we know what is going on here.  */
   1.882 -+  BFD_ASSERT (dynobj != NULL
   1.883 -+	      && (h->u.weakdef != NULL
   1.884 -+		  || (h->def_dynamic
   1.885 -+		      && h->ref_regular
   1.886 -+		      && !h->def_regular)));
   1.887 -+
   1.888 -+  /* We don't want dynamic relocations in read-only sections. */
   1.889 -+  if (havr->readonly_reloc_sec)
   1.890 -+    {
   1.891 -+      if (info->callbacks->reloc_dangerous
   1.892 -+	  (info, _("dynamic relocation in read-only section"),
   1.893 -+	   havr->readonly_reloc_sec->owner, havr->readonly_reloc_sec,
   1.894 -+	   havr->readonly_reloc_offset) == FALSE)
   1.895 -+	return FALSE;
   1.896 -+    }
   1.897 -+
   1.898 -+  /* If this is a function, create a stub if possible and set the
   1.899 -+     symbol to the stub location.  */
   1.900 -+  if (0 && !havr->no_fn_stub)
   1.901 -+    {
   1.902 -+      if (!h->def_regular)
   1.903 -+	{
   1.904 -+	  asection *s = htab->sstub;
   1.905 -+
   1.906 -+	  BFD_ASSERT(s != NULL);
   1.907 -+
   1.908 -+	  h->root.u.def.section = s;
   1.909 -+	  h->root.u.def.value = s->size;
   1.910 -+	  h->plt.offset = s->size;
   1.911 -+	  s->size += AVR32_FUNCTION_STUB_SIZE;
   1.912 -+
   1.913 -+	  return TRUE;
   1.914 -+	}
   1.915 -+    }
   1.916 -+  else if (h->type == STT_FUNC)
   1.917 -+    {
   1.918 -+      /* This will set the entry for this symbol in the GOT to 0, and
   1.919 -+	 the dynamic linker will take care of this. */
   1.920 -+      h->root.u.def.value = 0;
   1.921 -+      return TRUE;
   1.922 -+    }
   1.923 -+
   1.924 -+  /* If this is a weak symbol, and there is a real definition, the
   1.925 -+     processor independent code will have arranged for us to see the
   1.926 -+     real definition first, and we can just use the same value.  */
   1.927 -+  if (h->u.weakdef != NULL)
   1.928 -+    {
   1.929 -+      BFD_ASSERT(h->u.weakdef->root.type == bfd_link_hash_defined
   1.930 -+		 || h->u.weakdef->root.type == bfd_link_hash_defweak);
   1.931 -+      h->root.u.def.section = h->u.weakdef->root.u.def.section;
   1.932 -+      h->root.u.def.value = h->u.weakdef->root.u.def.value;
   1.933 -+      return TRUE;
   1.934 -+    }
   1.935 -+
   1.936 -+  /* This is a reference to a symbol defined by a dynamic object which
   1.937 -+     is not a function.  */
   1.938 -+
   1.939 -+  return TRUE;
   1.940 -+}
   1.941 -+
   1.942 -+
   1.943 -+/* Garbage-collection of unused sections */
   1.944 -+
   1.945 -+static asection *
   1.946 -+avr32_elf_gc_mark_hook(asection *sec,
   1.947 -+		       struct bfd_link_info *info ATTRIBUTE_UNUSED,
   1.948 -+		       Elf_Internal_Rela *rel,
   1.949 -+		       struct elf_link_hash_entry *h,
   1.950 -+		       Elf_Internal_Sym *sym)
   1.951 -+{
   1.952 -+  if (h)
   1.953 -+    {
   1.954 -+      switch (ELF32_R_TYPE(rel->r_info))
   1.955 -+	{
   1.956 -+	  /* TODO: VTINHERIT/VTENTRY */
   1.957 -+	default:
   1.958 -+	  switch (h->root.type)
   1.959 -+	    {
   1.960 -+	    case bfd_link_hash_defined:
   1.961 -+	    case bfd_link_hash_defweak:
   1.962 -+	      return h->root.u.def.section;
   1.963 -+
   1.964 -+	    case bfd_link_hash_common:
   1.965 -+	      return h->root.u.c.p->section;
   1.966 -+
   1.967 -+	    default:
   1.968 -+	      break;
   1.969 -+	    }
   1.970 -+	}
   1.971 -+    }
   1.972 -+  else
   1.973 -+    return bfd_section_from_elf_index(sec->owner, sym->st_shndx);
   1.974 -+
   1.975 -+  return NULL;
   1.976 -+}
   1.977 -+
   1.978 -+/* Update the GOT entry reference counts for the section being removed. */
   1.979 -+static bfd_boolean
   1.980 -+avr32_elf_gc_sweep_hook(bfd *abfd,
   1.981 -+			struct bfd_link_info *info ATTRIBUTE_UNUSED,
   1.982 -+			asection *sec,
   1.983 -+			const Elf_Internal_Rela *relocs)
   1.984 -+{
   1.985 -+  Elf_Internal_Shdr *symtab_hdr;
   1.986 -+  struct elf_avr32_link_hash_entry **sym_hashes;
   1.987 -+  struct got_entry **local_got_ents;
   1.988 -+  const Elf_Internal_Rela *rel, *relend;
   1.989 -+
   1.990 -+  if (!(sec->flags & SEC_ALLOC))
   1.991 -+    return TRUE;
   1.992 -+
   1.993 -+  symtab_hdr = &elf_tdata(abfd)->symtab_hdr;
   1.994 -+  sym_hashes = (struct elf_avr32_link_hash_entry **)elf_sym_hashes(abfd);
   1.995 -+  local_got_ents = elf_local_got_ents(abfd);
   1.996 -+
   1.997 -+  relend = relocs + sec->reloc_count;
   1.998 -+  for (rel = relocs; rel < relend; rel++)
   1.999 -+    {
  1.1000 -+      unsigned long r_symndx;
  1.1001 -+      unsigned int r_type;
  1.1002 -+      struct elf_avr32_link_hash_entry *h = NULL;
  1.1003 -+
  1.1004 -+      r_symndx = ELF32_R_SYM(rel->r_info);
  1.1005 -+      if (r_symndx >= symtab_hdr->sh_info)
  1.1006 -+	{
  1.1007 -+	  h = sym_hashes[r_symndx - symtab_hdr->sh_info];
  1.1008 -+	  while (h->root.root.type == bfd_link_hash_indirect
  1.1009 -+		 || h->root.root.type == bfd_link_hash_warning)
  1.1010 -+	    h = (struct elf_avr32_link_hash_entry *)h->root.root.u.i.link;
  1.1011 -+	}
  1.1012 -+
  1.1013 -+      r_type = ELF32_R_TYPE(rel->r_info);
  1.1014 -+
  1.1015 -+      switch (r_type)
  1.1016 -+	{
  1.1017 -+	case R_AVR32_GOT32:
  1.1018 -+	case R_AVR32_GOT16:
  1.1019 -+	case R_AVR32_GOT8:
  1.1020 -+	case R_AVR32_GOT21S:
  1.1021 -+	case R_AVR32_GOT18SW:
  1.1022 -+	case R_AVR32_GOT16S:
  1.1023 -+	case R_AVR32_GOT7UW:
  1.1024 -+	case R_AVR32_LDA_GOT:
  1.1025 -+	case R_AVR32_GOTCALL:
  1.1026 -+	  if (h)
  1.1027 -+	    h->root.got.glist->refcount--;
  1.1028 -+	  else
  1.1029 -+	    local_got_ents[r_symndx]->refcount--;
  1.1030 -+	  break;
  1.1031 -+
  1.1032 -+	case R_AVR32_32:
  1.1033 -+	  if (info->shared || h)
  1.1034 -+	    {
  1.1035 -+	      if (h)
  1.1036 -+		h->possibly_dynamic_relocs--;
  1.1037 -+	      else
  1.1038 -+		avr32_elf_hash_table(info)->local_dynamic_relocs--;
  1.1039 -+	    }
  1.1040 -+
  1.1041 -+	default:
  1.1042 -+	  break;
  1.1043 -+	}
  1.1044 -+    }
  1.1045 -+
  1.1046 -+  return TRUE;
  1.1047 -+}
  1.1048 -+
  1.1049 -+/* Sizing and refcounting of dynamic sections */
  1.1050 -+
  1.1051 -+static void
  1.1052 -+insert_got_entry(struct elf_avr32_link_hash_table *htab, struct got_entry *got);
  1.1053 -+static void
  1.1054 -+unref_got_entry(struct elf_avr32_link_hash_table *htab, struct got_entry *got);
  1.1055 -+static void
  1.1056 -+ref_got_entry(struct elf_avr32_link_hash_table *htab, struct got_entry *got);
  1.1057 -+static bfd_boolean
  1.1058 -+assign_got_offsets(struct elf_avr32_link_hash_table *htab);
  1.1059 -+static bfd_boolean
  1.1060 -+allocate_dynrelocs(struct elf_link_hash_entry *h, void *_info);
  1.1061 -+static bfd_boolean
  1.1062 -+avr32_elf_size_dynamic_sections (bfd *output_bfd,
  1.1063 -+				 struct bfd_link_info *info);
  1.1064 -+
  1.1065 -+static void
  1.1066 -+insert_got_entry(struct elf_avr32_link_hash_table *htab, struct got_entry *got)
  1.1067 -+{
  1.1068 -+  /* Any entries with got_refcount > htab->nr_got_holes end up in the
  1.1069 -+   * last pigeonhole without any sorting. We expect the number of such
  1.1070 -+   * entries to be small, so it is very unlikely to affect
  1.1071 -+   * performance.  */
  1.1072 -+  int entry = got->refcount;
  1.1073 -+
  1.1074 -+  if (entry > htab->nr_got_holes)
  1.1075 -+    entry = htab->nr_got_holes;
  1.1076 -+
  1.1077 -+  got->pprev = &htab->got_hole[entry];
  1.1078 -+  got->next = htab->got_hole[entry];
  1.1079 -+
  1.1080 -+  if (got->next)
  1.1081 -+    got->next->pprev = &got->next;
  1.1082 -+
  1.1083 -+  htab->got_hole[entry] = got;
  1.1084 -+}
  1.1085 -+
  1.1086 -+/* Decrement the refcount of a GOT entry and update its position in
  1.1087 -+   the pigeonhole array.  */
  1.1088 -+static void
  1.1089 -+unref_got_entry(struct elf_avr32_link_hash_table *htab, struct got_entry *got)
  1.1090 -+{
  1.1091 -+  BFD_ASSERT(got->refcount > 0);
  1.1092 -+
  1.1093 -+  if (got->next)
  1.1094 -+    got->next->pprev = got->pprev;
  1.1095 -+
  1.1096 -+  *(got->pprev) = got->next;
  1.1097 -+  got->refcount--;
  1.1098 -+  insert_got_entry(htab, got);
  1.1099 -+}
  1.1100 -+
  1.1101 -+static void
  1.1102 -+ref_got_entry(struct elf_avr32_link_hash_table *htab, struct got_entry *got)
  1.1103 -+{
  1.1104 -+  if (got->next)
  1.1105 -+    got->next->pprev = got->pprev;
  1.1106 -+
  1.1107 -+  *(got->pprev) = got->next;
  1.1108 -+  got->refcount++;
  1.1109 -+  insert_got_entry(htab, got);
  1.1110 -+
  1.1111 -+  BFD_ASSERT(got->refcount > 0);
  1.1112 -+}
  1.1113 -+
  1.1114 -+/* Assign offsets to all GOT entries we intend to keep.  The entries
  1.1115 -+   that are referenced most often are placed at low offsets so that we
  1.1116 -+   can use compact instructions as much as possible.
  1.1117 -+
  1.1118 -+   Returns TRUE if any offsets or the total size of the GOT changed.  */
  1.1119 -+
  1.1120 -+static bfd_boolean
  1.1121 -+assign_got_offsets(struct elf_avr32_link_hash_table *htab)
  1.1122 -+{
  1.1123 -+  struct got_entry *got;
  1.1124 -+  bfd_size_type got_size = 0;
  1.1125 -+  bfd_boolean changed = FALSE;
  1.1126 -+  bfd_signed_vma offset;
  1.1127 -+  int i;
  1.1128 -+
  1.1129 -+  /* The GOT header provides the address of the DYNAMIC segment, so
  1.1130 -+     we need that even if the GOT is otherwise empty.  */
  1.1131 -+  if (htab->root.dynamic_sections_created)
  1.1132 -+    got_size = AVR32_GOT_HEADER_SIZE;
  1.1133 -+
  1.1134 -+  for (i = htab->nr_got_holes; i > 0; i--)
  1.1135 -+    {
  1.1136 -+      got = htab->got_hole[i];
  1.1137 -+      while (got)
  1.1138 -+	{
  1.1139 -+	  if (got->refcount > 0)
  1.1140 -+	    {
  1.1141 -+	      offset = got_size;
  1.1142 -+	      if (got->offset != offset)
  1.1143 -+		{
  1.1144 -+		  RDBG("GOT offset changed: %ld -> %ld\n",
  1.1145 -+		       got->offset, offset);
  1.1146 -+		  changed = TRUE;
  1.1147 -+		}
  1.1148 -+	      got->offset = offset;
  1.1149 -+	      got_size += 4;
  1.1150 -+	    }
  1.1151 -+	  got = got->next;
  1.1152 -+	}
  1.1153 -+    }
  1.1154 -+
  1.1155 -+  if (htab->sgot->size != got_size)
  1.1156 -+    {
  1.1157 -+      RDBG("GOT size changed: %lu -> %lu\n", htab->sgot->size,
  1.1158 -+	   got_size);
  1.1159 -+      changed = TRUE;
  1.1160 -+    }
  1.1161 -+  htab->sgot->size = got_size;
  1.1162 -+
  1.1163 -+  RDBG("assign_got_offsets: total size %lu (%s)\n",
  1.1164 -+       got_size, changed ? "changed" : "no change");
  1.1165 -+
  1.1166 -+  return changed;
  1.1167 -+}
  1.1168 -+
  1.1169 -+static bfd_boolean
  1.1170 -+allocate_dynrelocs(struct elf_link_hash_entry *h, void *_info)
  1.1171 -+{
  1.1172 -+  struct bfd_link_info *info = _info;
  1.1173 -+  struct elf_avr32_link_hash_table *htab;
  1.1174 -+  struct elf_avr32_link_hash_entry *havr;
  1.1175 -+  struct got_entry *got;
  1.1176 -+
  1.1177 -+  pr_debug("  (4b) allocate_dynrelocs: %s\n", h->root.root.string);
  1.1178 -+
  1.1179 -+  if (h->root.type == bfd_link_hash_indirect)
  1.1180 -+    return TRUE;
  1.1181 -+
  1.1182 -+  if (h->root.type == bfd_link_hash_warning)
  1.1183 -+    /* When warning symbols are created, they **replace** the "real"
  1.1184 -+       entry in the hash table, thus we never get to see the real
  1.1185 -+       symbol in a hash traversal.  So look at it now.  */
  1.1186 -+    h = (struct elf_link_hash_entry *) h->root.u.i.link;
  1.1187 -+
  1.1188 -+  htab = avr32_elf_hash_table(info);
  1.1189 -+  havr = (struct elf_avr32_link_hash_entry *)h;
  1.1190 -+
  1.1191 -+  got = h->got.glist;
  1.1192 -+
  1.1193 -+  /* If got is NULL, the symbol is never referenced through the GOT */
  1.1194 -+  if (got && got->refcount > 0)
  1.1195 -+    {
  1.1196 -+      insert_got_entry(htab, got);
  1.1197 -+
  1.1198 -+      /* Shared libraries need relocs for all GOT entries unless the
  1.1199 -+	 symbol is forced local or -Bsymbolic is used.  Others need
  1.1200 -+	 relocs for everything that is not guaranteed to be defined in
  1.1201 -+	 a regular object.  */
  1.1202 -+      if ((info->shared
  1.1203 -+	   && !info->symbolic
  1.1204 -+	   && h->dynindx != -1)
  1.1205 -+	  || (htab->root.dynamic_sections_created
  1.1206 -+	      && h->def_dynamic
  1.1207 -+	      && !h->def_regular))
  1.1208 -+	htab->srelgot->size += sizeof(Elf32_External_Rela);
  1.1209 -+    }
  1.1210 -+
  1.1211 -+  if (havr->possibly_dynamic_relocs
  1.1212 -+      && (info->shared
  1.1213 -+	  || (elf_hash_table(info)->dynamic_sections_created
  1.1214 -+	      && h->def_dynamic
  1.1215 -+	      && !h->def_regular)))
  1.1216 -+    {
  1.1217 -+      pr_debug("Allocating %d dynamic reloc against symbol %s...\n",
  1.1218 -+	       havr->possibly_dynamic_relocs, h->root.root.string);
  1.1219 -+      htab->srelgot->size += (havr->possibly_dynamic_relocs
  1.1220 -+			      * sizeof(Elf32_External_Rela));
  1.1221 -+    }
  1.1222 -+
  1.1223 -+  return TRUE;
  1.1224 -+}
  1.1225 -+
  1.1226 -+/* (4) Calculate the sizes of the linker-generated sections and
  1.1227 -+   allocate memory for them.  */
  1.1228 -+
  1.1229 -+static bfd_boolean
  1.1230 -+avr32_elf_size_dynamic_sections (bfd *output_bfd,
  1.1231 -+				 struct bfd_link_info *info)
  1.1232 -+{
  1.1233 -+  struct elf_avr32_link_hash_table *htab;
  1.1234 -+  bfd *dynobj;
  1.1235 -+  asection *s;
  1.1236 -+  bfd *ibfd;
  1.1237 -+  bfd_boolean relocs;
  1.1238 -+
  1.1239 -+  pr_debug("(4) size dynamic sections\n");
  1.1240 -+
  1.1241 -+  htab = avr32_elf_hash_table(info);
  1.1242 -+  dynobj = htab->root.dynobj;
  1.1243 -+  BFD_ASSERT(dynobj != NULL);
  1.1244 -+
  1.1245 -+  if (htab->root.dynamic_sections_created)
  1.1246 -+    {
  1.1247 -+      /* Initialize the contents of the .interp section to the name of
  1.1248 -+	 the dynamic loader */
  1.1249 -+      if (info->executable)
  1.1250 -+	{
  1.1251 -+	  s = bfd_get_section_by_name(dynobj, ".interp");
  1.1252 -+	  BFD_ASSERT(s != NULL);
  1.1253 -+	  s->size = sizeof(ELF_DYNAMIC_INTERPRETER);
  1.1254 -+	  s->contents = (unsigned char *)ELF_DYNAMIC_INTERPRETER;
  1.1255 -+	}
  1.1256 -+    }
  1.1257 -+
  1.1258 -+  if (htab->nr_got_holes > 0)
  1.1259 -+    {
  1.1260 -+      /* Allocate holes for the pigeonhole sort algorithm */
  1.1261 -+      pr_debug("Highest GOT refcount: %d\n", htab->nr_got_holes);
  1.1262 -+
  1.1263 -+      /* Limit the memory usage by clipping the number of pigeonholes
  1.1264 -+       * at a predefined maximum. All entries with a higher refcount
  1.1265 -+       * will end up in the last pigeonhole.  */
  1.1266 -+    if (htab->nr_got_holes >= MAX_NR_GOT_HOLES)
  1.1267 -+    {
  1.1268 -+        htab->nr_got_holes = MAX_NR_GOT_HOLES - 1;
  1.1269 -+
  1.1270 -+        pr_debug("Limiting maximum number of GOT pigeonholes to %u\n",
  1.1271 -+                    htab->nr_got_holes);
  1.1272 -+    }
  1.1273 -+      htab->got_hole = bfd_zalloc(output_bfd,
  1.1274 -+				  sizeof(struct got_entry *)
  1.1275 -+				  * (htab->nr_got_holes + 1));
  1.1276 -+      if (!htab->got_hole)
  1.1277 -+	return FALSE;
  1.1278 -+
  1.1279 -+      /* Set up .got offsets for local syms.  */
  1.1280 -+      for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
  1.1281 -+	{
  1.1282 -+	  struct got_entry **local_got;
  1.1283 -+	  struct got_entry **end_local_got;
  1.1284 -+	  Elf_Internal_Shdr *symtab_hdr;
  1.1285 -+	  bfd_size_type locsymcount;
  1.1286 -+
  1.1287 -+	  pr_debug("  (4a) processing file %s...\n", ibfd->filename);
  1.1288 -+
  1.1289 -+	  BFD_ASSERT(bfd_get_flavour(ibfd) == bfd_target_elf_flavour);
  1.1290 -+
  1.1291 -+	  local_got = elf_local_got_ents(ibfd);
  1.1292 -+	  if (!local_got)
  1.1293 -+	    continue;
  1.1294 -+
  1.1295 -+	  symtab_hdr = &elf_tdata(ibfd)->symtab_hdr;
  1.1296 -+	  locsymcount = symtab_hdr->sh_info;
  1.1297 -+	  end_local_got = local_got + locsymcount;
  1.1298 -+
  1.1299 -+	  for (; local_got < end_local_got; ++local_got)
  1.1300 -+	    insert_got_entry(htab, *local_got);
  1.1301 -+	}
  1.1302 -+    }
  1.1303 -+
  1.1304 -+  /* Allocate global sym .got entries and space for global sym
  1.1305 -+     dynamic relocs */
  1.1306 -+  elf_link_hash_traverse(&htab->root, allocate_dynrelocs, info);
  1.1307 -+
  1.1308 -+  /* Now that we have sorted the GOT entries, we are ready to
  1.1309 -+     assign offsets and determine the initial size of the GOT. */
  1.1310 -+  if (htab->sgot)
  1.1311 -+    assign_got_offsets(htab);
  1.1312 -+
  1.1313 -+  /* Allocate space for local sym dynamic relocs */
  1.1314 -+  BFD_ASSERT(htab->local_dynamic_relocs == 0 || info->shared);
  1.1315 -+  if (htab->local_dynamic_relocs)
  1.1316 -+    htab->srelgot->size += (htab->local_dynamic_relocs
  1.1317 -+			    * sizeof(Elf32_External_Rela));
  1.1318 -+
  1.1319 -+  /* We now have determined the sizes of the various dynamic
  1.1320 -+     sections. Allocate memory for them. */
  1.1321 -+  relocs = FALSE;
  1.1322 -+  for (s = dynobj->sections; s; s = s->next)
  1.1323 -+    {
  1.1324 -+      if ((s->flags & SEC_LINKER_CREATED) == 0)
  1.1325 -+	continue;
  1.1326 -+
  1.1327 -+      if (s == htab->sgot
  1.1328 -+	  || s == htab->sstub)
  1.1329 -+	{
  1.1330 -+	  /* Strip this section if we don't need it */
  1.1331 -+	}
  1.1332 -+      else if (strncmp (bfd_get_section_name(dynobj, s), ".rela", 5) == 0)
  1.1333 -+	{
  1.1334 -+	  if (s->size != 0)
  1.1335 -+	    relocs = TRUE;
  1.1336 -+
  1.1337 -+	  s->reloc_count = 0;
  1.1338 -+	}
  1.1339 -+      else
  1.1340 -+	{
  1.1341 -+	  /* It's not one of our sections */
  1.1342 -+	  continue;
  1.1343 -+	}
  1.1344 -+
  1.1345 -+      if (s->size == 0)
  1.1346 -+	{
  1.1347 -+	  /* Strip unneeded sections */
  1.1348 -+	  pr_debug("Stripping section %s from output...\n", s->name);
  1.1349 -+	  /* deleted function in 2.17
  1.1350 -+      _bfd_strip_section_from_output(info, s);
  1.1351 -+      */
  1.1352 -+	  continue;
  1.1353 -+	}
  1.1354 -+
  1.1355 -+      s->contents = bfd_zalloc(dynobj, s->size);
  1.1356 -+      if (s->contents == NULL)
  1.1357 -+	return FALSE;
  1.1358 -+    }
  1.1359 -+
  1.1360 -+  if (htab->root.dynamic_sections_created)
  1.1361 -+    {
  1.1362 -+      /* Add some entries to the .dynamic section.  We fill in the
  1.1363 -+	 values later, in sh_elf_finish_dynamic_sections, but we
  1.1364 -+	 must add the entries now so that we get the correct size for
  1.1365 -+	 the .dynamic section.  The DT_DEBUG entry is filled in by the
  1.1366 -+	 dynamic linker and used by the debugger.  */
  1.1367 -+#define add_dynamic_entry(TAG, VAL) _bfd_elf_add_dynamic_entry(info, TAG, VAL)
  1.1368 -+
  1.1369 -+      if (!add_dynamic_entry(DT_PLTGOT, 0))
  1.1370 -+	return FALSE;
  1.1371 -+      if (!add_dynamic_entry(DT_AVR32_GOTSZ, 0))
  1.1372 -+	return FALSE;
  1.1373 -+
  1.1374 -+      if (info->executable)
  1.1375 -+	{
  1.1376 -+	  if (!add_dynamic_entry(DT_DEBUG, 0))
  1.1377 -+	    return FALSE;
  1.1378 -+	}
  1.1379 -+      if (relocs)
  1.1380 -+	{
  1.1381 -+	  if (!add_dynamic_entry(DT_RELA, 0)
  1.1382 -+	      || !add_dynamic_entry(DT_RELASZ, 0)
  1.1383 -+	      || !add_dynamic_entry(DT_RELAENT,
  1.1384 -+				    sizeof(Elf32_External_Rela)))
  1.1385 -+	    return FALSE;
  1.1386 -+	}
  1.1387 -+    }
  1.1388 -+#undef add_dynamic_entry
  1.1389 -+
  1.1390 -+  return TRUE;
  1.1391 -+}
  1.1392 -+
  1.1393 -+
  1.1394 -+/* Access to internal relocations, section contents and symbols.
  1.1395 -+   (stolen from the xtensa port)  */
  1.1396 -+
  1.1397 -+static Elf_Internal_Rela *
  1.1398 -+retrieve_internal_relocs (bfd *abfd, asection *sec, bfd_boolean keep_memory);
  1.1399 -+static void
  1.1400 -+pin_internal_relocs (asection *sec, Elf_Internal_Rela *internal_relocs);
  1.1401 -+static void
  1.1402 -+release_internal_relocs (asection *sec, Elf_Internal_Rela *internal_relocs);
  1.1403 -+static bfd_byte *
  1.1404 -+retrieve_contents (bfd *abfd, asection *sec, bfd_boolean keep_memory);
  1.1405 -+/*
  1.1406 -+static void
  1.1407 -+pin_contents (asection *sec, bfd_byte *contents);
  1.1408 -+*/
  1.1409 -+static void
  1.1410 -+release_contents (asection *sec, bfd_byte *contents);
  1.1411 -+static Elf_Internal_Sym *
  1.1412 -+retrieve_local_syms (bfd *input_bfd, bfd_boolean keep_memory);
  1.1413 -+/*
  1.1414 -+static void
  1.1415 -+pin_local_syms (bfd *input_bfd, Elf_Internal_Sym *isymbuf);
  1.1416 -+*/
  1.1417 -+static void
  1.1418 -+release_local_syms (bfd *input_bfd, Elf_Internal_Sym *isymbuf);
  1.1419 -+
  1.1420 -+/* During relaxation, we need to modify relocations, section contents,
  1.1421 -+   and symbol definitions, and we need to keep the original values from
  1.1422 -+   being reloaded from the input files, i.e., we need to "pin" the
  1.1423 -+   modified values in memory.  We also want to continue to observe the
  1.1424 -+   setting of the "keep-memory" flag.  The following functions wrap the
  1.1425 -+   standard BFD functions to take care of this for us.  */
  1.1426 -+
  1.1427 -+static Elf_Internal_Rela *
  1.1428 -+retrieve_internal_relocs (bfd *abfd, asection *sec, bfd_boolean keep_memory)
  1.1429 -+{
  1.1430 -+  /* _bfd_elf_link_read_relocs knows about caching, so no need for us
  1.1431 -+     to be clever here.  */
  1.1432 -+  return _bfd_elf_link_read_relocs(abfd, sec, NULL, NULL, keep_memory);
  1.1433 -+}
  1.1434 -+
  1.1435 -+static void
  1.1436 -+pin_internal_relocs (asection *sec, Elf_Internal_Rela *internal_relocs)
  1.1437 -+{
  1.1438 -+  elf_section_data (sec)->relocs = internal_relocs;
  1.1439 -+}
  1.1440 -+
  1.1441 -+static void
  1.1442 -+release_internal_relocs (asection *sec, Elf_Internal_Rela *internal_relocs)
  1.1443 -+{
  1.1444 -+  if (internal_relocs
  1.1445 -+      && elf_section_data (sec)->relocs != internal_relocs)
  1.1446 -+    free (internal_relocs);
  1.1447 -+}
  1.1448 -+
  1.1449 -+static bfd_byte *
  1.1450 -+retrieve_contents (bfd *abfd, asection *sec, bfd_boolean keep_memory)
  1.1451 -+{
  1.1452 -+  bfd_byte *contents;
  1.1453 -+  bfd_size_type sec_size;
  1.1454 -+
  1.1455 -+  sec_size = bfd_get_section_limit (abfd, sec);
  1.1456 -+  contents = elf_section_data (sec)->this_hdr.contents;
  1.1457 -+
  1.1458 -+  if (contents == NULL && sec_size != 0)
  1.1459 -+    {
  1.1460 -+      if (!bfd_malloc_and_get_section (abfd, sec, &contents))
  1.1461 -+	{
  1.1462 -+	  if (contents)
  1.1463 -+	    free (contents);
  1.1464 -+	  return NULL;
  1.1465 -+	}
  1.1466 -+      if (keep_memory)
  1.1467 -+	elf_section_data (sec)->this_hdr.contents = contents;
  1.1468 -+    }
  1.1469 -+  return contents;
  1.1470 -+}
  1.1471 -+
  1.1472 -+/*
  1.1473 -+static void
  1.1474 -+pin_contents (asection *sec, bfd_byte *contents)
  1.1475 -+{
  1.1476 -+  elf_section_data (sec)->this_hdr.contents = contents;
  1.1477 -+}
  1.1478 -+*/
  1.1479 -+static void
  1.1480 -+release_contents (asection *sec, bfd_byte *contents)
  1.1481 -+{
  1.1482 -+  if (contents && elf_section_data (sec)->this_hdr.contents != contents)
  1.1483 -+    free (contents);
  1.1484 -+}
  1.1485 -+
  1.1486 -+static Elf_Internal_Sym *
  1.1487 -+retrieve_local_syms (bfd *input_bfd, bfd_boolean keep_memory)
  1.1488 -+{
  1.1489 -+  Elf_Internal_Shdr *symtab_hdr;
  1.1490 -+  Elf_Internal_Sym *isymbuf;
  1.1491 -+  size_t locsymcount;
  1.1492 -+
  1.1493 -+  symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
  1.1494 -+  locsymcount = symtab_hdr->sh_info;
  1.1495 -+
  1.1496 -+  isymbuf = (Elf_Internal_Sym *) symtab_hdr->contents;
  1.1497 -+  if (isymbuf == NULL && locsymcount != 0)
  1.1498 -+    {
  1.1499 -+      isymbuf = bfd_elf_get_elf_syms (input_bfd, symtab_hdr, locsymcount, 0,
  1.1500 -+				      NULL, NULL, NULL);
  1.1501 -+      if (isymbuf && keep_memory)
  1.1502 -+	symtab_hdr->contents = (unsigned char *) isymbuf;
  1.1503 -+    }
  1.1504 -+
  1.1505 -+  return isymbuf;
  1.1506 -+}
  1.1507 -+
  1.1508 -+/*
  1.1509 -+static void
  1.1510 -+pin_local_syms (bfd *input_bfd, Elf_Internal_Sym *isymbuf)
  1.1511 -+{
  1.1512 -+  elf_tdata (input_bfd)->symtab_hdr.contents = (unsigned char *)isymbuf;
  1.1513 -+}
  1.1514 -+
  1.1515 -+*/
  1.1516 -+static void
  1.1517 -+release_local_syms (bfd *input_bfd, Elf_Internal_Sym *isymbuf)
  1.1518 -+{
  1.1519 -+  if (isymbuf && (elf_tdata (input_bfd)->symtab_hdr.contents
  1.1520 -+		  != (unsigned char *)isymbuf))
  1.1521 -+    free (isymbuf);
  1.1522 -+}
  1.1523 -+
  1.1524 -+/* Data structures used during relaxation. */
  1.1525 -+
  1.1526 -+enum relax_state_id {
  1.1527 -+  RS_ERROR = -1,
  1.1528 -+  RS_NONE = 0,
  1.1529 -+  RS_ALIGN,
  1.1530 -+  RS_CPENT,
  1.1531 -+  RS_PIC_CALL,
  1.1532 -+  RS_PIC_MCALL,
  1.1533 -+  RS_PIC_RCALL2,
  1.1534 -+  RS_PIC_RCALL1,
  1.1535 -+  RS_PIC_LDA,
  1.1536 -+  RS_PIC_LDW4,
  1.1537 -+  RS_PIC_LDW3,
  1.1538 -+  RS_PIC_SUB5,
  1.1539 -+  RS_NOPIC_MCALL,
  1.1540 -+  RS_NOPIC_RCALL2,
  1.1541 -+  RS_NOPIC_RCALL1,
  1.1542 -+  RS_NOPIC_LDW4,
  1.1543 -+  RS_NOPIC_LDDPC,
  1.1544 -+  RS_NOPIC_SUB5,
  1.1545 -+  RS_NOPIC_MOV2,
  1.1546 -+  RS_NOPIC_MOV1,
  1.1547 -+  RS_RCALL2,
  1.1548 -+  RS_RCALL1,
  1.1549 -+  RS_BRC2,
  1.1550 -+  RS_BRC1,
  1.1551 -+  RS_BRAL,
  1.1552 -+  RS_RJMP,
  1.1553 -+  RS_MAX,
  1.1554 -+};
  1.1555 -+
  1.1556 -+enum reference_type {
  1.1557 -+  REF_ABSOLUTE,
  1.1558 -+  REF_PCREL,
  1.1559 -+  REF_CPOOL,
  1.1560 -+  REF_GOT,
  1.1561 -+};
  1.1562 -+
  1.1563 -+struct relax_state
  1.1564 -+{
  1.1565 -+  const char *name;
  1.1566 -+  enum relax_state_id id;
  1.1567 -+  enum relax_state_id direct;
  1.1568 -+  enum relax_state_id next;
  1.1569 -+  enum relax_state_id prev;
  1.1570 -+
  1.1571 -+  enum reference_type reftype;
  1.1572 -+
  1.1573 -+  unsigned int r_type;
  1.1574 -+
  1.1575 -+  bfd_vma opcode;
  1.1576 -+  bfd_vma opcode_mask;
  1.1577 -+
  1.1578 -+  bfd_signed_vma range_min;
  1.1579 -+  bfd_signed_vma range_max;
  1.1580 -+
  1.1581 -+  bfd_size_type size;
  1.1582 -+};
  1.1583 -+
  1.1584 -+/*
  1.1585 -+ * This is for relocs that
  1.1586 -+ *   a) has an addend or is of type R_AVR32_DIFF32, and
  1.1587 -+ *   b) references a different section than it's in, and
  1.1588 -+ *   c) references a section that is relaxable
  1.1589 -+ *
  1.1590 -+ * as well as relocs that references the constant pool, in which case
  1.1591 -+ * the add_frag member points to the frag containing the constant pool
  1.1592 -+ * entry.
  1.1593 -+ *
  1.1594 -+ * Such relocs must be fixed up whenever we delete any code. Sections
  1.1595 -+ * that don't have any relocs with all of the above properties don't
  1.1596 -+ * have any additional reloc data, but sections that do will have
  1.1597 -+ * additional data for all its relocs.
  1.1598 -+ */
  1.1599 -+struct avr32_reloc_data
  1.1600 -+{
  1.1601 -+  struct fragment *add_frag;
  1.1602 -+  struct fragment *sub_frag;
  1.1603 -+};
  1.1604 -+
  1.1605 -+/*
  1.1606 -+ * A 'fragment' is a relaxable entity, that is, code may be added or
  1.1607 -+ * deleted at the end of a fragment. When this happens, all subsequent
  1.1608 -+ * fragments in the list will have their offsets updated.
  1.1609 -+ */
  1.1610 -+struct fragment
  1.1611 -+{
  1.1612 -+  enum relax_state_id state;
  1.1613 -+  enum relax_state_id initial_state;
  1.1614 -+
  1.1615 -+  Elf_Internal_Rela *rela;
  1.1616 -+  bfd_size_type size;
  1.1617 -+  bfd_vma offset;
  1.1618 -+  int size_adjust;
  1.1619 -+  int offset_adjust;
  1.1620 -+  bfd_boolean has_grown;
  1.1621 -+
  1.1622 -+  /* Only used by constant pool entries.  When this drops to zero, the
  1.1623 -+     frag is discarded (i.e. size_adjust is set to -4.)  */
  1.1624 -+  int refcount;
  1.1625 -+};
  1.1626 -+
  1.1627 -+struct avr32_relax_data
  1.1628 -+{
  1.1629 -+  unsigned int frag_count;
  1.1630 -+  struct fragment *frag;
  1.1631 -+  struct avr32_reloc_data *reloc_data;
  1.1632 -+
  1.1633 -+  /* TRUE if this section has one or more relaxable relocations */
  1.1634 -+  bfd_boolean is_relaxable;
  1.1635 -+  unsigned int iteration;
  1.1636 -+};
  1.1637 -+
  1.1638 -+struct avr32_section_data
  1.1639 -+{
  1.1640 -+  struct bfd_elf_section_data elf;
  1.1641 -+  struct avr32_relax_data relax_data;
  1.1642 -+};
  1.1643 -+
  1.1644 -+/* Relax state definitions */
  1.1645 -+
  1.1646 -+#define PIC_MOV2_OPCODE		0xe0600000
  1.1647 -+#define PIC_MOV2_MASK		0xe1e00000
  1.1648 -+#define PIC_MOV2_RANGE_MIN	(-1048576 * 4)
  1.1649 -+#define PIC_MOV2_RANGE_MAX	(1048575 * 4)
  1.1650 -+#define PIC_MCALL_OPCODE	0xf0160000
  1.1651 -+#define PIC_MCALL_MASK		0xffff0000
  1.1652 -+#define PIC_MCALL_RANGE_MIN	(-131072)
  1.1653 -+#define PIC_MCALL_RANGE_MAX	(131068)
  1.1654 -+#define RCALL2_OPCODE		0xe0a00000
  1.1655 -+#define RCALL2_MASK		0xe1ef0000
  1.1656 -+#define RCALL2_RANGE_MIN	(-2097152)
  1.1657 -+#define RCALL2_RANGE_MAX	(2097150)
  1.1658 -+#define RCALL1_OPCODE		0xc00c0000
  1.1659 -+#define RCALL1_MASK		0xf00c0000
  1.1660 -+#define RCALL1_RANGE_MIN	(-1024)
  1.1661 -+#define RCALL1_RANGE_MAX	(1022)
  1.1662 -+#define PIC_LDW4_OPCODE		0xecf00000
  1.1663 -+#define PIC_LDW4_MASK		0xfff00000
  1.1664 -+#define PIC_LDW4_RANGE_MIN	(-32768)
  1.1665 -+#define PIC_LDW4_RANGE_MAX	(32767)
  1.1666 -+#define PIC_LDW3_OPCODE		0x6c000000
  1.1667 -+#define PIC_LDW3_MASK		0xfe000000
  1.1668 -+#define PIC_LDW3_RANGE_MIN	(0)
  1.1669 -+#define PIC_LDW3_RANGE_MAX	(124)
  1.1670 -+#define SUB5_PC_OPCODE		0xfec00000
  1.1671 -+#define SUB5_PC_MASK		0xfff00000
  1.1672 -+#define SUB5_PC_RANGE_MIN	(-32768)
  1.1673 -+#define SUB5_PC_RANGE_MAX	(32767)
  1.1674 -+#define NOPIC_MCALL_OPCODE	0xf01f0000
  1.1675 -+#define NOPIC_MCALL_MASK	0xffff0000
  1.1676 -+#define NOPIC_MCALL_RANGE_MIN	PIC_MCALL_RANGE_MIN
  1.1677 -+#define NOPIC_MCALL_RANGE_MAX	PIC_MCALL_RANGE_MAX
  1.1678 -+#define NOPIC_LDW4_OPCODE	0xfef00000
  1.1679 -+#define NOPIC_LDW4_MASK		0xfff00000
  1.1680 -+#define NOPIC_LDW4_RANGE_MIN	PIC_LDW4_RANGE_MIN
  1.1681 -+#define NOPIC_LDW4_RANGE_MAX	PIC_LDW4_RANGE_MAX
  1.1682 -+#define LDDPC_OPCODE		0x48000000
  1.1683 -+#define LDDPC_MASK		0xf8000000
  1.1684 -+#define LDDPC_RANGE_MIN		0
  1.1685 -+#define LDDPC_RANGE_MAX		508
  1.1686 -+
  1.1687 -+#define NOPIC_MOV2_OPCODE  0xe0600000
  1.1688 -+#define NOPIC_MOV2_MASK        0xe1e00000
  1.1689 -+#define NOPIC_MOV2_RANGE_MIN   (-1048576)
  1.1690 -+#define NOPIC_MOV2_RANGE_MAX   (1048575)
  1.1691 -+#define NOPIC_MOV1_OPCODE  0x30000000
  1.1692 -+#define NOPIC_MOV1_MASK        0xf0000000
  1.1693 -+#define NOPIC_MOV1_RANGE_MIN   (-128)
  1.1694 -+#define NOPIC_MOV1_RANGE_MAX   (127)
  1.1695 -+
  1.1696 -+/* Only brc2 variants with cond[3] == 0 is considered, since the
  1.1697 -+   others are not relaxable.  bral is a special case and is handled
  1.1698 -+   separately.  */
  1.1699 -+#define BRC2_OPCODE		0xe0800000
  1.1700 -+#define BRC2_MASK		0xe1e80000
  1.1701 -+#define BRC2_RANGE_MIN		(-2097152)
  1.1702 -+#define BRC2_RANGE_MAX		(2097150)
  1.1703 -+#define BRC1_OPCODE		0xc0000000
  1.1704 -+#define BRC1_MASK		0xf0080000
  1.1705 -+#define BRC1_RANGE_MIN		(-256)
  1.1706 -+#define BRC1_RANGE_MAX		(254)
  1.1707 -+#define BRAL_OPCODE		0xe08f0000
  1.1708 -+#define BRAL_MASK		0xe1ef0000
  1.1709 -+#define BRAL_RANGE_MIN		BRC2_RANGE_MIN
  1.1710 -+#define BRAL_RANGE_MAX		BRC2_RANGE_MAX
  1.1711 -+#define RJMP_OPCODE		0xc0080000
  1.1712 -+#define RJMP_MASK		0xf00c0000
  1.1713 -+#define RJMP_RANGE_MIN		(-1024)
  1.1714 -+#define RJMP_RANGE_MAX		(1022)
  1.1715 -+
  1.1716 -+/* Define a relax state using the GOT  */
  1.1717 -+#define RG(id, dir, next, prev, r_type, opc, size)			\
  1.1718 -+  { "RS_"#id, RS_##id, RS_##dir, RS_##next, RS_##prev, REF_GOT,		\
  1.1719 -+      R_AVR32_##r_type,	opc##_OPCODE, opc##_MASK,			\
  1.1720 -+      opc##_RANGE_MIN, opc##_RANGE_MAX, size }
  1.1721 -+/* Define a relax state using the Constant Pool  */
  1.1722 -+#define RC(id, dir, next, prev, r_type, opc, size)			\
  1.1723 -+  { "RS_"#id, RS_##id, RS_##dir, RS_##next, RS_##prev, REF_CPOOL,	\
  1.1724 -+      R_AVR32_##r_type,	opc##_OPCODE, opc##_MASK,			\
  1.1725 -+      opc##_RANGE_MIN, opc##_RANGE_MAX, size }
  1.1726 -+
  1.1727 -+/* Define a relax state using pc-relative direct reference  */
  1.1728 -+#define RP(id, dir, next, prev, r_type, opc, size)			\
  1.1729 -+  { "RS_"#id, RS_##id, RS_##dir, RS_##next, RS_##prev, REF_PCREL,	\
  1.1730 -+      R_AVR32_##r_type,	opc##_OPCODE, opc##_MASK,			\
  1.1731 -+      opc##_RANGE_MIN, opc##_RANGE_MAX, size }
  1.1732 -+
  1.1733 -+/* Define a relax state using non-pc-relative direct reference */
  1.1734 -+#define RD(id, dir, next, prev, r_type, opc, size)         \
  1.1735 -+  { "RS_"#id, RS_##id, RS_##dir, RS_##next, RS_##prev, REF_ABSOLUTE,   \
  1.1736 -+      R_AVR32_##r_type,    opc##_OPCODE, opc##_MASK,           \
  1.1737 -+      opc##_RANGE_MIN, opc##_RANGE_MAX, size }
  1.1738 -+
  1.1739 -+/* Define a relax state that will be handled specially  */
  1.1740 -+#define RS(id, r_type, size)						\
  1.1741 -+  { "RS_"#id, RS_##id, RS_NONE, RS_NONE, RS_NONE, REF_ABSOLUTE,		\
  1.1742 -+      R_AVR32_##r_type, 0, 0, 0, 0, size }
  1.1743 -+
  1.1744 -+const struct relax_state relax_state[RS_MAX] = {
  1.1745 -+  RS(NONE, NONE, 0),
  1.1746 -+  RS(ALIGN, ALIGN, 0),
  1.1747 -+  RS(CPENT, 32_CPENT, 4),
  1.1748 -+
  1.1749 -+  RG(PIC_CALL, PIC_RCALL1, PIC_MCALL, NONE, GOTCALL, PIC_MOV2, 10),
  1.1750 -+  RG(PIC_MCALL, PIC_RCALL1, NONE, PIC_CALL, GOT18SW, PIC_MCALL, 4),
  1.1751 -+  RP(PIC_RCALL2, NONE, PIC_RCALL1, PIC_MCALL, 22H_PCREL, RCALL2, 4),
  1.1752 -+  RP(PIC_RCALL1, NONE, NONE, PIC_RCALL2, 11H_PCREL, RCALL1, 2),
  1.1753 -+
  1.1754 -+  RG(PIC_LDA, PIC_SUB5, PIC_LDW4, NONE, LDA_GOT, PIC_MOV2, 8),
  1.1755 -+  RG(PIC_LDW4, PIC_SUB5, PIC_LDW3, PIC_LDA, GOT16S, PIC_LDW4, 4),
  1.1756 -+  RG(PIC_LDW3, PIC_SUB5, NONE, PIC_LDW4, GOT7UW, PIC_LDW3, 2),
  1.1757 -+  RP(PIC_SUB5, NONE, NONE, PIC_LDW3, 16N_PCREL, SUB5_PC, 4),
  1.1758 -+
  1.1759 -+  RC(NOPIC_MCALL, NOPIC_RCALL1, NONE, NONE, CPCALL, NOPIC_MCALL, 4),
  1.1760 -+  RP(NOPIC_RCALL2, NONE, NOPIC_RCALL1, NOPIC_MCALL, 22H_PCREL, RCALL2, 4),
  1.1761 -+  RP(NOPIC_RCALL1, NONE, NONE, NOPIC_RCALL2, 11H_PCREL, RCALL1, 2),
  1.1762 -+
  1.1763 -+  RC(NOPIC_LDW4, NOPIC_MOV1, NOPIC_LDDPC, NONE, 16_CP, NOPIC_LDW4, 4),
  1.1764 -+  RC(NOPIC_LDDPC, NOPIC_MOV1, NONE, NOPIC_LDW4, 9W_CP, LDDPC, 2),
  1.1765 -+  RP(NOPIC_SUB5, NOPIC_MOV1, NONE, NOPIC_LDDPC, 16N_PCREL, SUB5_PC, 4),
  1.1766 -+  RD(NOPIC_MOV2, NONE, NOPIC_MOV1, NOPIC_SUB5, 21S, NOPIC_MOV2, 4),
  1.1767 -+  RD(NOPIC_MOV1, NONE, NONE, NOPIC_MOV2, 8S, NOPIC_MOV1, 2),
  1.1768 -+
  1.1769 -+  RP(RCALL2, NONE, RCALL1, NONE, 22H_PCREL, RCALL2, 4),
  1.1770 -+  RP(RCALL1, NONE, NONE, RCALL2, 11H_PCREL, RCALL1, 2),
  1.1771 -+  RP(BRC2, NONE, BRC1, NONE, 22H_PCREL, BRC2, 4),
  1.1772 -+  RP(BRC1, NONE, NONE, BRC2, 9H_PCREL, BRC1, 2),
  1.1773 -+  RP(BRAL, NONE, RJMP, NONE, 22H_PCREL, BRAL, 4),
  1.1774 -+  RP(RJMP, NONE, NONE, BRAL, 11H_PCREL, RJMP, 2),
  1.1775 -+};
  1.1776 -+
  1.1777 -+static bfd_boolean
  1.1778 -+avr32_elf_new_section_hook(bfd *abfd, asection *sec)
  1.1779 -+{
  1.1780 -+  struct avr32_section_data *sdata;
  1.1781 -+
  1.1782 -+  sdata = bfd_zalloc(abfd, sizeof(struct avr32_section_data));
  1.1783 -+  if (!sdata)
  1.1784 -+    return FALSE;
  1.1785 -+
  1.1786 -+  sec->used_by_bfd = sdata;
  1.1787 -+  return _bfd_elf_new_section_hook(abfd, sec);
  1.1788 -+}
  1.1789 -+
  1.1790 -+static struct avr32_relax_data *
  1.1791 -+avr32_relax_data(asection *sec)
  1.1792 -+{
  1.1793 -+  struct avr32_section_data *sdata;
  1.1794 -+
  1.1795 -+  BFD_ASSERT(sec->used_by_bfd);
  1.1796 -+
  1.1797 -+  sdata = (struct avr32_section_data *)elf_section_data(sec);
  1.1798 -+  return &sdata->relax_data;
  1.1799 -+}
  1.1800 -+
  1.1801 -+/* Link-time relaxation */
  1.1802 -+
  1.1803 -+static bfd_boolean
  1.1804 -+avr32_elf_relax_section(bfd *abfd, asection *sec,
  1.1805 -+			struct bfd_link_info *info, bfd_boolean *again);
  1.1806 -+
  1.1807 -+enum relax_pass_id {
  1.1808 -+  RELAX_PASS_SIZE_FRAGS,
  1.1809 -+  RELAX_PASS_MOVE_DATA,
  1.1810 -+};
  1.1811 -+
  1.1812 -+/* Stolen from the xtensa port */
  1.1813 -+static int
  1.1814 -+internal_reloc_compare (const void *ap, const void *bp)
  1.1815 -+{
  1.1816 -+  const Elf_Internal_Rela *a = (const Elf_Internal_Rela *) ap;
  1.1817 -+  const Elf_Internal_Rela *b = (const Elf_Internal_Rela *) bp;
  1.1818 -+
  1.1819 -+  if (a->r_offset != b->r_offset)
  1.1820 -+    return (a->r_offset - b->r_offset);
  1.1821 -+
  1.1822 -+  /* We don't need to sort on these criteria for correctness,
  1.1823 -+     but enforcing a more strict ordering prevents unstable qsort
  1.1824 -+     from behaving differently with different implementations.
  1.1825 -+     Without the code below we get correct but different results
  1.1826 -+     on Solaris 2.7 and 2.8.  We would like to always produce the
  1.1827 -+     same results no matter the host.  */
  1.1828 -+
  1.1829 -+  if (a->r_info != b->r_info)
  1.1830 -+    return (a->r_info - b->r_info);
  1.1831 -+
  1.1832 -+  return (a->r_addend - b->r_addend);
  1.1833 -+}
  1.1834 -+
  1.1835 -+static enum relax_state_id
  1.1836 -+get_pcrel22_relax_state(bfd *abfd, asection *sec, struct bfd_link_info *info,
  1.1837 -+			const Elf_Internal_Rela *rela)
  1.1838 -+{
  1.1839 -+  bfd_byte *contents;
  1.1840 -+  bfd_vma insn;
  1.1841 -+  enum relax_state_id rs = RS_NONE;
  1.1842 -+
  1.1843 -+  contents = retrieve_contents(abfd, sec, info->keep_memory);
  1.1844 -+  if (!contents)
  1.1845 -+    return RS_ERROR;
  1.1846 -+
  1.1847 -+  insn = bfd_get_32(abfd, contents + rela->r_offset);
  1.1848 -+  if ((insn & RCALL2_MASK) == RCALL2_OPCODE)
  1.1849 -+    rs = RS_RCALL2;
  1.1850 -+  else if ((insn & BRAL_MASK) == BRAL_OPCODE)
  1.1851 -+    /* Optimizing bral -> rjmp gets us into all kinds of
  1.1852 -+       trouble with jump tables. Better not do it.  */
  1.1853 -+    rs = RS_NONE;
  1.1854 -+  else if ((insn & BRC2_MASK) == BRC2_OPCODE)
  1.1855 -+    rs = RS_BRC2;
  1.1856 -+
  1.1857 -+  release_contents(sec, contents);
  1.1858 -+
  1.1859 -+  return rs;
  1.1860 -+}
  1.1861 -+
  1.1862 -+static enum relax_state_id
  1.1863 -+get_initial_relax_state(bfd *abfd, asection *sec, struct bfd_link_info *info,
  1.1864 -+			const Elf_Internal_Rela *rela)
  1.1865 -+{
  1.1866 -+  switch (ELF_R_TYPE(rela->r_info))
  1.1867 -+    {
  1.1868 -+    case R_AVR32_GOTCALL:
  1.1869 -+      return RS_PIC_CALL;
  1.1870 -+    case R_AVR32_GOT18SW:
  1.1871 -+      return RS_PIC_MCALL;
  1.1872 -+    case R_AVR32_LDA_GOT:
  1.1873 -+      return RS_PIC_LDA;
  1.1874 -+    case R_AVR32_GOT16S:
  1.1875 -+      return RS_PIC_LDW4;
  1.1876 -+    case R_AVR32_CPCALL:
  1.1877 -+      return RS_NOPIC_MCALL;
  1.1878 -+    case R_AVR32_16_CP:
  1.1879 -+      return RS_NOPIC_LDW4;
  1.1880 -+    case R_AVR32_9W_CP:
  1.1881 -+      return RS_NOPIC_LDDPC;
  1.1882 -+    case R_AVR32_ALIGN:
  1.1883 -+      return RS_ALIGN;
  1.1884 -+    case R_AVR32_32_CPENT:
  1.1885 -+      return RS_CPENT;
  1.1886 -+    case R_AVR32_22H_PCREL:
  1.1887 -+      return get_pcrel22_relax_state(abfd, sec, info, rela);
  1.1888 -+    case R_AVR32_9H_PCREL:
  1.1889 -+      return RS_BRC1;
  1.1890 -+    default:
  1.1891 -+      return RS_NONE;
  1.1892 -+    }
  1.1893 -+}
  1.1894 -+
  1.1895 -+static bfd_boolean
  1.1896 -+reloc_is_cpool_ref(const Elf_Internal_Rela *rela)
  1.1897 -+{
  1.1898 -+  switch (ELF_R_TYPE(rela->r_info))
  1.1899 -+    {
  1.1900 -+    case R_AVR32_CPCALL:
  1.1901 -+    case R_AVR32_16_CP:
  1.1902 -+    case R_AVR32_9W_CP:
  1.1903 -+      return TRUE;
  1.1904 -+    default:
  1.1905 -+      return FALSE;
  1.1906 -+    }
  1.1907 -+}
  1.1908 -+
  1.1909 -+static struct fragment *
  1.1910 -+new_frag(bfd *abfd ATTRIBUTE_UNUSED, asection *sec,
  1.1911 -+	 struct avr32_relax_data *rd, enum relax_state_id state,
  1.1912 -+	 Elf_Internal_Rela *rela)
  1.1913 -+{
  1.1914 -+  struct fragment *frag;
  1.1915 -+  bfd_size_type r_size;
  1.1916 -+  bfd_vma r_offset;
  1.1917 -+  unsigned int i = rd->frag_count;
  1.1918 -+
  1.1919 -+  BFD_ASSERT(state >= RS_NONE && state < RS_MAX);
  1.1920 -+
  1.1921 -+  rd->frag_count++;
  1.1922 -+  frag = bfd_realloc(rd->frag, sizeof(struct fragment) * rd->frag_count);
  1.1923 -+  if (!frag)
  1.1924 -+    return NULL;
  1.1925 -+  rd->frag = frag;
  1.1926 -+
  1.1927 -+  frag += i;
  1.1928 -+  memset(frag, 0, sizeof(struct fragment));
  1.1929 -+
  1.1930 -+  if (state == RS_ALIGN)
  1.1931 -+    r_size = (((rela->r_offset + (1 << rela->r_addend) - 1)
  1.1932 -+	       & ~((1 << rela->r_addend) - 1)) - rela->r_offset);
  1.1933 -+  else
  1.1934 -+    r_size = relax_state[state].size;
  1.1935 -+
  1.1936 -+  if (rela)
  1.1937 -+    r_offset = rela->r_offset;
  1.1938 -+  else
  1.1939 -+    r_offset = sec->size;
  1.1940 -+
  1.1941 -+  if (i == 0)
  1.1942 -+    {
  1.1943 -+      frag->offset = 0;
  1.1944 -+      frag->size = r_offset + r_size;
  1.1945 -+    }
  1.1946 -+  else
  1.1947 -+    {
  1.1948 -+      frag->offset = rd->frag[i - 1].offset + rd->frag[i - 1].size;
  1.1949 -+      frag->size = r_offset + r_size - frag->offset;
  1.1950 -+    }
  1.1951 -+
  1.1952 -+  if (state != RS_CPENT)
  1.1953 -+    /* Make sure we don't discard this frag */
  1.1954 -+    frag->refcount = 1;
  1.1955 -+
  1.1956 -+  frag->initial_state = frag->state = state;
  1.1957 -+  frag->rela = rela;
  1.1958 -+
  1.1959 -+  return frag;
  1.1960 -+}
  1.1961 -+
  1.1962 -+static struct fragment *
  1.1963 -+find_frag(asection *sec, bfd_vma offset)
  1.1964 -+{
  1.1965 -+  struct fragment *first, *last;
  1.1966 -+  struct avr32_relax_data *rd = avr32_relax_data(sec);
  1.1967 -+
  1.1968 -+  if (rd->frag_count == 0)
  1.1969 -+    return NULL;
  1.1970 -+
  1.1971 -+  first = &rd->frag[0];
  1.1972 -+  last = &rd->frag[rd->frag_count - 1];
  1.1973 -+
  1.1974 -+  /* This may be a reloc referencing the end of a section.  The last
  1.1975 -+     frag will never have a reloc associated with it, so its size will
  1.1976 -+     never change, thus the offset adjustment of the last frag will
  1.1977 -+     always be the same as the offset adjustment of the end of the
  1.1978 -+     section.  */
  1.1979 -+  if (offset == sec->size)
  1.1980 -+    {
  1.1981 -+      BFD_ASSERT(last->offset + last->size == sec->size);
  1.1982 -+      BFD_ASSERT(!last->rela);
  1.1983 -+      return last;
  1.1984 -+    }
  1.1985 -+
  1.1986 -+  while (first <= last)
  1.1987 -+    {
  1.1988 -+      struct fragment *mid;
  1.1989 -+
  1.1990 -+      mid = (last - first) / 2 + first;
  1.1991 -+      if ((mid->offset + mid->size) <= offset)
  1.1992 -+	first = mid + 1;
  1.1993 -+      else if (mid->offset > offset)
  1.1994 -+	last = mid - 1;
  1.1995 -+      else
  1.1996 -+	return mid;
  1.1997 -+    }
  1.1998 -+
  1.1999 -+  return NULL;
  1.2000 -+}
  1.2001 -+
  1.2002 -+/* Look through all relocs in a section and determine if any relocs
  1.2003 -+   may be affected by relaxation in other sections.  If so, allocate
  1.2004 -+   an array of additional relocation data which links the affected
  1.2005 -+   relocations to the frag(s) where the relaxation may occur.
  1.2006 -+
  1.2007 -+   This function also links cpool references to cpool entries and
  1.2008 -+   increments the refcount of the latter when this happens.  */
  1.2009 -+
  1.2010 -+static bfd_boolean
  1.2011 -+allocate_reloc_data(bfd *abfd, asection *sec, Elf_Internal_Rela *relocs,
  1.2012 -+		    struct bfd_link_info *info)
  1.2013 -+{
  1.2014 -+  Elf_Internal_Shdr *symtab_hdr;
  1.2015 -+  Elf_Internal_Sym *isymbuf = NULL;
  1.2016 -+  struct avr32_relax_data *rd;
  1.2017 -+  unsigned int i;
  1.2018 -+  bfd_boolean ret = FALSE;
  1.2019 -+
  1.2020 -+  symtab_hdr = &elf_tdata(abfd)->symtab_hdr;
  1.2021 -+  rd = avr32_relax_data(sec);
  1.2022 -+
  1.2023 -+  RDBG("%s<%s>: allocate_reloc_data\n", abfd->filename, sec->name);
  1.2024 -+
  1.2025 -+  for (i = 0; i < sec->reloc_count; i++)
  1.2026 -+    {
  1.2027 -+      Elf_Internal_Rela *rel = &relocs[i];
  1.2028 -+      asection *sym_sec;
  1.2029 -+      unsigned long r_symndx;
  1.2030 -+      bfd_vma sym_value;
  1.2031 -+
  1.2032 -+      if (!rel->r_addend && ELF_R_TYPE(rel->r_info) != R_AVR32_DIFF32
  1.2033 -+	  && !reloc_is_cpool_ref(rel))
  1.2034 -+	continue;
  1.2035 -+
  1.2036 -+      r_symndx = ELF_R_SYM(rel->r_info);
  1.2037 -+
  1.2038 -+      if (r_symndx < symtab_hdr->sh_info)
  1.2039 -+	{
  1.2040 -+	  Elf_Internal_Sym *isym;
  1.2041 -+
  1.2042 -+	  if (!isymbuf)
  1.2043 -+	    isymbuf = retrieve_local_syms(abfd, info->keep_memory);
  1.2044 -+	  if (!isymbuf)
  1.2045 -+	    return FALSE;
  1.2046 -+
  1.2047 -+	  isym = &isymbuf[r_symndx];
  1.2048 -+	  sym_sec = bfd_section_from_elf_index(abfd, isym->st_shndx);
  1.2049 -+	  sym_value = isym->st_value;
  1.2050 -+	}
  1.2051 -+      else
  1.2052 -+	{
  1.2053 -+	  struct elf_link_hash_entry *h;
  1.2054 -+
  1.2055 -+	  h = elf_sym_hashes(abfd)[r_symndx - symtab_hdr->sh_info];
  1.2056 -+
  1.2057 -+	  while (h->root.type == bfd_link_hash_indirect
  1.2058 -+		 || h->root.type == bfd_link_hash_warning)
  1.2059 -+	    h = (struct elf_link_hash_entry *)h->root.u.i.link;
  1.2060 -+
  1.2061 -+	  if (h->root.type != bfd_link_hash_defined
  1.2062 -+	      && h->root.type != bfd_link_hash_defweak)
  1.2063 -+	    continue;
  1.2064 -+
  1.2065 -+	  sym_sec = h->root.u.def.section;
  1.2066 -+	  sym_value = h->root.u.def.value;
  1.2067 -+	}
  1.2068 -+
  1.2069 -+      if (sym_sec && avr32_relax_data(sym_sec)->is_relaxable)
  1.2070 -+	{
  1.2071 -+	  bfd_size_type size;
  1.2072 -+	  struct fragment *frag;
  1.2073 -+
  1.2074 -+	  if (!rd->reloc_data)
  1.2075 -+	    {
  1.2076 -+	      size = sizeof(struct avr32_reloc_data) * sec->reloc_count;
  1.2077 -+	      rd->reloc_data = bfd_zalloc(abfd, size);
  1.2078 -+	      if (!rd->reloc_data)
  1.2079 -+		goto out;
  1.2080 -+	    }
  1.2081 -+
  1.2082 -+	  RDBG("[%3d] 0x%04lx: target: 0x%lx + 0x%lx",
  1.2083 -+	       i, rel->r_offset, sym_value, rel->r_addend);
  1.2084 -+
  1.2085 -+	  frag = find_frag(sym_sec, sym_value + rel->r_addend);
  1.2086 -+	  BFD_ASSERT(frag);
  1.2087 -+	  rd->reloc_data[i].add_frag = frag;
  1.2088 -+
  1.2089 -+	  RDBG(" -> %s<%s>:%04lx\n", sym_sec->owner->filename, sym_sec->name,
  1.2090 -+	       frag->rela ? frag->rela->r_offset : sym_sec->size);
  1.2091 -+
  1.2092 -+	  if (reloc_is_cpool_ref(rel))
  1.2093 -+	    {
  1.2094 -+	      BFD_ASSERT(ELF_R_TYPE(frag->rela->r_info) == R_AVR32_32_CPENT);
  1.2095 -+	      frag->refcount++;
  1.2096 -+	    }
  1.2097 -+
  1.2098 -+	  if (ELF_R_TYPE(rel->r_info) == R_AVR32_DIFF32)
  1.2099 -+	    {
  1.2100 -+	      bfd_byte *contents;
  1.2101 -+	      bfd_signed_vma diff;
  1.2102 -+
  1.2103 -+	      contents = retrieve_contents(abfd, sec, info->keep_memory);
  1.2104 -+	      if (!contents)
  1.2105 -+		goto out;
  1.2106 -+
  1.2107 -+	      diff = bfd_get_signed_32(abfd, contents + rel->r_offset);
  1.2108 -+	      frag = find_frag(sym_sec, sym_value + rel->r_addend + diff);
  1.2109 -+	      BFD_ASSERT(frag);
  1.2110 -+	      rd->reloc_data[i].sub_frag = frag;
  1.2111 -+
  1.2112 -+	      release_contents(sec, contents);
  1.2113 -+	    }
  1.2114 -+	}
  1.2115 -+    }
  1.2116 -+
  1.2117 -+  ret = TRUE;
  1.2118 -+
  1.2119 -+ out:
  1.2120 -+  release_local_syms(abfd, isymbuf);
  1.2121 -+  return ret;
  1.2122 -+}
  1.2123 -+
  1.2124 -+static bfd_boolean
  1.2125 -+global_sym_set_frag(struct elf_avr32_link_hash_entry *havr,
  1.2126 -+		    struct bfd_link_info *info ATTRIBUTE_UNUSED)
  1.2127 -+{
  1.2128 -+  struct fragment *frag;
  1.2129 -+  asection *sec;
  1.2130 -+
  1.2131 -+  if (havr->root.root.type != bfd_link_hash_defined
  1.2132 -+      && havr->root.root.type != bfd_link_hash_defweak)
  1.2133 -+    return TRUE;
  1.2134 -+
  1.2135 -+  sec = havr->root.root.u.def.section;
  1.2136 -+  if (bfd_is_const_section(sec)
  1.2137 -+      || !avr32_relax_data(sec)->is_relaxable)
  1.2138 -+    return TRUE;
  1.2139 -+
  1.2140 -+  frag = find_frag(sec, havr->root.root.u.def.value);
  1.2141 -+  if (!frag)
  1.2142 -+    {
  1.2143 -+      unsigned int i;
  1.2144 -+      struct avr32_relax_data *rd = avr32_relax_data(sec);
  1.2145 -+
  1.2146 -+      RDBG("In %s: No frag for %s <%s+%lu> (limit %lu)\n",
  1.2147 -+	   sec->owner->filename, havr->root.root.root.string,
  1.2148 -+	   sec->name, havr->root.root.u.def.value, sec->size);
  1.2149 -+      for (i = 0; i < rd->frag_count; i++)
  1.2150 -+	RDBG("    %8lu - %8lu\n", rd->frag[i].offset,
  1.2151 -+	     rd->frag[i].offset + rd->frag[i].size);
  1.2152 -+    }
  1.2153 -+  BFD_ASSERT(frag);
  1.2154 -+
  1.2155 -+  havr->sym_frag = frag;
  1.2156 -+  return TRUE;
  1.2157 -+}
  1.2158 -+
  1.2159 -+static bfd_boolean
  1.2160 -+analyze_relocations(struct bfd_link_info *info)
  1.2161 -+{
  1.2162 -+  bfd *abfd;
  1.2163 -+  asection *sec;
  1.2164 -+
  1.2165 -+  /* Divide all relaxable sections into fragments */
  1.2166 -+  for (abfd = info->input_bfds; abfd; abfd = abfd->link_next)
  1.2167 -+    {
  1.2168 -+      if (!(elf_elfheader(abfd)->e_flags & EF_AVR32_LINKRELAX))
  1.2169 -+	{
  1.2170 -+	  if (!(*info->callbacks->warning)
  1.2171 -+	      (info, _("input is not relaxable"), NULL, abfd, NULL, 0))
  1.2172 -+	    return FALSE;
  1.2173 -+	  continue;
  1.2174 -+	}
  1.2175 -+
  1.2176 -+      for (sec = abfd->sections; sec; sec = sec->next)
  1.2177 -+	{
  1.2178 -+	  struct avr32_relax_data *rd;
  1.2179 -+	  struct fragment *frag;
  1.2180 -+	  Elf_Internal_Rela *relocs;
  1.2181 -+	  unsigned int i;
  1.2182 -+	  bfd_boolean ret = TRUE;
  1.2183 -+
  1.2184 -+	  if (!(sec->flags & SEC_RELOC) || sec->reloc_count == 0)
  1.2185 -+	    continue;
  1.2186 -+
  1.2187 -+	  rd = avr32_relax_data(sec);
  1.2188 -+
  1.2189 -+	  relocs = retrieve_internal_relocs(abfd, sec, info->keep_memory);
  1.2190 -+	  if (!relocs)
  1.2191 -+	    return FALSE;
  1.2192 -+
  1.2193 -+	  qsort(relocs, sec->reloc_count, sizeof(Elf_Internal_Rela),
  1.2194 -+		internal_reloc_compare);
  1.2195 -+
  1.2196 -+	  for (i = 0; i < sec->reloc_count; i++)
  1.2197 -+	    {
  1.2198 -+	      enum relax_state_id state;
  1.2199 -+
  1.2200 -+	      ret = FALSE;
  1.2201 -+	      state = get_initial_relax_state(abfd, sec, info, &relocs[i]);
  1.2202 -+	      if (state == RS_ERROR)
  1.2203 -+		break;
  1.2204 -+
  1.2205 -+	      if (state)
  1.2206 -+		{
  1.2207 -+		  frag = new_frag(abfd, sec, rd, state, &relocs[i]);
  1.2208 -+		  if (!frag)
  1.2209 -+		    break;
  1.2210 -+
  1.2211 -+		  pin_internal_relocs(sec, relocs);
  1.2212 -+		  rd->is_relaxable = TRUE;
  1.2213 -+		}
  1.2214 -+
  1.2215 -+	      ret = TRUE;
  1.2216 -+	    }
  1.2217 -+
  1.2218 -+	  release_internal_relocs(sec, relocs);
  1.2219 -+	  if (!ret)
  1.2220 -+	    return ret;
  1.2221 -+
  1.2222 -+	  if (rd->is_relaxable)
  1.2223 -+	    {
  1.2224 -+	      frag = new_frag(abfd, sec, rd, RS_NONE, NULL);
  1.2225 -+	      if (!frag)
  1.2226 -+		return FALSE;
  1.2227 -+	    }
  1.2228 -+	}
  1.2229 -+    }
  1.2230 -+
  1.2231 -+  /* Link each global symbol to the fragment where it's defined.  */
  1.2232 -+  elf_link_hash_traverse(elf_hash_table(info), global_sym_set_frag, info);
  1.2233 -+
  1.2234 -+  /* Do the same for local symbols. */
  1.2235 -+  for (abfd = info->input_bfds; abfd; abfd = abfd->link_next)
  1.2236 -+    {
  1.2237 -+      Elf_Internal_Sym *isymbuf, *isym;
  1.2238 -+      struct fragment **local_sym_frag;
  1.2239 -+      unsigned int i, sym_count;
  1.2240 -+
  1.2241 -+      sym_count = elf_tdata(abfd)->symtab_hdr.sh_info;
  1.2242 -+      if (sym_count == 0)
  1.2243 -+	continue;
  1.2244 -+
  1.2245 -+      local_sym_frag = bfd_zalloc(abfd, sym_count * sizeof(struct fragment *));
  1.2246 -+      if (!local_sym_frag)
  1.2247 -+	return FALSE;
  1.2248 -+      elf_tdata(abfd)->local_sym_frag = local_sym_frag;
  1.2249 -+
  1.2250 -+      isymbuf = retrieve_local_syms(abfd, info->keep_memory);
  1.2251 -+      if (!isymbuf)
  1.2252 -+	return FALSE;
  1.2253 -+
  1.2254 -+      for (i = 0; i < sym_count; i++)
  1.2255 -+	{
  1.2256 -+	  struct avr32_relax_data *rd;
  1.2257 -+	  struct fragment *frag;
  1.2258 -+	  asection *sec;
  1.2259 -+
  1.2260 -+	  isym = &isymbuf[i];
  1.2261 -+
  1.2262 -+	  sec = bfd_section_from_elf_index(abfd, isym->st_shndx);
  1.2263 -+	  if (!sec)
  1.2264 -+	    continue;
  1.2265 -+
  1.2266 -+	  rd = avr32_relax_data(sec);
  1.2267 -+	  if (!rd->is_relaxable)
  1.2268 -+	    continue;
  1.2269 -+
  1.2270 -+	  frag = find_frag(sec, isym->st_value);
  1.2271 -+	  BFD_ASSERT(frag);
  1.2272 -+
  1.2273 -+	  local_sym_frag[i] = frag;
  1.2274 -+	}
  1.2275 -+
  1.2276 -+      release_local_syms(abfd, isymbuf);
  1.2277 -+    }
  1.2278 -+
  1.2279 -+  /* And again for relocs with addends and constant pool references */
  1.2280 -+  for (abfd = info->input_bfds; abfd; abfd = abfd->link_next)
  1.2281 -+    for (sec = abfd->sections; sec; sec = sec->next)
  1.2282 -+      {
  1.2283 -+	Elf_Internal_Rela *relocs;
  1.2284 -+	bfd_boolean ret;
  1.2285 -+
  1.2286 -+	if (!(sec->flags & SEC_RELOC) || sec->reloc_count == 0)
  1.2287 -+	  continue;
  1.2288 -+
  1.2289 -+	relocs = retrieve_internal_relocs(abfd, sec, info->keep_memory);
  1.2290 -+	if (!relocs)
  1.2291 -+	  return FALSE;
  1.2292 -+
  1.2293 -+	ret = allocate_reloc_data(abfd, sec, relocs, info);
  1.2294 -+
  1.2295 -+	release_internal_relocs(sec, relocs);
  1.2296 -+	if (ret == FALSE)
  1.2297 -+	  return ret;
  1.2298 -+      }
  1.2299 -+
  1.2300 -+  return TRUE;
  1.2301 -+}
  1.2302 -+
  1.2303 -+static bfd_boolean
  1.2304 -+rs_is_good_enough(const struct relax_state *rs, struct fragment *frag,
  1.2305 -+		  bfd_vma symval, bfd_vma addr, struct got_entry *got,
  1.2306 -+		  struct avr32_reloc_data *ind_data,
  1.2307 -+		  bfd_signed_vma offset_adjust)
  1.2308 -+{
  1.2309 -+  bfd_signed_vma target = 0;
  1.2310 -+
  1.2311 -+  switch (rs->reftype)
  1.2312 -+    {
  1.2313 -+    case REF_ABSOLUTE:
  1.2314 -+      target = symval;
  1.2315 -+      break;
  1.2316 -+    case REF_PCREL:
  1.2317 -+      target = symval - addr;
  1.2318 -+      break;
  1.2319 -+    case REF_CPOOL:
  1.2320 -+      /* cpool frags are always in the same section and always after
  1.2321 -+	 all frags referring to it.  So it's always correct to add in
  1.2322 -+	 offset_adjust here.  */
  1.2323 -+      target = (ind_data->add_frag->offset + ind_data->add_frag->offset_adjust
  1.2324 -+		+ offset_adjust - frag->offset - frag->offset_adjust);
  1.2325 -+      break;
  1.2326 -+    case REF_GOT:
  1.2327 -+      target = got->offset;
  1.2328 -+      break;
  1.2329 -+    default:
  1.2330 -+      abort();
  1.2331 -+    }
  1.2332 -+
  1.2333 -+  if (target >= rs->range_min && target <= rs->range_max)
  1.2334 -+    return TRUE;
  1.2335 -+  else
  1.2336 -+    return FALSE;
  1.2337 -+}
  1.2338 -+
  1.2339 -+static bfd_boolean
  1.2340 -+avr32_size_frags(bfd *abfd, asection *sec, struct bfd_link_info *info)
  1.2341 -+{
  1.2342 -+  struct elf_avr32_link_hash_table *htab;
  1.2343 -+  struct avr32_relax_data *rd;
  1.2344 -+  Elf_Internal_Shdr *symtab_hdr;
  1.2345 -+  Elf_Internal_Rela *relocs = NULL;
  1.2346 -+  Elf_Internal_Sym *isymbuf = NULL;
  1.2347 -+  struct got_entry **local_got_ents;
  1.2348 -+  struct fragment **local_sym_frag;
  1.2349 -+  bfd_boolean ret = FALSE;
  1.2350 -+  bfd_signed_vma delta = 0;
  1.2351 -+  unsigned int i;
  1.2352 -+
  1.2353 -+  htab = avr32_elf_hash_table(info);
  1.2354 -+  rd = avr32_relax_data(sec);
  1.2355 -+
  1.2356 -+  if (sec == htab->sgot)
  1.2357 -+    {
  1.2358 -+      RDBG("Relaxing GOT section (vma: 0x%lx)\n",
  1.2359 -+	   sec->output_section->vma + sec->output_offset);
  1.2360 -+      if (assign_got_offsets(htab))
  1.2361 -+	htab->repeat_pass = TRUE;
  1.2362 -+      return TRUE;
  1.2363 -+    }
  1.2364 -+
  1.2365 -+  if (!rd->is_relaxable)
  1.2366 -+    return TRUE;
  1.2367 -+
  1.2368 -+  if (!sec->rawsize)
  1.2369 -+    sec->rawsize = sec->size;
  1.2370 -+
  1.2371 -+  symtab_hdr = &elf_tdata(abfd)->symtab_hdr;
  1.2372 -+  relocs = retrieve_internal_relocs(abfd, sec, info->keep_memory);
  1.2373 -+  if (!relocs)
  1.2374 -+    goto out;
  1.2375 -+
  1.2376 -+  isymbuf = retrieve_local_syms(abfd, info->keep_memory);
  1.2377 -+  if (!isymbuf)
  1.2378 -+    goto out;
  1.2379 -+
  1.2380 -+  local_got_ents = elf_local_got_ents(abfd);
  1.2381 -+  local_sym_frag = elf_tdata(abfd)->local_sym_frag;
  1.2382 -+
  1.2383 -+  RDBG("size_frags: %s<%s>\n  vma: 0x%08lx, size: 0x%08lx\n",
  1.2384 -+       abfd->filename, sec->name,
  1.2385 -+       sec->output_section->vma + sec->output_offset, sec->size);
  1.2386 -+
  1.2387 -+  for (i = 0; i < rd->frag_count; i++)
  1.2388 -+    {
  1.2389 -+      struct fragment *frag = &rd->frag[i];
  1.2390 -+      struct avr32_reloc_data *r_data = NULL, *ind_data = NULL;
  1.2391 -+      const struct relax_state *state, *next_state;
  1.2392 -+      struct fragment *target_frag = NULL;
  1.2393 -+      asection *sym_sec = NULL;
  1.2394 -+      Elf_Internal_Rela *rela;
  1.2395 -+      struct got_entry *got;
  1.2396 -+      bfd_vma symval, r_offset, addend, addr;
  1.2397 -+      bfd_signed_vma size_adjust = 0, distance;
  1.2398 -+      unsigned long r_symndx;
  1.2399 -+      bfd_boolean defined = TRUE, dynamic = FALSE;
  1.2400 -+      unsigned char sym_type;
  1.2401 -+
  1.2402 -+      frag->offset_adjust += delta;
  1.2403 -+      state = next_state = &relax_state[frag->state];
  1.2404 -+      rela = frag->rela;
  1.2405 -+
  1.2406 -+      BFD_ASSERT(state->id == frag->state);
  1.2407 -+
  1.2408 -+      RDBG("  0x%04lx%c%d: %s [size %ld]", rela ? rela->r_offset : sec->rawsize,
  1.2409 -+	   (frag->offset_adjust < 0)?'-':'+',
  1.2410 -+	   abs(frag->offset_adjust), state->name, state->size);
  1.2411 -+
  1.2412 -+      if (!rela)
  1.2413 -+	{
  1.2414 -+	  RDBG(": no reloc, ignoring\n");
  1.2415 -+	  continue;
  1.2416 -+	}
  1.2417 -+
  1.2418 -+      BFD_ASSERT((unsigned int)(rela - relocs) < sec->reloc_count);
  1.2419 -+      BFD_ASSERT(state != RS_NONE);
  1.2420 -+
  1.2421 -+      r_offset = rela->r_offset + frag->offset_adjust;
  1.2422 -+      addr = sec->output_section->vma + sec->output_offset + r_offset;
  1.2423 -+
  1.2424 -+      switch (frag->state)
  1.2425 -+	{
  1.2426 -+	case RS_ALIGN:
  1.2427 -+	  size_adjust = ((addr + (1 << rela->r_addend) - 1)
  1.2428 -+			 & ~((1 << rela->r_addend) - 1));
  1.2429 -+	  size_adjust -= (sec->output_section->vma + sec->output_offset
  1.2430 -+			  + frag->offset + frag->offset_adjust
  1.2431 -+			  + frag->size + frag->size_adjust);
  1.2432 -+
  1.2433 -+	  RDBG(": adjusting size %lu -> %lu\n", frag->size + frag->size_adjust,
  1.2434 -+	       frag->size + frag->size_adjust + size_adjust);
  1.2435 -+	  break;
  1.2436 -+
  1.2437 -+	case RS_CPENT:
  1.2438 -+	  if (frag->refcount == 0 && frag->size_adjust == 0)
  1.2439 -+	    {
  1.2440 -+	      RDBG(": discarding frag\n");
  1.2441 -+	      size_adjust = -4;
  1.2442 -+	    }
  1.2443 -+	  else if (frag->refcount > 0 && frag->size_adjust < 0)
  1.2444 -+	    {
  1.2445 -+	      RDBG(": un-discarding frag\n");
  1.2446 -+	      size_adjust = 4;
  1.2447 -+	    }
  1.2448 -+	  break;
  1.2449 -+
  1.2450 -+	default:
  1.2451 -+	  if (rd->reloc_data)
  1.2452 -+	    r_data = &rd->reloc_data[frag->rela - relocs];
  1.2453 -+
  1.2454 -+	  /* If this is a cpool reference, we want the symbol that the
  1.2455 -+	     cpool entry refers to, not the symbol for the cpool entry
  1.2456 -+	     itself, as we already know what frag it's in.  */
  1.2457 -+	  if (relax_state[frag->initial_state].reftype == REF_CPOOL)
  1.2458 -+	    {
  1.2459 -+	      Elf_Internal_Rela *irela = r_data->add_frag->rela;
  1.2460 -+
  1.2461 -+	      r_symndx = ELF_R_SYM(irela->r_info);
  1.2462 -+	      addend = irela->r_addend;
  1.2463 -+
  1.2464 -+	      /* The constant pool must be in the same section as the
  1.2465 -+		 reloc referring to it.  */
  1.2466 -+	      BFD_ASSERT((unsigned long)(irela - relocs) < sec->reloc_count);
  1.2467 -+
  1.2468 -+	      ind_data = r_data;
  1.2469 -+	      r_data = &rd->reloc_data[irela - relocs];
  1.2470 -+	    }
  1.2471 -+	  else
  1.2472 -+	    {
  1.2473 -+	      r_symndx = ELF_R_SYM(rela->r_info);
  1.2474 -+	      addend = rela->r_addend;
  1.2475 -+	    }
  1.2476 -+
  1.2477 -+	  /* Get the value of the symbol referred to by the reloc.  */
  1.2478 -+	  if (r_symndx < symtab_hdr->sh_info)
  1.2479 -+	    {
  1.2480 -+	      Elf_Internal_Sym *isym;
  1.2481 -+
  1.2482 -+	      isym = isymbuf + r_symndx;
  1.2483 -+	      symval = 0;
  1.2484 -+
  1.2485 -+	      RDBG(" local sym %lu: ", r_symndx);
  1.2486 -+
  1.2487 -+	      if (isym->st_shndx == SHN_UNDEF)
  1.2488 -+		defined = FALSE;
  1.2489 -+	      else if (isym->st_shndx == SHN_ABS)
  1.2490 -+		sym_sec = bfd_abs_section_ptr;
  1.2491 -+	      else if (isym->st_shndx == SHN_COMMON)
  1.2492 -+		sym_sec = bfd_com_section_ptr;
  1.2493 -+	      else
  1.2494 -+		sym_sec = bfd_section_from_elf_index(abfd, isym->st_shndx);
  1.2495 -+
  1.2496 -+	      symval = isym->st_value;
  1.2497 -+	      sym_type = ELF_ST_TYPE(isym->st_info);
  1.2498 -+	      target_frag = local_sym_frag[r_symndx];
  1.2499 -+
  1.2500 -+	      if (local_got_ents)
  1.2501 -+		got = local_got_ents[r_symndx];
  1.2502 -+	      else
  1.2503 -+		got = NULL;
  1.2504 -+	    }
  1.2505 -+	  else
  1.2506 -+	    {
  1.2507 -+	      /* Global symbol */
  1.2508 -+	      unsigned long index;
  1.2509 -+	      struct elf_link_hash_entry *h;
  1.2510 -+	      struct elf_avr32_link_hash_entry *havr;
  1.2511 -+
  1.2512 -+	      index = r_symndx - symtab_hdr->sh_info;
  1.2513 -+	      h = elf_sym_hashes(abfd)[index];
  1.2514 -+	      BFD_ASSERT(h != NULL);
  1.2515 -+
  1.2516 -+	      while (h->root.type == bfd_link_hash_indirect
  1.2517 -+		     || h->root.type == bfd_link_hash_warning)
  1.2518 -+		h = (struct elf_link_hash_entry *)h->root.u.i.link;
  1.2519 -+
  1.2520 -+	      havr = (struct elf_avr32_link_hash_entry *)h;
  1.2521 -+	      got = h->got.glist;
  1.2522 -+
  1.2523 -+	      symval = 0;
  1.2524 -+
  1.2525 -+	      RDBG(" %s: ", h->root.root.string);
  1.2526 -+
  1.2527 -+	      if (h->root.type != bfd_link_hash_defined
  1.2528 -+		  && h->root.type != bfd_link_hash_defweak)
  1.2529 -+		{
  1.2530 -+		  RDBG("(undef)");
  1.2531 -+		  defined = FALSE;
  1.2532 -+		}
  1.2533 -+	      else if ((info->shared && !info->symbolic && h->dynindx != -1)
  1.2534 -+		       || (htab->root.dynamic_sections_created
  1.2535 -+			   && h->def_dynamic && !h->def_regular))
  1.2536 -+		{
  1.2537 -+		  RDBG("(dynamic)");
  1.2538 -+		  dynamic = TRUE;
  1.2539 -+		  sym_sec = h->root.u.def.section;
  1.2540 -+		}
  1.2541 -+	      else
  1.2542 -+		{
  1.2543 -+		  sym_sec = h->root.u.def.section;
  1.2544 -+		  symval = h->root.u.def.value;
  1.2545 -+		  target_frag = havr->sym_frag;
  1.2546 -+		}
  1.2547 -+
  1.2548 -+	      sym_type = h->type;
  1.2549 -+	    }
  1.2550 -+
  1.2551 -+	  /* Thanks to elf32-ppc for this one.  */
  1.2552 -+	  if (sym_sec && sym_sec->sec_info_type == ELF_INFO_TYPE_MERGE)
  1.2553 -+	    {
  1.2554 -+	      /* At this stage in linking, no SEC_MERGE symbol has been
  1.2555 -+		 adjusted, so all references to such symbols need to be
  1.2556 -+		 passed through _bfd_merged_section_offset.  (Later, in
  1.2557 -+		 relocate_section, all SEC_MERGE symbols *except* for
  1.2558 -+		 section symbols have been adjusted.)
  1.2559 -+
  1.2560 -+	         SEC_MERGE sections are not relaxed by us, as they
  1.2561 -+	         shouldn't contain any code.  */
  1.2562 -+
  1.2563 -+	      BFD_ASSERT(!target_frag && !(r_data && r_data->add_frag));
  1.2564 -+
  1.2565 -+	      /* gas may reduce relocations against symbols in SEC_MERGE
  1.2566 -+		 sections to a relocation against the section symbol when
  1.2567 -+		 the original addend was zero.  When the reloc is against
  1.2568 -+		 a section symbol we should include the addend in the
  1.2569 -+		 offset passed to _bfd_merged_section_offset, since the
  1.2570 -+		 location of interest is the original symbol.  On the
  1.2571 -+		 other hand, an access to "sym+addend" where "sym" is not
  1.2572 -+		 a section symbol should not include the addend;  Such an
  1.2573 -+		 access is presumed to be an offset from "sym";  The
  1.2574 -+		 location of interest is just "sym".  */
  1.2575 -+	      RDBG("\n    MERGE: %s: 0x%lx+0x%lx+0x%lx -> ",
  1.2576 -+		   (sym_type == STT_SECTION)?"section":"not section",
  1.2577 -+		   sym_sec->output_section->vma + sym_sec->output_offset,
  1.2578 -+		   symval, addend);
  1.2579 -+
  1.2580 -+	      if (sym_type == STT_SECTION)
  1.2581 -+		symval += addend;
  1.2582 -+
  1.2583 -+	      symval = (_bfd_merged_section_offset
  1.2584 -+			(abfd, &sym_sec,
  1.2585 -+			 elf_section_data(sym_sec)->sec_info, symval));
  1.2586 -+
  1.2587 -+	      if (sym_type != STT_SECTION)
  1.2588 -+		symval += addend;
  1.2589 -+	    }
  1.2590 -+	  else
  1.2591 -+	    symval += addend;
  1.2592 -+
  1.2593 -+	  if (defined && !dynamic)
  1.2594 -+	    {
  1.2595 -+	      RDBG("0x%lx+0x%lx",
  1.2596 -+		   sym_sec->output_section->vma + sym_sec->output_offset,
  1.2597 -+		   symval);
  1.2598 -+	      symval += sym_sec->output_section->vma + sym_sec->output_offset;
  1.2599 -+	    }
  1.2600 -+
  1.2601 -+	  if (r_data && r_data->add_frag)
  1.2602 -+	    /* If the add_frag pointer is set, it means that this reloc
  1.2603 -+	       has an addend that may be affected by relaxation.  */
  1.2604 -+	    target_frag = r_data->add_frag;
  1.2605 -+
  1.2606 -+	  if (target_frag)
  1.2607 -+	    {
  1.2608 -+	      symval += target_frag->offset_adjust;
  1.2609 -+
  1.2610 -+	      /* If target_frag comes after this frag in the same
  1.2611 -+		 section, we should assume that it will be moved by
  1.2612 -+		 the same amount we are.  */
  1.2613 -+	      if ((target_frag - rd->frag) < (int)rd->frag_count
  1.2614 -+		  && target_frag > frag)
  1.2615 -+		symval += delta;
  1.2616 -+	    }
  1.2617 -+
  1.2618 -+	  distance = symval - addr;
  1.2619 -+
  1.2620 -+	  /* First, try to make a direct reference.  If the symbol is
  1.2621 -+	     dynamic or undefined, we must take care not to change its
  1.2622 -+	     reference type, that is, we can't make it direct.
  1.2623 -+
  1.2624 -+	     Also, it seems like some sections may actually be resized
  1.2625 -+	     after the relaxation code is done, so we can't really
  1.2626 -+	     trust that our "distance" is correct.  There's really no
  1.2627 -+	     easy solution to this problem, so we'll just disallow
  1.2628 -+	     direct references to SEC_DATA sections.
  1.2629 -+
  1.2630 -+	     Oh, and .bss isn't actually SEC_DATA, so we disallow
  1.2631 -+	     !SEC_HAS_CONTENTS as well. */
  1.2632 -+	  if (!dynamic && defined
  1.2633 -+	      && (htab->direct_data_refs
  1.2634 -+		  || (!(sym_sec->flags & SEC_DATA)
  1.2635 -+		      && (sym_sec->flags & SEC_HAS_CONTENTS)))
  1.2636 -+	      && next_state->direct)
  1.2637 -+	    {
  1.2638 -+	      next_state = &relax_state[next_state->direct];
  1.2639 -+	      RDBG(" D-> %s", next_state->name);
  1.2640 -+	    }
  1.2641 -+
  1.2642 -+	  /* Iterate backwards until we find a state that fits.  */
  1.2643 -+	  while (next_state->prev
  1.2644 -+		 && !rs_is_good_enough(next_state, frag, symval, addr,
  1.2645 -+				       got, ind_data, delta))
  1.2646 -+	    {
  1.2647 -+	      next_state = &relax_state[next_state->prev];
  1.2648 -+	      RDBG(" P-> %s", next_state->name);
  1.2649 -+	    }
  1.2650 -+
  1.2651 -+	  /* Then try to find the best possible state.  */
  1.2652 -+	  while (next_state->next)
  1.2653 -+	    {
  1.2654 -+	      const struct relax_state *candidate;
  1.2655 -+
  1.2656 -+	      candidate = &relax_state[next_state->next];
  1.2657 -+	      if (!rs_is_good_enough(candidate, frag, symval, addr, got,
  1.2658 -+				     ind_data, delta))
  1.2659 -+		break;
  1.2660 -+
  1.2661 -+	      next_state = candidate;
  1.2662 -+	      RDBG(" N-> %s", next_state->name);
  1.2663 -+	    }
  1.2664 -+
  1.2665 -+	  RDBG(" [size %ld]\n", next_state->size);
  1.2666 -+
  1.2667 -+	  BFD_ASSERT(next_state->id);
  1.2668 -+	  BFD_ASSERT(!dynamic || next_state->reftype == REF_GOT);
  1.2669 -+
  1.2670 -+	  size_adjust = next_state->size - state->size;
  1.2671 -+
  1.2672 -+	  /* There's a theoretical possibility that shrinking one frag
  1.2673 -+	     may cause another to grow, which may cause the first one to
  1.2674 -+	     grow as well, and we're back where we started.  Avoid this
  1.2675 -+	     scenario by disallowing a frag that has grown to ever
  1.2676 -+	     shrink again.  */
  1.2677 -+	  if (state->reftype == REF_GOT && next_state->reftype != REF_GOT)
  1.2678 -+	    {
  1.2679 -+	      if (frag->has_grown)
  1.2680 -+		next_state = state;
  1.2681 -+	      else
  1.2682 -+		unref_got_entry(htab, got);
  1.2683 -+	    }
  1.2684 -+	  else if (state->reftype != REF_GOT && next_state->reftype == REF_GOT)
  1.2685 -+	    {
  1.2686 -+	      ref_got_entry(htab, got);
  1.2687 -+	      frag->has_grown = TRUE;
  1.2688 -+	    }
  1.2689 -+	  else if (state->reftype == REF_CPOOL
  1.2690 -+		   && next_state->reftype != REF_CPOOL)
  1.2691 -+	    {
  1.2692 -+	      if (frag->has_grown)
  1.2693 -+		next_state = state;
  1.2694 -+	      else
  1.2695 -+		ind_data->add_frag->refcount--;
  1.2696 -+	    }
  1.2697 -+	  else if (state->reftype != REF_CPOOL
  1.2698 -+		   && next_state->reftype == REF_CPOOL)
  1.2699 -+	    {
  1.2700 -+	      ind_data->add_frag->refcount++;
  1.2701 -+	      frag->has_grown = TRUE;
  1.2702 -+	    }
  1.2703 -+	  else
  1.2704 -+	    {
  1.2705 -+	      if (frag->has_grown && size_adjust < 0)
  1.2706 -+		next_state = state;
  1.2707 -+	      else if (size_adjust > 0)
  1.2708 -+		frag->has_grown = TRUE;
  1.2709 -+	    }
  1.2710 -+
  1.2711 -+	  size_adjust = next_state->size - state->size;
  1.2712 -+	  frag->state = next_state->id;
  1.2713 -+
  1.2714 -+	  break;
  1.2715 -+	}
  1.2716 -+
  1.2717 -+      if (size_adjust)
  1.2718 -+	htab->repeat_pass = TRUE;
  1.2719 -+
  1.2720 -+      frag->size_adjust += size_adjust;
  1.2721 -+      sec->size += size_adjust;
  1.2722 -+      delta += size_adjust;
  1.2723 -+
  1.2724 -+      BFD_ASSERT((frag->offset + frag->offset_adjust
  1.2725 -+		  + frag->size + frag->size_adjust)
  1.2726 -+		 == (frag[1].offset + frag[1].offset_adjust + delta));
  1.2727 -+    }
  1.2728 -+
  1.2729 -+  ret = TRUE;
  1.2730 -+
  1.2731 -+ out:
  1.2732 -+  release_local_syms(abfd, isymbuf);
  1.2733 -+  release_internal_relocs(sec, relocs);
  1.2734 -+  return ret;
  1.2735 -+}
  1.2736 -+
  1.2737 -+static bfd_boolean
  1.2738 -+adjust_global_symbol(struct elf_avr32_link_hash_entry *havr,
  1.2739 -+		     struct bfd_link_info *info ATTRIBUTE_UNUSED)
  1.2740 -+{
  1.2741 -+  struct elf_link_hash_entry *h = &havr->root;
  1.2742 -+
  1.2743 -+  if (havr->sym_frag && (h->root.type == bfd_link_hash_defined
  1.2744 -+			 || h->root.type == bfd_link_hash_defweak))
  1.2745 -+    {
  1.2746 -+      RDBG("adjust_global_symbol: %s 0x%08lx -> 0x%08lx\n",
  1.2747 -+	   h->root.root.string, h->root.u.def.value,
  1.2748 -+	   h->root.u.def.value + havr->sym_frag->offset_adjust);
  1.2749 -+      h->root.u.def.value += havr->sym_frag->offset_adjust;
  1.2750 -+    }
  1.2751 -+  return TRUE;
  1.2752 -+}
  1.2753 -+
  1.2754 -+static bfd_boolean
  1.2755 -+adjust_syms(struct bfd_link_info *info)
  1.2756 -+{
  1.2757 -+  struct elf_avr32_link_hash_table *htab;
  1.2758 -+  bfd *abfd;
  1.2759 -+
  1.2760 -+  htab = avr32_elf_hash_table(info);
  1.2761 -+  elf_link_hash_traverse(&htab->root, adjust_global_symbol, info);
  1.2762 -+
  1.2763 -+  for (abfd = info->input_bfds; abfd; abfd = abfd->link_next)
  1.2764 -+    {
  1.2765 -+      Elf_Internal_Sym *isymbuf;
  1.2766 -+      struct fragment **local_sym_frag, *frag;
  1.2767 -+      unsigned int i, sym_count;
  1.2768 -+
  1.2769 -+      sym_count = elf_tdata(abfd)->symtab_hdr.sh_info;
  1.2770 -+      if (sym_count == 0)
  1.2771 -+	continue;
  1.2772 -+
  1.2773 -+      isymbuf = retrieve_local_syms(abfd, info->keep_memory);
  1.2774 -+      if (!isymbuf)
  1.2775 -+	return FALSE;
  1.2776 -+
  1.2777 -+      local_sym_frag = elf_tdata(abfd)->local_sym_frag;
  1.2778 -+
  1.2779 -+      for (i = 0; i < sym_count; i++)
  1.2780 -+	{
  1.2781 -+	  frag = local_sym_frag[i];
  1.2782 -+	  if (frag)
  1.2783 -+	    {
  1.2784 -+	      RDBG("adjust_local_symbol: %s[%u] 0x%08lx -> 0x%08lx\n",
  1.2785 -+		   abfd->filename, i, isymbuf[i].st_value,
  1.2786 -+		   isymbuf[i].st_value + frag->offset_adjust);
  1.2787 -+	      isymbuf[i].st_value += frag->offset_adjust;
  1.2788 -+	    }
  1.2789 -+	}
  1.2790 -+
  1.2791 -+      release_local_syms(abfd, isymbuf);
  1.2792 -+    }
  1.2793 -+
  1.2794 -+  htab->symbols_adjusted = TRUE;
  1.2795 -+  return TRUE;
  1.2796 -+}
  1.2797 -+
  1.2798 -+static bfd_boolean
  1.2799 -+adjust_relocs(bfd *abfd, asection *sec, struct bfd_link_info *info)
  1.2800 -+{
  1.2801 -+  struct avr32_relax_data *rd;
  1.2802 -+  Elf_Internal_Rela *relocs;
  1.2803 -+  Elf_Internal_Shdr *symtab_hdr;
  1.2804 -+  unsigned int i;
  1.2805 -+  bfd_boolean ret = FALSE;
  1.2806 -+
  1.2807 -+  rd = avr32_relax_data(sec);
  1.2808 -+  if (!rd->reloc_data)
  1.2809 -+    return TRUE;
  1.2810 -+
  1.2811 -+  RDBG("adjust_relocs: %s<%s> (count: %u)\n", abfd->filename, sec->name,
  1.2812 -+       sec->reloc_count);
  1.2813 -+
  1.2814 -+  relocs = retrieve_internal_relocs(abfd, sec, info->keep_memory);
  1.2815 -+  if (!relocs)
  1.2816 -+    return FALSE;
  1.2817 -+
  1.2818 -+  symtab_hdr = &elf_tdata(abfd)->symtab_hdr;
  1.2819 -+
  1.2820 -+  for (i = 0; i < sec->reloc_count; i++)
  1.2821 -+    {
  1.2822 -+      Elf_Internal_Rela *rela = &relocs[i];
  1.2823 -+      struct avr32_reloc_data *r_data = &rd->reloc_data[i];
  1.2824 -+      struct fragment *sym_frag;
  1.2825 -+      unsigned long r_symndx;
  1.2826 -+
  1.2827 -+      if (r_data->add_frag)
  1.2828 -+	{
  1.2829 -+	  r_symndx = ELF_R_SYM(rela->r_info);
  1.2830 -+
  1.2831 -+	  if (r_symndx < symtab_hdr->sh_info)
  1.2832 -+	    sym_frag = elf_tdata(abfd)->local_sym_frag[r_symndx];
  1.2833 -+	  else
  1.2834 -+	    {
  1.2835 -+	      struct elf_link_hash_entry *h;
  1.2836 -+
  1.2837 -+	      h = elf_sym_hashes(abfd)[r_symndx - symtab_hdr->sh_info];
  1.2838 -+
  1.2839 -+	      while (h->root.type == bfd_link_hash_indirect
  1.2840 -+		     || h->root.type == bfd_link_hash_warning)
  1.2841 -+		h = (struct elf_link_hash_entry *)h->root.u.i.link;
  1.2842 -+
  1.2843 -+	      BFD_ASSERT(h->root.type == bfd_link_hash_defined
  1.2844 -+			 || h->root.type == bfd_link_hash_defweak);
  1.2845 -+
  1.2846 -+	      sym_frag = ((struct elf_avr32_link_hash_entry *)h)->sym_frag;
  1.2847 -+	    }
  1.2848 -+
  1.2849 -+	  RDBG("    addend: 0x%08lx -> 0x%08lx\n",
  1.2850 -+	       rela->r_addend,
  1.2851 -+	       rela->r_addend + r_data->add_frag->offset_adjust
  1.2852 -+	       - (sym_frag ? sym_frag->offset_adjust : 0));
  1.2853 -+
  1.2854 -+	  /* If this is against a section symbol, we won't find any
  1.2855 -+	     sym_frag, so we'll just adjust the addend.  */
  1.2856 -+	  rela->r_addend += r_data->add_frag->offset_adjust;
  1.2857 -+	  if (sym_frag)
  1.2858 -+	    rela->r_addend -= sym_frag->offset_adjust;
  1.2859 -+
  1.2860 -+	  if (r_data->sub_frag)
  1.2861 -+	    {
  1.2862 -+	      bfd_byte *contents;
  1.2863 -+	      bfd_signed_vma diff;
  1.2864 -+
  1.2865 -+	      contents = retrieve_contents(abfd, sec, info->keep_memory);
  1.2866 -+	      if (!contents)
  1.2867 -+		goto out;
  1.2868 -+
  1.2869 -+	      /* I realize now that sub_frag is misnamed.  It's
  1.2870 -+		 actually add_frag which is subtracted in this
  1.2871 -+		 case...  */
  1.2872 -+	      diff = bfd_get_signed_32(abfd, contents + rela->r_offset);
  1.2873 -+	      diff += (r_data->sub_frag->offset_adjust
  1.2874 -+		       - r_data->add_frag->offset_adjust);
  1.2875 -+	      bfd_put_32(abfd, diff, contents + rela->r_offset);
  1.2876 -+
  1.2877 -+	      RDBG("   0x%lx: DIFF32 updated: 0x%lx\n", rela->r_offset, diff);
  1.2878 -+
  1.2879 -+	      release_contents(sec, contents);
  1.2880 -+	    }
  1.2881 -+	}
  1.2882 -+      else
  1.2883 -+	BFD_ASSERT(!r_data->sub_frag);
  1.2884 -+    }
  1.2885 -+
  1.2886 -+  ret = TRUE;
  1.2887 -+
  1.2888 -+ out:
  1.2889 -+  release_internal_relocs(sec, relocs);
  1.2890 -+  return ret;
  1.2891 -+}
  1.2892 -+
  1.2893 -+static bfd_boolean
  1.2894 -+avr32_move_data(bfd *abfd, asection *sec, struct bfd_link_info *info)
  1.2895 -+{
  1.2896 -+  struct elf_avr32_link_hash_table *htab;
  1.2897 -+  struct avr32_relax_data *rd;
  1.2898 -+  struct fragment *frag, *fragend;
  1.2899 -+  Elf_Internal_Rela *relocs = NULL;
  1.2900 -+  bfd_byte *contents = NULL;
  1.2901 -+  unsigned int i;
  1.2902 -+  bfd_boolean ret = FALSE;
  1.2903 -+
  1.2904 -+  htab = avr32_elf_hash_table(info);
  1.2905 -+  rd = avr32_relax_data(sec);
  1.2906 -+
  1.2907 -+  if (!htab->symbols_adjusted)
  1.2908 -+    if (!adjust_syms(info))
  1.2909 -+      return FALSE;
  1.2910 -+
  1.2911 -+  if (rd->is_relaxable)
  1.2912 -+    {
  1.2913 -+      /* Resize the section first, so that we can be sure that enough
  1.2914 -+	 memory is allocated in case the section has grown.  */
  1.2915 -+      if (sec->size > sec->rawsize
  1.2916 -+	  && elf_section_data(sec)->this_hdr.contents)
  1.2917 -+	{
  1.2918 -+	  /* We must not use cached data if the section has grown.  */
  1.2919 -+	  free(elf_section_data(sec)->this_hdr.contents);
  1.2920 -+	  elf_section_data(sec)->this_hdr.contents = NULL;
  1.2921 -+	}
  1.2922 -+
  1.2923 -+      relocs = retrieve_internal_relocs(abfd, sec, info->keep_memory);
  1.2924 -+      if (!relocs)
  1.2925 -+	goto out;
  1.2926 -+      contents = retrieve_contents(abfd, sec, info->keep_memory);
  1.2927 -+      if (!contents)
  1.2928 -+	goto out;
  1.2929 -+
  1.2930 -+      fragend = rd->frag + rd->frag_count;
  1.2931 -+
  1.2932 -+      RDBG("move_data: %s<%s>: relocs=%p, contents=%p\n",
  1.2933 -+	   abfd->filename, sec->name, relocs, contents);
  1.2934 -+
  1.2935 -+      /* First, move the data into place. We must take care to move
  1.2936 -+	 frags in the right order so that we don't accidentally
  1.2937 -+	 overwrite parts of the next frag.  */
  1.2938 -+      for (frag = rd->frag; frag < fragend; frag++)
  1.2939 -+	{
  1.2940 -+	  RDBG("    0x%08lx%c0x%x: size 0x%lx%c0x%x\n",
  1.2941 -+	       frag->offset, frag->offset_adjust >= 0 ? '+' : '-',
  1.2942 -+	       abs(frag->offset_adjust),
  1.2943 -+	       frag->size, frag->size_adjust >= 0 ? '+' : '-',
  1.2944 -+	       abs(frag->size_adjust));
  1.2945 -+	  if (frag->offset_adjust > 0)
  1.2946 -+	    {
  1.2947 -+	      struct fragment *prev = frag - 1;
  1.2948 -+	      struct fragment *last;
  1.2949 -+
  1.2950 -+	      for (last = frag; last < fragend && last->offset_adjust > 0;
  1.2951 -+		   last++) ;
  1.2952 -+
  1.2953 -+	      if (last == fragend)
  1.2954 -+		last--;
  1.2955 -+
  1.2956 -+	      for (frag = last; frag != prev; frag--)
  1.2957 -+		{
  1.2958 -+		  if (frag->offset_adjust
  1.2959 -+		      && frag->size + frag->size_adjust > 0)
  1.2960 -+		    {
  1.2961 -+		      RDBG("memmove 0x%lx -> 0x%lx (size %lu)\n",
  1.2962 -+			   frag->offset, frag->offset + frag->offset_adjust,
  1.2963 -+			   frag->size + frag->size_adjust);
  1.2964 -+		      memmove(contents + frag->offset + frag->offset_adjust,
  1.2965 -+			      contents + frag->offset,
  1.2966 -+			      frag->size + frag->size_adjust);
  1.2967 -+		    }
  1.2968 -+		}
  1.2969 -+	      frag = last;
  1.2970 -+	    }
  1.2971 -+	  else if (frag->offset_adjust && frag->size + frag->size_adjust > 0)
  1.2972 -+	    {
  1.2973 -+	      RDBG("memmove 0x%lx -> 0x%lx (size %lu)\n",
  1.2974 -+		   frag->offset, frag->offset + frag->offset_adjust,
  1.2975 -+		   frag->size + frag->size_adjust);
  1.2976 -+	      memmove(contents + frag->offset + frag->offset_adjust,
  1.2977 -+		      contents + frag->offset,
  1.2978 -+		      frag->size + frag->size_adjust);
  1.2979 -+	    }
  1.2980 -+	}
  1.2981 -+
  1.2982 -+      i = 0;
  1.2983 -+
  1.2984 -+      for (frag = rd->frag; frag < fragend; frag++)
  1.2985 -+	{
  1.2986 -+	  const struct relax_state *state, *istate;
  1.2987 -+	  struct avr32_reloc_data *r_data = NULL;
  1.2988 -+
  1.2989 -+	  istate = &relax_state[frag->initial_state];
  1.2990 -+	  state = &relax_state[frag->state];
  1.2991 -+
  1.2992 -+	  if (rd->reloc_data)
  1.2993 -+	    r_data = &rd->reloc_data[frag->rela - relocs];
  1.2994 -+
  1.2995 -+	  BFD_ASSERT((long)(frag->size + frag->size_adjust) >= 0);
  1.2996 -+	  BFD_ASSERT(state->reftype != REF_CPOOL
  1.2997 -+		     || r_data->add_frag->refcount > 0);
  1.2998 -+
  1.2999 -+	  if (istate->reftype == REF_CPOOL && state->reftype != REF_CPOOL)
  1.3000 -+	    {
  1.3001 -+	      struct fragment *ifrag;
  1.3002 -+
  1.3003 -+	      /* An indirect reference through the cpool has been
  1.3004 -+		 converted to a direct reference.  We must update the
  1.3005 -+		 reloc to point to the symbol itself instead of the
  1.3006 -+		 constant pool entry.  The reloc type will be updated
  1.3007 -+		 later.  */
  1.3008 -+	      ifrag = r_data->add_frag;
  1.3009 -+	      frag->rela->r_info = ifrag->rela->r_info;
  1.3010 -+	      frag->rela->r_addend = ifrag->rela->r_addend;
  1.3011 -+
  1.3012 -+	      /* Copy the reloc data so the addend will be adjusted
  1.3013 -+		 correctly later.  */
  1.3014 -+	      *r_data = rd->reloc_data[ifrag->rela - relocs];
  1.3015 -+	    }
  1.3016 -+
  1.3017 -+	  /* Move all relocs covered by this frag.  */
  1.3018 -+	  if (frag->rela)
  1.3019 -+	    BFD_ASSERT(&relocs[i] <= frag->rela);
  1.3020 -+	  else
  1.3021 -+	    BFD_ASSERT((frag + 1) == fragend && frag->state == RS_NONE);
  1.3022 -+
  1.3023 -+	  if (frag == rd->frag)
  1.3024 -+	    BFD_ASSERT(i == 0);
  1.3025 -+	  else
  1.3026 -+	    BFD_ASSERT(&relocs[i] > frag[-1].rela);
  1.3027 -+
  1.3028 -+	  /* If non-null, frag->rela is the last relocation in the
  1.3029 -+	     fragment.  frag->rela can only be null in the last
  1.3030 -+	     fragment, so in that case, we'll just do the rest.  */
  1.3031 -+	  for (; (i < sec->reloc_count
  1.3032 -+		  && (!frag->rela || &relocs[i] <= frag->rela)); i++)
  1.3033 -+	    {
  1.3034 -+	      RDBG("[%4u] r_offset 0x%08lx -> 0x%08lx\n", i, relocs[i].r_offset,
  1.3035 -+		   relocs[i].r_offset + frag->offset_adjust);
  1.3036 -+	      relocs[i].r_offset += frag->offset_adjust;
  1.3037 -+	    }
  1.3038 -+
  1.3039 -+	  if (frag->refcount == 0)
  1.3040 -+	    {
  1.3041 -+	      /* If this frag is to be discarded, make sure we won't
  1.3042 -+		 relocate it later on.  */
  1.3043 -+	      BFD_ASSERT(frag->state == RS_CPENT);
  1.3044 -+	      frag->rela->r_info = ELF_R_INFO(ELF_R_SYM(frag->rela->r_info),
  1.3045 -+					    R_AVR32_NONE);
  1.3046 -+	    }
  1.3047 -+	  else if (frag->state == RS_ALIGN)
  1.3048 -+	    {
  1.3049 -+	      bfd_vma addr, addr_end;
  1.3050 -+
  1.3051 -+	      addr = frag->rela->r_offset;
  1.3052 -+	      addr_end = (frag->offset + frag->offset_adjust
  1.3053 -+			  + frag->size + frag->size_adjust);
  1.3054 -+
  1.3055 -+	      /* If the section is executable, insert NOPs.
  1.3056 -+		 Otherwise, insert zeroes.  */
  1.3057 -+	      if (sec->flags & SEC_CODE)
  1.3058 -+		{
  1.3059 -+		  if (addr & 1)
  1.3060 -+		    {
  1.3061 -+		      bfd_put_8(abfd, 0, contents + addr);
  1.3062 -+		      addr++;
  1.3063 -+		    }
  1.3064 -+
  1.3065 -+		  BFD_ASSERT(!((addr_end - addr) & 1));
  1.3066 -+
  1.3067 -+		  while (addr < addr_end)
  1.3068 -+		    {
  1.3069 -+		      bfd_put_16(abfd, NOP_OPCODE, contents + addr);
  1.3070 -+		      addr += 2;
  1.3071 -+		    }
  1.3072 -+		}
  1.3073 -+	      else
  1.3074 -+		memset(contents + addr, 0, addr_end - addr);
  1.3075 -+	    }
  1.3076 -+	  else if (state->opcode_mask)
  1.3077 -+	    {
  1.3078 -+	      bfd_vma insn;
  1.3079 -+
  1.3080 -+	      /* Update the opcode and the relocation type unless it's a
  1.3081 -+		 "special" relax state (i.e. RS_NONE, RS_ALIGN or
  1.3082 -+		 RS_CPENT.), in which case the opcode mask is zero.  */
  1.3083 -+	      insn = bfd_get_32(abfd, contents + frag->rela->r_offset);
  1.3084 -+	      insn &= ~state->opcode_mask;
  1.3085 -+	      insn |= state->opcode;
  1.3086 -+	      RDBG("    0x%lx: inserting insn %08lx\n",
  1.3087 -+		   frag->rela->r_offset, insn);
  1.3088 -+	      bfd_put_32(abfd, insn, contents + frag->rela->r_offset);
  1.3089 -+
  1.3090 -+	      frag->rela->r_info = ELF_R_INFO(ELF_R_SYM(frag->rela->r_info),
  1.3091 -+					      state->r_type);
  1.3092 -+	    }
  1.3093 -+
  1.3094 -+	  if ((frag + 1) == fragend)
  1.3095 -+	    BFD_ASSERT((frag->offset + frag->size + frag->offset_adjust
  1.3096 -+			+ frag->size_adjust) == sec->size);
  1.3097 -+	  else
  1.3098 -+	    BFD_ASSERT((frag->offset + frag->size + frag->offset_adjust
  1.3099 -+			+ frag->size_adjust)
  1.3100 -+		       == (frag[1].offset + frag[1].offset_adjust));
  1.3101 -+	}
  1.3102 -+    }
  1.3103 -+
  1.3104 -+  /* Adjust reloc addends and DIFF32 differences */
  1.3105 -+  if (!adjust_relocs(abfd, sec, info))
  1.3106 -+    return FALSE;
  1.3107 -+
  1.3108 -+  ret = TRUE;
  1.3109 -+
  1.3110 -+ out:
  1.3111 -+  release_contents(sec, contents);
  1.3112 -+  release_internal_relocs(sec, relocs);
  1.3113 -+  return ret;
  1.3114 -+}
  1.3115 -+
  1.3116 -+static bfd_boolean
  1.3117 -+avr32_elf_relax_section(bfd *abfd, asection *sec,
  1.3118 -+			struct bfd_link_info *info, bfd_boolean *again)
  1.3119 -+{
  1.3120 -+  struct elf_avr32_link_hash_table *htab;
  1.3121 -+  struct avr32_relax_data *rd;
  1.3122 -+
  1.3123 -+  *again = FALSE;
  1.3124 -+  if (info->relocatable)
  1.3125 -+    return TRUE;
  1.3126 -+
  1.3127 -+  htab = avr32_elf_hash_table(info);
  1.3128 -+  if ((!(sec->flags & SEC_RELOC) || sec->reloc_count == 0)
  1.3129 -+      && sec != htab->sgot)
  1.3130 -+    return TRUE;
  1.3131 -+
  1.3132 -+  if (!htab->relocations_analyzed)
  1.3133 -+    {
  1.3134 -+      if (!analyze_relocations(info))
  1.3135 -+	return FALSE;
  1.3136 -+      htab->relocations_analyzed = TRUE;
  1.3137 -+    }
  1.3138 -+
  1.3139 -+  rd = avr32_relax_data(sec);
  1.3140 -+
  1.3141 -+  if (rd->iteration != htab->relax_iteration)
  1.3142 -+    {
  1.3143 -+      if (!htab->repeat_pass)
  1.3144 -+	htab->relax_pass++;
  1.3145 -+      htab->relax_iteration++;
  1.3146 -+      htab->repeat_pass = FALSE;
  1.3147 -+    }
  1.3148 -+
  1.3149 -+  rd->iteration++;
  1.3150 -+
  1.3151 -+  switch (htab->relax_pass)
  1.3152 -+    {
  1.3153 -+    case RELAX_PASS_SIZE_FRAGS:
  1.3154 -+      if (!avr32_size_frags(abfd, sec, info))
  1.3155 -+	return FALSE;
  1.3156 -+      *again = TRUE;
  1.3157 -+      break;
  1.3158 -+    case RELAX_PASS_MOVE_DATA:
  1.3159 -+      if (!avr32_move_data(abfd, sec, info))
  1.3160 -+	return FALSE;
  1.3161 -+      break;
  1.3162 -+  }
  1.3163 -+
  1.3164 -+  return TRUE;
  1.3165 -+}
  1.3166 -+
  1.3167 -+
  1.3168 -+/* Relocation */
  1.3169 -+
  1.3170 -+static bfd_reloc_status_type
  1.3171 -+avr32_check_reloc_value(asection *sec, Elf_Internal_Rela *rela,
  1.3172 -+			bfd_signed_vma relocation, reloc_howto_type *howto);
  1.3173 -+static bfd_reloc_status_type
  1.3174 -+avr32_final_link_relocate(reloc_howto_type *howto, bfd *input_bfd,
  1.3175 -+			  asection *input_section, bfd_byte *contents,
  1.3176 -+			  Elf_Internal_Rela *rel, bfd_vma value);
  1.3177 -+static bfd_boolean
  1.3178 -+avr32_elf_relocate_section(bfd *output_bfd, struct bfd_link_info *info,
  1.3179 -+			   bfd *input_bfd, asection *input_section,
  1.3180 -+			   bfd_byte *contents, Elf_Internal_Rela *relocs,
  1.3181 -+			   Elf_Internal_Sym *local_syms,
  1.3182 -+			   asection **local_sections);
  1.3183 -+
  1.3184 -+
  1.3185 -+#define symbol_address(symbol) \
  1.3186 -+  symbol->value + symbol->section->output_section->vma \
  1.3187 -+  + symbol->section->output_offset
  1.3188 -+
  1.3189 -+#define avr32_elf_insert_field(size, field, abfd, reloc_entry, data)	\
  1.3190 -+  do									\
  1.3191 -+    {									\
  1.3192 -+      unsigned long x;							\
  1.3193 -+      x = bfd_get_##size (abfd, data + reloc_entry->address);		\
  1.3194 -+      x &= ~reloc_entry->howto->dst_mask;				\
  1.3195 -+      x |= field & reloc_entry->howto->dst_mask;			\
  1.3196 -+      bfd_put_##size (abfd, (bfd_vma) x, data + reloc_entry->address);	\
  1.3197 -+    }									\
  1.3198 -+  while(0)
  1.3199 -+
  1.3200 -+static bfd_reloc_status_type
  1.3201 -+avr32_check_reloc_value(asection *sec ATTRIBUTE_UNUSED,
  1.3202 -+			Elf_Internal_Rela *rela ATTRIBUTE_UNUSED,
  1.3203 -+			bfd_signed_vma relocation,
  1.3204 -+			reloc_howto_type *howto)
  1.3205 -+{
  1.3206 -+  bfd_vma reloc_u;
  1.3207 -+
  1.3208 -+  /* We take "complain_overflow_dont" to mean "don't complain on
  1.3209 -+     alignment either". This way, we don't have to special-case
  1.3210 -+     R_AVR32_HI16 */
  1.3211 -+  if (howto->complain_on_overflow == complain_overflow_dont)
  1.3212 -+    return bfd_reloc_ok;
  1.3213 -+
  1.3214 -+  /* Check if the value is correctly aligned */
  1.3215 -+  if (relocation & ((1 << howto->rightshift) - 1))
  1.3216 -+    {
  1.3217 -+      RDBG("misaligned: %s<%s+%lx>: %s: 0x%lx (align %u)\n",
  1.3218 -+	   sec->owner->filename, sec->name, rela->r_offset,
  1.3219 -+	   howto->name, relocation, howto->rightshift);
  1.3220 -+      return bfd_reloc_overflow;
  1.3221 -+    }
  1.3222 -+
  1.3223 -+  /* Now, get rid of the unnecessary bits */
  1.3224 -+  relocation >>= howto->rightshift;
  1.3225 -+  reloc_u = (bfd_vma)relocation;
  1.3226 -+
  1.3227 -+  switch (howto->complain_on_overflow)
  1.3228 -+    {
  1.3229 -+    case complain_overflow_unsigned:
  1.3230 -+    case complain_overflow_bitfield:
  1.3231 -+      if (reloc_u > (unsigned long)((1 << howto->bitsize) - 1))
  1.3232 -+	{
  1.3233 -+	  RDBG("unsigned overflow: %s<%s+%lx>: %s: 0x%lx (size %u)\n",
  1.3234 -+	       sec->owner->filename, sec->name, rela->r_offset,
  1.3235 -+	       howto->name, reloc_u, howto->bitsize);
  1.3236 -+	  RDBG("reloc vma: 0x%lx\n",
  1.3237 -+	       sec->output_section->vma + sec->output_offset + rela->r_offset);
  1.3238 -+
  1.3239 -+	  return bfd_reloc_overflow;
  1.3240 -+	}
  1.3241 -+      break;
  1.3242 -+    case complain_overflow_signed:
  1.3243 -+      if (relocation > (1 << (howto->bitsize - 1)) - 1)
  1.3244 -+	{
  1.3245 -+	  RDBG("signed overflow: %s<%s+%lx>: %s: 0x%lx (size %u)\n",
  1.3246 -+	       sec->owner->filename, sec->name, rela->r_offset,
  1.3247 -+	       howto->name, reloc_u, howto->bitsize);
  1.3248 -+	  RDBG("reloc vma: 0x%lx\n",
  1.3249 -+	       sec->output_section->vma + sec->output_offset + rela->r_offset);
  1.3250 -+
  1.3251 -+	  return bfd_reloc_overflow;
  1.3252 -+	}
  1.3253 -+      if (relocation < -(1 << (howto->bitsize - 1)))
  1.3254 -+	{
  1.3255 -+	  RDBG("signed overflow: %s<%s+%lx>: %s: -0x%lx (size %u)\n",
  1.3256 -+	       sec->owner->filename, sec->name, rela->r_offset,
  1.3257 -+	       howto->name, -relocation, howto->bitsize);
  1.3258 -+	  RDBG("reloc vma: 0x%lx\n",
  1.3259 -+	       sec->output_section->vma + sec->output_offset + rela->r_offset);
  1.3260 -+
  1.3261 -+	  return bfd_reloc_overflow;
  1.3262 -+	}
  1.3263 -+      break;
  1.3264 -+    default:
  1.3265 -+      abort();
  1.3266 -+    }
  1.3267 -+
  1.3268 -+  return bfd_reloc_ok;
  1.3269 -+}
  1.3270 -+
  1.3271 -+
  1.3272 -+static bfd_reloc_status_type
  1.3273 -+avr32_final_link_relocate(reloc_howto_type *howto,
  1.3274 -+			  bfd *input_bfd,
  1.3275 -+			  asection *input_section,
  1.3276 -+			  bfd_byte *contents,
  1.3277 -+			  Elf_Internal_Rela *rel,
  1.3278 -+			  bfd_vma value)
  1.3279 -+{
  1.3280 -+  bfd_vma field;
  1.3281 -+  bfd_vma relocation;
  1.3282 -+  bfd_reloc_status_type status;
  1.3283 -+  bfd_byte *p = contents + rel->r_offset;
  1.3284 -+  unsigned long x;
  1.3285 -+
  1.3286 -+  pr_debug("  (6b) final link relocate\n");
  1.3287 -+
  1.3288 -+  /* Sanity check the address */
  1.3289 -+  if (rel->r_offset > input_section->size)
  1.3290 -+    {
  1.3291 -+      (*_bfd_error_handler)
  1.3292 -+	("%B: %A+0x%lx: offset out of range (section size: 0x%lx)",
  1.3293 -+	 input_bfd, input_section, rel->r_offset, input_section->size);
  1.3294 -+      return bfd_reloc_outofrange;
  1.3295 -+    }
  1.3296 -+
  1.3297 -+  relocation = value + rel->r_addend;
  1.3298 -+
  1.3299 -+  if (howto->pc_relative)
  1.3300 -+    {
  1.3301 -+      bfd_vma addr;
  1.3302 -+
  1.3303 -+      addr = input_section->output_section->vma
  1.3304 -+	+ input_section->output_offset + rel->r_offset;
  1.3305 -+      addr &= ~0UL << howto->rightshift;
  1.3306 -+      relocation -= addr;
  1.3307 -+    }
  1.3308 -+
  1.3309 -+  switch (ELF32_R_TYPE(rel->r_info))
  1.3310 -+    {
  1.3311 -+    case R_AVR32_16N_PCREL:
  1.3312 -+      /* sub reg, pc, . - (sym + addend) */
  1.3313 -+      relocation = -relocation;
  1.3314 -+      break;
  1.3315 -+    }
  1.3316 -+
  1.3317 -+  status = avr32_check_reloc_value(input_section, rel, relocation, howto);
  1.3318 -+
  1.3319 -+  relocation >>= howto->rightshift;
  1.3320 -+  if (howto->bitsize == 21)
  1.3321 -+    field = (relocation & 0xffff)
  1.3322 -+      | ((relocation & 0x10000) << 4)
  1.3323 -+      | ((relocation & 0x1e0000) << 8);
  1.3324 -+  else if (howto->bitsize == 12)
  1.3325 -+    field = (relocation & 0xff) | ((relocation & 0xf00) << 4);
  1.3326 -+  else if (howto->bitsize == 10)
  1.3327 -+    field = ((relocation & 0xff) << 4)
  1.3328 -+      | ((relocation & 0x300) >> 8);
  1.3329 -+  else
  1.3330 -+    field = relocation << howto->bitpos;
  1.3331 -+
  1.3332 -+  switch (howto->size)
  1.3333 -+    {
  1.3334 -+    case 0:
  1.3335 -+      x = bfd_get_8 (input_bfd, p);
  1.3336 -+      x &= ~howto->dst_mask;
  1.3337 -+      x |= field & howto->dst_mask;
  1.3338 -+      bfd_put_8 (input_bfd, (bfd_vma) x, p);
  1.3339 -+      break;
  1.3340 -+    case 1:
  1.3341 -+      x = bfd_get_16 (input_bfd, p);
  1.3342 -+      x &= ~howto->dst_mask;
  1.3343 -+      x |= field & howto->dst_mask;
  1.3344 -+      bfd_put_16 (input_bfd, (bfd_vma) x, p);
  1.3345 -+      break;
  1.3346 -+    case 2:
  1.3347 -+      x = bfd_get_32 (input_bfd, p);
  1.3348 -+      x &= ~howto->dst_mask;
  1.3349 -+      x |= field & howto->dst_mask;
  1.3350 -+      bfd_put_32 (input_bfd, (bfd_vma) x, p);
  1.3351 -+      break;
  1.3352 -+    default:
  1.3353 -+      abort();
  1.3354 -+    }
  1.3355 -+
  1.3356 -+  return status;
  1.3357 -+}
  1.3358 -+
  1.3359 -+/* (6) Apply relocations to the normal (non-dynamic) sections */
  1.3360 -+
  1.3361 -+static bfd_boolean
  1.3362 -+avr32_elf_relocate_section(bfd *output_bfd, struct bfd_link_info *info,
  1.3363 -+			   bfd *input_bfd, asection *input_section,
  1.3364 -+			   bfd_byte *contents, Elf_Internal_Rela *relocs,
  1.3365 -+			   Elf_Internal_Sym *local_syms,
  1.3366 -+			   asection **local_sections)
  1.3367 -+{
  1.3368 -+  struct elf_avr32_link_hash_table *htab;
  1.3369 -+  Elf_Internal_Shdr *symtab_hdr;
  1.3370 -+  Elf_Internal_Rela *rel, *relend;
  1.3371 -+  struct elf_link_hash_entry **sym_hashes;
  1.3372 -+  struct got_entry **local_got_ents;
  1.3373 -+  asection *sgot;
  1.3374 -+  asection *srelgot;
  1.3375 -+
  1.3376 -+  pr_debug("(6) relocate section %s:<%s> (size 0x%lx)\n",
  1.3377 -+	   input_bfd->filename, input_section->name, input_section->size);
  1.3378 -+
  1.3379 -+  /* If we're doing a partial link, we don't have to do anything since
  1.3380 -+     we're using RELA relocations */
  1.3381 -+  if (info->relocatable)
  1.3382 -+    return TRUE;
  1.3383 -+
  1.3384 -+  htab = avr32_elf_hash_table(info);
  1.3385 -+  symtab_hdr = &elf_tdata(input_bfd)->symtab_hdr;
  1.3386 -+  sym_hashes = elf_sym_hashes(input_bfd);
  1.3387 -+  local_got_ents = elf_local_got_ents(input_bfd);
  1.3388 -+  sgot = htab->sgot;
  1.3389 -+  srelgot = htab->srelgot;
  1.3390 -+
  1.3391 -+  relend = relocs + input_section->reloc_count;
  1.3392 -+  for (rel = relocs; rel < relend; rel++)
  1.3393 -+    {
  1.3394 -+      unsigned long r_type, r_symndx;
  1.3395 -+      reloc_howto_type *howto;
  1.3396 -+      Elf_Internal_Sym *sym = NULL;
  1.3397 -+      struct elf_link_hash_entry *h = NULL;
  1.3398 -+      asection *sec = NULL;
  1.3399 -+      bfd_vma value;
  1.3400 -+      bfd_vma offset;
  1.3401 -+      bfd_reloc_status_type status;
  1.3402 -+
  1.3403 -+      r_type = ELF32_R_TYPE(rel->r_info);
  1.3404 -+      r_symndx = ELF32_R_SYM(rel->r_info);
  1.3405 -+
  1.3406 -+      if (r_type == R_AVR32_NONE
  1.3407 -+	  || r_type == R_AVR32_ALIGN
  1.3408 -+	  || r_type == R_AVR32_DIFF32
  1.3409 -+	  || r_type == R_AVR32_DIFF16
  1.3410 -+	  || r_type == R_AVR32_DIFF8)
  1.3411 -+	continue;
  1.3412 -+
  1.3413 -+      /* Sanity check */
  1.3414 -+      if (r_type > R_AVR32_max)
  1.3415 -+	{
  1.3416 -+	  bfd_set_error(bfd_error_bad_value);
  1.3417 -+	  return FALSE;
  1.3418 -+	}
  1.3419 -+
  1.3420 -+      howto = &elf_avr32_howto_table[r_type];
  1.3421 -+
  1.3422 -+      if (r_symndx < symtab_hdr->sh_info)
  1.3423 -+	{
  1.3424 -+	  sym = local_syms + r_symndx;
  1.3425 -+	  sec = local_sections[r_symndx];
  1.3426 -+
  1.3427 -+	  pr_debug("  (6a) processing %s against local symbol %lu\n",
  1.3428 -+		   howto->name, r_symndx);
  1.3429 -+
  1.3430 -+	  /* The following function changes rel->r_addend behind our back. */
  1.3431 -+	  value = _bfd_elf_rela_local_sym(output_bfd, sym, &sec, rel);
  1.3432 -+	  pr_debug("    => value: %lx, addend: %lx\n", value, rel->r_addend);
  1.3433 -+	}
  1.3434 -+      else
  1.3435 -+	{
  1.3436 -+	  if (sym_hashes == NULL)
  1.3437 -+	    return FALSE;
  1.3438 -+
  1.3439 -+	  h = sym_hashes[r_symndx - symtab_hdr->sh_info];
  1.3440 -+	  while (h->root.type == bfd_link_hash_indirect
  1.3441 -+		 || h->root.type == bfd_link_hash_warning)
  1.3442 -+	    h = (struct elf_link_hash_entry *)h->root.u.i.link;
  1.3443 -+
  1.3444 -+	  pr_debug("  (6a) processing %s against symbol %s\n",
  1.3445 -+		   howto->name, h->root.root.string);
  1.3446 -+
  1.3447 -+	  if (h->root.type == bfd_link_hash_defined
  1.3448 -+	      || h->root.type == bfd_link_hash_defweak)
  1.3449 -+	    {
  1.3450 -+	      bfd_boolean dyn;
  1.3451 -+
  1.3452 -+	      dyn = htab->root.dynamic_sections_created;
  1.3453 -+	      sec = h->root.u.def.section;
  1.3454 -+
  1.3455 -+	      if (sec->output_section)
  1.3456 -+		value = (h->root.u.def.value
  1.3457 -+			 + sec->output_section->vma
  1.3458 -+			 + sec->output_offset);
  1.3459 -+	      else
  1.3460 -+		value = h->root.u.def.value;
  1.3461 -+	    }
  1.3462 -+	  else if (h->root.type == bfd_link_hash_undefweak)
  1.3463 -+	    value = 0;
  1.3464 -+	  else if (info->unresolved_syms_in_objects == RM_IGNORE
  1.3465 -+		   && ELF_ST_VISIBILITY(h->other) == STV_DEFAULT)
  1.3466 -+	    value = 0;
  1.3467 -+	  else
  1.3468 -+	    {
  1.3469 -+	      bfd_boolean err;
  1.3470 -+	      err = (info->unresolved_syms_in_objects == RM_GENERATE_ERROR
  1.3471 -+		     || ELF_ST_VISIBILITY(h->other) != STV_DEFAULT);
  1.3472 -+	      if (!info->callbacks->undefined_symbol
  1.3473 -+		  (info, h->root.root.string, input_bfd,
  1.3474 -+		   input_section, rel->r_offset, err))
  1.3475 -+		return FALSE;
  1.3476 -+	      value = 0;
  1.3477 -+	    }
  1.3478 -+
  1.3479 -+	  pr_debug("    => value: %lx, addend: %lx\n", value, rel->r_addend);
  1.3480 -+	}
  1.3481 -+
  1.3482 -+      switch (r_type)
  1.3483 -+	{
  1.3484 -+	case R_AVR32_GOT32:
  1.3485 -+	case R_AVR32_GOT16:
  1.3486 -+	case R_AVR32_GOT8:
  1.3487 -+	case R_AVR32_GOT21S:
  1.3488 -+	case R_AVR32_GOT18SW:
  1.3489 -+	case R_AVR32_GOT16S:
  1.3490 -+	case R_AVR32_GOT7UW:
  1.3491 -+	case R_AVR32_LDA_GOT:
  1.3492 -+	case R_AVR32_GOTCALL:
  1.3493 -+	  BFD_ASSERT(sgot != NULL);
  1.3494 -+
  1.3495 -+	  if (h != NULL)
  1.3496 -+	    {
  1.3497 -+	      BFD_ASSERT(h->got.glist->refcount > 0);
  1.3498 -+	      offset = h->got.glist->offset;
  1.3499 -+
  1.3500 -+	      BFD_ASSERT(offset < sgot->size);
  1.3501 -+	      if (!elf_hash_table(info)->dynamic_sections_created
  1.3502 -+		  || (h->def_regular
  1.3503 -+		      && (!info->shared
  1.3504 -+			  || info->symbolic
  1.3505 -+			  || h->dynindx == -1)))
  1.3506 -+		{
  1.3507 -+		  /* This is actually a static link, or it is a
  1.3508 -+		     -Bsymbolic link and the symbol is defined
  1.3509 -+		     locally, or the symbol was forced to be local.  */
  1.3510 -+		  bfd_put_32(output_bfd, value, sgot->contents + offset);
  1.3511 -+		}
  1.3512 -+	    }
  1.3513 -+	  else
  1.3514 -+	    {
  1.3515 -+	      BFD_ASSERT(local_got_ents &&
  1.3516 -+			 local_got_ents[r_symndx]->refcount > 0);
  1.3517 -+	      offset = local_got_ents[r_symndx]->offset;
  1.3518 -+
  1.3519 -+	      /* Local GOT entries don't have relocs.  If this is a
  1.3520 -+		 shared library, the dynamic linker will add the load
  1.3521 -+		 address to the initial value at startup.  */
  1.3522 -+	      BFD_ASSERT(offset < sgot->size);
  1.3523 -+	      pr_debug("Initializing GOT entry at offset %lu: 0x%lx\n",
  1.3524 -+		       offset, value);
  1.3525 -+	      bfd_put_32 (output_bfd, value, sgot->contents + offset);
  1.3526 -+	    }
  1.3527 -+
  1.3528 -+	  value = sgot->output_offset + offset;
  1.3529 -+	  pr_debug("GOT reference: New value %lx\n", value);
  1.3530 -+	  break;
  1.3531 -+
  1.3532 -+	case R_AVR32_GOTPC:
  1.3533 -+	  /* This relocation type is for constant pool entries used in
  1.3534 -+	     the calculation "Rd = PC - (PC - GOT)", where the
  1.3535 -+	     constant pool supplies the constant (PC - GOT)
  1.3536 -+	     offset. The symbol value + addend indicates where the
  1.3537 -+	     value of PC is taken. */
  1.3538 -+	  value -= sgot->output_section->vma;
  1.3539 -+	  break;
  1.3540 -+
  1.3541 -+	case R_AVR32_32_PCREL:
  1.3542 -+	  /* We must adjust r_offset to account for discarded data in
  1.3543 -+	     the .eh_frame section.  This is probably not the right
  1.3544 -+	     way to do this, since AFAICS all other architectures do
  1.3545 -+	     it some other way.  I just can't figure out how...  */
  1.3546 -+	  {
  1.3547 -+	    bfd_vma r_offset;
  1.3548 -+
  1.3549 -+	    r_offset = _bfd_elf_section_offset(output_bfd, info,
  1.3550 -+					       input_section,
  1.3551 -+					       rel->r_offset);
  1.3552 -+	    if (r_offset == (bfd_vma)-1
  1.3553 -+		|| r_offset == (bfd_vma)-2)
  1.3554 -+	      continue;
  1.3555 -+	    rel->r_offset = r_offset;
  1.3556 -+	  }
  1.3557 -+	  break;
  1.3558 -+
  1.3559 -+	case R_AVR32_32:
  1.3560 -+	  /* We need to emit a run-time relocation in the following cases:
  1.3561 -+	       - we're creating a shared library
  1.3562 -+	       - the symbol is not defined in any regular objects
  1.3563 -+
  1.3564 -+	     Of course, sections that aren't going to be part of the
  1.3565 -+	     run-time image will not get any relocs, and undefined
  1.3566 -+	     symbols won't have any either (only weak undefined
  1.3567 -+	     symbols should get this far).  */
  1.3568 -+	  if ((info->shared
  1.3569 -+	       || (elf_hash_table(info)->dynamic_sections_created
  1.3570 -+		   && h != NULL
  1.3571 -+		   && h->def_dynamic
  1.3572 -+		   && !h->def_regular))
  1.3573 -+	      && r_symndx != 0
  1.3574 -+	      && (input_section->flags & SEC_ALLOC))
  1.3575 -+	    {
  1.3576 -+	      Elf_Internal_Rela outrel;
  1.3577 -+	      bfd_byte *loc;
  1.3578 -+	      bfd_boolean skip, relocate;
  1.3579 -+	      struct elf_avr32_link_hash_entry *avrh;
  1.3580 -+
  1.3581 -+	      pr_debug("Going to generate dynamic reloc...\n");
  1.3582 -+
  1.3583 -+	      skip = FALSE;
  1.3584 -+	      relocate = FALSE;
  1.3585 -+
  1.3586 -+	      outrel.r_offset = _bfd_elf_section_offset(output_bfd, info,
  1.3587 -+							input_section,
  1.3588 -+							rel->r_offset);
  1.3589 -+	      if (outrel.r_offset == (bfd_vma)-1)
  1.3590 -+		skip = TRUE;
  1.3591 -+	      else if (outrel.r_offset == (bfd_vma)-2)
  1.3592 -+		skip = TRUE, relocate = TRUE;
  1.3593 -+
  1.3594 -+	      outrel.r_offset += (input_section->output_section->vma
  1.3595 -+				  + input_section->output_offset);
  1.3596 -+
  1.3597 -+	      pr_debug("    ... offset %lx, dynindx %ld\n",
  1.3598 -+		       outrel.r_offset, h ? h->dynindx : -1);
  1.3599 -+
  1.3600 -+	      if (skip)
  1.3601 -+		memset(&outrel, 0, sizeof(outrel));
  1.3602 -+	      else
  1.3603 -+		{
  1.3604 -+		  avrh = (struct elf_avr32_link_hash_entry *)h;
  1.3605 -+		  /* h->dynindx may be -1 if this symbol was marked to
  1.3606 -+		     become local.  */
  1.3607 -+		  if (h == NULL
  1.3608 -+		      || ((info->symbolic || h->dynindx == -1)
  1.3609 -+			  && h->def_regular))
  1.3610 -+		    {
  1.3611 -+		      relocate = TRUE;
  1.3612 -+		      outrel.r_info = ELF32_R_INFO(0, R_AVR32_RELATIVE);
  1.3613 -+		      outrel.r_addend = value + rel->r_addend;
  1.3614 -+		      pr_debug("    ... R_AVR32_RELATIVE\n");
  1.3615 -+		    }
  1.3616 -+		  else
  1.3617 -+		    {
  1.3618 -+		      BFD_ASSERT(h->dynindx != -1);
  1.3619 -+		      relocate = TRUE;
  1.3620 -+		      outrel.r_info = ELF32_R_INFO(h->dynindx, R_AVR32_GLOB_DAT);
  1.3621 -+		      outrel.r_addend = rel->r_addend;
  1.3622 -+		      pr_debug("    ... R_AVR32_GLOB_DAT\n");
  1.3623 -+		    }
  1.3624 -+		}
  1.3625 -+
  1.3626 -+	      pr_debug("srelgot reloc_count: %d, size %lu\n",
  1.3627 -+		       srelgot->reloc_count, srelgot->size);
  1.3628 -+
  1.3629 -+	      loc = srelgot->contents;
  1.3630 -+	      loc += srelgot->reloc_count++ * sizeof(Elf32_External_Rela);
  1.3631 -+	      bfd_elf32_swap_reloca_out(output_bfd, &outrel, loc);
  1.3632 -+
  1.3633 -+	      BFD_ASSERT(srelgot->reloc_count * sizeof(Elf32_External_Rela)
  1.3634 -+			 <= srelgot->size);
  1.3635 -+
  1.3636 -+	      if (!relocate)
  1.3637 -+		continue;
  1.3638 -+	    }
  1.3639 -+	  break;
  1.3640 -+	}
  1.3641 -+
  1.3642 -+      status = avr32_final_link_relocate(howto, input_bfd, input_section,
  1.3643 -+					 contents, rel, value);
  1.3644 -+
  1.3645 -+      switch (status)
  1.3646 -+	{
  1.3647 -+	case bfd_reloc_ok:
  1.3648 -+	  break;
  1.3649 -+
  1.3650 -+	case bfd_reloc_overflow:
  1.3651 -+	  {
  1.3652 -+	    const char *name;
  1.3653 -+
  1.3654 -+	    if (h != NULL)
  1.3655 -+	      name = h->root.root.string;
  1.3656 -+	    else
  1.3657 -+	      {
  1.3658 -+		name = bfd_elf_string_from_elf_section(input_bfd,
  1.3659 -+						       symtab_hdr->sh_link,
  1.3660 -+						       sym->st_name);
  1.3661 -+		if (name == NULL)
  1.3662 -+		  return FALSE;
  1.3663 -+		if (*name == '\0')
  1.3664 -+		  name = bfd_section_name(input_bfd, sec);
  1.3665 -+	      }
  1.3666 -+	    if (!((*info->callbacks->reloc_overflow)
  1.3667 -+		  (info, (h ? &h->root : NULL), name, howto->name,
  1.3668 -+		   rel->r_addend, input_bfd, input_section, rel->r_offset)))
  1.3669 -+	      return FALSE;
  1.3670 -+	  }
  1.3671 -+	  break;
  1.3672 -+
  1.3673 -+	case bfd_reloc_outofrange:
  1.3674 -+	default:
  1.3675 -+	  abort();
  1.3676 -+	}
  1.3677 -+    }
  1.3678 -+
  1.3679 -+  return TRUE;
  1.3680 -+}
  1.3681 -+
  1.3682 -+
  1.3683 -+/* Additional processing of dynamic sections after relocation */
  1.3684 -+
  1.3685 -+static bfd_boolean
  1.3686 -+avr32_elf_finish_dynamic_symbol(bfd *output_bfd, struct bfd_link_info *info,
  1.3687 -+				struct elf_link_hash_entry *h,
  1.3688 -+				Elf_Internal_Sym *sym);
  1.3689 -+static bfd_boolean
  1.3690 -+avr32_elf_finish_dynamic_sections(bfd *output_bfd, struct bfd_link_info *info);
  1.3691 -+
  1.3692 -+
  1.3693 -+/* (7) Initialize the contents of a dynamic symbol and/or emit
  1.3694 -+   relocations for it */
  1.3695 -+
  1.3696 -+static bfd_boolean
  1.3697 -+avr32_elf_finish_dynamic_symbol(bfd *output_bfd, struct bfd_link_info *info,
  1.3698 -+				struct elf_link_hash_entry *h,
  1.3699 -+				Elf_Internal_Sym *sym)
  1.3700 -+{
  1.3701 -+  struct elf_avr32_link_hash_table *htab;
  1.3702 -+  struct got_entry *got;
  1.3703 -+
  1.3704 -+  pr_debug("(7) finish dynamic symbol: %s\n", h->root.root.string);
  1.3705 -+
  1.3706 -+  htab = avr32_elf_hash_table(info);
  1.3707 -+  got = h->got.glist;
  1.3708 -+
  1.3709 -+  if (got && got->refcount > 0)
  1.3710 -+    {
  1.3711 -+      asection *sgot;
  1.3712 -+      asection *srelgot;
  1.3713 -+      Elf_Internal_Rela rel;
  1.3714 -+      bfd_byte *loc;
  1.3715 -+
  1.3716 -+      /* This symbol has an entry in the GOT. Set it up. */
  1.3717 -+      sgot = htab->sgot;
  1.3718 -+      srelgot = htab->srelgot;
  1.3719 -+      BFD_ASSERT(sgot && srelgot);
  1.3720 -+
  1.3721 -+      rel.r_offset = (sgot->output_section->vma
  1.3722 -+		      + sgot->output_offset
  1.3723 -+		      + got->offset);
  1.3724 -+
  1.3725 -+      /* If this is a static link, or it is a -Bsymbolic link and the
  1.3726 -+	 symbol is defined locally or was forced to be local because
  1.3727 -+	 of a version file, we just want to emit a RELATIVE reloc. The
  1.3728 -+	 entry in the global offset table will already have been
  1.3729 -+	 initialized in the relocate_section function. */
  1.3730 -+      if ((info->shared
  1.3731 -+	   && !info->symbolic
  1.3732 -+	   && h->dynindx != -1)
  1.3733 -+	  || (htab->root.dynamic_sections_created
  1.3734 -+	      && h->def_dynamic
  1.3735 -+	      && !h->def_regular))
  1.3736 -+	{
  1.3737 -+	  bfd_put_32(output_bfd, 0, sgot->contents + got->offset);
  1.3738 -+	  rel.r_info = ELF32_R_INFO(h->dynindx, R_AVR32_GLOB_DAT);
  1.3739 -+	  rel.r_addend = 0;
  1.3740 -+
  1.3741 -+	  pr_debug("GOT reloc R_AVR32_GLOB_DAT, dynindx: %ld\n", h->dynindx);
  1.3742 -+	  pr_debug("    srelgot reloc_count: %d, size: %lu\n",
  1.3743 -+		   srelgot->reloc_count, srelgot->size);
  1.3744 -+
  1.3745 -+	  loc = (srelgot->contents
  1.3746 -+		 + srelgot->reloc_count++ * sizeof(Elf32_External_Rela));
  1.3747 -+	  bfd_elf32_swap_reloca_out(output_bfd, &rel, loc);
  1.3748 -+
  1.3749 -+	  BFD_ASSERT(srelgot->reloc_count * sizeof(Elf32_External_Rela)
  1.3750 -+		     <= srelgot->size);
  1.3751 -+	}
  1.3752 -+    }
  1.3753 -+
  1.3754 -+  /* Mark _DYNAMIC and _GLOBAL_OFFSET_TABLE_ as absolute */
  1.3755 -+  if (strcmp(h->root.root.string, "_DYNAMIC") == 0
  1.3756 -+      || strcmp(h->root.root.string, "_GLOBAL_OFFSET_TABLE_") == 0)
  1.3757 -+    sym->st_shndx = SHN_ABS;
  1.3758 -+
  1.3759 -+  return TRUE;
  1.3760 -+}
  1.3761 -+
  1.3762 -+/* (8) Do any remaining initialization of the dynamic sections */
  1.3763 -+
  1.3764 -+static bfd_boolean
  1.3765 -+avr32_elf_finish_dynamic_sections(bfd *output_bfd, struct bfd_link_info *info)
  1.3766 -+{
  1.3767 -+  struct elf_avr32_link_hash_table *htab;
  1.3768 -+  asection *sgot, *sdyn;
  1.3769 -+
  1.3770 -+  pr_debug("(8) finish dynamic sections\n");
  1.3771 -+
  1.3772 -+  htab = avr32_elf_hash_table(info);
  1.3773 -+  sgot = htab->sgot;
  1.3774 -+  sdyn = bfd_get_section_by_name(htab->root.dynobj, ".dynamic");
  1.3775 -+
  1.3776 -+  if (htab->root.dynamic_sections_created)
  1.3777 -+    {
  1.3778 -+      Elf32_External_Dyn *dyncon, *dynconend;
  1.3779 -+
  1.3780 -+      BFD_ASSERT(sdyn && sgot && sgot->size >= AVR32_GOT_HEADER_SIZE);
  1.3781 -+
  1.3782 -+      dyncon = (Elf32_External_Dyn *)sdyn->contents;
  1.3783 -+      dynconend = (Elf32_External_Dyn *)(sdyn->contents + sdyn->size);
  1.3784 -+      for (; dyncon < dynconend; dyncon++)
  1.3785 -+	{
  1.3786 -+	  Elf_Internal_Dyn dyn;
  1.3787 -+	  asection *s;
  1.3788 -+
  1.3789 -+	  bfd_elf32_swap_dyn_in(htab->root.dynobj, dyncon, &dyn);
  1.3790 -+
  1.3791 -+	  switch (dyn.d_tag)
  1.3792 -+	    {
  1.3793 -+	    default:
  1.3794 -+	      break;
  1.3795 -+
  1.3796 -+	    case DT_PLTGOT:
  1.3797 -+	      s = sgot->output_section;
  1.3798 -+	      BFD_ASSERT(s != NULL);
  1.3799 -+	      dyn.d_un.d_ptr = s->vma;
  1.3800 -+	      bfd_elf32_swap_dyn_out(output_bfd, &dyn, dyncon);
  1.3801 -+	      break;
  1.3802 -+
  1.3803 -+	    case DT_AVR32_GOTSZ:
  1.3804 -+	      s = sgot->output_section;
  1.3805 -+	      BFD_ASSERT(s != NULL);
  1.3806 -+	      dyn.d_un.d_val = s->size;
  1.3807 -+	      bfd_elf32_swap_dyn_out(output_bfd, &dyn, dyncon);
  1.3808 -+	      break;
  1.3809 -+	    }
  1.3810 -+	}
  1.3811 -+
  1.3812 -+      /* Fill in the first two entries in the global offset table */
  1.3813 -+      bfd_put_32(output_bfd,
  1.3814 -+		 sdyn->output_section->vma + sdyn->output_offset,
  1.3815 -+		 sgot->contents);
  1.3816 -+
  1.3817 -+      /* The runtime linker will fill this one in with the address of
  1.3818 -+	 the run-time link map */
  1.3819 -+      bfd_put_32(output_bfd, 0, sgot->contents + 4);
  1.3820 -+    }
  1.3821 -+
  1.3822 -+  if (sgot)
  1.3823 -+    elf_section_data(sgot->output_section)->this_hdr.sh_entsize = 4;
  1.3824 -+
  1.3825 -+  return TRUE;
  1.3826 -+}
  1.3827 -+
  1.3828 -+
  1.3829 -+/* AVR32-specific private ELF data */
  1.3830 -+
  1.3831 -+static bfd_boolean
  1.3832 -+avr32_elf_set_private_flags(bfd *abfd, flagword flags);
  1.3833 -+static bfd_boolean
  1.3834 -+avr32_elf_copy_private_bfd_data(bfd *ibfd, bfd *obfd);
  1.3835 -+static bfd_boolean
  1.3836 -+avr32_elf_merge_private_bfd_data(bfd *ibfd, bfd *obfd);
  1.3837 -+static bfd_boolean
  1.3838 -+avr32_elf_print_private_bfd_data(bfd *abfd, void *ptr);
  1.3839 -+
  1.3840 -+static bfd_boolean
  1.3841 -+avr32_elf_set_private_flags(bfd *abfd, flagword flags)
  1.3842 -+{
  1.3843 -+  elf_elfheader(abfd)->e_flags = flags;
  1.3844 -+  elf_flags_init(abfd) = TRUE;
  1.3845 -+
  1.3846 -+  return TRUE;
  1.3847 -+}
  1.3848 -+
  1.3849 -+/* Copy backend specific data from one object module to another.  */
  1.3850 -+
  1.3851 -+static bfd_boolean
  1.3852 -+avr32_elf_copy_private_bfd_data(bfd *ibfd, bfd *obfd)
  1.3853 -+{
  1.3854 -+  elf_elfheader(obfd)->e_flags = elf_elfheader(ibfd)->e_flags;
  1.3855 -+  return TRUE;
  1.3856 -+}
  1.3857 -+
  1.3858 -+/* Merge backend specific data from an object file to the output
  1.3859 -+   object file when linking.  */
  1.3860 -+
  1.3861 -+static bfd_boolean
  1.3862 -+avr32_elf_merge_private_bfd_data(bfd *ibfd, bfd *obfd)
  1.3863 -+{
  1.3864 -+  flagword out_flags, in_flags;
  1.3865 -+
  1.3866 -+  pr_debug("(0) merge_private_bfd_data: %s -> %s\n",
  1.3867 -+	   ibfd->filename, obfd->filename);
  1.3868 -+
  1.3869 -+  in_flags = elf_elfheader(ibfd)->e_flags;
  1.3870 -+  out_flags = elf_elfheader(obfd)->e_flags;
  1.3871 -+
  1.3872 -+  if (elf_flags_init(obfd))
  1.3873 -+    {
  1.3874 -+      /* If one of the inputs are non-PIC, the output must be
  1.3875 -+	 considered non-PIC.  The same applies to linkrelax.  */
  1.3876 -+      if (!(in_flags & EF_AVR32_PIC))
  1.3877 -+	out_flags &= ~EF_AVR32_PIC;
  1.3878 -+      if (!(in_flags & EF_AVR32_LINKRELAX))
  1.3879 -+	out_flags &= ~EF_AVR32_LINKRELAX;
  1.3880 -+    }
  1.3881 -+  else
  1.3882 -+    {
  1.3883 -+      elf_flags_init(obfd) = TRUE;
  1.3884 -+      out_flags = in_flags;
  1.3885 -+    }
  1.3886 -+
  1.3887 -+  elf_elfheader(obfd)->e_flags = out_flags;
  1.3888 -+
  1.3889 -+  return TRUE;
  1.3890 -+}
  1.3891 -+
  1.3892 -+static bfd_boolean
  1.3893 -+avr32_elf_print_private_bfd_data(bfd *abfd, void *ptr)
  1.3894 -+{
  1.3895 -+  FILE *file = (FILE *)ptr;
  1.3896 -+  unsigned long flags;
  1.3897 -+
  1.3898 -+  BFD_ASSERT(abfd != NULL && ptr != NULL);
  1.3899 -+
  1.3900 -+  _bfd_elf_print_private_bfd_data(abfd, ptr);
  1.3901 -+
  1.3902 -+  flags = elf_elfheader(abfd)->e_flags;
  1.3903 -+
  1.3904 -+  fprintf(file, _("private flags = %lx:"), elf_elfheader(abfd)->e_flags);
  1.3905 -+
  1.3906 -+  if (flags & EF_AVR32_PIC)
  1.3907 -+    fprintf(file, " [PIC]");
  1.3908 -+  if (flags & EF_AVR32_LINKRELAX)
  1.3909 -+    fprintf(file, " [linker relaxable]");
  1.3910 -+
  1.3911 -+  flags &= ~(EF_AVR32_PIC | EF_AVR32_LINKRELAX);
  1.3912 -+
  1.3913 -+  if (flags)
  1.3914 -+    fprintf(file, _("<Unrecognized flag bits set>"));
  1.3915 -+
  1.3916 -+  fputc('\n', file);
  1.3917 -+
  1.3918 -+  return TRUE;
  1.3919 -+}
  1.3920 -+
  1.3921 -+/* Set avr32-specific linker options.  */
  1.3922 -+void bfd_elf32_avr32_set_options(struct bfd_link_info *info,
  1.3923 -+				 int direct_data_refs)
  1.3924 -+{
  1.3925 -+  struct elf_avr32_link_hash_table *htab;
  1.3926 -+
  1.3927 -+  htab = avr32_elf_hash_table (info);
  1.3928 -+  htab->direct_data_refs = !!direct_data_refs;
  1.3929 -+}
  1.3930 -+
  1.3931 -+
  1.3932 -+
  1.3933 -+/* Understanding core dumps */
  1.3934 -+
  1.3935 -+static bfd_boolean
  1.3936 -+avr32_elf_grok_prstatus(bfd *abfd, Elf_Internal_Note *note);
  1.3937 -+static bfd_boolean
  1.3938 -+avr32_elf_grok_psinfo(bfd *abfd, Elf_Internal_Note *note);
  1.3939 -+
  1.3940 -+static bfd_boolean
  1.3941 -+avr32_elf_grok_prstatus(bfd *abfd, Elf_Internal_Note *note)
  1.3942 -+{
  1.3943 -+  /* Linux/AVR32B elf_prstatus */
  1.3944 -+  if (note->descsz != 148)
  1.3945 -+    return FALSE;
  1.3946 -+
  1.3947 -+  /* pr_cursig */
  1.3948 -+  elf_tdata(abfd)->core_signal = bfd_get_16(abfd, note->descdata + 12);
  1.3949 -+
  1.3950 -+  /* pr_pid */
  1.3951 -+  elf_tdata(abfd)->core_pid = bfd_get_32(abfd, note->descdata + 24);
  1.3952 -+
  1.3953 -+  /* Make a ".reg/999" section for pr_reg. The size is for 16
  1.3954 -+     general-purpose registers, SR and r12_orig (18 * 4 = 72).  */
  1.3955 -+  return _bfd_elfcore_make_pseudosection(abfd, ".reg", 72,
  1.3956 -+					 note->descpos + 72);
  1.3957 -+}
  1.3958 -+
  1.3959 -+static bfd_boolean
  1.3960 -+avr32_elf_grok_psinfo(bfd *abfd, Elf_Internal_Note *note)
  1.3961 -+{
  1.3962 -+  /* Linux/AVR32B elf_prpsinfo */
  1.3963 -+  if (note->descsz != 128)
  1.3964 -+    return FALSE;
  1.3965 -+
  1.3966 -+  elf_tdata(abfd)->core_program
  1.3967 -+    = _bfd_elfcore_strndup(abfd, note->descdata + 32, 16);
  1.3968 -+  elf_tdata(abfd)->core_command
  1.3969 -+    = _bfd_elfcore_strndup(abfd, note->descdata + 48, 80);
  1.3970 -+
  1.3971 -+  /* Note that for some reason, a spurious space is tacked
  1.3972 -+     onto the end of the args in some (at least one anyway)
  1.3973 -+     implementations, so strip it off if it exists.  */
  1.3974 -+
  1.3975 -+  {
  1.3976 -+    char *command = elf_tdata (abfd)->core_command;
  1.3977 -+    int n = strlen (command);
  1.3978 -+
  1.3979 -+    if (0 < n && command[n - 1] == ' ')
  1.3980 -+      command[n - 1] = '\0';
  1.3981 -+  }
  1.3982 -+
  1.3983 -+  return TRUE;
  1.3984 -+}
  1.3985 -+
  1.3986 -+
  1.3987 -+#define ELF_ARCH			bfd_arch_avr32
  1.3988 -+#define ELF_MACHINE_CODE		EM_AVR32
  1.3989 -+#define ELF_MAXPAGESIZE			0x1000
  1.3990 -+
  1.3991 -+#define TARGET_BIG_SYM			bfd_elf32_avr32_vec
  1.3992 -+#define TARGET_BIG_NAME			"elf32-avr32"
  1.3993 -+
  1.3994 -+#define elf_backend_grok_prstatus	avr32_elf_grok_prstatus
  1.3995 -+#define elf_backend_grok_psinfo		avr32_elf_grok_psinfo
  1.3996 -+
  1.3997 -+/* Only RELA relocations are used */
  1.3998 -+#define elf_backend_may_use_rel_p	0
  1.3999 -+#define elf_backend_may_use_rela_p	1
  1.4000 -+#define elf_backend_default_use_rela_p	1
  1.4001 -+#define elf_backend_rela_normal		1
  1.4002 -+#define elf_info_to_howto_rel		NULL
  1.4003 -+#define elf_info_to_howto		avr32_info_to_howto
  1.4004 -+
  1.4005 -+#define bfd_elf32_bfd_copy_private_bfd_data	avr32_elf_copy_private_bfd_data
  1.4006 -+#define bfd_elf32_bfd_merge_private_bfd_data	avr32_elf_merge_private_bfd_data
  1.4007 -+#define bfd_elf32_bfd_set_private_flags		avr32_elf_set_private_flags
  1.4008 -+#define bfd_elf32_bfd_print_private_bfd_data	avr32_elf_print_private_bfd_data
  1.4009 -+#define bfd_elf32_new_section_hook		avr32_elf_new_section_hook
  1.4010 -+
  1.4011 -+#define elf_backend_gc_mark_hook		avr32_elf_gc_mark_hook
  1.4012 -+#define elf_backend_gc_sweep_hook		avr32_elf_gc_sweep_hook
  1.4013 -+#define elf_backend_relocate_section	avr32_elf_relocate_section
  1.4014 -+#define elf_backend_copy_indirect_symbol avr32_elf_copy_indirect_symbol
  1.4015 -+#define elf_backend_create_dynamic_sections avr32_elf_create_dynamic_sections
  1.4016 -+#define bfd_elf32_bfd_link_hash_table_create avr32_elf_link_hash_table_create
  1.4017 -+#define elf_backend_adjust_dynamic_symbol avr32_elf_adjust_dynamic_symbol
  1.4018 -+#define elf_backend_size_dynamic_sections avr32_elf_size_dynamic_sections
  1.4019 -+#define elf_backend_finish_dynamic_symbol avr32_elf_finish_dynamic_symbol
  1.4020 -+#define elf_backend_finish_dynamic_sections avr32_elf_finish_dynamic_sections
  1.4021 -+
  1.4022 -+#define bfd_elf32_bfd_relax_section	avr32_elf_relax_section
  1.4023 -+
  1.4024 -+/* Find out which symbols need an entry in .got. */
  1.4025 -+#define elf_backend_check_relocs	avr32_check_relocs
  1.4026 -+#define elf_backend_can_refcount	1
  1.4027 -+#define elf_backend_can_gc_sections	1
  1.4028 -+#define elf_backend_plt_readonly	1
  1.4029 -+#define elf_backend_plt_not_loaded	1
  1.4030 -+#define elf_backend_want_plt_sym	0
  1.4031 -+#define elf_backend_plt_alignment	2
  1.4032 -+#define elf_backend_want_dynbss		0
  1.4033 -+#define elf_backend_want_got_plt	0
  1.4034 -+#define elf_backend_want_got_sym	1
  1.4035 -+#define elf_backend_got_header_size	AVR32_GOT_HEADER_SIZE
  1.4036 -+
  1.4037 -+#include "elf32-target.h"
  1.4038 ---- /dev/null
  1.4039 -+++ b/bfd/elf32-avr32.h
  1.4040 -@@ -0,0 +1,23 @@
  1.4041 -+/* AVR32-specific support for 32-bit ELF.
  1.4042 -+   Copyright 2007 Atmel Corporation.
  1.4043 -+
  1.4044 -+   Written by Haavard Skinnemoen, Atmel Norway, <hskinnemoen@atmel.com>
  1.4045 -+
  1.4046 -+   This file is part of BFD, the Binary File Descriptor library.
  1.4047 -+
  1.4048 -+   This program is free software; you can redistribute it and/or modify
  1.4049 -+   it under the terms of the GNU General Public License as published by
  1.4050 -+   the Free Software Foundation; either version 2 of the License, or
  1.4051 -+   (at your option) any later version.
  1.4052 -+
  1.4053 -+   This program is distributed in the hope that it will be useful,
  1.4054 -+   but WITHOUT ANY WARRANTY; without even the implied warranty of
  1.4055 -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1.4056 -+   GNU General Public License for more details.
  1.4057 -+
  1.4058 -+   You should have received a copy of the GNU General Public License
  1.4059 -+   along with this program; if not, write to the Free Software
  1.4060 -+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
  1.4061 -+
  1.4062 -+void bfd_elf32_avr32_set_options(struct bfd_link_info *info,
  1.4063 -+				 int direct_data_refs);
  1.4064 ---- a/bfd/elf-bfd.h
  1.4065 -+++ b/bfd/elf-bfd.h
  1.4066 -@@ -1400,6 +1400,10 @@ struct elf_obj_tdata
  1.4067 -      find_nearest_line.  */
  1.4068 -   struct mips_elf_find_line *find_line_info;
  1.4069 - 
  1.4070 -+  /* Used by AVR32 ELF relaxation code.  Contains an array of pointers
  1.4071 -+     for each local symbol to the fragment where it is defined.  */
  1.4072 -+  struct fragment **local_sym_frag;
  1.4073 -+
  1.4074 -   /* A place to stash dwarf1 info for this bfd.  */
  1.4075 -   struct dwarf1_debug *dwarf1_find_line_info;
  1.4076 - 
  1.4077 ---- a/bfd/Makefile.am
  1.4078 -+++ b/bfd/Makefile.am
  1.4079 -@@ -63,6 +63,7 @@ ALL_MACHINES = \
  1.4080 - 	cpu-arc.lo \
  1.4081 - 	cpu-arm.lo \
  1.4082 - 	cpu-avr.lo \
  1.4083 -+	cpu-avr32.lo \
  1.4084 - 	cpu-bfin.lo \
  1.4085 - 	cpu-cr16.lo \
  1.4086 - 	cpu-cr16c.lo \
  1.4087 -@@ -243,6 +244,7 @@ BFD32_BACKENDS = \
  1.4088 - 	elf32-arc.lo \
  1.4089 - 	elf32-arm.lo \
  1.4090 - 	elf32-avr.lo \
  1.4091 -+	elf32-avr32.lo \
  1.4092 - 	elf32-bfin.lo \
  1.4093 - 	elf32-cr16.lo \
  1.4094 - 	elf32-cr16c.lo \
  1.4095 -@@ -1328,6 +1330,10 @@ elf32-cr16.lo: elf32-cr16.c $(INCDIR)/fi
  1.4096 -   $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h elf-bfd.h \
  1.4097 -   $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
  1.4098 -   $(INCDIR)/elf/cr16.h $(INCDIR)/elf/reloc-macros.h elf32-target.h
  1.4099 -+elf32-avr32.lo: elf32-avr32.c $(INCDIR)/filenames.h elf-bfd.h \
  1.4100 -+  $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
  1.4101 -+  $(INCDIR)/bfdlink.h $(INCDIR)/elf/avr32.h $(INCDIR)/elf/reloc-macros.h \
  1.4102 -+  elf32-target.h
  1.4103 - elf32-cr16c.lo: elf32-cr16c.c $(INCDIR)/filenames.h \
  1.4104 -   $(INCDIR)/hashtab.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/cr16c.h \
  1.4105 -   $(INCDIR)/elf/reloc-macros.h elf-bfd.h $(INCDIR)/elf/common.h \
  1.4106 ---- a/bfd/reloc.c
  1.4107 -+++ b/bfd/reloc.c
  1.4108 -@@ -3948,6 +3948,131 @@ ENUMDOC
  1.4109 -   instructions
  1.4110 - 
  1.4111 - ENUM
  1.4112 -+  BFD_RELOC_AVR32_DIFF32
  1.4113 -+ENUMX
  1.4114 -+  BFD_RELOC_AVR32_DIFF16
  1.4115 -+ENUMX
  1.4116 -+  BFD_RELOC_AVR32_DIFF8
  1.4117 -+ENUMDOC
  1.4118 -+  Difference between two labels: L2 - L1. The value of L1 is encoded
  1.4119 -+  as sym + addend, while the initial difference after assembly is
  1.4120 -+  inserted into the object file by the assembler.
  1.4121 -+ENUM
  1.4122 -+  BFD_RELOC_AVR32_GOT32
  1.4123 -+ENUMX
  1.4124 -+  BFD_RELOC_AVR32_GOT16
  1.4125 -+ENUMX
  1.4126 -+  BFD_RELOC_AVR32_GOT8
  1.4127 -+ENUMDOC
  1.4128 -+  Reference to a symbol through the Global Offset Table. The linker
  1.4129 -+  will allocate an entry for symbol in the GOT and insert the offset
  1.4130 -+  of this entry as the relocation value.
  1.4131 -+ENUM
  1.4132 -+  BFD_RELOC_AVR32_21S
  1.4133 -+ENUMX
  1.4134 -+  BFD_RELOC_AVR32_16U
  1.4135 -+ENUMX
  1.4136 -+  BFD_RELOC_AVR32_16S
  1.4137 -+ENUMX
  1.4138 -+  BFD_RELOC_AVR32_SUB5
  1.4139 -+ENUMX
  1.4140 -+  BFD_RELOC_AVR32_8S_EXT
  1.4141 -+ENUMX
  1.4142 -+  BFD_RELOC_AVR32_8S
  1.4143 -+ENUMX
  1.4144 -+  BFD_RELOC_AVR32_15S
  1.4145 -+ENUMDOC
  1.4146 -+  Normal (non-pc-relative) code relocations. Alignment and signedness
  1.4147 -+  is indicated by the suffixes. S means signed, U means unsigned. W
  1.4148 -+  means word-aligned, H means halfword-aligned, neither means
  1.4149 -+  byte-aligned (no alignment.) SUB5 is the same relocation as 16S.
  1.4150 -+ENUM
  1.4151 -+  BFD_RELOC_AVR32_22H_PCREL
  1.4152 -+ENUMX
  1.4153 -+  BFD_RELOC_AVR32_18W_PCREL
  1.4154 -+ENUMX
  1.4155 -+  BFD_RELOC_AVR32_16B_PCREL
  1.4156 -+ENUMX
  1.4157 -+  BFD_RELOC_AVR32_16N_PCREL
  1.4158 -+ENUMX
  1.4159 -+  BFD_RELOC_AVR32_14UW_PCREL
  1.4160 -+ENUMX
  1.4161 -+  BFD_RELOC_AVR32_11H_PCREL
  1.4162 -+ENUMX
  1.4163 -+  BFD_RELOC_AVR32_10UW_PCREL
  1.4164 -+ENUMX
  1.4165 -+  BFD_RELOC_AVR32_9H_PCREL
  1.4166 -+ENUMX
  1.4167 -+  BFD_RELOC_AVR32_9UW_PCREL
  1.4168 -+ENUMDOC
  1.4169 -+  PC-relative relocations are signed if neither 'U' nor 'S' is
  1.4170 -+  specified. However, we explicitly tack on a 'B' to indicate no
  1.4171 -+  alignment, to avoid confusion with data relocs. All of these resolve
  1.4172 -+  to sym + addend - offset, except the one with 'N' (negated) suffix.
  1.4173 -+  This particular one resolves to offset - sym - addend.
  1.4174 -+ENUM
  1.4175 -+  BFD_RELOC_AVR32_GOTPC
  1.4176 -+ENUMDOC
  1.4177 -+  Subtract the link-time address of the GOT from (symbol + addend)
  1.4178 -+  and insert the result.
  1.4179 -+ENUM
  1.4180 -+  BFD_RELOC_AVR32_GOTCALL
  1.4181 -+ENUMX
  1.4182 -+  BFD_RELOC_AVR32_LDA_GOT
  1.4183 -+ENUMX
  1.4184 -+  BFD_RELOC_AVR32_GOT21S
  1.4185 -+ENUMX
  1.4186 -+  BFD_RELOC_AVR32_GOT18SW
  1.4187 -+ENUMX
  1.4188 -+  BFD_RELOC_AVR32_GOT16S
  1.4189 -+ENUMDOC
  1.4190 -+  Reference to a symbol through the GOT. The linker will allocate an
  1.4191 -+  entry for symbol in the GOT and insert the offset of this entry as
  1.4192 -+  the relocation value. addend must be zero. As usual, 'S' means
  1.4193 -+  signed, 'W' means word-aligned, etc.
  1.4194 -+ENUM
  1.4195 -+  BFD_RELOC_AVR32_32_CPENT
  1.4196 -+ENUMDOC
  1.4197 -+  32-bit constant pool entry. I don't think 8- and 16-bit entries make
  1.4198 -+  a whole lot of sense.
  1.4199 -+ENUM
  1.4200 -+  BFD_RELOC_AVR32_CPCALL
  1.4201 -+ENUMX
  1.4202 -+  BFD_RELOC_AVR32_16_CP
  1.4203 -+ENUMX
  1.4204 -+  BFD_RELOC_AVR32_9W_CP
  1.4205 -+ENUMDOC
  1.4206 -+  Constant pool references. Some of these relocations are signed,
  1.4207 -+  others are unsigned. It doesn't really matter, since the constant
  1.4208 -+  pool always comes after the code that references it.
  1.4209 -+ENUM
  1.4210 -+  BFD_RELOC_AVR32_ALIGN
  1.4211 -+ENUMDOC
  1.4212 -+  sym must be the absolute symbol. The addend specifies the alignment
  1.4213 -+  order, e.g. if addend is 2, the linker must add padding so that the
  1.4214 -+  next address is aligned to a 4-byte boundary.
  1.4215 -+ENUM
  1.4216 -+  BFD_RELOC_AVR32_14UW
  1.4217 -+ENUMX
  1.4218 -+  BFD_RELOC_AVR32_10UW
  1.4219 -+ENUMX
  1.4220 -+  BFD_RELOC_AVR32_10SW
  1.4221 -+ENUMX
  1.4222 -+  BFD_RELOC_AVR32_STHH_W
  1.4223 -+ENUMX
  1.4224 -+  BFD_RELOC_AVR32_7UW
  1.4225 -+ENUMX
  1.4226 -+  BFD_RELOC_AVR32_6S
  1.4227 -+ENUMX
  1.4228 -+  BFD_RELOC_AVR32_6UW
  1.4229 -+ENUMX
  1.4230 -+  BFD_RELOC_AVR32_4UH
  1.4231 -+ENUMX
  1.4232 -+  BFD_RELOC_AVR32_3U
  1.4233 -+ENUMDOC
  1.4234 -+  Code relocations that will never make it to the output file.
  1.4235 -+
  1.4236 -+ENUM
  1.4237 -   BFD_RELOC_390_12
  1.4238 - ENUMDOC
  1.4239 -    Direct 12 bit.
  1.4240 ---- a/bfd/targets.c
  1.4241 -+++ b/bfd/targets.c
  1.4242 -@@ -564,6 +564,7 @@ extern const bfd_target bfd_efi_app_ia32
  1.4243 - extern const bfd_target bfd_efi_app_x86_64_vec;
  1.4244 - extern const bfd_target bfd_efi_app_ia64_vec;
  1.4245 - extern const bfd_target bfd_elf32_avr_vec;
  1.4246 -+extern const bfd_target bfd_elf32_avr32_vec;
  1.4247 - extern const bfd_target bfd_elf32_bfin_vec;
  1.4248 - extern const bfd_target bfd_elf32_bfinfdpic_vec;
  1.4249 - extern const bfd_target bfd_elf32_big_generic_vec;
  1.4250 -@@ -884,6 +885,7 @@ static const bfd_target * const _bfd_tar
  1.4251 - 	&bfd_efi_app_ia64_vec,
  1.4252 - #endif
  1.4253 - 	&bfd_elf32_avr_vec,
  1.4254 -+	&bfd_elf32_avr32_vec,
  1.4255 - 	&bfd_elf32_bfin_vec,
  1.4256 - 	&bfd_elf32_bfinfdpic_vec,
  1.4257 - 
  1.4258 ---- a/binutils/Makefile.am
  1.4259 -+++ b/binutils/Makefile.am
  1.4260 -@@ -577,7 +577,7 @@ readelf.o: readelf.c sysdep.h $(INCDIR)/
  1.4261 -   $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h bucomm.h dwarf.h \
  1.4262 -   $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h \
  1.4263 -   $(INCDIR)/elf/h8.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/elf/alpha.h \
  1.4264 --  $(INCDIR)/elf/arc.h $(INCDIR)/elf/arm.h $(INCDIR)/elf/avr.h \
  1.4265 -+  $(INCDIR)/elf/arc.h $(INCDIR)/elf/arm.h $(INCDIR)/elf/avr.h $(INCDIR)/elf/avr32.h\
  1.4266 -   $(INCDIR)/elf/bfin.h $(INCDIR)/elf/cris.h $(INCDIR)/elf/crx.h \
  1.4267 -   $(INCDIR)/elf/d10v.h $(INCDIR)/elf/d30v.h $(INCDIR)/elf/dlx.h \
  1.4268 -   $(INCDIR)/elf/fr30.h $(INCDIR)/elf/frv.h $(INCDIR)/elf/hppa.h \
  1.4269 ---- a/binutils/readelf.c
  1.4270 -+++ b/binutils/readelf.c
  1.4271 -@@ -21,7 +21,7 @@
  1.4272 -    along with this program; if not, write to the Free Software
  1.4273 -    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
  1.4274 -    02110-1301, USA.  */
  1.4275 --
  1.4276 -+
  1.4277 - /* The difference between readelf and objdump:
  1.4278 - 
  1.4279 -   Both programs are capable of displaying the contents of ELF format files,
  1.4280 -@@ -40,7 +40,7 @@
  1.4281 -   There is also the case that readelf can provide more information about an
  1.4282 -   ELF file than is provided by objdump.  In particular it can display DWARF
  1.4283 -   debugging information which (at the moment) objdump cannot.  */
  1.4284 --
  1.4285 -+
  1.4286 - #include "sysdep.h"
  1.4287 - #include <assert.h>
  1.4288 - #include <sys/stat.h>
  1.4289 -@@ -109,6 +109,7 @@
  1.4290 - #include "elf/arc.h"
  1.4291 - #include "elf/arm.h"
  1.4292 - #include "elf/avr.h"
  1.4293 -+#include "elf/avr32.h"
  1.4294 - #include "elf/bfin.h"
  1.4295 - #include "elf/cr16.h"
  1.4296 - #include "elf/cris.h"
  1.4297 -@@ -303,7 +304,7 @@ static void (*byte_put) (unsigned char *
  1.4298 - #define streq(a,b)	  (strcmp ((a), (b)) == 0)
  1.4299 - #define strneq(a,b,n)	  (strncmp ((a), (b), (n)) == 0)
  1.4300 - #define const_strneq(a,b) (strncmp ((a), (b), sizeof (b) - 1) == 0)
  1.4301 --
  1.4302 -+
  1.4303 - static void *
  1.4304 - get_data (void *var, FILE *file, long offset, size_t size, size_t nmemb,
  1.4305 - 	  const char *reason)
  1.4306 -@@ -614,6 +615,7 @@ guess_is_rela (unsigned long e_machine)
  1.4307 -     case EM_ALPHA:
  1.4308 -     case EM_ALTERA_NIOS2:
  1.4309 -     case EM_AVR:
  1.4310 -+    case EM_AVR32:
  1.4311 -     case EM_AVR_OLD:
  1.4312 -     case EM_BLACKFIN:
  1.4313 -     case EM_CR16:
  1.4314 -@@ -1006,6 +1008,10 @@ dump_relocations (FILE *file,
  1.4315 - 	  rtype = elf_avr_reloc_type (type);
  1.4316 - 	  break;
  1.4317 - 
  1.4318 -+	case EM_AVR32:
  1.4319 -+	  rtype = elf_avr32_reloc_type (type);
  1.4320 -+	  break;
  1.4321 -+
  1.4322 - 	case EM_OLD_SPARCV9:
  1.4323 - 	case EM_SPARC32PLUS:
  1.4324 - 	case EM_SPARCV9:
  1.4325 -@@ -1763,6 +1769,7 @@ get_machine_name (unsigned e_machine)
  1.4326 -     case EM_VAX:		return "Digital VAX";
  1.4327 -     case EM_AVR_OLD:
  1.4328 -     case EM_AVR:		return "Atmel AVR 8-bit microcontroller";
  1.4329 -+    case EM_AVR32:		return "Atmel AVR32";
  1.4330 -     case EM_CRIS:		return "Axis Communications 32-bit embedded processor";
  1.4331 -     case EM_JAVELIN:		return "Infineon Technologies 32-bit embedded cpu";
  1.4332 -     case EM_FIREPATH:		return "Element 14 64-bit DSP processor";
  1.4333 ---- a/gas/as.c
  1.4334 -+++ b/gas/as.c
  1.4335 -@@ -441,10 +441,10 @@ parse_args (int * pargc, char *** pargv)
  1.4336 -        the end of the preceeding line so that it is simpler to
  1.4337 -        selectively add and remove lines from this list.  */
  1.4338 -     {"alternate", no_argument, NULL, OPTION_ALTERNATE}
  1.4339 --    /* The entry for "a" is here to prevent getopt_long_only() from
  1.4340 --       considering that -a is an abbreviation for --alternate.  This is
  1.4341 --       necessary because -a=<FILE> is a valid switch but getopt would
  1.4342 --       normally reject it since --alternate does not take an argument.  */
  1.4343 -+    /* The next two entries are here to prevent getopt_long_only() from
  1.4344 -+       considering that -a or -al is an abbreviation for --alternate.
  1.4345 -+       This is necessary because -a=<FILE> is a valid switch but getopt
  1.4346 -+       would normally reject it since --alternate does not take an argument.  */
  1.4347 -     ,{"a", optional_argument, NULL, 'a'}
  1.4348 -     /* Handle -al=<FILE>.  */
  1.4349 -     ,{"al", optional_argument, NULL, OPTION_AL}
  1.4350 -@@ -803,8 +803,15 @@ This program has absolutely no warranty.
  1.4351 - 	case 'a':
  1.4352 - 	  if (optarg)
  1.4353 - 	    {
  1.4354 --	      if (optarg != old_argv[optind] && optarg[-1] == '=')
  1.4355 --		--optarg;
  1.4356 -+	      /* If optarg is part of the -a switch and not a separate argument
  1.4357 -+		 in its own right, then scan backwards to the just after the -a.
  1.4358 -+		 This means skipping over both '=' and 'l' which might have been
  1.4359 -+		 taken to be part of the -a switch itself.  */
  1.4360 -+	      if (optarg != old_argv[optind])
  1.4361 -+		{
  1.4362 -+		  while (optarg[-1] == '=' || optarg[-1] == 'l')
  1.4363 -+		    --optarg;
  1.4364 -+		}
  1.4365 - 
  1.4366 - 	      if (md_parse_option (optc, optarg) != 0)
  1.4367 - 		break;
  1.4368 -@@ -1234,7 +1241,7 @@ main (int argc, char ** argv)
  1.4369 -     keep_it = 0;
  1.4370 - 
  1.4371 -   if (!keep_it)
  1.4372 --    unlink_if_ordinary (out_file_name);
  1.4373 -+    unlink (out_file_name);
  1.4374 - 
  1.4375 -   input_scrub_end ();
  1.4376 - 
  1.4377 ---- /dev/null
  1.4378 -+++ b/gas/config/tc-avr32.c
  1.4379 -@@ -0,0 +1,4806 @@
  1.4380 -+/* Assembler implementation for AVR32.
  1.4381 -+   Copyright 2003-2006 Atmel Corporation.
  1.4382 -+
  1.4383 -+   Written by Haavard Skinnemoen, Atmel Norway, <hskinnemoen@atmel.com>
  1.4384 -+
  1.4385 -+   This file is part of GAS, the GNU Assembler.
  1.4386 -+
  1.4387 -+   GAS is free software; you can redistribute it and/or modify it
  1.4388 -+   under the terms of the GNU General Public License as published by
  1.4389 -+   the Free Software Foundation; either version 2, or (at your option)
  1.4390 -+   any later version.
  1.4391 -+
  1.4392 -+   GAS is distributed in the hope that it will be useful, but WITHOUT
  1.4393 -+   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  1.4394 -+   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
  1.4395 -+   License for more details.
  1.4396 -+
  1.4397 -+   You should have received a copy of the GNU General Public License
  1.4398 -+   along with GAS; see the file COPYING.  If not, write to the Free
  1.4399 -+   Software Foundation, 59 Temple Place - Suite 330, Boston, MA
  1.4400 -+   02111-1307, USA.  */
  1.4401 -+
  1.4402 -+#include <stdio.h>
  1.4403 -+#include "as.h"
  1.4404 -+#include "safe-ctype.h"
  1.4405 -+#include "subsegs.h"
  1.4406 -+#include "symcat.h"
  1.4407 -+#include "opcodes/avr32-opc.h"
  1.4408 -+#include "opcodes/avr32-asm.h"
  1.4409 -+#include "elf/avr32.h"
  1.4410 -+#include "dwarf2dbg.h"
  1.4411 -+
  1.4412 -+#define xDEBUG
  1.4413 -+#define xOPC_CONSISTENCY_CHECK
  1.4414 -+
  1.4415 -+#ifdef DEBUG
  1.4416 -+# define pr_debug(fmt, args...) fprintf(stderr, fmt, ##args)
  1.4417 -+#else
  1.4418 -+# define pr_debug(fmt, args...)
  1.4419 -+#endif
  1.4420 -+
  1.4421 -+/* 3 MSB of instruction word indicate group. Group 7 -> extended */
  1.4422 -+#define AVR32_COMPACT_P(opcode) ((opcode[0] & 0xe0) != 0xe0)
  1.4423 -+
  1.4424 -+#define streq(a, b)		(strcmp(a, b) == 0)
  1.4425 -+#define skip_whitespace(str)	do { while(*(str) == ' ') ++(str); } while(0)
  1.4426 -+
  1.4427 -+/* Flags given on the command line */
  1.4428 -+static int avr32_pic	= FALSE;
  1.4429 -+int linkrelax	= FALSE;
  1.4430 -+int avr32_iarcompat	= FALSE;
  1.4431 -+
  1.4432 -+/* This array holds the chars that always start a comment. */
  1.4433 -+const char comment_chars[]		= "#";
  1.4434 -+
  1.4435 -+/* This array holds the chars that only start a comment at the
  1.4436 -+   beginning of a line.  We must include '#' here because the compiler
  1.4437 -+   may produce #APP and #NO_APP in its output.  */
  1.4438 -+const char line_comment_chars[]		= "#";
  1.4439 -+
  1.4440 -+/* These may be used instead of newline (same as ';' in C).  */
  1.4441 -+const char line_separator_chars[]	= ";";
  1.4442 -+
  1.4443 -+/* Chars that can be used to separate mantissa from exponent in
  1.4444 -+   floating point numbers.  */
  1.4445 -+const char EXP_CHARS[]			= "eE";
  1.4446 -+
  1.4447 -+/* Chars that mean this number is a floating point constant.  */
  1.4448 -+const char FLT_CHARS[]			= "dD";
  1.4449 -+
  1.4450 -+/* Pre-defined "_GLOBAL_OFFSET_TABLE_"  */
  1.4451 -+symbolS *GOT_symbol;
  1.4452 -+
  1.4453 -+static struct hash_control *avr32_mnemonic_htab;
  1.4454 -+
  1.4455 -+struct avr32_ifield_data
  1.4456 -+{
  1.4457 -+  bfd_vma value;
  1.4458 -+  /* FIXME: Get rid of align_order and complain. complain is never
  1.4459 -+     used, align_order is used in one place.  Try to use the relax
  1.4460 -+     table instead.  */
  1.4461 -+  unsigned int align_order;
  1.4462 -+};
  1.4463 -+
  1.4464 -+struct avr32_insn
  1.4465 -+{
  1.4466 -+  const struct avr32_syntax *syntax;
  1.4467 -+  expressionS immediate;
  1.4468 -+  int pcrel;
  1.4469 -+  int force_extended;
  1.4470 -+  unsigned int next_slot;
  1.4471 -+  bfd_reloc_code_real_type r_type;
  1.4472 -+  struct avr32_ifield_data field_value[AVR32_MAX_FIELDS];
  1.4473 -+};
  1.4474 -+
  1.4475 -+static struct avr32_insn current_insn;
  1.4476 -+
  1.4477 -+/* The target specific pseudo-ops we support. */
  1.4478 -+static void s_rseg (int);
  1.4479 -+static void s_cpool(int);
  1.4480 -+
  1.4481 -+const pseudo_typeS md_pseudo_table[] =
  1.4482 -+{
  1.4483 -+  /* Make sure that .word is 32 bits */
  1.4484 -+  { "word", cons, 4 },
  1.4485 -+  { "file", (void (*) PARAMS ((int))) dwarf2_directive_file, 0 },
  1.4486 -+  { "loc", dwarf2_directive_loc, 0 },
  1.4487 -+
  1.4488 -+  /* .lcomm requires an explicit alignment parameter */
  1.4489 -+  { "lcomm", s_lcomm, 1 },
  1.4490 -+
  1.4491 -+  /* AVR32-specific pseudo-ops */
  1.4492 -+  { "cpool", s_cpool, 0},
  1.4493 -+
  1.4494 -+  /* IAR compatible pseudo-ops */
  1.4495 -+  { "program", s_ignore, 0 },
  1.4496 -+  { "public", s_globl, 0 },
  1.4497 -+  { "extern", s_ignore, 0 },
  1.4498 -+  { "module", s_ignore, 0 },
  1.4499 -+  { "rseg", s_rseg, 0 },
  1.4500 -+  { "dc8", cons, 1 },
  1.4501 -+  { "dc16", cons, 2 },
  1.4502 -+  { "dc32", cons, 4 },
  1.4503 -+
  1.4504 -+  { NULL, NULL, 0 }
  1.4505 -+};
  1.4506 -+
  1.4507 -+/* Questionable stuff starts here */
  1.4508 -+
  1.4509 -+enum avr32_opinfo {
  1.4510 -+  AVR32_OPINFO_NONE = BFD_RELOC_NONE,
  1.4511 -+  AVR32_OPINFO_GOT,
  1.4512 -+  AVR32_OPINFO_TLSGD,
  1.4513 -+  AVR32_OPINFO_HI,
  1.4514 -+  AVR32_OPINFO_LO,
  1.4515 -+};
  1.4516 -+
  1.4517 -+enum avr32_arch {
  1.4518 -+  ARCH_TYPE_AP,
  1.4519 -+  ARCH_TYPE_UCR1,
  1.4520 -+  ARCH_TYPE_UCR2,
  1.4521 -+};
  1.4522 -+
  1.4523 -+struct arch_type_s
  1.4524 -+{
  1.4525 -+  /* Architecture name */
  1.4526 -+  char *name;
  1.4527 -+  /* Instruction Set Architecture Flags */
  1.4528 -+  unsigned long isa_flags;
  1.4529 -+};
  1.4530 -+
  1.4531 -+struct part_type_s
  1.4532 -+{
  1.4533 -+  /* Part name */
  1.4534 -+  char *name;
  1.4535 -+  /* Architecture type */
  1.4536 -+  unsigned int arch;
  1.4537 -+};
  1.4538 -+
  1.4539 -+static struct arch_type_s arch_types[] =
  1.4540 -+{
  1.4541 -+  {"ap", AVR32_V1 | AVR32_SIMD | AVR32_DSP | AVR32_PICO},
  1.4542 -+  {"ucr1", AVR32_V1 | AVR32_DSP | AVR32_RMW},
  1.4543 -+  {"ucr2", AVR32_V1 | AVR32_V2 | AVR32_DSP | AVR32_RMW},
  1.4544 -+  {"all-insn", AVR32_V1 | AVR32_V2 | AVR32_SIMD | AVR32_DSP | AVR32_RMW | AVR32_FP | AVR32_PICO},
  1.4545 -+  {NULL, 0}
  1.4546 -+};
  1.4547 -+
  1.4548 -+static struct part_type_s part_types[] = {
  1.4549 -+  {"ap7000", ARCH_TYPE_AP},
  1.4550 -+  {"ap7001", ARCH_TYPE_AP},
  1.4551 -+  {"ap7002", ARCH_TYPE_AP},
  1.4552 -+  {"ap7200", ARCH_TYPE_AP},
  1.4553 -+  {"uc3a0128", ARCH_TYPE_UCR2},
  1.4554 -+  {"uc3a0256", ARCH_TYPE_UCR2},
  1.4555 -+  {"uc3a0512es", ARCH_TYPE_UCR1},
  1.4556 -+  {"uc3a0512", ARCH_TYPE_UCR2},
  1.4557 -+  {"uc3a1128", ARCH_TYPE_UCR2},
  1.4558 -+  {"uc3a1256es", ARCH_TYPE_UCR1},
  1.4559 -+  {"uc3a1256", ARCH_TYPE_UCR2},
  1.4560 -+  {"uc3a1512es", ARCH_TYPE_UCR1},
  1.4561 -+  {"uc3a1512", ARCH_TYPE_UCR2},
  1.4562 -+  {"uc3a364", ARCH_TYPE_UCR2},
  1.4563 -+  {"uc3a364s", ARCH_TYPE_UCR2},
  1.4564 -+  {"uc3a3128", ARCH_TYPE_UCR2},
  1.4565 -+  {"uc3a3128s", ARCH_TYPE_UCR2},
  1.4566 -+  {"uc3a3256", ARCH_TYPE_UCR2},
  1.4567 -+  {"uc3a3256s", ARCH_TYPE_UCR2},
  1.4568 -+  {"uc3b064", ARCH_TYPE_UCR1},
  1.4569 -+  {"uc3b0128", ARCH_TYPE_UCR1},
  1.4570 -+  {"uc3b0256es", ARCH_TYPE_UCR1},
  1.4571 -+  {"uc3b0256", ARCH_TYPE_UCR1},
  1.4572 -+  {"uc3b164", ARCH_TYPE_UCR1},
  1.4573 -+  {"uc3b1128", ARCH_TYPE_UCR1},
  1.4574 -+  {"uc3b1256es", ARCH_TYPE_UCR1},
  1.4575 -+  {"uc3b1256", ARCH_TYPE_UCR1},
  1.4576 -+  {NULL, 0}
  1.4577 -+};
  1.4578 -+
  1.4579 -+/* Current architecture type.  */
  1.4580 -+static struct arch_type_s default_arch = {"all-insn", AVR32_V1 | AVR32_V2 | AVR32_SIMD | AVR32_DSP | AVR32_RMW | AVR32_FP | AVR32_PICO };
  1.4581 -+static struct arch_type_s *avr32_arch = &default_arch;
  1.4582 -+
  1.4583 -+/* Display nicely formatted list of known part- and architecture names.  */
  1.4584 -+
  1.4585 -+static void
  1.4586 -+show_arch_list (FILE *stream)
  1.4587 -+{
  1.4588 -+  int i, x;
  1.4589 -+
  1.4590 -+  fprintf (stream, _("Known architecture names:"));
  1.4591 -+  x = 1000;
  1.4592 -+
  1.4593 -+  for (i = 0; arch_types[i].name; i++)
  1.4594 -+    {
  1.4595 -+      int len = strlen (arch_types[i].name);
  1.4596 -+
  1.4597 -+      x += len + 1;
  1.4598 -+
  1.4599 -+      if (x < 75)
  1.4600 -+	fprintf (stream, " %s", arch_types[i].name);
  1.4601 -+      else
  1.4602 -+	{
  1.4603 -+	  fprintf (stream, "\n  %s", arch_types[i].name);
  1.4604 -+	  x = len + 2;
  1.4605 -+	}
  1.4606 -+    }
  1.4607 -+
  1.4608 -+  fprintf (stream, "\n");
  1.4609 -+}
  1.4610 -+
  1.4611 -+static void
  1.4612 -+show_part_list (FILE *stream)
  1.4613 -+{
  1.4614 -+  int i, x;
  1.4615 -+
  1.4616 -+  fprintf (stream, _("Known part names:"));
  1.4617 -+  x = 1000;
  1.4618 -+
  1.4619 -+  for (i = 0; part_types[i].name; i++)
  1.4620 -+    {
  1.4621 -+      int len = strlen(part_types[i].name);
  1.4622 -+
  1.4623 -+      x += len + 1;
  1.4624 -+
  1.4625 -+      if (x < 75)
  1.4626 -+	fprintf (stream, " %s", part_types[i].name);
  1.4627 -+      else
  1.4628 -+	{
  1.4629 -+	  fprintf(stream, "\n  %s", part_types[i].name);
  1.4630 -+	  x = len + 2;
  1.4631 -+	}
  1.4632 -+    }
  1.4633 -+
  1.4634 -+  fprintf (stream, "\n");
  1.4635 -+}
  1.4636 -+
  1.4637 -+const char *md_shortopts = "";
  1.4638 -+struct option md_longopts[] =
  1.4639 -+{
  1.4640 -+#define OPTION_ARCH		(OPTION_MD_BASE)
  1.4641 -+#define OPTION_PART		(OPTION_ARCH + 1)
  1.4642 -+#define OPTION_IAR		(OPTION_PART + 1)
  1.4643 -+#define OPTION_PIC		(OPTION_IAR + 1)
  1.4644 -+#define OPTION_NOPIC		(OPTION_PIC + 1)
  1.4645 -+#define OPTION_LINKRELAX	(OPTION_NOPIC + 1)
  1.4646 -+#define OPTION_NOLINKRELAX	(OPTION_LINKRELAX + 1)
  1.4647 -+#define OPTION_DIRECT_DATA_REFS (OPTION_NOLINKRELAX + 1)
  1.4648 -+  {"march",		required_argument, NULL, OPTION_ARCH},
  1.4649 -+  {"mpart",		required_argument, NULL, OPTION_PART},
  1.4650 -+  {"iar",		no_argument, NULL, OPTION_IAR},
  1.4651 -+  {"pic",		no_argument, NULL, OPTION_PIC},
  1.4652 -+  {"no-pic",		no_argument, NULL, OPTION_NOPIC},
  1.4653 -+  {"linkrelax",		no_argument, NULL, OPTION_LINKRELAX},
  1.4654 -+  {"no-linkrelax",	no_argument, NULL, OPTION_NOLINKRELAX},
  1.4655 -+  /* deprecated alias for -mpart=xxx */
  1.4656 -+  {"mcpu",		required_argument, NULL, OPTION_PART},
  1.4657 -+  {NULL,		no_argument, NULL, 0}
  1.4658 -+};
  1.4659 -+
  1.4660 -+size_t md_longopts_size = sizeof (md_longopts);
  1.4661 -+
  1.4662 -+void
  1.4663 -+md_show_usage (FILE *stream)
  1.4664 -+{
  1.4665 -+  fprintf (stream, _("\
  1.4666 -+AVR32 options:\n\
  1.4667 -+  -march=[arch-name]      Select cpu architecture. [Default `all-insn']\n\
  1.4668 -+  -mpart=[part-name]      Select specific part. [Default `none']\n\
  1.4669 -+  --pic                   Produce Position-Independent Code\n\
  1.4670 -+  --no-pic                Don't produce Position-Independent Code\n\
  1.4671 -+  --linkrelax             Produce output suitable for linker relaxing\n\
  1.4672 -+  --no-linkrelax          Don't produce output suitable for linker relaxing\n"));
  1.4673 -+  show_arch_list(stream);
  1.4674 -+}
  1.4675 -+
  1.4676 -+int
  1.4677 -+md_parse_option (int c, char *arg ATTRIBUTE_UNUSED)
  1.4678 -+{
  1.4679 -+  switch (c)
  1.4680 -+    {
  1.4681 -+    case OPTION_ARCH:
  1.4682 -+      {
  1.4683 -+	int i;
  1.4684 -+	char *s = alloca (strlen (arg) + 1);
  1.4685 -+
  1.4686 -+	{
  1.4687 -+	  char *t = s;
  1.4688 -+	  char *arg1 = arg;
  1.4689 -+
  1.4690 -+	  do
  1.4691 -+	    *t = TOLOWER (*arg1++);
  1.4692 -+	  while (*t++);
  1.4693 -+	}
  1.4694 -+
  1.4695 -+        /* Add backward compability */
  1.4696 -+        if (strcmp ("uc", s)== 0)
  1.4697 -+          {
  1.4698 -+            as_warn("Deprecated arch `%s' specified. "
  1.4699 -+                    "Please use '-march=ucr1' instead. "
  1.4700 -+                    "Converting to arch 'ucr1'\n",
  1.4701 -+                     s);
  1.4702 -+            s="ucr1";
  1.4703 -+          }
  1.4704 -+
  1.4705 -+	for (i = 0; arch_types[i].name; ++i)
  1.4706 -+	  if (strcmp (arch_types[i].name, s) == 0)
  1.4707 -+	    break;
  1.4708 -+
  1.4709 -+	if (!arch_types[i].name)
  1.4710 -+	  {
  1.4711 -+	    show_arch_list (stderr);
  1.4712 -+	    as_fatal (_("unknown architecture: %s\n"), arg);
  1.4713 -+	  }
  1.4714 -+
  1.4715 -+        avr32_arch = &arch_types[i];
  1.4716 -+	break;
  1.4717 -+      }
  1.4718 -+    case OPTION_PART:
  1.4719 -+      {
  1.4720 -+	int i;
  1.4721 -+	char *s = alloca (strlen (arg) + 1);
  1.4722 -+	char *t = s;
  1.4723 -+	char *p = arg;
  1.4724 -+
  1.4725 -+	/* If arch type has already been set, don't bother.
  1.4726 -+	   -march= always overrides -mpart=  */
  1.4727 -+	if (avr32_arch != &default_arch)
  1.4728 -+	  break;
  1.4729 -+
  1.4730 -+	do
  1.4731 -+	  *t = TOLOWER (*p++);
  1.4732 -+	while (*t++);
  1.4733 -+
  1.4734 -+	for (i = 0; part_types[i].name; ++i)
  1.4735 -+	  if (strcmp (part_types[i].name, s) == 0)
  1.4736 -+	    break;
  1.4737 -+
  1.4738 -+	if (!part_types[i].name)
  1.4739 -+	  {
  1.4740 -+	    show_part_list (stderr);
  1.4741 -+	    as_fatal (_("unknown part: %s\n"), arg);
  1.4742 -+	  }
  1.4743 -+
  1.4744 -+	avr32_arch = &arch_types[part_types[i].arch];
  1.4745 -+	break;
  1.4746 -+      }
  1.4747 -+    case OPTION_IAR:
  1.4748 -+      avr32_iarcompat = 1;
  1.4749 -+      break;
  1.4750 -+    case OPTION_PIC:
  1.4751 -+      avr32_pic = 1;
  1.4752 -+      break;
  1.4753 -+    case OPTION_NOPIC:
  1.4754 -+      avr32_pic = 0;
  1.4755 -+      break;
  1.4756 -+    case OPTION_LINKRELAX:
  1.4757 -+      linkrelax = 1;
  1.4758 -+      break;
  1.4759 -+    case OPTION_NOLINKRELAX:
  1.4760 -+      linkrelax = 0;
  1.4761 -+      break;
  1.4762 -+    default:
  1.4763 -+      return 0;
  1.4764 -+    }
  1.4765 -+  return 1;
  1.4766 -+}
  1.4767 -+
  1.4768 -+/* Can't use symbol_new here, so have to create a symbol and then at
  1.4769 -+   a later date assign it a value. Thats what these functions do.
  1.4770 -+
  1.4771 -+   Shamelessly stolen from ARM.  */
  1.4772 -+
  1.4773 -+static void
  1.4774 -+symbol_locate (symbolS *    symbolP,
  1.4775 -+	       const char * name,	/* It is copied, the caller can modify.  */
  1.4776 -+	       segT         segment,	/* Segment identifier (SEG_<something>).  */
  1.4777 -+	       valueT       valu,	/* Symbol value.  */
  1.4778 -+	       fragS *      frag)	/* Associated fragment.  */
  1.4779 -+{
  1.4780 -+  unsigned int name_length;
  1.4781 -+  char * preserved_copy_of_name;
  1.4782 -+
  1.4783 -+  name_length = strlen (name) + 1;   /* +1 for \0.  */
  1.4784 -+  obstack_grow (&notes, name, name_length);
  1.4785 -+  preserved_copy_of_name = obstack_finish (&notes);
  1.4786 -+#ifdef STRIP_UNDERSCORE
  1.4787 -+  if (preserved_copy_of_name[0] == '_')
  1.4788 -+    preserved_copy_of_name++;
  1.4789 -+#endif
  1.4790 -+
  1.4791 -+#ifdef tc_canonicalize_symbol_name
  1.4792 -+  preserved_copy_of_name =
  1.4793 -+    tc_canonicalize_symbol_name (preserved_copy_of_name);
  1.4794 -+#endif
  1.4795 -+
  1.4796 -+  S_SET_NAME (symbolP, preserved_copy_of_name);
  1.4797 -+
  1.4798 -+  S_SET_SEGMENT (symbolP, segment);
  1.4799 -+  S_SET_VALUE (symbolP, valu);
  1.4800 -+  symbol_clear_list_pointers (symbolP);
  1.4801 -+
  1.4802 -+  symbol_set_frag (symbolP, frag);
  1.4803 -+
  1.4804 -+  /* Link to end of symbol chain.  */
  1.4805 -+  {
  1.4806 -+    extern int symbol_table_frozen;
  1.4807 -+
  1.4808 -+    if (symbol_table_frozen)
  1.4809 -+      abort ();
  1.4810 -+  }
  1.4811 -+
  1.4812 -+  symbol_append (symbolP, symbol_lastP, & symbol_rootP, & symbol_lastP);
  1.4813 -+
  1.4814 -+  obj_symbol_new_hook (symbolP);
  1.4815 -+
  1.4816 -+#ifdef tc_symbol_new_hook
  1.4817 -+  tc_symbol_new_hook (symbolP);
  1.4818 -+#endif
  1.4819 -+
  1.4820 -+#ifdef DEBUG_SYMS
  1.4821 -+  verify_symbol_chain (symbol_rootP, symbol_lastP);
  1.4822 -+#endif /* DEBUG_SYMS  */
  1.4823 -+}
  1.4824 -+
  1.4825 -+struct cpool_entry
  1.4826 -+{
  1.4827 -+  int			refcount;
  1.4828 -+  offsetT		offset;
  1.4829 -+  expressionS		exp;
  1.4830 -+};
  1.4831 -+
  1.4832 -+struct cpool
  1.4833 -+{
  1.4834 -+  struct cpool		*next;
  1.4835 -+  int			used;
  1.4836 -+  struct cpool_entry	*literals;
  1.4837 -+  unsigned int		padding;
  1.4838 -+  unsigned int		next_free_entry;
  1.4839 -+  unsigned int		id;
  1.4840 -+  symbolS		*symbol;
  1.4841 -+  segT			section;
  1.4842 -+  subsegT		sub_section;
  1.4843 -+};
  1.4844 -+
  1.4845 -+struct cpool *cpool_list = NULL;
  1.4846 -+
  1.4847 -+static struct cpool *
  1.4848 -+find_cpool(segT section, subsegT sub_section)
  1.4849 -+{
  1.4850 -+  struct cpool *pool;
  1.4851 -+
  1.4852 -+  for (pool = cpool_list; pool != NULL; pool = pool->next)
  1.4853 -+    {
  1.4854 -+      if (!pool->used
  1.4855 -+	  && pool->section == section
  1.4856 -+	  && pool->sub_section == sub_section)
  1.4857 -+	break;
  1.4858 -+    }
  1.4859 -+
  1.4860 -+  return pool;
  1.4861 -+}
  1.4862 -+
  1.4863 -+static struct cpool *
  1.4864 -+find_or_make_cpool(segT section, subsegT sub_section)
  1.4865 -+{
  1.4866 -+  static unsigned int next_cpool_id = 0;
  1.4867 -+  struct cpool *pool;
  1.4868 -+
  1.4869 -+  pool = find_cpool(section, sub_section);
  1.4870 -+
  1.4871 -+  if (!pool)
  1.4872 -+    {
  1.4873 -+      pool = xmalloc(sizeof(*pool));
  1.4874 -+      if (!pool)
  1.4875 -+	return NULL;
  1.4876 -+
  1.4877 -+      pool->used = 0;
  1.4878 -+      pool->literals = NULL;
  1.4879 -+      pool->padding = 0;
  1.4880 -+      pool->next_free_entry = 0;
  1.4881 -+      pool->section = section;
  1.4882 -+      pool->sub_section = sub_section;
  1.4883 -+      pool->next = cpool_list;
  1.4884 -+      pool->symbol = NULL;
  1.4885 -+
  1.4886 -+      cpool_list = pool;
  1.4887 -+    }
  1.4888 -+
  1.4889 -+  /* NULL symbol means that the pool is new or has just been emptied.  */
  1.4890 -+  if (!pool->symbol)
  1.4891 -+    {
  1.4892 -+      pool->symbol = symbol_create(FAKE_LABEL_NAME, undefined_section,
  1.4893 -+				   0, &zero_address_frag);
  1.4894 -+      pool->id = next_cpool_id++;
  1.4895 -+    }
  1.4896 -+
  1.4897 -+  return pool;
  1.4898 -+}
  1.4899 -+
  1.4900 -+static struct cpool *
  1.4901 -+add_to_cpool(expressionS *exp, unsigned int *index, int ref)
  1.4902 -+{
  1.4903 -+  struct cpool *pool;
  1.4904 -+  unsigned int entry;
  1.4905 -+
  1.4906 -+  pool = find_or_make_cpool(now_seg, now_subseg);
  1.4907 -+
  1.4908 -+  /* Check if this constant is already in the pool.  */
  1.4909 -+  for (entry = 0; entry < pool->next_free_entry; entry++)
  1.4910 -+    {
  1.4911 -+      if ((pool->literals[entry].exp.X_op == exp->X_op)
  1.4912 -+	  && (exp->X_op == O_constant)
  1.4913 -+	  && (pool->literals[entry].exp.X_add_number
  1.4914 -+	      == exp->X_add_number)
  1.4915 -+	  && (pool->literals[entry].exp.X_unsigned
  1.4916 -+	      == exp->X_unsigned))
  1.4917 -+	break;
  1.4918 -+
  1.4919 -+      if ((pool->literals[entry].exp.X_op == exp->X_op)
  1.4920 -+	  && (exp->X_op == O_symbol)
  1.4921 -+	  && (pool->literals[entry].exp.X_add_number
  1.4922 -+	      == exp->X_add_number)
  1.4923 -+	  && (pool->literals[entry].exp.X_add_symbol
  1.4924 -+	      == exp->X_add_symbol)
  1.4925 -+	  && (pool->literals[entry].exp.X_op_symbol
  1.4926 -+	      == exp->X_op_symbol))
  1.4927 -+	break;
  1.4928 -+    }
  1.4929 -+
  1.4930 -+  /* Create an entry if we didn't find a match */
  1.4931 -+  if (entry == pool->next_free_entry)
  1.4932 -+    {
  1.4933 -+      pool->literals = xrealloc(pool->literals,
  1.4934 -+				sizeof(struct cpool_entry) * (entry + 1));
  1.4935 -+      pool->literals[entry].exp = *exp;
  1.4936 -+      pool->literals[entry].refcount = 0;
  1.4937 -+      pool->next_free_entry++;
  1.4938 -+    }
  1.4939 -+
  1.4940 -+  if (index)
  1.4941 -+    *index = entry;
  1.4942 -+  if (ref)
  1.4943 -+    pool->literals[entry].refcount++;
  1.4944 -+
  1.4945 -+  return pool;
  1.4946 -+}
  1.4947 -+
  1.4948 -+struct avr32_operand
  1.4949 -+{
  1.4950 -+  int id;
  1.4951 -+  int is_signed;
  1.4952 -+  int is_pcrel;
  1.4953 -+  int align_order;
  1.4954 -+  int (*match)(char *str);
  1.4955 -+  void (*parse)(const struct avr32_operand *op, char *str, int opindex);
  1.4956 -+};
  1.4957 -+
  1.4958 -+static int
  1.4959 -+match_anything(char *str ATTRIBUTE_UNUSED)
  1.4960 -+{
  1.4961 -+  return 1;
  1.4962 -+}
  1.4963 -+
  1.4964 -+static int
  1.4965 -+match_intreg(char *str)
  1.4966 -+{
  1.4967 -+  int regid, ret = 1;
  1.4968 -+
  1.4969 -+  regid = avr32_parse_intreg(str);
  1.4970 -+  if (regid < 0)
  1.4971 -+    ret = 0;
  1.4972 -+
  1.4973 -+  pr_debug("match_intreg: `%s': %d\n", str, ret);
  1.4974 -+
  1.4975 -+  return ret;
  1.4976 -+}
  1.4977 -+
  1.4978 -+static int
  1.4979 -+match_intreg_predec(char *str)
  1.4980 -+{
  1.4981 -+  int regid;
  1.4982 -+
  1.4983 -+  if (str[0] != '-' || str[1] != '-')
  1.4984 -+    return 0;
  1.4985 -+
  1.4986 -+  regid = avr32_parse_intreg(str + 2);
  1.4987 -+  if (regid < 0)
  1.4988 -+    return 0;
  1.4989 -+
  1.4990 -+  return 1;
  1.4991 -+}
  1.4992 -+
  1.4993 -+static int
  1.4994 -+match_intreg_postinc(char *str)
  1.4995 -+{
  1.4996 -+  int regid, ret = 1;
  1.4997 -+  char *p, c;
  1.4998 -+
  1.4999 -+  for (p = str; *p; p++)
  1.5000 -+    if (*p == '+')
  1.5001 -+      break;
  1.5002 -+
  1.5003 -+  if (p[0] != '+' || p[1] != '+')
  1.5004 -+    return 0;
  1.5005 -+
  1.5006 -+  c = *p, *p = 0;
  1.5007 -+  regid = avr32_parse_intreg(str);
  1.5008 -+  if (regid < 0)
  1.5009 -+    ret = 0;
  1.5010 -+
  1.5011 -+  *p = c;
  1.5012 -+  return ret;
  1.5013 -+}
  1.5014 -+
  1.5015 -+static int
  1.5016 -+match_intreg_lsl(char *str)
  1.5017 -+{
  1.5018 -+  int regid, ret = 1;
  1.5019 -+  char *p, c;
  1.5020 -+
  1.5021 -+  for (p = str; *p; p++)
  1.5022 -+    if (*p == '<')
  1.5023 -+      break;
  1.5024 -+
  1.5025 -+  if (p[0] && p[1] != '<')
  1.5026 -+    return 0;
  1.5027 -+
  1.5028 -+  c = *p, *p = 0;
  1.5029 -+  regid = avr32_parse_intreg(str);
  1.5030 -+  if (regid < 0)
  1.5031 -+    ret = 0;
  1.5032 -+
  1.5033 -+  *p = c;
  1.5034 -+  return ret;
  1.5035 -+}
  1.5036 -+
  1.5037 -+static int
  1.5038 -+match_intreg_lsr(char *str)
  1.5039 -+{
  1.5040 -+  int regid, ret = 1;
  1.5041 -+  char *p, c;
  1.5042 -+
  1.5043 -+  for (p = str; *p; p++)
  1.5044 -+    if (*p == '>')
  1.5045 -+      break;
  1.5046 -+
  1.5047 -+  if (p[0] && p[1] != '>')
  1.5048 -+    return 0;
  1.5049 -+
  1.5050 -+  c = *p, *p = 0;
  1.5051 -+
  1.5052 -+  regid = avr32_parse_intreg(str);
  1.5053 -+  if (regid < 0)
  1.5054 -+    ret = 0;
  1.5055 -+
  1.5056 -+  *p = c;
  1.5057 -+  return ret;
  1.5058 -+}
  1.5059 -+
  1.5060 -+static int
  1.5061 -+match_intreg_part(char *str)
  1.5062 -+{
  1.5063 -+  int regid, ret = 1;
  1.5064 -+  char *p, c;
  1.5065 -+
  1.5066 -+  for (p = str; *p; p++)
  1.5067 -+    if (*p == ':')
  1.5068 -+      break;
  1.5069 -+
  1.5070 -+  if (p[0] != ':' || !ISPRINT(p[1]) || p[2] != '\0')
  1.5071 -+    return 0;
  1.5072 -+
  1.5073 -+  c = *p, *p = 0;
  1.5074 -+  regid = avr32_parse_intreg(str);
  1.5075 -+  if (regid < 0)
  1.5076 -+    ret = 0;
  1.5077 -+
  1.5078 -+  *p = c;
  1.5079 -+
  1.5080 -+  return ret;
  1.5081 -+}
  1.5082 -+
  1.5083 -+#define match_intreg_disp match_anything
  1.5084 -+
  1.5085 -+static int
  1.5086 -+match_intreg_index(char *str)
  1.5087 -+{
  1.5088 -+  int regid, ret = 1;
  1.5089 -+  char *p, *end, c;
  1.5090 -+
  1.5091 -+  for (p = str; *p; p++)
  1.5092 -+    if (*p == '[')
  1.5093 -+      break;
  1.5094 -+
  1.5095 -+  /* don't allow empty displacement here (it makes no sense) */
  1.5096 -+  if (p[0] != '[')
  1.5097 -+    return 0;
  1.5098 -+
  1.5099 -+  for (end = p + 1; *end; end++) ;
  1.5100 -+  if (*(--end) != ']')
  1.5101 -+    return 0;
  1.5102 -+
  1.5103 -+  c = *end, *end = 0;
  1.5104 -+  if (!match_intreg_lsl(p + 1))
  1.5105 -+    ret = 0;
  1.5106 -+  *end = c;
  1.5107 -+
  1.5108 -+  if (ret)
  1.5109 -+    {
  1.5110 -+      c = *p, *p = 0;
  1.5111 -+      regid = avr32_parse_intreg(str);
  1.5112 -+      if (regid < 0)
  1.5113 -+	ret = 0;
  1.5114 -+      *p = c;
  1.5115 -+    }
  1.5116 -+
  1.5117 -+  return ret;
  1.5118 -+}
  1.5119 -+
  1.5120 -+static int
  1.5121 -+match_intreg_xindex(char *str)
  1.5122 -+{
  1.5123 -+  int regid, ret = 1;
  1.5124 -+  char *p, *end, c;
  1.5125 -+
  1.5126 -+  for (p = str; *p; p++)
  1.5127 -+    if (*p == '[')
  1.5128 -+      break;
  1.5129 -+
  1.5130 -+  /* empty displacement makes no sense here either */
  1.5131 -+  if (p[0] != '[')
  1.5132 -+    return 0;
  1.5133 -+
  1.5134 -+  for (end = p + 1; *end; end++)
  1.5135 -+    if (*end == '<')
  1.5136 -+      break;
  1.5137 -+
  1.5138 -+  if (!streq(end, "<<2]"))
  1.5139 -+    return 0;
  1.5140 -+
  1.5141 -+  c = *end, *end = 0;
  1.5142 -+  if (!match_intreg_part(p + 1))
  1.5143 -+    ret = 0;
  1.5144 -+  *end = c;
  1.5145 -+
  1.5146 -+  if (ret)
  1.5147 -+    {
  1.5148 -+      c = *p, *p = 0;
  1.5149 -+      regid = avr32_parse_intreg(str);
  1.5150 -+      if (regid < 0)
  1.5151 -+	ret = 0;
  1.5152 -+      *p = c;
  1.5153 -+    }
  1.5154 -+
  1.5155 -+  return ret;
  1.5156 -+}
  1.5157 -+
  1.5158 -+/* The PC_UDISP_W operator may show up as a label or as a pc[disp]
  1.5159 -+   expression.  So there's no point in attempting to match this...  */
  1.5160 -+#define match_pc_disp	match_anything
  1.5161 -+
  1.5162 -+static int
  1.5163 -+match_sp(char *str)
  1.5164 -+{
  1.5165 -+  /* SP in any form will do */
  1.5166 -+  return avr32_parse_intreg(str) == AVR32_REG_SP;
  1.5167 -+}
  1.5168 -+
  1.5169 -+static int
  1.5170 -+match_sp_disp(char *str)
  1.5171 -+{
  1.5172 -+  int regid, ret = 1;
  1.5173 -+  char *p, c;
  1.5174 -+
  1.5175 -+  for (p = str; *p; p++)
  1.5176 -+    if (*p == '[')
  1.5177 -+      break;
  1.5178 -+
  1.5179 -+  /* allow empty displacement, meaning zero */
  1.5180 -+  if (p[0] == '[')
  1.5181 -+    {
  1.5182 -+      char *end;
  1.5183 -+      for (end = p + 1; *end; end++) ;
  1.5184 -+      if (end[-1] != ']')
  1.5185 -+	return 0;
  1.5186 -+    }
  1.5187 -+
  1.5188 -+  c = *p, *p = 0;
  1.5189 -+  regid = avr32_parse_intreg(str);
  1.5190 -+  if (regid != AVR32_REG_SP)
  1.5191 -+    ret = 0;
  1.5192 -+
  1.5193 -+  *p = c;
  1.5194 -+  return ret;
  1.5195 -+}
  1.5196 -+
  1.5197 -+static int
  1.5198 -+match_cpno(char *str)
  1.5199 -+{
  1.5200 -+  if (strncasecmp(str, "cp", 2) != 0)
  1.5201 -+    return 0;
  1.5202 -+  return 1;
  1.5203 -+}
  1.5204 -+
  1.5205 -+static int
  1.5206 -+match_cpreg(char *str)
  1.5207 -+{
  1.5208 -+  if (strncasecmp(str, "cr", 2) != 0)
  1.5209 -+    return 0;
  1.5210 -+  return 1;
  1.5211 -+}
  1.5212 -+
  1.5213 -+/* We allow complex expressions, and register names may show up as
  1.5214 -+   symbols.  Just make sure immediate expressions are always matched
  1.5215 -+   last.  */
  1.5216 -+#define match_const		match_anything
  1.5217 -+#define match_jmplabel		match_anything
  1.5218 -+#define match_number		match_anything
  1.5219 -+
  1.5220 -+/* Mnemonics that take reglists never accept anything else */
  1.5221 -+#define match_reglist8		match_anything
  1.5222 -+#define match_reglist9		match_anything
  1.5223 -+#define match_reglist16		match_anything
  1.5224 -+#define match_reglist_ldm	match_anything
  1.5225 -+#define match_reglist_cp8	match_anything
  1.5226 -+#define match_reglist_cpd8	match_anything
  1.5227 -+
  1.5228 -+/* Ditto for retval, jospinc and mcall */
  1.5229 -+#define match_retval		match_anything
  1.5230 -+#define match_jospinc		match_anything
  1.5231 -+#define match_mcall		match_anything
  1.5232 -+
  1.5233 -+/* COH is used to select between two different syntaxes */
  1.5234 -+static int
  1.5235 -+match_coh(char *str)
  1.5236 -+{
  1.5237 -+  return strcasecmp(str, "coh") == 0;
  1.5238 -+}
  1.5239 -+
  1.5240 -+static int
  1.5241 -+match_fpreg(char *str)
  1.5242 -+{
  1.5243 -+  unsigned long regid;
  1.5244 -+  char *endptr;
  1.5245 -+
  1.5246 -+  if ((str[0] != 'f' && str[0] != 'F')
  1.5247 -+      || (str[1] != 'r' && str[1] != 'R'))
  1.5248 -+    return 0;
  1.5249 -+
  1.5250 -+  str += 2;
  1.5251 -+  regid = strtoul(str, &endptr, 10);
  1.5252 -+  if (!*str || *endptr)
  1.5253 -+    return 0;
  1.5254 -+
  1.5255 -+  return 1;
  1.5256 -+}
  1.5257 -+
  1.5258 -+static int
  1.5259 -+match_picoreg(char *str)
  1.5260 -+{
  1.5261 -+  int regid;
  1.5262 -+
  1.5263 -+  regid = avr32_parse_picoreg(str);
  1.5264 -+  if (regid < 0)
  1.5265 -+    return 0;
  1.5266 -+  return 1;
  1.5267 -+}
  1.5268 -+
  1.5269 -+#define match_pico_reglist_w	match_anything
  1.5270 -+#define match_pico_reglist_d	match_anything
  1.5271 -+
  1.5272 -+static int
  1.5273 -+match_pico_in(char *str)
  1.5274 -+{
  1.5275 -+  unsigned long regid;
  1.5276 -+  char *end;
  1.5277 -+
  1.5278 -+  if (strncasecmp(str, "in", 2) != 0)
  1.5279 -+    return 0;
  1.5280 -+
  1.5281 -+  str += 2;
  1.5282 -+  regid = strtoul(str, &end, 10);
  1.5283 -+  if (!*str || *end)
  1.5284 -+    return 0;
  1.5285 -+
  1.5286 -+  return 1;
  1.5287 -+}
  1.5288 -+
  1.5289 -+static int
  1.5290 -+match_pico_out0(char *str)
  1.5291 -+{
  1.5292 -+  if (strcasecmp(str, "out0") != 0)
  1.5293 -+    return 0;
  1.5294 -+  return 1;
  1.5295 -+}
  1.5296 -+
  1.5297 -+static int
  1.5298 -+match_pico_out1(char *str)
  1.5299 -+{
  1.5300 -+  if (strcasecmp(str, "out1") != 0)
  1.5301 -+    return 0;
  1.5302 -+  return 1;
  1.5303 -+}
  1.5304 -+
  1.5305 -+static int
  1.5306 -+match_pico_out2(char *str)
  1.5307 -+{
  1.5308 -+  if (strcasecmp(str, "out2") != 0)
  1.5309 -+    return 0;
  1.5310 -+  return 1;
  1.5311 -+}
  1.5312 -+
  1.5313 -+static int
  1.5314 -+match_pico_out3(char *str)
  1.5315 -+{
  1.5316 -+  if (strcasecmp(str, "out3") != 0)
  1.5317 -+    return 0;
  1.5318 -+  return 1;
  1.5319 -+}
  1.5320 -+
  1.5321 -+static void parse_nothing(const struct avr32_operand *op ATTRIBUTE_UNUSED,
  1.5322 -+			  char *str ATTRIBUTE_UNUSED,
  1.5323 -+			  int opindex ATTRIBUTE_UNUSED)
  1.5324 -+{
  1.5325 -+  /* Do nothing (this is used for "match-only" operands like COH) */
  1.5326 -+}
  1.5327 -+
  1.5328 -+static void
  1.5329 -+parse_const(const struct avr32_operand *op, char *str,
  1.5330 -+	    int opindex ATTRIBUTE_UNUSED)
  1.5331 -+{
  1.5332 -+  expressionS *exp = &current_insn.immediate;
  1.5333 -+  expressionS *sym_exp;
  1.5334 -+  int slot;
  1.5335 -+  char *save;
  1.5336 -+
  1.5337 -+  pr_debug("parse_const: `%s' (signed: %d, pcrel: %d, align: %d)\n",
  1.5338 -+	   str, op->is_signed, op->is_pcrel, op->align_order);
  1.5339 -+
  1.5340 -+  save = input_line_pointer;
  1.5341 -+  input_line_pointer = str;
  1.5342 -+
  1.5343 -+  expression(exp);
  1.5344 -+
  1.5345 -+  slot = current_insn.next_slot++;
  1.5346 -+  current_insn.field_value[slot].align_order = op->align_order;
  1.5347 -+  current_insn.pcrel = op->is_pcrel;
  1.5348 -+
  1.5349 -+  switch (exp->X_op)
  1.5350 -+    {
  1.5351 -+    case O_illegal:
  1.5352 -+      as_bad(_("illegal operand"));
  1.5353 -+      break;
  1.5354 -+    case O_absent:
  1.5355 -+      as_bad(_("missing operand"));
  1.5356 -+      break;
  1.5357 -+    case O_constant:
  1.5358 -+      pr_debug("  -> constant: %ld\n", (long)exp->X_add_number);
  1.5359 -+      current_insn.field_value[slot].value = exp->X_add_number;
  1.5360 -+      break;
  1.5361 -+    case O_uminus:
  1.5362 -+      pr_debug("  -> uminus\n");
  1.5363 -+      sym_exp = symbol_get_value_expression(exp->X_add_symbol);
  1.5364 -+      switch (sym_exp->X_op) {
  1.5365 -+      case O_subtract:
  1.5366 -+	pr_debug("     -> subtract: switching operands\n");
  1.5367 -+	exp->X_op_symbol = sym_exp->X_add_symbol;
  1.5368 -+	exp->X_add_symbol = sym_exp->X_op_symbol;
  1.5369 -+	exp->X_op = O_subtract;
  1.5370 -+	/* TODO: Remove the old X_add_symbol */
  1.5371 -+	break;
  1.5372 -+      default:
  1.5373 -+	as_bad(_("Expression too complex\n"));
  1.5374 -+	break;
  1.5375 -+      }
  1.5376 -+      break;
  1.5377 -+#if 0
  1.5378 -+    case O_subtract:
  1.5379 -+      /* Any expression subtracting a symbol from the current section
  1.5380 -+	 can be made PC-relative by adding the right offset.  */
  1.5381 -+      if (S_GET_SEGMENT(exp->X_op_symbol) == now_seg)
  1.5382 -+	current_insn.pcrel = TRUE;
  1.5383 -+      pr_debug("  -> subtract: pcrel? %s\n",
  1.5384 -+	       current_insn.pcrel ? "yes" : "no");
  1.5385 -+      /* fall through */
  1.5386 -+#endif
  1.5387 -+    default:
  1.5388 -+      pr_debug("  -> (%p <%d> %p + %d)\n",
  1.5389 -+	       exp->X_add_symbol, exp->X_op, exp->X_op_symbol,
  1.5390 -+	       exp->X_add_number);
  1.5391 -+      current_insn.field_value[slot].value = 0;
  1.5392 -+      break;
  1.5393 -+    }
  1.5394 -+
  1.5395 -+  input_line_pointer = save;
  1.5396 -+}
  1.5397 -+
  1.5398 -+static void
  1.5399 -+parse_jmplabel(const struct avr32_operand *op, char *str,
  1.5400 -+	       int opindex ATTRIBUTE_UNUSED)
  1.5401 -+{
  1.5402 -+  expressionS *exp = &current_insn.immediate;
  1.5403 -+  int slot;
  1.5404 -+  char *save;
  1.5405 -+
  1.5406 -+  pr_debug("parse_jmplabel: `%s' (signed: %d, pcrel: %d, align: %d)\n",
  1.5407 -+	   str, op->is_signed, op->is_pcrel, op->align_order);
  1.5408 -+
  1.5409 -+  save = input_line_pointer;
  1.5410 -+  input_line_pointer = str;
  1.5411 -+
  1.5412 -+  expression(exp);
  1.5413 -+
  1.5414 -+  slot = current_insn.next_slot++;
  1.5415 -+  current_insn.field_value[slot].align_order = op->align_order;
  1.5416 -+  current_insn.pcrel = TRUE;
  1.5417 -+
  1.5418 -+  switch (exp->X_op)
  1.5419 -+    {
  1.5420 -+    case O_illegal:
  1.5421 -+      as_bad(_("illegal operand"));
  1.5422 -+      break;
  1.5423 -+    case O_absent:
  1.5424 -+      as_bad(_("missing operand"));
  1.5425 -+      break;
  1.5426 -+    case O_constant:
  1.5427 -+      pr_debug("  -> constant: %ld\n", (long)exp->X_add_number);
  1.5428 -+      current_insn.field_value[slot].value = exp->X_add_number;
  1.5429 -+      current_insn.pcrel = 0;
  1.5430 -+      break;
  1.5431 -+    default:
  1.5432 -+      pr_debug("  -> (%p <%d> %p + %d)\n",
  1.5433 -+	       exp->X_add_symbol, exp->X_op, exp->X_op_symbol,
  1.5434 -+	       exp->X_add_number);
  1.5435 -+      current_insn.field_value[slot].value = 0;
  1.5436 -+      break;
  1.5437 -+    }
  1.5438 -+
  1.5439 -+  input_line_pointer = save;
  1.5440 -+}
  1.5441 -+
  1.5442 -+static void
  1.5443 -+parse_intreg(const struct avr32_operand *op ATTRIBUTE_UNUSED,
  1.5444 -+	     char *str, int opindex ATTRIBUTE_UNUSED)
  1.5445 -+{
  1.5446 -+  int regid, slot;
  1.5447 -+
  1.5448 -+  pr_debug("parse_intreg: `%s'\n", str);
  1.5449 -+
  1.5450 -+  regid = avr32_parse_intreg(str);
  1.5451 -+  assert(regid >= 0);
  1.5452 -+
  1.5453 -+  slot = current_insn.next_slot++;
  1.5454 -+  current_insn.field_value[slot].value = regid;
  1.5455 -+  current_insn.field_value[slot].align_order = op->align_order;
  1.5456 -+}
  1.5457 -+
  1.5458 -+static void
  1.5459 -+parse_intreg_predec(const struct avr32_operand *op, char *str, int opindex)
  1.5460 -+{
  1.5461 -+  parse_intreg(op, str + 2, opindex);
  1.5462 -+}
  1.5463 -+
  1.5464 -+static void
  1.5465 -+parse_intreg_postinc(const struct avr32_operand *op, char *str, int opindex)
  1.5466 -+{
  1.5467 -+  char *p, c;
  1.5468 -+
  1.5469 -+  pr_debug("parse_intreg_postinc: `%s'\n", str);
  1.5470 -+
  1.5471 -+  for (p = str; *p != '+'; p++) ;
  1.5472 -+
  1.5473 -+  c = *p, *p = 0;
  1.5474 -+  parse_intreg(op, str, opindex);
  1.5475 -+  *p = c;
  1.5476 -+}
  1.5477 -+
  1.5478 -+static void
  1.5479 -+parse_intreg_shift(const struct avr32_operand *op ATTRIBUTE_UNUSED,
  1.5480 -+		   char *str, int opindex ATTRIBUTE_UNUSED)
  1.5481 -+{
  1.5482 -+  int regid, slot, shift = 0;
  1.5483 -+  char *p, c;
  1.5484 -+  char shiftop;
  1.5485 -+
  1.5486 -+  pr_debug("parse Ry<<sa: `%s'\n", str);
  1.5487 -+
  1.5488 -+  for (p = str; *p; p++)
  1.5489 -+    if (*p == '<' || *p == '>')
  1.5490 -+      break;
  1.5491 -+
  1.5492 -+  shiftop = *p;
  1.5493 -+
  1.5494 -+  c = *p, *p = 0;
  1.5495 -+  regid = avr32_parse_intreg(str);
  1.5496 -+  assert(regid >= 0);
  1.5497 -+  *p = c;
  1.5498 -+
  1.5499 -+  if (c)
  1.5500 -+    {
  1.5501 -+      if (p[0] != shiftop || p[1] != shiftop)
  1.5502 -+	as_bad(_("expected shift operator in `%s'"), p);
  1.5503 -+      else
  1.5504 -+	{
  1.5505 -+	  expressionS exp;
  1.5506 -+	  char *saved;
  1.5507 -+
  1.5508 -+	  saved = input_line_pointer;
  1.5509 -+	  input_line_pointer = p + 2;
  1.5510 -+	  expression(&exp);
  1.5511 -+	  input_line_pointer = saved;
  1.5512 -+
  1.5513 -+	  if (exp.X_op != O_constant)
  1.5514 -+	    as_bad(_("shift amount must be a numeric constant"));
  1.5515 -+	  else
  1.5516 -+	    shift = exp.X_add_number;
  1.5517 -+	}
  1.5518 -+    }
  1.5519 -+
  1.5520 -+  slot = current_insn.next_slot++;
  1.5521 -+  current_insn.field_value[slot].value = regid;
  1.5522 -+  slot = current_insn.next_slot++;
  1.5523 -+  current_insn.field_value[slot].value = shift;
  1.5524 -+}
  1.5525 -+
  1.5526 -+/* The match() function selected the right opcode, so it doesn't
  1.5527 -+   matter which way we shift any more.  */
  1.5528 -+#define parse_intreg_lsl	parse_intreg_shift
  1.5529 -+#define parse_intreg_lsr	parse_intreg_shift
  1.5530 -+
  1.5531 -+static void
  1.5532 -+parse_intreg_part(const struct avr32_operand *op, char *str,
  1.5533 -+		  int opindex ATTRIBUTE_UNUSED)
  1.5534 -+{
  1.5535 -+  static const char bparts[] = { 'b', 'l', 'u', 't' };
  1.5536 -+  static const char hparts[] = { 'b', 't' };
  1.5537 -+  unsigned int slot, sel;
  1.5538 -+  int regid;
  1.5539 -+  char *p, c;
  1.5540 -+
  1.5541 -+  pr_debug("parse reg:part `%s'\n", str);
  1.5542 -+
  1.5543 -+  for (p = str; *p; p++)
  1.5544 -+    if (*p == ':')
  1.5545 -+      break;
  1.5546 -+
  1.5547 -+  c = *p, *p = 0;
  1.5548 -+  regid = avr32_parse_intreg(str);
  1.5549 -+  assert(regid >= 0);
  1.5550 -+  *p = c;
  1.5551 -+
  1.5552 -+  assert(c == ':');
  1.5553 -+
  1.5554 -+  if (op->align_order)
  1.5555 -+    {
  1.5556 -+      for (sel = 0; sel < sizeof(hparts); sel++)
  1.5557 -+	if (TOLOWER(p[1]) == hparts[sel])
  1.5558 -+	  break;
  1.5559 -+
  1.5560 -+      if (sel >= sizeof(hparts))
  1.5561 -+	{
  1.5562 -+	  as_bad(_("invalid halfword selector `%c' (must be either b or t)"),
  1.5563 -+		 p[1]);
  1.5564 -+	  sel = 0;
  1.5565 -+	}
  1.5566 -+    }
  1.5567 -+  else
  1.5568 -+    {
  1.5569 -+      for (sel = 0; sel < sizeof(bparts); sel++)
  1.5570 -+	if (TOLOWER(p[1]) == bparts[sel])
  1.5571 -+	  break;
  1.5572 -+
  1.5573 -+      if (sel >= sizeof(bparts))
  1.5574 -+	{
  1.5575 -+	  as_bad(_("invalid byte selector `%c' (must be one of b,l,u,t)"),
  1.5576 -+		 p[1]);
  1.5577 -+	  sel = 0;
  1.5578 -+	}
  1.5579 -+    }
  1.5580 -+
  1.5581 -+  slot = current_insn.next_slot++;
  1.5582 -+  current_insn.field_value[slot].value = regid;
  1.5583 -+  slot = current_insn.next_slot++;
  1.5584 -+  current_insn.field_value[slot].value = sel;
  1.5585 -+}
  1.5586 -+
  1.5587 -+/* This is the parser for "Rp[displacement]" expressions.  In addition
  1.5588 -+   to the "official" syntax, we accept a label as a replacement for
  1.5589 -+   the register expression.  This syntax implies Rp=PC and the
  1.5590 -+   displacement is the pc-relative distance to the label.  */
  1.5591 -+static void
  1.5592 -+parse_intreg_disp(const struct avr32_operand *op, char *str, int opindex)
  1.5593 -+{
  1.5594 -+  expressionS *exp = &current_insn.immediate;
  1.5595 -+  int slot, regid;
  1.5596 -+  char *save, *p, c;
  1.5597 -+
  1.5598 -+  pr_debug("parse_intreg_disp: `%s' (signed: %d, pcrel: %d, align: %d)\n",
  1.5599 -+	   str, op->is_signed, op->is_pcrel, op->align_order);
  1.5600 -+
  1.5601 -+  for (p = str; *p; p++)
  1.5602 -+    if (*p == '[')
  1.5603 -+      break;
  1.5604 -+
  1.5605 -+  slot = current_insn.next_slot++;
  1.5606 -+
  1.5607 -+  /* First, check if we have a valid register either before '[' or as
  1.5608 -+     the sole expression.  If so, we use the Rp[disp] syntax.  */
  1.5609 -+  c = *p, *p = 0;
  1.5610 -+  regid = avr32_parse_intreg(str);
  1.5611 -+  *p = c;
  1.5612 -+
  1.5613 -+  if (regid >= 0)
  1.5614 -+    {
  1.5615 -+      current_insn.field_value[slot].value = regid;
  1.5616 -+
  1.5617 -+      slot = current_insn.next_slot++;
  1.5618 -+      current_insn.field_value[slot].align_order = op->align_order;
  1.5619 -+
  1.5620 -+      if (c == '[')
  1.5621 -+	{
  1.5622 -+	  save = input_line_pointer;
  1.5623 -+	  input_line_pointer = p + 1;
  1.5624 -+
  1.5625 -+	  expression(exp);
  1.5626 -+
  1.5627 -+	  if (*input_line_pointer != ']')
  1.5628 -+	    as_bad(_("junk after displacement expression"));
  1.5629 -+
  1.5630 -+	  input_line_pointer = save;
  1.5631 -+
  1.5632 -+	  switch (exp->X_op)
  1.5633 -+	    {
  1.5634 -+	    case O_illegal:
  1.5635 -+	      as_bad(_("illegal displacement expression"));
  1.5636 -+	      break;
  1.5637 -+	    case O_absent:
  1.5638 -+	      as_bad(_("missing displacement expression"));
  1.5639 -+	      break;
  1.5640 -+	    case O_constant:
  1.5641 -+	      pr_debug("  -> constant: %ld\n", exp->X_add_number);
  1.5642 -+	      current_insn.field_value[slot].value = exp->X_add_number;
  1.5643 -+	      break;
  1.5644 -+#if 0
  1.5645 -+	    case O_subtract:
  1.5646 -+	      if (S_GET_SEGMENT(exp->X_op_symbol) == now_seg)
  1.5647 -+		current_insn.pcrel = TRUE;
  1.5648 -+	      pr_debug("  -> subtract: pcrel? %s\n",
  1.5649 -+		       current_insn.pcrel ? "yes" : "no");
  1.5650 -+	      /* fall through */
  1.5651 -+#endif
  1.5652 -+	    default:
  1.5653 -+	      pr_debug("  -> (%p <%d> %p + %d)\n",
  1.5654 -+		       exp->X_add_symbol, exp->X_op, exp->X_op_symbol,
  1.5655 -+		       exp->X_add_number);
  1.5656 -+	      current_insn.field_value[slot].value = 0;
  1.5657 -+	    }
  1.5658 -+	}
  1.5659 -+      else
  1.5660 -+	{
  1.5661 -+	  exp->X_op = O_constant;
  1.5662 -+	  exp->X_add_number = 0;
  1.5663 -+	  current_insn.field_value[slot].value = 0;
  1.5664 -+	}
  1.5665 -+    }
  1.5666 -+  else
  1.5667 -+    {
  1.5668 -+      /* Didn't find a valid register.  Try parsing it as a label.  */
  1.5669 -+      current_insn.field_value[slot].value = AVR32_REG_PC;
  1.5670 -+      parse_jmplabel(op, str, opindex);
  1.5671 -+    }
  1.5672 -+}
  1.5673 -+
  1.5674 -+static void
  1.5675 -+parse_intreg_index(const struct avr32_operand *op ATTRIBUTE_UNUSED,
  1.5676 -+		   char *str, int opindex ATTRIBUTE_UNUSED)
  1.5677 -+{
  1.5678 -+  int slot, regid;
  1.5679 -+  char *p, *end, c;
  1.5680 -+
  1.5681 -+  for (p = str; *p; p++)
  1.5682 -+    if (*p == '[')
  1.5683 -+      break;
  1.5684 -+
  1.5685 -+  assert(*p);
  1.5686 -+
  1.5687 -+  c = *p, *p = 0;
  1.5688 -+  regid = avr32_parse_intreg(str);
  1.5689 -+  assert(regid >= 0);
  1.5690 -+  *p = c;
  1.5691 -+
  1.5692 -+  slot = current_insn.next_slot++;
  1.5693 -+  current_insn.field_value[slot].value = regid;
  1.5694 -+
  1.5695 -+  p++;
  1.5696 -+  for (end = p; *end; end++)
  1.5697 -+    if (*end == ']' || *end == '<')
  1.5698 -+      break;
  1.5699 -+
  1.5700 -+  assert(*end);
  1.5701 -+
  1.5702 -+  c = *end, *end = 0;
  1.5703 -+  regid = avr32_parse_intreg(p);
  1.5704 -+  assert(regid >= 0);
  1.5705 -+  *end = c;
  1.5706 -+
  1.5707 -+  slot = current_insn.next_slot++;
  1.5708 -+  current_insn.field_value[slot].value = regid;
  1.5709 -+
  1.5710 -+  slot = current_insn.next_slot++;
  1.5711 -+  current_insn.field_value[slot].value = 0;
  1.5712 -+
  1.5713 -+  if (*end == '<')
  1.5714 -+    {
  1.5715 -+      expressionS exp;
  1.5716 -+      char *save;
  1.5717 -+
  1.5718 -+      p = end + 2;
  1.5719 -+      for (end = p; *end; end++)
  1.5720 -+	if (*end == ']')
  1.5721 -+	  break;
  1.5722 -+
  1.5723 -+      assert(*end == ']');
  1.5724 -+
  1.5725 -+      c = *end, *end = 0;
  1.5726 -+      save = input_line_pointer;
  1.5727 -+      input_line_pointer = p;
  1.5728 -+      expression(&exp);
  1.5729 -+
  1.5730 -+      if (*input_line_pointer)
  1.5731 -+	as_bad(_("junk after shift expression"));
  1.5732 -+
  1.5733 -+      *end = c;
  1.5734 -+      input_line_pointer = save;
  1.5735 -+
  1.5736 -+      if (exp.X_op == O_constant)
  1.5737 -+	current_insn.field_value[slot].value = exp.X_add_number;
  1.5738 -+      else
  1.5739 -+	as_bad(_("shift expression too complex"));
  1.5740 -+    }
  1.5741 -+}
  1.5742 -+
  1.5743 -+static void
  1.5744 -+parse_intreg_xindex(const struct avr32_operand *op, char *str, int opindex)
  1.5745 -+{
  1.5746 -+  int slot, regid;
  1.5747 -+  char *p, *end, c;
  1.5748 -+
  1.5749 -+  for (p = str; *p; p++)
  1.5750 -+    if (*p == '[')
  1.5751 -+      break;
  1.5752 -+
  1.5753 -+  assert(*p);
  1.5754 -+
  1.5755 -+  c = *p, *p = 0;
  1.5756 -+  regid = avr32_parse_intreg(str);
  1.5757 -+  assert(regid >= 0);
  1.5758 -+  *p = c;
  1.5759 -+
  1.5760 -+  slot = current_insn.next_slot++;
  1.5761 -+  current_insn.field_value[slot].value = regid;
  1.5762 -+
  1.5763 -+  p++;
  1.5764 -+  for (end = p; *end; end++)
  1.5765 -+    if (*end == '<')
  1.5766 -+      break;
  1.5767 -+
  1.5768 -+  assert(*end);
  1.5769 -+
  1.5770 -+  c = *end, *end = 0;
  1.5771 -+  parse_intreg_part(op, p, opindex);
  1.5772 -+  *end = c;
  1.5773 -+}
  1.5774 -+
  1.5775 -+static void
  1.5776 -+parse_pc_disp(const struct avr32_operand *op, char *str, int opindex)
  1.5777 -+{
  1.5778 -+  char *p, c;
  1.5779 -+
  1.5780 -+  for (p = str; *p; p++)
  1.5781 -+    if (*p == '[')
  1.5782 -+      break;
  1.5783 -+
  1.5784 -+  /* The lddpc instruction comes in two different syntax variants:
  1.5785 -+       lddpc reg, expression
  1.5786 -+       lddpc reg, pc[disp]
  1.5787 -+     If the operand contains a '[', we use the second form.  */
  1.5788 -+  if (*p)
  1.5789 -+    {
  1.5790 -+      int regid;
  1.5791 -+
  1.5792 -+      c = *p, *p = 0;
  1.5793 -+      regid = avr32_parse_intreg(str);
  1.5794 -+      *p = c;
  1.5795 -+      if (regid == AVR32_REG_PC)
  1.5796 -+	{
  1.5797 -+	  char *end;
  1.5798 -+
  1.5799 -+	  for (end = ++p; *end; end++) ;
  1.5800 -+	  if (*(--end) != ']')
  1.5801 -+	    as_bad(_("unrecognized form of instruction: `%s'"), str);
  1.5802 -+	  else
  1.5803 -+	    {
  1.5804 -+	      c = *end, *end = 0;
  1.5805 -+	      parse_const(op, p, opindex);
  1.5806 -+	      *end = c;
  1.5807 -+	      current_insn.pcrel = 0;
  1.5808 -+	    }
  1.5809 -+	}
  1.5810 -+      else
  1.5811 -+	as_bad(_("unrecognized form of instruction: `%s'"), str);
  1.5812 -+    }
  1.5813 -+  else
  1.5814 -+    {
  1.5815 -+      parse_jmplabel(op, str, opindex);
  1.5816 -+    }
  1.5817 -+}
  1.5818 -+
  1.5819 -+static void parse_sp(const struct avr32_operand *op ATTRIBUTE_UNUSED,
  1.5820 -+		     char *str ATTRIBUTE_UNUSED,
  1.5821 -+		     int opindex ATTRIBUTE_UNUSED)
  1.5822 -+{
  1.5823 -+  int slot;
  1.5824 -+
  1.5825 -+  slot = current_insn.next_slot++;
  1.5826 -+  current_insn.field_value[slot].value = AVR32_REG_SP;
  1.5827 -+}
  1.5828 -+
  1.5829 -+static void
  1.5830 -+parse_sp_disp(const struct avr32_operand *op, char *str, int opindex)
  1.5831 -+{
  1.5832 -+  char *p, c;
  1.5833 -+
  1.5834 -+  for (; *str; str++)
  1.5835 -+    if (*str == '[')
  1.5836 -+      break;
  1.5837 -+
  1.5838 -+  assert(*str);
  1.5839 -+
  1.5840 -+  for (p = ++str; *p; p++)
  1.5841 -+    if (*p == ']')
  1.5842 -+      break;
  1.5843 -+
  1.5844 -+  c = *p, *p = 0;
  1.5845 -+  parse_const(op, str, opindex);
  1.5846 -+  *p = c;
  1.5847 -+}
  1.5848 -+
  1.5849 -+static void
  1.5850 -+parse_cpno(const struct avr32_operand *op ATTRIBUTE_UNUSED, char *str,
  1.5851 -+	   int opindex ATTRIBUTE_UNUSED)
  1.5852 -+{
  1.5853 -+  int slot;
  1.5854 -+
  1.5855 -+  str += 2;
  1.5856 -+  if (*str == '#')
  1.5857 -+    str++;
  1.5858 -+  if (*str < '0' || *str > '7' || str[1])
  1.5859 -+    as_bad(_("invalid coprocessor `%s'"), str);
  1.5860 -+
  1.5861 -+  slot = current_insn.next_slot++;
  1.5862 -+  current_insn.field_value[slot].value = *str - '0';
  1.5863 -+}
  1.5864 -+
  1.5865 -+static void
  1.5866 -+parse_cpreg(const struct avr32_operand *op, char *str,
  1.5867 -+	    int opindex ATTRIBUTE_UNUSED)
  1.5868 -+{
  1.5869 -+  unsigned int crid;
  1.5870 -+  int slot;
  1.5871 -+  char *endptr;
  1.5872 -+
  1.5873 -+  str += 2;
  1.5874 -+  crid = strtoul(str, &endptr, 10);
  1.5875 -+  if (*endptr || crid > 15 || crid & ((1 << op->align_order) - 1))
  1.5876 -+    as_bad(_("invalid coprocessor register `%s'"), str);
  1.5877 -+
  1.5878 -+  crid >>= op->align_order;
  1.5879 -+
  1.5880 -+  slot = current_insn.next_slot++;
  1.5881 -+  current_insn.field_value[slot].value = crid;
  1.5882 -+}
  1.5883 -+
  1.5884 -+static void
  1.5885 -+parse_number(const struct avr32_operand *op, char *str,
  1.5886 -+	     int opindex ATTRIBUTE_UNUSED)
  1.5887 -+{
  1.5888 -+  expressionS exp;
  1.5889 -+  int slot;
  1.5890 -+  char *save;
  1.5891 -+
  1.5892 -+  save = input_line_pointer;
  1.5893 -+  input_line_pointer = str;
  1.5894 -+  expression(&exp);
  1.5895 -+  input_line_pointer = save;
  1.5896 -+
  1.5897 -+  slot = current_insn.next_slot++;
  1.5898 -+  current_insn.field_value[slot].align_order = op->align_order;
  1.5899 -+
  1.5900 -+  if (exp.X_op == O_constant)
  1.5901 -+      current_insn.field_value[slot].value = exp.X_add_number;
  1.5902 -+  else
  1.5903 -+      as_bad(_("invalid numeric expression `%s'"), str);
  1.5904 -+}
  1.5905 -+
  1.5906 -+static void
  1.5907 -+parse_reglist8(const struct avr32_operand *op ATTRIBUTE_UNUSED,
  1.5908 -+	       char *str, int opindex ATTRIBUTE_UNUSED)
  1.5909 -+{
  1.5910 -+  unsigned long regmask;
  1.5911 -+  unsigned long value = 0;
  1.5912 -+  int slot;
  1.5913 -+  char *tail;
  1.5914 -+
  1.5915 -+  regmask = avr32_parse_reglist(str, &tail);
  1.5916 -+  if (*tail)
  1.5917 -+    as_bad(_("invalid register list `%s'"), str);
  1.5918 -+  else
  1.5919 -+    {
  1.5920 -+      if (avr32_make_regmask8(regmask, &value))
  1.5921 -+	as_bad(_("register list `%s' doesn't fit"), str);
  1.5922 -+    }
  1.5923 -+
  1.5924 -+  slot = current_insn.next_slot++;
  1.5925 -+  current_insn.field_value[slot].value = value;
  1.5926 -+}
  1.5927 -+
  1.5928 -+static int
  1.5929 -+parse_reglist_tail(char *str, unsigned long regmask)
  1.5930 -+{
  1.5931 -+  expressionS exp;
  1.5932 -+  char *save, *p, c;
  1.5933 -+  int regid;
  1.5934 -+
  1.5935 -+  for (p = str + 1; *p; p++)
  1.5936 -+    if (*p == '=')
  1.5937 -+      break;
  1.5938 -+
  1.5939 -+  if (!*p)
  1.5940 -+    {
  1.5941 -+      as_bad(_("invalid register list `%s'"), str);
  1.5942 -+      return -2;
  1.5943 -+    }
  1.5944 -+
  1.5945 -+  c = *p, *p = 0;
  1.5946 -+  regid = avr32_parse_intreg(str);
  1.5947 -+  *p = c;
  1.5948 -+
  1.5949 -+  if (regid != 12)
  1.5950 -+    {
  1.5951 -+      as_bad(_("invalid register list `%s'"), str);
  1.5952 -+      return -2;
  1.5953 -+    }
  1.5954 -+
  1.5955 -+  /* If we have an assignment, we must pop PC and we must _not_
  1.5956 -+     pop LR or R12 */
  1.5957 -+  if (!(regmask & (1 << AVR32_REG_PC)))
  1.5958 -+    {
  1.5959 -+      as_bad(_("return value specified for non-return instruction"));
  1.5960 -+      return -2;
  1.5961 -+    }
  1.5962 -+  else if (regmask & ((1 << AVR32_REG_R12) | (1 << AVR32_REG_LR)))
  1.5963 -+    {
  1.5964 -+      as_bad(_("can't pop LR or R12 when specifying return value"));
  1.5965 -+      return -2;
  1.5966 -+    }
  1.5967 -+
  1.5968 -+  save = input_line_pointer;
  1.5969 -+  input_line_pointer = p + 1;
  1.5970 -+  expression(&exp);
  1.5971 -+  input_line_pointer = save;
  1.5972 -+
  1.5973 -+  if (exp.X_op != O_constant
  1.5974 -+      || exp.X_add_number < -1
  1.5975 -+      || exp.X_add_number > 1)
  1.5976 -+    {
  1.5977 -+      as_bad(_("invalid return value `%s'"), str);
  1.5978 -+      return -2;
  1.5979 -+    }
  1.5980 -+
  1.5981 -+  return exp.X_add_number;
  1.5982 -+}
  1.5983 -+
  1.5984 -+static void
  1.5985 -+parse_reglist9(const struct avr32_operand *op ATTRIBUTE_UNUSED,
  1.5986 -+	       char *str, int opindex ATTRIBUTE_UNUSED)
  1.5987 -+{
  1.5988 -+  unsigned long regmask;
  1.5989 -+  unsigned long value = 0, kbit = 0;
  1.5990 -+  int slot;
  1.5991 -+  char *tail;
  1.5992 -+
  1.5993 -+  regmask = avr32_parse_reglist(str, &tail);
  1.5994 -+  /* printf("parsed reglist16: %04lx, tail: `%s'\n", regmask, tail); */
  1.5995 -+  if (*tail)
  1.5996 -+    {
  1.5997 -+      int retval;
  1.5998 -+
  1.5999 -+      retval = parse_reglist_tail(tail, regmask);
  1.6000 -+
  1.6001 -+      switch (retval)
  1.6002 -+	{
  1.6003 -+	case -1:
  1.6004 -+	  regmask |= 1 << AVR32_REG_LR;
  1.6005 -+	  break;
  1.6006 -+	case 0:
  1.6007 -+	  break;
  1.6008 -+	case 1:
  1.6009 -+	  regmask |= 1 << AVR32_REG_R12;
  1.6010 -+	  break;
  1.6011 -+	default:
  1.6012 -+	  break;
  1.6013 -+	}
  1.6014 -+
  1.6015 -+      kbit = 1;
  1.6016 -+    }
  1.6017 -+
  1.6018 -+  if (avr32_make_regmask8(regmask, &value))
  1.6019 -+    as_bad(_("register list `%s' doesn't fit"), str);
  1.6020 -+
  1.6021 -+
  1.6022 -+  slot = current_insn.next_slot++;
  1.6023 -+  current_insn.field_value[slot].value = (value << 1) | kbit;
  1.6024 -+}
  1.6025 -+
  1.6026 -+static void
  1.6027 -+parse_reglist16(const struct avr32_operand *op ATTRIBUTE_UNUSED,
  1.6028 -+		char *str, int opindex ATTRIBUTE_UNUSED)
  1.6029 -+{
  1.6030 -+  unsigned long regmask;
  1.6031 -+  int slot;
  1.6032 -+  char *tail;
  1.6033 -+
  1.6034 -+  regmask = avr32_parse_reglist(str, &tail);
  1.6035 -+  if (*tail)
  1.6036 -+    as_bad(_("invalid register list `%s'"), str);
  1.6037 -+
  1.6038 -+  slot = current_insn.next_slot++;
  1.6039 -+  current_insn.field_value[slot].value = regmask;
  1.6040 -+}
  1.6041 -+
  1.6042 -+static void
  1.6043 -+parse_reglist_ldm(const struct avr32_operand *op ATTRIBUTE_UNUSED,
  1.6044 -+		  char *str, int opindex ATTRIBUTE_UNUSED)
  1.6045 -+{
  1.6046 -+  unsigned long regmask;
  1.6047 -+  int slot, rp, w_bit = 0;
  1.6048 -+  char *tail, *p, c;
  1.6049 -+
  1.6050 -+  for (p = str; *p && *p != ','; p++)
  1.6051 -+    if (*p == '+')
  1.6052 -+      break;
  1.6053 -+
  1.6054 -+  c = *p, *p = 0;
  1.6055 -+  rp = avr32_parse_intreg(str);
  1.6056 -+  *p = c;
  1.6057 -+  if (rp < 0)
  1.6058 -+    {
  1.6059 -+      as_bad(_("invalid destination register in `%s'"), str);
  1.6060 -+      return;
  1.6061 -+    }
  1.6062 -+
  1.6063 -+  if (p[0] == '+' && p[1] == '+')
  1.6064 -+    {
  1.6065 -+      w_bit = 1;
  1.6066 -+      p += 2;
  1.6067 -+    }
  1.6068 -+
  1.6069 -+  if (*p != ',')
  1.6070 -+    {
  1.6071 -+      as_bad(_("expected `,' after destination register in `%s'"), str);
  1.6072 -+      return;
  1.6073 -+    }
  1.6074 -+
  1.6075 -+  str = p + 1;
  1.6076 -+  regmask = avr32_parse_reglist(str, &tail);
  1.6077 -+  if (*tail)
  1.6078 -+    {
  1.6079 -+      int retval;
  1.6080 -+
  1.6081 -+      if (rp != AVR32_REG_SP)
  1.6082 -+	{
  1.6083 -+	  as_bad(_("junk at end of line: `%s'"), tail);
  1.6084 -+	  return;
  1.6085 -+	}
  1.6086 -+
  1.6087 -+      rp = AVR32_REG_PC;
  1.6088 -+
  1.6089 -+      retval = parse_reglist_tail(tail, regmask);
  1.6090 -+
  1.6091 -+      switch (retval)
  1.6092 -+	{
  1.6093 -+	case -1:
  1.6094 -+	  regmask |= 1 << AVR32_REG_LR;
  1.6095 -+	  break;
  1.6096 -+	case 0:
  1.6097 -+	  break;
  1.6098 -+	case 1:
  1.6099 -+	  regmask |= 1 << AVR32_REG_R12;
  1.6100 -+	  break;
  1.6101 -+	default:
  1.6102 -+	  return;
  1.6103 -+	}
  1.6104 -+    }
  1.6105 -+
  1.6106 -+  slot = current_insn.next_slot++;
  1.6107 -+  current_insn.field_value[slot].value = rp;
  1.6108 -+  slot = current_insn.next_slot++;
  1.6109 -+  current_insn.field_value[slot].value = w_bit;
  1.6110 -+  slot = current_insn.next_slot++;
  1.6111 -+  current_insn.field_value[slot].value = regmask;
  1.6112 -+}
  1.6113 -+
  1.6114 -+static void
  1.6115 -+parse_reglist_cp8(const struct avr32_operand *op ATTRIBUTE_UNUSED,
  1.6116 -+		  char *str, int opindex ATTRIBUTE_UNUSED)
  1.6117 -+{
  1.6118 -+  unsigned long regmask;
  1.6119 -+  int slot, h_bit = 0;
  1.6120 -+  char *tail;
  1.6121 -+
  1.6122 -+  regmask = avr32_parse_cpreglist(str, &tail);
  1.6123 -+  if (*tail)
  1.6124 -+    as_bad(_("junk at end of line: `%s'"), tail);
  1.6125 -+  else if (regmask & 0xffUL)
  1.6126 -+    {
  1.6127 -+      if (regmask & 0xff00UL)
  1.6128 -+	as_bad(_("register list `%s' doesn't fit"), str);
  1.6129 -+      regmask &= 0xff;
  1.6130 -+    }
  1.6131 -+  else if (regmask & 0xff00UL)
  1.6132 -+    {
  1.6133 -+      regmask >>= 8;
  1.6134 -+      h_bit = 1;
  1.6135 -+    }
  1.6136 -+  else
  1.6137 -+    as_warn(_("register list is empty"));
  1.6138 -+
  1.6139 -+  slot = current_insn.next_slot++;
  1.6140 -+  current_insn.field_value[slot].value = regmask;
  1.6141 -+  slot = current_insn.next_slot++;
  1.6142 -+  current_insn.field_value[slot].value = h_bit;
  1.6143 -+}
  1.6144 -+
  1.6145 -+static void
  1.6146 -+parse_reglist_cpd8(const struct avr32_operand *op ATTRIBUTE_UNUSED,
  1.6147 -+		   char *str, int opindex ATTRIBUTE_UNUSED)
  1.6148 -+{
  1.6149 -+  unsigned long regmask, regmask_d = 0;
  1.6150 -+  int slot, i;
  1.6151 -+  char *tail;
  1.6152 -+
  1.6153 -+  regmask = avr32_parse_cpreglist(str, &tail);
  1.6154 -+  if (*tail)
  1.6155 -+    as_bad(_("junk at end of line: `%s'"), tail);
  1.6156 -+
  1.6157 -+  for (i = 0; i < 8; i++)
  1.6158 -+    {
  1.6159 -+      if (regmask & 1)
  1.6160 -+	{
  1.6161 -+	  if (!(regmask & 2))
  1.6162 -+	    {
  1.6163 -+	      as_bad(_("register list `%s' doesn't fit"), str);
  1.6164 -+	      break;
  1.6165 -+	    }
  1.6166 -+	  regmask_d |= 1 << i;
  1.6167 -+	}
  1.6168 -+      else if (regmask & 2)
  1.6169 -+	{
  1.6170 -+	  as_bad(_("register list `%s' doesn't fit"), str);
  1.6171 -+	  break;
  1.6172 -+	}
  1.6173 -+
  1.6174 -+      regmask >>= 2;
  1.6175 -+    }
  1.6176 -+
  1.6177 -+  slot = current_insn.next_slot++;
  1.6178 -+  current_insn.field_value[slot].value = regmask_d;
  1.6179 -+}
  1.6180 -+
  1.6181 -+static void
  1.6182 -+parse_retval(const struct avr32_operand *op ATTRIBUTE_UNUSED,
  1.6183 -+	     char *str, int opindex ATTRIBUTE_UNUSED)
  1.6184 -+{
  1.6185 -+  int regid, slot;
  1.6186 -+
  1.6187 -+  regid = avr32_parse_intreg(str);
  1.6188 -+  if (regid < 0)
  1.6189 -+    {
  1.6190 -+      expressionS exp;
  1.6191 -+      char *save;
  1.6192 -+
  1.6193 -+      regid = 0;
  1.6194 -+
  1.6195 -+      save = input_line_pointer;
  1.6196 -+      input_line_pointer = str;
  1.6197 -+      expression(&exp);
  1.6198 -+      input_line_pointer = save;
  1.6199 -+
  1.6200 -+      if (exp.X_op != O_constant)
  1.6201 -+	as_bad(_("invalid return value `%s'"), str);
  1.6202 -+      else
  1.6203 -+	switch (exp.X_add_number)
  1.6204 -+	  {
  1.6205 -+	  case -1:
  1.6206 -+	    regid = AVR32_REG_LR;
  1.6207 -+	    break;
  1.6208 -+	  case 0:
  1.6209 -+	    regid = AVR32_REG_SP;
  1.6210 -+	    break;
  1.6211 -+	  case 1:
  1.6212 -+	    regid = AVR32_REG_PC;
  1.6213 -+	    break;
  1.6214 -+	  default:
  1.6215 -+	    as_bad(_("invalid return value `%s'"), str);
  1.6216 -+	    break;
  1.6217 -+	  }
  1.6218 -+    }
  1.6219 -+
  1.6220 -+  slot = current_insn.next_slot++;
  1.6221 -+  current_insn.field_value[slot].value = regid;
  1.6222 -+}
  1.6223 -+
  1.6224 -+#define parse_mcall parse_intreg_disp
  1.6225 -+
  1.6226 -+static void
  1.6227 -+parse_jospinc(const struct avr32_operand *op ATTRIBUTE_UNUSED,
  1.6228 -+	      char *str, int opindex ATTRIBUTE_UNUSED)
  1.6229 -+{
  1.6230 -+  expressionS exp;
  1.6231 -+  int slot;
  1.6232 -+  char *save;
  1.6233 -+
  1.6234 -+  save = input_line_pointer;
  1.6235 -+  input_line_pointer = str;
  1.6236 -+  expression(&exp);
  1.6237 -+  input_line_pointer = save;
  1.6238 -+
  1.6239 -+  slot = current_insn.next_slot++;
  1.6240 -+
  1.6241 -+  if (exp.X_op == O_constant)
  1.6242 -+    {
  1.6243 -+      if (exp.X_add_number > 0)
  1.6244 -+	exp.X_add_number--;
  1.6245 -+      current_insn.field_value[slot].value = exp.X_add_number;
  1.6246 -+    }
  1.6247 -+  else
  1.6248 -+    as_bad(_("invalid numeric expression `%s'"), str);
  1.6249 -+}
  1.6250 -+
  1.6251 -+#define parse_coh		parse_nothing
  1.6252 -+
  1.6253 -+static void
  1.6254 -+parse_fpreg(const struct avr32_operand *op,
  1.6255 -+	    char *str, int opindex ATTRIBUTE_UNUSED)
  1.6256 -+{
  1.6257 -+  unsigned long regid;
  1.6258 -+  int slot;
  1.6259 -+
  1.6260 -+  regid = strtoul(str + 2, NULL, 10);
  1.6261 -+
  1.6262 -+  if ((regid >= 16) || (regid & ((1 << op->align_order) - 1)))
  1.6263 -+    as_bad(_("invalid floating-point register `%s'"), str);
  1.6264 -+
  1.6265 -+  slot = current_insn.next_slot++;
  1.6266 -+  current_insn.field_value[slot].value = regid;
  1.6267 -+  current_insn.field_value[slot].align_order = op->align_order;
  1.6268 -+}
  1.6269 -+
  1.6270 -+static void
  1.6271 -+parse_picoreg(const struct avr32_operand *op,
  1.6272 -+	      char *str, int opindex ATTRIBUTE_UNUSED)
  1.6273 -+{
  1.6274 -+  unsigned long regid;
  1.6275 -+  int slot;
  1.6276 -+
  1.6277 -+  regid = avr32_parse_picoreg(str);
  1.6278 -+  if (regid & ((1 << op->align_order) - 1))
  1.6279 -+    as_bad(_("invalid double-word PiCo register `%s'"), str);
  1.6280 -+
  1.6281 -+  slot = current_insn.next_slot++;
  1.6282 -+  current_insn.field_value[slot].value = regid;
  1.6283 -+  current_insn.field_value[slot].align_order = op->align_order;
  1.6284 -+}
  1.6285 -+
  1.6286 -+static void
  1.6287 -+parse_pico_reglist_w(const struct avr32_operand *op ATTRIBUTE_UNUSED,
  1.6288 -+		     char *str, int opindex ATTRIBUTE_UNUSED)
  1.6289 -+{
  1.6290 -+  unsigned long regmask;
  1.6291 -+  int slot, h_bit = 0;
  1.6292 -+  char *tail;
  1.6293 -+
  1.6294 -+  regmask = avr32_parse_pico_reglist(str, &tail);
  1.6295 -+  if (*tail)
  1.6296 -+    as_bad(_("junk at end of line: `%s'"), tail);
  1.6297 -+
  1.6298 -+  if (regmask & 0x00ffUL)
  1.6299 -+    {
  1.6300 -+      if (regmask & 0xff00UL)
  1.6301 -+	as_bad(_("register list `%s' doesn't fit"), str);
  1.6302 -+      regmask &= 0x00ffUL;
  1.6303 -+    }
  1.6304 -+  else if (regmask & 0xff00UL)
  1.6305 -+    {
  1.6306 -+      regmask >>= 8;
  1.6307 -+      h_bit = 1;
  1.6308 -+    }
  1.6309 -+  else
  1.6310 -+    as_warn(_("register list is empty"));
  1.6311 -+
  1.6312 -+  slot = current_insn.next_slot++;
  1.6313 -+  current_insn.field_value[slot].value = regmask;
  1.6314 -+  slot = current_insn.next_slot++;
  1.6315 -+  current_insn.field_value[slot].value = h_bit;
  1.6316 -+}
  1.6317 -+
  1.6318 -+static void
  1.6319 -+parse_pico_reglist_d(const struct avr32_operand *op ATTRIBUTE_UNUSED,
  1.6320 -+		     char *str, int opindex ATTRIBUTE_UNUSED)
  1.6321 -+{
  1.6322 -+  unsigned long regmask, regmask_d = 0;
  1.6323 -+  int slot, i;
  1.6324 -+  char *tail;
  1.6325 -+
  1.6326 -+  regmask = avr32_parse_pico_reglist(str, &tail);
  1.6327 -+  if (*tail)
  1.6328 -+    as_bad(_("junk at end of line: `%s'"), tail);
  1.6329 -+
  1.6330 -+  for (i = 0; i < 8; i++)
  1.6331 -+    {
  1.6332 -+      if (regmask & 1)
  1.6333 -+	{
  1.6334 -+	  if (!(regmask & 2))
  1.6335 -+	    {
  1.6336 -+	      as_bad(_("register list `%s' doesn't fit"), str);
  1.6337 -+	      break;
  1.6338 -+	    }
  1.6339 -+	  regmask_d |= 1 << i;
  1.6340 -+	}
  1.6341 -+      else if (regmask & 2)
  1.6342 -+	{
  1.6343 -+	  as_bad(_("register list `%s' doesn't fit"), str);
  1.6344 -+	  break;
  1.6345 -+	}
  1.6346 -+
  1.6347 -+      regmask >>= 2;
  1.6348 -+    }
  1.6349 -+
  1.6350 -+  slot = current_insn.next_slot++;
  1.6351 -+  current_insn.field_value[slot].value = regmask_d;
  1.6352 -+}
  1.6353 -+
  1.6354 -+static void
  1.6355 -+parse_pico_in(const struct avr32_operand *op ATTRIBUTE_UNUSED,
  1.6356 -+	      char *str, int opindex ATTRIBUTE_UNUSED)
  1.6357 -+{
  1.6358 -+  unsigned long regid;
  1.6359 -+  int slot;
  1.6360 -+
  1.6361 -+  regid = strtoul(str + 2, NULL, 10);
  1.6362 -+
  1.6363 -+  if (regid >= 12)
  1.6364 -+    as_bad(_("invalid PiCo IN register `%s'"), str);
  1.6365 -+
  1.6366 -+  slot = current_insn.next_slot++;
  1.6367 -+  current_insn.field_value[slot].value = regid;
  1.6368 -+  current_insn.field_value[slot].align_order = 0;
  1.6369 -+}
  1.6370 -+
  1.6371 -+#define parse_pico_out0		parse_nothing
  1.6372 -+#define parse_pico_out1		parse_nothing
  1.6373 -+#define parse_pico_out2		parse_nothing
  1.6374 -+#define parse_pico_out3		parse_nothing
  1.6375 -+
  1.6376 -+#define OP(name, sgn, pcrel, align, func) \
  1.6377 -+  { AVR32_OPERAND_##name, sgn, pcrel, align, match_##func, parse_##func }
  1.6378 -+
  1.6379 -+struct avr32_operand avr32_operand_table[] = {
  1.6380 -+  OP(INTREG, 0, 0, 0, intreg),
  1.6381 -+  OP(INTREG_PREDEC, 0, 0, 0, intreg_predec),
  1.6382 -+  OP(INTREG_POSTINC, 0, 0, 0, intreg_postinc),
  1.6383 -+  OP(INTREG_LSL, 0, 0, 0, intreg_lsl),
  1.6384 -+  OP(INTREG_LSR, 0, 0, 0, intreg_lsr),
  1.6385 -+  OP(INTREG_BSEL, 0, 0, 0, intreg_part),
  1.6386 -+  OP(INTREG_HSEL, 0, 0, 1, intreg_part),
  1.6387 -+  OP(INTREG_SDISP, 1, 0, 0, intreg_disp),
  1.6388 -+  OP(INTREG_SDISP_H, 1, 0, 1, intreg_disp),
  1.6389 -+  OP(INTREG_SDISP_W, 1, 0, 2, intreg_disp),
  1.6390 -+  OP(INTREG_UDISP, 0, 0, 0, intreg_disp),
  1.6391 -+  OP(INTREG_UDISP_H, 0, 0, 1, intreg_disp),
  1.6392 -+  OP(INTREG_UDISP_W, 0, 0, 2, intreg_disp),
  1.6393 -+  OP(INTREG_INDEX, 0, 0, 0, intreg_index),
  1.6394 -+  OP(INTREG_XINDEX, 0, 0, 0, intreg_xindex),
  1.6395 -+  OP(DWREG, 0, 0, 1, intreg),
  1.6396 -+  OP(PC_UDISP_W, 0, 1, 2, pc_disp),
  1.6397 -+  OP(SP, 0, 0, 0, sp),
  1.6398 -+  OP(SP_UDISP_W, 0, 0, 2, sp_disp),
  1.6399 -+  OP(CPNO, 0, 0, 0, cpno),
  1.6400 -+  OP(CPREG, 0, 0, 0, cpreg),
  1.6401 -+  OP(CPREG_D, 0, 0, 1, cpreg),
  1.6402 -+  OP(UNSIGNED_CONST, 0, 0, 0, const),
  1.6403 -+  OP(UNSIGNED_CONST_W, 0, 0, 2, const),
  1.6404 -+  OP(SIGNED_CONST, 1, 0, 0, const),
  1.6405 -+  OP(SIGNED_CONST_W, 1, 0, 2, const),
  1.6406 -+  OP(JMPLABEL, 1, 1, 1, jmplabel),
  1.6407 -+  OP(UNSIGNED_NUMBER, 0, 0, 0, number),
  1.6408 -+  OP(UNSIGNED_NUMBER_W, 0, 0, 2, number),
  1.6409 -+  OP(REGLIST8, 0, 0, 0, reglist8),
  1.6410 -+  OP(REGLIST9, 0, 0, 0, reglist9),
  1.6411 -+  OP(REGLIST16, 0, 0, 0, reglist16),
  1.6412 -+  OP(REGLIST_LDM, 0, 0, 0, reglist_ldm),
  1.6413 -+  OP(REGLIST_CP8, 0, 0, 0, reglist_cp8),
  1.6414 -+  OP(REGLIST_CPD8, 0, 0, 0, reglist_cpd8),
  1.6415 -+  OP(RETVAL, 0, 0, 0, retval),
  1.6416 -+  OP(MCALL, 1, 0, 2, mcall),
  1.6417 -+  OP(JOSPINC, 0, 0, 0, jospinc),
  1.6418 -+  OP(COH, 0, 0, 0, coh),
  1.6419 -+  OP(FPREG_S, 0, 0, 0, fpreg),
  1.6420 -+  OP(FPREG_D, 0, 0, 1, fpreg),
  1.6421 -+  OP(PICO_REG_W, 0, 0, 0, picoreg),
  1.6422 -+  OP(PICO_REG_D, 0, 0, 1, picoreg),
  1.6423 -+  OP(PICO_REGLIST_W, 0, 0, 0, pico_reglist_w),
  1.6424 -+  OP(PICO_REGLIST_D, 0, 0, 0, pico_reglist_d),
  1.6425 -+  OP(PICO_IN, 0, 0, 0, pico_in),
  1.6426 -+  OP(PICO_OUT0, 0, 0, 0, pico_out0),
  1.6427 -+  OP(PICO_OUT1, 0, 0, 0, pico_out1),
  1.6428 -+  OP(PICO_OUT2, 0, 0, 0, pico_out2),
  1.6429 -+  OP(PICO_OUT3, 0, 0, 0, pico_out3),
  1.6430 -+};
  1.6431 -+
  1.6432 -+symbolS *
  1.6433 -+md_undefined_symbol (char *name ATTRIBUTE_UNUSED)
  1.6434 -+{
  1.6435 -+  pr_debug("md_undefined_symbol: %s\n", name);
  1.6436 -+  return 0;
  1.6437 -+}
  1.6438 -+
  1.6439 -+struct avr32_relax_type
  1.6440 -+{
  1.6441 -+  long lower_bound;
  1.6442 -+  long upper_bound;
  1.6443 -+  unsigned char align;
  1.6444 -+  unsigned char length;
  1.6445 -+  signed short next;
  1.6446 -+};
  1.6447 -+
  1.6448 -+#define EMPTY { 0, 0, 0, 0, -1 }
  1.6449 -+#define C(lower, upper, align, next)			\
  1.6450 -+  { (lower), (upper), (align), 2, AVR32_OPC_##next }
  1.6451 -+#define E(lower, upper, align)				\
  1.6452 -+  { (lower), (upper), (align), 4, -1 }
  1.6453 -+
  1.6454 -+static const struct avr32_relax_type avr32_relax_table[] =
  1.6455 -+  {
  1.6456 -+    /* 0 */
  1.6457 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6458 -+    EMPTY, EMPTY, EMPTY,
  1.6459 -+    E(0, 65535, 0), E(0, 65535, 0), E(0, 65535, 0), E(0, 65535, 0),
  1.6460 -+    EMPTY,
  1.6461 -+    /* 16 */
  1.6462 -+    EMPTY, EMPTY, EMPTY, EMPTY,
  1.6463 -+
  1.6464 -+    C(-256, 254, 1, BREQ2), C(-256, 254, 1, BRNE2),
  1.6465 -+    C(-256, 254, 1, BRCC2), C(-256, 254, 1, BRCS2),
  1.6466 -+    C(-256, 254, 1, BRGE2), C(-256, 254, 1, BRLT2),
  1.6467 -+    C(-256, 254, 1, BRMI2), C(-256, 254, 1, BRPL2),
  1.6468 -+    E(-2097152, 2097150, 1), E(-2097152, 2097150, 1),
  1.6469 -+    E(-2097152, 2097150, 1), E(-2097152, 2097150, 1),
  1.6470 -+    /* 32 */
  1.6471 -+    E(-2097152, 2097150, 1), E(-2097152, 2097150, 1),
  1.6472 -+    E(-2097152, 2097150, 1), E(-2097152, 2097150, 1),
  1.6473 -+    E(-2097152, 2097150, 1), E(-2097152, 2097150, 1),
  1.6474 -+    E(-2097152, 2097150, 1), E(-2097152, 2097150, 1),
  1.6475 -+    E(-2097152, 2097150, 1), E(-2097152, 2097150, 1),
  1.6476 -+    E(-2097152, 2097150, 1), E(-2097152, 2097150, 1),
  1.6477 -+
  1.6478 -+    EMPTY, EMPTY, EMPTY, EMPTY,
  1.6479 -+    /* 48 */
  1.6480 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6481 -+    EMPTY, EMPTY, EMPTY,
  1.6482 -+
  1.6483 -+    C(-32, 31, 0, CP_W3), E(-1048576, 1048575, 0),
  1.6484 -+
  1.6485 -+    EMPTY, EMPTY, EMPTY,
  1.6486 -+    /* 64: csrfcz */
  1.6487 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6488 -+    E(0, 65535, 0), E(0, 65535, 0),
  1.6489 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6490 -+    E(-32768, 32767, 0),
  1.6491 -+    /* 80: LD_SB2 */
  1.6492 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6493 -+
  1.6494 -+    C(0, 7, 0, LD_UB4), E(-32768, 32767, 0),
  1.6495 -+
  1.6496 -+    EMPTY,
  1.6497 -+    EMPTY, EMPTY,
  1.6498 -+
  1.6499 -+    C(0, 14, 1, LD_SH4), E(-32768, 32767, 0),
  1.6500 -+
  1.6501 -+    EMPTY, EMPTY, EMPTY,
  1.6502 -+
  1.6503 -+    C(0, 14, 1, LD_UH4),
  1.6504 -+
  1.6505 -+    /* 96: LD_UH4 */
  1.6506 -+    E(-32768, 32767, 0),
  1.6507 -+
  1.6508 -+    EMPTY, EMPTY, EMPTY, EMPTY,
  1.6509 -+
  1.6510 -+    C(0, 124, 2, LD_W4), E(-32768, 32767, 0),
  1.6511 -+
  1.6512 -+    E(0, 1020, 2),	/* LDC_D1 */
  1.6513 -+    EMPTY, EMPTY,
  1.6514 -+    E(0, 1020, 2),	/* LDC_W1 */
  1.6515 -+    EMPTY, EMPTY,
  1.6516 -+    E(0, 16380, 2),	/* LDC0_D */
  1.6517 -+    E(0, 16380, 2),	/* LDC0_W */
  1.6518 -+    EMPTY,
  1.6519 -+
  1.6520 -+    /* 112: LDCM_D_PU */
  1.6521 -+    EMPTY, EMPTY, EMPTY,
  1.6522 -+
  1.6523 -+    C(0, 508, 2, LDDPC_EXT), E(-32768, 32767, 0),
  1.6524 -+
  1.6525 -+    EMPTY,EMPTY, EMPTY,
  1.6526 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6527 -+
  1.6528 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6529 -+    /* 134: MACHH_W */
  1.6530 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6531 -+    E(-131072, 131068, 2),	/* MCALL */
  1.6532 -+    E(0, 1020, 2),		/* MFDR */
  1.6533 -+    E(0, 1020, 2),		/* MFSR */
  1.6534 -+    EMPTY, EMPTY,
  1.6535 -+
  1.6536 -+    C(-128, 127, 0, MOV2), E(-1048576, 1048575, 0),
  1.6537 -+
  1.6538 -+    EMPTY, EMPTY, EMPTY,
  1.6539 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6540 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6541 -+
  1.6542 -+    E(-128, 127, 0),		/* MOVEQ2 */
  1.6543 -+    E(-128, 127, 0),		/* MOVNE2 */
  1.6544 -+    E(-128, 127, 0),		/* MOVCC2 */
  1.6545 -+    E(-128, 127, 0),		/* 166: MOVCS2 */
  1.6546 -+    E(-128, 127, 0),		/* MOVGE2 */
  1.6547 -+    E(-128, 127, 0),		/* MOVLT2 */
  1.6548 -+    E(-128, 127, 0),		/* MOVMI2 */
  1.6549 -+    E(-128, 127, 0),		/* MOVPL2 */
  1.6550 -+    E(-128, 127, 0),		/* MOVLS2 */
  1.6551 -+    E(-128, 127, 0),		/* MOVGT2 */
  1.6552 -+    E(-128, 127, 0),		/* MOVLE2 */
  1.6553 -+    E(-128, 127, 0),		/* MOVHI2 */
  1.6554 -+    E(-128, 127, 0),		/* MOVVS2 */
  1.6555 -+    E(-128, 127, 0),		/* MOVVC2 */
  1.6556 -+    E(-128, 127, 0),		/* MOVQS2 */
  1.6557 -+    E(-128, 127, 0),		/* MOVAL2 */
  1.6558 -+
  1.6559 -+    E(0, 1020, 2),		/* MTDR */
  1.6560 -+    E(0, 1020, 2),		/* MTSR */
  1.6561 -+    EMPTY,
  1.6562 -+    EMPTY,
  1.6563 -+    E(-128, 127, 0),		/* MUL3 */
  1.6564 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6565 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6566 -+    /* 198: MVCR_W */
  1.6567 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6568 -+    E(0, 65535, 0), E(0, 65535, 0),
  1.6569 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6570 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6571 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6572 -+    /* 230: PASR_H */
  1.6573 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6574 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6575 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6576 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6577 -+    /* 262: PUNPCKSB_H */
  1.6578 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6579 -+
  1.6580 -+    C(-1024, 1022, 1, RCALL2), E(-2097152, 2097150, 1),
  1.6581 -+
  1.6582 -+    EMPTY,
  1.6583 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6584 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6585 -+    EMPTY, EMPTY, EMPTY,
  1.6586 -+
  1.6587 -+    C(-1024, 1022, 1, BRAL),
  1.6588 -+
  1.6589 -+    EMPTY, EMPTY, EMPTY,
  1.6590 -+    E(-128, 127, 0),		/* RSUB2 */
  1.6591 -+    /* 294: SATADD_H */
  1.6592 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6593 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6594 -+    E(0, 255, 0),		/* SLEEP */
  1.6595 -+    EMPTY, EMPTY,
  1.6596 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6597 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6598 -+    /* 326: ST_B2 */
  1.6599 -+    EMPTY, EMPTY,
  1.6600 -+    C(0, 7, 0, ST_B4), E(-32768, 32767, 0),
  1.6601 -+    EMPTY, EMPTY, EMPTY, EMPTY,
  1.6602 -+    E(-32768, 32767, 0),
  1.6603 -+    EMPTY, EMPTY, EMPTY,
  1.6604 -+    C(0, 14, 1, ST_H4), E(-32768, 32767, 0),
  1.6605 -+    EMPTY, EMPTY,
  1.6606 -+    EMPTY,
  1.6607 -+    C(0, 60, 2, ST_W4), E(-32768, 32767, 0),
  1.6608 -+    E(0, 1020, 2),	/* STC_D1 */
  1.6609 -+    EMPTY, EMPTY,
  1.6610 -+    E(0, 1020, 2),	/* STC_W1 */
  1.6611 -+    EMPTY, EMPTY,
  1.6612 -+    E(0, 16380, 2),	/* STC0_D */
  1.6613 -+    E(0, 16380, 2),	/* STC0_W */
  1.6614 -+
  1.6615 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6616 -+    /* 358: STDSP */
  1.6617 -+    EMPTY, EMPTY,
  1.6618 -+    E(0, 1020, 2),	/* STHH_W1 */
  1.6619 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6620 -+    EMPTY, EMPTY, EMPTY,
  1.6621 -+    E(-32768, 32767, 0),
  1.6622 -+    C(-512, 508, 2, SUB4),
  1.6623 -+    C(-128, 127, 0, SUB4), E(-1048576, 1048576, 0),
  1.6624 -+    /* SUB{cond} */
  1.6625 -+    E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0),
  1.6626 -+    E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0),
  1.6627 -+    E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0),
  1.6628 -+    E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0),
  1.6629 -+    /* SUBF{cond} */
  1.6630 -+    E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0),
  1.6631 -+    E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0),
  1.6632 -+    E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0),
  1.6633 -+    E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0),
  1.6634 -+    EMPTY,
  1.6635 -+
  1.6636 -+    /* 406: SWAP_B */
  1.6637 -+    EMPTY, EMPTY, EMPTY,
  1.6638 -+    E(0, 255, 0),	/* SYNC */
  1.6639 -+    EMPTY, EMPTY, EMPTY, EMPTY,
  1.6640 -+    /* 414: TST */
  1.6641 -+    EMPTY, EMPTY, E(-65536, 65535, 2), E(-65536, 65535, 2), E(-65536, 65535, 2), EMPTY, EMPTY, EMPTY,
  1.6642 -+    /* 422: RSUB{cond} */
  1.6643 -+    E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0),
  1.6644 -+    E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0),
  1.6645 -+    E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0),
  1.6646 -+    E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0), E(-128, 127, 0),
  1.6647 -+    /* 436: ADD{cond} */
  1.6648 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6649 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6650 -+    /* 454: SUB{cond} */
  1.6651 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6652 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6653 -+    /* 472: AND{cond} */
  1.6654 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6655 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6656 -+    /* 486: OR{cond} */
  1.6657 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6658 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6659 -+    /* 502: EOR{cond} */
  1.6660 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6661 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6662 -+    /* 518: LD.w{cond} */
  1.6663 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6664 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6665 -+    /* 534: LD.sh{cond} */
  1.6666 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6667 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6668 -+    /* 550: LD.uh{cond} */
  1.6669 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6670 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6671 -+    /* 566: LD.sb{cond} */
  1.6672 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6673 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6674 -+    /* 582: LD.ub{cond} */
  1.6675 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6676 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6677 -+    /* 596: ST.w{cond} */
  1.6678 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6679 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6680 -+    /* 614: ST.h{cond} */
  1.6681 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6682 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6683 -+    /* 630: ST.b{cond} */
  1.6684 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6685 -+    EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
  1.6686 -+    /* 646: movh */
  1.6687 -+    E(0, 65535, 0)
  1.6688 -+  };
  1.6689 -+
  1.6690 -+#undef E
  1.6691 -+#undef C
  1.6692 -+#undef EMPTY
  1.6693 -+
  1.6694 -+#define AVR32_RS_NONE (-1)
  1.6695 -+
  1.6696 -+#define avr32_rs_size(state) (avr32_relax_table[(state)].length)
  1.6697 -+#define avr32_rs_align(state) (avr32_relax_table[(state)].align)
  1.6698 -+#define relax_more(state) (avr32_relax_table[(state)].next)
  1.6699 -+
  1.6700 -+#define opc_initial_substate(opc) ((opc)->id)
  1.6701 -+
  1.6702 -+static int need_relax(int subtype, offsetT distance)
  1.6703 -+{
  1.6704 -+  offsetT upper_bound, lower_bound;
  1.6705 -+
  1.6706 -+  upper_bound = avr32_relax_table[subtype].upper_bound;
  1.6707 -+  lower_bound = avr32_relax_table[subtype].lower_bound;
  1.6708 -+
  1.6709 -+  if (distance & ((1 << avr32_rs_align(subtype)) - 1))
  1.6710 -+    return 1;
  1.6711 -+  if ((distance > upper_bound) || (distance < lower_bound))
  1.6712 -+    return 1;
  1.6713 -+
  1.6714 -+  return 0;
  1.6715 -+}
  1.6716 -+
  1.6717 -+enum {
  1.6718 -+  LDA_SUBTYPE_MOV1,
  1.6719 -+  LDA_SUBTYPE_MOV2,
  1.6720 -+  LDA_SUBTYPE_SUB,
  1.6721 -+  LDA_SUBTYPE_LDDPC,
  1.6722 -+  LDA_SUBTYPE_LDW,
  1.6723 -+  LDA_SUBTYPE_GOTLOAD,
  1.6724 -+  LDA_SUBTYPE_GOTLOAD_LARGE,
  1.6725 -+};
  1.6726 -+
  1.6727 -+enum {
  1.6728 -+  CALL_SUBTYPE_RCALL1,
  1.6729 -+  CALL_SUBTYPE_RCALL2,
  1.6730 -+  CALL_SUBTYPE_MCALL_CP,
  1.6731 -+  CALL_SUBTYPE_MCALL_GOT,
  1.6732 -+  CALL_SUBTYPE_MCALL_LARGE,
  1.6733 -+};
  1.6734 -+
  1.6735 -+#define LDA_INITIAL_SIZE	(avr32_pic ? 4 : 2)
  1.6736 -+#define CALL_INITIAL_SIZE	2
  1.6737 -+
  1.6738 -+#define need_reloc(sym, seg, pcrel)					\
  1.6739 -+  (!(S_IS_DEFINED(sym)							\
  1.6740 -+     && ((pcrel && S_GET_SEGMENT(sym) == seg)				\
  1.6741 -+	 || (!pcrel && S_GET_SEGMENT(sym) == absolute_section)))	\
  1.6742 -+   || S_FORCE_RELOC(sym, 1))
  1.6743 -+
  1.6744 -+/* Return an initial guess of the length by which a fragment must grow to
  1.6745 -+   hold a branch to reach its destination.
  1.6746 -+   Also updates fr_type/fr_subtype as necessary.
  1.6747 -+
  1.6748 -+   Called just before doing relaxation.
  1.6749 -+   Any symbol that is now undefined will not become defined.
  1.6750 -+   The guess for fr_var is ACTUALLY the growth beyond fr_fix.
  1.6751 -+   Whatever we do to grow fr_fix or fr_var contributes to our returned value.
  1.6752 -+   Although it may not be explicit in the frag, pretend fr_var starts with a
  1.6753 -+   0 value.  */
  1.6754 -+
  1.6755 -+static int
  1.6756 -+avr32_default_estimate_size_before_relax (fragS *fragP, segT segment)
  1.6757 -+{
  1.6758 -+  int growth = 0;
  1.6759 -+
  1.6760 -+  assert(fragP);
  1.6761 -+  assert(fragP->fr_symbol);
  1.6762 -+
  1.6763 -+  if (fragP->tc_frag_data.force_extended
  1.6764 -+      || need_reloc(fragP->fr_symbol, segment, fragP->tc_frag_data.pcrel))
  1.6765 -+    {
  1.6766 -+      int largest_state = fragP->fr_subtype;
  1.6767 -+      while (relax_more(largest_state) != AVR32_RS_NONE)
  1.6768 -+	largest_state = relax_more(largest_state);
  1.6769 -+      growth = avr32_rs_size(largest_state) - fragP->fr_var;
  1.6770 -+    }
  1.6771 -+  else
  1.6772 -+    {
  1.6773 -+      growth = avr32_rs_size(fragP->fr_subtype) - fragP->fr_var;
  1.6774 -+    }
  1.6775 -+
  1.6776 -+  pr_debug("%s:%d: md_estimate_size_before_relax: %d\n",
  1.6777 -+	   fragP->fr_file, fragP->fr_line, growth);
  1.6778 -+
  1.6779 -+  return growth;
  1.6780 -+}
  1.6781 -+
  1.6782 -+static int
  1.6783 -+avr32_lda_estimate_size_before_relax(fragS *fragP, segT segment ATTRIBUTE_UNUSED)
  1.6784 -+{
  1.6785 -+  return fragP->fr_var - LDA_INITIAL_SIZE;
  1.6786 -+}
  1.6787 -+
  1.6788 -+static int
  1.6789 -+avr32_call_estimate_size_before_relax(fragS *fragP, segT segment ATTRIBUTE_UNUSED)
  1.6790 -+{
  1.6791 -+  return fragP->fr_var - CALL_INITIAL_SIZE;
  1.6792 -+}
  1.6793 -+
  1.6794 -+static int
  1.6795 -+avr32_cpool_estimate_size_before_relax(fragS *fragP,
  1.6796 -+				       segT segment ATTRIBUTE_UNUSED)
  1.6797 -+{
  1.6798 -+  return fragP->fr_var;
  1.6799 -+}
  1.6800 -+
  1.6801 -+/* This macro may be defined to relax a frag. GAS will call this with the
  1.6802 -+ * segment, the frag, and the change in size of all previous frags;
  1.6803 -+ * md_relax_frag should return the change in size of the frag. */
  1.6804 -+static long
  1.6805 -+avr32_default_relax_frag (segT segment, fragS *fragP, long stretch)
  1.6806 -+{
  1.6807 -+  int state, next_state;
  1.6808 -+  symbolS *symbolP;	/* The target symbol */
  1.6809 -+  long growth = 0;
  1.6810 -+
  1.6811 -+  state = next_state = fragP->fr_subtype;
  1.6812 -+
  1.6813 -+  symbolP = fragP->fr_symbol;
  1.6814 -+
  1.6815 -+  if (fragP->tc_frag_data.force_extended
  1.6816 -+      || need_reloc(symbolP, segment, fragP->tc_frag_data.pcrel))
  1.6817 -+    {
  1.6818 -+      /* Symbol must be resolved by the linker. Emit the largest
  1.6819 -+	 possible opcode. */
  1.6820 -+      while (relax_more(next_state) != AVR32_RS_NONE)
  1.6821 -+	next_state = relax_more(next_state);
  1.6822 -+    }
  1.6823 -+  else
  1.6824 -+    {
  1.6825 -+      addressT address;	/* The address of fragP */
  1.6826 -+      addressT target;	/* The address of the target symbol */
  1.6827 -+      offsetT distance;	/* The distance between the insn and the symbol */
  1.6828 -+      fragS *sym_frag;
  1.6829 -+
  1.6830 -+      address = fragP->fr_address;
  1.6831 -+      target = fragP->fr_offset;
  1.6832 -+      symbolP = fragP->fr_symbol;
  1.6833 -+      sym_frag = symbol_get_frag(symbolP);
  1.6834 -+
  1.6835 -+      address += fragP->fr_fix - fragP->fr_var;
  1.6836 -+      target += S_GET_VALUE(symbolP);
  1.6837 -+
  1.6838 -+      if (stretch != 0
  1.6839 -+	  && sym_frag->relax_marker != fragP->relax_marker
  1.6840 -+	  && S_GET_SEGMENT(symbolP) == segment)
  1.6841 -+	/* if it was correctly aligned before, make sure it stays aligned */
  1.6842 -+	target += stretch & (~0UL << avr32_rs_align(state));
  1.6843 -+
  1.6844 -+      if (fragP->tc_frag_data.pcrel)
  1.6845 -+	distance = target - (address & (~0UL << avr32_rs_align(state)));
  1.6846 -+      else
  1.6847 -+	distance = target;
  1.6848 -+
  1.6849 -+      pr_debug("%s:%d: relax more? 0x%x - 0x%x = 0x%x (%d), align %d\n",
  1.6850 -+	       fragP->fr_file, fragP->fr_line, target, address,
  1.6851 -+	       distance, distance, avr32_rs_align(state));
  1.6852 -+
  1.6853 -+      if (need_relax(state, distance))
  1.6854 -+	{
  1.6855 -+	  if (relax_more(state) != AVR32_RS_NONE)
  1.6856 -+	    next_state = relax_more(state);
  1.6857 -+	  pr_debug("%s:%d: relax more %d -> %d (%d - %d, align %d)\n",
  1.6858 -+		   fragP->fr_file, fragP->fr_line, state, next_state,
  1.6859 -+		   target, address, avr32_rs_align(state));
  1.6860 -+	}
  1.6861 -+    }
  1.6862 -+
  1.6863 -+  growth = avr32_rs_size(next_state) - avr32_rs_size(state);
  1.6864 -+  fragP->fr_subtype = next_state;
  1.6865 -+
  1.6866 -+  pr_debug("%s:%d: md_relax_frag: growth=%d, subtype=%d, opc=0x%08lx\n",
  1.6867 -+	   fragP->fr_file, fragP->fr_line, growth, fragP->fr_subtype,
  1.6868 -+	   avr32_opc_table[next_state].value);
  1.6869 -+
  1.6870 -+  return growth;
  1.6871 -+}
  1.6872 -+
  1.6873 -+static long
  1.6874 -+avr32_lda_relax_frag(segT segment, fragS *fragP, long stretch)
  1.6875 -+{
  1.6876 -+  struct cpool *pool= NULL;
  1.6877 -+  unsigned int entry = 0;
  1.6878 -+  addressT address, target;
  1.6879 -+  offsetT distance;
  1.6880 -+  symbolS *symbolP;
  1.6881 -+  fragS *sym_frag;
  1.6882 -+  long old_size, new_size;
  1.6883 -+
  1.6884 -+  symbolP = fragP->fr_symbol;
  1.6885 -+  old_size = fragP->fr_var;
  1.6886 -+  if (!avr32_pic)
  1.6887 -+    {
  1.6888 -+      pool = fragP->tc_frag_data.pool;
  1.6889 -+      entry = fragP->tc_frag_data.pool_entry;
  1.6890 -+    }
  1.6891 -+
  1.6892 -+  address = fragP->fr_address;
  1.6893 -+  address += fragP->fr_fix - LDA_INITIAL_SIZE;
  1.6894 -+
  1.6895 -+  if (!S_IS_DEFINED(symbolP) || S_FORCE_RELOC(symbolP, 1))
  1.6896 -+    goto relax_max;
  1.6897 -+
  1.6898 -+  target = fragP->fr_offset;
  1.6899 -+  sym_frag = symbol_get_frag(symbolP);
  1.6900 -+  target += S_GET_VALUE(symbolP);
  1.6901 -+
  1.6902 -+  if (sym_frag->relax_marker != fragP->relax_marker
  1.6903 -+      && S_GET_SEGMENT(symbolP) == segment)
  1.6904 -+    target += stretch;
  1.6905 -+
  1.6906 -+  distance = target - address;
  1.6907 -+
  1.6908 -+  pr_debug("lda_relax_frag: target: %d, address: %d, var: %d\n",
  1.6909 -+	   target, address, fragP->fr_var);
  1.6910 -+
  1.6911 -+  if (!avr32_pic && S_GET_SEGMENT(symbolP) == absolute_section
  1.6912 -+      && target <= 127 && (offsetT)target >= -128)
  1.6913 -+    {
  1.6914 -+      if (fragP->fr_subtype == LDA_SUBTYPE_LDDPC
  1.6915 -+	  || fragP->fr_subtype == LDA_SUBTYPE_LDW)
  1.6916 -+	pool->literals[entry].refcount--;
  1.6917 -+      new_size = 2;
  1.6918 -+      fragP->fr_subtype = LDA_SUBTYPE_MOV1;
  1.6919 -+    }
  1.6920 -+  else if (!avr32_pic && S_GET_SEGMENT(symbolP) == absolute_section
  1.6921 -+	   && target <= 1048575 && (offsetT)target >= -1048576)
  1.6922 -+    {
  1.6923 -+      if (fragP->fr_subtype == LDA_SUBTYPE_LDDPC
  1.6924 -+	  || fragP->fr_subtype == LDA_SUBTYPE_LDW)
  1.6925 -+	pool->literals[entry].refcount--;
  1.6926 -+      new_size = 4;
  1.6927 -+      fragP->fr_subtype = LDA_SUBTYPE_MOV2;
  1.6928 -+    }
  1.6929 -+  else if (!linkrelax && S_GET_SEGMENT(symbolP) == segment
  1.6930 -+	   /* the field will be negated, so this is really -(-32768)
  1.6931 -+	      and -(32767) */
  1.6932 -+	   && distance <= 32768 && distance >= -32767)
  1.6933 -+    {
  1.6934 -+      if (!avr32_pic
  1.6935 -+	  && (fragP->fr_subtype == LDA_SUBTYPE_LDDPC
  1.6936 -+	      || fragP->fr_subtype == LDA_SUBTYPE_LDW))
  1.6937 -+	pool->literals[entry].refcount--;
  1.6938 -+      new_size = 4;
  1.6939 -+      fragP->fr_subtype = LDA_SUBTYPE_SUB;
  1.6940 -+    }
  1.6941 -+  else
  1.6942 -+    {
  1.6943 -+    relax_max:
  1.6944 -+      if (avr32_pic)
  1.6945 -+	{
  1.6946 -+	  if (linkrelax)
  1.6947 -+	    {
  1.6948 -+	      new_size = 8;
  1.6949 -+	      fragP->fr_subtype = LDA_SUBTYPE_GOTLOAD_LARGE;
  1.6950 -+	    }
  1.6951 -+	  else
  1.6952 -+	    {
  1.6953 -+	      new_size = 4;
  1.6954 -+	      fragP->fr_subtype = LDA_SUBTYPE_GOTLOAD;
  1.6955 -+	    }
  1.6956 -+	}
  1.6957 -+      else
  1.6958 -+	{
  1.6959 -+	  if (fragP->fr_subtype != LDA_SUBTYPE_LDDPC
  1.6960 -+	      && fragP->fr_subtype != LDA_SUBTYPE_LDW)
  1.6961 -+	    pool->literals[entry].refcount++;
  1.6962 -+
  1.6963 -+	  sym_frag = symbol_get_frag(pool->symbol);
  1.6964 -+	  target = (sym_frag->fr_address + sym_frag->fr_fix
  1.6965 -+		    + pool->padding + pool->literals[entry].offset);
  1.6966 -+
  1.6967 -+	  pr_debug("cpool sym address: 0x%lx\n",
  1.6968 -+		   sym_frag->fr_address + sym_frag->fr_fix);
  1.6969 -+
  1.6970 -+	  know(pool->section == segment);
  1.6971 -+
  1.6972 -+	  if (sym_frag->relax_marker != fragP->relax_marker)
  1.6973 -+	    target += stretch;
  1.6974 -+
  1.6975 -+	  distance = target - address;
  1.6976 -+	  if (distance <= 508 && distance >= 0)
  1.6977 -+	    {
  1.6978 -+	      new_size = 2;
  1.6979 -+	      fragP->fr_subtype = LDA_SUBTYPE_LDDPC;
  1.6980 -+	    }
  1.6981 -+	  else
  1.6982 -+	    {
  1.6983 -+	      new_size = 4;
  1.6984 -+	      fragP->fr_subtype = LDA_SUBTYPE_LDW;
  1.6985 -+	    }
  1.6986 -+
  1.6987 -+	  pr_debug("lda_relax_frag (cpool): target=0x%lx, address=0x%lx, refcount=%d\n",
  1.6988 -+		   target, address, pool->literals[entry].refcount);
  1.6989 -+	}
  1.6990 -+    }
  1.6991 -+
  1.6992 -+  fragP->fr_var = new_size;
  1.6993 -+
  1.6994 -+  pr_debug("%s:%d: lda: relax pass done. subtype: %d, growth: %ld\n",
  1.6995 -+	   fragP->fr_file, fragP->fr_line,
  1.6996 -+	   fragP->fr_subtype, new_size - old_size);
  1.6997 -+
  1.6998 -+  return new_size - old_size;
  1.6999 -+}
  1.7000 -+
  1.7001 -+static long
  1.7002 -+avr32_call_relax_frag(segT segment, fragS *fragP, long stretch)
  1.7003 -+{
  1.7004 -+  struct cpool *pool = NULL;
  1.7005 -+  unsigned int entry = 0;
  1.7006 -+  addressT address, target;
  1.7007 -+  offsetT distance;
  1.7008 -+  symbolS *symbolP;
  1.7009 -+  fragS *sym_frag;
  1.7010 -+  long old_size, new_size;
  1.7011 -+
  1.7012 -+  symbolP = fragP->fr_symbol;
  1.7013 -+  old_size = fragP->fr_var;
  1.7014 -+  if (!avr32_pic)
  1.7015 -+    {
  1.7016 -+      pool = fragP->tc_frag_data.pool;
  1.7017 -+      entry = fragP->tc_frag_data.pool_entry;
  1.7018 -+    }
  1.7019 -+
  1.7020 -+  address = fragP->fr_address;
  1.7021 -+  address += fragP->fr_fix - CALL_INITIAL_SIZE;
  1.7022 -+
  1.7023 -+  if (need_reloc(symbolP, segment, 1))
  1.7024 -+    {
  1.7025 -+      pr_debug("call: must emit reloc\n");
  1.7026 -+      goto relax_max;
  1.7027 -+    }
  1.7028 -+
  1.7029 -+  target = fragP->fr_offset;
  1.7030 -+  sym_frag = symbol_get_frag(symbolP);
  1.7031 -+  target += S_GET_VALUE(symbolP);
  1.7032 -+
  1.7033 -+  if (sym_frag->relax_marker != fragP->relax_marker
  1.7034 -+      && S_GET_SEGMENT(symbolP) == segment)
  1.7035 -+    target += stretch;
  1.7036 -+
  1.7037 -+  distance = target - address;
  1.7038 -+
  1.7039 -+  if (distance <= 1022 && distance >= -1024)
  1.7040 -+    {
  1.7041 -+      pr_debug("call: distance is %d, emitting short rcall\n", distance);
  1.7042 -+      if (!avr32_pic && fragP->fr_subtype == CALL_SUBTYPE_MCALL_CP)
  1.7043 -+	pool->literals[entry].refcount--;
  1.7044 -+      new_size = 2;
  1.7045 -+      fragP->fr_subtype = CALL_SUBTYPE_RCALL1;
  1.7046 -+    }
  1.7047 -+  else if (distance <= 2097150 && distance >= -2097152)
  1.7048 -+    {
  1.7049 -+      pr_debug("call: distance is %d, emitting long rcall\n", distance);
  1.7050 -+      if (!avr32_pic && fragP->fr_subtype == CALL_SUBTYPE_MCALL_CP)
  1.7051 -+	pool->literals[entry].refcount--;
  1.7052 -+      new_size = 4;
  1.7053 -+      fragP->fr_subtype = CALL_SUBTYPE_RCALL2;
  1.7054 -+    }
  1.7055 -+  else
  1.7056 -+    {
  1.7057 -+      pr_debug("call: distance %d too far, emitting something big\n", distance);
  1.7058 -+
  1.7059 -+    relax_max:
  1.7060 -+      if (avr32_pic)
  1.7061 -+	{
  1.7062 -+	  if (linkrelax)
  1.7063 -+	    {
  1.7064 -+	      new_size = 10;
  1.7065 -+	      fragP->fr_subtype = CALL_SUBTYPE_MCALL_LARGE;
  1.7066 -+	    }
  1.7067 -+	  else
  1.7068 -+	    {
  1.7069 -+	      new_size = 4;
  1.7070 -+	      fragP->fr_subtype = CALL_SUBTYPE_MCALL_GOT;
  1.7071 -+	    }
  1.7072 -+	}
  1.7073 -+      else
  1.7074 -+	{
  1.7075 -+	  if (fragP->fr_subtype != CALL_SUBTYPE_MCALL_CP)
  1.7076 -+	    pool->literals[entry].refcount++;
  1.7077 -+
  1.7078 -+	  new_size = 4;
  1.7079 -+	  fragP->fr_subtype = CALL_SUBTYPE_MCALL_CP;
  1.7080 -+	}
  1.7081 -+    }
  1.7082 -+
  1.7083 -+  fragP->fr_var = new_size;
  1.7084 -+
  1.7085 -+  pr_debug("%s:%d: call: relax pass done, growth: %d, fr_var: %d\n",
  1.7086 -+	   fragP->fr_file, fragP->fr_line,
  1.7087 -+	   new_size - old_size, fragP->fr_var);
  1.7088 -+
  1.7089 -+  return new_size - old_size;
  1.7090 -+}
  1.7091 -+
  1.7092 -+static long
  1.7093 -+avr32_cpool_relax_frag(segT segment ATTRIBUTE_UNUSED,
  1.7094 -+		       fragS *fragP,
  1.7095 -+		       long stretch ATTRIBUTE_UNUSED)
  1.7096 -+{
  1.7097 -+  struct cpool *pool;
  1.7098 -+  addressT address;
  1.7099 -+  long old_size, new_size;
  1.7100 -+  unsigned int entry;
  1.7101 -+
  1.7102 -+  pool = fragP->tc_frag_data.pool;
  1.7103 -+  address = fragP->fr_address + fragP->fr_fix;
  1.7104 -+  old_size = fragP->fr_var;
  1.7105 -+  new_size = 0;
  1.7106 -+
  1.7107 -+  for (entry = 0; entry < pool->next_free_entry; entry++)
  1.7108 -+    {
  1.7109 -+      if (pool->literals[entry].refcount > 0)
  1.7110 -+	{
  1.7111 -+	  pool->literals[entry].offset = new_size;
  1.7112 -+	  new_size += 4;
  1.7113 -+	}
  1.7114 -+    }
  1.7115 -+
  1.7116 -+  fragP->fr_var = new_size;
  1.7117 -+
  1.7118 -+  return new_size - old_size;
  1.7119 -+}
  1.7120 -+
  1.7121 -+/* *fragP has been relaxed to its final size, and now needs to have
  1.7122 -+   the bytes inside it modified to conform to the new size.
  1.7123 -+
  1.7124 -+   Called after relaxation is finished.
  1.7125 -+   fragP->fr_type == rs_machine_dependent.
  1.7126 -+   fragP->fr_subtype is the subtype of what the address relaxed to.  */
  1.7127 -+
  1.7128 -+static void
  1.7129 -+avr32_default_convert_frag (bfd *abfd ATTRIBUTE_UNUSED,
  1.7130 -+			    segT segment ATTRIBUTE_UNUSED,
  1.7131 -+			    fragS *fragP)
  1.7132 -+{
  1.7133 -+  const struct avr32_opcode *opc;
  1.7134 -+  const struct avr32_ifield *ifield;
  1.7135 -+  bfd_reloc_code_real_type r_type;
  1.7136 -+  symbolS *symbolP;
  1.7137 -+  fixS *fixP;
  1.7138 -+  bfd_vma value;
  1.7139 -+  int subtype;
  1.7140 -+
  1.7141 -+  opc = &avr32_opc_table[fragP->fr_subtype];
  1.7142 -+  ifield = opc->fields[opc->var_field];
  1.7143 -+  symbolP = fragP->fr_symbol;
  1.7144 -+  subtype = fragP->fr_subtype;
  1.7145 -+  r_type = opc->reloc_type;
  1.7146 -+
  1.7147 -+  /* Clear the opcode bits and the bits belonging to the relaxed
  1.7148 -+     field.  We assume all other fields stay the same.  */
  1.7149 -+  value = bfd_getb32(fragP->fr_opcode);
  1.7150 -+  value &= ~(opc->mask | ifield->mask);
  1.7151 -+
  1.7152 -+  /* Insert the new opcode */
  1.7153 -+  value |= opc->value;
  1.7154 -+  bfd_putb32(value, fragP->fr_opcode);
  1.7155 -+
  1.7156 -+  fragP->fr_fix += opc->size - fragP->fr_var;
  1.7157 -+
  1.7158 -+  if (fragP->tc_frag_data.reloc_info != AVR32_OPINFO_NONE)
  1.7159 -+    {
  1.7160 -+      switch (fragP->tc_frag_data.reloc_info)
  1.7161 -+	{
  1.7162 -+	case AVR32_OPINFO_HI:
  1.7163 -+	  r_type = BFD_RELOC_HI16;
  1.7164 -+	  break;
  1.7165 -+	case AVR32_OPINFO_LO:
  1.7166 -+	  r_type = BFD_RELOC_LO16;
  1.7167 -+	  break;
  1.7168 -+	case AVR32_OPINFO_GOT:
  1.7169 -+	  switch (r_type)
  1.7170 -+	    {
  1.7171 -+	    case BFD_RELOC_AVR32_18W_PCREL:
  1.7172 -+	      r_type = BFD_RELOC_AVR32_GOT18SW;
  1.7173 -+	      break;
  1.7174 -+	    case BFD_RELOC_AVR32_16S:
  1.7175 -+	      r_type = BFD_RELOC_AVR32_GOT16S;
  1.7176 -+	      break;
  1.7177 -+	    default:
  1.7178 -+	      BAD_CASE(r_type);
  1.7179 -+	      break;
  1.7180 -+	    }
  1.7181 -+	  break;
  1.7182 -+	default:
  1.7183 -+	  BAD_CASE(fragP->tc_frag_data.reloc_info);
  1.7184 -+	  break;
  1.7185 -+	}
  1.7186 -+    }
  1.7187 -+
  1.7188 -+  pr_debug("%s:%d: convert_frag: new %s fixup\n",
  1.7189 -+	   fragP->fr_file, fragP->fr_line,
  1.7190 -+	   bfd_get_reloc_code_name(r_type));
  1.7191 -+
  1.7192 -+#if 1
  1.7193 -+  fixP = fix_new_exp(fragP, fragP->fr_fix - opc->size, opc->size,
  1.7194 -+		     &fragP->tc_frag_data.exp,
  1.7195 -+		     fragP->tc_frag_data.pcrel, r_type);
  1.7196 -+#else
  1.7197 -+  fixP = fix_new(fragP, fragP->fr_fix - opc->size, opc->size, symbolP,
  1.7198 -+		 fragP->fr_offset, fragP->tc_frag_data.pcrel, r_type);
  1.7199 -+#endif
  1.7200 -+
  1.7201 -+  /* Revert fix_new brain damage. "dot_value" is the value of PC at
  1.7202 -+     the point of the fixup, relative to the frag address.  fix_new()
  1.7203 -+     and friends think they are only being called during the assembly
  1.7204 -+     pass, not during relaxation or similar, so fx_dot_value, fx_file
  1.7205 -+     and fx_line are all initialized to the wrong value.  But we don't
  1.7206 -+     know the size of the fixup until now, so we really can't live up
  1.7207 -+     to the assumptions these functions make about the target.  What
  1.7208 -+     do these functions think the "where" and "frag" argument mean
  1.7209 -+     anyway?  */
  1.7210 -+  fixP->fx_dot_value = fragP->fr_fix - opc->size;
  1.7211 -+  fixP->fx_file = fragP->fr_file;
  1.7212 -+  fixP->fx_line = fragP->fr_line;
  1.7213 -+
  1.7214 -+  fixP->tc_fix_data.ifield = ifield;
  1.7215 -+  fixP->tc_fix_data.align = avr32_rs_align(subtype);
  1.7216 -+  fixP->tc_fix_data.min = avr32_relax_table[subtype].lower_bound;
  1.7217 -+  fixP->tc_fix_data.max = avr32_relax_table[subtype].upper_bound;
  1.7218 -+}
  1.7219 -+
  1.7220 -+static void
  1.7221 -+avr32_lda_convert_frag(bfd *abfd ATTRIBUTE_UNUSED,
  1.7222 -+		       segT segment ATTRIBUTE_UNUSED,
  1.7223 -+		       fragS *fragP)
  1.7224 -+{
  1.7225 -+  const struct avr32_opcode *opc;
  1.7226 -+  const struct avr32_ifield *ifield;
  1.7227 -+  bfd_reloc_code_real_type r_type;
  1.7228 -+  expressionS exp;
  1.7229 -+  struct cpool *pool;
  1.7230 -+  fixS *fixP;
  1.7231 -+  bfd_vma value;
  1.7232 -+  int regid, pcrel = 0, align = 0;
  1.7233 -+  char *p;
  1.7234 -+
  1.7235 -+  r_type = BFD_RELOC_NONE;
  1.7236 -+  regid = fragP->tc_frag_data.reloc_info;
  1.7237 -+  p = fragP->fr_opcode;
  1.7238 -+  exp.X_add_symbol = fragP->fr_symbol;
  1.7239 -+  exp.X_add_number = fragP->fr_offset;
  1.7240 -+  exp.X_op = O_symbol;
  1.7241 -+
  1.7242 -+  pr_debug("%s:%d: lda_convert_frag, subtype: %d, fix: %d, var: %d, regid: %d\n",
  1.7243 -+	   fragP->fr_file, fragP->fr_line,
  1.7244 -+	   fragP->fr_subtype, fragP->fr_fix, fragP->fr_var, regid);
  1.7245 -+
  1.7246 -+  switch (fragP->fr_subtype)
  1.7247 -+    {
  1.7248 -+    case LDA_SUBTYPE_MOV1:
  1.7249 -+      opc = &avr32_opc_table[AVR32_OPC_MOV1];
  1.7250 -+      opc->fields[0]->insert(opc->fields[0], p, regid);
  1.7251 -+      ifield = opc->fields[1];
  1.7252 -+      r_type = opc->reloc_type;
  1.7253 -+      break;
  1.7254 -+    case LDA_SUBTYPE_MOV2:
  1.7255 -+      opc = &avr32_opc_table[AVR32_OPC_MOV2];
  1.7256 -+      opc->fields[0]->insert(opc->fields[0], p, regid);
  1.7257 -+      ifield = opc->fields[1];
  1.7258 -+      r_type = opc->reloc_type;
  1.7259 -+      break;
  1.7260 -+    case LDA_SUBTYPE_SUB:
  1.7261 -+      opc = &avr32_opc_table[AVR32_OPC_SUB5];
  1.7262 -+      opc->fields[0]->insert(opc->fields[0], p, regid);
  1.7263 -+      opc->fields[1]->insert(opc->fields[1], p, AVR32_REG_PC);
  1.7264 -+      ifield = opc->fields[2];
  1.7265 -+      r_type = BFD_RELOC_AVR32_16N_PCREL;
  1.7266 -+
  1.7267 -+      /* Pretend that SUB5 isn't a "negated" pcrel expression for now.
  1.7268 -+	 We'll have to fix it up later when we know whether to
  1.7269 -+	 generate a reloc for it (in which case the linker will negate
  1.7270 -+	 it, so we shouldn't). */
  1.7271 -+      pcrel = 1;
  1.7272 -+      break;
  1.7273 -+    case LDA_SUBTYPE_LDDPC:
  1.7274 -+      opc = &avr32_opc_table[AVR32_OPC_LDDPC];
  1.7275 -+      align = 2;
  1.7276 -+      r_type = BFD_RELOC_AVR32_9W_CP;
  1.7277 -+      goto cpool_common;
  1.7278 -+    case LDA_SUBTYPE_LDW:
  1.7279 -+      opc = &avr32_opc_table[AVR32_OPC_LDDPC_EXT];
  1.7280 -+      r_type = BFD_RELOC_AVR32_16_CP;
  1.7281 -+    cpool_common:
  1.7282 -+      opc->fields[0]->insert(opc->fields[0], p, regid);
  1.7283 -+      ifield = opc->fields[1];
  1.7284 -+      pool = fragP->tc_frag_data.pool;
  1.7285 -+      exp.X_add_symbol = pool->symbol;
  1.7286 -+      exp.X_add_number = pool->literals[fragP->tc_frag_data.pool_entry].offset;
  1.7287 -+      pcrel = 1;
  1.7288 -+      break;
  1.7289 -+    case LDA_SUBTYPE_GOTLOAD_LARGE:
  1.7290 -+      /* ld.w Rd, r6[Rd << 2] (last) */
  1.7291 -+      opc = &avr32_opc_table[AVR32_OPC_LD_W5];
  1.7292 -+      bfd_putb32(opc->value, p + 4);
  1.7293 -+      opc->fields[0]->insert(opc->fields[0], p + 4, regid);
  1.7294 -+      opc->fields[1]->insert(opc->fields[1], p + 4, 6);
  1.7295 -+      opc->fields[2]->insert(opc->fields[2], p + 4, regid);
  1.7296 -+      opc->fields[3]->insert(opc->fields[3], p + 4, 2);
  1.7297 -+
  1.7298 -+      /* mov Rd, (got_offset / 4) */
  1.7299 -+      opc = &avr32_opc_table[AVR32_OPC_MOV2];
  1.7300 -+      opc->fields[0]->insert(opc->fields[0], p, regid);
  1.7301 -+      ifield = opc->fields[1];
  1.7302 -+      r_type = BFD_RELOC_AVR32_LDA_GOT;
  1.7303 -+      break;
  1.7304 -+    case LDA_SUBTYPE_GOTLOAD:
  1.7305 -+      opc = &avr32_opc_table[AVR32_OPC_LD_W4];
  1.7306 -+      opc->fields[0]->insert(opc->fields[0], p, regid);
  1.7307 -+      opc->fields[1]->insert(opc->fields[1], p, 6);
  1.7308 -+      ifield = opc->fields[2];
  1.7309 -+      if (r_type == BFD_RELOC_NONE)
  1.7310 -+	r_type = BFD_RELOC_AVR32_GOT16S;
  1.7311 -+      break;
  1.7312 -+    default:
  1.7313 -+      BAD_CASE(fragP->fr_subtype);
  1.7314 -+    }
  1.7315 -+
  1.7316 -+  value = bfd_getb32(p);
  1.7317 -+  value &= ~(opc->mask | ifield->mask);
  1.7318 -+  value |= opc->value;
  1.7319 -+  bfd_putb32(value, p);
  1.7320 -+
  1.7321 -+  fragP->fr_fix += fragP->fr_var - LDA_INITIAL_SIZE;
  1.7322 -+
  1.7323 -+  if (fragP->fr_next
  1.7324 -+      && ((offsetT)(fragP->fr_next->fr_address - fragP->fr_address)
  1.7325 -+	  != fragP->fr_fix))
  1.7326 -+    {
  1.7327 -+      fprintf(stderr, "LDA frag: fr_fix is wrong! fragP->fr_var = %ld, r_type = %s\n",
  1.7328 -+	      fragP->fr_var, bfd_get_reloc_code_name(r_type));
  1.7329 -+      abort();
  1.7330 -+    }
  1.7331 -+
  1.7332 -+  fixP = fix_new_exp(fragP, fragP->fr_fix - fragP->fr_var, fragP->fr_var,
  1.7333 -+		     &exp, pcrel, r_type);
  1.7334 -+
  1.7335 -+  /* Revert fix_new brain damage. "dot_value" is the value of PC at
  1.7336 -+     the point of the fixup, relative to the frag address.  fix_new()
  1.7337 -+     and friends think they are only being called during the assembly
  1.7338 -+     pass, not during relaxation or similar, so fx_dot_value, fx_file
  1.7339 -+     and fx_line are all initialized to the wrong value.  But we don't
  1.7340 -+     know the size of the fixup until now, so we really can't live up
  1.7341 -+     to the assumptions these functions make about the target.  What
  1.7342 -+     do these functions think the "where" and "frag" argument mean
  1.7343 -+     anyway?  */
  1.7344 -+  fixP->fx_dot_value = fragP->fr_fix - opc->size;
  1.7345 -+  fixP->fx_file = fragP->fr_file;
  1.7346 -+  fixP->fx_line = fragP->fr_line;
  1.7347 -+
  1.7348 -+  fixP->tc_fix_data.ifield = ifield;
  1.7349 -+  fixP->tc_fix_data.align = align;
  1.7350 -+  /* these are only used if the fixup can actually be resolved */
  1.7351 -+  fixP->tc_fix_data.min = -32768;
  1.7352 -+  fixP->tc_fix_data.max = 32767;
  1.7353 -+}
  1.7354 -+
  1.7355 -+static void
  1.7356 -+avr32_call_convert_frag(bfd *abfd ATTRIBUTE_UNUSED,
  1.7357 -+		       segT segment ATTRIBUTE_UNUSED,
  1.7358 -+		       fragS *fragP)
  1.7359 -+{
  1.7360 -+  const struct avr32_opcode *opc = NULL;
  1.7361 -+  const struct avr32_ifield *ifield;
  1.7362 -+  bfd_reloc_code_real_type r_type;
  1.7363 -+  symbolS *symbol;
  1.7364 -+  offsetT offset;
  1.7365 -+  fixS *fixP;
  1.7366 -+  bfd_vma value;
  1.7367 -+  int pcrel = 0, align = 0;
  1.7368 -+  char *p;
  1.7369 -+
  1.7370 -+  symbol = fragP->fr_symbol;
  1.7371 -+  offset = fragP->fr_offset;
  1.7372 -+  r_type = BFD_RELOC_NONE;
  1.7373 -+  p = fragP->fr_opcode;
  1.7374 -+
  1.7375 -+  pr_debug("%s:%d: call_convert_frag, subtype: %d, fix: %d, var: %d\n",
  1.7376 -+	   fragP->fr_file, fragP->fr_line,
  1.7377 -+	   fragP->fr_subtype, fragP->fr_fix, fragP->fr_var);
  1.7378 -+
  1.7379 -+  switch (fragP->fr_subtype)
  1.7380 -+    {
  1.7381 -+    case CALL_SUBTYPE_RCALL1:
  1.7382 -+      opc = &avr32_opc_table[AVR32_OPC_RCALL1];
  1.7383 -+      /* fall through */
  1.7384 -+    case CALL_SUBTYPE_RCALL2:
  1.7385 -+      if (!opc)
  1.7386 -+	opc = &avr32_opc_table[AVR32_OPC_RCALL2];
  1.7387 -+      ifield = opc->fields[0];
  1.7388 -+      r_type = opc->reloc_type;
  1.7389 -+      pcrel = 1;
  1.7390 -+      align = 1;
  1.7391 -+      break;
  1.7392 -+    case CALL_SUBTYPE_MCALL_CP:
  1.7393 -+      opc = &avr32_opc_table[AVR32_OPC_MCALL];
  1.7394 -+      opc->fields[0]->insert(opc->fields[0], p, AVR32_REG_PC);
  1.7395 -+      ifield = opc->fields[1];
  1.7396 -+      r_type = BFD_RELOC_AVR32_CPCALL;
  1.7397 -+      symbol = fragP->tc_frag_data.pool->symbol;
  1.7398 -+      offset = fragP->tc_frag_data.pool->literals[fragP->tc_frag_data.pool_entry].offset;
  1.7399 -+      assert(fragP->tc_frag_data.pool->literals[fragP->tc_frag_data.pool_entry].refcount > 0);
  1.7400 -+      pcrel = 1;
  1.7401 -+      align = 2;
  1.7402 -+      break;
  1.7403 -+    case CALL_SUBTYPE_MCALL_GOT:
  1.7404 -+      opc = &avr32_opc_table[AVR32_OPC_MCALL];
  1.7405 -+      opc->fields[0]->insert(opc->fields[0], p, 6);
  1.7406 -+      ifield = opc->fields[1];
  1.7407 -+      r_type = BFD_RELOC_AVR32_GOT18SW;
  1.7408 -+      break;
  1.7409 -+    case CALL_SUBTYPE_MCALL_LARGE:
  1.7410 -+      assert(fragP->fr_var == 10);
  1.7411 -+      /* ld.w lr, r6[lr << 2] */
  1.7412 -+      opc = &avr32_opc_table[AVR32_OPC_LD_W5];
  1.7413 -+      bfd_putb32(opc->value, p + 4);
  1.7414 -+      opc->fields[0]->insert(opc->fields[0], p + 4, AVR32_REG_LR);
  1.7415 -+      opc->fields[1]->insert(opc->fields[1], p + 4, 6);
  1.7416 -+      opc->fields[2]->insert(opc->fields[2], p + 4, AVR32_REG_LR);
  1.7417 -+      opc->fields[3]->insert(opc->fields[3], p + 4, 2);
  1.7418 -+
  1.7419 -+      /* icall lr */
  1.7420 -+      opc = &avr32_opc_table[AVR32_OPC_ICALL];
  1.7421 -+      bfd_putb16(opc->value >> 16, p + 8);
  1.7422 -+      opc->fields[0]->insert(opc->fields[0], p + 8, AVR32_REG_LR);
  1.7423 -+
  1.7424 -+      /* mov lr, (got_offset / 4) */
  1.7425 -+      opc = &avr32_opc_table[AVR32_OPC_MOV2];
  1.7426 -+      opc->fields[0]->insert(opc->fields[0], p, AVR32_REG_LR);
  1.7427 -+      ifield = opc->fields[1];
  1.7428 -+      r_type = BFD_RELOC_AVR32_GOTCALL;
  1.7429 -+      break;
  1.7430 -+    default:
  1.7431 -+      BAD_CASE(fragP->fr_subtype);
  1.7432 -+    }
  1.7433 -+
  1.7434 -+  /* Insert the opcode and clear the variable ifield */
  1.7435 -+  value = bfd_getb32(p);
  1.7436 -+  value &= ~(opc->mask | ifield->mask);
  1.7437 -+  value |= opc->value;
  1.7438 -+  bfd_putb32(value, p);
  1.7439 -+
  1.7440 -+  fragP->fr_fix += fragP->fr_var - CALL_INITIAL_SIZE;
  1.7441 -+
  1.7442 -+  if (fragP->fr_next
  1.7443 -+      && ((offsetT)(fragP->fr_next->fr_address - fragP->fr_address)
  1.7444 -+	  != fragP->fr_fix))
  1.7445 -+    {
  1.7446 -+      fprintf(stderr, "%s:%d: fr_fix %lu is wrong! fr_var=%lu, r_type=%s\n",
  1.7447 -+	      fragP->fr_file, fragP->fr_line,
  1.7448 -+	      fragP->fr_fix, fragP->fr_var, bfd_get_reloc_code_name(r_type));
  1.7449 -+      fprintf(stderr, "fr_fix should be %ld. next frag is %s:%d\n",
  1.7450 -+	      (offsetT)(fragP->fr_next->fr_address - fragP->fr_address),
  1.7451 -+	      fragP->fr_next->fr_file, fragP->fr_next->fr_line);
  1.7452 -+    }
  1.7453 -+
  1.7454 -+  fixP = fix_new(fragP, fragP->fr_fix - fragP->fr_var, fragP->fr_var,
  1.7455 -+		 symbol, offset, pcrel, r_type);
  1.7456 -+
  1.7457 -+  /* Revert fix_new brain damage. "dot_value" is the value of PC at
  1.7458 -+     the point of the fixup, relative to the frag address.  fix_new()
  1.7459 -+     and friends think they are only being called during the assembly
  1.7460 -+     pass, not during relaxation or similar, so fx_dot_value, fx_file
  1.7461 -+     and fx_line are all initialized to the wrong value.  But we don't
  1.7462 -+     know the size of the fixup until now, so we really can't live up
  1.7463 -+     to the assumptions these functions make about the target.  What
  1.7464 -+     do these functions think the "where" and "frag" argument mean
  1.7465 -+     anyway?  */
  1.7466 -+  fixP->fx_dot_value = fragP->fr_fix - opc->size;
  1.7467 -+  fixP->fx_file = fragP->fr_file;
  1.7468 -+  fixP->fx_line = fragP->fr_line;
  1.7469 -+
  1.7470 -+  fixP->tc_fix_data.ifield = ifield;
  1.7471 -+  fixP->tc_fix_data.align = align;
  1.7472 -+  /* these are only used if the fixup can actually be resolved */
  1.7473 -+  fixP->tc_fix_data.min = -2097152;
  1.7474 -+  fixP->tc_fix_data.max = 2097150;
  1.7475 -+}
  1.7476 -+
  1.7477 -+static void
  1.7478 -+avr32_cpool_convert_frag(bfd *abfd ATTRIBUTE_UNUSED,
  1.7479 -+			 segT segment ATTRIBUTE_UNUSED,
  1.7480 -+			 fragS *fragP)
  1.7481 -+{
  1.7482 -+  struct cpool *pool;
  1.7483 -+  addressT address;
  1.7484 -+  unsigned int entry;
  1.7485 -+  char *p;
  1.7486 -+  char sym_name[20];
  1.7487 -+
  1.7488 -+  /* Did we get rid of the frag altogether? */
  1.7489 -+  if (!fragP->fr_var)
  1.7490 -+    return;
  1.7491 -+
  1.7492 -+  pool = fragP->tc_frag_data.pool;
  1.7493 -+  address = fragP->fr_address + fragP->fr_fix;
  1.7494 -+  p = fragP->fr_literal + fragP->fr_fix;
  1.7495 -+
  1.7496 -+  sprintf(sym_name, "$$cp_\002%x", pool->id);
  1.7497 -+  symbol_locate(pool->symbol, sym_name, pool->section, fragP->fr_fix, fragP);
  1.7498 -+  symbol_table_insert(pool->symbol);
  1.7499 -+
  1.7500 -+  for (entry = 0; entry < pool->next_free_entry; entry++)
  1.7501 -+    {
  1.7502 -+      if (pool->literals[entry].refcount > 0)
  1.7503 -+	{
  1.7504 -+	  fix_new_exp(fragP, fragP->fr_fix, 4, &pool->literals[entry].exp,
  1.7505 -+		      FALSE, BFD_RELOC_AVR32_32_CPENT);
  1.7506 -+	  fragP->fr_fix += 4;
  1.7507 -+	}
  1.7508 -+    }
  1.7509 -+}
  1.7510 -+
  1.7511 -+static struct avr32_relaxer avr32_default_relaxer = {
  1.7512 -+  .estimate_size	= avr32_default_estimate_size_before_relax,
  1.7513 -+  .relax_frag		= avr32_default_relax_frag,
  1.7514 -+  .convert_frag		= avr32_default_convert_frag,
  1.7515 -+};
  1.7516 -+static struct avr32_relaxer avr32_lda_relaxer = {
  1.7517 -+  .estimate_size	= avr32_lda_estimate_size_before_relax,
  1.7518 -+  .relax_frag		= avr32_lda_relax_frag,
  1.7519 -+  .convert_frag		= avr32_lda_convert_frag,
  1.7520 -+};
  1.7521 -+static struct avr32_relaxer avr32_call_relaxer = {
  1.7522 -+  .estimate_size	= avr32_call_estimate_size_before_relax,
  1.7523 -+  .relax_frag		= avr32_call_relax_frag,
  1.7524 -+  .convert_frag		= avr32_call_convert_frag,
  1.7525 -+};
  1.7526 -+static struct avr32_relaxer avr32_cpool_relaxer = {
  1.7527 -+  .estimate_size	= avr32_cpool_estimate_size_before_relax,
  1.7528 -+  .relax_frag		= avr32_cpool_relax_frag,
  1.7529 -+  .convert_frag		= avr32_cpool_convert_frag,
  1.7530 -+};
  1.7531 -+
  1.7532 -+static void s_cpool(int arg ATTRIBUTE_UNUSED)
  1.7533 -+{
  1.7534 -+  struct cpool *pool;
  1.7535 -+  unsigned int max_size;
  1.7536 -+  char *buf;
  1.7537 -+
  1.7538 -+  pool = find_cpool(now_seg, now_subseg);
  1.7539 -+  if (!pool || !pool->symbol || pool->next_free_entry == 0)
  1.7540 -+    return;
  1.7541 -+
  1.7542 -+  /* Make sure the constant pool is properly aligned */
  1.7543 -+  frag_align_code(2, 0);
  1.7544 -+  if (bfd_get_section_alignment(stdoutput, pool->section) < 2)
  1.7545 -+    bfd_set_section_alignment(stdoutput, pool->section, 2);
  1.7546 -+
  1.7547 -+  /* Assume none of the entries are discarded, and that we need the
  1.7548 -+     maximum amount of alignment.  But we're not going to allocate
  1.7549 -+     anything up front. */
  1.7550 -+  max_size = pool->next_free_entry * 4 + 2;
  1.7551 -+  frag_grow(max_size);
  1.7552 -+  buf = frag_more(0);
  1.7553 -+
  1.7554 -+  frag_now->tc_frag_data.relaxer = &avr32_cpool_relaxer;
  1.7555 -+  frag_now->tc_frag_data.pool = pool;
  1.7556 -+
  1.7557 -+  symbol_set_frag(pool->symbol, frag_now);
  1.7558 -+
  1.7559 -+  /* Assume zero initial size, allowing other relaxers to be
  1.7560 -+     optimistic about things.  */
  1.7561 -+  frag_var(rs_machine_dependent, max_size, 0,
  1.7562 -+	   0, pool->symbol, 0, NULL);
  1.7563 -+
  1.7564 -+  /* Mark the pool as empty.  */
  1.7565 -+  pool->used = 1;
  1.7566 -+}
  1.7567 -+
  1.7568 -+/* The location from which a PC relative jump should be calculated,
  1.7569 -+   given a PC relative reloc.  */
  1.7570 -+
  1.7571 -+long
  1.7572 -+md_pcrel_from_section (fixS *fixP, segT sec)
  1.7573 -+{
  1.7574 -+  pr_debug("pcrel_from_section, fx_offset = %d\n", fixP->fx_offset);
  1.7575 -+
  1.7576 -+  if (fixP->fx_addsy != NULL
  1.7577 -+      && (! S_IS_DEFINED (fixP->fx_addsy)
  1.7578 -+          || S_GET_SEGMENT (fixP->fx_addsy) != sec
  1.7579 -+	  || S_FORCE_RELOC(fixP->fx_addsy, 1)))
  1.7580 -+    {
  1.7581 -+      pr_debug("Unknown pcrel symbol: %s\n", S_GET_NAME(fixP->fx_addsy));
  1.7582 -+
  1.7583 -+      /* The symbol is undefined (or is defined but not in this section).
  1.7584 -+	 Let the linker figure it out.  */
  1.7585 -+      return 0;
  1.7586 -+    }
  1.7587 -+
  1.7588 -+  pr_debug("pcrel from %x + %x, symbol: %s (%x)\n",
  1.7589 -+	   fixP->fx_frag->fr_address, fixP->fx_where,
  1.7590 -+	   fixP->fx_addsy?S_GET_NAME(fixP->fx_addsy):"(null)",
  1.7591 -+	   fixP->fx_addsy?S_GET_VALUE(fixP->fx_addsy):0);
  1.7592 -+
  1.7593 -+  return ((fixP->fx_frag->fr_address + fixP->fx_where)
  1.7594 -+	  & (~0UL << fixP->tc_fix_data.align));
  1.7595 -+}
  1.7596 -+
  1.7597 -+valueT
  1.7598 -+md_section_align (segT segment, valueT size)
  1.7599 -+{
  1.7600 -+  int align = bfd_get_section_alignment (stdoutput, segment);
  1.7601 -+  return ((size + (1 << align) - 1) & (-1 << align));
  1.7602 -+}
  1.7603 -+
  1.7604 -+static int syntax_matches(const struct avr32_syntax *syntax,
  1.7605 -+			  char *str)
  1.7606 -+{
  1.7607 -+  int i;
  1.7608 -+
  1.7609 -+  pr_debug("syntax %d matches `%s'?\n", syntax->id, str);
  1.7610 -+
  1.7611 -+  if (syntax->nr_operands < 0)
  1.7612 -+    {
  1.7613 -+      struct avr32_operand *op;
  1.7614 -+      int optype;
  1.7615 -+
  1.7616 -+      for (i = 0; i < (-syntax->nr_operands - 1); i++)
  1.7617 -+	{
  1.7618 -+	  char *p;
  1.7619 -+	  char c;
  1.7620 -+
  1.7621 -+	  optype = syntax->operand[i];
  1.7622 -+	  assert(optype < AVR32_NR_OPERANDS);
  1.7623 -+	  op = &avr32_operand_table[optype];
  1.7624 -+
  1.7625 -+	  for (p = str; *p; p++)
  1.7626 -+	    if (*p == ',')
  1.7627 -+	      break;
  1.7628 -+
  1.7629 -+	  if (p == str)
  1.7630 -+	    return 0;
  1.7631 -+
  1.7632 -+	  c = *p;
  1.7633 -+	  *p = 0;
  1.7634 -+
  1.7635 -+	  if (!op->match(str))
  1.7636 -+	    {
  1.7637 -+	      *p = c;
  1.7638 -+	      return 0;
  1.7639 -+	    }
  1.7640 -+
  1.7641 -+	  str = p;
  1.7642 -+	  *p = c;
  1.7643 -+	  if (c)
  1.7644 -+	    str++;
  1.7645 -+	}
  1.7646 -+
  1.7647 -+      optype = syntax->operand[i];
  1.7648 -+      assert(optype < AVR32_NR_OPERANDS);
  1.7649 -+      op = &avr32_operand_table[optype];
  1.7650 -+
  1.7651 -+      if (!op->match(str))
  1.7652 -+	return 0;
  1.7653 -+      return 1;
  1.7654 -+    }
  1.7655 -+
  1.7656 -+  for (i = 0; i < syntax->nr_operands; i++)
  1.7657 -+    {
  1.7658 -+      struct avr32_operand *op;
  1.7659 -+      int optype = syntax->operand[i];
  1.7660 -+      char *p;
  1.7661 -+      char c;
  1.7662 -+
  1.7663 -+      assert(optype < AVR32_NR_OPERANDS);
  1.7664 -+      op = &avr32_operand_table[optype];
  1.7665 -+
  1.7666 -+      for (p = str; *p; p++)
  1.7667 -+	if (*p == ',')
  1.7668 -+	  break;
  1.7669 -+
  1.7670 -+      if (p == str)
  1.7671 -+	return 0;
  1.7672 -+
  1.7673 -+      c = *p;
  1.7674 -+      *p = 0;
  1.7675 -+
  1.7676 -+      if (!op->match(str))
  1.7677 -+	{
  1.7678 -+	  *p = c;
  1.7679 -+	  return 0;
  1.7680 -+	}
  1.7681 -+
  1.7682 -+      str = p;
  1.7683 -+      *p = c;
  1.7684 -+      if (c)
  1.7685 -+	str++;
  1.7686 -+    }
  1.7687 -+
  1.7688 -+  if (*str == '\0')
  1.7689 -+    return 1;
  1.7690 -+
  1.7691 -+  if ((*str == 'e' || *str == 'E') && !str[1])
  1.7692 -+    return 1;
  1.7693 -+
  1.7694 -+  return 0;
  1.7695 -+}
  1.7696 -+
  1.7697 -+static int parse_operands(char *str)
  1.7698 -+{
  1.7699 -+  int i;
  1.7700 -+
  1.7701 -+  if (current_insn.syntax->nr_operands < 0)
  1.7702 -+    {
  1.7703 -+      int optype;
  1.7704 -+      struct avr32_operand *op;
  1.7705 -+
  1.7706 -+      for (i = 0; i < (-current_insn.syntax->nr_operands - 1); i++)
  1.7707 -+	{
  1.7708 -+	  char *p;
  1.7709 -+	  char c;
  1.7710 -+
  1.7711 -+	  optype = current_insn.syntax->operand[i];
  1.7712 -+	  op = &avr32_operand_table[optype];
  1.7713 -+
  1.7714 -+	  for (p = str; *p; p++)
  1.7715 -+	    if (*p == ',')
  1.7716 -+	      break;
  1.7717 -+
  1.7718 -+	  assert(p != str);
  1.7719 -+
  1.7720 -+	  c = *p, *p = 0;
  1.7721 -+	  op->parse(op, str, i);
  1.7722 -+	  *p = c;
  1.7723 -+
  1.7724 -+	  str = p;
  1.7725 -+	  if (c) str++;
  1.7726 -+	}
  1.7727 -+
  1.7728 -+      /* give the rest of the line to the last operand */
  1.7729 -+      optype = current_insn.syntax->operand[i];
  1.7730 -+      op = &avr32_operand_table[optype];
  1.7731 -+      op->parse(op, str, i);
  1.7732 -+    }
  1.7733 -+  else
  1.7734 -+    {
  1.7735 -+      for (i = 0; i < current_insn.syntax->nr_operands; i++)
  1.7736 -+	{
  1.7737 -+	  int optype = current_insn.syntax->operand[i];
  1.7738 -+	  struct avr32_operand *op = &avr32_operand_table[optype];
  1.7739 -+	  char *p;
  1.7740 -+	  char c;
  1.7741 -+
  1.7742 -+	  skip_whitespace(str);
  1.7743 -+
  1.7744 -+	  for (p = str; *p; p++)
  1.7745 -+	    if (*p == ',')
  1.7746 -+	      break;
  1.7747 -+
  1.7748 -+	  assert(p != str);
  1.7749 -+
  1.7750 -+	  c = *p, *p = 0;
  1.7751 -+	  op->parse(op, str, i);
  1.7752 -+	  *p = c;
  1.7753 -+
  1.7754 -+	  str = p;
  1.7755 -+	  if (c) str++;
  1.7756 -+	}
  1.7757 -+
  1.7758 -+      if (*str == 'E' || *str == 'e')
  1.7759 -+	current_insn.force_extended = 1;
  1.7760 -+    }
  1.7761 -+
  1.7762 -+  return 0;
  1.7763 -+}
  1.7764 -+
  1.7765 -+static const char *
  1.7766 -+finish_insn(const struct avr32_opcode *opc)
  1.7767 -+{
  1.7768 -+  expressionS *exp = &current_insn.immediate;
  1.7769 -+  unsigned int i;
  1.7770 -+  int will_relax = 0;
  1.7771 -+  char *buf;
  1.7772 -+
  1.7773 -+  assert(current_insn.next_slot == opc->nr_fields);
  1.7774 -+
  1.7775 -+  pr_debug("%s:%d: finish_insn: trying opcode %d\n",
  1.7776 -+	   frag_now->fr_file, frag_now->fr_line, opc->id);
  1.7777 -+
  1.7778 -+  /* Go through the relaxation stage for all instructions that can
  1.7779 -+     possibly take a symbolic immediate.  The relax code will take
  1.7780 -+     care of range checking and alignment.  */
  1.7781 -+  if (opc->var_field != -1)
  1.7782 -+    {
  1.7783 -+      int substate, largest_substate;
  1.7784 -+      symbolS *sym;
  1.7785 -+      offsetT off;
  1.7786 -+
  1.7787 -+      will_relax = 1;
  1.7788 -+      substate = largest_substate = opc_initial_substate(opc);
  1.7789 -+
  1.7790 -+      while (relax_more(largest_substate) != AVR32_RS_NONE)
  1.7791 -+	largest_substate = relax_more(largest_substate);
  1.7792 -+
  1.7793 -+      pr_debug("will relax. initial substate: %d (size %d), largest substate: %d (size %d)\n",
  1.7794 -+	       substate, avr32_rs_size(substate),
  1.7795 -+	       largest_substate, avr32_rs_size(largest_substate));
  1.7796 -+
  1.7797 -+      /* make sure we have enough room for the largest possible opcode */
  1.7798 -+      frag_grow(avr32_rs_size(largest_substate));
  1.7799 -+      buf = frag_more(opc->size);
  1.7800 -+
  1.7801 -+      dwarf2_emit_insn(opc->size);
  1.7802 -+
  1.7803 -+      frag_now->tc_frag_data.reloc_info = AVR32_OPINFO_NONE;
  1.7804 -+      frag_now->tc_frag_data.pcrel = current_insn.pcrel;
  1.7805 -+      frag_now->tc_frag_data.force_extended = current_insn.force_extended;
  1.7806 -+      frag_now->tc_frag_data.relaxer = &avr32_default_relaxer;
  1.7807 -+
  1.7808 -+      if (exp->X_op == O_hi)
  1.7809 -+	{
  1.7810 -+	  frag_now->tc_frag_data.reloc_info = AVR32_OPINFO_HI;
  1.7811 -+	  exp->X_op = exp->X_md;
  1.7812 -+	}
  1.7813 -+      else if (exp->X_op == O_lo)
  1.7814 -+	{
  1.7815 -+	  frag_now->tc_frag_data.reloc_info = AVR32_OPINFO_LO;
  1.7816 -+	  exp->X_op = exp->X_md;
  1.7817 -+	}
  1.7818 -+      else if (exp->X_op == O_got)
  1.7819 -+	{
  1.7820 -+	  frag_now->tc_frag_data.reloc_info = AVR32_OPINFO_GOT;
  1.7821 -+	  exp->X_op = O_symbol;
  1.7822 -+	}
  1.7823 -+
  1.7824 -+#if 0
  1.7825 -+      if ((opc->reloc_type == BFD_RELOC_AVR32_SUB5)
  1.7826 -+	  && exp->X_op == O_subtract)
  1.7827 -+	{
  1.7828 -+	  symbolS *tmp;
  1.7829 -+	  tmp = exp->X_add_symbol;
  1.7830 -+	  exp->X_add_symbol = exp->X_op_symbol;
  1.7831 -+	  exp->X_op_symbol = tmp;
  1.7832 -+	}
  1.7833 -+#endif
  1.7834 -+
  1.7835 -+      frag_now->tc_frag_data.exp = current_insn.immediate;
  1.7836 -+
  1.7837 -+      sym = exp->X_add_symbol;
  1.7838 -+      off = exp->X_add_number;
  1.7839 -+      if (exp->X_op != O_symbol)
  1.7840 -+	{
  1.7841 -+	  sym = make_expr_symbol(exp);
  1.7842 -+	  off = 0;
  1.7843 -+	}
  1.7844 -+
  1.7845 -+      frag_var(rs_machine_dependent,
  1.7846 -+	       avr32_rs_size(largest_substate) - opc->size,
  1.7847 -+	       opc->size,
  1.7848 -+	       substate, sym, off, buf);
  1.7849 -+    }
  1.7850 -+  else
  1.7851 -+    {
  1.7852 -+      assert(avr32_rs_size(opc_initial_substate(opc)) == 0);
  1.7853 -+
  1.7854 -+      /* Make sure we always have room for another whole word, as the ifield
  1.7855 -+	 inserters can only write words. */
  1.7856 -+      frag_grow(4);
  1.7857 -+      buf = frag_more(opc->size);
  1.7858 -+      dwarf2_emit_insn(opc->size);
  1.7859 -+    }
  1.7860 -+
  1.7861 -+  assert(!(opc->value & ~opc->mask));
  1.7862 -+
  1.7863 -+  pr_debug("inserting opcode: 0x%lx\n", opc->value);
  1.7864 -+  bfd_putb32(opc->value, buf);
  1.7865 -+
  1.7866 -+  for (i = 0; i < opc->nr_fields; i++)
  1.7867 -+    {
  1.7868 -+      const struct avr32_ifield *f = opc->fields[i];
  1.7869 -+      const struct avr32_ifield_data *fd = &current_insn.field_value[i];
  1.7870 -+
  1.7871 -+      pr_debug("inserting field: 0x%lx & 0x%lx\n",
  1.7872 -+	       fd->value >> fd->align_order, f->mask);
  1.7873 -+
  1.7874 -+      f->insert(f, buf, fd->value >> fd->align_order);
  1.7875 -+    }
  1.7876 -+
  1.7877 -+  assert(will_relax || !current_insn.immediate.X_add_symbol);
  1.7878 -+  return NULL;
  1.7879 -+}
  1.7880 -+
  1.7881 -+static const char *
  1.7882 -+finish_alias(const struct avr32_alias *alias)
  1.7883 -+{
  1.7884 -+  const struct avr32_opcode *opc;
  1.7885 -+  struct {
  1.7886 -+    unsigned long value;
  1.7887 -+    unsigned long align;
  1.7888 -+  } mapped_operand[AVR32_MAX_OPERANDS];
  1.7889 -+  unsigned int i;
  1.7890 -+
  1.7891 -+  opc = alias->opc;
  1.7892 -+
  1.7893 -+  /* Remap the operands from the alias to the real opcode */
  1.7894 -+  for (i = 0; i < opc->nr_fields; i++)
  1.7895 -+    {
  1.7896 -+      if (alias->operand_map[i].is_opindex)
  1.7897 -+	{
  1.7898 -+	  struct avr32_ifield_data *fd;
  1.7899 -+	  fd = &current_insn.field_value[alias->operand_map[i].value];
  1.7900 -+	  mapped_operand[i].value = fd->value;
  1.7901 -+	  mapped_operand[i].align = fd->align_order;
  1.7902 -+	}
  1.7903 -+      else
  1.7904 -+	{
  1.7905 -+	  mapped_operand[i].value = alias->operand_map[i].value;
  1.7906 -+	  mapped_operand[i].align = 0;
  1.7907 -+	}
  1.7908 -+    }
  1.7909 -+
  1.7910 -+  for (i = 0; i < opc->nr_fields; i++)
  1.7911 -+    {
  1.7912 -+      current_insn.field_value[i].value = mapped_operand[i].value;
  1.7913 -+      if (opc->id == AVR32_OPC_COP)
  1.7914 -+	current_insn.field_value[i].align_order = 0;
  1.7915 -+      else
  1.7916 -+	current_insn.field_value[i].align_order
  1.7917 -+	  = mapped_operand[i].align;
  1.7918 -+    }
  1.7919 -+
  1.7920 -+  current_insn.next_slot = opc->nr_fields;
  1.7921 -+
  1.7922 -+  return finish_insn(opc);
  1.7923 -+}
  1.7924 -+
  1.7925 -+static const char *
  1.7926 -+finish_lda(const struct avr32_syntax *syntax ATTRIBUTE_UNUSED)
  1.7927 -+{
  1.7928 -+  expressionS *exp = &current_insn.immediate;
  1.7929 -+  relax_substateT initial_subtype;
  1.7930 -+  symbolS *sym;
  1.7931 -+  offsetT off;
  1.7932 -+  int initial_size, max_size;
  1.7933 -+  char *buf;
  1.7934 -+
  1.7935 -+  initial_size = LDA_INITIAL_SIZE;
  1.7936 -+
  1.7937 -+  if (avr32_pic)
  1.7938 -+    {
  1.7939 -+      initial_subtype = LDA_SUBTYPE_SUB;
  1.7940 -+      if (linkrelax)
  1.7941 -+	max_size = 8;
  1.7942 -+      else
  1.7943 -+	max_size = 4;
  1.7944 -+    }
  1.7945 -+  else
  1.7946 -+    {
  1.7947 -+      initial_subtype = LDA_SUBTYPE_MOV1;
  1.7948 -+      max_size = 4;
  1.7949 -+    }
  1.7950 -+
  1.7951 -+  frag_grow(max_size);
  1.7952 -+  buf = frag_more(initial_size);
  1.7953 -+  dwarf2_emit_insn(initial_size);
  1.7954 -+
  1.7955 -+  if (exp->X_op == O_symbol)
  1.7956 -+    {
  1.7957 -+      sym = exp->X_add_symbol;
  1.7958 -+      off = exp->X_add_number;
  1.7959 -+    }
  1.7960 -+  else
  1.7961 -+    {
  1.7962 -+      sym = make_expr_symbol(exp);
  1.7963 -+      off = 0;
  1.7964 -+    }
  1.7965 -+
  1.7966 -+  frag_now->tc_frag_data.reloc_info = current_insn.field_value[0].value;
  1.7967 -+  frag_now->tc_frag_data.relaxer = &avr32_lda_relaxer;
  1.7968 -+
  1.7969 -+  if (!avr32_pic)
  1.7970 -+    {
  1.7971 -+      /* The relaxer will bump the refcount if necessary */
  1.7972 -+      frag_now->tc_frag_data.pool
  1.7973 -+	= add_to_cpool(exp, &frag_now->tc_frag_data.pool_entry, 0);
  1.7974 -+    }
  1.7975 -+
  1.7976 -+  frag_var(rs_machine_dependent, max_size - initial_size,
  1.7977 -+	   initial_size, initial_subtype, sym, off, buf);
  1.7978 -+
  1.7979 -+  return NULL;
  1.7980 -+}
  1.7981 -+
  1.7982 -+static const char *
  1.7983 -+finish_call(const struct avr32_syntax *syntax ATTRIBUTE_UNUSED)
  1.7984 -+{
  1.7985 -+  expressionS *exp = &current_insn.immediate;
  1.7986 -+  symbolS *sym;
  1.7987 -+  offsetT off;
  1.7988 -+  int initial_size, max_size;
  1.7989 -+  char *buf;
  1.7990 -+
  1.7991 -+  initial_size = CALL_INITIAL_SIZE;
  1.7992 -+
  1.7993 -+  if (avr32_pic)
  1.7994 -+    {
  1.7995 -+      if (linkrelax)
  1.7996 -+	max_size = 10;
  1.7997 -+      else
  1.7998 -+	max_size = 4;
  1.7999 -+    }
  1.8000 -+  else
  1.8001 -+    max_size = 4;
  1.8002 -+
  1.8003 -+  frag_grow(max_size);
  1.8004 -+  buf = frag_more(initial_size);
  1.8005 -+  dwarf2_emit_insn(initial_size);
  1.8006 -+
  1.8007 -+  frag_now->tc_frag_data.relaxer = &avr32_call_relaxer;
  1.8008 -+
  1.8009 -+  if (exp->X_op == O_symbol)
  1.8010 -+    {
  1.8011 -+      sym = exp->X_add_symbol;
  1.8012 -+      off = exp->X_add_number;
  1.8013 -+    }
  1.8014 -+  else
  1.8015 -+    {
  1.8016 -+      sym = make_expr_symbol(exp);
  1.8017 -+      off = 0;
  1.8018 -+    }
  1.8019 -+
  1.8020 -+  if (!avr32_pic)
  1.8021 -+    {
  1.8022 -+      /* The relaxer will bump the refcount if necessary */
  1.8023 -+      frag_now->tc_frag_data.pool
  1.8024 -+	= add_to_cpool(exp, &frag_now->tc_frag_data.pool_entry, 0);
  1.8025 -+    }
  1.8026 -+
  1.8027 -+  frag_var(rs_machine_dependent, max_size - initial_size,
  1.8028 -+	   initial_size, CALL_SUBTYPE_RCALL1, sym, off, buf);
  1.8029 -+
  1.8030 -+  return NULL;
  1.8031 -+}
  1.8032 -+
  1.8033 -+void
  1.8034 -+md_begin (void)
  1.8035 -+{
  1.8036 -+  unsigned long flags = 0;
  1.8037 -+  int i;
  1.8038 -+
  1.8039 -+  avr32_mnemonic_htab = hash_new();
  1.8040 -+
  1.8041 -+  if (!avr32_mnemonic_htab)
  1.8042 -+    as_fatal(_("virtual memory exhausted"));
  1.8043 -+
  1.8044 -+  for (i = 0; i < AVR32_NR_MNEMONICS; i++)
  1.8045 -+    {
  1.8046 -+      hash_insert(avr32_mnemonic_htab, avr32_mnemonic_table[i].name,
  1.8047 -+		  (void *)&avr32_mnemonic_table[i]);
  1.8048 -+    }
  1.8049 -+
  1.8050 -+  if (linkrelax)
  1.8051 -+    flags |= EF_AVR32_LINKRELAX;
  1.8052 -+  if (avr32_pic)
  1.8053 -+    flags |= EF_AVR32_PIC;
  1.8054 -+
  1.8055 -+  bfd_set_private_flags(stdoutput, flags);
  1.8056 -+
  1.8057 -+#ifdef OPC_CONSISTENCY_CHECK
  1.8058 -+  if (sizeof(avr32_operand_table)/sizeof(avr32_operand_table[0])
  1.8059 -+      < AVR32_NR_OPERANDS)
  1.8060 -+    as_fatal(_("operand table is incomplete"));
  1.8061 -+
  1.8062 -+  for (i = 0; i < AVR32_NR_OPERANDS; i++)
  1.8063 -+    if (avr32_operand_table[i].id != i)
  1.8064 -+      as_fatal(_("operand table inconsistency found at index %d\n"), i);
  1.8065 -+  pr_debug("%d operands verified\n", AVR32_NR_OPERANDS);
  1.8066 -+
  1.8067 -+  for (i = 0; i < AVR32_NR_IFIELDS; i++)
  1.8068 -+    if (avr32_ifield_table[i].id != i)
  1.8069 -+      as_fatal(_("ifield table inconsistency found at index %d\n"), i);
  1.8070 -+  pr_debug("%d instruction fields verified\n", AVR32_NR_IFIELDS);
  1.8071 -+
  1.8072 -+  for (i = 0; i < AVR32_NR_OPCODES; i++)
  1.8073 -+    {
  1.8074 -+      if (avr32_opc_table[i].id != i)
  1.8075 -+	as_fatal(_("opcode table inconsistency found at index %d\n"), i);
  1.8076 -+      if ((avr32_opc_table[i].var_field == -1
  1.8077 -+	   && avr32_relax_table[i].length != 0)
  1.8078 -+	  || (avr32_opc_table[i].var_field != -1
  1.8079 -+	      && avr32_relax_table[i].length == 0))
  1.8080 -+	as_fatal(_("relax table inconsistency found at index %d\n"), i);
  1.8081 -+    }
  1.8082 -+  pr_debug("%d opcodes verified\n", AVR32_NR_OPCODES);
  1.8083 -+
  1.8084 -+  for (i = 0; i < AVR32_NR_SYNTAX; i++)
  1.8085 -+    if (avr32_syntax_table[i].id != i)
  1.8086 -+      as_fatal(_("syntax table inconsistency found at index %d\n"), i);
  1.8087 -+  pr_debug("%d syntax variants verified\n", AVR32_NR_SYNTAX);
  1.8088 -+
  1.8089 -+  for (i = 0; i < AVR32_NR_ALIAS; i++)
  1.8090 -+    if (avr32_alias_table[i].id != i)
  1.8091 -+      as_fatal(_("alias table inconsistency found at index %d\n"), i);
  1.8092 -+  pr_debug("%d aliases verified\n", AVR32_NR_ALIAS);
  1.8093 -+
  1.8094 -+  for (i = 0; i < AVR32_NR_MNEMONICS; i++)
  1.8095 -+    if (avr32_mnemonic_table[i].id != i)
  1.8096 -+      as_fatal(_("mnemonic table inconsistency found at index %d\n"), i);
  1.8097 -+  pr_debug("%d mnemonics verified\n", AVR32_NR_MNEMONICS);
  1.8098 -+#endif
  1.8099 -+}
  1.8100 -+
  1.8101 -+void
  1.8102 -+md_assemble (char *str)
  1.8103 -+{
  1.8104 -+  struct avr32_mnemonic *mnemonic;
  1.8105 -+  char *p, c;
  1.8106 -+
  1.8107 -+  memset(&current_insn, 0, sizeof(current_insn));
  1.8108 -+  current_insn.immediate.X_op = O_constant;
  1.8109 -+
  1.8110 -+  skip_whitespace(str);
  1.8111 -+  for (p = str; *p; p++)
  1.8112 -+    if (*p == ' ')
  1.8113 -+      break;
  1.8114 -+  c = *p;
  1.8115 -+  *p = 0;
  1.8116 -+
  1.8117 -+  mnemonic = hash_find(avr32_mnemonic_htab, str);
  1.8118 -+  *p = c;
  1.8119 -+  if (c) p++;
  1.8120 -+
  1.8121 -+  if (mnemonic)
  1.8122 -+    {
  1.8123 -+      const struct avr32_syntax *syntax;
  1.8124 -+
  1.8125 -+      for (syntax = mnemonic->syntax; syntax; syntax = syntax->next)
  1.8126 -+	{
  1.8127 -+	  const char *errmsg = NULL;
  1.8128 -+
  1.8129 -+	  if (syntax_matches(syntax, p))
  1.8130 -+	    {
  1.8131 -+	      if (!(syntax->isa_flags & avr32_arch->isa_flags))
  1.8132 -+		{
  1.8133 -+		  as_bad(_("Selected architecture `%s'  does not support `%s'"),
  1.8134 -+			 avr32_arch->name, str);
  1.8135 -+		  return;
  1.8136 -+		}
  1.8137 -+
  1.8138 -+	      current_insn.syntax = syntax;
  1.8139 -+	      parse_operands(p);
  1.8140 -+
  1.8141 -+	      switch (syntax->type)
  1.8142 -+		{
  1.8143 -+		case AVR32_PARSER_NORMAL:
  1.8144 -+		  errmsg = finish_insn(syntax->u.opc);
  1.8145 -+		  break;
  1.8146 -+		case AVR32_PARSER_ALIAS:
  1.8147 -+		  errmsg = finish_alias(syntax->u.alias);
  1.8148 -+		  break;
  1.8149 -+		case AVR32_PARSER_LDA:
  1.8150 -+		  errmsg = finish_lda(syntax);
  1.8151 -+		  break;
  1.8152 -+		case AVR32_PARSER_CALL:
  1.8153 -+		  errmsg = finish_call(syntax);
  1.8154 -+		  break;
  1.8155 -+		default:
  1.8156 -+		  BAD_CASE(syntax->type);
  1.8157 -+		  break;
  1.8158 -+		}
  1.8159 -+
  1.8160 -+	      if (errmsg)
  1.8161 -+		as_bad("%s in `%s'", errmsg, str);
  1.8162 -+
  1.8163 -+	      return;
  1.8164 -+	    }
  1.8165 -+	}
  1.8166 -+
  1.8167 -+      as_bad(_("unrecognized form of instruction: `%s'"), str);
  1.8168 -+    }
  1.8169 -+  else
  1.8170 -+    as_bad(_("unrecognized instruction `%s'"), str);
  1.8171 -+}
  1.8172 -+
  1.8173 -+void avr32_cleanup(void)
  1.8174 -+{
  1.8175 -+  struct cpool *pool;
  1.8176 -+
  1.8177 -+  /* Emit any constant pools that haven't been explicitly flushed with
  1.8178 -+     a .cpool directive. */
  1.8179 -+  for (pool = cpool_list; pool; pool = pool->next)
  1.8180 -+    {
  1.8181 -+      subseg_set(pool->section, pool->sub_section);
  1.8182 -+      s_cpool(0);
  1.8183 -+    }
  1.8184 -+}
  1.8185 -+
  1.8186 -+/* Handle any PIC-related operands in data allocation pseudo-ops */
  1.8187 -+void
  1.8188 -+avr32_cons_fix_new (fragS *frag, int off, int size, expressionS *exp)
  1.8189 -+{
  1.8190 -+  bfd_reloc_code_real_type r_type = BFD_RELOC_UNUSED;
  1.8191 -+  int pcrel = 0;
  1.8192 -+
  1.8193 -+  pr_debug("%s:%u: cons_fix_new, add_sym: %s, op_sym: %s, op: %d, add_num: %d\n",
  1.8194 -+	   frag->fr_file, frag->fr_line,
  1.8195 -+	   exp->X_add_symbol?S_GET_NAME(exp->X_add_symbol):"(none)",
  1.8196 -+	   exp->X_op_symbol?S_GET_NAME(exp->X_op_symbol):"(none)",
  1.8197 -+	   exp->X_op, exp->X_add_number);
  1.8198 -+
  1.8199 -+  if (exp->X_op == O_subtract && exp->X_op_symbol)
  1.8200 -+    {
  1.8201 -+      if (exp->X_op_symbol == GOT_symbol)
  1.8202 -+	{
  1.8203 -+	  if (size != 4)
  1.8204 -+	    goto bad_size;
  1.8205 -+	  r_type = BFD_RELOC_AVR32_GOTPC;
  1.8206 -+	  exp->X_op = O_symbol;
  1.8207 -+	  exp->X_op_symbol = NULL;
  1.8208 -+	}
  1.8209 -+    }
  1.8210 -+  else if (exp->X_op == O_got)
  1.8211 -+    {
  1.8212 -+      switch (size)
  1.8213 -+	{
  1.8214 -+	case 1:
  1.8215 -+	  r_type = BFD_RELOC_AVR32_GOT8;
  1.8216 -+	  break;
  1.8217 -+	case 2:
  1.8218 -+	  r_type = BFD_RELOC_AVR32_GOT16;
  1.8219 -+	  break;
  1.8220 -+	case 4:
  1.8221 -+	  r_type = BFD_RELOC_AVR32_GOT32;
  1.8222 -+	  break;
  1.8223 -+	default:
  1.8224 -+	  goto bad_size;
  1.8225 -+	}
  1.8226 -+
  1.8227 -+      exp->X_op = O_symbol;
  1.8228 -+    }
  1.8229 -+
  1.8230 -+  if (r_type == BFD_RELOC_UNUSED)
  1.8231 -+    switch (size)
  1.8232 -+      {
  1.8233 -+      case 1:
  1.8234 -+	r_type = BFD_RELOC_8;
  1.8235 -+	break;
  1.8236 -+      case 2:
  1.8237 -+	r_type = BFD_RELOC_16;
  1.8238 -+	break;
  1.8239 -+      case 4:
  1.8240 -+	r_type = BFD_RELOC_32;
  1.8241 -+	break;
  1.8242 -+      default:
  1.8243 -+	goto bad_size;
  1.8244 -+      }
  1.8245 -+  else if (size != 4)
  1.8246 -+    {
  1.8247 -+    bad_size:
  1.8248 -+      as_bad(_("unsupported BFD relocation size %u"), size);
  1.8249 -+      r_type = BFD_RELOC_UNUSED;
  1.8250 -+    }
  1.8251 -+
  1.8252 -+  fix_new_exp (frag, off, size, exp, pcrel, r_type);
  1.8253 -+}
  1.8254 -+
  1.8255 -+static void
  1.8256 -+avr32_frob_section(bfd *abfd ATTRIBUTE_UNUSED, segT sec,
  1.8257 -+		   void *ignore ATTRIBUTE_UNUSED)
  1.8258 -+{
  1.8259 -+  segment_info_type *seginfo;
  1.8260 -+  fixS *fix;
  1.8261 -+
  1.8262 -+  seginfo = seg_info(sec);
  1.8263 -+  if (!seginfo)
  1.8264 -+    return;
  1.8265 -+
  1.8266 -+  for (fix = seginfo->fix_root; fix; fix = fix->fx_next)
  1.8267 -+    {
  1.8268 -+      if (fix->fx_done)
  1.8269 -+	continue;
  1.8270 -+
  1.8271 -+      if (fix->fx_r_type == BFD_RELOC_AVR32_SUB5
  1.8272 -+	  && fix->fx_addsy && fix->fx_subsy)
  1.8273 -+	{
  1.8274 -+	  if (S_GET_SEGMENT(fix->fx_addsy) != S_GET_SEGMENT(fix->fx_subsy)
  1.8275 -+	      || linkrelax)
  1.8276 -+	    {
  1.8277 -+	      symbolS *tmp;
  1.8278 -+#ifdef DEBUG
  1.8279 -+	      fprintf(stderr, "Swapping symbols in fixup:\n");
  1.8280 -+	      print_fixup(fix);
  1.8281 -+#endif
  1.8282 -+	      tmp = fix->fx_addsy;
  1.8283 -+	      fix->fx_addsy = fix->fx_subsy;
  1.8284 -+	      fix->fx_subsy = tmp;
  1.8285 -+	      fix->fx_offset = -fix->fx_offset;
  1.8286 -+	    }
  1.8287 -+	}
  1.8288 -+    }
  1.8289 -+}
  1.8290 -+
  1.8291 -+/* We need to look for SUB5 instructions with expressions that will be
  1.8292 -+   made PC-relative and switch fx_addsy with fx_subsy.  This has to be
  1.8293 -+   done before adjustment or the wrong symbol might be adjusted.
  1.8294 -+
  1.8295 -+   This applies to fixups that are a result of expressions like -(sym
  1.8296 -+   - .) and that will make it all the way to md_apply_fix3().  LDA
  1.8297 -+   does the right thing in convert_frag, so we must not convert
  1.8298 -+   those. */
  1.8299 -+void
  1.8300 -+avr32_frob_file(void)
  1.8301 -+{
  1.8302 -+  /* if (1 || !linkrelax)
  1.8303 -+     return; */
  1.8304 -+
  1.8305 -+  bfd_map_over_sections(stdoutput, avr32_frob_section, NULL);
  1.8306 -+}
  1.8307 -+
  1.8308 -+static bfd_boolean
  1.8309 -+convert_to_diff_reloc(fixS *fixP)
  1.8310 -+{
  1.8311 -+  switch (fixP->fx_r_type)
  1.8312 -+    {
  1.8313 -+    case BFD_RELOC_32:
  1.8314 -+      fixP->fx_r_type = BFD_RELOC_AVR32_DIFF32;
  1.8315 -+      break;
  1.8316 -+    case BFD_RELOC_16:
  1.8317 -+      fixP->fx_r_type = BFD_RELOC_AVR32_DIFF16;
  1.8318 -+      break;
  1.8319 -+    case BFD_RELOC_8:
  1.8320 -+      fixP->fx_r_type = BFD_RELOC_AVR32_DIFF8;
  1.8321 -+      break;
  1.8322 -+    default:
  1.8323 -+      return FALSE;
  1.8324 -+    }
  1.8325 -+
  1.8326 -+  return TRUE;
  1.8327 -+}
  1.8328 -+
  1.8329 -+/* Simplify a fixup.  If possible, the fixup is reduced to a single
  1.8330 -+   constant which is written to the output file.  Otherwise, a
  1.8331 -+   relocation is generated so that the linker can take care of the
  1.8332 -+   rest.
  1.8333 -+
  1.8334 -+   ELF relocations have certain constraints: They can only take a
  1.8335 -+   single symbol and a single addend.  This means that for difference
  1.8336 -+   expressions, we _must_ get rid of the fx_subsy symbol somehow.
  1.8337 -+
  1.8338 -+   The difference between two labels in the same section can be
  1.8339 -+   calculated directly unless 'linkrelax' is set, or a relocation is
  1.8340 -+   forced.  If so, we must emit a R_AVR32_DIFFxx relocation.  If there
  1.8341 -+   are addends involved at this point, we must be especially careful
  1.8342 -+   as the relocation must point exactly to the symbol being
  1.8343 -+   subtracted.
  1.8344 -+
  1.8345 -+   When subtracting a symbol defined in the same section as the fixup,
  1.8346 -+   we might be able to convert it to a PC-relative expression, unless
  1.8347 -+   linkrelax is set. If this is the case, there's no way we can make
  1.8348 -+   sure that the difference between the fixup and fx_subsy stays
  1.8349 -+   constant.  So for now, we're just going to disallow that.
  1.8350 -+   */
  1.8351 -+void
  1.8352 -+avr32_process_fixup(fixS *fixP, segT this_segment)
  1.8353 -+{
  1.8354 -+  segT add_symbol_segment = absolute_section;
  1.8355 -+  segT sub_symbol_segment = absolute_section;
  1.8356 -+  symbolS *fx_addsy, *fx_subsy;
  1.8357 -+  offsetT value = 0, fx_offset;
  1.8358 -+  bfd_boolean apply = FALSE;
  1.8359 -+
  1.8360 -+  assert(this_segment != absolute_section);
  1.8361 -+
  1.8362 -+  if (fixP->fx_r_type >= BFD_RELOC_UNUSED)
  1.8363 -+    {
  1.8364 -+      as_bad_where(fixP->fx_file, fixP->fx_line,
  1.8365 -+		   _("Bad relocation type %d\n"), fixP->fx_r_type);
  1.8366 -+      return;
  1.8367 -+    }
  1.8368 -+
  1.8369 -+  /* BFD_RELOC_AVR32_SUB5 fixups have been swapped by avr32_frob_section() */
  1.8370 -+  fx_addsy = fixP->fx_addsy;
  1.8371 -+  fx_subsy = fixP->fx_subsy;
  1.8372 -+  fx_offset = fixP->fx_offset;
  1.8373 -+
  1.8374 -+  if (fx_addsy)
  1.8375 -+    add_symbol_segment = S_GET_SEGMENT(fx_addsy);
  1.8376 -+
  1.8377 -+  if (fx_subsy)
  1.8378 -+    {
  1.8379 -+      resolve_symbol_value(fx_subsy);
  1.8380 -+      sub_symbol_segment = S_GET_SEGMENT(fx_subsy);
  1.8381 -+
  1.8382 -+      if (sub_symbol_segment == this_segment
  1.8383 -+	  && (!linkrelax
  1.8384 -+	      || S_GET_VALUE(fx_subsy) == (fixP->fx_frag->fr_address
  1.8385 -+					   + fixP->fx_where)))
  1.8386 -+	{
  1.8387 -+	  fixP->fx_pcrel = TRUE;
  1.8388 -+	  fx_offset += (fixP->fx_frag->fr_address + fixP->fx_where
  1.8389 -+			- S_GET_VALUE(fx_subsy));
  1.8390 -+	  fx_subsy = NULL;
  1.8391 -+	}
  1.8392 -+      else if (sub_symbol_segment == absolute_section)
  1.8393 -+	{
  1.8394 -+	  /* The symbol is really a constant.  */
  1.8395 -+	  fx_offset -= S_GET_VALUE(fx_subsy);
  1.8396 -+	  fx_subsy = NULL;
  1.8397 -+	}
  1.8398 -+      else if (SEG_NORMAL(add_symbol_segment)
  1.8399 -+	       && sub_symbol_segment == add_symbol_segment
  1.8400 -+	       && (!linkrelax || convert_to_diff_reloc(fixP)))
  1.8401 -+	{
  1.8402 -+	  /* Difference between two labels in the same section.  */
  1.8403 -+	  if (linkrelax)
  1.8404 -+	    {
  1.8405 -+	      /* convert_to_diff() has ensured that the reloc type is
  1.8406 -+		 either DIFF32, DIFF16 or DIFF8.  */
  1.8407 -+	      value = (S_GET_VALUE(fx_addsy) + fixP->fx_offset
  1.8408 -+		       - S_GET_VALUE(fx_subsy));
  1.8409 -+
  1.8410 -+	      /* Try to convert it to a section symbol if possible  */
  1.8411 -+	      if (!S_FORCE_RELOC(fx_addsy, 1)
  1.8412 -+		  && !(sub_symbol_segment->flags & SEC_THREAD_LOCAL))
  1.8413 -+		{
  1.8414 -+		  fx_offset = S_GET_VALUE(fx_subsy);
  1.8415 -+		  fx_addsy = section_symbol(sub_symbol_segment);
  1.8416 -+		}
  1.8417 -+	      else
  1.8418 -+		{
  1.8419 -+		  fx_addsy = fx_subsy;
  1.8420 -+		  fx_offset = 0;
  1.8421 -+		}
  1.8422 -+
  1.8423 -+	      fx_subsy = NULL;
  1.8424 -+	      apply = TRUE;
  1.8425 -+	    }
  1.8426 -+	  else
  1.8427 -+	    {
  1.8428 -+	      fx_offset += S_GET_VALUE(fx_addsy);
  1.8429 -+	      fx_offset -= S_GET_VALUE(fx_subsy);
  1.8430 -+	      fx_addsy = NULL;
  1.8431 -+	      fx_subsy = NULL;
  1.8432 -+	    }
  1.8433 -+	}
  1.8434 -+      else
  1.8435 -+	{
  1.8436 -+	  as_bad_where(fixP->fx_file, fixP->fx_line,
  1.8437 -+		       _("can't resolve `%s' {%s section} - `%s' {%s section}"),
  1.8438 -+		       fx_addsy ? S_GET_NAME (fx_addsy) : "0",
  1.8439 -+		       segment_name (add_symbol_segment),
  1.8440 -+		       S_GET_NAME (fx_subsy),
  1.8441 -+		       segment_name (sub_symbol_segment));
  1.8442 -+	  return;
  1.8443 -+	}
  1.8444 -+    }
  1.8445 -+
  1.8446 -+  if (fx_addsy && !TC_FORCE_RELOCATION(fixP))
  1.8447 -+    {
  1.8448 -+      if (add_symbol_segment == this_segment
  1.8449 -+	  && fixP->fx_pcrel)
  1.8450 -+	{
  1.8451 -+	  value += S_GET_VALUE(fx_addsy);
  1.8452 -+	  value -= md_pcrel_from_section(fixP, this_segment);
  1.8453 -+	  fx_addsy = NULL;
  1.8454 -+	  fixP->fx_pcrel = FALSE;
  1.8455 -+	}
  1.8456 -+      else if (add_symbol_segment == absolute_section)
  1.8457 -+	{
  1.8458 -+	  fx_offset += S_GET_VALUE(fixP->fx_addsy);
  1.8459 -+	  fx_addsy = NULL;
  1.8460 -+	}
  1.8461 -+    }
  1.8462 -+
  1.8463 -+  if (!fx_addsy)
  1.8464 -+    fixP->fx_done = TRUE;
  1.8465 -+
  1.8466 -+  if (fixP->fx_pcrel)
  1.8467 -+    {
  1.8468 -+      if (fx_addsy != NULL
  1.8469 -+	  && S_IS_DEFINED(fx_addsy)
  1.8470 -+	  && S_GET_SEGMENT(fx_addsy) != this_segment)
  1.8471 -+	value += md_pcrel_from_section(fixP, this_segment);
  1.8472 -+
  1.8473 -+      switch (fixP->fx_r_type)
  1.8474 -+	{
  1.8475 -+	case BFD_RELOC_32:
  1.8476 -+	  fixP->fx_r_type = BFD_RELOC_32_PCREL;
  1.8477 -+	  break;
  1.8478 -+	case BFD_RELOC_16:
  1.8479 -+	  fixP->fx_r_type = BFD_RELOC_16_PCREL;
  1.8480 -+	  break;
  1.8481 -+	case BFD_RELOC_8:
  1.8482 -+	  fixP->fx_r_type = BFD_RELOC_8_PCREL;
  1.8483 -+	  break;
  1.8484 -+	case BFD_RELOC_AVR32_SUB5:
  1.8485 -+	  fixP->fx_r_type = BFD_RELOC_AVR32_16N_PCREL;
  1.8486 -+	  break;
  1.8487 -+	case BFD_RELOC_AVR32_16S:
  1.8488 -+	  fixP->fx_r_type = BFD_RELOC_AVR32_16B_PCREL;
  1.8489 -+	  break;
  1.8490 -+	case BFD_RELOC_AVR32_14UW:
  1.8491 -+	  fixP->fx_r_type = BFD_RELOC_AVR32_14UW_PCREL;
  1.8492 -+	  break;
  1.8493 -+	case BFD_RELOC_AVR32_10UW:
  1.8494 -+	  fixP->fx_r_type = BFD_RELOC_AVR32_10UW_PCREL;
  1.8495 -+	  break;
  1.8496 -+	default:
  1.8497 -+	  /* Should have been taken care of already */
  1.8498 -+	  break;
  1.8499 -+	}
  1.8500 -+    }
  1.8501 -+
  1.8502 -+  if (fixP->fx_done || apply)
  1.8503 -+    {
  1.8504 -+      const struct avr32_ifield *ifield;
  1.8505 -+      char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
  1.8506 -+
  1.8507 -+      if (fixP->fx_done)
  1.8508 -+	value += fx_offset;
  1.8509 -+
  1.8510 -+      /* For hosts with longs bigger than 32-bits make sure that the top
  1.8511 -+         bits of a 32-bit negative value read in by the parser are set,
  1.8512 -+         so that the correct comparisons are made.  */
  1.8513 -+      if (value & 0x80000000)
  1.8514 -+        value |= (-1L << 31);
  1.8515 -+
  1.8516 -+      switch (fixP->fx_r_type)
  1.8517 -+	{
  1.8518 -+	case BFD_RELOC_32:
  1.8519 -+	case BFD_RELOC_16:
  1.8520 -+	case BFD_RELOC_8:
  1.8521 -+	case BFD_RELOC_AVR32_DIFF32:
  1.8522 -+	case BFD_RELOC_AVR32_DIFF16:
  1.8523 -+	case BFD_RELOC_AVR32_DIFF8:
  1.8524 -+	  md_number_to_chars(buf, value, fixP->fx_size);
  1.8525 -+	  break;
  1.8526 -+	case BFD_RELOC_HI16:
  1.8527 -+	  value >>= 16;
  1.8528 -+	case BFD_RELOC_LO16:
  1.8529 -+	  value &= 0xffff;
  1.8530 -+	  md_number_to_chars(buf + 2, value, 2);
  1.8531 -+	  break;
  1.8532 -+	case BFD_RELOC_AVR32_16N_PCREL:
  1.8533 -+	  value = -value;
  1.8534 -+	  /* fall through */
  1.8535 -+	case BFD_RELOC_AVR32_22H_PCREL:
  1.8536 -+	case BFD_RELOC_AVR32_18W_PCREL:
  1.8537 -+	case BFD_RELOC_AVR32_16B_PCREL:
  1.8538 -+	case BFD_RELOC_AVR32_11H_PCREL:
  1.8539 -+	case BFD_RELOC_AVR32_9H_PCREL:
  1.8540 -+	case BFD_RELOC_AVR32_9UW_PCREL:
  1.8541 -+	case BFD_RELOC_AVR32_3U:
  1.8542 -+	case BFD_RELOC_AVR32_4UH:
  1.8543 -+	case BFD_RELOC_AVR32_6UW:
  1.8544 -+	case BFD_RELOC_AVR32_6S:
  1.8545 -+	case BFD_RELOC_AVR32_7UW:
  1.8546 -+	case BFD_RELOC_AVR32_8S_EXT:
  1.8547 -+	case BFD_RELOC_AVR32_8S:
  1.8548 -+	case BFD_RELOC_AVR32_10UW:
  1.8549 -+	case BFD_RELOC_AVR32_10SW:
  1.8550 -+	case BFD_RELOC_AVR32_STHH_W:
  1.8551 -+	case BFD_RELOC_AVR32_14UW:
  1.8552 -+	case BFD_RELOC_AVR32_16S:
  1.8553 -+	case BFD_RELOC_AVR32_16U:
  1.8554 -+	case BFD_RELOC_AVR32_21S:
  1.8555 -+	case BFD_RELOC_AVR32_SUB5:
  1.8556 -+	case BFD_RELOC_AVR32_CPCALL:
  1.8557 -+	case BFD_RELOC_AVR32_16_CP:
  1.8558 -+	case BFD_RELOC_AVR32_9W_CP:
  1.8559 -+	case BFD_RELOC_AVR32_15S:
  1.8560 -+	  ifield = fixP->tc_fix_data.ifield;
  1.8561 -+	  pr_debug("insert field: %ld <= %ld <= %ld (align %u)\n",
  1.8562 -+		   fixP->tc_fix_data.min, value, fixP->tc_fix_data.max,
  1.8563 -+		   fixP->tc_fix_data.align);
  1.8564 -+	  if (value < fixP->tc_fix_data.min || value > fixP->tc_fix_data.max)
  1.8565 -+	    as_bad_where(fixP->fx_file, fixP->fx_line,
  1.8566 -+			 _("operand out of range (%ld not between %ld and %ld)"),
  1.8567 -+			 value, fixP->tc_fix_data.min, fixP->tc_fix_data.max);
  1.8568 -+	  if (value & ((1 << fixP->tc_fix_data.align) - 1))
  1.8569 -+	    as_bad_where(fixP->fx_file, fixP->fx_line,
  1.8570 -+			 _("misaligned operand (required alignment: %d)"),
  1.8571 -+			 1 << fixP->tc_fix_data.align);
  1.8572 -+	  ifield->insert(ifield, buf, value >> fixP->tc_fix_data.align);
  1.8573 -+	  break;
  1.8574 -+	case BFD_RELOC_AVR32_ALIGN:
  1.8575 -+	  /* Nothing to do */
  1.8576 -+	  fixP->fx_done = FALSE;
  1.8577 -+	  break;
  1.8578 -+	default:
  1.8579 -+	  as_fatal("reloc type %s not handled\n",
  1.8580 -+		   bfd_get_reloc_code_name(fixP->fx_r_type));
  1.8581 -+	}
  1.8582 -+    }
  1.8583 -+
  1.8584 -+  fixP->fx_addsy = fx_addsy;
  1.8585 -+  fixP->fx_subsy = fx_subsy;
  1.8586 -+  fixP->fx_offset = fx_offset;
  1.8587 -+
  1.8588 -+  if (!fixP->fx_done)
  1.8589 -+    {
  1.8590 -+      if (!fixP->fx_addsy)
  1.8591 -+	fixP->fx_addsy = abs_section_sym;
  1.8592 -+
  1.8593 -+      symbol_mark_used_in_reloc(fixP->fx_addsy);
  1.8594 -+      if (fixP->fx_subsy)
  1.8595 -+	abort();
  1.8596 -+    }
  1.8597 -+}
  1.8598 -+
  1.8599 -+#if 0
  1.8600 -+void
  1.8601 -+md_apply_fix3 (fixS *fixP, valueT *valP, segT seg)
  1.8602 -+{
  1.8603 -+  const struct avr32_ifield *ifield;
  1.8604 -+  offsetT	value = *valP;
  1.8605 -+  char		*buf = fixP->fx_where + fixP->fx_frag->fr_literal;
  1.8606 -+  bfd_boolean	apply;
  1.8607 -+
  1.8608 -+  pr_debug("%s:%u: apply_fix3: r_type=%d value=%lx offset=%lx\n",
  1.8609 -+	   fixP->fx_file, fixP->fx_line, fixP->fx_r_type, *valP,
  1.8610 -+	   fixP->fx_offset);
  1.8611 -+
  1.8612 -+  if (fixP->fx_r_type >= BFD_RELOC_UNUSED)
  1.8613 -+    {
  1.8614 -+      as_bad_where(fixP->fx_file, fixP->fx_line,
  1.8615 -+		   _("Bad relocation type %d\n"), fixP->fx_r_type);
  1.8616 -+      return;
  1.8617 -+    }
  1.8618 -+
  1.8619 -+  if (!fixP->fx_addsy && !fixP->fx_subsy)
  1.8620 -+    fixP->fx_done = 1;
  1.8621 -+
  1.8622 -+  if (fixP->fx_pcrel)
  1.8623 -+    {
  1.8624 -+      if (fixP->fx_addsy != NULL
  1.8625 -+	  && S_IS_DEFINED(fixP->fx_addsy)
  1.8626 -+	  && S_GET_SEGMENT(fixP->fx_addsy) != seg)
  1.8627 -+	value += md_pcrel_from_section(fixP, seg);
  1.8628 -+
  1.8629 -+      switch (fixP->fx_r_type)
  1.8630 -+	{
  1.8631 -+	case BFD_RELOC_32:
  1.8632 -+	  fixP->fx_r_type = BFD_RELOC_32_PCREL;
  1.8633 -+	  break;
  1.8634 -+	case BFD_RELOC_16:
  1.8635 -+	case BFD_RELOC_8:
  1.8636 -+	  as_bad_where (fixP->fx_file, fixP->fx_line,
  1.8637 -+			_("8- and 16-bit PC-relative relocations not supported"));
  1.8638 -+	  break;
  1.8639 -+	case BFD_RELOC_AVR32_SUB5:
  1.8640 -+	  fixP->fx_r_type = BFD_RELOC_AVR32_PCREL_SUB5;
  1.8641 -+	  break;
  1.8642 -+	case BFD_RELOC_AVR32_16S:
  1.8643 -+	  fixP->fx_r_type = BFD_RELOC_AVR32_16_PCREL;
  1.8644 -+	  break;
  1.8645 -+	default:
  1.8646 -+	  /* Should have been taken care of already */
  1.8647 -+	  break;
  1.8648 -+	}
  1.8649 -+    }
  1.8650 -+
  1.8651 -+  if (fixP->fx_r_type == BFD_RELOC_32
  1.8652 -+      && fixP->fx_subsy)
  1.8653 -+    {
  1.8654 -+      fixP->fx_r_type = BFD_RELOC_AVR32_DIFF32;
  1.8655 -+
  1.8656 -+      /* Offsets are only allowed if it's a result of adjusting a
  1.8657 -+	 local symbol into a section-relative offset.
  1.8658 -+	 tc_fix_adjustable() should prevent any adjustment if there
  1.8659 -+	 was an offset involved before.  */
  1.8660 -+      if (fixP->fx_offset && !symbol_section_p(fixP->fx_addsy))
  1.8661 -+	as_bad_where(fixP->fx_file, fixP->fx_line,
  1.8662 -+		     _("cannot represent symbol difference with an offset"));
  1.8663 -+
  1.8664 -+      value = (S_GET_VALUE(fixP->fx_addsy) + fixP->fx_offset
  1.8665 -+	       - S_GET_VALUE(fixP->fx_subsy));
  1.8666 -+
  1.8667 -+      /* The difference before any relaxing takes place is written
  1.8668 -+	 out, and the DIFF32 reloc identifies the address of the first
  1.8669 -+	 symbol (i.e. the on that's subtracted.)  */
  1.8670 -+      *valP = value;
  1.8671 -+      fixP->fx_offset -= value;
  1.8672 -+      fixP->fx_subsy = NULL;
  1.8673 -+
  1.8674 -+      md_number_to_chars(buf, value, fixP->fx_size);
  1.8675 -+    }
  1.8676 -+
  1.8677 -+  if (fixP->fx_done)
  1.8678 -+    {
  1.8679 -+      switch (fixP->fx_r_type)
  1.8680 -+	{
  1.8681 -+	case BFD_RELOC_8:
  1.8682 -+	case BFD_RELOC_16:
  1.8683 -+	case BFD_RELOC_32:
  1.8684 -+	  md_number_to_chars(buf, value, fixP->fx_size);
  1.8685 -+	  break;
  1.8686 -+	case BFD_RELOC_HI16:
  1.8687 -+	  value >>= 16;
  1.8688 -+	case BFD_RELOC_LO16:
  1.8689 -+	  value &= 0xffff;
  1.8690 -+	  *valP = value;
  1.8691 -+	  md_number_to_chars(buf + 2, value, 2);
  1.8692 -+	  break;
  1.8693 -+	case BFD_RELOC_AVR32_PCREL_SUB5:
  1.8694 -+	  value = -value;
  1.8695 -+	  /* fall through */
  1.8696 -+	case BFD_RELOC_AVR32_9_PCREL:
  1.8697 -+	case BFD_RELOC_AVR32_11_PCREL:
  1.8698 -+	case BFD_RELOC_AVR32_16_PCREL:
  1.8699 -+	case BFD_RELOC_AVR32_18_PCREL:
  1.8700 -+	case BFD_RELOC_AVR32_22_PCREL:
  1.8701 -+	case BFD_RELOC_AVR32_3U:
  1.8702 -+	case BFD_RELOC_AVR32_4UH:
  1.8703 -+	case BFD_RELOC_AVR32_6UW:
  1.8704 -+	case BFD_RELOC_AVR32_6S:
  1.8705 -+	case BFD_RELOC_AVR32_7UW:
  1.8706 -+	case BFD_RELOC_AVR32_8S:
  1.8707 -+	case BFD_RELOC_AVR32_10UW:
  1.8708 -+	case BFD_RELOC_AVR32_10SW:
  1.8709 -+	case BFD_RELOC_AVR32_14UW:
  1.8710 -+	case BFD_RELOC_AVR32_16S:
  1.8711 -+	case BFD_RELOC_AVR32_16U:
  1.8712 -+	case BFD_RELOC_AVR32_21S:
  1.8713 -+	case BFD_RELOC_AVR32_BRC1:
  1.8714 -+	case BFD_RELOC_AVR32_SUB5:
  1.8715 -+	case BFD_RELOC_AVR32_CPCALL:
  1.8716 -+	case BFD_RELOC_AVR32_16_CP:
  1.8717 -+	case BFD_RELOC_AVR32_9_CP:
  1.8718 -+	case BFD_RELOC_AVR32_15S:
  1.8719 -+	  ifield = fixP->tc_fix_data.ifield;
  1.8720 -+	  pr_debug("insert field: %ld <= %ld <= %ld (align %u)\n",
  1.8721 -+		   fixP->tc_fix_data.min, value, fixP->tc_fix_data.max,
  1.8722 -+		   fixP->tc_fix_data.align);
  1.8723 -+	  if (value < fixP->tc_fix_data.min || value > fixP->tc_fix_data.max)
  1.8724 -+	    as_bad_where(fixP->fx_file, fixP->fx_line,
  1.8725 -+			 _("operand out of range (%ld not between %ld and %ld)"),
  1.8726 -+			 value, fixP->tc_fix_data.min, fixP->tc_fix_data.max);
  1.8727 -+	  if (value & ((1 << fixP->tc_fix_data.align) - 1))
  1.8728 -+	    as_bad_where(fixP->fx_file, fixP->fx_line,
  1.8729 -+			 _("misaligned operand (required alignment: %d)"),
  1.8730 -+			 1 << fixP->tc_fix_data.align);
  1.8731 -+	  ifield->insert(ifield, buf, value >> fixP->tc_fix_data.align);
  1.8732 -+	  break;
  1.8733 -+	case BFD_RELOC_AVR32_ALIGN:
  1.8734 -+	  /* Nothing to do */
  1.8735 -+	  fixP->fx_done = FALSE;
  1.8736 -+	  break;
  1.8737 -+	default:
  1.8738 -+	  as_fatal("reloc type %s not handled\n",
  1.8739 -+		   bfd_get_reloc_code_name(fixP->fx_r_type));
  1.8740 -+	}
  1.8741 -+    }
  1.8742 -+}
  1.8743 -+#endif
  1.8744 -+
  1.8745 -+arelent *
  1.8746 -+tc_gen_reloc (asection *section ATTRIBUTE_UNUSED,
  1.8747 -+	      fixS *fixp)
  1.8748 -+{
  1.8749 -+  arelent *reloc;
  1.8750 -+  bfd_reloc_code_real_type code;
  1.8751 -+
  1.8752 -+  reloc = xmalloc (sizeof (arelent));
  1.8753 -+
  1.8754 -+  reloc->sym_ptr_ptr = xmalloc (sizeof (asymbol *));
  1.8755 -+  *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
  1.8756 -+  reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
  1.8757 -+  reloc->addend = fixp->fx_offset;
  1.8758 -+  code = fixp->fx_r_type;
  1.8759 -+
  1.8760 -+  reloc->howto = bfd_reloc_type_lookup (stdoutput, code);
  1.8761 -+
  1.8762 -+  if (reloc->howto == NULL)
  1.8763 -+    {
  1.8764 -+      as_bad_where (fixp->fx_file, fixp->fx_line,
  1.8765 -+		    _("cannot represent relocation %s in this object file format"),
  1.8766 -+		    bfd_get_reloc_code_name (code));
  1.8767 -+      return NULL;
  1.8768 -+    }
  1.8769 -+
  1.8770 -+  return reloc;
  1.8771 -+}
  1.8772 -+
  1.8773 -+bfd_boolean
  1.8774 -+avr32_force_reloc(fixS *fixP)
  1.8775 -+{
  1.8776 -+  if (linkrelax && fixP->fx_addsy
  1.8777 -+      && !(S_GET_SEGMENT(fixP->fx_addsy)->flags & SEC_DEBUGGING)
  1.8778 -+      && S_GET_SEGMENT(fixP->fx_addsy) != absolute_section)
  1.8779 -+    {
  1.8780 -+      pr_debug(stderr, "force reloc: addsy=%p, r_type=%d, sec=%s\n",
  1.8781 -+	       fixP->fx_addsy, fixP->fx_r_type, S_GET_SEGMENT(fixP->fx_addsy)->name);
  1.8782 -+      return 1;
  1.8783 -+    }
  1.8784 -+
  1.8785 -+  return generic_force_reloc(fixP);
  1.8786 -+}
  1.8787 -+
  1.8788 -+bfd_boolean
  1.8789 -+avr32_fix_adjustable(fixS *fixP)
  1.8790 -+{
  1.8791 -+  switch (fixP->fx_r_type)
  1.8792 -+    {
  1.8793 -+      /* GOT relocations can't have addends since BFD treats all
  1.8794 -+	 references to a given symbol the same. This means that we
  1.8795 -+	 must avoid section-relative references to local symbols when
  1.8796 -+	 dealing with these kinds of relocs */
  1.8797 -+    case BFD_RELOC_AVR32_GOT32:
  1.8798 -+    case BFD_RELOC_AVR32_GOT16:
  1.8799 -+    case BFD_RELOC_AVR32_GOT8:
  1.8800 -+    case BFD_RELOC_AVR32_GOT21S:
  1.8801 -+    case BFD_RELOC_AVR32_GOT18SW:
  1.8802 -+    case BFD_RELOC_AVR32_GOT16S:
  1.8803 -+    case BFD_RELOC_AVR32_LDA_GOT:
  1.8804 -+    case BFD_RELOC_AVR32_GOTCALL:
  1.8805 -+      pr_debug("fix not adjustable\n");
  1.8806 -+      return 0;
  1.8807 -+
  1.8808 -+    default:
  1.8809 -+      break;
  1.8810 -+    }
  1.8811 -+
  1.8812 -+  return 1;
  1.8813 -+}
  1.8814 -+
  1.8815 -+/* When we want the linker to be able to relax the code, we need to
  1.8816 -+   output a reloc for every .align directive requesting an alignment
  1.8817 -+   to a four byte boundary or larger.  If we don't do this, the linker
  1.8818 -+   can't guarantee that the alignment is actually maintained in the
  1.8819 -+   linker output.
  1.8820 -+
  1.8821 -+   TODO: Might as well insert proper NOPs while we're at it... */
  1.8822 -+void
  1.8823 -+avr32_handle_align(fragS *frag)
  1.8824 -+{
  1.8825 -+  if (linkrelax
  1.8826 -+      && frag->fr_type == rs_align_code
  1.8827 -+      && frag->fr_address + frag->fr_fix > 0
  1.8828 -+      && frag->fr_offset > 0)
  1.8829 -+    {
  1.8830 -+      /* The alignment order (fr_offset) is stored in the addend. */
  1.8831 -+      fix_new(frag, frag->fr_fix, 2, &abs_symbol, frag->fr_offset,
  1.8832 -+	      FALSE, BFD_RELOC_AVR32_ALIGN);
  1.8833 -+    }
  1.8834 -+}
  1.8835 -+
  1.8836 -+/* Relax_align. Advance location counter to next address that has 'alignment'
  1.8837 -+   lowest order bits all 0s, return size of adjustment made.  */
  1.8838 -+relax_addressT
  1.8839 -+avr32_relax_align(segT segment ATTRIBUTE_UNUSED,
  1.8840 -+		  fragS *fragP,
  1.8841 -+		  relax_addressT address)
  1.8842 -+{
  1.8843 -+  relax_addressT mask;
  1.8844 -+  relax_addressT new_address;
  1.8845 -+  int alignment;
  1.8846 -+
  1.8847 -+  alignment = fragP->fr_offset;
  1.8848 -+  mask = ~((~0) << alignment);
  1.8849 -+  new_address = (address + mask) & (~mask);
  1.8850 -+
  1.8851 -+  return new_address - address;
  1.8852 -+}
  1.8853 -+
  1.8854 -+/* Turn a string in input_line_pointer into a floating point constant
  1.8855 -+   of type type, and store the appropriate bytes in *litP.  The number
  1.8856 -+   of LITTLENUMS emitted is stored in *sizeP .  An error message is
  1.8857 -+   returned, or NULL on OK. */
  1.8858 -+
  1.8859 -+/* Equal to MAX_PRECISION in atof-ieee.c */
  1.8860 -+#define MAX_LITTLENUMS 6
  1.8861 -+
  1.8862 -+char *
  1.8863 -+md_atof (type, litP, sizeP)
  1.8864 -+char   type;
  1.8865 -+char * litP;
  1.8866 -+int *  sizeP;
  1.8867 -+{
  1.8868 -+  int              i;
  1.8869 -+  int              prec;
  1.8870 -+  LITTLENUM_TYPE   words [MAX_LITTLENUMS];
  1.8871 -+  char *           t;
  1.8872 -+
  1.8873 -+  switch (type)
  1.8874 -+  {
  1.8875 -+    case 'f':
  1.8876 -+    case 'F':
  1.8877 -+    case 's':
  1.8878 -+    case 'S':
  1.8879 -+      prec = 2;
  1.8880 -+      break;
  1.8881 -+
  1.8882 -+    case 'd':
  1.8883 -+    case 'D':
  1.8884 -+    case 'r':
  1.8885 -+    case 'R':
  1.8886 -+      prec = 4;
  1.8887 -+      break;
  1.8888 -+
  1.8889 -+      /* FIXME: Some targets allow other format chars for bigger sizes here.  */
  1.8890 -+
  1.8891 -+    default:
  1.8892 -+      * sizeP = 0;
  1.8893 -+      return _("Bad call to md_atof()");
  1.8894 -+  }
  1.8895 -+
  1.8896 -+  t = atof_ieee (input_line_pointer, type, words);
  1.8897 -+  if (t)
  1.8898 -+    input_line_pointer = t;
  1.8899 -+  * sizeP = prec * sizeof (LITTLENUM_TYPE);
  1.8900 -+
  1.8901 -+  for (i = 0; i < prec; i++)
  1.8902 -+  {
  1.8903 -+    md_number_to_chars (litP, (valueT) words[i],
  1.8904 -+                        sizeof (LITTLENUM_TYPE));
  1.8905 -+    litP += sizeof (LITTLENUM_TYPE);
  1.8906 -+  }
  1.8907 -+
  1.8908 -+  return 0;
  1.8909 -+}
  1.8910 -+
  1.8911 -+static char *avr32_end_of_match(char *cont, char *what)
  1.8912 -+{
  1.8913 -+  int len = strlen (what);
  1.8914 -+
  1.8915 -+  if (! is_part_of_name (cont[len])
  1.8916 -+      && strncasecmp (cont, what, len) == 0)
  1.8917 -+    return cont + len;
  1.8918 -+
  1.8919 -+  return NULL;
  1.8920 -+}
  1.8921 -+
  1.8922 -+int
  1.8923 -+avr32_parse_name (char const *name, expressionS *exp, char *nextchar)
  1.8924 -+{
  1.8925 -+  char *next = input_line_pointer;
  1.8926 -+  char *next_end;
  1.8927 -+
  1.8928 -+  pr_debug("parse_name: %s, nextchar=%c (%02x)\n", name, *nextchar, *nextchar);
  1.8929 -+
  1.8930 -+  if (*nextchar == '(')
  1.8931 -+    {
  1.8932 -+      if (strcasecmp(name, "hi") == 0)
  1.8933 -+	{
  1.8934 -+	  *next = *nextchar;
  1.8935 -+
  1.8936 -+	  expression(exp);
  1.8937 -+
  1.8938 -+	  if (exp->X_op == O_constant)
  1.8939 -+	    {
  1.8940 -+	      pr_debug("  -> constant hi(0x%08lx) -> 0x%04lx\n",
  1.8941 -+		       exp->X_add_number, exp->X_add_number >> 16);
  1.8942 -+	      exp->X_add_number = (exp->X_add_number >> 16) & 0xffff;
  1.8943 -+	    }
  1.8944 -+	  else
  1.8945 -+	    {
  1.8946 -+	      exp->X_md = exp->X_op;
  1.8947 -+	      exp->X_op = O_hi;
  1.8948 -+	    }
  1.8949 -+
  1.8950 -+	  return 1;
  1.8951 -+	}
  1.8952 -+      else if (strcasecmp(name, "lo") == 0)
  1.8953 -+	{
  1.8954 -+	  *next = *nextchar;
  1.8955 -+
  1.8956 -+	  expression(exp);
  1.8957 -+
  1.8958 -+	  if (exp->X_op == O_constant)
  1.8959 -+	    exp->X_add_number &= 0xffff;
  1.8960 -+	  else
  1.8961 -+	    {
  1.8962 -+	      exp->X_md = exp->X_op;
  1.8963 -+	      exp->X_op = O_lo;
  1.8964 -+	    }
  1.8965 -+
  1.8966 -+	  return 1;
  1.8967 -+	}
  1.8968 -+    }
  1.8969 -+  else if (*nextchar == '@')
  1.8970 -+    {
  1.8971 -+      exp->X_md = exp->X_op;
  1.8972 -+
  1.8973 -+      if ((next_end = avr32_end_of_match (next + 1, "got")))
  1.8974 -+	exp->X_op = O_got;
  1.8975 -+      else if ((next_end = avr32_end_of_match (next + 1, "tlsgd")))
  1.8976 -+	exp->X_op = O_tlsgd;
  1.8977 -+      /* Add more as needed */
  1.8978 -+      else
  1.8979 -+	{
  1.8980 -+	  char c;
  1.8981 -+	  input_line_pointer++;
  1.8982 -+	  c = get_symbol_end();
  1.8983 -+	  as_bad (_("unknown relocation override `%s'"), next + 1);
  1.8984 -+	  *input_line_pointer = c;
  1.8985 -+	  input_line_pointer = next;
  1.8986 -+	  return 0;
  1.8987 -+	}
  1.8988 -+
  1.8989 -+      exp->X_op_symbol = NULL;
  1.8990 -+      exp->X_add_symbol = symbol_find_or_make (name);
  1.8991 -+      exp->X_add_number = 0;
  1.8992 -+
  1.8993 -+      *input_line_pointer = *nextchar;
  1.8994 -+      input_line_pointer = next_end;
  1.8995 -+      *nextchar = *input_line_pointer;
  1.8996 -+      *input_line_pointer = '\0';
  1.8997 -+      return 1;
  1.8998 -+    }
  1.8999 -+  else if (strcmp (name, "_GLOBAL_OFFSET_TABLE_") == 0)
  1.9000 -+    {
  1.9001 -+      if (!GOT_symbol)
  1.9002 -+	GOT_symbol = symbol_find_or_make(name);
  1.9003 -+
  1.9004 -+      exp->X_add_symbol = GOT_symbol;
  1.9005 -+      exp->X_op = O_symbol;
  1.9006 -+      exp->X_add_number = 0;
  1.9007 -+      return 1;
  1.9008 -+    }
  1.9009 -+
  1.9010 -+  return 0;
  1.9011 -+}
  1.9012 -+
  1.9013 -+static void
  1.9014 -+s_rseg (int value ATTRIBUTE_UNUSED)
  1.9015 -+{
  1.9016 -+  /* Syntax: RSEG segment_name [:type] [NOROOT|ROOT] [(align)]
  1.9017 -+   * Defaults:
  1.9018 -+   *  - type: undocumented ("typically CODE or DATA")
  1.9019 -+   *  - ROOT
  1.9020 -+   *  - align: 1 for code, 0 for others
  1.9021 -+   *
  1.9022 -+   * TODO: NOROOT is ignored. If gas supports discardable segments, it should
  1.9023 -+   * be implemented.
  1.9024 -+   */
  1.9025 -+  char *name, *end;
  1.9026 -+  int length, type, attr;
  1.9027 -+  int align = 0;
  1.9028 -+
  1.9029 -+  SKIP_WHITESPACE();
  1.9030 -+
  1.9031 -+  end = input_line_pointer;
  1.9032 -+  while (0 == strchr ("\n\t;:( ", *end))
  1.9033 -+    end++;
  1.9034 -+  if (end == input_line_pointer)
  1.9035 -+    {
  1.9036 -+      as_warn (_("missing name"));
  1.9037 -+      ignore_rest_of_line();
  1.9038 -+      return;
  1.9039 -+    }
  1.9040 -+
  1.9041 -+  name = xmalloc (end - input_line_pointer + 1);
  1.9042 -+  memcpy (name, input_line_pointer, end - input_line_pointer);
  1.9043 -+  name[end - input_line_pointer] = '\0';
  1.9044 -+  input_line_pointer = end;
  1.9045 -+
  1.9046 -+  SKIP_WHITESPACE();
  1.9047 -+
  1.9048 -+  type = SHT_NULL;
  1.9049 -+  attr = 0;
  1.9050 -+
  1.9051 -+  if (*input_line_pointer == ':')
  1.9052 -+    {
  1.9053 -+      /* Skip the colon */
  1.9054 -+      ++input_line_pointer;
  1.9055 -+      SKIP_WHITESPACE();
  1.9056 -+
  1.9057 -+      /* Possible options at this point:
  1.9058 -+       *   - flag (ROOT or NOROOT)
  1.9059 -+       *   - a segment type
  1.9060 -+       */
  1.9061 -+      end = input_line_pointer;
  1.9062 -+      while (0 == strchr ("\n\t;:( ", *end))
  1.9063 -+	end++;
  1.9064 -+      length = end - input_line_pointer;
  1.9065 -+      if (((length == 4) && (0 == strncasecmp( input_line_pointer, "ROOT", 4))) ||
  1.9066 -+	  ((length == 6) && (0 == strncasecmp( input_line_pointer, "NOROOT", 6))))
  1.9067 -+	{
  1.9068 -+	  /* Ignore ROOT/NOROOT */
  1.9069 -+	  input_line_pointer = end;
  1.9070 -+	}
  1.9071 -+      else
  1.9072 -+	{
  1.9073 -+	  /* Must be a segment type */
  1.9074 -+	  switch (*input_line_pointer)
  1.9075 -+	    {
  1.9076 -+	    case 'C':
  1.9077 -+	    case 'c':
  1.9078 -+	      if ((length == 4) &&
  1.9079 -+		  (0 == strncasecmp (input_line_pointer, "CODE", 4)))
  1.9080 -+		{
  1.9081 -+		  attr |= SHF_ALLOC | SHF_EXECINSTR;
  1.9082 -+		  type = SHT_PROGBITS;
  1.9083 -+		  align = 1;
  1.9084 -+		  break;
  1.9085 -+		}
  1.9086 -+	      if ((length == 5) &&
  1.9087 -+		  (0 == strncasecmp (input_line_pointer, "CONST", 5)))
  1.9088 -+		{
  1.9089 -+		  attr |= SHF_ALLOC;
  1.9090 -+		  type = SHT_PROGBITS;
  1.9091 -+		  break;
  1.9092 -+		}
  1.9093 -+	      goto de_fault;
  1.9094 -+
  1.9095 -+	    case 'D':
  1.9096 -+	    case 'd':
  1.9097 -+	      if ((length == 4) &&
  1.9098 -+		  (0 == strncasecmp (input_line_pointer, "DATA", 4)))
  1.9099 -+		{
  1.9100 -+		  attr |= SHF_ALLOC | SHF_WRITE;
  1.9101 -+		  type = SHT_PROGBITS;
  1.9102 -+		  break;
  1.9103 -+		}
  1.9104 -+	      goto de_fault;
  1.9105 -+
  1.9106 -+	      /* TODO: Add FAR*, HUGE*, IDATA and NEAR* if necessary */
  1.9107 -+
  1.9108 -+	    case 'U':
  1.9109 -+	    case 'u':
  1.9110 -+	      if ((length == 7) &&
  1.9111 -+		  (0 == strncasecmp (input_line_pointer, "UNTYPED", 7)))
  1.9112 -+		break;
  1.9113 -+	      goto de_fault;
  1.9114 -+
  1.9115 -+	      /* TODO: Add XDATA and ZPAGE if necessary */
  1.9116 -+
  1.9117 -+	    de_fault:
  1.9118 -+	    default:
  1.9119 -+	      as_warn (_("unrecognized segment type"));
  1.9120 -+	    }
  1.9121 -+
  1.9122 -+	  input_line_pointer = end;
  1.9123 -+	  SKIP_WHITESPACE();
  1.9124 -+
  1.9125 -+	  if (*input_line_pointer == ':')
  1.9126 -+	    {
  1.9127 -+	      /*  ROOT/NOROOT */
  1.9128 -+	      ++input_line_pointer;
  1.9129 -+	      SKIP_WHITESPACE();
  1.9130 -+
  1.9131 -+	      end = input_line_pointer;
  1.9132 -+	      while (0 == strchr ("\n\t;:( ", *end))
  1.9133 -+		end++;
  1.9134 -+	      length = end - input_line_pointer;
  1.9135 -+	      if (! ((length == 4) &&
  1.9136 -+		     (0 == strncasecmp( input_line_pointer, "ROOT", 4))) &&
  1.9137 -+		  ! ((length == 6) &&
  1.9138 -+		     (0 == strncasecmp( input_line_pointer, "NOROOT", 6))))
  1.9139 -+		{
  1.9140 -+		  as_warn (_("unrecognized segment flag"));
  1.9141 -+		}
  1.9142 -+
  1.9143 -+	      input_line_pointer = end;
  1.9144 -+	      SKIP_WHITESPACE();
  1.9145 -+	    }
  1.9146 -+	}
  1.9147 -+    }
  1.9148 -+
  1.9149 -+  if (*input_line_pointer == '(')
  1.9150 -+    {
  1.9151 -+      align = get_absolute_expression ();
  1.9152 -+    }
  1.9153 -+
  1.9154 -+  demand_empty_rest_of_line();
  1.9155 -+
  1.9156 -+  obj_elf_change_section (name, type, attr, 0, NULL, 0, 0);
  1.9157 -+#ifdef AVR32_DEBUG
  1.9158 -+  fprintf( stderr, "RSEG: Changed section to %s, type: 0x%x, attr: 0x%x\n",
  1.9159 -+      name, type, attr );
  1.9160 -+  fprintf( stderr, "RSEG: Aligning to 2**%d\n", align );
  1.9161 -+#endif
  1.9162 -+
  1.9163 -+  if (align > 15)
  1.9164 -+    {
  1.9165 -+      align = 15;
  1.9166 -+      as_warn (_("alignment too large: %u assumed"), align);
  1.9167 -+    }
  1.9168 -+
  1.9169 -+  /* Hope not, that is */
  1.9170 -+  assert (now_seg != absolute_section);
  1.9171 -+
  1.9172 -+  /* Only make a frag if we HAVE to... */
  1.9173 -+  if (align != 0 && !need_pass_2)
  1.9174 -+    {
  1.9175 -+      if (subseg_text_p (now_seg))
  1.9176 -+	frag_align_code (align, 0);
  1.9177 -+      else
  1.9178 -+	frag_align (align, 0, 0);
  1.9179 -+    }
  1.9180 -+
  1.9181 -+  record_alignment (now_seg, align - OCTETS_PER_BYTE_POWER);
  1.9182 -+}
  1.9183 -+
  1.9184 -+/* vim: syntax=c sw=2
  1.9185 -+ */
  1.9186 ---- /dev/null
  1.9187 -+++ b/gas/config/tc-avr32.h
  1.9188 -@@ -0,0 +1,325 @@
  1.9189 -+/* Assembler definitions for AVR32.
  1.9190 -+   Copyright 2003-2006 Atmel Corporation.
  1.9191 -+
  1.9192 -+   Written by Haavard Skinnemoen, Atmel Norway, <hskinnemoen@atmel.com>
  1.9193 -+
  1.9194 -+   This file is part of GAS, the GNU Assembler.
  1.9195 -+
  1.9196 -+   GAS is free software; you can redistribute it and/or modify it
  1.9197 -+   under the terms of the GNU General Public License as published by
  1.9198 -+   the Free Software Foundation; either version 2, or (at your option)
  1.9199 -+   any later version.
  1.9200 -+
  1.9201 -+   GAS is distributed in the hope that it will be useful, but WITHOUT
  1.9202 -+   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  1.9203 -+   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
  1.9204 -+   License for more details.
  1.9205 -+
  1.9206 -+   You should have received a copy of the GNU General Public License
  1.9207 -+   along with GAS; see the file COPYING.  If not, write to the Free
  1.9208 -+   Software Foundation, 59 Temple Place - Suite 330, Boston, MA
  1.9209 -+   02111-1307, USA.  */
  1.9210 -+
  1.9211 -+#if 0
  1.9212 -+#define DEBUG
  1.9213 -+#define DEBUG1
  1.9214 -+#define DEBUG2
  1.9215 -+#define DEBUG3
  1.9216 -+#define DEBUG4
  1.9217 -+#define DEBUG5
  1.9218 -+#endif
  1.9219 -+
  1.9220 -+/* Are we trying to be compatible with the IAR assembler? (--iar) */
  1.9221 -+extern int avr32_iarcompat;
  1.9222 -+
  1.9223 -+/* By convention, you should define this macro in the `.h' file.  For
  1.9224 -+   example, `tc-m68k.h' defines `TC_M68K'.  You might have to use this
  1.9225 -+   if it is necessary to add CPU specific code to the object format
  1.9226 -+   file.  */
  1.9227 -+#define TC_AVR32
  1.9228 -+
  1.9229 -+/* This macro is the BFD target name to use when creating the output
  1.9230 -+   file.  This will normally depend upon the `OBJ_FMT' macro.  */
  1.9231 -+#define TARGET_FORMAT "elf32-avr32"
  1.9232 -+
  1.9233 -+/* This macro is the BFD architecture to pass to `bfd_set_arch_mach'.  */
  1.9234 -+#define TARGET_ARCH bfd_arch_avr32
  1.9235 -+
  1.9236 -+/* This macro is the BFD machine number to pass to
  1.9237 -+   `bfd_set_arch_mach'.  If it is not defined, GAS will use 0.  */
  1.9238 -+#define TARGET_MACH 0
  1.9239 -+
  1.9240 -+/* UNDOCUMENTED: Allow //-style comments */
  1.9241 -+#define DOUBLESLASH_LINE_COMMENTS
  1.9242 -+
  1.9243 -+/* You should define this macro to be non-zero if the target is big
  1.9244 -+   endian, and zero if the target is little endian.  */
  1.9245 -+#define TARGET_BYTES_BIG_ENDIAN 1
  1.9246 -+
  1.9247 -+/* FIXME: It seems that GAS only expects a one-byte opcode...
  1.9248 -+   #define NOP_OPCODE 0xd703 */
  1.9249 -+
  1.9250 -+/* If you define this macro, GAS will warn about the use of
  1.9251 -+   nonstandard escape sequences in a string.  */
  1.9252 -+#undef ONLY_STANDARD_ESCAPES
  1.9253 -+
  1.9254 -+#define DWARF2_FORMAT() dwarf2_format_32bit
  1.9255 -+
  1.9256 -+/* Instructions are either 2 or 4 bytes long */
  1.9257 -+/* #define DWARF2_LINE_MIN_INSN_LENGTH 2 */
  1.9258 -+
  1.9259 -+/* GAS will call this function for any expression that can not be
  1.9260 -+   recognized.  When the function is called, `input_line_pointer'
  1.9261 -+   will point to the start of the expression.  */
  1.9262 -+#define md_operand(x)
  1.9263 -+
  1.9264 -+#define md_parse_name(name, expr, mode, c) avr32_parse_name(name, expr, c)
  1.9265 -+extern int avr32_parse_name(const char *, struct expressionS *, char *);
  1.9266 -+
  1.9267 -+/* You may define this macro to generate a fixup for a data
  1.9268 -+   allocation pseudo-op.  */
  1.9269 -+#define TC_CONS_FIX_NEW(FRAG, OFF, LEN, EXP)	\
  1.9270 -+  avr32_cons_fix_new(FRAG, OFF, LEN, EXP)
  1.9271 -+void avr32_cons_fix_new (fragS *, int, int, expressionS *);
  1.9272 -+
  1.9273 -+/* `extsym - .' expressions can be emitted using PC-relative relocs */
  1.9274 -+#define DIFF_EXPR_OK
  1.9275 -+
  1.9276 -+/* This is used to construct expressions out of @gotoff, etc. The
  1.9277 -+   relocation type is stored in X_md */
  1.9278 -+#define O_got		O_md1
  1.9279 -+#define O_hi		O_md2
  1.9280 -+#define O_lo		O_md3
  1.9281 -+#define O_tlsgd		O_md4
  1.9282 -+
  1.9283 -+/* You may define this macro to parse an expression used in a data
  1.9284 -+   allocation pseudo-op such as `.word'.  You can use this to
  1.9285 -+   recognize relocation directives that may appear in such directives.  */
  1.9286 -+/* #define TC_PARSE_CONS_EXPRESSION(EXPR,N) avr_parse_cons_expression (EXPR,N)
  1.9287 -+   void avr_parse_cons_expression (expressionS *exp, int nbytes); */
  1.9288 -+
  1.9289 -+/* This should just call either `number_to_chars_bigendian' or
  1.9290 -+   `number_to_chars_littleendian', whichever is appropriate.  On
  1.9291 -+   targets like the MIPS which support options to change the
  1.9292 -+   endianness, which function to call is a runtime decision.  On
  1.9293 -+   other targets, `md_number_to_chars' can be a simple macro.  */
  1.9294 -+#define md_number_to_chars number_to_chars_bigendian
  1.9295 -+
  1.9296 -+/* `md_short_jump_size'
  1.9297 -+   `md_long_jump_size'
  1.9298 -+   `md_create_short_jump'
  1.9299 -+   `md_create_long_jump'
  1.9300 -+   If `WORKING_DOT_WORD' is defined, GAS will not do broken word
  1.9301 -+   processing (*note Broken words::.).  Otherwise, you should set
  1.9302 -+   `md_short_jump_size' to the size of a short jump (a jump that is
  1.9303 -+   just long enough to jump around a long jmp) and
  1.9304 -+   `md_long_jump_size' to the size of a long jump (a jump that can go
  1.9305 -+   anywhere in the function), You should define
  1.9306 -+   `md_create_short_jump' to create a short jump around a long jump,
  1.9307 -+   and define `md_create_long_jump' to create a long jump.  */
  1.9308 -+#define WORKING_DOT_WORD
  1.9309 -+
  1.9310 -+/* If you define this macro, it means that `tc_gen_reloc' may return
  1.9311 -+   multiple relocation entries for a single fixup.  In this case, the
  1.9312 -+   return value of `tc_gen_reloc' is a pointer to a null terminated
  1.9313 -+   array.  */
  1.9314 -+#undef RELOC_EXPANSION_POSSIBLE
  1.9315 -+
  1.9316 -+/* If you define this macro, GAS will not require pseudo-ops to start with a .
  1.9317 -+   character. */
  1.9318 -+#define NO_PSEUDO_DOT (avr32_iarcompat)
  1.9319 -+
  1.9320 -+/* The IAR assembler uses $ as the location counter. Unfortunately, we
  1.9321 -+   can't make this dependent on avr32_iarcompat... */
  1.9322 -+#define DOLLAR_DOT
  1.9323 -+
  1.9324 -+/* Values passed to md_apply_fix3 don't include the symbol value.  */
  1.9325 -+#define MD_APPLY_SYM_VALUE(FIX) 0
  1.9326 -+
  1.9327 -+/* The number of bytes to put into a word in a listing.  This affects
  1.9328 -+   the way the bytes are clumped together in the listing.  For
  1.9329 -+   example, a value of 2 might print `1234 5678' where a value of 1
  1.9330 -+   would print `12 34 56 78'.  The default value is 4.  */
  1.9331 -+#define LISTING_WORD_SIZE 4
  1.9332 -+
  1.9333 -+/* extern const struct relax_type md_relax_table[];
  1.9334 -+#define TC_GENERIC_RELAX_TABLE md_relax_table */
  1.9335 -+
  1.9336 -+/*
  1.9337 -+  An `.lcomm' directive with no explicit alignment parameter will use
  1.9338 -+  this macro to set P2VAR to the alignment that a request for SIZE
  1.9339 -+  bytes will have.  The alignment is expressed as a power of two.  If
  1.9340 -+  no alignment should take place, the macro definition should do
  1.9341 -+  nothing.  Some targets define a `.bss' directive that is also
  1.9342 -+  affected by this macro.  The default definition will set P2VAR to
  1.9343 -+  the truncated power of two of sizes up to eight bytes.
  1.9344 -+
  1.9345 -+  We want doublewords to be word-aligned, so we're going to modify the
  1.9346 -+  default definition a tiny bit.
  1.9347 -+*/
  1.9348 -+#define TC_IMPLICIT_LCOMM_ALIGNMENT(SIZE, P2VAR)	\
  1.9349 -+  do							\
  1.9350 -+    {							\
  1.9351 -+      if ((SIZE) >= 4)					\
  1.9352 -+	(P2VAR) = 2;					\
  1.9353 -+      else if ((SIZE) >= 2)				\
  1.9354 -+	(P2VAR) = 1;					\
  1.9355 -+      else						\
  1.9356 -+	(P2VAR) = 0;					\
  1.9357 -+    }							\
  1.9358 -+  while (0)
  1.9359 -+
  1.9360 -+/* When relaxing, we need to generate relocations for alignment
  1.9361 -+   directives.  */
  1.9362 -+#define HANDLE_ALIGN(frag) avr32_handle_align(frag)
  1.9363 -+extern void avr32_handle_align(fragS *);
  1.9364 -+
  1.9365 -+/* See internals doc for explanation. Oh wait...
  1.9366 -+   Now, can you guess where "alignment" comes from? ;-) */
  1.9367 -+#define MAX_MEM_FOR_RS_ALIGN_CODE ((1 << alignment) - 1)
  1.9368 -+
  1.9369 -+/* We need to stop gas from reducing certain expressions (e.g. GOT
  1.9370 -+   references) */
  1.9371 -+#define tc_fix_adjustable(fix) avr32_fix_adjustable(fix)
  1.9372 -+extern bfd_boolean avr32_fix_adjustable(struct fix *);
  1.9373 -+
  1.9374 -+/* The linker needs to be passed a little more information when relaxing. */
  1.9375 -+#define TC_FORCE_RELOCATION(fix) avr32_force_reloc(fix)
  1.9376 -+extern bfd_boolean avr32_force_reloc(struct fix *);
  1.9377 -+
  1.9378 -+/* I'm tired of working around all the madness in fixup_segment().
  1.9379 -+   This hook will do basically the same things as the generic code,
  1.9380 -+   and then it will "goto" right past it.  */
  1.9381 -+#define TC_VALIDATE_FIX(FIX, SEG, SKIP)		\
  1.9382 -+  do						\
  1.9383 -+    {						\
  1.9384 -+      avr32_process_fixup(FIX, SEG);		\
  1.9385 -+      if (!(FIX)->fx_done)			\
  1.9386 -+	++seg_reloc_count;			\
  1.9387 -+      goto SKIP;				\
  1.9388 -+    }						\
  1.9389 -+  while (0)
  1.9390 -+extern void avr32_process_fixup(struct fix *fixP, segT this_segment);
  1.9391 -+
  1.9392 -+/* Positive values of TC_FX_SIZE_SLACK allow a target to define
  1.9393 -+   fixups that far past the end of a frag.  Having such fixups
  1.9394 -+   is of course most most likely a bug in setting fx_size correctly.
  1.9395 -+   A negative value disables the fixup check entirely, which is
  1.9396 -+   appropriate for something like the Renesas / SuperH SH_COUNT
  1.9397 -+   reloc.  */
  1.9398 -+/* This target is buggy, and sets fix size too large.  */
  1.9399 -+#define TC_FX_SIZE_SLACK(FIX) -1
  1.9400 -+
  1.9401 -+/* We don't want the gas core to make any assumptions about our way of
  1.9402 -+   doing linkrelaxing.  */
  1.9403 -+#define TC_LINKRELAX_FIXUP(SEG)			0
  1.9404 -+
  1.9405 -+/* ... but we do want it to insert lots of padding. */
  1.9406 -+#define LINKER_RELAXING_SHRINKS_ONLY
  1.9407 -+
  1.9408 -+/* Better do it ourselves, really... */
  1.9409 -+#define TC_RELAX_ALIGN(SEG, FRAG, ADDR)	avr32_relax_align(SEG, FRAG, ADDR)
  1.9410 -+extern relax_addressT
  1.9411 -+avr32_relax_align(segT segment, fragS *fragP, relax_addressT address);
  1.9412 -+
  1.9413 -+/* Use line number format that is amenable to linker relaxation.  */
  1.9414 -+#define DWARF2_USE_FIXED_ADVANCE_PC (linkrelax != 0)
  1.9415 -+
  1.9416 -+/* This is called by write_object_file() just before symbols are
  1.9417 -+   attempted converted into section symbols.  */
  1.9418 -+#define tc_frob_file_before_adjust()	avr32_frob_file()
  1.9419 -+extern void avr32_frob_file(void);
  1.9420 -+
  1.9421 -+/* If you define this macro, GAS will call it at the end of each input
  1.9422 -+   file.  */
  1.9423 -+#define md_cleanup() avr32_cleanup()
  1.9424 -+extern void avr32_cleanup(void);
  1.9425 -+
  1.9426 -+/* There's an AVR32-specific hack in operand() which creates O_md
  1.9427 -+   expressions when encountering HWRD or LWRD. We need to generate
  1.9428 -+   proper relocs for them */
  1.9429 -+/* #define md_cgen_record_fixup_exp avr32_cgen_record_fixup_exp */
  1.9430 -+
  1.9431 -+/* I needed to add an extra hook in gas_cgen_finish_insn() for
  1.9432 -+   conversion of O_md* operands because md_cgen_record_fixup_exp()
  1.9433 -+   isn't called for relaxable insns */
  1.9434 -+/* #define md_cgen_convert_expr(exp, opinfo) avr32_cgen_convert_expr(exp, opinfo)
  1.9435 -+   int avr32_cgen_convert_expr(expressionS *, int); */
  1.9436 -+
  1.9437 -+/* #define tc_gen_reloc gas_cgen_tc_gen_reloc */
  1.9438 -+
  1.9439 -+/* If you define this macro, it should return the position from which
  1.9440 -+   the PC relative adjustment for a PC relative fixup should be
  1.9441 -+   made. On many processors, the base of a PC relative instruction is
  1.9442 -+   the next instruction, so this macro would return the length of an
  1.9443 -+   instruction, plus the address of the PC relative fixup. The latter
  1.9444 -+   can be calculated as fixp->fx_where + fixp->fx_frag->fr_address. */
  1.9445 -+extern long md_pcrel_from_section (struct fix *, segT);
  1.9446 -+#define MD_PCREL_FROM_SECTION(FIX, SEC) md_pcrel_from_section (FIX, SEC)
  1.9447 -+
  1.9448 -+#define LOCAL_LABEL(name) (name[0] == '.' && (name[1] == 'L'))
  1.9449 -+#define LOCAL_LABELS_FB		1
  1.9450 -+
  1.9451 -+struct avr32_relaxer
  1.9452 -+{
  1.9453 -+  int (*estimate_size)(fragS *, segT);
  1.9454 -+  long (*relax_frag)(segT, fragS *, long);
  1.9455 -+  void (*convert_frag)(bfd *, segT, fragS *);
  1.9456 -+};
  1.9457 -+
  1.9458 -+/* AVR32 has quite complex instruction coding, which means we need
  1.9459 -+ * lots of information in order to do the right thing during relaxing
  1.9460 -+ * (basically, we need to be able to reconstruct a whole new opcode if
  1.9461 -+ * necessary) */
  1.9462 -+#define TC_FRAG_TYPE struct avr32_frag_data
  1.9463 -+
  1.9464 -+struct cpool;
  1.9465 -+
  1.9466 -+struct avr32_frag_data
  1.9467 -+{
  1.9468 -+  /* TODO: Maybe add an expression object here so that we can use
  1.9469 -+     fix_new_exp() in md_convert_frag?  We may have to decide
  1.9470 -+     pcrel-ness in md_estimate_size_before_relax() as well...or we
  1.9471 -+     might do it when parsing.  Doing it while parsing may fail
  1.9472 -+     because the sub_symbol is undefined then... */
  1.9473 -+  int pcrel;
  1.9474 -+  int force_extended;
  1.9475 -+  int reloc_info;
  1.9476 -+  struct avr32_relaxer *relaxer;
  1.9477 -+  expressionS exp;
  1.9478 -+
  1.9479 -+  /* Points to associated constant pool, for use by LDA and CALL in
  1.9480 -+     non-pic mode, and when relaxing the .cpool directive */
  1.9481 -+  struct cpool *pool;
  1.9482 -+  unsigned int pool_entry;
  1.9483 -+};
  1.9484 -+
  1.9485 -+/* We will have to initialize the fields explicitly when needed */
  1.9486 -+#define TC_FRAG_INIT(fragP)
  1.9487 -+
  1.9488 -+#define md_estimate_size_before_relax(fragP, segT)			\
  1.9489 -+  ((fragP)->tc_frag_data.relaxer->estimate_size(fragP, segT))
  1.9490 -+#define md_relax_frag(segment, fragP, stretch)				\
  1.9491 -+  ((fragP)->tc_frag_data.relaxer->relax_frag(segment, fragP, stretch))
  1.9492 -+#define md_convert_frag(abfd, segment, fragP)				\
  1.9493 -+  ((fragP)->tc_frag_data.relaxer->convert_frag(abfd, segment, fragP))
  1.9494 -+
  1.9495 -+#define TC_FIX_TYPE struct avr32_fix_data
  1.9496 -+
  1.9497 -+struct avr32_fix_data
  1.9498 -+{
  1.9499 -+  const struct avr32_ifield *ifield;
  1.9500 -+  unsigned int align;
  1.9501 -+  long min;
  1.9502 -+  long max;
  1.9503 -+};
  1.9504 -+
  1.9505 -+#define TC_INIT_FIX_DATA(fixP)			\
  1.9506 -+  do						\
  1.9507 -+    {						\
  1.9508 -+      (fixP)->tc_fix_data.ifield = NULL;	\
  1.9509 -+      (fixP)->tc_fix_data.align = 0;		\
  1.9510 -+      (fixP)->tc_fix_data.min = 0;		\
  1.9511 -+      (fixP)->tc_fix_data.max = 0;		\
  1.9512 -+    }						\
  1.9513 -+  while (0)
  1.9514 ---- a/gas/configure.tgt
  1.9515 -+++ b/gas/configure.tgt
  1.9516 -@@ -33,6 +33,7 @@ case ${cpu} in
  1.9517 -   am33_2.0)		cpu_type=mn10300 endian=little ;;
  1.9518 -   arm*be|arm*b)		cpu_type=arm endian=big ;;
  1.9519 -   arm*)			cpu_type=arm endian=little ;;
  1.9520 -+  avr32*)		cpu_type=avr32 endian=big ;;
  1.9521 -   bfin*)		cpu_type=bfin endian=little ;;
  1.9522 -   c4x*)			cpu_type=tic4x ;;
  1.9523 -   cr16*)		cpu_type=cr16 endian=little ;;
  1.9524 -@@ -129,6 +130,9 @@ case ${generic_target} in
  1.9525 -   bfin-*elf)				fmt=elf ;;
  1.9526 -   cr16-*-elf*)	    			fmt=elf ;;
  1.9527 - 
  1.9528 -+  avr32-*-linux*)			fmt=elf  em=linux bfd_gas=yes ;;
  1.9529 -+  avr32*)				fmt=elf  bfd_gas=yes ;;
  1.9530 -+
  1.9531 -   cris-*-linux-* | crisv32-*-linux-*)
  1.9532 - 					fmt=multi em=linux ;;
  1.9533 -   cris-*-* | crisv32-*-*)		fmt=multi ;;
  1.9534 ---- a/gas/doc/all.texi
  1.9535 -+++ b/gas/doc/all.texi
  1.9536 -@@ -30,6 +30,7 @@
  1.9537 - @set ARC
  1.9538 - @set ARM
  1.9539 - @set AVR
  1.9540 -+@set AVR32
  1.9541 - @set BFIN
  1.9542 - @set CR16
  1.9543 - @set CRIS
  1.9544 ---- a/gas/doc/as.texinfo
  1.9545 -+++ b/gas/doc/as.texinfo
  1.9546 -@@ -6353,6 +6353,9 @@ subject, see the hardware manufacturer's
  1.9547 - @ifset AVR
  1.9548 - * AVR-Dependent::               AVR Dependent Features
  1.9549 - @end ifset
  1.9550 -+@ifset AVR32
  1.9551 -+* AVR32-Dependent::             AVR32 Dependent Features
  1.9552 -+@end ifset
  1.9553 - @ifset BFIN
  1.9554 - * BFIN-Dependent::		BFIN Dependent Features
  1.9555 - @end ifset
  1.9556 -@@ -6476,6 +6479,10 @@ subject, see the hardware manufacturer's
  1.9557 - @include c-avr.texi
  1.9558 - @end ifset
  1.9559 - 
  1.9560 -+@ifset AVR32
  1.9561 -+@include c-avr32.texi
  1.9562 -+@end ifset
  1.9563 -+
  1.9564 - @ifset BFIN
  1.9565 - @include c-bfin.texi
  1.9566 - @end ifset
  1.9567 ---- /dev/null
  1.9568 -+++ b/gas/doc/c-avr32.texi
  1.9569 -@@ -0,0 +1,247 @@
  1.9570 -+@c Copyright 2005, 2006
  1.9571 -+@c Atmel Corporation
  1.9572 -+@c This is part of the GAS manual.
  1.9573 -+@c For copying conditions, see the file as.texinfo.
  1.9574 -+
  1.9575 -+@ifset GENERIC
  1.9576 -+@page
  1.9577 -+@node AVR32-Dependent
  1.9578 -+@chapter AVR32 Dependent Features
  1.9579 -+@end ifset
  1.9580 -+
  1.9581 -+@ifclear GENERIC
  1.9582 -+@node Machine Dependencies
  1.9583 -+@chapter AVR32 Dependent Features
  1.9584 -+@end ifclear
  1.9585 -+
  1.9586 -+@cindex AVR32 support
  1.9587 -+@menu
  1.9588 -+* AVR32 Options::               Options
  1.9589 -+* AVR32 Syntax::                Syntax
  1.9590 -+* AVR32 Directives::            Directives
  1.9591 -+* AVR32 Opcodes::               Opcodes
  1.9592 -+@end menu
  1.9593 -+
  1.9594 -+@node AVR32 Options
  1.9595 -+@section Options
  1.9596 -+@cindex AVR32 options
  1.9597 -+@cindex options for AVR32
  1.9598 -+
  1.9599 -+There are currently no AVR32-specific options.  However, the following
  1.9600 -+options are planned:
  1.9601 -+
  1.9602 -+@table @code
  1.9603 -+
  1.9604 -+@cindex @code{--pic} command line option, AVR32
  1.9605 -+@cindex PIC code generation for AVR32
  1.9606 -+@item --pic
  1.9607 -+This option specifies that the output of the assembler should be marked
  1.9608 -+as position-independent code (PIC).  It will also ensure that
  1.9609 -+pseudo-instructions that deal with address calculation are output as
  1.9610 -+PIC, and that all absolute address references in the code are marked as
  1.9611 -+such.
  1.9612 -+
  1.9613 -+@cindex @code{--linkrelax} command line option, AVR32
  1.9614 -+@item --linkrelax
  1.9615 -+This option specifies that the output of the assembler should be marked
  1.9616 -+as linker-relaxable.  It will also ensure that all PC-relative operands
  1.9617 -+that may change during linker relaxation get appropriate relocations.
  1.9618 -+
  1.9619 -+@end table
  1.9620 -+
  1.9621 -+
  1.9622 -+@node AVR32 Syntax
  1.9623 -+@section Syntax
  1.9624 -+@menu
  1.9625 -+* AVR32-Chars::              Special Characters
  1.9626 -+* AVR32-Symrefs::            Symbol references
  1.9627 -+@end menu
  1.9628 -+
  1.9629 -+@node AVR32-Chars
  1.9630 -+@subsection Special Characters
  1.9631 -+
  1.9632 -+@cindex line comment character, AVR32
  1.9633 -+@cindex AVR32 line comment character
  1.9634 -+The presence of a @samp{//} on a line indicates the start of a comment
  1.9635 -+that extends to the end of the current line.  If a @samp{#} appears as
  1.9636 -+the first character of a line, the whole line is treated as a comment.
  1.9637 -+
  1.9638 -+@cindex line separator, AVR32
  1.9639 -+@cindex statement separator, AVR32
  1.9640 -+@cindex AVR32 line separator
  1.9641 -+The @samp{;} character can be used instead of a newline to separate
  1.9642 -+statements.
  1.9643 -+
  1.9644 -+@node AVR32-Symrefs
  1.9645 -+@subsection Symbol references
  1.9646 -+
  1.9647 -+The absolute value of a symbol can be obtained by simply naming the
  1.9648 -+symbol.  However, as AVR32 symbols have 32-bit values, most symbols have
  1.9649 -+values that are outside the range of any instructions.
  1.9650 -+
  1.9651 -+Instructions that take a PC-relative offset, e.g. @code{lddpc} or
  1.9652 -+@code{rcall}, can also reference a symbol by simply naming the symbol
  1.9653 -+(no explicit calculations necessary).  In this case, the assembler or
  1.9654 -+linker subtracts the address of the instruction from the symbol's value
  1.9655 -+and inserts the result into the instruction.  Note that even though an
  1.9656 -+overflow is less likely to happen for a relative reference than for an
  1.9657 -+absolute reference, the assembler or linker will generate an error if
  1.9658 -+the referenced symbol is too far away from the current location.
  1.9659 -+
  1.9660 -+Relative references can be used for data as well.  For example:
  1.9661 -+
  1.9662 -+@smallexample
  1.9663 -+        lddpc   r0, 2f
  1.9664 -+1:      add     r0, pc
  1.9665 -+        ...
  1.9666 -+        .align  2
  1.9667 -+2:      .int    @var{some_symbol} - 1b
  1.9668 -+@end smallexample
  1.9669 -+
  1.9670 -+Here, r0 will end up with the run-time address of @var{some_symbol} even
  1.9671 -+if the program was loaded at a different address than it was linked
  1.9672 -+(position-independent code).
  1.9673 -+
  1.9674 -+@subsubsection Symbol modifiers
  1.9675 -+
  1.9676 -+@table @code
  1.9677 -+
  1.9678 -+@item @code{hi(@var{symbol})}
  1.9679 -+Evaluates to the value of the symbol shifted right 16 bits.  This will
  1.9680 -+work even if @var{symbol} is defined in a different module.
  1.9681 -+
  1.9682 -+@item @code{lo(@var{symbol})}
  1.9683 -+Evaluates to the low 16 bits of the symbol's value.  This will work even
  1.9684 -+if @var{symbol} is defined in a different module.
  1.9685 -+
  1.9686 -+@item @code{@var{symbol}@@got}
  1.9687 -+Create a GOT entry for @var{symbol} and return the offset of that entry
  1.9688 -+relative to the GOT base.
  1.9689 -+
  1.9690 -+@end table
  1.9691 -+
  1.9692 -+
  1.9693 -+@node AVR32 Directives
  1.9694 -+@section Directives
  1.9695 -+@cindex machine directives, AVR32
  1.9696 -+@cindex AVR32 directives
  1.9697 -+
  1.9698 -+@table @code
  1.9699 -+
  1.9700 -+@cindex @code{.cpool} directive, AVR32
  1.9701 -+@item .cpool
  1.9702 -+This directive causes the current contents of the constant pool to be
  1.9703 -+dumped into the current section at the current location (aligned to a
  1.9704 -+word boundary).  @code{GAS} maintains a separate constant pool for each
  1.9705 -+section and each sub-section.  The @code{.cpool} directive will only
  1.9706 -+affect the constant pool of the current section and sub-section.  At the
  1.9707 -+end of assembly, all remaining, non-empty constant pools will
  1.9708 -+automatically be dumped.
  1.9709 -+
  1.9710 -+@end table
  1.9711 -+
  1.9712 -+
  1.9713 -+@node AVR32 Opcodes
  1.9714 -+@section Opcodes
  1.9715 -+@cindex AVR32 opcodes
  1.9716 -+@cindex opcodes for AVR32
  1.9717 -+
  1.9718 -+@code{@value{AS}} implements all the standard AVR32 opcodes.  It also
  1.9719 -+implements several pseudo-opcodes, which are recommended to use wherever
  1.9720 -+possible because they give the tool chain better freedom to generate
  1.9721 -+optimal code.
  1.9722 -+
  1.9723 -+@table @code
  1.9724 -+
  1.9725 -+@cindex @code{LDA.W reg, symbol} pseudo op, AVR32
  1.9726 -+@item LDA.W
  1.9727 -+@smallexample
  1.9728 -+        lda.w   @var{reg}, @var{symbol}
  1.9729 -+@end smallexample
  1.9730 -+
  1.9731 -+This instruction will load the address of @var{symbol} into
  1.9732 -+@var{reg}. The instruction will evaluate to one of the following,
  1.9733 -+depending on the relative distance to the symbol, the relative distance
  1.9734 -+to the constant pool and whether the @code{--pic} option has been
  1.9735 -+specified. If the @code{--pic} option has not been specified, the
  1.9736 -+alternatives are as follows:
  1.9737 -+@smallexample
  1.9738 -+        /* @var{symbol} evaluates to a small enough value */
  1.9739 -+        mov     @var{reg}, @var{symbol}
  1.9740 -+
  1.9741 -+        /* (. - @var{symbol}) evaluates to a small enough value */
  1.9742 -+        sub     @var{reg}, pc, . - @var{symbol}
  1.9743 -+
  1.9744 -+        /* Constant pool is close enough */
  1.9745 -+        lddpc   @var{reg}, @var{cpent}
  1.9746 -+        ...
  1.9747 -+@var{cpent}:
  1.9748 -+        .long   @var{symbol}
  1.9749 -+
  1.9750 -+        /* Otherwise (not implemented yet, probably not necessary) */
  1.9751 -+        mov     @var{reg}, lo(@var{symbol})
  1.9752 -+        orh     @var{reg}, hi(@var{symbol})
  1.9753 -+@end smallexample
  1.9754 -+
  1.9755 -+If the @code{--pic} option has been specified, the alternatives are as
  1.9756 -+follows:
  1.9757 -+@smallexample
  1.9758 -+        /* (. - @var{symbol}) evaluates to a small enough value */
  1.9759 -+        sub     @var{reg}, pc, . - @var{symbol}
  1.9760 -+
  1.9761 -+        /* If @code{--linkrelax} not specified */
  1.9762 -+        ld.w    @var{reg}, r6[@var{symbol}@@got]
  1.9763 -+
  1.9764 -+        /* Otherwise */
  1.9765 -+        mov     @var{reg}, @var{symbol}@@got / 4
  1.9766 -+        ld.w    @var{reg}, r6[@var{reg} << 2]
  1.9767 -+@end smallexample
  1.9768 -+
  1.9769 -+If @var{symbol} is not defined in the same file and section as the
  1.9770 -+@code{LDA.W} instruction, the most pessimistic alternative of the
  1.9771 -+above is selected. The linker may convert it back into the most
  1.9772 -+optimal alternative when the final value of all symbols is known.
  1.9773 -+
  1.9774 -+@cindex @code{CALL symbol} pseudo op, AVR32
  1.9775 -+@item CALL
  1.9776 -+@smallexample
  1.9777 -+        call    @var{symbol}
  1.9778 -+@end smallexample
  1.9779 -+
  1.9780 -+This instruction will insert code to call the subroutine identified by
  1.9781 -+@var{symbol}. It will evaluate to one of the following, depending on
  1.9782 -+the relative distance to the symbol as well as the @code{--linkrelax}
  1.9783 -+and @code{--pic} command-line options.
  1.9784 -+
  1.9785 -+If @var{symbol} is defined in the same section and input file, and the
  1.9786 -+distance is small enough, an @code{rcall} instruction is inserted:
  1.9787 -+@smallexample
  1.9788 -+        rcall   @var{symbol}
  1.9789 -+@end smallexample
  1.9790 -+
  1.9791 -+Otherwise, if the @code{--pic} option has not been specified:
  1.9792 -+@smallexample
  1.9793 -+        mcall   @var{cpent}
  1.9794 -+        ...
  1.9795 -+@var{cpent}:
  1.9796 -+        .long   @var{symbol}
  1.9797 -+@end smallexample
  1.9798 -+
  1.9799 -+Finally, if nothing else fits and the @code{--pic} option has been
  1.9800 -+specified, the assembler will indirect the call through the Global
  1.9801 -+Offset Table:
  1.9802 -+@smallexample
  1.9803 -+        /* If @code{--linkrelax} not specified */
  1.9804 -+        mcall   r6[@var{symbol}@@got]
  1.9805 -+
  1.9806 -+        /* If @code{--linkrelax} specified */
  1.9807 -+        mov     lr, @var{symbol}@@got / 4
  1.9808 -+        ld.w    lr, r6[lr << 2]
  1.9809 -+        icall   lr
  1.9810 -+@end smallexample
  1.9811 -+
  1.9812 -+The linker, after determining the final value of @var{symbol}, may
  1.9813 -+convert any of these into more optimal alternatives. This includes
  1.9814 -+deleting any superfluous constant pool- and GOT-entries.
  1.9815 -+
  1.9816 -+@end table
  1.9817 ---- a/gas/doc/Makefile.am
  1.9818 -+++ b/gas/doc/Makefile.am
  1.9819 -@@ -33,6 +33,7 @@ CPU_DOCS = \
  1.9820 - 	c-arc.texi \
  1.9821 - 	c-arm.texi \
  1.9822 - 	c-avr.texi \
  1.9823 -+    c-avr32.texi \
  1.9824 - 	c-bfin.texi \
  1.9825 - 	c-cr16.texi \
  1.9826 - 	c-d10v.texi \
  1.9827 ---- a/gas/Makefile.am
  1.9828 -+++ b/gas/Makefile.am
  1.9829 -@@ -47,6 +47,7 @@ CPU_TYPES = \
  1.9830 - 	arc \
  1.9831 - 	arm \
  1.9832 - 	avr \
  1.9833 -+	avr32 \
  1.9834 - 	bfin \
  1.9835 - 	cr16 \
  1.9836 - 	cris \
  1.9837 -@@ -241,6 +242,7 @@ TARGET_CPU_CFILES = \
  1.9838 - 	config/tc-arc.c \
  1.9839 - 	config/tc-arm.c \
  1.9840 - 	config/tc-avr.c \
  1.9841 -+	config/tc-avr32.c \
  1.9842 - 	config/tc-bfin.c \
  1.9843 - 	config/tc-cr16.c \
  1.9844 - 	config/tc-cris.c \
  1.9845 -@@ -296,6 +298,7 @@ TARGET_CPU_HFILES = \
  1.9846 - 	config/tc-arc.h \
  1.9847 - 	config/tc-arm.h \
  1.9848 - 	config/tc-avr.h \
  1.9849 -+	config/tc-avr32.h \
  1.9850 - 	config/tc-bfin.h \
  1.9851 - 	config/tc-cr16.h \
  1.9852 - 	config/tc-cris.h \
  1.9853 -@@ -1050,6 +1053,11 @@ DEPTC_avr_elf = $(srcdir)/config/obj-elf
  1.9854 -   $(INCDIR)/bfdlink.h $(srcdir)/config/tc-avr.h dwarf2dbg.h \
  1.9855 -   $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
  1.9856 -   $(INCDIR)/opcode/avr.h
  1.9857 -+DEPTC_avr32_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
  1.9858 -+  $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
  1.9859 -+  $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-avr32.h \
  1.9860 -+  $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
  1.9861 -+  $(srcdir)/../opcodes/avr32-opc.h $(srcdir)/../opcodes/avr32-asm.h
  1.9862 - DEPTC_bfin_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \
  1.9863 -   $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
  1.9864 -   $(INCDIR)/bfdlink.h $(srcdir)/config/tc-bfin.h dwarf2dbg.h \
  1.9865 -@@ -1487,6 +1495,11 @@ DEPOBJ_avr_elf = $(srcdir)/config/obj-el
  1.9866 -   $(INCDIR)/bfdlink.h $(srcdir)/config/tc-avr.h dwarf2dbg.h \
  1.9867 -   $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
  1.9868 -   $(INCDIR)/obstack.h struc-symbol.h dwarf2dbg.h $(INCDIR)/aout/aout64.h
  1.9869 -+DEPOBJ_avr32_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
  1.9870 -+  $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
  1.9871 -+  $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-avr32.h \
  1.9872 -+  $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
  1.9873 -+  struc-symbol.h dwarf2dbg.h
  1.9874 - DEPOBJ_bfin_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \
  1.9875 -   $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
  1.9876 -   $(INCDIR)/bfdlink.h $(srcdir)/config/tc-bfin.h dwarf2dbg.h \
  1.9877 -@@ -1858,6 +1871,9 @@ DEP_cr16_elf = $(srcdir)/config/obj-elf.
  1.9878 -   $(INCDIR)/bfdlink.h $(srcdir)/config/tc-cr16.h dwarf2dbg.h \
  1.9879 -   $(srcdir)/config/obj-coff.h $(INCDIR)/coff/internal.h \
  1.9880 -   $(BFDDIR)/libcoff.h
  1.9881 -+DEP_avr32_elf = $(srcdir)/config/obj-elf.h $(INCDIR)/symcat.h \
  1.9882 -+  $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
  1.9883 -+  $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-avr32.h
  1.9884 - DEP_cris_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-cris.h \
  1.9885 -   $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h
  1.9886 - DEP_cris_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \
  1.9887 ---- /dev/null
  1.9888 -+++ b/gas/testsuite/gas/avr32/aliases.d
  1.9889 -@@ -0,0 +1,19 @@
  1.9890 -+#as:
  1.9891 -+#objdump: -dr
  1.9892 -+#name: aliases
  1.9893 -+
  1.9894 -+.*: +file format .*
  1.9895 -+
  1.9896 -+Disassembly of section \.text:
  1.9897 -+
  1.9898 -+00000000 <ld_nodisp>:
  1.9899 -+   0:	19 80      [ \t]+ld\.ub r0,r12\[0x0\]
  1.9900 -+   2:	f9 20 00 00[ \t]+ld\.sb r0,r12\[0\]
  1.9901 -+   6:	98 80      [ \t]+ld\.uh r0,r12\[0x0\]
  1.9902 -+   8:	98 00      [ \t]+ld\.sh r0,r12\[0x0\]
  1.9903 -+   a:	78 00      [ \t]+ld\.w r0,r12\[0x0\]
  1.9904 -+
  1.9905 -+0000000c <st_nodisp>:
  1.9906 -+   c:	b8 80      [ \t]+st\.b r12\[0x0\],r0
  1.9907 -+   e:	b8 00      [ \t]+st\.h r12\[0x0\],r0
  1.9908 -+  10:	99 00      [ \t]+st\.w r12\[0x0\],r0
  1.9909 ---- /dev/null
  1.9910 -+++ b/gas/testsuite/gas/avr32/aliases.s
  1.9911 -@@ -0,0 +1,14 @@
  1.9912 -+	.text
  1.9913 -+	.global	ld_nodisp
  1.9914 -+ld_nodisp:
  1.9915 -+	ld.ub	r0, r12
  1.9916 -+	ld.sb	r0, r12
  1.9917 -+	ld.uh	r0, r12
  1.9918 -+	ld.sh	r0, r12
  1.9919 -+	ld.w	r0, r12
  1.9920 -+
  1.9921 -+	.global st_nodisp
  1.9922 -+st_nodisp:
  1.9923 -+	st.b	r12, r0
  1.9924 -+	st.h	r12, r0
  1.9925 -+	st.w	r12, r0
  1.9926 ---- /dev/null
  1.9927 -+++ b/gas/testsuite/gas/avr32/allinsn.d
  1.9928 -@@ -0,0 +1,2987 @@
  1.9929 -+#as:
  1.9930 -+#objdump: -dr
  1.9931 -+#name: allinsn
  1.9932 -+
  1.9933 -+.*: +file format .*
  1.9934 -+
  1.9935 -+Disassembly of section \.text:
  1.9936 -+
  1.9937 -+[0-9a-f]* <ld_d5>:
  1.9938 -+ *[0-9a-f]*:	fe 0f 02 3e 	ld\.d lr,pc\[pc<<0x3\]
  1.9939 -+ *[0-9a-f]*:	e0 00 02 00 	ld\.d r0,r0\[r0\]
  1.9940 -+ *[0-9a-f]*:	ea 05 02 26 	ld\.d r6,r5\[r5<<0x2\]
  1.9941 -+ *[0-9a-f]*:	e8 04 02 14 	ld\.d r4,r4\[r4<<0x1\]
  1.9942 -+ *[0-9a-f]*:	fc 0e 02 1e 	ld\.d lr,lr\[lr<<0x1\]
  1.9943 -+ *[0-9a-f]*:	e6 0d 02 2a 	ld\.d r10,r3\[sp<<0x2\]
  1.9944 -+ *[0-9a-f]*:	f4 06 02 28 	ld\.d r8,r10\[r6<<0x2\]
  1.9945 -+ *[0-9a-f]*:	ee 09 02 02 	ld\.d r2,r7\[r9\]
  1.9946 -+
  1.9947 -+[0-9a-f]* <ld_w5>:
  1.9948 -+ *[0-9a-f]*:	fe 0f 03 0f 	ld\.w pc,pc\[pc\]
  1.9949 -+ *[0-9a-f]*:	f8 0c 03 3c 	ld\.w r12,r12\[r12<<0x3\]
  1.9950 -+ *[0-9a-f]*:	ea 05 03 25 	ld\.w r5,r5\[r5<<0x2\]
  1.9951 -+ *[0-9a-f]*:	e8 04 03 14 	ld\.w r4,r4\[r4<<0x1\]
  1.9952 -+ *[0-9a-f]*:	fc 0e 03 1e 	ld\.w lr,lr\[lr<<0x1\]
  1.9953 -+ *[0-9a-f]*:	f2 09 03 02 	ld\.w r2,r9\[r9\]
  1.9954 -+ *[0-9a-f]*:	e4 06 03 0b 	ld\.w r11,r2\[r6\]
  1.9955 -+ *[0-9a-f]*:	e4 0d 03 30 	ld\.w r0,r2\[sp<<0x3\]
  1.9956 -+
  1.9957 -+[0-9a-f]* <ld_sh5>:
  1.9958 -+ *[0-9a-f]*:	fe 0f 04 0f 	ld\.sh pc,pc\[pc\]
  1.9959 -+ *[0-9a-f]*:	f8 0c 04 3c 	ld\.sh r12,r12\[r12<<0x3\]
  1.9960 -+ *[0-9a-f]*:	ea 05 04 25 	ld\.sh r5,r5\[r5<<0x2\]
  1.9961 -+ *[0-9a-f]*:	e8 04 04 14 	ld\.sh r4,r4\[r4<<0x1\]
  1.9962 -+ *[0-9a-f]*:	fc 0e 04 1e 	ld\.sh lr,lr\[lr<<0x1\]
  1.9963 -+ *[0-9a-f]*:	e0 0f 04 2b 	ld\.sh r11,r0\[pc<<0x2\]
  1.9964 -+ *[0-9a-f]*:	fa 06 04 2a 	ld\.sh r10,sp\[r6<<0x2\]
  1.9965 -+ *[0-9a-f]*:	e4 02 04 0c 	ld\.sh r12,r2\[r2\]
  1.9966 -+
  1.9967 -+[0-9a-f]* <ld_uh5>:
  1.9968 -+ *[0-9a-f]*:	fe 0f 05 0f 	ld\.uh pc,pc\[pc\]
  1.9969 -+ *[0-9a-f]*:	f8 0c 05 3c 	ld\.uh r12,r12\[r12<<0x3\]
  1.9970 -+ *[0-9a-f]*:	ea 05 05 25 	ld\.uh r5,r5\[r5<<0x2\]
  1.9971 -+ *[0-9a-f]*:	e8 04 05 14 	ld\.uh r4,r4\[r4<<0x1\]
  1.9972 -+ *[0-9a-f]*:	fc 0e 05 1e 	ld\.uh lr,lr\[lr<<0x1\]
  1.9973 -+ *[0-9a-f]*:	fe 0e 05 38 	ld\.uh r8,pc\[lr<<0x3\]
  1.9974 -+ *[0-9a-f]*:	e2 0f 05 16 	ld\.uh r6,r1\[pc<<0x1\]
  1.9975 -+ *[0-9a-f]*:	fc 0d 05 16 	ld\.uh r6,lr\[sp<<0x1\]
  1.9976 -+
  1.9977 -+[0-9a-f]* <ld_sb2>:
  1.9978 -+ *[0-9a-f]*:	fe 0f 06 0f 	ld\.sb pc,pc\[pc\]
  1.9979 -+ *[0-9a-f]*:	f8 0c 06 3c 	ld\.sb r12,r12\[r12<<0x3\]
  1.9980 -+ *[0-9a-f]*:	ea 05 06 25 	ld\.sb r5,r5\[r5<<0x2\]
  1.9981 -+ *[0-9a-f]*:	e8 04 06 14 	ld\.sb r4,r4\[r4<<0x1\]
  1.9982 -+ *[0-9a-f]*:	fc 0e 06 1e 	ld\.sb lr,lr\[lr<<0x1\]
  1.9983 -+ *[0-9a-f]*:	e2 0f 06 39 	ld\.sb r9,r1\[pc<<0x3\]
  1.9984 -+ *[0-9a-f]*:	e6 0b 06 10 	ld\.sb r0,r3\[r11<<0x1\]
  1.9985 -+ *[0-9a-f]*:	ea 05 06 1a 	ld\.sb r10,r5\[r5<<0x1\]
  1.9986 -+
  1.9987 -+[0-9a-f]* <ld_ub5>:
  1.9988 -+ *[0-9a-f]*:	fe 0f 07 0f 	ld\.ub pc,pc\[pc\]
  1.9989 -+ *[0-9a-f]*:	f8 0c 07 3c 	ld\.ub r12,r12\[r12<<0x3\]
  1.9990 -+ *[0-9a-f]*:	ea 05 07 25 	ld\.ub r5,r5\[r5<<0x2\]
  1.9991 -+ *[0-9a-f]*:	e8 04 07 14 	ld\.ub r4,r4\[r4<<0x1\]
  1.9992 -+ *[0-9a-f]*:	fc 0e 07 1e 	ld\.ub lr,lr\[lr<<0x1\]
  1.9993 -+ *[0-9a-f]*:	f8 07 07 36 	ld\.ub r6,r12\[r7<<0x3\]
  1.9994 -+ *[0-9a-f]*:	ec 0c 07 02 	ld\.ub r2,r6\[r12\]
  1.9995 -+ *[0-9a-f]*:	ee 0b 07 10 	ld\.ub r0,r7\[r11<<0x1\]
  1.9996 -+
  1.9997 -+[0-9a-f]* <st_d5>:
  1.9998 -+ *[0-9a-f]*:	fe 0f 08 0e 	st\.d pc\[pc\],lr
  1.9999 -+ *[0-9a-f]*:	f8 0c 08 3c 	st\.d r12\[r12<<0x3\],r12
 1.10000 -+ *[0-9a-f]*:	ea 05 08 26 	st\.d r5\[r5<<0x2\],r6
 1.10001 -+ *[0-9a-f]*:	e8 04 08 14 	st\.d r4\[r4<<0x1\],r4
 1.10002 -+ *[0-9a-f]*:	fc 0e 08 1e 	st\.d lr\[lr<<0x1\],lr
 1.10003 -+ *[0-9a-f]*:	e2 09 08 14 	st\.d r1\[r9<<0x1\],r4
 1.10004 -+ *[0-9a-f]*:	f4 02 08 14 	st\.d r10\[r2<<0x1\],r4
 1.10005 -+ *[0-9a-f]*:	f8 06 08 0e 	st\.d r12\[r6\],lr
 1.10006 -+
 1.10007 -+[0-9a-f]* <st_w5>:
 1.10008 -+ *[0-9a-f]*:	fe 0f 09 0f 	st\.w pc\[pc\],pc
 1.10009 -+ *[0-9a-f]*:	f8 0c 09 3c 	st\.w r12\[r12<<0x3\],r12
 1.10010 -+ *[0-9a-f]*:	ea 05 09 25 	st\.w r5\[r5<<0x2\],r5
 1.10011 -+ *[0-9a-f]*:	e8 04 09 14 	st\.w r4\[r4<<0x1\],r4
 1.10012 -+ *[0-9a-f]*:	fc 0e 09 1e 	st\.w lr\[lr<<0x1\],lr
 1.10013 -+ *[0-9a-f]*:	e2 0a 09 03 	st\.w r1\[r10\],r3
 1.10014 -+ *[0-9a-f]*:	e0 0a 09 19 	st\.w r0\[r10<<0x1\],r9
 1.10015 -+ *[0-9a-f]*:	e8 05 09 3f 	st\.w r4\[r5<<0x3\],pc
 1.10016 -+
 1.10017 -+[0-9a-f]* <st_h5>:
 1.10018 -+ *[0-9a-f]*:	fe 0f 0a 0f 	st\.h pc\[pc\],pc
 1.10019 -+ *[0-9a-f]*:	f8 0c 0a 3c 	st\.h r12\[r12<<0x3\],r12
 1.10020 -+ *[0-9a-f]*:	ea 05 0a 25 	st\.h r5\[r5<<0x2\],r5
 1.10021 -+ *[0-9a-f]*:	e8 04 0a 14 	st\.h r4\[r4<<0x1\],r4
 1.10022 -+ *[0-9a-f]*:	fc 0e 0a 1e 	st\.h lr\[lr<<0x1\],lr
 1.10023 -+ *[0-9a-f]*:	e4 09 0a 0b 	st\.h r2\[r9\],r11
 1.10024 -+ *[0-9a-f]*:	ea 01 0a 2c 	st\.h r5\[r1<<0x2\],r12
 1.10025 -+ *[0-9a-f]*:	fe 08 0a 23 	st\.h pc\[r8<<0x2\],r3
 1.10026 -+
 1.10027 -+[0-9a-f]* <st_b5>:
 1.10028 -+ *[0-9a-f]*:	fe 0f 0b 0f 	st\.b pc\[pc\],pc
 1.10029 -+ *[0-9a-f]*:	f8 0c 0b 3c 	st\.b r12\[r12<<0x3\],r12
 1.10030 -+ *[0-9a-f]*:	ea 05 0b 25 	st\.b r5\[r5<<0x2\],r5
 1.10031 -+ *[0-9a-f]*:	e8 04 0b 14 	st\.b r4\[r4<<0x1\],r4
 1.10032 -+ *[0-9a-f]*:	fc 0e 0b 1e 	st\.b lr\[lr<<0x1\],lr
 1.10033 -+ *[0-9a-f]*:	e2 08 0b 16 	st\.b r1\[r8<<0x1\],r6
 1.10034 -+ *[0-9a-f]*:	fc 0e 0b 31 	st\.b lr\[lr<<0x3\],r1
 1.10035 -+ *[0-9a-f]*:	ea 00 0b 2f 	st\.b r5\[r0<<0x2\],pc
 1.10036 -+
 1.10037 -+[0-9a-f]* <divs>:
 1.10038 -+ *[0-9a-f]*:	fe 0f 0c 0f 	divs pc,pc,pc
 1.10039 -+ *[0-9a-f]*:	f8 0c 0c 0c 	divs r12,r12,r12
 1.10040 -+ *[0-9a-f]*:	ea 05 0c 05 	divs r5,r5,r5
 1.10041 -+ *[0-9a-f]*:	e8 04 0c 04 	divs r4,r4,r4
 1.10042 -+ *[0-9a-f]*:	fc 0e 0c 0e 	divs lr,lr,lr
 1.10043 -+ *[0-9a-f]*:	fe 0f 0c 03 	divs r3,pc,pc
 1.10044 -+ *[0-9a-f]*:	f8 02 0c 09 	divs r9,r12,r2
 1.10045 -+ *[0-9a-f]*:	e8 01 0c 07 	divs r7,r4,r1
 1.10046 -+
 1.10047 -+[0-9a-f]* <add1>:
 1.10048 -+ *[0-9a-f]*:	1e 0f       	add pc,pc
 1.10049 -+ *[0-9a-f]*:	18 0c       	add r12,r12
 1.10050 -+ *[0-9a-f]*:	0a 05       	add r5,r5
 1.10051 -+ *[0-9a-f]*:	08 04       	add r4,r4
 1.10052 -+ *[0-9a-f]*:	1c 0e       	add lr,lr
 1.10053 -+ *[0-9a-f]*:	12 0c       	add r12,r9
 1.10054 -+ *[0-9a-f]*:	06 06       	add r6,r3
 1.10055 -+ *[0-9a-f]*:	18 0a       	add r10,r12
 1.10056 -+
 1.10057 -+[0-9a-f]* <sub1>:
 1.10058 -+ *[0-9a-f]*:	1e 1f       	sub pc,pc
 1.10059 -+ *[0-9a-f]*:	18 1c       	sub r12,r12
 1.10060 -+ *[0-9a-f]*:	0a 15       	sub r5,r5
 1.10061 -+ *[0-9a-f]*:	08 14       	sub r4,r4
 1.10062 -+ *[0-9a-f]*:	1c 1e       	sub lr,lr
 1.10063 -+ *[0-9a-f]*:	0c 1e       	sub lr,r6
 1.10064 -+ *[0-9a-f]*:	1a 10       	sub r0,sp
 1.10065 -+ *[0-9a-f]*:	18 16       	sub r6,r12
 1.10066 -+
 1.10067 -+[0-9a-f]* <rsub1>:
 1.10068 -+ *[0-9a-f]*:	1e 2f       	rsub pc,pc
 1.10069 -+ *[0-9a-f]*:	18 2c       	rsub r12,r12
 1.10070 -+ *[0-9a-f]*:	0a 25       	rsub r5,r5
 1.10071 -+ *[0-9a-f]*:	08 24       	rsub r4,r4
 1.10072 -+ *[0-9a-f]*:	1c 2e       	rsub lr,lr
 1.10073 -+ *[0-9a-f]*:	1a 2b       	rsub r11,sp
 1.10074 -+ *[0-9a-f]*:	08 27       	rsub r7,r4
 1.10075 -+ *[0-9a-f]*:	02 29       	rsub r9,r1
 1.10076 -+
 1.10077 -+[0-9a-f]* <cp1>:
 1.10078 -+ *[0-9a-f]*:	1e 3f       	cp\.w pc,pc
 1.10079 -+ *[0-9a-f]*:	18 3c       	cp\.w r12,r12
 1.10080 -+ *[0-9a-f]*:	0a 35       	cp\.w r5,r5
 1.10081 -+ *[0-9a-f]*:	08 34       	cp\.w r4,r4
 1.10082 -+ *[0-9a-f]*:	1c 3e       	cp\.w lr,lr
 1.10083 -+ *[0-9a-f]*:	04 36       	cp\.w r6,r2
 1.10084 -+ *[0-9a-f]*:	12 30       	cp\.w r0,r9
 1.10085 -+ *[0-9a-f]*:	1a 33       	cp\.w r3,sp
 1.10086 -+
 1.10087 -+[0-9a-f]* <or1>:
 1.10088 -+ *[0-9a-f]*:	1e 4f       	or pc,pc
 1.10089 -+ *[0-9a-f]*:	18 4c       	or r12,r12
 1.10090 -+ *[0-9a-f]*:	0a 45       	or r5,r5
 1.10091 -+ *[0-9a-f]*:	08 44       	or r4,r4
 1.10092 -+ *[0-9a-f]*:	1c 4e       	or lr,lr
 1.10093 -+ *[0-9a-f]*:	12 44       	or r4,r9
 1.10094 -+ *[0-9a-f]*:	08 4b       	or r11,r4
 1.10095 -+ *[0-9a-f]*:	00 44       	or r4,r0
 1.10096 -+
 1.10097 -+[0-9a-f]* <eor1>:
 1.10098 -+ *[0-9a-f]*:	1e 5f       	eor pc,pc
 1.10099 -+ *[0-9a-f]*:	18 5c       	eor r12,r12
 1.10100 -+ *[0-9a-f]*:	0a 55       	eor r5,r5
 1.10101 -+ *[0-9a-f]*:	08 54       	eor r4,r4
 1.10102 -+ *[0-9a-f]*:	1c 5e       	eor lr,lr
 1.10103 -+ *[0-9a-f]*:	16 5c       	eor r12,r11
 1.10104 -+ *[0-9a-f]*:	02 50       	eor r0,r1
 1.10105 -+ *[0-9a-f]*:	1e 55       	eor r5,pc
 1.10106 -+
 1.10107 -+[0-9a-f]* <and1>:
 1.10108 -+ *[0-9a-f]*:	1e 6f       	and pc,pc
 1.10109 -+ *[0-9a-f]*:	18 6c       	and r12,r12
 1.10110 -+ *[0-9a-f]*:	0a 65       	and r5,r5
 1.10111 -+ *[0-9a-f]*:	08 64       	and r4,r4
 1.10112 -+ *[0-9a-f]*:	1c 6e       	and lr,lr
 1.10113 -+ *[0-9a-f]*:	02 68       	and r8,r1
 1.10114 -+ *[0-9a-f]*:	1a 60       	and r0,sp
 1.10115 -+ *[0-9a-f]*:	0a 6a       	and r10,r5
 1.10116 -+
 1.10117 -+[0-9a-f]* <tst>:
 1.10118 -+ *[0-9a-f]*:	1e 7f       	tst pc,pc
 1.10119 -+ *[0-9a-f]*:	18 7c       	tst r12,r12
 1.10120 -+ *[0-9a-f]*:	0a 75       	tst r5,r5
 1.10121 -+ *[0-9a-f]*:	08 74       	tst r4,r4
 1.10122 -+ *[0-9a-f]*:	1c 7e       	tst lr,lr
 1.10123 -+ *[0-9a-f]*:	18 70       	tst r0,r12
 1.10124 -+ *[0-9a-f]*:	0c 7a       	tst r10,r6
 1.10125 -+ *[0-9a-f]*:	08 7d       	tst sp,r4
 1.10126 -+
 1.10127 -+[0-9a-f]* <andn>:
 1.10128 -+ *[0-9a-f]*:	1e 8f       	andn pc,pc
 1.10129 -+ *[0-9a-f]*:	18 8c       	andn r12,r12
 1.10130 -+ *[0-9a-f]*:	0a 85       	andn r5,r5
 1.10131 -+ *[0-9a-f]*:	08 84       	andn r4,r4
 1.10132 -+ *[0-9a-f]*:	1c 8e       	andn lr,lr
 1.10133 -+ *[0-9a-f]*:	18 89       	andn r9,r12
 1.10134 -+ *[0-9a-f]*:	1a 8b       	andn r11,sp
 1.10135 -+ *[0-9a-f]*:	0a 8c       	andn r12,r5
 1.10136 -+
 1.10137 -+[0-9a-f]* <mov3>:
 1.10138 -+ *[0-9a-f]*:	1e 9f       	mov pc,pc
 1.10139 -+ *[0-9a-f]*:	18 9c       	mov r12,r12
 1.10140 -+ *[0-9a-f]*:	0a 95       	mov r5,r5
 1.10141 -+ *[0-9a-f]*:	08 94       	mov r4,r4
 1.10142 -+ *[0-9a-f]*:	1c 9e       	mov lr,lr
 1.10143 -+ *[0-9a-f]*:	12 95       	mov r5,r9
 1.10144 -+ *[0-9a-f]*:	16 9b       	mov r11,r11
 1.10145 -+ *[0-9a-f]*:	1c 92       	mov r2,lr
 1.10146 -+
 1.10147 -+[0-9a-f]* <st_w1>:
 1.10148 -+ *[0-9a-f]*:	1e af       	st\.w pc\+\+,pc
 1.10149 -+ *[0-9a-f]*:	18 ac       	st\.w r12\+\+,r12
 1.10150 -+ *[0-9a-f]*:	0a a5       	st\.w r5\+\+,r5
 1.10151 -+ *[0-9a-f]*:	08 a4       	st\.w r4\+\+,r4
 1.10152 -+ *[0-9a-f]*:	1c ae       	st\.w lr\+\+,lr
 1.10153 -+ *[0-9a-f]*:	02 ab       	st\.w r1\+\+,r11
 1.10154 -+ *[0-9a-f]*:	1a a0       	st\.w sp\+\+,r0
 1.10155 -+ *[0-9a-f]*:	1a a1       	st\.w sp\+\+,r1
 1.10156 -+
 1.10157 -+[0-9a-f]* <st_h1>:
 1.10158 -+ *[0-9a-f]*:	1e bf       	st\.h pc\+\+,pc
 1.10159 -+ *[0-9a-f]*:	18 bc       	st\.h r12\+\+,r12
 1.10160 -+ *[0-9a-f]*:	0a b5       	st\.h r5\+\+,r5
 1.10161 -+ *[0-9a-f]*:	08 b4       	st\.h r4\+\+,r4
 1.10162 -+ *[0-9a-f]*:	1c be       	st\.h lr\+\+,lr
 1.10163 -+ *[0-9a-f]*:	18 bd       	st\.h r12\+\+,sp
 1.10164 -+ *[0-9a-f]*:	0e be       	st\.h r7\+\+,lr
 1.10165 -+ *[0-9a-f]*:	0e b4       	st\.h r7\+\+,r4
 1.10166 -+
 1.10167 -+[0-9a-f]* <st_b1>:
 1.10168 -+ *[0-9a-f]*:	1e cf       	st\.b pc\+\+,pc
 1.10169 -+ *[0-9a-f]*:	18 cc       	st\.b r12\+\+,r12
 1.10170 -+ *[0-9a-f]*:	0a c5       	st\.b r5\+\+,r5
 1.10171 -+ *[0-9a-f]*:	08 c4       	st\.b r4\+\+,r4
 1.10172 -+ *[0-9a-f]*:	1c ce       	st\.b lr\+\+,lr
 1.10173 -+ *[0-9a-f]*:	12 cd       	st\.b r9\+\+,sp
 1.10174 -+ *[0-9a-f]*:	02 cd       	st\.b r1\+\+,sp
 1.10175 -+ *[0-9a-f]*:	00 c4       	st\.b r0\+\+,r4
 1.10176 -+
 1.10177 -+[0-9a-f]* <st_w2>:
 1.10178 -+ *[0-9a-f]*:	1e df       	st\.w --pc,pc
 1.10179 -+ *[0-9a-f]*:	18 dc       	st\.w --r12,r12
 1.10180 -+ *[0-9a-f]*:	0a d5       	st\.w --r5,r5
 1.10181 -+ *[0-9a-f]*:	08 d4       	st\.w --r4,r4
 1.10182 -+ *[0-9a-f]*:	1c de       	st\.w --lr,lr
 1.10183 -+ *[0-9a-f]*:	02 d7       	st\.w --r1,r7
 1.10184 -+ *[0-9a-f]*:	06 d9       	st\.w --r3,r9
 1.10185 -+ *[0-9a-f]*:	0a d5       	st\.w --r5,r5
 1.10186 -+
 1.10187 -+[0-9a-f]* <st_h2>:
 1.10188 -+ *[0-9a-f]*:	1e ef       	st\.h --pc,pc
 1.10189 -+ *[0-9a-f]*:	18 ec       	st\.h --r12,r12
 1.10190 -+ *[0-9a-f]*:	0a e5       	st\.h --r5,r5
 1.10191 -+ *[0-9a-f]*:	08 e4       	st\.h --r4,r4
 1.10192 -+ *[0-9a-f]*:	1c ee       	st\.h --lr,lr
 1.10193 -+ *[0-9a-f]*:	0a e7       	st\.h --r5,r7
 1.10194 -+ *[0-9a-f]*:	10 e8       	st\.h --r8,r8
 1.10195 -+ *[0-9a-f]*:	0e e2       	st\.h --r7,r2
 1.10196 -+
 1.10197 -+[0-9a-f]* <st_b2>:
 1.10198 -+ *[0-9a-f]*:	1e ff       	st\.b --pc,pc
 1.10199 -+ *[0-9a-f]*:	18 fc       	st\.b --r12,r12
 1.10200 -+ *[0-9a-f]*:	0a f5       	st\.b --r5,r5
 1.10201 -+ *[0-9a-f]*:	08 f4       	st\.b --r4,r4
 1.10202 -+ *[0-9a-f]*:	1c fe       	st\.b --lr,lr
 1.10203 -+ *[0-9a-f]*:	1a fd       	st\.b --sp,sp
 1.10204 -+ *[0-9a-f]*:	1a fb       	st\.b --sp,r11
 1.10205 -+ *[0-9a-f]*:	08 f5       	st\.b --r4,r5
 1.10206 -+
 1.10207 -+[0-9a-f]* <ld_w1>:
 1.10208 -+ *[0-9a-f]*:	1f 0f       	ld\.w pc,pc\+\+
 1.10209 -+ *[0-9a-f]*:	19 0c       	ld\.w r12,r12\+\+
 1.10210 -+ *[0-9a-f]*:	0b 05       	ld\.w r5,r5\+\+
 1.10211 -+ *[0-9a-f]*:	09 04       	ld\.w r4,r4\+\+
 1.10212 -+ *[0-9a-f]*:	1d 0e       	ld\.w lr,lr\+\+
 1.10213 -+ *[0-9a-f]*:	0f 03       	ld\.w r3,r7\+\+
 1.10214 -+ *[0-9a-f]*:	1d 03       	ld\.w r3,lr\+\+
 1.10215 -+ *[0-9a-f]*:	0b 0c       	ld\.w r12,r5\+\+
 1.10216 -+
 1.10217 -+[0-9a-f]* <ld_sh1>:
 1.10218 -+ *[0-9a-f]*:	1f 1f       	ld\.sh pc,pc\+\+
 1.10219 -+ *[0-9a-f]*:	19 1c       	ld\.sh r12,r12\+\+
 1.10220 -+ *[0-9a-f]*:	0b 15       	ld\.sh r5,r5\+\+
 1.10221 -+ *[0-9a-f]*:	09 14       	ld\.sh r4,r4\+\+
 1.10222 -+ *[0-9a-f]*:	1d 1e       	ld\.sh lr,lr\+\+
 1.10223 -+ *[0-9a-f]*:	05 1b       	ld\.sh r11,r2\+\+
 1.10224 -+ *[0-9a-f]*:	11 12       	ld\.sh r2,r8\+\+
 1.10225 -+ *[0-9a-f]*:	0d 17       	ld\.sh r7,r6\+\+
 1.10226 -+
 1.10227 -+[0-9a-f]* <ld_uh1>:
 1.10228 -+ *[0-9a-f]*:	1f 2f       	ld\.uh pc,pc\+\+
 1.10229 -+ *[0-9a-f]*:	19 2c       	ld\.uh r12,r12\+\+
 1.10230 -+ *[0-9a-f]*:	0b 25       	ld\.uh r5,r5\+\+
 1.10231 -+ *[0-9a-f]*:	09 24       	ld\.uh r4,r4\+\+
 1.10232 -+ *[0-9a-f]*:	1d 2e       	ld\.uh lr,lr\+\+
 1.10233 -+ *[0-9a-f]*:	0f 26       	ld\.uh r6,r7\+\+
 1.10234 -+ *[0-9a-f]*:	17 2a       	ld\.uh r10,r11\+\+
 1.10235 -+ *[0-9a-f]*:	09 2e       	ld\.uh lr,r4\+\+
 1.10236 -+
 1.10237 -+[0-9a-f]* <ld_ub1>:
 1.10238 -+ *[0-9a-f]*:	1f 3f       	ld\.ub pc,pc\+\+
 1.10239 -+ *[0-9a-f]*:	19 3c       	ld\.ub r12,r12\+\+
 1.10240 -+ *[0-9a-f]*:	0b 35       	ld\.ub r5,r5\+\+
 1.10241 -+ *[0-9a-f]*:	09 34       	ld\.ub r4,r4\+\+
 1.10242 -+ *[0-9a-f]*:	1d 3e       	ld\.ub lr,lr\+\+
 1.10243 -+ *[0-9a-f]*:	1d 38       	ld\.ub r8,lr\+\+
 1.10244 -+ *[0-9a-f]*:	19 3c       	ld\.ub r12,r12\+\+
 1.10245 -+ *[0-9a-f]*:	15 3b       	ld\.ub r11,r10\+\+
 1.10246 -+
 1.10247 -+[0-9a-f]* <ld_w2>:
 1.10248 -+ *[0-9a-f]*:	1f 4f       	ld\.w pc,--pc
 1.10249 -+ *[0-9a-f]*:	19 4c       	ld\.w r12,--r12
 1.10250 -+ *[0-9a-f]*:	0b 45       	ld\.w r5,--r5
 1.10251 -+ *[0-9a-f]*:	09 44       	ld\.w r4,--r4
 1.10252 -+ *[0-9a-f]*:	1d 4e       	ld\.w lr,--lr
 1.10253 -+ *[0-9a-f]*:	1d 4a       	ld\.w r10,--lr
 1.10254 -+ *[0-9a-f]*:	13 4c       	ld\.w r12,--r9
 1.10255 -+ *[0-9a-f]*:	0b 46       	ld\.w r6,--r5
 1.10256 -+
 1.10257 -+[0-9a-f]* <ld_sh2>:
 1.10258 -+ *[0-9a-f]*:	1f 5f       	ld\.sh pc,--pc
 1.10259 -+ *[0-9a-f]*:	19 5c       	ld\.sh r12,--r12
 1.10260 -+ *[0-9a-f]*:	0b 55       	ld\.sh r5,--r5
 1.10261 -+ *[0-9a-f]*:	09 54       	ld\.sh r4,--r4
 1.10262 -+ *[0-9a-f]*:	1d 5e       	ld\.sh lr,--lr
 1.10263 -+ *[0-9a-f]*:	15 5f       	ld\.sh pc,--r10
 1.10264 -+ *[0-9a-f]*:	07 56       	ld\.sh r6,--r3
 1.10265 -+ *[0-9a-f]*:	0d 54       	ld\.sh r4,--r6
 1.10266 -+
 1.10267 -+[0-9a-f]* <ld_uh2>:
 1.10268 -+ *[0-9a-f]*:	1f 6f       	ld\.uh pc,--pc
 1.10269 -+ *[0-9a-f]*:	19 6c       	ld\.uh r12,--r12
 1.10270 -+ *[0-9a-f]*:	0b 65       	ld\.uh r5,--r5
 1.10271 -+ *[0-9a-f]*:	09 64       	ld\.uh r4,--r4
 1.10272 -+ *[0-9a-f]*:	1d 6e       	ld\.uh lr,--lr
 1.10273 -+ *[0-9a-f]*:	05 63       	ld\.uh r3,--r2
 1.10274 -+ *[0-9a-f]*:	01 61       	ld\.uh r1,--r0
 1.10275 -+ *[0-9a-f]*:	13 62       	ld\.uh r2,--r9
 1.10276 -+
 1.10277 -+[0-9a-f]* <ld_ub2>:
 1.10278 -+ *[0-9a-f]*:	1f 7f       	ld\.ub pc,--pc
 1.10279 -+ *[0-9a-f]*:	19 7c       	ld\.ub r12,--r12
 1.10280 -+ *[0-9a-f]*:	0b 75       	ld\.ub r5,--r5
 1.10281 -+ *[0-9a-f]*:	09 74       	ld\.ub r4,--r4
 1.10282 -+ *[0-9a-f]*:	1d 7e       	ld\.ub lr,--lr
 1.10283 -+ *[0-9a-f]*:	03 71       	ld\.ub r1,--r1
 1.10284 -+ *[0-9a-f]*:	0d 70       	ld\.ub r0,--r6
 1.10285 -+ *[0-9a-f]*:	0f 72       	ld\.ub r2,--r7
 1.10286 -+
 1.10287 -+[0-9a-f]* <ld_ub3>:
 1.10288 -+ *[0-9a-f]*:	1f 8f       	ld\.ub pc,pc\[0x0\]
 1.10289 -+ *[0-9a-f]*:	19 fc       	ld\.ub r12,r12\[0x7\]
 1.10290 -+ *[0-9a-f]*:	0b c5       	ld\.ub r5,r5\[0x4\]
 1.10291 -+ *[0-9a-f]*:	09 b4       	ld\.ub r4,r4\[0x3\]
 1.10292 -+ *[0-9a-f]*:	1d 9e       	ld\.ub lr,lr\[0x1\]
 1.10293 -+ *[0-9a-f]*:	13 e6       	ld\.ub r6,r9\[0x6\]
 1.10294 -+ *[0-9a-f]*:	1d c2       	ld\.ub r2,lr\[0x4\]
 1.10295 -+ *[0-9a-f]*:	11 81       	ld\.ub r1,r8\[0x0\]
 1.10296 -+
 1.10297 -+[0-9a-f]* <sub3_sp>:
 1.10298 -+ *[0-9a-f]*:	20 0d       	sub sp,0
 1.10299 -+ *[0-9a-f]*:	2f fd       	sub sp,-4
 1.10300 -+ *[0-9a-f]*:	28 0d       	sub sp,-512
 1.10301 -+ *[0-9a-f]*:	27 fd       	sub sp,508
 1.10302 -+ *[0-9a-f]*:	20 1d       	sub sp,4
 1.10303 -+ *[0-9a-f]*:	20 bd       	sub sp,44
 1.10304 -+ *[0-9a-f]*:	20 2d       	sub sp,8
 1.10305 -+ *[0-9a-f]*:	25 7d       	sub sp,348
 1.10306 -+
 1.10307 -+[0-9a-f]* <sub3>:
 1.10308 -+ *[0-9a-f]*:	20 0f       	sub pc,0
 1.10309 -+ *[0-9a-f]*:	2f fc       	sub r12,-1
 1.10310 -+ *[0-9a-f]*:	28 05       	sub r5,-128
 1.10311 -+ *[0-9a-f]*:	27 f4       	sub r4,127
 1.10312 -+ *[0-9a-f]*:	20 1e       	sub lr,1
 1.10313 -+ *[0-9a-f]*:	2d 76       	sub r6,-41
 1.10314 -+ *[0-9a-f]*:	22 54       	sub r4,37
 1.10315 -+ *[0-9a-f]*:	23 8c       	sub r12,56
 1.10316 -+
 1.10317 -+[0-9a-f]* <mov1>:
 1.10318 -+ *[0-9a-f]*:	30 0f       	mov pc,0
 1.10319 -+ *[0-9a-f]*:	3f fc       	mov r12,-1
 1.10320 -+ *[0-9a-f]*:	38 05       	mov r5,-128
 1.10321 -+ *[0-9a-f]*:	37 f4       	mov r4,127
 1.10322 -+ *[0-9a-f]*:	30 1e       	mov lr,1
 1.10323 -+ *[0-9a-f]*:	30 ef       	mov pc,14
 1.10324 -+ *[0-9a-f]*:	39 c6       	mov r6,-100
 1.10325 -+ *[0-9a-f]*:	38 6e       	mov lr,-122
 1.10326 -+
 1.10327 -+[0-9a-f]* <lddsp>:
 1.10328 -+ *[0-9a-f]*:	40 0f       	lddsp pc,sp\[0x0\]
 1.10329 -+ *[0-9a-f]*:	47 fc       	lddsp r12,sp\[0x1fc\]
 1.10330 -+ *[0-9a-f]*:	44 05       	lddsp r5,sp\[0x100\]
 1.10331 -+ *[0-9a-f]*:	43 f4       	lddsp r4,sp\[0xfc\]
 1.10332 -+ *[0-9a-f]*:	40 1e       	lddsp lr,sp\[0x4\]
 1.10333 -+ *[0-9a-f]*:	44 0e       	lddsp lr,sp\[0x100\]
 1.10334 -+ *[0-9a-f]*:	40 5c       	lddsp r12,sp\[0x14\]
 1.10335 -+ *[0-9a-f]*:	47 69       	lddsp r9,sp\[0x1d8\]
 1.10336 -+
 1.10337 -+[0-9a-f]* <lddpc>:
 1.10338 -+ *[0-9a-f]*:	48 0f       	lddpc pc,[0-9a-f]* <.*>
 1.10339 -+ *[0-9a-f]*:	4f f0       	lddpc r0,[0-9a-f]* <.*>
 1.10340 -+ *[0-9a-f]*:	4c 08       	lddpc r8,[0-9a-f]* <.*>
 1.10341 -+ *[0-9a-f]*:	4b f7       	lddpc r7,[0-9a-f]* <.*>
 1.10342 -+ *[0-9a-f]*:	48 1e       	lddpc lr,[0-9a-f]* <.*>
 1.10343 -+ *[0-9a-f]*:	4f 6d       	lddpc sp,[0-9a-f]* <.*>
 1.10344 -+ *[0-9a-f]*:	49 e6       	lddpc r6,[0-9a-f]* <.*>
 1.10345 -+ *[0-9a-f]*:	48 7b       	lddpc r11,[0-9a-f]* <.*>
 1.10346 -+
 1.10347 -+[0-9a-f]* <stdsp>:
 1.10348 -+ *[0-9a-f]*:	50 0f       	stdsp sp\[0x0\],pc
 1.10349 -+ *[0-9a-f]*:	57 fc       	stdsp sp\[0x1fc\],r12
 1.10350 -+ *[0-9a-f]*:	54 05       	stdsp sp\[0x100\],r5
 1.10351 -+ *[0-9a-f]*:	53 f4       	stdsp sp\[0xfc\],r4
 1.10352 -+ *[0-9a-f]*:	50 1e       	stdsp sp\[0x4\],lr
 1.10353 -+ *[0-9a-f]*:	54 cf       	stdsp sp\[0x130\],pc
 1.10354 -+ *[0-9a-f]*:	54 00       	stdsp sp\[0x100\],r0
 1.10355 -+ *[0-9a-f]*:	55 45       	stdsp sp\[0x150\],r5
 1.10356 -+
 1.10357 -+[0-9a-f]* <cp2>:
 1.10358 -+ *[0-9a-f]*:	58 0f       	cp.w pc,0
 1.10359 -+ *[0-9a-f]*:	5b fc       	cp.w r12,-1
 1.10360 -+ *[0-9a-f]*:	5a 05       	cp.w r5,-32
 1.10361 -+ *[0-9a-f]*:	59 f4       	cp.w r4,31
 1.10362 -+ *[0-9a-f]*:	58 1e       	cp.w lr,1
 1.10363 -+ *[0-9a-f]*:	58 38       	cp.w r8,3
 1.10364 -+ *[0-9a-f]*:	59 0e       	cp.w lr,16
 1.10365 -+ *[0-9a-f]*:	5a 67       	cp.w r7,-26
 1.10366 -+
 1.10367 -+[0-9a-f]* <acr>:
 1.10368 -+ *[0-9a-f]*:	5c 0f       	acr pc
 1.10369 -+ *[0-9a-f]*:	5c 0c       	acr r12
 1.10370 -+ *[0-9a-f]*:	5c 05       	acr r5
 1.10371 -+ *[0-9a-f]*:	5c 04       	acr r4
 1.10372 -+ *[0-9a-f]*:	5c 0e       	acr lr
 1.10373 -+ *[0-9a-f]*:	5c 02       	acr r2
 1.10374 -+ *[0-9a-f]*:	5c 0c       	acr r12
 1.10375 -+ *[0-9a-f]*:	5c 0f       	acr pc
 1.10376 -+
 1.10377 -+[0-9a-f]* <scr>:
 1.10378 -+ *[0-9a-f]*:	5c 1f       	scr pc
 1.10379 -+ *[0-9a-f]*:	5c 1c       	scr r12
 1.10380 -+ *[0-9a-f]*:	5c 15       	scr r5
 1.10381 -+ *[0-9a-f]*:	5c 14       	scr r4
 1.10382 -+ *[0-9a-f]*:	5c 1e       	scr lr
 1.10383 -+ *[0-9a-f]*:	5c 1f       	scr pc
 1.10384 -+ *[0-9a-f]*:	5c 16       	scr r6
 1.10385 -+ *[0-9a-f]*:	5c 11       	scr r1
 1.10386 -+
 1.10387 -+[0-9a-f]* <cpc0>:
 1.10388 -+ *[0-9a-f]*:	5c 2f       	cpc pc
 1.10389 -+ *[0-9a-f]*:	5c 2c       	cpc r12
 1.10390 -+ *[0-9a-f]*:	5c 25       	cpc r5
 1.10391 -+ *[0-9a-f]*:	5c 24       	cpc r4
 1.10392 -+ *[0-9a-f]*:	5c 2e       	cpc lr
 1.10393 -+ *[0-9a-f]*:	5c 2f       	cpc pc
 1.10394 -+ *[0-9a-f]*:	5c 24       	cpc r4
 1.10395 -+ *[0-9a-f]*:	5c 29       	cpc r9
 1.10396 -+
 1.10397 -+[0-9a-f]* <neg>:
 1.10398 -+ *[0-9a-f]*:	5c 3f       	neg pc
 1.10399 -+ *[0-9a-f]*:	5c 3c       	neg r12
 1.10400 -+ *[0-9a-f]*:	5c 35       	neg r5
 1.10401 -+ *[0-9a-f]*:	5c 34       	neg r4
 1.10402 -+ *[0-9a-f]*:	5c 3e       	neg lr
 1.10403 -+ *[0-9a-f]*:	5c 37       	neg r7
 1.10404 -+ *[0-9a-f]*:	5c 31       	neg r1
 1.10405 -+ *[0-9a-f]*:	5c 39       	neg r9
 1.10406 -+
 1.10407 -+[0-9a-f]* <abs>:
 1.10408 -+ *[0-9a-f]*:	5c 4f       	abs pc
 1.10409 -+ *[0-9a-f]*:	5c 4c       	abs r12
 1.10410 -+ *[0-9a-f]*:	5c 45       	abs r5
 1.10411 -+ *[0-9a-f]*:	5c 44       	abs r4
 1.10412 -+ *[0-9a-f]*:	5c 4e       	abs lr
 1.10413 -+ *[0-9a-f]*:	5c 46       	abs r6
 1.10414 -+ *[0-9a-f]*:	5c 46       	abs r6
 1.10415 -+ *[0-9a-f]*:	5c 44       	abs r4
 1.10416 -+
 1.10417 -+[0-9a-f]* <castu_b>:
 1.10418 -+ *[0-9a-f]*:	5c 5f       	castu\.b pc
 1.10419 -+ *[0-9a-f]*:	5c 5c       	castu\.b r12
 1.10420 -+ *[0-9a-f]*:	5c 55       	castu\.b r5
 1.10421 -+ *[0-9a-f]*:	5c 54       	castu\.b r4
 1.10422 -+ *[0-9a-f]*:	5c 5e       	castu\.b lr
 1.10423 -+ *[0-9a-f]*:	5c 57       	castu\.b r7
 1.10424 -+ *[0-9a-f]*:	5c 5d       	castu\.b sp
 1.10425 -+ *[0-9a-f]*:	5c 59       	castu\.b r9
 1.10426 -+
 1.10427 -+[0-9a-f]* <casts_b>:
 1.10428 -+ *[0-9a-f]*:	5c 6f       	casts\.b pc
 1.10429 -+ *[0-9a-f]*:	5c 6c       	casts\.b r12
 1.10430 -+ *[0-9a-f]*:	5c 65       	casts\.b r5
 1.10431 -+ *[0-9a-f]*:	5c 64       	casts\.b r4
 1.10432 -+ *[0-9a-f]*:	5c 6e       	casts\.b lr
 1.10433 -+ *[0-9a-f]*:	5c 6b       	casts\.b r11
 1.10434 -+ *[0-9a-f]*:	5c 61       	casts\.b r1
 1.10435 -+ *[0-9a-f]*:	5c 6a       	casts\.b r10
 1.10436 -+
 1.10437 -+[0-9a-f]* <castu_h>:
 1.10438 -+ *[0-9a-f]*:	5c 7f       	castu\.h pc
 1.10439 -+ *[0-9a-f]*:	5c 7c       	castu\.h r12
 1.10440 -+ *[0-9a-f]*:	5c 75       	castu\.h r5
 1.10441 -+ *[0-9a-f]*:	5c 74       	castu\.h r4
 1.10442 -+ *[0-9a-f]*:	5c 7e       	castu\.h lr
 1.10443 -+ *[0-9a-f]*:	5c 7a       	castu\.h r10
 1.10444 -+ *[0-9a-f]*:	5c 7b       	castu\.h r11
 1.10445 -+ *[0-9a-f]*:	5c 71       	castu\.h r1
 1.10446 -+
 1.10447 -+[0-9a-f]* <casts_h>:
 1.10448 -+ *[0-9a-f]*:	5c 8f       	casts\.h pc
 1.10449 -+ *[0-9a-f]*:	5c 8c       	casts\.h r12
 1.10450 -+ *[0-9a-f]*:	5c 85       	casts\.h r5
 1.10451 -+ *[0-9a-f]*:	5c 84       	casts\.h r4
 1.10452 -+ *[0-9a-f]*:	5c 8e       	casts\.h lr
 1.10453 -+ *[0-9a-f]*:	5c 80       	casts\.h r0
 1.10454 -+ *[0-9a-f]*:	5c 85       	casts\.h r5
 1.10455 -+ *[0-9a-f]*:	5c 89       	casts\.h r9
 1.10456 -+
 1.10457 -+[0-9a-f]* <brev>:
 1.10458 -+ *[0-9a-f]*:	5c 9f       	brev pc
 1.10459 -+ *[0-9a-f]*:	5c 9c       	brev r12
 1.10460 -+ *[0-9a-f]*:	5c 95       	brev r5
 1.10461 -+ *[0-9a-f]*:	5c 94       	brev r4
 1.10462 -+ *[0-9a-f]*:	5c 9e       	brev lr
 1.10463 -+ *[0-9a-f]*:	5c 95       	brev r5
 1.10464 -+ *[0-9a-f]*:	5c 9a       	brev r10
 1.10465 -+ *[0-9a-f]*:	5c 98       	brev r8
 1.10466 -+
 1.10467 -+[0-9a-f]* <swap_h>:
 1.10468 -+ *[0-9a-f]*:	5c af       	swap\.h pc
 1.10469 -+ *[0-9a-f]*:	5c ac       	swap\.h r12
 1.10470 -+ *[0-9a-f]*:	5c a5       	swap\.h r5
 1.10471 -+ *[0-9a-f]*:	5c a4       	swap\.h r4
 1.10472 -+ *[0-9a-f]*:	5c ae       	swap\.h lr
 1.10473 -+ *[0-9a-f]*:	5c a7       	swap\.h r7
 1.10474 -+ *[0-9a-f]*:	5c a0       	swap\.h r0
 1.10475 -+ *[0-9a-f]*:	5c a8       	swap\.h r8
 1.10476 -+
 1.10477 -+[0-9a-f]* <swap_b>:
 1.10478 -+ *[0-9a-f]*:	5c bf       	swap\.b pc
 1.10479 -+ *[0-9a-f]*:	5c bc       	swap\.b r12
 1.10480 -+ *[0-9a-f]*:	5c b5       	swap\.b r5
 1.10481 -+ *[0-9a-f]*:	5c b4       	swap\.b r4
 1.10482 -+ *[0-9a-f]*:	5c be       	swap\.b lr
 1.10483 -+ *[0-9a-f]*:	5c ba       	swap\.b r10
 1.10484 -+ *[0-9a-f]*:	5c bc       	swap\.b r12
 1.10485 -+ *[0-9a-f]*:	5c b1       	swap\.b r1
 1.10486 -+
 1.10487 -+[0-9a-f]* <swap_bh>:
 1.10488 -+ *[0-9a-f]*:	5c cf       	swap\.bh pc
 1.10489 -+ *[0-9a-f]*:	5c cc       	swap\.bh r12
 1.10490 -+ *[0-9a-f]*:	5c c5       	swap\.bh r5
 1.10491 -+ *[0-9a-f]*:	5c c4       	swap\.bh r4
 1.10492 -+ *[0-9a-f]*:	5c ce       	swap\.bh lr
 1.10493 -+ *[0-9a-f]*:	5c c9       	swap\.bh r9
 1.10494 -+ *[0-9a-f]*:	5c c4       	swap\.bh r4
 1.10495 -+ *[0-9a-f]*:	5c c1       	swap\.bh r1
 1.10496 -+
 1.10497 -+[0-9a-f]* <One_s_compliment>:
 1.10498 -+ *[0-9a-f]*:	5c df       	com pc
 1.10499 -+ *[0-9a-f]*:	5c dc       	com r12
 1.10500 -+ *[0-9a-f]*:	5c d5       	com r5
 1.10501 -+ *[0-9a-f]*:	5c d4       	com r4
 1.10502 -+ *[0-9a-f]*:	5c de       	com lr
 1.10503 -+ *[0-9a-f]*:	5c d2       	com r2
 1.10504 -+ *[0-9a-f]*:	5c d2       	com r2
 1.10505 -+ *[0-9a-f]*:	5c d7       	com r7
 1.10506 -+
 1.10507 -+[0-9a-f]* <tnbz>:
 1.10508 -+ *[0-9a-f]*:	5c ef       	tnbz pc
 1.10509 -+ *[0-9a-f]*:	5c ec       	tnbz r12
 1.10510 -+ *[0-9a-f]*:	5c e5       	tnbz r5
 1.10511 -+ *[0-9a-f]*:	5c e4       	tnbz r4
 1.10512 -+ *[0-9a-f]*:	5c ee       	tnbz lr
 1.10513 -+ *[0-9a-f]*:	5c e8       	tnbz r8
 1.10514 -+ *[0-9a-f]*:	5c ec       	tnbz r12
 1.10515 -+ *[0-9a-f]*:	5c ef       	tnbz pc
 1.10516 -+
 1.10517 -+[0-9a-f]* <rol>:
 1.10518 -+ *[0-9a-f]*:	5c ff       	rol pc
 1.10519 -+ *[0-9a-f]*:	5c fc       	rol r12
 1.10520 -+ *[0-9a-f]*:	5c f5       	rol r5
 1.10521 -+ *[0-9a-f]*:	5c f4       	rol r4
 1.10522 -+ *[0-9a-f]*:	5c fe       	rol lr
 1.10523 -+ *[0-9a-f]*:	5c fa       	rol r10
 1.10524 -+ *[0-9a-f]*:	5c f9       	rol r9
 1.10525 -+ *[0-9a-f]*:	5c f5       	rol r5
 1.10526 -+
 1.10527 -+[0-9a-f]* <ror>:
 1.10528 -+ *[0-9a-f]*:	5d 0f       	ror pc
 1.10529 -+ *[0-9a-f]*:	5d 0c       	ror r12
 1.10530 -+ *[0-9a-f]*:	5d 05       	ror r5
 1.10531 -+ *[0-9a-f]*:	5d 04       	ror r4
 1.10532 -+ *[0-9a-f]*:	5d 0e       	ror lr
 1.10533 -+ *[0-9a-f]*:	5d 08       	ror r8
 1.10534 -+ *[0-9a-f]*:	5d 04       	ror r4
 1.10535 -+ *[0-9a-f]*:	5d 07       	ror r7
 1.10536 -+
 1.10537 -+[0-9a-f]* <icall>:
 1.10538 -+ *[0-9a-f]*:	5d 1f       	icall pc
 1.10539 -+ *[0-9a-f]*:	5d 1c       	icall r12
 1.10540 -+ *[0-9a-f]*:	5d 15       	icall r5
 1.10541 -+ *[0-9a-f]*:	5d 14       	icall r4
 1.10542 -+ *[0-9a-f]*:	5d 1e       	icall lr
 1.10543 -+ *[0-9a-f]*:	5d 13       	icall r3
 1.10544 -+ *[0-9a-f]*:	5d 11       	icall r1
 1.10545 -+ *[0-9a-f]*:	5d 13       	icall r3
 1.10546 -+
 1.10547 -+[0-9a-f]* <mustr>:
 1.10548 -+ *[0-9a-f]*:	5d 2f       	mustr pc
 1.10549 -+ *[0-9a-f]*:	5d 2c       	mustr r12
 1.10550 -+ *[0-9a-f]*:	5d 25       	mustr r5
 1.10551 -+ *[0-9a-f]*:	5d 24       	mustr r4
 1.10552 -+ *[0-9a-f]*:	5d 2e       	mustr lr
 1.10553 -+ *[0-9a-f]*:	5d 21       	mustr r1
 1.10554 -+ *[0-9a-f]*:	5d 24       	mustr r4
 1.10555 -+ *[0-9a-f]*:	5d 2c       	mustr r12
 1.10556 -+
 1.10557 -+[0-9a-f]* <musfr>:
 1.10558 -+ *[0-9a-f]*:	5d 3f       	musfr pc
 1.10559 -+ *[0-9a-f]*:	5d 3c       	musfr r12
 1.10560 -+ *[0-9a-f]*:	5d 35       	musfr r5
 1.10561 -+ *[0-9a-f]*:	5d 34       	musfr r4
 1.10562 -+ *[0-9a-f]*:	5d 3e       	musfr lr
 1.10563 -+ *[0-9a-f]*:	5d 3b       	musfr r11
 1.10564 -+ *[0-9a-f]*:	5d 3c       	musfr r12
 1.10565 -+ *[0-9a-f]*:	5d 32       	musfr r2
 1.10566 -+
 1.10567 -+[0-9a-f]* <ret_cond>:
 1.10568 -+ *[0-9a-f]*:	5e 0f       	reteq 1
 1.10569 -+ *[0-9a-f]*:	5e fc       	retal r12
 1.10570 -+ *[0-9a-f]*:	5e 85       	retls r5
 1.10571 -+ *[0-9a-f]*:	5e 74       	retpl r4
 1.10572 -+ *[0-9a-f]*:	5e 1e       	retne -1
 1.10573 -+ *[0-9a-f]*:	5e 90       	retgt r0
 1.10574 -+ *[0-9a-f]*:	5e 9c       	retgt r12
 1.10575 -+ *[0-9a-f]*:	5e 4a       	retge r10
 1.10576 -+
 1.10577 -+[0-9a-f]* <sr_cond>:
 1.10578 -+ *[0-9a-f]*:	5f 0f       	sreq pc
 1.10579 -+ *[0-9a-f]*:	5f fc       	sral r12
 1.10580 -+ *[0-9a-f]*:	5f 85       	srls r5
 1.10581 -+ *[0-9a-f]*:	5f 74       	srpl r4
 1.10582 -+ *[0-9a-f]*:	5f 1e       	srne lr
 1.10583 -+ *[0-9a-f]*:	5f 50       	srlt r0
 1.10584 -+ *[0-9a-f]*:	5f fd       	sral sp
 1.10585 -+ *[0-9a-f]*:	5f 49       	srge r9
 1.10586 -+
 1.10587 -+[0-9a-f]* <ld_w3>:
 1.10588 -+ *[0-9a-f]*:	7e 0f       	ld\.w pc,pc\[0x0\]
 1.10589 -+ *[0-9a-f]*:	79 fc       	ld\.w r12,r12\[0x7c\]
 1.10590 -+ *[0-9a-f]*:	6b 05       	ld\.w r5,r5\[0x40\]
 1.10591 -+ *[0-9a-f]*:	68 f4       	ld\.w r4,r4\[0x3c\]
 1.10592 -+ *[0-9a-f]*:	7c 1e       	ld\.w lr,lr\[0x4\]
 1.10593 -+ *[0-9a-f]*:	64 dd       	ld\.w sp,r2\[0x34\]
 1.10594 -+ *[0-9a-f]*:	62 29       	ld\.w r9,r1\[0x8\]
 1.10595 -+ *[0-9a-f]*:	7a f5       	ld\.w r5,sp\[0x3c\]
 1.10596 -+
 1.10597 -+[0-9a-f]* <ld_sh3>:
 1.10598 -+ *[0-9a-f]*:	9e 0f       	ld\.sh pc,pc\[0x0\]
 1.10599 -+ *[0-9a-f]*:	98 7c       	ld\.sh r12,r12\[0xe\]
 1.10600 -+ *[0-9a-f]*:	8a 45       	ld\.sh r5,r5\[0x8\]
 1.10601 -+ *[0-9a-f]*:	88 34       	ld\.sh r4,r4\[0x6\]
 1.10602 -+ *[0-9a-f]*:	9c 1e       	ld\.sh lr,lr\[0x2\]
 1.10603 -+ *[0-9a-f]*:	84 44       	ld\.sh r4,r2\[0x8\]
 1.10604 -+ *[0-9a-f]*:	9c 5d       	ld\.sh sp,lr\[0xa\]
 1.10605 -+ *[0-9a-f]*:	96 12       	ld\.sh r2,r11\[0x2\]
 1.10606 -+
 1.10607 -+[0-9a-f]* <ld_uh3>:
 1.10608 -+ *[0-9a-f]*:	9e 8f       	ld\.uh pc,pc\[0x0\]
 1.10609 -+ *[0-9a-f]*:	98 fc       	ld\.uh r12,r12\[0xe\]
 1.10610 -+ *[0-9a-f]*:	8a c5       	ld\.uh r5,r5\[0x8\]
 1.10611 -+ *[0-9a-f]*:	88 b4       	ld\.uh r4,r4\[0x6\]
 1.10612 -+ *[0-9a-f]*:	9c 9e       	ld\.uh lr,lr\[0x2\]
 1.10613 -+ *[0-9a-f]*:	80 da       	ld\.uh r10,r0\[0xa\]
 1.10614 -+ *[0-9a-f]*:	96 c8       	ld\.uh r8,r11\[0x8\]
 1.10615 -+ *[0-9a-f]*:	84 ea       	ld\.uh r10,r2\[0xc\]
 1.10616 -+
 1.10617 -+[0-9a-f]* <st_w3>:
 1.10618 -+ *[0-9a-f]*:	9f 0f       	st\.w pc\[0x0\],pc
 1.10619 -+ *[0-9a-f]*:	99 fc       	st\.w r12\[0x3c\],r12
 1.10620 -+ *[0-9a-f]*:	8b 85       	st\.w r5\[0x20\],r5
 1.10621 -+ *[0-9a-f]*:	89 74       	st\.w r4\[0x1c\],r4
 1.10622 -+ *[0-9a-f]*:	9d 1e       	st\.w lr\[0x4\],lr
 1.10623 -+ *[0-9a-f]*:	8f bb       	st\.w r7\[0x2c\],r11
 1.10624 -+ *[0-9a-f]*:	85 66       	st\.w r2\[0x18\],r6
 1.10625 -+ *[0-9a-f]*:	89 39       	st\.w r4\[0xc\],r9
 1.10626 -+
 1.10627 -+[0-9a-f]* <st_h3>:
 1.10628 -+ *[0-9a-f]*:	be 0f       	st\.h pc\[0x0\],pc
 1.10629 -+ *[0-9a-f]*:	b8 7c       	st\.h r12\[0xe\],r12
 1.10630 -+ *[0-9a-f]*:	aa 45       	st\.h r5\[0x8\],r5
 1.10631 -+ *[0-9a-f]*:	a8 34       	st\.h r4\[0x6\],r4
 1.10632 -+ *[0-9a-f]*:	bc 1e       	st\.h lr\[0x2\],lr
 1.10633 -+ *[0-9a-f]*:	bc 5c       	st\.h lr\[0xa\],r12
 1.10634 -+ *[0-9a-f]*:	ac 20       	st\.h r6\[0x4\],r0
 1.10635 -+ *[0-9a-f]*:	aa 6d       	st\.h r5\[0xc\],sp
 1.10636 -+
 1.10637 -+[0-9a-f]* <st_b3>:
 1.10638 -+ *[0-9a-f]*:	be 8f       	st\.b pc\[0x0\],pc
 1.10639 -+ *[0-9a-f]*:	b8 fc       	st\.b r12\[0x7\],r12
 1.10640 -+ *[0-9a-f]*:	aa c5       	st\.b r5\[0x4\],r5
 1.10641 -+ *[0-9a-f]*:	a8 b4       	st\.b r4\[0x3\],r4
 1.10642 -+ *[0-9a-f]*:	bc 9e       	st\.b lr\[0x1\],lr
 1.10643 -+ *[0-9a-f]*:	b8 e9       	st\.b r12\[0x6\],r9
 1.10644 -+ *[0-9a-f]*:	a4 be       	st\.b r2\[0x3\],lr
 1.10645 -+ *[0-9a-f]*:	a2 bb       	st\.b r1\[0x3\],r11
 1.10646 -+
 1.10647 -+[0-9a-f]* <ldd>:
 1.10648 -+ *[0-9a-f]*:	bf 00       	ld\.d r0,pc
 1.10649 -+ *[0-9a-f]*:	b9 0e       	ld\.d lr,r12
 1.10650 -+ *[0-9a-f]*:	ab 08       	ld\.d r8,r5
 1.10651 -+ *[0-9a-f]*:	a9 06       	ld\.d r6,r4
 1.10652 -+ *[0-9a-f]*:	bd 02       	ld\.d r2,lr
 1.10653 -+ *[0-9a-f]*:	af 0e       	ld\.d lr,r7
 1.10654 -+ *[0-9a-f]*:	a9 04       	ld\.d r4,r4
 1.10655 -+ *[0-9a-f]*:	bf 0e       	ld\.d lr,pc
 1.10656 -+
 1.10657 -+[0-9a-f]* <ldd_postinc>:
 1.10658 -+ *[0-9a-f]*:	bf 01       	ld\.d r0,pc\+\+
 1.10659 -+ *[0-9a-f]*:	b9 0f       	ld\.d lr,r12\+\+
 1.10660 -+ *[0-9a-f]*:	ab 09       	ld\.d r8,r5\+\+
 1.10661 -+ *[0-9a-f]*:	a9 07       	ld\.d r6,r4\+\+
 1.10662 -+ *[0-9a-f]*:	bd 03       	ld\.d r2,lr\+\+
 1.10663 -+ *[0-9a-f]*:	ab 0f       	ld\.d lr,r5\+\+
 1.10664 -+ *[0-9a-f]*:	b7 0d       	ld\.d r12,r11\+\+
 1.10665 -+ *[0-9a-f]*:	b9 03       	ld\.d r2,r12\+\+
 1.10666 -+
 1.10667 -+[0-9a-f]* <ldd_predec>:
 1.10668 -+ *[0-9a-f]*:	bf 10       	ld\.d r0,--pc
 1.10669 -+ *[0-9a-f]*:	b9 1e       	ld\.d lr,--r12
 1.10670 -+ *[0-9a-f]*:	ab 18       	ld\.d r8,--r5
 1.10671 -+ *[0-9a-f]*:	a9 16       	ld\.d r6,--r4
 1.10672 -+ *[0-9a-f]*:	bd 12       	ld\.d r2,--lr
 1.10673 -+ *[0-9a-f]*:	a1 18       	ld\.d r8,--r0
 1.10674 -+ *[0-9a-f]*:	bf 1a       	ld\.d r10,--pc
 1.10675 -+ *[0-9a-f]*:	a9 12       	ld\.d r2,--r4
 1.10676 -+
 1.10677 -+[0-9a-f]* <std>:
 1.10678 -+ *[0-9a-f]*:	bf 11       	st\.d pc,r0
 1.10679 -+ *[0-9a-f]*:	b9 1f       	st\.d r12,lr
 1.10680 -+ *[0-9a-f]*:	ab 19       	st\.d r5,r8
 1.10681 -+ *[0-9a-f]*:	a9 17       	st\.d r4,r6
 1.10682 -+ *[0-9a-f]*:	bd 13       	st\.d lr,r2
 1.10683 -+ *[0-9a-f]*:	a1 1d       	st\.d r0,r12
 1.10684 -+ *[0-9a-f]*:	bb 15       	st\.d sp,r4
 1.10685 -+ *[0-9a-f]*:	b9 1d       	st\.d r12,r12
 1.10686 -+
 1.10687 -+[0-9a-f]* <std_postinc>:
 1.10688 -+ *[0-9a-f]*:	bf 20       	st\.d pc\+\+,r0
 1.10689 -+ *[0-9a-f]*:	b9 2e       	st\.d r12\+\+,lr
 1.10690 -+ *[0-9a-f]*:	ab 28       	st\.d r5\+\+,r8
 1.10691 -+ *[0-9a-f]*:	a9 26       	st\.d r4\+\+,r6
 1.10692 -+ *[0-9a-f]*:	bd 22       	st\.d lr\+\+,r2
 1.10693 -+ *[0-9a-f]*:	bb 26       	st\.d sp\+\+,r6
 1.10694 -+ *[0-9a-f]*:	b5 26       	st\.d r10\+\+,r6
 1.10695 -+ *[0-9a-f]*:	af 22       	st\.d r7\+\+,r2
 1.10696 -+
 1.10697 -+[0-9a-f]* <std_predec>:
 1.10698 -+ *[0-9a-f]*:	bf 21       	st\.d --pc,r0
 1.10699 -+ *[0-9a-f]*:	b9 2f       	st\.d --r12,lr
 1.10700 -+ *[0-9a-f]*:	ab 29       	st\.d --r5,r8
 1.10701 -+ *[0-9a-f]*:	a9 27       	st\.d --r4,r6
 1.10702 -+ *[0-9a-f]*:	bd 23       	st\.d --lr,r2
 1.10703 -+ *[0-9a-f]*:	a7 27       	st\.d --r3,r6
 1.10704 -+ *[0-9a-f]*:	bd 23       	st\.d --lr,r2
 1.10705 -+ *[0-9a-f]*:	a1 25       	st\.d --r0,r4
 1.10706 -+
 1.10707 -+[0-9a-f]* <mul>:
 1.10708 -+ *[0-9a-f]*:	bf 3f       	mul pc,pc
 1.10709 -+ *[0-9a-f]*:	b9 3c       	mul r12,r12
 1.10710 -+ *[0-9a-f]*:	ab 35       	mul r5,r5
 1.10711 -+ *[0-9a-f]*:	a9 34       	mul r4,r4
 1.10712 -+ *[0-9a-f]*:	bd 3e       	mul lr,lr
 1.10713 -+ *[0-9a-f]*:	bd 3a       	mul r10,lr
 1.10714 -+ *[0-9a-f]*:	b1 30       	mul r0,r8
 1.10715 -+ *[0-9a-f]*:	ab 38       	mul r8,r5
 1.10716 -+
 1.10717 -+[0-9a-f]* <asr_imm5>:
 1.10718 -+ *[0-9a-f]*:	a1 4f       	asr pc,0x0
 1.10719 -+ *[0-9a-f]*:	bf 5c       	asr r12,0x1f
 1.10720 -+ *[0-9a-f]*:	b1 45       	asr r5,0x10
 1.10721 -+ *[0-9a-f]*:	af 54       	asr r4,0xf
 1.10722 -+ *[0-9a-f]*:	a1 5e       	asr lr,0x1
 1.10723 -+ *[0-9a-f]*:	b7 56       	asr r6,0x17
 1.10724 -+ *[0-9a-f]*:	b3 46       	asr r6,0x12
 1.10725 -+ *[0-9a-f]*:	a9 45       	asr r5,0x8
 1.10726 -+
 1.10727 -+[0-9a-f]* <lsl_imm5>:
 1.10728 -+ *[0-9a-f]*:	a1 6f       	lsl pc,0x0
 1.10729 -+ *[0-9a-f]*:	bf 7c       	lsl r12,0x1f
 1.10730 -+ *[0-9a-f]*:	b1 65       	lsl r5,0x10
 1.10731 -+ *[0-9a-f]*:	af 74       	lsl r4,0xf
 1.10732 -+ *[0-9a-f]*:	a1 7e       	lsl lr,0x1
 1.10733 -+ *[0-9a-f]*:	ad 7c       	lsl r12,0xd
 1.10734 -+ *[0-9a-f]*:	b1 66       	lsl r6,0x10
 1.10735 -+ *[0-9a-f]*:	b9 71       	lsl r1,0x19
 1.10736 -+
 1.10737 -+[0-9a-f]* <lsr_imm5>:
 1.10738 -+ *[0-9a-f]*:	a1 8f       	lsr pc,0x0
 1.10739 -+ *[0-9a-f]*:	bf 9c       	lsr r12,0x1f
 1.10740 -+ *[0-9a-f]*:	b1 85       	lsr r5,0x10
 1.10741 -+ *[0-9a-f]*:	af 94       	lsr r4,0xf
 1.10742 -+ *[0-9a-f]*:	a1 9e       	lsr lr,0x1
 1.10743 -+ *[0-9a-f]*:	a1 90       	lsr r0,0x1
 1.10744 -+ *[0-9a-f]*:	ab 88       	lsr r8,0xa
 1.10745 -+ *[0-9a-f]*:	bb 87       	lsr r7,0x1a
 1.10746 -+
 1.10747 -+[0-9a-f]* <sbr>:
 1.10748 -+ *[0-9a-f]*:	a1 af       	sbr pc,0x0
 1.10749 -+ *[0-9a-f]*:	bf bc       	sbr r12,0x1f
 1.10750 -+ *[0-9a-f]*:	b1 a5       	sbr r5,0x10
 1.10751 -+ *[0-9a-f]*:	af b4       	sbr r4,0xf
 1.10752 -+ *[0-9a-f]*:	a1 be       	sbr lr,0x1
 1.10753 -+ *[0-9a-f]*:	bf b8       	sbr r8,0x1f
 1.10754 -+ *[0-9a-f]*:	b7 a6       	sbr r6,0x16
 1.10755 -+ *[0-9a-f]*:	b7 b1       	sbr r1,0x17
 1.10756 -+
 1.10757 -+[0-9a-f]* <cbr>:
 1.10758 -+ *[0-9a-f]*:	a1 cf       	cbr pc,0x0
 1.10759 -+ *[0-9a-f]*:	bf dc       	cbr r12,0x1f
 1.10760 -+ *[0-9a-f]*:	b1 c5       	cbr r5,0x10
 1.10761 -+ *[0-9a-f]*:	af d4       	cbr r4,0xf
 1.10762 -+ *[0-9a-f]*:	a1 de       	cbr lr,0x1
 1.10763 -+ *[0-9a-f]*:	ab cc       	cbr r12,0xa
 1.10764 -+ *[0-9a-f]*:	b7 c7       	cbr r7,0x16
 1.10765 -+ *[0-9a-f]*:	a9 d8       	cbr r8,0x9
 1.10766 -+
 1.10767 -+[0-9a-f]* <brc1>:
 1.10768 -+ *[0-9a-f]*:	c0 00       	breq [0-9a-f]* <.*>
 1.10769 -+ *[0-9a-f]*:	cf f7       	brpl [0-9a-f]* <.*>
 1.10770 -+ *[0-9a-f]*:	c8 04       	brge [0-9a-f]* <.*>
 1.10771 -+ *[0-9a-f]*:	c7 f3       	brcs [0-9a-f]* <.*>
 1.10772 -+ *[0-9a-f]*:	c0 11       	brne [0-9a-f]* <.*>
 1.10773 -+ *[0-9a-f]*:	c7 33       	brcs [0-9a-f]* <.*>
 1.10774 -+ *[0-9a-f]*:	cf 70       	breq [0-9a-f]* <.*>
 1.10775 -+ *[0-9a-f]*:	c0 60       	breq [0-9a-f]* <.*>
 1.10776 -+
 1.10777 -+[0-9a-f]* <rjmp>:
 1.10778 -+ *[0-9a-f]*:	c0 08       	rjmp [0-9a-f]* <.*>
 1.10779 -+ *[0-9a-f]*:	cf fb       	rjmp [0-9a-f]* <.*>
 1.10780 -+ *[0-9a-f]*:	c0 0a       	rjmp [0-9a-f]* <.*>
 1.10781 -+ *[0-9a-f]*:	cf f9       	rjmp [0-9a-f]* <.*>
 1.10782 -+ *[0-9a-f]*:	c0 18       	rjmp [0-9a-f]* <.*>
 1.10783 -+ *[0-9a-f]*:	c1 fa       	rjmp [0-9a-f]* <.*>
 1.10784 -+ *[0-9a-f]*:	c0 78       	rjmp [0-9a-f]* <.*>
 1.10785 -+ *[0-9a-f]*:	cf ea       	rjmp [0-9a-f]* <.*>
 1.10786 -+
 1.10787 -+[0-9a-f]* <rcall1>:
 1.10788 -+ *[0-9a-f]*:	c0 0c       	rcall [0-9a-f]* <.*>
 1.10789 -+ *[0-9a-f]*:	cf ff       	rcall [0-9a-f]* <.*>
 1.10790 -+ *[0-9a-f]*:	c0 0e       	rcall [0-9a-f]* <.*>
 1.10791 -+ *[0-9a-f]*:	cf fd       	rcall [0-9a-f]* <.*>
 1.10792 -+ *[0-9a-f]*:	c0 1c       	rcall [0-9a-f]* <.*>
 1.10793 -+ *[0-9a-f]*:	c6 cc       	rcall [0-9a-f]* <.*>
 1.10794 -+ *[0-9a-f]*:	cf 7e       	rcall [0-9a-f]* <.*>
 1.10795 -+ *[0-9a-f]*:	c1 ae       	rcall [0-9a-f]* <.*>
 1.10796 -+
 1.10797 -+[0-9a-f]* <acall>:
 1.10798 -+ *[0-9a-f]*:	d0 00       	acall 0x0
 1.10799 -+ *[0-9a-f]*:	df f0       	acall 0x3fc
 1.10800 -+ *[0-9a-f]*:	d8 00       	acall 0x200
 1.10801 -+ *[0-9a-f]*:	d7 f0       	acall 0x1fc
 1.10802 -+ *[0-9a-f]*:	d0 10       	acall 0x4
 1.10803 -+ *[0-9a-f]*:	d5 90       	acall 0x164
 1.10804 -+ *[0-9a-f]*:	d4 c0       	acall 0x130
 1.10805 -+ *[0-9a-f]*:	d2 b0       	acall 0xac
 1.10806 -+
 1.10807 -+[0-9a-f]* <scall>:
 1.10808 -+ *[0-9a-f]*:	d7 33       	scall
 1.10809 -+ *[0-9a-f]*:	d7 33       	scall
 1.10810 -+ *[0-9a-f]*:	d7 33       	scall
 1.10811 -+ *[0-9a-f]*:	d7 33       	scall
 1.10812 -+ *[0-9a-f]*:	d7 33       	scall
 1.10813 -+ *[0-9a-f]*:	d7 33       	scall
 1.10814 -+ *[0-9a-f]*:	d7 33       	scall
 1.10815 -+ *[0-9a-f]*:	d7 33       	scall
 1.10816 -+
 1.10817 -+[0-9a-f]* <popm>:
 1.10818 -+ *[0-9a-f]*:	d8 02       	popm pc
 1.10819 -+ *[0-9a-f]*:	dd fa       	popm r0-r11,pc,r12=-1
 1.10820 -+ *[0-9a-f]*:	d4 02       	popm lr
 1.10821 -+ *[0-9a-f]*:	db fa       	popm r0-r11,pc,r12=1
 1.10822 -+ *[0-9a-f]*:	d0 12       	popm r0-r3
 1.10823 -+ *[0-9a-f]*:	d8 e2       	popm r4-r10,pc
 1.10824 -+ *[0-9a-f]*:	d9 1a       	popm r0-r3,r11,pc,r12=0
 1.10825 -+ *[0-9a-f]*:	d7 b2       	popm r0-r7,r10-r12,lr
 1.10826 -+
 1.10827 -+[0-9a-f]* <pushm>:
 1.10828 -+ *[0-9a-f]*:	d8 01       	pushm pc
 1.10829 -+ *[0-9a-f]*:	df f1       	pushm r0-r12,lr-pc
 1.10830 -+ *[0-9a-f]*:	d8 01       	pushm pc
 1.10831 -+ *[0-9a-f]*:	d7 f1       	pushm r0-r12,lr
 1.10832 -+ *[0-9a-f]*:	d0 11       	pushm r0-r3
 1.10833 -+ *[0-9a-f]*:	dc c1       	pushm r8-r10,lr-pc
 1.10834 -+ *[0-9a-f]*:	d0 91       	pushm r0-r3,r10
 1.10835 -+ *[0-9a-f]*:	d2 41       	pushm r8-r9,r12
 1.10836 -+
 1.10837 -+[0-9a-f]* <popm_n>:
 1.10838 -+.*
 1.10839 -+.*
 1.10840 -+.*
 1.10841 -+.*
 1.10842 -+.*
 1.10843 -+.*
 1.10844 -+.*
 1.10845 -+.*
 1.10846 -+
 1.10847 -+[0-9a-f]* <pushm_n>:
 1.10848 -+.*
 1.10849 -+.*
 1.10850 -+.*
 1.10851 -+.*
 1.10852 -+.*
 1.10853 -+.*
 1.10854 -+.*
 1.10855 -+.*
 1.10856 -+
 1.10857 -+[0-9a-f]* <csrfcz>:
 1.10858 -+ *[0-9a-f]*:	d0 03       	csrfcz 0x0
 1.10859 -+ *[0-9a-f]*:	d1 f3       	csrfcz 0x1f
 1.10860 -+ *[0-9a-f]*:	d1 03       	csrfcz 0x10
 1.10861 -+ *[0-9a-f]*:	d0 f3       	csrfcz 0xf
 1.10862 -+ *[0-9a-f]*:	d0 13       	csrfcz 0x1
 1.10863 -+ *[0-9a-f]*:	d0 53       	csrfcz 0x5
 1.10864 -+ *[0-9a-f]*:	d0 d3       	csrfcz 0xd
 1.10865 -+ *[0-9a-f]*:	d1 73       	csrfcz 0x17
 1.10866 -+
 1.10867 -+[0-9a-f]* <ssrf>:
 1.10868 -+ *[0-9a-f]*:	d2 03       	ssrf 0x0
 1.10869 -+ *[0-9a-f]*:	d3 f3       	ssrf 0x1f
 1.10870 -+ *[0-9a-f]*:	d3 03       	ssrf 0x10
 1.10871 -+ *[0-9a-f]*:	d2 f3       	ssrf 0xf
 1.10872 -+ *[0-9a-f]*:	d2 13       	ssrf 0x1
 1.10873 -+ *[0-9a-f]*:	d3 d3       	ssrf 0x1d
 1.10874 -+ *[0-9a-f]*:	d2 d3       	ssrf 0xd
 1.10875 -+ *[0-9a-f]*:	d2 d3       	ssrf 0xd
 1.10876 -+
 1.10877 -+[0-9a-f]* <csrf>:
 1.10878 -+ *[0-9a-f]*:	d4 03       	csrf 0x0
 1.10879 -+ *[0-9a-f]*:	d5 f3       	csrf 0x1f
 1.10880 -+ *[0-9a-f]*:	d5 03       	csrf 0x10
 1.10881 -+ *[0-9a-f]*:	d4 f3       	csrf 0xf
 1.10882 -+ *[0-9a-f]*:	d4 13       	csrf 0x1
 1.10883 -+ *[0-9a-f]*:	d4 a3       	csrf 0xa
 1.10884 -+ *[0-9a-f]*:	d4 f3       	csrf 0xf
 1.10885 -+ *[0-9a-f]*:	d4 b3       	csrf 0xb
 1.10886 -+
 1.10887 -+[0-9a-f]* <rete>:
 1.10888 -+ *[0-9a-f]*:	d6 03       	rete
 1.10889 -+
 1.10890 -+[0-9a-f]* <rets>:
 1.10891 -+ *[0-9a-f]*:	d6 13       	rets
 1.10892 -+
 1.10893 -+[0-9a-f]* <retd>:
 1.10894 -+ *[0-9a-f]*:	d6 23       	retd
 1.10895 -+
 1.10896 -+[0-9a-f]* <retj>:
 1.10897 -+ *[0-9a-f]*:	d6 33       	retj
 1.10898 -+
 1.10899 -+[0-9a-f]* <tlbr>:
 1.10900 -+ *[0-9a-f]*:	d6 43       	tlbr
 1.10901 -+
 1.10902 -+[0-9a-f]* <tlbs>:
 1.10903 -+ *[0-9a-f]*:	d6 53       	tlbs
 1.10904 -+
 1.10905 -+[0-9a-f]* <tlbw>:
 1.10906 -+ *[0-9a-f]*:	d6 63       	tlbw
 1.10907 -+
 1.10908 -+[0-9a-f]* <breakpoint>:
 1.10909 -+ *[0-9a-f]*:	d6 73       	breakpoint
 1.10910 -+
 1.10911 -+[0-9a-f]* <incjosp>:
 1.10912 -+ *[0-9a-f]*:	d6 83       	incjosp 1
 1.10913 -+ *[0-9a-f]*:	d6 93       	incjosp 2
 1.10914 -+ *[0-9a-f]*:	d6 a3       	incjosp 3
 1.10915 -+ *[0-9a-f]*:	d6 b3       	incjosp 4
 1.10916 -+ *[0-9a-f]*:	d6 c3       	incjosp -4
 1.10917 -+ *[0-9a-f]*:	d6 d3       	incjosp -3
 1.10918 -+ *[0-9a-f]*:	d6 e3       	incjosp -2
 1.10919 -+ *[0-9a-f]*:	d6 f3       	incjosp -1
 1.10920 -+
 1.10921 -+[0-9a-f]* <nop>:
 1.10922 -+ *[0-9a-f]*:	d7 03       	nop
 1.10923 -+
 1.10924 -+[0-9a-f]* <popjc>:
 1.10925 -+ *[0-9a-f]*:	d7 13       	popjc
 1.10926 -+
 1.10927 -+[0-9a-f]* <pushjc>:
 1.10928 -+ *[0-9a-f]*:	d7 23       	pushjc
 1.10929 -+
 1.10930 -+[0-9a-f]* <add2>:
 1.10931 -+ *[0-9a-f]*:	fe 0f 00 0f 	add pc,pc,pc
 1.10932 -+ *[0-9a-f]*:	f8 0c 00 3c 	add r12,r12,r12<<0x3
 1.10933 -+ *[0-9a-f]*:	ea 05 00 25 	add r5,r5,r5<<0x2
 1.10934 -+ *[0-9a-f]*:	e8 04 00 14 	add r4,r4,r4<<0x1
 1.10935 -+ *[0-9a-f]*:	fc 0e 00 1e 	add lr,lr,lr<<0x1
 1.10936 -+ *[0-9a-f]*:	f8 00 00 10 	add r0,r12,r0<<0x1
 1.10937 -+ *[0-9a-f]*:	f8 04 00 09 	add r9,r12,r4
 1.10938 -+ *[0-9a-f]*:	f8 07 00 2c 	add r12,r12,r7<<0x2
 1.10939 -+
 1.10940 -+[0-9a-f]* <sub2>:
 1.10941 -+ *[0-9a-f]*:	fe 0f 01 0f 	sub pc,pc,pc
 1.10942 -+ *[0-9a-f]*:	f8 0c 01 3c 	sub r12,r12,r12<<0x3
 1.10943 -+ *[0-9a-f]*:	ea 05 01 25 	sub r5,r5,r5<<0x2
 1.10944 -+ *[0-9a-f]*:	e8 04 01 14 	sub r4,r4,r4<<0x1
 1.10945 -+ *[0-9a-f]*:	fc 0e 01 1e 	sub lr,lr,lr<<0x1
 1.10946 -+ *[0-9a-f]*:	e6 04 01 0d 	sub sp,r3,r4
 1.10947 -+ *[0-9a-f]*:	ee 03 01 03 	sub r3,r7,r3
 1.10948 -+ *[0-9a-f]*:	f4 0d 01 1d 	sub sp,r10,sp<<0x1
 1.10949 -+
 1.10950 -+[0-9a-f]* <divu>:
 1.10951 -+ *[0-9a-f]*:	fe 0f 0d 0f 	divu pc,pc,pc
 1.10952 -+ *[0-9a-f]*:	f8 0c 0d 0c 	divu r12,r12,r12
 1.10953 -+ *[0-9a-f]*:	ea 05 0d 05 	divu r5,r5,r5
 1.10954 -+ *[0-9a-f]*:	e8 04 0d 04 	divu r4,r4,r4
 1.10955 -+ *[0-9a-f]*:	fc 0e 0d 0e 	divu lr,lr,lr
 1.10956 -+ *[0-9a-f]*:	e8 0f 0d 0d 	divu sp,r4,pc
 1.10957 -+ *[0-9a-f]*:	ea 0d 0d 05 	divu r5,r5,sp
 1.10958 -+ *[0-9a-f]*:	fa 00 0d 0a 	divu r10,sp,r0
 1.10959 -+
 1.10960 -+[0-9a-f]* <addhh_w>:
 1.10961 -+ *[0-9a-f]*:	fe 0f 0e 0f 	addhh\.w pc,pc:b,pc:b
 1.10962 -+ *[0-9a-f]*:	f8 0c 0e 3c 	addhh\.w r12,r12:t,r12:t
 1.10963 -+ *[0-9a-f]*:	ea 05 0e 35 	addhh\.w r5,r5:t,r5:t
 1.10964 -+ *[0-9a-f]*:	e8 04 0e 04 	addhh\.w r4,r4:b,r4:b
 1.10965 -+ *[0-9a-f]*:	fc 0e 0e 3e 	addhh\.w lr,lr:t,lr:t
 1.10966 -+ *[0-9a-f]*:	e0 03 0e 00 	addhh\.w r0,r0:b,r3:b
 1.10967 -+ *[0-9a-f]*:	f8 07 0e 2e 	addhh\.w lr,r12:t,r7:b
 1.10968 -+ *[0-9a-f]*:	f4 02 0e 23 	addhh\.w r3,r10:t,r2:b
 1.10969 -+
 1.10970 -+[0-9a-f]* <subhh_w>:
 1.10971 -+ *[0-9a-f]*:	fe 0f 0f 0f 	subhh\.w pc,pc:b,pc:b
 1.10972 -+ *[0-9a-f]*:	f8 0c 0f 3c 	subhh\.w r12,r12:t,r12:t
 1.10973 -+ *[0-9a-f]*:	ea 05 0f 35 	subhh\.w r5,r5:t,r5:t
 1.10974 -+ *[0-9a-f]*:	e8 04 0f 04 	subhh\.w r4,r4:b,r4:b
 1.10975 -+ *[0-9a-f]*:	fc 0e 0f 3e 	subhh\.w lr,lr:t,lr:t
 1.10976 -+ *[0-9a-f]*:	e2 07 0f 2a 	subhh\.w r10,r1:t,r7:b
 1.10977 -+ *[0-9a-f]*:	f4 0e 0f 3f 	subhh\.w pc,r10:t,lr:t
 1.10978 -+ *[0-9a-f]*:	e0 0c 0f 23 	subhh\.w r3,r0:t,r12:b
 1.10979 -+
 1.10980 -+[0-9a-f]* <adc>:
 1.10981 -+ *[0-9a-f]*:	fe 0f 00 4f 	adc pc,pc,pc
 1.10982 -+ *[0-9a-f]*:	f8 0c 00 4c 	adc r12,r12,r12
 1.10983 -+ *[0-9a-f]*:	ea 05 00 45 	adc r5,r5,r5
 1.10984 -+ *[0-9a-f]*:	e8 04 00 44 	adc r4,r4,r4
 1.10985 -+ *[0-9a-f]*:	fc 0e 00 4e 	adc lr,lr,lr
 1.10986 -+ *[0-9a-f]*:	e0 07 00 44 	adc r4,r0,r7
 1.10987 -+ *[0-9a-f]*:	e8 03 00 4d 	adc sp,r4,r3
 1.10988 -+ *[0-9a-f]*:	f8 00 00 42 	adc r2,r12,r0
 1.10989 -+
 1.10990 -+[0-9a-f]* <sbc>:
 1.10991 -+ *[0-9a-f]*:	fe 0f 01 4f 	sbc pc,pc,pc
 1.10992 -+ *[0-9a-f]*:	f8 0c 01 4c 	sbc r12,r12,r12
 1.10993 -+ *[0-9a-f]*:	ea 05 01 45 	sbc r5,r5,r5
 1.10994 -+ *[0-9a-f]*:	e8 04 01 44 	sbc r4,r4,r4
 1.10995 -+ *[0-9a-f]*:	fc 0e 01 4e 	sbc lr,lr,lr
 1.10996 -+ *[0-9a-f]*:	ee 09 01 46 	sbc r6,r7,r9
 1.10997 -+ *[0-9a-f]*:	f0 05 01 40 	sbc r0,r8,r5
 1.10998 -+ *[0-9a-f]*:	e0 04 01 41 	sbc r1,r0,r4
 1.10999 -+
 1.11000 -+[0-9a-f]* <mul_2>:
 1.11001 -+ *[0-9a-f]*:	fe 0f 02 4f 	mul pc,pc,pc
 1.11002 -+ *[0-9a-f]*:	f8 0c 02 4c 	mul r12,r12,r12
 1.11003 -+ *[0-9a-f]*:	ea 05 02 45 	mul r5,r5,r5
 1.11004 -+ *[0-9a-f]*:	e8 04 02 44 	mul r4,r4,r4
 1.11005 -+ *[0-9a-f]*:	fc 0e 02 4e 	mul lr,lr,lr
 1.11006 -+ *[0-9a-f]*:	e0 00 02 4f 	mul pc,r0,r0
 1.11007 -+ *[0-9a-f]*:	fe 0e 02 48 	mul r8,pc,lr
 1.11008 -+ *[0-9a-f]*:	f8 0f 02 44 	mul r4,r12,pc
 1.11009 -+
 1.11010 -+[0-9a-f]* <mac>:
 1.11011 -+ *[0-9a-f]*:	fe 0f 03 4f 	mac pc,pc,pc
 1.11012 -+ *[0-9a-f]*:	f8 0c 03 4c 	mac r12,r12,r12
 1.11013 -+ *[0-9a-f]*:	ea 05 03 45 	mac r5,r5,r5
 1.11014 -+ *[0-9a-f]*:	e8 04 03 44 	mac r4,r4,r4
 1.11015 -+ *[0-9a-f]*:	fc 0e 03 4e 	mac lr,lr,lr
 1.11016 -+ *[0-9a-f]*:	e8 00 03 4a 	mac r10,r4,r0
 1.11017 -+ *[0-9a-f]*:	fc 00 03 47 	mac r7,lr,r0
 1.11018 -+ *[0-9a-f]*:	f2 0c 03 42 	mac r2,r9,r12
 1.11019 -+
 1.11020 -+[0-9a-f]* <mulsd>:
 1.11021 -+ *[0-9a-f]*:	fe 0f 04 4f 	muls\.d pc,pc,pc
 1.11022 -+ *[0-9a-f]*:	f8 0c 04 4c 	muls\.d r12,r12,r12
 1.11023 -+ *[0-9a-f]*:	ea 05 04 45 	muls\.d r5,r5,r5
 1.11024 -+ *[0-9a-f]*:	e8 04 04 44 	muls\.d r4,r4,r4
 1.11025 -+ *[0-9a-f]*:	fc 0e 04 4e 	muls\.d lr,lr,lr
 1.11026 -+ *[0-9a-f]*:	f0 0e 04 42 	muls\.d r2,r8,lr
 1.11027 -+ *[0-9a-f]*:	e0 0b 04 44 	muls\.d r4,r0,r11
 1.11028 -+ *[0-9a-f]*:	fc 06 04 45 	muls\.d r5,lr,r6
 1.11029 -+
 1.11030 -+[0-9a-f]* <macsd>:
 1.11031 -+ *[0-9a-f]*:	fe 0f 05 40 	macs\.d r0,pc,pc
 1.11032 -+ *[0-9a-f]*:	f8 0c 05 4e 	macs\.d lr,r12,r12
 1.11033 -+ *[0-9a-f]*:	ea 05 05 48 	macs\.d r8,r5,r5
 1.11034 -+ *[0-9a-f]*:	e8 04 05 46 	macs\.d r6,r4,r4
 1.11035 -+ *[0-9a-f]*:	fc 0e 05 42 	macs\.d r2,lr,lr
 1.11036 -+ *[0-9a-f]*:	e2 09 05 48 	macs\.d r8,r1,r9
 1.11037 -+ *[0-9a-f]*:	f0 08 05 4e 	macs\.d lr,r8,r8
 1.11038 -+ *[0-9a-f]*:	e6 0c 05 44 	macs\.d r4,r3,r12
 1.11039 -+
 1.11040 -+[0-9a-f]* <mulud>:
 1.11041 -+ *[0-9a-f]*:	fe 0f 06 40 	mulu\.d r0,pc,pc
 1.11042 -+ *[0-9a-f]*:	f8 0c 06 4e 	mulu\.d lr,r12,r12
 1.11043 -+ *[0-9a-f]*:	ea 05 06 48 	mulu\.d r8,r5,r5
 1.11044 -+ *[0-9a-f]*:	e8 04 06 46 	mulu\.d r6,r4,r4
 1.11045 -+ *[0-9a-f]*:	fc 0e 06 42 	mulu\.d r2,lr,lr
 1.11046 -+ *[0-9a-f]*:	ea 00 06 46 	mulu\.d r6,r5,r0
 1.11047 -+ *[0-9a-f]*:	ec 01 06 44 	mulu\.d r4,r6,r1
 1.11048 -+ *[0-9a-f]*:	f0 02 06 48 	mulu\.d r8,r8,r2
 1.11049 -+
 1.11050 -+[0-9a-f]* <macud>:
 1.11051 -+ *[0-9a-f]*:	fe 0f 07 40 	macu\.d r0,pc,pc
 1.11052 -+ *[0-9a-f]*:	f8 0c 07 4e 	macu\.d lr,r12,r12
 1.11053 -+ *[0-9a-f]*:	ea 05 07 48 	macu\.d r8,r5,r5
 1.11054 -+ *[0-9a-f]*:	e8 04 07 46 	macu\.d r6,r4,r4
 1.11055 -+ *[0-9a-f]*:	fc 0e 07 42 	macu\.d r2,lr,lr
 1.11056 -+ *[0-9a-f]*:	fa 0b 07 46 	macu\.d r6,sp,r11
 1.11057 -+ *[0-9a-f]*:	e8 08 07 42 	macu\.d r2,r4,r8
 1.11058 -+ *[0-9a-f]*:	f4 09 07 46 	macu\.d r6,r10,r9
 1.11059 -+
 1.11060 -+[0-9a-f]* <asr_1>:
 1.11061 -+ *[0-9a-f]*:	fe 0f 08 4f 	asr pc,pc,pc
 1.11062 -+ *[0-9a-f]*:	f8 0c 08 4c 	asr r12,r12,r12
 1.11063 -+ *[0-9a-f]*:	ea 05 08 45 	asr r5,r5,r5
 1.11064 -+ *[0-9a-f]*:	e8 04 08 44 	asr r4,r4,r4
 1.11065 -+ *[0-9a-f]*:	fc 0e 08 4e 	asr lr,lr,lr
 1.11066 -+ *[0-9a-f]*:	ec 0f 08 4f 	asr pc,r6,pc
 1.11067 -+ *[0-9a-f]*:	ec 0c 08 40 	asr r0,r6,r12
 1.11068 -+ *[0-9a-f]*:	fa 00 08 44 	asr r4,sp,r0
 1.11069 -+
 1.11070 -+[0-9a-f]* <lsl_1>:
 1.11071 -+ *[0-9a-f]*:	fe 0f 09 4f 	lsl pc,pc,pc
 1.11072 -+ *[0-9a-f]*:	f8 0c 09 4c 	lsl r12,r12,r12
 1.11073 -+ *[0-9a-f]*:	ea 05 09 45 	lsl r5,r5,r5
 1.11074 -+ *[0-9a-f]*:	e8 04 09 44 	lsl r4,r4,r4
 1.11075 -+ *[0-9a-f]*:	fc 0e 09 4e 	lsl lr,lr,lr
 1.11076 -+ *[0-9a-f]*:	ea 0e 09 4e 	lsl lr,r5,lr
 1.11077 -+ *[0-9a-f]*:	fe 03 09 45 	lsl r5,pc,r3
 1.11078 -+ *[0-9a-f]*:	fe 09 09 41 	lsl r1,pc,r9
 1.11079 -+
 1.11080 -+[0-9a-f]* <lsr_1>:
 1.11081 -+ *[0-9a-f]*:	fe 0f 0a 4f 	lsr pc,pc,pc
 1.11082 -+ *[0-9a-f]*:	f8 0c 0a 4c 	lsr r12,r12,r12
 1.11083 -+ *[0-9a-f]*:	ea 05 0a 45 	lsr r5,r5,r5
 1.11084 -+ *[0-9a-f]*:	e8 04 0a 44 	lsr r4,r4,r4
 1.11085 -+ *[0-9a-f]*:	fc 0e 0a 4e 	lsr lr,lr,lr
 1.11086 -+ *[0-9a-f]*:	e8 01 0a 42 	lsr r2,r4,r1
 1.11087 -+ *[0-9a-f]*:	e2 06 0a 45 	lsr r5,r1,r6
 1.11088 -+ *[0-9a-f]*:	ec 07 0a 4d 	lsr sp,r6,r7
 1.11089 -+
 1.11090 -+[0-9a-f]* <xchg>:
 1.11091 -+ *[0-9a-f]*:	fe 0f 0b 4f 	xchg pc,pc,pc
 1.11092 -+ *[0-9a-f]*:	f8 0c 0b 4c 	xchg r12,r12,r12
 1.11093 -+ *[0-9a-f]*:	ea 05 0b 45 	xchg r5,r5,r5
 1.11094 -+ *[0-9a-f]*:	e8 04 0b 44 	xchg r4,r4,r4
 1.11095 -+ *[0-9a-f]*:	fc 0e 0b 4e 	xchg lr,lr,lr
 1.11096 -+ *[0-9a-f]*:	e8 0d 0b 4e 	xchg lr,r4,sp
 1.11097 -+ *[0-9a-f]*:	ea 0c 0b 41 	xchg r1,r5,r12
 1.11098 -+ *[0-9a-f]*:	f8 00 0b 4e 	xchg lr,r12,r0
 1.11099 -+
 1.11100 -+[0-9a-f]* <max>:
 1.11101 -+ *[0-9a-f]*:	fe 0f 0c 4f 	max pc,pc,pc
 1.11102 -+ *[0-9a-f]*:	f8 0c 0c 4c 	max r12,r12,r12
 1.11103 -+ *[0-9a-f]*:	ea 05 0c 45 	max r5,r5,r5
 1.11104 -+ *[0-9a-f]*:	e8 04 0c 44 	max r4,r4,r4
 1.11105 -+ *[0-9a-f]*:	fc 0e 0c 4e 	max lr,lr,lr
 1.11106 -+ *[0-9a-f]*:	e4 0d 0c 4e 	max lr,r2,sp
 1.11107 -+ *[0-9a-f]*:	f4 09 0c 44 	max r4,r10,r9
 1.11108 -+ *[0-9a-f]*:	f2 0e 0c 4e 	max lr,r9,lr
 1.11109 -+
 1.11110 -+[0-9a-f]* <min>:
 1.11111 -+ *[0-9a-f]*:	fe 0f 0d 4f 	min pc,pc,pc
 1.11112 -+ *[0-9a-f]*:	f8 0c 0d 4c 	min r12,r12,r12
 1.11113 -+ *[0-9a-f]*:	ea 05 0d 45 	min r5,r5,r5
 1.11114 -+ *[0-9a-f]*:	e8 04 0d 44 	min r4,r4,r4
 1.11115 -+ *[0-9a-f]*:	fc 0e 0d 4e 	min lr,lr,lr
 1.11116 -+ *[0-9a-f]*:	ee 08 0d 49 	min r9,r7,r8
 1.11117 -+ *[0-9a-f]*:	ea 05 0d 4d 	min sp,r5,r5
 1.11118 -+ *[0-9a-f]*:	e2 04 0d 44 	min r4,r1,r4
 1.11119 -+
 1.11120 -+[0-9a-f]* <addabs>:
 1.11121 -+ *[0-9a-f]*:	fe 0f 0e 4f 	addabs pc,pc,pc
 1.11122 -+ *[0-9a-f]*:	f8 0c 0e 4c 	addabs r12,r12,r12
 1.11123 -+ *[0-9a-f]*:	ea 05 0e 45 	addabs r5,r5,r5
 1.11124 -+ *[0-9a-f]*:	e8 04 0e 44 	addabs r4,r4,r4
 1.11125 -+ *[0-9a-f]*:	fc 0e 0e 4e 	addabs lr,lr,lr
 1.11126 -+ *[0-9a-f]*:	f4 00 0e 47 	addabs r7,r10,r0
 1.11127 -+ *[0-9a-f]*:	f2 07 0e 49 	addabs r9,r9,r7
 1.11128 -+ *[0-9a-f]*:	f0 0c 0e 42 	addabs r2,r8,r12
 1.11129 -+
 1.11130 -+[0-9a-f]* <mulnhh_w>:
 1.11131 -+ *[0-9a-f]*:	fe 0f 01 8f 	mulnhh\.w pc,pc:b,pc:b
 1.11132 -+ *[0-9a-f]*:	f8 0c 01 bc 	mulnhh\.w r12,r12:t,r12:t
 1.11133 -+ *[0-9a-f]*:	ea 05 01 b5 	mulnhh\.w r5,r5:t,r5:t
 1.11134 -+ *[0-9a-f]*:	e8 04 01 84 	mulnhh\.w r4,r4:b,r4:b
 1.11135 -+ *[0-9a-f]*:	fc 0e 01 be 	mulnhh\.w lr,lr:t,lr:t
 1.11136 -+ *[0-9a-f]*:	fa 09 01 ab 	mulnhh\.w r11,sp:t,r9:b
 1.11137 -+ *[0-9a-f]*:	e8 0e 01 9d 	mulnhh\.w sp,r4:b,lr:t
 1.11138 -+ *[0-9a-f]*:	e4 0b 01 ac 	mulnhh\.w r12,r2:t,r11:b
 1.11139 -+
 1.11140 -+[0-9a-f]* <mulnwh_d>:
 1.11141 -+ *[0-9a-f]*:	fe 0f 02 80 	mulnwh\.d r0,pc,pc:b
 1.11142 -+ *[0-9a-f]*:	f8 0c 02 9e 	mulnwh\.d lr,r12,r12:t
 1.11143 -+ *[0-9a-f]*:	ea 05 02 98 	mulnwh\.d r8,r5,r5:t
 1.11144 -+ *[0-9a-f]*:	e8 04 02 86 	mulnwh\.d r6,r4,r4:b
 1.11145 -+ *[0-9a-f]*:	fc 0e 02 92 	mulnwh\.d r2,lr,lr:t
 1.11146 -+ *[0-9a-f]*:	e6 02 02 9e 	mulnwh\.d lr,r3,r2:t
 1.11147 -+ *[0-9a-f]*:	ea 09 02 84 	mulnwh\.d r4,r5,r9:b
 1.11148 -+ *[0-9a-f]*:	e8 04 02 9c 	mulnwh\.d r12,r4,r4:t
 1.11149 -+
 1.11150 -+[0-9a-f]* <machh_w>:
 1.11151 -+ *[0-9a-f]*:	fe 0f 04 8f 	machh\.w pc,pc:b,pc:b
 1.11152 -+ *[0-9a-f]*:	f8 0c 04 bc 	machh\.w r12,r12:t,r12:t
 1.11153 -+ *[0-9a-f]*:	ea 05 04 b5 	machh\.w r5,r5:t,r5:t
 1.11154 -+ *[0-9a-f]*:	e8 04 04 84 	machh\.w r4,r4:b,r4:b
 1.11155 -+ *[0-9a-f]*:	fc 0e 04 be 	machh\.w lr,lr:t,lr:t
 1.11156 -+ *[0-9a-f]*:	ea 01 04 9e 	machh\.w lr,r5:b,r1:t
 1.11157 -+ *[0-9a-f]*:	ec 07 04 89 	machh\.w r9,r6:b,r7:b
 1.11158 -+ *[0-9a-f]*:	fc 0c 04 a5 	machh\.w r5,lr:t,r12:b
 1.11159 -+
 1.11160 -+[0-9a-f]* <machh_d>:
 1.11161 -+ *[0-9a-f]*:	fe 0f 05 80 	machh\.d r0,pc:b,pc:b
 1.11162 -+ *[0-9a-f]*:	f8 0c 05 be 	machh\.d lr,r12:t,r12:t
 1.11163 -+ *[0-9a-f]*:	ea 05 05 b8 	machh\.d r8,r5:t,r5:t
 1.11164 -+ *[0-9a-f]*:	e8 04 05 86 	machh\.d r6,r4:b,r4:b
 1.11165 -+ *[0-9a-f]*:	fc 0e 05 b2 	machh\.d r2,lr:t,lr:t
 1.11166 -+ *[0-9a-f]*:	e0 08 05 8a 	machh\.d r10,r0:b,r8:b
 1.11167 -+ *[0-9a-f]*:	e8 05 05 9e 	machh\.d lr,r4:b,r5:t
 1.11168 -+ *[0-9a-f]*:	e0 04 05 98 	machh\.d r8,r0:b,r4:t
 1.11169 -+
 1.11170 -+[0-9a-f]* <macsathh_w>:
 1.11171 -+ *[0-9a-f]*:	fe 0f 06 8f 	macsathh\.w pc,pc:b,pc:b
 1.11172 -+ *[0-9a-f]*:	f8 0c 06 bc 	macsathh\.w r12,r12:t,r12:t
 1.11173 -+ *[0-9a-f]*:	ea 05 06 b5 	macsathh\.w r5,r5:t,r5:t
 1.11174 -+ *[0-9a-f]*:	e8 04 06 84 	macsathh\.w r4,r4:b,r4:b
 1.11175 -+ *[0-9a-f]*:	fc 0e 06 be 	macsathh\.w lr,lr:t,lr:t
 1.11176 -+ *[0-9a-f]*:	ee 0f 06 b7 	macsathh\.w r7,r7:t,pc:t
 1.11177 -+ *[0-9a-f]*:	e4 04 06 a4 	macsathh\.w r4,r2:t,r4:b
 1.11178 -+ *[0-9a-f]*:	f0 03 06 b4 	macsathh\.w r4,r8:t,r3:t
 1.11179 -+
 1.11180 -+[0-9a-f]* <mulhh_w>:
 1.11181 -+ *[0-9a-f]*:	fe 0f 07 8f 	mulhh\.w pc,pc:b,pc:b
 1.11182 -+ *[0-9a-f]*:	f8 0c 07 bc 	mulhh\.w r12,r12:t,r12:t
 1.11183 -+ *[0-9a-f]*:	ea 05 07 b5 	mulhh\.w r5,r5:t,r5:t
 1.11184 -+ *[0-9a-f]*:	e8 04 07 84 	mulhh\.w r4,r4:b,r4:b
 1.11185 -+ *[0-9a-f]*:	fc 0e 07 be 	mulhh\.w lr,lr:t,lr:t
 1.11186 -+ *[0-9a-f]*:	e8 09 07 a7 	mulhh\.w r7,r4:t,r9:b
 1.11187 -+ *[0-9a-f]*:	e6 07 07 bf 	mulhh\.w pc,r3:t,r7:t
 1.11188 -+ *[0-9a-f]*:	e8 09 07 9f 	mulhh\.w pc,r4:b,r9:t
 1.11189 -+
 1.11190 -+[0-9a-f]* <mulsathh_h>:
 1.11191 -+ *[0-9a-f]*:	fe 0f 08 8f 	mulsathh\.h pc,pc:b,pc:b
 1.11192 -+ *[0-9a-f]*:	f8 0c 08 bc 	mulsathh\.h r12,r12:t,r12:t
 1.11193 -+ *[0-9a-f]*:	ea 05 08 b5 	mulsathh\.h r5,r5:t,r5:t
 1.11194 -+ *[0-9a-f]*:	e8 04 08 84 	mulsathh\.h r4,r4:b,r4:b
 1.11195 -+ *[0-9a-f]*:	fc 0e 08 be 	mulsathh\.h lr,lr:t,lr:t
 1.11196 -+ *[0-9a-f]*:	e2 0d 08 83 	mulsathh\.h r3,r1:b,sp:b
 1.11197 -+ *[0-9a-f]*:	fc 0b 08 ab 	mulsathh\.h r11,lr:t,r11:b
 1.11198 -+ *[0-9a-f]*:	f0 0b 08 98 	mulsathh\.h r8,r8:b,r11:t
 1.11199 -+
 1.11200 -+[0-9a-f]* <mulsathh_w>:
 1.11201 -+ *[0-9a-f]*:	fe 0f 09 8f 	mulsathh\.w pc,pc:b,pc:b
 1.11202 -+ *[0-9a-f]*:	f8 0c 09 bc 	mulsathh\.w r12,r12:t,r12:t
 1.11203 -+ *[0-9a-f]*:	ea 05 09 b5 	mulsathh\.w r5,r5:t,r5:t
 1.11204 -+ *[0-9a-f]*:	e8 04 09 84 	mulsathh\.w r4,r4:b,r4:b
 1.11205 -+ *[0-9a-f]*:	fc 0e 09 be 	mulsathh\.w lr,lr:t,lr:t
 1.11206 -+ *[0-9a-f]*:	f6 06 09 ae 	mulsathh\.w lr,r11:t,r6:b
 1.11207 -+ *[0-9a-f]*:	ec 07 09 96 	mulsathh\.w r6,r6:b,r7:t
 1.11208 -+ *[0-9a-f]*:	e4 03 09 8a 	mulsathh\.w r10,r2:b,r3:b
 1.11209 -+
 1.11210 -+[0-9a-f]* <mulsatrndhh_h>:
 1.11211 -+ *[0-9a-f]*:	fe 0f 0a 8f 	mulsatrndhh\.h pc,pc:b,pc:b
 1.11212 -+ *[0-9a-f]*:	f8 0c 0a bc 	mulsatrndhh\.h r12,r12:t,r12:t
 1.11213 -+ *[0-9a-f]*:	ea 05 0a b5 	mulsatrndhh\.h r5,r5:t,r5:t
 1.11214 -+ *[0-9a-f]*:	e8 04 0a 84 	mulsatrndhh\.h r4,r4:b,r4:b
 1.11215 -+ *[0-9a-f]*:	fc 0e 0a be 	mulsatrndhh\.h lr,lr:t,lr:t
 1.11216 -+ *[0-9a-f]*:	ec 09 0a 8b 	mulsatrndhh\.h r11,r6:b,r9:b
 1.11217 -+ *[0-9a-f]*:	e6 08 0a 9b 	mulsatrndhh\.h r11,r3:b,r8:t
 1.11218 -+ *[0-9a-f]*:	fa 07 0a b5 	mulsatrndhh\.h r5,sp:t,r7:t
 1.11219 -+
 1.11220 -+[0-9a-f]* <mulsatrndwh_w>:
 1.11221 -+ *[0-9a-f]*:	fe 0f 0b 8f 	mulsatrndwh\.w pc,pc,pc:b
 1.11222 -+ *[0-9a-f]*:	f8 0c 0b 9c 	mulsatrndwh\.w r12,r12,r12:t
 1.11223 -+ *[0-9a-f]*:	ea 05 0b 95 	mulsatrndwh\.w r5,r5,r5:t
 1.11224 -+ *[0-9a-f]*:	e8 04 0b 84 	mulsatrndwh\.w r4,r4,r4:b
 1.11225 -+ *[0-9a-f]*:	fc 0e 0b 9e 	mulsatrndwh\.w lr,lr,lr:t
 1.11226 -+ *[0-9a-f]*:	f8 00 0b 85 	mulsatrndwh\.w r5,r12,r0:b
 1.11227 -+ *[0-9a-f]*:	f4 0f 0b 87 	mulsatrndwh\.w r7,r10,pc:b
 1.11228 -+ *[0-9a-f]*:	f0 05 0b 9a 	mulsatrndwh\.w r10,r8,r5:t
 1.11229 -+
 1.11230 -+[0-9a-f]* <macwh_d>:
 1.11231 -+ *[0-9a-f]*:	fe 0f 0c 80 	macwh\.d r0,pc,pc:b
 1.11232 -+ *[0-9a-f]*:	f8 0c 0c 9e 	macwh\.d lr,r12,r12:t
 1.11233 -+ *[0-9a-f]*:	ea 05 0c 98 	macwh\.d r8,r5,r5:t
 1.11234 -+ *[0-9a-f]*:	e8 04 0c 86 	macwh\.d r6,r4,r4:b
 1.11235 -+ *[0-9a-f]*:	fc 0e 0c 92 	macwh\.d r2,lr,lr:t
 1.11236 -+ *[0-9a-f]*:	f4 0c 0c 94 	macwh\.d r4,r10,r12:t
 1.11237 -+ *[0-9a-f]*:	ee 0d 0c 84 	macwh\.d r4,r7,sp:b
 1.11238 -+ *[0-9a-f]*:	f2 0b 0c 8e 	macwh\.d lr,r9,r11:b
 1.11239 -+
 1.11240 -+[0-9a-f]* <mulwh_d>:
 1.11241 -+ *[0-9a-f]*:	fe 0f 0d 80 	mulwh\.d r0,pc,pc:b
 1.11242 -+ *[0-9a-f]*:	f8 0c 0d 9e 	mulwh\.d lr,r12,r12:t
 1.11243 -+ *[0-9a-f]*:	ea 05 0d 98 	mulwh\.d r8,r5,r5:t
 1.11244 -+ *[0-9a-f]*:	e8 04 0d 86 	mulwh\.d r6,r4,r4:b
 1.11245 -+ *[0-9a-f]*:	fc 0e 0d 92 	mulwh\.d r2,lr,lr:t
 1.11246 -+ *[0-9a-f]*:	ea 01 0d 8c 	mulwh\.d r12,r5,r1:b
 1.11247 -+ *[0-9a-f]*:	e2 03 0d 90 	mulwh\.d r0,r1,r3:t
 1.11248 -+ *[0-9a-f]*:	f2 02 0d 80 	mulwh\.d r0,r9,r2:b
 1.11249 -+
 1.11250 -+[0-9a-f]* <mulsatwh_w>:
 1.11251 -+ *[0-9a-f]*:	fe 0f 0e 8f 	mulsatwh\.w pc,pc,pc:b
 1.11252 -+ *[0-9a-f]*:	f8 0c 0e 9c 	mulsatwh\.w r12,r12,r12:t
 1.11253 -+ *[0-9a-f]*:	ea 05 0e 95 	mulsatwh\.w r5,r5,r5:t
 1.11254 -+ *[0-9a-f]*:	e8 04 0e 84 	mulsatwh\.w r4,r4,r4:b
 1.11255 -+ *[0-9a-f]*:	fc 0e 0e 9e 	mulsatwh\.w lr,lr,lr:t
 1.11256 -+ *[0-9a-f]*:	fe 0a 0e 9b 	mulsatwh\.w r11,pc,r10:t
 1.11257 -+ *[0-9a-f]*:	f8 09 0e 9d 	mulsatwh\.w sp,r12,r9:t
 1.11258 -+ *[0-9a-f]*:	e6 02 0e 90 	mulsatwh\.w r0,r3,r2:t
 1.11259 -+
 1.11260 -+[0-9a-f]* <ldw7>:
 1.11261 -+ *[0-9a-f]*:	fe 0f 0f 8f 	ld\.w pc,pc\[pc:b<<2\]
 1.11262 -+ *[0-9a-f]*:	f8 0c 0f bc 	ld\.w r12,r12\[r12:t<<2\]
 1.11263 -+ *[0-9a-f]*:	ea 05 0f a5 	ld\.w r5,r5\[r5:u<<2\]
 1.11264 -+ *[0-9a-f]*:	e8 04 0f 94 	ld\.w r4,r4\[r4:l<<2\]
 1.11265 -+ *[0-9a-f]*:	fc 0e 0f 9e 	ld\.w lr,lr\[lr:l<<2\]
 1.11266 -+ *[0-9a-f]*:	f4 06 0f 99 	ld\.w r9,r10\[r6:l<<2\]
 1.11267 -+ *[0-9a-f]*:	f4 0a 0f 82 	ld\.w r2,r10\[r10:b<<2\]
 1.11268 -+ *[0-9a-f]*:	ea 0f 0f 8b 	ld\.w r11,r5\[pc:b<<2\]
 1.11269 -+
 1.11270 -+[0-9a-f]* <satadd_w>:
 1.11271 -+ *[0-9a-f]*:	fe 0f 00 cf 	satadd\.w pc,pc,pc
 1.11272 -+ *[0-9a-f]*:	f8 0c 00 cc 	satadd\.w r12,r12,r12
 1.11273 -+ *[0-9a-f]*:	ea 05 00 c5 	satadd\.w r5,r5,r5
 1.11274 -+ *[0-9a-f]*:	e8 04 00 c4 	satadd\.w r4,r4,r4
 1.11275 -+ *[0-9a-f]*:	fc 0e 00 ce 	satadd\.w lr,lr,lr
 1.11276 -+ *[0-9a-f]*:	f0 0b 00 c4 	satadd\.w r4,r8,r11
 1.11277 -+ *[0-9a-f]*:	f8 06 00 c3 	satadd\.w r3,r12,r6
 1.11278 -+ *[0-9a-f]*:	fc 09 00 c3 	satadd\.w r3,lr,r9
 1.11279 -+
 1.11280 -+[0-9a-f]* <satsub_w1>:
 1.11281 -+ *[0-9a-f]*:	fe 0f 01 cf 	satsub\.w pc,pc,pc
 1.11282 -+ *[0-9a-f]*:	f8 0c 01 cc 	satsub\.w r12,r12,r12
 1.11283 -+ *[0-9a-f]*:	ea 05 01 c5 	satsub\.w r5,r5,r5
 1.11284 -+ *[0-9a-f]*:	e8 04 01 c4 	satsub\.w r4,r4,r4
 1.11285 -+ *[0-9a-f]*:	fc 0e 01 ce 	satsub\.w lr,lr,lr
 1.11286 -+ *[0-9a-f]*:	fa 00 01 c8 	satsub\.w r8,sp,r0
 1.11287 -+ *[0-9a-f]*:	f0 04 01 c9 	satsub\.w r9,r8,r4
 1.11288 -+ *[0-9a-f]*:	fc 02 01 cf 	satsub\.w pc,lr,r2
 1.11289 -+
 1.11290 -+[0-9a-f]* <satadd_h>:
 1.11291 -+ *[0-9a-f]*:	fe 0f 02 cf 	satadd\.h pc,pc,pc
 1.11292 -+ *[0-9a-f]*:	f8 0c 02 cc 	satadd\.h r12,r12,r12
 1.11293 -+ *[0-9a-f]*:	ea 05 02 c5 	satadd\.h r5,r5,r5
 1.11294 -+ *[0-9a-f]*:	e8 04 02 c4 	satadd\.h r4,r4,r4
 1.11295 -+ *[0-9a-f]*:	fc 0e 02 ce 	satadd\.h lr,lr,lr
 1.11296 -+ *[0-9a-f]*:	e6 09 02 c7 	satadd\.h r7,r3,r9
 1.11297 -+ *[0-9a-f]*:	e0 02 02 c1 	satadd\.h r1,r0,r2
 1.11298 -+ *[0-9a-f]*:	e8 0e 02 c1 	satadd\.h r1,r4,lr
 1.11299 -+
 1.11300 -+[0-9a-f]* <satsub_h>:
 1.11301 -+ *[0-9a-f]*:	fe 0f 03 cf 	satsub\.h pc,pc,pc
 1.11302 -+ *[0-9a-f]*:	f8 0c 03 cc 	satsub\.h r12,r12,r12
 1.11303 -+ *[0-9a-f]*:	ea 05 03 c5 	satsub\.h r5,r5,r5
 1.11304 -+ *[0-9a-f]*:	e8 04 03 c4 	satsub\.h r4,r4,r4
 1.11305 -+ *[0-9a-f]*:	fc 0e 03 ce 	satsub\.h lr,lr,lr
 1.11306 -+ *[0-9a-f]*:	fc 03 03 ce 	satsub\.h lr,lr,r3
 1.11307 -+ *[0-9a-f]*:	ec 05 03 cb 	satsub\.h r11,r6,r5
 1.11308 -+ *[0-9a-f]*:	fa 00 03 c3 	satsub\.h r3,sp,r0
 1.11309 -+
 1.11310 -+[0-9a-f]* <mul3>:
 1.11311 -+ *[0-9a-f]*:	fe 0f 10 00 	mul pc,pc,0
 1.11312 -+ *[0-9a-f]*:	f8 0c 10 ff 	mul r12,r12,-1
 1.11313 -+ *[0-9a-f]*:	ea 05 10 80 	mul r5,r5,-128
 1.11314 -+ *[0-9a-f]*:	e8 04 10 7f 	mul r4,r4,127
 1.11315 -+ *[0-9a-f]*:	fc 0e 10 01 	mul lr,lr,1
 1.11316 -+ *[0-9a-f]*:	e4 0c 10 f9 	mul r12,r2,-7
 1.11317 -+ *[0-9a-f]*:	fe 01 10 5f 	mul r1,pc,95
 1.11318 -+ *[0-9a-f]*:	ec 04 10 13 	mul r4,r6,19
 1.11319 -+
 1.11320 -+[0-9a-f]* <rsub2>:
 1.11321 -+ *[0-9a-f]*:	fe 0f 11 00 	rsub pc,pc,0
 1.11322 -+ *[0-9a-f]*:	f8 0c 11 ff 	rsub r12,r12,-1
 1.11323 -+ *[0-9a-f]*:	ea 05 11 80 	rsub r5,r5,-128
 1.11324 -+ *[0-9a-f]*:	e8 04 11 7f 	rsub r4,r4,127
 1.11325 -+ *[0-9a-f]*:	fc 0e 11 01 	rsub lr,lr,1
 1.11326 -+ *[0-9a-f]*:	fc 09 11 60 	rsub r9,lr,96
 1.11327 -+ *[0-9a-f]*:	e2 0b 11 38 	rsub r11,r1,56
 1.11328 -+ *[0-9a-f]*:	ee 00 11 a9 	rsub r0,r7,-87
 1.11329 -+
 1.11330 -+[0-9a-f]* <clz>:
 1.11331 -+ *[0-9a-f]*:	fe 0f 12 00 	clz pc,pc
 1.11332 -+ *[0-9a-f]*:	f8 0c 12 00 	clz r12,r12
 1.11333 -+ *[0-9a-f]*:	ea 05 12 00 	clz r5,r5
 1.11334 -+ *[0-9a-f]*:	e8 04 12 00 	clz r4,r4
 1.11335 -+ *[0-9a-f]*:	fc 0e 12 00 	clz lr,lr
 1.11336 -+ *[0-9a-f]*:	e6 02 12 00 	clz r2,r3
 1.11337 -+ *[0-9a-f]*:	f6 05 12 00 	clz r5,r11
 1.11338 -+ *[0-9a-f]*:	e6 0f 12 00 	clz pc,r3
 1.11339 -+
 1.11340 -+[0-9a-f]* <cpc1>:
 1.11341 -+ *[0-9a-f]*:	fe 0f 13 00 	cpc pc,pc
 1.11342 -+ *[0-9a-f]*:	f8 0c 13 00 	cpc r12,r12
 1.11343 -+ *[0-9a-f]*:	ea 05 13 00 	cpc r5,r5
 1.11344 -+ *[0-9a-f]*:	e8 04 13 00 	cpc r4,r4
 1.11345 -+ *[0-9a-f]*:	fc 0e 13 00 	cpc lr,lr
 1.11346 -+ *[0-9a-f]*:	e8 0f 13 00 	cpc pc,r4
 1.11347 -+ *[0-9a-f]*:	f2 05 13 00 	cpc r5,r9
 1.11348 -+ *[0-9a-f]*:	ee 06 13 00 	cpc r6,r7
 1.11349 -+
 1.11350 -+[0-9a-f]* <asr3>:
 1.11351 -+ *[0-9a-f]*:	fe 0f 14 00 	asr pc,pc,0x0
 1.11352 -+ *[0-9a-f]*:	f8 0c 14 1f 	asr r12,r12,0x1f
 1.11353 -+ *[0-9a-f]*:	ea 05 14 10 	asr r5,r5,0x10
 1.11354 -+ *[0-9a-f]*:	e8 04 14 0f 	asr r4,r4,0xf
 1.11355 -+ *[0-9a-f]*:	fc 0e 14 01 	asr lr,lr,0x1
 1.11356 -+ *[0-9a-f]*:	f6 04 14 13 	asr r4,r11,0x13
 1.11357 -+ *[0-9a-f]*:	fe 0d 14 1a 	asr sp,pc,0x1a
 1.11358 -+ *[0-9a-f]*:	fa 0b 14 08 	asr r11,sp,0x8
 1.11359 -+
 1.11360 -+[0-9a-f]* <lsl3>:
 1.11361 -+ *[0-9a-f]*:	fe 0f 15 00 	lsl pc,pc,0x0
 1.11362 -+ *[0-9a-f]*:	f8 0c 15 1f 	lsl r12,r12,0x1f
 1.11363 -+ *[0-9a-f]*:	ea 05 15 10 	lsl r5,r5,0x10
 1.11364 -+ *[0-9a-f]*:	e8 04 15 0f 	lsl r4,r4,0xf
 1.11365 -+ *[0-9a-f]*:	fc 0e 15 01 	lsl lr,lr,0x1
 1.11366 -+ *[0-9a-f]*:	f4 08 15 11 	lsl r8,r10,0x11
 1.11367 -+ *[0-9a-f]*:	fc 02 15 03 	lsl r2,lr,0x3
 1.11368 -+ *[0-9a-f]*:	f6 0e 15 0e 	lsl lr,r11,0xe
 1.11369 -+
 1.11370 -+[0-9a-f]* <lsr3>:
 1.11371 -+ *[0-9a-f]*:	fe 0f 16 00 	lsr pc,pc,0x0
 1.11372 -+ *[0-9a-f]*:	f8 0c 16 1f 	lsr r12,r12,0x1f
 1.11373 -+ *[0-9a-f]*:	ea 05 16 10 	lsr r5,r5,0x10
 1.11374 -+ *[0-9a-f]*:	e8 04 16 0f 	lsr r4,r4,0xf
 1.11375 -+ *[0-9a-f]*:	fc 0e 16 01 	lsr lr,lr,0x1
 1.11376 -+ *[0-9a-f]*:	e6 04 16 1f 	lsr r4,r3,0x1f
 1.11377 -+ *[0-9a-f]*:	f2 0f 16 0e 	lsr pc,r9,0xe
 1.11378 -+ *[0-9a-f]*:	e0 03 16 06 	lsr r3,r0,0x6
 1.11379 -+
 1.11380 -+[0-9a-f]* <movc1>:
 1.11381 -+ *[0-9a-f]*:	fe 0f 17 00 	moveq pc,pc
 1.11382 -+ *[0-9a-f]*:	f8 0c 17 f0 	moval r12,r12
 1.11383 -+ *[0-9a-f]*:	ea 05 17 80 	movls r5,r5
 1.11384 -+ *[0-9a-f]*:	e8 04 17 70 	movpl r4,r4
 1.11385 -+ *[0-9a-f]*:	fc 0e 17 10 	movne lr,lr
 1.11386 -+ *[0-9a-f]*:	f6 0f 17 10 	movne pc,r11
 1.11387 -+ *[0-9a-f]*:	e4 0a 17 60 	movmi r10,r2
 1.11388 -+ *[0-9a-f]*:	f8 08 17 80 	movls r8,r12
 1.11389 -+
 1.11390 -+[0-9a-f]* <padd_h>:
 1.11391 -+ *[0-9a-f]*:	fe 0f 20 0f 	padd\.h pc,pc,pc
 1.11392 -+ *[0-9a-f]*:	f8 0c 20 0c 	padd\.h r12,r12,r12
 1.11393 -+ *[0-9a-f]*:	ea 05 20 05 	padd\.h r5,r5,r5
 1.11394 -+ *[0-9a-f]*:	e8 04 20 04 	padd\.h r4,r4,r4
 1.11395 -+ *[0-9a-f]*:	fc 0e 20 0e 	padd\.h lr,lr,lr
 1.11396 -+ *[0-9a-f]*:	e4 07 20 08 	padd\.h r8,r2,r7
 1.11397 -+ *[0-9a-f]*:	e0 03 20 00 	padd\.h r0,r0,r3
 1.11398 -+ *[0-9a-f]*:	f6 06 20 0d 	padd\.h sp,r11,r6
 1.11399 -+
 1.11400 -+[0-9a-f]* <psub_h>:
 1.11401 -+ *[0-9a-f]*:	fe 0f 20 1f 	psub\.h pc,pc,pc
 1.11402 -+ *[0-9a-f]*:	f8 0c 20 1c 	psub\.h r12,r12,r12
 1.11403 -+ *[0-9a-f]*:	ea 05 20 15 	psub\.h r5,r5,r5
 1.11404 -+ *[0-9a-f]*:	e8 04 20 14 	psub\.h r4,r4,r4
 1.11405 -+ *[0-9a-f]*:	fc 0e 20 1e 	psub\.h lr,lr,lr
 1.11406 -+ *[0-9a-f]*:	ec 08 20 1e 	psub\.h lr,r6,r8
 1.11407 -+ *[0-9a-f]*:	e2 0d 20 10 	psub\.h r0,r1,sp
 1.11408 -+ *[0-9a-f]*:	fe 0d 20 1f 	psub\.h pc,pc,sp
 1.11409 -+
 1.11410 -+[0-9a-f]* <paddx_h>:
 1.11411 -+ *[0-9a-f]*:	fe 0f 20 2f 	paddx\.h pc,pc,pc
 1.11412 -+ *[0-9a-f]*:	f8 0c 20 2c 	paddx\.h r12,r12,r12
 1.11413 -+ *[0-9a-f]*:	ea 05 20 25 	paddx\.h r5,r5,r5
 1.11414 -+ *[0-9a-f]*:	e8 04 20 24 	paddx\.h r4,r4,r4
 1.11415 -+ *[0-9a-f]*:	fc 0e 20 2e 	paddx\.h lr,lr,lr
 1.11416 -+ *[0-9a-f]*:	fe 01 20 2f 	paddx\.h pc,pc,r1
 1.11417 -+ *[0-9a-f]*:	e8 05 20 2a 	paddx\.h r10,r4,r5
 1.11418 -+ *[0-9a-f]*:	fe 02 20 25 	paddx\.h r5,pc,r2
 1.11419 -+
 1.11420 -+[0-9a-f]* <psubx_h>:
 1.11421 -+ *[0-9a-f]*:	fe 0f 20 3f 	psubx\.h pc,pc,pc
 1.11422 -+ *[0-9a-f]*:	f8 0c 20 3c 	psubx\.h r12,r12,r12
 1.11423 -+ *[0-9a-f]*:	ea 05 20 35 	psubx\.h r5,r5,r5
 1.11424 -+ *[0-9a-f]*:	e8 04 20 34 	psubx\.h r4,r4,r4
 1.11425 -+ *[0-9a-f]*:	fc 0e 20 3e 	psubx\.h lr,lr,lr
 1.11426 -+ *[0-9a-f]*:	f8 05 20 35 	psubx\.h r5,r12,r5
 1.11427 -+ *[0-9a-f]*:	f0 03 20 33 	psubx\.h r3,r8,r3
 1.11428 -+ *[0-9a-f]*:	e4 03 20 35 	psubx\.h r5,r2,r3
 1.11429 -+
 1.11430 -+[0-9a-f]* <padds_sh>:
 1.11431 -+ *[0-9a-f]*:	fe 0f 20 4f 	padds\.sh pc,pc,pc
 1.11432 -+ *[0-9a-f]*:	f8 0c 20 4c 	padds\.sh r12,r12,r12
 1.11433 -+ *[0-9a-f]*:	ea 05 20 45 	padds\.sh r5,r5,r5
 1.11434 -+ *[0-9a-f]*:	e8 04 20 44 	padds\.sh r4,r4,r4
 1.11435 -+ *[0-9a-f]*:	fc 0e 20 4e 	padds\.sh lr,lr,lr
 1.11436 -+ *[0-9a-f]*:	fc 02 20 49 	padds\.sh r9,lr,r2
 1.11437 -+ *[0-9a-f]*:	f0 01 20 46 	padds\.sh r6,r8,r1
 1.11438 -+ *[0-9a-f]*:	e8 0a 20 46 	padds\.sh r6,r4,r10
 1.11439 -+
 1.11440 -+[0-9a-f]* <psubs_sh>:
 1.11441 -+ *[0-9a-f]*:	fe 0f 20 5f 	psubs\.sh pc,pc,pc
 1.11442 -+ *[0-9a-f]*:	f8 0c 20 5c 	psubs\.sh r12,r12,r12
 1.11443 -+ *[0-9a-f]*:	ea 05 20 55 	psubs\.sh r5,r5,r5
 1.11444 -+ *[0-9a-f]*:	e8 04 20 54 	psubs\.sh r4,r4,r4
 1.11445 -+ *[0-9a-f]*:	fc 0e 20 5e 	psubs\.sh lr,lr,lr
 1.11446 -+ *[0-9a-f]*:	fc 0b 20 56 	psubs\.sh r6,lr,r11
 1.11447 -+ *[0-9a-f]*:	f8 04 20 52 	psubs\.sh r2,r12,r4
 1.11448 -+ *[0-9a-f]*:	f2 00 20 50 	psubs\.sh r0,r9,r0
 1.11449 -+
 1.11450 -+[0-9a-f]* <paddxs_sh>:
 1.11451 -+ *[0-9a-f]*:	fe 0f 20 6f 	paddxs\.sh pc,pc,pc
 1.11452 -+ *[0-9a-f]*:	f8 0c 20 6c 	paddxs\.sh r12,r12,r12
 1.11453 -+ *[0-9a-f]*:	ea 05 20 65 	paddxs\.sh r5,r5,r5
 1.11454 -+ *[0-9a-f]*:	e8 04 20 64 	paddxs\.sh r4,r4,r4
 1.11455 -+ *[0-9a-f]*:	fc 0e 20 6e 	paddxs\.sh lr,lr,lr
 1.11456 -+ *[0-9a-f]*:	e6 09 20 60 	paddxs\.sh r0,r3,r9
 1.11457 -+ *[0-9a-f]*:	f4 0b 20 6f 	paddxs\.sh pc,r10,r11
 1.11458 -+ *[0-9a-f]*:	f4 0f 20 6f 	paddxs\.sh pc,r10,pc
 1.11459 -+
 1.11460 -+[0-9a-f]* <psubxs_sh>:
 1.11461 -+ *[0-9a-f]*:	fe 0f 20 7f 	psubxs\.sh pc,pc,pc
 1.11462 -+ *[0-9a-f]*:	f8 0c 20 7c 	psubxs\.sh r12,r12,r12
 1.11463 -+ *[0-9a-f]*:	ea 05 20 75 	psubxs\.sh r5,r5,r5
 1.11464 -+ *[0-9a-f]*:	e8 04 20 74 	psubxs\.sh r4,r4,r4
 1.11465 -+ *[0-9a-f]*:	fc 0e 20 7e 	psubxs\.sh lr,lr,lr
 1.11466 -+ *[0-9a-f]*:	e8 04 20 77 	psubxs\.sh r7,r4,r4
 1.11467 -+ *[0-9a-f]*:	f0 03 20 77 	psubxs\.sh r7,r8,r3
 1.11468 -+ *[0-9a-f]*:	ec 05 20 7f 	psubxs\.sh pc,r6,r5
 1.11469 -+
 1.11470 -+[0-9a-f]* <padds_uh>:
 1.11471 -+ *[0-9a-f]*:	fe 0f 20 8f 	padds\.uh pc,pc,pc
 1.11472 -+ *[0-9a-f]*:	f8 0c 20 8c 	padds\.uh r12,r12,r12
 1.11473 -+ *[0-9a-f]*:	ea 05 20 85 	padds\.uh r5,r5,r5
 1.11474 -+ *[0-9a-f]*:	e8 04 20 84 	padds\.uh r4,r4,r4
 1.11475 -+ *[0-9a-f]*:	fc 0e 20 8e 	padds\.uh lr,lr,lr
 1.11476 -+ *[0-9a-f]*:	f6 07 20 8c 	padds\.uh r12,r11,r7
 1.11477 -+ *[0-9a-f]*:	f0 0e 20 87 	padds\.uh r7,r8,lr
 1.11478 -+ *[0-9a-f]*:	f2 07 20 86 	padds\.uh r6,r9,r7
 1.11479 -+
 1.11480 -+[0-9a-f]* <psubs_uh>:
 1.11481 -+ *[0-9a-f]*:	fe 0f 20 9f 	psubs\.uh pc,pc,pc
 1.11482 -+ *[0-9a-f]*:	f8 0c 20 9c 	psubs\.uh r12,r12,r12
 1.11483 -+ *[0-9a-f]*:	ea 05 20 95 	psubs\.uh r5,r5,r5
 1.11484 -+ *[0-9a-f]*:	e8 04 20 94 	psubs\.uh r4,r4,r4
 1.11485 -+ *[0-9a-f]*:	fc 0e 20 9e 	psubs\.uh lr,lr,lr
 1.11486 -+ *[0-9a-f]*:	f4 06 20 9e 	psubs\.uh lr,r10,r6
 1.11487 -+ *[0-9a-f]*:	e4 0f 20 9d 	psubs\.uh sp,r2,pc
 1.11488 -+ *[0-9a-f]*:	f2 02 20 92 	psubs\.uh r2,r9,r2
 1.11489 -+
 1.11490 -+[0-9a-f]* <paddxs_uh>:
 1.11491 -+ *[0-9a-f]*:	fe 0f 20 af 	paddxs\.uh pc,pc,pc
 1.11492 -+ *[0-9a-f]*:	f8 0c 20 ac 	paddxs\.uh r12,r12,r12
 1.11493 -+ *[0-9a-f]*:	ea 05 20 a5 	paddxs\.uh r5,r5,r5
 1.11494 -+ *[0-9a-f]*:	e8 04 20 a4 	paddxs\.uh r4,r4,r4
 1.11495 -+ *[0-9a-f]*:	fc 0e 20 ae 	paddxs\.uh lr,lr,lr
 1.11496 -+ *[0-9a-f]*:	f2 05 20 a7 	paddxs\.uh r7,r9,r5
 1.11497 -+ *[0-9a-f]*:	e2 04 20 a9 	paddxs\.uh r9,r1,r4
 1.11498 -+ *[0-9a-f]*:	e4 03 20 a5 	paddxs\.uh r5,r2,r3
 1.11499 -+
 1.11500 -+[0-9a-f]* <psubxs_uh>:
 1.11501 -+ *[0-9a-f]*:	fe 0f 20 bf 	psubxs\.uh pc,pc,pc
 1.11502 -+ *[0-9a-f]*:	f8 0c 20 bc 	psubxs\.uh r12,r12,r12
 1.11503 -+ *[0-9a-f]*:	ea 05 20 b5 	psubxs\.uh r5,r5,r5
 1.11504 -+ *[0-9a-f]*:	e8 04 20 b4 	psubxs\.uh r4,r4,r4
 1.11505 -+ *[0-9a-f]*:	fc 0e 20 be 	psubxs\.uh lr,lr,lr
 1.11506 -+ *[0-9a-f]*:	ea 0d 20 bd 	psubxs\.uh sp,r5,sp
 1.11507 -+ *[0-9a-f]*:	ec 06 20 bd 	psubxs\.uh sp,r6,r6
 1.11508 -+ *[0-9a-f]*:	f6 08 20 b3 	psubxs\.uh r3,r11,r8
 1.11509 -+
 1.11510 -+[0-9a-f]* <paddh_sh>:
 1.11511 -+ *[0-9a-f]*:	fe 0f 20 cf 	paddh\.sh pc,pc,pc
 1.11512 -+ *[0-9a-f]*:	f8 0c 20 cc 	paddh\.sh r12,r12,r12
 1.11513 -+ *[0-9a-f]*:	ea 05 20 c5 	paddh\.sh r5,r5,r5
 1.11514 -+ *[0-9a-f]*:	e8 04 20 c4 	paddh\.sh r4,r4,r4
 1.11515 -+ *[0-9a-f]*:	fc 0e 20 ce 	paddh\.sh lr,lr,lr
 1.11516 -+ *[0-9a-f]*:	fa 03 20 cc 	paddh\.sh r12,sp,r3
 1.11517 -+ *[0-9a-f]*:	ea 03 20 cf 	paddh\.sh pc,r5,r3
 1.11518 -+ *[0-9a-f]*:	f0 0d 20 c8 	paddh\.sh r8,r8,sp
 1.11519 -+
 1.11520 -+[0-9a-f]* <psubh_sh>:
 1.11521 -+ *[0-9a-f]*:	fe 0f 20 df 	psubh\.sh pc,pc,pc
 1.11522 -+ *[0-9a-f]*:	f8 0c 20 dc 	psubh\.sh r12,r12,r12
 1.11523 -+ *[0-9a-f]*:	ea 05 20 d5 	psubh\.sh r5,r5,r5
 1.11524 -+ *[0-9a-f]*:	e8 04 20 d4 	psubh\.sh r4,r4,r4
 1.11525 -+ *[0-9a-f]*:	fc 0e 20 de 	psubh\.sh lr,lr,lr
 1.11526 -+ *[0-9a-f]*:	ea 08 20 d1 	psubh\.sh r1,r5,r8
 1.11527 -+ *[0-9a-f]*:	e6 06 20 d7 	psubh\.sh r7,r3,r6
 1.11528 -+ *[0-9a-f]*:	e6 03 20 d4 	psubh\.sh r4,r3,r3
 1.11529 -+
 1.11530 -+[0-9a-f]* <paddxh_sh>:
 1.11531 -+ *[0-9a-f]*:	fe 0f 20 ef 	paddxh\.sh pc,pc,pc
 1.11532 -+ *[0-9a-f]*:	f8 0c 20 ec 	paddxh\.sh r12,r12,r12
 1.11533 -+ *[0-9a-f]*:	ea 05 20 e5 	paddxh\.sh r5,r5,r5
 1.11534 -+ *[0-9a-f]*:	e8 04 20 e4 	paddxh\.sh r4,r4,r4
 1.11535 -+ *[0-9a-f]*:	fc 0e 20 ee 	paddxh\.sh lr,lr,lr
 1.11536 -+ *[0-9a-f]*:	e0 04 20 e6 	paddxh\.sh r6,r0,r4
 1.11537 -+ *[0-9a-f]*:	f0 09 20 e9 	paddxh\.sh r9,r8,r9
 1.11538 -+ *[0-9a-f]*:	e0 0d 20 e3 	paddxh\.sh r3,r0,sp
 1.11539 -+
 1.11540 -+[0-9a-f]* <psubxh_sh>:
 1.11541 -+ *[0-9a-f]*:	fe 0f 20 ff 	psubxh\.sh pc,pc,pc
 1.11542 -+ *[0-9a-f]*:	f8 0c 20 fc 	psubxh\.sh r12,r12,r12
 1.11543 -+ *[0-9a-f]*:	ea 05 20 f5 	psubxh\.sh r5,r5,r5
 1.11544 -+ *[0-9a-f]*:	e8 04 20 f4 	psubxh\.sh r4,r4,r4
 1.11545 -+ *[0-9a-f]*:	fc 0e 20 fe 	psubxh\.sh lr,lr,lr
 1.11546 -+ *[0-9a-f]*:	fe 0c 20 f4 	psubxh\.sh r4,pc,r12
 1.11547 -+ *[0-9a-f]*:	e8 06 20 f8 	psubxh\.sh r8,r4,r6
 1.11548 -+ *[0-9a-f]*:	f2 04 20 fc 	psubxh\.sh r12,r9,r4
 1.11549 -+
 1.11550 -+[0-9a-f]* <paddsub_h>:
 1.11551 -+ *[0-9a-f]*:	fe 0f 21 0f 	paddsub\.h pc,pc:b,pc:b
 1.11552 -+ *[0-9a-f]*:	f8 0c 21 3c 	paddsub\.h r12,r12:t,r12:t
 1.11553 -+ *[0-9a-f]*:	ea 05 21 35 	paddsub\.h r5,r5:t,r5:t
 1.11554 -+ *[0-9a-f]*:	e8 04 21 04 	paddsub\.h r4,r4:b,r4:b
 1.11555 -+ *[0-9a-f]*:	fc 0e 21 3e 	paddsub\.h lr,lr:t,lr:t
 1.11556 -+ *[0-9a-f]*:	e4 0e 21 25 	paddsub\.h r5,r2:t,lr:b
 1.11557 -+ *[0-9a-f]*:	e2 08 21 07 	paddsub\.h r7,r1:b,r8:b
 1.11558 -+ *[0-9a-f]*:	f4 05 21 36 	paddsub\.h r6,r10:t,r5:t
 1.11559 -+
 1.11560 -+[0-9a-f]* <psubadd_h>:
 1.11561 -+ *[0-9a-f]*:	fe 0f 21 4f 	psubadd\.h pc,pc:b,pc:b
 1.11562 -+ *[0-9a-f]*:	f8 0c 21 7c 	psubadd\.h r12,r12:t,r12:t
 1.11563 -+ *[0-9a-f]*:	ea 05 21 75 	psubadd\.h r5,r5:t,r5:t
 1.11564 -+ *[0-9a-f]*:	e8 04 21 44 	psubadd\.h r4,r4:b,r4:b
 1.11565 -+ *[0-9a-f]*:	fc 0e 21 7e 	psubadd\.h lr,lr:t,lr:t
 1.11566 -+ *[0-9a-f]*:	f6 08 21 79 	psubadd\.h r9,r11:t,r8:t
 1.11567 -+ *[0-9a-f]*:	ee 0e 21 7a 	psubadd\.h r10,r7:t,lr:t
 1.11568 -+ *[0-9a-f]*:	fe 0f 21 66 	psubadd\.h r6,pc:t,pc:b
 1.11569 -+
 1.11570 -+[0-9a-f]* <paddsubs_sh>:
 1.11571 -+ *[0-9a-f]*:	fe 0f 21 8f 	paddsubs\.sh pc,pc:b,pc:b
 1.11572 -+ *[0-9a-f]*:	f8 0c 21 bc 	paddsubs\.sh r12,r12:t,r12:t
 1.11573 -+ *[0-9a-f]*:	ea 05 21 b5 	paddsubs\.sh r5,r5:t,r5:t
 1.11574 -+ *[0-9a-f]*:	e8 04 21 84 	paddsubs\.sh r4,r4:b,r4:b
 1.11575 -+ *[0-9a-f]*:	fc 0e 21 be 	paddsubs\.sh lr,lr:t,lr:t
 1.11576 -+ *[0-9a-f]*:	fc 00 21 a0 	paddsubs\.sh r0,lr:t,r0:b
 1.11577 -+ *[0-9a-f]*:	e4 04 21 b9 	paddsubs\.sh r9,r2:t,r4:t
 1.11578 -+ *[0-9a-f]*:	f2 0d 21 bc 	paddsubs\.sh r12,r9:t,sp:t
 1.11579 -+
 1.11580 -+[0-9a-f]* <psubadds_sh>:
 1.11581 -+ *[0-9a-f]*:	fe 0f 21 cf 	psubadds\.sh pc,pc:b,pc:b
 1.11582 -+ *[0-9a-f]*:	f8 0c 21 fc 	psubadds\.sh r12,r12:t,r12:t
 1.11583 -+ *[0-9a-f]*:	ea 05 21 f5 	psubadds\.sh r5,r5:t,r5:t
 1.11584 -+ *[0-9a-f]*:	e8 04 21 c4 	psubadds\.sh r4,r4:b,r4:b
 1.11585 -+ *[0-9a-f]*:	fc 0e 21 fe 	psubadds\.sh lr,lr:t,lr:t
 1.11586 -+ *[0-9a-f]*:	fc 01 21 df 	psubadds\.sh pc,lr:b,r1:t
 1.11587 -+ *[0-9a-f]*:	e6 0c 21 cb 	psubadds\.sh r11,r3:b,r12:b
 1.11588 -+ *[0-9a-f]*:	e4 08 21 fa 	psubadds\.sh r10,r2:t,r8:t
 1.11589 -+
 1.11590 -+[0-9a-f]* <paddsubs_uh>:
 1.11591 -+ *[0-9a-f]*:	fe 0f 22 0f 	paddsubs\.uh pc,pc:b,pc:b
 1.11592 -+ *[0-9a-f]*:	f8 0c 22 3c 	paddsubs\.uh r12,r12:t,r12:t
 1.11593 -+ *[0-9a-f]*:	ea 05 22 35 	paddsubs\.uh r5,r5:t,r5:t
 1.11594 -+ *[0-9a-f]*:	e8 04 22 04 	paddsubs\.uh r4,r4:b,r4:b
 1.11595 -+ *[0-9a-f]*:	fc 0e 22 3e 	paddsubs\.uh lr,lr:t,lr:t
 1.11596 -+ *[0-9a-f]*:	e4 03 22 09 	paddsubs\.uh r9,r2:b,r3:b
 1.11597 -+ *[0-9a-f]*:	fa 07 22 1d 	paddsubs\.uh sp,sp:b,r7:t
 1.11598 -+ *[0-9a-f]*:	e0 0a 22 1e 	paddsubs\.uh lr,r0:b,r10:t
 1.11599 -+
 1.11600 -+[0-9a-f]* <psubadds_uh>:
 1.11601 -+ *[0-9a-f]*:	fe 0f 22 4f 	psubadds\.uh pc,pc:b,pc:b
 1.11602 -+ *[0-9a-f]*:	f8 0c 22 7c 	psubadds\.uh r12,r12:t,r12:t
 1.11603 -+ *[0-9a-f]*:	ea 05 22 75 	psubadds\.uh r5,r5:t,r5:t
 1.11604 -+ *[0-9a-f]*:	e8 04 22 44 	psubadds\.uh r4,r4:b,r4:b
 1.11605 -+ *[0-9a-f]*:	fc 0e 22 7e 	psubadds\.uh lr,lr:t,lr:t
 1.11606 -+ *[0-9a-f]*:	f2 0f 22 7c 	psubadds\.uh r12,r9:t,pc:t
 1.11607 -+ *[0-9a-f]*:	ec 08 22 48 	psubadds\.uh r8,r6:b,r8:b
 1.11608 -+ *[0-9a-f]*:	f0 04 22 48 	psubadds\.uh r8,r8:b,r4:b
 1.11609 -+
 1.11610 -+[0-9a-f]* <paddsubh_sh>:
 1.11611 -+ *[0-9a-f]*:	fe 0f 22 8f 	paddsubh\.sh pc,pc:b,pc:b
 1.11612 -+ *[0-9a-f]*:	f8 0c 22 bc 	paddsubh\.sh r12,r12:t,r12:t
 1.11613 -+ *[0-9a-f]*:	ea 05 22 b5 	paddsubh\.sh r5,r5:t,r5:t
 1.11614 -+ *[0-9a-f]*:	e8 04 22 84 	paddsubh\.sh r4,r4:b,r4:b
 1.11615 -+ *[0-9a-f]*:	fc 0e 22 be 	paddsubh\.sh lr,lr:t,lr:t
 1.11616 -+ *[0-9a-f]*:	f2 09 22 a8 	paddsubh\.sh r8,r9:t,r9:b
 1.11617 -+ *[0-9a-f]*:	fa 01 22 b0 	paddsubh\.sh r0,sp:t,r1:t
 1.11618 -+ *[0-9a-f]*:	e2 00 22 93 	paddsubh\.sh r3,r1:b,r0:t
 1.11619 -+
 1.11620 -+[0-9a-f]* <psubaddh_sh>:
 1.11621 -+ *[0-9a-f]*:	fe 0f 22 cf 	psubaddh\.sh pc,pc:b,pc:b
 1.11622 -+ *[0-9a-f]*:	f8 0c 22 fc 	psubaddh\.sh r12,r12:t,r12:t
 1.11623 -+ *[0-9a-f]*:	ea 05 22 f5 	psubaddh\.sh r5,r5:t,r5:t
 1.11624 -+ *[0-9a-f]*:	e8 04 22 c4 	psubaddh\.sh r4,r4:b,r4:b
 1.11625 -+ *[0-9a-f]*:	fc 0e 22 fe 	psubaddh\.sh lr,lr:t,lr:t
 1.11626 -+ *[0-9a-f]*:	e6 0a 22 e7 	psubaddh\.sh r7,r3:t,r10:b
 1.11627 -+ *[0-9a-f]*:	e4 01 22 f7 	psubaddh\.sh r7,r2:t,r1:t
 1.11628 -+ *[0-9a-f]*:	e6 06 22 cb 	psubaddh\.sh r11,r3:b,r6:b
 1.11629 -+
 1.11630 -+[0-9a-f]* <padd_b>:
 1.11631 -+ *[0-9a-f]*:	fe 0f 23 0f 	padd\.b pc,pc,pc
 1.11632 -+ *[0-9a-f]*:	f8 0c 23 0c 	padd\.b r12,r12,r12
 1.11633 -+ *[0-9a-f]*:	ea 05 23 05 	padd\.b r5,r5,r5
 1.11634 -+ *[0-9a-f]*:	e8 04 23 04 	padd\.b r4,r4,r4
 1.11635 -+ *[0-9a-f]*:	fc 0e 23 0e 	padd\.b lr,lr,lr
 1.11636 -+ *[0-9a-f]*:	ec 0f 23 02 	padd\.b r2,r6,pc
 1.11637 -+ *[0-9a-f]*:	f2 0c 23 08 	padd\.b r8,r9,r12
 1.11638 -+ *[0-9a-f]*:	f8 03 23 05 	padd\.b r5,r12,r3
 1.11639 -+
 1.11640 -+[0-9a-f]* <psub_b>:
 1.11641 -+ *[0-9a-f]*:	fe 0f 23 1f 	psub\.b pc,pc,pc
 1.11642 -+ *[0-9a-f]*:	f8 0c 23 1c 	psub\.b r12,r12,r12
 1.11643 -+ *[0-9a-f]*:	ea 05 23 15 	psub\.b r5,r5,r5
 1.11644 -+ *[0-9a-f]*:	e8 04 23 14 	psub\.b r4,r4,r4
 1.11645 -+ *[0-9a-f]*:	fc 0e 23 1e 	psub\.b lr,lr,lr
 1.11646 -+ *[0-9a-f]*:	f8 0f 23 10 	psub\.b r0,r12,pc
 1.11647 -+ *[0-9a-f]*:	fa 0a 23 17 	psub\.b r7,sp,r10
 1.11648 -+ *[0-9a-f]*:	fa 0c 23 15 	psub\.b r5,sp,r12
 1.11649 -+
 1.11650 -+[0-9a-f]* <padds_sb>:
 1.11651 -+ *[0-9a-f]*:	fe 0f 23 2f 	padds\.sb pc,pc,pc
 1.11652 -+ *[0-9a-f]*:	f8 0c 23 2c 	padds\.sb r12,r12,r12
 1.11653 -+ *[0-9a-f]*:	ea 05 23 25 	padds\.sb r5,r5,r5
 1.11654 -+ *[0-9a-f]*:	e8 04 23 24 	padds\.sb r4,r4,r4
 1.11655 -+ *[0-9a-f]*:	fc 0e 23 2e 	padds\.sb lr,lr,lr
 1.11656 -+ *[0-9a-f]*:	f6 04 23 2d 	padds\.sb sp,r11,r4
 1.11657 -+ *[0-9a-f]*:	f4 0b 23 2b 	padds\.sb r11,r10,r11
 1.11658 -+ *[0-9a-f]*:	f8 06 23 25 	padds\.sb r5,r12,r6
 1.11659 -+
 1.11660 -+[0-9a-f]* <psubs_sb>:
 1.11661 -+ *[0-9a-f]*:	fe 0f 23 3f 	psubs\.sb pc,pc,pc
 1.11662 -+ *[0-9a-f]*:	f8 0c 23 3c 	psubs\.sb r12,r12,r12
 1.11663 -+ *[0-9a-f]*:	ea 05 23 35 	psubs\.sb r5,r5,r5
 1.11664 -+ *[0-9a-f]*:	e8 04 23 34 	psubs\.sb r4,r4,r4
 1.11665 -+ *[0-9a-f]*:	fc 0e 23 3e 	psubs\.sb lr,lr,lr
 1.11666 -+ *[0-9a-f]*:	ec 08 23 37 	psubs\.sb r7,r6,r8
 1.11667 -+ *[0-9a-f]*:	f4 09 23 3c 	psubs\.sb r12,r10,r9
 1.11668 -+ *[0-9a-f]*:	f6 00 23 3f 	psubs\.sb pc,r11,r0
 1.11669 -+
 1.11670 -+[0-9a-f]* <padds_ub>:
 1.11671 -+ *[0-9a-f]*:	fe 0f 23 4f 	padds\.ub pc,pc,pc
 1.11672 -+ *[0-9a-f]*:	f8 0c 23 4c 	padds\.ub r12,r12,r12
 1.11673 -+ *[0-9a-f]*:	ea 05 23 45 	padds\.ub r5,r5,r5
 1.11674 -+ *[0-9a-f]*:	e8 04 23 44 	padds\.ub r4,r4,r4
 1.11675 -+ *[0-9a-f]*:	fc 0e 23 4e 	padds\.ub lr,lr,lr
 1.11676 -+ *[0-9a-f]*:	e4 0b 23 43 	padds\.ub r3,r2,r11
 1.11677 -+ *[0-9a-f]*:	f0 01 23 4a 	padds\.ub r10,r8,r1
 1.11678 -+ *[0-9a-f]*:	f0 0a 23 4b 	padds\.ub r11,r8,r10
 1.11679 -+
 1.11680 -+[0-9a-f]* <psubs_ub>:
 1.11681 -+ *[0-9a-f]*:	fe 0f 23 5f 	psubs\.ub pc,pc,pc
 1.11682 -+ *[0-9a-f]*:	f8 0c 23 5c 	psubs\.ub r12,r12,r12
 1.11683 -+ *[0-9a-f]*:	ea 05 23 55 	psubs\.ub r5,r5,r5
 1.11684 -+ *[0-9a-f]*:	e8 04 23 54 	psubs\.ub r4,r4,r4
 1.11685 -+ *[0-9a-f]*:	fc 0e 23 5e 	psubs\.ub lr,lr,lr
 1.11686 -+ *[0-9a-f]*:	e4 07 23 50 	psubs\.ub r0,r2,r7
 1.11687 -+ *[0-9a-f]*:	ea 03 23 5e 	psubs\.ub lr,r5,r3
 1.11688 -+ *[0-9a-f]*:	ee 09 23 56 	psubs\.ub r6,r7,r9
 1.11689 -+
 1.11690 -+[0-9a-f]* <paddh_ub>:
 1.11691 -+ *[0-9a-f]*:	fe 0f 23 6f 	paddh\.ub pc,pc,pc
 1.11692 -+ *[0-9a-f]*:	f8 0c 23 6c 	paddh\.ub r12,r12,r12
 1.11693 -+ *[0-9a-f]*:	ea 05 23 65 	paddh\.ub r5,r5,r5
 1.11694 -+ *[0-9a-f]*:	e8 04 23 64 	paddh\.ub r4,r4,r4
 1.11695 -+ *[0-9a-f]*:	fc 0e 23 6e 	paddh\.ub lr,lr,lr
 1.11696 -+ *[0-9a-f]*:	e2 00 23 6e 	paddh\.ub lr,r1,r0
 1.11697 -+ *[0-9a-f]*:	ee 07 23 62 	paddh\.ub r2,r7,r7
 1.11698 -+ *[0-9a-f]*:	e2 02 23 62 	paddh\.ub r2,r1,r2
 1.11699 -+
 1.11700 -+[0-9a-f]* <psubh_ub>:
 1.11701 -+ *[0-9a-f]*:	fe 0f 23 7f 	psubh\.ub pc,pc,pc
 1.11702 -+ *[0-9a-f]*:	f8 0c 23 7c 	psubh\.ub r12,r12,r12
 1.11703 -+ *[0-9a-f]*:	ea 05 23 75 	psubh\.ub r5,r5,r5
 1.11704 -+ *[0-9a-f]*:	e8 04 23 74 	psubh\.ub r4,r4,r4
 1.11705 -+ *[0-9a-f]*:	fc 0e 23 7e 	psubh\.ub lr,lr,lr
 1.11706 -+ *[0-9a-f]*:	e2 06 23 70 	psubh\.ub r0,r1,r6
 1.11707 -+ *[0-9a-f]*:	fc 0a 23 74 	psubh\.ub r4,lr,r10
 1.11708 -+ *[0-9a-f]*:	f0 01 23 79 	psubh\.ub r9,r8,r1
 1.11709 -+
 1.11710 -+[0-9a-f]* <pmax_ub>:
 1.11711 -+ *[0-9a-f]*:	fe 0f 23 8f 	pmax\.ub pc,pc,pc
 1.11712 -+ *[0-9a-f]*:	f8 0c 23 8c 	pmax\.ub r12,r12,r12
 1.11713 -+ *[0-9a-f]*:	ea 05 23 85 	pmax\.ub r5,r5,r5
 1.11714 -+ *[0-9a-f]*:	e8 04 23 84 	pmax\.ub r4,r4,r4
 1.11715 -+ *[0-9a-f]*:	fc 0e 23 8e 	pmax\.ub lr,lr,lr
 1.11716 -+ *[0-9a-f]*:	e4 0b 23 8f 	pmax\.ub pc,r2,r11
 1.11717 -+ *[0-9a-f]*:	e2 01 23 8c 	pmax\.ub r12,r1,r1
 1.11718 -+ *[0-9a-f]*:	e4 00 23 85 	pmax\.ub r5,r2,r0
 1.11719 -+
 1.11720 -+[0-9a-f]* <pmax_sh>:
 1.11721 -+ *[0-9a-f]*:	fe 0f 23 9f 	pmax\.sh pc,pc,pc
 1.11722 -+ *[0-9a-f]*:	f8 0c 23 9c 	pmax\.sh r12,r12,r12
 1.11723 -+ *[0-9a-f]*:	ea 05 23 95 	pmax\.sh r5,r5,r5
 1.11724 -+ *[0-9a-f]*:	e8 04 23 94 	pmax\.sh r4,r4,r4
 1.11725 -+ *[0-9a-f]*:	fc 0e 23 9e 	pmax\.sh lr,lr,lr
 1.11726 -+ *[0-9a-f]*:	ec 0c 23 9e 	pmax\.sh lr,r6,r12
 1.11727 -+ *[0-9a-f]*:	fe 05 23 92 	pmax\.sh r2,pc,r5
 1.11728 -+ *[0-9a-f]*:	e4 07 23 9f 	pmax\.sh pc,r2,r7
 1.11729 -+
 1.11730 -+[0-9a-f]* <pmin_ub>:
 1.11731 -+ *[0-9a-f]*:	fe 0f 23 af 	pmin\.ub pc,pc,pc
 1.11732 -+ *[0-9a-f]*:	f8 0c 23 ac 	pmin\.ub r12,r12,r12
 1.11733 -+ *[0-9a-f]*:	ea 05 23 a5 	pmin\.ub r5,r5,r5
 1.11734 -+ *[0-9a-f]*:	e8 04 23 a4 	pmin\.ub r4,r4,r4
 1.11735 -+ *[0-9a-f]*:	fc 0e 23 ae 	pmin\.ub lr,lr,lr
 1.11736 -+ *[0-9a-f]*:	e2 05 23 a8 	pmin\.ub r8,r1,r5
 1.11737 -+ *[0-9a-f]*:	f0 03 23 a1 	pmin\.ub r1,r8,r3
 1.11738 -+ *[0-9a-f]*:	e4 07 23 a0 	pmin\.ub r0,r2,r7
 1.11739 -+
 1.11740 -+[0-9a-f]* <pmin_sh>:
 1.11741 -+ *[0-9a-f]*:	fe 0f 23 bf 	pmin\.sh pc,pc,pc
 1.11742 -+ *[0-9a-f]*:	f8 0c 23 bc 	pmin\.sh r12,r12,r12
 1.11743 -+ *[0-9a-f]*:	ea 05 23 b5 	pmin\.sh r5,r5,r5
 1.11744 -+ *[0-9a-f]*:	e8 04 23 b4 	pmin\.sh r4,r4,r4
 1.11745 -+ *[0-9a-f]*:	fc 0e 23 be 	pmin\.sh lr,lr,lr
 1.11746 -+ *[0-9a-f]*:	e8 0a 23 b8 	pmin\.sh r8,r4,r10
 1.11747 -+ *[0-9a-f]*:	f4 0c 23 be 	pmin\.sh lr,r10,r12
 1.11748 -+ *[0-9a-f]*:	ec 02 23 b2 	pmin\.sh r2,r6,r2
 1.11749 -+
 1.11750 -+[0-9a-f]* <pavg_ub>:
 1.11751 -+ *[0-9a-f]*:	fe 0f 23 cf 	pavg\.ub pc,pc,pc
 1.11752 -+ *[0-9a-f]*:	f8 0c 23 cc 	pavg\.ub r12,r12,r12
 1.11753 -+ *[0-9a-f]*:	ea 05 23 c5 	pavg\.ub r5,r5,r5
 1.11754 -+ *[0-9a-f]*:	e8 04 23 c4 	pavg\.ub r4,r4,r4
 1.11755 -+ *[0-9a-f]*:	fc 0e 23 ce 	pavg\.ub lr,lr,lr
 1.11756 -+ *[0-9a-f]*:	e2 06 23 c0 	pavg\.ub r0,r1,r6
 1.11757 -+ *[0-9a-f]*:	e6 06 23 c8 	pavg\.ub r8,r3,r6
 1.11758 -+ *[0-9a-f]*:	f8 0a 23 cf 	pavg\.ub pc,r12,r10
 1.11759 -+
 1.11760 -+[0-9a-f]* <pavg_sh>:
 1.11761 -+ *[0-9a-f]*:	fe 0f 23 df 	pavg\.sh pc,pc,pc
 1.11762 -+ *[0-9a-f]*:	f8 0c 23 dc 	pavg\.sh r12,r12,r12
 1.11763 -+ *[0-9a-f]*:	ea 05 23 d5 	pavg\.sh r5,r5,r5
 1.11764 -+ *[0-9a-f]*:	e8 04 23 d4 	pavg\.sh r4,r4,r4
 1.11765 -+ *[0-9a-f]*:	fc 0e 23 de 	pavg\.sh lr,lr,lr
 1.11766 -+ *[0-9a-f]*:	fe 0d 23 d9 	pavg\.sh r9,pc,sp
 1.11767 -+ *[0-9a-f]*:	fa 03 23 df 	pavg\.sh pc,sp,r3
 1.11768 -+ *[0-9a-f]*:	e2 09 23 d6 	pavg\.sh r6,r1,r9
 1.11769 -+
 1.11770 -+[0-9a-f]* <pabs_sb>:
 1.11771 -+ *[0-9a-f]*:	e0 0f 23 ef 	pabs\.sb pc,pc
 1.11772 -+ *[0-9a-f]*:	e0 0c 23 ec 	pabs\.sb r12,r12
 1.11773 -+ *[0-9a-f]*:	e0 05 23 e5 	pabs\.sb r5,r5
 1.11774 -+ *[0-9a-f]*:	e0 04 23 e4 	pabs\.sb r4,r4
 1.11775 -+ *[0-9a-f]*:	e0 0e 23 ee 	pabs\.sb lr,lr
 1.11776 -+ *[0-9a-f]*:	e0 06 23 eb 	pabs\.sb r11,r6
 1.11777 -+ *[0-9a-f]*:	e0 09 23 ee 	pabs\.sb lr,r9
 1.11778 -+ *[0-9a-f]*:	e0 07 23 ed 	pabs\.sb sp,r7
 1.11779 -+
 1.11780 -+[0-9a-f]* <pabs_sh>:
 1.11781 -+ *[0-9a-f]*:	e0 0f 23 ff 	pabs\.sh pc,pc
 1.11782 -+ *[0-9a-f]*:	e0 0c 23 fc 	pabs\.sh r12,r12
 1.11783 -+ *[0-9a-f]*:	e0 05 23 f5 	pabs\.sh r5,r5
 1.11784 -+ *[0-9a-f]*:	e0 04 23 f4 	pabs\.sh r4,r4
 1.11785 -+ *[0-9a-f]*:	e0 0e 23 fe 	pabs\.sh lr,lr
 1.11786 -+ *[0-9a-f]*:	e0 03 23 ff 	pabs\.sh pc,r3
 1.11787 -+ *[0-9a-f]*:	e0 07 23 f5 	pabs\.sh r5,r7
 1.11788 -+ *[0-9a-f]*:	e0 00 23 f4 	pabs\.sh r4,r0
 1.11789 -+
 1.11790 -+[0-9a-f]* <psad>:
 1.11791 -+ *[0-9a-f]*:	fe 0f 24 0f 	psad pc,pc,pc
 1.11792 -+ *[0-9a-f]*:	f8 0c 24 0c 	psad r12,r12,r12
 1.11793 -+ *[0-9a-f]*:	ea 05 24 05 	psad r5,r5,r5
 1.11794 -+ *[0-9a-f]*:	e8 04 24 04 	psad r4,r4,r4
 1.11795 -+ *[0-9a-f]*:	fc 0e 24 0e 	psad lr,lr,lr
 1.11796 -+ *[0-9a-f]*:	f6 0b 24 09 	psad r9,r11,r11
 1.11797 -+ *[0-9a-f]*:	e8 0d 24 0e 	psad lr,r4,sp
 1.11798 -+ *[0-9a-f]*:	e8 05 24 0e 	psad lr,r4,r5
 1.11799 -+
 1.11800 -+[0-9a-f]* <pasr_b>:
 1.11801 -+ *[0-9a-f]*:	fe 00 24 1f 	pasr\.b pc,pc,0x0
 1.11802 -+ *[0-9a-f]*:	f8 07 24 1c 	pasr\.b r12,r12,0x7
 1.11803 -+ *[0-9a-f]*:	ea 04 24 15 	pasr\.b r5,r5,0x4
 1.11804 -+ *[0-9a-f]*:	e8 03 24 14 	pasr\.b r4,r4,0x3
 1.11805 -+ *[0-9a-f]*:	fc 01 24 1e 	pasr\.b lr,lr,0x1
 1.11806 -+ *[0-9a-f]*:	ee 01 24 1f 	pasr\.b pc,r7,0x1
 1.11807 -+ *[0-9a-f]*:	fc 06 24 1d 	pasr\.b sp,lr,0x6
 1.11808 -+ *[0-9a-f]*:	e6 02 24 1d 	pasr\.b sp,r3,0x2
 1.11809 -+
 1.11810 -+[0-9a-f]* <plsl_b>:
 1.11811 -+ *[0-9a-f]*:	fe 00 24 2f 	plsl\.b pc,pc,0x0
 1.11812 -+ *[0-9a-f]*:	f8 07 24 2c 	plsl\.b r12,r12,0x7
 1.11813 -+ *[0-9a-f]*:	ea 04 24 25 	plsl\.b r5,r5,0x4
 1.11814 -+ *[0-9a-f]*:	e8 03 24 24 	plsl\.b r4,r4,0x3
 1.11815 -+ *[0-9a-f]*:	fc 01 24 2e 	plsl\.b lr,lr,0x1
 1.11816 -+ *[0-9a-f]*:	f6 04 24 22 	plsl\.b r2,r11,0x4
 1.11817 -+ *[0-9a-f]*:	ea 07 24 28 	plsl\.b r8,r5,0x7
 1.11818 -+ *[0-9a-f]*:	e0 02 24 2f 	plsl\.b pc,r0,0x2
 1.11819 -+
 1.11820 -+[0-9a-f]* <plsr_b>:
 1.11821 -+ *[0-9a-f]*:	fe 00 24 3f 	plsr\.b pc,pc,0x0
 1.11822 -+ *[0-9a-f]*:	f8 07 24 3c 	plsr\.b r12,r12,0x7
 1.11823 -+ *[0-9a-f]*:	ea 04 24 35 	plsr\.b r5,r5,0x4
 1.11824 -+ *[0-9a-f]*:	e8 03 24 34 	plsr\.b r4,r4,0x3
 1.11825 -+ *[0-9a-f]*:	fc 01 24 3e 	plsr\.b lr,lr,0x1
 1.11826 -+ *[0-9a-f]*:	e2 02 24 3c 	plsr\.b r12,r1,0x2
 1.11827 -+ *[0-9a-f]*:	fe 07 24 36 	plsr\.b r6,pc,0x7
 1.11828 -+ *[0-9a-f]*:	f6 02 24 3c 	plsr\.b r12,r11,0x2
 1.11829 -+
 1.11830 -+[0-9a-f]* <pasr_h>:
 1.11831 -+ *[0-9a-f]*:	fe 00 24 4f 	pasr\.h pc,pc,0x0
 1.11832 -+ *[0-9a-f]*:	f8 0f 24 4c 	pasr\.h r12,r12,0xf
 1.11833 -+ *[0-9a-f]*:	ea 08 24 45 	pasr\.h r5,r5,0x8
 1.11834 -+ *[0-9a-f]*:	e8 07 24 44 	pasr\.h r4,r4,0x7
 1.11835 -+ *[0-9a-f]*:	fc 01 24 4e 	pasr\.h lr,lr,0x1
 1.11836 -+ *[0-9a-f]*:	f6 0a 24 40 	pasr\.h r0,r11,0xa
 1.11837 -+ *[0-9a-f]*:	ec 08 24 44 	pasr\.h r4,r6,0x8
 1.11838 -+ *[0-9a-f]*:	e4 04 24 46 	pasr\.h r6,r2,0x4
 1.11839 -+
 1.11840 -+[0-9a-f]* <plsl_h>:
 1.11841 -+ *[0-9a-f]*:	fe 00 24 5f 	plsl\.h pc,pc,0x0
 1.11842 -+ *[0-9a-f]*:	f8 0f 24 5c 	plsl\.h r12,r12,0xf
 1.11843 -+ *[0-9a-f]*:	ea 08 24 55 	plsl\.h r5,r5,0x8
 1.11844 -+ *[0-9a-f]*:	e8 07 24 54 	plsl\.h r4,r4,0x7
 1.11845 -+ *[0-9a-f]*:	fc 01 24 5e 	plsl\.h lr,lr,0x1
 1.11846 -+ *[0-9a-f]*:	f4 09 24 55 	plsl\.h r5,r10,0x9
 1.11847 -+ *[0-9a-f]*:	fc 08 24 5d 	plsl\.h sp,lr,0x8
 1.11848 -+ *[0-9a-f]*:	fc 07 24 50 	plsl\.h r0,lr,0x7
 1.11849 -+
 1.11850 -+[0-9a-f]* <plsr_h>:
 1.11851 -+ *[0-9a-f]*:	fe 00 24 6f 	plsr\.h pc,pc,0x0
 1.11852 -+ *[0-9a-f]*:	f8 0f 24 6c 	plsr\.h r12,r12,0xf
 1.11853 -+ *[0-9a-f]*:	ea 08 24 65 	plsr\.h r5,r5,0x8
 1.11854 -+ *[0-9a-f]*:	e8 07 24 64 	plsr\.h r4,r4,0x7
 1.11855 -+ *[0-9a-f]*:	fc 01 24 6e 	plsr\.h lr,lr,0x1
 1.11856 -+ *[0-9a-f]*:	e0 0f 24 6b 	plsr\.h r11,r0,0xf
 1.11857 -+ *[0-9a-f]*:	e6 03 24 6e 	plsr\.h lr,r3,0x3
 1.11858 -+ *[0-9a-f]*:	fc 0a 24 68 	plsr\.h r8,lr,0xa
 1.11859 -+
 1.11860 -+[0-9a-f]* <packw_sh>:
 1.11861 -+ *[0-9a-f]*:	fe 0f 24 7f 	packw\.sh pc,pc,pc
 1.11862 -+ *[0-9a-f]*:	f8 0c 24 7c 	packw\.sh r12,r12,r12
 1.11863 -+ *[0-9a-f]*:	ea 05 24 75 	packw\.sh r5,r5,r5
 1.11864 -+ *[0-9a-f]*:	e8 04 24 74 	packw\.sh r4,r4,r4
 1.11865 -+ *[0-9a-f]*:	fc 0e 24 7e 	packw\.sh lr,lr,lr
 1.11866 -+ *[0-9a-f]*:	f6 0a 24 7d 	packw\.sh sp,r11,r10
 1.11867 -+ *[0-9a-f]*:	e4 0c 24 78 	packw\.sh r8,r2,r12
 1.11868 -+ *[0-9a-f]*:	e2 05 24 78 	packw\.sh r8,r1,r5
 1.11869 -+
 1.11870 -+[0-9a-f]* <punpckub_h>:
 1.11871 -+ *[0-9a-f]*:	fe 00 24 8f 	punpckub\.h pc,pc:b
 1.11872 -+ *[0-9a-f]*:	f8 00 24 9c 	punpckub\.h r12,r12:t
 1.11873 -+ *[0-9a-f]*:	ea 00 24 95 	punpckub\.h r5,r5:t
 1.11874 -+ *[0-9a-f]*:	e8 00 24 84 	punpckub\.h r4,r4:b
 1.11875 -+ *[0-9a-f]*:	fc 00 24 9e 	punpckub\.h lr,lr:t
 1.11876 -+ *[0-9a-f]*:	e2 00 24 96 	punpckub\.h r6,r1:t
 1.11877 -+ *[0-9a-f]*:	ea 00 24 8e 	punpckub\.h lr,r5:b
 1.11878 -+ *[0-9a-f]*:	e4 00 24 9e 	punpckub\.h lr,r2:t
 1.11879 -+
 1.11880 -+[0-9a-f]* <punpcksb_h>:
 1.11881 -+ *[0-9a-f]*:	fe 00 24 af 	punpcksb\.h pc,pc:b
 1.11882 -+ *[0-9a-f]*:	f8 00 24 bc 	punpcksb\.h r12,r12:t
 1.11883 -+ *[0-9a-f]*:	ea 00 24 b5 	punpcksb\.h r5,r5:t
 1.11884 -+ *[0-9a-f]*:	e8 00 24 a4 	punpcksb\.h r4,r4:b
 1.11885 -+ *[0-9a-f]*:	fc 00 24 be 	punpcksb\.h lr,lr:t
 1.11886 -+ *[0-9a-f]*:	ee 00 24 b4 	punpcksb\.h r4,r7:t
 1.11887 -+ *[0-9a-f]*:	fc 00 24 a6 	punpcksb\.h r6,lr:b
 1.11888 -+ *[0-9a-f]*:	f8 00 24 bc 	punpcksb\.h r12,r12:t
 1.11889 -+
 1.11890 -+[0-9a-f]* <packsh_ub>:
 1.11891 -+ *[0-9a-f]*:	fe 0f 24 cf 	packsh\.ub pc,pc,pc
 1.11892 -+ *[0-9a-f]*:	f8 0c 24 cc 	packsh\.ub r12,r12,r12
 1.11893 -+ *[0-9a-f]*:	ea 05 24 c5 	packsh\.ub r5,r5,r5
 1.11894 -+ *[0-9a-f]*:	e8 04 24 c4 	packsh\.ub r4,r4,r4
 1.11895 -+ *[0-9a-f]*:	fc 0e 24 ce 	packsh\.ub lr,lr,lr
 1.11896 -+ *[0-9a-f]*:	ec 03 24 c3 	packsh\.ub r3,r6,r3
 1.11897 -+ *[0-9a-f]*:	e0 03 24 c8 	packsh\.ub r8,r0,r3
 1.11898 -+ *[0-9a-f]*:	e6 0e 24 c9 	packsh\.ub r9,r3,lr
 1.11899 -+
 1.11900 -+[0-9a-f]* <packsh_sb>:
 1.11901 -+ *[0-9a-f]*:	fe 0f 24 df 	packsh\.sb pc,pc,pc
 1.11902 -+ *[0-9a-f]*:	f8 0c 24 dc 	packsh\.sb r12,r12,r12
 1.11903 -+ *[0-9a-f]*:	ea 05 24 d5 	packsh\.sb r5,r5,r5
 1.11904 -+ *[0-9a-f]*:	e8 04 24 d4 	packsh\.sb r4,r4,r4
 1.11905 -+ *[0-9a-f]*:	fc 0e 24 de 	packsh\.sb lr,lr,lr
 1.11906 -+ *[0-9a-f]*:	f0 01 24 d6 	packsh\.sb r6,r8,r1
 1.11907 -+ *[0-9a-f]*:	f2 08 24 de 	packsh\.sb lr,r9,r8
 1.11908 -+ *[0-9a-f]*:	ec 06 24 dd 	packsh\.sb sp,r6,r6
 1.11909 -+
 1.11910 -+[0-9a-f]* <andl>:
 1.11911 -+ *[0-9a-f]*:	e0 1f 00 00 	andl pc,0x0
 1.11912 -+ *[0-9a-f]*:	e0 1c ff ff 	andl r12,0xffff
 1.11913 -+ *[0-9a-f]*:	e0 15 80 00 	andl r5,0x8000
 1.11914 -+ *[0-9a-f]*:	e0 14 7f ff 	andl r4,0x7fff
 1.11915 -+ *[0-9a-f]*:	e0 1e 00 01 	andl lr,0x1
 1.11916 -+ *[0-9a-f]*:	e0 1f 5a 58 	andl pc,0x5a58
 1.11917 -+ *[0-9a-f]*:	e0 18 b8 9e 	andl r8,0xb89e
 1.11918 -+ *[0-9a-f]*:	e0 17 35 97 	andl r7,0x3597
 1.11919 -+
 1.11920 -+[0-9a-f]* <andl_coh>:
 1.11921 -+ *[0-9a-f]*:	e2 1f 00 00 	andl pc,0x0,COH
 1.11922 -+ *[0-9a-f]*:	e2 1c ff ff 	andl r12,0xffff,COH
 1.11923 -+ *[0-9a-f]*:	e2 15 80 00 	andl r5,0x8000,COH
 1.11924 -+ *[0-9a-f]*:	e2 14 7f ff 	andl r4,0x7fff,COH
 1.11925 -+ *[0-9a-f]*:	e2 1e 00 01 	andl lr,0x1,COH
 1.11926 -+ *[0-9a-f]*:	e2 16 58 e1 	andl r6,0x58e1,COH
 1.11927 -+ *[0-9a-f]*:	e2 10 9e cd 	andl r0,0x9ecd,COH
 1.11928 -+ *[0-9a-f]*:	e2 14 bd c4 	andl r4,0xbdc4,COH
 1.11929 -+
 1.11930 -+[0-9a-f]* <andh>:
 1.11931 -+ *[0-9a-f]*:	e4 1f 00 00 	andh pc,0x0
 1.11932 -+ *[0-9a-f]*:	e4 1c ff ff 	andh r12,0xffff
 1.11933 -+ *[0-9a-f]*:	e4 15 80 00 	andh r5,0x8000
 1.11934 -+ *[0-9a-f]*:	e4 14 7f ff 	andh r4,0x7fff
 1.11935 -+ *[0-9a-f]*:	e4 1e 00 01 	andh lr,0x1
 1.11936 -+ *[0-9a-f]*:	e4 1c cc 58 	andh r12,0xcc58
 1.11937 -+ *[0-9a-f]*:	e4 13 21 e3 	andh r3,0x21e3
 1.11938 -+ *[0-9a-f]*:	e4 12 a7 eb 	andh r2,0xa7eb
 1.11939 -+
 1.11940 -+[0-9a-f]* <andh_coh>:
 1.11941 -+ *[0-9a-f]*:	e6 1f 00 00 	andh pc,0x0,COH
 1.11942 -+ *[0-9a-f]*:	e6 1c ff ff 	andh r12,0xffff,COH
 1.11943 -+ *[0-9a-f]*:	e6 15 80 00 	andh r5,0x8000,COH
 1.11944 -+ *[0-9a-f]*:	e6 14 7f ff 	andh r4,0x7fff,COH
 1.11945 -+ *[0-9a-f]*:	e6 1e 00 01 	andh lr,0x1,COH
 1.11946 -+ *[0-9a-f]*:	e6 1b 86 0d 	andh r11,0x860d,COH
 1.11947 -+ *[0-9a-f]*:	e6 18 ce f6 	andh r8,0xcef6,COH
 1.11948 -+ *[0-9a-f]*:	e6 1a 5c 83 	andh r10,0x5c83,COH
 1.11949 -+
 1.11950 -+[0-9a-f]* <orl>:
 1.11951 -+ *[0-9a-f]*:	e8 1f 00 00 	orl pc,0x0
 1.11952 -+ *[0-9a-f]*:	e8 1c ff ff 	orl r12,0xffff
 1.11953 -+ *[0-9a-f]*:	e8 15 80 00 	orl r5,0x8000
 1.11954 -+ *[0-9a-f]*:	e8 14 7f ff 	orl r4,0x7fff
 1.11955 -+ *[0-9a-f]*:	e8 1e 00 01 	orl lr,0x1
 1.11956 -+ *[0-9a-f]*:	e8 1d 41 7e 	orl sp,0x417e
 1.11957 -+ *[0-9a-f]*:	e8 10 52 bd 	orl r0,0x52bd
 1.11958 -+ *[0-9a-f]*:	e8 1f ac 47 	orl pc,0xac47
 1.11959 -+
 1.11960 -+[0-9a-f]* <orh>:
 1.11961 -+ *[0-9a-f]*:	ea 1f 00 00 	orh pc,0x0
 1.11962 -+ *[0-9a-f]*:	ea 1c ff ff 	orh r12,0xffff
 1.11963 -+ *[0-9a-f]*:	ea 15 80 00 	orh r5,0x8000
 1.11964 -+ *[0-9a-f]*:	ea 14 7f ff 	orh r4,0x7fff
 1.11965 -+ *[0-9a-f]*:	ea 1e 00 01 	orh lr,0x1
 1.11966 -+ *[0-9a-f]*:	ea 18 6e 7d 	orh r8,0x6e7d
 1.11967 -+ *[0-9a-f]*:	ea 1c 77 1c 	orh r12,0x771c
 1.11968 -+ *[0-9a-f]*:	ea 11 ea 1a 	orh r1,0xea1a
 1.11969 -+
 1.11970 -+[0-9a-f]* <eorl>:
 1.11971 -+ *[0-9a-f]*:	ec 1f 00 00 	eorl pc,0x0
 1.11972 -+ *[0-9a-f]*:	ec 1c ff ff 	eorl r12,0xffff
 1.11973 -+ *[0-9a-f]*:	ec 15 80 00 	eorl r5,0x8000
 1.11974 -+ *[0-9a-f]*:	ec 14 7f ff 	eorl r4,0x7fff
 1.11975 -+ *[0-9a-f]*:	ec 1e 00 01 	eorl lr,0x1
 1.11976 -+ *[0-9a-f]*:	ec 14 c7 b9 	eorl r4,0xc7b9
 1.11977 -+ *[0-9a-f]*:	ec 16 fb dd 	eorl r6,0xfbdd
 1.11978 -+ *[0-9a-f]*:	ec 11 51 b1 	eorl r1,0x51b1
 1.11979 -+
 1.11980 -+[0-9a-f]* <eorh>:
 1.11981 -+ *[0-9a-f]*:	ee 1f 00 00 	eorh pc,0x0
 1.11982 -+ *[0-9a-f]*:	ee 1c ff ff 	eorh r12,0xffff
 1.11983 -+ *[0-9a-f]*:	ee 15 80 00 	eorh r5,0x8000
 1.11984 -+ *[0-9a-f]*:	ee 14 7f ff 	eorh r4,0x7fff
 1.11985 -+ *[0-9a-f]*:	ee 1e 00 01 	eorh lr,0x1
 1.11986 -+ *[0-9a-f]*:	ee 10 2d d4 	eorh r0,0x2dd4
 1.11987 -+ *[0-9a-f]*:	ee 1a 94 b5 	eorh r10,0x94b5
 1.11988 -+ *[0-9a-f]*:	ee 19 df 2a 	eorh r9,0xdf2a
 1.11989 -+
 1.11990 -+[0-9a-f]* <mcall>:
 1.11991 -+ *[0-9a-f]*:	f0 1f 00 00 	mcall [0-9a-f]* <.*>
 1.11992 -+ *[0-9a-f]*:	f0 1c ff ff 	mcall r12\[-4\]
 1.11993 -+ *[0-9a-f]*:	f0 15 80 00 	mcall r5\[-131072\]
 1.11994 -+ *[0-9a-f]*:	f0 14 7f ff 	mcall r4\[131068\]
 1.11995 -+ *[0-9a-f]*:	f0 1e 00 01 	mcall lr\[4\]
 1.11996 -+ *[0-9a-f]*:	f0 1d 3b bf 	mcall sp\[61180\]
 1.11997 -+ *[0-9a-f]*:	f0 14 dd d2 	mcall r4\[-35000\]
 1.11998 -+ *[0-9a-f]*:	f0 10 09 b1 	mcall r0\[9924\]
 1.11999 -+
 1.12000 -+[0-9a-f]* <pref>:
 1.12001 -+ *[0-9a-f]*:	f2 1f 00 00 	pref pc\[0\]
 1.12002 -+ *[0-9a-f]*:	f2 1c ff ff 	pref r12\[-1\]
 1.12003 -+ *[0-9a-f]*:	f2 15 80 00 	pref r5\[-32768\]
 1.12004 -+ *[0-9a-f]*:	f2 14 7f ff 	pref r4\[32767\]
 1.12005 -+ *[0-9a-f]*:	f2 1e 00 01 	pref lr\[1\]
 1.12006 -+ *[0-9a-f]*:	f2 17 1e 44 	pref r7\[7748\]
 1.12007 -+ *[0-9a-f]*:	f2 17 e1 ed 	pref r7\[-7699\]
 1.12008 -+ *[0-9a-f]*:	f2 12 9a dc 	pref r2\[-25892\]
 1.12009 -+
 1.12010 -+[0-9a-f]* <cache>:
 1.12011 -+ *[0-9a-f]*:	f4 1f 00 00 	cache pc\[0\],0x0
 1.12012 -+ *[0-9a-f]*:	f4 1c ff ff 	cache r12\[-1\],0x1f
 1.12013 -+ *[0-9a-f]*:	f4 15 84 00 	cache r5\[-1024\],0x10
 1.12014 -+ *[0-9a-f]*:	f4 14 7b ff 	cache r4\[1023\],0xf
 1.12015 -+ *[0-9a-f]*:	f4 1e 08 01 	cache lr\[1\],0x1
 1.12016 -+ *[0-9a-f]*:	f4 13 8c 3c 	cache r3\[-964\],0x11
 1.12017 -+ *[0-9a-f]*:	f4 14 b6 89 	cache r4\[-375\],0x16
 1.12018 -+ *[0-9a-f]*:	f4 13 8c 88 	cache r3\[-888\],0x11
 1.12019 -+
 1.12020 -+[0-9a-f]* <sub4>:
 1.12021 -+ *[0-9a-f]*:	20 0f       	sub pc,0
 1.12022 -+ *[0-9a-f]*:	2f fc       	sub r12,-1
 1.12023 -+ *[0-9a-f]*:	f0 25 00 00 	sub r5,-1048576
 1.12024 -+ *[0-9a-f]*:	ee 34 ff ff 	sub r4,1048575
 1.12025 -+ *[0-9a-f]*:	20 1e       	sub lr,1
 1.12026 -+ *[0-9a-f]*:	f6 22 8d 6c 	sub r2,-619156
 1.12027 -+ *[0-9a-f]*:	e6 3e 0a cd 	sub lr,461517
 1.12028 -+ *[0-9a-f]*:	fc 38 2d 25 	sub r8,-185051
 1.12029 -+
 1.12030 -+[0-9a-f]* <cp3>:
 1.12031 -+ *[0-9a-f]*:	58 0f       	cp.w pc,0
 1.12032 -+ *[0-9a-f]*:	5b fc       	cp.w r12,-1
 1.12033 -+ *[0-9a-f]*:	f0 45 00 00 	cp.w r5,-1048576
 1.12034 -+ *[0-9a-f]*:	ee 54 ff ff 	cp.w r4,1048575
 1.12035 -+ *[0-9a-f]*:	58 1e       	cp.w lr,1
 1.12036 -+ *[0-9a-f]*:	e0 51 e4 ae 	cp.w r1,124078
 1.12037 -+ *[0-9a-f]*:	fa 40 37 e3 	cp.w r0,-378909
 1.12038 -+ *[0-9a-f]*:	fc 44 4a 14 	cp.w r4,-243180
 1.12039 -+
 1.12040 -+[0-9a-f]* <mov2>:
 1.12041 -+ *[0-9a-f]*:	30 0f       	mov pc,0
 1.12042 -+ *[0-9a-f]*:	3f fc       	mov r12,-1
 1.12043 -+ *[0-9a-f]*:	f0 65 00 00 	mov r5,-1048576
 1.12044 -+ *[0-9a-f]*:	ee 74 ff ff 	mov r4,1048575
 1.12045 -+ *[0-9a-f]*:	30 1e       	mov lr,1
 1.12046 -+ *[0-9a-f]*:	fa 75 29 a3 	mov r5,-317021
 1.12047 -+ *[0-9a-f]*:	f4 6d 91 94 	mov sp,-749164
 1.12048 -+ *[0-9a-f]*:	ee 65 58 93 	mov r5,940179
 1.12049 -+
 1.12050 -+[0-9a-f]* <brc2>:
 1.12051 -+ *[0-9a-f]*:	c0 00       	breq [0-9a-f]* <.*>
 1.12052 -+ *[0-9a-f]*:	fe 9f ff ff 	bral [0-9a-f]* <.*>
 1.12053 -+ *[0-9a-f]*:	f0 88 00 00 	brls [0-9a-f]* <.*>
 1.12054 -+ *[0-9a-f]*:	ee 97 ff ff 	brpl [0-9a-f]* <.*>
 1.12055 -+ *[0-9a-f]*:	c0 11       	brne [0-9a-f]* <.*>
 1.12056 -+ *[0-9a-f]*:	f2 8b 4a 4d 	brhi [0-9a-f]* <.*>
 1.12057 -+ *[0-9a-f]*:	ea 8e 14 cc 	brqs [0-9a-f]* <.*>
 1.12058 -+ *[0-9a-f]*:	fa 98 98 33 	brls [0-9a-f]* <.*>
 1.12059 -+
 1.12060 -+[0-9a-f]* <rcall2>:
 1.12061 -+ *[0-9a-f]*:	c0 0c       	rcall [0-9a-f]* <.*>
 1.12062 -+ *[0-9a-f]*:	cf ff       	rcall [0-9a-f]* <.*>
 1.12063 -+ *[0-9a-f]*:	f0 a0 00 00 	rcall [0-9a-f]* <.*>
 1.12064 -+ *[0-9a-f]*:	ee b0 ff ff 	rcall [0-9a-f]* <.*>
 1.12065 -+ *[0-9a-f]*:	c0 1c       	rcall [0-9a-f]* <.*>
 1.12066 -+ *[0-9a-f]*:	e2 b0 ca 5a 	rcall [0-9a-f]* <.*>
 1.12067 -+ *[0-9a-f]*:	e8 a0 47 52 	rcall [0-9a-f]* <.*>
 1.12068 -+ *[0-9a-f]*:	fe b0 fd ef 	rcall [0-9a-f]* <.*>
 1.12069 -+
 1.12070 -+[0-9a-f]* <sub5>:
 1.12071 -+ *[0-9a-f]*:	fe cf 00 00 	sub pc,pc,0
 1.12072 -+ *[0-9a-f]*:	f8 cc ff ff 	sub r12,r12,-1
 1.12073 -+ *[0-9a-f]*:	ea c5 80 00 	sub r5,r5,-32768
 1.12074 -+ *[0-9a-f]*:	e8 c4 7f ff 	sub r4,r4,32767
 1.12075 -+ *[0-9a-f]*:	fc ce 00 01 	sub lr,lr,1
 1.12076 -+ *[0-9a-f]*:	fe cf ce 38 	sub pc,pc,-12744
 1.12077 -+ *[0-9a-f]*:	ee c7 95 1b 	sub r7,r7,-27365
 1.12078 -+ *[0-9a-f]*:	f2 c2 bc 32 	sub r2,r9,-17358
 1.12079 -+
 1.12080 -+[0-9a-f]* <satsub_w2>:
 1.12081 -+ *[0-9a-f]*:	fe df 00 00 	satsub\.w pc,pc,0
 1.12082 -+ *[0-9a-f]*:	f8 dc ff ff 	satsub\.w r12,r12,-1
 1.12083 -+ *[0-9a-f]*:	ea d5 80 00 	satsub\.w r5,r5,-32768
 1.12084 -+ *[0-9a-f]*:	e8 d4 7f ff 	satsub\.w r4,r4,32767
 1.12085 -+ *[0-9a-f]*:	fc de 00 01 	satsub\.w lr,lr,1
 1.12086 -+ *[0-9a-f]*:	fc d2 f8 29 	satsub\.w r2,lr,-2007
 1.12087 -+ *[0-9a-f]*:	f8 d7 fc f0 	satsub\.w r7,r12,-784
 1.12088 -+ *[0-9a-f]*:	ee d4 5a 8c 	satsub\.w r4,r7,23180
 1.12089 -+
 1.12090 -+[0-9a-f]* <ld_d4>:
 1.12091 -+ *[0-9a-f]*:	fe e0 00 00 	ld\.d r0,pc\[0\]
 1.12092 -+ *[0-9a-f]*:	f8 ee ff ff 	ld\.d lr,r12\[-1\]
 1.12093 -+ *[0-9a-f]*:	ea e8 80 00 	ld\.d r8,r5\[-32768\]
 1.12094 -+ *[0-9a-f]*:	e8 e6 7f ff 	ld\.d r6,r4\[32767\]
 1.12095 -+ *[0-9a-f]*:	fc e2 00 01 	ld\.d r2,lr\[1\]
 1.12096 -+ *[0-9a-f]*:	f6 ee 39 c0 	ld\.d lr,r11\[14784\]
 1.12097 -+ *[0-9a-f]*:	f2 e6 b6 27 	ld\.d r6,r9\[-18905\]
 1.12098 -+ *[0-9a-f]*:	e6 e2 e7 2d 	ld\.d r2,r3\[-6355\]
 1.12099 -+
 1.12100 -+[0-9a-f]* <ld_w4>:
 1.12101 -+ *[0-9a-f]*:	7e 0f       	ld\.w pc,pc\[0x0\]
 1.12102 -+ *[0-9a-f]*:	f8 fc ff ff 	ld\.w r12,r12\[-1\]
 1.12103 -+ *[0-9a-f]*:	ea f5 80 00 	ld\.w r5,r5\[-32768\]
 1.12104 -+ *[0-9a-f]*:	e8 f4 7f ff 	ld\.w r4,r4\[32767\]
 1.12105 -+ *[0-9a-f]*:	fc fe 00 01 	ld\.w lr,lr\[1\]
 1.12106 -+ *[0-9a-f]*:	f8 f0 a9 8b 	ld\.w r0,r12\[-22133\]
 1.12107 -+ *[0-9a-f]*:	fe fd af d7 	ld\.w sp,pc\[-20521\]
 1.12108 -+ *[0-9a-f]*:	d7 03       	nop
 1.12109 -+
 1.12110 -+[0-9a-f]* <ld_sh4>:
 1.12111 -+ *[0-9a-f]*:	9e 0f       	ld\.sh pc,pc\[0x0\]
 1.12112 -+ *[0-9a-f]*:	f9 0c ff ff 	ld\.sh r12,r12\[-1\]
 1.12113 -+ *[0-9a-f]*:	eb 05 80 00 	ld\.sh r5,r5\[-32768\]
 1.12114 -+ *[0-9a-f]*:	e9 04 7f ff 	ld\.sh r4,r4\[32767\]
 1.12115 -+ *[0-9a-f]*:	fd 0e 00 01 	ld\.sh lr,lr\[1\]
 1.12116 -+ *[0-9a-f]*:	f5 06 78 d2 	ld\.sh r6,r10\[30930\]
 1.12117 -+ *[0-9a-f]*:	f5 06 55 d5 	ld\.sh r6,r10\[21973\]
 1.12118 -+ *[0-9a-f]*:	d7 03       	nop
 1.12119 -+
 1.12120 -+[0-9a-f]* <ld_uh4>:
 1.12121 -+ *[0-9a-f]*:	9e 8f       	ld\.uh pc,pc\[0x0\]
 1.12122 -+ *[0-9a-f]*:	f9 1c ff ff 	ld\.uh r12,r12\[-1\]
 1.12123 -+ *[0-9a-f]*:	eb 15 80 00 	ld\.uh r5,r5\[-32768\]
 1.12124 -+ *[0-9a-f]*:	e9 14 7f ff 	ld\.uh r4,r4\[32767\]
 1.12125 -+ *[0-9a-f]*:	fd 1e 00 01 	ld\.uh lr,lr\[1\]
 1.12126 -+ *[0-9a-f]*:	f3 11 cb d6 	ld\.uh r1,r9\[-13354\]
 1.12127 -+ *[0-9a-f]*:	f7 1e 53 59 	ld\.uh lr,r11\[21337\]
 1.12128 -+ *[0-9a-f]*:	d7 03       	nop
 1.12129 -+
 1.12130 -+[0-9a-f]* <ld_sb1>:
 1.12131 -+ *[0-9a-f]*:	ff 2f 00 00 	ld\.sb pc,pc\[0\]
 1.12132 -+ *[0-9a-f]*:	f9 2c ff ff 	ld\.sb r12,r12\[-1\]
 1.12133 -+ *[0-9a-f]*:	eb 25 80 00 	ld\.sb r5,r5\[-32768\]
 1.12134 -+ *[0-9a-f]*:	e9 24 7f ff 	ld\.sb r4,r4\[32767\]
 1.12135 -+ *[0-9a-f]*:	fd 2e 00 01 	ld\.sb lr,lr\[1\]
 1.12136 -+ *[0-9a-f]*:	fb 27 90 09 	ld\.sb r7,sp\[-28663\]
 1.12137 -+ *[0-9a-f]*:	e3 22 e9 09 	ld\.sb r2,r1\[-5879\]
 1.12138 -+ *[0-9a-f]*:	e7 2c 49 2e 	ld\.sb r12,r3\[18734\]
 1.12139 -+
 1.12140 -+[0-9a-f]* <ld_ub4>:
 1.12141 -+ *[0-9a-f]*:	1f 8f       	ld\.ub pc,pc\[0x0\]
 1.12142 -+ *[0-9a-f]*:	f9 3c ff ff 	ld\.ub r12,r12\[-1\]
 1.12143 -+ *[0-9a-f]*:	eb 35 80 00 	ld\.ub r5,r5\[-32768\]
 1.12144 -+ *[0-9a-f]*:	e9 34 7f ff 	ld\.ub r4,r4\[32767\]
 1.12145 -+ *[0-9a-f]*:	1d 9e       	ld\.ub lr,lr\[0x1\]
 1.12146 -+ *[0-9a-f]*:	e9 3f 20 55 	ld\.ub pc,r4\[8277\]
 1.12147 -+ *[0-9a-f]*:	f9 35 4a e4 	ld\.ub r5,r12\[19172\]
 1.12148 -+ *[0-9a-f]*:	fd 3a 66 eb 	ld\.ub r10,lr\[26347\]
 1.12149 -+
 1.12150 -+[0-9a-f]* <st_d4>:
 1.12151 -+ *[0-9a-f]*:	fe e1 00 00 	st\.d pc\[0\],r0
 1.12152 -+ *[0-9a-f]*:	f8 ef ff ff 	st\.d r12\[-1\],lr
 1.12153 -+ *[0-9a-f]*:	ea e9 80 00 	st\.d r5\[-32768\],r8
 1.12154 -+ *[0-9a-f]*:	e8 e7 7f ff 	st\.d r4\[32767\],r6
 1.12155 -+ *[0-9a-f]*:	fc e3 00 01 	st\.d lr\[1\],r2
 1.12156 -+ *[0-9a-f]*:	ea eb 33 90 	st\.d r5\[13200\],r10
 1.12157 -+ *[0-9a-f]*:	ea eb 24 88 	st\.d r5\[9352\],r10
 1.12158 -+ *[0-9a-f]*:	ea e5 7e 75 	st\.d r5\[32373\],r4
 1.12159 -+
 1.12160 -+[0-9a-f]* <st_w4>:
 1.12161 -+ *[0-9a-f]*:	9f 0f       	st\.w pc\[0x0\],pc
 1.12162 -+ *[0-9a-f]*:	f9 4c ff ff 	st\.w r12\[-1\],r12
 1.12163 -+ *[0-9a-f]*:	eb 45 80 00 	st\.w r5\[-32768\],r5
 1.12164 -+ *[0-9a-f]*:	e9 44 7f ff 	st\.w r4\[32767\],r4
 1.12165 -+ *[0-9a-f]*:	fd 4e 00 01 	st\.w lr\[1\],lr
 1.12166 -+ *[0-9a-f]*:	fb 47 17 f8 	st\.w sp\[6136\],r7
 1.12167 -+ *[0-9a-f]*:	ed 4c 69 cf 	st\.w r6\[27087\],r12
 1.12168 -+ *[0-9a-f]*:	d7 03       	nop
 1.12169 -+
 1.12170 -+[0-9a-f]* <st_h4>:
 1.12171 -+ *[0-9a-f]*:	be 0f       	st\.h pc\[0x0\],pc
 1.12172 -+ *[0-9a-f]*:	f9 5c ff ff 	st\.h r12\[-1\],r12
 1.12173 -+ *[0-9a-f]*:	eb 55 80 00 	st\.h r5\[-32768\],r5
 1.12174 -+ *[0-9a-f]*:	e9 54 7f ff 	st\.h r4\[32767\],r4
 1.12175 -+ *[0-9a-f]*:	fd 5e 00 01 	st\.h lr\[1\],lr
 1.12176 -+ *[0-9a-f]*:	e9 57 d9 16 	st\.h r4\[-9962\],r7
 1.12177 -+ *[0-9a-f]*:	f3 53 c0 86 	st\.h r9\[-16250\],r3
 1.12178 -+ *[0-9a-f]*:	d7 03       	nop
 1.12179 -+
 1.12180 -+[0-9a-f]* <st_b4>:
 1.12181 -+ *[0-9a-f]*:	be 8f       	st\.b pc\[0x0\],pc
 1.12182 -+ *[0-9a-f]*:	f9 6c ff ff 	st\.b r12\[-1\],r12
 1.12183 -+ *[0-9a-f]*:	eb 65 80 00 	st\.b r5\[-32768\],r5
 1.12184 -+ *[0-9a-f]*:	e9 64 7f ff 	st\.b r4\[32767\],r4
 1.12185 -+ *[0-9a-f]*:	bc 9e       	st\.b lr\[0x1\],lr
 1.12186 -+ *[0-9a-f]*:	f9 66 75 96 	st\.b r12\[30102\],r6
 1.12187 -+ *[0-9a-f]*:	eb 61 71 31 	st\.b r5\[28977\],r1
 1.12188 -+ *[0-9a-f]*:	e1 61 15 5e 	st\.b r0\[5470\],r1
 1.12189 -+
 1.12190 -+[0-9a-f]* <mfsr>:
 1.12191 -+ *[0-9a-f]*:	e1 bf 00 00 	mfsr pc,0x0
 1.12192 -+ *[0-9a-f]*:	e1 bc 00 ff 	mfsr r12,0x3fc
 1.12193 -+ *[0-9a-f]*:	e1 b5 00 80 	mfsr r5,0x200
 1.12194 -+ *[0-9a-f]*:	e1 b4 00 7f 	mfsr r4,0x1fc
 1.12195 -+ *[0-9a-f]*:	e1 be 00 01 	mfsr lr,0x4
 1.12196 -+ *[0-9a-f]*:	e1 b2 00 ae 	mfsr r2,0x2b8
 1.12197 -+ *[0-9a-f]*:	e1 b4 00 41 	mfsr r4,0x104
 1.12198 -+ *[0-9a-f]*:	e1 ba 00 fe 	mfsr r10,0x3f8
 1.12199 -+
 1.12200 -+[0-9a-f]* <mtsr>:
 1.12201 -+ *[0-9a-f]*:	e3 bf 00 00 	mtsr 0x0,pc
 1.12202 -+ *[0-9a-f]*:	e3 bc 00 ff 	mtsr 0x3fc,r12
 1.12203 -+ *[0-9a-f]*:	e3 b5 00 80 	mtsr 0x200,r5
 1.12204 -+ *[0-9a-f]*:	e3 b4 00 7f 	mtsr 0x1fc,r4
 1.12205 -+ *[0-9a-f]*:	e3 be 00 01 	mtsr 0x4,lr
 1.12206 -+ *[0-9a-f]*:	e3 ba 00 38 	mtsr 0xe0,r10
 1.12207 -+ *[0-9a-f]*:	e3 bc 00 d1 	mtsr 0x344,r12
 1.12208 -+ *[0-9a-f]*:	e3 b9 00 4c 	mtsr 0x130,r9
 1.12209 -+
 1.12210 -+[0-9a-f]* <mfdr>:
 1.12211 -+ *[0-9a-f]*:	e5 bf 00 00 	mfdr pc,0x0
 1.12212 -+ *[0-9a-f]*:	e5 bc 00 ff 	mfdr r12,0x3fc
 1.12213 -+ *[0-9a-f]*:	e5 b5 00 80 	mfdr r5,0x200
 1.12214 -+ *[0-9a-f]*:	e5 b4 00 7f 	mfdr r4,0x1fc
 1.12215 -+ *[0-9a-f]*:	e5 be 00 01 	mfdr lr,0x4
 1.12216 -+ *[0-9a-f]*:	e5 b6 00 e9 	mfdr r6,0x3a4
 1.12217 -+ *[0-9a-f]*:	e5 b5 00 09 	mfdr r5,0x24
 1.12218 -+ *[0-9a-f]*:	e5 b9 00 4b 	mfdr r9,0x12c
 1.12219 -+
 1.12220 -+[0-9a-f]* <mtdr>:
 1.12221 -+ *[0-9a-f]*:	e7 bf 00 00 	mtdr 0x0,pc
 1.12222 -+ *[0-9a-f]*:	e7 bc 00 ff 	mtdr 0x3fc,r12
 1.12223 -+ *[0-9a-f]*:	e7 b5 00 80 	mtdr 0x200,r5
 1.12224 -+ *[0-9a-f]*:	e7 b4 00 7f 	mtdr 0x1fc,r4
 1.12225 -+ *[0-9a-f]*:	e7 be 00 01 	mtdr 0x4,lr
 1.12226 -+ *[0-9a-f]*:	e7 b8 00 2d 	mtdr 0xb4,r8
 1.12227 -+ *[0-9a-f]*:	e7 ba 00 b4 	mtdr 0x2d0,r10
 1.12228 -+ *[0-9a-f]*:	e7 be 00 66 	mtdr 0x198,lr
 1.12229 -+
 1.12230 -+[0-9a-f]* <sleep>:
 1.12231 -+ *[0-9a-f]*:	e9 b0 00 00 	sleep 0x0
 1.12232 -+ *[0-9a-f]*:	e9 b0 00 ff 	sleep 0xff
 1.12233 -+ *[0-9a-f]*:	e9 b0 00 80 	sleep 0x80
 1.12234 -+ *[0-9a-f]*:	e9 b0 00 7f 	sleep 0x7f
 1.12235 -+ *[0-9a-f]*:	e9 b0 00 01 	sleep 0x1
 1.12236 -+ *[0-9a-f]*:	e9 b0 00 fe 	sleep 0xfe
 1.12237 -+ *[0-9a-f]*:	e9 b0 00 0f 	sleep 0xf
 1.12238 -+ *[0-9a-f]*:	e9 b0 00 2b 	sleep 0x2b
 1.12239 -+
 1.12240 -+[0-9a-f]* <sync>:
 1.12241 -+ *[0-9a-f]*:	eb b0 00 00 	sync 0x0
 1.12242 -+ *[0-9a-f]*:	eb b0 00 ff 	sync 0xff
 1.12243 -+ *[0-9a-f]*:	eb b0 00 80 	sync 0x80
 1.12244 -+ *[0-9a-f]*:	eb b0 00 7f 	sync 0x7f
 1.12245 -+ *[0-9a-f]*:	eb b0 00 01 	sync 0x1
 1.12246 -+ *[0-9a-f]*:	eb b0 00 a6 	sync 0xa6
 1.12247 -+ *[0-9a-f]*:	eb b0 00 e6 	sync 0xe6
 1.12248 -+ *[0-9a-f]*:	eb b0 00 b4 	sync 0xb4
 1.12249 -+
 1.12250 -+[0-9a-f]* <bld>:
 1.12251 -+ *[0-9a-f]*:	ed bf 00 00 	bld pc,0x0
 1.12252 -+ *[0-9a-f]*:	ed bc 00 1f 	bld r12,0x1f
 1.12253 -+ *[0-9a-f]*:	ed b5 00 10 	bld r5,0x10
 1.12254 -+ *[0-9a-f]*:	ed b4 00 0f 	bld r4,0xf
 1.12255 -+ *[0-9a-f]*:	ed be 00 01 	bld lr,0x1
 1.12256 -+ *[0-9a-f]*:	ed b9 00 0f 	bld r9,0xf
 1.12257 -+ *[0-9a-f]*:	ed b0 00 04 	bld r0,0x4
 1.12258 -+ *[0-9a-f]*:	ed be 00 1a 	bld lr,0x1a
 1.12259 -+
 1.12260 -+[0-9a-f]* <bst>:
 1.12261 -+ *[0-9a-f]*:	ef bf 00 00 	bst pc,0x0
 1.12262 -+ *[0-9a-f]*:	ef bc 00 1f 	bst r12,0x1f
 1.12263 -+ *[0-9a-f]*:	ef b5 00 10 	bst r5,0x10
 1.12264 -+ *[0-9a-f]*:	ef b4 00 0f 	bst r4,0xf
 1.12265 -+ *[0-9a-f]*:	ef be 00 01 	bst lr,0x1
 1.12266 -+ *[0-9a-f]*:	ef ba 00 1c 	bst r10,0x1c
 1.12267 -+ *[0-9a-f]*:	ef b0 00 03 	bst r0,0x3
 1.12268 -+ *[0-9a-f]*:	ef bd 00 02 	bst sp,0x2
 1.12269 -+
 1.12270 -+[0-9a-f]* <sats>:
 1.12271 -+ *[0-9a-f]*:	f1 bf 00 00 	sats pc,0x0
 1.12272 -+ *[0-9a-f]*:	f1 bc 03 ff 	sats r12>>0x1f,0x1f
 1.12273 -+ *[0-9a-f]*:	f1 b5 02 10 	sats r5>>0x10,0x10
 1.12274 -+ *[0-9a-f]*:	f1 b4 01 ef 	sats r4>>0xf,0xf
 1.12275 -+ *[0-9a-f]*:	f1 be 00 21 	sats lr>>0x1,0x1
 1.12276 -+ *[0-9a-f]*:	f1 ba 02 63 	sats r10>>0x3,0x13
 1.12277 -+ *[0-9a-f]*:	f1 ba 03 42 	sats r10>>0x2,0x1a
 1.12278 -+ *[0-9a-f]*:	f1 b1 00 34 	sats r1>>0x14,0x1
 1.12279 -+
 1.12280 -+[0-9a-f]* <satu>:
 1.12281 -+ *[0-9a-f]*:	f1 bf 04 00 	satu pc,0x0
 1.12282 -+ *[0-9a-f]*:	f1 bc 07 ff 	satu r12>>0x1f,0x1f
 1.12283 -+ *[0-9a-f]*:	f1 b5 06 10 	satu r5>>0x10,0x10
 1.12284 -+ *[0-9a-f]*:	f1 b4 05 ef 	satu r4>>0xf,0xf
 1.12285 -+ *[0-9a-f]*:	f1 be 04 21 	satu lr>>0x1,0x1
 1.12286 -+ *[0-9a-f]*:	f1 bf 04 e5 	satu pc>>0x5,0x7
 1.12287 -+ *[0-9a-f]*:	f1 b7 04 a5 	satu r7>>0x5,0x5
 1.12288 -+ *[0-9a-f]*:	f1 b2 06 7a 	satu r2>>0x1a,0x13
 1.12289 -+
 1.12290 -+[0-9a-f]* <satrnds>:
 1.12291 -+ *[0-9a-f]*:	f3 bf 00 00 	satrnds pc,0x0
 1.12292 -+ *[0-9a-f]*:	f3 bc 03 ff 	satrnds r12>>0x1f,0x1f
 1.12293 -+ *[0-9a-f]*:	f3 b5 02 10 	satrnds r5>>0x10,0x10
 1.12294 -+ *[0-9a-f]*:	f3 b4 01 ef 	satrnds r4>>0xf,0xf
 1.12295 -+ *[0-9a-f]*:	f3 be 00 21 	satrnds lr>>0x1,0x1
 1.12296 -+ *[0-9a-f]*:	f3 b0 02 75 	satrnds r0>>0x15,0x13
 1.12297 -+ *[0-9a-f]*:	f3 bd 00 40 	satrnds sp,0x2
 1.12298 -+ *[0-9a-f]*:	f3 b7 03 a6 	satrnds r7>>0x6,0x1d
 1.12299 -+
 1.12300 -+[0-9a-f]* <satrndu>:
 1.12301 -+ *[0-9a-f]*:	f3 bf 04 00 	satrndu pc,0x0
 1.12302 -+ *[0-9a-f]*:	f3 bc 07 ff 	satrndu r12>>0x1f,0x1f
 1.12303 -+ *[0-9a-f]*:	f3 b5 06 10 	satrndu r5>>0x10,0x10
 1.12304 -+ *[0-9a-f]*:	f3 b4 05 ef 	satrndu r4>>0xf,0xf
 1.12305 -+ *[0-9a-f]*:	f3 be 04 21 	satrndu lr>>0x1,0x1
 1.12306 -+ *[0-9a-f]*:	f3 bc 07 40 	satrndu r12,0x1a
 1.12307 -+ *[0-9a-f]*:	f3 b4 04 75 	satrndu r4>>0x15,0x3
 1.12308 -+ *[0-9a-f]*:	f3 ba 06 03 	satrndu r10>>0x3,0x10
 1.12309 -+
 1.12310 -+[0-9a-f]* <subfc>:
 1.12311 -+ *[0-9a-f]*:	f5 bf 00 00 	subfeq pc,0
 1.12312 -+ *[0-9a-f]*:	f5 bc 0f ff 	subfal r12,-1
 1.12313 -+ *[0-9a-f]*:	f5 b5 08 80 	subfls r5,-128
 1.12314 -+ *[0-9a-f]*:	f5 b4 07 7f 	subfpl r4,127
 1.12315 -+ *[0-9a-f]*:	f5 be 01 01 	subfne lr,1
 1.12316 -+ *[0-9a-f]*:	f5 ba 08 08 	subfls r10,8
 1.12317 -+ *[0-9a-f]*:	f5 bb 0d 63 	subfvc r11,99
 1.12318 -+ *[0-9a-f]*:	f5 b2 0c 49 	subfvs r2,73
 1.12319 -+
 1.12320 -+[0-9a-f]* <subc>:
 1.12321 -+ *[0-9a-f]*:	f7 bf 00 00 	subeq pc,0
 1.12322 -+ *[0-9a-f]*:	f7 bc 0f ff 	subal r12,-1
 1.12323 -+ *[0-9a-f]*:	f7 b5 08 80 	subls r5,-128
 1.12324 -+ *[0-9a-f]*:	f7 b4 07 7f 	subpl r4,127
 1.12325 -+ *[0-9a-f]*:	f7 be 01 01 	subne lr,1
 1.12326 -+ *[0-9a-f]*:	f7 bc 08 76 	subls r12,118
 1.12327 -+ *[0-9a-f]*:	f7 be 0d f4 	subvc lr,-12
 1.12328 -+ *[0-9a-f]*:	f7 b4 06 f3 	submi r4,-13
 1.12329 -+
 1.12330 -+[0-9a-f]* <movc2>:
 1.12331 -+ *[0-9a-f]*:	f9 bf 00 00 	moveq pc,0
 1.12332 -+ *[0-9a-f]*:	f9 bc 0f ff 	moval r12,-1
 1.12333 -+ *[0-9a-f]*:	f9 b5 08 80 	movls r5,-128
 1.12334 -+ *[0-9a-f]*:	f9 b4 07 7f 	movpl r4,127
 1.12335 -+ *[0-9a-f]*:	f9 be 01 01 	movne lr,1
 1.12336 -+ *[0-9a-f]*:	f9 b3 05 86 	movlt r3,-122
 1.12337 -+ *[0-9a-f]*:	f9 b8 0d 02 	movvc r8,2
 1.12338 -+ *[0-9a-f]*:	f9 b7 01 91 	movne r7,-111
 1.12339 -+
 1.12340 -+[0-9a-f]* <cp_b>:
 1.12341 -+ *[0-9a-f]*:	e0 0f 18 00 	cp\.b pc,r0
 1.12342 -+ *[0-9a-f]*:	fe 00 18 00 	cp\.b r0,pc
 1.12343 -+ *[0-9a-f]*:	f0 07 18 00 	cp\.b r7,r8
 1.12344 -+ *[0-9a-f]*:	ee 08 18 00 	cp\.b r8,r7
 1.12345 -+
 1.12346 -+[0-9a-f]* <cp_h>:
 1.12347 -+ *[0-9a-f]*:	e0 0f 19 00 	cp\.h pc,r0
 1.12348 -+ *[0-9a-f]*:	fe 00 19 00 	cp\.h r0,pc
 1.12349 -+ *[0-9a-f]*:	f0 07 19 00 	cp\.h r7,r8
 1.12350 -+ *[0-9a-f]*:	ee 08 19 00 	cp\.h r8,r7
 1.12351 -+
 1.12352 -+[0-9a-f]* <ldm>:
 1.12353 -+ *[0-9a-f]*:	e1 cf 00 7e 	ldm pc,r1-r6
 1.12354 -+ *[0-9a-f]*:	e1 cc ff ff 	ldm r12,r0-pc
 1.12355 -+ *[0-9a-f]*:	e1 c5 80 00 	ldm r5,pc
 1.12356 -+ *[0-9a-f]*:	e1 c4 7f ff 	ldm r4,r0-lr
 1.12357 -+ *[0-9a-f]*:	e1 ce 00 01 	ldm lr,r0
 1.12358 -+ *[0-9a-f]*:	e1 c9 40 22 	ldm r9,r1,r5,lr
 1.12359 -+ *[0-9a-f]*:	e1 cb 81 ec 	ldm r11,r2-r3,r5-r8,pc
 1.12360 -+ *[0-9a-f]*:	e1 c6 a2 09 	ldm r6,r0,r3,r9,sp,pc
 1.12361 -+
 1.12362 -+[0-9a-f]* <ldm_pu>:
 1.12363 -+ *[0-9a-f]*:	e3 cf 03 c0 	ldm pc\+\+,r6-r9
 1.12364 -+ *[0-9a-f]*:	e3 cc ff ff 	ldm r12\+\+,r0-pc
 1.12365 -+ *[0-9a-f]*:	e3 c5 80 00 	ldm r5\+\+,pc
 1.12366 -+ *[0-9a-f]*:	e3 c4 7f ff 	ldm r4\+\+,r0-lr
 1.12367 -+ *[0-9a-f]*:	e3 ce 00 01 	ldm lr\+\+,r0
 1.12368 -+ *[0-9a-f]*:	e3 cc d5 38 	ldm r12\+\+,r3-r5,r8,r10,r12,lr-pc
 1.12369 -+ *[0-9a-f]*:	e3 ca c0 74 	ldm r10\+\+,r2,r4-r6,lr-pc
 1.12370 -+ *[0-9a-f]*:	e3 c6 7e 1a 	ldm r6\+\+,r1,r3-r4,r9-lr
 1.12371 -+
 1.12372 -+[0-9a-f]* <ldmts>:
 1.12373 -+ *[0-9a-f]*:	e5 cf 01 80 	ldmts pc,r7-r8
 1.12374 -+ *[0-9a-f]*:	e5 cc ff ff 	ldmts r12,r0-pc
 1.12375 -+ *[0-9a-f]*:	e5 c5 80 00 	ldmts r5,pc
 1.12376 -+ *[0-9a-f]*:	e5 c4 7f ff 	ldmts r4,r0-lr
 1.12377 -+ *[0-9a-f]*:	e5 ce 00 01 	ldmts lr,r0
 1.12378 -+ *[0-9a-f]*:	e5 c0 18 06 	ldmts r0,r1-r2,r11-r12
 1.12379 -+ *[0-9a-f]*:	e5 ce 61 97 	ldmts lr,r0-r2,r4,r7-r8,sp-lr
 1.12380 -+ *[0-9a-f]*:	e5 cc c2 3b 	ldmts r12,r0-r1,r3-r5,r9,lr-pc
 1.12381 -+
 1.12382 -+[0-9a-f]* <ldmts_pu>:
 1.12383 -+ *[0-9a-f]*:	e7 cf 02 00 	ldmts pc\+\+,r9
 1.12384 -+ *[0-9a-f]*:	e7 cc ff ff 	ldmts r12\+\+,r0-pc
 1.12385 -+ *[0-9a-f]*:	e7 c5 80 00 	ldmts r5\+\+,pc
 1.12386 -+ *[0-9a-f]*:	e7 c4 7f ff 	ldmts r4\+\+,r0-lr
 1.12387 -+ *[0-9a-f]*:	e7 ce 00 01 	ldmts lr\+\+,r0
 1.12388 -+ *[0-9a-f]*:	e7 cd 0a bd 	ldmts sp\+\+,r0,r2-r5,r7,r9,r11
 1.12389 -+ *[0-9a-f]*:	e7 c5 0c 8e 	ldmts r5\+\+,r1-r3,r7,r10-r11
 1.12390 -+ *[0-9a-f]*:	e7 c8 a1 9c 	ldmts r8\+\+,r2-r4,r7-r8,sp,pc
 1.12391 -+
 1.12392 -+[0-9a-f]* <stm>:
 1.12393 -+ *[0-9a-f]*:	e9 cf 00 80 	stm pc,r7
 1.12394 -+ *[0-9a-f]*:	e9 cc ff ff 	stm r12,r0-pc
 1.12395 -+ *[0-9a-f]*:	e9 c5 80 00 	stm r5,pc
 1.12396 -+ *[0-9a-f]*:	e9 c4 7f ff 	stm r4,r0-lr
 1.12397 -+ *[0-9a-f]*:	e9 ce 00 01 	stm lr,r0
 1.12398 -+ *[0-9a-f]*:	e9 cd 49 2c 	stm sp,r2-r3,r5,r8,r11,lr
 1.12399 -+ *[0-9a-f]*:	e9 c4 4c 5f 	stm r4,r0-r4,r6,r10-r11,lr
 1.12400 -+ *[0-9a-f]*:	e9 c9 f2 22 	stm r9,r1,r5,r9,r12-pc
 1.12401 -+
 1.12402 -+[0-9a-f]* <stm_pu>:
 1.12403 -+ *[0-9a-f]*:	eb cf 00 70 	stm --pc,r4-r6
 1.12404 -+ *[0-9a-f]*:	eb cc ff ff 	stm --r12,r0-pc
 1.12405 -+ *[0-9a-f]*:	eb c5 80 00 	stm --r5,pc
 1.12406 -+ *[0-9a-f]*:	eb c4 7f ff 	stm --r4,r0-lr
 1.12407 -+ *[0-9a-f]*:	eb ce 00 01 	stm --lr,r0
 1.12408 -+ *[0-9a-f]*:	eb cb fb f1 	stm --r11,r0,r4-r9,r11-pc
 1.12409 -+ *[0-9a-f]*:	eb cb 56 09 	stm --r11,r0,r3,r9-r10,r12,lr
 1.12410 -+ *[0-9a-f]*:	eb c6 63 04 	stm --r6,r2,r8-r9,sp-lr
 1.12411 -+
 1.12412 -+[0-9a-f]* <stmts>:
 1.12413 -+ *[0-9a-f]*:	ed cf 01 00 	stmts pc,r8
 1.12414 -+ *[0-9a-f]*:	ed cc ff ff 	stmts r12,r0-pc
 1.12415 -+ *[0-9a-f]*:	ed c5 80 00 	stmts r5,pc
 1.12416 -+ *[0-9a-f]*:	ed c4 7f ff 	stmts r4,r0-lr
 1.12417 -+ *[0-9a-f]*:	ed ce 00 01 	stmts lr,r0
 1.12418 -+ *[0-9a-f]*:	ed c1 c6 5b 	stmts r1,r0-r1,r3-r4,r6,r9-r10,lr-pc
 1.12419 -+ *[0-9a-f]*:	ed c3 1d c1 	stmts r3,r0,r6-r8,r10-r12
 1.12420 -+ *[0-9a-f]*:	ed cb d6 d1 	stmts r11,r0,r4,r6-r7,r9-r10,r12,lr-pc
 1.12421 -+
 1.12422 -+[0-9a-f]* <stmts_pu>:
 1.12423 -+ *[0-9a-f]*:	ef cf 01 c0 	stmts --pc,r6-r8
 1.12424 -+ *[0-9a-f]*:	ef cc ff ff 	stmts --r12,r0-pc
 1.12425 -+ *[0-9a-f]*:	ef c5 80 00 	stmts --r5,pc
 1.12426 -+ *[0-9a-f]*:	ef c4 7f ff 	stmts --r4,r0-lr
 1.12427 -+ *[0-9a-f]*:	ef ce 00 01 	stmts --lr,r0
 1.12428 -+ *[0-9a-f]*:	ef c2 36 19 	stmts --r2,r0,r3-r4,r9-r10,r12-sp
 1.12429 -+ *[0-9a-f]*:	ef c3 c0 03 	stmts --r3,r0-r1,lr-pc
 1.12430 -+ *[0-9a-f]*:	ef c0 44 7d 	stmts --r0,r0,r2-r6,r10,lr
 1.12431 -+
 1.12432 -+[0-9a-f]* <ldins_h>:
 1.12433 -+ *[0-9a-f]*:	ff df 00 00 	ldins\.h pc:b,pc\[0\]
 1.12434 -+ *[0-9a-f]*:	f9 dc 1f ff 	ldins\.h r12:t,r12\[-2\]
 1.12435 -+ *[0-9a-f]*:	eb d5 18 00 	ldins\.h r5:t,r5\[-4096\]
 1.12436 -+ *[0-9a-f]*:	e9 d4 07 ff 	ldins\.h r4:b,r4\[4094\]
 1.12437 -+ *[0-9a-f]*:	fd de 10 01 	ldins\.h lr:t,lr\[2\]
 1.12438 -+ *[0-9a-f]*:	fd d0 13 c5 	ldins\.h r0:t,lr\[1930\]
 1.12439 -+ *[0-9a-f]*:	ef d3 0e f5 	ldins\.h r3:b,r7\[-534\]
 1.12440 -+ *[0-9a-f]*:	f9 d2 0b 9a 	ldins\.h r2:b,r12\[-2252\]
 1.12441 -+
 1.12442 -+[0-9a-f]* <ldins_b>:
 1.12443 -+ *[0-9a-f]*:	ff df 40 00 	ldins\.b pc:b,pc\[0\]
 1.12444 -+ *[0-9a-f]*:	f9 dc 7f ff 	ldins\.b r12:t,r12\[-1\]
 1.12445 -+ *[0-9a-f]*:	eb d5 68 00 	ldins\.b r5:u,r5\[-2048\]
 1.12446 -+ *[0-9a-f]*:	e9 d4 57 ff 	ldins\.b r4:l,r4\[2047\]
 1.12447 -+ *[0-9a-f]*:	fd de 50 01 	ldins\.b lr:l,lr\[1\]
 1.12448 -+ *[0-9a-f]*:	e9 d6 7d 6a 	ldins\.b r6:t,r4\[-662\]
 1.12449 -+ *[0-9a-f]*:	e3 d5 4f 69 	ldins\.b r5:b,r1\[-151\]
 1.12450 -+ *[0-9a-f]*:	f7 da 78 7d 	ldins\.b r10:t,r11\[-1923\]
 1.12451 -+
 1.12452 -+[0-9a-f]* <ldswp_sh>:
 1.12453 -+ *[0-9a-f]*:	ff df 20 00 	ldswp\.sh pc,pc\[0\]
 1.12454 -+ *[0-9a-f]*:	f9 dc 2f ff 	ldswp\.sh r12,r12\[-2\]
 1.12455 -+ *[0-9a-f]*:	eb d5 28 00 	ldswp\.sh r5,r5\[-4096\]
 1.12456 -+ *[0-9a-f]*:	e9 d4 27 ff 	ldswp\.sh r4,r4\[4094\]
 1.12457 -+ *[0-9a-f]*:	fd de 20 01 	ldswp\.sh lr,lr\[2\]
 1.12458 -+ *[0-9a-f]*:	f5 d9 27 84 	ldswp\.sh r9,r10\[3848\]
 1.12459 -+ *[0-9a-f]*:	f9 d4 2c 04 	ldswp\.sh r4,r12\[-2040\]
 1.12460 -+ *[0-9a-f]*:	e5 da 26 08 	ldswp\.sh r10,r2\[3088\]
 1.12461 -+
 1.12462 -+[0-9a-f]* <ldswp_uh>:
 1.12463 -+ *[0-9a-f]*:	ff df 30 00 	ldswp\.uh pc,pc\[0\]
 1.12464 -+ *[0-9a-f]*:	f9 dc 3f ff 	ldswp\.uh r12,r12\[-2\]
 1.12465 -+ *[0-9a-f]*:	eb d5 38 00 	ldswp\.uh r5,r5\[-4096\]
 1.12466 -+ *[0-9a-f]*:	e9 d4 37 ff 	ldswp\.uh r4,r4\[4094\]
 1.12467 -+ *[0-9a-f]*:	fd de 30 01 	ldswp\.uh lr,lr\[2\]
 1.12468 -+ *[0-9a-f]*:	f3 d4 37 46 	ldswp\.uh r4,r9\[3724\]
 1.12469 -+ *[0-9a-f]*:	fb de 3c bc 	ldswp\.uh lr,sp\[-1672\]
 1.12470 -+ *[0-9a-f]*:	f9 d8 38 7d 	ldswp\.uh r8,r12\[-3846\]
 1.12471 -+
 1.12472 -+[0-9a-f]* <ldswp_w>:
 1.12473 -+ *[0-9a-f]*:	ff df 80 00 	ldswp\.w pc,pc\[0\]
 1.12474 -+ *[0-9a-f]*:	f9 dc 8f ff 	ldswp\.w r12,r12\[-4\]
 1.12475 -+ *[0-9a-f]*:	eb d5 88 00 	ldswp\.w r5,r5\[-8192\]
 1.12476 -+ *[0-9a-f]*:	e9 d4 87 ff 	ldswp\.w r4,r4\[8188\]
 1.12477 -+ *[0-9a-f]*:	fd de 80 01 	ldswp\.w lr,lr\[4\]
 1.12478 -+ *[0-9a-f]*:	ef dd 81 d1 	ldswp\.w sp,r7\[1860\]
 1.12479 -+ *[0-9a-f]*:	eb df 8c c1 	ldswp\.w pc,r5\[-3324\]
 1.12480 -+ *[0-9a-f]*:	f5 dc 8c c8 	ldswp\.w r12,r10\[-3296\]
 1.12481 -+
 1.12482 -+[0-9a-f]* <stswp_h>:
 1.12483 -+ *[0-9a-f]*:	ff df 90 00 	stswp\.h pc\[0\],pc
 1.12484 -+ *[0-9a-f]*:	f9 dc 9f ff 	stswp\.h r12\[-2\],r12
 1.12485 -+ *[0-9a-f]*:	eb d5 98 00 	stswp\.h r5\[-4096\],r5
 1.12486 -+ *[0-9a-f]*:	e9 d4 97 ff 	stswp\.h r4\[4094\],r4
 1.12487 -+ *[0-9a-f]*:	fd de 90 01 	stswp\.h lr\[2\],lr
 1.12488 -+ *[0-9a-f]*:	ef da 90 20 	stswp\.h r7\[64\],r10
 1.12489 -+ *[0-9a-f]*:	f5 d2 95 e8 	stswp\.h r10\[3024\],r2
 1.12490 -+ *[0-9a-f]*:	e1 da 9b 74 	stswp\.h r0\[-2328\],r10
 1.12491 -+
 1.12492 -+[0-9a-f]* <stswp_w>:
 1.12493 -+ *[0-9a-f]*:	ff df a0 00 	stswp\.w pc\[0\],pc
 1.12494 -+ *[0-9a-f]*:	f9 dc af ff 	stswp\.w r12\[-4\],r12
 1.12495 -+ *[0-9a-f]*:	eb d5 a8 00 	stswp\.w r5\[-8192\],r5
 1.12496 -+ *[0-9a-f]*:	e9 d4 a7 ff 	stswp\.w r4\[8188\],r4
 1.12497 -+ *[0-9a-f]*:	fd de a0 01 	stswp\.w lr\[4\],lr
 1.12498 -+ *[0-9a-f]*:	ff d8 a1 21 	stswp\.w pc\[1156\],r8
 1.12499 -+ *[0-9a-f]*:	fb da a7 ce 	stswp\.w sp\[7992\],r10
 1.12500 -+ *[0-9a-f]*:	f1 d5 ae db 	stswp\.w r8\[-1172\],r5
 1.12501 -+
 1.12502 -+[0-9a-f]* <and2>:
 1.12503 -+ *[0-9a-f]*:	ff ef 00 0f 	and pc,pc,pc
 1.12504 -+ *[0-9a-f]*:	f9 ec 01 fc 	and r12,r12,r12<<0x1f
 1.12505 -+ *[0-9a-f]*:	eb e5 01 05 	and r5,r5,r5<<0x10
 1.12506 -+ *[0-9a-f]*:	e9 e4 00 f4 	and r4,r4,r4<<0xf
 1.12507 -+ *[0-9a-f]*:	fd ee 00 1e 	and lr,lr,lr<<0x1
 1.12508 -+ *[0-9a-f]*:	e5 e1 00 1a 	and r10,r2,r1<<0x1
 1.12509 -+ *[0-9a-f]*:	f1 eb 01 bc 	and r12,r8,r11<<0x1b
 1.12510 -+ *[0-9a-f]*:	ef e0 00 3a 	and r10,r7,r0<<0x3
 1.12511 -+
 1.12512 -+[0-9a-f]* <and3>:
 1.12513 -+ *[0-9a-f]*:	ff ef 02 0f 	and pc,pc,pc
 1.12514 -+ *[0-9a-f]*:	f9 ec 03 fc 	and r12,r12,r12>>0x1f
 1.12515 -+ *[0-9a-f]*:	eb e5 03 05 	and r5,r5,r5>>0x10
 1.12516 -+ *[0-9a-f]*:	e9 e4 02 f4 	and r4,r4,r4>>0xf
 1.12517 -+ *[0-9a-f]*:	fd ee 02 1e 	and lr,lr,lr>>0x1
 1.12518 -+ *[0-9a-f]*:	f1 e7 03 1c 	and r12,r8,r7>>0x11
 1.12519 -+ *[0-9a-f]*:	e9 e9 03 4f 	and pc,r4,r9>>0x14
 1.12520 -+ *[0-9a-f]*:	f3 ea 02 ca 	and r10,r9,r10>>0xc
 1.12521 -+
 1.12522 -+[0-9a-f]* <or2>:
 1.12523 -+ *[0-9a-f]*:	ff ef 10 0f 	or pc,pc,pc
 1.12524 -+ *[0-9a-f]*:	f9 ec 11 fc 	or r12,r12,r12<<0x1f
 1.12525 -+ *[0-9a-f]*:	eb e5 11 05 	or r5,r5,r5<<0x10
 1.12526 -+ *[0-9a-f]*:	e9 e4 10 f4 	or r4,r4,r4<<0xf
 1.12527 -+ *[0-9a-f]*:	fd ee 10 1e 	or lr,lr,lr<<0x1
 1.12528 -+ *[0-9a-f]*:	fb eb 11 d8 	or r8,sp,r11<<0x1d
 1.12529 -+ *[0-9a-f]*:	f3 e2 11 cf 	or pc,r9,r2<<0x1c
 1.12530 -+ *[0-9a-f]*:	e3 e2 10 35 	or r5,r1,r2<<0x3
 1.12531 -+
 1.12532 -+[0-9a-f]* <or3>:
 1.12533 -+ *[0-9a-f]*:	ff ef 12 0f 	or pc,pc,pc
 1.12534 -+ *[0-9a-f]*:	f9 ec 13 fc 	or r12,r12,r12>>0x1f
 1.12535 -+ *[0-9a-f]*:	eb e5 13 05 	or r5,r5,r5>>0x10
 1.12536 -+ *[0-9a-f]*:	e9 e4 12 f4 	or r4,r4,r4>>0xf
 1.12537 -+ *[0-9a-f]*:	fd ee 12 1e 	or lr,lr,lr>>0x1
 1.12538 -+ *[0-9a-f]*:	fb ed 12 21 	or r1,sp,sp>>0x2
 1.12539 -+ *[0-9a-f]*:	e3 e1 13 d0 	or r0,r1,r1>>0x1d
 1.12540 -+ *[0-9a-f]*:	f9 e8 12 84 	or r4,r12,r8>>0x8
 1.12541 -+
 1.12542 -+[0-9a-f]* <eor2>:
 1.12543 -+ *[0-9a-f]*:	ff ef 20 0f 	eor pc,pc,pc
 1.12544 -+ *[0-9a-f]*:	f9 ec 21 fc 	eor r12,r12,r12<<0x1f
 1.12545 -+ *[0-9a-f]*:	eb e5 21 05 	eor r5,r5,r5<<0x10
 1.12546 -+ *[0-9a-f]*:	e9 e4 20 f4 	eor r4,r4,r4<<0xf
 1.12547 -+ *[0-9a-f]*:	fd ee 20 1e 	eor lr,lr,lr<<0x1
 1.12548 -+ *[0-9a-f]*:	f3 e4 20 ba 	eor r10,r9,r4<<0xb
 1.12549 -+ *[0-9a-f]*:	e1 e1 21 f4 	eor r4,r0,r1<<0x1f
 1.12550 -+ *[0-9a-f]*:	e5 ec 20 d6 	eor r6,r2,r12<<0xd
 1.12551 -+
 1.12552 -+[0-9a-f]* <eor3>:
 1.12553 -+ *[0-9a-f]*:	ff ef 22 0f 	eor pc,pc,pc
 1.12554 -+ *[0-9a-f]*:	f9 ec 23 fc 	eor r12,r12,r12>>0x1f
 1.12555 -+ *[0-9a-f]*:	eb e5 23 05 	eor r5,r5,r5>>0x10
 1.12556 -+ *[0-9a-f]*:	e9 e4 22 f4 	eor r4,r4,r4>>0xf
 1.12557 -+ *[0-9a-f]*:	fd ee 22 1e 	eor lr,lr,lr>>0x1
 1.12558 -+ *[0-9a-f]*:	eb e5 23 65 	eor r5,r5,r5>>0x16
 1.12559 -+ *[0-9a-f]*:	e3 ee 22 3a 	eor r10,r1,lr>>0x3
 1.12560 -+ *[0-9a-f]*:	fd ed 23 a7 	eor r7,lr,sp>>0x1a
 1.12561 -+
 1.12562 -+[0-9a-f]* <sthh_w2>:
 1.12563 -+ *[0-9a-f]*:	ff ef 8f 0f 	sthh\.w pc\[pc\],pc:b,pc:b
 1.12564 -+ *[0-9a-f]*:	f9 ec bc 3c 	sthh\.w r12\[r12<<0x3\],r12:t,r12:t
 1.12565 -+ *[0-9a-f]*:	eb e5 b5 25 	sthh\.w r5\[r5<<0x2\],r5:t,r5:t
 1.12566 -+ *[0-9a-f]*:	e9 e4 84 14 	sthh\.w r4\[r4<<0x1\],r4:b,r4:b
 1.12567 -+ *[0-9a-f]*:	fd ee be 1e 	sthh\.w lr\[lr<<0x1\],lr:t,lr:t
 1.12568 -+ *[0-9a-f]*:	e3 ec b6 3d 	sthh\.w sp\[r6<<0x3\],r1:t,r12:t
 1.12569 -+ *[0-9a-f]*:	f3 e9 b6 06 	sthh\.w r6\[r6\],r9:t,r9:t
 1.12570 -+ *[0-9a-f]*:	e1 eb 93 0a 	sthh\.w r10\[r3\],r0:b,r11:t
 1.12571 -+
 1.12572 -+[0-9a-f]* <sthh_w1>:
 1.12573 -+ *[0-9a-f]*:	ff ef c0 0f 	sthh\.w pc\[0x0\],pc:b,pc:b
 1.12574 -+ *[0-9a-f]*:	f9 ec ff fc 	sthh\.w r12\[0x3fc\],r12:t,r12:t
 1.12575 -+ *[0-9a-f]*:	eb e5 f8 05 	sthh\.w r5\[0x200\],r5:t,r5:t
 1.12576 -+ *[0-9a-f]*:	e9 e4 c7 f4 	sthh\.w r4\[0x1fc\],r4:b,r4:b
 1.12577 -+ *[0-9a-f]*:	fd ee f0 1e 	sthh\.w lr\[0x4\],lr:t,lr:t
 1.12578 -+ *[0-9a-f]*:	f3 e0 e6 54 	sthh\.w r4\[0x194\],r9:t,r0:b
 1.12579 -+ *[0-9a-f]*:	e5 ea e5 78 	sthh\.w r8\[0x15c\],r2:t,r10:b
 1.12580 -+ *[0-9a-f]*:	f3 e2 c2 bd 	sthh\.w sp\[0xac\],r9:b,r2:b
 1.12581 -+
 1.12582 -+[0-9a-f]* <cop>:
 1.12583 -+ *[0-9a-f]*:	e1 a0 00 00 	cop cp0,cr0,cr0,cr0,0x0
 1.12584 -+ *[0-9a-f]*:	e7 af ff ff 	cop cp7,cr15,cr15,cr15,0x7f
 1.12585 -+ *[0-9a-f]*:	e3 a8 75 55 	cop cp3,cr5,cr5,cr5,0x31
 1.12586 -+ *[0-9a-f]*:	e3 a8 44 44 	cop cp2,cr4,cr4,cr4,0x30
 1.12587 -+ *[0-9a-f]*:	e5 ad a8 37 	cop cp5,cr8,cr3,cr7,0x5a
 1.12588 -+
 1.12589 -+[0-9a-f]* <ldc_w1>:
 1.12590 -+ *[0-9a-f]*:	e9 a0 00 00 	ldc\.w cp0,cr0,r0\[0x0\]
 1.12591 -+ *[0-9a-f]*:	e9 af ef ff 	ldc\.w cp7,cr15,pc\[0x3fc\]
 1.12592 -+ *[0-9a-f]*:	e9 a5 65 80 	ldc\.w cp3,cr5,r5\[0x200\]
 1.12593 -+ *[0-9a-f]*:	e9 a4 44 7f 	ldc\.w cp2,cr4,r4\[0x1fc\]
 1.12594 -+ *[0-9a-f]*:	e9 ad 89 24 	ldc\.w cp4,cr9,sp\[0x90\]
 1.12595 -+
 1.12596 -+[0-9a-f]* <ldc_w2>:
 1.12597 -+ *[0-9a-f]*:	ef a0 00 40 	ldc\.w cp0,cr0,--r0
 1.12598 -+ *[0-9a-f]*:	ef af ef 40 	ldc\.w cp7,cr15,--pc
 1.12599 -+ *[0-9a-f]*:	ef a5 65 40 	ldc\.w cp3,cr5,--r5
 1.12600 -+ *[0-9a-f]*:	ef a4 44 40 	ldc\.w cp2,cr4,--r4
 1.12601 -+ *[0-9a-f]*:	ef ad 89 40 	ldc\.w cp4,cr9,--sp
 1.12602 -+
 1.12603 -+[0-9a-f]* <ldc_w3>:
 1.12604 -+ *[0-9a-f]*:	ef a0 10 00 	ldc\.w cp0,cr0,r0\[r0\]
 1.12605 -+ *[0-9a-f]*:	ef af ff 3f 	ldc\.w cp7,cr15,pc\[pc<<0x3\]
 1.12606 -+ *[0-9a-f]*:	ef a5 75 24 	ldc\.w cp3,cr5,r5\[r4<<0x2\]
 1.12607 -+ *[0-9a-f]*:	ef a4 54 13 	ldc\.w cp2,cr4,r4\[r3<<0x1\]
 1.12608 -+ *[0-9a-f]*:	ef ad 99 0c 	ldc\.w cp4,cr9,sp\[r12\]
 1.12609 -+
 1.12610 -+[0-9a-f]* <ldc_d1>:
 1.12611 -+ *[0-9a-f]*:	e9 a0 10 00 	ldc\.d cp0,cr0,r0\[0x0\]
 1.12612 -+ *[0-9a-f]*:	e9 af fe ff 	ldc\.d cp7,cr14,pc\[0x3fc\]
 1.12613 -+ *[0-9a-f]*:	e9 a5 76 80 	ldc\.d cp3,cr6,r5\[0x200\]
 1.12614 -+ *[0-9a-f]*:	e9 a4 54 7f 	ldc\.d cp2,cr4,r4\[0x1fc\]
 1.12615 -+ *[0-9a-f]*:	e9 ad 98 24 	ldc\.d cp4,cr8,sp\[0x90\]
 1.12616 -+
 1.12617 -+[0-9a-f]* <ldc_d2>:
 1.12618 -+ *[0-9a-f]*:	ef a0 00 50 	ldc\.d cp0,cr0,--r0
 1.12619 -+ *[0-9a-f]*:	ef af ee 50 	ldc\.d cp7,cr14,--pc
 1.12620 -+ *[0-9a-f]*:	ef a5 66 50 	ldc\.d cp3,cr6,--r5
 1.12621 -+ *[0-9a-f]*:	ef a4 44 50 	ldc\.d cp2,cr4,--r4
 1.12622 -+ *[0-9a-f]*:	ef ad 88 50 	ldc\.d cp4,cr8,--sp
 1.12623 -+
 1.12624 -+[0-9a-f]* <ldc_d3>:
 1.12625 -+ *[0-9a-f]*:	ef a0 10 40 	ldc\.d cp0,cr0,r0\[r0\]
 1.12626 -+ *[0-9a-f]*:	ef af fe 7f 	ldc\.d cp7,cr14,pc\[pc<<0x3\]
 1.12627 -+ *[0-9a-f]*:	ef a5 76 64 	ldc\.d cp3,cr6,r5\[r4<<0x2\]
 1.12628 -+ *[0-9a-f]*:	ef a4 54 53 	ldc\.d cp2,cr4,r4\[r3<<0x1\]
 1.12629 -+ *[0-9a-f]*:	ef ad 98 4c 	ldc\.d cp4,cr8,sp\[r12\]
 1.12630 -+
 1.12631 -+[0-9a-f]* <stc_w1>:
 1.12632 -+ *[0-9a-f]*:	eb a0 00 00 	stc\.w cp0,r0\[0x0\],cr0
 1.12633 -+ *[0-9a-f]*:	eb af ef ff 	stc\.w cp7,pc\[0x3fc\],cr15
 1.12634 -+ *[0-9a-f]*:	eb a5 65 80 	stc\.w cp3,r5\[0x200\],cr5
 1.12635 -+ *[0-9a-f]*:	eb a4 44 7f 	stc\.w cp2,r4\[0x1fc\],cr4
 1.12636 -+ *[0-9a-f]*:	eb ad 89 24 	stc\.w cp4,sp\[0x90\],cr9
 1.12637 -+
 1.12638 -+[0-9a-f]* <stc_w2>:
 1.12639 -+ *[0-9a-f]*:	ef a0 00 60 	stc\.w cp0,r0\+\+,cr0
 1.12640 -+ *[0-9a-f]*:	ef af ef 60 	stc\.w cp7,pc\+\+,cr15
 1.12641 -+ *[0-9a-f]*:	ef a5 65 60 	stc\.w cp3,r5\+\+,cr5
 1.12642 -+ *[0-9a-f]*:	ef a4 44 60 	stc\.w cp2,r4\+\+,cr4
 1.12643 -+ *[0-9a-f]*:	ef ad 89 60 	stc\.w cp4,sp\+\+,cr9
 1.12644 -+
 1.12645 -+[0-9a-f]* <stc_w3>:
 1.12646 -+ *[0-9a-f]*:	ef a0 10 80 	stc\.w cp0,r0\[r0\],cr0
 1.12647 -+ *[0-9a-f]*:	ef af ff bf 	stc\.w cp7,pc\[pc<<0x3\],cr15
 1.12648 -+ *[0-9a-f]*:	ef a5 75 a4 	stc\.w cp3,r5\[r4<<0x2\],cr5
 1.12649 -+ *[0-9a-f]*:	ef a4 54 93 	stc\.w cp2,r4\[r3<<0x1\],cr4
 1.12650 -+ *[0-9a-f]*:	ef ad 99 8c 	stc\.w cp4,sp\[r12\],cr9
 1.12651 -+
 1.12652 -+[0-9a-f]* <stc_d1>:
 1.12653 -+ *[0-9a-f]*:	eb a0 10 00 	stc\.d cp0,r0\[0x0\],cr0
 1.12654 -+ *[0-9a-f]*:	eb af fe ff 	stc\.d cp7,pc\[0x3fc\],cr14
 1.12655 -+ *[0-9a-f]*:	eb a5 76 80 	stc\.d cp3,r5\[0x200\],cr6
 1.12656 -+ *[0-9a-f]*:	eb a4 54 7f 	stc\.d cp2,r4\[0x1fc\],cr4
 1.12657 -+ *[0-9a-f]*:	eb ad 98 24 	stc\.d cp4,sp\[0x90\],cr8
 1.12658 -+
 1.12659 -+[0-9a-f]* <stc_d2>:
 1.12660 -+ *[0-9a-f]*:	ef a0 00 70 	stc\.d cp0,r0\+\+,cr0
 1.12661 -+ *[0-9a-f]*:	ef af ee 70 	stc\.d cp7,pc\+\+,cr14
 1.12662 -+ *[0-9a-f]*:	ef a5 66 70 	stc\.d cp3,r5\+\+,cr6
 1.12663 -+ *[0-9a-f]*:	ef a4 44 70 	stc\.d cp2,r4\+\+,cr4
 1.12664 -+ *[0-9a-f]*:	ef ad 88 70 	stc\.d cp4,sp\+\+,cr8
 1.12665 -+
 1.12666 -+[0-9a-f]* <stc_d3>:
 1.12667 -+ *[0-9a-f]*:	ef a0 10 c0 	stc\.d cp0,r0\[r0\],cr0
 1.12668 -+ *[0-9a-f]*:	ef af fe ff 	stc\.d cp7,pc\[pc<<0x3\],cr14
 1.12669 -+ *[0-9a-f]*:	ef a5 76 e4 	stc\.d cp3,r5\[r4<<0x2\],cr6
 1.12670 -+ *[0-9a-f]*:	ef a4 54 d3 	stc\.d cp2,r4\[r3<<0x1\],cr4
 1.12671 -+ *[0-9a-f]*:	ef ad 98 cc 	stc\.d cp4,sp\[r12\],cr8
 1.12672 -+
 1.12673 -+[0-9a-f]* <ldc0_w>:
 1.12674 -+ *[0-9a-f]*:	f1 a0 00 00 	ldc0\.w cr0,r0\[0x0\]
 1.12675 -+ *[0-9a-f]*:	f1 af ff ff 	ldc0\.w cr15,pc\[0x3ffc\]
 1.12676 -+ *[0-9a-f]*:	f1 a5 85 00 	ldc0\.w cr5,r5\[0x2000\]
 1.12677 -+ *[0-9a-f]*:	f1 a4 74 ff 	ldc0\.w cr4,r4\[0x1ffc\]
 1.12678 -+ *[0-9a-f]*:	f1 ad 09 93 	ldc0\.w cr9,sp\[0x24c\]
 1.12679 -+
 1.12680 -+[0-9a-f]* <ldc0_d>:
 1.12681 -+ *[0-9a-f]*:	f3 a0 00 00 	ldc0\.d cr0,r0\[0x0\]
 1.12682 -+ *[0-9a-f]*:	f3 af fe ff 	ldc0\.d cr14,pc\[0x3ffc\]
 1.12683 -+ *[0-9a-f]*:	f3 a5 86 00 	ldc0\.d cr6,r5\[0x2000\]
 1.12684 -+ *[0-9a-f]*:	f3 a4 74 ff 	ldc0\.d cr4,r4\[0x1ffc\]
 1.12685 -+ *[0-9a-f]*:	f3 ad 08 93 	ldc0\.d cr8,sp\[0x24c\]
 1.12686 -+
 1.12687 -+[0-9a-f]* <stc0_w>:
 1.12688 -+ *[0-9a-f]*:	f5 a0 00 00 	stc0\.w r0\[0x0\],cr0
 1.12689 -+ *[0-9a-f]*:	f5 af ff ff 	stc0\.w pc\[0x3ffc\],cr15
 1.12690 -+ *[0-9a-f]*:	f5 a5 85 00 	stc0\.w r5\[0x2000\],cr5
 1.12691 -+ *[0-9a-f]*:	f5 a4 74 ff 	stc0\.w r4\[0x1ffc\],cr4
 1.12692 -+ *[0-9a-f]*:	f5 ad 09 93 	stc0\.w sp\[0x24c\],cr9
 1.12693 -+
 1.12694 -+[0-9a-f]* <stc0_d>:
 1.12695 -+ *[0-9a-f]*:	f7 a0 00 00 	stc0\.d r0\[0x0\],cr0
 1.12696 -+ *[0-9a-f]*:	f7 af fe ff 	stc0\.d pc\[0x3ffc\],cr14
 1.12697 -+ *[0-9a-f]*:	f7 a5 86 00 	stc0\.d r5\[0x2000\],cr6
 1.12698 -+ *[0-9a-f]*:	f7 a4 74 ff 	stc0\.d r4\[0x1ffc\],cr4
 1.12699 -+ *[0-9a-f]*:	f7 ad 08 93 	stc0\.d sp\[0x24c\],cr8
 1.12700 -+
 1.12701 -+[0-9a-f]* <memc>:
 1.12702 -+ *[0-9a-f]*:	f6 10 00 00 	memc 0,0x0
 1.12703 -+ *[0-9a-f]*:	f6 1f ff ff 	memc -4,0x1f
 1.12704 -+ *[0-9a-f]*:	f6 18 40 00 	memc -65536,0x10
 1.12705 -+ *[0-9a-f]*:	f6 17 bf ff 	memc 65532,0xf
 1.12706 -+
 1.12707 -+[0-9a-f]* <mems>:
 1.12708 -+ *[0-9a-f]*:	f8 10 00 00 	mems 0,0x0
 1.12709 -+ *[0-9a-f]*:	f8 1f ff ff 	mems -4,0x1f
 1.12710 -+ *[0-9a-f]*:	f8 18 40 00 	mems -65536,0x10
 1.12711 -+ *[0-9a-f]*:	f8 17 bf ff 	mems 65532,0xf
 1.12712 -+
 1.12713 -+[0-9a-f]* <memt>:
 1.12714 -+ *[0-9a-f]*:	fa 10 00 00 	memt 0,0x0
 1.12715 -+ *[0-9a-f]*:	fa 1f ff ff 	memt -4,0x1f
 1.12716 -+ *[0-9a-f]*:	fa 18 40 00 	memt -65536,0x10
 1.12717 -+ *[0-9a-f]*:	fa 17 bf ff 	memt 65532,0xf
 1.12718 -+
 1.12719 -+[0-9a-f]* <stcond>:
 1.12720 -+ *[0-9a-f]*:	e1 70 00 00 	stcond r0\[0\],r0
 1.12721 -+ *[0-9a-f]*:	ff 7f ff ff 	stcond pc\[-1\],pc
 1.12722 -+ *[0-9a-f]*:	f1 77 80 00 	stcond r8\[-32768\],r7
 1.12723 -+ *[0-9a-f]*:	ef 78 7f ff 	stcond r7\[32767\],r8
 1.12724 -+ *[0-9a-f]*:	eb 7a 12 34 	stcond r5\[4660\],r10
 1.12725 -+
 1.12726 -+[0-9a-f]* <ldcm_w>:
 1.12727 -+ *[0-9a-f]*:	ed af 00 ff 	ldcm\.w cp0,pc,cr0-cr7
 1.12728 -+ *[0-9a-f]*:	ed a0 e0 01 	ldcm\.w cp7,r0,cr0
 1.12729 -+ *[0-9a-f]*:	ed a4 90 7f 	ldcm\.w cp4,r4\+\+,cr0-cr6
 1.12730 -+ *[0-9a-f]*:	ed a7 60 80 	ldcm\.w cp3,r7,cr7
 1.12731 -+ *[0-9a-f]*:	ed ac 30 72 	ldcm\.w cp1,r12\+\+,cr1,cr4-cr6
 1.12732 -+ *[0-9a-f]*:	ed af 01 ff 	ldcm\.w cp0,pc,cr8-cr15
 1.12733 -+ *[0-9a-f]*:	ed a0 e1 01 	ldcm\.w cp7,r0,cr8
 1.12734 -+ *[0-9a-f]*:	ed a4 91 7f 	ldcm\.w cp4,r4\+\+,cr8-cr14
 1.12735 -+ *[0-9a-f]*:	ed a7 61 80 	ldcm\.w cp3,r7,cr15
 1.12736 -+ *[0-9a-f]*:	ed ac 31 72 	ldcm\.w cp1,r12\+\+,cr9,cr12-cr14
 1.12737 -+
 1.12738 -+[0-9a-f]* <ldcm_d>:
 1.12739 -+ *[0-9a-f]*:	ed af 04 ff 	ldcm\.d cp0,pc,cr0-cr15
 1.12740 -+ *[0-9a-f]*:	ed a0 e4 01 	ldcm\.d cp7,r0,cr0-cr1
 1.12741 -+ *[0-9a-f]*:	ed a4 94 7f 	ldcm\.d cp4,r4\+\+,cr0-cr13
 1.12742 -+ *[0-9a-f]*:	ed a7 64 80 	ldcm\.d cp3,r7,cr14-cr15
 1.12743 -+ *[0-9a-f]*:	ed ac 54 93 	ldcm\.d cp2,r12\+\+,cr0-cr3,cr8-cr9,cr14-cr15
 1.12744 -+
 1.12745 -+[0-9a-f]* <stcm_w>:
 1.12746 -+ *[0-9a-f]*:	ed af 02 ff 	stcm\.w cp0,pc,cr0-cr7
 1.12747 -+ *[0-9a-f]*:	ed a0 e2 01 	stcm\.w cp7,r0,cr0
 1.12748 -+ *[0-9a-f]*:	ed a4 92 7f 	stcm\.w cp4,--r4,cr0-cr6
 1.12749 -+ *[0-9a-f]*:	ed a7 62 80 	stcm\.w cp3,r7,cr7
 1.12750 -+ *[0-9a-f]*:	ed ac 32 72 	stcm\.w cp1,--r12,cr1,cr4-cr6
 1.12751 -+ *[0-9a-f]*:	ed af 03 ff 	stcm\.w cp0,pc,cr8-cr15
 1.12752 -+ *[0-9a-f]*:	ed a0 e3 01 	stcm\.w cp7,r0,cr8
 1.12753 -+ *[0-9a-f]*:	ed a4 93 7f 	stcm\.w cp4,--r4,cr8-cr14
 1.12754 -+ *[0-9a-f]*:	ed a7 63 80 	stcm\.w cp3,r7,cr15
 1.12755 -+ *[0-9a-f]*:	ed ac 33 72 	stcm\.w cp1,--r12,cr9,cr12-cr14
 1.12756 -+
 1.12757 -+[0-9a-f]* <stcm_d>:
 1.12758 -+ *[0-9a-f]*:	ed af 05 ff 	stcm\.d cp0,pc,cr0-cr15
 1.12759 -+ *[0-9a-f]*:	ed a0 e5 01 	stcm\.d cp7,r0,cr0-cr1
 1.12760 -+ *[0-9a-f]*:	ed a4 95 7f 	stcm\.d cp4,--r4,cr0-cr13
 1.12761 -+ *[0-9a-f]*:	ed a7 65 80 	stcm\.d cp3,r7,cr14-cr15
 1.12762 -+ *[0-9a-f]*:	ed ac 55 93 	stcm\.d cp2,--r12,cr0-cr3,cr8-cr9,cr14-cr15
 1.12763 -+
 1.12764 -+[0-9a-f]* <mvcr_w>:
 1.12765 -+ *[0-9a-f]*:	ef af ef 00 	mvcr\.w cp7,pc,cr15
 1.12766 -+ *[0-9a-f]*:	ef a0 00 00 	mvcr\.w cp0,r0,cr0
 1.12767 -+ *[0-9a-f]*:	ef af 0f 00 	mvcr\.w cp0,pc,cr15
 1.12768 -+ *[0-9a-f]*:	ef a0 ef 00 	mvcr\.w cp7,r0,cr15
 1.12769 -+ *[0-9a-f]*:	ef af e0 00 	mvcr\.w cp7,pc,cr0
 1.12770 -+ *[0-9a-f]*:	ef a7 88 00 	mvcr\.w cp4,r7,cr8
 1.12771 -+ *[0-9a-f]*:	ef a8 67 00 	mvcr\.w cp3,r8,cr7
 1.12772 -+
 1.12773 -+[0-9a-f]* <mvcr_d>:
 1.12774 -+ *[0-9a-f]*:	ef ae ee 10 	mvcr\.d cp7,lr,cr14
 1.12775 -+ *[0-9a-f]*:	ef a0 00 10 	mvcr\.d cp0,r0,cr0
 1.12776 -+ *[0-9a-f]*:	ef ae 0e 10 	mvcr\.d cp0,lr,cr14
 1.12777 -+ *[0-9a-f]*:	ef a0 ee 10 	mvcr\.d cp7,r0,cr14
 1.12778 -+ *[0-9a-f]*:	ef ae e0 10 	mvcr\.d cp7,lr,cr0
 1.12779 -+ *[0-9a-f]*:	ef a6 88 10 	mvcr\.d cp4,r6,cr8
 1.12780 -+ *[0-9a-f]*:	ef a8 66 10 	mvcr\.d cp3,r8,cr6
 1.12781 -+
 1.12782 -+[0-9a-f]* <mvrc_w>:
 1.12783 -+ *[0-9a-f]*:	ef af ef 20 	mvrc\.w cp7,cr15,pc
 1.12784 -+ *[0-9a-f]*:	ef a0 00 20 	mvrc\.w cp0,cr0,r0
 1.12785 -+ *[0-9a-f]*:	ef af 0f 20 	mvrc\.w cp0,cr15,pc
 1.12786 -+ *[0-9a-f]*:	ef a0 ef 20 	mvrc\.w cp7,cr15,r0
 1.12787 -+ *[0-9a-f]*:	ef af e0 20 	mvrc\.w cp7,cr0,pc
 1.12788 -+ *[0-9a-f]*:	ef a7 88 20 	mvrc\.w cp4,cr8,r7
 1.12789 -+ *[0-9a-f]*:	ef a8 67 20 	mvrc\.w cp3,cr7,r8
 1.12790 -+
 1.12791 -+[0-9a-f]* <mvrc_d>:
 1.12792 -+ *[0-9a-f]*:	ef ae ee 30 	mvrc\.d cp7,cr14,lr
 1.12793 -+ *[0-9a-f]*:	ef a0 00 30 	mvrc\.d cp0,cr0,r0
 1.12794 -+ *[0-9a-f]*:	ef ae 0e 30 	mvrc\.d cp0,cr14,lr
 1.12795 -+ *[0-9a-f]*:	ef a0 ee 30 	mvrc\.d cp7,cr14,r0
 1.12796 -+ *[0-9a-f]*:	ef ae e0 30 	mvrc\.d cp7,cr0,lr
 1.12797 -+ *[0-9a-f]*:	ef a6 88 30 	mvrc\.d cp4,cr8,r6
 1.12798 -+ *[0-9a-f]*:	ef a8 66 30 	mvrc\.d cp3,cr6,r8
 1.12799 -+
 1.12800 -+[0-9a-f]* <bfexts>:
 1.12801 -+ *[0-9a-f]*:	ff df b3 ff 	bfexts pc,pc,0x1f,0x1f
 1.12802 -+ *[0-9a-f]*:	e1 d0 b0 00 	bfexts r0,r0,0x0,0x0
 1.12803 -+ *[0-9a-f]*:	e1 df b3 ff 	bfexts r0,pc,0x1f,0x1f
 1.12804 -+ *[0-9a-f]*:	ff d0 b3 ff 	bfexts pc,r0,0x1f,0x1f
 1.12805 -+ *[0-9a-f]*:	ff df b0 1f 	bfexts pc,pc,0x0,0x1f
 1.12806 -+ *[0-9a-f]*:	ff df b3 e0 	bfexts pc,pc,0x1f,0x0
 1.12807 -+ *[0-9a-f]*:	ef d8 b1 f0 	bfexts r7,r8,0xf,0x10
 1.12808 -+ *[0-9a-f]*:	f1 d7 b2 0f 	bfexts r8,r7,0x10,0xf
 1.12809 -+
 1.12810 -+[0-9a-f]* <bfextu>:
 1.12811 -+ *[0-9a-f]*:	ff df c3 ff 	bfextu pc,pc,0x1f,0x1f
 1.12812 -+ *[0-9a-f]*:	e1 d0 c0 00 	bfextu r0,r0,0x0,0x0
 1.12813 -+ *[0-9a-f]*:	e1 df c3 ff 	bfextu r0,pc,0x1f,0x1f
 1.12814 -+ *[0-9a-f]*:	ff d0 c3 ff 	bfextu pc,r0,0x1f,0x1f
 1.12815 -+ *[0-9a-f]*:	ff df c0 1f 	bfextu pc,pc,0x0,0x1f
 1.12816 -+ *[0-9a-f]*:	ff df c3 e0 	bfextu pc,pc,0x1f,0x0
 1.12817 -+ *[0-9a-f]*:	ef d8 c1 f0 	bfextu r7,r8,0xf,0x10
 1.12818 -+ *[0-9a-f]*:	f1 d7 c2 0f 	bfextu r8,r7,0x10,0xf
 1.12819 -+
 1.12820 -+[0-9a-f]* <bfins>:
 1.12821 -+ *[0-9a-f]*:	ff df d3 ff 	bfins pc,pc,0x1f,0x1f
 1.12822 -+ *[0-9a-f]*:	e1 d0 d0 00 	bfins r0,r0,0x0,0x0
 1.12823 -+ *[0-9a-f]*:	e1 df d3 ff 	bfins r0,pc,0x1f,0x1f
 1.12824 -+ *[0-9a-f]*:	ff d0 d3 ff 	bfins pc,r0,0x1f,0x1f
 1.12825 -+ *[0-9a-f]*:	ff df d0 1f 	bfins pc,pc,0x0,0x1f
 1.12826 -+ *[0-9a-f]*:	ff df d3 e0 	bfins pc,pc,0x1f,0x0
 1.12827 -+ *[0-9a-f]*:	ef d8 d1 f0 	bfins r7,r8,0xf,0x10
 1.12828 -+ *[0-9a-f]*:	f1 d7 d2 0f 	bfins r8,r7,0x10,0xf
 1.12829 -+
 1.12830 -+[0-9a-f]* <rsubc>:
 1.12831 -+ *[0-9a-f]*:	fb bf 00 00 	rsubeq pc,0
 1.12832 -+ *[0-9a-f]*:	fb bc 0f ff 	rsubal r12,-1
 1.12833 -+ *[0-9a-f]*:	fb b5 08 80 	rsubls r5,-128
 1.12834 -+ *[0-9a-f]*:	fb b4 07 7f 	rsubpl r4,127
 1.12835 -+ *[0-9a-f]*:	fb be 01 01 	rsubne lr,1
 1.12836 -+ *[0-9a-f]*:	fb bc 08 76 	rsubls r12,118
 1.12837 -+ *[0-9a-f]*:	fb be 0d f4 	rsubvc lr,-12
 1.12838 -+ *[0-9a-f]*:	fb b4 06 f3 	rsubmi r4,-13
 1.12839 -+
 1.12840 -+[0-9a-f]* <addc>:
 1.12841 -+ *[0-9a-f]*:	ff df e0 0f 	addeq pc,pc,pc
 1.12842 -+ *[0-9a-f]*:	f9 dc ef 0c 	addal r12,r12,r12
 1.12843 -+ *[0-9a-f]*:	eb d5 e8 05 	addls r5,r5,r5
 1.12844 -+ *[0-9a-f]*:	e9 d4 e7 04 	addpl r4,r4,r4   
 1.12845 -+ *[0-9a-f]*:	fd de e1 0e 	addne lr,lr,lr
 1.12846 -+ *[0-9a-f]*:	e5 d1 e8 0a 	addls r10,r2,r1
 1.12847 -+ *[0-9a-f]*:	f1 db ed 0c 	addvc r12,r8,r11
 1.12848 -+ *[0-9a-f]*:	ef d0 e6 0a 	addmi r10,r7,r0
 1.12849 -+
 1.12850 -+[0-9a-f]* <subc2>:
 1.12851 -+ *[0-9a-f]*:	ff df e0 1f 	subeq pc,pc,pc
 1.12852 -+ *[0-9a-f]*:	f9 dc ef 1c 	subal r12,r12,r12
 1.12853 -+ *[0-9a-f]*:	eb d5 e8 15 	subls r5,r5,r5
 1.12854 -+ *[0-9a-f]*:	e9 d4 e7 14 	subpl r4,r4,r4   
 1.12855 -+ *[0-9a-f]*:	fd de e1 1e 	subne lr,lr,lr
 1.12856 -+ *[0-9a-f]*:	e5 d1 e8 1a 	subls r10,r2,r1
 1.12857 -+ *[0-9a-f]*:	f1 db ed 1c 	subvc r12,r8,r11
 1.12858 -+ *[0-9a-f]*:	ef d0 e6 1a 	submi r10,r7,r0
 1.12859 -+
 1.12860 -+[0-9a-f]* <andc>:
 1.12861 -+ *[0-9a-f]*:	ff df e0 2f 	andeq pc,pc,pc
 1.12862 -+ *[0-9a-f]*:	f9 dc ef 2c 	andal r12,r12,r12
 1.12863 -+ *[0-9a-f]*:	eb d5 e8 25 	andls r5,r5,r5
 1.12864 -+ *[0-9a-f]*:	e9 d4 e7 24 	andpl r4,r4,r4   
 1.12865 -+ *[0-9a-f]*:	fd de e1 2e 	andne lr,lr,lr
 1.12866 -+ *[0-9a-f]*:	e5 d1 e8 2a 	andls r10,r2,r1
 1.12867 -+ *[0-9a-f]*:	f1 db ed 2c 	andvc r12,r8,r11
 1.12868 -+ *[0-9a-f]*:	ef d0 e6 2a 	andmi r10,r7,r0
 1.12869 -+
 1.12870 -+[0-9a-f]* <orc>:
 1.12871 -+ *[0-9a-f]*:	ff df e0 3f 	oreq pc,pc,pc
 1.12872 -+ *[0-9a-f]*:	f9 dc ef 3c 	oral r12,r12,r12
 1.12873 -+ *[0-9a-f]*:	eb d5 e8 35 	orls r5,r5,r5
 1.12874 -+ *[0-9a-f]*:	e9 d4 e7 34 	orpl r4,r4,r4   
 1.12875 -+ *[0-9a-f]*:	fd de e1 3e 	orne lr,lr,lr
 1.12876 -+ *[0-9a-f]*:	e5 d1 e8 3a 	orls r10,r2,r1
 1.12877 -+ *[0-9a-f]*:	f1 db ed 3c 	orvc r12,r8,r11
 1.12878 -+ *[0-9a-f]*:	ef d0 e6 3a 	ormi r10,r7,r0
 1.12879 -+
 1.12880 -+[0-9a-f]* <eorc>:
 1.12881 -+ *[0-9a-f]*:	ff df e0 4f 	eoreq pc,pc,pc
 1.12882 -+ *[0-9a-f]*:	f9 dc ef 4c 	eoral r12,r12,r12
 1.12883 -+ *[0-9a-f]*:	eb d5 e8 45 	eorls r5,r5,r5
 1.12884 -+ *[0-9a-f]*:	e9 d4 e7 44 	eorpl r4,r4,r4   
 1.12885 -+ *[0-9a-f]*:	fd de e1 4e 	eorne lr,lr,lr
 1.12886 -+ *[0-9a-f]*:	e5 d1 e8 4a 	eorls r10,r2,r1
 1.12887 -+ *[0-9a-f]*:	f1 db ed 4c 	eorvc r12,r8,r11
 1.12888 -+ *[0-9a-f]*:	ef d0 e6 4a 	eormi r10,r7,r0
 1.12889 -+
 1.12890 -+[0-9a-f]* <ldcond>:
 1.12891 -+ *[0-9a-f]*:	ff ff 01 ff     ld.weq  pc,pc[0x7fc]
 1.12892 -+ *[0-9a-f]*:	f9 fc f3 ff     ld.shal r12,r12[0x3fe]
 1.12893 -+ *[0-9a-f]*:	eb f5 84 00     ld.shls r5,r5[0x0]
 1.12894 -+ *[0-9a-f]*:	e9 f4 79 ff     ld.ubpl r4,r4[0x1ff]
 1.12895 -+ *[0-9a-f]*:	fd fe 16 00     ld.sbne lr,lr[0x0]
 1.12896 -+ *[0-9a-f]*:	e5 fa 80 00     ld.wls  r10,r2[0x0]
 1.12897 -+ *[0-9a-f]*:	f1 fc d3 ff     ld.shvc r12,r8[0x3fe]
 1.12898 -+ *[0-9a-f]*:	ef fa 68 01     ld.ubmi r10,r7[0x1]
 1.12899 -+
 1.12900 -+[0-9a-f]* <stcond2>:
 1.12901 -+ *[0-9a-f]*:	ff ff 0b ff     st.weq pc[0x7fc],pc
 1.12902 -+ *[0-9a-f]*:	f9 fc fd ff     st.hal r12[0x3fe],r12
 1.12903 -+ *[0-9a-f]*:	eb f5 8c 00     st.hls r5[0x0],r5
 1.12904 -+ *[0-9a-f]*:	e9 f4 7f ff     st.bpl r4[0x1ff],r4
 1.12905 -+ *[0-9a-f]*:	fd fe 1e 00     st.bne lr[0x0],lr
 1.12906 -+ *[0-9a-f]*:	e5 fa 8a 00     st.wls r2[0x0],r10
 1.12907 -+ *[0-9a-f]*:	f1 fc dd ff     st.hvc r8[0x3fe],r12
 1.12908 -+ *[0-9a-f]*:	ef fa 6e 01     st.bmi r7[0x1],r10
 1.12909 -+
 1.12910 -+[0-9a-f]* <movh>:
 1.12911 -+ *[0-9a-f]*:	fc 1f ff ff     movh pc,0xffff
 1.12912 -+ *[0-9a-f]*:	fc 10 00 00     movh r0,0x0
 1.12913 -+ *[0-9a-f]*:	fc 15 00 01     movh r5,0x1
 1.12914 -+ *[0-9a-f]*:	fc 1c 7f ff     movh r12,0x7fff
 1.12915 -+
 1.12916 ---- /dev/null
 1.12917 -+++ b/gas/testsuite/gas/avr32/allinsn.exp
 1.12918 -@@ -0,0 +1,5 @@
 1.12919 -+# AVR32 assembler testsuite. -*- Tcl -*-
 1.12920 -+
 1.12921 -+if [istarget avr32-*-*] {
 1.12922 -+    run_dump_test "allinsn"
 1.12923 -+}
 1.12924 ---- /dev/null
 1.12925 -+++ b/gas/testsuite/gas/avr32/allinsn.s
 1.12926 -@@ -0,0 +1,3330 @@
 1.12927 -+ .data
 1.12928 -+foodata: .word 42
 1.12929 -+ .text
 1.12930 -+footext:
 1.12931 -+	.text
 1.12932 -+	.global ld_d5
 1.12933 -+ld_d5:
 1.12934 -+	ld.d lr,pc[pc<<3]
 1.12935 -+	ld.d r0,r0[r0<<0]
 1.12936 -+	ld.d r6,r5[r5<<2]
 1.12937 -+	ld.d r4,r4[r4<<1]
 1.12938 -+	ld.d lr,lr[lr<<1]
 1.12939 -+	ld.d r10,r3[sp<<2]
 1.12940 -+	ld.d r8,r10[r6<<2]
 1.12941 -+	ld.d r2,r7[r9<<0]
 1.12942 -+	.text
 1.12943 -+	.global ld_w5
 1.12944 -+ld_w5:
 1.12945 -+	ld.w pc,pc[pc<<0]
 1.12946 -+	ld.w r12,r12[r12<<3]
 1.12947 -+	ld.w r5,r5[r5<<2]
 1.12948 -+	ld.w r4,r4[r4<<1]
 1.12949 -+	ld.w lr,lr[lr<<1]
 1.12950 -+	ld.w r2,r9[r9<<0]
 1.12951 -+	ld.w r11,r2[r6<<0]
 1.12952 -+	ld.w r0,r2[sp<<3]
 1.12953 -+	.text
 1.12954 -+	.global ld_sh5
 1.12955 -+ld_sh5:
 1.12956 -+	ld.sh pc,pc[pc<<0]
 1.12957 -+	ld.sh r12,r12[r12<<3]
 1.12958 -+	ld.sh r5,r5[r5<<2]
 1.12959 -+	ld.sh r4,r4[r4<<1]
 1.12960 -+	ld.sh lr,lr[lr<<1]
 1.12961 -+	ld.sh r11,r0[pc<<2]
 1.12962 -+	ld.sh r10,sp[r6<<2]
 1.12963 -+	ld.sh r12,r2[r2<<0]
 1.12964 -+	.text
 1.12965 -+	.global ld_uh5
 1.12966 -+ld_uh5:
 1.12967 -+	ld.uh pc,pc[pc<<0]
 1.12968 -+	ld.uh r12,r12[r12<<3]
 1.12969 -+	ld.uh r5,r5[r5<<2]
 1.12970 -+	ld.uh r4,r4[r4<<1]
 1.12971 -+	ld.uh lr,lr[lr<<1]
 1.12972 -+	ld.uh r8,pc[lr<<3]
 1.12973 -+	ld.uh r6,r1[pc<<1]
 1.12974 -+	ld.uh r6,lr[sp<<1]
 1.12975 -+	.text
 1.12976 -+	.global ld_sb2
 1.12977 -+ld_sb2:
 1.12978 -+	ld.sb pc,pc[pc<<0]
 1.12979 -+	ld.sb r12,r12[r12<<3]
 1.12980 -+	ld.sb r5,r5[r5<<2]
 1.12981 -+	ld.sb r4,r4[r4<<1]
 1.12982 -+	ld.sb lr,lr[lr<<1]
 1.12983 -+	ld.sb r9,r1[pc<<3]
 1.12984 -+	ld.sb r0,r3[r11<<1]
 1.12985 -+	ld.sb r10,r5[r5<<1]
 1.12986 -+	.text
 1.12987 -+	.global ld_ub5
 1.12988 -+ld_ub5:
 1.12989 -+	ld.ub pc,pc[pc<<0]
 1.12990 -+	ld.ub r12,r12[r12<<3]
 1.12991 -+	ld.ub r5,r5[r5<<2]
 1.12992 -+	ld.ub r4,r4[r4<<1]
 1.12993 -+	ld.ub lr,lr[lr<<1]
 1.12994 -+	ld.ub r6,r12[r7<<3]
 1.12995 -+	ld.ub r2,r6[r12<<0]
 1.12996 -+	ld.ub r0,r7[r11<<1]
 1.12997 -+	.text
 1.12998 -+	.global st_d5
 1.12999 -+st_d5:
 1.13000 -+	st.d pc[pc<<0],r14
 1.13001 -+	st.d r12[r12<<3],r12
 1.13002 -+	st.d r5[r5<<2],r6
 1.13003 -+	st.d r4[r4<<1],r4
 1.13004 -+	st.d lr[lr<<1],lr
 1.13005 -+	st.d r1[r9<<1],r4
 1.13006 -+	st.d r10[r2<<1],r4
 1.13007 -+	st.d r12[r6<<0],lr
 1.13008 -+	.text
 1.13009 -+	.global st_w5
 1.13010 -+st_w5:
 1.13011 -+	st.w pc[pc<<0],pc
 1.13012 -+	st.w r12[r12<<3],r12
 1.13013 -+	st.w r5[r5<<2],r5
 1.13014 -+	st.w r4[r4<<1],r4
 1.13015 -+	st.w lr[lr<<1],lr
 1.13016 -+	st.w r1[r10<<0],r3
 1.13017 -+	st.w r0[r10<<1],r9
 1.13018 -+	st.w r4[r5<<3],pc
 1.13019 -+	.text
 1.13020 -+	.global st_h5
 1.13021 -+st_h5:
 1.13022 -+	st.h pc[pc<<0],pc
 1.13023 -+	st.h r12[r12<<3],r12
 1.13024 -+	st.h r5[r5<<2],r5
 1.13025 -+	st.h r4[r4<<1],r4
 1.13026 -+	st.h lr[lr<<1],lr
 1.13027 -+	st.h r2[r9<<0],r11
 1.13028 -+	st.h r5[r1<<2],r12
 1.13029 -+	st.h pc[r8<<2],r3
 1.13030 -+	.text
 1.13031 -+	.global st_b5
 1.13032 -+st_b5:
 1.13033 -+	st.b pc[pc<<0],pc
 1.13034 -+	st.b r12[r12<<3],r12
 1.13035 -+	st.b r5[r5<<2],r5
 1.13036 -+	st.b r4[r4<<1],r4
 1.13037 -+	st.b lr[lr<<1],lr
 1.13038 -+	st.b r1[r8<<1],r6
 1.13039 -+	st.b lr[lr<<3],r1
 1.13040 -+	st.b r5[r0<<2],pc
 1.13041 -+	.text
 1.13042 -+	.global divs
 1.13043 -+divs:
 1.13044 -+	divs pc,pc,pc
 1.13045 -+	divs r12,r12,r12
 1.13046 -+	divs r5,r5,r5
 1.13047 -+	divs r4,r4,r4
 1.13048 -+	divs lr,lr,lr
 1.13049 -+	divs r3,pc,pc
 1.13050 -+	divs r9,r12,r2
 1.13051 -+	divs r7,r4,r1
 1.13052 -+	.text
 1.13053 -+	.global add1
 1.13054 -+add1:
 1.13055 -+	add pc,pc
 1.13056 -+	add r12,r12
 1.13057 -+	add r5,r5
 1.13058 -+	add r4,r4
 1.13059 -+	add lr,lr
 1.13060 -+	add r12,r9
 1.13061 -+	add r6,r3
 1.13062 -+	add r10,r12
 1.13063 -+	.text
 1.13064 -+	.global sub1
 1.13065 -+sub1:
 1.13066 -+	sub pc,pc
 1.13067 -+	sub r12,r12
 1.13068 -+	sub r5,r5
 1.13069 -+	sub r4,r4
 1.13070 -+	sub lr,lr
 1.13071 -+	sub lr,r6
 1.13072 -+	sub r0,sp
 1.13073 -+	sub r6,r12
 1.13074 -+	.text
 1.13075 -+	.global rsub1
 1.13076 -+rsub1:
 1.13077 -+	rsub pc,pc
 1.13078 -+	rsub r12,r12
 1.13079 -+	rsub r5,r5
 1.13080 -+	rsub r4,r4
 1.13081 -+	rsub lr,lr
 1.13082 -+	rsub r11,sp
 1.13083 -+	rsub r7,r4
 1.13084 -+	rsub r9,r1
 1.13085 -+	.text
 1.13086 -+	.global cp1
 1.13087 -+cp1:
 1.13088 -+	cp pc,pc
 1.13089 -+	cp r12,r12
 1.13090 -+	cp r5,r5
 1.13091 -+	cp r4,r4
 1.13092 -+	cp lr,lr
 1.13093 -+	cp r6,r2
 1.13094 -+	cp r0,r9
 1.13095 -+	cp r3,sp
 1.13096 -+	.text
 1.13097 -+	.global or1
 1.13098 -+or1:
 1.13099 -+	or pc,pc
 1.13100 -+	or r12,r12
 1.13101 -+	or r5,r5
 1.13102 -+	or r4,r4
 1.13103 -+	or lr,lr
 1.13104 -+	or r4,r9
 1.13105 -+	or r11,r4
 1.13106 -+	or r4,r0
 1.13107 -+	.text
 1.13108 -+	.global eor1
 1.13109 -+eor1:
 1.13110 -+	eor pc,pc
 1.13111 -+	eor r12,r12
 1.13112 -+	eor r5,r5
 1.13113 -+	eor r4,r4
 1.13114 -+	eor lr,lr
 1.13115 -+	eor r12,r11
 1.13116 -+	eor r0,r1
 1.13117 -+	eor r5,pc
 1.13118 -+	.text
 1.13119 -+	.global and1
 1.13120 -+and1:
 1.13121 -+	and pc,pc
 1.13122 -+	and r12,r12
 1.13123 -+	and r5,r5
 1.13124 -+	and r4,r4
 1.13125 -+	and lr,lr
 1.13126 -+	and r8,r1
 1.13127 -+	and r0,sp
 1.13128 -+	and r10,r5
 1.13129 -+	.text
 1.13130 -+	.global tst
 1.13131 -+tst:
 1.13132 -+	tst pc,pc
 1.13133 -+	tst r12,r12
 1.13134 -+	tst r5,r5
 1.13135 -+	tst r4,r4
 1.13136 -+	tst lr,lr
 1.13137 -+	tst r0,r12
 1.13138 -+	tst r10,r6
 1.13139 -+	tst sp,r4
 1.13140 -+	.text
 1.13141 -+	.global andn
 1.13142 -+andn:
 1.13143 -+	andn pc,pc
 1.13144 -+	andn r12,r12
 1.13145 -+	andn r5,r5
 1.13146 -+	andn r4,r4
 1.13147 -+	andn lr,lr
 1.13148 -+	andn r9,r12
 1.13149 -+	andn r11,sp
 1.13150 -+	andn r12,r5
 1.13151 -+	.text
 1.13152 -+	.global mov3
 1.13153 -+mov3:
 1.13154 -+	mov pc,pc
 1.13155 -+	mov r12,r12
 1.13156 -+	mov r5,r5
 1.13157 -+	mov r4,r4
 1.13158 -+	mov lr,lr
 1.13159 -+	mov r5,r9
 1.13160 -+	mov r11,r11
 1.13161 -+	mov r2,lr
 1.13162 -+	.text
 1.13163 -+	.global st_w1
 1.13164 -+st_w1:
 1.13165 -+	st.w pc++,pc
 1.13166 -+	st.w r12++,r12
 1.13167 -+	st.w r5++,r5
 1.13168 -+	st.w r4++,r4
 1.13169 -+	st.w lr++,lr
 1.13170 -+	st.w r1++,r11
 1.13171 -+	st.w sp++,r0
 1.13172 -+	st.w sp++,r1
 1.13173 -+	.text
 1.13174 -+	.global st_h1
 1.13175 -+st_h1:
 1.13176 -+	st.h pc++,pc
 1.13177 -+	st.h r12++,r12
 1.13178 -+	st.h r5++,r5
 1.13179 -+	st.h r4++,r4
 1.13180 -+	st.h lr++,lr
 1.13181 -+	st.h r12++,sp
 1.13182 -+	st.h r7++,lr
 1.13183 -+	st.h r7++,r4
 1.13184 -+	.text
 1.13185 -+	.global st_b1
 1.13186 -+st_b1:
 1.13187 -+	st.b pc++,pc
 1.13188 -+	st.b r12++,r12
 1.13189 -+	st.b r5++,r5
 1.13190 -+	st.b r4++,r4
 1.13191 -+	st.b lr++,lr
 1.13192 -+	st.b r9++,sp
 1.13193 -+	st.b r1++,sp
 1.13194 -+	st.b r0++,r4
 1.13195 -+	.text
 1.13196 -+	.global st_w2
 1.13197 -+st_w2:
 1.13198 -+	st.w --pc,pc
 1.13199 -+	st.w --r12,r12
 1.13200 -+	st.w --r5,r5
 1.13201 -+	st.w --r4,r4
 1.13202 -+	st.w --lr,lr
 1.13203 -+	st.w --r1,r7
 1.13204 -+	st.w --r3,r9
 1.13205 -+	st.w --r5,r5
 1.13206 -+	.text
 1.13207 -+	.global st_h2
 1.13208 -+st_h2:
 1.13209 -+	st.h --pc,pc
 1.13210 -+	st.h --r12,r12
 1.13211 -+	st.h --r5,r5
 1.13212 -+	st.h --r4,r4
 1.13213 -+	st.h --lr,lr
 1.13214 -+	st.h --r5,r7
 1.13215 -+	st.h --r8,r8
 1.13216 -+	st.h --r7,r2
 1.13217 -+	.text
 1.13218 -+	.global st_b2
 1.13219 -+st_b2:
 1.13220 -+	st.b --pc,pc
 1.13221 -+	st.b --r12,r12
 1.13222 -+	st.b --r5,r5
 1.13223 -+	st.b --r4,r4
 1.13224 -+	st.b --lr,lr
 1.13225 -+	st.b --sp,sp
 1.13226 -+	st.b --sp,r11
 1.13227 -+	st.b --r4,r5
 1.13228 -+	.text
 1.13229 -+	.global ld_w1
 1.13230 -+ld_w1:
 1.13231 -+	ld.w pc,pc++
 1.13232 -+	ld.w r12,r12++
 1.13233 -+	ld.w r5,r5++
 1.13234 -+	ld.w r4,r4++
 1.13235 -+	ld.w lr,lr++
 1.13236 -+	ld.w r3,r7++
 1.13237 -+	ld.w r3,lr++
 1.13238 -+	ld.w r12,r5++
 1.13239 -+	.text
 1.13240 -+	.global ld_sh1
 1.13241 -+ld_sh1:
 1.13242 -+	ld.sh pc,pc++
 1.13243 -+	ld.sh r12,r12++
 1.13244 -+	ld.sh r5,r5++
 1.13245 -+	ld.sh r4,r4++
 1.13246 -+	ld.sh lr,lr++
 1.13247 -+	ld.sh r11,r2++
 1.13248 -+	ld.sh r2,r8++
 1.13249 -+	ld.sh r7,r6++
 1.13250 -+	.text
 1.13251 -+	.global ld_uh1
 1.13252 -+ld_uh1:
 1.13253 -+	ld.uh pc,pc++
 1.13254 -+	ld.uh r12,r12++
 1.13255 -+	ld.uh r5,r5++
 1.13256 -+	ld.uh r4,r4++
 1.13257 -+	ld.uh lr,lr++
 1.13258 -+	ld.uh r6,r7++
 1.13259 -+	ld.uh r10,r11++
 1.13260 -+	ld.uh lr,r4++
 1.13261 -+	.text
 1.13262 -+	.global ld_ub1
 1.13263 -+ld_ub1:
 1.13264 -+	ld.ub pc,pc++
 1.13265 -+	ld.ub r12,r12++
 1.13266 -+	ld.ub r5,r5++
 1.13267 -+	ld.ub r4,r4++
 1.13268 -+	ld.ub lr,lr++
 1.13269 -+	ld.ub r8,lr++
 1.13270 -+	ld.ub r12,r12++
 1.13271 -+	ld.ub r11,r10++
 1.13272 -+	.text
 1.13273 -+	.global ld_w2
 1.13274 -+ld_w2:
 1.13275 -+	ld.w pc,--pc
 1.13276 -+	ld.w r12,--r12
 1.13277 -+	ld.w r5,--r5
 1.13278 -+	ld.w r4,--r4
 1.13279 -+	ld.w lr,--lr
 1.13280 -+	ld.w r10,--lr
 1.13281 -+	ld.w r12,--r9
 1.13282 -+	ld.w r6,--r5
 1.13283 -+	.text
 1.13284 -+	.global ld_sh2
 1.13285 -+ld_sh2:
 1.13286 -+	ld.sh pc,--pc
 1.13287 -+	ld.sh r12,--r12
 1.13288 -+	ld.sh r5,--r5
 1.13289 -+	ld.sh r4,--r4
 1.13290 -+	ld.sh lr,--lr
 1.13291 -+	ld.sh pc,--r10
 1.13292 -+	ld.sh r6,--r3
 1.13293 -+	ld.sh r4,--r6
 1.13294 -+	.text
 1.13295 -+	.global ld_uh2
 1.13296 -+ld_uh2:
 1.13297 -+	ld.uh pc,--pc
 1.13298 -+	ld.uh r12,--r12
 1.13299 -+	ld.uh r5,--r5
 1.13300 -+	ld.uh r4,--r4
 1.13301 -+	ld.uh lr,--lr
 1.13302 -+	ld.uh r3,--r2
 1.13303 -+	ld.uh r1,--r0
 1.13304 -+	ld.uh r2,--r9
 1.13305 -+	.text
 1.13306 -+	.global ld_ub2
 1.13307 -+ld_ub2:
 1.13308 -+	ld.ub pc,--pc
 1.13309 -+	ld.ub r12,--r12
 1.13310 -+	ld.ub r5,--r5
 1.13311 -+	ld.ub r4,--r4
 1.13312 -+	ld.ub lr,--lr
 1.13313 -+	ld.ub r1,--r1
 1.13314 -+	ld.ub r0,--r6
 1.13315 -+	ld.ub r2,--r7
 1.13316 -+	.text
 1.13317 -+	.global ld_ub3
 1.13318 -+ld_ub3:
 1.13319 -+	ld.ub pc,pc[0]
 1.13320 -+	ld.ub r12,r12[7]
 1.13321 -+	ld.ub r5,r5[4]
 1.13322 -+	ld.ub r4,r4[3]
 1.13323 -+	ld.ub lr,lr[1]
 1.13324 -+	ld.ub r6,r9[6]
 1.13325 -+	ld.ub r2,lr[4]
 1.13326 -+	ld.ub r1,r8[0]
 1.13327 -+	.text
 1.13328 -+	.global sub3_sp
 1.13329 -+sub3_sp:
 1.13330 -+	sub sp,0
 1.13331 -+	sub sp,-4
 1.13332 -+	sub sp,-512
 1.13333 -+	sub sp,508
 1.13334 -+	sub sp,4
 1.13335 -+	sub sp,44
 1.13336 -+	sub sp,8
 1.13337 -+	sub sp,348
 1.13338 -+	.text
 1.13339 -+	.global sub3
 1.13340 -+sub3:
 1.13341 -+	sub pc,0
 1.13342 -+	sub r12,-1
 1.13343 -+	sub r5,-128
 1.13344 -+	sub r4,127
 1.13345 -+	sub lr,1
 1.13346 -+	sub r6,-41
 1.13347 -+	sub r4,37
 1.13348 -+	sub r12,56
 1.13349 -+	.text
 1.13350 -+	.global mov1
 1.13351 -+mov1:
 1.13352 -+	mov pc,0
 1.13353 -+	mov r12,-1
 1.13354 -+	mov r5,-128
 1.13355 -+	mov r4,127
 1.13356 -+	mov lr,1
 1.13357 -+	mov pc,14
 1.13358 -+	mov r6,-100
 1.13359 -+	mov lr,-122
 1.13360 -+	.text
 1.13361 -+	.global lddsp
 1.13362 -+lddsp:
 1.13363 -+	lddsp pc,sp[0]
 1.13364 -+	lddsp r12,sp[508]
 1.13365 -+	lddsp r5,sp[256]
 1.13366 -+	lddsp r4,sp[252]
 1.13367 -+	lddsp lr,sp[4]
 1.13368 -+	lddsp lr,sp[256]
 1.13369 -+	lddsp r12,sp[20]
 1.13370 -+	lddsp r9,sp[472]
 1.13371 -+	.text
 1.13372 -+	.global lddpc
 1.13373 -+lddpc:
 1.13374 -+	lddpc pc,pc[0]
 1.13375 -+	lddpc r0,pc[508]
 1.13376 -+	lddpc r8,pc[256]
 1.13377 -+	lddpc r7,pc[252]
 1.13378 -+	lddpc lr,pc[4]
 1.13379 -+	lddpc sp,pc[472]
 1.13380 -+	lddpc r6,pc[120]
 1.13381 -+	lddpc r11,pc[28]
 1.13382 -+	.text
 1.13383 -+	.global stdsp
 1.13384 -+stdsp:
 1.13385 -+	stdsp sp[0],pc
 1.13386 -+	stdsp sp[508],r12
 1.13387 -+	stdsp sp[256],r5
 1.13388 -+	stdsp sp[252],r4
 1.13389 -+	stdsp sp[4],lr
 1.13390 -+	stdsp sp[304],pc
 1.13391 -+	stdsp sp[256],r0
 1.13392 -+	stdsp sp[336],r5
 1.13393 -+	.text
 1.13394 -+	.global cp2
 1.13395 -+cp2:
 1.13396 -+	cp pc,0
 1.13397 -+	cp r12,-1
 1.13398 -+	cp r5,-32
 1.13399 -+	cp r4,31
 1.13400 -+	cp lr,1
 1.13401 -+	cp r8,3
 1.13402 -+	cp lr,16
 1.13403 -+	cp r7,-26
 1.13404 -+	.text
 1.13405 -+	.global acr
 1.13406 -+acr:
 1.13407 -+	acr pc
 1.13408 -+	acr r12
 1.13409 -+	acr r5
 1.13410 -+	acr r4
 1.13411 -+	acr lr
 1.13412 -+	acr r2
 1.13413 -+	acr r12
 1.13414 -+	acr pc
 1.13415 -+	.text
 1.13416 -+	.global scr
 1.13417 -+scr:
 1.13418 -+	scr pc
 1.13419 -+	scr r12
 1.13420 -+	scr r5
 1.13421 -+	scr r4
 1.13422 -+	scr lr
 1.13423 -+	scr pc
 1.13424 -+	scr r6
 1.13425 -+	scr r1
 1.13426 -+	.text
 1.13427 -+	.global cpc0
 1.13428 -+cpc0:
 1.13429 -+	cpc pc
 1.13430 -+	cpc r12
 1.13431 -+	cpc r5
 1.13432 -+	cpc r4
 1.13433 -+	cpc lr
 1.13434 -+	cpc pc
 1.13435 -+	cpc r4
 1.13436 -+	cpc r9
 1.13437 -+	.text
 1.13438 -+	.global neg
 1.13439 -+neg:
 1.13440 -+	neg pc
 1.13441 -+	neg r12
 1.13442 -+	neg r5
 1.13443 -+	neg r4
 1.13444 -+	neg lr
 1.13445 -+	neg r7
 1.13446 -+	neg r1
 1.13447 -+	neg r9
 1.13448 -+	.text
 1.13449 -+	.global abs
 1.13450 -+abs:
 1.13451 -+	abs pc
 1.13452 -+	abs r12
 1.13453 -+	abs r5
 1.13454 -+	abs r4
 1.13455 -+	abs lr
 1.13456 -+	abs r6
 1.13457 -+	abs r6
 1.13458 -+	abs r4
 1.13459 -+	.text
 1.13460 -+	.global castu_b
 1.13461 -+castu_b:
 1.13462 -+	castu.b pc
 1.13463 -+	castu.b r12
 1.13464 -+	castu.b r5
 1.13465 -+	castu.b r4
 1.13466 -+	castu.b lr
 1.13467 -+	castu.b r7
 1.13468 -+	castu.b sp
 1.13469 -+	castu.b r9
 1.13470 -+	.text
 1.13471 -+	.global casts_b
 1.13472 -+casts_b:
 1.13473 -+	casts.b pc
 1.13474 -+	casts.b r12
 1.13475 -+	casts.b r5
 1.13476 -+	casts.b r4
 1.13477 -+	casts.b lr
 1.13478 -+	casts.b r11
 1.13479 -+	casts.b r1
 1.13480 -+	casts.b r10
 1.13481 -+	.text
 1.13482 -+	.global castu_h
 1.13483 -+castu_h:
 1.13484 -+	castu.h pc
 1.13485 -+	castu.h r12
 1.13486 -+	castu.h r5
 1.13487 -+	castu.h r4
 1.13488 -+	castu.h lr
 1.13489 -+	castu.h r10
 1.13490 -+	castu.h r11
 1.13491 -+	castu.h r1
 1.13492 -+	.text
 1.13493 -+	.global casts_h
 1.13494 -+casts_h:
 1.13495 -+	casts.h pc
 1.13496 -+	casts.h r12
 1.13497 -+	casts.h r5
 1.13498 -+	casts.h r4
 1.13499 -+	casts.h lr
 1.13500 -+	casts.h r0
 1.13501 -+	casts.h r5
 1.13502 -+	casts.h r9
 1.13503 -+	.text
 1.13504 -+	.global brev
 1.13505 -+brev:
 1.13506 -+	brev pc
 1.13507 -+	brev r12
 1.13508 -+	brev r5
 1.13509 -+	brev r4
 1.13510 -+	brev lr
 1.13511 -+	brev r5
 1.13512 -+	brev r10
 1.13513 -+	brev r8
 1.13514 -+	.text
 1.13515 -+	.global swap_h
 1.13516 -+swap_h:
 1.13517 -+	swap.h pc
 1.13518 -+	swap.h r12
 1.13519 -+	swap.h r5
 1.13520 -+	swap.h r4
 1.13521 -+	swap.h lr
 1.13522 -+	swap.h r7
 1.13523 -+	swap.h r0
 1.13524 -+	swap.h r8
 1.13525 -+	.text
 1.13526 -+	.global swap_b
 1.13527 -+swap_b:
 1.13528 -+	swap.b pc
 1.13529 -+	swap.b r12
 1.13530 -+	swap.b r5
 1.13531 -+	swap.b r4
 1.13532 -+	swap.b lr
 1.13533 -+	swap.b r10
 1.13534 -+	swap.b r12
 1.13535 -+	swap.b r1
 1.13536 -+	.text
 1.13537 -+	.global swap_bh
 1.13538 -+swap_bh:
 1.13539 -+	swap.bh pc
 1.13540 -+	swap.bh r12
 1.13541 -+	swap.bh r5
 1.13542 -+	swap.bh r4
 1.13543 -+	swap.bh lr
 1.13544 -+	swap.bh r9
 1.13545 -+	swap.bh r4
 1.13546 -+	swap.bh r1
 1.13547 -+	.text
 1.13548 -+	.global One_s_compliment
 1.13549 -+One_s_compliment:
 1.13550 -+	com pc
 1.13551 -+	com r12
 1.13552 -+	com r5
 1.13553 -+	com r4
 1.13554 -+	com lr
 1.13555 -+	com r2
 1.13556 -+	com r2
 1.13557 -+	com r7
 1.13558 -+	.text
 1.13559 -+	.global tnbz
 1.13560 -+tnbz:
 1.13561 -+	tnbz pc
 1.13562 -+	tnbz r12
 1.13563 -+	tnbz r5
 1.13564 -+	tnbz r4
 1.13565 -+	tnbz lr
 1.13566 -+	tnbz r8
 1.13567 -+	tnbz r12
 1.13568 -+	tnbz pc
 1.13569 -+	.text
 1.13570 -+	.global rol
 1.13571 -+rol:
 1.13572 -+	rol pc
 1.13573 -+	rol r12
 1.13574 -+	rol r5
 1.13575 -+	rol r4
 1.13576 -+	rol lr
 1.13577 -+	rol r10
 1.13578 -+	rol r9
 1.13579 -+	rol r5
 1.13580 -+	.text
 1.13581 -+	.global ror
 1.13582 -+ror:
 1.13583 -+	ror pc
 1.13584 -+	ror r12
 1.13585 -+	ror r5
 1.13586 -+	ror r4
 1.13587 -+	ror lr
 1.13588 -+	ror r8
 1.13589 -+	ror r4
 1.13590 -+	ror r7
 1.13591 -+	.text
 1.13592 -+	.global icall
 1.13593 -+icall:
 1.13594 -+	icall pc
 1.13595 -+	icall r12
 1.13596 -+	icall r5
 1.13597 -+	icall r4
 1.13598 -+	icall lr
 1.13599 -+	icall r3
 1.13600 -+	icall r1
 1.13601 -+	icall r3
 1.13602 -+	.text
 1.13603 -+	.global mustr
 1.13604 -+mustr:
 1.13605 -+	mustr pc
 1.13606 -+	mustr r12
 1.13607 -+	mustr r5
 1.13608 -+	mustr r4
 1.13609 -+	mustr lr
 1.13610 -+	mustr r1
 1.13611 -+	mustr r4
 1.13612 -+	mustr r12
 1.13613 -+	.text
 1.13614 -+	.global musfr
 1.13615 -+musfr:
 1.13616 -+	musfr pc
 1.13617 -+	musfr r12
 1.13618 -+	musfr r5
 1.13619 -+	musfr r4
 1.13620 -+	musfr lr
 1.13621 -+	musfr r11
 1.13622 -+	musfr r12
 1.13623 -+	musfr r2
 1.13624 -+	.text
 1.13625 -+	.global ret_cond
 1.13626 -+ret_cond:
 1.13627 -+	reteq pc
 1.13628 -+	retal r12
 1.13629 -+	retls r5
 1.13630 -+	retpl r4
 1.13631 -+	retne lr
 1.13632 -+	retgt r0
 1.13633 -+	retgt r12
 1.13634 -+	retge r10
 1.13635 -+	.text
 1.13636 -+	.global sr_cond
 1.13637 -+sr_cond:
 1.13638 -+	sreq pc
 1.13639 -+	sral r12
 1.13640 -+	srls r5
 1.13641 -+	srpl r4
 1.13642 -+	srne lr
 1.13643 -+	srlt r0
 1.13644 -+	sral sp
 1.13645 -+	srge r9
 1.13646 -+	.text
 1.13647 -+	.global ld_w3
 1.13648 -+ld_w3:
 1.13649 -+	ld.w pc,pc[0]
 1.13650 -+	ld.w r12,r12[124]
 1.13651 -+	ld.w r5,r5[64]
 1.13652 -+	ld.w r4,r4[60]
 1.13653 -+	ld.w lr,lr[4]
 1.13654 -+	ld.w sp,r2[52]
 1.13655 -+	ld.w r9,r1[8]
 1.13656 -+	ld.w r5,sp[60]
 1.13657 -+	.text
 1.13658 -+	.global ld_sh3
 1.13659 -+ld_sh3:
 1.13660 -+	ld.sh pc,pc[0]
 1.13661 -+	ld.sh r12,r12[14]
 1.13662 -+	ld.sh r5,r5[8]
 1.13663 -+	ld.sh r4,r4[6]
 1.13664 -+	ld.sh lr,lr[2]
 1.13665 -+	ld.sh r4,r2[8]
 1.13666 -+	ld.sh sp,lr[10]
 1.13667 -+	ld.sh r2,r11[2]
 1.13668 -+	.text
 1.13669 -+	.global ld_uh3
 1.13670 -+ld_uh3:
 1.13671 -+	ld.uh pc,pc[0]
 1.13672 -+	ld.uh r12,r12[14]
 1.13673 -+	ld.uh r5,r5[8]
 1.13674 -+	ld.uh r4,r4[6]
 1.13675 -+	ld.uh lr,lr[2]
 1.13676 -+	ld.uh r10,r0[10]
 1.13677 -+	ld.uh r8,r11[8]
 1.13678 -+	ld.uh r10,r2[12]
 1.13679 -+	.text
 1.13680 -+	.global st_w3
 1.13681 -+st_w3:
 1.13682 -+	st.w pc[0],pc
 1.13683 -+	st.w r12[60],r12
 1.13684 -+	st.w r5[32],r5
 1.13685 -+	st.w r4[28],r4
 1.13686 -+	st.w lr[4],lr
 1.13687 -+	st.w r7[44],r11
 1.13688 -+	st.w r2[24],r6
 1.13689 -+	st.w r4[12],r9
 1.13690 -+	.text
 1.13691 -+	.global st_h3
 1.13692 -+st_h3:
 1.13693 -+	st.h pc[0],pc
 1.13694 -+	st.h r12[14],r12
 1.13695 -+	st.h r5[8],r5
 1.13696 -+	st.h r4[6],r4
 1.13697 -+	st.h lr[2],lr
 1.13698 -+	st.h lr[10],r12
 1.13699 -+	st.h r6[4],r0
 1.13700 -+	st.h r5[12],sp
 1.13701 -+	.text
 1.13702 -+	.global st_b3
 1.13703 -+st_b3:
 1.13704 -+	st.b pc[0],pc
 1.13705 -+	st.b r12[7],r12
 1.13706 -+	st.b r5[4],r5
 1.13707 -+	st.b r4[3],r4
 1.13708 -+	st.b lr[1],lr
 1.13709 -+	st.b r12[6],r9
 1.13710 -+	st.b r2[3],lr
 1.13711 -+	st.b r1[3],r11
 1.13712 -+	.text
 1.13713 -+	.global ldd
 1.13714 -+ldd:
 1.13715 -+	ld.d r0,pc
 1.13716 -+	ld.d r14,r12
 1.13717 -+	ld.d r8,r5
 1.13718 -+	ld.d r6,r4
 1.13719 -+	ld.d r2,lr
 1.13720 -+	ld.d r14,r7
 1.13721 -+	ld.d r4,r4
 1.13722 -+	ld.d r14,pc
 1.13723 -+	.text
 1.13724 -+	.global ldd_postinc
 1.13725 -+ldd_postinc:
 1.13726 -+	ld.d r0,pc++
 1.13727 -+	ld.d r14,r12++
 1.13728 -+	ld.d r8,r5++
 1.13729 -+	ld.d r6,r4++
 1.13730 -+	ld.d r2,lr++
 1.13731 -+	ld.d r14,r5++
 1.13732 -+	ld.d r12,r11++
 1.13733 -+	ld.d r2,r12++
 1.13734 -+	.text
 1.13735 -+	.global ldd_predec
 1.13736 -+ldd_predec:
 1.13737 -+	ld.d r0,--pc
 1.13738 -+	ld.d r14,--r12
 1.13739 -+	ld.d r8,--r5
 1.13740 -+	ld.d r6,--r4
 1.13741 -+	ld.d r2,--lr
 1.13742 -+	ld.d r8,--r0
 1.13743 -+	ld.d r10,--pc
 1.13744 -+	ld.d r2,--r4
 1.13745 -+	.text
 1.13746 -+	.global std
 1.13747 -+std:
 1.13748 -+	st.d pc,r0
 1.13749 -+	st.d r12,r14
 1.13750 -+	st.d r5,r8
 1.13751 -+	st.d r4,r6
 1.13752 -+	st.d lr,r2
 1.13753 -+	st.d r0,r12
 1.13754 -+	st.d sp,r4
 1.13755 -+	st.d r12,r12
 1.13756 -+	.text
 1.13757 -+	.global std_postinc
 1.13758 -+std_postinc:
 1.13759 -+	st.d pc++,r0
 1.13760 -+	st.d r12++,r14
 1.13761 -+	st.d r5++,r8
 1.13762 -+	st.d r4++,r6
 1.13763 -+	st.d lr++,r2
 1.13764 -+	st.d sp++,r6
 1.13765 -+	st.d r10++,r6
 1.13766 -+	st.d r7++,r2
 1.13767 -+	.text
 1.13768 -+	.global std_predec
 1.13769 -+std_predec:
 1.13770 -+	st.d --pc,r0
 1.13771 -+	st.d --r12,r14
 1.13772 -+	st.d --r5,r8
 1.13773 -+	st.d --r4,r6
 1.13774 -+	st.d --lr,r2
 1.13775 -+	st.d --r3,r6
 1.13776 -+	st.d --lr,r2
 1.13777 -+	st.d --r0,r4
 1.13778 -+	.text
 1.13779 -+	.global mul
 1.13780 -+mul:
 1.13781 -+	mul pc,pc
 1.13782 -+	mul r12,r12
 1.13783 -+	mul r5,r5
 1.13784 -+	mul r4,r4
 1.13785 -+	mul lr,lr
 1.13786 -+	mul r10,lr
 1.13787 -+	mul r0,r8
 1.13788 -+	mul r8,r5
 1.13789 -+	.text
 1.13790 -+	.global asr_imm5
 1.13791 -+asr_imm5:
 1.13792 -+	asr pc,0
 1.13793 -+	asr r12,31
 1.13794 -+	asr r5,16
 1.13795 -+	asr r4,15
 1.13796 -+	asr lr,1
 1.13797 -+	asr r6,23
 1.13798 -+	asr r6,18
 1.13799 -+	asr r5,8
 1.13800 -+	.text
 1.13801 -+	.global lsl_imm5
 1.13802 -+lsl_imm5:
 1.13803 -+	lsl pc,0
 1.13804 -+	lsl r12,31
 1.13805 -+	lsl r5,16
 1.13806 -+	lsl r4,15
 1.13807 -+	lsl lr,1
 1.13808 -+	lsl r12,13
 1.13809 -+	lsl r6,16
 1.13810 -+	lsl r1,25
 1.13811 -+	.text
 1.13812 -+	.global lsr_imm5
 1.13813 -+lsr_imm5:
 1.13814 -+	lsr pc,0
 1.13815 -+	lsr r12,31
 1.13816 -+	lsr r5,16
 1.13817 -+	lsr r4,15
 1.13818 -+	lsr lr,1
 1.13819 -+	lsr r0,1
 1.13820 -+	lsr r8,10
 1.13821 -+	lsr r7,26
 1.13822 -+	.text
 1.13823 -+	.global sbr
 1.13824 -+sbr:
 1.13825 -+	sbr pc,0
 1.13826 -+	sbr r12,31
 1.13827 -+	sbr r5,16
 1.13828 -+	sbr r4,15
 1.13829 -+	sbr lr,1
 1.13830 -+	sbr r8,31
 1.13831 -+	sbr r6,22
 1.13832 -+	sbr r1,23
 1.13833 -+	.text
 1.13834 -+	.global cbr
 1.13835 -+cbr:
 1.13836 -+	cbr pc,0
 1.13837 -+	cbr r12,31
 1.13838 -+	cbr r5,16
 1.13839 -+	cbr r4,15
 1.13840 -+	cbr lr,1
 1.13841 -+	cbr r12,10
 1.13842 -+	cbr r7,22
 1.13843 -+	cbr r8,9
 1.13844 -+	.text
 1.13845 -+	.global brc1
 1.13846 -+brc1:
 1.13847 -+	breq 0
 1.13848 -+	brpl -2
 1.13849 -+	brge -256
 1.13850 -+	brcs 254
 1.13851 -+	brne 2
 1.13852 -+	brcs 230
 1.13853 -+	breq -18
 1.13854 -+	breq 12
 1.13855 -+	.text
 1.13856 -+	.global rjmp
 1.13857 -+rjmp:
 1.13858 -+	rjmp 0
 1.13859 -+	rjmp -2
 1.13860 -+	rjmp -1024
 1.13861 -+	rjmp 1022
 1.13862 -+	rjmp 2
 1.13863 -+	rjmp -962
 1.13864 -+	rjmp 14
 1.13865 -+	rjmp -516
 1.13866 -+	.text
 1.13867 -+	.global rcall1
 1.13868 -+rcall1:
 1.13869 -+	rcall 0
 1.13870 -+	rcall -2
 1.13871 -+	rcall -1024
 1.13872 -+	rcall 1022
 1.13873 -+	rcall 2
 1.13874 -+	rcall 216
 1.13875 -+	rcall -530
 1.13876 -+	rcall -972
 1.13877 -+	.text
 1.13878 -+	.global acall
 1.13879 -+acall:
 1.13880 -+	acall 0
 1.13881 -+	acall 1020
 1.13882 -+	acall 512
 1.13883 -+	acall 508
 1.13884 -+	acall 4
 1.13885 -+	acall 356
 1.13886 -+	acall 304
 1.13887 -+	acall 172
 1.13888 -+	.text
 1.13889 -+	.global scall
 1.13890 -+scall:
 1.13891 -+	scall
 1.13892 -+	scall
 1.13893 -+	scall
 1.13894 -+	scall
 1.13895 -+	scall
 1.13896 -+	scall
 1.13897 -+	scall
 1.13898 -+	scall
 1.13899 -+	.text
 1.13900 -+	.global popm
 1.13901 -+popm:
 1.13902 -+	/* popm with no argument fails currently */
 1.13903 -+	popm pc
 1.13904 -+	popm r0-r11,pc,r12=-1
 1.13905 -+	popm lr
 1.13906 -+	popm r0-r11,pc,r12=1
 1.13907 -+	popm r0-r3
 1.13908 -+	popm r4-r10,pc
 1.13909 -+	popm r0-r3,r11,pc,r12=0
 1.13910 -+	popm r0-r7,r10-r12,lr
 1.13911 -+	.text
 1.13912 -+	.global pushm
 1.13913 -+pushm:
 1.13914 -+	pushm pc
 1.13915 -+	pushm r0-r12,lr,pc
 1.13916 -+	pushm pc
 1.13917 -+	pushm r0-r12,lr
 1.13918 -+	pushm r0-r3
 1.13919 -+	pushm r8-r10,lr,pc
 1.13920 -+	pushm r0-r3,r10
 1.13921 -+	pushm r8-r9,r12
 1.13922 -+	.text
 1.13923 -+	.global popm_n
 1.13924 -+popm_n:
 1.13925 -+	popm pc
 1.13926 -+	popm r0-r11,pc,r12=-1
 1.13927 -+	popm lr
 1.13928 -+	popm r0-r11,pc,r12=1
 1.13929 -+	popm r0-r3
 1.13930 -+	popm r4-r10,pc
 1.13931 -+	popm r0-r3,r11,pc,r12=0
 1.13932 -+	popm r0-r7,r10-r12,lr
 1.13933 -+	.text
 1.13934 -+	.global pushm_n
 1.13935 -+pushm_n:
 1.13936 -+	pushm pc
 1.13937 -+	pushm r0-r12,lr,pc
 1.13938 -+	pushm pc
 1.13939 -+	pushm r0-r12,lr
 1.13940 -+	pushm r0-r3
 1.13941 -+	pushm r8-r10,lr,pc
 1.13942 -+	pushm r0-r3,r10
 1.13943 -+	pushm r8-r9,r12
 1.13944 -+	.text
 1.13945 -+	.global csrfcz
 1.13946 -+csrfcz:
 1.13947 -+	csrfcz 0
 1.13948 -+	csrfcz 31
 1.13949 -+	csrfcz 16
 1.13950 -+	csrfcz 15
 1.13951 -+	csrfcz 1
 1.13952 -+	csrfcz 5
 1.13953 -+	csrfcz 13
 1.13954 -+	csrfcz 23
 1.13955 -+	.text
 1.13956 -+	.global ssrf
 1.13957 -+ssrf:
 1.13958 -+	ssrf 0
 1.13959 -+	ssrf 31
 1.13960 -+	ssrf 16
 1.13961 -+	ssrf 15
 1.13962 -+	ssrf 1
 1.13963 -+	ssrf 29
 1.13964 -+	ssrf 13
 1.13965 -+	ssrf 13
 1.13966 -+	.text
 1.13967 -+	.global csrf
 1.13968 -+csrf:
 1.13969 -+	csrf 0
 1.13970 -+	csrf 31
 1.13971 -+	csrf 16
 1.13972 -+	csrf 15
 1.13973 -+	csrf 1
 1.13974 -+	csrf 10
 1.13975 -+	csrf 15
 1.13976 -+	csrf 11
 1.13977 -+	.text
 1.13978 -+	.global rete
 1.13979 -+rete:
 1.13980 -+	rete
 1.13981 -+	.text
 1.13982 -+	.global rets
 1.13983 -+rets:
 1.13984 -+	rets
 1.13985 -+	.text
 1.13986 -+	.global retd
 1.13987 -+retd:
 1.13988 -+	retd
 1.13989 -+	.text
 1.13990 -+	.global retj
 1.13991 -+retj:
 1.13992 -+	retj
 1.13993 -+	.text
 1.13994 -+	.global tlbr
 1.13995 -+tlbr:
 1.13996 -+	tlbr
 1.13997 -+	.text
 1.13998 -+	.global tlbs
 1.13999 -+tlbs:
 1.14000 -+	tlbs
 1.14001 -+	.text
 1.14002 -+	.global tlbw
 1.14003 -+tlbw:
 1.14004 -+	tlbw
 1.14005 -+	.text
 1.14006 -+	.global breakpoint
 1.14007 -+breakpoint:
 1.14008 -+	breakpoint
 1.14009 -+	.text
 1.14010 -+	.global incjosp
 1.14011 -+incjosp:
 1.14012 -+	incjosp 1
 1.14013 -+	incjosp 2
 1.14014 -+	incjosp 3
 1.14015 -+	incjosp 4
 1.14016 -+	incjosp -4
 1.14017 -+	incjosp -3
 1.14018 -+	incjosp -2
 1.14019 -+	incjosp -1
 1.14020 -+	.text
 1.14021 -+	.global nop
 1.14022 -+nop:
 1.14023 -+	nop
 1.14024 -+	.text
 1.14025 -+	.global popjc
 1.14026 -+popjc:
 1.14027 -+	popjc
 1.14028 -+	.text
 1.14029 -+	.global pushjc
 1.14030 -+pushjc:
 1.14031 -+	pushjc
 1.14032 -+	.text
 1.14033 -+	.global add2
 1.14034 -+add2:
 1.14035 -+	add pc,pc,pc<<0
 1.14036 -+	add r12,r12,r12<<3
 1.14037 -+	add r5,r5,r5<<2
 1.14038 -+	add r4,r4,r4<<1
 1.14039 -+	add lr,lr,lr<<1
 1.14040 -+	add r0,r12,r0<<1
 1.14041 -+	add r9,r12,r4<<0
 1.14042 -+	add r12,r12,r7<<2
 1.14043 -+	.text
 1.14044 -+	.global sub2
 1.14045 -+sub2:
 1.14046 -+	sub pc,pc,pc<<0
 1.14047 -+	sub r12,r12,r12<<3
 1.14048 -+	sub r5,r5,r5<<2
 1.14049 -+	sub r4,r4,r4<<1
 1.14050 -+	sub lr,lr,lr<<1
 1.14051 -+	sub sp,r3,r4<<0
 1.14052 -+	sub r3,r7,r3<<0
 1.14053 -+	sub sp,r10,sp<<1
 1.14054 -+	.text
 1.14055 -+	.global divu
 1.14056 -+divu:
 1.14057 -+	divu pc,pc,pc
 1.14058 -+	divu r12,r12,r12
 1.14059 -+	divu r5,r5,r5
 1.14060 -+	divu r4,r4,r4
 1.14061 -+	divu lr,lr,lr
 1.14062 -+	divu sp,r4,pc
 1.14063 -+	divu r5,r5,sp
 1.14064 -+	divu r10,sp,r0
 1.14065 -+	.text
 1.14066 -+	.global addhh_w
 1.14067 -+addhh_w:
 1.14068 -+	addhh.w pc,pc:b,pc:b
 1.14069 -+	addhh.w r12,r12:t,r12:t
 1.14070 -+	addhh.w r5,r5:t,r5:t
 1.14071 -+	addhh.w r4,r4:b,r4:b
 1.14072 -+	addhh.w lr,lr:t,lr:t
 1.14073 -+	addhh.w r0,r0:b,r3:b
 1.14074 -+	addhh.w lr,r12:t,r7:b
 1.14075 -+	addhh.w r3,r10:t,r2:b
 1.14076 -+	.text
 1.14077 -+	.global subhh_w
 1.14078 -+subhh_w:
 1.14079 -+	subhh.w pc,pc:b,pc:b
 1.14080 -+	subhh.w r12,r12:t,r12:t
 1.14081 -+	subhh.w r5,r5:t,r5:t
 1.14082 -+	subhh.w r4,r4:b,r4:b
 1.14083 -+	subhh.w lr,lr:t,lr:t
 1.14084 -+	subhh.w r10,r1:t,r7:b
 1.14085 -+	subhh.w pc,r10:t,lr:t
 1.14086 -+	subhh.w r3,r0:t,r12:b
 1.14087 -+	.text
 1.14088 -+	.global adc
 1.14089 -+adc:
 1.14090 -+	adc pc,pc,pc
 1.14091 -+	adc r12,r12,r12
 1.14092 -+	adc r5,r5,r5
 1.14093 -+	adc r4,r4,r4
 1.14094 -+	adc lr,lr,lr
 1.14095 -+	adc r4,r0,r7
 1.14096 -+	adc sp,r4,r3
 1.14097 -+	adc r2,r12,r0
 1.14098 -+	.text
 1.14099 -+	.global sbc
 1.14100 -+sbc:
 1.14101 -+	sbc pc,pc,pc
 1.14102 -+	sbc r12,r12,r12
 1.14103 -+	sbc r5,r5,r5
 1.14104 -+	sbc r4,r4,r4
 1.14105 -+	sbc lr,lr,lr
 1.14106 -+	sbc r6,r7,r9
 1.14107 -+	sbc r0,r8,r5
 1.14108 -+	sbc r1,r0,r4
 1.14109 -+	.text
 1.14110 -+	.global mul_2
 1.14111 -+mul_2:
 1.14112 -+	mul pc,pc,pc
 1.14113 -+	mul r12,r12,r12
 1.14114 -+	mul r5,r5,r5
 1.14115 -+	mul r4,r4,r4
 1.14116 -+	mul lr,lr,lr
 1.14117 -+	mul pc,r0,r0
 1.14118 -+	mul r8,pc,lr
 1.14119 -+	mul r4,r12,pc
 1.14120 -+	.text
 1.14121 -+	.global mac
 1.14122 -+mac:
 1.14123 -+	mac pc,pc,pc
 1.14124 -+	mac r12,r12,r12
 1.14125 -+	mac r5,r5,r5
 1.14126 -+	mac r4,r4,r4
 1.14127 -+	mac lr,lr,lr
 1.14128 -+	mac r10,r4,r0
 1.14129 -+	mac r7,lr,r0
 1.14130 -+	mac r2,r9,r12
 1.14131 -+	.text
 1.14132 -+	.global mulsd
 1.14133 -+mulsd:
 1.14134 -+	muls.d pc,pc,pc
 1.14135 -+	muls.d r12,r12,r12
 1.14136 -+	muls.d r5,r5,r5
 1.14137 -+	muls.d r4,r4,r4
 1.14138 -+	muls.d lr,lr,lr
 1.14139 -+	muls.d r2,r8,lr
 1.14140 -+	muls.d r4,r0,r11
 1.14141 -+	muls.d r5,lr,r6
 1.14142 -+	.text
 1.14143 -+	.global macsd
 1.14144 -+macsd:
 1.14145 -+	macs.d r0,pc,pc
 1.14146 -+	macs.d r14,r12,r12
 1.14147 -+	macs.d r8,r5,r5
 1.14148 -+	macs.d r6,r4,r4
 1.14149 -+	macs.d r2,lr,lr
 1.14150 -+	macs.d r8,r1,r9
 1.14151 -+	macs.d r14,r8,r8
 1.14152 -+	macs.d r4,r3,r12
 1.14153 -+	.text
 1.14154 -+	.global mulud
 1.14155 -+mulud:
 1.14156 -+	mulu.d r0,pc,pc
 1.14157 -+	mulu.d r14,r12,r12
 1.14158 -+	mulu.d r8,r5,r5
 1.14159 -+	mulu.d r6,r4,r4
 1.14160 -+	mulu.d r2,lr,lr
 1.14161 -+	mulu.d r6,r5,r0
 1.14162 -+	mulu.d r4,r6,r1
 1.14163 -+	mulu.d r8,r8,r2
 1.14164 -+	.text
 1.14165 -+	.global macud
 1.14166 -+macud:
 1.14167 -+	macu.d r0,pc,pc
 1.14168 -+	macu.d r14,r12,r12
 1.14169 -+	macu.d r8,r5,r5
 1.14170 -+	macu.d r6,r4,r4
 1.14171 -+	macu.d r2,lr,lr
 1.14172 -+	macu.d r6,sp,r11
 1.14173 -+	macu.d r2,r4,r8
 1.14174 -+	macu.d r6,r10,r9
 1.14175 -+	.text
 1.14176 -+	.global asr_1
 1.14177 -+asr_1:
 1.14178 -+	asr pc,pc,pc
 1.14179 -+	asr r12,r12,r12
 1.14180 -+	asr r5,r5,r5
 1.14181 -+	asr r4,r4,r4
 1.14182 -+	asr lr,lr,lr
 1.14183 -+	asr pc,r6,pc
 1.14184 -+	asr r0,r6,r12
 1.14185 -+	asr r4,sp,r0
 1.14186 -+	.text
 1.14187 -+	.global lsl_1
 1.14188 -+lsl_1:
 1.14189 -+	lsl pc,pc,pc
 1.14190 -+	lsl r12,r12,r12
 1.14191 -+	lsl r5,r5,r5
 1.14192 -+	lsl r4,r4,r4
 1.14193 -+	lsl lr,lr,lr
 1.14194 -+	lsl lr,r5,lr
 1.14195 -+	lsl r5,pc,r3
 1.14196 -+	lsl r1,pc,r9
 1.14197 -+	.text
 1.14198 -+	.global lsr_1
 1.14199 -+lsr_1:
 1.14200 -+	lsr pc,pc,pc
 1.14201 -+	lsr r12,r12,r12
 1.14202 -+	lsr r5,r5,r5
 1.14203 -+	lsr r4,r4,r4
 1.14204 -+	lsr lr,lr,lr
 1.14205 -+	lsr r2,r4,r1
 1.14206 -+	lsr r5,r1,r6
 1.14207 -+	lsr sp,r6,r7
 1.14208 -+	.text
 1.14209 -+	.global xchg
 1.14210 -+xchg:
 1.14211 -+	xchg pc,pc,pc
 1.14212 -+	xchg r12,r12,r12
 1.14213 -+	xchg r5,r5,r5
 1.14214 -+	xchg r4,r4,r4
 1.14215 -+	xchg lr,lr,lr
 1.14216 -+	xchg lr,r4,sp
 1.14217 -+	xchg r1,r5,r12
 1.14218 -+	xchg lr,r12,r0
 1.14219 -+	.text
 1.14220 -+	.global max
 1.14221 -+max:
 1.14222 -+	max pc,pc,pc
 1.14223 -+	max r12,r12,r12
 1.14224 -+	max r5,r5,r5
 1.14225 -+	max r4,r4,r4
 1.14226 -+	max lr,lr,lr
 1.14227 -+	max lr,r2,sp
 1.14228 -+	max r4,r10,r9
 1.14229 -+	max lr,r9,lr
 1.14230 -+	.text
 1.14231 -+	.global min
 1.14232 -+min:
 1.14233 -+	min pc,pc,pc
 1.14234 -+	min r12,r12,r12
 1.14235 -+	min r5,r5,r5
 1.14236 -+	min r4,r4,r4
 1.14237 -+	min lr,lr,lr
 1.14238 -+	min r9,r7,r8
 1.14239 -+	min sp,r5,r5
 1.14240 -+	min r4,r1,r4
 1.14241 -+	.text
 1.14242 -+	.global addabs
 1.14243 -+addabs:
 1.14244 -+	addabs pc,pc,pc
 1.14245 -+	addabs r12,r12,r12
 1.14246 -+	addabs r5,r5,r5
 1.14247 -+	addabs r4,r4,r4
 1.14248 -+	addabs lr,lr,lr
 1.14249 -+	addabs r7,r10,r0
 1.14250 -+	addabs r9,r9,r7
 1.14251 -+	addabs r2,r8,r12
 1.14252 -+	.text
 1.14253 -+	.global mulnhh_w
 1.14254 -+mulnhh_w:
 1.14255 -+	mulnhh.w pc,pc:b,pc:b
 1.14256 -+	mulnhh.w r12,r12:t,r12:t
 1.14257 -+	mulnhh.w r5,r5:t,r5:t
 1.14258 -+	mulnhh.w r4,r4:b,r4:b
 1.14259 -+	mulnhh.w lr,lr:t,lr:t
 1.14260 -+	mulnhh.w r11,sp:t,r9:b
 1.14261 -+	mulnhh.w sp,r4:b,lr:t
 1.14262 -+	mulnhh.w r12,r2:t,r11:b
 1.14263 -+	.text
 1.14264 -+	.global mulnwh_d
 1.14265 -+mulnwh_d:
 1.14266 -+	mulnwh.d r0,pc,pc:b
 1.14267 -+	mulnwh.d r14,r12,r12:t
 1.14268 -+	mulnwh.d r8,r5,r5:t
 1.14269 -+	mulnwh.d r6,r4,r4:b
 1.14270 -+	mulnwh.d r2,lr,lr:t
 1.14271 -+	mulnwh.d r14,r3,r2:t
 1.14272 -+	mulnwh.d r4,r5,r9:b
 1.14273 -+	mulnwh.d r12,r4,r4:t
 1.14274 -+	.text
 1.14275 -+	.global machh_w
 1.14276 -+machh_w:
 1.14277 -+	machh.w pc,pc:b,pc:b
 1.14278 -+	machh.w r12,r12:t,r12:t
 1.14279 -+	machh.w r5,r5:t,r5:t
 1.14280 -+	machh.w r4,r4:b,r4:b
 1.14281 -+	machh.w lr,lr:t,lr:t
 1.14282 -+	machh.w lr,r5:b,r1:t
 1.14283 -+	machh.w r9,r6:b,r7:b
 1.14284 -+	machh.w r5,lr:t,r12:b
 1.14285 -+	.text
 1.14286 -+	.global machh_d
 1.14287 -+machh_d:
 1.14288 -+	machh.d r0,pc:b,pc:b
 1.14289 -+	machh.d r14,r12:t,r12:t
 1.14290 -+	machh.d r8,r5:t,r5:t
 1.14291 -+	machh.d r6,r4:b,r4:b
 1.14292 -+	machh.d r2,lr:t,lr:t
 1.14293 -+	machh.d r10,r0:b,r8:b
 1.14294 -+	machh.d r14,r4:b,r5:t
 1.14295 -+	machh.d r8,r0:b,r4:t
 1.14296 -+	.text
 1.14297 -+	.global macsathh_w
 1.14298 -+macsathh_w:
 1.14299 -+	macsathh.w pc,pc:b,pc:b
 1.14300 -+	macsathh.w r12,r12:t,r12:t
 1.14301 -+	macsathh.w r5,r5:t,r5:t
 1.14302 -+	macsathh.w r4,r4:b,r4:b
 1.14303 -+	macsathh.w lr,lr:t,lr:t
 1.14304 -+	macsathh.w r7,r7:t,pc:t
 1.14305 -+	macsathh.w r4,r2:t,r4:b
 1.14306 -+	macsathh.w r4,r8:t,r3:t
 1.14307 -+	.text
 1.14308 -+	.global mulhh_w
 1.14309 -+mulhh_w:
 1.14310 -+	mulhh.w pc,pc:b,pc:b
 1.14311 -+	mulhh.w r12,r12:t,r12:t
 1.14312 -+	mulhh.w r5,r5:t,r5:t
 1.14313 -+	mulhh.w r4,r4:b,r4:b
 1.14314 -+	mulhh.w lr,lr:t,lr:t
 1.14315 -+	mulhh.w r7,r4:t,r9:b
 1.14316 -+	mulhh.w pc,r3:t,r7:t
 1.14317 -+	mulhh.w pc,r4:b,r9:t
 1.14318 -+	.text
 1.14319 -+	.global mulsathh_h
 1.14320 -+mulsathh_h:
 1.14321 -+	mulsathh.h pc,pc:b,pc:b
 1.14322 -+	mulsathh.h r12,r12:t,r12:t
 1.14323 -+	mulsathh.h r5,r5:t,r5:t
 1.14324 -+	mulsathh.h r4,r4:b,r4:b
 1.14325 -+	mulsathh.h lr,lr:t,lr:t
 1.14326 -+	mulsathh.h r3,r1:b,sp:b
 1.14327 -+	mulsathh.h r11,lr:t,r11:b
 1.14328 -+	mulsathh.h r8,r8:b,r11:t
 1.14329 -+	.text
 1.14330 -+	.global mulsathh_w
 1.14331 -+mulsathh_w:
 1.14332 -+	mulsathh.w pc,pc:b,pc:b
 1.14333 -+	mulsathh.w r12,r12:t,r12:t
 1.14334 -+	mulsathh.w r5,r5:t,r5:t
 1.14335 -+	mulsathh.w r4,r4:b,r4:b
 1.14336 -+	mulsathh.w lr,lr:t,lr:t
 1.14337 -+	mulsathh.w lr,r11:t,r6:b
 1.14338 -+	mulsathh.w r6,r6:b,r7:t
 1.14339 -+	mulsathh.w r10,r2:b,r3:b
 1.14340 -+	.text
 1.14341 -+	.global mulsatrndhh_h
 1.14342 -+mulsatrndhh_h:
 1.14343 -+	mulsatrndhh.h pc,pc:b,pc:b
 1.14344 -+	mulsatrndhh.h r12,r12:t,r12:t
 1.14345 -+	mulsatrndhh.h r5,r5:t,r5:t
 1.14346 -+	mulsatrndhh.h r4,r4:b,r4:b
 1.14347 -+	mulsatrndhh.h lr,lr:t,lr:t
 1.14348 -+	mulsatrndhh.h r11,r6:b,r9:b
 1.14349 -+	mulsatrndhh.h r11,r3:b,r8:t
 1.14350 -+	mulsatrndhh.h r5,sp:t,r7:t
 1.14351 -+	.text
 1.14352 -+	.global mulsatrndwh_w
 1.14353 -+mulsatrndwh_w:
 1.14354 -+	mulsatrndwh.w pc,pc,pc:b
 1.14355 -+	mulsatrndwh.w r12,r12,r12:t
 1.14356 -+	mulsatrndwh.w r5,r5,r5:t
 1.14357 -+	mulsatrndwh.w r4,r4,r4:b
 1.14358 -+	mulsatrndwh.w lr,lr,lr:t
 1.14359 -+	mulsatrndwh.w r5,r12,r0:b
 1.14360 -+	mulsatrndwh.w r7,r10,pc:b
 1.14361 -+	mulsatrndwh.w r10,r8,r5:t
 1.14362 -+	.text
 1.14363 -+	.global macwh_d
 1.14364 -+macwh_d:
 1.14365 -+	macwh.d r0,pc,pc:b
 1.14366 -+	macwh.d r14,r12,r12:t
 1.14367 -+	macwh.d r8,r5,r5:t
 1.14368 -+	macwh.d r6,r4,r4:b
 1.14369 -+	macwh.d r2,lr,lr:t
 1.14370 -+	macwh.d r4,r10,r12:t
 1.14371 -+	macwh.d r4,r7,sp:b
 1.14372 -+	macwh.d r14,r9,r11:b
 1.14373 -+	.text
 1.14374 -+	.global mulwh_d
 1.14375 -+mulwh_d:
 1.14376 -+	mulwh.d r0,pc,pc:b
 1.14377 -+	mulwh.d r14,r12,r12:t
 1.14378 -+	mulwh.d r8,r5,r5:t
 1.14379 -+	mulwh.d r6,r4,r4:b
 1.14380 -+	mulwh.d r2,lr,lr:t
 1.14381 -+	mulwh.d r12,r5,r1:b
 1.14382 -+	mulwh.d r0,r1,r3:t
 1.14383 -+	mulwh.d r0,r9,r2:b
 1.14384 -+	.text
 1.14385 -+	.global mulsatwh_w
 1.14386 -+mulsatwh_w:
 1.14387 -+	mulsatwh.w pc,pc,pc:b
 1.14388 -+	mulsatwh.w r12,r12,r12:t
 1.14389 -+	mulsatwh.w r5,r5,r5:t
 1.14390 -+	mulsatwh.w r4,r4,r4:b
 1.14391 -+	mulsatwh.w lr,lr,lr:t
 1.14392 -+	mulsatwh.w r11,pc,r10:t
 1.14393 -+	mulsatwh.w sp,r12,r9:t
 1.14394 -+	mulsatwh.w r0,r3,r2:t
 1.14395 -+	.text
 1.14396 -+	.global ldw7
 1.14397 -+ldw7:
 1.14398 -+	ld.w pc,pc[pc:b<<2]
 1.14399 -+	ld.w r12,r12[r12:t<<2]
 1.14400 -+	ld.w r5,r5[r5:u<<2]
 1.14401 -+	ld.w r4,r4[r4:l<<2]
 1.14402 -+	ld.w lr,lr[lr:l<<2]
 1.14403 -+	ld.w r9,r10[r6:l<<2]
 1.14404 -+	ld.w r2,r10[r10:b<<2]
 1.14405 -+	ld.w r11,r5[pc:b<<2]
 1.14406 -+	.text
 1.14407 -+	.global satadd_w
 1.14408 -+satadd_w:
 1.14409 -+	satadd.w pc,pc,pc
 1.14410 -+	satadd.w r12,r12,r12
 1.14411 -+	satadd.w r5,r5,r5
 1.14412 -+	satadd.w r4,r4,r4
 1.14413 -+	satadd.w lr,lr,lr
 1.14414 -+	satadd.w r4,r8,r11
 1.14415 -+	satadd.w r3,r12,r6
 1.14416 -+	satadd.w r3,lr,r9
 1.14417 -+	.text
 1.14418 -+	.global satsub_w1
 1.14419 -+satsub_w1:
 1.14420 -+	satsub.w pc,pc,pc
 1.14421 -+	satsub.w r12,r12,r12
 1.14422 -+	satsub.w r5,r5,r5
 1.14423 -+	satsub.w r4,r4,r4
 1.14424 -+	satsub.w lr,lr,lr
 1.14425 -+	satsub.w r8,sp,r0
 1.14426 -+	satsub.w r9,r8,r4
 1.14427 -+	satsub.w pc,lr,r2
 1.14428 -+	.text
 1.14429 -+	.global satadd_h
 1.14430 -+satadd_h:
 1.14431 -+	satadd.h pc,pc,pc
 1.14432 -+	satadd.h r12,r12,r12
 1.14433 -+	satadd.h r5,r5,r5
 1.14434 -+	satadd.h r4,r4,r4
 1.14435 -+	satadd.h lr,lr,lr
 1.14436 -+	satadd.h r7,r3,r9
 1.14437 -+	satadd.h r1,r0,r2
 1.14438 -+	satadd.h r1,r4,lr
 1.14439 -+	.text
 1.14440 -+	.global satsub_h
 1.14441 -+satsub_h:
 1.14442 -+	satsub.h pc,pc,pc
 1.14443 -+	satsub.h r12,r12,r12
 1.14444 -+	satsub.h r5,r5,r5
 1.14445 -+	satsub.h r4,r4,r4
 1.14446 -+	satsub.h lr,lr,lr
 1.14447 -+	satsub.h lr,lr,r3
 1.14448 -+	satsub.h r11,r6,r5
 1.14449 -+	satsub.h r3,sp,r0
 1.14450 -+	.text
 1.14451 -+	.global mul3
 1.14452 -+mul3:
 1.14453 -+	mul pc,pc,0
 1.14454 -+	mul r12,r12,-1
 1.14455 -+	mul r5,r5,-128
 1.14456 -+	mul r4,r4,127
 1.14457 -+	mul lr,lr,1
 1.14458 -+	mul r12,r2,-7
 1.14459 -+	mul r1,pc,95
 1.14460 -+	mul r4,r6,19
 1.14461 -+	.text
 1.14462 -+	.global rsub2
 1.14463 -+rsub2:
 1.14464 -+	rsub pc,pc,0
 1.14465 -+	rsub r12,r12,-1
 1.14466 -+	rsub r5,r5,-128
 1.14467 -+	rsub r4,r4,127
 1.14468 -+	rsub lr,lr,1
 1.14469 -+	rsub r9,lr,96
 1.14470 -+	rsub r11,r1,56
 1.14471 -+	rsub r0,r7,-87
 1.14472 -+	.text
 1.14473 -+	.global clz
 1.14474 -+clz:
 1.14475 -+	clz pc,pc
 1.14476 -+	clz r12,r12
 1.14477 -+	clz r5,r5
 1.14478 -+	clz r4,r4
 1.14479 -+	clz lr,lr
 1.14480 -+	clz r2,r3
 1.14481 -+	clz r5,r11
 1.14482 -+	clz pc,r3
 1.14483 -+	.text
 1.14484 -+	.global cpc1
 1.14485 -+cpc1:
 1.14486 -+	cpc pc,pc
 1.14487 -+	cpc r12,r12
 1.14488 -+	cpc r5,r5
 1.14489 -+	cpc r4,r4
 1.14490 -+	cpc lr,lr
 1.14491 -+	cpc pc,r4
 1.14492 -+	cpc r5,r9
 1.14493 -+	cpc r6,r7
 1.14494 -+	.text
 1.14495 -+	.global asr3
 1.14496 -+asr3:
 1.14497 -+	asr pc,pc,0
 1.14498 -+	asr r12,r12,31
 1.14499 -+	asr r5,r5,16
 1.14500 -+	asr r4,r4,15
 1.14501 -+	asr lr,lr,1
 1.14502 -+	asr r4,r11,19
 1.14503 -+	asr sp,pc,26
 1.14504 -+	asr r11,sp,8
 1.14505 -+	.text
 1.14506 -+	.global lsl3
 1.14507 -+lsl3:
 1.14508 -+	lsl pc,pc,0
 1.14509 -+	lsl r12,r12,31
 1.14510 -+	lsl r5,r5,16
 1.14511 -+	lsl r4,r4,15
 1.14512 -+	lsl lr,lr,1
 1.14513 -+	lsl r8,r10,17
 1.14514 -+	lsl r2,lr,3
 1.14515 -+	lsl lr,r11,14
 1.14516 -+	.text
 1.14517 -+	.global lsr3
 1.14518 -+lsr3:
 1.14519 -+	lsr pc,pc,0
 1.14520 -+	lsr r12,r12,31
 1.14521 -+	lsr r5,r5,16
 1.14522 -+	lsr r4,r4,15
 1.14523 -+	lsr lr,lr,1
 1.14524 -+	lsr r4,r3,31
 1.14525 -+	lsr pc,r9,14
 1.14526 -+	lsr r3,r0,6
 1.14527 -+/*	.text
 1.14528 -+	.global extract_b
 1.14529 -+extract_b:
 1.14530 -+	extract.b pc,pc:b
 1.14531 -+	extract.b r12,r12:t
 1.14532 -+	extract.b r5,r5:u
 1.14533 -+	extract.b r4,r4:l
 1.14534 -+	extract.b lr,lr:l
 1.14535 -+	extract.b r2,r5:l
 1.14536 -+	extract.b r12,r3:l
 1.14537 -+	extract.b sp,r3:l
 1.14538 -+	.text
 1.14539 -+	.global insert_b
 1.14540 -+insert_b:
 1.14541 -+	insert.b pc:b,pc
 1.14542 -+	insert.b r12:t,r12
 1.14543 -+	insert.b r5:u,r5
 1.14544 -+	insert.b r4:l,r4
 1.14545 -+	insert.b lr:l,lr
 1.14546 -+	insert.b r12:u,r3
 1.14547 -+	insert.b r10:l,lr
 1.14548 -+	insert.b r11:l,r12
 1.14549 -+	.text
 1.14550 -+	.global extract_h
 1.14551 -+extract_h:
 1.14552 -+	extract.h pc,pc:b
 1.14553 -+	extract.h r12,r12:t
 1.14554 -+	extract.h r5,r5:t
 1.14555 -+	extract.h r4,r4:b
 1.14556 -+	extract.h lr,lr:t
 1.14557 -+	extract.h r11,lr:b
 1.14558 -+	extract.h r10,r0:b
 1.14559 -+	extract.h r11,r12:b
 1.14560 -+	.text
 1.14561 -+	.global insert_h
 1.14562 -+insert_h:
 1.14563 -+	insert.h pc:b,pc
 1.14564 -+	insert.h r12:t,r12
 1.14565 -+	insert.h r5:t,r5
 1.14566 -+	insert.h r4:b,r4
 1.14567 -+	insert.h lr:t,lr
 1.14568 -+	insert.h r12:t,r11
 1.14569 -+	insert.h r7:b,r6
 1.14570 -+	insert.h r1:t,r11 */
 1.14571 -+	.text
 1.14572 -+	.global movc1
 1.14573 -+movc1:
 1.14574 -+	moveq pc,pc
 1.14575 -+	moval r12,r12
 1.14576 -+	movls r5,r5
 1.14577 -+	movpl r4,r4
 1.14578 -+	movne lr,lr
 1.14579 -+	movne pc,r11
 1.14580 -+	movmi r10,r2
 1.14581 -+	movls r8,r12
 1.14582 -+	.text
 1.14583 -+	.global padd_h
 1.14584 -+padd_h:
 1.14585 -+	padd.h pc,pc,pc
 1.14586 -+	padd.h r12,r12,r12
 1.14587 -+	padd.h r5,r5,r5
 1.14588 -+	padd.h r4,r4,r4
 1.14589 -+	padd.h lr,lr,lr
 1.14590 -+	padd.h r8,r2,r7
 1.14591 -+	padd.h r0,r0,r3
 1.14592 -+	padd.h sp,r11,r6
 1.14593 -+	.text
 1.14594 -+	.global psub_h
 1.14595 -+psub_h:
 1.14596 -+	psub.h pc,pc,pc
 1.14597 -+	psub.h r12,r12,r12
 1.14598 -+	psub.h r5,r5,r5
 1.14599 -+	psub.h r4,r4,r4
 1.14600 -+	psub.h lr,lr,lr
 1.14601 -+	psub.h lr,r6,r8
 1.14602 -+	psub.h r0,r1,sp
 1.14603 -+	psub.h pc,pc,sp
 1.14604 -+	.text
 1.14605 -+	.global paddx_h
 1.14606 -+paddx_h:
 1.14607 -+	paddx.h pc,pc,pc
 1.14608 -+	paddx.h r12,r12,r12
 1.14609 -+	paddx.h r5,r5,r5
 1.14610 -+	paddx.h r4,r4,r4
 1.14611 -+	paddx.h lr,lr,lr
 1.14612 -+	paddx.h pc,pc,r1
 1.14613 -+	paddx.h r10,r4,r5
 1.14614 -+	paddx.h r5,pc,r2
 1.14615 -+	.text
 1.14616 -+	.global psubx_h
 1.14617 -+psubx_h:
 1.14618 -+	psubx.h pc,pc,pc
 1.14619 -+	psubx.h r12,r12,r12
 1.14620 -+	psubx.h r5,r5,r5
 1.14621 -+	psubx.h r4,r4,r4
 1.14622 -+	psubx.h lr,lr,lr
 1.14623 -+	psubx.h r5,r12,r5
 1.14624 -+	psubx.h r3,r8,r3
 1.14625 -+	psubx.h r5,r2,r3
 1.14626 -+	.text
 1.14627 -+	.global padds_sh
 1.14628 -+padds_sh:
 1.14629 -+	padds.sh pc,pc,pc
 1.14630 -+	padds.sh r12,r12,r12
 1.14631 -+	padds.sh r5,r5,r5
 1.14632 -+	padds.sh r4,r4,r4
 1.14633 -+	padds.sh lr,lr,lr
 1.14634 -+	padds.sh r9,lr,r2
 1.14635 -+	padds.sh r6,r8,r1
 1.14636 -+	padds.sh r6,r4,r10
 1.14637 -+	.text
 1.14638 -+	.global psubs_sh
 1.14639 -+psubs_sh:
 1.14640 -+	psubs.sh pc,pc,pc
 1.14641 -+	psubs.sh r12,r12,r12
 1.14642 -+	psubs.sh r5,r5,r5
 1.14643 -+	psubs.sh r4,r4,r4
 1.14644 -+	psubs.sh lr,lr,lr
 1.14645 -+	psubs.sh r6,lr,r11
 1.14646 -+	psubs.sh r2,r12,r4
 1.14647 -+	psubs.sh r0,r9,r0
 1.14648 -+	.text
 1.14649 -+	.global paddxs_sh
 1.14650 -+paddxs_sh:
 1.14651 -+	paddxs.sh pc,pc,pc
 1.14652 -+	paddxs.sh r12,r12,r12
 1.14653 -+	paddxs.sh r5,r5,r5
 1.14654 -+	paddxs.sh r4,r4,r4
 1.14655 -+	paddxs.sh lr,lr,lr
 1.14656 -+	paddxs.sh r0,r3,r9
 1.14657 -+	paddxs.sh pc,r10,r11
 1.14658 -+	paddxs.sh pc,r10,pc
 1.14659 -+	.text
 1.14660 -+	.global psubxs_sh
 1.14661 -+psubxs_sh:
 1.14662 -+	psubxs.sh pc,pc,pc
 1.14663 -+	psubxs.sh r12,r12,r12
 1.14664 -+	psubxs.sh r5,r5,r5
 1.14665 -+	psubxs.sh r4,r4,r4
 1.14666 -+	psubxs.sh lr,lr,lr
 1.14667 -+	psubxs.sh r7,r4,r4
 1.14668 -+	psubxs.sh r7,r8,r3
 1.14669 -+	psubxs.sh pc,r6,r5
 1.14670 -+	.text
 1.14671 -+	.global padds_uh
 1.14672 -+padds_uh:
 1.14673 -+	padds.uh pc,pc,pc
 1.14674 -+	padds.uh r12,r12,r12
 1.14675 -+	padds.uh r5,r5,r5
 1.14676 -+	padds.uh r4,r4,r4
 1.14677 -+	padds.uh lr,lr,lr
 1.14678 -+	padds.uh r12,r11,r7
 1.14679 -+	padds.uh r7,r8,lr
 1.14680 -+	padds.uh r6,r9,r7
 1.14681 -+	.text
 1.14682 -+	.global psubs_uh
 1.14683 -+psubs_uh:
 1.14684 -+	psubs.uh pc,pc,pc
 1.14685 -+	psubs.uh r12,r12,r12
 1.14686 -+	psubs.uh r5,r5,r5
 1.14687 -+	psubs.uh r4,r4,r4
 1.14688 -+	psubs.uh lr,lr,lr
 1.14689 -+	psubs.uh lr,r10,r6
 1.14690 -+	psubs.uh sp,r2,pc
 1.14691 -+	psubs.uh r2,r9,r2
 1.14692 -+	.text
 1.14693 -+	.global paddxs_uh
 1.14694 -+paddxs_uh:
 1.14695 -+	paddxs.uh pc,pc,pc
 1.14696 -+	paddxs.uh r12,r12,r12
 1.14697 -+	paddxs.uh r5,r5,r5
 1.14698 -+	paddxs.uh r4,r4,r4
 1.14699 -+	paddxs.uh lr,lr,lr
 1.14700 -+	paddxs.uh r7,r9,r5
 1.14701 -+	paddxs.uh r9,r1,r4
 1.14702 -+	paddxs.uh r5,r2,r3
 1.14703 -+	.text
 1.14704 -+	.global psubxs_uh
 1.14705 -+psubxs_uh:
 1.14706 -+	psubxs.uh pc,pc,pc
 1.14707 -+	psubxs.uh r12,r12,r12
 1.14708 -+	psubxs.uh r5,r5,r5
 1.14709 -+	psubxs.uh r4,r4,r4
 1.14710 -+	psubxs.uh lr,lr,lr
 1.14711 -+	psubxs.uh sp,r5,sp
 1.14712 -+	psubxs.uh sp,r6,r6
 1.14713 -+	psubxs.uh r3,r11,r8
 1.14714 -+	.text
 1.14715 -+	.global paddh_sh
 1.14716 -+paddh_sh:
 1.14717 -+	paddh.sh pc,pc,pc
 1.14718 -+	paddh.sh r12,r12,r12
 1.14719 -+	paddh.sh r5,r5,r5
 1.14720 -+	paddh.sh r4,r4,r4
 1.14721 -+	paddh.sh lr,lr,lr
 1.14722 -+	paddh.sh r12,sp,r3
 1.14723 -+	paddh.sh pc,r5,r3
 1.14724 -+	paddh.sh r8,r8,sp
 1.14725 -+	.text
 1.14726 -+	.global psubh_sh
 1.14727 -+psubh_sh:
 1.14728 -+	psubh.sh pc,pc,pc
 1.14729 -+	psubh.sh r12,r12,r12
 1.14730 -+	psubh.sh r5,r5,r5
 1.14731 -+	psubh.sh r4,r4,r4
 1.14732 -+	psubh.sh lr,lr,lr
 1.14733 -+	psubh.sh r1,r5,r8
 1.14734 -+	psubh.sh r7,r3,r6
 1.14735 -+	psubh.sh r4,r3,r3
 1.14736 -+	.text
 1.14737 -+	.global paddxh_sh
 1.14738 -+paddxh_sh:
 1.14739 -+	paddxh.sh pc,pc,pc
 1.14740 -+	paddxh.sh r12,r12,r12
 1.14741 -+	paddxh.sh r5,r5,r5
 1.14742 -+	paddxh.sh r4,r4,r4
 1.14743 -+	paddxh.sh lr,lr,lr
 1.14744 -+	paddxh.sh r6,r0,r4
 1.14745 -+	paddxh.sh r9,r8,r9
 1.14746 -+	paddxh.sh r3,r0,sp
 1.14747 -+	.text
 1.14748 -+	.global psubxh_sh
 1.14749 -+psubxh_sh:
 1.14750 -+	psubxh.sh pc,pc,pc
 1.14751 -+	psubxh.sh r12,r12,r12
 1.14752 -+	psubxh.sh r5,r5,r5
 1.14753 -+	psubxh.sh r4,r4,r4
 1.14754 -+	psubxh.sh lr,lr,lr
 1.14755 -+	psubxh.sh r4,pc,r12
 1.14756 -+	psubxh.sh r8,r4,r6
 1.14757 -+	psubxh.sh r12,r9,r4
 1.14758 -+	.text
 1.14759 -+	.global paddsub_h
 1.14760 -+paddsub_h:
 1.14761 -+	paddsub.h pc,pc:b,pc:b
 1.14762 -+	paddsub.h r12,r12:t,r12:t
 1.14763 -+	paddsub.h r5,r5:t,r5:t
 1.14764 -+	paddsub.h r4,r4:b,r4:b
 1.14765 -+	paddsub.h lr,lr:t,lr:t
 1.14766 -+	paddsub.h r5,r2:t,lr:b
 1.14767 -+	paddsub.h r7,r1:b,r8:b
 1.14768 -+	paddsub.h r6,r10:t,r5:t
 1.14769 -+	.text
 1.14770 -+	.global psubadd_h
 1.14771 -+psubadd_h:
 1.14772 -+	psubadd.h pc,pc:b,pc:b
 1.14773 -+	psubadd.h r12,r12:t,r12:t
 1.14774 -+	psubadd.h r5,r5:t,r5:t
 1.14775 -+	psubadd.h r4,r4:b,r4:b
 1.14776 -+	psubadd.h lr,lr:t,lr:t
 1.14777 -+	psubadd.h r9,r11:t,r8:t
 1.14778 -+	psubadd.h r10,r7:t,lr:t
 1.14779 -+	psubadd.h r6,pc:t,pc:b
 1.14780 -+	.text
 1.14781 -+	.global paddsubs_sh
 1.14782 -+paddsubs_sh:
 1.14783 -+	paddsubs.sh pc,pc:b,pc:b
 1.14784 -+	paddsubs.sh r12,r12:t,r12:t
 1.14785 -+	paddsubs.sh r5,r5:t,r5:t
 1.14786 -+	paddsubs.sh r4,r4:b,r4:b
 1.14787 -+	paddsubs.sh lr,lr:t,lr:t
 1.14788 -+	paddsubs.sh r0,lr:t,r0:b
 1.14789 -+	paddsubs.sh r9,r2:t,r4:t
 1.14790 -+	paddsubs.sh r12,r9:t,sp:t
 1.14791 -+	.text
 1.14792 -+	.global psubadds_sh
 1.14793 -+psubadds_sh:
 1.14794 -+	psubadds.sh pc,pc:b,pc:b
 1.14795 -+	psubadds.sh r12,r12:t,r12:t
 1.14796 -+	psubadds.sh r5,r5:t,r5:t
 1.14797 -+	psubadds.sh r4,r4:b,r4:b
 1.14798 -+	psubadds.sh lr,lr:t,lr:t
 1.14799 -+	psubadds.sh pc,lr:b,r1:t
 1.14800 -+	psubadds.sh r11,r3:b,r12:b
 1.14801 -+	psubadds.sh r10,r2:t,r8:t
 1.14802 -+	.text
 1.14803 -+	.global paddsubs_uh
 1.14804 -+paddsubs_uh:
 1.14805 -+	paddsubs.uh pc,pc:b,pc:b
 1.14806 -+	paddsubs.uh r12,r12:t,r12:t
 1.14807 -+	paddsubs.uh r5,r5:t,r5:t
 1.14808 -+	paddsubs.uh r4,r4:b,r4:b
 1.14809 -+	paddsubs.uh lr,lr:t,lr:t
 1.14810 -+	paddsubs.uh r9,r2:b,r3:b
 1.14811 -+	paddsubs.uh sp,sp:b,r7:t
 1.14812 -+	paddsubs.uh lr,r0:b,r10:t
 1.14813 -+	.text
 1.14814 -+	.global psubadds_uh
 1.14815 -+psubadds_uh:
 1.14816 -+	psubadds.uh pc,pc:b,pc:b
 1.14817 -+	psubadds.uh r12,r12:t,r12:t
 1.14818 -+	psubadds.uh r5,r5:t,r5:t
 1.14819 -+	psubadds.uh r4,r4:b,r4:b
 1.14820 -+	psubadds.uh lr,lr:t,lr:t
 1.14821 -+	psubadds.uh r12,r9:t,pc:t
 1.14822 -+	psubadds.uh r8,r6:b,r8:b
 1.14823 -+	psubadds.uh r8,r8:b,r4:b
 1.14824 -+	.text
 1.14825 -+	.global paddsubh_sh
 1.14826 -+paddsubh_sh:
 1.14827 -+	paddsubh.sh pc,pc:b,pc:b
 1.14828 -+	paddsubh.sh r12,r12:t,r12:t
 1.14829 -+	paddsubh.sh r5,r5:t,r5:t
 1.14830 -+	paddsubh.sh r4,r4:b,r4:b
 1.14831 -+	paddsubh.sh lr,lr:t,lr:t
 1.14832 -+	paddsubh.sh r8,r9:t,r9:b
 1.14833 -+	paddsubh.sh r0,sp:t,r1:t
 1.14834 -+	paddsubh.sh r3,r1:b,r0:t
 1.14835 -+	.text
 1.14836 -+	.global psubaddh_sh
 1.14837 -+psubaddh_sh:
 1.14838 -+	psubaddh.sh pc,pc:b,pc:b
 1.14839 -+	psubaddh.sh r12,r12:t,r12:t
 1.14840 -+	psubaddh.sh r5,r5:t,r5:t
 1.14841 -+	psubaddh.sh r4,r4:b,r4:b
 1.14842 -+	psubaddh.sh lr,lr:t,lr:t
 1.14843 -+	psubaddh.sh r7,r3:t,r10:b
 1.14844 -+	psubaddh.sh r7,r2:t,r1:t
 1.14845 -+	psubaddh.sh r11,r3:b,r6:b
 1.14846 -+	.text
 1.14847 -+	.global padd_b
 1.14848 -+padd_b:
 1.14849 -+	padd.b pc,pc,pc
 1.14850 -+	padd.b r12,r12,r12
 1.14851 -+	padd.b r5,r5,r5
 1.14852 -+	padd.b r4,r4,r4
 1.14853 -+	padd.b lr,lr,lr
 1.14854 -+	padd.b r2,r6,pc
 1.14855 -+	padd.b r8,r9,r12
 1.14856 -+	padd.b r5,r12,r3
 1.14857 -+	.text
 1.14858 -+	.global psub_b
 1.14859 -+psub_b:
 1.14860 -+	psub.b pc,pc,pc
 1.14861 -+	psub.b r12,r12,r12
 1.14862 -+	psub.b r5,r5,r5
 1.14863 -+	psub.b r4,r4,r4
 1.14864 -+	psub.b lr,lr,lr
 1.14865 -+	psub.b r0,r12,pc
 1.14866 -+	psub.b r7,sp,r10
 1.14867 -+	psub.b r5,sp,r12
 1.14868 -+	.text
 1.14869 -+	.global padds_sb
 1.14870 -+padds_sb:
 1.14871 -+	padds.sb pc,pc,pc
 1.14872 -+	padds.sb r12,r12,r12
 1.14873 -+	padds.sb r5,r5,r5
 1.14874 -+	padds.sb r4,r4,r4
 1.14875 -+	padds.sb lr,lr,lr
 1.14876 -+	padds.sb sp,r11,r4
 1.14877 -+	padds.sb r11,r10,r11
 1.14878 -+	padds.sb r5,r12,r6
 1.14879 -+	.text
 1.14880 -+	.global psubs_sb
 1.14881 -+psubs_sb:
 1.14882 -+	psubs.sb pc,pc,pc
 1.14883 -+	psubs.sb r12,r12,r12
 1.14884 -+	psubs.sb r5,r5,r5
 1.14885 -+	psubs.sb r4,r4,r4
 1.14886 -+	psubs.sb lr,lr,lr
 1.14887 -+	psubs.sb r7,r6,r8
 1.14888 -+	psubs.sb r12,r10,r9
 1.14889 -+	psubs.sb pc,r11,r0
 1.14890 -+	.text
 1.14891 -+	.global padds_ub
 1.14892 -+padds_ub:
 1.14893 -+	padds.ub pc,pc,pc
 1.14894 -+	padds.ub r12,r12,r12
 1.14895 -+	padds.ub r5,r5,r5
 1.14896 -+	padds.ub r4,r4,r4
 1.14897 -+	padds.ub lr,lr,lr
 1.14898 -+	padds.ub r3,r2,r11
 1.14899 -+	padds.ub r10,r8,r1
 1.14900 -+	padds.ub r11,r8,r10
 1.14901 -+	.text
 1.14902 -+	.global psubs_ub
 1.14903 -+psubs_ub:
 1.14904 -+	psubs.ub pc,pc,pc
 1.14905 -+	psubs.ub r12,r12,r12
 1.14906 -+	psubs.ub r5,r5,r5
 1.14907 -+	psubs.ub r4,r4,r4
 1.14908 -+	psubs.ub lr,lr,lr
 1.14909 -+	psubs.ub r0,r2,r7
 1.14910 -+	psubs.ub lr,r5,r3
 1.14911 -+	psubs.ub r6,r7,r9
 1.14912 -+	.text
 1.14913 -+	.global paddh_ub
 1.14914 -+paddh_ub:
 1.14915 -+	paddh.ub pc,pc,pc
 1.14916 -+	paddh.ub r12,r12,r12
 1.14917 -+	paddh.ub r5,r5,r5
 1.14918 -+	paddh.ub r4,r4,r4
 1.14919 -+	paddh.ub lr,lr,lr
 1.14920 -+	paddh.ub lr,r1,r0
 1.14921 -+	paddh.ub r2,r7,r7
 1.14922 -+	paddh.ub r2,r1,r2
 1.14923 -+	.text
 1.14924 -+	.global psubh_ub
 1.14925 -+psubh_ub:
 1.14926 -+	psubh.ub pc,pc,pc
 1.14927 -+	psubh.ub r12,r12,r12
 1.14928 -+	psubh.ub r5,r5,r5
 1.14929 -+	psubh.ub r4,r4,r4
 1.14930 -+	psubh.ub lr,lr,lr
 1.14931 -+	psubh.ub r0,r1,r6
 1.14932 -+	psubh.ub r4,lr,r10
 1.14933 -+	psubh.ub r9,r8,r1
 1.14934 -+	.text
 1.14935 -+	.global pmax_ub
 1.14936 -+pmax_ub:
 1.14937 -+	pmax.ub pc,pc,pc
 1.14938 -+	pmax.ub r12,r12,r12
 1.14939 -+	pmax.ub r5,r5,r5
 1.14940 -+	pmax.ub r4,r4,r4
 1.14941 -+	pmax.ub lr,lr,lr
 1.14942 -+	pmax.ub pc,r2,r11
 1.14943 -+	pmax.ub r12,r1,r1
 1.14944 -+	pmax.ub r5,r2,r0
 1.14945 -+	.text
 1.14946 -+	.global pmax_sh
 1.14947 -+pmax_sh:
 1.14948 -+	pmax.sh pc,pc,pc
 1.14949 -+	pmax.sh r12,r12,r12
 1.14950 -+	pmax.sh r5,r5,r5
 1.14951 -+	pmax.sh r4,r4,r4
 1.14952 -+	pmax.sh lr,lr,lr
 1.14953 -+	pmax.sh lr,r6,r12
 1.14954 -+	pmax.sh r2,pc,r5
 1.14955 -+	pmax.sh pc,r2,r7
 1.14956 -+	.text
 1.14957 -+	.global pmin_ub
 1.14958 -+pmin_ub:
 1.14959 -+	pmin.ub pc,pc,pc
 1.14960 -+	pmin.ub r12,r12,r12
 1.14961 -+	pmin.ub r5,r5,r5
 1.14962 -+	pmin.ub r4,r4,r4
 1.14963 -+	pmin.ub lr,lr,lr
 1.14964 -+	pmin.ub r8,r1,r5
 1.14965 -+	pmin.ub r1,r8,r3
 1.14966 -+	pmin.ub r0,r2,r7
 1.14967 -+	.text
 1.14968 -+	.global pmin_sh
 1.14969 -+pmin_sh:
 1.14970 -+	pmin.sh pc,pc,pc
 1.14971 -+	pmin.sh r12,r12,r12
 1.14972 -+	pmin.sh r5,r5,r5
 1.14973 -+	pmin.sh r4,r4,r4
 1.14974 -+	pmin.sh lr,lr,lr
 1.14975 -+	pmin.sh r8,r4,r10
 1.14976 -+	pmin.sh lr,r10,r12
 1.14977 -+	pmin.sh r2,r6,r2
 1.14978 -+	.text
 1.14979 -+	.global pavg_ub
 1.14980 -+pavg_ub:
 1.14981 -+	pavg.ub pc,pc,pc
 1.14982 -+	pavg.ub r12,r12,r12
 1.14983 -+	pavg.ub r5,r5,r5
 1.14984 -+	pavg.ub r4,r4,r4
 1.14985 -+	pavg.ub lr,lr,lr
 1.14986 -+	pavg.ub r0,r1,r6
 1.14987 -+	pavg.ub r8,r3,r6
 1.14988 -+	pavg.ub pc,r12,r10
 1.14989 -+	.text
 1.14990 -+	.global pavg_sh
 1.14991 -+pavg_sh:
 1.14992 -+	pavg.sh pc,pc,pc
 1.14993 -+	pavg.sh r12,r12,r12
 1.14994 -+	pavg.sh r5,r5,r5
 1.14995 -+	pavg.sh r4,r4,r4
 1.14996 -+	pavg.sh lr,lr,lr
 1.14997 -+	pavg.sh r9,pc,sp
 1.14998 -+	pavg.sh pc,sp,r3
 1.14999 -+	pavg.sh r6,r1,r9
 1.15000 -+	.text
 1.15001 -+	.global pabs_sb
 1.15002 -+pabs_sb:
 1.15003 -+	pabs.sb pc,pc
 1.15004 -+	pabs.sb r12,r12
 1.15005 -+	pabs.sb r5,r5
 1.15006 -+	pabs.sb r4,r4
 1.15007 -+	pabs.sb lr,lr
 1.15008 -+	pabs.sb r11,r6
 1.15009 -+	pabs.sb lr,r9
 1.15010 -+	pabs.sb sp,r7
 1.15011 -+	.text
 1.15012 -+	.global pabs_sh
 1.15013 -+pabs_sh:
 1.15014 -+	pabs.sh pc,pc
 1.15015 -+	pabs.sh r12,r12
 1.15016 -+	pabs.sh r5,r5
 1.15017 -+	pabs.sh r4,r4
 1.15018 -+	pabs.sh lr,lr
 1.15019 -+	pabs.sh pc,r3
 1.15020 -+	pabs.sh r5,r7
 1.15021 -+	pabs.sh r4,r0
 1.15022 -+	.text
 1.15023 -+	.global psad
 1.15024 -+psad:
 1.15025 -+	psad pc,pc,pc
 1.15026 -+	psad r12,r12,r12
 1.15027 -+	psad r5,r5,r5
 1.15028 -+	psad r4,r4,r4
 1.15029 -+	psad lr,lr,lr
 1.15030 -+	psad r9,r11,r11
 1.15031 -+	psad lr,r4,sp
 1.15032 -+	psad lr,r4,r5
 1.15033 -+	.text
 1.15034 -+	.global pasr_b
 1.15035 -+pasr_b:
 1.15036 -+	pasr.b pc,pc,0
 1.15037 -+	pasr.b r12,r12,7
 1.15038 -+	pasr.b r5,r5,4
 1.15039 -+	pasr.b r4,r4,3
 1.15040 -+	pasr.b lr,lr,1
 1.15041 -+	pasr.b pc,r7,1
 1.15042 -+	pasr.b sp,lr,6
 1.15043 -+	pasr.b sp,r3,2
 1.15044 -+	.text
 1.15045 -+	.global plsl_b
 1.15046 -+plsl_b:
 1.15047 -+	plsl.b pc,pc,0
 1.15048 -+	plsl.b r12,r12,7
 1.15049 -+	plsl.b r5,r5,4
 1.15050 -+	plsl.b r4,r4,3
 1.15051 -+	plsl.b lr,lr,1
 1.15052 -+	plsl.b r2,r11,4
 1.15053 -+	plsl.b r8,r5,7
 1.15054 -+	plsl.b pc,r0,2
 1.15055 -+	.text
 1.15056 -+	.global plsr_b
 1.15057 -+plsr_b:
 1.15058 -+	plsr.b pc,pc,0
 1.15059 -+	plsr.b r12,r12,7
 1.15060 -+	plsr.b r5,r5,4
 1.15061 -+	plsr.b r4,r4,3
 1.15062 -+	plsr.b lr,lr,1
 1.15063 -+	plsr.b r12,r1,2
 1.15064 -+	plsr.b r6,pc,7
 1.15065 -+	plsr.b r12,r11,2
 1.15066 -+	.text
 1.15067 -+	.global pasr_h
 1.15068 -+pasr_h:
 1.15069 -+	pasr.h pc,pc,0
 1.15070 -+	pasr.h r12,r12,15
 1.15071 -+	pasr.h r5,r5,8
 1.15072 -+	pasr.h r4,r4,7
 1.15073 -+	pasr.h lr,lr,1
 1.15074 -+	pasr.h r0,r11,10
 1.15075 -+	pasr.h r4,r6,8
 1.15076 -+	pasr.h r6,r2,4
 1.15077 -+	.text
 1.15078 -+	.global plsl_h
 1.15079 -+plsl_h:
 1.15080 -+	plsl.h pc,pc,0
 1.15081 -+	plsl.h r12,r12,15
 1.15082 -+	plsl.h r5,r5,8
 1.15083 -+	plsl.h r4,r4,7
 1.15084 -+	plsl.h lr,lr,1
 1.15085 -+	plsl.h r5,r10,9
 1.15086 -+	plsl.h sp,lr,8
 1.15087 -+	plsl.h r0,lr,7
 1.15088 -+	.text
 1.15089 -+	.global plsr_h
 1.15090 -+plsr_h:
 1.15091 -+	plsr.h pc,pc,0
 1.15092 -+	plsr.h r12,r12,15
 1.15093 -+	plsr.h r5,r5,8
 1.15094 -+	plsr.h r4,r4,7
 1.15095 -+	plsr.h lr,lr,1
 1.15096 -+	plsr.h r11,r0,15
 1.15097 -+	plsr.h lr,r3,3
 1.15098 -+	plsr.h r8,lr,10
 1.15099 -+	.text
 1.15100 -+	.global packw_sh
 1.15101 -+packw_sh:
 1.15102 -+	packw.sh pc,pc,pc
 1.15103 -+	packw.sh r12,r12,r12
 1.15104 -+	packw.sh r5,r5,r5
 1.15105 -+	packw.sh r4,r4,r4
 1.15106 -+	packw.sh lr,lr,lr
 1.15107 -+	packw.sh sp,r11,r10
 1.15108 -+	packw.sh r8,r2,r12
 1.15109 -+	packw.sh r8,r1,r5
 1.15110 -+	.text
 1.15111 -+	.global punpckub_h
 1.15112 -+punpckub_h:
 1.15113 -+	punpckub.h pc,pc:b
 1.15114 -+	punpckub.h r12,r12:t
 1.15115 -+	punpckub.h r5,r5:t
 1.15116 -+	punpckub.h r4,r4:b
 1.15117 -+	punpckub.h lr,lr:t
 1.15118 -+	punpckub.h r6,r1:t
 1.15119 -+	punpckub.h lr,r5:b
 1.15120 -+	punpckub.h lr,r2:t
 1.15121 -+	.text
 1.15122 -+	.global punpcksb_h
 1.15123 -+punpcksb_h:
 1.15124 -+	punpcksb.h pc,pc:b
 1.15125 -+	punpcksb.h r12,r12:t
 1.15126 -+	punpcksb.h r5,r5:t
 1.15127 -+	punpcksb.h r4,r4:b
 1.15128 -+	punpcksb.h lr,lr:t
 1.15129 -+	punpcksb.h r4,r7:t
 1.15130 -+	punpcksb.h r6,lr:b
 1.15131 -+	punpcksb.h r12,r12:t
 1.15132 -+	.text
 1.15133 -+	.global packsh_ub
 1.15134 -+packsh_ub:
 1.15135 -+	packsh.ub pc,pc,pc
 1.15136 -+	packsh.ub r12,r12,r12
 1.15137 -+	packsh.ub r5,r5,r5
 1.15138 -+	packsh.ub r4,r4,r4
 1.15139 -+	packsh.ub lr,lr,lr
 1.15140 -+	packsh.ub r3,r6,r3
 1.15141 -+	packsh.ub r8,r0,r3
 1.15142 -+	packsh.ub r9,r3,lr
 1.15143 -+	.text
 1.15144 -+	.global packsh_sb
 1.15145 -+packsh_sb:
 1.15146 -+	packsh.sb pc,pc,pc
 1.15147 -+	packsh.sb r12,r12,r12
 1.15148 -+	packsh.sb r5,r5,r5
 1.15149 -+	packsh.sb r4,r4,r4
 1.15150 -+	packsh.sb lr,lr,lr
 1.15151 -+	packsh.sb r6,r8,r1
 1.15152 -+	packsh.sb lr,r9,r8
 1.15153 -+	packsh.sb sp,r6,r6
 1.15154 -+	.text
 1.15155 -+	.global andl
 1.15156 -+andl:
 1.15157 -+	andl pc,0
 1.15158 -+	andl r12,65535
 1.15159 -+	andl r5,32768
 1.15160 -+	andl r4,32767
 1.15161 -+	andl lr,1
 1.15162 -+	andl pc,23128
 1.15163 -+	andl r8,47262
 1.15164 -+	andl r7,13719
 1.15165 -+	.text
 1.15166 -+	.global andl_coh
 1.15167 -+andl_coh:
 1.15168 -+	andl pc,0,COH
 1.15169 -+	andl r12,65535,COH
 1.15170 -+	andl r5,32768,COH
 1.15171 -+	andl r4,32767,COH
 1.15172 -+	andl lr,1,COH
 1.15173 -+	andl r6,22753,COH
 1.15174 -+	andl r0,40653,COH
 1.15175 -+	andl r4,48580,COH
 1.15176 -+	.text
 1.15177 -+	.global andh
 1.15178 -+andh:
 1.15179 -+	andh pc,0
 1.15180 -+	andh r12,65535
 1.15181 -+	andh r5,32768
 1.15182 -+	andh r4,32767
 1.15183 -+	andh lr,1
 1.15184 -+	andh r12,52312
 1.15185 -+	andh r3,8675
 1.15186 -+	andh r2,42987
 1.15187 -+	.text
 1.15188 -+	.global andh_coh
 1.15189 -+andh_coh:
 1.15190 -+	andh pc,0,COH
 1.15191 -+	andh r12,65535,COH
 1.15192 -+	andh r5,32768,COH
 1.15193 -+	andh r4,32767,COH
 1.15194 -+	andh lr,1,COH
 1.15195 -+	andh r11,34317,COH
 1.15196 -+	andh r8,52982,COH
 1.15197 -+	andh r10,23683,COH
 1.15198 -+	.text
 1.15199 -+	.global orl
 1.15200 -+orl:
 1.15201 -+	orl pc,0
 1.15202 -+	orl r12,65535
 1.15203 -+	orl r5,32768
 1.15204 -+	orl r4,32767
 1.15205 -+	orl lr,1
 1.15206 -+	orl sp,16766
 1.15207 -+	orl r0,21181
 1.15208 -+	orl pc,44103
 1.15209 -+	.text
 1.15210 -+	.global orh
 1.15211 -+orh:
 1.15212 -+	orh pc,0
 1.15213 -+	orh r12,65535
 1.15214 -+	orh r5,32768
 1.15215 -+	orh r4,32767
 1.15216 -+	orh lr,1
 1.15217 -+	orh r8,28285
 1.15218 -+	orh r12,30492
 1.15219 -+	orh r1,59930
 1.15220 -+	.text
 1.15221 -+	.global eorl
 1.15222 -+eorl:
 1.15223 -+	eorl pc,0
 1.15224 -+	eorl r12,65535
 1.15225 -+	eorl r5,32768
 1.15226 -+	eorl r4,32767
 1.15227 -+	eorl lr,1
 1.15228 -+	eorl r4,51129
 1.15229 -+	eorl r6,64477
 1.15230 -+	eorl r1,20913
 1.15231 -+	.text
 1.15232 -+	.global eorh
 1.15233 -+eorh:
 1.15234 -+	eorh pc,0
 1.15235 -+	eorh r12,65535
 1.15236 -+	eorh r5,32768
 1.15237 -+	eorh r4,32767
 1.15238 -+	eorh lr,1
 1.15239 -+	eorh r0,11732
 1.15240 -+	eorh r10,38069
 1.15241 -+	eorh r9,57130
 1.15242 -+	.text
 1.15243 -+	.global mcall
 1.15244 -+mcall:
 1.15245 -+	mcall pc[0]
 1.15246 -+	mcall r12[-4]
 1.15247 -+	mcall r5[-131072]
 1.15248 -+	mcall r4[131068]
 1.15249 -+	mcall lr[4]
 1.15250 -+	mcall sp[61180]
 1.15251 -+	mcall r4[-35000]
 1.15252 -+	mcall r0[9924]
 1.15253 -+	.text
 1.15254 -+	.global pref
 1.15255 -+pref:
 1.15256 -+	pref pc[0]
 1.15257 -+	pref r12[-1]
 1.15258 -+	pref r5[-32768]
 1.15259 -+	pref r4[32767]
 1.15260 -+	pref lr[1]
 1.15261 -+	pref r7[7748]
 1.15262 -+	pref r7[-7699]
 1.15263 -+	pref r2[-25892]
 1.15264 -+	.text
 1.15265 -+	.global cache
 1.15266 -+cache:
 1.15267 -+	cache pc[0],0
 1.15268 -+	cache r12[-1],31
 1.15269 -+	cache r5[-1024],16
 1.15270 -+	cache r4[1023],15
 1.15271 -+	cache lr[1],1
 1.15272 -+	cache r3[-964],17
 1.15273 -+	cache r4[-375],22
 1.15274 -+	cache r3[-888],17
 1.15275 -+	.text
 1.15276 -+	.global sub4
 1.15277 -+sub4:
 1.15278 -+	sub pc,0
 1.15279 -+	sub r12,-1
 1.15280 -+	sub r5,-1048576
 1.15281 -+	sub r4,1048575
 1.15282 -+	sub lr,1
 1.15283 -+	sub r2,-619156
 1.15284 -+	sub lr,461517
 1.15285 -+	sub r8,-185051
 1.15286 -+	.text
 1.15287 -+	.global cp3
 1.15288 -+cp3:
 1.15289 -+	cp pc,0
 1.15290 -+	cp r12,-1
 1.15291 -+	cp r5,-1048576
 1.15292 -+	cp r4,1048575
 1.15293 -+	cp lr,1
 1.15294 -+	cp r1,124078
 1.15295 -+	cp r0,-378909
 1.15296 -+	cp r4,-243180
 1.15297 -+	.text
 1.15298 -+	.global mov2
 1.15299 -+mov2:
 1.15300 -+	mov pc,0
 1.15301 -+	mov r12,-1
 1.15302 -+	mov r5,-1048576
 1.15303 -+	mov r4,1048575
 1.15304 -+	mov lr,1
 1.15305 -+	mov r5,-317021
 1.15306 -+	mov sp,-749164
 1.15307 -+	mov r5,940179
 1.15308 -+	.text
 1.15309 -+	.global brc2
 1.15310 -+brc2:
 1.15311 -+	breq 0
 1.15312 -+	bral -2
 1.15313 -+	brls -2097152
 1.15314 -+	brpl 2097150
 1.15315 -+	brne 2
 1.15316 -+	brhi -1796966
 1.15317 -+	brqs 1321368
 1.15318 -+	brls -577434
 1.15319 -+	.text
 1.15320 -+	.global rcall2
 1.15321 -+rcall2:
 1.15322 -+	rcall 0
 1.15323 -+	rcall -2
 1.15324 -+	rcall -2097152
 1.15325 -+	rcall 2097150
 1.15326 -+	rcall 2
 1.15327 -+	rcall 496820
 1.15328 -+	rcall 1085092
 1.15329 -+	rcall -1058
 1.15330 -+	.text
 1.15331 -+	.global sub5
 1.15332 -+sub5:
 1.15333 -+	sub pc,pc,0
 1.15334 -+	sub r12,r12,-1
 1.15335 -+	sub r5,r5,-32768
 1.15336 -+	sub r4,r4,32767
 1.15337 -+	sub lr,lr,1
 1.15338 -+	sub pc,pc,-12744
 1.15339 -+	sub r7,r7,-27365
 1.15340 -+	sub r2,r9,-17358
 1.15341 -+	.text
 1.15342 -+	.global satsub_w2
 1.15343 -+satsub_w2:
 1.15344 -+	satsub.w pc,pc,0
 1.15345 -+	satsub.w r12,r12,-1
 1.15346 -+	satsub.w r5,r5,-32768
 1.15347 -+	satsub.w r4,r4,32767
 1.15348 -+	satsub.w lr,lr,1
 1.15349 -+	satsub.w r2,lr,-2007
 1.15350 -+	satsub.w r7,r12,-784
 1.15351 -+	satsub.w r4,r7,23180
 1.15352 -+	.text
 1.15353 -+	.global ld_d4
 1.15354 -+ld_d4:
 1.15355 -+	ld.d r0,pc[0]
 1.15356 -+	ld.d r14,r12[-1]
 1.15357 -+	ld.d r8,r5[-32768]
 1.15358 -+	ld.d r6,r4[32767]
 1.15359 -+	ld.d r2,lr[1]
 1.15360 -+	ld.d r14,r11[14784]
 1.15361 -+	ld.d r6,r9[-18905]
 1.15362 -+	ld.d r2,r3[-6355]
 1.15363 -+	.text
 1.15364 -+	.global ld_w4
 1.15365 -+ld_w4:
 1.15366 -+	ld.w pc,pc[0]
 1.15367 -+	ld.w r12,r12[-1]
 1.15368 -+	ld.w r5,r5[-32768]
 1.15369 -+	ld.w r4,r4[32767]
 1.15370 -+	ld.w lr,lr[1]
 1.15371 -+	ld.w r0,r12[-22133]
 1.15372 -+	ld.w sp,pc[-20521]
 1.15373 -+	/* ld.w r3,r5[29035] */
 1.15374 -+	nop
 1.15375 -+	.text
 1.15376 -+	.global ld_sh4
 1.15377 -+ld_sh4:
 1.15378 -+	ld.sh pc,pc[0]
 1.15379 -+	ld.sh r12,r12[-1]
 1.15380 -+	ld.sh r5,r5[-32768]
 1.15381 -+	ld.sh r4,r4[32767]
 1.15382 -+	ld.sh lr,lr[1]
 1.15383 -+	ld.sh r6,r10[30930]
 1.15384 -+	ld.sh r6,r10[21973]
 1.15385 -+	/* ld.sh r11,r10[-2058] */
 1.15386 -+	nop
 1.15387 -+	.text
 1.15388 -+	.global ld_uh4
 1.15389 -+ld_uh4:
 1.15390 -+	ld.uh pc,pc[0]
 1.15391 -+	ld.uh r12,r12[-1]
 1.15392 -+	ld.uh r5,r5[-32768]
 1.15393 -+	ld.uh r4,r4[32767]
 1.15394 -+	ld.uh lr,lr[1]
 1.15395 -+	ld.uh r1,r9[-13354]
 1.15396 -+	ld.uh lr,r11[21337]
 1.15397 -+	/* ld.uh r2,lr[-25370] */
 1.15398 -+	nop
 1.15399 -+	.text
 1.15400 -+	.global ld_sb1
 1.15401 -+ld_sb1:
 1.15402 -+	ld.sb pc,pc[0]
 1.15403 -+	ld.sb r12,r12[-1]
 1.15404 -+	ld.sb r5,r5[-32768]
 1.15405 -+	ld.sb r4,r4[32767]
 1.15406 -+	ld.sb lr,lr[1]
 1.15407 -+	ld.sb r7,sp[-28663]
 1.15408 -+	ld.sb r2,r1[-5879]
 1.15409 -+	ld.sb r12,r3[18734]
 1.15410 -+	.text
 1.15411 -+	.global ld_ub4
 1.15412 -+ld_ub4:
 1.15413 -+	ld.ub pc,pc[0]
 1.15414 -+	ld.ub r12,r12[-1]
 1.15415 -+	ld.ub r5,r5[-32768]
 1.15416 -+	ld.ub r4,r4[32767]
 1.15417 -+	ld.ub lr,lr[1]
 1.15418 -+	ld.ub pc,r4[8277]
 1.15419 -+	ld.ub r5,r12[19172]
 1.15420 -+	ld.ub r10,lr[26347]
 1.15421 -+	.text
 1.15422 -+	.global st_d4
 1.15423 -+st_d4:
 1.15424 -+	st.d pc[0],r0
 1.15425 -+	st.d r12[-1],r14
 1.15426 -+	st.d r5[-32768],r8
 1.15427 -+	st.d r4[32767],r6
 1.15428 -+	st.d lr[1],r2
 1.15429 -+	st.d r5[13200],r10
 1.15430 -+	st.d r5[9352],r10
 1.15431 -+	st.d r5[32373],r4
 1.15432 -+	.text
 1.15433 -+	.global st_w4
 1.15434 -+st_w4:
 1.15435 -+	st.w pc[0],pc
 1.15436 -+	st.w r12[-1],r12
 1.15437 -+	st.w r5[-32768],r5
 1.15438 -+	st.w r4[32767],r4
 1.15439 -+	st.w lr[1],lr
 1.15440 -+	st.w sp[6136],r7
 1.15441 -+	st.w r6[27087],r12
 1.15442 -+	/* st.w r3[20143],r7 */
 1.15443 -+	nop
 1.15444 -+	.text
 1.15445 -+	.global st_h4
 1.15446 -+st_h4:
 1.15447 -+	st.h pc[0],pc
 1.15448 -+	st.h r12[-1],r12
 1.15449 -+	st.h r5[-32768],r5
 1.15450 -+	st.h r4[32767],r4
 1.15451 -+	st.h lr[1],lr
 1.15452 -+	st.h r4[-9962],r7
 1.15453 -+	st.h r9[-16250],r3
 1.15454 -+	/* st.h r8[-28810],r7 */
 1.15455 -+	nop
 1.15456 -+	.text
 1.15457 -+	.global st_b4
 1.15458 -+st_b4:
 1.15459 -+	st.b pc[0],pc
 1.15460 -+	st.b r12[-1],r12
 1.15461 -+	st.b r5[-32768],r5
 1.15462 -+	st.b r4[32767],r4
 1.15463 -+	st.b lr[1],lr
 1.15464 -+	st.b r12[30102],r6
 1.15465 -+	st.b r5[28977],r1
 1.15466 -+	st.b r0[5470],r1
 1.15467 -+	.text
 1.15468 -+	.global mfsr
 1.15469 -+mfsr:
 1.15470 -+	mfsr pc,0
 1.15471 -+	mfsr r12,1020
 1.15472 -+	mfsr r5,512
 1.15473 -+	mfsr r4,508
 1.15474 -+	mfsr lr,4
 1.15475 -+	mfsr r2,696
 1.15476 -+	mfsr r4,260
 1.15477 -+	mfsr r10,1016
 1.15478 -+	.text
 1.15479 -+	.global mtsr
 1.15480 -+mtsr:
 1.15481 -+	mtsr 0,pc
 1.15482 -+	mtsr 1020,r12
 1.15483 -+	mtsr 512,r5
 1.15484 -+	mtsr 508,r4
 1.15485 -+	mtsr 4,lr
 1.15486 -+	mtsr 224,r10
 1.15487 -+	mtsr 836,r12
 1.15488 -+	mtsr 304,r9
 1.15489 -+	.text
 1.15490 -+	.global mfdr
 1.15491 -+mfdr:
 1.15492 -+	mfdr pc,0
 1.15493 -+	mfdr r12,1020
 1.15494 -+	mfdr r5,512
 1.15495 -+	mfdr r4,508
 1.15496 -+	mfdr lr,4
 1.15497 -+	mfdr r6,932
 1.15498 -+	mfdr r5,36
 1.15499 -+	mfdr r9,300
 1.15500 -+	.text
 1.15501 -+	.global mtdr
 1.15502 -+mtdr:
 1.15503 -+	mtdr 0,pc
 1.15504 -+	mtdr 1020,r12
 1.15505 -+	mtdr 512,r5
 1.15506 -+	mtdr 508,r4
 1.15507 -+	mtdr 4,lr
 1.15508 -+	mtdr 180,r8
 1.15509 -+	mtdr 720,r10
 1.15510 -+	mtdr 408,lr
 1.15511 -+	.text
 1.15512 -+	.global sleep
 1.15513 -+sleep:
 1.15514 -+	sleep 0
 1.15515 -+	sleep 255
 1.15516 -+	sleep 128
 1.15517 -+	sleep 127
 1.15518 -+	sleep 1
 1.15519 -+	sleep 254
 1.15520 -+	sleep 15
 1.15521 -+	sleep 43
 1.15522 -+	.text
 1.15523 -+	.global sync
 1.15524 -+sync:
 1.15525 -+	sync 0
 1.15526 -+	sync 255
 1.15527 -+	sync 128
 1.15528 -+	sync 127
 1.15529 -+	sync 1
 1.15530 -+	sync 166
 1.15531 -+	sync 230
 1.15532 -+	sync 180
 1.15533 -+	.text
 1.15534 -+	.global bld
 1.15535 -+bld:
 1.15536 -+	bld pc,0
 1.15537 -+	bld r12,31
 1.15538 -+	bld r5,16
 1.15539 -+	bld r4,15
 1.15540 -+	bld lr,1
 1.15541 -+	bld r9,15
 1.15542 -+	bld r0,4
 1.15543 -+	bld lr,26
 1.15544 -+	.text
 1.15545 -+	.global bst
 1.15546 -+bst:
 1.15547 -+	bst pc,0
 1.15548 -+	bst r12,31
 1.15549 -+	bst r5,16
 1.15550 -+	bst r4,15
 1.15551 -+	bst lr,1
 1.15552 -+	bst r10,28
 1.15553 -+	bst r0,3
 1.15554 -+	bst sp,2
 1.15555 -+	.text
 1.15556 -+	.global sats
 1.15557 -+sats:
 1.15558 -+	sats pc>>0,0
 1.15559 -+	sats r12>>31,31
 1.15560 -+	sats r5>>16,16
 1.15561 -+	sats r4>>15,15
 1.15562 -+	sats lr>>1,1
 1.15563 -+	sats r10>>3,19
 1.15564 -+	sats r10>>2,26
 1.15565 -+	sats r1>>20,1
 1.15566 -+	.text
 1.15567 -+	.global satu
 1.15568 -+satu:
 1.15569 -+	satu pc>>0,0
 1.15570 -+	satu r12>>31,31
 1.15571 -+	satu r5>>16,16
 1.15572 -+	satu r4>>15,15
 1.15573 -+	satu lr>>1,1
 1.15574 -+	satu pc>>5,7
 1.15575 -+	satu r7>>5,5
 1.15576 -+	satu r2>>26,19
 1.15577 -+	.text
 1.15578 -+	.global satrnds
 1.15579 -+satrnds:
 1.15580 -+	satrnds pc>>0,0
 1.15581 -+	satrnds r12>>31,31
 1.15582 -+	satrnds r5>>16,16
 1.15583 -+	satrnds r4>>15,15
 1.15584 -+	satrnds lr>>1,1
 1.15585 -+	satrnds r0>>21,19
 1.15586 -+	satrnds sp>>0,2
 1.15587 -+	satrnds r7>>6,29
 1.15588 -+	.text
 1.15589 -+	.global satrndu
 1.15590 -+satrndu:
 1.15591 -+	satrndu pc>>0,0
 1.15592 -+	satrndu r12>>31,31
 1.15593 -+	satrndu r5>>16,16
 1.15594 -+	satrndu r4>>15,15
 1.15595 -+	satrndu lr>>1,1
 1.15596 -+	satrndu r12>>0,26
 1.15597 -+	satrndu r4>>21,3
 1.15598 -+	satrndu r10>>3,16
 1.15599 -+	.text
 1.15600 -+	.global subfc
 1.15601 -+subfc:
 1.15602 -+	subfeq pc,0
 1.15603 -+	subfal r12,-1
 1.15604 -+	subfls r5,-128
 1.15605 -+	subfpl r4,127
 1.15606 -+	subfne lr,1
 1.15607 -+	subfls r10,8
 1.15608 -+	subfvc r11,99
 1.15609 -+	subfvs r2,73
 1.15610 -+	.text
 1.15611 -+	.global subc
 1.15612 -+subc:
 1.15613 -+	subeq pc,0
 1.15614 -+	subal r12,-1
 1.15615 -+	subls r5,-128
 1.15616 -+	subpl r4,127
 1.15617 -+	subne lr,1
 1.15618 -+	subls r12,118
 1.15619 -+	subvc lr,-12
 1.15620 -+	submi r4,-13
 1.15621 -+	.text
 1.15622 -+	.global movc2
 1.15623 -+movc2:
 1.15624 -+	moveq pc,0
 1.15625 -+	moval r12,-1
 1.15626 -+	movls r5,-128
 1.15627 -+	movpl r4,127
 1.15628 -+	movne lr,1
 1.15629 -+	movlt r3,-122
 1.15630 -+	movvc r8,2
 1.15631 -+	movne r7,-111
 1.15632 -+	.text
 1.15633 -+	.global cp_b
 1.15634 -+cp_b:
 1.15635 -+	cp.b pc,r0
 1.15636 -+	cp.b r0,pc
 1.15637 -+	cp.b r7,r8
 1.15638 -+	cp.b r8,r7
 1.15639 -+	.text
 1.15640 -+	.global cp_h
 1.15641 -+cp_h:
 1.15642 -+	cp.h pc,r0
 1.15643 -+	cp.h r0,pc
 1.15644 -+	cp.h r7,r8
 1.15645 -+	cp.h r8,r7
 1.15646 -+	.text
 1.15647 -+	.global ldm
 1.15648 -+ldm:
 1.15649 -+	ldm pc,r1-r6
 1.15650 -+	ldm r12,r0-r15
 1.15651 -+	ldm r5,r15
 1.15652 -+	ldm r4,r0-r14
 1.15653 -+	ldm lr,r0
 1.15654 -+	ldm r9,r1,r5,r14
 1.15655 -+	ldm r11,r2-r3,r5-r8,r15
 1.15656 -+	ldm r6,r0,r3,r9,r13,r15
 1.15657 -+	.text
 1.15658 -+	.global ldm_pu
 1.15659 -+ldm_pu:
 1.15660 -+	ldm pc++,r6-r9
 1.15661 -+	ldm r12++,r0-r15
 1.15662 -+	ldm r5++,r15
 1.15663 -+	ldm r4++,r0-r14
 1.15664 -+	ldm lr++,r0
 1.15665 -+	ldm r12++,r3-r5,r8,r10,r12,r14-r15
 1.15666 -+	ldm r10++,r2,r4-r6,r14-r15
 1.15667 -+	ldm r6++,r1,r3-r4,r9-r14
 1.15668 -+	.text
 1.15669 -+	.global ldmts
 1.15670 -+ldmts:
 1.15671 -+	ldmts pc,r7-r8
 1.15672 -+	ldmts r12,r0-r15
 1.15673 -+	ldmts r5,r15
 1.15674 -+	ldmts r4,r0-r14
 1.15675 -+	ldmts lr,r0
 1.15676 -+	ldmts r0,r1-r2,r11-r12
 1.15677 -+	ldmts lr,r0-r2,r4,r7-r8,r13-r14
 1.15678 -+	ldmts r12,r0-r1,r3-r5,r9,r14-r15
 1.15679 -+	.text
 1.15680 -+	.global ldmts_pu
 1.15681 -+ldmts_pu:
 1.15682 -+	ldmts pc++,r9
 1.15683 -+	ldmts r12++,r0-r15
 1.15684 -+	ldmts r5++,r15
 1.15685 -+	ldmts r4++,r0-r14
 1.15686 -+	ldmts lr++,r0
 1.15687 -+	ldmts sp++,r0,r2-r5,r7,r9,r11
 1.15688 -+	ldmts r5++,r1-r3,r7,r10-r11
 1.15689 -+	ldmts r8++,r2-r4,r7-r8,r13,r15
 1.15690 -+	.text
 1.15691 -+	.global stm
 1.15692 -+stm:
 1.15693 -+	stm pc,r7
 1.15694 -+	stm r12,r0-r15
 1.15695 -+	stm r5,r15
 1.15696 -+	stm r4,r0-r14
 1.15697 -+	stm lr,r0
 1.15698 -+	stm sp,r2-r3,r5,r8,r11,r14
 1.15699 -+	stm r4,r0-r4,r6,r10-r11,r14
 1.15700 -+	stm r9,r1,r5,r9,r12-r15
 1.15701 -+	.text
 1.15702 -+	.global stm_pu
 1.15703 -+stm_pu:
 1.15704 -+	stm --pc,r4-r6
 1.15705 -+	stm --r12,r0-r15
 1.15706 -+	stm --r5,r15
 1.15707 -+	stm --r4,r0-r14
 1.15708 -+	stm --lr,r0
 1.15709 -+	stm --r11,r0,r4-r9,r11-r15
 1.15710 -+	stm --r11,r0,r3,r9-r10,r12,r14
 1.15711 -+	stm --r6,r2,r8-r9,r13-r14
 1.15712 -+	.text
 1.15713 -+	.global stmts
 1.15714 -+stmts:
 1.15715 -+	stmts pc,r8
 1.15716 -+	stmts r12,r0-r15
 1.15717 -+	stmts r5,r15
 1.15718 -+	stmts r4,r0-r14
 1.15719 -+	stmts lr,r0
 1.15720 -+	stmts r1,r0-r1,r3-r4,r6,r9-r10,r14-r15
 1.15721 -+	stmts r3,r0,r6-r8,r10-r12
 1.15722 -+	stmts r11,r0,r4,r6-r7,r9-r10,r12,r14-r15
 1.15723 -+	.text
 1.15724 -+	.global stmts_pu
 1.15725 -+stmts_pu:
 1.15726 -+	stmts --pc,r6-r8
 1.15727 -+	stmts --r12,r0-r15
 1.15728 -+	stmts --r5,r15
 1.15729 -+	stmts --r4,r0-r14
 1.15730 -+	stmts --lr,r0
 1.15731 -+	stmts --r2,r0,r3-r4,r9-r10,r12-r13
 1.15732 -+	stmts --r3,r0-r1,r14-r15
 1.15733 -+	stmts --r0,r0,r2-r6,r10,r14
 1.15734 -+	.text
 1.15735 -+	.global ldins_h
 1.15736 -+ldins_h:
 1.15737 -+	ldins.h pc:b,pc[0]
 1.15738 -+	ldins.h r12:t,r12[-2]
 1.15739 -+	ldins.h r5:t,r5[-4096]
 1.15740 -+	ldins.h r4:b,r4[4094]
 1.15741 -+	ldins.h lr:t,lr[2]
 1.15742 -+	ldins.h r0:t,lr[1930]
 1.15743 -+	ldins.h r3:b,r7[-534]
 1.15744 -+	ldins.h r2:b,r12[-2252]
 1.15745 -+	.text
 1.15746 -+	.global ldins_b
 1.15747 -+ldins_b:
 1.15748 -+	ldins.b pc:b,pc[0]
 1.15749 -+	ldins.b r12:t,r12[-1]
 1.15750 -+	ldins.b r5:u,r5[-2048]
 1.15751 -+	ldins.b r4:l,r4[2047]
 1.15752 -+	ldins.b lr:l,lr[1]
 1.15753 -+	ldins.b r6:t,r4[-662]
 1.15754 -+	ldins.b r5:b,r1[-151]
 1.15755 -+	ldins.b r10:t,r11[-1923]
 1.15756 -+	.text
 1.15757 -+	.global ldswp_sh
 1.15758 -+ldswp_sh:
 1.15759 -+	ldswp.sh pc,pc[0]
 1.15760 -+	ldswp.sh r12,r12[-2]
 1.15761 -+	ldswp.sh r5,r5[-4096]
 1.15762 -+	ldswp.sh r4,r4[4094]
 1.15763 -+	ldswp.sh lr,lr[2]
 1.15764 -+	ldswp.sh r9,r10[3848]
 1.15765 -+	ldswp.sh r4,r12[-2040]
 1.15766 -+	ldswp.sh r10,r2[3088]
 1.15767 -+	.text
 1.15768 -+	.global ldswp_uh
 1.15769 -+ldswp_uh:
 1.15770 -+	ldswp.uh pc,pc[0]
 1.15771 -+	ldswp.uh r12,r12[-2]
 1.15772 -+	ldswp.uh r5,r5[-4096]
 1.15773 -+	ldswp.uh r4,r4[4094]
 1.15774 -+	ldswp.uh lr,lr[2]
 1.15775 -+	ldswp.uh r4,r9[3724]
 1.15776 -+	ldswp.uh lr,sp[-1672]
 1.15777 -+	ldswp.uh r8,r12[-3846]
 1.15778 -+	.text
 1.15779 -+	.global ldswp_w
 1.15780 -+ldswp_w:
 1.15781 -+	ldswp.w pc,pc[0]
 1.15782 -+	ldswp.w r12,r12[-4]
 1.15783 -+	ldswp.w r5,r5[-8192]
 1.15784 -+	ldswp.w r4,r4[8188]
 1.15785 -+	ldswp.w lr,lr[4]
 1.15786 -+	ldswp.w sp,r7[1860]
 1.15787 -+	ldswp.w pc,r5[-3324]
 1.15788 -+	ldswp.w r12,r10[-3296]
 1.15789 -+	.text
 1.15790 -+	.global stswp_h
 1.15791 -+stswp_h:
 1.15792 -+	stswp.h pc[0],pc
 1.15793 -+	stswp.h r12[-2],r12
 1.15794 -+	stswp.h r5[-4096],r5
 1.15795 -+	stswp.h r4[4094],r4
 1.15796 -+	stswp.h lr[2],lr
 1.15797 -+	stswp.h r7[64],r10
 1.15798 -+	stswp.h r10[3024],r2
 1.15799 -+	stswp.h r0[-2328],r10
 1.15800 -+	.text
 1.15801 -+	.global stswp_w
 1.15802 -+stswp_w:
 1.15803 -+	stswp.w pc[0],pc
 1.15804 -+	stswp.w r12[-4],r12
 1.15805 -+	stswp.w r5[-8192],r5
 1.15806 -+	stswp.w r4[8188],r4
 1.15807 -+	stswp.w lr[4],lr
 1.15808 -+	stswp.w pc[1156],r8
 1.15809 -+	stswp.w sp[7992],r10
 1.15810 -+	stswp.w r8[-1172],r5
 1.15811 -+	.text
 1.15812 -+	.global and2
 1.15813 -+and2:
 1.15814 -+	and pc,pc,pc<<0
 1.15815 -+	and r12,r12,r12<<31
 1.15816 -+	and r5,r5,r5<<16
 1.15817 -+	and r4,r4,r4<<15
 1.15818 -+	and lr,lr,lr<<1
 1.15819 -+	and r10,r2,r1<<1
 1.15820 -+	and r12,r8,r11<<27
 1.15821 -+	and r10,r7,r0<<3
 1.15822 -+	.text
 1.15823 -+	.global and3
 1.15824 -+and3:
 1.15825 -+	and pc,pc,pc>>0
 1.15826 -+	and r12,r12,r12>>31
 1.15827 -+	and r5,r5,r5>>16
 1.15828 -+	and r4,r4,r4>>15
 1.15829 -+	and lr,lr,lr>>1
 1.15830 -+	and r12,r8,r7>>17
 1.15831 -+	and pc,r4,r9>>20
 1.15832 -+	and r10,r9,r10>>12
 1.15833 -+	.text
 1.15834 -+	.global or2
 1.15835 -+or2:
 1.15836 -+	or pc,pc,pc<<0
 1.15837 -+	or r12,r12,r12<<31
 1.15838 -+	or r5,r5,r5<<16
 1.15839 -+	or r4,r4,r4<<15
 1.15840 -+	or lr,lr,lr<<1
 1.15841 -+	or r8,sp,r11<<29
 1.15842 -+	or pc,r9,r2<<28
 1.15843 -+	or r5,r1,r2<<3
 1.15844 -+	.text
 1.15845 -+	.global or3
 1.15846 -+or3:
 1.15847 -+	or pc,pc,pc>>0
 1.15848 -+	or r12,r12,r12>>31
 1.15849 -+	or r5,r5,r5>>16
 1.15850 -+	or r4,r4,r4>>15
 1.15851 -+	or lr,lr,lr>>1
 1.15852 -+	or r1,sp,sp>>2
 1.15853 -+	or r0,r1,r1>>29
 1.15854 -+	or r4,r12,r8>>8
 1.15855 -+	.text
 1.15856 -+	.global eor2
 1.15857 -+eor2:
 1.15858 -+	eor pc,pc,pc<<0
 1.15859 -+	eor r12,r12,r12<<31
 1.15860 -+	eor r5,r5,r5<<16
 1.15861 -+	eor r4,r4,r4<<15
 1.15862 -+	eor lr,lr,lr<<1
 1.15863 -+	eor r10,r9,r4<<11
 1.15864 -+	eor r4,r0,r1<<31
 1.15865 -+	eor r6,r2,r12<<13
 1.15866 -+	.text
 1.15867 -+	.global eor3
 1.15868 -+eor3:
 1.15869 -+	eor pc,pc,pc>>0
 1.15870 -+	eor r12,r12,r12>>31
 1.15871 -+	eor r5,r5,r5>>16
 1.15872 -+	eor r4,r4,r4>>15
 1.15873 -+	eor lr,lr,lr>>1
 1.15874 -+	eor r5,r5,r5>>22
 1.15875 -+	eor r10,r1,lr>>3
 1.15876 -+	eor r7,lr,sp>>26
 1.15877 -+	.text
 1.15878 -+	.global sthh_w2
 1.15879 -+sthh_w2:
 1.15880 -+	sthh.w pc[pc<<0],pc:b,pc:b
 1.15881 -+	sthh.w r12[r12<<3],r12:t,r12:t
 1.15882 -+	sthh.w r5[r5<<2],r5:t,r5:t
 1.15883 -+	sthh.w r4[r4<<1],r4:b,r4:b
 1.15884 -+	sthh.w lr[lr<<1],lr:t,lr:t
 1.15885 -+	sthh.w sp[r6<<3],r1:t,r12:t
 1.15886 -+	sthh.w r6[r6<<0],r9:t,r9:t
 1.15887 -+	sthh.w r10[r3<<0],r0:b,r11:t
 1.15888 -+	.text
 1.15889 -+	.global sthh_w1
 1.15890 -+sthh_w1:
 1.15891 -+	sthh.w pc[0],pc:b,pc:b
 1.15892 -+	sthh.w r12[1020],r12:t,r12:t
 1.15893 -+	sthh.w r5[512],r5:t,r5:t
 1.15894 -+	sthh.w r4[508],r4:b,r4:b
 1.15895 -+	sthh.w lr[4],lr:t,lr:t
 1.15896 -+	sthh.w r4[404],r9:t,r0:b
 1.15897 -+	sthh.w r8[348],r2:t,r10:b
 1.15898 -+	sthh.w sp[172],r9:b,r2:b
 1.15899 -+	.text
 1.15900 -+	.global cop
 1.15901 -+cop:
 1.15902 -+	cop cp0,cr0,cr0,cr0,0
 1.15903 -+	cop cp7,cr15,cr15,cr15,0x7f
 1.15904 -+	cop cp3,cr5,cr5,cr5,0x31
 1.15905 -+	cop cp2,cr4,cr4,cr4,0x30
 1.15906 -+	cop cp5,cr8,cr3,cr7,0x5a
 1.15907 -+	.text
 1.15908 -+	.global ldc_w1
 1.15909 -+ldc_w1:
 1.15910 -+	ldc.w cp0,cr0,r0[0]
 1.15911 -+	ldc.w cp7,cr15,pc[255<<2]
 1.15912 -+	ldc.w cp3,cr5,r5[128<<2]
 1.15913 -+	ldc.w cp2,cr4,r4[127<<2]
 1.15914 -+	ldc.w cp4,cr9,r13[36<<2]
 1.15915 -+	.text
 1.15916 -+	.global ldc_w2
 1.15917 -+ldc_w2:
 1.15918 -+	ldc.w cp0,cr0,--r0
 1.15919 -+	ldc.w cp7,cr15,--pc
 1.15920 -+	ldc.w cp3,cr5,--r5
 1.15921 -+	ldc.w cp2,cr4,--r4
 1.15922 -+	ldc.w cp4,cr9,--r13
 1.15923 -+	.text
 1.15924 -+	.global ldc_w3
 1.15925 -+ldc_w3:
 1.15926 -+	ldc.w cp0,cr0,r0[r0]
 1.15927 -+	ldc.w cp7,cr15,pc[pc<<3]
 1.15928 -+	ldc.w cp3,cr5,r5[r4<<2]
 1.15929 -+	ldc.w cp2,cr4,r4[r3<<1]
 1.15930 -+	ldc.w cp4,cr9,r13[r12<<0]
 1.15931 -+	.text
 1.15932 -+	.global ldc_d1
 1.15933 -+ldc_d1:
 1.15934 -+	ldc.d cp0,cr0,r0[0]
 1.15935 -+	ldc.d cp7,cr14,pc[255<<2]
 1.15936 -+	ldc.d cp3,cr6,r5[128<<2]
 1.15937 -+	ldc.d cp2,cr4,r4[127<<2]
 1.15938 -+	ldc.d cp4,cr8,r13[36<<2]
 1.15939 -+	.text
 1.15940 -+	.global ldc_d2
 1.15941 -+ldc_d2:
 1.15942 -+	ldc.d cp0,cr0,--r0
 1.15943 -+	ldc.d cp7,cr14,--pc
 1.15944 -+	ldc.d cp3,cr6,--r5
 1.15945 -+	ldc.d cp2,cr4,--r4
 1.15946 -+	ldc.d cp4,cr8,--r13
 1.15947 -+	.text
 1.15948 -+	.global ldc_d3
 1.15949 -+ldc_d3:
 1.15950 -+	ldc.d cp0,cr0,r0[r0]
 1.15951 -+	ldc.d cp7,cr14,pc[pc<<3]
 1.15952 -+	ldc.d cp3,cr6,r5[r4<<2]
 1.15953 -+	ldc.d cp2,cr4,r4[r3<<1]
 1.15954 -+	ldc.d cp4,cr8,r13[r12<<0]
 1.15955 -+	.text
 1.15956 -+	.global stc_w1
 1.15957 -+stc_w1:
 1.15958 -+	stc.w cp0,r0[0],cr0
 1.15959 -+	stc.w cp7,pc[255<<2],cr15
 1.15960 -+	stc.w cp3,r5[128<<2],cr5
 1.15961 -+	stc.w cp2,r4[127<<2],cr4
 1.15962 -+	stc.w cp4,r13[36<<2],cr9
 1.15963 -+	.text
 1.15964 -+	.global stc_w2
 1.15965 -+stc_w2:
 1.15966 -+	stc.w cp0,r0++,cr0
 1.15967 -+	stc.w cp7,pc++,cr15
 1.15968 -+	stc.w cp3,r5++,cr5
 1.15969 -+	stc.w cp2,r4++,cr4
 1.15970 -+	stc.w cp4,r13++,cr9
 1.15971 -+	.text
 1.15972 -+	.global stc_w3
 1.15973 -+stc_w3:
 1.15974 -+	stc.w cp0,r0[r0],cr0
 1.15975 -+	stc.w cp7,pc[pc<<3],cr15
 1.15976 -+	stc.w cp3,r5[r4<<2],cr5
 1.15977 -+	stc.w cp2,r4[r3<<1],cr4
 1.15978 -+	stc.w cp4,r13[r12<<0],cr9
 1.15979 -+	.text
 1.15980 -+	.global stc_d1
 1.15981 -+stc_d1:
 1.15982 -+	stc.d cp0,r0[0],cr0
 1.15983 -+	stc.d cp7,pc[255<<2],cr14
 1.15984 -+	stc.d cp3,r5[128<<2],cr6
 1.15985 -+	stc.d cp2,r4[127<<2],cr4
 1.15986 -+	stc.d cp4,r13[36<<2],cr8
 1.15987 -+	.text
 1.15988 -+	.global stc_d2
 1.15989 -+stc_d2:
 1.15990 -+	stc.d cp0,r0++,cr0
 1.15991 -+	stc.d cp7,pc++,cr14
 1.15992 -+	stc.d cp3,r5++,cr6
 1.15993 -+	stc.d cp2,r4++,cr4
 1.15994 -+	stc.d cp4,r13++,cr8
 1.15995 -+	.text
 1.15996 -+	.global stc_d3
 1.15997 -+stc_d3:
 1.15998 -+	stc.d cp0,r0[r0],cr0
 1.15999 -+	stc.d cp7,pc[pc<<3],cr14
 1.16000 -+	stc.d cp3,r5[r4<<2],cr6
 1.16001 -+	stc.d cp2,r4[r3<<1],cr4
 1.16002 -+	stc.d cp4,r13[r12<<0],cr8
 1.16003 -+	.text
 1.16004 -+	.global ldc0_w
 1.16005 -+ldc0_w:
 1.16006 -+	ldc0.w cr0,r0[0]
 1.16007 -+	ldc0.w cr15,pc[4095<<2]
 1.16008 -+	ldc0.w cr5,r5[2048<<2]
 1.16009 -+	ldc0.w cr4,r4[2047<<2]
 1.16010 -+	ldc0.w cr9,r13[147<<2]
 1.16011 -+	.text
 1.16012 -+	.global ldc0_d
 1.16013 -+ldc0_d:
 1.16014 -+	ldc0.d cr0,r0[0]
 1.16015 -+	ldc0.d cr14,pc[4095<<2]
 1.16016 -+	ldc0.d cr6,r5[2048<<2]
 1.16017 -+	ldc0.d cr4,r4[2047<<2]
 1.16018 -+	ldc0.d cr8,r13[147<<2]
 1.16019 -+	.text
 1.16020 -+	.global stc0_w
 1.16021 -+stc0_w:
 1.16022 -+	stc0.w r0[0],cr0
 1.16023 -+	stc0.w pc[4095<<2],cr15
 1.16024 -+	stc0.w r5[2048<<2],cr5
 1.16025 -+	stc0.w r4[2047<<2],cr4
 1.16026 -+	stc0.w r13[147<<2],cr9
 1.16027 -+	.text
 1.16028 -+	.global stc0_d
 1.16029 -+stc0_d:
 1.16030 -+	stc0.d r0[0],cr0
 1.16031 -+	stc0.d pc[4095<<2],cr14
 1.16032 -+	stc0.d r5[2048<<2],cr6
 1.16033 -+	stc0.d r4[2047<<2],cr4
 1.16034 -+	stc0.d r13[147<<2],cr8
 1.16035 -+	.text
 1.16036 -+	.global memc
 1.16037 -+memc:
 1.16038 -+	memc 0, 0
 1.16039 -+	memc -4, 31
 1.16040 -+	memc -65536, 16
 1.16041 -+	memc 65532, 15
 1.16042 -+	.text
 1.16043 -+	.global mems
 1.16044 -+mems:
 1.16045 -+	mems 0, 0
 1.16046 -+	mems -4, 31
 1.16047 -+	mems -65536, 16
 1.16048 -+	mems 65532, 15
 1.16049 -+	.text
 1.16050 -+	.global memt
 1.16051 -+memt:
 1.16052 -+	memt 0, 0
 1.16053 -+	memt -4, 31
 1.16054 -+	memt -65536, 16
 1.16055 -+	memt 65532, 15
 1.16056 -+
 1.16057 -+	.text
 1.16058 -+	.global stcond
 1.16059 -+stcond:
 1.16060 -+	stcond r0[0], r0
 1.16061 -+	stcond pc[-1], pc
 1.16062 -+	stcond r8[-32768], r7
 1.16063 -+	stcond r7[32767], r8
 1.16064 -+	stcond r5[0x1234], r10
 1.16065 -+
 1.16066 -+ldcm_w:
 1.16067 -+	ldcm.w cp0,pc,cr0-cr7
 1.16068 -+	ldcm.w cp7,r0,cr0
 1.16069 -+	ldcm.w cp4,r4++,cr0-cr6
 1.16070 -+	ldcm.w cp3,r7,cr7
 1.16071 -+	ldcm.w cp1,r12++,cr1,cr4-cr6
 1.16072 -+	ldcm.w cp0,pc,cr8-cr15
 1.16073 -+	ldcm.w cp7,r0,cr8
 1.16074 -+	ldcm.w cp4,r4++,cr8-cr14
 1.16075 -+	ldcm.w cp3,r7,cr15
 1.16076 -+	ldcm.w cp1,r12++,cr9,cr12-cr14
 1.16077 -+
 1.16078 -+ldcm_d:
 1.16079 -+	ldcm.d cp0,pc,cr0-cr15
 1.16080 -+	ldcm.d cp7,r0,cr0,cr1
 1.16081 -+	ldcm.d cp4,r4++,cr0-cr13
 1.16082 -+	ldcm.d cp3,r7,cr14-cr15
 1.16083 -+	ldcm.d cp2,r12++,cr0-cr3,cr8-cr9,cr14-cr15
 1.16084 -+
 1.16085 -+stcm_w:
 1.16086 -+	stcm.w cp0,pc,cr0-cr7
 1.16087 -+	stcm.w cp7,r0,cr0
 1.16088 -+	stcm.w cp4,--r4,cr0-cr6
 1.16089 -+	stcm.w cp3,r7,cr7
 1.16090 -+	stcm.w cp1,--r12,cr1,cr4-cr6
 1.16091 -+	stcm.w cp0,pc,cr8-cr15
 1.16092 -+	stcm.w cp7,r0,cr8
 1.16093 -+	stcm.w cp4,--r4,cr8-cr14
 1.16094 -+	stcm.w cp3,r7,cr15
 1.16095 -+	stcm.w cp1,--r12,cr9,cr12-cr14
 1.16096 -+
 1.16097 -+stcm_d:
 1.16098 -+	stcm.d cp0,pc,cr0-cr15
 1.16099 -+	stcm.d cp7,r0,cr0,cr1
 1.16100 -+	stcm.d cp4,--r4,cr0-cr13
 1.16101 -+	stcm.d cp3,r7,cr14-cr15
 1.16102 -+	stcm.d cp2,--r12,cr0-cr3,cr8-cr9,cr14-cr15
 1.16103 -+
 1.16104 -+mvcr_w:
 1.16105 -+	mvcr.w cp7,pc,cr15
 1.16106 -+	mvcr.w cp0,r0,cr0
 1.16107 -+	mvcr.w cp0,pc,cr15
 1.16108 -+	mvcr.w cp7,r0,cr15
 1.16109 -+	mvcr.w cp7,pc,cr0
 1.16110 -+	mvcr.w cp4,r7,cr8
 1.16111 -+	mvcr.w cp3,r8,cr7
 1.16112 -+
 1.16113 -+mvcr_d:
 1.16114 -+	mvcr.d cp7,lr,cr14
 1.16115 -+	mvcr.d cp0,r0,cr0
 1.16116 -+	mvcr.d cp0,lr,cr14
 1.16117 -+	mvcr.d cp7,r0,cr14
 1.16118 -+	mvcr.d cp7,lr,cr0
 1.16119 -+	mvcr.d cp4,r6,cr8
 1.16120 -+	mvcr.d cp3,r8,cr6
 1.16121 -+
 1.16122 -+mvrc_w:
 1.16123 -+	mvrc.w cp7,cr15,pc
 1.16124 -+	mvrc.w cp0,cr0,r0
 1.16125 -+	mvrc.w cp0,cr15,pc
 1.16126 -+	mvrc.w cp7,cr15,r0
 1.16127 -+	mvrc.w cp7,cr0,pc
 1.16128 -+	mvrc.w cp4,cr8,r7
 1.16129 -+	mvrc.w cp3,cr7,r8
 1.16130 -+
 1.16131 -+mvrc_d:
 1.16132 -+	mvrc.d cp7,cr14,lr
 1.16133 -+	mvrc.d cp0,cr0,r0
 1.16134 -+	mvrc.d cp0,cr14,lr
 1.16135 -+	mvrc.d cp7,cr14,r0
 1.16136 -+	mvrc.d cp7,cr0,lr
 1.16137 -+	mvrc.d cp4,cr8,r6
 1.16138 -+	mvrc.d cp3,cr6,r8
 1.16139 -+
 1.16140 -+bfexts:
 1.16141 -+	bfexts pc,pc,31,31
 1.16142 -+	bfexts r0,r0,0,0
 1.16143 -+	bfexts r0,pc,31,31
 1.16144 -+	bfexts pc,r0,31,31
 1.16145 -+	bfexts pc,pc,0,31
 1.16146 -+	bfexts pc,pc,31,0
 1.16147 -+	bfexts r7,r8,15,16
 1.16148 -+	bfexts r8,r7,16,15
 1.16149 -+
 1.16150 -+bfextu:
 1.16151 -+	bfextu pc,pc,31,31
 1.16152 -+	bfextu r0,r0,0,0
 1.16153 -+	bfextu r0,pc,31,31
 1.16154 -+	bfextu pc,r0,31,31
 1.16155 -+	bfextu pc,pc,0,31
 1.16156 -+	bfextu pc,pc,31,0
 1.16157 -+	bfextu r7,r8,15,16
 1.16158 -+	bfextu r8,r7,16,15
 1.16159 -+
 1.16160 -+bfins:
 1.16161 -+	bfins pc,pc,31,31
 1.16162 -+	bfins r0,r0,0,0
 1.16163 -+	bfins r0,pc,31,31
 1.16164 -+	bfins pc,r0,31,31
 1.16165 -+	bfins pc,pc,0,31
 1.16166 -+	bfins pc,pc,31,0
 1.16167 -+	bfins r7,r8,15,16
 1.16168 -+	bfins r8,r7,16,15
 1.16169 -+
 1.16170 -+rsubc:
 1.16171 -+	rsubeq pc,0
 1.16172 -+	rsubal r12,-1
 1.16173 -+	rsubls r5,-128
 1.16174 -+	rsubpl r4,127
 1.16175 -+	rsubne lr,1
 1.16176 -+	rsubls r12,118
 1.16177 -+	rsubvc lr,-12
 1.16178 -+	rsubmi r4,-13
 1.16179 -+
 1.16180 -+addc:
 1.16181 -+	addeq pc,pc,pc
 1.16182 -+	addal r12,r12,r12
 1.16183 -+	addls r5,r5,r5
 1.16184 -+	addpl r4,r4,r4
 1.16185 -+	addne lr,lr,lr
 1.16186 -+	addls r10,r2,r1
 1.16187 -+	addvc r12,r8,r11
 1.16188 -+	addmi r10,r7,r0   
 1.16189 -+
 1.16190 -+subc2:
 1.16191 -+	subeq pc,pc,pc
 1.16192 -+	subal r12,r12,r12
 1.16193 -+	subls r5,r5,r5
 1.16194 -+	subpl r4,r4,r4
 1.16195 -+	subne lr,lr,lr
 1.16196 -+	subls r10,r2,r1
 1.16197 -+	subvc r12,r8,r11
 1.16198 -+	submi r10,r7,r0   
 1.16199 -+
 1.16200 -+andc:
 1.16201 -+	andeq pc,pc,pc
 1.16202 -+	andal r12,r12,r12
 1.16203 -+	andls r5,r5,r5
 1.16204 -+	andpl r4,r4,r4
 1.16205 -+	andne lr,lr,lr
 1.16206 -+	andls r10,r2,r1
 1.16207 -+	andvc r12,r8,r11
 1.16208 -+	andmi r10,r7,r0   
 1.16209 -+
 1.16210 -+orc:
 1.16211 -+	oreq pc,pc,pc
 1.16212 -+	oral r12,r12,r12
 1.16213 -+	orls r5,r5,r5
 1.16214 -+	orpl r4,r4,r4
 1.16215 -+	orne lr,lr,lr
 1.16216 -+	orls r10,r2,r1
 1.16217 -+	orvc r12,r8,r11
 1.16218 -+	ormi r10,r7,r0   
 1.16219 -+
 1.16220 -+eorc:
 1.16221 -+	eoreq pc,pc,pc
 1.16222 -+	eoral r12,r12,r12
 1.16223 -+	eorls r5,r5,r5
 1.16224 -+	eorpl r4,r4,r4
 1.16225 -+	eorne lr,lr,lr
 1.16226 -+	eorls r10,r2,r1
 1.16227 -+	eorvc r12,r8,r11
 1.16228 -+	eormi r10,r7,r0   
 1.16229 -+
 1.16230 -+ldcond:
 1.16231 -+	ld.weq  pc,pc[2044]
 1.16232 -+	ld.shal r12,r12[1022]
 1.16233 -+	ld.uhls r5,r5[0]
 1.16234 -+	ld.ubpl r4,r4[511]
 1.16235 -+	ld.sbne lr,lr[0]
 1.16236 -+	ld.wls  r10,r2[0]
 1.16237 -+	ld.shvc r12,r8[0x3fe]
 1.16238 -+	ld.ubmi r10,r7[1]
 1.16239 -+  
 1.16240 -+stcond2:
 1.16241 -+	st.weq pc[2044],pc
 1.16242 -+	st.hal r12[1022],r12
 1.16243 -+	st.hls r5[0],r5
 1.16244 -+	st.bpl r4[511],r4
 1.16245 -+	st.bne lr[0],lr
 1.16246 -+	st.wls r2[0],r10
 1.16247 -+	st.hvc r8[0x3fe],r12
 1.16248 -+	st.bmi r7[1],r10
 1.16249 -+	
 1.16250 -+movh:	
 1.16251 -+	movh	pc, 65535
 1.16252 -+	movh	r0, 0
 1.16253 -+	movh	r5, 1
 1.16254 -+	movh	r12, 32767
 1.16255 -+	
 1.16256 -+		
 1.16257 ---- /dev/null
 1.16258 -+++ b/gas/testsuite/gas/avr32/avr32.exp
 1.16259 -@@ -0,0 +1,23 @@
 1.16260 -+# AVR32 assembler testsuite. -*- Tcl -*-
 1.16261 -+
 1.16262 -+if [istarget avr32-*-*] {
 1.16263 -+    run_dump_test "hwrd-lwrd"
 1.16264 -+    run_dump_test "pcrel"
 1.16265 -+    run_dump_test "aliases"
 1.16266 -+    run_dump_test "dwarf2"
 1.16267 -+    run_dump_test "pic_reloc"
 1.16268 -+    run_dump_test "fpinsn"
 1.16269 -+    run_dump_test "pico"
 1.16270 -+    run_dump_test "lda_pic"
 1.16271 -+    run_dump_test "lda_pic_linkrelax"
 1.16272 -+    run_dump_test "lda_nopic"
 1.16273 -+    run_dump_test "lda_nopic_linkrelax"
 1.16274 -+    run_dump_test "call_pic"
 1.16275 -+    run_dump_test "call_pic_linkrelax"
 1.16276 -+    run_dump_test "call_nopic"
 1.16277 -+    run_dump_test "call_nopic_linkrelax"
 1.16278 -+    run_dump_test "jmptable"
 1.16279 -+    run_dump_test "jmptable_linkrelax"
 1.16280 -+    run_dump_test "symdiff"
 1.16281 -+    run_dump_test "symdiff_linkrelax"
 1.16282 -+}
 1.16283 ---- /dev/null
 1.16284 -+++ b/gas/testsuite/gas/avr32/call_nopic.d
 1.16285 -@@ -0,0 +1,36 @@
 1.16286 -+#source: call.s
 1.16287 -+#as:
 1.16288 -+#objdump: -dr
 1.16289 -+#name: call_nopic
 1.16290 -+
 1.16291 -+.*: +file format .*
 1.16292 -+
 1.16293 -+Disassembly of section \.text:
 1.16294 -+
 1.16295 -+00000000 <call_test>:
 1.16296 -+       0:	d7 03       	nop
 1.16297 -+
 1.16298 -+00000002 <toofar_negative>:
 1.16299 -+	\.\.\.
 1.16300 -+  1ffffe:	00 00       	add r0,r0
 1.16301 -+  200000:	f0 a0 00 00 	rcall 0 <call_test>
 1.16302 -+  200004:	f0 1f 00 0c 	mcall 200034 <toofar_negative\+0x200032>
 1.16303 -+  200008:	f0 1f 00 0c 	mcall 200038 <toofar_negative\+0x200036>
 1.16304 -+  20000c:	f0 1f 00 0c 	mcall 20003c <toofar_negative\+0x20003a>
 1.16305 -+  200010:	f0 1f 00 0c 	mcall 200040 <toofar_negative\+0x20003e>
 1.16306 -+	\.\.\.
 1.16307 -+  200030:	ee b0 ff ff 	rcall 40002e <far_positive>
 1.16308 -+	\.\.\.
 1.16309 -+			200034: R_AVR32_32_CPENT	\.text\+0x2
 1.16310 -+			200038: R_AVR32_32_CPENT	\.text\.init
 1.16311 -+			20003c: R_AVR32_32_CPENT	undefined
 1.16312 -+			200040: R_AVR32_32_CPENT	\.text\+0x40002c
 1.16313 -+
 1.16314 -+0040002c <toofar_positive>:
 1.16315 -+  40002c:	d7 03       	nop
 1.16316 -+0040002e <far_positive>:
 1.16317 -+  40002e:	d7 03       	nop
 1.16318 -+Disassembly of section \.text\.init:
 1.16319 -+
 1.16320 -+00000000 <different_section>:
 1.16321 -+   0:	e2 c0 00 00 	sub r0,r1,0
 1.16322 ---- /dev/null
 1.16323 -+++ b/gas/testsuite/gas/avr32/call_nopic_linkrelax.d
 1.16324 -@@ -0,0 +1,43 @@
 1.16325 -+#source: call.s
 1.16326 -+#as: --linkrelax
 1.16327 -+#objdump: -dr
 1.16328 -+#name: call_nopic_linkrelax
 1.16329 -+
 1.16330 -+.*: +file format .*
 1.16331 -+
 1.16332 -+Disassembly of section \.text:
 1.16333 -+
 1.16334 -+00000000 <call_test>:
 1.16335 -+       0:	d7 03       	nop
 1.16336 -+
 1.16337 -+00000002 <toofar_negative>:
 1.16338 -+	\.\.\.
 1.16339 -+  1ffffe:	00 00       	add r0,r0
 1.16340 -+  200000:	e0 a0 00 00 	rcall 200000 <toofar_negative\+0x1ffffe>
 1.16341 -+			200000: R_AVR32_22H_PCREL	\.text
 1.16342 -+  200004:	f0 1f 00 00 	mcall 200004 <toofar_negative\+0x200002>
 1.16343 -+			200004: R_AVR32_CPCALL	\.text\+0x200034
 1.16344 -+  200008:	f0 1f 00 00 	mcall 200008 <toofar_negative\+0x200006>
 1.16345 -+			200008: R_AVR32_CPCALL	\.text\+0x200038
 1.16346 -+  20000c:	f0 1f 00 00 	mcall 20000c <toofar_negative\+0x20000a>
 1.16347 -+			20000c: R_AVR32_CPCALL	\.text\+0x20003c
 1.16348 -+  200010:	f0 1f 00 00 	mcall 200010 <toofar_negative\+0x20000e>
 1.16349 -+			200010: R_AVR32_CPCALL	\.text\+0x200040
 1.16350 -+	\.\.\.
 1.16351 -+  200030:	e0 a0 00 00 	rcall 200030 <toofar_negative\+0x20002e>
 1.16352 -+			200030: R_AVR32_22H_PCREL	\.text\+0x40002e
 1.16353 -+	\.\.\.
 1.16354 -+			200034: R_AVR32_ALIGN	\*ABS\*\+0x2
 1.16355 -+			200034: R_AVR32_32_CPENT	\.text\+0x2
 1.16356 -+			200038: R_AVR32_32_CPENT	\.text\.init
 1.16357 -+			20003c: R_AVR32_32_CPENT	undefined
 1.16358 -+			200040: R_AVR32_32_CPENT	\.text\+0x40002c
 1.16359 -+
 1.16360 -+0040002c <toofar_positive>:
 1.16361 -+  40002c:	d7 03       	nop
 1.16362 -+0040002e <far_positive>:
 1.16363 -+  40002e:	d7 03       	nop
 1.16364 -+Disassembly of section \.text\.init:
 1.16365 -+
 1.16366 -+00000000 <different_section>:
 1.16367 -+   0:	e2 c0 00 00 	sub r0,r1,0
 1.16368 ---- /dev/null
 1.16369 -+++ b/gas/testsuite/gas/avr32/call_pic.d
 1.16370 -@@ -0,0 +1,36 @@
 1.16371 -+#source: call.s
 1.16372 -+#as: --pic
 1.16373 -+#objdump: -dr
 1.16374 -+#name: call_pic
 1.16375 -+
 1.16376 -+.*: +file format .*
 1.16377 -+
 1.16378 -+Disassembly of section \.text:
 1.16379 -+
 1.16380 -+00000000 <call_test>:
 1.16381 -+       0:	d7 03       	nop
 1.16382 -+
 1.16383 -+00000002 <toofar_negative>:
 1.16384 -+	\.\.\.
 1.16385 -+  1ffffe:	00 00       	add r0,r0
 1.16386 -+  200000:	f0 a0 00 00 	rcall 0 <call_test>
 1.16387 -+  200004:	f0 16 00 00 	mcall r6\[0\]
 1.16388 -+			200004: R_AVR32_GOT18SW	toofar_negative
 1.16389 -+  200008:	f0 16 00 00 	mcall r6\[0\]
 1.16390 -+			200008: R_AVR32_GOT18SW	different_section
 1.16391 -+  20000c:	f0 16 00 00 	mcall r6\[0\]
 1.16392 -+			20000c: R_AVR32_GOT18SW	undefined
 1.16393 -+  200010:	f0 16 00 00 	mcall r6\[0\]
 1.16394 -+			200010: R_AVR32_GOT18SW	toofar_positive
 1.16395 -+	\.\.\.
 1.16396 -+  200030:	ee b0 ff ff 	rcall 40002e <far_positive>
 1.16397 -+	\.\.\.
 1.16398 -+
 1.16399 -+0040002c <toofar_positive>:
 1.16400 -+  40002c:	d7 03       	nop
 1.16401 -+0040002e <far_positive>:
 1.16402 -+  40002e:	d7 03       	nop
 1.16403 -+Disassembly of section \.text\.init:
 1.16404 -+
 1.16405 -+00000000 <different_section>:
 1.16406 -+   0:	e2 c0 00 00 	sub r0,r1,0
 1.16407 ---- /dev/null
 1.16408 -+++ b/gas/testsuite/gas/avr32/call_pic_linkrelax.d
 1.16409 -@@ -0,0 +1,47 @@
 1.16410 -+#source: call.s
 1.16411 -+#as: --pic --linkrelax
 1.16412 -+#objdump: -dr
 1.16413 -+#name: call_pic_linkrelax
 1.16414 -+
 1.16415 -+.*: +file format .*
 1.16416 -+
 1.16417 -+Disassembly of section \.text:
 1.16418 -+
 1.16419 -+00000000 <call_test>:
 1.16420 -+       0:	d7 03       	nop
 1.16421 -+
 1.16422 -+00000002 <toofar_negative>:
 1.16423 -+	\.\.\.
 1.16424 -+  1ffffe:	00 00       	add r0,r0
 1.16425 -+  200000:	e0 a0 00 00 	rcall 200000 <toofar_negative\+0x1ffffe>
 1.16426 -+			200000: R_AVR32_22H_PCREL	\.text
 1.16427 -+  200004:	e0 6e 00 00 	mov lr,0
 1.16428 -+			200004: R_AVR32_GOTCALL	toofar_negative
 1.16429 -+  200008:	ec 0e 03 2e 	ld\.w lr,r6\[lr<<0x2\]
 1.16430 -+  20000c:	5d 1e       	icall lr
 1.16431 -+  20000e:	e0 6e 00 00 	mov lr,0
 1.16432 -+			20000e: R_AVR32_GOTCALL	different_section
 1.16433 -+  200012:	ec 0e 03 2e 	ld\.w lr,r6\[lr<<0x2\]
 1.16434 -+  200016:	5d 1e       	icall lr
 1.16435 -+  200018:	e0 6e 00 00 	mov lr,0
 1.16436 -+			200018: R_AVR32_GOTCALL	undefined
 1.16437 -+  20001c:	ec 0e 03 2e 	ld\.w lr,r6\[lr<<0x2\]
 1.16438 -+  200020:	5d 1e       	icall lr
 1.16439 -+  200022:	e0 6e 00 00 	mov lr,0
 1.16440 -+			200022: R_AVR32_GOTCALL	toofar_positive
 1.16441 -+  200026:	ec 0e 03 2e 	ld\.w lr,r6\[lr<<0x2\]
 1.16442 -+  20002a:	5d 1e       	icall lr
 1.16443 -+  20002c:	00 00       	add r0,r0
 1.16444 -+  20002e:	00 00       	add r0,r0
 1.16445 -+  200030:	e0 a0 00 00 	rcall 200030 <toofar_negative\+0x20002e>
 1.16446 -+			200030: R_AVR32_22H_PCREL	\.text\+0x40002e
 1.16447 -+	\.\.\.
 1.16448 -+
 1.16449 -+0040002c <toofar_positive>:
 1.16450 -+  40002c:	d7 03       	nop
 1.16451 -+0040002e <far_positive>:
 1.16452 -+  40002e:	d7 03       	nop
 1.16453 -+Disassembly of section \.text\.init:
 1.16454 -+
 1.16455 -+00000000 <different_section>:
 1.16456 -+   0:	e2 c0 00 00 	sub r0,r1,0
 1.16457 ---- /dev/null
 1.16458 -+++ b/gas/testsuite/gas/avr32/call.s
 1.16459 -@@ -0,0 +1,30 @@
 1.16460 -+
 1.16461 -+	.text
 1.16462 -+	.global call_test
 1.16463 -+call_test:
 1.16464 -+far_negative:
 1.16465 -+	nop
 1.16466 -+toofar_negative:
 1.16467 -+
 1.16468 -+	.org	0x200000
 1.16469 -+
 1.16470 -+	call	far_negative
 1.16471 -+	call	toofar_negative
 1.16472 -+	call	different_section
 1.16473 -+	call	undefined
 1.16474 -+	call	toofar_positive
 1.16475 -+	.org	0x200030
 1.16476 -+	call	far_positive
 1.16477 -+
 1.16478 -+	.cpool
 1.16479 -+
 1.16480 -+	.org	0x40002c
 1.16481 -+
 1.16482 -+toofar_positive:
 1.16483 -+	nop
 1.16484 -+far_positive:
 1.16485 -+	nop
 1.16486 -+
 1.16487 -+	.section .text.init,"ax",@progbits
 1.16488 -+different_section:
 1.16489 -+	sub	r0, r1, 0
 1.16490 ---- /dev/null
 1.16491 -+++ b/gas/testsuite/gas/avr32/dwarf2.d
 1.16492 -@@ -0,0 +1,42 @@
 1.16493 -+#readelf: -wl
 1.16494 -+#name: dwarf2
 1.16495 -+#source: dwarf2.s
 1.16496 -+
 1.16497 -+Dump of debug contents of section \.debug_line:
 1.16498 -+
 1.16499 -+  Length:                      53
 1.16500 -+  DWARF Version:               2
 1.16501 -+  Prologue Length:             26
 1.16502 -+  Minimum Instruction Length:  1
 1.16503 -+  Initial value of 'is_stmt':  1
 1.16504 -+  Line Base:                   -5
 1.16505 -+  Line Range:                  14
 1.16506 -+  Opcode Base:                 10
 1.16507 -+  \(Pointer size:               4\)
 1.16508 -+
 1.16509 -+ Opcodes:
 1.16510 -+  Opcode 1 has 0 args
 1.16511 -+  Opcode 2 has 1 args
 1.16512 -+  Opcode 3 has 1 args
 1.16513 -+  Opcode 4 has 1 args
 1.16514 -+  Opcode 5 has 1 args
 1.16515 -+  Opcode 6 has 0 args
 1.16516 -+  Opcode 7 has 0 args
 1.16517 -+  Opcode 8 has 0 args
 1.16518 -+  Opcode 9 has 1 args
 1.16519 -+
 1.16520 -+ The Directory Table is empty\.
 1.16521 -+
 1.16522 -+ The File Name Table:
 1.16523 -+  Entry	Dir	Time	Size	Name
 1.16524 -+  1	0	0	0	main\.c
 1.16525 -+
 1.16526 -+ Line Number Statements:
 1.16527 -+  Extended opcode 2: set Address to 0x0
 1.16528 -+  Advance Line by 87 to 88
 1.16529 -+  Copy
 1.16530 -+  Advance Line by 23 to 111
 1.16531 -+  Special opcode .*: advance Address by 4 to 0x4 and Line by 0 to 111
 1.16532 -+  Special opcode .*: advance Address by 10 to 0xe and Line by 1 to 112
 1.16533 -+  Advance PC by 530 to 220
 1.16534 -+  Extended opcode 1: End of Sequence
 1.16535 ---- /dev/null
 1.16536 -+++ b/gas/testsuite/gas/avr32/dwarf2.s
 1.16537 -@@ -0,0 +1,67 @@
 1.16538 -+# Source file used to test DWARF2 information for AVR32.
 1.16539 -+
 1.16540 -+	.file	"main.c"
 1.16541 -+
 1.16542 -+	.section .debug_abbrev,"",@progbits
 1.16543 -+.Ldebug_abbrev0:
 1.16544 -+	.section .debug_info,"",@progbits
 1.16545 -+.Ldebug_info0:
 1.16546 -+	.section .debug_line,"",@progbits
 1.16547 -+.Ldebug_line0:
 1.16548 -+
 1.16549 -+	.text
 1.16550 -+	.align	1
 1.16551 -+	.globl	main
 1.16552 -+	.type	main, @function
 1.16553 -+.Ltext0:
 1.16554 -+main:
 1.16555 -+	.file 1 "main.c"
 1.16556 -+	.loc 1 88 0
 1.16557 -+	pushm	r0-r7,lr
 1.16558 -+	sub	sp, 4
 1.16559 -+	.loc 1 111 0
 1.16560 -+	lddpc	r12, .LC1
 1.16561 -+	lddpc	r7, .LC1
 1.16562 -+	icall	r7
 1.16563 -+	.loc 1 112 0
 1.16564 -+	lddpc	r6, .LC4
 1.16565 -+
 1.16566 -+	.align	2
 1.16567 -+.LC4:	.int	0
 1.16568 -+
 1.16569 -+	.fill	256, 2, 0
 1.16570 -+
 1.16571 -+	.align	2
 1.16572 -+.LC1:
 1.16573 -+	.int	0
 1.16574 -+.LC2:
 1.16575 -+	.int	0
 1.16576 -+.LC3:
 1.16577 -+	.int	0
 1.16578 -+	.size	main, . - main
 1.16579 -+
 1.16580 -+.Letext0:
 1.16581 -+
 1.16582 -+	.section .debug_info
 1.16583 -+	.int	.Ledebug_info0 - .Ldebug_info0	// size
 1.16584 -+	.short	2				// version
 1.16585 -+	.int	.Ldebug_abbrev0			// abbrev offset
 1.16586 -+	.byte	4				// bytes per addr
 1.16587 -+
 1.16588 -+	.uleb128 1				// abbrev 1
 1.16589 -+	.int	.Ldebug_line0			// DW_AT_stmt_list
 1.16590 -+	.int	.Letext0			// DW_AT_high_pc
 1.16591 -+	.int	.Ltext0				// DW_AT_low_pc
 1.16592 -+
 1.16593 -+.Ledebug_info0:
 1.16594 -+
 1.16595 -+	.section .debug_abbrev
 1.16596 -+	.uleb128 0x01
 1.16597 -+	.uleb128 0x11		// DW_TAG_compile_unit
 1.16598 -+	.byte	0		// DW_CHILDREN_no
 1.16599 -+	.uleb128 0x10, 0x6	// DW_AT_stmt_list
 1.16600 -+	.uleb128 0x12, 0x1	// DW_AT_high_pc
 1.16601 -+	.uleb128 0x11, 0x1	// DW_AT_low_pc
 1.16602 -+	.uleb128 0, 0
 1.16603 -+
 1.16604 -+	.byte	0
 1.16605 ---- /dev/null
 1.16606 -+++ b/gas/testsuite/gas/avr32/fpinsn.d
 1.16607 -@@ -0,0 +1,271 @@
 1.16608 -+#as:
 1.16609 -+#objdump: -dr
 1.16610 -+#name: fpinsn
 1.16611 -+
 1.16612 -+.*: +file format .*
 1.16613 -+
 1.16614 -+Disassembly of section \.text:
 1.16615 -+
 1.16616 -+[0-9a-f]* <fadd_s>:
 1.16617 -+ *[0-9a-f]*:	e1 a2 0f ff 	cop cp0,cr15,cr15,cr15,0x4
 1.16618 -+ *[0-9a-f]*:	e1 a2 00 00 	cop cp0,cr0,cr0,cr0,0x4
 1.16619 -+ *[0-9a-f]*:	e1 a2 00 ff 	cop cp0,cr0,cr15,cr15,0x4
 1.16620 -+ *[0-9a-f]*:	e1 a2 0f 0f 	cop cp0,cr15,cr0,cr15,0x4
 1.16621 -+ *[0-9a-f]*:	e1 a2 0f f0 	cop cp0,cr15,cr15,cr0,0x4
 1.16622 -+ *[0-9a-f]*:	e1 a2 07 88 	cop cp0,cr7,cr8,cr8,0x4
 1.16623 -+ *[0-9a-f]*:	e1 a2 08 78 	cop cp0,cr8,cr7,cr8,0x4
 1.16624 -+ *[0-9a-f]*:	e1 a2 08 87 	cop cp0,cr8,cr8,cr7,0x4
 1.16625 -+
 1.16626 -+[0-9a-f]* <fsub_s>:
 1.16627 -+ *[0-9a-f]*:	e1 a2 1f ff 	cop cp0,cr15,cr15,cr15,0x5
 1.16628 -+ *[0-9a-f]*:	e1 a2 10 00 	cop cp0,cr0,cr0,cr0,0x5
 1.16629 -+ *[0-9a-f]*:	e1 a2 10 ff 	cop cp0,cr0,cr15,cr15,0x5
 1.16630 -+ *[0-9a-f]*:	e1 a2 1f 0f 	cop cp0,cr15,cr0,cr15,0x5
 1.16631 -+ *[0-9a-f]*:	e1 a2 1f f0 	cop cp0,cr15,cr15,cr0,0x5
 1.16632 -+ *[0-9a-f]*:	e1 a2 17 88 	cop cp0,cr7,cr8,cr8,0x5
 1.16633 -+ *[0-9a-f]*:	e1 a2 18 78 	cop cp0,cr8,cr7,cr8,0x5
 1.16634 -+ *[0-9a-f]*:	e1 a2 18 87 	cop cp0,cr8,cr8,cr7,0x5
 1.16635 -+
 1.16636 -+[0-9a-f]* <fmac_s>:
 1.16637 -+ *[0-9a-f]*:	e1 a0 0f ff 	cop cp0,cr15,cr15,cr15,0x0
 1.16638 -+ *[0-9a-f]*:	e1 a0 00 00 	cop cp0,cr0,cr0,cr0,0x0
 1.16639 -+ *[0-9a-f]*:	e1 a0 00 ff 	cop cp0,cr0,cr15,cr15,0x0
 1.16640 -+ *[0-9a-f]*:	e1 a0 0f 0f 	cop cp0,cr15,cr0,cr15,0x0
 1.16641 -+ *[0-9a-f]*:	e1 a0 0f f0 	cop cp0,cr15,cr15,cr0,0x0
 1.16642 -+ *[0-9a-f]*:	e1 a0 07 88 	cop cp0,cr7,cr8,cr8,0x0
 1.16643 -+ *[0-9a-f]*:	e1 a0 08 78 	cop cp0,cr8,cr7,cr8,0x0
 1.16644 -+ *[0-9a-f]*:	e1 a0 08 87 	cop cp0,cr8,cr8,cr7,0x0
 1.16645 -+
 1.16646 -+[0-9a-f]* <fnmac_s>:
 1.16647 -+ *[0-9a-f]*:	e1 a0 1f ff 	cop cp0,cr15,cr15,cr15,0x1
 1.16648 -+ *[0-9a-f]*:	e1 a0 10 00 	cop cp0,cr0,cr0,cr0,0x1
 1.16649 -+ *[0-9a-f]*:	e1 a0 10 ff 	cop cp0,cr0,cr15,cr15,0x1
 1.16650 -+ *[0-9a-f]*:	e1 a0 1f 0f 	cop cp0,cr15,cr0,cr15,0x1
 1.16651 -+ *[0-9a-f]*:	e1 a0 1f f0 	cop cp0,cr15,cr15,cr0,0x1
 1.16652 -+ *[0-9a-f]*:	e1 a0 17 88 	cop cp0,cr7,cr8,cr8,0x1
 1.16653 -+ *[0-9a-f]*:	e1 a0 18 78 	cop cp0,cr8,cr7,cr8,0x1
 1.16654 -+ *[0-9a-f]*:	e1 a0 18 87 	cop cp0,cr8,cr8,cr7,0x1
 1.16655 -+
 1.16656 -+[0-9a-f]* <fmsc_s>:
 1.16657 -+ *[0-9a-f]*:	e1 a1 0f ff 	cop cp0,cr15,cr15,cr15,0x2
 1.16658 -+ *[0-9a-f]*:	e1 a1 00 00 	cop cp0,cr0,cr0,cr0,0x2
 1.16659 -+ *[0-9a-f]*:	e1 a1 00 ff 	cop cp0,cr0,cr15,cr15,0x2
 1.16660 -+ *[0-9a-f]*:	e1 a1 0f 0f 	cop cp0,cr15,cr0,cr15,0x2
 1.16661 -+ *[0-9a-f]*:	e1 a1 0f f0 	cop cp0,cr15,cr15,cr0,0x2
 1.16662 -+ *[0-9a-f]*:	e1 a1 07 88 	cop cp0,cr7,cr8,cr8,0x2
 1.16663 -+ *[0-9a-f]*:	e1 a1 08 78 	cop cp0,cr8,cr7,cr8,0x2
 1.16664 -+ *[0-9a-f]*:	e1 a1 08 87 	cop cp0,cr8,cr8,cr7,0x2
 1.16665 -+
 1.16666 -+[0-9a-f]* <fnmsc_s>:
 1.16667 -+ *[0-9a-f]*:	e1 a1 1f ff 	cop cp0,cr15,cr15,cr15,0x3
 1.16668 -+ *[0-9a-f]*:	e1 a1 10 00 	cop cp0,cr0,cr0,cr0,0x3
 1.16669 -+ *[0-9a-f]*:	e1 a1 10 ff 	cop cp0,cr0,cr15,cr15,0x3
 1.16670 -+ *[0-9a-f]*:	e1 a1 1f 0f 	cop cp0,cr15,cr0,cr15,0x3
 1.16671 -+ *[0-9a-f]*:	e1 a1 1f f0 	cop cp0,cr15,cr15,cr0,0x3
 1.16672 -+ *[0-9a-f]*:	e1 a1 17 88 	cop cp0,cr7,cr8,cr8,0x3
 1.16673 -+ *[0-9a-f]*:	e1 a1 18 78 	cop cp0,cr8,cr7,cr8,0x3
 1.16674 -+ *[0-9a-f]*:	e1 a1 18 87 	cop cp0,cr8,cr8,cr7,0x3
 1.16675 -+
 1.16676 -+[0-9a-f]* <fmul_s>:
 1.16677 -+ *[0-9a-f]*:	e1 a3 0f ff 	cop cp0,cr15,cr15,cr15,0x6
 1.16678 -+ *[0-9a-f]*:	e1 a3 00 00 	cop cp0,cr0,cr0,cr0,0x6
 1.16679 -+ *[0-9a-f]*:	e1 a3 00 ff 	cop cp0,cr0,cr15,cr15,0x6
 1.16680 -+ *[0-9a-f]*:	e1 a3 0f 0f 	cop cp0,cr15,cr0,cr15,0x6
 1.16681 -+ *[0-9a-f]*:	e1 a3 0f f0 	cop cp0,cr15,cr15,cr0,0x6
 1.16682 -+ *[0-9a-f]*:	e1 a3 07 88 	cop cp0,cr7,cr8,cr8,0x6
 1.16683 -+ *[0-9a-f]*:	e1 a3 08 78 	cop cp0,cr8,cr7,cr8,0x6
 1.16684 -+ *[0-9a-f]*:	e1 a3 08 87 	cop cp0,cr8,cr8,cr7,0x6
 1.16685 -+
 1.16686 -+[0-9a-f]* <fnmul_s>:
 1.16687 -+ *[0-9a-f]*:	e1 a3 1f ff 	cop cp0,cr15,cr15,cr15,0x7
 1.16688 -+ *[0-9a-f]*:	e1 a3 10 00 	cop cp0,cr0,cr0,cr0,0x7
 1.16689 -+ *[0-9a-f]*:	e1 a3 10 ff 	cop cp0,cr0,cr15,cr15,0x7
 1.16690 -+ *[0-9a-f]*:	e1 a3 1f 0f 	cop cp0,cr15,cr0,cr15,0x7
 1.16691 -+ *[0-9a-f]*:	e1 a3 1f f0 	cop cp0,cr15,cr15,cr0,0x7
 1.16692 -+ *[0-9a-f]*:	e1 a3 17 88 	cop cp0,cr7,cr8,cr8,0x7
 1.16693 -+ *[0-9a-f]*:	e1 a3 18 78 	cop cp0,cr8,cr7,cr8,0x7
 1.16694 -+ *[0-9a-f]*:	e1 a3 18 87 	cop cp0,cr8,cr8,cr7,0x7
 1.16695 -+
 1.16696 -+[0-9a-f]* <fneg_s>:
 1.16697 -+ *[0-9a-f]*:	e1 a4 0f f0 	cop cp0,cr15,cr15,cr0,0x8
 1.16698 -+ *[0-9a-f]*:	e1 a4 00 00 	cop cp0,cr0,cr0,cr0,0x8
 1.16699 -+ *[0-9a-f]*:	e1 a4 00 f0 	cop cp0,cr0,cr15,cr0,0x8
 1.16700 -+ *[0-9a-f]*:	e1 a4 0f 00 	cop cp0,cr15,cr0,cr0,0x8
 1.16701 -+ *[0-9a-f]*:	e1 a4 07 80 	cop cp0,cr7,cr8,cr0,0x8
 1.16702 -+ *[0-9a-f]*:	e1 a4 08 70 	cop cp0,cr8,cr7,cr0,0x8
 1.16703 -+
 1.16704 -+[0-9a-f]* <fabs_s>:
 1.16705 -+ *[0-9a-f]*:	e1 a4 1f f0 	cop cp0,cr15,cr15,cr0,0x9
 1.16706 -+ *[0-9a-f]*:	e1 a4 10 00 	cop cp0,cr0,cr0,cr0,0x9
 1.16707 -+ *[0-9a-f]*:	e1 a4 10 f0 	cop cp0,cr0,cr15,cr0,0x9
 1.16708 -+ *[0-9a-f]*:	e1 a4 1f 00 	cop cp0,cr15,cr0,cr0,0x9
 1.16709 -+ *[0-9a-f]*:	e1 a4 17 80 	cop cp0,cr7,cr8,cr0,0x9
 1.16710 -+ *[0-9a-f]*:	e1 a4 18 70 	cop cp0,cr8,cr7,cr0,0x9
 1.16711 -+
 1.16712 -+[0-9a-f]* <fcmp_s>:
 1.16713 -+ *[0-9a-f]*:	e1 a6 10 ff 	cop cp0,cr0,cr15,cr15,0xd
 1.16714 -+ *[0-9a-f]*:	e1 a6 10 00 	cop cp0,cr0,cr0,cr0,0xd
 1.16715 -+ *[0-9a-f]*:	e1 a6 10 0f 	cop cp0,cr0,cr0,cr15,0xd
 1.16716 -+ *[0-9a-f]*:	e1 a6 10 f0 	cop cp0,cr0,cr15,cr0,0xd
 1.16717 -+ *[0-9a-f]*:	e1 a6 10 78 	cop cp0,cr0,cr7,cr8,0xd
 1.16718 -+ *[0-9a-f]*:	e1 a6 10 87 	cop cp0,cr0,cr8,cr7,0xd
 1.16719 -+
 1.16720 -+[0-9a-f]* <fadd_d>:
 1.16721 -+ *[0-9a-f]*:	e5 a2 0e ee 	cop cp0,cr14,cr14,cr14,0x44
 1.16722 -+ *[0-9a-f]*:	e5 a2 00 00 	cop cp0,cr0,cr0,cr0,0x44
 1.16723 -+ *[0-9a-f]*:	e5 a2 00 ee 	cop cp0,cr0,cr14,cr14,0x44
 1.16724 -+ *[0-9a-f]*:	e5 a2 0e 0e 	cop cp0,cr14,cr0,cr14,0x44
 1.16725 -+ *[0-9a-f]*:	e5 a2 0e e0 	cop cp0,cr14,cr14,cr0,0x44
 1.16726 -+ *[0-9a-f]*:	e5 a2 06 88 	cop cp0,cr6,cr8,cr8,0x44
 1.16727 -+ *[0-9a-f]*:	e5 a2 08 68 	cop cp0,cr8,cr6,cr8,0x44
 1.16728 -+ *[0-9a-f]*:	e5 a2 08 86 	cop cp0,cr8,cr8,cr6,0x44
 1.16729 -+
 1.16730 -+[0-9a-f]* <fsub_d>:
 1.16731 -+ *[0-9a-f]*:	e5 a2 1e ee 	cop cp0,cr14,cr14,cr14,0x45
 1.16732 -+ *[0-9a-f]*:	e5 a2 10 00 	cop cp0,cr0,cr0,cr0,0x45
 1.16733 -+ *[0-9a-f]*:	e5 a2 10 ee 	cop cp0,cr0,cr14,cr14,0x45
 1.16734 -+ *[0-9a-f]*:	e5 a2 1e 0e 	cop cp0,cr14,cr0,cr14,0x45
 1.16735 -+ *[0-9a-f]*:	e5 a2 1e e0 	cop cp0,cr14,cr14,cr0,0x45
 1.16736 -+ *[0-9a-f]*:	e5 a2 16 88 	cop cp0,cr6,cr8,cr8,0x45
 1.16737 -+ *[0-9a-f]*:	e5 a2 18 68 	cop cp0,cr8,cr6,cr8,0x45
 1.16738 -+ *[0-9a-f]*:	e5 a2 18 86 	cop cp0,cr8,cr8,cr6,0x45
 1.16739 -+
 1.16740 -+[0-9a-f]* <fmac_d>:
 1.16741 -+ *[0-9a-f]*:	e5 a0 0e ee 	cop cp0,cr14,cr14,cr14,0x40
 1.16742 -+ *[0-9a-f]*:	e5 a0 00 00 	cop cp0,cr0,cr0,cr0,0x40
 1.16743 -+ *[0-9a-f]*:	e5 a0 00 ee 	cop cp0,cr0,cr14,cr14,0x40
 1.16744 -+ *[0-9a-f]*:	e5 a0 0e 0e 	cop cp0,cr14,cr0,cr14,0x40
 1.16745 -+ *[0-9a-f]*:	e5 a0 0e e0 	cop cp0,cr14,cr14,cr0,0x40
 1.16746 -+ *[0-9a-f]*:	e5 a0 06 88 	cop cp0,cr6,cr8,cr8,0x40
 1.16747 -+ *[0-9a-f]*:	e5 a0 08 68 	cop cp0,cr8,cr6,cr8,0x40
 1.16748 -+ *[0-9a-f]*:	e5 a0 08 86 	cop cp0,cr8,cr8,cr6,0x40
 1.16749 -+
 1.16750 -+[0-9a-f]* <fnmac_d>:
 1.16751 -+ *[0-9a-f]*:	e5 a0 1e ee 	cop cp0,cr14,cr14,cr14,0x41
 1.16752 -+ *[0-9a-f]*:	e5 a0 10 00 	cop cp0,cr0,cr0,cr0,0x41
 1.16753 -+ *[0-9a-f]*:	e5 a0 10 ee 	cop cp0,cr0,cr14,cr14,0x41
 1.16754 -+ *[0-9a-f]*:	e5 a0 1e 0e 	cop cp0,cr14,cr0,cr14,0x41
 1.16755 -+ *[0-9a-f]*:	e5 a0 1e e0 	cop cp0,cr14,cr14,cr0,0x41
 1.16756 -+ *[0-9a-f]*:	e5 a0 16 88 	cop cp0,cr6,cr8,cr8,0x41
 1.16757 -+ *[0-9a-f]*:	e5 a0 18 68 	cop cp0,cr8,cr6,cr8,0x41
 1.16758 -+ *[0-9a-f]*:	e5 a0 18 86 	cop cp0,cr8,cr8,cr6,0x41
 1.16759 -+
 1.16760 -+[0-9a-f]* <fmsc_d>:
 1.16761 -+ *[0-9a-f]*:	e5 a1 0e ee 	cop cp0,cr14,cr14,cr14,0x42
 1.16762 -+ *[0-9a-f]*:	e5 a1 00 00 	cop cp0,cr0,cr0,cr0,0x42
 1.16763 -+ *[0-9a-f]*:	e5 a1 00 ee 	cop cp0,cr0,cr14,cr14,0x42
 1.16764 -+ *[0-9a-f]*:	e5 a1 0e 0e 	cop cp0,cr14,cr0,cr14,0x42
 1.16765 -+ *[0-9a-f]*:	e5 a1 0e e0 	cop cp0,cr14,cr14,cr0,0x42
 1.16766 -+ *[0-9a-f]*:	e5 a1 06 88 	cop cp0,cr6,cr8,cr8,0x42
 1.16767 -+ *[0-9a-f]*:	e5 a1 08 68 	cop cp0,cr8,cr6,cr8,0x42
 1.16768 -+ *[0-9a-f]*:	e5 a1 08 86 	cop cp0,cr8,cr8,cr6,0x42
 1.16769 -+
 1.16770 -+[0-9a-f]* <fnmsc_d>:
 1.16771 -+ *[0-9a-f]*:	e5 a1 1e ee 	cop cp0,cr14,cr14,cr14,0x43
 1.16772 -+ *[0-9a-f]*:	e5 a1 10 00 	cop cp0,cr0,cr0,cr0,0x43
 1.16773 -+ *[0-9a-f]*:	e5 a1 10 ee 	cop cp0,cr0,cr14,cr14,0x43
 1.16774 -+ *[0-9a-f]*:	e5 a1 1e 0e 	cop cp0,cr14,cr0,cr14,0x43
 1.16775 -+ *[0-9a-f]*:	e5 a1 1e e0 	cop cp0,cr14,cr14,cr0,0x43
 1.16776 -+ *[0-9a-f]*:	e5 a1 16 88 	cop cp0,cr6,cr8,cr8,0x43
 1.16777 -+ *[0-9a-f]*:	e5 a1 18 68 	cop cp0,cr8,cr6,cr8,0x43
 1.16778 -+ *[0-9a-f]*:	e5 a1 18 86 	cop cp0,cr8,cr8,cr6,0x43
 1.16779 -+
 1.16780 -+[0-9a-f]* <fmul_d>:
 1.16781 -+ *[0-9a-f]*:	e5 a3 0e ee 	cop cp0,cr14,cr14,cr14,0x46
 1.16782 -+ *[0-9a-f]*:	e5 a3 00 00 	cop cp0,cr0,cr0,cr0,0x46
 1.16783 -+ *[0-9a-f]*:	e5 a3 00 ee 	cop cp0,cr0,cr14,cr14,0x46
 1.16784 -+ *[0-9a-f]*:	e5 a3 0e 0e 	cop cp0,cr14,cr0,cr14,0x46
 1.16785 -+ *[0-9a-f]*:	e5 a3 0e e0 	cop cp0,cr14,cr14,cr0,0x46
 1.16786 -+ *[0-9a-f]*:	e5 a3 06 88 	cop cp0,cr6,cr8,cr8,0x46
 1.16787 -+ *[0-9a-f]*:	e5 a3 08 68 	cop cp0,cr8,cr6,cr8,0x46
 1.16788 -+ *[0-9a-f]*:	e5 a3 08 86 	cop cp0,cr8,cr8,cr6,0x46
 1.16789 -+
 1.16790 -+[0-9a-f]* <fnmul_d>:
 1.16791 -+ *[0-9a-f]*:	e5 a3 1e ee 	cop cp0,cr14,cr14,cr14,0x47
 1.16792 -+ *[0-9a-f]*:	e5 a3 10 00 	cop cp0,cr0,cr0,cr0,0x47
 1.16793 -+ *[0-9a-f]*:	e5 a3 10 ee 	cop cp0,cr0,cr14,cr14,0x47
 1.16794 -+ *[0-9a-f]*:	e5 a3 1e 0e 	cop cp0,cr14,cr0,cr14,0x47
 1.16795 -+ *[0-9a-f]*:	e5 a3 1e e0 	cop cp0,cr14,cr14,cr0,0x47
 1.16796 -+ *[0-9a-f]*:	e5 a3 16 88 	cop cp0,cr6,cr8,cr8,0x47
 1.16797 -+ *[0-9a-f]*:	e5 a3 18 68 	cop cp0,cr8,cr6,cr8,0x47
 1.16798 -+ *[0-9a-f]*:	e5 a3 18 86 	cop cp0,cr8,cr8,cr6,0x47
 1.16799 -+
 1.16800 -+[0-9a-f]* <fneg_d>:
 1.16801 -+ *[0-9a-f]*:	e5 a4 0e e0 	cop cp0,cr14,cr14,cr0,0x48
 1.16802 -+ *[0-9a-f]*:	e5 a4 00 00 	cop cp0,cr0,cr0,cr0,0x48
 1.16803 -+ *[0-9a-f]*:	e5 a4 00 e0 	cop cp0,cr0,cr14,cr0,0x48
 1.16804 -+ *[0-9a-f]*:	e5 a4 0e 00 	cop cp0,cr14,cr0,cr0,0x48
 1.16805 -+ *[0-9a-f]*:	e5 a4 06 80 	cop cp0,cr6,cr8,cr0,0x48
 1.16806 -+ *[0-9a-f]*:	e5 a4 08 60 	cop cp0,cr8,cr6,cr0,0x48
 1.16807 -+
 1.16808 -+[0-9a-f]* <fabs_d>:
 1.16809 -+ *[0-9a-f]*:	e5 a4 1e e0 	cop cp0,cr14,cr14,cr0,0x49
 1.16810 -+ *[0-9a-f]*:	e5 a4 10 00 	cop cp0,cr0,cr0,cr0,0x49
 1.16811 -+ *[0-9a-f]*:	e5 a4 10 e0 	cop cp0,cr0,cr14,cr0,0x49
 1.16812 -+ *[0-9a-f]*:	e5 a4 1e 00 	cop cp0,cr14,cr0,cr0,0x49
 1.16813 -+ *[0-9a-f]*:	e5 a4 16 80 	cop cp0,cr6,cr8,cr0,0x49
 1.16814 -+ *[0-9a-f]*:	e5 a4 18 60 	cop cp0,cr8,cr6,cr0,0x49
 1.16815 -+
 1.16816 -+[0-9a-f]* <fcmp_d>:
 1.16817 -+ *[0-9a-f]*:	e5 a6 10 ee 	cop cp0,cr0,cr14,cr14,0x4d
 1.16818 -+ *[0-9a-f]*:	e5 a6 10 00 	cop cp0,cr0,cr0,cr0,0x4d
 1.16819 -+ *[0-9a-f]*:	e5 a6 10 0e 	cop cp0,cr0,cr0,cr14,0x4d
 1.16820 -+ *[0-9a-f]*:	e5 a6 10 e0 	cop cp0,cr0,cr14,cr0,0x4d
 1.16821 -+ *[0-9a-f]*:	e5 a6 10 68 	cop cp0,cr0,cr6,cr8,0x4d
 1.16822 -+ *[0-9a-f]*:	e5 a6 10 86 	cop cp0,cr0,cr8,cr6,0x4d
 1.16823 -+
 1.16824 -+[0-9a-f]* <fmov_s>:
 1.16825 -+ *[0-9a-f]*:	e1 a5 0f f0 	cop cp0,cr15,cr15,cr0,0xa
 1.16826 -+ *[0-9a-f]*:	e1 a5 00 00 	cop cp0,cr0,cr0,cr0,0xa
 1.16827 -+ *[0-9a-f]*:	e1 a5 0f 00 	cop cp0,cr15,cr0,cr0,0xa
 1.16828 -+ *[0-9a-f]*:	e1 a5 00 f0 	cop cp0,cr0,cr15,cr0,0xa
 1.16829 -+ *[0-9a-f]*:	e1 a5 08 70 	cop cp0,cr8,cr7,cr0,0xa
 1.16830 -+ *[0-9a-f]*:	e1 a5 07 80 	cop cp0,cr7,cr8,cr0,0xa
 1.16831 -+ *[0-9a-f]*:	ef af 0f 00 	mvcr.w cp0,pc,cr15
 1.16832 -+ *[0-9a-f]*:	ef a0 00 00 	mvcr.w cp0,r0,cr0
 1.16833 -+ *[0-9a-f]*:	ef af 00 00 	mvcr.w cp0,pc,cr0
 1.16834 -+ *[0-9a-f]*:	ef a0 0f 00 	mvcr.w cp0,r0,cr15
 1.16835 -+ *[0-9a-f]*:	ef a8 07 00 	mvcr.w cp0,r8,cr7
 1.16836 -+ *[0-9a-f]*:	ef a7 08 00 	mvcr.w cp0,r7,cr8
 1.16837 -+ *[0-9a-f]*:	ef af 0f 20 	mvrc.w cp0,cr15,pc
 1.16838 -+ *[0-9a-f]*:	ef a0 00 20 	mvrc.w cp0,cr0,r0
 1.16839 -+ *[0-9a-f]*:	ef a0 0f 20 	mvrc.w cp0,cr15,r0
 1.16840 -+ *[0-9a-f]*:	ef af 00 20 	mvrc.w cp0,cr0,pc
 1.16841 -+ *[0-9a-f]*:	ef a7 08 20 	mvrc.w cp0,cr8,r7
 1.16842 -+ *[0-9a-f]*:	ef a8 07 20 	mvrc.w cp0,cr7,r8
 1.16843 -+
 1.16844 -+[0-9a-f]* <fmov_d>:
 1.16845 -+ *[0-9a-f]*:	e5 a5 0e e0 	cop cp0,cr14,cr14,cr0,0x4a
 1.16846 -+ *[0-9a-f]*:	e5 a5 00 00 	cop cp0,cr0,cr0,cr0,0x4a
 1.16847 -+ *[0-9a-f]*:	e5 a5 0e 00 	cop cp0,cr14,cr0,cr0,0x4a
 1.16848 -+ *[0-9a-f]*:	e5 a5 00 e0 	cop cp0,cr0,cr14,cr0,0x4a
 1.16849 -+ *[0-9a-f]*:	e5 a5 08 60 	cop cp0,cr8,cr6,cr0,0x4a
 1.16850 -+ *[0-9a-f]*:	e5 a5 06 80 	cop cp0,cr6,cr8,cr0,0x4a
 1.16851 -+ *[0-9a-f]*:	ef ae 0e 10 	mvcr.d cp0,lr,cr14
 1.16852 -+ *[0-9a-f]*:	ef a0 00 10 	mvcr.d cp0,r0,cr0
 1.16853 -+ *[0-9a-f]*:	ef ae 00 10 	mvcr.d cp0,lr,cr0
 1.16854 -+ *[0-9a-f]*:	ef a0 0e 10 	mvcr.d cp0,r0,cr14
 1.16855 -+ *[0-9a-f]*:	ef a8 06 10 	mvcr.d cp0,r8,cr6
 1.16856 -+ *[0-9a-f]*:	ef a6 08 10 	mvcr.d cp0,r6,cr8
 1.16857 -+ *[0-9a-f]*:	ef ae 0e 30 	mvrc.d cp0,cr14,lr
 1.16858 -+ *[0-9a-f]*:	ef a0 00 30 	mvrc.d cp0,cr0,r0
 1.16859 -+ *[0-9a-f]*:	ef a0 0e 30 	mvrc.d cp0,cr14,r0
 1.16860 -+ *[0-9a-f]*:	ef ae 00 30 	mvrc.d cp0,cr0,lr
 1.16861 -+ *[0-9a-f]*:	ef a6 08 30 	mvrc.d cp0,cr8,r6
 1.16862 -+ *[0-9a-f]*:	ef a8 06 30 	mvrc.d cp0,cr6,r8
 1.16863 -+
 1.16864 -+[0-9a-f]* <fcasts_d>:
 1.16865 -+ *[0-9a-f]*:	e1 a7 1f e0 	cop cp0,cr15,cr14,cr0,0xf
 1.16866 -+ *[0-9a-f]*:	e1 a7 10 00 	cop cp0,cr0,cr0,cr0,0xf
 1.16867 -+ *[0-9a-f]*:	e1 a7 1f 00 	cop cp0,cr15,cr0,cr0,0xf
 1.16868 -+ *[0-9a-f]*:	e1 a7 10 e0 	cop cp0,cr0,cr14,cr0,0xf
 1.16869 -+ *[0-9a-f]*:	e1 a7 18 60 	cop cp0,cr8,cr6,cr0,0xf
 1.16870 -+ *[0-9a-f]*:	e1 a7 17 80 	cop cp0,cr7,cr8,cr0,0xf
 1.16871 -+
 1.16872 -+[0-9a-f]* <fcastd_s>:
 1.16873 -+ *[0-9a-f]*:	e1 a8 0e f0 	cop cp0,cr14,cr15,cr0,0x10
 1.16874 -+ *[0-9a-f]*:	e1 a8 00 00 	cop cp0,cr0,cr0,cr0,0x10
 1.16875 -+ *[0-9a-f]*:	e1 a8 0e 00 	cop cp0,cr14,cr0,cr0,0x10
 1.16876 -+ *[0-9a-f]*:	e1 a8 00 f0 	cop cp0,cr0,cr15,cr0,0x10
 1.16877 -+ *[0-9a-f]*:	e1 a8 08 70 	cop cp0,cr8,cr7,cr0,0x10
 1.16878 -+ *[0-9a-f]*:	e1 a8 06 80 	cop cp0,cr6,cr8,cr0,0x10
 1.16879 ---- /dev/null
 1.16880 -+++ b/gas/testsuite/gas/avr32/fpinsn.s
 1.16881 -@@ -0,0 +1,266 @@
 1.16882 -+
 1.16883 -+	.text
 1.16884 -+	.global	fadd_s
 1.16885 -+fadd_s:
 1.16886 -+	fadd.s fr15, fr15, fr15
 1.16887 -+	fadd.s fr0, fr0, fr0
 1.16888 -+	fadd.s fr0, fr15, fr15
 1.16889 -+	fadd.s fr15, fr0, fr15
 1.16890 -+	fadd.s fr15, fr15, fr0
 1.16891 -+	fadd.s fr7, fr8, fr8
 1.16892 -+	fadd.s fr8, fr7, fr8
 1.16893 -+	fadd.s fr8, fr8, fr7
 1.16894 -+	.global	fsub_s
 1.16895 -+fsub_s:
 1.16896 -+	fsub.s fr15, fr15, fr15
 1.16897 -+	fsub.s fr0, fr0, fr0
 1.16898 -+	fsub.s fr0, fr15, fr15
 1.16899 -+	fsub.s fr15, fr0, fr15
 1.16900 -+	fsub.s fr15, fr15, fr0
 1.16901 -+	fsub.s fr7, fr8, fr8
 1.16902 -+	fsub.s fr8, fr7, fr8
 1.16903 -+	fsub.s fr8, fr8, fr7
 1.16904 -+	.global	fmac_s
 1.16905 -+fmac_s:
 1.16906 -+	fmac.s fr15, fr15, fr15
 1.16907 -+	fmac.s fr0, fr0, fr0
 1.16908 -+	fmac.s fr0, fr15, fr15
 1.16909 -+	fmac.s fr15, fr0, fr15
 1.16910 -+	fmac.s fr15, fr15, fr0
 1.16911 -+	fmac.s fr7, fr8, fr8
 1.16912 -+	fmac.s fr8, fr7, fr8
 1.16913 -+	fmac.s fr8, fr8, fr7
 1.16914 -+	.global	fnmac_s
 1.16915 -+fnmac_s:
 1.16916 -+	fnmac.s fr15, fr15, fr15
 1.16917 -+	fnmac.s fr0, fr0, fr0
 1.16918 -+	fnmac.s fr0, fr15, fr15
 1.16919 -+	fnmac.s fr15, fr0, fr15
 1.16920 -+	fnmac.s fr15, fr15, fr0
 1.16921 -+	fnmac.s fr7, fr8, fr8
 1.16922 -+	fnmac.s fr8, fr7, fr8
 1.16923 -+	fnmac.s fr8, fr8, fr7
 1.16924 -+	.global	fmsc_s
 1.16925 -+fmsc_s:
 1.16926 -+	fmsc.s fr15, fr15, fr15
 1.16927 -+	fmsc.s fr0, fr0, fr0
 1.16928 -+	fmsc.s fr0, fr15, fr15
 1.16929 -+	fmsc.s fr15, fr0, fr15
 1.16930 -+	fmsc.s fr15, fr15, fr0
 1.16931 -+	fmsc.s fr7, fr8, fr8
 1.16932 -+	fmsc.s fr8, fr7, fr8
 1.16933 -+	fmsc.s fr8, fr8, fr7
 1.16934 -+	.global	fnmsc_s
 1.16935 -+fnmsc_s:
 1.16936 -+	fnmsc.s fr15, fr15, fr15
 1.16937 -+	fnmsc.s fr0, fr0, fr0
 1.16938 -+	fnmsc.s fr0, fr15, fr15
 1.16939 -+	fnmsc.s fr15, fr0, fr15
 1.16940 -+	fnmsc.s fr15, fr15, fr0
 1.16941 -+	fnmsc.s fr7, fr8, fr8
 1.16942 -+	fnmsc.s fr8, fr7, fr8
 1.16943 -+	fnmsc.s fr8, fr8, fr7
 1.16944 -+	.global	fmul_s
 1.16945 -+fmul_s:
 1.16946 -+	fmul.s fr15, fr15, fr15
 1.16947 -+	fmul.s fr0, fr0, fr0
 1.16948 -+	fmul.s fr0, fr15, fr15
 1.16949 -+	fmul.s fr15, fr0, fr15
 1.16950 -+	fmul.s fr15, fr15, fr0
 1.16951 -+	fmul.s fr7, fr8, fr8
 1.16952 -+	fmul.s fr8, fr7, fr8
 1.16953 -+	fmul.s fr8, fr8, fr7
 1.16954 -+	.global	fnmul_s
 1.16955 -+fnmul_s:
 1.16956 -+	fnmul.s fr15, fr15, fr15
 1.16957 -+	fnmul.s fr0, fr0, fr0
 1.16958 -+	fnmul.s fr0, fr15, fr15
 1.16959 -+	fnmul.s fr15, fr0, fr15
 1.16960 -+	fnmul.s fr15, fr15, fr0
 1.16961 -+	fnmul.s fr7, fr8, fr8
 1.16962 -+	fnmul.s fr8, fr7, fr8
 1.16963 -+	fnmul.s fr8, fr8, fr7
 1.16964 -+	.global	fneg_s
 1.16965 -+fneg_s:
 1.16966 -+	fneg.s fr15, fr15
 1.16967 -+	fneg.s fr0, fr0
 1.16968 -+	fneg.s fr0, fr15
 1.16969 -+	fneg.s fr15, fr0
 1.16970 -+	fneg.s fr7, fr8
 1.16971 -+	fneg.s fr8, fr7
 1.16972 -+	.global	fabs_s
 1.16973 -+fabs_s:
 1.16974 -+	fabs.s fr15, fr15
 1.16975 -+	fabs.s fr0, fr0
 1.16976 -+	fabs.s fr0, fr15
 1.16977 -+	fabs.s fr15, fr0
 1.16978 -+	fabs.s fr7, fr8
 1.16979 -+	fabs.s fr8, fr7
 1.16980 -+	.global	fcmp_s
 1.16981 -+fcmp_s:
 1.16982 -+	fcmp.s fr15, fr15
 1.16983 -+	fcmp.s fr0, fr0
 1.16984 -+	fcmp.s fr0, fr15
 1.16985 -+	fcmp.s fr15, fr0
 1.16986 -+	fcmp.s fr7, fr8
 1.16987 -+	fcmp.s fr8, fr7
 1.16988 -+	.global	fadd_d
 1.16989 -+fadd_d:
 1.16990 -+	fadd.d fr14, fr14, fr14
 1.16991 -+	fadd.d fr0, fr0, fr0
 1.16992 -+	fadd.d fr0, fr14, fr14
 1.16993 -+	fadd.d fr14, fr0, fr14
 1.16994 -+	fadd.d fr14, fr14, fr0
 1.16995 -+	fadd.d fr6, fr8, fr8
 1.16996 -+	fadd.d fr8, fr6, fr8
 1.16997 -+	fadd.d fr8, fr8, fr6
 1.16998 -+	.global	fsub_d
 1.16999 -+fsub_d:
 1.17000 -+	fsub.d fr14, fr14, fr14
 1.17001 -+	fsub.d fr0, fr0, fr0
 1.17002 -+	fsub.d fr0, fr14, fr14
 1.17003 -+	fsub.d fr14, fr0, fr14
 1.17004 -+	fsub.d fr14, fr14, fr0
 1.17005 -+	fsub.d fr6, fr8, fr8
 1.17006 -+	fsub.d fr8, fr6, fr8
 1.17007 -+	fsub.d fr8, fr8, fr6
 1.17008 -+	.global	fmac_d
 1.17009 -+fmac_d:
 1.17010 -+	fmac.d fr14, fr14, fr14
 1.17011 -+	fmac.d fr0, fr0, fr0
 1.17012 -+	fmac.d fr0, fr14, fr14
 1.17013 -+	fmac.d fr14, fr0, fr14
 1.17014 -+	fmac.d fr14, fr14, fr0
 1.17015 -+	fmac.d fr6, fr8, fr8
 1.17016 -+	fmac.d fr8, fr6, fr8
 1.17017 -+	fmac.d fr8, fr8, fr6
 1.17018 -+	.global	fnmac_d
 1.17019 -+fnmac_d:
 1.17020 -+	fnmac.d fr14, fr14, fr14
 1.17021 -+	fnmac.d fr0, fr0, fr0
 1.17022 -+	fnmac.d fr0, fr14, fr14
 1.17023 -+	fnmac.d fr14, fr0, fr14
 1.17024 -+	fnmac.d fr14, fr14, fr0
 1.17025 -+	fnmac.d fr6, fr8, fr8
 1.17026 -+	fnmac.d fr8, fr6, fr8
 1.17027 -+	fnmac.d fr8, fr8, fr6
 1.17028 -+	.global	fmsc_d
 1.17029 -+fmsc_d:
 1.17030 -+	fmsc.d fr14, fr14, fr14
 1.17031 -+	fmsc.d fr0, fr0, fr0
 1.17032 -+	fmsc.d fr0, fr14, fr14
 1.17033 -+	fmsc.d fr14, fr0, fr14
 1.17034 -+	fmsc.d fr14, fr14, fr0
 1.17035 -+	fmsc.d fr6, fr8, fr8
 1.17036 -+	fmsc.d fr8, fr6, fr8
 1.17037 -+	fmsc.d fr8, fr8, fr6
 1.17038 -+	.global	fnmsc_d
 1.17039 -+fnmsc_d:
 1.17040 -+	fnmsc.d fr14, fr14, fr14
 1.17041 -+	fnmsc.d fr0, fr0, fr0
 1.17042 -+	fnmsc.d fr0, fr14, fr14
 1.17043 -+	fnmsc.d fr14, fr0, fr14
 1.17044 -+	fnmsc.d fr14, fr14, fr0
 1.17045 -+	fnmsc.d fr6, fr8, fr8
 1.17046 -+	fnmsc.d fr8, fr6, fr8
 1.17047 -+	fnmsc.d fr8, fr8, fr6
 1.17048 -+	.global	fmul_d
 1.17049 -+fmul_d:
 1.17050 -+	fmul.d fr14, fr14, fr14
 1.17051 -+	fmul.d fr0, fr0, fr0
 1.17052 -+	fmul.d fr0, fr14, fr14
 1.17053 -+	fmul.d fr14, fr0, fr14
 1.17054 -+	fmul.d fr14, fr14, fr0
 1.17055 -+	fmul.d fr6, fr8, fr8
 1.17056 -+	fmul.d fr8, fr6, fr8
 1.17057 -+	fmul.d fr8, fr8, fr6
 1.17058 -+	.global	fnmul_d
 1.17059 -+fnmul_d:
 1.17060 -+	fnmul.d fr14, fr14, fr14
 1.17061 -+	fnmul.d fr0, fr0, fr0
 1.17062 -+	fnmul.d fr0, fr14, fr14
 1.17063 -+	fnmul.d fr14, fr0, fr14
 1.17064 -+	fnmul.d fr14, fr14, fr0
 1.17065 -+	fnmul.d fr6, fr8, fr8
 1.17066 -+	fnmul.d fr8, fr6, fr8
 1.17067 -+	fnmul.d fr8, fr8, fr6
 1.17068 -+	.global	fneg_d
 1.17069 -+fneg_d:
 1.17070 -+	fneg.d fr14, fr14
 1.17071 -+	fneg.d fr0, fr0
 1.17072 -+	fneg.d fr0, fr14
 1.17073 -+	fneg.d fr14, fr0
 1.17074 -+	fneg.d fr6, fr8
 1.17075 -+	fneg.d fr8, fr6
 1.17076 -+	.global	fabs_d
 1.17077 -+fabs_d:
 1.17078 -+	fabs.d fr14, fr14
 1.17079 -+	fabs.d fr0, fr0
 1.17080 -+	fabs.d fr0, fr14
 1.17081 -+	fabs.d fr14, fr0
 1.17082 -+	fabs.d fr6, fr8
 1.17083 -+	fabs.d fr8, fr6
 1.17084 -+	.global	fcmp_d
 1.17085 -+fcmp_d:
 1.17086 -+	fcmp.d fr14, fr14
 1.17087 -+	fcmp.d fr0, fr0
 1.17088 -+	fcmp.d fr0, fr14
 1.17089 -+	fcmp.d fr14, fr0
 1.17090 -+	fcmp.d fr6, fr8
 1.17091 -+	fcmp.d fr8, fr6
 1.17092 -+	.global fmov_s
 1.17093 -+fmov_s:
 1.17094 -+	fmov.s fr15, fr15
 1.17095 -+	fmov.s fr0, fr0
 1.17096 -+	fmov.s fr15, fr0
 1.17097 -+	fmov.s fr0, fr15
 1.17098 -+	fmov.s fr8, fr7
 1.17099 -+	fmov.s fr7, fr8
 1.17100 -+	fmov.s pc, fr15
 1.17101 -+	fmov.s r0, fr0
 1.17102 -+	fmov.s pc, fr0
 1.17103 -+	fmov.s r0, fr15
 1.17104 -+	fmov.s r8, fr7
 1.17105 -+	fmov.s r7, fr8
 1.17106 -+	fmov.s fr15, pc
 1.17107 -+	fmov.s fr0, r0
 1.17108 -+	fmov.s fr15, r0
 1.17109 -+	fmov.s fr0, pc
 1.17110 -+	fmov.s fr8, r7
 1.17111 -+	fmov.s fr7, r8
 1.17112 -+	.global fmov_d
 1.17113 -+fmov_d:
 1.17114 -+	fmov.d fr14, fr14
 1.17115 -+	fmov.d fr0, fr0
 1.17116 -+	fmov.d fr14, fr0
 1.17117 -+	fmov.d fr0, fr14
 1.17118 -+	fmov.d fr8, fr6
 1.17119 -+	fmov.d fr6, fr8
 1.17120 -+	fmov.d lr, fr14
 1.17121 -+	fmov.d r0, fr0
 1.17122 -+	fmov.d lr, fr0
 1.17123 -+	fmov.d r0, fr14
 1.17124 -+	fmov.d r8, fr6
 1.17125 -+	fmov.d r6, fr8
 1.17126 -+	fmov.d fr14, lr
 1.17127 -+	fmov.d fr0, r0
 1.17128 -+	fmov.d fr14, r0
 1.17129 -+	fmov.d fr0, lr
 1.17130 -+	fmov.d fr8, r6
 1.17131 -+	fmov.d fr6, r8
 1.17132 -+	.global fcasts_d
 1.17133 -+fcasts_d:
 1.17134 -+	fcasts.d fr15, fr14
 1.17135 -+	fcasts.d fr0, fr0
 1.17136 -+	fcasts.d fr15, fr0
 1.17137 -+	fcasts.d fr0, fr14
 1.17138 -+	fcasts.d fr8, fr6
 1.17139 -+	fcasts.d fr7, fr8
 1.17140 -+	.global fcastd_s
 1.17141 -+fcastd_s:
 1.17142 -+	fcastd.s fr14, fr15
 1.17143 -+	fcastd.s fr0, fr0
 1.17144 -+	fcastd.s fr14, fr0
 1.17145 -+	fcastd.s fr0, fr15
 1.17146 -+	fcastd.s fr8, fr7
 1.17147 -+	fcastd.s fr6, fr8
 1.17148 ---- /dev/null
 1.17149 -+++ b/gas/testsuite/gas/avr32/hwrd-lwrd.d
 1.17150 -@@ -0,0 +1,47 @@
 1.17151 -+#as:
 1.17152 -+#objdump: -dr
 1.17153 -+#name: hwrd-lwrd
 1.17154 -+
 1.17155 -+.*: +file format .*
 1.17156 -+
 1.17157 -+Disassembly of section \.text:
 1.17158 -+
 1.17159 -+00000000 <test_hwrd>:
 1.17160 -+   0:	e0 60 87 65 	mov r0,34661
 1.17161 -+   4:	e0 60 12 34 	mov r0,4660
 1.17162 -+   8:	e0 60 00 00 	mov r0,0
 1.17163 -+			8: R_AVR32_HI16	\.text\+0x60
 1.17164 -+   c:	e0 60 00 00 	mov r0,0
 1.17165 -+			c: R_AVR32_HI16	extsym1
 1.17166 -+  10:	ea 10 87 65 	orh r0,0x8765
 1.17167 -+  14:	ea 10 12 34 	orh r0,0x1234
 1.17168 -+  18:	ea 10 00 00 	orh r0,0x0
 1.17169 -+			18: R_AVR32_HI16	\.text\+0x60
 1.17170 -+  1c:	ea 10 00 00 	orh r0,0x0
 1.17171 -+			1c: R_AVR32_HI16	extsym1
 1.17172 -+  20:	e4 10 87 65 	andh r0,0x8765
 1.17173 -+  24:	e4 10 12 34 	andh r0,0x1234
 1.17174 -+  28:	e4 10 00 00 	andh r0,0x0
 1.17175 -+			28: R_AVR32_HI16	\.text\+0x60
 1.17176 -+  2c:	e4 10 00 00 	andh r0,0x0
 1.17177 -+			2c: R_AVR32_HI16	extsym1
 1.17178 -+
 1.17179 -+00000030 <test_lwrd>:
 1.17180 -+  30:	e0 60 43 21 	mov r0,17185
 1.17181 -+  34:	e0 60 56 78 	mov r0,22136
 1.17182 -+  38:	e0 60 00 00 	mov r0,0
 1.17183 -+			38: R_AVR32_LO16	\.text\+0x60
 1.17184 -+  3c:	e0 60 00 00 	mov r0,0
 1.17185 -+			3c: R_AVR32_LO16	extsym1
 1.17186 -+  40:	e8 10 43 21 	orl r0,0x4321
 1.17187 -+  44:	e8 10 56 78 	orl r0,0x5678
 1.17188 -+  48:	e8 10 00 00 	orl r0,0x0
 1.17189 -+			48: R_AVR32_LO16	\.text\+0x60
 1.17190 -+  4c:	e8 10 00 00 	orl r0,0x0
 1.17191 -+			4c: R_AVR32_LO16	extsym1
 1.17192 -+  50:	e0 10 43 21 	andl r0,0x4321
 1.17193 -+  54:	e0 10 56 78 	andl r0,0x5678
 1.17194 -+  58:	e0 10 00 00 	andl r0,0x0
 1.17195 -+			58: R_AVR32_LO16	\.text\+0x60
 1.17196 -+  5c:	e0 10 00 00 	andl r0,0x0
 1.17197 -+			5c: R_AVR32_LO16	extsym1
 1.17198 ---- /dev/null
 1.17199 -+++ b/gas/testsuite/gas/avr32/hwrd-lwrd.s
 1.17200 -@@ -0,0 +1,39 @@
 1.17201 -+
 1.17202 -+        .equ    sym1, 0x12345678
 1.17203 -+
 1.17204 -+        .text
 1.17205 -+        .global test_hwrd
 1.17206 -+test_hwrd:
 1.17207 -+        mov     r0, hi(0x87654321)
 1.17208 -+        mov     r0, hi(sym1)
 1.17209 -+        mov     r0, hi(sym2)
 1.17210 -+        mov     r0, hi(extsym1)
 1.17211 -+
 1.17212 -+        orh	r0, hi(0x87654321)
 1.17213 -+        orh	r0, hi(sym1)
 1.17214 -+        orh	r0, hi(sym2)
 1.17215 -+        orh	r0, hi(extsym1)
 1.17216 -+
 1.17217 -+        andh	r0, hi(0x87654321)
 1.17218 -+        andh	r0, hi(sym1)
 1.17219 -+        andh	r0, hi(sym2)
 1.17220 -+        andh	r0, hi(extsym1)
 1.17221 -+
 1.17222 -+        .global test_lwrd
 1.17223 -+test_lwrd:
 1.17224 -+        mov     r0, lo(0x87654321)
 1.17225 -+        mov     r0, lo(sym1)
 1.17226 -+        mov     r0, lo(sym2)
 1.17227 -+        mov     r0, lo(extsym1)
 1.17228 -+
 1.17229 -+        orl	r0, lo(0x87654321)
 1.17230 -+        orl	r0, lo(sym1)
 1.17231 -+        orl	r0, lo(sym2)
 1.17232 -+        orl	r0, lo(extsym1)
 1.17233 -+
 1.17234 -+        andl	r0, lo(0x87654321)
 1.17235 -+        andl	r0, lo(sym1)
 1.17236 -+        andl	r0, lo(sym2)
 1.17237 -+        andl	r0, lo(extsym1)
 1.17238 -+
 1.17239 -+sym2:
 1.17240 ---- /dev/null
 1.17241 -+++ b/gas/testsuite/gas/avr32/jmptable.d
 1.17242 -@@ -0,0 +1,20 @@
 1.17243 -+#source: jmptable.s
 1.17244 -+#as:
 1.17245 -+#objdump: -dr
 1.17246 -+#name: jmptable
 1.17247 -+
 1.17248 -+.*: +file format .*
 1.17249 -+
 1.17250 -+Disassembly of section \.text:
 1.17251 -+
 1.17252 -+00000000 <jmptable_test>:
 1.17253 -+   0:	fe c8 ff f4 	sub r8,pc,-12
 1.17254 -+   4:	f0 00 00 2f 	add pc,r8,r0<<0x2
 1.17255 -+   8:	d7 03       	nop
 1.17256 -+   a:	00 00       	add r0,r0
 1.17257 -+   c:	c0 38       	rjmp 12 <jmptable_test\+0x12>
 1.17258 -+   e:	c0 38       	rjmp 14 <jmptable_test\+0x14>
 1.17259 -+  10:	c0 38       	rjmp 16 <jmptable_test\+0x16>
 1.17260 -+  12:	d7 03       	nop
 1.17261 -+  14:	d7 03       	nop
 1.17262 -+  16:	d7 03       	nop
 1.17263 ---- /dev/null
 1.17264 -+++ b/gas/testsuite/gas/avr32/jmptable_linkrelax.d
 1.17265 -@@ -0,0 +1,25 @@
 1.17266 -+#source: jmptable.s
 1.17267 -+#as: --linkrelax
 1.17268 -+#objdump: -dr
 1.17269 -+#name: jmptable_linkrelax
 1.17270 -+
 1.17271 -+.*: +file format .*
 1.17272 -+
 1.17273 -+Disassembly of section \.text:
 1.17274 -+
 1.17275 -+00000000 <jmptable_test>:
 1.17276 -+   0:	fe c8 00 00 	sub r8,pc,0
 1.17277 -+			0: R_AVR32_16N_PCREL	\.text\+0xc
 1.17278 -+   4:	f0 00 00 2f 	add pc,r8,r0<<0x2
 1.17279 -+   8:	d7 03       	nop
 1.17280 -+   a:	00 00       	add r0,r0
 1.17281 -+			a: R_AVR32_ALIGN	\*ABS\*\+0x2
 1.17282 -+   c:	c0 08       	rjmp c <jmptable_test\+0xc>
 1.17283 -+			c: R_AVR32_11H_PCREL	\.text\+0x12
 1.17284 -+   e:	c0 08       	rjmp e <jmptable_test\+0xe>
 1.17285 -+			e: R_AVR32_11H_PCREL	\.text\+0x14
 1.17286 -+  10:	c0 08       	rjmp 10 <jmptable_test\+0x10>
 1.17287 -+			10: R_AVR32_11H_PCREL	\.text\+0x16
 1.17288 -+  12:	d7 03       	nop
 1.17289 -+  14:	d7 03       	nop
 1.17290 -+  16:	d7 03       	nop
 1.17291 ---- /dev/null
 1.17292 -+++ b/gas/testsuite/gas/avr32/jmptable.s
 1.17293 -@@ -0,0 +1,14 @@
 1.17294 -+
 1.17295 -+	.text
 1.17296 -+	.global	jmptable_test
 1.17297 -+jmptable_test:
 1.17298 -+	sub	r8, pc, -(.L1 - .)
 1.17299 -+	add	pc, r8, r0 << 2
 1.17300 -+	nop
 1.17301 -+	.align	2
 1.17302 -+.L1:	rjmp	1f
 1.17303 -+	rjmp	2f
 1.17304 -+	rjmp	3f
 1.17305 -+1:	nop
 1.17306 -+2:	nop
 1.17307 -+3:	nop
 1.17308 ---- /dev/null
 1.17309 -+++ b/gas/testsuite/gas/avr32/lda_nopic.d
 1.17310 -@@ -0,0 +1,32 @@
 1.17311 -+#source: lda.s
 1.17312 -+#as:
 1.17313 -+#objdump: -dr
 1.17314 -+#name: lda_nopic
 1.17315 -+
 1.17316 -+.*: +file format .*
 1.17317 -+
 1.17318 -+Disassembly of section \.text:
 1.17319 -+
 1.17320 -+00000000 <lda_test>:
 1.17321 -+       0:	f2 c8 00 00 	sub r8,r9,0
 1.17322 -+
 1.17323 -+00000004 <far_negative>:
 1.17324 -+       4:	f6 ca 00 00 	sub r10,r11,0
 1.17325 -+	...
 1.17326 -+    8000:	fe c0 7f fc 	sub r0,pc,32764
 1.17327 -+    8004:	48 31       	lddpc r1,8010 <far_negative\+0x800c>
 1.17328 -+    8006:	48 42       	lddpc r2,8014 <far_negative\+0x8010>
 1.17329 -+    8008:	48 43       	lddpc r3,8018 <far_negative\+0x8014>
 1.17330 -+    800a:	48 54       	lddpc r4,801c <far_negative\+0x8018>
 1.17331 -+    800c:	fe c5 80 04 	sub r5,pc,-32764
 1.17332 -+	...
 1.17333 -+			8010: R_AVR32_32_CPENT	\.text
 1.17334 -+			8014: R_AVR32_32_CPENT	\.data
 1.17335 -+			8018: R_AVR32_32_CPENT	undefined
 1.17336 -+			801c: R_AVR32_32_CPENT	\.text\+0x1001c
 1.17337 -+
 1.17338 -+00010008 <far_positive>:
 1.17339 -+   10008:	fa cc 00 00 	sub r12,sp,0
 1.17340 -+	...
 1.17341 -+0001001c <toofar_positive>:
 1.17342 -+   1001c:	fe ce 00 00 	sub lr,pc,0
 1.17343 ---- /dev/null
 1.17344 -+++ b/gas/testsuite/gas/avr32/lda_nopic_linkrelax.d
 1.17345 -@@ -0,0 +1,41 @@
 1.17346 -+#source: lda.s
 1.17347 -+#as: --linkrelax
 1.17348 -+#objdump: -dr
 1.17349 -+#name: lda_nopic_linkrelax
 1.17350 -+
 1.17351 -+.*: +file format .*
 1.17352 -+
 1.17353 -+Disassembly of section \.text:
 1.17354 -+
 1.17355 -+00000000 <lda_test>:
 1.17356 -+       0:	f2 c8 00 00 	sub r8,r9,0
 1.17357 -+
 1.17358 -+00000004 <far_negative>:
 1.17359 -+       4:	f6 ca 00 00 	sub r10,r11,0
 1.17360 -+	\.\.\.
 1.17361 -+    8000:	48 00       	lddpc r0,8000 <far_negative\+0x7ffc>
 1.17362 -+			8000: R_AVR32_9W_CP	\.text\+0x800c
 1.17363 -+    8002:	48 01       	lddpc r1,8000 <far_negative\+0x7ffc>
 1.17364 -+			8002: R_AVR32_9W_CP	\.text\+0x8010
 1.17365 -+    8004:	48 02       	lddpc r2,8004 <far_negative\+0x8000>
 1.17366 -+			8004: R_AVR32_9W_CP	\.text\+0x8014
 1.17367 -+    8006:	48 03       	lddpc r3,8004 <far_negative\+0x8000>
 1.17368 -+			8006: R_AVR32_9W_CP	\.text\+0x8018
 1.17369 -+    8008:	48 04       	lddpc r4,8008 <far_negative\+0x8004>
 1.17370 -+			8008: R_AVR32_9W_CP	\.text\+0x801c
 1.17371 -+    800a:	48 05       	lddpc r5,8008 <far_negative\+0x8004>
 1.17372 -+			800a: R_AVR32_9W_CP	\.text\+0x8020
 1.17373 -+	\.\.\.
 1.17374 -+			800c: R_AVR32_ALIGN	\*ABS\*\+0x2
 1.17375 -+			800c: R_AVR32_32_CPENT	\.text\+0x4
 1.17376 -+			8010: R_AVR32_32_CPENT	\.text
 1.17377 -+			8014: R_AVR32_32_CPENT	\.data
 1.17378 -+			8018: R_AVR32_32_CPENT	undefined
 1.17379 -+			801c: R_AVR32_32_CPENT	\.text\+0x10020
 1.17380 -+			8020: R_AVR32_32_CPENT	\.text\+0x1000c
 1.17381 -+
 1.17382 -+0001000c <far_positive>:
 1.17383 -+   1000c:	fa cc 00 00 	sub r12,sp,0
 1.17384 -+	\.\.\.
 1.17385 -+00010020 <toofar_positive>:
 1.17386 -+   10020:	fe ce 00 00 	sub lr,pc,0
 1.17387 ---- /dev/null
 1.17388 -+++ b/gas/testsuite/gas/avr32/lda_pic.d
 1.17389 -@@ -0,0 +1,32 @@
 1.17390 -+#source: lda.s
 1.17391 -+#as: --pic
 1.17392 -+#objdump: -dr
 1.17393 -+#name: lda_pic
 1.17394 -+
 1.17395 -+.*: +file format .*
 1.17396 -+
 1.17397 -+Disassembly of section \.text:
 1.17398 -+
 1.17399 -+00000000 <lda_test>:
 1.17400 -+       0:	f2 c8 00 00 	sub r8,r9,0
 1.17401 -+
 1.17402 -+00000004 <far_negative>:
 1.17403 -+       4:	f6 ca 00 00 	sub r10,r11,0
 1.17404 -+	...
 1.17405 -+    8000:	fe c0 7f fc 	sub r0,pc,32764
 1.17406 -+    8004:	ec f1 00 00 	ld.w r1,r6\[0\]
 1.17407 -+			8004: R_AVR32_GOT16S	toofar_negative
 1.17408 -+    8008:	ec f2 00 00 	ld.w r2,r6\[0\]
 1.17409 -+			8008: R_AVR32_GOT16S	different_section
 1.17410 -+    800c:	ec f3 00 00 	ld.w r3,r6\[0\]
 1.17411 -+			800c: R_AVR32_GOT16S	undefined
 1.17412 -+    8010:	ec f4 00 00 	ld.w r4,r6\[0\]
 1.17413 -+			8010: R_AVR32_GOT16S	toofar_positive
 1.17414 -+    8014:	fe c5 80 14 	sub r5,pc,-32748
 1.17415 -+	...
 1.17416 -+
 1.17417 -+00010000 <far_positive>:
 1.17418 -+   10000:	fa cc 00 00 	sub r12,sp,0
 1.17419 -+	...
 1.17420 -+00010014 <toofar_positive>:
 1.17421 -+   10014:	fe ce 00 00 	sub lr,pc,0
 1.17422 ---- /dev/null
 1.17423 -+++ b/gas/testsuite/gas/avr32/lda_pic_linkrelax.d
 1.17424 -@@ -0,0 +1,40 @@
 1.17425 -+#source: lda.s
 1.17426 -+#as: --pic --linkrelax
 1.17427 -+#objdump: -dr
 1.17428 -+#name: lda_pic_linkrelax
 1.17429 -+
 1.17430 -+.*: +file format .*
 1.17431 -+
 1.17432 -+Disassembly of section \.text:
 1.17433 -+
 1.17434 -+00000000 <lda_test>:
 1.17435 -+       0:	f2 c8 00 00 	sub r8,r9,0
 1.17436 -+
 1.17437 -+00000004 <far_negative>:
 1.17438 -+       4:	f6 ca 00 00 	sub r10,r11,0
 1.17439 -+	...
 1.17440 -+    8000:	e0 60 00 00 	mov r0,0
 1.17441 -+			8000: R_AVR32_LDA_GOT	far_negative
 1.17442 -+    8004:	ec 00 03 20 	ld\.w r0,r6\[r0<<0x2\]
 1.17443 -+    8008:	e0 61 00 00 	mov r1,0
 1.17444 -+			8008: R_AVR32_LDA_GOT	toofar_negative
 1.17445 -+    800c:	ec 01 03 21 	ld\.w r1,r6\[r1<<0x2\]
 1.17446 -+    8010:	e0 62 00 00 	mov r2,0
 1.17447 -+			8010: R_AVR32_LDA_GOT	different_section
 1.17448 -+    8014:	ec 02 03 22 	ld\.w r2,r6\[r2<<0x2\]
 1.17449 -+    8018:	e0 63 00 00 	mov r3,0
 1.17450 -+			8018: R_AVR32_LDA_GOT	undefined
 1.17451 -+    801c:	ec 03 03 23 	ld\.w r3,r6\[r3<<0x2\]
 1.17452 -+    8020:	e0 64 00 00 	mov r4,0
 1.17453 -+			8020: R_AVR32_LDA_GOT	toofar_positive
 1.17454 -+    8024:	ec 04 03 24 	ld\.w r4,r6\[r4<<0x2\]
 1.17455 -+    8028:	e0 65 00 00 	mov r5,0
 1.17456 -+			8028: R_AVR32_LDA_GOT	far_positive
 1.17457 -+    802c:	ec 05 03 25 	ld\.w r5,r6\[r5<<0x2\]
 1.17458 -+	...
 1.17459 -+
 1.17460 -+00010018 <far_positive>:
 1.17461 -+   10018:	fa cc 00 00 	sub r12,sp,0
 1.17462 -+	...
 1.17463 -+0001002c <toofar_positive>:
 1.17464 -+   1002c:	fe ce 00 00 	sub lr,pc,0
 1.17465 ---- /dev/null
 1.17466 -+++ b/gas/testsuite/gas/avr32/lda.s
 1.17467 -@@ -0,0 +1,30 @@
 1.17468 -+
 1.17469 -+	.text
 1.17470 -+	.global lda_test
 1.17471 -+lda_test:
 1.17472 -+toofar_negative:
 1.17473 -+	sub	r8, r9, 0
 1.17474 -+far_negative:
 1.17475 -+	sub	r10, r11, 0
 1.17476 -+
 1.17477 -+	.fill	32760, 1, 0x00
 1.17478 -+
 1.17479 -+	lda.w	r0, far_negative
 1.17480 -+	lda.w	r1, toofar_negative
 1.17481 -+	lda.w	r2, different_section
 1.17482 -+	lda.w	r3, undefined
 1.17483 -+	lda.w	r4, toofar_positive
 1.17484 -+	lda.w	r5, far_positive
 1.17485 -+
 1.17486 -+	.cpool
 1.17487 -+
 1.17488 -+	.fill	32744, 1, 0x00
 1.17489 -+far_positive:
 1.17490 -+	sub	r12, sp, 0
 1.17491 -+	.fill	16, 1, 0x00
 1.17492 -+toofar_positive:
 1.17493 -+	sub	lr, pc, 0
 1.17494 -+
 1.17495 -+	.data
 1.17496 -+different_section:
 1.17497 -+	.long	0x12345678
 1.17498 ---- /dev/null
 1.17499 -+++ b/gas/testsuite/gas/avr32/pcrel.d
 1.17500 -@@ -0,0 +1,64 @@
 1.17501 -+#as:
 1.17502 -+#objdump: -dr
 1.17503 -+#name: pcrel
 1.17504 -+
 1.17505 -+.*: +file format .*
 1.17506 -+
 1.17507 -+Disassembly of section \.text:
 1.17508 -+
 1.17509 -+00000000 <test_rjmp>:
 1.17510 -+   0:	d7 03       	nop
 1.17511 -+   2:	c0 28       	rjmp 6 <test_rjmp\+0x6>
 1.17512 -+   4:	d7 03       	nop
 1.17513 -+   6:	e0 8f 00 00 	bral 6 <test_rjmp\+0x6>
 1.17514 -+			6: R_AVR32_22H_PCREL	extsym10
 1.17515 -+
 1.17516 -+0000000a <test_rcall>:
 1.17517 -+   a:	d7 03       	nop
 1.17518 -+0000000c <test_rcall2>:
 1.17519 -+   c:	c0 2c       	rcall 10 <test_rcall2\+0x4>
 1.17520 -+   e:	d7 03       	nop
 1.17521 -+  10:	e0 a0 00 00 	rcall 10 <test_rcall2\+0x4>
 1.17522 -+			10: R_AVR32_22H_PCREL	extsym21
 1.17523 -+
 1.17524 -+00000014 <test_branch>:
 1.17525 -+  14:	c0 31       	brne 1a <test_branch\+0x6>
 1.17526 -+  16:	e0 8f 00 00 	bral 16 <test_branch\+0x2>
 1.17527 -+			16: R_AVR32_22H_PCREL	test_branch
 1.17528 -+  1a:	e0 80 00 00 	breq 1a <test_branch\+0x6>
 1.17529 -+			1a: R_AVR32_22H_PCREL	extsym21
 1.17530 -+
 1.17531 -+0000001e <test_lddpc>:
 1.17532 -+  1e:	48 30       	lddpc r0,28 <sym1>
 1.17533 -+  20:	48 20       	lddpc r0,28 <sym1>
 1.17534 -+  22:	fe f0 00 00 	ld.w r0,pc\[0\]
 1.17535 -+			22: R_AVR32_16B_PCREL	extsym16
 1.17536 -+	\.\.\.
 1.17537 -+
 1.17538 -+00000028 <sym1>:
 1.17539 -+  28:	d7 03       	nop
 1.17540 -+  2a:	d7 03       	nop
 1.17541 -+
 1.17542 -+0000002c <test_local>:
 1.17543 -+  2c:	48 20       	lddpc r0,34 <test_local\+0x8>
 1.17544 -+  2e:	48 30       	lddpc r0,38 <test_local\+0xc>
 1.17545 -+  30:	48 20       	lddpc r0,38 <test_local\+0xc>
 1.17546 -+  32:	00 00       	add r0,r0
 1.17547 -+  34:	d7 03       	nop
 1.17548 -+  36:	d7 03       	nop
 1.17549 -+  38:	d7 03       	nop
 1.17550 -+  3a:	d7 03       	nop
 1.17551 -+
 1.17552 -+Disassembly of section \.text\.init:
 1.17553 -+
 1.17554 -+00000000 <test_inter_section>:
 1.17555 -+   0:	e0 a0 .. .. 	rcall [0-9a-f]+ <.*>
 1.17556 -+			0: R_AVR32_22H_PCREL	test_rcall
 1.17557 -+   4:	d7 03       	nop
 1.17558 -+   6:	e0 a0 .. .. 	rcall [0-9a-f]+ <.*>
 1.17559 -+			6: R_AVR32_22H_PCREL	test_rcall
 1.17560 -+   a:	e0 a0 .. .. 	rcall [0-9a-z]+ <.*>
 1.17561 -+			a: R_AVR32_22H_PCREL	\.text\+0xc
 1.17562 -+   e:	d7 03       	nop
 1.17563 -+  10:	e0 a0 .. .. 	rcall [0-9a-f]+ <.*>
 1.17564 -+			10: R_AVR32_22H_PCREL	\.text\+0xc
 1.17565 ---- /dev/null
 1.17566 -+++ b/gas/testsuite/gas/avr32/pcrel.s
 1.17567 -@@ -0,0 +1,57 @@
 1.17568 -+
 1.17569 -+        .text
 1.17570 -+        .global test_rjmp
 1.17571 -+test_rjmp:
 1.17572 -+        nop
 1.17573 -+        rjmp    0f
 1.17574 -+        nop
 1.17575 -+0:      rjmp    extsym10
 1.17576 -+
 1.17577 -+        .global test_rcall
 1.17578 -+test_rcall:
 1.17579 -+        nop
 1.17580 -+test_rcall2:
 1.17581 -+        rcall   0f
 1.17582 -+        nop
 1.17583 -+0:      rcall   extsym21
 1.17584 -+
 1.17585 -+        .global test_branch
 1.17586 -+test_branch:
 1.17587 -+        brne    0f
 1.17588 -+	/* This will generate a reloc since test_branch is global */
 1.17589 -+        bral    test_branch
 1.17590 -+0:	breq    extsym21
 1.17591 -+
 1.17592 -+        .global test_lddpc
 1.17593 -+test_lddpc:
 1.17594 -+        lddpc   r0,sym1
 1.17595 -+        lddpc   r0,sym1
 1.17596 -+        lddpc   r0,extsym16
 1.17597 -+
 1.17598 -+        .align	2
 1.17599 -+sym1:   nop
 1.17600 -+        nop
 1.17601 -+
 1.17602 -+	.global	test_local
 1.17603 -+test_local:
 1.17604 -+	lddpc	r0, .LC1
 1.17605 -+	lddpc	r0, .LC2
 1.17606 -+	lddpc	r0, .LC1 + 0x4
 1.17607 -+
 1.17608 -+	.align	2
 1.17609 -+.LC1:
 1.17610 -+	nop
 1.17611 -+	nop
 1.17612 -+.LC2:
 1.17613 -+	nop
 1.17614 -+	nop
 1.17615 -+
 1.17616 -+	.section .text.init,"ax"
 1.17617 -+	.global test_inter_section
 1.17618 -+test_inter_section:
 1.17619 -+	rcall	test_rcall
 1.17620 -+	nop
 1.17621 -+	rcall	test_rcall
 1.17622 -+	rcall	test_rcall2
 1.17623 -+	nop
 1.17624 -+	rcall	test_rcall2
 1.17625 ---- /dev/null
 1.17626 -+++ b/gas/testsuite/gas/avr32/pico.d
 1.17627 -@@ -0,0 +1,149 @@
 1.17628 -+#as:
 1.17629 -+#objdump: -dr
 1.17630 -+#name: pico
 1.17631 -+
 1.17632 -+.*: +file format .*
 1.17633 -+
 1.17634 -+Disassembly of section \.text:
 1.17635 -+
 1.17636 -+[0-9a-f]* <picosvmac>:
 1.17637 -+ *[0-9a-f]*:	e1 a6 20 00 	cop cp1,cr0,cr0,cr0,0xc
 1.17638 -+ *[0-9a-f]*:	e1 a7 2b bb 	cop cp1,cr11,cr11,cr11,0xe
 1.17639 -+ *[0-9a-f]*:	e1 a6 3a 05 	cop cp1,cr10,cr0,cr5,0xd
 1.17640 -+ *[0-9a-f]*:	e1 a7 36 90 	cop cp1,cr6,cr9,cr0,0xf
 1.17641 -+
 1.17642 -+[0-9a-f]* <picosvmul>:
 1.17643 -+ *[0-9a-f]*:	e1 a4 20 00 	cop cp1,cr0,cr0,cr0,0x8
 1.17644 -+ *[0-9a-f]*:	e1 a5 2b bb 	cop cp1,cr11,cr11,cr11,0xa
 1.17645 -+ *[0-9a-f]*:	e1 a4 3a 05 	cop cp1,cr10,cr0,cr5,0x9
 1.17646 -+ *[0-9a-f]*:	e1 a5 36 90 	cop cp1,cr6,cr9,cr0,0xb
 1.17647 -+
 1.17648 -+[0-9a-f]* <picovmac>:
 1.17649 -+ *[0-9a-f]*:	e1 a2 20 00 	cop cp1,cr0,cr0,cr0,0x4
 1.17650 -+ *[0-9a-f]*:	e1 a3 2b bb 	cop cp1,cr11,cr11,cr11,0x6
 1.17651 -+ *[0-9a-f]*:	e1 a2 3a 05 	cop cp1,cr10,cr0,cr5,0x5
 1.17652 -+ *[0-9a-f]*:	e1 a3 36 90 	cop cp1,cr6,cr9,cr0,0x7
 1.17653 -+
 1.17654 -+[0-9a-f]* <picovmul>:
 1.17655 -+ *[0-9a-f]*:	e1 a0 20 00 	cop cp1,cr0,cr0,cr0,0x0
 1.17656 -+ *[0-9a-f]*:	e1 a1 2b bb 	cop cp1,cr11,cr11,cr11,0x2
 1.17657 -+ *[0-9a-f]*:	e1 a0 3a 05 	cop cp1,cr10,cr0,cr5,0x1
 1.17658 -+ *[0-9a-f]*:	e1 a1 36 90 	cop cp1,cr6,cr9,cr0,0x3
 1.17659 -+
 1.17660 -+[0-9a-f]* <picold_d>:
 1.17661 -+ *[0-9a-f]*:	e9 af 3e ff 	ldc\.d cp1,cr14,pc\[0x3fc\]
 1.17662 -+ *[0-9a-f]*:	e9 a0 30 ff 	ldc\.d cp1,cr0,r0\[0x3fc\]
 1.17663 -+ *[0-9a-f]*:	e9 a0 30 00 	ldc\.d cp1,cr0,r0\[0x0\]
 1.17664 -+ *[0-9a-f]*:	ef a8 26 50 	ldc\.d cp1,cr6,--r8
 1.17665 -+ *[0-9a-f]*:	ef a7 28 50 	ldc\.d cp1,cr8,--r7
 1.17666 -+ *[0-9a-f]*:	ef aa 32 65 	ldc\.d cp1,cr2,r10\[r5<<0x2\]
 1.17667 -+ *[0-9a-f]*:	ef a3 3c 46 	ldc\.d cp1,cr12,r3\[r6\]
 1.17668 -+
 1.17669 -+[0-9a-f]* <picold_w>:
 1.17670 -+ *[0-9a-f]*:	e9 af 2f ff 	ldc\.w cp1,cr15,pc\[0x3fc\]
 1.17671 -+ *[0-9a-f]*:	e9 a0 20 ff 	ldc\.w cp1,cr0,r0\[0x3fc\]
 1.17672 -+ *[0-9a-f]*:	e9 a0 20 00 	ldc\.w cp1,cr0,r0\[0x0\]
 1.17673 -+ *[0-9a-f]*:	ef a8 27 40 	ldc\.w cp1,cr7,--r8
 1.17674 -+ *[0-9a-f]*:	ef a7 28 40 	ldc\.w cp1,cr8,--r7
 1.17675 -+ *[0-9a-f]*:	ef aa 31 25 	ldc\.w cp1,cr1,r10\[r5<<0x2\]
 1.17676 -+ *[0-9a-f]*:	ef a3 3d 06 	ldc\.w cp1,cr13,r3\[r6\]
 1.17677 -+
 1.17678 -+[0-9a-f]* <picoldm_d>:
 1.17679 -+ *[0-9a-f]*:	ed af 24 ff 	ldcm\.d cp1,pc,cr0-cr15
 1.17680 -+ *[0-9a-f]*:	ed a0 24 01 	ldcm\.d cp1,r0,cr0-cr1
 1.17681 -+ *[0-9a-f]*:	ed a7 24 80 	ldcm\.d cp1,r7,cr14-cr15
 1.17682 -+ *[0-9a-f]*:	ed a8 24 7f 	ldcm\.d cp1,r8,cr0-cr13
 1.17683 -+
 1.17684 -+[0-9a-f]* <picoldm_d_pu>:
 1.17685 -+ *[0-9a-f]*:	ed af 34 ff 	ldcm\.d cp1,pc\+\+,cr0-cr15
 1.17686 -+ *[0-9a-f]*:	ed a0 34 01 	ldcm\.d cp1,r0\+\+,cr0-cr1
 1.17687 -+ *[0-9a-f]*:	ed a7 34 80 	ldcm\.d cp1,r7\+\+,cr14-cr15
 1.17688 -+ *[0-9a-f]*:	ed a8 34 7f 	ldcm\.d cp1,r8\+\+,cr0-cr13
 1.17689 -+
 1.17690 -+[0-9a-f]* <picoldm_w>:
 1.17691 -+ *[0-9a-f]*:	ed af 20 ff 	ldcm\.w cp1,pc,cr0-cr7
 1.17692 -+ *[0-9a-f]*:	ed a0 20 01 	ldcm\.w cp1,r0,cr0
 1.17693 -+ *[0-9a-f]*:	ed a7 20 80 	ldcm\.w cp1,r7,cr7
 1.17694 -+ *[0-9a-f]*:	ed a8 20 7f 	ldcm\.w cp1,r8,cr0-cr6
 1.17695 -+ *[0-9a-f]*:	ed af 21 ff 	ldcm\.w cp1,pc,cr8-cr15
 1.17696 -+ *[0-9a-f]*:	ed a0 21 01 	ldcm\.w cp1,r0,cr8
 1.17697 -+ *[0-9a-f]*:	ed a7 21 80 	ldcm\.w cp1,r7,cr15
 1.17698 -+ *[0-9a-f]*:	ed a8 21 7f 	ldcm\.w cp1,r8,cr8-cr14
 1.17699 -+
 1.17700 -+[0-9a-f]* <picoldm_w_pu>:
 1.17701 -+ *[0-9a-f]*:	ed af 30 ff 	ldcm\.w cp1,pc\+\+,cr0-cr7
 1.17702 -+ *[0-9a-f]*:	ed a0 30 01 	ldcm\.w cp1,r0\+\+,cr0
 1.17703 -+ *[0-9a-f]*:	ed a7 30 80 	ldcm\.w cp1,r7\+\+,cr7
 1.17704 -+ *[0-9a-f]*:	ed a8 30 7f 	ldcm\.w cp1,r8\+\+,cr0-cr6
 1.17705 -+ *[0-9a-f]*:	ed af 31 ff 	ldcm\.w cp1,pc\+\+,cr8-cr15
 1.17706 -+ *[0-9a-f]*:	ed a0 31 01 	ldcm\.w cp1,r0\+\+,cr8
 1.17707 -+ *[0-9a-f]*:	ed a7 31 80 	ldcm\.w cp1,r7\+\+,cr15
 1.17708 -+ *[0-9a-f]*:	ed a8 31 7f 	ldcm\.w cp1,r8\+\+,cr8-cr14
 1.17709 -+
 1.17710 -+[0-9a-f]* <picomv_d>:
 1.17711 -+ *[0-9a-f]*:	ef ae 2e 30 	mvrc\.d cp1,cr14,lr
 1.17712 -+ *[0-9a-f]*:	ef a0 20 30 	mvrc\.d cp1,cr0,r0
 1.17713 -+ *[0-9a-f]*:	ef a8 26 30 	mvrc\.d cp1,cr6,r8
 1.17714 -+ *[0-9a-f]*:	ef a6 28 30 	mvrc\.d cp1,cr8,r6
 1.17715 -+ *[0-9a-f]*:	ef ae 2e 10 	mvcr\.d cp1,lr,cr14
 1.17716 -+ *[0-9a-f]*:	ef a0 20 10 	mvcr\.d cp1,r0,cr0
 1.17717 -+ *[0-9a-f]*:	ef a8 26 10 	mvcr\.d cp1,r8,cr6
 1.17718 -+ *[0-9a-f]*:	ef a6 28 10 	mvcr\.d cp1,r6,cr8
 1.17719 -+
 1.17720 -+[0-9a-f]* <picomv_w>:
 1.17721 -+ *[0-9a-f]*:	ef af 2f 20 	mvrc\.w cp1,cr15,pc
 1.17722 -+ *[0-9a-f]*:	ef a0 20 20 	mvrc\.w cp1,cr0,r0
 1.17723 -+ *[0-9a-f]*:	ef a8 27 20 	mvrc\.w cp1,cr7,r8
 1.17724 -+ *[0-9a-f]*:	ef a7 28 20 	mvrc\.w cp1,cr8,r7
 1.17725 -+ *[0-9a-f]*:	ef af 2f 00 	mvcr\.w cp1,pc,cr15
 1.17726 -+ *[0-9a-f]*:	ef a0 20 00 	mvcr\.w cp1,r0,cr0
 1.17727 -+ *[0-9a-f]*:	ef a8 27 00 	mvcr\.w cp1,r8,cr7
 1.17728 -+ *[0-9a-f]*:	ef a7 28 00 	mvcr\.w cp1,r7,cr8
 1.17729 -+
 1.17730 -+[0-9a-f]* <picost_d>:
 1.17731 -+ *[0-9a-f]*:	eb af 3e ff 	stc\.d cp1,pc\[0x3fc\],cr14
 1.17732 -+ *[0-9a-f]*:	eb a0 30 00 	stc\.d cp1,r0\[0x0\],cr0
 1.17733 -+ *[0-9a-f]*:	ef a8 26 70 	stc\.d cp1,r8\+\+,cr6
 1.17734 -+ *[0-9a-f]*:	ef a7 28 70 	stc\.d cp1,r7\+\+,cr8
 1.17735 -+ *[0-9a-f]*:	ef aa 32 e5 	stc\.d cp1,r10\[r5<<0x2\],cr2
 1.17736 -+ *[0-9a-f]*:	ef a3 3c c6 	stc\.d cp1,r3\[r6\],cr12
 1.17737 -+
 1.17738 -+[0-9a-f]* <picost_w>:
 1.17739 -+ *[0-9a-f]*:	eb af 2f ff 	stc\.w cp1,pc\[0x3fc\],cr15
 1.17740 -+ *[0-9a-f]*:	eb a0 20 00 	stc\.w cp1,r0\[0x0\],cr0
 1.17741 -+ *[0-9a-f]*:	ef a8 27 60 	stc\.w cp1,r8\+\+,cr7
 1.17742 -+ *[0-9a-f]*:	ef a7 28 60 	stc\.w cp1,r7\+\+,cr8
 1.17743 -+ *[0-9a-f]*:	ef aa 31 a5 	stc\.w cp1,r10\[r5<<0x2\],cr1
 1.17744 -+ *[0-9a-f]*:	ef a3 3d 86 	stc\.w cp1,r3\[r6\],cr13
 1.17745 -+
 1.17746 -+[0-9a-f]* <picostm_d>:
 1.17747 -+ *[0-9a-f]*:	ed af 25 ff 	stcm\.d cp1,pc,cr0-cr15
 1.17748 -+ *[0-9a-f]*:	ed a0 25 01 	stcm\.d cp1,r0,cr0-cr1
 1.17749 -+ *[0-9a-f]*:	ed a7 25 80 	stcm\.d cp1,r7,cr14-cr15
 1.17750 -+ *[0-9a-f]*:	ed a8 25 7f 	stcm\.d cp1,r8,cr0-cr13
 1.17751 -+
 1.17752 -+[0-9a-f]* <picostm_d_pu>:
 1.17753 -+ *[0-9a-f]*:	ed af 35 ff 	stcm\.d cp1,--pc,cr0-cr15
 1.17754 -+ *[0-9a-f]*:	ed a0 35 01 	stcm\.d cp1,--r0,cr0-cr1
 1.17755 -+ *[0-9a-f]*:	ed a7 35 80 	stcm\.d cp1,--r7,cr14-cr15
 1.17756 -+ *[0-9a-f]*:	ed a8 35 7f 	stcm\.d cp1,--r8,cr0-cr13
 1.17757 -+
 1.17758 -+[0-9a-f]* <picostm_w>:
 1.17759 -+ *[0-9a-f]*:	ed af 22 ff 	stcm\.w cp1,pc,cr0-cr7
 1.17760 -+ *[0-9a-f]*:	ed a0 22 01 	stcm\.w cp1,r0,cr0
 1.17761 -+ *[0-9a-f]*:	ed a7 22 80 	stcm\.w cp1,r7,cr7
 1.17762 -+ *[0-9a-f]*:	ed a8 22 7f 	stcm\.w cp1,r8,cr0-cr6
 1.17763 -+ *[0-9a-f]*:	ed af 23 ff 	stcm\.w cp1,pc,cr8-cr15
 1.17764 -+ *[0-9a-f]*:	ed a0 23 01 	stcm\.w cp1,r0,cr8
 1.17765 -+ *[0-9a-f]*:	ed a7 23 80 	stcm\.w cp1,r7,cr15
 1.17766 -+ *[0-9a-f]*:	ed a8 23 7f 	stcm\.w cp1,r8,cr8-cr14
 1.17767 -+
 1.17768 -+[0-9a-f]* <picostm_w_pu>:
 1.17769 -+ *[0-9a-f]*:	ed af 32 ff 	stcm\.w cp1,--pc,cr0-cr7
 1.17770 -+ *[0-9a-f]*:	ed a0 32 01 	stcm\.w cp1,--r0,cr0
 1.17771 -+ *[0-9a-f]*:	ed a7 32 80 	stcm\.w cp1,--r7,cr7
 1.17772 -+ *[0-9a-f]*:	ed a8 32 7f 	stcm\.w cp1,--r8,cr0-cr6
 1.17773 -+ *[0-9a-f]*:	ed af 33 ff 	stcm\.w cp1,--pc,cr8-cr15
 1.17774 -+ *[0-9a-f]*:	ed a0 33 01 	stcm\.w cp1,--r0,cr8
 1.17775 -+ *[0-9a-f]*:	ed a7 33 80 	stcm\.w cp1,--r7,cr15
 1.17776 -+ *[0-9a-f]*:	ed a8 33 7f 	stcm\.w cp1,--r8,cr8-cr14
 1.17777 ---- /dev/null
 1.17778 -+++ b/gas/testsuite/gas/avr32/pico.s
 1.17779 -@@ -0,0 +1,144 @@
 1.17780 -+
 1.17781 -+	.text
 1.17782 -+	.global	picosvmac
 1.17783 -+picosvmac:
 1.17784 -+	picosvmac	out0, in0, in0, in0
 1.17785 -+	picosvmac	out2, in11, in11, in11
 1.17786 -+	picosvmac	out1, in10, in0, in5
 1.17787 -+	picosvmac	out3, in6, in9, in0
 1.17788 -+	.global picosvmul
 1.17789 -+picosvmul:
 1.17790 -+	picosvmul	out0, in0, in0, in0
 1.17791 -+	picosvmul	out2, in11, in11, in11
 1.17792 -+	picosvmul	out1, in10, in0, in5
 1.17793 -+	picosvmul	out3, in6, in9, in0
 1.17794 -+	.global picovmac
 1.17795 -+picovmac:
 1.17796 -+	picovmac	out0, in0, in0, in0
 1.17797 -+	picovmac	out2, in11, in11, in11
 1.17798 -+	picovmac	out1, in10, in0, in5
 1.17799 -+	picovmac	out3, in6, in9, in0
 1.17800 -+	.global picovmul
 1.17801 -+picovmul:
 1.17802 -+	picovmul	out0, in0, in0, in0
 1.17803 -+	picovmul	out2, in11, in11, in11
 1.17804 -+	picovmul	out1, in10, in0, in5
 1.17805 -+	picovmul	out3, in6, in9, in0
 1.17806 -+	.global	picold_d
 1.17807 -+picold_d:
 1.17808 -+	picold.d	vmu2_out, pc[1020]
 1.17809 -+	picold.d	inpix2, r0[1020]
 1.17810 -+	picold.d	inpix2, r0[0]
 1.17811 -+	picold.d	coeff0_a, --r8
 1.17812 -+	picold.d	coeff1_a, --r7
 1.17813 -+	picold.d	inpix0, r10[r5 << 2]
 1.17814 -+	picold.d	vmu0_out, r3[r6 << 0]
 1.17815 -+	.global	picold_w
 1.17816 -+picold_w:	
 1.17817 -+	picold.w	config, pc[1020]
 1.17818 -+	picold.w	inpix2, r0[1020]
 1.17819 -+	picold.w	inpix2, r0[0]
 1.17820 -+	picold.w	coeff0_b, --r8
 1.17821 -+	picold.w	coeff1_a, --r7
 1.17822 -+	picold.w	inpix1, r10[r5 << 2]
 1.17823 -+	picold.w	vmu1_out, r3[r6 << 0]
 1.17824 -+	.global	picoldm_d
 1.17825 -+picoldm_d:
 1.17826 -+	picoldm.d	pc, inpix2-config
 1.17827 -+	picoldm.d	r0, inpix2, inpix1
 1.17828 -+	picoldm.d	r7, vmu2_out, config
 1.17829 -+	picoldm.d	r8, inpix2-vmu1_out
 1.17830 -+	.global	picoldm_d_pu
 1.17831 -+picoldm_d_pu:
 1.17832 -+	picoldm.d	pc++, inpix2, inpix1, inpix0, outpix2, outpix1, outpix0, coeff0_a, coeff0_b, coeff1_a, coeff1_b, coeff2_a, coeff2_b, vmu0_out, vmu1_out, vmu2_out, config
 1.17833 -+	picoldm.d	r0++, inpix2, inpix1
 1.17834 -+	picoldm.d	r7++, vmu2_out, config
 1.17835 -+	picoldm.d	r8++, inpix2, inpix1, inpix0, outpix2, outpix1, outpix0, coeff0_a, coeff0_b, coeff1_a, coeff1_b, coeff2_a, coeff2_b, vmu0_out, vmu1_out
 1.17836 -+	.global	picoldm_w
 1.17837 -+picoldm_w:
 1.17838 -+	picoldm.w	pc, inpix2-coeff0_b
 1.17839 -+	picoldm.w	r0, inpix2
 1.17840 -+	picoldm.w	r7, coeff0_b
 1.17841 -+	picoldm.w	r8, inpix2-coeff0_a
 1.17842 -+	picoldm.w	pc, coeff1_a-config
 1.17843 -+	picoldm.w	r0, coeff1_a
 1.17844 -+	picoldm.w	r7, config
 1.17845 -+	picoldm.w	r8, coeff1_a-vmu2_out
 1.17846 -+	.global	picoldm_w_pu
 1.17847 -+picoldm_w_pu:
 1.17848 -+	picoldm.w	pc++, inpix2-coeff0_b
 1.17849 -+	picoldm.w	r0++, inpix2
 1.17850 -+	picoldm.w	r7++, coeff0_b
 1.17851 -+	picoldm.w	r8++, inpix2-coeff0_a
 1.17852 -+	picoldm.w	pc++, coeff1_a-config
 1.17853 -+	picoldm.w	r0++, coeff1_a
 1.17854 -+	picoldm.w	r7++, config
 1.17855 -+	picoldm.w	r8++, coeff1_a-vmu2_out
 1.17856 -+	.global	picomv_d
 1.17857 -+picomv_d:
 1.17858 -+	picomv.d	vmu2_out, lr
 1.17859 -+	picomv.d	inpix2, r0
 1.17860 -+	picomv.d	coeff0_a, r8
 1.17861 -+	picomv.d	coeff1_a, r6
 1.17862 -+	picomv.d	pc, vmu2_out
 1.17863 -+	picomv.d	r0, inpix2
 1.17864 -+	picomv.d	r8, coeff0_a
 1.17865 -+	picomv.d	r6, coeff1_a
 1.17866 -+	.global	picomv_w
 1.17867 -+picomv_w:
 1.17868 -+	picomv.w	config, pc
 1.17869 -+	picomv.w	inpix2, r0
 1.17870 -+	picomv.w	coeff0_b, r8
 1.17871 -+	picomv.w	coeff1_a, r7
 1.17872 -+	picomv.w	pc, config
 1.17873 -+	picomv.w	r0, inpix2
 1.17874 -+	picomv.w	r8, coeff0_b
 1.17875 -+	picomv.w	r7, coeff1_a
 1.17876 -+	.global	picost_d
 1.17877 -+picost_d:
 1.17878 -+	picost.d	pc[1020], vmu2_out
 1.17879 -+	picost.d	r0[0], inpix2
 1.17880 -+	picost.d	r8++, coeff0_a
 1.17881 -+	picost.d	r7++, coeff1_a
 1.17882 -+	picost.d	r10[r5 << 2], inpix0
 1.17883 -+	picost.d	r3[r6 << 0], vmu0_out
 1.17884 -+	.global	picost_w
 1.17885 -+picost_w:	
 1.17886 -+	picost.w	pc[1020], config
 1.17887 -+	picost.w	r0[0], inpix2
 1.17888 -+	picost.w	r8++, coeff0_b
 1.17889 -+	picost.w	r7++, coeff1_a
 1.17890 -+	picost.w	r10[r5 << 2], inpix1
 1.17891 -+	picost.w	r3[r6 << 0], vmu1_out
 1.17892 -+	.global	picostm_d
 1.17893 -+picostm_d:
 1.17894 -+	picostm.d	pc, inpix2-config
 1.17895 -+	picostm.d	r0, inpix2, inpix1
 1.17896 -+	picostm.d	r7, vmu2_out, config
 1.17897 -+	picostm.d	r8, inpix2-vmu1_out
 1.17898 -+	.global	picostm_d_pu
 1.17899 -+picostm_d_pu:
 1.17900 -+	picostm.d	--pc, inpix2, inpix1, inpix0, outpix2, outpix1, outpix0, coeff0_a, coeff0_b, coeff1_a, coeff1_b, coeff2_a, coeff2_b, vmu0_out, vmu1_out, vmu2_out, config
 1.17901 -+	picostm.d	--r0, inpix2, inpix1
 1.17902 -+	picostm.d	--r7, vmu2_out, config
 1.17903 -+	picostm.d	--r8, inpix2, inpix1, inpix0, outpix2, outpix1, outpix0, coeff0_a, coeff0_b, coeff1_a, coeff1_b, coeff2_a, coeff2_b, vmu0_out, vmu1_out
 1.17904 -+	.global	picostm_w
 1.17905 -+picostm_w:
 1.17906 -+	picostm.w	pc, inpix2-coeff0_b
 1.17907 -+	picostm.w	r0, inpix2
 1.17908 -+	picostm.w	r7, coeff0_b
 1.17909 -+	picostm.w	r8, inpix2-coeff0_a
 1.17910 -+	picostm.w	pc, coeff1_a-config
 1.17911 -+	picostm.w	r0, coeff1_a
 1.17912 -+	picostm.w	r7, config
 1.17913 -+	picostm.w	r8, coeff1_a-vmu2_out
 1.17914 -+	.global	picostm_w_pu
 1.17915 -+picostm_w_pu:
 1.17916 -+	picostm.w	--pc, inpix2-coeff0_b
 1.17917 -+	picostm.w	--r0, inpix2
 1.17918 -+	picostm.w	--r7, coeff0_b
 1.17919 -+	picostm.w	--r8, inpix2-coeff0_a
 1.17920 -+	picostm.w	--pc, coeff1_a-config
 1.17921 -+	picostm.w	--r0, coeff1_a
 1.17922 -+	picostm.w	--r7, config
 1.17923 -+	picostm.w	--r8, coeff1_a-vmu2_out
 1.17924 ---- /dev/null
 1.17925 -+++ b/gas/testsuite/gas/avr32/pic_reloc.d
 1.17926 -@@ -0,0 +1,27 @@
 1.17927 -+#as:
 1.17928 -+#objdump: -dr
 1.17929 -+#name: pic_reloc
 1.17930 -+
 1.17931 -+.*: +file format .*
 1.17932 -+
 1.17933 -+Disassembly of section \.text:
 1.17934 -+
 1.17935 -+00000000 <mcall_got>:
 1.17936 -+   0:	f0 16 00 00 	mcall r6\[0\]
 1.17937 -+			0: R_AVR32_GOT18SW	extfunc
 1.17938 -+   4:	f0 16 00 00 	mcall r6\[0\]
 1.17939 -+			4: R_AVR32_GOT18SW	\.L1
 1.17940 -+   8:	f0 16 00 00 	mcall r6\[0\]
 1.17941 -+			8: R_AVR32_GOT18SW	\.L2
 1.17942 -+   c:	f0 16 00 00 	mcall r6\[0\]
 1.17943 -+			c: R_AVR32_GOT18SW	mcall_got
 1.17944 -+
 1.17945 -+00000010 <ldw_got>:
 1.17946 -+  10:	ec f0 00 00 	ld.w r0,r6\[0\]
 1.17947 -+			10: R_AVR32_GOT16S	extvar
 1.17948 -+  14:	ec f0 00 00 	ld.w r0,r6\[0\]
 1.17949 -+			14: R_AVR32_GOT16S	\.L3
 1.17950 -+  18:	ec f0 00 00 	ld.w r0,r6\[0\]
 1.17951 -+			18: R_AVR32_GOT16S	\.L4
 1.17952 -+  1c:	ec f0 00 00 	ld.w r0,r6\[0\]
 1.17953 -+			1c: R_AVR32_GOT16S	ldw_got
 1.17954 ---- /dev/null
 1.17955 -+++ b/gas/testsuite/gas/avr32/pic_reloc.s
 1.17956 -@@ -0,0 +1,18 @@
 1.17957 -+
 1.17958 -+	.text
 1.17959 -+	.global	mcall_got
 1.17960 -+mcall_got:
 1.17961 -+.L1:
 1.17962 -+	mcall	r6[extfunc@got]
 1.17963 -+	mcall	r6[.L1@got]
 1.17964 -+	mcall	r6[.L2@got]
 1.17965 -+	mcall	r6[mcall_got@got]
 1.17966 -+.L2:
 1.17967 -+
 1.17968 -+	.global	ldw_got
 1.17969 -+ldw_got:
 1.17970 -+.L3:	ld.w	r0,r6[extvar@got]
 1.17971 -+	ld.w	r0,r6[.L3@got]
 1.17972 -+	ld.w	r0,r6[.L4@got]
 1.17973 -+	ld.w	r0,r6[ldw_got@got]
 1.17974 -+.L4:
 1.17975 ---- /dev/null
 1.17976 -+++ b/gas/testsuite/gas/avr32/symdiff.d
 1.17977 -@@ -0,0 +1,24 @@
 1.17978 -+#source: symdiff.s
 1.17979 -+#as:
 1.17980 -+#objdump: -dr
 1.17981 -+#name: symdiff
 1.17982 -+
 1.17983 -+.*: +file format .*
 1.17984 -+
 1.17985 -+Disassembly of section \.text:
 1.17986 -+
 1.17987 -+00000000 <diff32>:
 1.17988 -+   0:	00 00       	add r0,r0
 1.17989 -+   2:	00 04       	add r4,r0
 1.17990 -+
 1.17991 -+00000004 <diff16>:
 1.17992 -+   4:	00 04       	add r4,r0
 1.17993 -+
 1.17994 -+00000006 <diff8>:
 1.17995 -+   6:	04 00       	add r0,r2
 1.17996 -+
 1.17997 -+00000008 <symdiff_test>:
 1.17998 -+   8:	d7 03       	nop
 1.17999 -+   a:	d7 03       	nop
 1.18000 -+   c:	d7 03       	nop
 1.18001 -+   e:	d7 03       	nop
 1.18002 ---- /dev/null
 1.18003 -+++ b/gas/testsuite/gas/avr32/symdiff_linkrelax.d
 1.18004 -@@ -0,0 +1,28 @@
 1.18005 -+#source: symdiff.s
 1.18006 -+#as: --linkrelax
 1.18007 -+#objdump: -dr
 1.18008 -+#name: symdiff_linkrelax
 1.18009 -+
 1.18010 -+.*: +file format .*
 1.18011 -+
 1.18012 -+Disassembly of section \.text:
 1.18013 -+
 1.18014 -+00000000 <diff32>:
 1.18015 -+   0:	00 00       	add r0,r0
 1.18016 -+			0: R_AVR32_DIFF32	\.text\+0xa
 1.18017 -+   2:	00 04       	add r4,r0
 1.18018 -+
 1.18019 -+00000004 <diff16>:
 1.18020 -+   4:	00 04       	add r4,r0
 1.18021 -+			4: R_AVR32_DIFF16	\.text\+0xa
 1.18022 -+
 1.18023 -+00000006 <diff8>:
 1.18024 -+   6:	04 00       	add r0,r2
 1.18025 -+			6: R_AVR32_DIFF8	\.text\+0xa
 1.18026 -+			7: R_AVR32_ALIGN	\*ABS\*\+0x1
 1.18027 -+
 1.18028 -+00000008 <symdiff_test>:
 1.18029 -+   8:	d7 03       	nop
 1.18030 -+   a:	d7 03       	nop
 1.18031 -+   c:	d7 03       	nop
 1.18032 -+   e:	d7 03       	nop
 1.18033 ---- /dev/null
 1.18034 -+++ b/gas/testsuite/gas/avr32/symdiff.s
 1.18035 -@@ -0,0 +1,19 @@
 1.18036 -+
 1.18037 -+	.text
 1.18038 -+	.global	diff32
 1.18039 -+diff32:
 1.18040 -+	.long	.L2 - .L1
 1.18041 -+	.global	diff16
 1.18042 -+diff16:
 1.18043 -+	.short	.L2 - .L1
 1.18044 -+	.global	diff8
 1.18045 -+diff8:
 1.18046 -+	.byte	.L2 - .L1
 1.18047 -+
 1.18048 -+	.global	symdiff_test
 1.18049 -+	.align	1
 1.18050 -+symdiff_test:
 1.18051 -+	nop
 1.18052 -+.L1:	nop
 1.18053 -+	nop
 1.18054 -+.L2:	nop
 1.18055 ---- a/gas/write.c
 1.18056 -+++ b/gas/write.c
 1.18057 -@@ -1955,6 +1955,10 @@ relax_frag (segT segment, fragS *fragP, 
 1.18058 - 
 1.18059 - #endif /* defined (TC_GENERIC_RELAX_TABLE)  */
 1.18060 - 
 1.18061 -+#ifdef TC_RELAX_ALIGN
 1.18062 -+#define RELAX_ALIGN(SEG, FRAG, ADDR) TC_RELAX_ALIGN(SEG, FRAG, ADDR)
 1.18063 -+#else
 1.18064 -+#define RELAX_ALIGN(SEG, FRAG, ADDR) relax_align(ADDR, (FRAG)->fr_offset)
 1.18065 - /* Relax_align. Advance location counter to next address that has 'alignment'
 1.18066 -    lowest order bits all 0s, return size of adjustment made.  */
 1.18067 - static relax_addressT
 1.18068 -@@ -1974,6 +1978,7 @@ relax_align (register relax_addressT add
 1.18069 - #endif
 1.18070 -   return (new_address - address);
 1.18071 - }
 1.18072 -+#endif
 1.18073 - 
 1.18074 - /* Now we have a segment, not a crowd of sub-segments, we can make
 1.18075 -    fr_address values.
 1.18076 -@@ -2017,7 +2022,7 @@ relax_segment (struct frag *segment_frag
 1.18077 - 	case rs_align_code:
 1.18078 - 	case rs_align_test:
 1.18079 - 	  {
 1.18080 --	    addressT offset = relax_align (address, (int) fragP->fr_offset);
 1.18081 -+	    addressT offset = RELAX_ALIGN(segment, fragP, address);
 1.18082 - 
 1.18083 - 	    if (fragP->fr_subtype != 0 && offset > fragP->fr_subtype)
 1.18084 - 	      offset = 0;
 1.18085 -@@ -2218,10 +2223,10 @@ relax_segment (struct frag *segment_frag
 1.18086 - 		{
 1.18087 - 		  addressT oldoff, newoff;
 1.18088 - 
 1.18089 --		  oldoff = relax_align (was_address + fragP->fr_fix,
 1.18090 --					(int) offset);
 1.18091 --		  newoff = relax_align (address + fragP->fr_fix,
 1.18092 --					(int) offset);
 1.18093 -+		  oldoff = RELAX_ALIGN (segment, fragP,
 1.18094 -+					was_address + fragP->fr_fix);
 1.18095 -+		  newoff = RELAX_ALIGN (segment, fragP,
 1.18096 -+					address + fragP->fr_fix);
 1.18097 - 
 1.18098 - 		  if (fragP->fr_subtype != 0)
 1.18099 - 		    {
 1.18100 ---- a/include/dis-asm.h
 1.18101 -+++ b/include/dis-asm.h
 1.18102 -@@ -204,13 +204,14 @@ typedef struct disassemble_info
 1.18103 - 
 1.18104 - } disassemble_info;
 1.18105 - 
 1.18106 --
 1.18107 -+
 1.18108 - /* Standard disassemblers.  Disassemble one instruction at the given
 1.18109 -    target address.  Return number of octets processed.  */
 1.18110 - typedef int (*disassembler_ftype) (bfd_vma, disassemble_info *);
 1.18111 - 
 1.18112 - extern int print_insn_alpha		(bfd_vma, disassemble_info *);
 1.18113 - extern int print_insn_avr		(bfd_vma, disassemble_info *);
 1.18114 -+extern int print_insn_avr32		(bfd_vma, disassemble_info *);
 1.18115 - extern int print_insn_bfin		(bfd_vma, disassemble_info *);
 1.18116 - extern int print_insn_big_arm		(bfd_vma, disassemble_info *);
 1.18117 - extern int print_insn_big_mips		(bfd_vma, disassemble_info *);
 1.18118 -@@ -242,7 +243,7 @@ extern int print_insn_little_arm	(bfd_vm
 1.18119 - extern int print_insn_little_mips	(bfd_vma, disassemble_info *);
 1.18120 - extern int print_insn_little_or32	(bfd_vma, disassemble_info *);
 1.18121 - extern int print_insn_little_powerpc	(bfd_vma, disassemble_info *);
 1.18122 --extern int print_insn_little_score      (bfd_vma, disassemble_info *); 
 1.18123 -+extern int print_insn_little_score      (bfd_vma, disassemble_info *);
 1.18124 - extern int print_insn_m32c	        (bfd_vma, disassemble_info *);
 1.18125 - extern int print_insn_m32r		(bfd_vma, disassemble_info *);
 1.18126 - extern int print_insn_m68hc11		(bfd_vma, disassemble_info *);
 1.18127 -@@ -290,7 +291,9 @@ extern void print_i386_disassembler_opti
 1.18128 - extern void print_mips_disassembler_options (FILE *);
 1.18129 - extern void print_ppc_disassembler_options (FILE *);
 1.18130 - extern void print_arm_disassembler_options (FILE *);
 1.18131 -+extern void print_avr32_disassembler_options (FILE *);
 1.18132 - extern void parse_arm_disassembler_option (char *);
 1.18133 -+extern void parse_avr32_disassembler_option (char *);
 1.18134 - extern int  get_arm_regname_num_options (void);
 1.18135 - extern int  set_arm_regname_option (int);
 1.18136 - extern int  get_arm_regnames (int, const char **, const char **, const char *const **);
 1.18137 -@@ -306,7 +309,7 @@ extern void disassemble_init_for_target 
 1.18138 - /* Document any target specific options available from the disassembler.  */
 1.18139 - extern void disassembler_usage (FILE *);
 1.18140 - 
 1.18141 --
 1.18142 -+
 1.18143 - /* This block of definitions is for particular callers who read instructions
 1.18144 -    into a buffer before calling the instruction decoder.  */
 1.18145 - 
 1.18146 ---- /dev/null
 1.18147 -+++ b/include/elf/avr32.h
 1.18148 -@@ -0,0 +1,98 @@
 1.18149 -+/* AVR32 ELF support for BFD.
 1.18150 -+   Copyright 2003-2006 Atmel Corporation.
 1.18151 -+
 1.18152 -+   Written by Haavard Skinnemoen, Atmel Norway, <hskinnemoen@atmel.com>
 1.18153 -+
 1.18154 -+   This file is part of BFD, the Binary File Descriptor library.
 1.18155 -+
 1.18156 -+   This program is free software; you can redistribute it and/or
 1.18157 -+   modify it under the terms of the GNU General Public License as
 1.18158 -+   published by the Free Software Foundation; either version 2 of the
 1.18159 -+   License, or (at your option) any later version.
 1.18160 -+
 1.18161 -+   This program is distributed in the hope that it will be useful, but
 1.18162 -+   WITHOUT ANY WARRANTY; without even the implied warranty of
 1.18163 -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 1.18164 -+   General Public License for more details.
 1.18165 -+
 1.18166 -+   You should have received a copy of the GNU General Public License
 1.18167 -+   along with this program; if not, write to the Free Software
 1.18168 -+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 1.18169 -+   02111-1307, USA.  */
 1.18170 -+
 1.18171 -+#include "elf/reloc-macros.h"
 1.18172 -+
 1.18173 -+/* CPU-specific flags for the ELF header e_flags field */
 1.18174 -+#define EF_AVR32_LINKRELAX		0x01
 1.18175 -+#define EF_AVR32_PIC			0x02
 1.18176 -+
 1.18177 -+START_RELOC_NUMBERS (elf_avr32_reloc_type)
 1.18178 -+    RELOC_NUMBER (R_AVR32_NONE,			0)
 1.18179 -+
 1.18180 -+    /* Data Relocations */
 1.18181 -+    RELOC_NUMBER (R_AVR32_32,			1)
 1.18182 -+    RELOC_NUMBER (R_AVR32_16,			2)
 1.18183 -+    RELOC_NUMBER (R_AVR32_8,			3)
 1.18184 -+    RELOC_NUMBER (R_AVR32_32_PCREL,		4)
 1.18185 -+    RELOC_NUMBER (R_AVR32_16_PCREL,		5)
 1.18186 -+    RELOC_NUMBER (R_AVR32_8_PCREL,		6)
 1.18187 -+    RELOC_NUMBER (R_AVR32_DIFF32,		7)
 1.18188 -+    RELOC_NUMBER (R_AVR32_DIFF16,		8)
 1.18189 -+    RELOC_NUMBER (R_AVR32_DIFF8,		9)
 1.18190 -+    RELOC_NUMBER (R_AVR32_GOT32,		10)
 1.18191 -+    RELOC_NUMBER (R_AVR32_GOT16,		11)
 1.18192 -+    RELOC_NUMBER (R_AVR32_GOT8,			12)
 1.18193 -+
 1.18194 -+    /* Normal Code Relocations */
 1.18195 -+    RELOC_NUMBER (R_AVR32_21S,			13)
 1.18196 -+    RELOC_NUMBER (R_AVR32_16U,			14)
 1.18197 -+    RELOC_NUMBER (R_AVR32_16S,			15)
 1.18198 -+    RELOC_NUMBER (R_AVR32_8S,			16)
 1.18199 -+    RELOC_NUMBER (R_AVR32_8S_EXT,		17)
 1.18200 -+
 1.18201 -+    /* PC-Relative Code Relocations */
 1.18202 -+    RELOC_NUMBER (R_AVR32_22H_PCREL,		18)
 1.18203 -+    RELOC_NUMBER (R_AVR32_18W_PCREL,		19)
 1.18204 -+    RELOC_NUMBER (R_AVR32_16B_PCREL,		20)
 1.18205 -+    RELOC_NUMBER (R_AVR32_16N_PCREL,		21)
 1.18206 -+    RELOC_NUMBER (R_AVR32_14UW_PCREL,		22)
 1.18207 -+    RELOC_NUMBER (R_AVR32_11H_PCREL,		23)
 1.18208 -+    RELOC_NUMBER (R_AVR32_10UW_PCREL,		24)
 1.18209 -+    RELOC_NUMBER (R_AVR32_9H_PCREL,		25)
 1.18210 -+    RELOC_NUMBER (R_AVR32_9UW_PCREL,		26)
 1.18211 -+
 1.18212 -+    /* Special Code Relocations */
 1.18213 -+    RELOC_NUMBER (R_AVR32_HI16,			27)
 1.18214 -+    RELOC_NUMBER (R_AVR32_LO16,			28)
 1.18215 -+
 1.18216 -+    /* PIC Relocations */
 1.18217 -+    RELOC_NUMBER (R_AVR32_GOTPC,		29)
 1.18218 -+    RELOC_NUMBER (R_AVR32_GOTCALL,		30)
 1.18219 -+    RELOC_NUMBER (R_AVR32_LDA_GOT,		31)
 1.18220 -+    RELOC_NUMBER (R_AVR32_GOT21S,		32)
 1.18221 -+    RELOC_NUMBER (R_AVR32_GOT18SW,		33)
 1.18222 -+    RELOC_NUMBER (R_AVR32_GOT16S,		34)
 1.18223 -+    RELOC_NUMBER (R_AVR32_GOT7UW,		35)
 1.18224 -+
 1.18225 -+    /* Constant Pool Relocations */
 1.18226 -+    RELOC_NUMBER (R_AVR32_32_CPENT,		36)
 1.18227 -+    RELOC_NUMBER (R_AVR32_CPCALL,		37)
 1.18228 -+    RELOC_NUMBER (R_AVR32_16_CP,		38)
 1.18229 -+    RELOC_NUMBER (R_AVR32_9W_CP,		39)
 1.18230 -+
 1.18231 -+    /* Dynamic Relocations */
 1.18232 -+    RELOC_NUMBER (R_AVR32_RELATIVE,		40)
 1.18233 -+    RELOC_NUMBER (R_AVR32_GLOB_DAT,		41)
 1.18234 -+    RELOC_NUMBER (R_AVR32_JMP_SLOT,		42)
 1.18235 -+
 1.18236 -+    /* Linkrelax Information */
 1.18237 -+    RELOC_NUMBER (R_AVR32_ALIGN,		43)
 1.18238 -+
 1.18239 -+    RELOC_NUMBER (R_AVR32_15S,		        44)
 1.18240 -+
 1.18241 -+END_RELOC_NUMBERS (R_AVR32_max)
 1.18242 -+
 1.18243 -+/* Processor specific dynamic array tags.  */
 1.18244 -+
 1.18245 -+/* The total size in bytes of the Global Offset Table */
 1.18246 -+#define DT_AVR32_GOTSZ			0x70000001
 1.18247 ---- a/include/elf/common.h
 1.18248 -+++ b/include/elf/common.h
 1.18249 -@@ -259,6 +259,9 @@
 1.18250 - /* V850 backend magic number.  Written in the absense of an ABI.  */
 1.18251 - #define EM_CYGNUS_V850		0x9080
 1.18252 - 
 1.18253 -+/* AVR32 magic number, picked by IAR Systems. */
 1.18254 -+#define EM_AVR32		0x18ad
 1.18255 -+
 1.18256 - /* old S/390 backend magic number. Written in the absence of an ABI.  */
 1.18257 - #define EM_S390_OLD		0xa390
 1.18258 - 
 1.18259 ---- a/ld/configdoc.texi
 1.18260 -+++ b/ld/configdoc.texi
 1.18261 -@@ -7,6 +7,7 @@
 1.18262 - @set H8300
 1.18263 - @set HPPA
 1.18264 - @set I960
 1.18265 -+@set AVR32
 1.18266 - @set M68HC11
 1.18267 - @set MMIX
 1.18268 - @set MSP430
 1.18269 ---- a/ld/configure.tgt
 1.18270 -+++ b/ld/configure.tgt
 1.18271 -@@ -109,6 +109,9 @@ xscale-*-elf)		targ_emul=armelf
 1.18272 - avr-*-*)		targ_emul=avr2
 1.18273 - 			targ_extra_emuls="avr1 avr3 avr4 avr5 avr6"
 1.18274 - 			;;
 1.18275 -+avr32-*-none)       targ_emul=avr32elf_ap7000
 1.18276 -+            targ_extra_emuls="avr32elf_ap7001 avr32elf_ap7002 avr32elf_ap7200 avr32elf_uc3a0128 avr32elf_uc3a0256 avr32elf_uc3a0512 avr32elf_uc3a0512es avr32elf_uc3a1128 avr32elf_uc3a1256 avr32elf_uc3a1512es avr32elf_uc3a1512 avr32elf_uc3a364 avr32elf_uc3a364s avr32elf_uc3a3128 avr32elf_uc3a3128s avr32elf_uc3a3256 avr32elf_uc3a3256s avr32elf_uc3b064 avr32elf_uc3b0128 avr32elf_uc3b0256es avr32elf_uc3b0256 avr32elf_uc3b164 avr32elf_uc3b1128 avr32elf_uc3b1256es avr32elf_uc3b1256" ;;
 1.18277 -+avr32-*-linux*)     targ_emul=avr32linux ;;
 1.18278 - bfin-*-elf)		targ_emul=elf32bfin;
 1.18279 - 			targ_extra_emuls="elf32bfinfd"
 1.18280 - 			targ_extra_libpath=$targ_extra_emuls
 1.18281 ---- /dev/null
 1.18282 -+++ b/ld/emulparams/avr32elf.sh
 1.18283 -@@ -0,0 +1,163 @@
 1.18284 -+# This script is called from ld/genscript.sh 
 1.18285 -+# There is a difference on how 'bash' and POSIX handles 
 1.18286 -+# the  '.' (source) command in a script.
 1.18287 -+# genscript.sh calls this script with argument ${EMULATION_NAME}
 1.18288 -+# but that will fail on POSIX compilant shells like 'sh' or 'dash'
 1.18289 -+# therefor I use the variable directly instead of $1 
 1.18290 -+EMULATION=${EMULATION_NAME}
 1.18291 -+SCRIPT_NAME=elf_xip
 1.18292 -+TEMPLATE_NAME=elf32
 1.18293 -+EXTRA_EM_FILE=avr32elf
 1.18294 -+OUTPUT_FORMAT="elf32-avr32"
 1.18295 -+ARCH=avr32
 1.18296 -+MAXPAGESIZE=4096
 1.18297 -+ENTRY=_start
 1.18298 -+EMBEDDED=yes
 1.18299 -+NO_SMALL_DATA=yes
 1.18300 -+NOP=0xd703d703
 1.18301 -+
 1.18302 -+DATA_SEGMENT_ALIGN=8
 1.18303 -+BSS_ALIGNMENT=8
 1.18304 -+
 1.18305 -+RO_LMA_REGION="FLASH"
 1.18306 -+RO_VMA_REGION="FLASH"
 1.18307 -+RW_LMA_REGION="FLASH"
 1.18308 -+RW_VMA_REGION="CPUSRAM"
 1.18309 -+
 1.18310 -+STACK_SIZE=0x1000
 1.18311 -+STACK_ADDR="ORIGIN(CPUSRAM) + LENGTH(CPUSRAM) - ${STACK_SIZE}"
 1.18312 -+
 1.18313 -+DATA_SEGMENT_END="__heap_start__ = ALIGN(8);
 1.18314 -+  . = ${STACK_ADDR};
 1.18315 -+  __heap_end__ = .;"
 1.18316 -+
 1.18317 -+case "$EMULATION" in
 1.18318 -+avr32elf_ap*)
 1.18319 -+    MACHINE=ap
 1.18320 -+    INITIAL_READONLY_SECTIONS=".reset : {  *(.reset) } >FLASH AT>FLASH
 1.18321 -+    . = . & 0x9fffffff;"
 1.18322 -+    TEXT_START_ADDR=0xa0000000
 1.18323 -+    case "$EMULATION" in
 1.18324 -+	    avr32elf_ap700[0-2])
 1.18325 -+	       MEMORY="MEMORY
 1.18326 -+  {
 1.18327 -+	FLASH (rxai) : ORIGIN = 0x00000000, LENGTH = 64M
 1.18328 -+	CPUSRAM (rwxa) : ORIGIN = 0x24000000, LENGTH = 32K
 1.18329 -+  }"
 1.18330 -+        ;;
 1.18331 -+    avr32elf_ap7200)
 1.18332 -+        MEMORY="MEMORY
 1.18333 -+  {
 1.18334 -+    FLASH (rxai) : ORIGIN = 0x00000000, LENGTH = 64M
 1.18335 -+    CPUSRAM (rwxa) : ORIGIN = 0x08000000, LENGTH = 64K
 1.18336 -+  }"
 1.18337 -+        ;;
 1.18338 -+    esac
 1.18339 -+    ;;
 1.18340 -+
 1.18341 -+avr32elf_uc3*)
 1.18342 -+    MACHINE=uc
 1.18343 -+    INITIAL_READONLY_SECTIONS=".reset : {  *(.reset) } >FLASH AT>FLASH"
 1.18344 -+    TEXT_START_ADDR=0x80000000
 1.18345 -+    OTHER_SECTIONS=".userpage :  {	*(.userpage .userpage.*)  } >USERPAGE AT>USERPAGE
 1.18346 -+  	.factorypage :  {	*(.factorypage .factorypage.*)  } >FACTORYPAGE AT>FACTORYPAGE"
 1.18347 -+
 1.18348 -+    case "$EMULATION" in
 1.18349 -+    avr32elf_uc3a[01]512*)
 1.18350 -+       MEMORY="MEMORY
 1.18351 -+  {
 1.18352 -+    FLASH (rxai!w) : ORIGIN = 0x80000000, LENGTH = 512K
 1.18353 -+    CPUSRAM (wxa!ri) : ORIGIN = 0x00000000, LENGTH = 64K
 1.18354 -+	USERPAGE : ORIGIN = 0x80800000, LENGTH = 512
 1.18355 -+	FACTORYPAGE : ORIGIN = 0x80800200, LENGTH = 512
 1.18356 -+  }"
 1.18357 -+        ;;
 1.18358 -+
 1.18359 -+    avr32elf_uc3a[01]256)
 1.18360 -+        MEMORY="MEMORY
 1.18361 -+  {
 1.18362 -+    FLASH (rxai!w) : ORIGIN = 0x80000000, LENGTH = 256K
 1.18363 -+    CPUSRAM (wxa!ri) : ORIGIN = 0x00000000, LENGTH = 64K
 1.18364 -+	USERPAGE : ORIGIN = 0x80800000, LENGTH = 512
 1.18365 -+	FACTORYPAGE : ORIGIN = 0x80800200, LENGTH = 512
 1.18366 -+  }"
 1.18367 -+        ;;
 1.18368 -+
 1.18369 -+    avr32elf_uc3b[01]256*)
 1.18370 -+        MEMORY="MEMORY
 1.18371 -+  {
 1.18372 -+    FLASH (rxai!w) : ORIGIN = 0x80000000, LENGTH = 256K
 1.18373 -+    CPUSRAM (wxa!ri) : ORIGIN = 0x00000000, LENGTH = 32K
 1.18374 -+	USERPAGE : ORIGIN = 0x80800000, LENGTH = 512
 1.18375 -+	FACTORYPAGE : ORIGIN = 0x80800200, LENGTH = 512
 1.18376 -+  }"
 1.18377 -+        ;;
 1.18378 -+
 1.18379 -+    avr32elf_uc3[ab][01]128)
 1.18380 -+        MEMORY="MEMORY
 1.18381 -+  {
 1.18382 -+    FLASH (rxai!w) : ORIGIN = 0x80000000, LENGTH = 128K
 1.18383 -+    CPUSRAM (wxa!ri) : ORIGIN = 0x00000000, LENGTH = 32K
 1.18384 -+	USERPAGE : ORIGIN = 0x80800000, LENGTH = 512
 1.18385 -+	FACTORYPAGE : ORIGIN = 0x80800200, LENGTH = 512
 1.18386 -+  }"
 1.18387 -+        ;;
 1.18388 -+
 1.18389 -+    avr32elf_uc3b[01]64)
 1.18390 -+        MEMORY="MEMORY
 1.18391 -+  {
 1.18392 -+    FLASH (rxai!w) : ORIGIN = 0x80000000, LENGTH = 64K
 1.18393 -+    CPUSRAM (wxa!ri) : ORIGIN = 0x00000000, LENGTH = 16K
 1.18394 -+	USERPAGE : ORIGIN = 0x80800000, LENGTH = 512
 1.18395 -+	FACTORYPAGE : ORIGIN = 0x80800200, LENGTH = 512
 1.18396 -+  }"
 1.18397 -+        ;;
 1.18398 -+
 1.18399 -+    avr32elf_uc3a3256*)
 1.18400 -+        MEMORY="MEMORY
 1.18401 -+  {
 1.18402 -+    FLASH (rxai!w) : ORIGIN = 0x80000000, LENGTH = 256K
 1.18403 -+    CPUSRAM (wxa!ri) : ORIGIN = 0x00000000, LENGTH = 64K
 1.18404 -+    HSBSRAM (wxa!ri) : ORIGIN = 0xFF000000, LENGTH = 64K
 1.18405 -+	USERPAGE : ORIGIN = 0x80800000, LENGTH = 512
 1.18406 -+	FACTORYPAGE : ORIGIN = 0x80800200, LENGTH = 512
 1.18407 -+  }"
 1.18408 -+  		OTHER_SECTIONS ="${OTHER_SECTIONS}
 1.18409 -+  	.hsbsram       : { *(.hsbsram .hsbsram.*) } >HSBSRAM AT>FLASH :FLASH
 1.18410 -+"
 1.18411 -+  		
 1.18412 -+        ;;
 1.18413 -+
 1.18414 -+    avr32elf_uc3a3128*)
 1.18415 -+        MEMORY="MEMORY
 1.18416 -+  {
 1.18417 -+    FLASH (rxai!w) : ORIGIN = 0x80000000, LENGTH = 128K
 1.18418 -+    CPUSRAM (wxa!ri) : ORIGIN = 0x00000000, LENGTH = 64K
 1.18419 -+    HSBSRAM (wxa!ri) : ORIGIN = 0xFF000000, LENGTH = 64K
 1.18420 -+    USERPAGE : ORIGIN = 0x80800000, LENGTH = 512
 1.18421 -+    FACTORYPAGE : ORIGIN = 0x80800200, LENGTH = 512
 1.18422 -+  }"
 1.18423 -+  		OTHER_SECTIONS ="${OTHER_SECTIONS}
 1.18424 -+  	.hsbsram       : { *(.hsbsram .hsbsram.*) } >HSBSRAM AT>FLASH :FLASH
 1.18425 -+"
 1.18426 -+        ;;
 1.18427 -+
 1.18428 -+    avr32elf_uc3a364*)
 1.18429 -+        MEMORY="MEMORY
 1.18430 -+  {
 1.18431 -+    FLASH (rxai!w) : ORIGIN = 0x80000000, LENGTH = 64K
 1.18432 -+    CPUSRAM (wxa!ri) : ORIGIN = 0x00000000, LENGTH = 64K
 1.18433 -+    HSBSRAM (wxa!ri) : ORIGIN = 0xFF000000, LENGTH = 64K
 1.18434 -+	USERPAGE : ORIGIN = 0x80800000, LENGTH = 512
 1.18435 -+	FACTORYPAGE : ORIGIN = 0x80800200, LENGTH = 512
 1.18436 -+  }"
 1.18437 -+  		OTHER_SECTIONS ="${OTHER_SECTIONS}
 1.18438 -+  	.hsbsram       : { *(.hsbsram .hsbsram.*) } >HSBSRAM AT>FLASH :FLASH
 1.18439 -+"
 1.18440 -+        ;;
 1.18441 -+
 1.18442 -+
 1.18443 -+    esac
 1.18444 -+    ;;
 1.18445 -+
 1.18446 -+esac
 1.18447 ---- /dev/null
 1.18448 -+++ b/ld/emulparams/avr32linux.sh
 1.18449 -@@ -0,0 +1,14 @@
 1.18450 -+ARCH=avr32
 1.18451 -+SCRIPT_NAME=elf
 1.18452 -+TEMPLATE_NAME=elf32
 1.18453 -+EXTRA_EM_FILE=avr32elf
 1.18454 -+OUTPUT_FORMAT="elf32-avr32"
 1.18455 -+GENERATE_SHLIB_SCRIPT=yes
 1.18456 -+MAXPAGESIZE=0x1000
 1.18457 -+TEXT_START_ADDR=0x00001000
 1.18458 -+NOP=0xd703d703
 1.18459 -+
 1.18460 -+# This appears to place the GOT before the data section, which is
 1.18461 -+# essential for uClinux.  We don't use those .s* sections on AVR32
 1.18462 -+# anyway, so it shouldn't hurt for regular Linux either...
 1.18463 -+NO_SMALL_DATA=yes
 1.18464 ---- /dev/null
 1.18465 -+++ b/ld/emultempl/avr32elf.em
 1.18466 -@@ -0,0 +1,133 @@
 1.18467 -+# This shell script emits a C file. -*- C -*-
 1.18468 -+#   Copyright (C) 2007 Atmel Corporation
 1.18469 -+#
 1.18470 -+# This file is part of GLD, the Gnu Linker.
 1.18471 -+#
 1.18472 -+# This program is free software; you can redistribute it and/or modify
 1.18473 -+# it under the terms of the GNU General Public License as published by
 1.18474 -+# the Free Software Foundation; either version 2 of the License, or
 1.18475 -+# (at your option) any later version.
 1.18476 -+#
 1.18477 -+# This program is distributed in the hope that it will be useful,
 1.18478 -+# but WITHOUT ANY WARRANTY; without even the implied warranty of
 1.18479 -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 1.18480 -+# GNU General Public License for more details.
 1.18481 -+#
 1.18482 -+# You should have received a copy of the GNU General Public License
 1.18483 -+# along with this program; if not, write to the Free Software
 1.18484 -+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
 1.18485 -+#
 1.18486 -+
 1.18487 -+# This file is sourced from elf32.em, and defines extra avr32-elf
 1.18488 -+# specific routines.
 1.18489 -+#
 1.18490 -+
 1.18491 -+# Generate linker script for writable rodata
 1.18492 -+LD_FLAG=rodata-writable
 1.18493 -+DATA_ALIGNMENT=${DATA_ALIGNMENT_}
 1.18494 -+RELOCATING=" "
 1.18495 -+WRITABLE_RODATA=" "
 1.18496 -+( echo "/* Linker script for writable rodata */"
 1.18497 -+  . ${CUSTOMIZER_SCRIPT} ${EMULATION_NAME}
 1.18498 -+  . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
 1.18499 -+) | sed -e '/^ *$/d;s/[ 	]*$//' > ldscripts/${EMULATION_NAME}.xwr
 1.18500 -+
 1.18501 -+
 1.18502 -+cat >> e${EMULATION_NAME}.c <<EOF
 1.18503 -+
 1.18504 -+#include "libbfd.h"
 1.18505 -+#include "elf32-avr32.h"
 1.18506 -+
 1.18507 -+/* Whether to allow direct references (sub or mov) to SEC_DATA and
 1.18508 -+   !SEC_CONTENTS sections when optimizing.  Not enabled by default
 1.18509 -+   since it might cause link errors.  */
 1.18510 -+static int direct_data_refs = 0;
 1.18511 -+
 1.18512 -+static void avr32_elf_after_open (void)
 1.18513 -+{
 1.18514 -+  bfd_elf32_avr32_set_options (&link_info, direct_data_refs);
 1.18515 -+  gld${EMULATION_NAME}_after_open ();
 1.18516 -+}
 1.18517 -+
 1.18518 -+static int rodata_writable = 0;
 1.18519 -+
 1.18520 -+static char * gld${EMULATION_NAME}_get_script (int *isfile);
 1.18521 -+
 1.18522 -+static char * avr32_elf_get_script (int *isfile)
 1.18523 -+{
 1.18524 -+  if ( rodata_writable )
 1.18525 -+    {
 1.18526 -+EOF
 1.18527 -+if test -n "$COMPILE_IN"
 1.18528 -+then
 1.18529 -+# Scripts compiled in.
 1.18530 -+
 1.18531 -+# sed commands to quote an ld script as a C string.
 1.18532 -+sc="-f stringify.sed"
 1.18533 -+
 1.18534 -+cat >>e${EMULATION_NAME}.c <<EOF
 1.18535 -+      *isfile = 0;
 1.18536 -+      return
 1.18537 -+EOF
 1.18538 -+sed $sc ldscripts/${EMULATION_NAME}.xwr			>> e${EMULATION_NAME}.c
 1.18539 -+echo  ';'	                                        >> e${EMULATION_NAME}.c
 1.18540 -+else
 1.18541 -+# Scripts read from the filesystem.
 1.18542 -+
 1.18543 -+cat >>e${EMULATION_NAME}.c <<EOF
 1.18544 -+      *isfile = 1;
 1.18545 -+      return "ldscripts/${EMULATION_NAME}.xwr";
 1.18546 -+EOF
 1.18547 -+fi
 1.18548 -+
 1.18549 -+cat >>e${EMULATION_NAME}.c <<EOF
 1.18550 -+    }
 1.18551 -+  return gld${EMULATION_NAME}_get_script (isfile);
 1.18552 -+}
 1.18553 -+
 1.18554 -+
 1.18555 -+EOF
 1.18556 -+
 1.18557 -+# Define some shell vars to insert bits of code into the standard elf
 1.18558 -+# parse_args and list_options functions.
 1.18559 -+#
 1.18560 -+PARSE_AND_LIST_PROLOGUE='
 1.18561 -+#define OPTION_DIRECT_DATA		300
 1.18562 -+#define OPTION_NO_DIRECT_DATA		301
 1.18563 -+#define OPTION_RODATA_WRITABLE		302
 1.18564 -+#define OPTION_NO_RODATA_WRITABLE	303
 1.18565 -+'
 1.18566 -+
 1.18567 -+PARSE_AND_LIST_LONGOPTS='
 1.18568 -+  { "direct-data", no_argument, NULL, OPTION_DIRECT_DATA },
 1.18569 -+  { "no-direct-data", no_argument, NULL, OPTION_NO_DIRECT_DATA },
 1.18570 -+  { "rodata-writable", no_argument, NULL, OPTION_RODATA_WRITABLE },
 1.18571 -+  { "no-rodata-writable", no_argument, NULL, OPTION_NO_RODATA_WRITABLE },
 1.18572 -+'
 1.18573 -+
 1.18574 -+PARSE_AND_LIST_OPTIONS='
 1.18575 -+  fprintf (file, _("  --direct-data\t\tAllow direct data references when optimizing\n"));
 1.18576 -+  fprintf (file, _("  --no-direct-data\tDo not allow direct data references when optimizing\n"));
 1.18577 -+  fprintf (file, _("  --rodata-writable\tPut read-only data in writable data section\n"));
 1.18578 -+  fprintf (file, _("  --no-rodata-writable\tDo not put read-only data in writable data section\n"));
 1.18579 -+'
 1.18580 -+
 1.18581 -+PARSE_AND_LIST_ARGS_CASES='
 1.18582 -+    case OPTION_DIRECT_DATA:
 1.18583 -+      direct_data_refs = 1;
 1.18584 -+      break;
 1.18585 -+    case OPTION_NO_DIRECT_DATA:
 1.18586 -+      direct_data_refs = 0;
 1.18587 -+      break;
 1.18588 -+    case OPTION_RODATA_WRITABLE:
 1.18589 -+      rodata_writable = 1;
 1.18590 -+      break;
 1.18591 -+    case OPTION_NO_RODATA_WRITABLE:
 1.18592 -+      rodata_writable = 0;
 1.18593 -+      break;
 1.18594 -+'
 1.18595 -+
 1.18596 -+# Replace some of the standard ELF functions with our own versions.
 1.18597 -+#
 1.18598 -+LDEMUL_AFTER_OPEN=avr32_elf_after_open
 1.18599 -+LDEMUL_GET_SCRIPT=avr32_elf_get_script
 1.18600 ---- a/ld/ld.info
 1.18601 -+++ b/ld/ld.info
 1.18602 -@@ -4347,6 +4347,8 @@ not listed.
 1.18603 - 
 1.18604 - * ARM::				`ld' and the ARM family
 1.18605 - 
 1.18606 -+* AVR32::                       `ld' and AVR32 processors
 1.18607 -+
 1.18608 - * HPPA ELF32::                  `ld' and HPPA 32-bit ELF
 1.18609 - 
 1.18610 - * MMIX::			`ld' and MMIX
 1.18611 -@@ -4487,7 +4489,7 @@ PIC.  This avoids problems on uClinux ta
 1.18612 - used to generate relocatable binaries.
 1.18613 - 
 1.18614 - 
 1.18615 --File: ld.info,  Node: ARM,  Next: HPPA ELF32,  Prev: i960,  Up: Machine Dependent
 1.18616 -+File: ld.info,  Node: ARM,  Next: AV32,  Prev: i960,  Up: Machine Dependent
 1.18617 - 
 1.18618 - 4.4 `ld' and the ARM family
 1.18619 - ===========================
 1.18620 -@@ -4588,7 +4590,31 @@ enumeration values fitted into the small
 1.18621 - diagnosed.
 1.18622 - 
 1.18623 - 
 1.18624 --File: ld.info,  Node: HPPA ELF32,  Next: MMIX,  Prev: ARM,  Up: Machine Dependent
 1.18625 -+File: ld.info,  Node: AVR32,  Next: HPPA ELF32,  Prev: ARM,  Up: Machine Dependent
 1.18626 -+
 1.18627 -+4.4 `ld' and AVR32 processors
 1.18628 -+=============================
 1.18629 -+
 1.18630 -+`--direct-data'
 1.18631 -+
 1.18632 -+`--no-direct-data'
 1.18633 -+     Taking the address of a symbol can often be done by using a direct
 1.18634 -+     `mov' or pc-relative `sub' instruction, which is faster than using
 1.18635 -+     a PC- or GOT-relative load, especially on the uC3 processors.
 1.18636 -+     However, this does not always work when dealing with symbols in
 1.18637 -+     the `.data' section so this optimization is disabled by default.
 1.18638 -+
 1.18639 -+     Specifying `--direct-data' will enable this optimization. Note
 1.18640 -+     that this may cause `relocation truncated to fit' errors for
 1.18641 -+     certain large programs. If this happens, the optimization can be
 1.18642 -+     turned off by specifying `--no-direct-data'.
 1.18643 -+
 1.18644 -+     All known issues with direct data optimizations are detected at
 1.18645 -+     link time, so if the linker doesn't complain, the result should
 1.18646 -+     run just fine.
 1.18647 -+
 1.18648 -+
 1.18649 -+File: ld.info,  Node: HPPA ELF32,  Next: MMIX,  Prev: AVR32,  Up: Machine Dependent
 1.18650 - 
 1.18651 - 4.5 `ld' and HPPA 32-bit ELF Support
 1.18652 - ====================================
 1.18653 -@@ -6336,6 +6362,7 @@ LD Index
 1.18654 - * --no-check-sections:                   Options.            (line  765)
 1.18655 - * --no-define-common:                    Options.            (line  787)
 1.18656 - * --no-demangle:                         Options.            (line  816)
 1.18657 -+* --no-direct-data:                      AVR32.              (line    6)
 1.18658 - * --no-dotsyms:                          PowerPC64 ELF64.    (line   33)
 1.18659 - * --no-enum-size-warning:                ARM.                (line   94)
 1.18660 - * --no-gc-sections:                      Options.            (line  848)
 1.18661 -@@ -6534,6 +6561,7 @@ LD Index
 1.18662 - * AT(LMA):                               Output Section LMA. (line    6)
 1.18663 - * AT>LMA_REGION:                         Output Section LMA. (line    6)
 1.18664 - * automatic data imports:                WIN32.              (line  170)
 1.18665 -+* AVR32 options:                         AVR32.              (line    6)
 1.18666 - * back end:                              BFD.                (line    6)
 1.18667 - * BASE (MRI):                            MRI.                (line   54)
 1.18668 - * BE8:                                   ARM.                (line   23)
 1.18669 -@@ -7018,6 +7046,7 @@ Node: H8/300183897
 1.18670 - Node: i960185522
 1.18671 - Node: M68HC11/68HC12187207
 1.18672 - Node: ARM188910
 1.18673 -+Node: AVR32182578
 1.18674 - Node: HPPA ELF32193760
 1.18675 - Node: MMIX195383
 1.18676 - Node: MSP430196600
 1.18677 ---- a/ld/ld.texinfo
 1.18678 -+++ b/ld/ld.texinfo
 1.18679 -@@ -21,6 +21,7 @@
 1.18680 - @set UsesEnvVars
 1.18681 - @set GENERIC
 1.18682 - @set ARM
 1.18683 -+@set AVR32
 1.18684 - @set H8300
 1.18685 - @set HPPA
 1.18686 - @set I960
 1.18687 -@@ -139,6 +140,9 @@ section entitled ``GNU Free Documentatio
 1.18688 - @ifset ARM
 1.18689 - * ARM::				ld and the ARM family
 1.18690 - @end ifset
 1.18691 -+@ifset AVR32
 1.18692 -+* AVR32::                       ld and AVR32 processors
 1.18693 -+@end ifset
 1.18694 - @ifset HPPA
 1.18695 - * HPPA ELF32::                  ld and HPPA 32-bit ELF
 1.18696 - @end ifset
 1.18697 -@@ -5248,6 +5252,9 @@ functionality are not listed.
 1.18698 - @ifset ARM
 1.18699 - * ARM::				@command{ld} and the ARM family
 1.18700 - @end ifset
 1.18701 -+@ifset AVR32
 1.18702 -+* AVR32::                       @command{ld} and AVR32 processors
 1.18703 -+@end ifset
 1.18704 - @ifset HPPA
 1.18705 - * HPPA ELF32::                  @command{ld} and HPPA 32-bit ELF
 1.18706 - @end ifset
 1.18707 -@@ -5589,6 +5596,52 @@ not be diagnosed.
 1.18708 - @end ifclear
 1.18709 - @end ifset
 1.18710 - 
 1.18711 -+@ifset AVR32
 1.18712 -+@ifclear GENERIC
 1.18713 -+@raisesections
 1.18714 -+@end ifclear
 1.18715 -+
 1.18716 -+@node AVR32
 1.18717 -+@section @command{ld} and AVR32 processors
 1.18718 -+@cindex AVR32 options
 1.18719 -+@table @option
 1.18720 -+@kindex --direct-data
 1.18721 -+@kindex --no-direct-data
 1.18722 -+@item --direct-data
 1.18723 -+@item --no-direct-data
 1.18724 -+Taking the address of a symbol can often be done by using a direct
 1.18725 -+@code{mov} or pc-relative @code{sub} instruction, which is faster than
 1.18726 -+using a PC- or GOT-relative load, especially on the uC3
 1.18727 -+processors. However, this does not always work when dealing with
 1.18728 -+symbols in the @code{.data} section so this optimization is disabled
 1.18729 -+by default.
 1.18730 -+
 1.18731 -+Specifying @option{--direct-data} will enable this optimization. Note
 1.18732 -+that this may cause @samp{relocation truncated to fit} errors for
 1.18733 -+certain large programs. If this happens, the optimization can be
 1.18734 -+turned off by specifying @option{--no-direct-data}.
 1.18735 -+
 1.18736 -+All known issues with direct data optimizations are detected at link
 1.18737 -+time, so if the linker doesn't complain, the result should run just
 1.18738 -+fine.
 1.18739 -+
 1.18740 -+@kindex --rodata-writable
 1.18741 -+@kindex --no-rodata-writable
 1.18742 -+@item --rodata-writable
 1.18743 -+@item --no-rodata-writable
 1.18744 -+Using the @option{--rodata-writable} options will cause the linker
 1.18745 -+to try and use a linker script where read-only data will be placed
 1.18746 -+in the same section as writable data. This can give great performance 
 1.18747 -+gain on cacheless processors where read-only data normally is placed in
 1.18748 -+flash, and writable data is placed in internal sram. This will however 
 1.18749 -+come at the expence of a larger memory footprint.
 1.18750 -+@end table
 1.18751 -+
 1.18752 -+@ifclear GENERIC
 1.18753 -+@lowersections
 1.18754 -+@end ifclear
 1.18755 -+@end ifset
 1.18756 -+
 1.18757 - @ifset HPPA
 1.18758 - @ifclear GENERIC
 1.18759 - @raisesections
 1.18760 ---- a/ld/Makefile.am
 1.18761 -+++ b/ld/Makefile.am
 1.18762 -@@ -137,7 +137,34 @@ ALL_EMULATIONS = \
 1.18763 - 	eavr3.o \
 1.18764 - 	eavr4.o \
 1.18765 - 	eavr5.o \
 1.18766 --	eavr6.o \
 1.18767 -+    eavr6.o \
 1.18768 -+	eavr32elf_ap7000.o \
 1.18769 -+	eavr32elf_ap7001.o \
 1.18770 -+	eavr32elf_ap7002.o \
 1.18771 -+	eavr32elf_ap7200.o \
 1.18772 -+	eavr32elf_uc3a0128.o \
 1.18773 -+	eavr32elf_uc3a0256.o \
 1.18774 -+	eavr32elf_uc3a0512.o \
 1.18775 -+	eavr32elf_uc3a0512es.o \
 1.18776 -+	eavr32elf_uc3a1128.o \
 1.18777 -+	eavr32elf_uc3a1256.o \
 1.18778 -+	eavr32elf_uc3a1512es.o \
 1.18779 -+	eavr32elf_uc3a1512.o \
 1.18780 -+	eavr32elf_uc3a364.o \
 1.18781 -+	eavr32elf_uc3a364s.o \
 1.18782 -+	eavr32elf_uc3a3128.o \
 1.18783 -+	eavr32elf_uc3a3128s.o \
 1.18784 -+	eavr32elf_uc3a3256.o \
 1.18785 -+	eavr32elf_uc3a3256s.o \
 1.18786 -+	eavr32elf_uc3b064.o \
 1.18787 -+	eavr32elf_uc3b0128.o \
 1.18788 -+	eavr32elf_uc3b0256es.o \
 1.18789 -+	eavr32elf_uc3b0256.o \
 1.18790 -+	eavr32elf_uc3b164.o \
 1.18791 -+	eavr32elf_uc3b1128.o \
 1.18792 -+	eavr32elf_uc3b1256es.o \
 1.18793 -+	eavr32elf_uc3b1256.o \
 1.18794 -+	eavr32linux.o \
 1.18795 - 	ecoff_i860.o \
 1.18796 - 	ecoff_sparc.o \
 1.18797 - 	eelf32_spu.o \
 1.18798 -@@ -622,6 +649,114 @@ eavr6.c: $(srcdir)/emulparams/avr6.sh $(
 1.18799 -   $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
 1.18800 -   ${GEN_DEPENDS}
 1.18801 - 	${GENSCRIPTS} avr6 "$(tdir_avr2)"
 1.18802 -+eavr32elf_ap7000.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18803 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18804 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18805 -+	${GENSCRIPTS} avr32elf_ap7000 "$(tdir_avr32)" avr32elf
 1.18806 -+eavr32elf_ap7001.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18807 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18808 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18809 -+	${GENSCRIPTS} avr32elf_ap7001 "$(tdir_avr32)" avr32elf
 1.18810 -+eavr32elf_ap7002.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18811 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18812 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18813 -+	${GENSCRIPTS} avr32elf_ap7002 "$(tdir_avr32)" avr32elf
 1.18814 -+eavr32elf_ap7200.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18815 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18816 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18817 -+	${GENSCRIPTS} avr32elf_ap7200 "$(tdir_avr32)" avr32elf
 1.18818 -+eavr32elf_uc3a0128.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18819 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18820 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18821 -+	${GENSCRIPTS} avr32elf_uc3a0128 "$(tdir_avr32)" avr32elf
 1.18822 -+eavr32elf_uc3a0256.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18823 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18824 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18825 -+	${GENSCRIPTS} avr32elf_uc3a0256 "$(tdir_avr32)" avr32elf
 1.18826 -+eavr32elf_uc3a0512.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18827 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18828 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18829 -+	${GENSCRIPTS} avr32elf_uc3a0512 "$(tdir_avr32)" avr32elf
 1.18830 -+eavr32elf_uc3a0512es.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18831 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18832 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18833 -+	${GENSCRIPTS} avr32elf_uc3a0512es "$(tdir_avr32)" avr32elf
 1.18834 -+eavr32elf_uc3a1128.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18835 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18836 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18837 -+	${GENSCRIPTS} avr32elf_uc3a1128 "$(tdir_avr32)" avr32elf
 1.18838 -+eavr32elf_uc3a1256.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18839 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18840 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18841 -+	${GENSCRIPTS} avr32elf_uc3a1256 "$(tdir_avr32)" avr32elf
 1.18842 -+eavr32elf_uc3a1512.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18843 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18844 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18845 -+	${GENSCRIPTS} avr32elf_uc3a1512 "$(tdir_avr32)" avr32elf
 1.18846 -+eavr32elf_uc3a1512es.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18847 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18848 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18849 -+	${GENSCRIPTS} avr32elf_uc3a1512es "$(tdir_avr32)" avr32elf
 1.18850 -+eavr32elf_uc3a364.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18851 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18852 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18853 -+	${GENSCRIPTS} avr32elf_uc3a364 "$(tdir_avr32)" avr32elf
 1.18854 -+eavr32elf_uc3a364s.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18855 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18856 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18857 -+	${GENSCRIPTS} avr32elf_uc3a364s "$(tdir_avr32)" avr32elf
 1.18858 -+eavr32elf_uc3a3128.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18859 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18860 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18861 -+	${GENSCRIPTS} avr32elf_uc3a3128 "$(tdir_avr32)" avr32elf
 1.18862 -+eavr32elf_uc3a3128s.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18863 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18864 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18865 -+	${GENSCRIPTS} avr32elf_uc3a3128s "$(tdir_avr32)" avr32elf
 1.18866 -+eavr32elf_uc3a3256.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18867 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18868 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18869 -+	${GENSCRIPTS} avr32elf_uc3a3256 "$(tdir_avr32)" avr32elf
 1.18870 -+eavr32elf_uc3a3256s.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18871 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18872 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18873 -+	${GENSCRIPTS} avr32elf_uc3a3256s "$(tdir_avr32)" avr32elf
 1.18874 -+eavr32elf_uc3b064.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18875 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18876 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18877 -+	${GENSCRIPTS} avr32elf_uc3b064 "$(tdir_avr32)" avr32elf
 1.18878 -+eavr32elf_uc3b0128.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18879 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18880 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18881 -+	${GENSCRIPTS} avr32elf_uc3b0128 "$(tdir_avr32)" avr32elf
 1.18882 -+eavr32elf_uc3b0256.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18883 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18884 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18885 -+	${GENSCRIPTS} avr32elf_uc3b0256 "$(tdir_avr32)" avr32elf
 1.18886 -+eavr32elf_uc3b0256es.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18887 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18888 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18889 -+	${GENSCRIPTS} avr32elf_uc3b0256es "$(tdir_avr32)" avr32elf
 1.18890 -+eavr32elf_uc3b164.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18891 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18892 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18893 -+	${GENSCRIPTS} avr32elf_uc3b164 "$(tdir_avr32)" avr32elf
 1.18894 -+eavr32elf_uc3b1128.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18895 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18896 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18897 -+	${GENSCRIPTS} avr32elf_uc3b1128 "$(tdir_avr32)" avr32elf
 1.18898 -+eavr32elf_uc3b1256.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18899 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18900 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18901 -+	${GENSCRIPTS} avr32elf_uc3b1256 "$(tdir_avr32)" avr32elf
 1.18902 -+eavr32elf_uc3b1256es.c: $(srcdir)/emulparams/avr32elf.sh \
 1.18903 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18904 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.18905 -+	${GENSCRIPTS} avr32elf_uc3b1256es "$(tdir_avr32)" avr32elf
 1.18906 -+eavr32linux.c: $(srcdir)/emulparams/avr32linux.sh \
 1.18907 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.18908 -+  $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 1.18909 -+	${GENSCRIPTS} avr32linux "$(tdir_avr32)"
 1.18910 - ecoff_i860.c: $(srcdir)/emulparams/coff_i860.sh \
 1.18911 -   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i860coff.sc ${GEN_DEPENDS}
 1.18912 - 	${GENSCRIPTS} coff_i860 "$(tdir_coff_i860)"
 1.18913 -@@ -1877,7 +2012,9 @@ install-exec-local: ld-new$(EXEEXT)
 1.18914 - 	  || $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
 1.18915 - 	fi
 1.18916 - 
 1.18917 --install-data-local:
 1.18918 -+# We want install to imply install-info as per GNU standards, despite the
 1.18919 -+# cygnus option.
 1.18920 -+install-data-local: install-info
 1.18921 - 	$(mkinstalldirs) $(DESTDIR)$(scriptdir)/ldscripts
 1.18922 - 	for f in ldscripts/*; do \
 1.18923 - 	  $(INSTALL_DATA) $$f $(DESTDIR)$(scriptdir)/$$f ; \
 1.18924 ---- /dev/null
 1.18925 -+++ b/ld/scripttempl/elf_xip.sc
 1.18926 -@@ -0,0 +1,456 @@
 1.18927 -+#
 1.18928 -+# Unusual variables checked by this code:
 1.18929 -+#	NOP - four byte opcode for no-op (defaults to 0)
 1.18930 -+#	NO_SMALL_DATA - no .sbss/.sbss2/.sdata/.sdata2 sections if not
 1.18931 -+#		empty.
 1.18932 -+#	SMALL_DATA_CTOR - .ctors contains small data.
 1.18933 -+#	SMALL_DATA_DTOR - .dtors contains small data.
 1.18934 -+#	DATA_ADDR - if end-of-text-plus-one-page isn't right for data start
 1.18935 -+#	INITIAL_READONLY_SECTIONS - at start of text segment
 1.18936 -+#	OTHER_READONLY_SECTIONS - other than .text .init .rodata ...
 1.18937 -+#		(e.g., .PARISC.milli)
 1.18938 -+#	OTHER_TEXT_SECTIONS - these get put in .text when relocating
 1.18939 -+#	OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ...
 1.18940 -+#		(e.g., .PARISC.global)
 1.18941 -+#	OTHER_RELRO_SECTIONS - other than .data.rel.ro ...
 1.18942 -+#		(e.g. PPC32 .fixup, .got[12])
 1.18943 -+#	OTHER_BSS_SECTIONS - other than .bss .sbss ...
 1.18944 -+#	OTHER_SECTIONS - at the end
 1.18945 -+#	EXECUTABLE_SYMBOLS - symbols that must be defined for an
 1.18946 -+#		executable (e.g., _DYNAMIC_LINK)
 1.18947 -+#       TEXT_START_ADDR - the first byte of the text segment, after any
 1.18948 -+#               headers.
 1.18949 -+#       TEXT_BASE_ADDRESS - the first byte of the text segment.
 1.18950 -+#	TEXT_START_SYMBOLS - symbols that appear at the start of the
 1.18951 -+#		.text section.
 1.18952 -+#	DATA_START_SYMBOLS - symbols that appear at the start of the
 1.18953 -+#		.data section.
 1.18954 -+#	OTHER_GOT_SYMBOLS - symbols defined just before .got.
 1.18955 -+#	OTHER_GOT_SECTIONS - sections just after .got.
 1.18956 -+#	OTHER_SDATA_SECTIONS - sections just after .sdata.
 1.18957 -+#	OTHER_BSS_SYMBOLS - symbols that appear at the start of the
 1.18958 -+#		.bss section besides __bss_start.
 1.18959 -+#	DATA_PLT - .plt should be in data segment, not text segment.
 1.18960 -+#	PLT_BEFORE_GOT - .plt just before .got when .plt is in data segement.
 1.18961 -+#	BSS_PLT - .plt should be in bss segment
 1.18962 -+#	TEXT_DYNAMIC - .dynamic in text segment, not data segment.
 1.18963 -+#	EMBEDDED - whether this is for an embedded system.
 1.18964 -+#	SHLIB_TEXT_START_ADDR - if set, add to SIZEOF_HEADERS to set
 1.18965 -+#		start address of shared library.
 1.18966 -+#	INPUT_FILES - INPUT command of files to always include
 1.18967 -+#	WRITABLE_RODATA - if set, the .rodata section should be writable
 1.18968 -+#	INIT_START, INIT_END -  statements just before and just after
 1.18969 -+# 	combination of .init sections.
 1.18970 -+#	FINI_START, FINI_END - statements just before and just after
 1.18971 -+# 	combination of .fini sections.
 1.18972 -+#	STACK_ADDR - start of a .stack section.
 1.18973 -+#	OTHER_END_SYMBOLS - symbols to place right at the end of the script.
 1.18974 -+#	SEPARATE_GOTPLT - if set, .got.plt should be separate output section,
 1.18975 -+#		so that .got can be in the RELRO area.  It should be set to
 1.18976 -+#		the number of bytes in the beginning of .got.plt which can be
 1.18977 -+#		in the RELRO area as well.
 1.18978 -+#
 1.18979 -+# When adding sections, do note that the names of some sections are used
 1.18980 -+# when specifying the start address of the next.
 1.18981 -+#
 1.18982 -+
 1.18983 -+#  Many sections come in three flavours.  There is the 'real' section,
 1.18984 -+#  like ".data".  Then there are the per-procedure or per-variable
 1.18985 -+#  sections, generated by -ffunction-sections and -fdata-sections in GCC,
 1.18986 -+#  and useful for --gc-sections, which for a variable "foo" might be
 1.18987 -+#  ".data.foo".  Then there are the linkonce sections, for which the linker
 1.18988 -+#  eliminates duplicates, which are named like ".gnu.linkonce.d.foo".
 1.18989 -+#  The exact correspondences are:
 1.18990 -+#
 1.18991 -+#  Section	Linkonce section
 1.18992 -+#  .text	.gnu.linkonce.t.foo
 1.18993 -+#  .rodata	.gnu.linkonce.r.foo
 1.18994 -+#  .data	.gnu.linkonce.d.foo
 1.18995 -+#  .bss		.gnu.linkonce.b.foo
 1.18996 -+#  .sdata	.gnu.linkonce.s.foo
 1.18997 -+#  .sbss	.gnu.linkonce.sb.foo
 1.18998 -+#  .sdata2	.gnu.linkonce.s2.foo
 1.18999 -+#  .sbss2	.gnu.linkonce.sb2.foo
 1.19000 -+#  .debug_info	.gnu.linkonce.wi.foo
 1.19001 -+#  .tdata	.gnu.linkonce.td.foo
 1.19002 -+#  .tbss	.gnu.linkonce.tb.foo
 1.19003 -+#
 1.19004 -+#  Each of these can also have corresponding .rel.* and .rela.* sections.
 1.19005 -+
 1.19006 -+test -z "$ENTRY" && ENTRY=_start
 1.19007 -+test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT}
 1.19008 -+test -z "${LITTLE_OUTPUT_FORMAT}" && LITTLE_OUTPUT_FORMAT=${OUTPUT_FORMAT}
 1.19009 -+if [ -z "$MACHINE" ]; then OUTPUT_ARCH=${ARCH}; else OUTPUT_ARCH=${ARCH}:${MACHINE}; fi
 1.19010 -+test -z "${ELFSIZE}" && ELFSIZE=32
 1.19011 -+test -z "${ALIGNMENT}" && ALIGNMENT="${ELFSIZE} / 8"
 1.19012 -+test "$LD_FLAG" = "N" && DATA_ADDR=.
 1.19013 -+test -n "$CREATE_SHLIB$CREATE_PIE" && test -n "$SHLIB_DATA_ADDR" && COMMONPAGESIZE=""
 1.19014 -+test -z "$CREATE_SHLIB$CREATE_PIE" && test -n "$DATA_ADDR" && COMMONPAGESIZE=""
 1.19015 -+test -n "$RELRO_NOW" && unset SEPARATE_GOTPLT
 1.19016 -+if test -n "$RELOCATING"; then
 1.19017 -+  RO_REGION="${RO_VMA_REGION+ >}${RO_VMA_REGION}${RO_LMA_REGION+ AT>}${RO_LMA_REGION}"
 1.19018 -+  RW_REGION="${RW_VMA_REGION+ >}${RW_VMA_REGION}${RW_LMA_REGION+ AT>}${RW_LMA_REGION}"
 1.19019 -+else
 1.19020 -+  RO_REGION=""
 1.19021 -+  RW_REGION=""
 1.19022 -+fi
 1.19023 -+INTERP=".interp       ${RELOCATING-0} : { *(.interp) }${RO_REGION}"
 1.19024 -+PLT=".plt          ${RELOCATING-0} : { *(.plt) }"
 1.19025 -+if test -z "$GOT"; then
 1.19026 -+  if test -z "$SEPARATE_GOTPLT"; then
 1.19027 -+    GOT=".got          ${RELOCATING-0} : { *(.got.plt) *(.got) }"
 1.19028 -+  else
 1.19029 -+    GOT=".got          ${RELOCATING-0} : { *(.got) }"
 1.19030 -+    GOTPLT="${RELOCATING+${DATA_SEGMENT_RELRO_GOTPLT_END}}
 1.19031 -+  .got.plt      ${RELOCATING-0} : { *(.got.plt) }"
 1.19032 -+  fi
 1.19033 -+fi
 1.19034 -+DALIGN=".dalign	: { . = ALIGN(${DATA_SEGMENT_ALIGN}); PROVIDE(_data_lma = .); }${RO_REGION}"
 1.19035 -+BALIGN=".balign	: { . = ALIGN(${BSS_ALIGNMENT}); _edata = .; }${RW_REGION}"
 1.19036 -+DYNAMIC=".dynamic      ${RELOCATING-0} : { *(.dynamic) }"
 1.19037 -+RODATA=".rodata       ${RELOCATING-0} : { *(.rodata${RELOCATING+ .rodata.* .gnu.linkonce.r.*}) }"
 1.19038 -+DATARELRO=".data.rel.ro : { *(.data.rel.ro.local) *(.data.rel.ro*) }${RW_REGION}"
 1.19039 -+STACKNOTE="/DISCARD/ : { *(.note.GNU-stack) }"
 1.19040 -+if test -z "${NO_SMALL_DATA}"; then
 1.19041 -+  SBSS=".sbss         ${RELOCATING-0} :
 1.19042 -+  {
 1.19043 -+    ${RELOCATING+PROVIDE (__sbss_start = .);}
 1.19044 -+    ${RELOCATING+PROVIDE (___sbss_start = .);}
 1.19045 -+    ${CREATE_SHLIB+*(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)}
 1.19046 -+    *(.dynsbss)
 1.19047 -+    *(.sbss${RELOCATING+ .sbss.* .gnu.linkonce.sb.*})
 1.19048 -+    *(.scommon)
 1.19049 -+    ${RELOCATING+PROVIDE (__sbss_end = .);}
 1.19050 -+    ${RELOCATING+PROVIDE (___sbss_end = .);}
 1.19051 -+  }${RW_REGION}"
 1.19052 -+  SBSS2=".sbss2        ${RELOCATING-0} : { *(.sbss2${RELOCATING+ .sbss2.* .gnu.linkonce.sb2.*}) }${RW_REGION}"
 1.19053 -+  SDATA="/* We want the small data sections together, so single-instruction offsets
 1.19054 -+     can access them all, and initialized data all before uninitialized, so
 1.19055 -+     we can shorten the on-disk segment size.  */
 1.19056 -+  .sdata        ${RELOCATING-0} :
 1.19057 -+  {
 1.19058 -+    ${RELOCATING+${SDATA_START_SYMBOLS}}
 1.19059 -+    ${CREATE_SHLIB+*(.sdata2 .sdata2.* .gnu.linkonce.s2.*)}
 1.19060 -+    *(.sdata${RELOCATING+ .sdata.* .gnu.linkonce.s.*})
 1.19061 -+  }${RW_REGION}"
 1.19062 -+  SDATA2=".sdata2       ${RELOCATING-0} : { *(.sdata2${RELOCATING+ .sdata2.* .gnu.linkonce.s2.*}) }${RW_REGION}"
 1.19063 -+  REL_SDATA=".rel.sdata    ${RELOCATING-0} : { *(.rel.sdata${RELOCATING+ .rel.sdata.* .rel.gnu.linkonce.s.*}) }${RO_REGION}
 1.19064 -+  .rela.sdata   ${RELOCATING-0} : { *(.rela.sdata${RELOCATING+ .rela.sdata.* .rela.gnu.linkonce.s.*}) }"
 1.19065 -+  REL_SBSS=".rel.sbss     ${RELOCATING-0} : { *(.rel.sbss${RELOCATING+ .rel.sbss.* .rel.gnu.linkonce.sb.*}) }${RO_REGION}
 1.19066 -+  .rela.sbss    ${RELOCATING-0} : { *(.rela.sbss${RELOCATING+ .rela.sbss.* .rela.gnu.linkonce.sb.*}) }${RO_REGION}"
 1.19067 -+  REL_SDATA2=".rel.sdata2   ${RELOCATING-0} : { *(.rel.sdata2${RELOCATING+ .rel.sdata2.* .rel.gnu.linkonce.s2.*}) }${RO_REGION}
 1.19068 -+  .rela.sdata2  ${RELOCATING-0} : { *(.rela.sdata2${RELOCATING+ .rela.sdata2.* .rela.gnu.linkonce.s2.*}) }${RO_REGION}"
 1.19069 -+  REL_SBSS2=".rel.sbss2    ${RELOCATING-0} : { *(.rel.sbss2${RELOCATING+ .rel.sbss2.* .rel.gnu.linkonce.sb2.*}) }${RO_REGION}
 1.19070 -+  .rela.sbss2   ${RELOCATING-0} : { *(.rela.sbss2${RELOCATING+ .rela.sbss2.* .rela.gnu.linkonce.sb2.*}) }${RO_REGION}"
 1.19071 -+else
 1.19072 -+  NO_SMALL_DATA=" "
 1.19073 -+fi
 1.19074 -+test -n "$SEPARATE_GOTPLT" && SEPARATE_GOTPLT=" "
 1.19075 -+CTOR=".ctors        ${CONSTRUCTING-0} :
 1.19076 -+  {
 1.19077 -+    ${CONSTRUCTING+${CTOR_START}}
 1.19078 -+    /* gcc uses crtbegin.o to find the start of
 1.19079 -+       the constructors, so we make sure it is
 1.19080 -+       first.  Because this is a wildcard, it
 1.19081 -+       doesn't matter if the user does not
 1.19082 -+       actually link against crtbegin.o; the
 1.19083 -+       linker won't look for a file to match a
 1.19084 -+       wildcard.  The wildcard also means that it
 1.19085 -+       doesn't matter which directory crtbegin.o
 1.19086 -+       is in.  */
 1.19087 -+
 1.19088 -+    KEEP (*crtbegin*.o(.ctors))
 1.19089 -+
 1.19090 -+    /* We don't want to include the .ctor section from
 1.19091 -+       from the crtend.o file until after the sorted ctors.
 1.19092 -+       The .ctor section from the crtend file contains the
 1.19093 -+       end of ctors marker and it must be last */
 1.19094 -+
 1.19095 -+    KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .ctors))
 1.19096 -+    KEEP (*(SORT(.ctors.*)))
 1.19097 -+    KEEP (*(.ctors))
 1.19098 -+    ${CONSTRUCTING+${CTOR_END}}
 1.19099 -+  }"
 1.19100 -+DTOR=".dtors        ${CONSTRUCTING-0} :
 1.19101 -+  {
 1.19102 -+    ${CONSTRUCTING+${DTOR_START}}
 1.19103 -+    KEEP (*crtbegin*.o(.dtors))
 1.19104 -+    KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .dtors))
 1.19105 -+    KEEP (*(SORT(.dtors.*)))
 1.19106 -+    KEEP (*(.dtors))
 1.19107 -+    ${CONSTRUCTING+${DTOR_END}}
 1.19108 -+  }"
 1.19109 -+STACK=".stack        ${RELOCATING-0}${RELOCATING+${STACK_ADDR}} :
 1.19110 -+  {
 1.19111 -+    ${RELOCATING+_stack = .;}
 1.19112 -+    *(.stack)
 1.19113 -+    ${RELOCATING+${STACK_SIZE+. = ${STACK_SIZE};}}
 1.19114 -+    ${RELOCATING+_estack = .;}
 1.19115 -+  }${RW_REGION}"
 1.19116 -+
 1.19117 -+# if this is for an embedded system, don't add SIZEOF_HEADERS.
 1.19118 -+if [ -z "$EMBEDDED" ]; then
 1.19119 -+   test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR} + SIZEOF_HEADERS"
 1.19120 -+else
 1.19121 -+   test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR}"
 1.19122 -+fi
 1.19123 -+
 1.19124 -+cat <<EOF
 1.19125 -+OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
 1.19126 -+	      "${LITTLE_OUTPUT_FORMAT}")
 1.19127 -+OUTPUT_ARCH(${OUTPUT_ARCH})
 1.19128 -+ENTRY(${ENTRY})
 1.19129 -+
 1.19130 -+${RELOCATING+${LIB_SEARCH_DIRS}}
 1.19131 -+${RELOCATING+/* Do we need any of these for elf?
 1.19132 -+   __DYNAMIC = 0; ${STACKZERO+${STACKZERO}} ${SHLIB_PATH+${SHLIB_PATH}}  */}
 1.19133 -+${RELOCATING+${EXECUTABLE_SYMBOLS}}
 1.19134 -+${RELOCATING+${INPUT_FILES}}
 1.19135 -+${RELOCATING- /* For some reason, the Solaris linker makes bad executables
 1.19136 -+  if gld -r is used and the intermediate file has sections starting
 1.19137 -+  at non-zero addresses.  Could be a Solaris ld bug, could be a GNU ld
 1.19138 -+  bug.  But for now assigning the zero vmas works.  */}
 1.19139 -+
 1.19140 -+${RELOCATING+${MEMORY}}
 1.19141 -+
 1.19142 -+SECTIONS
 1.19143 -+{
 1.19144 -+  /* Read-only sections, merged into text segment: */
 1.19145 -+  ${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+PROVIDE (__executable_start = ${TEXT_START_ADDR}); . = ${TEXT_BASE_ADDRESS};}}}
 1.19146 -+  ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR:-0} + SIZEOF_HEADERS;}}
 1.19147 -+  ${CREATE_PIE+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR:-0} + SIZEOF_HEADERS;}}
 1.19148 -+  ${CREATE_SHLIB-${INTERP}}
 1.19149 -+  ${INITIAL_READONLY_SECTIONS}
 1.19150 -+  ${TEXT_DYNAMIC+${DYNAMIC}${RO_REGION}}
 1.19151 -+  .hash         ${RELOCATING-0} : { *(.hash) }${RO_REGION}
 1.19152 -+  .dynsym       ${RELOCATING-0} : { *(.dynsym) }${RO_REGION}
 1.19153 -+  .dynstr       ${RELOCATING-0} : { *(.dynstr) }${RO_REGION}
 1.19154 -+  .gnu.version  ${RELOCATING-0} : { *(.gnu.version) }${RO_REGION}
 1.19155 -+  .gnu.version_d ${RELOCATING-0}: { *(.gnu.version_d) }${RO_REGION}
 1.19156 -+  .gnu.version_r ${RELOCATING-0}: { *(.gnu.version_r) }${RO_REGION}
 1.19157 -+
 1.19158 -+EOF
 1.19159 -+if [ "x$COMBRELOC" = x ]; then
 1.19160 -+  COMBRELOCCAT=cat
 1.19161 -+else
 1.19162 -+  COMBRELOCCAT="cat > $COMBRELOC"
 1.19163 -+fi
 1.19164 -+eval $COMBRELOCCAT <<EOF
 1.19165 -+  .rel.init     ${RELOCATING-0} : { *(.rel.init) }${RO_REGION}
 1.19166 -+  .rela.init    ${RELOCATING-0} : { *(.rela.init) }${RO_REGION}
 1.19167 -+  .rel.text     ${RELOCATING-0} : { *(.rel.text${RELOCATING+ .rel.text.* .rel.gnu.linkonce.t.*}) }${RO_REGION}
 1.19168 -+  .rela.text    ${RELOCATING-0} : { *(.rela.text${RELOCATING+ .rela.text.* .rela.gnu.linkonce.t.*}) }${RO_REGION}
 1.19169 -+  .rel.fini     ${RELOCATING-0} : { *(.rel.fini) }${RO_REGION}
 1.19170 -+  .rela.fini    ${RELOCATING-0} : { *(.rela.fini) }${RO_REGION}
 1.19171 -+  .rel.rodata   ${RELOCATING-0} : { *(.rel.rodata${RELOCATING+ .rel.rodata.* .rel.gnu.linkonce.r.*}) }${RO_REGION}
 1.19172 -+  .rela.rodata  ${RELOCATING-0} : { *(.rela.rodata${RELOCATING+ .rela.rodata.* .rela.gnu.linkonce.r.*}) }${RO_REGION}
 1.19173 -+  ${OTHER_READONLY_RELOC_SECTIONS}
 1.19174 -+  .rel.data.rel.ro ${RELOCATING-0} : { *(.rel.data.rel.ro${RELOCATING+*}) }${RO_REGION}
 1.19175 -+  .rela.data.rel.ro ${RELOCATING-0} : { *(.rel.data.rel.ro${RELOCATING+*}) }${RO_REGION}
 1.19176 -+  .rel.data     ${RELOCATING-0} : { *(.rel.data${RELOCATING+ .rel.data.* .rel.gnu.linkonce.d.*}) }${RO_REGION}
 1.19177 -+  .rela.data    ${RELOCATING-0} : { *(.rela.data${RELOCATING+ .rela.data.* .rela.gnu.linkonce.d.*}) }${RO_REGION}
 1.19178 -+  .rel.tdata	${RELOCATING-0} : { *(.rel.tdata${RELOCATING+ .rel.tdata.* .rel.gnu.linkonce.td.*}) }${RO_REGION}
 1.19179 -+  .rela.tdata	${RELOCATING-0} : { *(.rela.tdata${RELOCATING+ .rela.tdata.* .rela.gnu.linkonce.td.*}) }${RO_REGION}
 1.19180 -+  .rel.tbss	${RELOCATING-0} : { *(.rel.tbss${RELOCATING+ .rel.tbss.* .rel.gnu.linkonce.tb.*}) }${RO_REGION}
 1.19181 -+  .rela.tbss	${RELOCATING-0} : { *(.rela.tbss${RELOCATING+ .rela.tbss.* .rela.gnu.linkonce.tb.*}) }${RO_REGION}
 1.19182 -+  .rel.ctors    ${RELOCATING-0} : { *(.rel.ctors) }${RO_REGION}
 1.19183 -+  .rela.ctors   ${RELOCATING-0} : { *(.rela.ctors) }${RO_REGION}
 1.19184 -+  .rel.dtors    ${RELOCATING-0} : { *(.rel.dtors) }${RO_REGION}
 1.19185 -+  .rela.dtors   ${RELOCATING-0} : { *(.rela.dtors) }${RO_REGION}
 1.19186 -+  .rel.got      ${RELOCATING-0} : { *(.rel.got) }${RO_REGION}
 1.19187 -+  .rela.got     ${RELOCATING-0} : { *(.rela.got) }${RO_REGION}
 1.19188 -+  ${OTHER_GOT_RELOC_SECTIONS}
 1.19189 -+  ${REL_SDATA}
 1.19190 -+  ${REL_SBSS}
 1.19191 -+  ${REL_SDATA2}
 1.19192 -+  ${REL_SBSS2}
 1.19193 -+  .rel.bss      ${RELOCATING-0} : { *(.rel.bss${RELOCATING+ .rel.bss.* .rel.gnu.linkonce.b.*}) }${RO_REGION}
 1.19194 -+  .rela.bss     ${RELOCATING-0} : { *(.rela.bss${RELOCATING+ .rela.bss.* .rela.gnu.linkonce.b.*}) }${RO_REGION}
 1.19195 -+EOF
 1.19196 -+if [ -n "$COMBRELOC" ]; then
 1.19197 -+cat <<EOF
 1.19198 -+  .rel.dyn      ${RELOCATING-0} :
 1.19199 -+    {
 1.19200 -+EOF
 1.19201 -+sed -e '/^[ 	]*[{}][ 	]*$/d;/:[ 	]*$/d;/\.rela\./d;s/^.*: { *\(.*\)}$/      \1/' $COMBRELOC
 1.19202 -+cat <<EOF
 1.19203 -+    }${RO_REGION}
 1.19204 -+  .rela.dyn     ${RELOCATING-0} :
 1.19205 -+    {
 1.19206 -+EOF
 1.19207 -+sed -e '/^[ 	]*[{}][ 	]*$/d;/:[ 	]*$/d;/\.rel\./d;s/^.*: { *\(.*\)}/      \1/' $COMBRELOC
 1.19208 -+cat <<EOF
 1.19209 -+    }${RO_REGION}
 1.19210 -+EOF
 1.19211 -+fi
 1.19212 -+cat <<EOF
 1.19213 -+  .rel.plt      ${RELOCATING-0} : { *(.rel.plt) }${RO_REGION}
 1.19214 -+  .rela.plt     ${RELOCATING-0} : { *(.rela.plt) }${RO_REGION}
 1.19215 -+  ${OTHER_PLT_RELOC_SECTIONS}
 1.19216 -+
 1.19217 -+  .init         ${RELOCATING-0} :
 1.19218 -+  {
 1.19219 -+    ${RELOCATING+${INIT_START}}
 1.19220 -+    KEEP (*(.init))
 1.19221 -+    ${RELOCATING+${INIT_END}}
 1.19222 -+  }${RO_REGION} =${NOP-0}
 1.19223 -+
 1.19224 -+  ${DATA_PLT-${BSS_PLT-${PLT}${RO_REGION}}}
 1.19225 -+  .text         ${RELOCATING-0} :
 1.19226 -+  {
 1.19227 -+    ${RELOCATING+${TEXT_START_SYMBOLS}}
 1.19228 -+    *(.text .stub${RELOCATING+ .text.* .gnu.linkonce.t.*})
 1.19229 -+    KEEP (*(.text.*personality*))
 1.19230 -+    /* .gnu.warning sections are handled specially by elf32.em.  */
 1.19231 -+    *(.gnu.warning)
 1.19232 -+    ${RELOCATING+${OTHER_TEXT_SECTIONS}}
 1.19233 -+  }${RO_REGION} =${NOP-0}
 1.19234 -+  .fini         ${RELOCATING-0} :
 1.19235 -+  {
 1.19236 -+    ${RELOCATING+${FINI_START}}
 1.19237 -+    KEEP (*(.fini))
 1.19238 -+    ${RELOCATING+${FINI_END}}
 1.19239 -+  }${RO_REGION} =${NOP-0}
 1.19240 -+  ${RELOCATING+PROVIDE (__etext = .);}
 1.19241 -+  ${RELOCATING+PROVIDE (_etext = .);}
 1.19242 -+  ${RELOCATING+PROVIDE (etext = .);}
 1.19243 -+  ${WRITABLE_RODATA-${RODATA}${RO_REGION}}
 1.19244 -+  .rodata1      ${RELOCATING-0} : { *(.rodata1) }${RO_REGION}
 1.19245 -+  ${CREATE_SHLIB-${SDATA2}}
 1.19246 -+  ${CREATE_SHLIB-${SBSS2}}
 1.19247 -+  ${OTHER_READONLY_SECTIONS}
 1.19248 -+  .eh_frame_hdr : { *(.eh_frame_hdr) }${RO_REGION}
 1.19249 -+  .eh_frame     ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) }${RO_REGION}
 1.19250 -+  .gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) }${RO_REGION}
 1.19251 -+
 1.19252 -+  ${RELOCATING+${DALIGN}}
 1.19253 -+  ${RELOCATING+PROVIDE (_data = ORIGIN(${RW_VMA_REGION}));}
 1.19254 -+  . = ORIGIN(${RW_VMA_REGION});
 1.19255 -+  /* Exception handling  */
 1.19256 -+  .eh_frame     ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.eh_frame)) }${RW_REGION}
 1.19257 -+  .gcc_except_table ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) }${RW_REGION}
 1.19258 -+
 1.19259 -+  /* Thread Local Storage sections  */
 1.19260 -+  .tdata	${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) }${RW_REGION}
 1.19261 -+  .tbss		${RELOCATING-0} : { *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} }${RW_REGION}
 1.19262 -+
 1.19263 -+  /* Ensure the __preinit_array_start label is properly aligned.  We
 1.19264 -+     could instead move the label definition inside the section, but
 1.19265 -+     the linker would then create the section even if it turns out to
 1.19266 -+     be empty, which isn't pretty.  */
 1.19267 -+  ${RELOCATING+${CREATE_SHLIB-PROVIDE (__preinit_array_start = ALIGN(${ALIGNMENT}));}}
 1.19268 -+  .preinit_array   ${RELOCATING-0} : { KEEP (*(.preinit_array)) }${RW_REGION}
 1.19269 -+  ${RELOCATING+${CREATE_SHLIB-PROVIDE (__preinit_array_end = .);}}
 1.19270 -+
 1.19271 -+  ${RELOCATING+${CREATE_SHLIB-PROVIDE (__init_array_start = .);}}
 1.19272 -+  .init_array   ${RELOCATING-0} : { KEEP (*(.init_array)) }${RW_REGION}
 1.19273 -+  ${RELOCATING+${CREATE_SHLIB-PROVIDE (__init_array_end = .);}}
 1.19274 -+
 1.19275 -+  ${RELOCATING+${CREATE_SHLIB-PROVIDE (__fini_array_start = .);}}
 1.19276 -+  .fini_array   ${RELOCATING-0} : { KEEP (*(.fini_array)) }${RW_REGION}
 1.19277 -+  ${RELOCATING+${CREATE_SHLIB-PROVIDE (__fini_array_end = .);}}
 1.19278 -+
 1.19279 -+  ${SMALL_DATA_CTOR-${RELOCATING+${CTOR}${RW_REGION}}}
 1.19280 -+  ${SMALL_DATA_DTOR-${RELOCATING+${DTOR}${RW_REGION}}}
 1.19281 -+  .jcr          ${RELOCATING-0} : { KEEP (*(.jcr)) }${RW_REGION}
 1.19282 -+
 1.19283 -+  ${RELOCATING+${DATARELRO}}
 1.19284 -+  ${OTHER_RELRO_SECTIONS}
 1.19285 -+  ${TEXT_DYNAMIC-${DYNAMIC}${RW_REGION}}
 1.19286 -+  ${NO_SMALL_DATA+${RELRO_NOW+${GOT}${RW_REGION}}}
 1.19287 -+  ${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT+${GOT}${RW_REGION}}}}
 1.19288 -+  ${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT+${GOTPLT}${RW_REGION}}}}
 1.19289 -+  ${RELOCATING+${DATA_SEGMENT_RELRO_END}}
 1.19290 -+  ${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT-${GOT}${RW_REGION}}}}
 1.19291 -+
 1.19292 -+  ${DATA_PLT+${PLT_BEFORE_GOT-${PLT}${RW_REGION}}}
 1.19293 -+
 1.19294 -+  .data         ${RELOCATING-0} :
 1.19295 -+  {
 1.19296 -+    ${RELOCATING+${DATA_START_SYMBOLS}}
 1.19297 -+    *(.data${RELOCATING+ .data.* .gnu.linkonce.d.*})
 1.19298 -+    KEEP (*(.gnu.linkonce.d.*personality*))
 1.19299 -+    ${CONSTRUCTING+SORT(CONSTRUCTORS)}
 1.19300 -+  }${RW_REGION}
 1.19301 -+  .data1        ${RELOCATING-0} : { *(.data1) }${RW_REGION}
 1.19302 -+  ${WRITABLE_RODATA+${RODATA}${RW_REGION}}
 1.19303 -+  ${OTHER_READWRITE_SECTIONS}
 1.19304 -+  ${SMALL_DATA_CTOR+${RELOCATING+${CTOR}${RW_REGION}}}
 1.19305 -+  ${SMALL_DATA_DTOR+${RELOCATING+${DTOR}${RW_REGION}}}
 1.19306 -+  ${DATA_PLT+${PLT_BEFORE_GOT+${PLT}${RW_REGION}}}
 1.19307 -+  ${RELOCATING+${OTHER_GOT_SYMBOLS}}
 1.19308 -+  ${NO_SMALL_DATA-${GOT}${RW_REGION}}
 1.19309 -+  ${OTHER_GOT_SECTIONS}
 1.19310 -+  ${SDATA}
 1.19311 -+  ${OTHER_SDATA_SECTIONS}
 1.19312 -+  ${RELOCATING+${BALIGN}}
 1.19313 -+  ${RELOCATING+_edata = .;}
 1.19314 -+  ${RELOCATING+PROVIDE (edata = .);}
 1.19315 -+  ${RELOCATING+__bss_start = .;}
 1.19316 -+  ${RELOCATING+${OTHER_BSS_SYMBOLS}}
 1.19317 -+  ${SBSS}
 1.19318 -+  ${BSS_PLT+${PLT}${RW_REGION}}
 1.19319 -+  .bss          ${RELOCATING-0} :
 1.19320 -+  {
 1.19321 -+   *(.dynbss)
 1.19322 -+   *(.bss${RELOCATING+ .bss.* .gnu.linkonce.b.*})
 1.19323 -+   *(COMMON)
 1.19324 -+   /* Align here to ensure that the .bss section occupies space up to
 1.19325 -+      _end.  Align after .bss to ensure correct alignment even if the
 1.19326 -+      .bss section disappears because there are no input sections.  */
 1.19327 -+   ${RELOCATING+. = ALIGN(${BSS_ALIGNMENT});}
 1.19328 -+  }${RW_REGION}
 1.19329 -+  ${OTHER_BSS_SECTIONS}
 1.19330 -+  ${RELOCATING+. = ALIGN(${BSS_ALIGNMENT});}
 1.19331 -+  ${RELOCATING+_end = .;}
 1.19332 -+  ${RELOCATING+${OTHER_BSS_END_SYMBOLS}}
 1.19333 -+  ${RELOCATING+PROVIDE (end = .);}
 1.19334 -+  ${RELOCATING+${DATA_SEGMENT_END}}
 1.19335 -+
 1.19336 -+  /* Stabs debugging sections.  */
 1.19337 -+  .stab          0 : { *(.stab) }
 1.19338 -+  .stabstr       0 : { *(.stabstr) }
 1.19339 -+  .stab.excl     0 : { *(.stab.excl) }
 1.19340 -+  .stab.exclstr  0 : { *(.stab.exclstr) }
 1.19341 -+  .stab.index    0 : { *(.stab.index) }
 1.19342 -+  .stab.indexstr 0 : { *(.stab.indexstr) }
 1.19343 -+
 1.19344 -+  .comment       0 : { *(.comment) }
 1.19345 -+
 1.19346 -+  /* DWARF debug sections.
 1.19347 -+     Symbols in the DWARF debugging sections are relative to the beginning
 1.19348 -+     of the section so we begin them at 0.  */
 1.19349 -+
 1.19350 -+  /* DWARF 1 */
 1.19351 -+  .debug          0 : { *(.debug) }
 1.19352 -+  .line           0 : { *(.line) }
 1.19353 -+
 1.19354 -+  /* GNU DWARF 1 extensions */
 1.19355 -+  .debug_srcinfo  0 : { *(.debug_srcinfo) }
 1.19356 -+  .debug_sfnames  0 : { *(.debug_sfnames) }
 1.19357 -+
 1.19358 -+  /* DWARF 1.1 and DWARF 2 */
 1.19359 -+  .debug_aranges  0 : { *(.debug_aranges) }
 1.19360 -+  .debug_pubnames 0 : { *(.debug_pubnames) }
 1.19361 -+
 1.19362 -+  /* DWARF 2 */
 1.19363 -+  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
 1.19364 -+  .debug_abbrev   0 : { *(.debug_abbrev) }
 1.19365 -+  .debug_line     0 : { *(.debug_line) }
 1.19366 -+  .debug_frame    0 : { *(.debug_frame) }
 1.19367 -+  .debug_str      0 : { *(.debug_str) }
 1.19368 -+  .debug_loc      0 : { *(.debug_loc) }
 1.19369 -+  .debug_macinfo  0 : { *(.debug_macinfo) }
 1.19370 -+
 1.19371 -+  /* SGI/MIPS DWARF 2 extensions */
 1.19372 -+  .debug_weaknames 0 : { *(.debug_weaknames) }
 1.19373 -+  .debug_funcnames 0 : { *(.debug_funcnames) }
 1.19374 -+  .debug_typenames 0 : { *(.debug_typenames) }
 1.19375 -+  .debug_varnames  0 : { *(.debug_varnames) }
 1.19376 -+
 1.19377 -+  ${STACK_ADDR+${STACK}}
 1.19378 -+  ${OTHER_SECTIONS}
 1.19379 -+  ${RELOCATING+${OTHER_END_SYMBOLS}}
 1.19380 -+  ${RELOCATING+${STACKNOTE}}
 1.19381 -+}
 1.19382 -+EOF
 1.19383 ---- /dev/null
 1.19384 -+++ b/ld/testsuite/ld-avr32/avr32.exp
 1.19385 -@@ -0,0 +1,25 @@
 1.19386 -+# Expect script for AVR32 ELF linker tests.
 1.19387 -+#   Copyright 2004-2006 Atmel Corporation.
 1.19388 -+#
 1.19389 -+# This file is free software; you can redistribute it and/or modify
 1.19390 -+# it under the terms of the GNU General Public License as published by
 1.19391 -+# the Free Software Foundation; either version 2 of the License, or
 1.19392 -+# (at your option) any later version.
 1.19393 -+#
 1.19394 -+# This program is distributed in the hope that it will be useful,
 1.19395 -+# but WITHOUT ANY WARRANTY; without even the implied warranty of
 1.19396 -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 1.19397 -+# GNU General Public License for more details.
 1.19398 -+#
 1.19399 -+# You should have received a copy of the GNU General Public License
 1.19400 -+# along with this program; if not, write to the Free Software
 1.19401 -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 1.19402 -+#
 1.19403 -+# Written by Haavard Skinnemoen (hskinnemoen@atmel.com)
 1.19404 -+#
 1.19405 -+
 1.19406 -+if ![istarget avr32-*-*] {
 1.19407 -+    return
 1.19408 -+}
 1.19409 -+
 1.19410 -+run_dump_test "pcrel"
 1.19411 ---- /dev/null
 1.19412 -+++ b/ld/testsuite/ld-avr32/pcrel.d
 1.19413 -@@ -0,0 +1,74 @@
 1.19414 -+#name: AVR32 ELF PC-relative external relocs
 1.19415 -+#source: symbols.s
 1.19416 -+#source: ../../../gas/testsuite/gas/avr32/pcrel.s
 1.19417 -+#ld: -T $srcdir/$subdir/pcrel.ld
 1.19418 -+#objdump: -d
 1.19419 -+
 1.19420 -+.*:     file format elf.*avr32.*
 1.19421 -+
 1.19422 -+Disassembly of section .text:
 1.19423 -+
 1.19424 -+a0000000 <_start>:
 1.19425 -+a0000000:	d7 03       	nop
 1.19426 -+a0000002:	d7 03       	nop
 1.19427 -+
 1.19428 -+a0000004 <test_rjmp>:
 1.19429 -+a0000004:	d7 03       	nop
 1.19430 -+a0000006:	c0 28       	rjmp a000000a <test_rjmp\+0x6>
 1.19431 -+a0000008:	d7 03       	nop
 1.19432 -+a000000a:	e0 8f 01 fb 	bral a0000400 <extsym10>
 1.19433 -+
 1.19434 -+a000000e <test_rcall>:
 1.19435 -+a000000e:	d7 03       	nop
 1.19436 -+a0000010 <test_rcall2>:
 1.19437 -+a0000010:	c0 2c       	rcall a0000014 <test_rcall2\+0x4>
 1.19438 -+a0000012:	d7 03       	nop
 1.19439 -+a0000014:	ee b0 ff f6 	rcall a0200000 <extsym21>
 1.19440 -+
 1.19441 -+a0000018 <test_branch>:
 1.19442 -+a0000018:	c0 31       	brne a000001e <test_branch\+0x6>
 1.19443 -+a000001a:	fe 9f ff ff 	bral a0000018 <test_branch>
 1.19444 -+a000001e:	ee 90 ff f1 	breq a0200000 <extsym21>
 1.19445 -+
 1.19446 -+a0000022 <test_lddpc>:
 1.19447 -+a0000022:	48 30       	lddpc r0,a000002c <sym1>
 1.19448 -+a0000024:	48 20       	lddpc r0,a000002c <sym1>
 1.19449 -+a0000026:	fe f0 7f da 	ld.w r0,pc\[32730\]
 1.19450 -+	...
 1.19451 -+
 1.19452 -+a000002c <sym1>:
 1.19453 -+a000002c:	d7 03       	nop
 1.19454 -+a000002e:	d7 03       	nop
 1.19455 -+
 1.19456 -+a0000030 <test_local>:
 1.19457 -+a0000030:	48 20       	lddpc r0,a0000038 <test_local\+0x8>
 1.19458 -+a0000032:	48 30       	lddpc r0,a000003c <test_local\+0xc>
 1.19459 -+a0000034:	48 20       	lddpc r0,a000003c <test_local\+0xc>
 1.19460 -+a0000036:	00 00       	add r0,r0
 1.19461 -+a0000038:	d7 03       	nop
 1.19462 -+a000003a:	d7 03       	nop
 1.19463 -+a000003c:	d7 03       	nop
 1.19464 -+a000003e:	d7 03       	nop
 1.19465 -+
 1.19466 -+Disassembly of section \.text\.init:
 1.19467 -+a0000040 <test_inter_section>:
 1.19468 -+a0000040:	fe b0 ff e7 	rcall a000000e <test_rcall>
 1.19469 -+a0000044:	d7 03       	nop
 1.19470 -+a0000046:	fe b0 ff e4 	rcall a000000e <test_rcall>
 1.19471 -+a000004a:	fe b0 ff e3 	rcall a0000010 <test_rcall2>
 1.19472 -+a000004e:	d7 03       	nop
 1.19473 -+a0000050:	fe b0 ff e0 	rcall a0000010 <test_rcall2>
 1.19474 -+
 1.19475 -+Disassembly of section \.text\.pcrel10:
 1.19476 -+
 1.19477 -+a0000400 <extsym10>:
 1.19478 -+a0000400:	d7 03       	nop
 1.19479 -+
 1.19480 -+Disassembly of section \.text\.pcrel16:
 1.19481 -+
 1.19482 -+a0008000 <extsym16>:
 1.19483 -+a0008000:	d7 03       	nop
 1.19484 -+
 1.19485 -+Disassembly of section \.text\.pcrel21:
 1.19486 -+a0200000 <extsym21>:
 1.19487 -+a0200000:	d7 03       	nop
 1.19488 ---- /dev/null
 1.19489 -+++ b/ld/testsuite/ld-avr32/pcrel.ld
 1.19490 -@@ -0,0 +1,23 @@
 1.19491 -+ENTRY(_start)
 1.19492 -+SECTIONS
 1.19493 -+{
 1.19494 -+	.text 0xa0000000:
 1.19495 -+	{
 1.19496 -+		*(.text)
 1.19497 -+	}
 1.19498 -+
 1.19499 -+	.text.pcrel10 0xa0000400:
 1.19500 -+	{
 1.19501 -+		*(.text.pcrel10)
 1.19502 -+	}
 1.19503 -+
 1.19504 -+	.text.pcrel16 0xa0008000:
 1.19505 -+	{
 1.19506 -+		*(.text.pcrel16)
 1.19507 -+	}
 1.19508 -+
 1.19509 -+	.text.pcrel21 0xa0200000:
 1.19510 -+	{
 1.19511 -+		*(.text.pcrel21)
 1.19512 -+	}
 1.19513 -+}
 1.19514 ---- /dev/null
 1.19515 -+++ b/ld/testsuite/ld-avr32/symbols.s
 1.19516 -@@ -0,0 +1,20 @@
 1.19517 -+	.text
 1.19518 -+	.global _start
 1.19519 -+_start:
 1.19520 -+	nop
 1.19521 -+	nop
 1.19522 -+
 1.19523 -+	.section .text.pcrel10,"ax"
 1.19524 -+	.global extsym10
 1.19525 -+extsym10:
 1.19526 -+	nop
 1.19527 -+
 1.19528 -+	.section .text.pcrel16,"ax"
 1.19529 -+	.global extsym16
 1.19530 -+extsym16:
 1.19531 -+	nop
 1.19532 -+
 1.19533 -+	.section .text.pcrel21,"ax"
 1.19534 -+	.global extsym21
 1.19535 -+extsym21:
 1.19536 -+	nop
 1.19537 ---- /dev/null
 1.19538 -+++ b/opcodes/avr32-asm.c
 1.19539 -@@ -0,0 +1,264 @@
 1.19540 -+/* Assembler interface for AVR32.
 1.19541 -+   Copyright 2005, 2006 Atmel Corporation.
 1.19542 -+
 1.19543 -+   Written by Haavard Skinnemoen, Atmel Norway, <hskinnemoen@atmel.com>
 1.19544 -+
 1.19545 -+   This file is part of libopcodes.
 1.19546 -+
 1.19547 -+   This program is free software; you can redistribute it and/or
 1.19548 -+   modify it under the terms of the GNU General Public License as
 1.19549 -+   published by the Free Software Foundation; either version 2 of the
 1.19550 -+   License, or (at your option) any later version.
 1.19551 -+
 1.19552 -+   This program is distributed in the hope that it will be useful, but
 1.19553 -+   WITHOUT ANY WARRANTY; without even the implied warranty of
 1.19554 -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 1.19555 -+   General Public License for more details.
 1.19556 -+
 1.19557 -+   You should have received a copy of the GNU General Public License
 1.19558 -+   along with this program; if not, write to the Free Software
 1.19559 -+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 1.19560 -+   02111-1307, USA.  */
 1.19561 -+
 1.19562 -+#include <string.h>
 1.19563 -+
 1.19564 -+#include "avr32-opc.h"
 1.19565 -+#include "avr32-asm.h"
 1.19566 -+
 1.19567 -+/* Structure for a register hash table entry.  */
 1.19568 -+struct reg_entry
 1.19569 -+{
 1.19570 -+  const char	*name;
 1.19571 -+  int		number;
 1.19572 -+};
 1.19573 -+
 1.19574 -+/* Integer Registers.  */
 1.19575 -+static const struct reg_entry reg_table[] =
 1.19576 -+  {
 1.19577 -+    /* Primary names (used by the disassembler) */
 1.19578 -+    { "r0",   0 }, { "r1",   1 }, { "r2",   2 }, { "r3",   3 },
 1.19579 -+    { "r4",   4 }, { "r5",   5 }, { "r6",   6 }, { "r7",   7 },
 1.19580 -+    { "r8",   8 }, { "r9",   9 }, { "r10", 10 }, { "r11", 11 },
 1.19581 -+    { "r12", 12 }, { "sp",  13 }, { "lr",  14 }, { "pc",  15 },
 1.19582 -+    /* Alternatives to sp, lr and pc.  */
 1.19583 -+    { "r13", 13 }, { "r14", 14 }, { "r15", 15 },
 1.19584 -+  };
 1.19585 -+#define AVR32_NR_INTREGS (sizeof(reg_table)/sizeof(reg_table[0]))
 1.19586 -+
 1.19587 -+/* Coprocessor Registers.  */
 1.19588 -+static const struct reg_entry cr_table[] =
 1.19589 -+  {
 1.19590 -+    { "cr0",   0 }, { "cr1",   1 }, { "cr2",   2 }, { "cr3",   3 },
 1.19591 -+    { "cr4",   4 }, { "cr5",   5 }, { "cr6",   6 }, { "cr7",   7 },
 1.19592 -+    { "cr8",   8 }, { "cr9",   9 }, { "cr10", 10 }, { "cr11", 11 },
 1.19593 -+    { "cr12", 12 }, { "cr13", 13 }, { "cr14", 14 }, { "cr15", 15 },
 1.19594 -+  };
 1.19595 -+#define AVR32_NR_CPREGS (sizeof(cr_table)/sizeof(cr_table[0]))
 1.19596 -+
 1.19597 -+/* Floating-point Registers.  */
 1.19598 -+static const struct reg_entry fr_table[] =
 1.19599 -+  {
 1.19600 -+    { "fr0",   0 }, { "fr1",   1 }, { "fr2",   2 }, { "fr3",   3 },
 1.19601 -+    { "fr4",   4 }, { "fr5",   5 }, { "fr6",   6 }, { "fr7",   7 },
 1.19602 -+    { "fr8",   8 }, { "fr9",   9 }, { "fr10", 10 }, { "fr11", 11 },
 1.19603 -+    { "fr12", 12 }, { "fr13", 13 }, { "fr14", 14 }, { "fr15", 15 },
 1.19604 -+  };
 1.19605 -+#define AVR32_NR_FPREGS (sizeof(fr_table)/sizeof(fr_table[0]))
 1.19606 -+
 1.19607 -+/* PiCo Registers.  */
 1.19608 -+static const struct reg_entry pico_table[] =
 1.19609 -+  {
 1.19610 -+    { "inpix2",    0 }, { "inpix1",    1 }, { "inpix0",    2 },
 1.19611 -+    { "outpix2",   3 }, { "outpix1",   4 }, { "outpix0",   5 },
 1.19612 -+    { "coeff0_a",  6 }, { "coeff0_b",  7 }, { "coeff1_a",  8 },
 1.19613 -+    { "coeff1_b",  9 }, { "coeff2_a", 10 }, { "coeff2_b", 11 },
 1.19614 -+    { "vmu0_out", 12 }, { "vmu1_out", 13 }, { "vmu2_out", 14 },
 1.19615 -+    { "config",   15 },
 1.19616 -+  };
 1.19617 -+#define AVR32_NR_PICOREGS (sizeof(pico_table)/sizeof(pico_table[0]))
 1.19618 -+
 1.19619 -+int
 1.19620 -+avr32_parse_intreg(const char *str)
 1.19621 -+{
 1.19622 -+  unsigned int i;
 1.19623 -+
 1.19624 -+  for (i = 0; i < AVR32_NR_INTREGS; i++)
 1.19625 -+    {
 1.19626 -+      if (strcasecmp(reg_table[i].name, str) == 0)
 1.19627 -+	return reg_table[i].number;
 1.19628 -+    }
 1.19629 -+
 1.19630 -+  return -1;
 1.19631 -+}
 1.19632 -+
 1.19633 -+int
 1.19634 -+avr32_parse_cpreg(const char *str)
 1.19635 -+{
 1.19636 -+  unsigned int i;
 1.19637 -+
 1.19638 -+  for (i = 0; i < AVR32_NR_CPREGS; i++)
 1.19639 -+    {
 1.19640 -+      if (strcasecmp(cr_table[i].name, str) == 0)
 1.19641 -+	return cr_table[i].number;
 1.19642 -+    }
 1.19643 -+
 1.19644 -+  return -1;
 1.19645 -+}
 1.19646 -+
 1.19647 -+int avr32_parse_fpreg(const char *str)
 1.19648 -+{
 1.19649 -+  unsigned int i;
 1.19650 -+
 1.19651 -+  for (i = 0; i < AVR32_NR_FPREGS; i++)
 1.19652 -+    {
 1.19653 -+      if (strcasecmp(fr_table[i].name, str) == 0)
 1.19654 -+	return fr_table[i].number;
 1.19655 -+    }
 1.19656 -+
 1.19657 -+  return -1;
 1.19658 -+}
 1.19659 -+
 1.19660 -+int avr32_parse_picoreg(const char *str)
 1.19661 -+{
 1.19662 -+  unsigned int i;
 1.19663 -+
 1.19664 -+  for (i = 0; i < AVR32_NR_PICOREGS; i++)
 1.19665 -+    {
 1.19666 -+      if (strcasecmp(pico_table[i].name, str) == 0)
 1.19667 -+	return pico_table[i].number;
 1.19668 -+    }
 1.19669 -+
 1.19670 -+  return -1;
 1.19671 -+}
 1.19672 -+
 1.19673 -+static unsigned long
 1.19674 -+parse_reglist(char *str, char **endptr, int (*parse_reg)(const char *))
 1.19675 -+{
 1.19676 -+  int reg_from, reg_to;
 1.19677 -+  unsigned long result = 0;
 1.19678 -+  char *p1, *p2, c;
 1.19679 -+
 1.19680 -+  while (*str)
 1.19681 -+    {
 1.19682 -+      for (p1 = str; *p1; p1++)
 1.19683 -+	if (*p1 == ',' || *p1 == '-')
 1.19684 -+	  break;
 1.19685 -+
 1.19686 -+      c = *p1, *p1 = 0;
 1.19687 -+      reg_from = parse_reg(str);
 1.19688 -+      *p1 = c;
 1.19689 -+
 1.19690 -+      if (reg_from < 0)
 1.19691 -+	break;
 1.19692 -+
 1.19693 -+      if (*p1 == '-')
 1.19694 -+	{
 1.19695 -+	  for (p2 = ++p1; *p2; p2++)
 1.19696 -+	    if (*p2 == ',')
 1.19697 -+	      break;
 1.19698 -+
 1.19699 -+	  c = *p2, *p2 = 0;
 1.19700 -+	  /* printf("going to parse reg_to from `%s'\n", p1); */
 1.19701 -+	  reg_to = parse_reg(p1);
 1.19702 -+	  *p2 = c;
 1.19703 -+
 1.19704 -+	  if (reg_to < 0)
 1.19705 -+	    break;
 1.19706 -+
 1.19707 -+	  while (reg_from <= reg_to)
 1.19708 -+	    result |= (1 << reg_from++);
 1.19709 -+	  p1 = p2;
 1.19710 -+	}
 1.19711 -+      else
 1.19712 -+	result |= (1 << reg_from);
 1.19713 -+
 1.19714 -+      str = p1;
 1.19715 -+      if (*str) ++str;
 1.19716 -+    }
 1.19717 -+
 1.19718 -+  if (endptr)
 1.19719 -+    *endptr = str;
 1.19720 -+
 1.19721 -+  return result;
 1.19722 -+}
 1.19723 -+
 1.19724 -+unsigned long
 1.19725 -+avr32_parse_reglist(char *str, char **endptr)
 1.19726 -+{
 1.19727 -+  return parse_reglist(str, endptr, avr32_parse_intreg);
 1.19728 -+}
 1.19729 -+
 1.19730 -+unsigned long
 1.19731 -+avr32_parse_cpreglist(char *str, char **endptr)
 1.19732 -+{
 1.19733 -+  return parse_reglist(str, endptr, avr32_parse_cpreg);
 1.19734 -+}
 1.19735 -+
 1.19736 -+unsigned long
 1.19737 -+avr32_parse_pico_reglist(char *str, char **endptr)
 1.19738 -+{
 1.19739 -+  return parse_reglist(str, endptr, avr32_parse_picoreg);
 1.19740 -+}
 1.19741 -+
 1.19742 -+int
 1.19743 -+avr32_make_regmask8(unsigned long regmask16, unsigned long *regmask8)
 1.19744 -+{
 1.19745 -+  unsigned long result = 0;
 1.19746 -+
 1.19747 -+  /* printf("convert regmask16 0x%04lx\n", regmask16); */
 1.19748 -+
 1.19749 -+  if (regmask16 & 0xf)
 1.19750 -+    {
 1.19751 -+      if ((regmask16 & 0xf) == 0xf)
 1.19752 -+	result |= 1 << 0;
 1.19753 -+      else
 1.19754 -+	return -1;
 1.19755 -+    }
 1.19756 -+  if (regmask16 & 0xf0)
 1.19757 -+    {
 1.19758 -+      if ((regmask16 & 0xf0) == 0xf0)
 1.19759 -+	result |= 1 << 1;
 1.19760 -+      else
 1.19761 -+	return -1;
 1.19762 -+    }
 1.19763 -+  if (regmask16 & 0x300)
 1.19764 -+    {
 1.19765 -+      if ((regmask16 & 0x300) == 0x300)
 1.19766 -+	result |= 1 << 2;
 1.19767 -+      else
 1.19768 -+	return -1;
 1.19769 -+    }
 1.19770 -+  if (regmask16 & (1 << 13))
 1.19771 -+    return -1;
 1.19772 -+
 1.19773 -+  if (regmask16 & (1 << 10))
 1.19774 -+    result |= 1 << 3;
 1.19775 -+  if (regmask16 & (1 << 11))
 1.19776 -+    result |= 1 << 4;
 1.19777 -+  if (regmask16 & (1 << 12))
 1.19778 -+    result |= 1 << 5;
 1.19779 -+  if (regmask16 & (1 << 14))
 1.19780 -+    result |= 1 << 6;
 1.19781 -+  if (regmask16 & (1 << 15))
 1.19782 -+    result |= 1 << 7;
 1.19783 -+
 1.19784 -+  *regmask8 = result;
 1.19785 -+
 1.19786 -+  return 0;
 1.19787 -+}
 1.19788 -+
 1.19789 -+#if 0
 1.19790 -+struct reg_map
 1.19791 -+{
 1.19792 -+  const struct reg_entry	*names;
 1.19793 -+  int				nr_regs;
 1.19794 -+  struct hash_control		*htab;
 1.19795 -+  const char			*errmsg;
 1.19796 -+};
 1.19797 -+
 1.19798 -+struct reg_map all_reg_maps[] =
 1.19799 -+  {
 1.19800 -+    { reg_table, AVR32_NR_INTREGS, NULL, N_("integral register expected") },
 1.19801 -+    { cr_table,  AVR32_NR_CPREGS,  NULL, N_("coprocessor register expected") },
 1.19802 -+  };
 1.19803 -+#endif
 1.19804 ---- /dev/null
 1.19805 -+++ b/opcodes/avr32-asm.h
 1.19806 -@@ -0,0 +1,42 @@
 1.19807 -+/* Assembler interface for AVR32.
 1.19808 -+   Copyright 2005, 2006 Atmel Corporation.
 1.19809 -+
 1.19810 -+   Written by Haavard Skinnemoen, Atmel Norway, <hskinnemoen@atmel.com>
 1.19811 -+
 1.19812 -+   This file is part of libopcodes.
 1.19813 -+
 1.19814 -+   This program is free software; you can redistribute it and/or
 1.19815 -+   modify it under the terms of the GNU General Public License as
 1.19816 -+   published by the Free Software Foundation; either version 2 of the
 1.19817 -+   License, or (at your option) any later version.
 1.19818 -+
 1.19819 -+   This program is distributed in the hope that it will be useful, but
 1.19820 -+   WITHOUT ANY WARRANTY; without even the implied warranty of
 1.19821 -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 1.19822 -+   General Public License for more details.
 1.19823 -+
 1.19824 -+   You should have received a copy of the GNU General Public License
 1.19825 -+   along with this program; if not, write to the Free Software
 1.19826 -+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 1.19827 -+   02111-1307, USA.  */
 1.19828 -+#ifndef __OPCODES_AVR32_ASM_H
 1.19829 -+#define __OPCODES_AVR32_ASM_H
 1.19830 -+
 1.19831 -+extern int
 1.19832 -+avr32_parse_intreg(const char *str);
 1.19833 -+extern int
 1.19834 -+avr32_parse_cpreg(const char *str);
 1.19835 -+extern int
 1.19836 -+avr32_parse_fpreg(const char *str);
 1.19837 -+extern int
 1.19838 -+avr32_parse_picoreg(const char *str);
 1.19839 -+extern unsigned long
 1.19840 -+avr32_parse_reglist(char *str, char **endptr);
 1.19841 -+extern unsigned long
 1.19842 -+avr32_parse_cpreglist(char *str, char **endptr);
 1.19843 -+extern unsigned long
 1.19844 -+avr32_parse_pico_reglist(char *str, char **endptr);
 1.19845 -+extern int
 1.19846 -+avr32_make_regmask8(unsigned long regmask16, unsigned long *regmask8);
 1.19847 -+
 1.19848 -+#endif /* __OPCODES_AVR32_ASM_H */
 1.19849 ---- /dev/null
 1.19850 -+++ b/opcodes/avr32-dis.c
 1.19851 -@@ -0,0 +1,891 @@
 1.19852 -+/* Print AVR32 instructions for GDB and objdump.
 1.19853 -+   Copyright 2005, 2006 Atmel Corporation.
 1.19854 -+
 1.19855 -+   Written by Haavard Skinnemoen, Atmel Norway, <hskinnemoen@atmel.com>
 1.19856 -+
 1.19857 -+   This file is part of libopcodes.
 1.19858 -+
 1.19859 -+   This program is free software; you can redistribute it and/or
 1.19860 -+   modify it under the terms of the GNU General Public License as
 1.19861 -+   published by the Free Software Foundation; either version 2 of the
 1.19862 -+   License, or (at your option) any later version.
 1.19863 -+
 1.19864 -+   This program is distributed in the hope that it will be useful, but
 1.19865 -+   WITHOUT ANY WARRANTY; without even the implied warranty of
 1.19866 -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 1.19867 -+   General Public License for more details.
 1.19868 -+
 1.19869 -+   You should have received a copy of the GNU General Public License
 1.19870 -+   along with this program; if not, write to the Free Software
 1.19871 -+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 1.19872 -+   02111-1307, USA.  */
 1.19873 -+
 1.19874 -+#include "sysdep.h"
 1.19875 -+#include "dis-asm.h"
 1.19876 -+#include "avr32-opc.h"
 1.19877 -+#include "opintl.h"
 1.19878 -+#include "safe-ctype.h"
 1.19879 -+
 1.19880 -+/* TODO: Share this with -asm */
 1.19881 -+
 1.19882 -+/* Structure for a register hash table entry.  */
 1.19883 -+struct reg_entry
 1.19884 -+{
 1.19885 -+  const char	*name;
 1.19886 -+  int		number;
 1.19887 -+};
 1.19888 -+
 1.19889 -+#ifndef strneq
 1.19890 -+#define strneq(a,b,n)	(strncmp ((a), (b), (n)) == 0)
 1.19891 -+#endif
 1.19892 -+
 1.19893 -+
 1.19894 -+static const struct reg_entry reg_table[] =
 1.19895 -+  {
 1.19896 -+    /* Primary names (used by the disassembler) */
 1.19897 -+    { "r0",   0 }, { "r1",   1 }, { "r2",   2 }, { "r3",   3 },
 1.19898 -+    { "r4",   4 }, { "r5",   5 }, { "r6",   6 }, { "r7",   7 },
 1.19899 -+    { "r8",   8 }, { "r9",   9 }, { "r10", 10 }, { "r11", 11 },
 1.19900 -+    { "r12", 12 }, { "sp",  13 }, { "lr",  14 }, { "pc",  15 },
 1.19901 -+    /* Alternatives to sp, lr and pc.  */
 1.19902 -+    { "r13", 13 }, { "r14", 14 }, { "r15", 15 },
 1.19903 -+  };
 1.19904 -+#define AVR32_NR_INTREGS (sizeof(reg_table)/sizeof(reg_table[0]))
 1.19905 -+
 1.19906 -+/* Coprocessor Registers.  */
 1.19907 -+static const struct reg_entry cr_table[] =
 1.19908 -+  {
 1.19909 -+    { "cr0",   0 }, { "cr1",   1 }, { "cr2",   2 }, { "cr3",   3 },
 1.19910 -+    { "cr4",   4 }, { "cr5",   5 }, { "cr6",   6 }, { "cr7",   7 },
 1.19911 -+    { "cr8",   8 }, { "cr9",   9 }, { "cr10", 10 }, { "cr11", 11 },
 1.19912 -+    { "cr12", 12 }, { "cr13", 13 }, { "cr14", 14 }, { "cr15", 15 },
 1.19913 -+  };
 1.19914 -+#define AVR32_NR_CPREGS (sizeof(cr_table)/sizeof(cr_table[0]))
 1.19915 -+
 1.19916 -+static const char bparts[4] = { 'b', 'l', 'u', 't' };
 1.19917 -+static bfd_vma current_pc;
 1.19918 -+
 1.19919 -+struct avr32_field_value
 1.19920 -+{
 1.19921 -+  const struct avr32_ifield *ifield;
 1.19922 -+  unsigned long value;
 1.19923 -+};
 1.19924 -+
 1.19925 -+struct avr32_operand
 1.19926 -+{
 1.19927 -+  int id;
 1.19928 -+  int is_pcrel;
 1.19929 -+  int align_order;
 1.19930 -+  int (*print)(struct avr32_operand *op, struct disassemble_info *info,
 1.19931 -+	       struct avr32_field_value *ifields);
 1.19932 -+};
 1.19933 -+
 1.19934 -+static signed long
 1.19935 -+get_signed_value(const struct avr32_field_value *fv)
 1.19936 -+{
 1.19937 -+  signed long value = fv->value;
 1.19938 -+
 1.19939 -+  if (fv->value & (1 << (fv->ifield->bitsize - 1)))
 1.19940 -+    value |= (~0UL << fv->ifield->bitsize);
 1.19941 -+
 1.19942 -+  return value;
 1.19943 -+}
 1.19944 -+
 1.19945 -+static void
 1.19946 -+print_reglist_range(unsigned int first, unsigned int last,
 1.19947 -+		    const struct reg_entry *reg_names,
 1.19948 -+		    int need_comma,
 1.19949 -+		    struct disassemble_info *info)
 1.19950 -+{
 1.19951 -+  if (need_comma)
 1.19952 -+    info->fprintf_func(info->stream, ",");
 1.19953 -+
 1.19954 -+  if (first == last)
 1.19955 -+    info->fprintf_func(info->stream, "%s",
 1.19956 -+		       reg_names[first].name);
 1.19957 -+  else
 1.19958 -+    info->fprintf_func(info->stream, "%s-%s",
 1.19959 -+		       reg_names[first].name, reg_names[last].name);
 1.19960 -+}
 1.19961 -+
 1.19962 -+static int
 1.19963 -+print_intreg(struct avr32_operand *op,
 1.19964 -+	     struct disassemble_info *info,
 1.19965 -+	     struct avr32_field_value *ifields)
 1.19966 -+{
 1.19967 -+  unsigned long regid = ifields[0].value << op->align_order;
 1.19968 -+
 1.19969 -+  info->fprintf_func(info->stream, "%s",
 1.19970 -+		     reg_table[regid].name);
 1.19971 -+  return 1;
 1.19972 -+}
 1.19973 -+
 1.19974 -+static int
 1.19975 -+print_intreg_predec(struct avr32_operand *op ATTRIBUTE_UNUSED,
 1.19976 -+		    struct disassemble_info *info,
 1.19977 -+		    struct avr32_field_value *ifields)
 1.19978 -+{
 1.19979 -+  info->fprintf_func(info->stream, "--%s",
 1.19980 -+		     reg_table[ifields[0].value].name);
 1.19981 -+  return 1;
 1.19982 -+}
 1.19983 -+
 1.19984 -+static int
 1.19985 -+print_intreg_postinc(struct avr32_operand *op ATTRIBUTE_UNUSED,
 1.19986 -+		     struct disassemble_info *info,
 1.19987 -+		     struct avr32_field_value *ifields)
 1.19988 -+{
 1.19989 -+  info->fprintf_func(info->stream, "%s++",
 1.19990 -+		     reg_table[ifields[0].value].name);
 1.19991 -+  return 1;
 1.19992 -+}
 1.19993 -+
 1.19994 -+static int
 1.19995 -+print_intreg_lsl(struct avr32_operand *op ATTRIBUTE_UNUSED,
 1.19996 -+		 struct disassemble_info *info,
 1.19997 -+		 struct avr32_field_value *ifields)
 1.19998 -+{
 1.19999 -+  const char *rp = reg_table[ifields[0].value].name;
 1.20000 -+  unsigned long sa = ifields[1].value;
 1.20001 -+
 1.20002 -+  if (sa)
 1.20003 -+    info->fprintf_func(info->stream, "%s<<0x%lx", rp, sa);
 1.20004 -+  else
 1.20005 -+    info->fprintf_func(info->stream, "%s", rp);
 1.20006 -+
 1.20007 -+  return 2;
 1.20008 -+}
 1.20009 -+
 1.20010 -+static int
 1.20011 -+print_intreg_lsr(struct avr32_operand *op ATTRIBUTE_UNUSED,
 1.20012 -+		 struct disassemble_info *info,
 1.20013 -+		 struct avr32_field_value *ifields)
 1.20014 -+{
 1.20015 -+  const char *rp = reg_table[ifields[0].value].name;
 1.20016 -+  unsigned long sa = ifields[1].value;
 1.20017 -+
 1.20018 -+  if (sa)
 1.20019 -+    info->fprintf_func(info->stream, "%s>>0x%lx", rp, sa);
 1.20020 -+  else
 1.20021 -+    info->fprintf_func(info->stream, "%s", rp);
 1.20022 -+
 1.20023 -+  return 2;
 1.20024 -+}
 1.20025 -+
 1.20026 -+static int
 1.20027 -+print_intreg_bpart(struct avr32_operand *op ATTRIBUTE_UNUSED,
 1.20028 -+		   struct disassemble_info *info,
 1.20029 -+		   struct avr32_field_value *ifields)
 1.20030 -+{
 1.20031 -+  info->fprintf_func(info->stream, "%s:%c",
 1.20032 -+		     reg_table[ifields[0].value].name,
 1.20033 -+		     bparts[ifields[1].value]);
 1.20034 -+  return 2;
 1.20035 -+}
 1.20036 -+
 1.20037 -+static int
 1.20038 -+print_intreg_hpart(struct avr32_operand *op ATTRIBUTE_UNUSED,
 1.20039 -+		   struct disassemble_info *info,
 1.20040 -+		   struct avr32_field_value *ifields)
 1.20041 -+{
 1.20042 -+  info->fprintf_func(info->stream, "%s:%c",
 1.20043 -+		     reg_table[ifields[0].value].name,
 1.20044 -+		     ifields[1].value ? 't' : 'b');
 1.20045 -+  return 2;
 1.20046 -+}
 1.20047 -+
 1.20048 -+static int
 1.20049 -+print_intreg_sdisp(struct avr32_operand *op,
 1.20050 -+		  struct disassemble_info *info,
 1.20051 -+		  struct avr32_field_value *ifields)
 1.20052 -+{
 1.20053 -+  signed long disp;
 1.20054 -+
 1.20055 -+  disp = get_signed_value(&ifields[1]) << op->align_order;
 1.20056 -+
 1.20057 -+  info->fprintf_func(info->stream, "%s[%ld]",
 1.20058 -+		     reg_table[ifields[0].value].name, disp);
 1.20059 -+  return 2;
 1.20060 -+}
 1.20061 -+
 1.20062 -+static int
 1.20063 -+print_intreg_udisp(struct avr32_operand *op,
 1.20064 -+		   struct disassemble_info *info,
 1.20065 -+		   struct avr32_field_value *ifields)
 1.20066 -+{
 1.20067 -+  info->fprintf_func(info->stream, "%s[0x%lx]",
 1.20068 -+		     reg_table[ifields[0].value].name,
 1.20069 -+		     ifields[1].value << op->align_order);
 1.20070 -+  return 2;
 1.20071 -+}
 1.20072 -+
 1.20073 -+static int
 1.20074 -+print_intreg_index(struct avr32_operand *op ATTRIBUTE_UNUSED,
 1.20075 -+		   struct disassemble_info *info,
 1.20076 -+		   struct avr32_field_value *ifields)
 1.20077 -+{
 1.20078 -+  const char *rb, *ri;
 1.20079 -+  unsigned long sa = ifields[2].value;
 1.20080 -+
 1.20081 -+  rb = reg_table[ifields[0].value].name;
 1.20082 -+  ri = reg_table[ifields[1].value].name;
 1.20083 -+
 1.20084 -+  if (sa)
 1.20085 -+    info->fprintf_func(info->stream, "%s[%s<<0x%lx]", rb, ri, sa);
 1.20086 -+  else
 1.20087 -+    info->fprintf_func(info->stream, "%s[%s]", rb, ri);
 1.20088 -+
 1.20089 -+  return 3;
 1.20090 -+}
 1.20091 -+
 1.20092 -+static int
 1.20093 -+print_intreg_xindex(struct avr32_operand *op ATTRIBUTE_UNUSED,
 1.20094 -+		    struct disassemble_info *info,
 1.20095 -+		    struct avr32_field_value *ifields)
 1.20096 -+{
 1.20097 -+  info->fprintf_func(info->stream, "%s[%s:%c<<2]",
 1.20098 -+		     reg_table[ifields[0].value].name,
 1.20099 -+		     reg_table[ifields[1].value].name,
 1.20100 -+		     bparts[ifields[2].value]);
 1.20101 -+  return 3;
 1.20102 -+}
 1.20103 -+
 1.20104 -+static int
 1.20105 -+print_jmplabel(struct avr32_operand *op,
 1.20106 -+	       struct disassemble_info *info,
 1.20107 -+	       struct avr32_field_value *ifields)
 1.20108 -+{
 1.20109 -+  bfd_vma address, offset;
 1.20110 -+
 1.20111 -+  offset = get_signed_value(ifields) << op->align_order;
 1.20112 -+  address = (current_pc & (~0UL << op->align_order)) + offset;
 1.20113 -+
 1.20114 -+  info->print_address_func(address, info);
 1.20115 -+
 1.20116 -+  return 1;
 1.20117 -+}
 1.20118 -+
 1.20119 -+static int
 1.20120 -+print_pc_disp(struct avr32_operand *op,
 1.20121 -+	      struct disassemble_info *info,
 1.20122 -+	      struct avr32_field_value *ifields)
 1.20123 -+{
 1.20124 -+  bfd_vma address, offset;
 1.20125 -+
 1.20126 -+  offset = ifields[0].value << op->align_order;
 1.20127 -+  address = (current_pc & (~0UL << op->align_order)) + offset;
 1.20128 -+
 1.20129 -+  info->print_address_func(address, info);
 1.20130 -+
 1.20131 -+  return 1;
 1.20132 -+}
 1.20133 -+
 1.20134 -+static int
 1.20135 -+print_sp(struct avr32_operand *op ATTRIBUTE_UNUSED,
 1.20136 -+	 struct disassemble_info *info,
 1.20137 -+	 struct avr32_field_value *ifields ATTRIBUTE_UNUSED)
 1.20138 -+{
 1.20139 -+  info->fprintf_func(info->stream, "sp");
 1.20140 -+  return 1;
 1.20141 -+}
 1.20142 -+
 1.20143 -+static int
 1.20144 -+print_sp_disp(struct avr32_operand *op,
 1.20145 -+	      struct disassemble_info *info,
 1.20146 -+	      struct avr32_field_value *ifields)
 1.20147 -+{
 1.20148 -+  info->fprintf_func(info->stream, "sp[0x%lx]",
 1.20149 -+		     ifields[0].value << op->align_order);
 1.20150 -+  return 1;
 1.20151 -+}
 1.20152 -+
 1.20153 -+static int
 1.20154 -+print_cpno(struct avr32_operand *op ATTRIBUTE_UNUSED,
 1.20155 -+	   struct disassemble_info *info,
 1.20156 -+	   struct avr32_field_value *ifields)
 1.20157 -+{
 1.20158 -+  info->fprintf_func(info->stream, "cp%lu", ifields[0].value);
 1.20159 -+  return 1;
 1.20160 -+}
 1.20161 -+
 1.20162 -+static int
 1.20163 -+print_cpreg(struct avr32_operand *op,
 1.20164 -+	    struct disassemble_info *info,
 1.20165 -+	    struct avr32_field_value *ifields)
 1.20166 -+{
 1.20167 -+  info->fprintf_func(info->stream, "cr%lu",
 1.20168 -+		     ifields[0].value << op->align_order);
 1.20169 -+  return 1;
 1.20170 -+}
 1.20171 -+
 1.20172 -+static int
 1.20173 -+print_uconst(struct avr32_operand *op,
 1.20174 -+	     struct disassemble_info *info,
 1.20175 -+	     struct avr32_field_value *ifields)
 1.20176 -+{
 1.20177 -+  info->fprintf_func(info->stream, "0x%lx",
 1.20178 -+		     ifields[0].value << op->align_order);
 1.20179 -+  return 1;
 1.20180 -+}
 1.20181 -+
 1.20182 -+static int
 1.20183 -+print_sconst(struct avr32_operand *op,
 1.20184 -+	     struct disassemble_info *info,
 1.20185 -+	     struct avr32_field_value *ifields)
 1.20186 -+{
 1.20187 -+  info->fprintf_func(info->stream, "%ld",
 1.20188 -+		     get_signed_value(ifields) << op->align_order);
 1.20189 -+  return 1;
 1.20190 -+}
 1.20191 -+
 1.20192 -+static int
 1.20193 -+print_reglist8_head(unsigned long regmask, int *commap,
 1.20194 -+		    struct disassemble_info *info)
 1.20195 -+{
 1.20196 -+  int first = -1, last, i = 0;
 1.20197 -+  int need_comma = 0;
 1.20198 -+
 1.20199 -+  while (i < 12)
 1.20200 -+    {
 1.20201 -+      if (first == -1 && (regmask & 1))
 1.20202 -+	{
 1.20203 -+	  first = i;
 1.20204 -+	}
 1.20205 -+      else if (first != -1 && !(regmask & 1))
 1.20206 -+	{
 1.20207 -+	  last = i - 1;
 1.20208 -+
 1.20209 -+	  print_reglist_range(first, last, reg_table, need_comma, info);
 1.20210 -+	  need_comma = 1;
 1.20211 -+	  first = -1;
 1.20212 -+	}
 1.20213 -+
 1.20214 -+      if (i < 8)
 1.20215 -+	i += 4;
 1.20216 -+      else if (i < 10)
 1.20217 -+	i += 2;
 1.20218 -+      else
 1.20219 -+	i++;
 1.20220 -+      regmask >>= 1;
 1.20221 -+    }
 1.20222 -+
 1.20223 -+  *commap = need_comma;
 1.20224 -+  return first;
 1.20225 -+}
 1.20226 -+
 1.20227 -+static void
 1.20228 -+print_reglist8_tail(unsigned long regmask, int first, int need_comma,
 1.20229 -+		    struct disassemble_info *info)
 1.20230 -+{
 1.20231 -+  int last = 11;
 1.20232 -+
 1.20233 -+  if (regmask & 0x20)
 1.20234 -+    {
 1.20235 -+      if (first == -1)
 1.20236 -+	first = 12;
 1.20237 -+      last = 12;
 1.20238 -+    }
 1.20239 -+
 1.20240 -+  if (first != -1)
 1.20241 -+    {
 1.20242 -+      print_reglist_range(first, last, reg_table, need_comma, info);
 1.20243 -+      need_comma = 1;
 1.20244 -+      first = -1;
 1.20245 -+    }
 1.20246 -+
 1.20247 -+  if (regmask & 0x40)
 1.20248 -+    {
 1.20249 -+      if (first == -1)
 1.20250 -+	first = 14;
 1.20251 -+      last = 14;
 1.20252 -+    }
 1.20253 -+
 1.20254 -+  if (regmask & 0x80)
 1.20255 -+    {
 1.20256 -+      if (first == -1)
 1.20257 -+	first = 15;
 1.20258 -+      last = 15;
 1.20259 -+    }
 1.20260 -+
 1.20261 -+  if (first != -1)
 1.20262 -+    print_reglist_range(first, last, reg_table, need_comma, info);
 1.20263 -+}
 1.20264 -+
 1.20265 -+static int
 1.20266 -+print_reglist8(struct avr32_operand *op ATTRIBUTE_UNUSED,
 1.20267 -+	       struct disassemble_info *info,
 1.20268 -+	       struct avr32_field_value *ifields)
 1.20269 -+{
 1.20270 -+  unsigned long regmask = ifields[0].value;
 1.20271 -+  int first, need_comma;
 1.20272 -+
 1.20273 -+  first = print_reglist8_head(regmask, &need_comma, info);
 1.20274 -+  print_reglist8_tail(regmask, first, need_comma, info);
 1.20275 -+
 1.20276 -+  return 1;
 1.20277 -+}
 1.20278 -+
 1.20279 -+static int
 1.20280 -+print_reglist9(struct avr32_operand *op ATTRIBUTE_UNUSED,
 1.20281 -+	       struct disassemble_info *info,
 1.20282 -+	       struct avr32_field_value *ifields)
 1.20283 -+{
 1.20284 -+  unsigned long regmask = ifields[0].value >> 1;
 1.20285 -+  int first, last, need_comma;
 1.20286 -+
 1.20287 -+  first = print_reglist8_head(regmask, &need_comma, info);
 1.20288 -+
 1.20289 -+  if ((ifields[0].value & 0x101) == 0x101)
 1.20290 -+    {
 1.20291 -+      if (first != -1)
 1.20292 -+	{
 1.20293 -+	  last = 11;
 1.20294 -+
 1.20295 -+	  print_reglist_range(first, last, reg_table, need_comma, info);
 1.20296 -+	  need_comma = 1;
 1.20297 -+	  first = -1;
 1.20298 -+	}
 1.20299 -+
 1.20300 -+      print_reglist_range(15, 15, reg_table, need_comma, info);
 1.20301 -+
 1.20302 -+      regmask >>= 5;
 1.20303 -+
 1.20304 -+      if ((regmask & 3) == 0)
 1.20305 -+	info->fprintf_func(info->stream, ",r12=0");
 1.20306 -+      else if ((regmask & 3) == 1)
 1.20307 -+	info->fprintf_func(info->stream, ",r12=1");
 1.20308 -+      else
 1.20309 -+	info->fprintf_func(info->stream, ",r12=-1");
 1.20310 -+    }
 1.20311 -+  else
 1.20312 -+      print_reglist8_tail(regmask, first, need_comma, info);
 1.20313 -+
 1.20314 -+  return 1;
 1.20315 -+}
 1.20316 -+
 1.20317 -+static int
 1.20318 -+print_reglist16(struct avr32_operand *op ATTRIBUTE_UNUSED,
 1.20319 -+		struct disassemble_info *info,
 1.20320 -+		struct avr32_field_value *ifields)
 1.20321 -+{
 1.20322 -+  unsigned long regmask = ifields[0].value;
 1.20323 -+  unsigned int i = 0, first, last;
 1.20324 -+  int need_comma = 0;
 1.20325 -+
 1.20326 -+  while (i < 16)
 1.20327 -+    {
 1.20328 -+      if (regmask & 1)
 1.20329 -+	{
 1.20330 -+	  first = i;
 1.20331 -+	  while (i < 16)
 1.20332 -+	    {
 1.20333 -+	      i++;
 1.20334 -+	      regmask >>= 1;
 1.20335 -+	      if (!(regmask & 1))
 1.20336 -+		break;
 1.20337 -+	    }
 1.20338 -+	  last = i - 1;
 1.20339 -+	  print_reglist_range(first, last, reg_table, need_comma, info);
 1.20340 -+	  need_comma = 1;
 1.20341 -+	}
 1.20342 -+      else
 1.20343 -+	{
 1.20344 -+	  i++;
 1.20345 -+	  regmask >>= 1;
 1.20346 -+	}
 1.20347 -+    }
 1.20348 -+
 1.20349 -+  return 1;
 1.20350 -+}
 1.20351 -+
 1.20352 -+static int
 1.20353 -+print_reglist_ldm(struct avr32_operand *op,
 1.20354 -+		  struct disassemble_info *info,
 1.20355 -+		  struct avr32_field_value *ifields)
 1.20356 -+{
 1.20357 -+  int rp, w_bit;
 1.20358 -+  int i, first, last;
 1.20359 -+  unsigned long regmask;
 1.20360 -+
 1.20361 -+  rp = ifields[0].value;
 1.20362 -+  w_bit = ifields[1].value;
 1.20363 -+  regmask = ifields[2].value;
 1.20364 -+
 1.20365 -+  if (regmask & (1 << AVR32_REG_PC) && rp == AVR32_REG_PC)
 1.20366 -+    {
 1.20367 -+      if (w_bit)
 1.20368 -+	info->fprintf_func(info->stream, "sp++");
 1.20369 -+      else
 1.20370 -+	info->fprintf_func(info->stream, "sp");
 1.20371 -+
 1.20372 -+      for (i = 0; i < 12; )
 1.20373 -+	{
 1.20374 -+	  if (regmask & (1 << i))
 1.20375 -+	    {
 1.20376 -+	      first = i;
 1.20377 -+	      while (i < 12)
 1.20378 -+		{
 1.20379 -+		  i++;
 1.20380 -+		  if (!(regmask & (1 << i)))
 1.20381 -+		    break;
 1.20382 -+		}
 1.20383 -+	      last = i - 1;
 1.20384 -+	      print_reglist_range(first, last, reg_table, 1, info);
 1.20385 -+	    }
 1.20386 -+	  else
 1.20387 -+	    i++;
 1.20388 -+	}
 1.20389 -+
 1.20390 -+      info->fprintf_func(info->stream, ",pc");
 1.20391 -+      if (regmask & (1 << AVR32_REG_LR))
 1.20392 -+	info->fprintf_func(info->stream, ",r12=-1");
 1.20393 -+      else if (regmask & (1 << AVR32_REG_R12))
 1.20394 -+	info->fprintf_func(info->stream, ",r12=1");
 1.20395 -+      else
 1.20396 -+	info->fprintf_func(info->stream, ",r12=0");
 1.20397 -+    }
 1.20398 -+  else
 1.20399 -+    {
 1.20400 -+      if (w_bit)
 1.20401 -+	info->fprintf_func(info->stream, "%s++,", reg_table[rp].name);
 1.20402 -+      else
 1.20403 -+	info->fprintf_func(info->stream, "%s,", reg_table[rp].name);
 1.20404 -+
 1.20405 -+      print_reglist16(op, info, ifields + 2);
 1.20406 -+    }
 1.20407 -+
 1.20408 -+  return 3;
 1.20409 -+}
 1.20410 -+
 1.20411 -+static int
 1.20412 -+print_reglist_cp8(struct avr32_operand *op ATTRIBUTE_UNUSED,
 1.20413 -+		  struct disassemble_info *info,
 1.20414 -+		  struct avr32_field_value *ifields)
 1.20415 -+{
 1.20416 -+  unsigned long regmask = ifields[0].value;
 1.20417 -+  unsigned int i = 0, first, last, offset = 0;
 1.20418 -+  int need_comma = 0;
 1.20419 -+
 1.20420 -+  if (ifields[1].value)
 1.20421 -+    offset = 8;
 1.20422 -+
 1.20423 -+  while (i < 8)
 1.20424 -+    {
 1.20425 -+      if (regmask & 1)
 1.20426 -+	{
 1.20427 -+	  first = i;
 1.20428 -+	  while (i < 8)
 1.20429 -+	    {
 1.20430 -+	      i++;
 1.20431 -+	      regmask >>= 1;
 1.20432 -+	      if (!(regmask & 1))
 1.20433 -+		break;
 1.20434 -+	    }
 1.20435 -+	  last = i - 1;
 1.20436 -+	  print_reglist_range(offset + first, offset + last,
 1.20437 -+			      cr_table, need_comma, info);
 1.20438 -+	  need_comma = 1;
 1.20439 -+	}
 1.20440 -+      else
 1.20441 -+	{
 1.20442 -+	  i++;
 1.20443 -+	  regmask >>= 1;
 1.20444 -+	}
 1.20445 -+    }
 1.20446 -+
 1.20447 -+  return 2;
 1.20448 -+}
 1.20449 -+
 1.20450 -+static int
 1.20451 -+print_reglist_cpd8(struct avr32_operand *op ATTRIBUTE_UNUSED,
 1.20452 -+		   struct disassemble_info *info,
 1.20453 -+		   struct avr32_field_value *ifields)
 1.20454 -+{
 1.20455 -+  unsigned long regmask = ifields[0].value;
 1.20456 -+  unsigned int i = 0, first, last;
 1.20457 -+  int need_comma = 0;
 1.20458 -+
 1.20459 -+  while (i < 8)
 1.20460 -+    {
 1.20461 -+      if (regmask & 1)
 1.20462 -+	{
 1.20463 -+	  first = 2 * i;
 1.20464 -+	  while (i < 8)
 1.20465 -+	    {
 1.20466 -+	      i++;
 1.20467 -+	      regmask >>= 1;
 1.20468 -+	      if (!(regmask & 1))
 1.20469 -+		break;
 1.20470 -+	    }
 1.20471 -+	  last = 2 * (i - 1) + 1;
 1.20472 -+	  print_reglist_range(first, last, cr_table, need_comma, info);
 1.20473 -+	  need_comma = 1;
 1.20474 -+	}
 1.20475 -+      else
 1.20476 -+	{
 1.20477 -+	  i++;
 1.20478 -+	  regmask >>= 1;
 1.20479 -+	}
 1.20480 -+    }
 1.20481 -+
 1.20482 -+  return 1;
 1.20483 -+}
 1.20484 -+
 1.20485 -+static int
 1.20486 -+print_retval(struct avr32_operand *op ATTRIBUTE_UNUSED,
 1.20487 -+	     struct disassemble_info *info,
 1.20488 -+	     struct avr32_field_value *ifields)
 1.20489 -+{
 1.20490 -+  unsigned long regid = ifields[0].value;
 1.20491 -+  const char *retval;
 1.20492 -+
 1.20493 -+  if (regid < AVR32_REG_SP)
 1.20494 -+    retval = reg_table[regid].name;
 1.20495 -+  else if (regid == AVR32_REG_SP)
 1.20496 -+    retval = "0";
 1.20497 -+  else if (regid == AVR32_REG_LR)
 1.20498 -+    retval = "-1";
 1.20499 -+  else
 1.20500 -+    retval = "1";
 1.20501 -+
 1.20502 -+  info->fprintf_func(info->stream, "%s", retval);
 1.20503 -+
 1.20504 -+  return 1;
 1.20505 -+}
 1.20506 -+
 1.20507 -+static int
 1.20508 -+print_mcall(struct avr32_operand *op,
 1.20509 -+	    struct disassemble_info *info,
 1.20510 -+	    struct avr32_field_value *ifields)
 1.20511 -+{
 1.20512 -+  unsigned long regid = ifields[0].value;
 1.20513 -+
 1.20514 -+  if (regid == AVR32_REG_PC)
 1.20515 -+    print_jmplabel(op, info, ifields + 1);
 1.20516 -+  else
 1.20517 -+    print_intreg_sdisp(op, info, ifields);
 1.20518 -+
 1.20519 -+  return 2;
 1.20520 -+}
 1.20521 -+
 1.20522 -+static int
 1.20523 -+print_jospinc(struct avr32_operand *op ATTRIBUTE_UNUSED,
 1.20524 -+	      struct disassemble_info *info,
 1.20525 -+	      struct avr32_field_value *ifields)
 1.20526 -+{
 1.20527 -+  signed long value = ifields[0].value;
 1.20528 -+
 1.20529 -+  if (value >= 4)
 1.20530 -+    value -= 8;
 1.20531 -+  else
 1.20532 -+    value += 1;
 1.20533 -+
 1.20534 -+  info->fprintf_func(info->stream, "%ld", value);
 1.20535 -+
 1.20536 -+  return 1;
 1.20537 -+}
 1.20538 -+
 1.20539 -+static int
 1.20540 -+print_coh(struct avr32_operand *op ATTRIBUTE_UNUSED,
 1.20541 -+	  struct disassemble_info *info,
 1.20542 -+	  struct avr32_field_value *ifields ATTRIBUTE_UNUSED)
 1.20543 -+{
 1.20544 -+  info->fprintf_func(info->stream, "COH");
 1.20545 -+  return 0;
 1.20546 -+}
 1.20547 -+
 1.20548 -+#define OP(name, sgn, pcrel, align, func) \
 1.20549 -+  { AVR32_OPERAND_##name, pcrel, align, print_##func }
 1.20550 -+
 1.20551 -+struct avr32_operand operand[AVR32_NR_OPERANDS] =
 1.20552 -+  {
 1.20553 -+    OP(INTREG, 0, 0, 0, intreg),
 1.20554 -+    OP(INTREG_PREDEC, 0, 0, 0, intreg_predec),
 1.20555 -+    OP(INTREG_POSTINC, 0, 0, 0, intreg_postinc),
 1.20556 -+    OP(INTREG_LSL, 0, 0, 0, intreg_lsl),
 1.20557 -+    OP(INTREG_LSR, 0, 0, 0, intreg_lsr),
 1.20558 -+    OP(INTREG_BSEL, 0, 0, 0, intreg_bpart),
 1.20559 -+    OP(INTREG_HSEL, 0, 0, 1, intreg_hpart),
 1.20560 -+    OP(INTREG_SDISP, 1, 0, 0, intreg_sdisp),
 1.20561 -+    OP(INTREG_SDISP_H, 1, 0, 1, intreg_sdisp),
 1.20562 -+    OP(INTREG_SDISP_W, 1, 0, 2, intreg_sdisp),
 1.20563 -+    OP(INTREG_UDISP, 0, 0, 0, intreg_udisp),
 1.20564 -+    OP(INTREG_UDISP_H, 0, 0, 1, intreg_udisp),
 1.20565 -+    OP(INTREG_UDISP_W, 0, 0, 2, intreg_udisp),
 1.20566 -+    OP(INTREG_INDEX, 0, 0, 0, intreg_index),
 1.20567 -+    OP(INTREG_XINDEX, 0, 0, 0, intreg_xindex),
 1.20568 -+    OP(DWREG, 0, 0, 1, intreg),
 1.20569 -+    OP(PC_UDISP_W, 0, 1, 2, pc_disp),
 1.20570 -+    OP(SP, 0, 0, 0, sp),
 1.20571 -+    OP(SP_UDISP_W, 0, 0, 2, sp_disp),
 1.20572 -+    OP(CPNO, 0, 0, 0, cpno),
 1.20573 -+    OP(CPREG, 0, 0, 0, cpreg),
 1.20574 -+    OP(CPREG_D, 0, 0, 1, cpreg),
 1.20575 -+    OP(UNSIGNED_CONST, 0, 0, 0, uconst),
 1.20576 -+    OP(UNSIGNED_CONST_W, 0, 0, 2, uconst),
 1.20577 -+    OP(SIGNED_CONST, 1, 0, 0, sconst),
 1.20578 -+    OP(SIGNED_CONST_W, 1, 0, 2, sconst),
 1.20579 -+    OP(JMPLABEL, 1, 1, 1, jmplabel),
 1.20580 -+    OP(UNSIGNED_NUMBER, 0, 0, 0, uconst),
 1.20581 -+    OP(UNSIGNED_NUMBER_W, 0, 0, 2, uconst),
 1.20582 -+    OP(REGLIST8, 0, 0, 0, reglist8),
 1.20583 -+    OP(REGLIST9, 0, 0, 0, reglist9),
 1.20584 -+    OP(REGLIST16, 0, 0, 0, reglist16),
 1.20585 -+    OP(REGLIST_LDM, 0, 0, 0, reglist_ldm),
 1.20586 -+    OP(REGLIST_CP8, 0, 0, 0, reglist_cp8),
 1.20587 -+    OP(REGLIST_CPD8, 0, 0, 0, reglist_cpd8),
 1.20588 -+    OP(RETVAL, 0, 0, 0, retval),
 1.20589 -+    OP(MCALL, 1, 0, 2, mcall),
 1.20590 -+    OP(JOSPINC, 0, 0, 0, jospinc),
 1.20591 -+    OP(COH, 0, 0, 0, coh),
 1.20592 -+  };
 1.20593 -+
 1.20594 -+static void
 1.20595 -+print_opcode(bfd_vma insn_word, const struct avr32_opcode *opc,
 1.20596 -+	     bfd_vma pc, struct disassemble_info *info)
 1.20597 -+{
 1.20598 -+  const struct avr32_syntax *syntax = opc->syntax;
 1.20599 -+  struct avr32_field_value fields[AVR32_MAX_FIELDS];
 1.20600 -+  unsigned int i, next_field = 0, nr_operands;
 1.20601 -+
 1.20602 -+  for (i = 0; i < opc->nr_fields; i++)
 1.20603 -+    {
 1.20604 -+      opc->fields[i]->extract(opc->fields[i], &insn_word, &fields[i].value);
 1.20605 -+      fields[i].ifield = opc->fields[i];
 1.20606 -+    }
 1.20607 -+
 1.20608 -+  current_pc = pc;
 1.20609 -+  info->fprintf_func(info->stream, "%s", syntax->mnemonic->name);
 1.20610 -+
 1.20611 -+  if (syntax->nr_operands < 0)
 1.20612 -+    nr_operands = (unsigned int) -syntax->nr_operands;
 1.20613 -+  else
 1.20614 -+    nr_operands = (unsigned int) syntax->nr_operands;
 1.20615 -+
 1.20616 -+  for (i = 0; i < nr_operands; i++)
 1.20617 -+    {
 1.20618 -+      struct avr32_operand *op = &operand[syntax->operand[i]];
 1.20619 -+
 1.20620 -+      if (i)
 1.20621 -+	info->fprintf_func(info->stream, ",");
 1.20622 -+      else
 1.20623 -+	info->fprintf_func(info->stream, "\t");
 1.20624 -+      next_field += op->print(op, info, &fields[next_field]);
 1.20625 -+    }
 1.20626 -+}
 1.20627 -+
 1.20628 -+static const struct avr32_opcode *
 1.20629 -+find_opcode(bfd_vma insn_word)
 1.20630 -+{
 1.20631 -+  int i;
 1.20632 -+
 1.20633 -+  for (i = 0; i < AVR32_NR_OPCODES; i++)
 1.20634 -+    {
 1.20635 -+      const struct avr32_opcode *opc = &avr32_opc_table[i];
 1.20636 -+
 1.20637 -+      if ((insn_word & opc->mask) == opc->value)
 1.20638 -+	return opc;
 1.20639 -+    }
 1.20640 -+
 1.20641 -+  return NULL;
 1.20642 -+}
 1.20643 -+
 1.20644 -+static int
 1.20645 -+read_insn_word(bfd_vma pc, bfd_vma *valuep,
 1.20646 -+	       struct disassemble_info *info)
 1.20647 -+{
 1.20648 -+  bfd_byte b[4];
 1.20649 -+  int status;
 1.20650 -+
 1.20651 -+  status = info->read_memory_func(pc, b, 4, info);
 1.20652 -+  if (status)
 1.20653 -+    {
 1.20654 -+      status = info->read_memory_func(pc, b, 2, info);
 1.20655 -+      if (status)
 1.20656 -+	{
 1.20657 -+	  info->memory_error_func(status, pc, info);
 1.20658 -+	  return -1;
 1.20659 -+	}
 1.20660 -+      b[3] = b[2] = 0;
 1.20661 -+    }
 1.20662 -+
 1.20663 -+  *valuep =  (b[0] << 24) | (b[1] << 16) | (b[2] << 8) | b[3];
 1.20664 -+  return 0;
 1.20665 -+}
 1.20666 -+
 1.20667 -+/* Parse an individual disassembler option.  */
 1.20668 -+
 1.20669 -+void
 1.20670 -+parse_avr32_disassembler_option (option)
 1.20671 -+     char * option;
 1.20672 -+{
 1.20673 -+  if (option == NULL)
 1.20674 -+    return;
 1.20675 -+
 1.20676 -+  /* XXX - should break 'option' at following delimiter.  */
 1.20677 -+  fprintf (stderr, _("Unrecognised disassembler option: %s\n"), option);
 1.20678 -+
 1.20679 -+  return;
 1.20680 -+}
 1.20681 -+
 1.20682 -+/* Parse the string of disassembler options, spliting it at whitespaces
 1.20683 -+   or commas.  (Whitespace separators supported for backwards compatibility).  */
 1.20684 -+
 1.20685 -+static void
 1.20686 -+parse_disassembler_options (char *options)
 1.20687 -+{
 1.20688 -+  if (options == NULL)
 1.20689 -+    return;
 1.20690 -+
 1.20691 -+  while (*options)
 1.20692 -+    {
 1.20693 -+      parse_avr32_disassembler_option (options);
 1.20694 -+
 1.20695 -+      /* Skip forward to next seperator.  */
 1.20696 -+      while ((*options) && (! ISSPACE (*options)) && (*options != ','))
 1.20697 -+	++ options;
 1.20698 -+      /* Skip forward past seperators.  */
 1.20699 -+      while (ISSPACE (*options) || (*options == ','))
 1.20700 -+	++ options;
 1.20701 -+    }
 1.20702 -+}
 1.20703 -+
 1.20704 -+int
 1.20705 -+print_insn_avr32(bfd_vma pc, struct disassemble_info *info)
 1.20706 -+{
 1.20707 -+  bfd_vma insn_word;
 1.20708 -+  const struct avr32_opcode *opc;
 1.20709 -+
 1.20710 -+  if (info->disassembler_options)
 1.20711 -+    {
 1.20712 -+      parse_disassembler_options (info->disassembler_options);
 1.20713 -+
 1.20714 -+      /* To avoid repeated parsing of these options, we remove them here.  */
 1.20715 -+      info->disassembler_options = NULL;
 1.20716 -+    }
 1.20717 -+
 1.20718 -+  info->bytes_per_chunk = 1;
 1.20719 -+  info->display_endian = BFD_ENDIAN_BIG;
 1.20720 -+
 1.20721 -+  if (read_insn_word(pc, &insn_word, info))
 1.20722 -+    return -1;
 1.20723 -+
 1.20724 -+  opc = find_opcode(insn_word);
 1.20725 -+  if (opc)
 1.20726 -+    {
 1.20727 -+      print_opcode(insn_word, opc, pc, info);
 1.20728 -+      return opc->size;
 1.20729 -+    }
 1.20730 -+  else
 1.20731 -+    {
 1.20732 -+      info->fprintf_func(info->stream, _("*unknown*"));
 1.20733 -+      return 2;
 1.20734 -+    }
 1.20735 -+
 1.20736 -+}
 1.20737 -+
 1.20738 -+void
 1.20739 -+print_avr32_disassembler_options (FILE *stream ATTRIBUTE_UNUSED)
 1.20740 -+{
 1.20741 -+
 1.20742 -+}
 1.20743 ---- /dev/null
 1.20744 -+++ b/opcodes/avr32-opc.c
 1.20745 -@@ -0,0 +1,6932 @@
 1.20746 -+/* Opcode tables for AVR32.
 1.20747 -+   Copyright 2005, 2006 Atmel Corporation.
 1.20748 -+
 1.20749 -+   Written by Haavard Skinnemoen, Atmel Norway, <hskinnemoen@atmel.com>
 1.20750 -+
 1.20751 -+   This file is part of libopcodes.
 1.20752 -+
 1.20753 -+   This program is free software; you can redistribute it and/or
 1.20754 -+   modify it under the terms of the GNU General Public License as
 1.20755 -+   published by the Free Software Foundation; either version 2 of the
 1.20756 -+   License, or (at your option) any later version.
 1.20757 -+
 1.20758 -+   This program is distributed in the hope that it will be useful, but
 1.20759 -+   WITHOUT ANY WARRANTY; without even the implied warranty of
 1.20760 -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 1.20761 -+   General Public License for more details.
 1.20762 -+
 1.20763 -+   You should have received a copy of the GNU General Public License
 1.20764 -+   along with this program; if not, write to the Free Software
 1.20765 -+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 1.20766 -+   02111-1307, USA.  */
 1.20767 -+
 1.20768 -+#include <stdlib.h>
 1.20769 -+#include <assert.h>
 1.20770 -+
 1.20771 -+#include "avr32-opc.h"
 1.20772 -+
 1.20773 -+#define PICO_CPNO	1
 1.20774 -+
 1.20775 -+void
 1.20776 -+avr32_insert_simple(const struct avr32_ifield *field,
 1.20777 -+		    void *buf, unsigned long value)
 1.20778 -+{
 1.20779 -+  bfd_vma word;
 1.20780 -+
 1.20781 -+  word = bfd_getb32(buf);
 1.20782 -+  word &= ~field->mask;
 1.20783 -+  word |= (value << field->shift) & field->mask;
 1.20784 -+  bfd_putb32(word, buf);
 1.20785 -+}
 1.20786 -+
 1.20787 -+void
 1.20788 -+avr32_insert_bit5c(const struct avr32_ifield *field ATTRIBUTE_UNUSED,
 1.20789 -+		   void *buf, unsigned long value)
 1.20790 -+{
 1.20791 -+  char *opcode = buf;
 1.20792 -+
 1.20793 -+  opcode[0] = (opcode[0] & 0xe1) | (value & 0x1e);
 1.20794 -+  opcode[1] = (opcode[1] & 0xef) | ((value & 1) << 4);
 1.20795 -+}
 1.20796 -+
 1.20797 -+void
 1.20798 -+avr32_insert_k10(const struct avr32_ifield *field ATTRIBUTE_UNUSED,
 1.20799 -+		 void *buf, unsigned long value)
 1.20800 -+{
 1.20801 -+  char *opcode = buf;
 1.20802 -+
 1.20803 -+  opcode[0] = (opcode[0] & 0xf0) | ((value & 0xf0) >> 4);
 1.20804 -+  opcode[1] = ((opcode[1] & 0x0c) | ((value & 0x0f) << 4)
 1.20805 -+	       | ((value & 0x300) >> 8));
 1.20806 -+}
 1.20807 -+
 1.20808 -+
 1.20809 -+void
 1.20810 -+avr32_insert_k21(const struct avr32_ifield *field,
 1.20811 -+		 void *buf, unsigned long value)
 1.20812 -+{
 1.20813 -+  bfd_vma word;
 1.20814 -+  bfd_vma k21;
 1.20815 -+
 1.20816 -+  word = bfd_getb32(buf);
 1.20817 -+  word &= ~field->mask;
 1.20818 -+  k21 = ((value & 0xffff) | ((value & 0x10000) << 4)
 1.20819 -+	 | ((value & 0x1e0000) << 8));
 1.20820 -+  assert(!(k21 & ~field->mask));
 1.20821 -+  word |= k21;
 1.20822 -+  bfd_putb32(word, buf);
 1.20823 -+}
 1.20824 -+
 1.20825 -+void
 1.20826 -+avr32_insert_cpop(const struct avr32_ifield *field,
 1.20827 -+		  void *buf, unsigned long value)
 1.20828 -+{
 1.20829 -+  bfd_vma word;
 1.20830 -+
 1.20831 -+  word = bfd_getb32(buf);
 1.20832 -+  word &= ~field->mask;
 1.20833 -+  word |= (((value & 0x1e) << 15) | ((value & 0x60) << 20)
 1.20834 -+	   | ((value & 0x01) << 12));
 1.20835 -+  bfd_putb32(word, buf);
 1.20836 -+}
 1.20837 -+
 1.20838 -+void
 1.20839 -+avr32_insert_k12cp(const struct avr32_ifield *field,
 1.20840 -+		   void *buf, unsigned long value)
 1.20841 -+{
 1.20842 -+  bfd_vma word;
 1.20843 -+
 1.20844 -+  word = bfd_getb32(buf);
 1.20845 -+  word &= ~field->mask;
 1.20846 -+  word |= ((value & 0xf00) << 4) | (value & 0xff);
 1.20847 -+  bfd_putb32(word, buf);
 1.20848 -+}
 1.20849 -+
 1.20850 -+void avr32_extract_simple(const struct avr32_ifield *field,
 1.20851 -+			  void *buf, unsigned long *value)
 1.20852 -+{
 1.20853 -+  /* XXX: The disassembler has done any necessary byteswapping already */
 1.20854 -+  bfd_vma word = *(bfd_vma *)buf;
 1.20855 -+
 1.20856 -+  *value = (word & field->mask) >> field->shift;
 1.20857 -+}
 1.20858 -+
 1.20859 -+void avr32_extract_bit5c(const struct avr32_ifield *field ATTRIBUTE_UNUSED,
 1.20860 -+			 void *buf, unsigned long *value)
 1.20861 -+{
 1.20862 -+  bfd_vma word = *(bfd_vma *)buf;
 1.20863 -+
 1.20864 -+  *value = ((word >> 20) & 1) | ((word >> 24) & 0x1e);
 1.20865 -+}
 1.20866 -+
 1.20867 -+void avr32_extract_k10(const struct avr32_ifield *field ATTRIBUTE_UNUSED,
 1.20868 -+		       void *buf, unsigned long *value)
 1.20869 -+{
 1.20870 -+  bfd_vma word = *(bfd_vma *)buf;
 1.20871 -+
 1.20872 -+  *value = ((word >> 8) & 0x300) | ((word >> 20) & 0xff);
 1.20873 -+}
 1.20874 -+
 1.20875 -+void avr32_extract_k21(const struct avr32_ifield *field ATTRIBUTE_UNUSED,
 1.20876 -+		       void *buf, unsigned long *value)
 1.20877 -+{
 1.20878 -+  bfd_vma word = *(bfd_vma *)buf;
 1.20879 -+
 1.20880 -+  *value = ((word & 0xffff) | ((word >> 4) & 0x10000)
 1.20881 -+	    | ((word >> 8) & 0x1e0000));
 1.20882 -+}
 1.20883 -+
 1.20884 -+void avr32_extract_cpop(const struct avr32_ifield *field ATTRIBUTE_UNUSED,
 1.20885 -+			void *buf, unsigned long *value)
 1.20886 -+{
 1.20887 -+  bfd_vma word = *(bfd_vma *)buf;
 1.20888 -+
 1.20889 -+  *value = (((word >> 12) & 1) | ((word >> 15) & 0x1e)
 1.20890 -+	    | ((word >> 20) & 0x60));
 1.20891 -+}
 1.20892 -+
 1.20893 -+void avr32_extract_k12cp(const struct avr32_ifield *field ATTRIBUTE_UNUSED,
 1.20894 -+			 void *buf, unsigned long *value)
 1.20895 -+{
 1.20896 -+  bfd_vma word = *(bfd_vma *)buf;
 1.20897 -+
 1.20898 -+  *value = ((word >> 4) & 0xf00) | (word & 0xff);
 1.20899 -+}
 1.20900 -+
 1.20901 -+
 1.20902 -+#define IFLD(id, bitsz, shift, mask, func) \
 1.20903 -+  { AVR32_IFIELD_##id, bitsz, shift, mask, \
 1.20904 -+    avr32_insert_##func, avr32_extract_##func }
 1.20905 -+
 1.20906 -+const struct avr32_ifield avr32_ifield_table[] =
 1.20907 -+  {
 1.20908 -+    IFLD(RX, 4, 25, 0x1e000000, simple),
 1.20909 -+    IFLD(RY, 4, 16, 0x000f0000, simple),
 1.20910 -+    IFLD(COND4C, 4, 20, 0x00f00000, simple),
 1.20911 -+    IFLD(K8C, 8, 20, 0x0ff00000, simple),
 1.20912 -+    IFLD(K7C, 7, 20, 0x07f00000, simple),
 1.20913 -+    IFLD(K5C, 5, 20, 0x01f00000, simple),
 1.20914 -+    IFLD(K3, 3, 20, 0x00700000, simple),
 1.20915 -+    IFLD(RY_DW, 3, 17, 0x000e0000, simple),
 1.20916 -+    IFLD(COND4E, 4, 8, 0x00000f00, simple),
 1.20917 -+    IFLD(K8E, 8, 0, 0x000000ff, simple),
 1.20918 -+    IFLD(BIT5C, 5, 20, 0x1e100000, bit5c),
 1.20919 -+    IFLD(COND3, 3, 16, 0x00070000, simple),
 1.20920 -+    IFLD(K10, 10, 16, 0x0ff30000, k10),
 1.20921 -+    IFLD(POPM, 9, 19, 0x0ff80000, simple),
 1.20922 -+    IFLD(K2, 2, 4, 0x00000030, simple),
 1.20923 -+    IFLD(RD_E, 4, 0, 0x0000000f, simple),
 1.20924 -+    IFLD(RD_DW, 3, 1, 0x0000000e, simple),
 1.20925 -+    IFLD(X, 1, 5, 0x00000020, simple),
 1.20926 -+    IFLD(Y, 1, 4, 0x00000010, simple),
 1.20927 -+    IFLD(X2, 1, 13, 0x00002000, simple),
 1.20928 -+    IFLD(Y2, 1, 12, 0x00001000, simple),
 1.20929 -+    IFLD(K5E, 5, 0, 0x0000001f, simple),
 1.20930 -+    IFLD(PART2, 2, 0, 0x00000003, simple),
 1.20931 -+    IFLD(PART1, 1, 0, 0x00000001, simple),
 1.20932 -+    IFLD(K16, 16, 0, 0x0000ffff, simple),
 1.20933 -+    IFLD(CACHEOP, 5, 11, 0x0000f800, simple),
 1.20934 -+    IFLD(K11, 11, 0, 0x000007ff, simple),
 1.20935 -+    IFLD(K21, 21, 0, 0x1e10ffff, k21),
 1.20936 -+    IFLD(CPOP, 7, 12, 0x060f1000, cpop),
 1.20937 -+    IFLD(CPNO, 3, 13, 0x0000e000, simple),
 1.20938 -+    IFLD(CRD_RI, 4, 8, 0x00000f00, simple),
 1.20939 -+    IFLD(CRX, 4, 4, 0x000000f0, simple),
 1.20940 -+    IFLD(CRY, 4, 0, 0x0000000f, simple),
 1.20941 -+    IFLD(K7E, 7, 0, 0x0000007f, simple),
 1.20942 -+    IFLD(CRD_DW, 3, 9, 0x00000e00, simple),
 1.20943 -+    IFLD(PART1_K12, 1, 12, 0x00001000, simple),
 1.20944 -+    IFLD(PART2_K12, 2, 12, 0x00003000, simple),
 1.20945 -+    IFLD(K12, 12, 0, 0x00000fff, simple),
 1.20946 -+    IFLD(S5, 5, 5, 0x000003e0, simple),
 1.20947 -+    IFLD(K5E2, 5, 4, 0x000001f0, simple),
 1.20948 -+    IFLD(K4, 4, 20, 0x00f00000, simple),
 1.20949 -+    IFLD(COND4E2, 4, 4, 0x000000f0, simple),
 1.20950 -+    IFLD(K8E2, 8, 4, 0x00000ff0, simple),
 1.20951 -+    IFLD(K6, 6, 20, 0x03f00000, simple),
 1.20952 -+    IFLD(MEM15, 15, 0, 0x00007fff, simple),
 1.20953 -+    IFLD(MEMB5, 5, 15, 0x000f8000, simple),
 1.20954 -+    IFLD(W, 1, 25, 0x02000000, simple),
 1.20955 -+    /* Coprocessor Multiple High/Low */
 1.20956 -+    IFLD(CM_HL, 1, 8, 0x00000100, simple),
 1.20957 -+    IFLD(K12CP, 12 ,0, 0x0000f0ff, k12cp),
 1.20958 -+    IFLD(K9E, 9 ,0, 0x000001ff, simple),
 1.20959 -+  };
 1.20960 -+#undef IFLD
 1.20961 -+
 1.20962 -+
 1.20963 -+struct avr32_opcode avr32_opc_table[] =
 1.20964 -+  {
 1.20965 -+    {
 1.20966 -+      AVR32_OPC_ABS, 2, 0x5c400000, 0xfff00000,
 1.20967 -+      &avr32_syntax_table[AVR32_SYNTAX_ABS],
 1.20968 -+      BFD_RELOC_UNUSED, 1, -1,
 1.20969 -+      {
 1.20970 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.20971 -+      }
 1.20972 -+    },
 1.20973 -+    {
 1.20974 -+      AVR32_OPC_ACALL, 2, 0xd0000000, 0xf00f0000,
 1.20975 -+      &avr32_syntax_table[AVR32_SYNTAX_ACALL],
 1.20976 -+      BFD_RELOC_UNUSED, 1, -1,
 1.20977 -+      {
 1.20978 -+	&avr32_ifield_table[AVR32_IFIELD_K8C],
 1.20979 -+      },
 1.20980 -+    },
 1.20981 -+    {
 1.20982 -+      AVR32_OPC_ACR, 2, 0x5c000000, 0xfff00000,
 1.20983 -+      &avr32_syntax_table[AVR32_SYNTAX_ACR],
 1.20984 -+      BFD_RELOC_UNUSED, 1, -1,
 1.20985 -+      {
 1.20986 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.20987 -+      },
 1.20988 -+    },
 1.20989 -+    {
 1.20990 -+      AVR32_OPC_ADC, 4, 0xe0000040, 0xe1f0fff0,
 1.20991 -+      &avr32_syntax_table[AVR32_SYNTAX_ADC],
 1.20992 -+      BFD_RELOC_UNUSED, 3, -1,
 1.20993 -+      {
 1.20994 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.20995 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.20996 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.20997 -+      },
 1.20998 -+    },
 1.20999 -+    {
 1.21000 -+      AVR32_OPC_ADD1, 2, 0x00000000, 0xe1f00000,
 1.21001 -+      &avr32_syntax_table[AVR32_SYNTAX_ADD1],
 1.21002 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21003 -+      {
 1.21004 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21005 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21006 -+      },
 1.21007 -+    },
 1.21008 -+    {
 1.21009 -+      AVR32_OPC_ADD2, 4, 0xe0000000, 0xe1f0ffc0,
 1.21010 -+      &avr32_syntax_table[AVR32_SYNTAX_ADD2],
 1.21011 -+      BFD_RELOC_UNUSED, 4, -1,
 1.21012 -+      {
 1.21013 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.21014 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21015 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21016 -+	&avr32_ifield_table[AVR32_IFIELD_K2],
 1.21017 -+      },
 1.21018 -+    },
 1.21019 -+    {
 1.21020 -+      AVR32_OPC_ADDABS, 4, 0xe0000e40, 0xe1f0fff0,
 1.21021 -+      &avr32_syntax_table[AVR32_SYNTAX_ADDABS],
 1.21022 -+      BFD_RELOC_UNUSED, 3, -1,
 1.21023 -+      {
 1.21024 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.21025 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21026 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21027 -+      },
 1.21028 -+    },
 1.21029 -+    {
 1.21030 -+      AVR32_OPC_ADDHH_W, 4, 0xe0000e00, 0xe1f0ffc0,
 1.21031 -+      &avr32_syntax_table[AVR32_SYNTAX_ADDHH_W],
 1.21032 -+      BFD_RELOC_UNUSED, 5, -1,
 1.21033 -+      {
 1.21034 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.21035 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21036 -+	&avr32_ifield_table[AVR32_IFIELD_X],
 1.21037 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21038 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.21039 -+      },
 1.21040 -+    },
 1.21041 -+    {
 1.21042 -+      AVR32_OPC_AND1, 2, 0x00600000, 0xe1f00000,
 1.21043 -+      &avr32_syntax_table[AVR32_SYNTAX_AND1],
 1.21044 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21045 -+      {
 1.21046 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21047 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21048 -+      },
 1.21049 -+    },
 1.21050 -+    {
 1.21051 -+      AVR32_OPC_AND2, 4, 0xe1e00000, 0xe1f0fe00,
 1.21052 -+      &avr32_syntax_table[AVR32_SYNTAX_AND2],
 1.21053 -+      BFD_RELOC_UNUSED, 4, -1,
 1.21054 -+      {
 1.21055 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.21056 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21057 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21058 -+	&avr32_ifield_table[AVR32_IFIELD_K5E2],
 1.21059 -+      },
 1.21060 -+    },
 1.21061 -+    {
 1.21062 -+      AVR32_OPC_AND3, 4, 0xe1e00200, 0xe1f0fe00,
 1.21063 -+      &avr32_syntax_table[AVR32_SYNTAX_AND3],
 1.21064 -+      BFD_RELOC_UNUSED, 4, -1,
 1.21065 -+      {
 1.21066 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.21067 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21068 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21069 -+	&avr32_ifield_table[AVR32_IFIELD_K5E2],
 1.21070 -+      },
 1.21071 -+    },
 1.21072 -+    {
 1.21073 -+      AVR32_OPC_ANDH, 4, 0xe4100000, 0xfff00000,
 1.21074 -+      &avr32_syntax_table[AVR32_SYNTAX_ANDH],
 1.21075 -+      BFD_RELOC_AVR32_16U, 2, 1,
 1.21076 -+      {
 1.21077 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21078 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.21079 -+      },
 1.21080 -+    },
 1.21081 -+    {
 1.21082 -+      AVR32_OPC_ANDH_COH, 4, 0xe6100000, 0xfff00000,
 1.21083 -+      &avr32_syntax_table[AVR32_SYNTAX_ANDH_COH],
 1.21084 -+      BFD_RELOC_AVR32_16U, 2, 1,
 1.21085 -+      {
 1.21086 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21087 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.21088 -+      },
 1.21089 -+    },
 1.21090 -+    {
 1.21091 -+      AVR32_OPC_ANDL, 4, 0xe0100000, 0xfff00000,
 1.21092 -+      &avr32_syntax_table[AVR32_SYNTAX_ANDL],
 1.21093 -+      BFD_RELOC_AVR32_16U, 2, 1,
 1.21094 -+      {
 1.21095 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21096 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.21097 -+      },
 1.21098 -+    },
 1.21099 -+    {
 1.21100 -+      AVR32_OPC_ANDL_COH, 4, 0xe2100000, 0xfff00000,
 1.21101 -+      &avr32_syntax_table[AVR32_SYNTAX_ANDL_COH],
 1.21102 -+      BFD_RELOC_AVR32_16U, 2, 1,
 1.21103 -+      {
 1.21104 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21105 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.21106 -+      },
 1.21107 -+    },
 1.21108 -+    {
 1.21109 -+      AVR32_OPC_ANDN, 2, 0x00800000, 0xe1f00000,
 1.21110 -+      &avr32_syntax_table[AVR32_SYNTAX_ANDN],
 1.21111 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21112 -+      {
 1.21113 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21114 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21115 -+      },
 1.21116 -+    },
 1.21117 -+    {
 1.21118 -+      AVR32_OPC_ASR1, 4, 0xe0000840, 0xe1f0fff0,
 1.21119 -+      &avr32_syntax_table[AVR32_SYNTAX_ASR1],
 1.21120 -+      BFD_RELOC_UNUSED, 3, -1,
 1.21121 -+      {
 1.21122 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.21123 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21124 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21125 -+      },
 1.21126 -+    },
 1.21127 -+    {
 1.21128 -+      AVR32_OPC_ASR3, 4, 0xe0001400, 0xe1f0ffe0,
 1.21129 -+      &avr32_syntax_table[AVR32_SYNTAX_ASR3],
 1.21130 -+      BFD_RELOC_UNUSED, 3, -1,
 1.21131 -+      {
 1.21132 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21133 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21134 -+	&avr32_ifield_table[AVR32_IFIELD_K5E],
 1.21135 -+      },
 1.21136 -+    },
 1.21137 -+    {
 1.21138 -+      AVR32_OPC_ASR2, 2, 0xa1400000, 0xe1e00000,
 1.21139 -+      &avr32_syntax_table[AVR32_SYNTAX_ASR2],
 1.21140 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21141 -+      {
 1.21142 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21143 -+	&avr32_ifield_table[AVR32_IFIELD_BIT5C],
 1.21144 -+      },
 1.21145 -+    },
 1.21146 -+    {
 1.21147 -+      AVR32_OPC_BLD, 4, 0xedb00000, 0xfff0ffe0,
 1.21148 -+      &avr32_syntax_table[AVR32_SYNTAX_BLD],
 1.21149 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21150 -+      {
 1.21151 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21152 -+	&avr32_ifield_table[AVR32_IFIELD_K5E],
 1.21153 -+      },
 1.21154 -+    },
 1.21155 -+    {
 1.21156 -+      AVR32_OPC_BREQ1, 2, 0xc0000000, 0xf00f0000,
 1.21157 -+      &avr32_syntax_table[AVR32_SYNTAX_BREQ1],
 1.21158 -+      BFD_RELOC_AVR32_9H_PCREL, 1, 0,
 1.21159 -+      {
 1.21160 -+	&avr32_ifield_table[AVR32_IFIELD_K8C],
 1.21161 -+      },
 1.21162 -+    },
 1.21163 -+    {
 1.21164 -+      AVR32_OPC_BRNE1, 2, 0xc0010000, 0xf00f0000,
 1.21165 -+      &avr32_syntax_table[AVR32_SYNTAX_BRNE1],
 1.21166 -+      BFD_RELOC_AVR32_9H_PCREL, 1, 0,
 1.21167 -+      {
 1.21168 -+	&avr32_ifield_table[AVR32_IFIELD_K8C],
 1.21169 -+      },
 1.21170 -+    },
 1.21171 -+    {
 1.21172 -+      AVR32_OPC_BRCC1, 2, 0xc0020000, 0xf00f0000,
 1.21173 -+      &avr32_syntax_table[AVR32_SYNTAX_BRCC1],
 1.21174 -+      BFD_RELOC_AVR32_9H_PCREL, 1, 0,
 1.21175 -+      {
 1.21176 -+	&avr32_ifield_table[AVR32_IFIELD_K8C],
 1.21177 -+      },
 1.21178 -+    },
 1.21179 -+    {
 1.21180 -+      AVR32_OPC_BRCS1, 2, 0xc0030000, 0xf00f0000,
 1.21181 -+      &avr32_syntax_table[AVR32_SYNTAX_BRCS1],
 1.21182 -+      BFD_RELOC_AVR32_9H_PCREL, 1, 0,
 1.21183 -+      {
 1.21184 -+	&avr32_ifield_table[AVR32_IFIELD_K8C],
 1.21185 -+      },
 1.21186 -+    },
 1.21187 -+    {
 1.21188 -+      AVR32_OPC_BRGE1, 2, 0xc0040000, 0xf00f0000,
 1.21189 -+      &avr32_syntax_table[AVR32_SYNTAX_BRGE1],
 1.21190 -+      BFD_RELOC_AVR32_9H_PCREL, 1, 0,
 1.21191 -+      {
 1.21192 -+	&avr32_ifield_table[AVR32_IFIELD_K8C],
 1.21193 -+      },
 1.21194 -+    },
 1.21195 -+    {
 1.21196 -+      AVR32_OPC_BRLT1, 2, 0xc0050000, 0xf00f0000,
 1.21197 -+      &avr32_syntax_table[AVR32_SYNTAX_BRLT1],
 1.21198 -+      BFD_RELOC_AVR32_9H_PCREL, 1, 0,
 1.21199 -+      {
 1.21200 -+	&avr32_ifield_table[AVR32_IFIELD_K8C],
 1.21201 -+      },
 1.21202 -+    },
 1.21203 -+    {
 1.21204 -+      AVR32_OPC_BRMI1, 2, 0xc0060000, 0xf00f0000,
 1.21205 -+      &avr32_syntax_table[AVR32_SYNTAX_BRMI1],
 1.21206 -+      BFD_RELOC_AVR32_9H_PCREL, 1, 0,
 1.21207 -+      {
 1.21208 -+	&avr32_ifield_table[AVR32_IFIELD_K8C],
 1.21209 -+      },
 1.21210 -+    },
 1.21211 -+    {
 1.21212 -+      AVR32_OPC_BRPL1, 2, 0xc0070000, 0xf00f0000,
 1.21213 -+      &avr32_syntax_table[AVR32_SYNTAX_BRPL1],
 1.21214 -+      BFD_RELOC_AVR32_9H_PCREL, 1, 0,
 1.21215 -+      {
 1.21216 -+	&avr32_ifield_table[AVR32_IFIELD_K8C],
 1.21217 -+      },
 1.21218 -+    },
 1.21219 -+    {
 1.21220 -+      AVR32_OPC_BREQ2, 4, 0xe0800000, 0xe1ef0000,
 1.21221 -+      &avr32_syntax_table[AVR32_SYNTAX_BREQ2],
 1.21222 -+      BFD_RELOC_AVR32_22H_PCREL, 1, 0,
 1.21223 -+      {
 1.21224 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.21225 -+      },
 1.21226 -+    },
 1.21227 -+    {
 1.21228 -+      AVR32_OPC_BRNE2, 4, 0xe0810000, 0xe1ef0000,
 1.21229 -+      &avr32_syntax_table[AVR32_SYNTAX_BRNE2],
 1.21230 -+      BFD_RELOC_AVR32_22H_PCREL, 1, 0,
 1.21231 -+      {
 1.21232 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.21233 -+      },
 1.21234 -+    },
 1.21235 -+    {
 1.21236 -+      AVR32_OPC_BRCC2, 4, 0xe0820000, 0xe1ef0000,
 1.21237 -+      &avr32_syntax_table[AVR32_SYNTAX_BRHS2],
 1.21238 -+      BFD_RELOC_AVR32_22H_PCREL, 1, 0,
 1.21239 -+      {
 1.21240 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.21241 -+      },
 1.21242 -+    },
 1.21243 -+    {
 1.21244 -+      AVR32_OPC_BRCS2, 4, 0xe0830000, 0xe1ef0000,
 1.21245 -+      &avr32_syntax_table[AVR32_SYNTAX_BRLO2],
 1.21246 -+      BFD_RELOC_AVR32_22H_PCREL, 1, 0,
 1.21247 -+      {
 1.21248 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.21249 -+      },
 1.21250 -+    },
 1.21251 -+    {
 1.21252 -+      AVR32_OPC_BRGE2, 4, 0xe0840000, 0xe1ef0000,
 1.21253 -+      &avr32_syntax_table[AVR32_SYNTAX_BRGE2],
 1.21254 -+      BFD_RELOC_AVR32_22H_PCREL, 1, 0,
 1.21255 -+      {
 1.21256 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.21257 -+      },
 1.21258 -+    },
 1.21259 -+    {
 1.21260 -+      AVR32_OPC_BRLT2, 4, 0xe0850000, 0xe1ef0000,
 1.21261 -+      &avr32_syntax_table[AVR32_SYNTAX_BRLT2],
 1.21262 -+      BFD_RELOC_AVR32_22H_PCREL, 1, 0,
 1.21263 -+      {
 1.21264 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.21265 -+      },
 1.21266 -+    },
 1.21267 -+    {
 1.21268 -+      AVR32_OPC_BRMI2, 4, 0xe0860000, 0xe1ef0000,
 1.21269 -+      &avr32_syntax_table[AVR32_SYNTAX_BRMI2],
 1.21270 -+      BFD_RELOC_AVR32_22H_PCREL, 1, 0,
 1.21271 -+      {
 1.21272 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.21273 -+      },
 1.21274 -+    },
 1.21275 -+    {
 1.21276 -+      AVR32_OPC_BRPL2, 4, 0xe0870000, 0xe1ef0000,
 1.21277 -+      &avr32_syntax_table[AVR32_SYNTAX_BRPL2],
 1.21278 -+      BFD_RELOC_AVR32_22H_PCREL, 1, 0,
 1.21279 -+      {
 1.21280 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.21281 -+      },
 1.21282 -+    },
 1.21283 -+    {
 1.21284 -+      AVR32_OPC_BRLS, 4, 0xe0880000, 0xe1ef0000,
 1.21285 -+      &avr32_syntax_table[AVR32_SYNTAX_BRLS],
 1.21286 -+      BFD_RELOC_AVR32_22H_PCREL, 1, 0,
 1.21287 -+      {
 1.21288 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.21289 -+      },
 1.21290 -+    },
 1.21291 -+    {
 1.21292 -+      AVR32_OPC_BRGT, 4, 0xe0890000, 0xe1ef0000,
 1.21293 -+      &avr32_syntax_table[AVR32_SYNTAX_BRGT],
 1.21294 -+      BFD_RELOC_AVR32_22H_PCREL, 1, 0,
 1.21295 -+      {
 1.21296 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.21297 -+      },
 1.21298 -+    },
 1.21299 -+    {
 1.21300 -+      AVR32_OPC_BRLE, 4, 0xe08a0000, 0xe1ef0000,
 1.21301 -+      &avr32_syntax_table[AVR32_SYNTAX_BRLE],
 1.21302 -+      BFD_RELOC_AVR32_22H_PCREL, 1, 0,
 1.21303 -+      {
 1.21304 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.21305 -+      },
 1.21306 -+    },
 1.21307 -+    {
 1.21308 -+      AVR32_OPC_BRHI, 4, 0xe08b0000, 0xe1ef0000,
 1.21309 -+      &avr32_syntax_table[AVR32_SYNTAX_BRHI],
 1.21310 -+      BFD_RELOC_AVR32_22H_PCREL, 1, 0,
 1.21311 -+      {
 1.21312 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.21313 -+      },
 1.21314 -+    },
 1.21315 -+    {
 1.21316 -+      AVR32_OPC_BRVS, 4, 0xe08c0000, 0xe1ef0000,
 1.21317 -+      &avr32_syntax_table[AVR32_SYNTAX_BRVS],
 1.21318 -+      BFD_RELOC_AVR32_22H_PCREL, 1, 0,
 1.21319 -+      {
 1.21320 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.21321 -+      },
 1.21322 -+    },
 1.21323 -+    {
 1.21324 -+      AVR32_OPC_BRVC, 4, 0xe08d0000, 0xe1ef0000,
 1.21325 -+      &avr32_syntax_table[AVR32_SYNTAX_BRVC],
 1.21326 -+      BFD_RELOC_AVR32_22H_PCREL, 1, 0,
 1.21327 -+      {
 1.21328 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.21329 -+      },
 1.21330 -+    },
 1.21331 -+    {
 1.21332 -+      AVR32_OPC_BRQS, 4, 0xe08e0000, 0xe1ef0000,
 1.21333 -+      &avr32_syntax_table[AVR32_SYNTAX_BRQS],
 1.21334 -+      BFD_RELOC_AVR32_22H_PCREL, 1, 0,
 1.21335 -+      {
 1.21336 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.21337 -+      },
 1.21338 -+    },
 1.21339 -+    {
 1.21340 -+      AVR32_OPC_BRAL, 4, 0xe08f0000, 0xe1ef0000,
 1.21341 -+      &avr32_syntax_table[AVR32_SYNTAX_BRAL],
 1.21342 -+      BFD_RELOC_AVR32_22H_PCREL, 1, 0,
 1.21343 -+      {
 1.21344 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.21345 -+      },
 1.21346 -+    },
 1.21347 -+    {
 1.21348 -+      AVR32_OPC_BREAKPOINT, 2, 0xd6730000, 0xffff0000,
 1.21349 -+      &avr32_syntax_table[AVR32_SYNTAX_BREAKPOINT],
 1.21350 -+      BFD_RELOC_UNUSED, 0, -1, { NULL },
 1.21351 -+    },
 1.21352 -+    {
 1.21353 -+      AVR32_OPC_BREV, 2, 0x5c900000, 0xfff00000,
 1.21354 -+      &avr32_syntax_table[AVR32_SYNTAX_BREV],
 1.21355 -+      BFD_RELOC_UNUSED, 1, -1,
 1.21356 -+      {
 1.21357 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21358 -+      },
 1.21359 -+    },
 1.21360 -+    {
 1.21361 -+      AVR32_OPC_BST, 4, 0xefb00000, 0xfff0ffe0,
 1.21362 -+      &avr32_syntax_table[AVR32_SYNTAX_BST],
 1.21363 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21364 -+      {
 1.21365 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21366 -+	&avr32_ifield_table[AVR32_IFIELD_K5E],
 1.21367 -+      },
 1.21368 -+    },
 1.21369 -+    {
 1.21370 -+      AVR32_OPC_CACHE, 4, 0xf4100000, 0xfff00000,
 1.21371 -+      &avr32_syntax_table[AVR32_SYNTAX_CACHE],
 1.21372 -+      BFD_RELOC_UNUSED, 3, -1,
 1.21373 -+      {
 1.21374 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21375 -+	&avr32_ifield_table[AVR32_IFIELD_K11],
 1.21376 -+	&avr32_ifield_table[AVR32_IFIELD_CACHEOP],
 1.21377 -+      },
 1.21378 -+    },
 1.21379 -+    {
 1.21380 -+      AVR32_OPC_CASTS_B, 2, 0x5c600000, 0xfff00000,
 1.21381 -+      &avr32_syntax_table[AVR32_SYNTAX_CASTS_B],
 1.21382 -+      BFD_RELOC_UNUSED, 1, -1,
 1.21383 -+      {
 1.21384 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21385 -+      },
 1.21386 -+    },
 1.21387 -+    {
 1.21388 -+      AVR32_OPC_CASTS_H, 2, 0x5c800000, 0xfff00000,
 1.21389 -+      &avr32_syntax_table[AVR32_SYNTAX_CASTS_H],
 1.21390 -+      BFD_RELOC_UNUSED, 1, -1,
 1.21391 -+      {
 1.21392 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21393 -+      },
 1.21394 -+    },
 1.21395 -+    {
 1.21396 -+      AVR32_OPC_CASTU_B, 2, 0x5c500000, 0xfff00000,
 1.21397 -+      &avr32_syntax_table[AVR32_SYNTAX_CASTU_B],
 1.21398 -+      BFD_RELOC_UNUSED, 1, -1,
 1.21399 -+      {
 1.21400 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21401 -+      },
 1.21402 -+    },
 1.21403 -+    {
 1.21404 -+      AVR32_OPC_CASTU_H, 2, 0x5c700000, 0xfff00000,
 1.21405 -+      &avr32_syntax_table[AVR32_SYNTAX_CASTU_H],
 1.21406 -+      BFD_RELOC_UNUSED, 1, -1,
 1.21407 -+      {
 1.21408 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21409 -+      },
 1.21410 -+    },
 1.21411 -+    {
 1.21412 -+      AVR32_OPC_CBR, 2, 0xa1c00000, 0xe1e00000,
 1.21413 -+      &avr32_syntax_table[AVR32_SYNTAX_CBR],
 1.21414 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21415 -+      {
 1.21416 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21417 -+	&avr32_ifield_table[AVR32_IFIELD_BIT5C],
 1.21418 -+      },
 1.21419 -+    },
 1.21420 -+    {
 1.21421 -+      AVR32_OPC_CLZ, 4, 0xe0001200, 0xe1f0ffff,
 1.21422 -+      &avr32_syntax_table[AVR32_SYNTAX_CLZ],
 1.21423 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21424 -+      {
 1.21425 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21426 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21427 -+      },
 1.21428 -+    },
 1.21429 -+    {
 1.21430 -+      AVR32_OPC_COM, 2, 0x5cd00000, 0xfff00000,
 1.21431 -+      &avr32_syntax_table[AVR32_SYNTAX_COM],
 1.21432 -+      BFD_RELOC_UNUSED, 1, -1,
 1.21433 -+      {
 1.21434 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21435 -+      },
 1.21436 -+    },
 1.21437 -+    {
 1.21438 -+      AVR32_OPC_COP, 4, 0xe1a00000, 0xf9f00000,
 1.21439 -+      &avr32_syntax_table[AVR32_SYNTAX_COP],
 1.21440 -+      BFD_RELOC_UNUSED, 5, -1,
 1.21441 -+      {
 1.21442 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.21443 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_RI],
 1.21444 -+	&avr32_ifield_table[AVR32_IFIELD_CRX],
 1.21445 -+	&avr32_ifield_table[AVR32_IFIELD_CRY],
 1.21446 -+	&avr32_ifield_table[AVR32_IFIELD_CPOP],
 1.21447 -+      },
 1.21448 -+    },
 1.21449 -+    {
 1.21450 -+      AVR32_OPC_CP_B, 4, 0xe0001800, 0xe1f0ffff,
 1.21451 -+      &avr32_syntax_table[AVR32_SYNTAX_CP_B],
 1.21452 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21453 -+      {
 1.21454 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21455 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21456 -+      },
 1.21457 -+    },
 1.21458 -+    {
 1.21459 -+      AVR32_OPC_CP_H, 4, 0xe0001900, 0xe1f0ffff,
 1.21460 -+      &avr32_syntax_table[AVR32_SYNTAX_CP_H],
 1.21461 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21462 -+      {
 1.21463 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21464 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21465 -+      },
 1.21466 -+    },
 1.21467 -+    {
 1.21468 -+      AVR32_OPC_CP_W1, 2, 0x00300000, 0xe1f00000,
 1.21469 -+      &avr32_syntax_table[AVR32_SYNTAX_CP_W1],
 1.21470 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21471 -+      {
 1.21472 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21473 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21474 -+      },
 1.21475 -+    },
 1.21476 -+    {
 1.21477 -+      AVR32_OPC_CP_W2, 2, 0x58000000, 0xfc000000,
 1.21478 -+      &avr32_syntax_table[AVR32_SYNTAX_CP_W2],
 1.21479 -+      BFD_RELOC_AVR32_6S, 2, 1,
 1.21480 -+      {
 1.21481 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21482 -+	&avr32_ifield_table[AVR32_IFIELD_K6],
 1.21483 -+      },
 1.21484 -+    },
 1.21485 -+    {
 1.21486 -+      AVR32_OPC_CP_W3, 4, 0xe0400000, 0xe1e00000,
 1.21487 -+      &avr32_syntax_table[AVR32_SYNTAX_CP_W3],
 1.21488 -+      BFD_RELOC_AVR32_21S, 2, 1,
 1.21489 -+      {
 1.21490 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21491 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.21492 -+      },
 1.21493 -+    },
 1.21494 -+    {
 1.21495 -+      AVR32_OPC_CPC1, 4, 0xe0001300, 0xe1f0ffff,
 1.21496 -+      &avr32_syntax_table[AVR32_SYNTAX_CPC1],
 1.21497 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21498 -+      {
 1.21499 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21500 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21501 -+      },
 1.21502 -+    },
 1.21503 -+    {
 1.21504 -+      AVR32_OPC_CPC2, 2, 0x5c200000, 0xfff00000,
 1.21505 -+      &avr32_syntax_table[AVR32_SYNTAX_CPC2],
 1.21506 -+      BFD_RELOC_UNUSED, 1, -1,
 1.21507 -+      {
 1.21508 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21509 -+      },
 1.21510 -+    },
 1.21511 -+    {
 1.21512 -+      AVR32_OPC_CSRF, 2, 0xd4030000, 0xfe0f0000,
 1.21513 -+      &avr32_syntax_table[AVR32_SYNTAX_CSRF],
 1.21514 -+      BFD_RELOC_UNUSED, 1, -1,
 1.21515 -+      {
 1.21516 -+	&avr32_ifield_table[AVR32_IFIELD_K5C],
 1.21517 -+      },
 1.21518 -+    },
 1.21519 -+    {
 1.21520 -+      AVR32_OPC_CSRFCZ, 2, 0xd0030000, 0xfe0f0000,
 1.21521 -+      &avr32_syntax_table[AVR32_SYNTAX_CSRFCZ],
 1.21522 -+      BFD_RELOC_UNUSED, 1, -1,
 1.21523 -+      {
 1.21524 -+	&avr32_ifield_table[AVR32_IFIELD_K5C],
 1.21525 -+      },
 1.21526 -+    },
 1.21527 -+    {
 1.21528 -+      AVR32_OPC_DIVS, 4, 0xe0000c00, 0xe1f0ffc0,
 1.21529 -+      &avr32_syntax_table[AVR32_SYNTAX_DIVS],
 1.21530 -+      BFD_RELOC_UNUSED, 3, -1,
 1.21531 -+      {
 1.21532 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.21533 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21534 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21535 -+      },
 1.21536 -+    },
 1.21537 -+    {
 1.21538 -+      AVR32_OPC_DIVU, 4, 0xe0000d00, 0xe1f0ffc0,
 1.21539 -+      &avr32_syntax_table[AVR32_SYNTAX_DIVU],
 1.21540 -+      BFD_RELOC_UNUSED, 3, -1,
 1.21541 -+      {
 1.21542 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.21543 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21544 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21545 -+      },
 1.21546 -+    },
 1.21547 -+    {
 1.21548 -+      AVR32_OPC_EOR1, 2, 0x00500000, 0xe1f00000,
 1.21549 -+      &avr32_syntax_table[AVR32_SYNTAX_EOR1],
 1.21550 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21551 -+      {
 1.21552 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21553 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21554 -+      },
 1.21555 -+    },
 1.21556 -+    {
 1.21557 -+      AVR32_OPC_EOR2, 4, 0xe1e02000, 0xe1f0fe00,
 1.21558 -+      &avr32_syntax_table[AVR32_SYNTAX_EOR2],
 1.21559 -+      BFD_RELOC_UNUSED, 4, -1,
 1.21560 -+      {
 1.21561 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.21562 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21563 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21564 -+	&avr32_ifield_table[AVR32_IFIELD_K5E2],
 1.21565 -+      }
 1.21566 -+    },
 1.21567 -+    {
 1.21568 -+      AVR32_OPC_EOR3, 4, 0xe1e02200, 0xe1f0fe00,
 1.21569 -+      &avr32_syntax_table[AVR32_SYNTAX_EOR3],
 1.21570 -+      BFD_RELOC_UNUSED, 4, -1,
 1.21571 -+      {
 1.21572 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.21573 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21574 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21575 -+	&avr32_ifield_table[AVR32_IFIELD_K5E2],
 1.21576 -+      }
 1.21577 -+    },
 1.21578 -+    {
 1.21579 -+      AVR32_OPC_EORL, 4, 0xec100000, 0xfff00000,
 1.21580 -+      &avr32_syntax_table[AVR32_SYNTAX_EORL],
 1.21581 -+      BFD_RELOC_AVR32_16U, 2, 1,
 1.21582 -+      {
 1.21583 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21584 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.21585 -+      },
 1.21586 -+    },
 1.21587 -+    {
 1.21588 -+      AVR32_OPC_EORH, 4, 0xee100000, 0xfff00000,
 1.21589 -+      &avr32_syntax_table[AVR32_SYNTAX_EORH],
 1.21590 -+      BFD_RELOC_AVR32_16U, 2, 1,
 1.21591 -+      {
 1.21592 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21593 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.21594 -+      },
 1.21595 -+    },
 1.21596 -+    {
 1.21597 -+      AVR32_OPC_FRS, 2, 0xd7430000, 0xffff0000,
 1.21598 -+      &avr32_syntax_table[AVR32_SYNTAX_FRS],
 1.21599 -+      BFD_RELOC_UNUSED, 0, -1, { NULL },
 1.21600 -+    },
 1.21601 -+    {
 1.21602 -+      AVR32_OPC_ICALL, 2, 0x5d100000, 0xfff00000,
 1.21603 -+      &avr32_syntax_table[AVR32_SYNTAX_ICALL],
 1.21604 -+      BFD_RELOC_UNUSED, 1, -1,
 1.21605 -+      {
 1.21606 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21607 -+      },
 1.21608 -+    },
 1.21609 -+    {
 1.21610 -+      AVR32_OPC_INCJOSP, 2, 0xd6830000, 0xff8f0000,
 1.21611 -+      &avr32_syntax_table[AVR32_SYNTAX_INCJOSP],
 1.21612 -+      BFD_RELOC_UNUSED, 1, -1,
 1.21613 -+      {
 1.21614 -+	&avr32_ifield_table[AVR32_IFIELD_K3],
 1.21615 -+      },
 1.21616 -+    },
 1.21617 -+    {
 1.21618 -+      AVR32_OPC_LD_D1, 2, 0xa1010000, 0xe1f10000,
 1.21619 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_D1],
 1.21620 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21621 -+      {
 1.21622 -+	&avr32_ifield_table[AVR32_IFIELD_RY_DW],
 1.21623 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21624 -+      },
 1.21625 -+    },
 1.21626 -+    {
 1.21627 -+      AVR32_OPC_LD_D2, 2, 0xa1100000, 0xe1f10000,
 1.21628 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_D2],
 1.21629 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21630 -+      {
 1.21631 -+	&avr32_ifield_table[AVR32_IFIELD_RY_DW],
 1.21632 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21633 -+      },
 1.21634 -+    },
 1.21635 -+    {
 1.21636 -+      AVR32_OPC_LD_D3, 2, 0xa1000000, 0xe1f10000,
 1.21637 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_D3],
 1.21638 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21639 -+      {
 1.21640 -+	&avr32_ifield_table[AVR32_IFIELD_RY_DW],
 1.21641 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21642 -+      },
 1.21643 -+    },
 1.21644 -+    {
 1.21645 -+      AVR32_OPC_LD_D5, 4, 0xe0000200, 0xe1f0ffc1,
 1.21646 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_D5],
 1.21647 -+      BFD_RELOC_UNUSED, 4, -1,
 1.21648 -+      {
 1.21649 -+	&avr32_ifield_table[AVR32_IFIELD_RD_DW],
 1.21650 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21651 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21652 -+	&avr32_ifield_table[AVR32_IFIELD_K2],
 1.21653 -+      },
 1.21654 -+    },
 1.21655 -+    {
 1.21656 -+      AVR32_OPC_LD_D4, 4, 0xe0e00000, 0xe1f10000,
 1.21657 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_D4],
 1.21658 -+      BFD_RELOC_AVR32_16S, 3, 2,
 1.21659 -+      {
 1.21660 -+	&avr32_ifield_table[AVR32_IFIELD_RY_DW],
 1.21661 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21662 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.21663 -+      },
 1.21664 -+    },
 1.21665 -+    {
 1.21666 -+      AVR32_OPC_LD_SB2, 4, 0xe0000600, 0xe1f0ffc0,
 1.21667 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_SB2],
 1.21668 -+      BFD_RELOC_UNUSED, 4, -1,
 1.21669 -+      {
 1.21670 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.21671 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21672 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21673 -+	&avr32_ifield_table[AVR32_IFIELD_K2],
 1.21674 -+      },
 1.21675 -+    },
 1.21676 -+    {
 1.21677 -+      AVR32_OPC_LD_SB1, 4, 0xe1200000, 0xe1f00000,
 1.21678 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_SB1],
 1.21679 -+      BFD_RELOC_AVR32_16S, 3, -1,
 1.21680 -+      {
 1.21681 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21682 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21683 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.21684 -+      },
 1.21685 -+    },
 1.21686 -+    {
 1.21687 -+      AVR32_OPC_LD_UB1, 2, 0x01300000, 0xe1f00000,
 1.21688 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_UB1],
 1.21689 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21690 -+      {
 1.21691 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21692 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21693 -+      },
 1.21694 -+    },
 1.21695 -+    {
 1.21696 -+      AVR32_OPC_LD_UB2, 2, 0x01700000, 0xe1f00000,
 1.21697 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_UB2],
 1.21698 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21699 -+      {
 1.21700 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21701 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21702 -+      },
 1.21703 -+    },
 1.21704 -+    {
 1.21705 -+      AVR32_OPC_LD_UB5, 4, 0xe0000700, 0xe1f0ffc0,
 1.21706 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_UB5],
 1.21707 -+      BFD_RELOC_UNUSED, 4, -1,
 1.21708 -+      {
 1.21709 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.21710 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21711 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21712 -+	&avr32_ifield_table[AVR32_IFIELD_K2],
 1.21713 -+      },
 1.21714 -+    },
 1.21715 -+    {
 1.21716 -+      AVR32_OPC_LD_UB3, 2, 0x01800000, 0xe1800000,
 1.21717 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_UB3],
 1.21718 -+      BFD_RELOC_AVR32_3U, 3, 2,
 1.21719 -+      {
 1.21720 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21721 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21722 -+	&avr32_ifield_table[AVR32_IFIELD_K3],
 1.21723 -+      },
 1.21724 -+    },
 1.21725 -+    {
 1.21726 -+      AVR32_OPC_LD_UB4, 4, 0xe1300000, 0xe1f00000,
 1.21727 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_UB4],
 1.21728 -+      BFD_RELOC_AVR32_16S, 3, 2,
 1.21729 -+      {
 1.21730 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21731 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21732 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.21733 -+      },
 1.21734 -+    },
 1.21735 -+    {
 1.21736 -+      AVR32_OPC_LD_SH1, 2, 0x01100000, 0xe1f00000,
 1.21737 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_SH1],
 1.21738 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21739 -+      {
 1.21740 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21741 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21742 -+      },
 1.21743 -+    },
 1.21744 -+    {
 1.21745 -+      AVR32_OPC_LD_SH2, 2, 0x01500000, 0xe1f00000,
 1.21746 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_SH2],
 1.21747 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21748 -+      {
 1.21749 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21750 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21751 -+      },
 1.21752 -+    },
 1.21753 -+    {
 1.21754 -+      AVR32_OPC_LD_SH5, 4, 0xe0000400, 0xe1f0ffc0,
 1.21755 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_SH5],
 1.21756 -+      BFD_RELOC_UNUSED, 4, -1,
 1.21757 -+      {
 1.21758 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.21759 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21760 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21761 -+	&avr32_ifield_table[AVR32_IFIELD_K2],
 1.21762 -+      },
 1.21763 -+    },
 1.21764 -+    {
 1.21765 -+      AVR32_OPC_LD_SH3, 2, 0x80000000, 0xe1800000,
 1.21766 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_SH3],
 1.21767 -+      BFD_RELOC_AVR32_4UH, 3, 2,
 1.21768 -+      {
 1.21769 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21770 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21771 -+	&avr32_ifield_table[AVR32_IFIELD_K3],
 1.21772 -+      },
 1.21773 -+    },
 1.21774 -+    {
 1.21775 -+      AVR32_OPC_LD_SH4, 4, 0xe1000000, 0xe1f00000,
 1.21776 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_SH4],
 1.21777 -+      BFD_RELOC_AVR32_16S, 3, 2,
 1.21778 -+      {
 1.21779 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21780 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21781 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.21782 -+      },
 1.21783 -+    },
 1.21784 -+    {
 1.21785 -+      AVR32_OPC_LD_UH1, 2, 0x01200000, 0xe1f00000,
 1.21786 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_UH1],
 1.21787 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21788 -+      {
 1.21789 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21790 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21791 -+      },
 1.21792 -+    },
 1.21793 -+    {
 1.21794 -+      AVR32_OPC_LD_UH2, 2, 0x01600000, 0xe1f00000,
 1.21795 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_UH2],
 1.21796 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21797 -+      {
 1.21798 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21799 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21800 -+      },
 1.21801 -+    },
 1.21802 -+    {
 1.21803 -+      AVR32_OPC_LD_UH5, 4, 0xe0000500, 0xe1f0ffc0,
 1.21804 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_UH5],
 1.21805 -+      BFD_RELOC_UNUSED, 4, -1,
 1.21806 -+      {
 1.21807 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.21808 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21809 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21810 -+	&avr32_ifield_table[AVR32_IFIELD_K2],
 1.21811 -+      },
 1.21812 -+    },
 1.21813 -+    {
 1.21814 -+      AVR32_OPC_LD_UH3, 2, 0x80800000, 0xe1800000,
 1.21815 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_UH3],
 1.21816 -+      BFD_RELOC_AVR32_4UH, 3, 2,
 1.21817 -+      {
 1.21818 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21819 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21820 -+	&avr32_ifield_table[AVR32_IFIELD_K3],
 1.21821 -+      },
 1.21822 -+    },
 1.21823 -+    {
 1.21824 -+      AVR32_OPC_LD_UH4, 4, 0xe1100000, 0xe1f00000,
 1.21825 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_UH4],
 1.21826 -+      BFD_RELOC_AVR32_16S, 3, 2,
 1.21827 -+      {
 1.21828 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21829 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21830 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.21831 -+      },
 1.21832 -+    },
 1.21833 -+    {
 1.21834 -+      AVR32_OPC_LD_W1, 2, 0x01000000, 0xe1f00000,
 1.21835 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_W1],
 1.21836 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21837 -+      {
 1.21838 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21839 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21840 -+      },
 1.21841 -+    },
 1.21842 -+    {
 1.21843 -+      AVR32_OPC_LD_W2, 2, 0x01400000, 0xe1f00000,
 1.21844 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_W2],
 1.21845 -+      BFD_RELOC_UNUSED, 2, -1,
 1.21846 -+      {
 1.21847 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21848 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21849 -+      },
 1.21850 -+    },
 1.21851 -+    {
 1.21852 -+      AVR32_OPC_LD_W5, 4, 0xe0000300, 0xe1f0ffc0,
 1.21853 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_W5],
 1.21854 -+      BFD_RELOC_UNUSED, 4, -1,
 1.21855 -+      {
 1.21856 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.21857 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21858 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21859 -+	&avr32_ifield_table[AVR32_IFIELD_K2],
 1.21860 -+      },
 1.21861 -+    },
 1.21862 -+    {
 1.21863 -+      AVR32_OPC_LD_W6, 4, 0xe0000f80, 0xe1f0ffc0,
 1.21864 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_W6],
 1.21865 -+      BFD_RELOC_UNUSED, 4, -1,
 1.21866 -+      {
 1.21867 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.21868 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21869 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21870 -+	&avr32_ifield_table[AVR32_IFIELD_K2],
 1.21871 -+      },
 1.21872 -+    },
 1.21873 -+    {
 1.21874 -+      AVR32_OPC_LD_W3, 2, 0x60000000, 0xe0000000,
 1.21875 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_W3],
 1.21876 -+      BFD_RELOC_AVR32_7UW, 3, 2,
 1.21877 -+      {
 1.21878 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21879 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21880 -+	&avr32_ifield_table[AVR32_IFIELD_K5C],
 1.21881 -+      },
 1.21882 -+    },
 1.21883 -+    {
 1.21884 -+      AVR32_OPC_LD_W4, 4, 0xe0f00000, 0xe1f00000,
 1.21885 -+      &avr32_syntax_table[AVR32_SYNTAX_LD_W4],
 1.21886 -+      BFD_RELOC_AVR32_16S, 3, 2,
 1.21887 -+      {
 1.21888 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21889 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.21890 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.21891 -+      },
 1.21892 -+    },
 1.21893 -+    {
 1.21894 -+      AVR32_OPC_LDC_D1, 4, 0xe9a01000, 0xfff01100,
 1.21895 -+      &avr32_syntax_table[AVR32_SYNTAX_LDC_D1],
 1.21896 -+      BFD_RELOC_AVR32_10UW, 4, 3,
 1.21897 -+      {
 1.21898 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.21899 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_DW],
 1.21900 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21901 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.21902 -+      },
 1.21903 -+    },
 1.21904 -+    {
 1.21905 -+      AVR32_OPC_LDC_D2, 4, 0xefa00050, 0xfff011ff,
 1.21906 -+      &avr32_syntax_table[AVR32_SYNTAX_LDC_D2],
 1.21907 -+      BFD_RELOC_UNUSED, 3, -1,
 1.21908 -+      {
 1.21909 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.21910 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_DW],
 1.21911 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21912 -+      },
 1.21913 -+    },
 1.21914 -+    {
 1.21915 -+      AVR32_OPC_LDC_D3, 4, 0xefa01040, 0xfff011c0,
 1.21916 -+      &avr32_syntax_table[AVR32_SYNTAX_LDC_D3],
 1.21917 -+      BFD_RELOC_UNUSED, 5, -1,
 1.21918 -+      {
 1.21919 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.21920 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_DW],
 1.21921 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21922 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.21923 -+	&avr32_ifield_table[AVR32_IFIELD_K2],
 1.21924 -+      },
 1.21925 -+    },
 1.21926 -+    {
 1.21927 -+      AVR32_OPC_LDC_W1, 4, 0xe9a00000, 0xfff01000,
 1.21928 -+      &avr32_syntax_table[AVR32_SYNTAX_LDC_W1],
 1.21929 -+      BFD_RELOC_AVR32_10UW, 4, 3,
 1.21930 -+      {
 1.21931 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.21932 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_RI],
 1.21933 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21934 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.21935 -+      },
 1.21936 -+    },
 1.21937 -+    {
 1.21938 -+      AVR32_OPC_LDC_W2, 4, 0xefa00040, 0xfff010ff,
 1.21939 -+      &avr32_syntax_table[AVR32_SYNTAX_LDC_W2],
 1.21940 -+      BFD_RELOC_UNUSED, 3, -1,
 1.21941 -+      {
 1.21942 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.21943 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_RI],
 1.21944 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21945 -+      },
 1.21946 -+    },
 1.21947 -+    {
 1.21948 -+      AVR32_OPC_LDC_W3, 4, 0xefa01000, 0xfff010c0,
 1.21949 -+      &avr32_syntax_table[AVR32_SYNTAX_LDC_W3],
 1.21950 -+      BFD_RELOC_UNUSED, 5, -1,
 1.21951 -+      {
 1.21952 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.21953 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_RI],
 1.21954 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21955 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.21956 -+	&avr32_ifield_table[AVR32_IFIELD_K2],
 1.21957 -+      },
 1.21958 -+    },
 1.21959 -+    {
 1.21960 -+      AVR32_OPC_LDC0_D, 4, 0xf3a00000, 0xfff00100,
 1.21961 -+      &avr32_syntax_table[AVR32_SYNTAX_LDC0_D],
 1.21962 -+      BFD_RELOC_AVR32_14UW, 3, 2,
 1.21963 -+      {
 1.21964 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_DW],
 1.21965 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21966 -+	&avr32_ifield_table[AVR32_IFIELD_K12CP],
 1.21967 -+      },
 1.21968 -+    },
 1.21969 -+    {
 1.21970 -+      AVR32_OPC_LDC0_W, 4, 0xf1a00000, 0xfff00000,
 1.21971 -+      &avr32_syntax_table[AVR32_SYNTAX_LDC0_W],
 1.21972 -+      BFD_RELOC_AVR32_14UW, 3, 2,
 1.21973 -+      {
 1.21974 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_RI],
 1.21975 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21976 -+	&avr32_ifield_table[AVR32_IFIELD_K12CP],
 1.21977 -+      },
 1.21978 -+    },
 1.21979 -+    {
 1.21980 -+      AVR32_OPC_LDCM_D, 4, 0xeda00400, 0xfff01f00,
 1.21981 -+      &avr32_syntax_table[AVR32_SYNTAX_LDCM_D],
 1.21982 -+      BFD_RELOC_UNUSED, 3, -1,
 1.21983 -+      {
 1.21984 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.21985 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21986 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.21987 -+      },
 1.21988 -+    },
 1.21989 -+    {
 1.21990 -+      AVR32_OPC_LDCM_D_PU, 4, 0xeda01400, 0xfff01f00,
 1.21991 -+      &avr32_syntax_table[AVR32_SYNTAX_LDCM_D_PU],
 1.21992 -+      BFD_RELOC_UNUSED, 3, -1,
 1.21993 -+      {
 1.21994 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.21995 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.21996 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.21997 -+      },
 1.21998 -+    },
 1.21999 -+    {
 1.22000 -+      AVR32_OPC_LDCM_W, 4, 0xeda00000, 0xfff01e00,
 1.22001 -+      &avr32_syntax_table[AVR32_SYNTAX_LDCM_W],
 1.22002 -+      BFD_RELOC_UNUSED, 4, -1,
 1.22003 -+      {
 1.22004 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.22005 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22006 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22007 -+	&avr32_ifield_table[AVR32_IFIELD_CM_HL],
 1.22008 -+      },
 1.22009 -+    },
 1.22010 -+    {
 1.22011 -+      AVR32_OPC_LDCM_W_PU, 4, 0xeda01000, 0xfff01e00,
 1.22012 -+      &avr32_syntax_table[AVR32_SYNTAX_LDCM_W_PU],
 1.22013 -+      BFD_RELOC_UNUSED, 4, -1,
 1.22014 -+      {
 1.22015 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.22016 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22017 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22018 -+	&avr32_ifield_table[AVR32_IFIELD_CM_HL],
 1.22019 -+      },
 1.22020 -+    },
 1.22021 -+    {
 1.22022 -+      AVR32_OPC_LDDPC, 2, 0x48000000, 0xf8000000,
 1.22023 -+      &avr32_syntax_table[AVR32_SYNTAX_LDDPC],
 1.22024 -+      BFD_RELOC_AVR32_9UW_PCREL, 2, 1,
 1.22025 -+      {
 1.22026 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22027 -+	&avr32_ifield_table[AVR32_IFIELD_K7C],
 1.22028 -+      },
 1.22029 -+    },
 1.22030 -+    {
 1.22031 -+      AVR32_OPC_LDDPC_EXT, 4, 0xfef00000, 0xfff00000,
 1.22032 -+      &avr32_syntax_table[AVR32_SYNTAX_LDDPC_EXT],
 1.22033 -+      BFD_RELOC_AVR32_16B_PCREL, 2, 1,
 1.22034 -+      {
 1.22035 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22036 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.22037 -+      },
 1.22038 -+    },
 1.22039 -+    {
 1.22040 -+      AVR32_OPC_LDDSP, 2, 0x40000000, 0xf8000000,
 1.22041 -+      &avr32_syntax_table[AVR32_SYNTAX_LDDSP],
 1.22042 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22043 -+      {
 1.22044 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22045 -+	&avr32_ifield_table[AVR32_IFIELD_K7C],
 1.22046 -+      },
 1.22047 -+    },
 1.22048 -+    {
 1.22049 -+      AVR32_OPC_LDINS_B, 4, 0xe1d04000, 0xe1f0c000,
 1.22050 -+      &avr32_syntax_table[AVR32_SYNTAX_LDINS_B],
 1.22051 -+      BFD_RELOC_UNUSED, 4, -1,
 1.22052 -+      {
 1.22053 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22054 -+	&avr32_ifield_table[AVR32_IFIELD_PART2_K12],
 1.22055 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22056 -+	&avr32_ifield_table[AVR32_IFIELD_K12],
 1.22057 -+      },
 1.22058 -+    },
 1.22059 -+    {
 1.22060 -+      AVR32_OPC_LDINS_H, 4, 0xe1d00000, 0xe1f0e000,
 1.22061 -+      &avr32_syntax_table[AVR32_SYNTAX_LDINS_H],
 1.22062 -+      BFD_RELOC_UNUSED, 4, -1,
 1.22063 -+      {
 1.22064 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22065 -+	&avr32_ifield_table[AVR32_IFIELD_PART1_K12],
 1.22066 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22067 -+	&avr32_ifield_table[AVR32_IFIELD_K12],
 1.22068 -+      },
 1.22069 -+    },
 1.22070 -+    {
 1.22071 -+      AVR32_OPC_LDM, 4, 0xe1c00000, 0xfdf00000,
 1.22072 -+      &avr32_syntax_table[AVR32_SYNTAX_LDM],
 1.22073 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22074 -+      {
 1.22075 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22076 -+	&avr32_ifield_table[AVR32_IFIELD_W],
 1.22077 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.22078 -+      },
 1.22079 -+    },
 1.22080 -+    {
 1.22081 -+      AVR32_OPC_LDMTS, 4, 0xe5c00000, 0xfff00000,
 1.22082 -+      &avr32_syntax_table[AVR32_SYNTAX_LDMTS],
 1.22083 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22084 -+      {
 1.22085 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22086 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.22087 -+      },
 1.22088 -+    },
 1.22089 -+    {
 1.22090 -+      AVR32_OPC_LDMTS_PU, 4, 0xe7c00000, 0xfff00000,
 1.22091 -+      &avr32_syntax_table[AVR32_SYNTAX_LDMTS_PU],
 1.22092 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22093 -+      {
 1.22094 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22095 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.22096 -+      },
 1.22097 -+    },
 1.22098 -+    {
 1.22099 -+      AVR32_OPC_LDSWP_SH, 4, 0xe1d02000, 0xe1f0f000,
 1.22100 -+      &avr32_syntax_table[AVR32_SYNTAX_LDSWP_SH],
 1.22101 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22102 -+      {
 1.22103 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22104 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22105 -+	&avr32_ifield_table[AVR32_IFIELD_K12],
 1.22106 -+      },
 1.22107 -+    },
 1.22108 -+    {
 1.22109 -+      AVR32_OPC_LDSWP_UH, 4, 0xe1d03000, 0xe1f0f000,
 1.22110 -+      &avr32_syntax_table[AVR32_SYNTAX_LDSWP_UH],
 1.22111 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22112 -+      {
 1.22113 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22114 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22115 -+	&avr32_ifield_table[AVR32_IFIELD_K12],
 1.22116 -+      },
 1.22117 -+    },
 1.22118 -+    {
 1.22119 -+      AVR32_OPC_LDSWP_W, 4, 0xe1d08000, 0xe1f0f000,
 1.22120 -+      &avr32_syntax_table[AVR32_SYNTAX_LDSWP_W],
 1.22121 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22122 -+      {
 1.22123 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22124 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22125 -+	&avr32_ifield_table[AVR32_IFIELD_K12],
 1.22126 -+      },
 1.22127 -+    },
 1.22128 -+    {
 1.22129 -+      AVR32_OPC_LSL1, 4, 0xe0000940, 0xe1f0fff0,
 1.22130 -+      &avr32_syntax_table[AVR32_SYNTAX_LSL1],
 1.22131 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22132 -+      {
 1.22133 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22134 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22135 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22136 -+      },
 1.22137 -+    },
 1.22138 -+    {
 1.22139 -+      AVR32_OPC_LSL3, 4, 0xe0001500, 0xe1f0ffe0,
 1.22140 -+      &avr32_syntax_table[AVR32_SYNTAX_LSL3],
 1.22141 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22142 -+      {
 1.22143 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22144 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22145 -+	&avr32_ifield_table[AVR32_IFIELD_K5E],
 1.22146 -+      },
 1.22147 -+    },
 1.22148 -+    {
 1.22149 -+      AVR32_OPC_LSL2, 2, 0xa1600000, 0xe1e00000,
 1.22150 -+      &avr32_syntax_table[AVR32_SYNTAX_LSL2],
 1.22151 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22152 -+      {
 1.22153 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22154 -+	&avr32_ifield_table[AVR32_IFIELD_BIT5C],
 1.22155 -+      },
 1.22156 -+    },
 1.22157 -+    {
 1.22158 -+      AVR32_OPC_LSR1, 4, 0xe0000a40, 0xe1f0fff0,
 1.22159 -+      &avr32_syntax_table[AVR32_SYNTAX_LSR1],
 1.22160 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22161 -+      {
 1.22162 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22163 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22164 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22165 -+      },
 1.22166 -+    },
 1.22167 -+    {
 1.22168 -+      AVR32_OPC_LSR3, 4, 0xe0001600, 0xe1f0ffe0,
 1.22169 -+      &avr32_syntax_table[AVR32_SYNTAX_LSR3],
 1.22170 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22171 -+      {
 1.22172 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22173 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22174 -+	&avr32_ifield_table[AVR32_IFIELD_K5E],
 1.22175 -+      },
 1.22176 -+    },
 1.22177 -+    {
 1.22178 -+      AVR32_OPC_LSR2, 2, 0xa1800000, 0xe1e00000,
 1.22179 -+      &avr32_syntax_table[AVR32_SYNTAX_LSR2],
 1.22180 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22181 -+      {
 1.22182 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22183 -+	&avr32_ifield_table[AVR32_IFIELD_BIT5C],
 1.22184 -+      },
 1.22185 -+    },
 1.22186 -+    {
 1.22187 -+      AVR32_OPC_MAC, 4, 0xe0000340, 0xe1f0fff0,
 1.22188 -+      &avr32_syntax_table[AVR32_SYNTAX_MAC],
 1.22189 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22190 -+      {
 1.22191 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22192 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22193 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22194 -+      },
 1.22195 -+    },
 1.22196 -+    {
 1.22197 -+      AVR32_OPC_MACHH_D, 4, 0xe0000580, 0xe1f0ffc1,
 1.22198 -+      &avr32_syntax_table[AVR32_SYNTAX_MACHH_D],
 1.22199 -+      BFD_RELOC_UNUSED, 5, -1,
 1.22200 -+      {
 1.22201 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22202 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22203 -+	&avr32_ifield_table[AVR32_IFIELD_X],
 1.22204 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22205 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.22206 -+      },
 1.22207 -+    },
 1.22208 -+    {
 1.22209 -+      AVR32_OPC_MACHH_W, 4, 0xe0000480, 0xe1f0ffc0,
 1.22210 -+      &avr32_syntax_table[AVR32_SYNTAX_MACHH_W],
 1.22211 -+      BFD_RELOC_UNUSED, 5, -1,
 1.22212 -+      {
 1.22213 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22214 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22215 -+	&avr32_ifield_table[AVR32_IFIELD_X],
 1.22216 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22217 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.22218 -+      },
 1.22219 -+    },
 1.22220 -+    {
 1.22221 -+      AVR32_OPC_MACS_D, 4, 0xe0000540, 0xe1f0fff1,
 1.22222 -+      &avr32_syntax_table[AVR32_SYNTAX_MACS_D],
 1.22223 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22224 -+      {
 1.22225 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22226 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22227 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22228 -+      },
 1.22229 -+    },
 1.22230 -+    {
 1.22231 -+      AVR32_OPC_MACSATHH_W, 4, 0xe0000680, 0xe1f0ffc0,
 1.22232 -+      &avr32_syntax_table[AVR32_SYNTAX_MACSATHH_W],
 1.22233 -+      BFD_RELOC_UNUSED, 5, -1,
 1.22234 -+      {
 1.22235 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22236 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22237 -+	&avr32_ifield_table[AVR32_IFIELD_X],
 1.22238 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22239 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.22240 -+      },
 1.22241 -+    },
 1.22242 -+    {
 1.22243 -+      AVR32_OPC_MACUD, 4, 0xe0000740, 0xe1f0fff1,
 1.22244 -+      &avr32_syntax_table[AVR32_SYNTAX_MACUD],
 1.22245 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22246 -+      {
 1.22247 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22248 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22249 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22250 -+      },
 1.22251 -+    },
 1.22252 -+    {
 1.22253 -+      AVR32_OPC_MACWH_D, 4, 0xe0000c80, 0xe1f0ffe1,
 1.22254 -+      &avr32_syntax_table[AVR32_SYNTAX_MACWH_D],
 1.22255 -+      BFD_RELOC_UNUSED, 4, -1,
 1.22256 -+      {
 1.22257 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22258 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22259 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22260 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.22261 -+      },
 1.22262 -+    },
 1.22263 -+    {
 1.22264 -+      AVR32_OPC_MAX, 4, 0xe0000c40, 0xe1f0fff0,
 1.22265 -+      &avr32_syntax_table[AVR32_SYNTAX_MAX],
 1.22266 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22267 -+      {
 1.22268 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22269 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22270 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22271 -+      },
 1.22272 -+    },
 1.22273 -+    {
 1.22274 -+      AVR32_OPC_MCALL, 4, 0xf0100000, 0xfff00000,
 1.22275 -+      &avr32_syntax_table[AVR32_SYNTAX_MCALL],
 1.22276 -+      BFD_RELOC_AVR32_18W_PCREL, 2, 1,
 1.22277 -+      {
 1.22278 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22279 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.22280 -+      },
 1.22281 -+    },
 1.22282 -+    {
 1.22283 -+      AVR32_OPC_MFDR, 4, 0xe5b00000, 0xfff0ff00,
 1.22284 -+      &avr32_syntax_table[AVR32_SYNTAX_MFDR],
 1.22285 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.22286 -+      {
 1.22287 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22288 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22289 -+      },
 1.22290 -+    },
 1.22291 -+    {
 1.22292 -+      AVR32_OPC_MFSR, 4, 0xe1b00000, 0xfff0ff00,
 1.22293 -+      &avr32_syntax_table[AVR32_SYNTAX_MFSR],
 1.22294 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.22295 -+      {
 1.22296 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22297 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22298 -+      },
 1.22299 -+    },
 1.22300 -+    {
 1.22301 -+      AVR32_OPC_MIN, 4, 0xe0000d40, 0xe1f0fff0,
 1.22302 -+      &avr32_syntax_table[AVR32_SYNTAX_MIN],
 1.22303 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22304 -+      {
 1.22305 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22306 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22307 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22308 -+      },
 1.22309 -+    },
 1.22310 -+    {
 1.22311 -+      AVR32_OPC_MOV3, 2, 0x00900000, 0xe1f00000,
 1.22312 -+      &avr32_syntax_table[AVR32_SYNTAX_MOV3],
 1.22313 -+      BFD_RELOC_NONE, 2, -1,
 1.22314 -+      {
 1.22315 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22316 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22317 -+      },
 1.22318 -+    },
 1.22319 -+    {
 1.22320 -+      AVR32_OPC_MOV1, 2, 0x30000000, 0xf0000000,
 1.22321 -+      &avr32_syntax_table[AVR32_SYNTAX_MOV1],
 1.22322 -+      BFD_RELOC_AVR32_8S, 2, 1,
 1.22323 -+      {
 1.22324 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22325 -+	&avr32_ifield_table[AVR32_IFIELD_K8C],
 1.22326 -+      },
 1.22327 -+    },
 1.22328 -+    {
 1.22329 -+      AVR32_OPC_MOV2, 4, 0xe0600000, 0xe1e00000,
 1.22330 -+      &avr32_syntax_table[AVR32_SYNTAX_MOV2],
 1.22331 -+      BFD_RELOC_AVR32_21S, 2, 1,
 1.22332 -+      {
 1.22333 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22334 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.22335 -+      },
 1.22336 -+    },
 1.22337 -+    {
 1.22338 -+      AVR32_OPC_MOVEQ1, 4, 0xe0001700, 0xe1f0ffff,
 1.22339 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVEQ1],
 1.22340 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22341 -+      {
 1.22342 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22343 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22344 -+      },
 1.22345 -+    },
 1.22346 -+    {
 1.22347 -+      AVR32_OPC_MOVNE1, 4, 0xe0001710, 0xe1f0ffff,
 1.22348 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVNE1],
 1.22349 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22350 -+      {
 1.22351 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22352 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22353 -+      },
 1.22354 -+    },
 1.22355 -+    {
 1.22356 -+      AVR32_OPC_MOVCC1, 4, 0xe0001720, 0xe1f0ffff,
 1.22357 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVHS1],
 1.22358 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22359 -+      {
 1.22360 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22361 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22362 -+      },
 1.22363 -+    },
 1.22364 -+    {
 1.22365 -+      AVR32_OPC_MOVCS1, 4, 0xe0001730, 0xe1f0ffff,
 1.22366 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVLO1],
 1.22367 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22368 -+      {
 1.22369 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22370 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22371 -+      },
 1.22372 -+    },
 1.22373 -+    {
 1.22374 -+      AVR32_OPC_MOVGE1, 4, 0xe0001740, 0xe1f0ffff,
 1.22375 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVGE1],
 1.22376 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22377 -+      {
 1.22378 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22379 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22380 -+      },
 1.22381 -+    },
 1.22382 -+    {
 1.22383 -+      AVR32_OPC_MOVLT1, 4, 0xe0001750, 0xe1f0ffff,
 1.22384 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVLT1],
 1.22385 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22386 -+      {
 1.22387 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22388 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22389 -+      },
 1.22390 -+    },
 1.22391 -+    {
 1.22392 -+      AVR32_OPC_MOVMI1, 4, 0xe0001760, 0xe1f0ffff,
 1.22393 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVMI1],
 1.22394 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22395 -+      {
 1.22396 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22397 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22398 -+      },
 1.22399 -+    },
 1.22400 -+    {
 1.22401 -+      AVR32_OPC_MOVPL1, 4, 0xe0001770, 0xe1f0ffff,
 1.22402 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVPL1],
 1.22403 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22404 -+      {
 1.22405 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22406 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22407 -+      },
 1.22408 -+    },
 1.22409 -+    {
 1.22410 -+      AVR32_OPC_MOVLS1, 4, 0xe0001780, 0xe1f0ffff,
 1.22411 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVLS1],
 1.22412 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22413 -+      {
 1.22414 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22415 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22416 -+      },
 1.22417 -+    },
 1.22418 -+    {
 1.22419 -+      AVR32_OPC_MOVGT1, 4, 0xe0001790, 0xe1f0ffff,
 1.22420 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVGT1],
 1.22421 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22422 -+      {
 1.22423 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22424 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22425 -+      },
 1.22426 -+    },
 1.22427 -+    {
 1.22428 -+      AVR32_OPC_MOVLE1, 4, 0xe00017a0, 0xe1f0ffff,
 1.22429 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVLE1],
 1.22430 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22431 -+      {
 1.22432 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22433 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22434 -+      },
 1.22435 -+    },
 1.22436 -+    {
 1.22437 -+      AVR32_OPC_MOVHI1, 4, 0xe00017b0, 0xe1f0ffff,
 1.22438 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVHI1],
 1.22439 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22440 -+      {
 1.22441 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22442 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22443 -+      },
 1.22444 -+    },
 1.22445 -+    {
 1.22446 -+      AVR32_OPC_MOVVS1, 4, 0xe00017c0, 0xe1f0ffff,
 1.22447 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVVS1],
 1.22448 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22449 -+      {
 1.22450 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22451 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22452 -+      },
 1.22453 -+    },
 1.22454 -+    {
 1.22455 -+      AVR32_OPC_MOVVC1, 4, 0xe00017d0, 0xe1f0ffff,
 1.22456 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVVC1],
 1.22457 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22458 -+      {
 1.22459 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22460 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22461 -+      },
 1.22462 -+    },
 1.22463 -+    {
 1.22464 -+      AVR32_OPC_MOVQS1, 4, 0xe00017e0, 0xe1f0ffff,
 1.22465 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVQS1],
 1.22466 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22467 -+      {
 1.22468 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22469 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22470 -+      },
 1.22471 -+    },
 1.22472 -+    {
 1.22473 -+      AVR32_OPC_MOVAL1, 4, 0xe00017f0, 0xe1f0ffff,
 1.22474 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVAL1],
 1.22475 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22476 -+      {
 1.22477 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22478 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22479 -+      },
 1.22480 -+    },
 1.22481 -+    {
 1.22482 -+      AVR32_OPC_MOVEQ2, 4, 0xf9b00000, 0xfff0ff00,
 1.22483 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVEQ2],
 1.22484 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.22485 -+      {
 1.22486 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22487 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22488 -+      },
 1.22489 -+    },
 1.22490 -+    {
 1.22491 -+      AVR32_OPC_MOVNE2, 4, 0xf9b00100, 0xfff0ff00,
 1.22492 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVNE2],
 1.22493 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.22494 -+      {
 1.22495 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22496 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22497 -+      },
 1.22498 -+    },
 1.22499 -+    {
 1.22500 -+      AVR32_OPC_MOVCC2, 4, 0xf9b00200, 0xfff0ff00,
 1.22501 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVHS2],
 1.22502 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.22503 -+      {
 1.22504 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22505 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22506 -+      },
 1.22507 -+    },
 1.22508 -+    {
 1.22509 -+      AVR32_OPC_MOVCS2, 4, 0xf9b00300, 0xfff0ff00,
 1.22510 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVLO2],
 1.22511 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.22512 -+      {
 1.22513 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22514 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22515 -+      },
 1.22516 -+    },
 1.22517 -+    {
 1.22518 -+      AVR32_OPC_MOVGE2, 4, 0xf9b00400, 0xfff0ff00,
 1.22519 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVGE2],
 1.22520 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.22521 -+      {
 1.22522 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22523 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22524 -+      },
 1.22525 -+    },
 1.22526 -+    {
 1.22527 -+      AVR32_OPC_MOVLT2, 4, 0xf9b00500, 0xfff0ff00,
 1.22528 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVLT2],
 1.22529 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.22530 -+      {
 1.22531 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22532 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22533 -+      },
 1.22534 -+    },
 1.22535 -+    {
 1.22536 -+      AVR32_OPC_MOVMI2, 4, 0xf9b00600, 0xfff0ff00,
 1.22537 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVMI2],
 1.22538 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.22539 -+      {
 1.22540 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22541 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22542 -+      },
 1.22543 -+    },
 1.22544 -+    {
 1.22545 -+      AVR32_OPC_MOVPL2, 4, 0xf9b00700, 0xfff0ff00,
 1.22546 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVPL2],
 1.22547 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.22548 -+      {
 1.22549 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22550 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22551 -+      },
 1.22552 -+    },
 1.22553 -+    {
 1.22554 -+      AVR32_OPC_MOVLS2, 4, 0xf9b00800, 0xfff0ff00,
 1.22555 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVLS2],
 1.22556 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.22557 -+      {
 1.22558 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22559 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22560 -+      },
 1.22561 -+    },
 1.22562 -+    {
 1.22563 -+      AVR32_OPC_MOVGT2, 4, 0xf9b00900, 0xfff0ff00,
 1.22564 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVGT2],
 1.22565 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.22566 -+      {
 1.22567 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22568 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22569 -+      },
 1.22570 -+    },
 1.22571 -+    {
 1.22572 -+      AVR32_OPC_MOVLE2, 4, 0xf9b00a00, 0xfff0ff00,
 1.22573 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVLE2],
 1.22574 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.22575 -+      {
 1.22576 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22577 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22578 -+      },
 1.22579 -+    },
 1.22580 -+    {
 1.22581 -+      AVR32_OPC_MOVHI2, 4, 0xf9b00b00, 0xfff0ff00,
 1.22582 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVHI2],
 1.22583 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.22584 -+      {
 1.22585 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22586 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22587 -+      },
 1.22588 -+    },
 1.22589 -+    {
 1.22590 -+      AVR32_OPC_MOVVS2, 4, 0xf9b00c00, 0xfff0ff00,
 1.22591 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVVS2],
 1.22592 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.22593 -+      {
 1.22594 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22595 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22596 -+      },
 1.22597 -+    },
 1.22598 -+    {
 1.22599 -+      AVR32_OPC_MOVVC2, 4, 0xf9b00d00, 0xfff0ff00,
 1.22600 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVVC2],
 1.22601 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.22602 -+      {
 1.22603 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22604 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22605 -+      },
 1.22606 -+    },
 1.22607 -+    {
 1.22608 -+      AVR32_OPC_MOVQS2, 4, 0xf9b00e00, 0xfff0ff00,
 1.22609 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVQS2],
 1.22610 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.22611 -+      {
 1.22612 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22613 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22614 -+      },
 1.22615 -+    },
 1.22616 -+    {
 1.22617 -+      AVR32_OPC_MOVAL2, 4, 0xf9b00f00, 0xfff0ff00,
 1.22618 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVAL2],
 1.22619 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.22620 -+      {
 1.22621 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22622 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22623 -+      },
 1.22624 -+    },
 1.22625 -+    {
 1.22626 -+      AVR32_OPC_MTDR, 4, 0xe7b00000, 0xfff0ff00,
 1.22627 -+      &avr32_syntax_table[AVR32_SYNTAX_MTDR],
 1.22628 -+      BFD_RELOC_AVR32_8S_EXT, 2, 0,
 1.22629 -+      {
 1.22630 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22631 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22632 -+      },
 1.22633 -+    },
 1.22634 -+    {
 1.22635 -+      AVR32_OPC_MTSR, 4, 0xe3b00000, 0xfff0ff00,
 1.22636 -+      &avr32_syntax_table[AVR32_SYNTAX_MTSR],
 1.22637 -+      BFD_RELOC_AVR32_8S_EXT, 2, 0,
 1.22638 -+      {
 1.22639 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22640 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22641 -+      },
 1.22642 -+    },
 1.22643 -+    {
 1.22644 -+      AVR32_OPC_MUL1, 2, 0xa1300000, 0xe1f00000,
 1.22645 -+      &avr32_syntax_table[AVR32_SYNTAX_MUL1],
 1.22646 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22647 -+      {
 1.22648 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22649 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22650 -+      },
 1.22651 -+    },
 1.22652 -+    {
 1.22653 -+      AVR32_OPC_MUL2, 4, 0xe0000240, 0xe1f0fff0,
 1.22654 -+      &avr32_syntax_table[AVR32_SYNTAX_MUL2],
 1.22655 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22656 -+      {
 1.22657 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22658 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22659 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22660 -+      },
 1.22661 -+    },
 1.22662 -+    {
 1.22663 -+      AVR32_OPC_MUL3, 4, 0xe0001000, 0xe1f0ff00,
 1.22664 -+      &avr32_syntax_table[AVR32_SYNTAX_MUL3],
 1.22665 -+      BFD_RELOC_AVR32_8S_EXT, 3, 2,
 1.22666 -+      {
 1.22667 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22668 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22669 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.22670 -+      },
 1.22671 -+    },
 1.22672 -+    {
 1.22673 -+      AVR32_OPC_MULHH_W, 4, 0xe0000780, 0xe1f0ffc0,
 1.22674 -+      &avr32_syntax_table[AVR32_SYNTAX_MULHH_W],
 1.22675 -+      BFD_RELOC_UNUSED, 5, -1,
 1.22676 -+      {
 1.22677 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22678 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22679 -+	&avr32_ifield_table[AVR32_IFIELD_X],
 1.22680 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22681 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.22682 -+      },
 1.22683 -+    },
 1.22684 -+    {
 1.22685 -+      AVR32_OPC_MULNHH_W, 4, 0xe0000180, 0xe1f0ffc0,
 1.22686 -+      &avr32_syntax_table[AVR32_SYNTAX_MULNHH_W],
 1.22687 -+      BFD_RELOC_UNUSED, 5, -1,
 1.22688 -+      {
 1.22689 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22690 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22691 -+	&avr32_ifield_table[AVR32_IFIELD_X],
 1.22692 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22693 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.22694 -+      },
 1.22695 -+    },
 1.22696 -+    {
 1.22697 -+      AVR32_OPC_MULNWH_D, 4, 0xe0000280, 0xe1f0ffe1,
 1.22698 -+      &avr32_syntax_table[AVR32_SYNTAX_MULNWH_D],
 1.22699 -+      BFD_RELOC_UNUSED, 4, -1,
 1.22700 -+      {
 1.22701 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22702 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22703 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22704 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.22705 -+      },
 1.22706 -+    },
 1.22707 -+    {
 1.22708 -+      AVR32_OPC_MULSD, 4, 0xe0000440, 0xe1f0fff0,
 1.22709 -+      &avr32_syntax_table[AVR32_SYNTAX_MULSD],
 1.22710 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22711 -+      {
 1.22712 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22713 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22714 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22715 -+      },
 1.22716 -+    },
 1.22717 -+    {
 1.22718 -+      AVR32_OPC_MULSATHH_H, 4, 0xe0000880, 0xe1f0ffc0,
 1.22719 -+      &avr32_syntax_table[AVR32_SYNTAX_MULSATHH_H],
 1.22720 -+      BFD_RELOC_UNUSED, 5, -1,
 1.22721 -+      {
 1.22722 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22723 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22724 -+	&avr32_ifield_table[AVR32_IFIELD_X],
 1.22725 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22726 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.22727 -+      },
 1.22728 -+    },
 1.22729 -+    {
 1.22730 -+      AVR32_OPC_MULSATHH_W, 4, 0xe0000980, 0xe1f0ffc0,
 1.22731 -+      &avr32_syntax_table[AVR32_SYNTAX_MULSATHH_W],
 1.22732 -+      BFD_RELOC_UNUSED, 5, -1,
 1.22733 -+      {
 1.22734 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22735 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22736 -+	&avr32_ifield_table[AVR32_IFIELD_X],
 1.22737 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22738 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.22739 -+      },
 1.22740 -+    },
 1.22741 -+    {
 1.22742 -+      AVR32_OPC_MULSATRNDHH_H, 4, 0xe0000a80, 0xe1f0ffc0,
 1.22743 -+      &avr32_syntax_table[AVR32_SYNTAX_MULSATRNDHH_H],
 1.22744 -+      BFD_RELOC_UNUSED, 5, -1,
 1.22745 -+      {
 1.22746 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22747 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22748 -+	&avr32_ifield_table[AVR32_IFIELD_X],
 1.22749 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22750 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.22751 -+      },
 1.22752 -+    },
 1.22753 -+    {
 1.22754 -+      AVR32_OPC_MULSATRNDWH_W, 4, 0xe0000b80, 0xe1f0ffe0,
 1.22755 -+      &avr32_syntax_table[AVR32_SYNTAX_MULSATRNDWH_W],
 1.22756 -+      BFD_RELOC_UNUSED, 4, -1,
 1.22757 -+      {
 1.22758 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22759 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22760 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22761 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.22762 -+      },
 1.22763 -+    },
 1.22764 -+    {
 1.22765 -+      AVR32_OPC_MULSATWH_W, 4, 0xe0000e80, 0xe1f0ffe0,
 1.22766 -+      &avr32_syntax_table[AVR32_SYNTAX_MULSATWH_W],
 1.22767 -+      BFD_RELOC_UNUSED, 4, -1,
 1.22768 -+      {
 1.22769 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22770 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22771 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22772 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.22773 -+      },
 1.22774 -+    },
 1.22775 -+    {
 1.22776 -+      AVR32_OPC_MULU_D, 4, 0xe0000640, 0xe1f0fff1,
 1.22777 -+      &avr32_syntax_table[AVR32_SYNTAX_MULU_D],
 1.22778 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22779 -+      {
 1.22780 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22781 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22782 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22783 -+      },
 1.22784 -+    },
 1.22785 -+    {
 1.22786 -+      AVR32_OPC_MULWH_D, 4, 0xe0000d80, 0xe1f0ffe1,
 1.22787 -+      &avr32_syntax_table[AVR32_SYNTAX_MULWH_D],
 1.22788 -+      BFD_RELOC_UNUSED, 4, -1,
 1.22789 -+      {
 1.22790 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22791 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22792 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22793 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.22794 -+      },
 1.22795 -+    },
 1.22796 -+    {
 1.22797 -+      AVR32_OPC_MUSFR, 2, 0x5d300000, 0xfff00000,
 1.22798 -+      &avr32_syntax_table[AVR32_SYNTAX_MUSFR],
 1.22799 -+      BFD_RELOC_UNUSED, 1, -1,
 1.22800 -+      {
 1.22801 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22802 -+      }
 1.22803 -+    },
 1.22804 -+    {
 1.22805 -+      AVR32_OPC_MUSTR, 2, 0x5d200000, 0xfff00000,
 1.22806 -+      &avr32_syntax_table[AVR32_SYNTAX_MUSTR],
 1.22807 -+      BFD_RELOC_UNUSED, 1, -1,
 1.22808 -+      {
 1.22809 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22810 -+      }
 1.22811 -+    },
 1.22812 -+    {
 1.22813 -+      AVR32_OPC_MVCR_D, 4, 0xefa00010, 0xfff111ff,
 1.22814 -+      &avr32_syntax_table[AVR32_SYNTAX_MVCR_D],
 1.22815 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22816 -+      {
 1.22817 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.22818 -+	&avr32_ifield_table[AVR32_IFIELD_RY_DW],
 1.22819 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_DW],
 1.22820 -+      },
 1.22821 -+    },
 1.22822 -+    {
 1.22823 -+      AVR32_OPC_MVCR_W, 4, 0xefa00000, 0xfff010ff,
 1.22824 -+      &avr32_syntax_table[AVR32_SYNTAX_MVCR_W],
 1.22825 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22826 -+      {
 1.22827 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.22828 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22829 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_RI],
 1.22830 -+      },
 1.22831 -+    },
 1.22832 -+    {
 1.22833 -+      AVR32_OPC_MVRC_D, 4, 0xefa00030, 0xfff111ff,
 1.22834 -+      &avr32_syntax_table[AVR32_SYNTAX_MVRC_D],
 1.22835 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22836 -+      {
 1.22837 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.22838 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_DW],
 1.22839 -+	&avr32_ifield_table[AVR32_IFIELD_RY_DW],
 1.22840 -+      },
 1.22841 -+    },
 1.22842 -+    {
 1.22843 -+      AVR32_OPC_MVRC_W, 4, 0xefa00020, 0xfff010ff,
 1.22844 -+      &avr32_syntax_table[AVR32_SYNTAX_MVRC_W],
 1.22845 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22846 -+      {
 1.22847 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.22848 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_RI],
 1.22849 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22850 -+      },
 1.22851 -+    },
 1.22852 -+    {
 1.22853 -+      AVR32_OPC_NEG, 2, 0x5c300000, 0xfff00000,
 1.22854 -+      &avr32_syntax_table[AVR32_SYNTAX_NEG],
 1.22855 -+      BFD_RELOC_UNUSED, 1, -1,
 1.22856 -+      {
 1.22857 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22858 -+      }
 1.22859 -+    },
 1.22860 -+    {
 1.22861 -+      AVR32_OPC_NOP, 2, 0xd7030000, 0xffff0000,
 1.22862 -+      &avr32_syntax_table[AVR32_SYNTAX_NOP],
 1.22863 -+      BFD_RELOC_UNUSED, 0, -1, { NULL },
 1.22864 -+    },
 1.22865 -+    {
 1.22866 -+      AVR32_OPC_OR1, 2, 0x00400000, 0xe1f00000,
 1.22867 -+      &avr32_syntax_table[AVR32_SYNTAX_OR1],
 1.22868 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22869 -+      {
 1.22870 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22871 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22872 -+      },
 1.22873 -+    },
 1.22874 -+    {
 1.22875 -+      AVR32_OPC_OR2, 4, 0xe1e01000, 0xe1f0fe00,
 1.22876 -+      &avr32_syntax_table[AVR32_SYNTAX_OR2],
 1.22877 -+      BFD_RELOC_UNUSED, 4, -1,
 1.22878 -+      {
 1.22879 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22880 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22881 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22882 -+	&avr32_ifield_table[AVR32_IFIELD_K5E2],
 1.22883 -+      },
 1.22884 -+    },
 1.22885 -+    {
 1.22886 -+      AVR32_OPC_OR3, 4, 0xe1e01200, 0xe1f0fe00,
 1.22887 -+      &avr32_syntax_table[AVR32_SYNTAX_OR3],
 1.22888 -+      BFD_RELOC_UNUSED, 4, -1,
 1.22889 -+      {
 1.22890 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22891 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22892 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22893 -+	&avr32_ifield_table[AVR32_IFIELD_K5E2],
 1.22894 -+      },
 1.22895 -+    },
 1.22896 -+    {
 1.22897 -+      AVR32_OPC_ORH, 4, 0xea100000, 0xfff00000,
 1.22898 -+      &avr32_syntax_table[AVR32_SYNTAX_ORH],
 1.22899 -+      BFD_RELOC_AVR32_16U, 2, 1,
 1.22900 -+      {
 1.22901 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22902 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.22903 -+      },
 1.22904 -+    },
 1.22905 -+    {
 1.22906 -+      AVR32_OPC_ORL, 4, 0xe8100000, 0xfff00000,
 1.22907 -+      &avr32_syntax_table[AVR32_SYNTAX_ORL],
 1.22908 -+      BFD_RELOC_AVR32_16U, 2, 1,
 1.22909 -+      {
 1.22910 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22911 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.22912 -+      },
 1.22913 -+    },
 1.22914 -+    {
 1.22915 -+      AVR32_OPC_PABS_SB, 4, 0xe00023e0, 0xfff0fff0,
 1.22916 -+      &avr32_syntax_table[AVR32_SYNTAX_PABS_SB],
 1.22917 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22918 -+      {
 1.22919 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22920 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22921 -+      },
 1.22922 -+    },
 1.22923 -+    {
 1.22924 -+      AVR32_OPC_PABS_SH, 4, 0xe00023f0, 0xfff0fff0,
 1.22925 -+      &avr32_syntax_table[AVR32_SYNTAX_PABS_SH],
 1.22926 -+      BFD_RELOC_UNUSED, 2, -1,
 1.22927 -+      {
 1.22928 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22929 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22930 -+      },
 1.22931 -+    },
 1.22932 -+    {
 1.22933 -+      AVR32_OPC_PACKSH_SB, 4, 0xe00024d0, 0xe1f0fff0,
 1.22934 -+      &avr32_syntax_table[AVR32_SYNTAX_PACKSH_SB],
 1.22935 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22936 -+      {
 1.22937 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22938 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22939 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22940 -+      },
 1.22941 -+    },
 1.22942 -+    {
 1.22943 -+      AVR32_OPC_PACKSH_UB, 4, 0xe00024c0, 0xe1f0fff0,
 1.22944 -+      &avr32_syntax_table[AVR32_SYNTAX_PACKSH_UB],
 1.22945 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22946 -+      {
 1.22947 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22948 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22949 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22950 -+      },
 1.22951 -+    },
 1.22952 -+    {
 1.22953 -+      AVR32_OPC_PACKW_SH, 4, 0xe0002470, 0xe1f0fff0,
 1.22954 -+      &avr32_syntax_table[AVR32_SYNTAX_PACKW_SH],
 1.22955 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22956 -+      {
 1.22957 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22958 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22959 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22960 -+      },
 1.22961 -+    },
 1.22962 -+    {
 1.22963 -+      AVR32_OPC_PADD_B, 4, 0xe0002300, 0xe1f0fff0,
 1.22964 -+      &avr32_syntax_table[AVR32_SYNTAX_PADD_B],
 1.22965 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22966 -+      {
 1.22967 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22968 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22969 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22970 -+      },
 1.22971 -+    },
 1.22972 -+    {
 1.22973 -+      AVR32_OPC_PADD_H, 4, 0xe0002000, 0xe1f0fff0,
 1.22974 -+      &avr32_syntax_table[AVR32_SYNTAX_PADD_H],
 1.22975 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22976 -+      {
 1.22977 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22978 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22979 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22980 -+      },
 1.22981 -+    },
 1.22982 -+    {
 1.22983 -+      AVR32_OPC_PADDH_SH, 4, 0xe00020c0, 0xe1f0fff0,
 1.22984 -+      &avr32_syntax_table[AVR32_SYNTAX_PADDH_SH],
 1.22985 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22986 -+      {
 1.22987 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22988 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22989 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.22990 -+      },
 1.22991 -+    },
 1.22992 -+    {
 1.22993 -+      AVR32_OPC_PADDH_UB, 4, 0xe0002360, 0xe1f0fff0,
 1.22994 -+      &avr32_syntax_table[AVR32_SYNTAX_PADDH_UB],
 1.22995 -+      BFD_RELOC_UNUSED, 3, -1,
 1.22996 -+      {
 1.22997 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.22998 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.22999 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23000 -+      },
 1.23001 -+    },
 1.23002 -+    {
 1.23003 -+      AVR32_OPC_PADDS_SB, 4, 0xe0002320, 0xe1f0fff0,
 1.23004 -+      &avr32_syntax_table[AVR32_SYNTAX_PADDS_SB],
 1.23005 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23006 -+      {
 1.23007 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23008 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23009 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23010 -+      },
 1.23011 -+    },
 1.23012 -+    {
 1.23013 -+      AVR32_OPC_PADDS_SH, 4, 0xe0002040, 0xe1f0fff0,
 1.23014 -+      &avr32_syntax_table[AVR32_SYNTAX_PADDS_SH],
 1.23015 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23016 -+      {
 1.23017 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23018 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23019 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23020 -+      },
 1.23021 -+    },
 1.23022 -+    {
 1.23023 -+      AVR32_OPC_PADDS_UB, 4, 0xe0002340, 0xe1f0fff0,
 1.23024 -+      &avr32_syntax_table[AVR32_SYNTAX_PADDS_UB],
 1.23025 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23026 -+      {
 1.23027 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23028 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23029 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23030 -+      },
 1.23031 -+    },
 1.23032 -+    {
 1.23033 -+      AVR32_OPC_PADDS_UH, 4, 0xe0002080, 0xe1f0fff0,
 1.23034 -+      &avr32_syntax_table[AVR32_SYNTAX_PADDS_UH],
 1.23035 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23036 -+      {
 1.23037 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23038 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23039 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23040 -+      },
 1.23041 -+    },
 1.23042 -+    {
 1.23043 -+      AVR32_OPC_PADDSUB_H, 4, 0xe0002100, 0xe1f0ffc0,
 1.23044 -+      &avr32_syntax_table[AVR32_SYNTAX_PADDSUB_H],
 1.23045 -+      BFD_RELOC_UNUSED, 5, -1,
 1.23046 -+      {
 1.23047 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23048 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23049 -+	&avr32_ifield_table[AVR32_IFIELD_X],
 1.23050 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23051 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.23052 -+      },
 1.23053 -+    },
 1.23054 -+    {
 1.23055 -+      AVR32_OPC_PADDSUBH_SH, 4, 0xe0002280, 0xe1f0ffc0,
 1.23056 -+      &avr32_syntax_table[AVR32_SYNTAX_PADDSUBH_SH],
 1.23057 -+      BFD_RELOC_UNUSED, 5, -1,
 1.23058 -+      {
 1.23059 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23060 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23061 -+	&avr32_ifield_table[AVR32_IFIELD_X],
 1.23062 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23063 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.23064 -+      },
 1.23065 -+    },
 1.23066 -+    {
 1.23067 -+      AVR32_OPC_PADDSUBS_SH, 4, 0xe0002180, 0xe1f0ffc0,
 1.23068 -+      &avr32_syntax_table[AVR32_SYNTAX_PADDSUBS_SH],
 1.23069 -+      BFD_RELOC_UNUSED, 5, -1,
 1.23070 -+      {
 1.23071 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23072 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23073 -+	&avr32_ifield_table[AVR32_IFIELD_X],
 1.23074 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23075 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.23076 -+      },
 1.23077 -+    },
 1.23078 -+    {
 1.23079 -+      AVR32_OPC_PADDSUBS_UH, 4, 0xe0002200, 0xe1f0ffc0,
 1.23080 -+      &avr32_syntax_table[AVR32_SYNTAX_PADDSUBS_UH],
 1.23081 -+      BFD_RELOC_UNUSED, 5, -1,
 1.23082 -+      {
 1.23083 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23084 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23085 -+	&avr32_ifield_table[AVR32_IFIELD_X],
 1.23086 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23087 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.23088 -+      },
 1.23089 -+    },
 1.23090 -+    {
 1.23091 -+      AVR32_OPC_PADDX_H, 4, 0xe0002020, 0xe1f0fff0,
 1.23092 -+      &avr32_syntax_table[AVR32_SYNTAX_PADDX_H],
 1.23093 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23094 -+      {
 1.23095 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23096 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23097 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23098 -+      },
 1.23099 -+    },
 1.23100 -+    {
 1.23101 -+      AVR32_OPC_PADDXH_SH, 4, 0xe00020e0, 0xe1f0fff0,
 1.23102 -+      &avr32_syntax_table[AVR32_SYNTAX_PADDXH_SH],
 1.23103 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23104 -+      {
 1.23105 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23106 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23107 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23108 -+      },
 1.23109 -+    },
 1.23110 -+    {
 1.23111 -+      AVR32_OPC_PADDXS_SH, 4, 0xe0002060, 0xe1f0fff0,
 1.23112 -+      &avr32_syntax_table[AVR32_SYNTAX_PADDXS_SH],
 1.23113 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23114 -+      {
 1.23115 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23116 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23117 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23118 -+      },
 1.23119 -+    },
 1.23120 -+    {
 1.23121 -+      AVR32_OPC_PADDXS_UH, 4, 0xe00020a0, 0xe1f0fff0,
 1.23122 -+      &avr32_syntax_table[AVR32_SYNTAX_PADDXS_UH],
 1.23123 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23124 -+      {
 1.23125 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23126 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23127 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23128 -+      },
 1.23129 -+    },
 1.23130 -+    {
 1.23131 -+      AVR32_OPC_PASR_B, 4, 0xe0002410, 0xe1f8fff0,
 1.23132 -+      &avr32_syntax_table[AVR32_SYNTAX_PASR_B],
 1.23133 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23134 -+      {
 1.23135 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23136 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23137 -+	&avr32_ifield_table[AVR32_IFIELD_COND3],
 1.23138 -+      },
 1.23139 -+    },
 1.23140 -+    {
 1.23141 -+      AVR32_OPC_PASR_H, 4, 0xe0002440, 0xe1f0fff0,
 1.23142 -+      &avr32_syntax_table[AVR32_SYNTAX_PASR_H],
 1.23143 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23144 -+      {
 1.23145 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23146 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23147 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23148 -+      },
 1.23149 -+    },
 1.23150 -+    {
 1.23151 -+      AVR32_OPC_PAVG_SH, 4, 0xe00023d0, 0xe1f0fff0,
 1.23152 -+      &avr32_syntax_table[AVR32_SYNTAX_PAVG_SH],
 1.23153 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23154 -+      {
 1.23155 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23156 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23157 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23158 -+      },
 1.23159 -+    },
 1.23160 -+    {
 1.23161 -+      AVR32_OPC_PAVG_UB, 4, 0xe00023c0, 0xe1f0fff0,
 1.23162 -+      &avr32_syntax_table[AVR32_SYNTAX_PAVG_UB],
 1.23163 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23164 -+      {
 1.23165 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23166 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23167 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23168 -+      },
 1.23169 -+    },
 1.23170 -+    {
 1.23171 -+      AVR32_OPC_PLSL_B, 4, 0xe0002420, 0xe1f8fff0,
 1.23172 -+      &avr32_syntax_table[AVR32_SYNTAX_PLSL_B],
 1.23173 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23174 -+      {
 1.23175 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23176 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23177 -+	&avr32_ifield_table[AVR32_IFIELD_COND3],
 1.23178 -+      },
 1.23179 -+    },
 1.23180 -+    {
 1.23181 -+      AVR32_OPC_PLSL_H, 4, 0xe0002450, 0xe1f0fff0,
 1.23182 -+      &avr32_syntax_table[AVR32_SYNTAX_PLSL_H],
 1.23183 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23184 -+      {
 1.23185 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23186 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23187 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23188 -+      },
 1.23189 -+    },
 1.23190 -+    {
 1.23191 -+      AVR32_OPC_PLSR_B, 4, 0xe0002430, 0xe1f8fff0,
 1.23192 -+      &avr32_syntax_table[AVR32_SYNTAX_PLSR_B],
 1.23193 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23194 -+      {
 1.23195 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23196 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23197 -+	&avr32_ifield_table[AVR32_IFIELD_COND3],
 1.23198 -+      },
 1.23199 -+    },
 1.23200 -+    {
 1.23201 -+      AVR32_OPC_PLSR_H, 4, 0xe0002460, 0xe1f0fff0,
 1.23202 -+      &avr32_syntax_table[AVR32_SYNTAX_PLSR_H],
 1.23203 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23204 -+      {
 1.23205 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23206 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23207 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23208 -+      },
 1.23209 -+    },
 1.23210 -+    {
 1.23211 -+      AVR32_OPC_PMAX_SH, 4, 0xe0002390, 0xe1f0fff0,
 1.23212 -+      &avr32_syntax_table[AVR32_SYNTAX_PMAX_SH],
 1.23213 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23214 -+      {
 1.23215 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23216 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23217 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23218 -+      },
 1.23219 -+    },
 1.23220 -+    {
 1.23221 -+      AVR32_OPC_PMAX_UB, 4, 0xe0002380, 0xe1f0fff0,
 1.23222 -+      &avr32_syntax_table[AVR32_SYNTAX_PMAX_UB],
 1.23223 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23224 -+      {
 1.23225 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23226 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23227 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23228 -+      },
 1.23229 -+    },
 1.23230 -+    {
 1.23231 -+      AVR32_OPC_PMIN_SH, 4, 0xe00023b0, 0xe1f0fff0,
 1.23232 -+      &avr32_syntax_table[AVR32_SYNTAX_PMIN_SH],
 1.23233 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23234 -+      {
 1.23235 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23236 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23237 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23238 -+      },
 1.23239 -+    },
 1.23240 -+    {
 1.23241 -+      AVR32_OPC_PMIN_UB, 4, 0xe00023a0, 0xe1f0fff0,
 1.23242 -+      &avr32_syntax_table[AVR32_SYNTAX_PMIN_UB],
 1.23243 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23244 -+      {
 1.23245 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23246 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23247 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23248 -+      },
 1.23249 -+    },
 1.23250 -+    {
 1.23251 -+      AVR32_OPC_POPJC, 2, 0xd7130000, 0xffff0000,
 1.23252 -+      &avr32_syntax_table[AVR32_SYNTAX_POPJC],
 1.23253 -+      BFD_RELOC_UNUSED, 0, -1, { NULL },
 1.23254 -+    },
 1.23255 -+    {
 1.23256 -+      AVR32_OPC_POPM, 2, 0xd0020000, 0xf0070000,
 1.23257 -+      &avr32_syntax_table[AVR32_SYNTAX_POPM],
 1.23258 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23259 -+      {
 1.23260 -+	&avr32_ifield_table[AVR32_IFIELD_POPM],
 1.23261 -+      },
 1.23262 -+    },
 1.23263 -+    {
 1.23264 -+      AVR32_OPC_POPM_E, 4, 0xe3cd0000, 0xffff0000,
 1.23265 -+      &avr32_syntax_table[AVR32_SYNTAX_POPM_E],
 1.23266 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23267 -+      {
 1.23268 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.23269 -+      },
 1.23270 -+    },
 1.23271 -+    {
 1.23272 -+      AVR32_OPC_PREF, 4, 0xf2100000, 0xfff00000,
 1.23273 -+      &avr32_syntax_table[AVR32_SYNTAX_PREF],
 1.23274 -+      BFD_RELOC_AVR32_16S, 2, -1,
 1.23275 -+      {
 1.23276 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23277 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.23278 -+      },
 1.23279 -+    },
 1.23280 -+    {
 1.23281 -+      AVR32_OPC_PSAD, 4, 0xe0002400, 0xe1f0fff0,
 1.23282 -+      &avr32_syntax_table[AVR32_SYNTAX_PSAD],
 1.23283 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23284 -+      {
 1.23285 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23286 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23287 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23288 -+      },
 1.23289 -+    },
 1.23290 -+    {
 1.23291 -+      AVR32_OPC_PSUB_B, 4, 0xe0002310, 0xe1f0fff0,
 1.23292 -+      &avr32_syntax_table[AVR32_SYNTAX_PSUB_B],
 1.23293 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23294 -+      {
 1.23295 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23296 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23297 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23298 -+      },
 1.23299 -+    },
 1.23300 -+    {
 1.23301 -+      AVR32_OPC_PSUB_H, 4, 0xe0002010, 0xe1f0fff0,
 1.23302 -+      &avr32_syntax_table[AVR32_SYNTAX_PSUB_H],
 1.23303 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23304 -+      {
 1.23305 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23306 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23307 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23308 -+      },
 1.23309 -+    },
 1.23310 -+    {
 1.23311 -+      AVR32_OPC_PSUBADD_H, 4, 0xe0002140, 0xe1f0ffc0,
 1.23312 -+      &avr32_syntax_table[AVR32_SYNTAX_PSUBADD_H],
 1.23313 -+      BFD_RELOC_UNUSED, 5, -1,
 1.23314 -+      {
 1.23315 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23316 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23317 -+	&avr32_ifield_table[AVR32_IFIELD_X],
 1.23318 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23319 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.23320 -+      },
 1.23321 -+    },
 1.23322 -+    {
 1.23323 -+      AVR32_OPC_PSUBADDH_SH, 4, 0xe00022c0, 0xe1f0ffc0,
 1.23324 -+      &avr32_syntax_table[AVR32_SYNTAX_PSUBADDH_SH],
 1.23325 -+      BFD_RELOC_UNUSED, 5, -1,
 1.23326 -+      {
 1.23327 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23328 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23329 -+	&avr32_ifield_table[AVR32_IFIELD_X],
 1.23330 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23331 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.23332 -+      },
 1.23333 -+    },
 1.23334 -+    {
 1.23335 -+      AVR32_OPC_PSUBADDS_SH, 4, 0xe00021c0, 0xe1f0ffc0,
 1.23336 -+      &avr32_syntax_table[AVR32_SYNTAX_PSUBADDS_SH],
 1.23337 -+      BFD_RELOC_UNUSED, 5, -1,
 1.23338 -+      {
 1.23339 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23340 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23341 -+	&avr32_ifield_table[AVR32_IFIELD_X],
 1.23342 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23343 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.23344 -+      },
 1.23345 -+    },
 1.23346 -+    {
 1.23347 -+      AVR32_OPC_PSUBADDS_UH, 4, 0xe0002240, 0xe1f0ffc0,
 1.23348 -+      &avr32_syntax_table[AVR32_SYNTAX_PSUBADDS_UH],
 1.23349 -+      BFD_RELOC_UNUSED, 5, -1,
 1.23350 -+      {
 1.23351 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23352 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23353 -+	&avr32_ifield_table[AVR32_IFIELD_X],
 1.23354 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23355 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.23356 -+      },
 1.23357 -+    },
 1.23358 -+    {
 1.23359 -+      AVR32_OPC_PSUBH_SH, 4, 0xe00020d0, 0xe1f0fff0,
 1.23360 -+      &avr32_syntax_table[AVR32_SYNTAX_PSUBH_SH],
 1.23361 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23362 -+      {
 1.23363 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23364 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23365 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23366 -+      },
 1.23367 -+    },
 1.23368 -+    {
 1.23369 -+      AVR32_OPC_PSUBH_UB, 4, 0xe0002370, 0xe1f0fff0,
 1.23370 -+      &avr32_syntax_table[AVR32_SYNTAX_PSUBH_UB],
 1.23371 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23372 -+      {
 1.23373 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23374 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23375 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23376 -+      },
 1.23377 -+    },
 1.23378 -+    {
 1.23379 -+      AVR32_OPC_PSUBS_SB, 4, 0xe0002330, 0xe1f0fff0,
 1.23380 -+      &avr32_syntax_table[AVR32_SYNTAX_PSUBS_SB],
 1.23381 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23382 -+      {
 1.23383 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23384 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23385 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23386 -+      },
 1.23387 -+    },
 1.23388 -+    {
 1.23389 -+      AVR32_OPC_PSUBS_SH, 4, 0xe0002050, 0xe1f0fff0,
 1.23390 -+      &avr32_syntax_table[AVR32_SYNTAX_PSUBS_SH],
 1.23391 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23392 -+      {
 1.23393 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23394 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23395 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23396 -+      },
 1.23397 -+    },
 1.23398 -+    {
 1.23399 -+      AVR32_OPC_PSUBS_UB, 4, 0xe0002350, 0xe1f0fff0,
 1.23400 -+      &avr32_syntax_table[AVR32_SYNTAX_PSUBS_UB],
 1.23401 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23402 -+      {
 1.23403 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23404 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23405 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23406 -+      },
 1.23407 -+    },
 1.23408 -+    {
 1.23409 -+      AVR32_OPC_PSUBS_UH, 4, 0xe0002090, 0xe1f0fff0,
 1.23410 -+      &avr32_syntax_table[AVR32_SYNTAX_PSUBS_UH],
 1.23411 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23412 -+      {
 1.23413 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23414 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23415 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23416 -+      },
 1.23417 -+    },
 1.23418 -+    {
 1.23419 -+      AVR32_OPC_PSUBX_H, 4, 0xe0002030, 0xe1f0fff0,
 1.23420 -+      &avr32_syntax_table[AVR32_SYNTAX_PSUBX_H],
 1.23421 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23422 -+      {
 1.23423 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23424 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23425 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23426 -+      },
 1.23427 -+    },
 1.23428 -+    {
 1.23429 -+      AVR32_OPC_PSUBXH_SH, 4, 0xe00020f0, 0xe1f0fff0,
 1.23430 -+      &avr32_syntax_table[AVR32_SYNTAX_PSUBXH_SH],
 1.23431 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23432 -+      {
 1.23433 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23434 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23435 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23436 -+      },
 1.23437 -+    },
 1.23438 -+    {
 1.23439 -+      AVR32_OPC_PSUBXS_SH, 4, 0xe0002070, 0xe1f0fff0,
 1.23440 -+      &avr32_syntax_table[AVR32_SYNTAX_PSUBXS_SH],
 1.23441 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23442 -+      {
 1.23443 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23444 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23445 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23446 -+      },
 1.23447 -+    },
 1.23448 -+    {
 1.23449 -+      AVR32_OPC_PSUBXS_UH, 4, 0xe00020b0, 0xe1f0fff0,
 1.23450 -+      &avr32_syntax_table[AVR32_SYNTAX_PSUBXS_UH],
 1.23451 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23452 -+      {
 1.23453 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23454 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23455 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23456 -+      },
 1.23457 -+    },
 1.23458 -+    {
 1.23459 -+      AVR32_OPC_PUNPCKSB_H, 4, 0xe00024a0, 0xe1ffffe0,
 1.23460 -+      &avr32_syntax_table[AVR32_SYNTAX_PUNPCKSB_H],
 1.23461 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23462 -+      {
 1.23463 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23464 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23465 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.23466 -+      },
 1.23467 -+    },
 1.23468 -+    {
 1.23469 -+      AVR32_OPC_PUNPCKUB_H, 4, 0xe0002480, 0xe1ffffe0,
 1.23470 -+      &avr32_syntax_table[AVR32_SYNTAX_PUNPCKUB_H],
 1.23471 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23472 -+      {
 1.23473 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23474 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23475 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.23476 -+      },
 1.23477 -+    },
 1.23478 -+    {
 1.23479 -+      AVR32_OPC_PUSHJC, 2, 0xd7230000, 0xffff0000,
 1.23480 -+      &avr32_syntax_table[AVR32_SYNTAX_PUSHJC],
 1.23481 -+      BFD_RELOC_UNUSED, 0, -1, { NULL },
 1.23482 -+    },
 1.23483 -+    {
 1.23484 -+      AVR32_OPC_PUSHM, 2, 0xd0010000, 0xf00f0000,
 1.23485 -+      &avr32_syntax_table[AVR32_SYNTAX_PUSHM],
 1.23486 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23487 -+      {
 1.23488 -+	&avr32_ifield_table[AVR32_IFIELD_K8C],
 1.23489 -+      },
 1.23490 -+    },
 1.23491 -+    {
 1.23492 -+      AVR32_OPC_PUSHM_E, 4, 0xebcd0000, 0xffff0000,
 1.23493 -+      &avr32_syntax_table[AVR32_SYNTAX_PUSHM_E],
 1.23494 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23495 -+      {
 1.23496 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.23497 -+      },
 1.23498 -+    },
 1.23499 -+    {
 1.23500 -+      AVR32_OPC_RCALL1, 2, 0xc00c0000, 0xf00c0000,
 1.23501 -+      &avr32_syntax_table[AVR32_SYNTAX_RCALL1],
 1.23502 -+      BFD_RELOC_AVR32_11H_PCREL, 1, 0,
 1.23503 -+      {
 1.23504 -+	&avr32_ifield_table[AVR32_IFIELD_K10],
 1.23505 -+      },
 1.23506 -+    },
 1.23507 -+    {
 1.23508 -+      AVR32_OPC_RCALL2, 4, 0xe0a00000, 0xe1ef0000,
 1.23509 -+      &avr32_syntax_table[AVR32_SYNTAX_RCALL2],
 1.23510 -+      BFD_RELOC_AVR32_22H_PCREL, 1, 0,
 1.23511 -+      {
 1.23512 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.23513 -+      },
 1.23514 -+    },
 1.23515 -+    {
 1.23516 -+      AVR32_OPC_RETEQ, 2, 0x5e000000, 0xfff00000,
 1.23517 -+      &avr32_syntax_table[AVR32_SYNTAX_RETEQ],
 1.23518 -+      BFD_RELOC_NONE, 1, -1,
 1.23519 -+      {
 1.23520 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23521 -+      },
 1.23522 -+    },
 1.23523 -+    {
 1.23524 -+      AVR32_OPC_RETNE, 2, 0x5e100000, 0xfff00000,
 1.23525 -+      &avr32_syntax_table[AVR32_SYNTAX_RETNE],
 1.23526 -+      BFD_RELOC_NONE, 1, -1,
 1.23527 -+      {
 1.23528 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23529 -+      },
 1.23530 -+    },
 1.23531 -+    {
 1.23532 -+      AVR32_OPC_RETCC, 2, 0x5e200000, 0xfff00000,
 1.23533 -+      &avr32_syntax_table[AVR32_SYNTAX_RETHS],
 1.23534 -+      BFD_RELOC_NONE, 1, -1,
 1.23535 -+      {
 1.23536 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23537 -+      },
 1.23538 -+    },
 1.23539 -+    {
 1.23540 -+      AVR32_OPC_RETCS, 2, 0x5e300000, 0xfff00000,
 1.23541 -+      &avr32_syntax_table[AVR32_SYNTAX_RETLO],
 1.23542 -+      BFD_RELOC_NONE, 1, -1,
 1.23543 -+      {
 1.23544 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23545 -+      },
 1.23546 -+    },
 1.23547 -+    {
 1.23548 -+      AVR32_OPC_RETGE, 2, 0x5e400000, 0xfff00000,
 1.23549 -+      &avr32_syntax_table[AVR32_SYNTAX_RETGE],
 1.23550 -+      BFD_RELOC_NONE, 1, -1,
 1.23551 -+      {
 1.23552 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23553 -+      },
 1.23554 -+    },
 1.23555 -+    {
 1.23556 -+      AVR32_OPC_RETLT, 2, 0x5e500000, 0xfff00000,
 1.23557 -+      &avr32_syntax_table[AVR32_SYNTAX_RETLT],
 1.23558 -+      BFD_RELOC_NONE, 1, -1,
 1.23559 -+      {
 1.23560 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23561 -+      },
 1.23562 -+    },
 1.23563 -+    {
 1.23564 -+      AVR32_OPC_RETMI, 2, 0x5e600000, 0xfff00000,
 1.23565 -+      &avr32_syntax_table[AVR32_SYNTAX_RETMI],
 1.23566 -+      BFD_RELOC_NONE, 1, -1,
 1.23567 -+      {
 1.23568 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23569 -+      },
 1.23570 -+    },
 1.23571 -+    {
 1.23572 -+      AVR32_OPC_RETPL, 2, 0x5e700000, 0xfff00000,
 1.23573 -+      &avr32_syntax_table[AVR32_SYNTAX_RETPL],
 1.23574 -+      BFD_RELOC_NONE, 1, -1,
 1.23575 -+      {
 1.23576 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23577 -+      },
 1.23578 -+    },
 1.23579 -+    {
 1.23580 -+      AVR32_OPC_RETLS, 2, 0x5e800000, 0xfff00000,
 1.23581 -+      &avr32_syntax_table[AVR32_SYNTAX_RETLS],
 1.23582 -+      BFD_RELOC_NONE, 1, -1,
 1.23583 -+      {
 1.23584 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23585 -+      },
 1.23586 -+    },
 1.23587 -+    {
 1.23588 -+      AVR32_OPC_RETGT, 2, 0x5e900000, 0xfff00000,
 1.23589 -+      &avr32_syntax_table[AVR32_SYNTAX_RETGT],
 1.23590 -+      BFD_RELOC_NONE, 1, -1,
 1.23591 -+      {
 1.23592 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23593 -+      },
 1.23594 -+    },
 1.23595 -+    {
 1.23596 -+      AVR32_OPC_RETLE, 2, 0x5ea00000, 0xfff00000,
 1.23597 -+      &avr32_syntax_table[AVR32_SYNTAX_RETLE],
 1.23598 -+      BFD_RELOC_NONE, 1, -1,
 1.23599 -+      {
 1.23600 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23601 -+      },
 1.23602 -+    },
 1.23603 -+    {
 1.23604 -+      AVR32_OPC_RETHI, 2, 0x5eb00000, 0xfff00000,
 1.23605 -+      &avr32_syntax_table[AVR32_SYNTAX_RETHI],
 1.23606 -+      BFD_RELOC_NONE, 1, -1,
 1.23607 -+      {
 1.23608 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23609 -+      },
 1.23610 -+    },
 1.23611 -+    {
 1.23612 -+      AVR32_OPC_RETVS, 2, 0x5ec00000, 0xfff00000,
 1.23613 -+      &avr32_syntax_table[AVR32_SYNTAX_RETVS],
 1.23614 -+      BFD_RELOC_NONE, 1, -1,
 1.23615 -+      {
 1.23616 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23617 -+      },
 1.23618 -+    },
 1.23619 -+    {
 1.23620 -+      AVR32_OPC_RETVC, 2, 0x5ed00000, 0xfff00000,
 1.23621 -+      &avr32_syntax_table[AVR32_SYNTAX_RETVC],
 1.23622 -+      BFD_RELOC_NONE, 1, -1,
 1.23623 -+      {
 1.23624 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23625 -+      },
 1.23626 -+    },
 1.23627 -+    {
 1.23628 -+      AVR32_OPC_RETQS, 2, 0x5ee00000, 0xfff00000,
 1.23629 -+      &avr32_syntax_table[AVR32_SYNTAX_RETQS],
 1.23630 -+      BFD_RELOC_NONE, 1, -1,
 1.23631 -+      {
 1.23632 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23633 -+      },
 1.23634 -+    },
 1.23635 -+    {
 1.23636 -+      AVR32_OPC_RETAL, 2, 0x5ef00000, 0xfff00000,
 1.23637 -+      &avr32_syntax_table[AVR32_SYNTAX_RETAL],
 1.23638 -+      BFD_RELOC_NONE, 1, -1,
 1.23639 -+      {
 1.23640 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23641 -+      },
 1.23642 -+    },
 1.23643 -+    {
 1.23644 -+      AVR32_OPC_RETD, 2, 0xd6230000, 0xffff0000,
 1.23645 -+      &avr32_syntax_table[AVR32_SYNTAX_RETD],
 1.23646 -+      BFD_RELOC_NONE, 0, -1, { NULL },
 1.23647 -+    },
 1.23648 -+    {
 1.23649 -+      AVR32_OPC_RETE, 2, 0xd6030000, 0xffff0000,
 1.23650 -+      &avr32_syntax_table[AVR32_SYNTAX_RETE],
 1.23651 -+      BFD_RELOC_NONE, 0, -1, { NULL },
 1.23652 -+    },
 1.23653 -+    {
 1.23654 -+      AVR32_OPC_RETJ, 2, 0xd6330000, 0xffff0000,
 1.23655 -+      &avr32_syntax_table[AVR32_SYNTAX_RETJ],
 1.23656 -+      BFD_RELOC_NONE, 0, -1, { NULL },
 1.23657 -+    },
 1.23658 -+    {
 1.23659 -+      AVR32_OPC_RETS, 2, 0xd6130000, 0xffff0000,
 1.23660 -+      &avr32_syntax_table[AVR32_SYNTAX_RETS],
 1.23661 -+      BFD_RELOC_NONE, 0, -1, { NULL },
 1.23662 -+    },
 1.23663 -+    {
 1.23664 -+      AVR32_OPC_RJMP, 2, 0xc0080000, 0xf00c0000,
 1.23665 -+      &avr32_syntax_table[AVR32_SYNTAX_RJMP],
 1.23666 -+      BFD_RELOC_AVR32_11H_PCREL, 1, 0,
 1.23667 -+      {
 1.23668 -+	&avr32_ifield_table[AVR32_IFIELD_K10],
 1.23669 -+      },
 1.23670 -+    },
 1.23671 -+    {
 1.23672 -+      AVR32_OPC_ROL, 2, 0x5cf00000, 0xfff00000,
 1.23673 -+      &avr32_syntax_table[AVR32_SYNTAX_ROL],
 1.23674 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23675 -+      {
 1.23676 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23677 -+      }
 1.23678 -+    },
 1.23679 -+    {
 1.23680 -+      AVR32_OPC_ROR, 2, 0x5d000000, 0xfff00000,
 1.23681 -+      &avr32_syntax_table[AVR32_SYNTAX_ROR],
 1.23682 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23683 -+      {
 1.23684 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23685 -+      }
 1.23686 -+    },
 1.23687 -+    {
 1.23688 -+      AVR32_OPC_RSUB1, 2, 0x00200000, 0xe1f00000,
 1.23689 -+      &avr32_syntax_table[AVR32_SYNTAX_RSUB1],
 1.23690 -+      BFD_RELOC_UNUSED, 2, -1,
 1.23691 -+      {
 1.23692 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23693 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23694 -+      },
 1.23695 -+    },
 1.23696 -+    {
 1.23697 -+      AVR32_OPC_RSUB2, 4, 0xe0001100, 0xe1f0ff00,
 1.23698 -+      &avr32_syntax_table[AVR32_SYNTAX_RSUB2],
 1.23699 -+      BFD_RELOC_AVR32_8S_EXT, 3, 2,
 1.23700 -+      {
 1.23701 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23702 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23703 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.23704 -+      },
 1.23705 -+    },
 1.23706 -+    {
 1.23707 -+      AVR32_OPC_SATADD_H, 4, 0xe00002c0, 0xe1f0fff0,
 1.23708 -+      &avr32_syntax_table[AVR32_SYNTAX_SATADD_H],
 1.23709 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23710 -+      {
 1.23711 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23712 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23713 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23714 -+      },
 1.23715 -+    },
 1.23716 -+    {
 1.23717 -+      AVR32_OPC_SATADD_W, 4, 0xe00000c0, 0xe1f0fff0,
 1.23718 -+      &avr32_syntax_table[AVR32_SYNTAX_SATADD_W],
 1.23719 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23720 -+      {
 1.23721 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23722 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23723 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23724 -+      },
 1.23725 -+    },
 1.23726 -+    {
 1.23727 -+      AVR32_OPC_SATRNDS, 4, 0xf3b00000, 0xfff0fc00,
 1.23728 -+      &avr32_syntax_table[AVR32_SYNTAX_SATRNDS],
 1.23729 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23730 -+      {
 1.23731 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23732 -+	&avr32_ifield_table[AVR32_IFIELD_K5E],
 1.23733 -+	&avr32_ifield_table[AVR32_IFIELD_S5],
 1.23734 -+      },
 1.23735 -+    },
 1.23736 -+    {
 1.23737 -+      AVR32_OPC_SATRNDU, 4, 0xf3b00400, 0xfff0fc00,
 1.23738 -+      &avr32_syntax_table[AVR32_SYNTAX_SATRNDU],
 1.23739 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23740 -+      {
 1.23741 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23742 -+	&avr32_ifield_table[AVR32_IFIELD_K5E],
 1.23743 -+	&avr32_ifield_table[AVR32_IFIELD_S5],
 1.23744 -+      },
 1.23745 -+    },
 1.23746 -+    {
 1.23747 -+      AVR32_OPC_SATS, 4, 0xf1b00000, 0xfff0fc00,
 1.23748 -+      &avr32_syntax_table[AVR32_SYNTAX_SATS],
 1.23749 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23750 -+      {
 1.23751 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23752 -+	&avr32_ifield_table[AVR32_IFIELD_K5E],
 1.23753 -+	&avr32_ifield_table[AVR32_IFIELD_S5],
 1.23754 -+      },
 1.23755 -+    },
 1.23756 -+    {
 1.23757 -+      AVR32_OPC_SATSUB_H, 4, 0xe00003c0, 0xe1f0fff0,
 1.23758 -+      &avr32_syntax_table[AVR32_SYNTAX_SATSUB_H],
 1.23759 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23760 -+      {
 1.23761 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23762 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23763 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23764 -+      },
 1.23765 -+    },
 1.23766 -+    {
 1.23767 -+      AVR32_OPC_SATSUB_W1, 4, 0xe00001c0, 0xe1f0fff0,
 1.23768 -+      &avr32_syntax_table[AVR32_SYNTAX_SATSUB_W1],
 1.23769 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23770 -+      {
 1.23771 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23772 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23773 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23774 -+      },
 1.23775 -+    },
 1.23776 -+    {
 1.23777 -+      AVR32_OPC_SATSUB_W2, 4, 0xe0d00000, 0xe1f00000,
 1.23778 -+      &avr32_syntax_table[AVR32_SYNTAX_SATSUB_W2],
 1.23779 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23780 -+      {
 1.23781 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23782 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23783 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.23784 -+      },
 1.23785 -+    },
 1.23786 -+    {
 1.23787 -+      AVR32_OPC_SATU, 4, 0xf1b00400, 0xfff0fc00,
 1.23788 -+      &avr32_syntax_table[AVR32_SYNTAX_SATU],
 1.23789 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23790 -+      {
 1.23791 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23792 -+	&avr32_ifield_table[AVR32_IFIELD_K5E],
 1.23793 -+	&avr32_ifield_table[AVR32_IFIELD_S5],
 1.23794 -+      },
 1.23795 -+    },
 1.23796 -+    {
 1.23797 -+      AVR32_OPC_SBC, 4, 0xe0000140, 0xe1f0fff0,
 1.23798 -+      &avr32_syntax_table[AVR32_SYNTAX_SBC],
 1.23799 -+      BFD_RELOC_UNUSED, 3, -1,
 1.23800 -+      {
 1.23801 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23802 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23803 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23804 -+      },
 1.23805 -+    },
 1.23806 -+    {
 1.23807 -+      AVR32_OPC_SBR, 2, 0xa1a00000, 0xe1e00000,
 1.23808 -+      &avr32_syntax_table[AVR32_SYNTAX_SBR],
 1.23809 -+      BFD_RELOC_UNUSED, 2, -1,
 1.23810 -+      {
 1.23811 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23812 -+	&avr32_ifield_table[AVR32_IFIELD_BIT5C],
 1.23813 -+      },
 1.23814 -+    },
 1.23815 -+    {
 1.23816 -+      AVR32_OPC_SCALL, 2, 0xd7330000, 0xffff0000,
 1.23817 -+      &avr32_syntax_table[AVR32_SYNTAX_SCALL],
 1.23818 -+      BFD_RELOC_UNUSED, 0, -1, { NULL },
 1.23819 -+    },
 1.23820 -+    {
 1.23821 -+      AVR32_OPC_SCR, 2, 0x5c100000, 0xfff00000,
 1.23822 -+      &avr32_syntax_table[AVR32_SYNTAX_SCR],
 1.23823 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23824 -+      {
 1.23825 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23826 -+      },
 1.23827 -+    },
 1.23828 -+    {
 1.23829 -+      AVR32_OPC_SLEEP, 4, 0xe9b00000, 0xffffff00,
 1.23830 -+      &avr32_syntax_table[AVR32_SYNTAX_SLEEP],
 1.23831 -+      BFD_RELOC_AVR32_8S_EXT, 1, 0,
 1.23832 -+      {
 1.23833 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.23834 -+      },
 1.23835 -+    },
 1.23836 -+    {
 1.23837 -+      AVR32_OPC_SREQ, 2, 0x5f000000, 0xfff00000,
 1.23838 -+      &avr32_syntax_table[AVR32_SYNTAX_SREQ],
 1.23839 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23840 -+      {
 1.23841 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23842 -+      },
 1.23843 -+    },
 1.23844 -+    {
 1.23845 -+      AVR32_OPC_SRNE, 2, 0x5f100000, 0xfff00000,
 1.23846 -+      &avr32_syntax_table[AVR32_SYNTAX_SRNE],
 1.23847 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23848 -+      {
 1.23849 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23850 -+      },
 1.23851 -+    },
 1.23852 -+    {
 1.23853 -+      AVR32_OPC_SRCC, 2, 0x5f200000, 0xfff00000,
 1.23854 -+      &avr32_syntax_table[AVR32_SYNTAX_SRHS],
 1.23855 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23856 -+      {
 1.23857 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23858 -+      },
 1.23859 -+    },
 1.23860 -+    {
 1.23861 -+      AVR32_OPC_SRCS, 2, 0x5f300000, 0xfff00000,
 1.23862 -+      &avr32_syntax_table[AVR32_SYNTAX_SRLO],
 1.23863 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23864 -+      {
 1.23865 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23866 -+      },
 1.23867 -+    },
 1.23868 -+    {
 1.23869 -+      AVR32_OPC_SRGE, 2, 0x5f400000, 0xfff00000,
 1.23870 -+      &avr32_syntax_table[AVR32_SYNTAX_SRGE],
 1.23871 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23872 -+      {
 1.23873 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23874 -+      },
 1.23875 -+    },
 1.23876 -+    {
 1.23877 -+      AVR32_OPC_SRLT, 2, 0x5f500000, 0xfff00000,
 1.23878 -+      &avr32_syntax_table[AVR32_SYNTAX_SRLT],
 1.23879 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23880 -+      {
 1.23881 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23882 -+      },
 1.23883 -+    },
 1.23884 -+    {
 1.23885 -+      AVR32_OPC_SRMI, 2, 0x5f600000, 0xfff00000,
 1.23886 -+      &avr32_syntax_table[AVR32_SYNTAX_SRMI],
 1.23887 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23888 -+      {
 1.23889 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23890 -+      },
 1.23891 -+    },
 1.23892 -+    {
 1.23893 -+      AVR32_OPC_SRPL, 2, 0x5f700000, 0xfff00000,
 1.23894 -+      &avr32_syntax_table[AVR32_SYNTAX_SRPL],
 1.23895 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23896 -+      {
 1.23897 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23898 -+      },
 1.23899 -+    },
 1.23900 -+    {
 1.23901 -+      AVR32_OPC_SRLS, 2, 0x5f800000, 0xfff00000,
 1.23902 -+      &avr32_syntax_table[AVR32_SYNTAX_SRLS],
 1.23903 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23904 -+      {
 1.23905 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23906 -+      },
 1.23907 -+    },
 1.23908 -+    {
 1.23909 -+      AVR32_OPC_SRGT, 2, 0x5f900000, 0xfff00000,
 1.23910 -+      &avr32_syntax_table[AVR32_SYNTAX_SRGT],
 1.23911 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23912 -+      {
 1.23913 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23914 -+      },
 1.23915 -+    },
 1.23916 -+    {
 1.23917 -+      AVR32_OPC_SRLE, 2, 0x5fa00000, 0xfff00000,
 1.23918 -+      &avr32_syntax_table[AVR32_SYNTAX_SRLE],
 1.23919 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23920 -+      {
 1.23921 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23922 -+      },
 1.23923 -+    },
 1.23924 -+    {
 1.23925 -+      AVR32_OPC_SRHI, 2, 0x5fb00000, 0xfff00000,
 1.23926 -+      &avr32_syntax_table[AVR32_SYNTAX_SRHI],
 1.23927 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23928 -+      {
 1.23929 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23930 -+      },
 1.23931 -+    },
 1.23932 -+    {
 1.23933 -+      AVR32_OPC_SRVS, 2, 0x5fc00000, 0xfff00000,
 1.23934 -+      &avr32_syntax_table[AVR32_SYNTAX_SRVS],
 1.23935 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23936 -+      {
 1.23937 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23938 -+      },
 1.23939 -+    },
 1.23940 -+    {
 1.23941 -+      AVR32_OPC_SRVC, 2, 0x5fd00000, 0xfff00000,
 1.23942 -+      &avr32_syntax_table[AVR32_SYNTAX_SRVC],
 1.23943 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23944 -+      {
 1.23945 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23946 -+      },
 1.23947 -+    },
 1.23948 -+    {
 1.23949 -+      AVR32_OPC_SRQS, 2, 0x5fe00000, 0xfff00000,
 1.23950 -+      &avr32_syntax_table[AVR32_SYNTAX_SRQS],
 1.23951 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23952 -+      {
 1.23953 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23954 -+      },
 1.23955 -+    },
 1.23956 -+    {
 1.23957 -+      AVR32_OPC_SRAL, 2, 0x5ff00000, 0xfff00000,
 1.23958 -+      &avr32_syntax_table[AVR32_SYNTAX_SRAL],
 1.23959 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23960 -+      {
 1.23961 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23962 -+      },
 1.23963 -+    },
 1.23964 -+    {
 1.23965 -+      AVR32_OPC_SSRF, 2, 0xd2030000, 0xfe0f0000,
 1.23966 -+      &avr32_syntax_table[AVR32_SYNTAX_SSRF],
 1.23967 -+      BFD_RELOC_UNUSED, 1, -1,
 1.23968 -+      {
 1.23969 -+	&avr32_ifield_table[AVR32_IFIELD_K5C],
 1.23970 -+      },
 1.23971 -+    },
 1.23972 -+    {
 1.23973 -+      AVR32_OPC_ST_B1, 2, 0x00c00000, 0xe1f00000,
 1.23974 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_B1],
 1.23975 -+      BFD_RELOC_UNUSED, 2, -1,
 1.23976 -+      {
 1.23977 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23978 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23979 -+      },
 1.23980 -+    },
 1.23981 -+    {
 1.23982 -+      AVR32_OPC_ST_B2, 2, 0x00f00000, 0xe1f00000,
 1.23983 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_B2],
 1.23984 -+      BFD_RELOC_UNUSED, 2, -1,
 1.23985 -+      {
 1.23986 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23987 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23988 -+      },
 1.23989 -+    },
 1.23990 -+    {
 1.23991 -+      AVR32_OPC_ST_B5, 4, 0xe0000b00, 0xe1f0ffc0,
 1.23992 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_B5],
 1.23993 -+      BFD_RELOC_UNUSED, 4, -1,
 1.23994 -+      {
 1.23995 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.23996 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.23997 -+	&avr32_ifield_table[AVR32_IFIELD_K2],
 1.23998 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.23999 -+      },
 1.24000 -+    },
 1.24001 -+    {
 1.24002 -+      AVR32_OPC_ST_B3, 2, 0xa0800000, 0xe1800000,
 1.24003 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_B3],
 1.24004 -+      BFD_RELOC_AVR32_3U, 3, 1,
 1.24005 -+      {
 1.24006 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24007 -+	&avr32_ifield_table[AVR32_IFIELD_K3],
 1.24008 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24009 -+      },
 1.24010 -+    },
 1.24011 -+    {
 1.24012 -+      AVR32_OPC_ST_B4, 4, 0xe1600000, 0xe1f00000,
 1.24013 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_B4],
 1.24014 -+      BFD_RELOC_AVR32_16S, 3, 1,
 1.24015 -+      {
 1.24016 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24017 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.24018 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24019 -+      },
 1.24020 -+    },
 1.24021 -+    {
 1.24022 -+      AVR32_OPC_ST_D1, 2, 0xa1200000, 0xe1f10000,
 1.24023 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_D1],
 1.24024 -+      BFD_RELOC_UNUSED, 2, -1,
 1.24025 -+      {
 1.24026 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24027 -+	&avr32_ifield_table[AVR32_IFIELD_RY_DW],
 1.24028 -+      },
 1.24029 -+    },
 1.24030 -+    {
 1.24031 -+      AVR32_OPC_ST_D2, 2, 0xa1210000, 0xe1f10000,
 1.24032 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_D2],
 1.24033 -+      BFD_RELOC_UNUSED, 2, -1,
 1.24034 -+      {
 1.24035 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24036 -+	&avr32_ifield_table[AVR32_IFIELD_RY_DW],
 1.24037 -+      },
 1.24038 -+    },
 1.24039 -+    {
 1.24040 -+      AVR32_OPC_ST_D3, 2, 0xa1110000, 0xe1f10000,
 1.24041 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_D3],
 1.24042 -+      BFD_RELOC_UNUSED, 2, -1,
 1.24043 -+      {
 1.24044 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24045 -+	&avr32_ifield_table[AVR32_IFIELD_RY_DW],
 1.24046 -+      },
 1.24047 -+    },
 1.24048 -+    {
 1.24049 -+      AVR32_OPC_ST_D5, 4, 0xe0000800, 0xe1f0ffc1,
 1.24050 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_D5],
 1.24051 -+      BFD_RELOC_UNUSED, 4, -1,
 1.24052 -+      {
 1.24053 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24054 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24055 -+	&avr32_ifield_table[AVR32_IFIELD_K2],
 1.24056 -+	&avr32_ifield_table[AVR32_IFIELD_RD_DW],
 1.24057 -+      },
 1.24058 -+    },
 1.24059 -+    {
 1.24060 -+      AVR32_OPC_ST_D4, 4, 0xe0e10000, 0xe1f10000,
 1.24061 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_D4],
 1.24062 -+      BFD_RELOC_AVR32_16S, 3, 1,
 1.24063 -+      {
 1.24064 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24065 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.24066 -+	&avr32_ifield_table[AVR32_IFIELD_RY_DW],
 1.24067 -+      },
 1.24068 -+    },
 1.24069 -+    {
 1.24070 -+      AVR32_OPC_ST_H1, 2, 0x00b00000, 0xe1f00000,
 1.24071 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_H1],
 1.24072 -+      BFD_RELOC_UNUSED, 2, -1,
 1.24073 -+      {
 1.24074 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24075 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24076 -+      },
 1.24077 -+    },
 1.24078 -+    {
 1.24079 -+      AVR32_OPC_ST_H2, 2, 0x00e00000, 0xe1f00000,
 1.24080 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_H2],
 1.24081 -+      BFD_RELOC_UNUSED, 2, -1,
 1.24082 -+      {
 1.24083 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24084 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24085 -+      },
 1.24086 -+    },
 1.24087 -+    {
 1.24088 -+      AVR32_OPC_ST_H5, 4, 0xe0000a00, 0xe1f0ffc0,
 1.24089 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_H5],
 1.24090 -+      BFD_RELOC_UNUSED, 4, -1,
 1.24091 -+      {
 1.24092 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24093 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24094 -+	&avr32_ifield_table[AVR32_IFIELD_K2],
 1.24095 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.24096 -+      },
 1.24097 -+    },
 1.24098 -+    {
 1.24099 -+      AVR32_OPC_ST_H3, 2, 0xa0000000, 0xe1800000,
 1.24100 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_H3],
 1.24101 -+      BFD_RELOC_AVR32_4UH, 3, 1,
 1.24102 -+      {
 1.24103 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24104 -+	&avr32_ifield_table[AVR32_IFIELD_K3],
 1.24105 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24106 -+      },
 1.24107 -+    },
 1.24108 -+    {
 1.24109 -+      AVR32_OPC_ST_H4, 4, 0xe1500000, 0xe1f00000,
 1.24110 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_H4],
 1.24111 -+      BFD_RELOC_AVR32_16S, 3, 1,
 1.24112 -+      {
 1.24113 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24114 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.24115 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24116 -+      },
 1.24117 -+    },
 1.24118 -+    {
 1.24119 -+      AVR32_OPC_ST_W1, 2, 0x00a00000, 0xe1f00000,
 1.24120 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_W1],
 1.24121 -+      BFD_RELOC_UNUSED, 2, -1,
 1.24122 -+      {
 1.24123 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24124 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24125 -+      },
 1.24126 -+    },
 1.24127 -+    {
 1.24128 -+      AVR32_OPC_ST_W2, 2, 0x00d00000, 0xe1f00000,
 1.24129 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_W2],
 1.24130 -+      BFD_RELOC_UNUSED, 2, -1,
 1.24131 -+      {
 1.24132 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24133 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24134 -+      },
 1.24135 -+    },
 1.24136 -+    {
 1.24137 -+      AVR32_OPC_ST_W5, 4, 0xe0000900, 0xe1f0ffc0,
 1.24138 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_W5],
 1.24139 -+      BFD_RELOC_UNUSED, 4, -1,
 1.24140 -+      {
 1.24141 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24142 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24143 -+	&avr32_ifield_table[AVR32_IFIELD_K2],
 1.24144 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.24145 -+      },
 1.24146 -+    },
 1.24147 -+    {
 1.24148 -+      AVR32_OPC_ST_W3, 2, 0x81000000, 0xe1000000,
 1.24149 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_W3],
 1.24150 -+      BFD_RELOC_AVR32_6UW, 3, 1,
 1.24151 -+      {
 1.24152 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24153 -+	&avr32_ifield_table[AVR32_IFIELD_K4],
 1.24154 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24155 -+      },
 1.24156 -+    },
 1.24157 -+    {
 1.24158 -+      AVR32_OPC_ST_W4, 4, 0xe1400000, 0xe1f00000,
 1.24159 -+      &avr32_syntax_table[AVR32_SYNTAX_ST_W4],
 1.24160 -+      BFD_RELOC_AVR32_16S, 3, 1,
 1.24161 -+      {
 1.24162 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24163 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.24164 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24165 -+      },
 1.24166 -+    },
 1.24167 -+    {
 1.24168 -+      AVR32_OPC_STC_D1, 4, 0xeba01000, 0xfff01100,
 1.24169 -+      &avr32_syntax_table[AVR32_SYNTAX_STC_D1],
 1.24170 -+      BFD_RELOC_AVR32_10UW, 4, 2,
 1.24171 -+      {
 1.24172 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.24173 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24174 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24175 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_DW],
 1.24176 -+      },
 1.24177 -+    },
 1.24178 -+    {
 1.24179 -+      AVR32_OPC_STC_D2, 4, 0xefa00070, 0xfff011f0,
 1.24180 -+      &avr32_syntax_table[AVR32_SYNTAX_STC_D2],
 1.24181 -+      BFD_RELOC_UNUSED, 3, -1,
 1.24182 -+      {
 1.24183 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.24184 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24185 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_DW],
 1.24186 -+      },
 1.24187 -+    },
 1.24188 -+    {
 1.24189 -+      AVR32_OPC_STC_D3, 4, 0xefa010c0, 0xfff011c0,
 1.24190 -+      &avr32_syntax_table[AVR32_SYNTAX_STC_D3],
 1.24191 -+      BFD_RELOC_UNUSED, 5, -1,
 1.24192 -+      {
 1.24193 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.24194 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24195 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.24196 -+	&avr32_ifield_table[AVR32_IFIELD_K2],
 1.24197 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_DW],
 1.24198 -+      },
 1.24199 -+    },
 1.24200 -+    {
 1.24201 -+      AVR32_OPC_STC_W1, 4, 0xeba00000, 0xfff01000,
 1.24202 -+      &avr32_syntax_table[AVR32_SYNTAX_STC_W1],
 1.24203 -+      BFD_RELOC_AVR32_10UW, 4, 2,
 1.24204 -+      {
 1.24205 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.24206 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24207 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24208 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_RI],
 1.24209 -+      },
 1.24210 -+    },
 1.24211 -+    {
 1.24212 -+      AVR32_OPC_STC_W2, 4, 0xefa00060, 0xfff010ff,
 1.24213 -+      &avr32_syntax_table[AVR32_SYNTAX_STC_W2],
 1.24214 -+      BFD_RELOC_UNUSED, 3, -1,
 1.24215 -+      {
 1.24216 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.24217 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24218 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_RI],
 1.24219 -+      },
 1.24220 -+    },
 1.24221 -+    {
 1.24222 -+      AVR32_OPC_STC_W3, 4, 0xefa01080, 0xfff010c0,
 1.24223 -+      &avr32_syntax_table[AVR32_SYNTAX_STC_W3],
 1.24224 -+      BFD_RELOC_UNUSED, 5, -1,
 1.24225 -+      {
 1.24226 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.24227 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24228 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.24229 -+	&avr32_ifield_table[AVR32_IFIELD_K2],
 1.24230 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_RI],
 1.24231 -+      },
 1.24232 -+    },
 1.24233 -+    {
 1.24234 -+      AVR32_OPC_STC0_D, 4, 0xf7a00000, 0xfff00100,
 1.24235 -+      &avr32_syntax_table[AVR32_SYNTAX_STC0_D],
 1.24236 -+      BFD_RELOC_AVR32_14UW, 3, 1,
 1.24237 -+      {
 1.24238 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24239 -+	&avr32_ifield_table[AVR32_IFIELD_K12CP],
 1.24240 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_DW],
 1.24241 -+      },
 1.24242 -+    },
 1.24243 -+    {
 1.24244 -+      AVR32_OPC_STC0_W, 4, 0xf5a00000, 0xfff00000,
 1.24245 -+      &avr32_syntax_table[AVR32_SYNTAX_STC0_W],
 1.24246 -+      BFD_RELOC_AVR32_14UW, 3, 1,
 1.24247 -+      {
 1.24248 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24249 -+	&avr32_ifield_table[AVR32_IFIELD_K12CP],
 1.24250 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_RI],
 1.24251 -+      },
 1.24252 -+    },
 1.24253 -+    {
 1.24254 -+      AVR32_OPC_STCM_D, 4, 0xeda00500, 0xfff01f00,
 1.24255 -+      &avr32_syntax_table[AVR32_SYNTAX_STCM_D],
 1.24256 -+      BFD_RELOC_UNUSED, 3, -1,
 1.24257 -+      {
 1.24258 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.24259 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24260 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24261 -+      },
 1.24262 -+    },
 1.24263 -+    {
 1.24264 -+      AVR32_OPC_STCM_D_PU, 4, 0xeda01500, 0xfff01f00,
 1.24265 -+      &avr32_syntax_table[AVR32_SYNTAX_STCM_D_PU],
 1.24266 -+      BFD_RELOC_UNUSED, 3, -1,
 1.24267 -+      {
 1.24268 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.24269 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24270 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24271 -+      },
 1.24272 -+    },
 1.24273 -+    {
 1.24274 -+      AVR32_OPC_STCM_W, 4, 0xeda00200, 0xfff01e00,
 1.24275 -+      &avr32_syntax_table[AVR32_SYNTAX_STCM_W],
 1.24276 -+      BFD_RELOC_UNUSED, 4, -1,
 1.24277 -+      {
 1.24278 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.24279 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24280 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24281 -+	&avr32_ifield_table[AVR32_IFIELD_CM_HL],
 1.24282 -+      },
 1.24283 -+    },
 1.24284 -+    {
 1.24285 -+      AVR32_OPC_STCM_W_PU, 4, 0xeda01200, 0xfff01e00,
 1.24286 -+      &avr32_syntax_table[AVR32_SYNTAX_STCM_W_PU],
 1.24287 -+      BFD_RELOC_UNUSED, 4, -1,
 1.24288 -+      {
 1.24289 -+	&avr32_ifield_table[AVR32_IFIELD_CPNO],
 1.24290 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24291 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24292 -+	&avr32_ifield_table[AVR32_IFIELD_CM_HL],
 1.24293 -+      },
 1.24294 -+    },
 1.24295 -+    {
 1.24296 -+      AVR32_OPC_STCOND, 4, 0xe1700000, 0xe1f00000,
 1.24297 -+      &avr32_syntax_table[AVR32_SYNTAX_STCOND],
 1.24298 -+      BFD_RELOC_UNUSED, 3, -1,
 1.24299 -+      {
 1.24300 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24301 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.24302 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24303 -+      },
 1.24304 -+    },
 1.24305 -+    {
 1.24306 -+      AVR32_OPC_STDSP, 2, 0x50000000, 0xf8000000,
 1.24307 -+      &avr32_syntax_table[AVR32_SYNTAX_STDSP],
 1.24308 -+      BFD_RELOC_UNUSED, 2, -1,
 1.24309 -+      {
 1.24310 -+	&avr32_ifield_table[AVR32_IFIELD_K7C],
 1.24311 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24312 -+      },
 1.24313 -+    },
 1.24314 -+    {
 1.24315 -+      AVR32_OPC_STHH_W2, 4, 0xe1e08000, 0xe1f0c0c0,
 1.24316 -+      &avr32_syntax_table[AVR32_SYNTAX_STHH_W2],
 1.24317 -+      BFD_RELOC_UNUSED, 7, -1,
 1.24318 -+      {
 1.24319 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.24320 -+	&avr32_ifield_table[AVR32_IFIELD_CRD_RI],
 1.24321 -+	&avr32_ifield_table[AVR32_IFIELD_K2],
 1.24322 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24323 -+	&avr32_ifield_table[AVR32_IFIELD_X2],
 1.24324 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24325 -+	&avr32_ifield_table[AVR32_IFIELD_Y2],
 1.24326 -+      },
 1.24327 -+    },
 1.24328 -+    {
 1.24329 -+      AVR32_OPC_STHH_W1, 4, 0xe1e0c000, 0xe1f0c000,
 1.24330 -+      &avr32_syntax_table[AVR32_SYNTAX_STHH_W1],
 1.24331 -+      BFD_RELOC_AVR32_STHH_W, 6, 1,
 1.24332 -+      {
 1.24333 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.24334 -+	&avr32_ifield_table[AVR32_IFIELD_K8E2],
 1.24335 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24336 -+	&avr32_ifield_table[AVR32_IFIELD_X2],
 1.24337 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24338 -+	&avr32_ifield_table[AVR32_IFIELD_Y2],
 1.24339 -+      },
 1.24340 -+    },
 1.24341 -+    {
 1.24342 -+      AVR32_OPC_STM, 4, 0xe9c00000, 0xfff00000,
 1.24343 -+      &avr32_syntax_table[AVR32_SYNTAX_STM],
 1.24344 -+      BFD_RELOC_UNUSED, 2, -1,
 1.24345 -+      {
 1.24346 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24347 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.24348 -+      },
 1.24349 -+    },
 1.24350 -+    {
 1.24351 -+      AVR32_OPC_STM_PU, 4, 0xebc00000, 0xfff00000,
 1.24352 -+      &avr32_syntax_table[AVR32_SYNTAX_STM_PU],
 1.24353 -+      BFD_RELOC_UNUSED, 2, -1,
 1.24354 -+      {
 1.24355 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24356 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.24357 -+      },
 1.24358 -+    },
 1.24359 -+    {
 1.24360 -+      AVR32_OPC_STMTS, 4, 0xedc00000, 0xfff00000,
 1.24361 -+      &avr32_syntax_table[AVR32_SYNTAX_STMTS],
 1.24362 -+      BFD_RELOC_UNUSED, 2, -1,
 1.24363 -+      {
 1.24364 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24365 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.24366 -+      },
 1.24367 -+    },
 1.24368 -+    {
 1.24369 -+      AVR32_OPC_STMTS_PU, 4, 0xefc00000, 0xfff00000,
 1.24370 -+      &avr32_syntax_table[AVR32_SYNTAX_STMTS_PU],
 1.24371 -+      BFD_RELOC_UNUSED, 2, -1,
 1.24372 -+      {
 1.24373 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24374 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.24375 -+      },
 1.24376 -+    },
 1.24377 -+    {
 1.24378 -+      AVR32_OPC_STSWP_H, 4, 0xe1d09000, 0xe1f0f000,
 1.24379 -+      &avr32_syntax_table[AVR32_SYNTAX_STSWP_H],
 1.24380 -+      BFD_RELOC_UNUSED, 3, -1,
 1.24381 -+      {
 1.24382 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24383 -+	&avr32_ifield_table[AVR32_IFIELD_K12],
 1.24384 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24385 -+      },
 1.24386 -+    },
 1.24387 -+    {
 1.24388 -+      AVR32_OPC_STSWP_W, 4, 0xe1d0a000, 0xe1f0f000,
 1.24389 -+      &avr32_syntax_table[AVR32_SYNTAX_STSWP_W],
 1.24390 -+      BFD_RELOC_UNUSED, 3, -1,
 1.24391 -+      {
 1.24392 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24393 -+	&avr32_ifield_table[AVR32_IFIELD_K12],
 1.24394 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24395 -+      },
 1.24396 -+    },
 1.24397 -+    {
 1.24398 -+      AVR32_OPC_SUB1, 2, 0x00100000, 0xe1f00000,
 1.24399 -+      &avr32_syntax_table[AVR32_SYNTAX_SUB1],
 1.24400 -+      BFD_RELOC_UNUSED, 2, -1,
 1.24401 -+      {
 1.24402 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24403 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24404 -+      },
 1.24405 -+    },
 1.24406 -+    {
 1.24407 -+      AVR32_OPC_SUB2, 4, 0xe0000100, 0xe1f0ffc0,
 1.24408 -+      &avr32_syntax_table[AVR32_SYNTAX_SUB2],
 1.24409 -+      BFD_RELOC_UNUSED, 4, -1,
 1.24410 -+      {
 1.24411 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.24412 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24413 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24414 -+	&avr32_ifield_table[AVR32_IFIELD_K2],
 1.24415 -+      },
 1.24416 -+    },
 1.24417 -+    {
 1.24418 -+      AVR32_OPC_SUB5, 4, 0xe0c00000, 0xe1f00000,
 1.24419 -+      &avr32_syntax_table[AVR32_SYNTAX_SUB5],
 1.24420 -+      BFD_RELOC_AVR32_SUB5, 3, 2,
 1.24421 -+      {
 1.24422 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24423 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24424 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.24425 -+      },
 1.24426 -+    },
 1.24427 -+    {
 1.24428 -+      AVR32_OPC_SUB3_SP, 2, 0x200d0000, 0xf00f0000,
 1.24429 -+      &avr32_syntax_table[AVR32_SYNTAX_SUB3_SP],
 1.24430 -+      BFD_RELOC_AVR32_10SW, 2, 1,
 1.24431 -+      {
 1.24432 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24433 -+	&avr32_ifield_table[AVR32_IFIELD_K8C],
 1.24434 -+      },
 1.24435 -+    },
 1.24436 -+    {
 1.24437 -+      AVR32_OPC_SUB3, 2, 0x20000000, 0xf0000000,
 1.24438 -+      &avr32_syntax_table[AVR32_SYNTAX_SUB3],
 1.24439 -+      BFD_RELOC_AVR32_8S, 2, 1,
 1.24440 -+      {
 1.24441 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24442 -+	&avr32_ifield_table[AVR32_IFIELD_K8C],
 1.24443 -+      },
 1.24444 -+    },
 1.24445 -+    {
 1.24446 -+      AVR32_OPC_SUB4, 4, 0xe0200000, 0xe1e00000,
 1.24447 -+      &avr32_syntax_table[AVR32_SYNTAX_SUB4],
 1.24448 -+      BFD_RELOC_AVR32_21S, 2, 1,
 1.24449 -+      {
 1.24450 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24451 -+	&avr32_ifield_table[AVR32_IFIELD_K21],
 1.24452 -+      },
 1.24453 -+    },
 1.24454 -+    {
 1.24455 -+      AVR32_OPC_SUBEQ, 4, 0xf7b00000, 0xfff0ff00,
 1.24456 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBEQ],
 1.24457 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24458 -+      {
 1.24459 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24460 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24461 -+      },
 1.24462 -+    },
 1.24463 -+    {
 1.24464 -+      AVR32_OPC_SUBNE, 4, 0xf7b00100, 0xfff0ff00,
 1.24465 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBNE],
 1.24466 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24467 -+      {
 1.24468 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24469 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24470 -+      },
 1.24471 -+    },
 1.24472 -+    {
 1.24473 -+      AVR32_OPC_SUBCC, 4, 0xf7b00200, 0xfff0ff00,
 1.24474 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBHS],
 1.24475 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24476 -+      {
 1.24477 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24478 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24479 -+      },
 1.24480 -+    },
 1.24481 -+    {
 1.24482 -+      AVR32_OPC_SUBCS, 4, 0xf7b00300, 0xfff0ff00,
 1.24483 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBLO],
 1.24484 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24485 -+      {
 1.24486 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24487 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24488 -+      },
 1.24489 -+    },
 1.24490 -+    {
 1.24491 -+      AVR32_OPC_SUBGE, 4, 0xf7b00400, 0xfff0ff00,
 1.24492 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBGE],
 1.24493 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24494 -+      {
 1.24495 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24496 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24497 -+      },
 1.24498 -+    },
 1.24499 -+    {
 1.24500 -+      AVR32_OPC_SUBLT, 4, 0xf7b00500, 0xfff0ff00,
 1.24501 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBLT],
 1.24502 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24503 -+      {
 1.24504 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24505 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24506 -+      },
 1.24507 -+    },
 1.24508 -+    {
 1.24509 -+      AVR32_OPC_SUBMI, 4, 0xf7b00600, 0xfff0ff00,
 1.24510 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBMI],
 1.24511 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24512 -+      {
 1.24513 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24514 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24515 -+      },
 1.24516 -+    },
 1.24517 -+    {
 1.24518 -+      AVR32_OPC_SUBPL, 4, 0xf7b00700, 0xfff0ff00,
 1.24519 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBPL],
 1.24520 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24521 -+      {
 1.24522 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24523 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24524 -+      },
 1.24525 -+    },
 1.24526 -+    {
 1.24527 -+      AVR32_OPC_SUBLS, 4, 0xf7b00800, 0xfff0ff00,
 1.24528 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBLS],
 1.24529 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24530 -+      {
 1.24531 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24532 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24533 -+      },
 1.24534 -+    },
 1.24535 -+    {
 1.24536 -+      AVR32_OPC_SUBGT, 4, 0xf7b00900, 0xfff0ff00,
 1.24537 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBGT],
 1.24538 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24539 -+      {
 1.24540 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24541 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24542 -+      },
 1.24543 -+    },
 1.24544 -+    {
 1.24545 -+      AVR32_OPC_SUBLE, 4, 0xf7b00a00, 0xfff0ff00,
 1.24546 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBLE],
 1.24547 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24548 -+      {
 1.24549 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24550 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24551 -+      },
 1.24552 -+    },
 1.24553 -+    {
 1.24554 -+      AVR32_OPC_SUBHI, 4, 0xf7b00b00, 0xfff0ff00,
 1.24555 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBHI],
 1.24556 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24557 -+      {
 1.24558 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24559 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24560 -+      },
 1.24561 -+    },
 1.24562 -+    {
 1.24563 -+      AVR32_OPC_SUBVS, 4, 0xf7b00c00, 0xfff0ff00,
 1.24564 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBVS],
 1.24565 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24566 -+      {
 1.24567 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24568 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24569 -+      },
 1.24570 -+    },
 1.24571 -+    {
 1.24572 -+      AVR32_OPC_SUBVC, 4, 0xf7b00d00, 0xfff0ff00,
 1.24573 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBVC],
 1.24574 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24575 -+      {
 1.24576 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24577 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24578 -+      },
 1.24579 -+    },
 1.24580 -+    {
 1.24581 -+      AVR32_OPC_SUBQS, 4, 0xf7b00e00, 0xfff0ff00,
 1.24582 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBQS],
 1.24583 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24584 -+      {
 1.24585 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24586 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24587 -+      },
 1.24588 -+    },
 1.24589 -+    {
 1.24590 -+      AVR32_OPC_SUBAL, 4, 0xf7b00f00, 0xfff0ff00,
 1.24591 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBAL],
 1.24592 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24593 -+      {
 1.24594 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24595 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24596 -+      },
 1.24597 -+    },
 1.24598 -+    {
 1.24599 -+      AVR32_OPC_SUBFEQ, 4, 0xf5b00000, 0xfff0ff00,
 1.24600 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBFEQ],
 1.24601 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24602 -+      {
 1.24603 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24604 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24605 -+      },
 1.24606 -+    },
 1.24607 -+    {
 1.24608 -+      AVR32_OPC_SUBFNE, 4, 0xf5b00100, 0xfff0ff00,
 1.24609 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBFNE],
 1.24610 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24611 -+      {
 1.24612 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24613 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24614 -+      },
 1.24615 -+    },
 1.24616 -+    {
 1.24617 -+      AVR32_OPC_SUBFCC, 4, 0xf5b00200, 0xfff0ff00,
 1.24618 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBFHS],
 1.24619 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24620 -+      {
 1.24621 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24622 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24623 -+      },
 1.24624 -+    },
 1.24625 -+    {
 1.24626 -+      AVR32_OPC_SUBFCS, 4, 0xf5b00300, 0xfff0ff00,
 1.24627 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBFLO],
 1.24628 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24629 -+      {
 1.24630 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24631 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24632 -+      },
 1.24633 -+    },
 1.24634 -+    {
 1.24635 -+      AVR32_OPC_SUBFGE, 4, 0xf5b00400, 0xfff0ff00,
 1.24636 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBFGE],
 1.24637 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24638 -+      {
 1.24639 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24640 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24641 -+      },
 1.24642 -+    },
 1.24643 -+    {
 1.24644 -+      AVR32_OPC_SUBFLT, 4, 0xf5b00500, 0xfff0ff00,
 1.24645 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBFLT],
 1.24646 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24647 -+      {
 1.24648 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24649 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24650 -+      },
 1.24651 -+    },
 1.24652 -+    {
 1.24653 -+      AVR32_OPC_SUBFMI, 4, 0xf5b00600, 0xfff0ff00,
 1.24654 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBFMI],
 1.24655 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24656 -+      {
 1.24657 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24658 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24659 -+      },
 1.24660 -+    },
 1.24661 -+    {
 1.24662 -+      AVR32_OPC_SUBFPL, 4, 0xf5b00700, 0xfff0ff00,
 1.24663 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBFPL],
 1.24664 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24665 -+      {
 1.24666 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24667 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24668 -+      },
 1.24669 -+    },
 1.24670 -+    {
 1.24671 -+      AVR32_OPC_SUBFLS, 4, 0xf5b00800, 0xfff0ff00,
 1.24672 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBFLS],
 1.24673 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24674 -+      {
 1.24675 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24676 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24677 -+      },
 1.24678 -+    },
 1.24679 -+    {
 1.24680 -+      AVR32_OPC_SUBFGT, 4, 0xf5b00900, 0xfff0ff00,
 1.24681 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBFGT],
 1.24682 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24683 -+      {
 1.24684 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24685 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24686 -+      },
 1.24687 -+    },
 1.24688 -+    {
 1.24689 -+      AVR32_OPC_SUBFLE, 4, 0xf5b00a00, 0xfff0ff00,
 1.24690 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBFLE],
 1.24691 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24692 -+      {
 1.24693 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24694 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24695 -+      },
 1.24696 -+    },
 1.24697 -+    {
 1.24698 -+      AVR32_OPC_SUBFHI, 4, 0xf5b00b00, 0xfff0ff00,
 1.24699 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBFHI],
 1.24700 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24701 -+      {
 1.24702 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24703 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24704 -+      },
 1.24705 -+    },
 1.24706 -+    {
 1.24707 -+      AVR32_OPC_SUBFVS, 4, 0xf5b00c00, 0xfff0ff00,
 1.24708 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBFVS],
 1.24709 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24710 -+      {
 1.24711 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24712 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24713 -+      },
 1.24714 -+    },
 1.24715 -+    {
 1.24716 -+      AVR32_OPC_SUBFVC, 4, 0xf5b00d00, 0xfff0ff00,
 1.24717 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBFVC],
 1.24718 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24719 -+      {
 1.24720 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24721 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24722 -+      },
 1.24723 -+    },
 1.24724 -+    {
 1.24725 -+      AVR32_OPC_SUBFQS, 4, 0xf5b00e00, 0xfff0ff00,
 1.24726 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBFQS],
 1.24727 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24728 -+      {
 1.24729 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24730 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24731 -+      },
 1.24732 -+    },
 1.24733 -+    {
 1.24734 -+      AVR32_OPC_SUBFAL, 4, 0xf5b00f00, 0xfff0ff00,
 1.24735 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBFAL],
 1.24736 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,
 1.24737 -+      {
 1.24738 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24739 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24740 -+      },
 1.24741 -+    },
 1.24742 -+    {
 1.24743 -+      AVR32_OPC_SUBHH_W, 4, 0xe0000f00, 0xe1f0ffc0,
 1.24744 -+      &avr32_syntax_table[AVR32_SYNTAX_SUBHH_W],
 1.24745 -+      BFD_RELOC_UNUSED, 5, -1,
 1.24746 -+      {
 1.24747 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.24748 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24749 -+	&avr32_ifield_table[AVR32_IFIELD_X],
 1.24750 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24751 -+	&avr32_ifield_table[AVR32_IFIELD_Y],
 1.24752 -+      },
 1.24753 -+    },
 1.24754 -+    {
 1.24755 -+      AVR32_OPC_SWAP_B, 2, 0x5cb00000, 0xfff00000,
 1.24756 -+      &avr32_syntax_table[AVR32_SYNTAX_SWAP_B],
 1.24757 -+      BFD_RELOC_UNUSED, 1, -1,
 1.24758 -+      {
 1.24759 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24760 -+      }
 1.24761 -+    },
 1.24762 -+    {
 1.24763 -+      AVR32_OPC_SWAP_BH, 2, 0x5cc00000, 0xfff00000,
 1.24764 -+      &avr32_syntax_table[AVR32_SYNTAX_SWAP_BH],
 1.24765 -+      BFD_RELOC_UNUSED, 1, -1,
 1.24766 -+      {
 1.24767 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24768 -+      }
 1.24769 -+    },
 1.24770 -+    {
 1.24771 -+      AVR32_OPC_SWAP_H, 2, 0x5ca00000, 0xfff00000,
 1.24772 -+      &avr32_syntax_table[AVR32_SYNTAX_SWAP_H],
 1.24773 -+      BFD_RELOC_UNUSED, 1, -1,
 1.24774 -+      {
 1.24775 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24776 -+      }
 1.24777 -+    },
 1.24778 -+    {
 1.24779 -+      AVR32_OPC_SYNC, 4, 0xebb00000, 0xffffff00,
 1.24780 -+      &avr32_syntax_table[AVR32_SYNTAX_SYNC],
 1.24781 -+      BFD_RELOC_AVR32_8S_EXT, 1, 0,
 1.24782 -+      {
 1.24783 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],
 1.24784 -+      }
 1.24785 -+    },
 1.24786 -+    {
 1.24787 -+      AVR32_OPC_TLBR, 2, 0xd6430000, 0xffff0000,
 1.24788 -+      &avr32_syntax_table[AVR32_SYNTAX_TLBR],
 1.24789 -+      BFD_RELOC_UNUSED, 0, -1, { NULL },
 1.24790 -+    },
 1.24791 -+    {
 1.24792 -+      AVR32_OPC_TLBS, 2, 0xd6530000, 0xffff0000,
 1.24793 -+      &avr32_syntax_table[AVR32_SYNTAX_TLBS],
 1.24794 -+      BFD_RELOC_UNUSED, 0, -1, { NULL },
 1.24795 -+    },
 1.24796 -+    {
 1.24797 -+      AVR32_OPC_TLBW, 2, 0xd6630000, 0xffff0000,
 1.24798 -+      &avr32_syntax_table[AVR32_SYNTAX_TLBW],
 1.24799 -+      BFD_RELOC_UNUSED, 0, -1, { NULL },
 1.24800 -+    },
 1.24801 -+    {
 1.24802 -+      AVR32_OPC_TNBZ, 2, 0x5ce00000, 0xfff00000,
 1.24803 -+      &avr32_syntax_table[AVR32_SYNTAX_TNBZ],
 1.24804 -+      BFD_RELOC_UNUSED, 1, -1,
 1.24805 -+      {
 1.24806 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24807 -+      }
 1.24808 -+    },
 1.24809 -+    {
 1.24810 -+      AVR32_OPC_TST, 2, 0x00700000, 0xe1f00000,
 1.24811 -+      &avr32_syntax_table[AVR32_SYNTAX_TST],
 1.24812 -+      BFD_RELOC_UNUSED, 2, -1,
 1.24813 -+      {
 1.24814 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24815 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24816 -+      },
 1.24817 -+    },
 1.24818 -+    {
 1.24819 -+      AVR32_OPC_XCHG, 4, 0xe0000b40, 0xe1f0fff0,
 1.24820 -+      &avr32_syntax_table[AVR32_SYNTAX_XCHG],
 1.24821 -+      BFD_RELOC_UNUSED, 3, -1,
 1.24822 -+      {
 1.24823 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],
 1.24824 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24825 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24826 -+      },
 1.24827 -+    },
 1.24828 -+    {
 1.24829 -+      AVR32_OPC_MEMC, 4, 0xf6100000, 0xfff00000,
 1.24830 -+      &avr32_syntax_table[AVR32_SYNTAX_MEMC],
 1.24831 -+      BFD_RELOC_AVR32_15S, 2, 0,
 1.24832 -+      {
 1.24833 -+	&avr32_ifield_table[AVR32_IFIELD_MEM15],
 1.24834 -+	&avr32_ifield_table[AVR32_IFIELD_MEMB5],
 1.24835 -+      },
 1.24836 -+    },
 1.24837 -+    {
 1.24838 -+      AVR32_OPC_MEMS, 4, 0xf8100000, 0xfff00000,
 1.24839 -+      &avr32_syntax_table[AVR32_SYNTAX_MEMS],
 1.24840 -+      BFD_RELOC_AVR32_15S, 2, 0,
 1.24841 -+      {
 1.24842 -+	&avr32_ifield_table[AVR32_IFIELD_MEM15],
 1.24843 -+	&avr32_ifield_table[AVR32_IFIELD_MEMB5],
 1.24844 -+      },
 1.24845 -+    },
 1.24846 -+    {
 1.24847 -+      AVR32_OPC_MEMT, 4, 0xfa100000, 0xfff00000,
 1.24848 -+      &avr32_syntax_table[AVR32_SYNTAX_MEMT],
 1.24849 -+      BFD_RELOC_AVR32_15S, 2, 0,
 1.24850 -+      {
 1.24851 -+	&avr32_ifield_table[AVR32_IFIELD_MEM15],
 1.24852 -+	&avr32_ifield_table[AVR32_IFIELD_MEMB5],
 1.24853 -+      },
 1.24854 -+    },
 1.24855 -+    {
 1.24856 -+      AVR32_OPC_BFEXTS, 4, 0xe1d0b000, 0xe1f0fc00,
 1.24857 -+      &avr32_syntax_table[AVR32_SYNTAX_BFEXTS],
 1.24858 -+      BFD_RELOC_UNUSED, 4, -1,
 1.24859 -+      {
 1.24860 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24861 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24862 -+	&avr32_ifield_table[AVR32_IFIELD_S5],
 1.24863 -+	&avr32_ifield_table[AVR32_IFIELD_K5E],
 1.24864 -+      },
 1.24865 -+    },
 1.24866 -+    {
 1.24867 -+      AVR32_OPC_BFEXTU, 4, 0xe1d0c000, 0xe1f0fc00,
 1.24868 -+      &avr32_syntax_table[AVR32_SYNTAX_BFEXTU],
 1.24869 -+      BFD_RELOC_UNUSED, 4, -1,
 1.24870 -+      {
 1.24871 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24872 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24873 -+	&avr32_ifield_table[AVR32_IFIELD_S5],
 1.24874 -+	&avr32_ifield_table[AVR32_IFIELD_K5E],
 1.24875 -+      },
 1.24876 -+    },
 1.24877 -+    {
 1.24878 -+      AVR32_OPC_BFINS, 4, 0xe1d0d000, 0xe1f0fc00,
 1.24879 -+      &avr32_syntax_table[AVR32_SYNTAX_BFINS],
 1.24880 -+      BFD_RELOC_UNUSED, 4, -1,
 1.24881 -+      {
 1.24882 -+	&avr32_ifield_table[AVR32_IFIELD_RX],
 1.24883 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.24884 -+	&avr32_ifield_table[AVR32_IFIELD_S5],
 1.24885 -+	&avr32_ifield_table[AVR32_IFIELD_K5E],
 1.24886 -+      },
 1.24887 -+    },
 1.24888 -+#define AVR32_OPCODE_RSUBCOND(cond_name, cond_field)                    \
 1.24889 -+    {                                                                   \
 1.24890 -+      AVR32_OPC_RSUB ## cond_name , 4,                                  \
 1.24891 -+      0xfbb00000 | (cond_field << 8), 0xfff0ff00,                       \
 1.24892 -+      &avr32_syntax_table[AVR32_SYNTAX_RSUB ## cond_name ],             \
 1.24893 -+      BFD_RELOC_AVR32_8S_EXT, 2, 1,                                     \
 1.24894 -+      {                                                                 \
 1.24895 -+	&avr32_ifield_table[AVR32_IFIELD_RY],                           \
 1.24896 -+	&avr32_ifield_table[AVR32_IFIELD_K8E],                          \
 1.24897 -+      },                                                                \
 1.24898 -+    },
 1.24899 -+
 1.24900 -+    AVR32_OPCODE_RSUBCOND (EQ, 0) 
 1.24901 -+    AVR32_OPCODE_RSUBCOND (NE, 1) 
 1.24902 -+    AVR32_OPCODE_RSUBCOND (CC, 2) 
 1.24903 -+    AVR32_OPCODE_RSUBCOND (CS, 3) 
 1.24904 -+    AVR32_OPCODE_RSUBCOND (GE, 4) 
 1.24905 -+    AVR32_OPCODE_RSUBCOND (LT, 5) 
 1.24906 -+    AVR32_OPCODE_RSUBCOND (MI, 6) 
 1.24907 -+    AVR32_OPCODE_RSUBCOND (PL, 7) 
 1.24908 -+    AVR32_OPCODE_RSUBCOND (LS, 8) 
 1.24909 -+    AVR32_OPCODE_RSUBCOND (GT, 9) 
 1.24910 -+    AVR32_OPCODE_RSUBCOND (LE, 10) 
 1.24911 -+    AVR32_OPCODE_RSUBCOND (HI, 11) 
 1.24912 -+    AVR32_OPCODE_RSUBCOND (VS, 12) 
 1.24913 -+    AVR32_OPCODE_RSUBCOND (VC, 13) 
 1.24914 -+    AVR32_OPCODE_RSUBCOND (QS, 14) 
 1.24915 -+    AVR32_OPCODE_RSUBCOND (AL, 15) 
 1.24916 -+
 1.24917 -+#define AVR32_OPCODE_OP3_COND(op_name, op_field, cond_name, cond_field) \
 1.24918 -+    {                                                                   \
 1.24919 -+      AVR32_OPC_ ## op_name ## cond_name , 4,                           \
 1.24920 -+      0xe1d0e000 | (cond_field << 8) | (op_field << 4), 0xe1f0fff0,     \
 1.24921 -+      &avr32_syntax_table[AVR32_SYNTAX_ ## op_name ## cond_name ],      \
 1.24922 -+      BFD_RELOC_UNUSED, 3, -1,                                          \
 1.24923 -+      {                                                                 \
 1.24924 -+	&avr32_ifield_table[AVR32_IFIELD_RD_E],                         \
 1.24925 -+	&avr32_ifield_table[AVR32_IFIELD_RX],                           \
 1.24926 -+	&avr32_ifield_table[AVR32_IFIELD_RY],                           \
 1.24927 -+      },                                                                \
 1.24928 -+    },
 1.24929 -+
 1.24930 -+    AVR32_OPCODE_OP3_COND (ADD, 0, EQ, 0)
 1.24931 -+    AVR32_OPCODE_OP3_COND (ADD, 0, NE, 1)
 1.24932 -+    AVR32_OPCODE_OP3_COND (ADD, 0, CC, 2)
 1.24933 -+    AVR32_OPCODE_OP3_COND (ADD, 0, CS, 3)
 1.24934 -+    AVR32_OPCODE_OP3_COND (ADD, 0, GE, 4)
 1.24935 -+    AVR32_OPCODE_OP3_COND (ADD, 0, LT, 5)
 1.24936 -+    AVR32_OPCODE_OP3_COND (ADD, 0, MI, 6)
 1.24937 -+    AVR32_OPCODE_OP3_COND (ADD, 0, PL, 7)
 1.24938 -+    AVR32_OPCODE_OP3_COND (ADD, 0, LS, 8)
 1.24939 -+    AVR32_OPCODE_OP3_COND (ADD, 0, GT, 9)
 1.24940 -+    AVR32_OPCODE_OP3_COND (ADD, 0, LE, 10)
 1.24941 -+    AVR32_OPCODE_OP3_COND (ADD, 0, HI, 11)
 1.24942 -+    AVR32_OPCODE_OP3_COND (ADD, 0, VS, 12)
 1.24943 -+    AVR32_OPCODE_OP3_COND (ADD, 0, VC, 13)
 1.24944 -+    AVR32_OPCODE_OP3_COND (ADD, 0, QS, 14)
 1.24945 -+    AVR32_OPCODE_OP3_COND (ADD, 0, AL, 15)
 1.24946 -+
 1.24947 -+    AVR32_OPCODE_OP3_COND (SUB2, 1, EQ, 0)
 1.24948 -+    AVR32_OPCODE_OP3_COND (SUB2, 1, NE, 1)
 1.24949 -+    AVR32_OPCODE_OP3_COND (SUB2, 1, CC, 2)
 1.24950 -+    AVR32_OPCODE_OP3_COND (SUB2, 1, CS, 3)
 1.24951 -+    AVR32_OPCODE_OP3_COND (SUB2, 1, GE, 4)
 1.24952 -+    AVR32_OPCODE_OP3_COND (SUB2, 1, LT, 5)
 1.24953 -+    AVR32_OPCODE_OP3_COND (SUB2, 1, MI, 6)
 1.24954 -+    AVR32_OPCODE_OP3_COND (SUB2, 1, PL, 7)
 1.24955 -+    AVR32_OPCODE_OP3_COND (SUB2, 1, LS, 8)
 1.24956 -+    AVR32_OPCODE_OP3_COND (SUB2, 1, GT, 9)
 1.24957 -+    AVR32_OPCODE_OP3_COND (SUB2, 1, LE, 10)
 1.24958 -+    AVR32_OPCODE_OP3_COND (SUB2, 1, HI, 11)
 1.24959 -+    AVR32_OPCODE_OP3_COND (SUB2, 1, VS, 12)
 1.24960 -+    AVR32_OPCODE_OP3_COND (SUB2, 1, VC, 13)
 1.24961 -+    AVR32_OPCODE_OP3_COND (SUB2, 1, QS, 14)
 1.24962 -+    AVR32_OPCODE_OP3_COND (SUB2, 1, AL, 15)
 1.24963 -+
 1.24964 -+    AVR32_OPCODE_OP3_COND (AND, 2, EQ, 0)
 1.24965 -+    AVR32_OPCODE_OP3_COND (AND, 2, NE, 1)
 1.24966 -+    AVR32_OPCODE_OP3_COND (AND, 2, CC, 2)
 1.24967 -+    AVR32_OPCODE_OP3_COND (AND, 2, CS, 3)
 1.24968 -+    AVR32_OPCODE_OP3_COND (AND, 2, GE, 4)
 1.24969 -+    AVR32_OPCODE_OP3_COND (AND, 2, LT, 5)
 1.24970 -+    AVR32_OPCODE_OP3_COND (AND, 2, MI, 6)
 1.24971 -+    AVR32_OPCODE_OP3_COND (AND, 2, PL, 7)
 1.24972 -+    AVR32_OPCODE_OP3_COND (AND, 2, LS, 8)
 1.24973 -+    AVR32_OPCODE_OP3_COND (AND, 2, GT, 9)
 1.24974 -+    AVR32_OPCODE_OP3_COND (AND, 2, LE, 10)
 1.24975 -+    AVR32_OPCODE_OP3_COND (AND, 2, HI, 11)
 1.24976 -+    AVR32_OPCODE_OP3_COND (AND, 2, VS, 12)
 1.24977 -+    AVR32_OPCODE_OP3_COND (AND, 2, VC, 13)
 1.24978 -+    AVR32_OPCODE_OP3_COND (AND, 2, QS, 14)
 1.24979 -+    AVR32_OPCODE_OP3_COND (AND, 2, AL, 15)
 1.24980 -+
 1.24981 -+    AVR32_OPCODE_OP3_COND (OR, 3, EQ, 0)
 1.24982 -+    AVR32_OPCODE_OP3_COND (OR, 3, NE, 1)
 1.24983 -+    AVR32_OPCODE_OP3_COND (OR, 3, CC, 2)
 1.24984 -+    AVR32_OPCODE_OP3_COND (OR, 3, CS, 3)
 1.24985 -+    AVR32_OPCODE_OP3_COND (OR, 3, GE, 4)
 1.24986 -+    AVR32_OPCODE_OP3_COND (OR, 3, LT, 5)
 1.24987 -+    AVR32_OPCODE_OP3_COND (OR, 3, MI, 6)
 1.24988 -+    AVR32_OPCODE_OP3_COND (OR, 3, PL, 7)
 1.24989 -+    AVR32_OPCODE_OP3_COND (OR, 3, LS, 8)
 1.24990 -+    AVR32_OPCODE_OP3_COND (OR, 3, GT, 9)
 1.24991 -+    AVR32_OPCODE_OP3_COND (OR, 3, LE, 10)
 1.24992 -+    AVR32_OPCODE_OP3_COND (OR, 3, HI, 11)
 1.24993 -+    AVR32_OPCODE_OP3_COND (OR, 3, VS, 12)
 1.24994 -+    AVR32_OPCODE_OP3_COND (OR, 3, VC, 13)
 1.24995 -+    AVR32_OPCODE_OP3_COND (OR, 3, QS, 14)
 1.24996 -+    AVR32_OPCODE_OP3_COND (OR, 3, AL, 15)
 1.24997 -+
 1.24998 -+    AVR32_OPCODE_OP3_COND (EOR, 4, EQ, 0)
 1.24999 -+    AVR32_OPCODE_OP3_COND (EOR, 4, NE, 1)
 1.25000 -+    AVR32_OPCODE_OP3_COND (EOR, 4, CC, 2)
 1.25001 -+    AVR32_OPCODE_OP3_COND (EOR, 4, CS, 3)
 1.25002 -+    AVR32_OPCODE_OP3_COND (EOR, 4, GE, 4)
 1.25003 -+    AVR32_OPCODE_OP3_COND (EOR, 4, LT, 5)
 1.25004 -+    AVR32_OPCODE_OP3_COND (EOR, 4, MI, 6)
 1.25005 -+    AVR32_OPCODE_OP3_COND (EOR, 4, PL, 7)
 1.25006 -+    AVR32_OPCODE_OP3_COND (EOR, 4, LS, 8)
 1.25007 -+    AVR32_OPCODE_OP3_COND (EOR, 4, GT, 9)
 1.25008 -+    AVR32_OPCODE_OP3_COND (EOR, 4, LE, 10)
 1.25009 -+    AVR32_OPCODE_OP3_COND (EOR, 4, HI, 11)
 1.25010 -+    AVR32_OPCODE_OP3_COND (EOR, 4, VS, 12)
 1.25011 -+    AVR32_OPCODE_OP3_COND (EOR, 4, VC, 13)
 1.25012 -+    AVR32_OPCODE_OP3_COND (EOR, 4, QS, 14)
 1.25013 -+    AVR32_OPCODE_OP3_COND (EOR, 4, AL, 15) 
 1.25014 -+
 1.25015 -+#define AVR32_OPCODE_LD_COND(op_name, op_field, cond_name, cond_field)  \
 1.25016 -+    {                                                                   \
 1.25017 -+      AVR32_OPC_ ## op_name ## cond_name , 4,                           \
 1.25018 -+      0xe1f00000 | (cond_field << 12) | (op_field  << 9), 0xe1f0fe00,   \
 1.25019 -+      &avr32_syntax_table[AVR32_SYNTAX_ ## op_name ## cond_name ],      \
 1.25020 -+      BFD_RELOC_UNUSED, 3, -1,                                          \
 1.25021 -+      {                                                                 \
 1.25022 -+	&avr32_ifield_table[AVR32_IFIELD_RY],                           \
 1.25023 -+	&avr32_ifield_table[AVR32_IFIELD_RX],                           \
 1.25024 -+	&avr32_ifield_table[AVR32_IFIELD_K9E],                          \
 1.25025 -+      },                                                                \
 1.25026 -+    },
 1.25027 -+    
 1.25028 -+#define AVR32_OPCODE_ST_COND(op_name, op_field, cond_name, cond_field)  \
 1.25029 -+    {                                                                   \
 1.25030 -+      AVR32_OPC_ ## op_name ## cond_name , 4,                           \
 1.25031 -+      0xe1f00000 | (cond_field << 12) | (op_field  << 9), 0xe1f0fe00,   \
 1.25032 -+      &avr32_syntax_table[AVR32_SYNTAX_ ## op_name ## cond_name ],      \
 1.25033 -+      BFD_RELOC_UNUSED, 3, -1,                                          \
 1.25034 -+      {                                                                 \
 1.25035 -+	&avr32_ifield_table[AVR32_IFIELD_RX],                           \
 1.25036 -+	&avr32_ifield_table[AVR32_IFIELD_K9E],                          \
 1.25037 -+	&avr32_ifield_table[AVR32_IFIELD_RY],                           \
 1.25038 -+      },                                                                \
 1.25039 -+    },
 1.25040 -+
 1.25041 -+    AVR32_OPCODE_LD_COND (LD_W, 0, EQ, 0) 
 1.25042 -+    AVR32_OPCODE_LD_COND (LD_W, 0, NE, 1) 
 1.25043 -+    AVR32_OPCODE_LD_COND (LD_W, 0, CC, 2) 
 1.25044 -+    AVR32_OPCODE_LD_COND (LD_W, 0, CS, 3) 
 1.25045 -+    AVR32_OPCODE_LD_COND (LD_W, 0, GE, 4) 
 1.25046 -+    AVR32_OPCODE_LD_COND (LD_W, 0, LT, 5) 
 1.25047 -+    AVR32_OPCODE_LD_COND (LD_W, 0, MI, 6) 
 1.25048 -+    AVR32_OPCODE_LD_COND (LD_W, 0, PL, 7) 
 1.25049 -+    AVR32_OPCODE_LD_COND (LD_W, 0, LS, 8) 
 1.25050 -+    AVR32_OPCODE_LD_COND (LD_W, 0, GT, 9) 
 1.25051 -+    AVR32_OPCODE_LD_COND (LD_W, 0, LE, 10) 
 1.25052 -+    AVR32_OPCODE_LD_COND (LD_W, 0, HI, 11) 
 1.25053 -+    AVR32_OPCODE_LD_COND (LD_W, 0, VS, 12) 
 1.25054 -+    AVR32_OPCODE_LD_COND (LD_W, 0, VC, 13) 
 1.25055 -+    AVR32_OPCODE_LD_COND (LD_W, 0, QS, 14) 
 1.25056 -+    AVR32_OPCODE_LD_COND (LD_W, 0, AL, 15) 
 1.25057 -+
 1.25058 -+    AVR32_OPCODE_LD_COND (LD_SH, 1, EQ, 0) 
 1.25059 -+    AVR32_OPCODE_LD_COND (LD_SH, 1, NE, 1) 
 1.25060 -+    AVR32_OPCODE_LD_COND (LD_SH, 1, CC, 2) 
 1.25061 -+    AVR32_OPCODE_LD_COND (LD_SH, 1, CS, 3) 
 1.25062 -+    AVR32_OPCODE_LD_COND (LD_SH, 1, GE, 4) 
 1.25063 -+    AVR32_OPCODE_LD_COND (LD_SH, 1, LT, 5) 
 1.25064 -+    AVR32_OPCODE_LD_COND (LD_SH, 1, MI, 6) 
 1.25065 -+    AVR32_OPCODE_LD_COND (LD_SH, 1, PL, 7) 
 1.25066 -+    AVR32_OPCODE_LD_COND (LD_SH, 1, LS, 8) 
 1.25067 -+    AVR32_OPCODE_LD_COND (LD_SH, 1, GT, 9) 
 1.25068 -+    AVR32_OPCODE_LD_COND (LD_SH, 1, LE, 10) 
 1.25069 -+    AVR32_OPCODE_LD_COND (LD_SH, 1, HI, 11) 
 1.25070 -+    AVR32_OPCODE_LD_COND (LD_SH, 1, VS, 12) 
 1.25071 -+    AVR32_OPCODE_LD_COND (LD_SH, 1, VC, 13) 
 1.25072 -+    AVR32_OPCODE_LD_COND (LD_SH, 1, QS, 14) 
 1.25073 -+    AVR32_OPCODE_LD_COND (LD_SH, 1, AL, 15) 
 1.25074 -+
 1.25075 -+    AVR32_OPCODE_LD_COND (LD_UH, 2, EQ, 0) 
 1.25076 -+    AVR32_OPCODE_LD_COND (LD_UH, 2, NE, 1) 
 1.25077 -+    AVR32_OPCODE_LD_COND (LD_UH, 2, CC, 2) 
 1.25078 -+    AVR32_OPCODE_LD_COND (LD_UH, 2, CS, 3) 
 1.25079 -+    AVR32_OPCODE_LD_COND (LD_UH, 2, GE, 4) 
 1.25080 -+    AVR32_OPCODE_LD_COND (LD_UH, 2, LT, 5) 
 1.25081 -+    AVR32_OPCODE_LD_COND (LD_UH, 2, MI, 6) 
 1.25082 -+    AVR32_OPCODE_LD_COND (LD_UH, 2, PL, 7) 
 1.25083 -+    AVR32_OPCODE_LD_COND (LD_SH, 2, LS, 8) 
 1.25084 -+    AVR32_OPCODE_LD_COND (LD_SH, 2, GT, 9) 
 1.25085 -+    AVR32_OPCODE_LD_COND (LD_SH, 2, LE, 10) 
 1.25086 -+    AVR32_OPCODE_LD_COND (LD_SH, 2, HI, 11) 
 1.25087 -+    AVR32_OPCODE_LD_COND (LD_SH, 2, VS, 12) 
 1.25088 -+    AVR32_OPCODE_LD_COND (LD_SH, 2, VC, 13) 
 1.25089 -+    AVR32_OPCODE_LD_COND (LD_SH, 2, QS, 14) 
 1.25090 -+    AVR32_OPCODE_LD_COND (LD_SH, 2, AL, 15) 
 1.25091 -+
 1.25092 -+    AVR32_OPCODE_LD_COND (LD_SB, 3, EQ, 0) 
 1.25093 -+    AVR32_OPCODE_LD_COND (LD_SB, 3, NE, 1) 
 1.25094 -+    AVR32_OPCODE_LD_COND (LD_SB, 3, CC, 2) 
 1.25095 -+    AVR32_OPCODE_LD_COND (LD_SB, 3, CS, 3) 
 1.25096 -+    AVR32_OPCODE_LD_COND (LD_SB, 3, GE, 4) 
 1.25097 -+    AVR32_OPCODE_LD_COND (LD_SB, 3, LT, 5) 
 1.25098 -+    AVR32_OPCODE_LD_COND (LD_SB, 3, MI, 6) 
 1.25099 -+    AVR32_OPCODE_LD_COND (LD_SB, 3, PL, 7) 
 1.25100 -+    AVR32_OPCODE_LD_COND (LD_SB, 3, LS, 8) 
 1.25101 -+    AVR32_OPCODE_LD_COND (LD_SB, 3, GT, 9) 
 1.25102 -+    AVR32_OPCODE_LD_COND (LD_SB, 3, LE, 10) 
 1.25103 -+    AVR32_OPCODE_LD_COND (LD_SB, 3, HI, 11) 
 1.25104 -+    AVR32_OPCODE_LD_COND (LD_SB, 3, VS, 12) 
 1.25105 -+    AVR32_OPCODE_LD_COND (LD_SB, 3, VC, 13) 
 1.25106 -+    AVR32_OPCODE_LD_COND (LD_SB, 3, QS, 14) 
 1.25107 -+    AVR32_OPCODE_LD_COND (LD_SB, 3, AL, 15) 
 1.25108 -+
 1.25109 -+    AVR32_OPCODE_LD_COND (LD_UB, 4, EQ, 0) 
 1.25110 -+    AVR32_OPCODE_LD_COND (LD_UB, 4, NE, 1) 
 1.25111 -+    AVR32_OPCODE_LD_COND (LD_UB, 4, CC, 2) 
 1.25112 -+    AVR32_OPCODE_LD_COND (LD_UB, 4, CS, 3) 
 1.25113 -+    AVR32_OPCODE_LD_COND (LD_UB, 4, GE, 4) 
 1.25114 -+    AVR32_OPCODE_LD_COND (LD_UB, 4, LT, 5) 
 1.25115 -+    AVR32_OPCODE_LD_COND (LD_UB, 4, MI, 6) 
 1.25116 -+    AVR32_OPCODE_LD_COND (LD_UB, 4, PL, 7) 
 1.25117 -+    AVR32_OPCODE_LD_COND (LD_UB, 4, LS, 8) 
 1.25118 -+    AVR32_OPCODE_LD_COND (LD_UB, 4, GT, 9) 
 1.25119 -+    AVR32_OPCODE_LD_COND (LD_UB, 4, LE, 10) 
 1.25120 -+    AVR32_OPCODE_LD_COND (LD_UB, 4, HI, 11) 
 1.25121 -+    AVR32_OPCODE_LD_COND (LD_UB, 4, VS, 12) 
 1.25122 -+    AVR32_OPCODE_LD_COND (LD_UB, 4, VC, 13) 
 1.25123 -+    AVR32_OPCODE_LD_COND (LD_UB, 4, QS, 14) 
 1.25124 -+    AVR32_OPCODE_LD_COND (LD_UB, 4, AL, 15) 
 1.25125 -+
 1.25126 -+    AVR32_OPCODE_ST_COND (ST_W, 5, EQ, 0) 
 1.25127 -+    AVR32_OPCODE_ST_COND (ST_W, 5, NE, 1) 
 1.25128 -+    AVR32_OPCODE_ST_COND (ST_W, 5, CC, 2) 
 1.25129 -+    AVR32_OPCODE_ST_COND (ST_W, 5, CS, 3) 
 1.25130 -+    AVR32_OPCODE_ST_COND (ST_W, 5, GE, 4) 
 1.25131 -+    AVR32_OPCODE_ST_COND (ST_W, 5, LT, 5) 
 1.25132 -+    AVR32_OPCODE_ST_COND (ST_W, 5, MI, 6) 
 1.25133 -+    AVR32_OPCODE_ST_COND (ST_W, 5, PL, 7) 
 1.25134 -+    AVR32_OPCODE_ST_COND (ST_W, 5, LS, 8) 
 1.25135 -+    AVR32_OPCODE_ST_COND (ST_W, 5, GT, 9) 
 1.25136 -+    AVR32_OPCODE_ST_COND (ST_W, 5, LE, 10) 
 1.25137 -+    AVR32_OPCODE_ST_COND (ST_W, 5, HI, 11) 
 1.25138 -+    AVR32_OPCODE_ST_COND (ST_W, 5, VS, 12) 
 1.25139 -+    AVR32_OPCODE_ST_COND (ST_W, 5, VC, 13) 
 1.25140 -+    AVR32_OPCODE_ST_COND (ST_W, 5, QS, 14) 
 1.25141 -+    AVR32_OPCODE_ST_COND (ST_W, 5, AL, 15) 
 1.25142 -+
 1.25143 -+    AVR32_OPCODE_ST_COND (ST_H, 6, EQ, 0) 
 1.25144 -+    AVR32_OPCODE_ST_COND (ST_H, 6, NE, 1) 
 1.25145 -+    AVR32_OPCODE_ST_COND (ST_H, 6, CC, 2) 
 1.25146 -+    AVR32_OPCODE_ST_COND (ST_H, 6, CS, 3) 
 1.25147 -+    AVR32_OPCODE_ST_COND (ST_H, 6, GE, 4) 
 1.25148 -+    AVR32_OPCODE_ST_COND (ST_H, 6, LT, 5) 
 1.25149 -+    AVR32_OPCODE_ST_COND (ST_H, 6, MI, 6) 
 1.25150 -+    AVR32_OPCODE_ST_COND (ST_H, 6, PL, 7) 
 1.25151 -+    AVR32_OPCODE_ST_COND (ST_H, 6, LS, 8) 
 1.25152 -+    AVR32_OPCODE_ST_COND (ST_H, 6, GT, 9) 
 1.25153 -+    AVR32_OPCODE_ST_COND (ST_H, 6, LE, 10) 
 1.25154 -+    AVR32_OPCODE_ST_COND (ST_H, 6, HI, 11) 
 1.25155 -+    AVR32_OPCODE_ST_COND (ST_H, 6, VS, 12) 
 1.25156 -+    AVR32_OPCODE_ST_COND (ST_H, 6, VC, 13) 
 1.25157 -+    AVR32_OPCODE_ST_COND (ST_H, 6, QS, 14) 
 1.25158 -+    AVR32_OPCODE_ST_COND (ST_H, 6, AL, 15) 
 1.25159 -+
 1.25160 -+    AVR32_OPCODE_ST_COND (ST_B, 7, EQ, 0) 
 1.25161 -+    AVR32_OPCODE_ST_COND (ST_B, 7, NE, 1) 
 1.25162 -+    AVR32_OPCODE_ST_COND (ST_B, 7, CC, 2) 
 1.25163 -+    AVR32_OPCODE_ST_COND (ST_B, 7, CS, 3) 
 1.25164 -+    AVR32_OPCODE_ST_COND (ST_B, 7, GE, 4) 
 1.25165 -+    AVR32_OPCODE_ST_COND (ST_B, 7, LT, 5) 
 1.25166 -+    AVR32_OPCODE_ST_COND (ST_B, 7, MI, 6) 
 1.25167 -+    AVR32_OPCODE_ST_COND (ST_B, 7, PL, 7) 
 1.25168 -+    AVR32_OPCODE_ST_COND (ST_B, 7, LS, 8) 
 1.25169 -+    AVR32_OPCODE_ST_COND (ST_B, 7, GT, 9) 
 1.25170 -+    AVR32_OPCODE_ST_COND (ST_B, 7, LE, 10) 
 1.25171 -+    AVR32_OPCODE_ST_COND (ST_B, 7, HI, 11) 
 1.25172 -+    AVR32_OPCODE_ST_COND (ST_B, 7, VS, 12) 
 1.25173 -+    AVR32_OPCODE_ST_COND (ST_B, 7, VC, 13) 
 1.25174 -+    AVR32_OPCODE_ST_COND (ST_B, 7, QS, 14) 
 1.25175 -+    AVR32_OPCODE_ST_COND (ST_B, 7, AL, 15) 
 1.25176 -+
 1.25177 -+    {
 1.25178 -+      AVR32_OPC_MOVH, 4, 0xfc100000, 0xfff00000,
 1.25179 -+      &avr32_syntax_table[AVR32_SYNTAX_MOVH],
 1.25180 -+      BFD_RELOC_AVR32_16U,  2, 1,
 1.25181 -+      {
 1.25182 -+	&avr32_ifield_table[AVR32_IFIELD_RY],
 1.25183 -+	&avr32_ifield_table[AVR32_IFIELD_K16],
 1.25184 -+      },
 1.25185 -+    },
 1.25186 -+
 1.25187 -+ };
 1.25188 -+
 1.25189 -+#define FPALIAS_DXY(name, opcode)			\
 1.25190 -+  {							\
 1.25191 -+    AVR32_ALIAS_##name##_S,				\
 1.25192 -+    &avr32_opc_table[AVR32_OPC_COP],			\
 1.25193 -+    {							\
 1.25194 -+      { 0, 0 },						\
 1.25195 -+      { 1, 0 }, { 1, 1 }, { 1, 2 },			\
 1.25196 -+      { 0, opcode },					\
 1.25197 -+    },							\
 1.25198 -+  }, {							\
 1.25199 -+    AVR32_ALIAS_##name##_D,				\
 1.25200 -+    &avr32_opc_table[AVR32_OPC_COP],			\
 1.25201 -+    {							\
 1.25202 -+      { 0, 0 },						\
 1.25203 -+      { 1, 0 }, { 1, 1 }, { 1, 2 },			\
 1.25204 -+      { 0, (opcode) | 0x40 },				\
 1.25205 -+    },							\
 1.25206 -+  }
 1.25207 -+#define FPALIAS_DX(name, opcode)			\
 1.25208 -+  {							\
 1.25209 -+    AVR32_ALIAS_##name##_S,				\
 1.25210 -+    &avr32_opc_table[AVR32_OPC_COP],			\
 1.25211 -+    {							\
 1.25212 -+      { 0, 0 },						\
 1.25213 -+      { 1, 0 }, { 1, 1 }, { 0, 0 },			\
 1.25214 -+      { 0, opcode },					\
 1.25215 -+    },							\
 1.25216 -+  }, {							\
 1.25217 -+    AVR32_ALIAS_##name##_D,				\
 1.25218 -+    &avr32_opc_table[AVR32_OPC_COP],			\
 1.25219 -+    {							\
 1.25220 -+      { 0, 0 },						\
 1.25221 -+      { 1, 0 }, { 1, 1 }, { 0, 0 },			\
 1.25222 -+      { 0, (opcode) | 0x40 },				\
 1.25223 -+    },							\
 1.25224 -+  }
 1.25225 -+#define FPALIAS_XY(name, opcode)			\
 1.25226 -+  {							\
 1.25227 -+    AVR32_ALIAS_##name##_S,				\
 1.25228 -+    &avr32_opc_table[AVR32_OPC_COP],			\
 1.25229 -+    {							\
 1.25230 -+      { 0, 0 },						\
 1.25231 -+      { 0, 0 }, { 1, 0 }, { 1, 1 },			\
 1.25232 -+      { 0, opcode },					\
 1.25233 -+    },							\
 1.25234 -+  }, {							\
 1.25235 -+    AVR32_ALIAS_##name##_D,				\
 1.25236 -+    &avr32_opc_table[AVR32_OPC_COP],			\
 1.25237 -+    {							\
 1.25238 -+      { 0, 0 },						\
 1.25239 -+      { 0, 0 }, { 1, 0 }, { 1, 1 },			\
 1.25240 -+      { 0, (opcode) | 0x40 },				\
 1.25241 -+    },							\
 1.25242 -+  }
 1.25243 -+
 1.25244 -+const struct avr32_alias avr32_alias_table[] =
 1.25245 -+  {
 1.25246 -+    FPALIAS_DXY(FMAC, 0x00),
 1.25247 -+    FPALIAS_DXY(FNMAC, 0x01),
 1.25248 -+    FPALIAS_DXY(FMSC, 0x02),
 1.25249 -+    FPALIAS_DXY(FNMSC, 0x03),
 1.25250 -+    FPALIAS_DXY(FADD, 0x04),
 1.25251 -+    FPALIAS_DXY(FSUB, 0x05),
 1.25252 -+    FPALIAS_DXY(FMUL, 0x06),
 1.25253 -+    FPALIAS_DXY(FNMUL, 0x07),
 1.25254 -+    FPALIAS_DX(FNEG, 0x08),
 1.25255 -+    FPALIAS_DX(FABS, 0x09),
 1.25256 -+    FPALIAS_XY(FCMP, 0x0d),
 1.25257 -+    FPALIAS_DX(FMOV1, 0x0a),
 1.25258 -+    {
 1.25259 -+      AVR32_ALIAS_FMOV2_S,
 1.25260 -+      &avr32_opc_table[AVR32_OPC_MVCR_W],
 1.25261 -+      { { 0, 0 }, { 1, 0 }, { 1, 1 }, },
 1.25262 -+    },
 1.25263 -+    {
 1.25264 -+      AVR32_ALIAS_FMOV2_D,
 1.25265 -+      &avr32_opc_table[AVR32_OPC_MVCR_D],
 1.25266 -+      { { 0, 0 }, { 1, 0 }, { 1, 1 }, },
 1.25267 -+    },
 1.25268 -+    {
 1.25269 -+      AVR32_ALIAS_FMOV3_S,
 1.25270 -+      &avr32_opc_table[AVR32_OPC_MVRC_W],
 1.25271 -+      { { 0, 0 }, { 1, 0 }, { 1, 1 }, },
 1.25272 -+    },
 1.25273 -+    {
 1.25274 -+      AVR32_ALIAS_FMOV3_D,
 1.25275 -+      &avr32_opc_table[AVR32_OPC_MVRC_D],
 1.25276 -+      { { 0, 0 }, { 1, 0 }, { 1, 1 }, },
 1.25277 -+    },
 1.25278 -+    {
 1.25279 -+      AVR32_ALIAS_FCASTS_D,
 1.25280 -+      &avr32_opc_table[AVR32_OPC_COP],
 1.25281 -+      {
 1.25282 -+	{ 0, 0 },
 1.25283 -+	{ 1, 0 }, { 1, 1 }, { 0, 0 },
 1.25284 -+	{ 0, 0x0f },
 1.25285 -+      },
 1.25286 -+    },
 1.25287 -+    {
 1.25288 -+      AVR32_ALIAS_FCASTD_S,
 1.25289 -+      &avr32_opc_table[AVR32_OPC_COP],
 1.25290 -+      {
 1.25291 -+	{ 0, 0 },
 1.25292 -+	{ 1, 0 }, { 1, 1 }, { 0, 0 },
 1.25293 -+	{ 0, 0x10 },
 1.25294 -+      },
 1.25295 -+    },
 1.25296 -+    {
 1.25297 -+      AVR32_ALIAS_PICOSVMAC0,
 1.25298 -+      &avr32_opc_table[AVR32_OPC_COP],
 1.25299 -+      {
 1.25300 -+	{ 0, PICO_CPNO },
 1.25301 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25302 -+	{ 0, 0x0c },
 1.25303 -+      },
 1.25304 -+    },
 1.25305 -+    {
 1.25306 -+      AVR32_ALIAS_PICOSVMAC1,
 1.25307 -+      &avr32_opc_table[AVR32_OPC_COP],
 1.25308 -+      {
 1.25309 -+	{ 0, PICO_CPNO },
 1.25310 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25311 -+	{ 0, 0x0d },
 1.25312 -+      },
 1.25313 -+    },
 1.25314 -+    {
 1.25315 -+      AVR32_ALIAS_PICOSVMAC2,
 1.25316 -+      &avr32_opc_table[AVR32_OPC_COP],
 1.25317 -+      {
 1.25318 -+	{ 0, PICO_CPNO },
 1.25319 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25320 -+	{ 0, 0x0e },
 1.25321 -+      },
 1.25322 -+    },
 1.25323 -+    {
 1.25324 -+      AVR32_ALIAS_PICOSVMAC3,
 1.25325 -+      &avr32_opc_table[AVR32_OPC_COP],
 1.25326 -+      {
 1.25327 -+	{ 0, PICO_CPNO },
 1.25328 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25329 -+	{ 0, 0x0f },
 1.25330 -+      },
 1.25331 -+    },
 1.25332 -+    {
 1.25333 -+      AVR32_ALIAS_PICOSVMUL0,
 1.25334 -+      &avr32_opc_table[AVR32_OPC_COP],
 1.25335 -+      {
 1.25336 -+	{ 0, PICO_CPNO },
 1.25337 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25338 -+	{ 0, 0x08 },
 1.25339 -+      },
 1.25340 -+    },
 1.25341 -+    {
 1.25342 -+      AVR32_ALIAS_PICOSVMUL1,
 1.25343 -+      &avr32_opc_table[AVR32_OPC_COP],
 1.25344 -+      {
 1.25345 -+	{ 0, PICO_CPNO },
 1.25346 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25347 -+	{ 0, 0x09 },
 1.25348 -+      },
 1.25349 -+    },
 1.25350 -+    {
 1.25351 -+      AVR32_ALIAS_PICOSVMUL2,
 1.25352 -+      &avr32_opc_table[AVR32_OPC_COP],
 1.25353 -+      {
 1.25354 -+	{ 0, PICO_CPNO },
 1.25355 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25356 -+	{ 0, 0x0a },
 1.25357 -+      },
 1.25358 -+    },
 1.25359 -+    {
 1.25360 -+      AVR32_ALIAS_PICOSVMUL3,
 1.25361 -+      &avr32_opc_table[AVR32_OPC_COP],
 1.25362 -+      {
 1.25363 -+	{ 0, PICO_CPNO },
 1.25364 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25365 -+	{ 0, 0x0b },
 1.25366 -+      },
 1.25367 -+    },
 1.25368 -+    {
 1.25369 -+      AVR32_ALIAS_PICOVMAC0,
 1.25370 -+      &avr32_opc_table[AVR32_OPC_COP],
 1.25371 -+      {
 1.25372 -+	{ 0, PICO_CPNO },
 1.25373 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25374 -+	{ 0, 0x04 },
 1.25375 -+      },
 1.25376 -+    },
 1.25377 -+    {
 1.25378 -+      AVR32_ALIAS_PICOVMAC1,
 1.25379 -+      &avr32_opc_table[AVR32_OPC_COP],
 1.25380 -+      {
 1.25381 -+	{ 0, PICO_CPNO },
 1.25382 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25383 -+	{ 0, 0x05 },
 1.25384 -+      },
 1.25385 -+    },
 1.25386 -+    {
 1.25387 -+      AVR32_ALIAS_PICOVMAC2,
 1.25388 -+      &avr32_opc_table[AVR32_OPC_COP],
 1.25389 -+      {
 1.25390 -+	{ 0, PICO_CPNO },
 1.25391 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25392 -+	{ 0, 0x06 },
 1.25393 -+      },
 1.25394 -+    },
 1.25395 -+    {
 1.25396 -+      AVR32_ALIAS_PICOVMAC3,
 1.25397 -+      &avr32_opc_table[AVR32_OPC_COP],
 1.25398 -+      {
 1.25399 -+	{ 0, PICO_CPNO },
 1.25400 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25401 -+	{ 0, 0x07 },
 1.25402 -+      },
 1.25403 -+    },
 1.25404 -+    {
 1.25405 -+      AVR32_ALIAS_PICOVMUL0,
 1.25406 -+      &avr32_opc_table[AVR32_OPC_COP],
 1.25407 -+      {
 1.25408 -+	{ 0, PICO_CPNO },
 1.25409 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25410 -+	{ 0, 0x00 },
 1.25411 -+      },
 1.25412 -+    },
 1.25413 -+    {
 1.25414 -+      AVR32_ALIAS_PICOVMUL1,
 1.25415 -+      &avr32_opc_table[AVR32_OPC_COP],
 1.25416 -+      {
 1.25417 -+	{ 0, PICO_CPNO },
 1.25418 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25419 -+	{ 0, 0x01 },
 1.25420 -+      },
 1.25421 -+    },
 1.25422 -+    {
 1.25423 -+      AVR32_ALIAS_PICOVMUL2,
 1.25424 -+      &avr32_opc_table[AVR32_OPC_COP],
 1.25425 -+      {
 1.25426 -+	{ 0, PICO_CPNO },
 1.25427 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25428 -+	{ 0, 0x02 },
 1.25429 -+      },
 1.25430 -+    },
 1.25431 -+    {
 1.25432 -+      AVR32_ALIAS_PICOVMUL3,
 1.25433 -+      &avr32_opc_table[AVR32_OPC_COP],
 1.25434 -+      {
 1.25435 -+	{ 0, PICO_CPNO },
 1.25436 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25437 -+	{ 0, 0x03 },
 1.25438 -+      },
 1.25439 -+    },
 1.25440 -+    {
 1.25441 -+      AVR32_ALIAS_PICOLD_D1,
 1.25442 -+      &avr32_opc_table[AVR32_OPC_LDC_D1],
 1.25443 -+      {
 1.25444 -+	{ 0, PICO_CPNO },
 1.25445 -+	{ 1, 0 }, { 1, 1 },
 1.25446 -+      },
 1.25447 -+    },
 1.25448 -+    {
 1.25449 -+      AVR32_ALIAS_PICOLD_D2,
 1.25450 -+      &avr32_opc_table[AVR32_OPC_LDC_D2],
 1.25451 -+      {
 1.25452 -+	{ 0, PICO_CPNO },
 1.25453 -+	{ 1, 0 }, { 1, 1 },
 1.25454 -+      },
 1.25455 -+    },
 1.25456 -+    {
 1.25457 -+      AVR32_ALIAS_PICOLD_D3,
 1.25458 -+      &avr32_opc_table[AVR32_OPC_LDC_D3],
 1.25459 -+      {
 1.25460 -+	{ 0, PICO_CPNO },
 1.25461 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 }, { 1, 3 },
 1.25462 -+      },
 1.25463 -+    },
 1.25464 -+    {
 1.25465 -+      AVR32_ALIAS_PICOLD_W1,
 1.25466 -+      &avr32_opc_table[AVR32_OPC_LDC_W1],
 1.25467 -+      {
 1.25468 -+	{ 0, PICO_CPNO },
 1.25469 -+	{ 1, 0 }, { 1, 1 },
 1.25470 -+      },
 1.25471 -+    },
 1.25472 -+    {
 1.25473 -+      AVR32_ALIAS_PICOLD_W2,
 1.25474 -+      &avr32_opc_table[AVR32_OPC_LDC_W2],
 1.25475 -+      {
 1.25476 -+	{ 0, PICO_CPNO },
 1.25477 -+	{ 1, 0 }, { 1, 1 },
 1.25478 -+      },
 1.25479 -+    },
 1.25480 -+    {
 1.25481 -+      AVR32_ALIAS_PICOLD_W3,
 1.25482 -+      &avr32_opc_table[AVR32_OPC_LDC_W3],
 1.25483 -+      {
 1.25484 -+	{ 0, PICO_CPNO },
 1.25485 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 }, { 1, 3 },
 1.25486 -+      },
 1.25487 -+    },
 1.25488 -+    {
 1.25489 -+      AVR32_ALIAS_PICOLDM_D,
 1.25490 -+      &avr32_opc_table[AVR32_OPC_LDCM_D],
 1.25491 -+      {
 1.25492 -+	{ 0, PICO_CPNO },
 1.25493 -+	{ 1, 0 }, { 1, 1 },
 1.25494 -+      },
 1.25495 -+    },
 1.25496 -+    {
 1.25497 -+      AVR32_ALIAS_PICOLDM_D_PU,
 1.25498 -+      &avr32_opc_table[AVR32_OPC_LDCM_D_PU],
 1.25499 -+      {
 1.25500 -+	{ 0, PICO_CPNO },
 1.25501 -+	{ 1, 0 }, { 1, 1 },
 1.25502 -+      },
 1.25503 -+    },
 1.25504 -+    {
 1.25505 -+      AVR32_ALIAS_PICOLDM_W,
 1.25506 -+      &avr32_opc_table[AVR32_OPC_LDCM_W],
 1.25507 -+      {
 1.25508 -+	{ 0, PICO_CPNO },
 1.25509 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25510 -+      },
 1.25511 -+    },
 1.25512 -+    {
 1.25513 -+      AVR32_ALIAS_PICOLDM_W_PU,
 1.25514 -+      &avr32_opc_table[AVR32_OPC_LDCM_W_PU],
 1.25515 -+      {
 1.25516 -+	{ 0, PICO_CPNO },
 1.25517 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25518 -+      },
 1.25519 -+    },
 1.25520 -+    {
 1.25521 -+      AVR32_ALIAS_PICOMV_D1,
 1.25522 -+      &avr32_opc_table[AVR32_OPC_MVCR_D],
 1.25523 -+      {
 1.25524 -+	{ 0, PICO_CPNO },
 1.25525 -+	{ 1, 0 }, { 1, 1 },
 1.25526 -+      },
 1.25527 -+    },
 1.25528 -+    {
 1.25529 -+      AVR32_ALIAS_PICOMV_D2,
 1.25530 -+      &avr32_opc_table[AVR32_OPC_MVRC_D],
 1.25531 -+      {
 1.25532 -+	{ 0, PICO_CPNO },
 1.25533 -+	{ 1, 0 }, { 1, 1 },
 1.25534 -+      },
 1.25535 -+    },
 1.25536 -+    {
 1.25537 -+      AVR32_ALIAS_PICOMV_W1,
 1.25538 -+      &avr32_opc_table[AVR32_OPC_MVCR_W],
 1.25539 -+      {
 1.25540 -+	{ 0, PICO_CPNO },
 1.25541 -+	{ 1, 0 }, { 1, 1 },
 1.25542 -+      },
 1.25543 -+    },
 1.25544 -+    {
 1.25545 -+      AVR32_ALIAS_PICOMV_W2,
 1.25546 -+      &avr32_opc_table[AVR32_OPC_MVRC_W],
 1.25547 -+      {
 1.25548 -+	{ 0, PICO_CPNO },
 1.25549 -+	{ 1, 0 }, { 1, 1 },
 1.25550 -+      },
 1.25551 -+    },
 1.25552 -+    {
 1.25553 -+      AVR32_ALIAS_PICOST_D1,
 1.25554 -+      &avr32_opc_table[AVR32_OPC_STC_D1],
 1.25555 -+      {
 1.25556 -+	{ 0, PICO_CPNO },
 1.25557 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25558 -+      },
 1.25559 -+    },
 1.25560 -+    {
 1.25561 -+      AVR32_ALIAS_PICOST_D2,
 1.25562 -+      &avr32_opc_table[AVR32_OPC_STC_D2],
 1.25563 -+      {
 1.25564 -+	{ 0, PICO_CPNO },
 1.25565 -+	{ 1, 0 }, { 1, 1 },
 1.25566 -+      },
 1.25567 -+    },
 1.25568 -+    {
 1.25569 -+      AVR32_ALIAS_PICOST_D3,
 1.25570 -+      &avr32_opc_table[AVR32_OPC_STC_D3],
 1.25571 -+      {
 1.25572 -+	{ 0, PICO_CPNO },
 1.25573 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 }, { 1, 3 },
 1.25574 -+      },
 1.25575 -+    },
 1.25576 -+    {
 1.25577 -+      AVR32_ALIAS_PICOST_W1,
 1.25578 -+      &avr32_opc_table[AVR32_OPC_STC_W1],
 1.25579 -+      {
 1.25580 -+	{ 0, PICO_CPNO },
 1.25581 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25582 -+      },
 1.25583 -+    },
 1.25584 -+    {
 1.25585 -+      AVR32_ALIAS_PICOST_W2,
 1.25586 -+      &avr32_opc_table[AVR32_OPC_STC_W2],
 1.25587 -+      {
 1.25588 -+	{ 0, PICO_CPNO },
 1.25589 -+	{ 1, 0 }, { 1, 1 },
 1.25590 -+      },
 1.25591 -+    },
 1.25592 -+    {
 1.25593 -+      AVR32_ALIAS_PICOST_W3,
 1.25594 -+      &avr32_opc_table[AVR32_OPC_STC_W3],
 1.25595 -+      {
 1.25596 -+	{ 0, PICO_CPNO },
 1.25597 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 }, { 1, 3 },
 1.25598 -+      },
 1.25599 -+    },
 1.25600 -+    {
 1.25601 -+      AVR32_ALIAS_PICOSTM_D,
 1.25602 -+      &avr32_opc_table[AVR32_OPC_STCM_D],
 1.25603 -+      {
 1.25604 -+	{ 0, PICO_CPNO },
 1.25605 -+	{ 1, 0 }, { 1, 1 },
 1.25606 -+      },
 1.25607 -+    },
 1.25608 -+    {
 1.25609 -+      AVR32_ALIAS_PICOSTM_D_PU,
 1.25610 -+      &avr32_opc_table[AVR32_OPC_STCM_D_PU],
 1.25611 -+      {
 1.25612 -+	{ 0, PICO_CPNO },
 1.25613 -+	{ 1, 0 }, { 1, 1 },
 1.25614 -+      },
 1.25615 -+    },
 1.25616 -+    {
 1.25617 -+      AVR32_ALIAS_PICOSTM_W,
 1.25618 -+      &avr32_opc_table[AVR32_OPC_STCM_W],
 1.25619 -+      {
 1.25620 -+	{ 0, PICO_CPNO },
 1.25621 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25622 -+      },
 1.25623 -+    },
 1.25624 -+    {
 1.25625 -+      AVR32_ALIAS_PICOSTM_W_PU,
 1.25626 -+      &avr32_opc_table[AVR32_OPC_STCM_W_PU],
 1.25627 -+      {
 1.25628 -+	{ 0, PICO_CPNO },
 1.25629 -+	{ 1, 0 }, { 1, 1 }, { 1, 2 },
 1.25630 -+      },
 1.25631 -+    },
 1.25632 -+  };
 1.25633 -+
 1.25634 -+
 1.25635 -+#define SYNTAX_NORMAL0(id, mne, opc, arch)			\
 1.25636 -+  {							\
 1.25637 -+    AVR32_SYNTAX_##id, arch,			\
 1.25638 -+    &avr32_mnemonic_table[AVR32_MNEMONIC_##mne],	\
 1.25639 -+    AVR32_PARSER_NORMAL,					\
 1.25640 -+    { &avr32_opc_table[AVR32_OPC_##opc], },		\
 1.25641 -+    NULL, 0, { }					\
 1.25642 -+  }
 1.25643 -+#define SYNTAX_NORMAL1(id, mne, opc, op0, arch)		\
 1.25644 -+  {							\
 1.25645 -+    AVR32_SYNTAX_##id, arch,			\
 1.25646 -+    &avr32_mnemonic_table[AVR32_MNEMONIC_##mne],	\
 1.25647 -+    AVR32_PARSER_NORMAL,					\
 1.25648 -+    { &avr32_opc_table[AVR32_OPC_##opc], },		\
 1.25649 -+    NULL, 1,						\
 1.25650 -+    {							\
 1.25651 -+      AVR32_OPERAND_##op0,				\
 1.25652 -+    }							\
 1.25653 -+  }
 1.25654 -+#define SYNTAX_NORMALM1(id, mne, opc, op0, arch)		\
 1.25655 -+  {							\
 1.25656 -+    AVR32_SYNTAX_##id, arch,			\
 1.25657 -+    &avr32_mnemonic_table[AVR32_MNEMONIC_##mne],	\
 1.25658 -+    AVR32_PARSER_NORMAL,					\
 1.25659 -+    { &avr32_opc_table[AVR32_OPC_##opc], },			\
 1.25660 -+    NULL, -1,						\
 1.25661 -+    {							\
 1.25662 -+      AVR32_OPERAND_##op0,				\
 1.25663 -+    }							\
 1.25664 -+  }
 1.25665 -+#define SYNTAX_NORMAL2(id, mne, opc, op0, op1, arch)		\
 1.25666 -+  {							\
 1.25667 -+    AVR32_SYNTAX_##id, arch,			\
 1.25668 -+    &avr32_mnemonic_table[AVR32_MNEMONIC_##mne],	\
 1.25669 -+    AVR32_PARSER_NORMAL,					\
 1.25670 -+    { &avr32_opc_table[AVR32_OPC_##opc], },			\
 1.25671 -+    NULL, 2,						\
 1.25672 -+    {							\
 1.25673 -+      AVR32_OPERAND_##op0, AVR32_OPERAND_##op1,		\
 1.25674 -+    }							\
 1.25675 -+  }
 1.25676 -+#define SYNTAX_NORMALM2(id, mne, opc, op0, op1, arch)		\
 1.25677 -+  {							\
 1.25678 -+    AVR32_SYNTAX_##id, arch,			\
 1.25679 -+    &avr32_mnemonic_table[AVR32_MNEMONIC_##mne],	\
 1.25680 -+    AVR32_PARSER_NORMAL,					\
 1.25681 -+    { &avr32_opc_table[AVR32_OPC_##opc], },			\
 1.25682 -+    NULL, -2,						\
 1.25683 -+    {							\
 1.25684 -+      AVR32_OPERAND_##op0, AVR32_OPERAND_##op1,		\
 1.25685 -+    }							\
 1.25686 -+  }
 1.25687 -+#define SYNTAX_NORMAL3(id, mne, opc, op0, op1, op2, arch)	\
 1.25688 -+  {							\
 1.25689 -+    AVR32_SYNTAX_##id, arch,			\
 1.25690 -+    &avr32_mnemonic_table[AVR32_MNEMONIC_##mne],	\
 1.25691 -+    AVR32_PARSER_NORMAL,					\
 1.25692 -+    { &avr32_opc_table[AVR32_OPC_##opc], },			\
 1.25693 -+    NULL, 3,						\
 1.25694 -+    {							\
 1.25695 -+      AVR32_OPERAND_##op0, AVR32_OPERAND_##op1,		\
 1.25696 -+      AVR32_OPERAND_##op2,				\
 1.25697 -+    }							\
 1.25698 -+  }
 1.25699 -+#define SYNTAX_NORMALM3(id, mne, opc, op0, op1, op2, arch)	\
 1.25700 -+  {							\
 1.25701 -+    AVR32_SYNTAX_##id, arch,			\
 1.25702 -+    &avr32_mnemonic_table[AVR32_MNEMONIC_##mne],	\
 1.25703 -+    AVR32_PARSER_NORMAL,					\
 1.25704 -+    { &avr32_opc_table[AVR32_OPC_##opc], },			\
 1.25705 -+    NULL, -3,						\
 1.25706 -+    {							\
 1.25707 -+      AVR32_OPERAND_##op0, AVR32_OPERAND_##op1,		\
 1.25708 -+      AVR32_OPERAND_##op2,				\
 1.25709 -+    }							\
 1.25710 -+  }
 1.25711 -+#define SYNTAX_NORMAL4(id, mne, opc, op0, op1, op2, op3, arch)\
 1.25712 -+  {							\
 1.25713 -+    AVR32_SYNTAX_##id, arch,			\
 1.25714 -+    &avr32_mnemonic_table[AVR32_MNEMONIC_##mne],	\
 1.25715 -+    AVR32_PARSER_NORMAL,					\
 1.25716 -+    { &avr32_opc_table[AVR32_OPC_##opc], },			\
 1.25717 -+    NULL, 4,						\
 1.25718 -+    {							\
 1.25719 -+      AVR32_OPERAND_##op0, AVR32_OPERAND_##op1,		\
 1.25720 -+      AVR32_OPERAND_##op2, AVR32_OPERAND_##op3,		\
 1.25721 -+    }							\
 1.25722 -+  }
 1.25723 -+#define SYNTAX_NORMAL5(id, mne, opc, op0, op1, op2, op3, op4, arch)	\
 1.25724 -+  {								\
 1.25725 -+    AVR32_SYNTAX_##id, arch,				\
 1.25726 -+    &avr32_mnemonic_table[AVR32_MNEMONIC_##mne],		\
 1.25727 -+    AVR32_PARSER_NORMAL,						\
 1.25728 -+    { &avr32_opc_table[AVR32_OPC_##opc], },				\
 1.25729 -+    NULL, 5,							\
 1.25730 -+    {								\
 1.25731 -+      AVR32_OPERAND_##op0, AVR32_OPERAND_##op1,			\
 1.25732 -+      AVR32_OPERAND_##op2, AVR32_OPERAND_##op3,			\
 1.25733 -+      AVR32_OPERAND_##op4,					\
 1.25734 -+    }								\
 1.25735 -+  }
 1.25736 -+
 1.25737 -+#define SYNTAX_NORMAL_C1(id, mne, opc, nxt, op0, arch)	\
 1.25738 -+  {							\
 1.25739 -+    AVR32_SYNTAX_##id, arch,			\
 1.25740 -+    &avr32_mnemonic_table[AVR32_MNEMONIC_##mne],	\
 1.25741 -+    AVR32_PARSER_NORMAL,					\
 1.25742 -+    { &avr32_opc_table[AVR32_OPC_##opc], },			\
 1.25743 -+    &avr32_syntax_table[AVR32_SYNTAX_##nxt], 1,		\
 1.25744 -+    {							\
 1.25745 -+      AVR32_OPERAND_##op0,				\
 1.25746 -+    }							\
 1.25747 -+  }
 1.25748 -+#define SYNTAX_NORMAL_CM1(id, mne, opc, nxt, op0, arch)	\
 1.25749 -+  {							\
 1.25750 -+    AVR32_SYNTAX_##id, arch,			\
 1.25751 -+    &avr32_mnemonic_table[AVR32_MNEMONIC_##mne],	\
 1.25752 -+    AVR32_PARSER_NORMAL,					\
 1.25753 -+    { &avr32_opc_table[AVR32_OPC_##opc], },			\
 1.25754 -+    &avr32_syntax_table[AVR32_SYNTAX_##nxt], -1,	\
 1.25755 -+    {							\
 1.25756 -+      AVR32_OPERAND_##op0,				\
 1.25757 -+    }							\
 1.25758 -+  }
 1.25759 -+#define SYNTAX_NORMAL_C2(id, mne, opc, nxt, op0, op1, arch)	\
 1.25760 -+  {							\
 1.25761 -+    AVR32_SYNTAX_##id, arch,			\
 1.25762 -+    &avr32_mnemonic_table[AVR32_MNEMONIC_##mne],	\
 1.25763 -+    AVR32_PARSER_NORMAL,					\
 1.25764 -+    { &avr32_opc_table[AVR32_OPC_##opc], },			\
 1.25765 -+    &avr32_syntax_table[AVR32_SYNTAX_##nxt], 2,		\
 1.25766 -+    {							\
 1.25767 -+      AVR32_OPERAND_##op0, AVR32_OPERAND_##op1,		\
 1.25768 -+    }							\
 1.25769 -+  }
 1.25770 -+#define SYNTAX_NORMAL_CM2(id, mne, opc, nxt, op0, op1, arch)	\
 1.25771 -+  {							\
 1.25772 -+    AVR32_SYNTAX_##id, arch,			\
 1.25773 -+    &avr32_mnemonic_table[AVR32_MNEMONIC_##mne],	\
 1.25774 -+    AVR32_PARSER_NORMAL,					\
 1.25775 -+    { &avr32_opc_table[AVR32_OPC_##opc], },			\
 1.25776 -+    &avr32_syntax_table[AVR32_SYNTAX_##nxt], -2,	\
 1.25777 -+    {							\
 1.25778 -+      AVR32_OPERAND_##op0, AVR32_OPERAND_##op1,		\
 1.25779 -+    }							\
 1.25780 -+  }
 1.25781 -+#define SYNTAX_NORMAL_C3(id, mne, opc, nxt, op0, op1, op2, arch)	\
 1.25782 -+  {								\
 1.25783 -+    AVR32_SYNTAX_##id, arch,				\
 1.25784 -+    &avr32_mnemonic_table[AVR32_MNEMONIC_##mne],		\
 1.25785 -+    AVR32_PARSER_NORMAL,						\
 1.25786 -+    { &avr32_opc_table[AVR32_OPC_##opc], },				\
 1.25787 -+    &avr32_syntax_table[AVR32_SYNTAX_##nxt], 3,			\
 1.25788 -+    {								\
 1.25789 -+      AVR32_OPERAND_##op0, AVR32_OPERAND_##op1,			\
 1.25790 -+      AVR32_OPERAND_##op2,					\
 1.25791 -+    }								\
 1.25792 -+  }
 1.25793 -+#define SYNTAX_NORMAL_CM3(id, mne, opc, nxt, op0, op1, op2, arch)	\
 1.25794 -+  {								\
 1.25795 -+    AVR32_SYNTAX_##id, arch,				\
 1.25796 -+    &avr32_mnemonic_table[AVR32_MNEMONIC_##mne],		\
 1.25797 -+    AVR32_PARSER_NORMAL,						\
 1.25798 -+    { &avr32_opc_table[AVR32_OPC_##opc], },				\
 1.25799 -+    &avr32_syntax_table[AVR32_SYNTAX_##nxt], -3,		\
 1.25800 -+    {								\
 1.25801 -+      AVR32_OPERAND_##op0, AVR32_OPERAND_##op1,			\
 1.25802 -+      AVR32_OPERAND_##op2,					\
 1.25803 -+    }								\
 1.25804 -+  }
 1.25805 -+
 1.25806 -+#define SYNTAX_FP(name, nr_ops)					\
 1.25807 -+    {								\
 1.25808 -+      AVR32_SYNTAX_##name##_S,					\
 1.25809 -+      AVR32_FP, NULL, AVR32_PARSER_ALIAS,			\
 1.25810 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_##name##_S] },	\
 1.25811 -+      NULL, nr_ops,						\
 1.25812 -+      {								\
 1.25813 -+	AVR32_OPERAND_FPREG_S,					\
 1.25814 -+	AVR32_OPERAND_FPREG_S,					\
 1.25815 -+	AVR32_OPERAND_FPREG_S,					\
 1.25816 -+      },							\
 1.25817 -+    },								\
 1.25818 -+    {								\
 1.25819 -+      AVR32_SYNTAX_##name##_D,					\
 1.25820 -+      AVR32_FP, NULL, AVR32_PARSER_ALIAS,			\
 1.25821 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_##name##_D] },	\
 1.25822 -+      NULL, nr_ops,						\
 1.25823 -+      {								\
 1.25824 -+	AVR32_OPERAND_FPREG_D,					\
 1.25825 -+	AVR32_OPERAND_FPREG_D,					\
 1.25826 -+	AVR32_OPERAND_FPREG_D,					\
 1.25827 -+      },							\
 1.25828 -+    }
 1.25829 -+
 1.25830 -+const struct avr32_syntax avr32_syntax_table[] =
 1.25831 -+  {
 1.25832 -+    SYNTAX_NORMAL1(ABS, ABS, ABS, INTREG, AVR32_V1),
 1.25833 -+    SYNTAX_NORMAL1(ACALL, ACALL, ACALL, UNSIGNED_CONST_W, AVR32_V1),
 1.25834 -+    SYNTAX_NORMAL1(ACR, ACR, ACR, INTREG,AVR32_V1),
 1.25835 -+    SYNTAX_NORMAL3(ADC, ADC, ADC, INTREG, INTREG, INTREG, AVR32_V1),
 1.25836 -+    SYNTAX_NORMAL_C2(ADD1, ADD, ADD1, ADD2, INTREG, INTREG, AVR32_V1),
 1.25837 -+    SYNTAX_NORMAL3(ADD2, ADD, ADD2, INTREG, INTREG, INTREG_LSL, AVR32_V1),
 1.25838 -+    SYNTAX_NORMAL3(ADDABS, ADDABS, ADDABS, INTREG, INTREG, INTREG, AVR32_V1),
 1.25839 -+    SYNTAX_NORMAL3(ADDHH_W, ADDHH_W, ADDHH_W, INTREG, INTREG_HSEL, INTREG_HSEL, AVR32_DSP),
 1.25840 -+    SYNTAX_NORMAL_C2(AND1, AND, AND1, AND2, INTREG, INTREG, AVR32_V1),
 1.25841 -+    SYNTAX_NORMAL_C3(AND2, AND, AND2, AND3, INTREG, INTREG, INTREG_LSL, AVR32_V1),
 1.25842 -+    SYNTAX_NORMAL3(AND3, AND, AND3, INTREG, INTREG, INTREG_LSR, AVR32_V1),
 1.25843 -+    SYNTAX_NORMAL_C2(ANDH, ANDH, ANDH, ANDH_COH, INTREG, UNSIGNED_CONST, AVR32_V1),
 1.25844 -+    SYNTAX_NORMAL3(ANDH_COH, ANDH, ANDH_COH, INTREG, UNSIGNED_CONST, COH, AVR32_V1),
 1.25845 -+    SYNTAX_NORMAL_C2(ANDL, ANDL, ANDL, ANDL_COH, INTREG, UNSIGNED_CONST, AVR32_V1),
 1.25846 -+    SYNTAX_NORMAL3(ANDL_COH, ANDL, ANDL_COH, INTREG, UNSIGNED_CONST, COH, AVR32_V1),
 1.25847 -+    SYNTAX_NORMAL2(ANDN, ANDN, ANDN, INTREG, INTREG, AVR32_V1),
 1.25848 -+    SYNTAX_NORMAL_C3(ASR1, ASR, ASR1, ASR3, INTREG, INTREG, INTREG, AVR32_V1),
 1.25849 -+    SYNTAX_NORMAL_C3(ASR3, ASR, ASR3, ASR2, INTREG, INTREG, UNSIGNED_NUMBER, AVR32_V1),
 1.25850 -+    SYNTAX_NORMAL2(ASR2, ASR, ASR2, INTREG, UNSIGNED_NUMBER, AVR32_V1),
 1.25851 -+    SYNTAX_NORMAL4(BFEXTS, BFEXTS, BFEXTS, INTREG, INTREG, UNSIGNED_NUMBER, UNSIGNED_NUMBER, AVR32_V1),
 1.25852 -+    SYNTAX_NORMAL4(BFEXTU, BFEXTU, BFEXTU, INTREG, INTREG, UNSIGNED_NUMBER, UNSIGNED_NUMBER, AVR32_V1),
 1.25853 -+    SYNTAX_NORMAL4(BFINS, BFINS, BFINS, INTREG, INTREG, UNSIGNED_NUMBER, UNSIGNED_NUMBER, AVR32_V1),
 1.25854 -+    SYNTAX_NORMAL2(BLD, BLD, BLD, INTREG, UNSIGNED_NUMBER, AVR32_V1),
 1.25855 -+    SYNTAX_NORMAL_C1(BREQ1, BREQ, BREQ1, BREQ2, JMPLABEL, AVR32_V1),
 1.25856 -+    SYNTAX_NORMAL_C1(BRNE1, BRNE, BRNE1, BRNE2, JMPLABEL, AVR32_V1),
 1.25857 -+    SYNTAX_NORMAL_C1(BRCC1, BRCC, BRCC1, BRCC2, JMPLABEL, AVR32_V1),
 1.25858 -+    SYNTAX_NORMAL_C1(BRCS1, BRCS, BRCS1, BRCS2, JMPLABEL, AVR32_V1),
 1.25859 -+    SYNTAX_NORMAL_C1(BRGE1, BRGE, BRGE1, BRGE2, JMPLABEL, AVR32_V1),
 1.25860 -+    SYNTAX_NORMAL_C1(BRLT1, BRLT, BRLT1, BRLT2, JMPLABEL, AVR32_V1),
 1.25861 -+    SYNTAX_NORMAL_C1(BRMI1, BRMI, BRMI1, BRMI2, JMPLABEL, AVR32_V1),
 1.25862 -+    SYNTAX_NORMAL_C1(BRPL1, BRPL, BRPL1, BRPL2, JMPLABEL, AVR32_V1),
 1.25863 -+    SYNTAX_NORMAL_C1(BRHS1, BRHS, BRCC1, BRHS2, JMPLABEL, AVR32_V1),
 1.25864 -+    SYNTAX_NORMAL_C1(BRLO1, BRLO, BRCS1, BRLO2, JMPLABEL, AVR32_V1),
 1.25865 -+    SYNTAX_NORMAL1(BREQ2, BREQ, BREQ2, JMPLABEL, AVR32_V1),
 1.25866 -+    SYNTAX_NORMAL1(BRNE2, BRNE, BRNE2, JMPLABEL, AVR32_V1),
 1.25867 -+    SYNTAX_NORMAL1(BRCC2, BRCC, BRCC2, JMPLABEL, AVR32_V1),
 1.25868 -+    SYNTAX_NORMAL1(BRCS2, BRCS, BRCS2, JMPLABEL, AVR32_V1),
 1.25869 -+    SYNTAX_NORMAL1(BRGE2, BRGE, BRGE2, JMPLABEL, AVR32_V1),
 1.25870 -+    SYNTAX_NORMAL1(BRLT2, BRLT, BRLT2, JMPLABEL, AVR32_V1),
 1.25871 -+    SYNTAX_NORMAL1(BRMI2, BRMI, BRMI2, JMPLABEL, AVR32_V1),
 1.25872 -+    SYNTAX_NORMAL1(BRPL2, BRPL, BRPL2, JMPLABEL, AVR32_V1),
 1.25873 -+    SYNTAX_NORMAL1(BRLS, BRLS, BRLS, JMPLABEL, AVR32_V1),
 1.25874 -+    SYNTAX_NORMAL1(BRGT, BRGT, BRGT, JMPLABEL, AVR32_V1),
 1.25875 -+    SYNTAX_NORMAL1(BRLE, BRLE, BRLE, JMPLABEL, AVR32_V1),
 1.25876 -+    SYNTAX_NORMAL1(BRHI, BRHI, BRHI, JMPLABEL, AVR32_V1),
 1.25877 -+    SYNTAX_NORMAL1(BRVS, BRVS, BRVS, JMPLABEL, AVR32_V1),
 1.25878 -+    SYNTAX_NORMAL1(BRVC, BRVC, BRVC, JMPLABEL, AVR32_V1),
 1.25879 -+    SYNTAX_NORMAL1(BRQS, BRQS, BRQS, JMPLABEL, AVR32_V1),
 1.25880 -+    SYNTAX_NORMAL1(BRAL, BRAL, BRAL, JMPLABEL, AVR32_V1),
 1.25881 -+    SYNTAX_NORMAL1(BRHS2, BRHS, BRCC2, JMPLABEL, AVR32_V1),
 1.25882 -+    SYNTAX_NORMAL1(BRLO2, BRLO, BRCS2, JMPLABEL, AVR32_V1),
 1.25883 -+    SYNTAX_NORMAL0(BREAKPOINT, BREAKPOINT, BREAKPOINT, AVR32_V1),
 1.25884 -+    SYNTAX_NORMAL1(BREV, BREV, BREV, INTREG, AVR32_V1),
 1.25885 -+    SYNTAX_NORMAL2(BST, BST, BST, INTREG, UNSIGNED_NUMBER, AVR32_V1),
 1.25886 -+    SYNTAX_NORMAL2(CACHE, CACHE, CACHE, INTREG_SDISP, UNSIGNED_NUMBER, AVR32_V1),
 1.25887 -+    SYNTAX_NORMAL1(CASTS_B, CASTS_B, CASTS_B, INTREG, AVR32_V1),
 1.25888 -+    SYNTAX_NORMAL1(CASTS_H, CASTS_H, CASTS_H, INTREG, AVR32_V1),
 1.25889 -+    SYNTAX_NORMAL1(CASTU_B, CASTU_B, CASTU_B, INTREG, AVR32_V1),
 1.25890 -+    SYNTAX_NORMAL1(CASTU_H, CASTU_H, CASTU_H, INTREG, AVR32_V1),
 1.25891 -+    SYNTAX_NORMAL2(CBR, CBR, CBR, INTREG, UNSIGNED_NUMBER, AVR32_V1),
 1.25892 -+    SYNTAX_NORMAL2(CLZ, CLZ, CLZ, INTREG, INTREG, AVR32_V1),
 1.25893 -+    SYNTAX_NORMAL1(COM, COM, COM, INTREG, AVR32_V1),
 1.25894 -+    SYNTAX_NORMAL5(COP, COP, COP, CPNO, CPREG, CPREG, CPREG, UNSIGNED_NUMBER, AVR32_V1),
 1.25895 -+    SYNTAX_NORMAL2(CP_B, CP_B, CP_B, INTREG, INTREG, AVR32_V1),
 1.25896 -+    SYNTAX_NORMAL2(CP_H, CP_H, CP_H, INTREG, INTREG, AVR32_V1),
 1.25897 -+    SYNTAX_NORMAL_C2(CP_W1, CP_W, CP_W1, CP_W2, INTREG, INTREG, AVR32_V1),
 1.25898 -+    SYNTAX_NORMAL_C2(CP_W2, CP_W, CP_W2, CP_W3, INTREG, SIGNED_CONST, AVR32_V1),
 1.25899 -+    SYNTAX_NORMAL2(CP_W3, CP_W, CP_W3, INTREG, SIGNED_CONST, AVR32_V1),
 1.25900 -+    SYNTAX_NORMAL_C2(CPC1, CPC, CPC1, CPC2, INTREG, INTREG, AVR32_V1),
 1.25901 -+    SYNTAX_NORMAL1(CPC2, CPC, CPC2, INTREG, AVR32_V1),
 1.25902 -+    SYNTAX_NORMAL1(CSRF, CSRF, CSRF, UNSIGNED_NUMBER, AVR32_V1),
 1.25903 -+    SYNTAX_NORMAL1(CSRFCZ, CSRFCZ, CSRFCZ, UNSIGNED_NUMBER, AVR32_V1),
 1.25904 -+    SYNTAX_NORMAL3(DIVS, DIVS, DIVS, INTREG, INTREG, INTREG, AVR32_V1),
 1.25905 -+    SYNTAX_NORMAL3(DIVU, DIVU, DIVU, INTREG, INTREG, INTREG, AVR32_V1),
 1.25906 -+    SYNTAX_NORMAL_C2(EOR1, EOR, EOR1, EOR2, INTREG, INTREG, AVR32_V1),
 1.25907 -+    SYNTAX_NORMAL_C3(EOR2, EOR, EOR2, EOR3, INTREG, INTREG, INTREG_LSL, AVR32_V1),
 1.25908 -+    SYNTAX_NORMAL3(EOR3, EOR, EOR3, INTREG, INTREG, INTREG_LSR, AVR32_V1),
 1.25909 -+    SYNTAX_NORMAL2(EORL, EORL, EORL, INTREG, UNSIGNED_CONST, AVR32_V1),
 1.25910 -+    SYNTAX_NORMAL2(EORH, EORH, EORH, INTREG, UNSIGNED_CONST, AVR32_V1),
 1.25911 -+    SYNTAX_NORMAL0(FRS, FRS, FRS, AVR32_V1),
 1.25912 -+    SYNTAX_NORMAL1(ICALL, ICALL, ICALL, INTREG, AVR32_V1),
 1.25913 -+    SYNTAX_NORMAL1(INCJOSP, INCJOSP, INCJOSP, JOSPINC, AVR32_V1),
 1.25914 -+    SYNTAX_NORMAL_C2(LD_D1, LD_D, LD_D1, LD_D2, DWREG, INTREG_POSTINC, AVR32_V1),
 1.25915 -+    SYNTAX_NORMAL_C2(LD_D2, LD_D, LD_D2, LD_D3, DWREG, INTREG_PREDEC, AVR32_V1),
 1.25916 -+    SYNTAX_NORMAL_C2(LD_D3, LD_D, LD_D3, LD_D5, DWREG, INTREG, AVR32_V1),
 1.25917 -+    SYNTAX_NORMAL_C2(LD_D5, LD_D, LD_D5, LD_D4, DWREG, INTREG_INDEX, AVR32_V1),
 1.25918 -+    SYNTAX_NORMAL2(LD_D4, LD_D, LD_D4, DWREG, INTREG_SDISP, AVR32_V1),
 1.25919 -+    SYNTAX_NORMAL_C2(LD_SB2, LD_SB, LD_SB2, LD_SB1, INTREG, INTREG_INDEX, AVR32_V1),
 1.25920 -+    SYNTAX_NORMAL2(LD_SB1, LD_SB, LD_SB1, INTREG, INTREG_SDISP, AVR32_V1),
 1.25921 -+    SYNTAX_NORMAL_C2(LD_UB1, LD_UB, LD_UB1, LD_UB2, INTREG, INTREG_POSTINC, AVR32_V1),
 1.25922 -+    SYNTAX_NORMAL_C2(LD_UB2, LD_UB, LD_UB2, LD_UB5, INTREG, INTREG_PREDEC, AVR32_V1),
 1.25923 -+    SYNTAX_NORMAL_C2(LD_UB5, LD_UB, LD_UB5, LD_UB3, INTREG, INTREG_INDEX, AVR32_V1),
 1.25924 -+    SYNTAX_NORMAL_C2(LD_UB3, LD_UB, LD_UB3, LD_UB4, INTREG, INTREG_UDISP, AVR32_V1),
 1.25925 -+    SYNTAX_NORMAL2(LD_UB4, LD_UB, LD_UB4, INTREG, INTREG_SDISP, AVR32_V1),
 1.25926 -+    SYNTAX_NORMAL_C2(LD_SH1, LD_SH, LD_SH1, LD_SH2, INTREG, INTREG_POSTINC, AVR32_V1),
 1.25927 -+    SYNTAX_NORMAL_C2(LD_SH2, LD_SH, LD_SH2, LD_SH5, INTREG, INTREG_PREDEC, AVR32_V1),
 1.25928 -+    SYNTAX_NORMAL_C2(LD_SH5, LD_SH, LD_SH5, LD_SH3, INTREG, INTREG_INDEX, AVR32_V1),
 1.25929 -+    SYNTAX_NORMAL_C2(LD_SH3, LD_SH, LD_SH3, LD_SH4, INTREG, INTREG_UDISP_H, AVR32_V1),
 1.25930 -+    SYNTAX_NORMAL2(LD_SH4, LD_SH, LD_SH4, INTREG, INTREG_SDISP, AVR32_V1),
 1.25931 -+    SYNTAX_NORMAL_C2(LD_UH1, LD_UH, LD_UH1, LD_UH2, INTREG, INTREG_POSTINC, AVR32_V1),
 1.25932 -+    SYNTAX_NORMAL_C2(LD_UH2, LD_UH, LD_UH2, LD_UH5, INTREG, INTREG_PREDEC, AVR32_V1),
 1.25933 -+    SYNTAX_NORMAL_C2(LD_UH5, LD_UH, LD_UH5, LD_UH3, INTREG, INTREG_INDEX, AVR32_V1),
 1.25934 -+    SYNTAX_NORMAL_C2(LD_UH3, LD_UH, LD_UH3, LD_UH4, INTREG, INTREG_UDISP_H, AVR32_V1),
 1.25935 -+    SYNTAX_NORMAL2(LD_UH4, LD_UH, LD_UH4, INTREG, INTREG_SDISP, AVR32_V1),
 1.25936 -+    SYNTAX_NORMAL_C2(LD_W1, LD_W, LD_W1, LD_W2, INTREG, INTREG_POSTINC, AVR32_V1),
 1.25937 -+    SYNTAX_NORMAL_C2(LD_W2, LD_W, LD_W2, LD_W5, INTREG, INTREG_PREDEC, AVR32_V1),
 1.25938 -+    SYNTAX_NORMAL_C2(LD_W5, LD_W, LD_W5, LD_W6, INTREG, INTREG_INDEX, AVR32_V1),
 1.25939 -+    SYNTAX_NORMAL_C2(LD_W6, LD_W, LD_W6, LD_W3, INTREG, INTREG_XINDEX, AVR32_V1),
 1.25940 -+    SYNTAX_NORMAL_C2(LD_W3, LD_W, LD_W3, LD_W4, INTREG, INTREG_UDISP_W, AVR32_V1),
 1.25941 -+    SYNTAX_NORMAL2(LD_W4, LD_W, LD_W4, INTREG, INTREG_SDISP, AVR32_V1),
 1.25942 -+    SYNTAX_NORMAL3(LDC_D1, LDC_D, LDC_D1, CPNO, CPREG_D, INTREG_UDISP_W, AVR32_V1),
 1.25943 -+    SYNTAX_NORMAL_C3(LDC_D2, LDC_D, LDC_D2, LDC_D1, CPNO, CPREG_D, INTREG_PREDEC, AVR32_V1),
 1.25944 -+    SYNTAX_NORMAL_C3(LDC_D3, LDC_D, LDC_D3, LDC_D2, CPNO, CPREG_D, INTREG_INDEX, AVR32_V1),
 1.25945 -+    SYNTAX_NORMAL3(LDC_W1, LDC_W, LDC_W1, CPNO, CPREG, INTREG_UDISP_W, AVR32_V1),
 1.25946 -+    SYNTAX_NORMAL_C3(LDC_W2, LDC_W, LDC_W2, LDC_W1, CPNO, CPREG, INTREG_PREDEC, AVR32_V1),
 1.25947 -+    SYNTAX_NORMAL_C3(LDC_W3, LDC_W, LDC_W3, LDC_W2, CPNO, CPREG, INTREG_INDEX, AVR32_V1),
 1.25948 -+    SYNTAX_NORMAL2(LDC0_D, LDC0_D, LDC0_D, CPREG_D, INTREG_UDISP_W, AVR32_V1),
 1.25949 -+    SYNTAX_NORMAL2(LDC0_W, LDC0_W, LDC0_W, CPREG, INTREG_UDISP_W, AVR32_V1),
 1.25950 -+    SYNTAX_NORMAL_CM3(LDCM_D, LDCM_D, LDCM_D, LDCM_D_PU, CPNO, INTREG, REGLIST_CPD8, AVR32_V1),
 1.25951 -+    SYNTAX_NORMALM3(LDCM_D_PU, LDCM_D, LDCM_D_PU, CPNO, INTREG_POSTINC, REGLIST_CPD8, AVR32_V1),
 1.25952 -+    SYNTAX_NORMAL_CM3(LDCM_W, LDCM_W, LDCM_W, LDCM_W_PU, CPNO, INTREG, REGLIST_CP8, AVR32_V1),
 1.25953 -+    SYNTAX_NORMALM3(LDCM_W_PU, LDCM_W, LDCM_W_PU, CPNO, INTREG_POSTINC, REGLIST_CP8, AVR32_V1),
 1.25954 -+    SYNTAX_NORMAL2(LDDPC, LDDPC, LDDPC, INTREG, PC_UDISP_W, AVR32_V1),
 1.25955 -+    SYNTAX_NORMAL2(LDDPC_EXT, LDDPC, LDDPC_EXT, INTREG, SIGNED_CONST, AVR32_V1),
 1.25956 -+    SYNTAX_NORMAL2(LDDSP, LDDSP, LDDSP, INTREG, SP_UDISP_W, AVR32_V1),
 1.25957 -+    SYNTAX_NORMAL2(LDINS_B, LDINS_B, LDINS_B, INTREG_BSEL, INTREG_SDISP, AVR32_V1),
 1.25958 -+    SYNTAX_NORMAL2(LDINS_H, LDINS_H, LDINS_H, INTREG_HSEL, INTREG_SDISP_H, AVR32_V1),
 1.25959 -+    SYNTAX_NORMALM1(LDM, LDM, LDM, REGLIST_LDM, AVR32_V1),
 1.25960 -+    SYNTAX_NORMAL_CM2(LDMTS, LDMTS, LDMTS, LDMTS_PU, INTREG, REGLIST16, AVR32_V1),
 1.25961 -+    SYNTAX_NORMALM2(LDMTS_PU, LDMTS, LDMTS_PU, INTREG_POSTINC, REGLIST16, AVR32_V1),
 1.25962 -+    SYNTAX_NORMAL2(LDSWP_SH, LDSWP_SH, LDSWP_SH, INTREG, INTREG_SDISP_H, AVR32_V1),
 1.25963 -+    SYNTAX_NORMAL2(LDSWP_UH, LDSWP_UH, LDSWP_UH, INTREG, INTREG_SDISP_H, AVR32_V1),
 1.25964 -+    SYNTAX_NORMAL2(LDSWP_W, LDSWP_W, LDSWP_W, INTREG, INTREG_SDISP_W, AVR32_V1),
 1.25965 -+    SYNTAX_NORMAL_C3(LSL1, LSL, LSL1, LSL3, INTREG, INTREG, INTREG, AVR32_V1),
 1.25966 -+    SYNTAX_NORMAL_C3(LSL3, LSL, LSL3, LSL2, INTREG, INTREG, UNSIGNED_NUMBER, AVR32_V1),
 1.25967 -+    SYNTAX_NORMAL2(LSL2, LSL, LSL2, INTREG, UNSIGNED_NUMBER, AVR32_V1),
 1.25968 -+    SYNTAX_NORMAL_C3(LSR1, LSR, LSR1, LSR3, INTREG, INTREG, INTREG, AVR32_V1),
 1.25969 -+    SYNTAX_NORMAL_C3(LSR3, LSR, LSR3, LSR2, INTREG, INTREG, UNSIGNED_NUMBER, AVR32_V1),
 1.25970 -+    SYNTAX_NORMAL2(LSR2, LSR, LSR2, INTREG, UNSIGNED_NUMBER, AVR32_V1),
 1.25971 -+    SYNTAX_NORMAL3(MAC, MAC, MAC, INTREG, INTREG, INTREG, AVR32_V1),
 1.25972 -+    SYNTAX_NORMAL3(MACHH_D, MACHH_D, MACHH_D, INTREG, INTREG_HSEL, INTREG_HSEL, AVR32_DSP),
 1.25973 -+    SYNTAX_NORMAL3(MACHH_W, MACHH_W, MACHH_W, INTREG, INTREG_HSEL, INTREG_HSEL, AVR32_DSP),
 1.25974 -+    SYNTAX_NORMAL3(MACS_D, MACS_D, MACS_D, INTREG, INTREG, INTREG, AVR32_V1),
 1.25975 -+    SYNTAX_NORMAL3(MACSATHH_W, MACSATHH_W, MACSATHH_W, INTREG, INTREG_HSEL, INTREG_HSEL, AVR32_DSP),
 1.25976 -+    SYNTAX_NORMAL3(MACUD, MACU_D, MACUD, INTREG, INTREG, INTREG, AVR32_V1),
 1.25977 -+    SYNTAX_NORMAL3(MACWH_D, MACWH_D, MACWH_D, INTREG, INTREG, INTREG_HSEL, AVR32_DSP),
 1.25978 -+    SYNTAX_NORMAL3(MAX, MAX, MAX, INTREG, INTREG, INTREG, AVR32_V1),
 1.25979 -+    SYNTAX_NORMAL1(MCALL, MCALL, MCALL, MCALL, AVR32_V1),
 1.25980 -+    SYNTAX_NORMAL2(MFDR, MFDR, MFDR, INTREG, UNSIGNED_CONST_W, AVR32_V1),
 1.25981 -+    SYNTAX_NORMAL2(MFSR, MFSR, MFSR, INTREG, UNSIGNED_CONST_W, AVR32_V1),
 1.25982 -+    SYNTAX_NORMAL3(MIN, MIN, MIN, INTREG, INTREG, INTREG, AVR32_V1),
 1.25983 -+    SYNTAX_NORMAL_C2(MOV3, MOV, MOV3, MOV1, INTREG, INTREG, AVR32_V1),
 1.25984 -+    SYNTAX_NORMAL_C2(MOV1, MOV, MOV1, MOV2, INTREG, SIGNED_CONST, AVR32_V1),
 1.25985 -+    SYNTAX_NORMAL2(MOV2, MOV, MOV2,INTREG, SIGNED_CONST, AVR32_V1),
 1.25986 -+    SYNTAX_NORMAL_C2(MOVEQ1, MOVEQ, MOVEQ1, MOVEQ2, INTREG, INTREG, AVR32_V1),
 1.25987 -+    SYNTAX_NORMAL_C2(MOVNE1, MOVNE, MOVNE1, MOVNE2, INTREG, INTREG, AVR32_V1),
 1.25988 -+    SYNTAX_NORMAL_C2(MOVCC1, MOVCC, MOVCC1, MOVCC2, INTREG, INTREG, AVR32_V1),
 1.25989 -+    SYNTAX_NORMAL_C2(MOVCS1, MOVCS, MOVCS1, MOVCS2, INTREG, INTREG, AVR32_V1),
 1.25990 -+    SYNTAX_NORMAL_C2(MOVGE1, MOVGE, MOVGE1, MOVGE2, INTREG, INTREG, AVR32_V1),
 1.25991 -+    SYNTAX_NORMAL_C2(MOVLT1, MOVLT, MOVLT1, MOVLT2, INTREG, INTREG, AVR32_V1),
 1.25992 -+    SYNTAX_NORMAL_C2(MOVMI1, MOVMI, MOVMI1, MOVMI2, INTREG, INTREG, AVR32_V1),
 1.25993 -+    SYNTAX_NORMAL_C2(MOVPL1, MOVPL, MOVPL1, MOVPL2, INTREG, INTREG, AVR32_V1),
 1.25994 -+    SYNTAX_NORMAL_C2(MOVLS1, MOVLS, MOVLS1, MOVLS2, INTREG, INTREG, AVR32_V1),
 1.25995 -+    SYNTAX_NORMAL_C2(MOVGT1, MOVGT, MOVGT1, MOVGT2, INTREG, INTREG, AVR32_V1),
 1.25996 -+    SYNTAX_NORMAL_C2(MOVLE1, MOVLE, MOVLE1, MOVLE2, INTREG, INTREG, AVR32_V1),
 1.25997 -+    SYNTAX_NORMAL_C2(MOVHI1, MOVHI, MOVHI1, MOVHI2, INTREG, INTREG, AVR32_V1),
 1.25998 -+    SYNTAX_NORMAL_C2(MOVVS1, MOVVS, MOVVS1, MOVVS2, INTREG, INTREG, AVR32_V1),
 1.25999 -+    SYNTAX_NORMAL_C2(MOVVC1, MOVVC, MOVVC1, MOVVC2, INTREG, INTREG, AVR32_V1),
 1.26000 -+    SYNTAX_NORMAL_C2(MOVQS1, MOVQS, MOVQS1, MOVQS2, INTREG, INTREG, AVR32_V1),
 1.26001 -+    SYNTAX_NORMAL_C2(MOVAL1, MOVAL, MOVAL1, MOVAL2, INTREG, INTREG, AVR32_V1),
 1.26002 -+    SYNTAX_NORMAL_C2(MOVHS1, MOVHS, MOVCC1, MOVHS2, INTREG, INTREG, AVR32_V1),
 1.26003 -+    SYNTAX_NORMAL_C2(MOVLO1, MOVLO, MOVCS1, MOVLO2, INTREG, INTREG, AVR32_V1),
 1.26004 -+    SYNTAX_NORMAL2(MOVEQ2, MOVEQ, MOVEQ2, INTREG, SIGNED_CONST, AVR32_V1),
 1.26005 -+    SYNTAX_NORMAL2(MOVNE2, MOVNE, MOVNE2, INTREG, SIGNED_CONST, AVR32_V1),
 1.26006 -+    SYNTAX_NORMAL2(MOVCC2, MOVCC, MOVCC2, INTREG, SIGNED_CONST, AVR32_V1),
 1.26007 -+    SYNTAX_NORMAL2(MOVCS2, MOVCS, MOVCS2, INTREG, SIGNED_CONST, AVR32_V1),
 1.26008 -+    SYNTAX_NORMAL2(MOVGE2, MOVGE, MOVGE2, INTREG, SIGNED_CONST, AVR32_V1),
 1.26009 -+    SYNTAX_NORMAL2(MOVLT2, MOVLT, MOVLT2, INTREG, SIGNED_CONST, AVR32_V1),
 1.26010 -+    SYNTAX_NORMAL2(MOVMI2, MOVMI, MOVMI2, INTREG, SIGNED_CONST, AVR32_V1),
 1.26011 -+    SYNTAX_NORMAL2(MOVPL2, MOVPL, MOVPL2, INTREG, SIGNED_CONST, AVR32_V1),
 1.26012 -+    SYNTAX_NORMAL2(MOVLS2, MOVLS, MOVLS2, INTREG, SIGNED_CONST, AVR32_V1),
 1.26013 -+    SYNTAX_NORMAL2(MOVGT2, MOVGT, MOVGT2, INTREG, SIGNED_CONST, AVR32_V1),
 1.26014 -+    SYNTAX_NORMAL2(MOVLE2, MOVLE, MOVLE2, INTREG, SIGNED_CONST, AVR32_V1),
 1.26015 -+    SYNTAX_NORMAL2(MOVHI2, MOVHI, MOVHI2, INTREG, SIGNED_CONST, AVR32_V1),
 1.26016 -+    SYNTAX_NORMAL2(MOVVS2, MOVVS, MOVVS2, INTREG, SIGNED_CONST, AVR32_V1),
 1.26017 -+    SYNTAX_NORMAL2(MOVVC2, MOVVC, MOVVC2, INTREG, SIGNED_CONST, AVR32_V1),
 1.26018 -+    SYNTAX_NORMAL2(MOVQS2, MOVQS, MOVQS2, INTREG, SIGNED_CONST, AVR32_V1),
 1.26019 -+    SYNTAX_NORMAL2(MOVAL2, MOVAL, MOVAL2, INTREG, SIGNED_CONST, AVR32_V1),
 1.26020 -+    SYNTAX_NORMAL2(MOVHS2, MOVHS, MOVCC2, INTREG, SIGNED_CONST, AVR32_V1),
 1.26021 -+    SYNTAX_NORMAL2(MOVLO2, MOVLO, MOVCS2, INTREG, SIGNED_CONST, AVR32_V1),
 1.26022 -+    SYNTAX_NORMAL2(MTDR, MTDR, MTDR, UNSIGNED_CONST_W, INTREG, AVR32_V1),
 1.26023 -+    SYNTAX_NORMAL2(MTSR, MTSR, MTSR, UNSIGNED_CONST_W, INTREG, AVR32_V1),
 1.26024 -+    SYNTAX_NORMAL_C2(MUL1, MUL, MUL1, MUL2, INTREG, INTREG, AVR32_V1),
 1.26025 -+    SYNTAX_NORMAL_C3(MUL2, MUL, MUL2, MUL3, INTREG, INTREG, INTREG, AVR32_V1),
 1.26026 -+    SYNTAX_NORMAL3(MUL3, MUL, MUL3, INTREG, INTREG, SIGNED_CONST, AVR32_V1),
 1.26027 -+    SYNTAX_NORMAL3(MULHH_W, MULHH_W, MULHH_W, INTREG, INTREG_HSEL, INTREG_HSEL, AVR32_DSP),
 1.26028 -+    SYNTAX_NORMAL3(MULNHH_W, MULNHH_W, MULNHH_W, INTREG, INTREG_HSEL, INTREG_HSEL, AVR32_DSP),
 1.26029 -+    SYNTAX_NORMAL3(MULNWH_D, MULNWH_D, MULNWH_D, INTREG, INTREG, INTREG_HSEL, AVR32_DSP),
 1.26030 -+    SYNTAX_NORMAL3(MULSD, MULS_D, MULSD, INTREG, INTREG, INTREG, AVR32_V1),
 1.26031 -+    SYNTAX_NORMAL3(MULSATHH_H, MULSATHH_H, MULSATHH_H, INTREG, INTREG_HSEL, INTREG_HSEL, AVR32_DSP),
 1.26032 -+    SYNTAX_NORMAL3(MULSATHH_W, MULSATHH_W, MULSATHH_W, INTREG, INTREG_HSEL, INTREG_HSEL, AVR32_DSP),
 1.26033 -+    SYNTAX_NORMAL3(MULSATRNDHH_H, MULSATRNDHH_H, MULSATRNDHH_H, INTREG, INTREG_HSEL, INTREG_HSEL, AVR32_DSP),
 1.26034 -+    SYNTAX_NORMAL3(MULSATRNDWH_W, MULSATRNDWH_W, MULSATRNDWH_W, INTREG, INTREG, INTREG_HSEL, AVR32_DSP),
 1.26035 -+    SYNTAX_NORMAL3(MULSATWH_W, MULSATWH_W, MULSATWH_W, INTREG, INTREG, INTREG_HSEL, AVR32_DSP),
 1.26036 -+    SYNTAX_NORMAL3(MULU_D, MULU_D, MULU_D, INTREG, INTREG, INTREG, AVR32_V1),
 1.26037 -+    SYNTAX_NORMAL3(MULWH_D, MULWH_D, MULWH_D, INTREG, INTREG, INTREG_HSEL, AVR32_DSP),
 1.26038 -+    SYNTAX_NORMAL1(MUSFR, MUSFR, MUSFR, INTREG, AVR32_V1),
 1.26039 -+    SYNTAX_NORMAL1(MUSTR, MUSTR, MUSTR, INTREG, AVR32_V1),
 1.26040 -+    SYNTAX_NORMAL3(MVCR_D, MVCR_D, MVCR_D, CPNO, DWREG, CPREG_D, AVR32_V1),
 1.26041 -+    SYNTAX_NORMAL3(MVCR_W, MVCR_W, MVCR_W, CPNO, INTREG, CPREG, AVR32_V1),
 1.26042 -+    SYNTAX_NORMAL3(MVRC_D, MVRC_D, MVRC_D, CPNO, CPREG_D, DWREG, AVR32_V1),
 1.26043 -+    SYNTAX_NORMAL3(MVRC_W, MVRC_W, MVRC_W, CPNO, CPREG, INTREG, AVR32_V1),
 1.26044 -+    SYNTAX_NORMAL1(NEG, NEG, NEG, INTREG, AVR32_V1),
 1.26045 -+    SYNTAX_NORMAL0(NOP, NOP, NOP, AVR32_V1),
 1.26046 -+    SYNTAX_NORMAL_C2(OR1, OR, OR1, OR2, INTREG, INTREG, AVR32_V1),
 1.26047 -+    SYNTAX_NORMAL_C3(OR2, OR, OR2, OR3, INTREG, INTREG, INTREG_LSL, AVR32_V1),
 1.26048 -+    SYNTAX_NORMAL3(OR3, OR, OR3, INTREG, INTREG, INTREG_LSR, AVR32_V1),
 1.26049 -+    SYNTAX_NORMAL2(ORH, ORH, ORH, INTREG, UNSIGNED_CONST, AVR32_V1),
 1.26050 -+    SYNTAX_NORMAL2(ORL, ORL, ORL, INTREG, UNSIGNED_CONST, AVR32_V1),
 1.26051 -+    SYNTAX_NORMAL2(PABS_SB, PABS_SB, PABS_SB, INTREG, INTREG, AVR32_SIMD),
 1.26052 -+    SYNTAX_NORMAL2(PABS_SH, PABS_SH, PABS_SH, INTREG, INTREG, AVR32_SIMD),
 1.26053 -+    SYNTAX_NORMAL3(PACKSH_SB, PACKSH_SB, PACKSH_SB, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26054 -+    SYNTAX_NORMAL3(PACKSH_UB, PACKSH_UB, PACKSH_UB, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26055 -+    SYNTAX_NORMAL3(PACKW_SH, PACKW_SH, PACKW_SH, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26056 -+    SYNTAX_NORMAL3(PADD_B, PADD_B, PADD_B, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26057 -+    SYNTAX_NORMAL3(PADD_H, PADD_H, PADD_H, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26058 -+    SYNTAX_NORMAL3(PADDH_SH, PADDH_SH, PADDH_SH, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26059 -+    SYNTAX_NORMAL3(PADDH_UB, PADDH_UB, PADDH_UB, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26060 -+    SYNTAX_NORMAL3(PADDS_SB, PADDS_SB, PADDS_SB, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26061 -+    SYNTAX_NORMAL3(PADDS_SH, PADDS_SH, PADDS_SH, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26062 -+    SYNTAX_NORMAL3(PADDS_UB, PADDS_UB, PADDS_UB, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26063 -+    SYNTAX_NORMAL3(PADDS_UH, PADDS_UH, PADDS_UH, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26064 -+    SYNTAX_NORMAL3(PADDSUB_H, PADDSUB_H, PADDSUB_H, INTREG, INTREG_HSEL, INTREG_HSEL, AVR32_SIMD),
 1.26065 -+    SYNTAX_NORMAL3(PADDSUBH_SH, PADDSUBH_SH, PADDSUBH_SH, INTREG, INTREG_HSEL, INTREG_HSEL, AVR32_SIMD),
 1.26066 -+    SYNTAX_NORMAL3(PADDSUBS_SH, PADDSUBS_SH, PADDSUBS_SH, INTREG, INTREG_HSEL, INTREG_HSEL, AVR32_SIMD),
 1.26067 -+    SYNTAX_NORMAL3(PADDSUBS_UH, PADDSUBS_UH, PADDSUBS_UH, INTREG, INTREG_HSEL, INTREG_HSEL, AVR32_SIMD),
 1.26068 -+    SYNTAX_NORMAL3(PADDX_H, PADDX_H, PADDX_H, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26069 -+    SYNTAX_NORMAL3(PADDXH_SH, PADDXH_SH, PADDXH_SH, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26070 -+    SYNTAX_NORMAL3(PADDXS_SH, PADDXS_SH, PADDXS_SH, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26071 -+    SYNTAX_NORMAL3(PADDXS_UH, PADDXS_UH, PADDXS_UH, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26072 -+    SYNTAX_NORMAL3(PASR_B, PASR_B, PASR_B, INTREG, INTREG, UNSIGNED_NUMBER, AVR32_SIMD),
 1.26073 -+    SYNTAX_NORMAL3(PASR_H, PASR_H, PASR_H, INTREG, INTREG, UNSIGNED_NUMBER, AVR32_SIMD),
 1.26074 -+    SYNTAX_NORMAL3(PAVG_SH, PAVG_SH, PAVG_SH, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26075 -+    SYNTAX_NORMAL3(PAVG_UB, PAVG_UB, PAVG_UB, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26076 -+    SYNTAX_NORMAL3(PLSL_B, PLSL_B, PLSL_B, INTREG, INTREG, UNSIGNED_NUMBER, AVR32_SIMD),
 1.26077 -+    SYNTAX_NORMAL3(PLSL_H, PLSL_H, PLSL_H, INTREG, INTREG, UNSIGNED_NUMBER, AVR32_SIMD),
 1.26078 -+    SYNTAX_NORMAL3(PLSR_B, PLSR_B, PLSR_B, INTREG, INTREG, UNSIGNED_NUMBER, AVR32_SIMD),
 1.26079 -+    SYNTAX_NORMAL3(PLSR_H, PLSR_H, PLSR_H, INTREG, INTREG, UNSIGNED_NUMBER, AVR32_SIMD),
 1.26080 -+    SYNTAX_NORMAL3(PMAX_SH, PMAX_SH, PMAX_SH, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26081 -+    SYNTAX_NORMAL3(PMAX_UB, PMAX_UB, PMAX_UB, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26082 -+    SYNTAX_NORMAL3(PMIN_SH, PMIN_SH, PMIN_SH, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26083 -+    SYNTAX_NORMAL3(PMIN_UB, PMIN_UB, PMIN_UB, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26084 -+    SYNTAX_NORMAL0(POPJC, POPJC, POPJC, AVR32_V1),
 1.26085 -+    SYNTAX_NORMAL_CM1(POPM, POPM, POPM, POPM_E, REGLIST9, AVR32_V1),
 1.26086 -+    SYNTAX_NORMALM1(POPM_E, POPM, POPM_E, REGLIST16, AVR32_V1),
 1.26087 -+    SYNTAX_NORMAL1(PREF, PREF, PREF, INTREG_SDISP, AVR32_V1),
 1.26088 -+    SYNTAX_NORMAL3(PSAD, PSAD, PSAD, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26089 -+    SYNTAX_NORMAL3(PSUB_B, PSUB_B, PSUB_B, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26090 -+    SYNTAX_NORMAL3(PSUB_H, PSUB_H, PSUB_H, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26091 -+    SYNTAX_NORMAL3(PSUBADD_H, PSUBADD_H, PSUBADD_H, INTREG, INTREG_HSEL, INTREG_HSEL, AVR32_SIMD),
 1.26092 -+    SYNTAX_NORMAL3(PSUBADDH_SH, PSUBADDH_SH, PSUBADDH_SH, INTREG, INTREG_HSEL, INTREG_HSEL, AVR32_SIMD),
 1.26093 -+    SYNTAX_NORMAL3(PSUBADDS_SH, PSUBADDS_SH, PSUBADDS_SH, INTREG, INTREG_HSEL, INTREG_HSEL, AVR32_SIMD),
 1.26094 -+    SYNTAX_NORMAL3(PSUBADDS_UH, PSUBADDS_UH, PSUBADDS_UH, INTREG, INTREG_HSEL, INTREG_HSEL, AVR32_SIMD),
 1.26095 -+    SYNTAX_NORMAL3(PSUBH_SH, PSUBH_SH, PSUBH_SH, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26096 -+    SYNTAX_NORMAL3(PSUBH_UB, PSUBH_UB, PSUBH_UB, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26097 -+    SYNTAX_NORMAL3(PSUBS_SB, PSUBS_SB, PSUBS_SB, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26098 -+    SYNTAX_NORMAL3(PSUBS_SH, PSUBS_SH, PSUBS_SH, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26099 -+    SYNTAX_NORMAL3(PSUBS_UB, PSUBS_UB, PSUBS_UB, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26100 -+    SYNTAX_NORMAL3(PSUBS_UH, PSUBS_UH, PSUBS_UH, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26101 -+    SYNTAX_NORMAL3(PSUBX_H, PSUBX_H, PSUBX_H, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26102 -+    SYNTAX_NORMAL3(PSUBXH_SH, PSUBXH_SH, PSUBXH_SH, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26103 -+    SYNTAX_NORMAL3(PSUBXS_SH, PSUBXS_SH, PSUBXS_SH, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26104 -+    SYNTAX_NORMAL3(PSUBXS_UH, PSUBXS_UH, PSUBXS_UH, INTREG, INTREG, INTREG, AVR32_SIMD),
 1.26105 -+    SYNTAX_NORMAL2(PUNPCKSB_H, PUNPCKSB_H, PUNPCKSB_H, INTREG, INTREG_HSEL, AVR32_SIMD),
 1.26106 -+    SYNTAX_NORMAL2(PUNPCKUB_H, PUNPCKUB_H, PUNPCKUB_H, INTREG, INTREG_HSEL, AVR32_SIMD),
 1.26107 -+    SYNTAX_NORMAL0(PUSHJC, PUSHJC, PUSHJC, AVR32_V1),
 1.26108 -+    SYNTAX_NORMAL_CM1(PUSHM, PUSHM, PUSHM, PUSHM_E, REGLIST8, AVR32_V1),
 1.26109 -+    SYNTAX_NORMALM1(PUSHM_E, PUSHM, PUSHM_E, REGLIST16, AVR32_V1),
 1.26110 -+    SYNTAX_NORMAL_C1(RCALL1, RCALL, RCALL1, RCALL2, JMPLABEL, AVR32_V1),
 1.26111 -+    SYNTAX_NORMAL1(RCALL2, RCALL, RCALL2, JMPLABEL, AVR32_V1),
 1.26112 -+    SYNTAX_NORMAL1(RETEQ, RETEQ, RETEQ, RETVAL, AVR32_V1),
 1.26113 -+    SYNTAX_NORMAL1(RETNE, RETNE, RETNE, RETVAL, AVR32_V1),
 1.26114 -+    SYNTAX_NORMAL1(RETCC, RETCC, RETCC, RETVAL, AVR32_V1),
 1.26115 -+    SYNTAX_NORMAL1(RETCS, RETCS, RETCS, RETVAL, AVR32_V1),
 1.26116 -+    SYNTAX_NORMAL1(RETGE, RETGE, RETGE, RETVAL, AVR32_V1),
 1.26117 -+    SYNTAX_NORMAL1(RETLT, RETLT, RETLT, RETVAL, AVR32_V1),
 1.26118 -+    SYNTAX_NORMAL1(RETMI, RETMI, RETMI, RETVAL, AVR32_V1),
 1.26119 -+    SYNTAX_NORMAL1(RETPL, RETPL, RETPL, RETVAL, AVR32_V1),
 1.26120 -+    SYNTAX_NORMAL1(RETLS, RETLS, RETLS, RETVAL, AVR32_V1),
 1.26121 -+    SYNTAX_NORMAL1(RETGT, RETGT, RETGT, RETVAL, AVR32_V1),
 1.26122 -+    SYNTAX_NORMAL1(RETLE, RETLE, RETLE, RETVAL, AVR32_V1),
 1.26123 -+    SYNTAX_NORMAL1(RETHI, RETHI, RETHI, RETVAL, AVR32_V1),
 1.26124 -+    SYNTAX_NORMAL1(RETVS, RETVS, RETVS, RETVAL, AVR32_V1),
 1.26125 -+    SYNTAX_NORMAL1(RETVC, RETVC, RETVC, RETVAL, AVR32_V1),
 1.26126 -+    SYNTAX_NORMAL1(RETQS, RETQS, RETQS, RETVAL, AVR32_V1),
 1.26127 -+    SYNTAX_NORMAL1(RETAL, RETAL, RETAL, RETVAL, AVR32_V1),
 1.26128 -+    SYNTAX_NORMAL1(RETHS, RETHS, RETCC, RETVAL, AVR32_V1),
 1.26129 -+    SYNTAX_NORMAL1(RETLO, RETLO, RETCS, RETVAL, AVR32_V1),
 1.26130 -+    SYNTAX_NORMAL0(RETD, RETD, RETD, AVR32_V1),
 1.26131 -+    SYNTAX_NORMAL0(RETE, RETE, RETE, AVR32_V1),
 1.26132 -+    SYNTAX_NORMAL0(RETJ, RETJ, RETJ, AVR32_V1),
 1.26133 -+    SYNTAX_NORMAL0(RETS, RETS, RETS, AVR32_V1),
 1.26134 -+    SYNTAX_NORMAL1(RJMP, RJMP, RJMP, JMPLABEL, AVR32_V1),
 1.26135 -+    SYNTAX_NORMAL1(ROL, ROL, ROL, INTREG, AVR32_V1),
 1.26136 -+    SYNTAX_NORMAL1(ROR, ROR, ROR, INTREG, AVR32_V1),
 1.26137 -+    SYNTAX_NORMAL_C2(RSUB1, RSUB, RSUB1, RSUB2, INTREG, INTREG, AVR32_V1),
 1.26138 -+    SYNTAX_NORMAL3(RSUB2, RSUB, RSUB2, INTREG, INTREG, SIGNED_CONST, AVR32_V1),
 1.26139 -+    SYNTAX_NORMAL3(SATADD_H, SATADD_H, SATADD_H, INTREG, INTREG, INTREG,  AVR32_DSP),
 1.26140 -+    SYNTAX_NORMAL3(SATADD_W, SATADD_W, SATADD_W, INTREG, INTREG, INTREG, AVR32_DSP),
 1.26141 -+    SYNTAX_NORMAL2(SATRNDS, SATRNDS, SATRNDS, INTREG_LSR, UNSIGNED_NUMBER, AVR32_DSP),
 1.26142 -+    SYNTAX_NORMAL2(SATRNDU, SATRNDU, SATRNDU, INTREG_LSR, UNSIGNED_NUMBER, AVR32_DSP),
 1.26143 -+    SYNTAX_NORMAL2(SATS, SATS, SATS, INTREG_LSR, UNSIGNED_NUMBER, AVR32_DSP),
 1.26144 -+    SYNTAX_NORMAL3(SATSUB_H, SATSUB_H, SATSUB_H, INTREG, INTREG, INTREG, AVR32_DSP),
 1.26145 -+    SYNTAX_NORMAL_C3(SATSUB_W1, SATSUB_W, SATSUB_W1, SATSUB_W2, INTREG, INTREG, INTREG, AVR32_DSP),
 1.26146 -+    SYNTAX_NORMAL3(SATSUB_W2, SATSUB_W, SATSUB_W2, INTREG, INTREG, SIGNED_CONST, AVR32_DSP),
 1.26147 -+    SYNTAX_NORMAL2(SATU, SATU, SATU, INTREG_LSR, UNSIGNED_NUMBER, AVR32_V1),
 1.26148 -+    SYNTAX_NORMAL3(SBC, SBC, SBC, INTREG, INTREG, INTREG, AVR32_V1),
 1.26149 -+    SYNTAX_NORMAL2(SBR, SBR, SBR, INTREG, UNSIGNED_NUMBER, AVR32_V1),
 1.26150 -+    SYNTAX_NORMAL0(SCALL, SCALL, SCALL, AVR32_V1),
 1.26151 -+    SYNTAX_NORMAL1(SCR, SCR, SCR, INTREG, AVR32_V1),
 1.26152 -+    SYNTAX_NORMAL1(SLEEP, SLEEP, SLEEP, UNSIGNED_CONST, AVR32_V1),
 1.26153 -+    SYNTAX_NORMAL1(SREQ, SREQ, SREQ, INTREG, AVR32_V1),
 1.26154 -+    SYNTAX_NORMAL1(SRNE, SRNE, SRNE, INTREG, AVR32_V1),
 1.26155 -+    SYNTAX_NORMAL1(SRCC, SRCC, SRCC, INTREG, AVR32_V1),
 1.26156 -+    SYNTAX_NORMAL1(SRCS, SRCS, SRCS, INTREG, AVR32_V1),
 1.26157 -+    SYNTAX_NORMAL1(SRGE, SRGE, SRGE, INTREG, AVR32_V1),
 1.26158 -+    SYNTAX_NORMAL1(SRLT, SRLT, SRLT, INTREG, AVR32_V1),
 1.26159 -+    SYNTAX_NORMAL1(SRMI, SRMI, SRMI, INTREG, AVR32_V1),
 1.26160 -+    SYNTAX_NORMAL1(SRPL, SRPL, SRPL, INTREG, AVR32_V1),
 1.26161 -+    SYNTAX_NORMAL1(SRLS, SRLS, SRLS, INTREG, AVR32_V1),
 1.26162 -+    SYNTAX_NORMAL1(SRGT, SRGT, SRGT, INTREG, AVR32_V1),
 1.26163 -+    SYNTAX_NORMAL1(SRLE, SRLE, SRLE, INTREG, AVR32_V1),
 1.26164 -+    SYNTAX_NORMAL1(SRHI, SRHI, SRHI, INTREG, AVR32_V1),
 1.26165 -+    SYNTAX_NORMAL1(SRVS, SRVS, SRVS, INTREG, AVR32_V1),
 1.26166 -+    SYNTAX_NORMAL1(SRVC, SRVC, SRVC, INTREG, AVR32_V1),
 1.26167 -+    SYNTAX_NORMAL1(SRQS, SRQS, SRQS, INTREG, AVR32_V1),
 1.26168 -+    SYNTAX_NORMAL1(SRAL, SRAL, SRAL, INTREG, AVR32_V1),
 1.26169 -+    SYNTAX_NORMAL1(SRHS, SRHS, SRCC, INTREG, AVR32_V1),
 1.26170 -+    SYNTAX_NORMAL1(SRLO, SRLO, SRCS, INTREG, AVR32_V1),
 1.26171 -+    SYNTAX_NORMAL1(SSRF, SSRF, SSRF, UNSIGNED_NUMBER, AVR32_V1),
 1.26172 -+    SYNTAX_NORMAL_C2(ST_B1, ST_B, ST_B1, ST_B2, INTREG_POSTINC, INTREG, AVR32_V1),
 1.26173 -+    SYNTAX_NORMAL_C2(ST_B2, ST_B, ST_B2, ST_B5, INTREG_PREDEC, INTREG, AVR32_V1),
 1.26174 -+    SYNTAX_NORMAL_C2(ST_B5, ST_B, ST_B5, ST_B3, INTREG_INDEX, INTREG, AVR32_V1),
 1.26175 -+    SYNTAX_NORMAL_C2(ST_B3, ST_B, ST_B3, ST_B4, INTREG_UDISP, INTREG, AVR32_V1),
 1.26176 -+    SYNTAX_NORMAL2(ST_B4, ST_B, ST_B4, INTREG_SDISP, INTREG, AVR32_V1),
 1.26177 -+    SYNTAX_NORMAL_C2(ST_D1, ST_D, ST_D1, ST_D2, INTREG_POSTINC, DWREG, AVR32_V1),
 1.26178 -+    SYNTAX_NORMAL_C2(ST_D2, ST_D, ST_D2, ST_D3, INTREG_PREDEC, DWREG, AVR32_V1),
 1.26179 -+    SYNTAX_NORMAL_C2(ST_D3, ST_D, ST_D3, ST_D5, INTREG, DWREG, AVR32_V1),
 1.26180 -+    SYNTAX_NORMAL_C2(ST_D5, ST_D, ST_D5, ST_D4, INTREG_INDEX, DWREG, AVR32_V1),
 1.26181 -+    SYNTAX_NORMAL2(ST_D4, ST_D, ST_D4, INTREG_SDISP, DWREG, AVR32_V1),
 1.26182 -+    SYNTAX_NORMAL_C2(ST_H1, ST_H, ST_H1, ST_H2, INTREG_POSTINC, INTREG, AVR32_V1),
 1.26183 -+    SYNTAX_NORMAL_C2(ST_H2, ST_H, ST_H2, ST_H5, INTREG_PREDEC, INTREG, AVR32_V1),
 1.26184 -+    SYNTAX_NORMAL_C2(ST_H5, ST_H, ST_H5, ST_H3, INTREG_INDEX, INTREG, AVR32_V1),
 1.26185 -+    SYNTAX_NORMAL_C2(ST_H3, ST_H, ST_H3, ST_H4, INTREG_UDISP_H, INTREG, AVR32_V1),
 1.26186 -+    SYNTAX_NORMAL2(ST_H4, ST_H, ST_H4, INTREG_SDISP, INTREG, AVR32_V1),
 1.26187 -+    SYNTAX_NORMAL_C2(ST_W1, ST_W, ST_W1, ST_W2, INTREG_POSTINC, INTREG, AVR32_V1),
 1.26188 -+    SYNTAX_NORMAL_C2(ST_W2, ST_W, ST_W2, ST_W5, INTREG_PREDEC, INTREG, AVR32_V1),
 1.26189 -+    SYNTAX_NORMAL_C2(ST_W5, ST_W, ST_W5, ST_W3, INTREG_INDEX, INTREG, AVR32_V1),
 1.26190 -+    SYNTAX_NORMAL_C2(ST_W3, ST_W, ST_W3, ST_W4, INTREG_UDISP_W, INTREG, AVR32_V1),
 1.26191 -+    SYNTAX_NORMAL2(ST_W4, ST_W, ST_W4, INTREG_SDISP, INTREG, AVR32_V1),
 1.26192 -+    SYNTAX_NORMAL3(STC_D1, STC_D, STC_D1, CPNO, INTREG_UDISP_W, CPREG_D, AVR32_V1),
 1.26193 -+    SYNTAX_NORMAL_C3(STC_D2, STC_D, STC_D2, STC_D1, CPNO, INTREG_POSTINC, CPREG_D, AVR32_V1),
 1.26194 -+    SYNTAX_NORMAL_C3(STC_D3, STC_D, STC_D3, STC_D2, CPNO, INTREG_INDEX, CPREG_D, AVR32_V1),
 1.26195 -+    SYNTAX_NORMAL3(STC_W1, STC_W, STC_W1, CPNO, INTREG_UDISP_W, CPREG, AVR32_V1),
 1.26196 -+    SYNTAX_NORMAL_C3(STC_W2, STC_W, STC_W2, STC_W1, CPNO, INTREG_POSTINC, CPREG, AVR32_V1),
 1.26197 -+    SYNTAX_NORMAL_C3(STC_W3, STC_W, STC_W3, STC_W2, CPNO, INTREG_INDEX, CPREG, AVR32_V1),
 1.26198 -+    SYNTAX_NORMAL2(STC0_D, STC0_D, STC0_D, INTREG_UDISP_W, CPREG_D, AVR32_V1),
 1.26199 -+    SYNTAX_NORMAL2(STC0_W, STC0_W, STC0_W, INTREG_UDISP_W, CPREG, AVR32_V1),
 1.26200 -+    SYNTAX_NORMAL_CM3(STCM_D, STCM_D, STCM_D, STCM_D_PU, CPNO, INTREG, REGLIST_CPD8, AVR32_V1),
 1.26201 -+    SYNTAX_NORMALM3(STCM_D_PU, STCM_D, STCM_D_PU, CPNO, INTREG_PREDEC, REGLIST_CPD8, AVR32_V1),
 1.26202 -+    SYNTAX_NORMAL_CM3(STCM_W, STCM_W, STCM_W, STCM_W_PU, CPNO, INTREG, REGLIST_CP8, AVR32_V1),
 1.26203 -+    SYNTAX_NORMALM3(STCM_W_PU, STCM_W, STCM_W_PU, CPNO, INTREG_PREDEC, REGLIST_CP8, AVR32_V1),
 1.26204 -+    SYNTAX_NORMAL2(STCOND, STCOND, STCOND, INTREG_SDISP, INTREG, AVR32_V1),
 1.26205 -+    SYNTAX_NORMAL2(STDSP, STDSP, STDSP, SP_UDISP_W, INTREG, AVR32_V1),
 1.26206 -+    SYNTAX_NORMAL_C3(STHH_W2, STHH_W, STHH_W2, STHH_W1, INTREG_INDEX, INTREG_HSEL, INTREG_HSEL, AVR32_V1),
 1.26207 -+    SYNTAX_NORMAL3(STHH_W1, STHH_W, STHH_W1, INTREG_UDISP_W, INTREG_HSEL, INTREG_HSEL, AVR32_V1),
 1.26208 -+    SYNTAX_NORMAL_CM2(STM, STM, STM, STM_PU, INTREG, REGLIST16, AVR32_V1),
 1.26209 -+    SYNTAX_NORMALM2(STM_PU, STM, STM_PU, INTREG_PREDEC, REGLIST16, AVR32_V1),
 1.26210 -+    SYNTAX_NORMAL_CM2(STMTS, STMTS, STMTS, STMTS_PU, INTREG, REGLIST16, AVR32_V1),
 1.26211 -+    SYNTAX_NORMALM2(STMTS_PU, STMTS, STMTS_PU, INTREG_PREDEC, REGLIST16, AVR32_V1),
 1.26212 -+    SYNTAX_NORMAL2(STSWP_H, STSWP_H, STSWP_H, INTREG_SDISP_H, INTREG, AVR32_V1),
 1.26213 -+    SYNTAX_NORMAL2(STSWP_W, STSWP_W, STSWP_W, INTREG_SDISP_W, INTREG, AVR32_V1),
 1.26214 -+    SYNTAX_NORMAL_C2(SUB1, SUB, SUB1, SUB2, INTREG, INTREG, AVR32_V1),
 1.26215 -+    SYNTAX_NORMAL_C3(SUB2, SUB, SUB2, SUB5, INTREG, INTREG, INTREG_LSL, AVR32_V1),
 1.26216 -+    SYNTAX_NORMAL_C3(SUB5, SUB, SUB5, SUB3_SP, INTREG, INTREG, SIGNED_CONST, AVR32_V1),
 1.26217 -+    SYNTAX_NORMAL_C2(SUB3_SP, SUB, SUB3_SP, SUB3, SP, SIGNED_CONST_W, AVR32_V1),
 1.26218 -+    SYNTAX_NORMAL_C2(SUB3, SUB, SUB3, SUB4, INTREG, SIGNED_CONST, AVR32_V1),
 1.26219 -+    SYNTAX_NORMAL2(SUB4, SUB, SUB4, INTREG, SIGNED_CONST, AVR32_V1),
 1.26220 -+    SYNTAX_NORMAL_C2(SUBEQ, SUBEQ, SUBEQ, SUB2EQ, INTREG, SIGNED_CONST, AVR32_V1),
 1.26221 -+    SYNTAX_NORMAL_C2(SUBNE, SUBNE, SUBNE, SUB2NE, INTREG, SIGNED_CONST, AVR32_V1),
 1.26222 -+    SYNTAX_NORMAL_C2(SUBCC, SUBCC, SUBCC, SUB2CC, INTREG, SIGNED_CONST, AVR32_V1),
 1.26223 -+    SYNTAX_NORMAL_C2(SUBCS, SUBCS, SUBCS, SUB2CS, INTREG, SIGNED_CONST, AVR32_V1),
 1.26224 -+    SYNTAX_NORMAL_C2(SUBGE, SUBGE, SUBGE, SUB2GE, INTREG, SIGNED_CONST, AVR32_V1),
 1.26225 -+    SYNTAX_NORMAL_C2(SUBLT, SUBLT, SUBLT, SUB2LT, INTREG, SIGNED_CONST, AVR32_V1),
 1.26226 -+    SYNTAX_NORMAL_C2(SUBMI, SUBMI, SUBMI, SUB2MI, INTREG, SIGNED_CONST, AVR32_V1),
 1.26227 -+    SYNTAX_NORMAL_C2(SUBPL, SUBPL, SUBPL, SUB2PL, INTREG, SIGNED_CONST, AVR32_V1),
 1.26228 -+    SYNTAX_NORMAL_C2(SUBLS, SUBLS, SUBLS, SUB2LS, INTREG, SIGNED_CONST, AVR32_V1),
 1.26229 -+    SYNTAX_NORMAL_C2(SUBGT, SUBGT, SUBGT, SUB2GT, INTREG, SIGNED_CONST, AVR32_V1),
 1.26230 -+    SYNTAX_NORMAL_C2(SUBLE, SUBLE, SUBLE, SUB2LE, INTREG, SIGNED_CONST, AVR32_V1),
 1.26231 -+    SYNTAX_NORMAL_C2(SUBHI, SUBHI, SUBHI, SUB2HI, INTREG, SIGNED_CONST, AVR32_V1),
 1.26232 -+    SYNTAX_NORMAL_C2(SUBVS, SUBVS, SUBVS, SUB2VS, INTREG, SIGNED_CONST, AVR32_V1),
 1.26233 -+    SYNTAX_NORMAL_C2(SUBVC, SUBVC, SUBVC, SUB2VC, INTREG, SIGNED_CONST, AVR32_V1),
 1.26234 -+    SYNTAX_NORMAL_C2(SUBQS, SUBQS, SUBQS, SUB2QS, INTREG, SIGNED_CONST, AVR32_V1),
 1.26235 -+    SYNTAX_NORMAL_C2(SUBAL, SUBAL, SUBAL, SUB2AL, INTREG, SIGNED_CONST, AVR32_V1),
 1.26236 -+    SYNTAX_NORMAL_C2(SUBHS, SUBHS, SUBCC, SUB2CC, INTREG, SIGNED_CONST, AVR32_V1),
 1.26237 -+    SYNTAX_NORMAL_C2(SUBLO, SUBLO, SUBCS, SUB2CS, INTREG, SIGNED_CONST, AVR32_V1),
 1.26238 -+    SYNTAX_NORMAL2(SUBFEQ, SUBFEQ, SUBFEQ, INTREG, SIGNED_CONST, AVR32_V1),
 1.26239 -+    SYNTAX_NORMAL2(SUBFNE, SUBFNE, SUBFNE, INTREG, SIGNED_CONST, AVR32_V1),
 1.26240 -+    SYNTAX_NORMAL2(SUBFCC, SUBFCC, SUBFCC, INTREG, SIGNED_CONST, AVR32_V1),
 1.26241 -+    SYNTAX_NORMAL2(SUBFCS, SUBFCS, SUBFCS, INTREG, SIGNED_CONST, AVR32_V1),
 1.26242 -+    SYNTAX_NORMAL2(SUBFGE, SUBFGE, SUBFGE, INTREG, SIGNED_CONST, AVR32_V1),
 1.26243 -+    SYNTAX_NORMAL2(SUBFLT, SUBFLT, SUBFLT, INTREG, SIGNED_CONST, AVR32_V1),
 1.26244 -+    SYNTAX_NORMAL2(SUBFMI, SUBFMI, SUBFMI, INTREG, SIGNED_CONST, AVR32_V1),
 1.26245 -+    SYNTAX_NORMAL2(SUBFPL, SUBFPL, SUBFPL, INTREG, SIGNED_CONST, AVR32_V1),
 1.26246 -+    SYNTAX_NORMAL2(SUBFLS, SUBFLS, SUBFLS, INTREG, SIGNED_CONST, AVR32_V1),
 1.26247 -+    SYNTAX_NORMAL2(SUBFGT, SUBFGT, SUBFGT, INTREG, SIGNED_CONST, AVR32_V1),
 1.26248 -+    SYNTAX_NORMAL2(SUBFLE, SUBFLE, SUBFLE, INTREG, SIGNED_CONST, AVR32_V1),
 1.26249 -+    SYNTAX_NORMAL2(SUBFHI, SUBFHI, SUBFHI, INTREG, SIGNED_CONST, AVR32_V1),
 1.26250 -+    SYNTAX_NORMAL2(SUBFVS, SUBFVS, SUBFVS, INTREG, SIGNED_CONST, AVR32_V1),
 1.26251 -+    SYNTAX_NORMAL2(SUBFVC, SUBFVC, SUBFVC, INTREG, SIGNED_CONST, AVR32_V1),
 1.26252 -+    SYNTAX_NORMAL2(SUBFQS, SUBFQS, SUBFQS, INTREG, SIGNED_CONST, AVR32_V1),
 1.26253 -+    SYNTAX_NORMAL2(SUBFAL, SUBFAL, SUBFAL, INTREG, SIGNED_CONST, AVR32_V1),
 1.26254 -+    SYNTAX_NORMAL2(SUBFHS, SUBFHS, SUBFCC, INTREG, SIGNED_CONST, AVR32_V1),
 1.26255 -+    SYNTAX_NORMAL2(SUBFLO, SUBFLO, SUBFCS, INTREG, SIGNED_CONST, AVR32_V1),
 1.26256 -+    SYNTAX_NORMAL3(SUBHH_W, SUBHH_W, SUBHH_W, INTREG, INTREG_HSEL, INTREG_HSEL, AVR32_DSP),
 1.26257 -+    SYNTAX_NORMAL1(SWAP_B, SWAP_B, SWAP_B, INTREG, AVR32_V1),
 1.26258 -+    SYNTAX_NORMAL1(SWAP_BH, SWAP_BH, SWAP_BH, INTREG, AVR32_V1),
 1.26259 -+    SYNTAX_NORMAL1(SWAP_H, SWAP_H, SWAP_H, INTREG, AVR32_V1),
 1.26260 -+    SYNTAX_NORMAL1(SYNC, SYNC, SYNC, UNSIGNED_CONST, AVR32_V1),
 1.26261 -+    SYNTAX_NORMAL0(TLBR, TLBR, TLBR, AVR32_V1),
 1.26262 -+    SYNTAX_NORMAL0(TLBS, TLBS, TLBS, AVR32_V1),
 1.26263 -+    SYNTAX_NORMAL0(TLBW, TLBW, TLBW, AVR32_V1),
 1.26264 -+    SYNTAX_NORMAL1(TNBZ, TNBZ, TNBZ, INTREG, AVR32_V1),
 1.26265 -+    SYNTAX_NORMAL2(TST, TST, TST, INTREG, INTREG, AVR32_V1),
 1.26266 -+    SYNTAX_NORMAL3(XCHG, XCHG, XCHG, INTREG, INTREG, INTREG, AVR32_V1),
 1.26267 -+    SYNTAX_NORMAL2(MEMC, MEMC, MEMC, SIGNED_CONST_W, UNSIGNED_NUMBER, AVR32_RMW),
 1.26268 -+    SYNTAX_NORMAL2(MEMS, MEMS, MEMS, SIGNED_CONST_W, UNSIGNED_NUMBER, AVR32_RMW),
 1.26269 -+    SYNTAX_NORMAL2(MEMT, MEMT, MEMT, SIGNED_CONST_W, UNSIGNED_NUMBER, AVR32_RMW),
 1.26270 -+    SYNTAX_FP(FADD, 3),
 1.26271 -+    SYNTAX_FP(FSUB, 3),
 1.26272 -+    SYNTAX_FP(FMAC, 3),
 1.26273 -+    SYNTAX_FP(FNMAC, 3),
 1.26274 -+    SYNTAX_FP(FMSC, 3),
 1.26275 -+    SYNTAX_FP(FNMSC, 3),
 1.26276 -+    SYNTAX_FP(FMUL, 3),
 1.26277 -+    SYNTAX_FP(FNMUL, 3),
 1.26278 -+    SYNTAX_FP(FNEG, 2),
 1.26279 -+    SYNTAX_FP(FABS, 2),
 1.26280 -+    SYNTAX_FP(FCMP, 2),
 1.26281 -+    {
 1.26282 -+      AVR32_SYNTAX_FMOV1_S,
 1.26283 -+      AVR32_FP, NULL, AVR32_PARSER_ALIAS,
 1.26284 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_FMOV1_S] },
 1.26285 -+      &avr32_syntax_table[AVR32_SYNTAX_FMOV2_S],
 1.26286 -+      2,
 1.26287 -+      {
 1.26288 -+	AVR32_OPERAND_FPREG_S,
 1.26289 -+	AVR32_OPERAND_FPREG_S,
 1.26290 -+      },
 1.26291 -+    },
 1.26292 -+    {
 1.26293 -+      AVR32_SYNTAX_FMOV1_D,
 1.26294 -+      AVR32_FP, NULL, AVR32_PARSER_ALIAS,
 1.26295 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_FMOV1_D] },
 1.26296 -+      &avr32_syntax_table[AVR32_SYNTAX_FMOV2_D],
 1.26297 -+      2,
 1.26298 -+      {
 1.26299 -+	AVR32_OPERAND_FPREG_D,
 1.26300 -+	AVR32_OPERAND_FPREG_D,
 1.26301 -+      },
 1.26302 -+    },
 1.26303 -+    {
 1.26304 -+      AVR32_SYNTAX_FMOV2_S,
 1.26305 -+      AVR32_FP, NULL, AVR32_PARSER_ALIAS,
 1.26306 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_FMOV2_S] },
 1.26307 -+      &avr32_syntax_table[AVR32_SYNTAX_FMOV3_S],
 1.26308 -+      2,
 1.26309 -+      {
 1.26310 -+	AVR32_OPERAND_INTREG,
 1.26311 -+	AVR32_OPERAND_FPREG_S,
 1.26312 -+      },
 1.26313 -+    },
 1.26314 -+    {
 1.26315 -+      AVR32_SYNTAX_FMOV2_D,
 1.26316 -+      AVR32_FP, NULL, AVR32_PARSER_ALIAS,
 1.26317 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_FMOV2_D] },
 1.26318 -+      &avr32_syntax_table[AVR32_SYNTAX_FMOV3_D],
 1.26319 -+      2,
 1.26320 -+      {
 1.26321 -+	AVR32_OPERAND_DWREG,
 1.26322 -+	AVR32_OPERAND_FPREG_D,
 1.26323 -+      },
 1.26324 -+    },
 1.26325 -+    {
 1.26326 -+      AVR32_SYNTAX_FMOV3_S,
 1.26327 -+      AVR32_FP, NULL, AVR32_PARSER_ALIAS,
 1.26328 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_FMOV3_S] }, NULL,
 1.26329 -+      2,
 1.26330 -+      {
 1.26331 -+	AVR32_OPERAND_FPREG_S,
 1.26332 -+	AVR32_OPERAND_INTREG,
 1.26333 -+      },
 1.26334 -+    },
 1.26335 -+    {
 1.26336 -+      AVR32_SYNTAX_FMOV3_D,
 1.26337 -+      AVR32_FP, NULL, AVR32_PARSER_ALIAS,
 1.26338 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_FMOV3_D] }, NULL,
 1.26339 -+      2,
 1.26340 -+      {
 1.26341 -+	AVR32_OPERAND_FPREG_D,
 1.26342 -+	AVR32_OPERAND_DWREG,
 1.26343 -+      },
 1.26344 -+    },
 1.26345 -+    {
 1.26346 -+      AVR32_SYNTAX_FCASTS_D,
 1.26347 -+      AVR32_FP, NULL, AVR32_PARSER_ALIAS,
 1.26348 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_FCASTS_D] }, NULL,
 1.26349 -+      2,
 1.26350 -+      {
 1.26351 -+	AVR32_OPERAND_FPREG_S,
 1.26352 -+	AVR32_OPERAND_FPREG_D,
 1.26353 -+      },
 1.26354 -+    },
 1.26355 -+    {
 1.26356 -+      AVR32_SYNTAX_FCASTD_S,
 1.26357 -+      AVR32_FP, NULL, AVR32_PARSER_ALIAS,
 1.26358 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_FCASTD_S] }, NULL,
 1.26359 -+      2,
 1.26360 -+      {
 1.26361 -+	AVR32_OPERAND_FPREG_D,
 1.26362 -+	AVR32_OPERAND_FPREG_S,
 1.26363 -+      },
 1.26364 -+    },
 1.26365 -+    {
 1.26366 -+      AVR32_SYNTAX_LDA_W,
 1.26367 -+      AVR32_V1, NULL, AVR32_PARSER_LDA,
 1.26368 -+      { NULL }, NULL,
 1.26369 -+      2,
 1.26370 -+      {
 1.26371 -+	AVR32_OPERAND_INTREG,
 1.26372 -+	AVR32_OPERAND_SIGNED_CONST,
 1.26373 -+      },
 1.26374 -+    },
 1.26375 -+    {
 1.26376 -+      AVR32_SYNTAX_CALL,
 1.26377 -+      AVR32_V1, NULL, AVR32_PARSER_CALL,
 1.26378 -+      { NULL }, NULL,
 1.26379 -+      1,
 1.26380 -+      {
 1.26381 -+	AVR32_OPERAND_JMPLABEL,
 1.26382 -+      },
 1.26383 -+    },
 1.26384 -+    {
 1.26385 -+      AVR32_SYNTAX_PICOSVMAC0,
 1.26386 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOSVMAC], AVR32_PARSER_ALIAS,
 1.26387 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOSVMAC0] },
 1.26388 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOSVMAC1], 4,
 1.26389 -+      {
 1.26390 -+	AVR32_OPERAND_PICO_OUT0,
 1.26391 -+	AVR32_OPERAND_PICO_IN,
 1.26392 -+	AVR32_OPERAND_PICO_IN,
 1.26393 -+	AVR32_OPERAND_PICO_IN,
 1.26394 -+      },
 1.26395 -+    },
 1.26396 -+    {
 1.26397 -+      AVR32_SYNTAX_PICOSVMAC1,
 1.26398 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOSVMAC], AVR32_PARSER_ALIAS,
 1.26399 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOSVMAC1] },
 1.26400 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOSVMAC2], 4,
 1.26401 -+      {
 1.26402 -+	AVR32_OPERAND_PICO_OUT1,
 1.26403 -+	AVR32_OPERAND_PICO_IN,
 1.26404 -+	AVR32_OPERAND_PICO_IN,
 1.26405 -+	AVR32_OPERAND_PICO_IN,
 1.26406 -+      },
 1.26407 -+    },
 1.26408 -+    {
 1.26409 -+      AVR32_SYNTAX_PICOSVMAC2,
 1.26410 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOSVMAC], AVR32_PARSER_ALIAS,
 1.26411 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOSVMAC2] },
 1.26412 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOSVMAC3], 4,
 1.26413 -+      {
 1.26414 -+	AVR32_OPERAND_PICO_OUT2,
 1.26415 -+	AVR32_OPERAND_PICO_IN,
 1.26416 -+	AVR32_OPERAND_PICO_IN,
 1.26417 -+	AVR32_OPERAND_PICO_IN,
 1.26418 -+      },
 1.26419 -+    },
 1.26420 -+    {
 1.26421 -+      AVR32_SYNTAX_PICOSVMAC3,
 1.26422 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOSVMAC], AVR32_PARSER_ALIAS,
 1.26423 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOSVMAC3] },
 1.26424 -+      NULL, 4,
 1.26425 -+      {
 1.26426 -+	AVR32_OPERAND_PICO_OUT3,
 1.26427 -+	AVR32_OPERAND_PICO_IN,
 1.26428 -+	AVR32_OPERAND_PICO_IN,
 1.26429 -+	AVR32_OPERAND_PICO_IN,
 1.26430 -+      },
 1.26431 -+    },
 1.26432 -+    {
 1.26433 -+      AVR32_SYNTAX_PICOSVMUL0,
 1.26434 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOSVMUL], AVR32_PARSER_ALIAS,
 1.26435 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOSVMUL0] },
 1.26436 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOSVMUL1], 4,
 1.26437 -+      {
 1.26438 -+	AVR32_OPERAND_PICO_OUT0,
 1.26439 -+	AVR32_OPERAND_PICO_IN,
 1.26440 -+	AVR32_OPERAND_PICO_IN,
 1.26441 -+	AVR32_OPERAND_PICO_IN,
 1.26442 -+      },
 1.26443 -+    },
 1.26444 -+    {
 1.26445 -+      AVR32_SYNTAX_PICOSVMUL1,
 1.26446 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOSVMUL], AVR32_PARSER_ALIAS,
 1.26447 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOSVMUL1] },
 1.26448 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOSVMUL2], 4,
 1.26449 -+      {
 1.26450 -+	AVR32_OPERAND_PICO_OUT1,
 1.26451 -+	AVR32_OPERAND_PICO_IN,
 1.26452 -+	AVR32_OPERAND_PICO_IN,
 1.26453 -+	AVR32_OPERAND_PICO_IN,
 1.26454 -+      },
 1.26455 -+    },
 1.26456 -+    {
 1.26457 -+      AVR32_SYNTAX_PICOSVMUL2,
 1.26458 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOSVMUL], AVR32_PARSER_ALIAS,
 1.26459 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOSVMUL2] },
 1.26460 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOSVMUL3], 4,
 1.26461 -+      {
 1.26462 -+	AVR32_OPERAND_PICO_OUT2,
 1.26463 -+	AVR32_OPERAND_PICO_IN,
 1.26464 -+	AVR32_OPERAND_PICO_IN,
 1.26465 -+	AVR32_OPERAND_PICO_IN,
 1.26466 -+      },
 1.26467 -+    },
 1.26468 -+    {
 1.26469 -+      AVR32_SYNTAX_PICOSVMUL3,
 1.26470 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOSVMUL], AVR32_PARSER_ALIAS,
 1.26471 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOSVMUL3] },
 1.26472 -+      NULL, 4,
 1.26473 -+      {
 1.26474 -+	AVR32_OPERAND_PICO_OUT3,
 1.26475 -+	AVR32_OPERAND_PICO_IN,
 1.26476 -+	AVR32_OPERAND_PICO_IN,
 1.26477 -+	AVR32_OPERAND_PICO_IN,
 1.26478 -+      },
 1.26479 -+    },
 1.26480 -+    {
 1.26481 -+      AVR32_SYNTAX_PICOVMAC0,
 1.26482 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOVMAC], AVR32_PARSER_ALIAS,
 1.26483 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOVMAC0] },
 1.26484 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOVMAC1], 4,
 1.26485 -+      {
 1.26486 -+	AVR32_OPERAND_PICO_OUT0,
 1.26487 -+	AVR32_OPERAND_PICO_IN,
 1.26488 -+	AVR32_OPERAND_PICO_IN,
 1.26489 -+	AVR32_OPERAND_PICO_IN,
 1.26490 -+      },
 1.26491 -+    },
 1.26492 -+    {
 1.26493 -+      AVR32_SYNTAX_PICOVMAC1,
 1.26494 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOVMAC], AVR32_PARSER_ALIAS,
 1.26495 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOVMAC1] },
 1.26496 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOVMAC2], 4,
 1.26497 -+      {
 1.26498 -+	AVR32_OPERAND_PICO_OUT1,
 1.26499 -+	AVR32_OPERAND_PICO_IN,
 1.26500 -+	AVR32_OPERAND_PICO_IN,
 1.26501 -+	AVR32_OPERAND_PICO_IN,
 1.26502 -+      },
 1.26503 -+    },
 1.26504 -+    {
 1.26505 -+      AVR32_SYNTAX_PICOVMAC2,
 1.26506 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOVMAC], AVR32_PARSER_ALIAS,
 1.26507 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOVMAC2] },
 1.26508 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOVMAC3], 4,
 1.26509 -+      {
 1.26510 -+	AVR32_OPERAND_PICO_OUT2,
 1.26511 -+	AVR32_OPERAND_PICO_IN,
 1.26512 -+	AVR32_OPERAND_PICO_IN,
 1.26513 -+	AVR32_OPERAND_PICO_IN,
 1.26514 -+      },
 1.26515 -+    },
 1.26516 -+    {
 1.26517 -+      AVR32_SYNTAX_PICOVMAC3,
 1.26518 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOVMAC], AVR32_PARSER_ALIAS,
 1.26519 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOVMAC3] },
 1.26520 -+      NULL, 4,
 1.26521 -+      {
 1.26522 -+	AVR32_OPERAND_PICO_OUT3,
 1.26523 -+	AVR32_OPERAND_PICO_IN,
 1.26524 -+	AVR32_OPERAND_PICO_IN,
 1.26525 -+	AVR32_OPERAND_PICO_IN,
 1.26526 -+      },
 1.26527 -+    },
 1.26528 -+    {
 1.26529 -+      AVR32_SYNTAX_PICOVMUL0,
 1.26530 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOVMUL], AVR32_PARSER_ALIAS,
 1.26531 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOVMUL0] },
 1.26532 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOVMUL1], 4,
 1.26533 -+      {
 1.26534 -+	AVR32_OPERAND_PICO_OUT0,
 1.26535 -+	AVR32_OPERAND_PICO_IN,
 1.26536 -+	AVR32_OPERAND_PICO_IN,
 1.26537 -+	AVR32_OPERAND_PICO_IN,
 1.26538 -+      },
 1.26539 -+    },
 1.26540 -+    {
 1.26541 -+      AVR32_SYNTAX_PICOVMUL1,
 1.26542 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOVMUL], AVR32_PARSER_ALIAS,
 1.26543 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOVMUL1] },
 1.26544 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOVMUL2], 4,
 1.26545 -+      {
 1.26546 -+	AVR32_OPERAND_PICO_OUT1,
 1.26547 -+	AVR32_OPERAND_PICO_IN,
 1.26548 -+	AVR32_OPERAND_PICO_IN,
 1.26549 -+	AVR32_OPERAND_PICO_IN,
 1.26550 -+      },
 1.26551 -+    },
 1.26552 -+    {
 1.26553 -+      AVR32_SYNTAX_PICOVMUL2,
 1.26554 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOVMUL], AVR32_PARSER_ALIAS,
 1.26555 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOVMUL2] },
 1.26556 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOVMUL3], 4,
 1.26557 -+      {
 1.26558 -+	AVR32_OPERAND_PICO_OUT2,
 1.26559 -+	AVR32_OPERAND_PICO_IN,
 1.26560 -+	AVR32_OPERAND_PICO_IN,
 1.26561 -+	AVR32_OPERAND_PICO_IN,
 1.26562 -+      },
 1.26563 -+    },
 1.26564 -+    {
 1.26565 -+      AVR32_SYNTAX_PICOVMUL3,
 1.26566 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOVMUL], AVR32_PARSER_ALIAS,
 1.26567 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOVMUL3] },
 1.26568 -+      NULL, 4,
 1.26569 -+      {
 1.26570 -+	AVR32_OPERAND_PICO_OUT3,
 1.26571 -+	AVR32_OPERAND_PICO_IN,
 1.26572 -+	AVR32_OPERAND_PICO_IN,
 1.26573 -+	AVR32_OPERAND_PICO_IN,
 1.26574 -+      },
 1.26575 -+    },
 1.26576 -+    {
 1.26577 -+      AVR32_SYNTAX_PICOLD_D2,
 1.26578 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOLD_D], AVR32_PARSER_ALIAS,
 1.26579 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOLD_D2] },
 1.26580 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOLD_D3], 2,
 1.26581 -+      {
 1.26582 -+	AVR32_OPERAND_PICO_REG_D,
 1.26583 -+	AVR32_OPERAND_INTREG_PREDEC,
 1.26584 -+      },
 1.26585 -+    },
 1.26586 -+    {
 1.26587 -+      AVR32_SYNTAX_PICOLD_D3,
 1.26588 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOLD_D], AVR32_PARSER_ALIAS,
 1.26589 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOLD_D3] },
 1.26590 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOLD_D1], 2,
 1.26591 -+      {
 1.26592 -+	AVR32_OPERAND_PICO_REG_D,
 1.26593 -+	AVR32_OPERAND_INTREG_INDEX,
 1.26594 -+      },
 1.26595 -+    },
 1.26596 -+    {
 1.26597 -+      AVR32_SYNTAX_PICOLD_D1,
 1.26598 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOLD_D], AVR32_PARSER_ALIAS,
 1.26599 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOLD_D1] },
 1.26600 -+      NULL, 2,
 1.26601 -+      {
 1.26602 -+	AVR32_OPERAND_PICO_REG_D,
 1.26603 -+	AVR32_OPERAND_INTREG_UDISP_W,
 1.26604 -+      },
 1.26605 -+    },
 1.26606 -+    {
 1.26607 -+      AVR32_SYNTAX_PICOLD_W2,
 1.26608 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOLD_W], AVR32_PARSER_ALIAS,
 1.26609 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOLD_W2] },
 1.26610 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOLD_W3], 2,
 1.26611 -+      {
 1.26612 -+	AVR32_OPERAND_PICO_REG_W,
 1.26613 -+	AVR32_OPERAND_INTREG_PREDEC,
 1.26614 -+      },
 1.26615 -+    },
 1.26616 -+    {
 1.26617 -+      AVR32_SYNTAX_PICOLD_W3,
 1.26618 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOLD_W], AVR32_PARSER_ALIAS,
 1.26619 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOLD_W3] },
 1.26620 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOLD_W1], 2,
 1.26621 -+      {
 1.26622 -+	AVR32_OPERAND_PICO_REG_W,
 1.26623 -+	AVR32_OPERAND_INTREG_INDEX,
 1.26624 -+      },
 1.26625 -+    },
 1.26626 -+    {
 1.26627 -+      AVR32_SYNTAX_PICOLD_W1,
 1.26628 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOLD_W], AVR32_PARSER_ALIAS,
 1.26629 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOLD_W1] },
 1.26630 -+      NULL, 2,
 1.26631 -+      {
 1.26632 -+	AVR32_OPERAND_PICO_REG_W,
 1.26633 -+	AVR32_OPERAND_INTREG_UDISP_W,
 1.26634 -+      },
 1.26635 -+    },
 1.26636 -+    {
 1.26637 -+      AVR32_SYNTAX_PICOLDM_D,
 1.26638 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOLDM_D], AVR32_PARSER_ALIAS,
 1.26639 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOLDM_D] },
 1.26640 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOLDM_D_PU], -2,
 1.26641 -+      {
 1.26642 -+	AVR32_OPERAND_INTREG,
 1.26643 -+	AVR32_OPERAND_PICO_REGLIST_D,
 1.26644 -+      },
 1.26645 -+    },
 1.26646 -+    {
 1.26647 -+      AVR32_SYNTAX_PICOLDM_D_PU,
 1.26648 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOLDM_D], AVR32_PARSER_ALIAS,
 1.26649 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOLDM_D_PU] },
 1.26650 -+      NULL, -2,
 1.26651 -+      {
 1.26652 -+	AVR32_OPERAND_INTREG_POSTINC,
 1.26653 -+	AVR32_OPERAND_PICO_REGLIST_D,
 1.26654 -+      },
 1.26655 -+    },
 1.26656 -+    {
 1.26657 -+      AVR32_SYNTAX_PICOLDM_W,
 1.26658 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOLDM_W], AVR32_PARSER_ALIAS,
 1.26659 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOLDM_W] },
 1.26660 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOLDM_W_PU], -2,
 1.26661 -+      {
 1.26662 -+	AVR32_OPERAND_INTREG,
 1.26663 -+	AVR32_OPERAND_PICO_REGLIST_W,
 1.26664 -+      },
 1.26665 -+    },
 1.26666 -+    {
 1.26667 -+      AVR32_SYNTAX_PICOLDM_W_PU,
 1.26668 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOLDM_W], AVR32_PARSER_ALIAS,
 1.26669 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOLDM_W_PU] },
 1.26670 -+      NULL, -2,
 1.26671 -+      {
 1.26672 -+	AVR32_OPERAND_INTREG_POSTINC,
 1.26673 -+	AVR32_OPERAND_PICO_REGLIST_W,
 1.26674 -+      },
 1.26675 -+    },
 1.26676 -+    {
 1.26677 -+      AVR32_SYNTAX_PICOMV_D1,
 1.26678 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOMV_D], AVR32_PARSER_ALIAS,
 1.26679 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOMV_D1] },
 1.26680 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOMV_D2], 2,
 1.26681 -+      {
 1.26682 -+	AVR32_OPERAND_DWREG,
 1.26683 -+	AVR32_OPERAND_PICO_REG_D,
 1.26684 -+      },
 1.26685 -+    },
 1.26686 -+    {
 1.26687 -+      AVR32_SYNTAX_PICOMV_D2,
 1.26688 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOMV_D], AVR32_PARSER_ALIAS,
 1.26689 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOMV_D2] },
 1.26690 -+      NULL, 2,
 1.26691 -+      {
 1.26692 -+	AVR32_OPERAND_PICO_REG_D,
 1.26693 -+	AVR32_OPERAND_DWREG,
 1.26694 -+      },
 1.26695 -+    },
 1.26696 -+    {
 1.26697 -+      AVR32_SYNTAX_PICOMV_W1,
 1.26698 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOMV_W], AVR32_PARSER_ALIAS,
 1.26699 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOMV_W1] },
 1.26700 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOMV_W2], 2,
 1.26701 -+      {
 1.26702 -+	AVR32_OPERAND_INTREG,
 1.26703 -+	AVR32_OPERAND_PICO_REG_W,
 1.26704 -+      },
 1.26705 -+    },
 1.26706 -+    {
 1.26707 -+      AVR32_SYNTAX_PICOMV_W2,
 1.26708 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOMV_W], AVR32_PARSER_ALIAS,
 1.26709 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOMV_W2] },
 1.26710 -+      NULL, 2,
 1.26711 -+      {
 1.26712 -+	AVR32_OPERAND_PICO_REG_W,
 1.26713 -+	AVR32_OPERAND_INTREG,
 1.26714 -+      },
 1.26715 -+    },
 1.26716 -+    {
 1.26717 -+      AVR32_SYNTAX_PICOST_D2,
 1.26718 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOST_D], AVR32_PARSER_ALIAS,
 1.26719 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOST_D2] },
 1.26720 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOST_D3], 2,
 1.26721 -+      {
 1.26722 -+	AVR32_OPERAND_INTREG_POSTINC,
 1.26723 -+	AVR32_OPERAND_PICO_REG_D,
 1.26724 -+      },
 1.26725 -+    },
 1.26726 -+    {
 1.26727 -+      AVR32_SYNTAX_PICOST_D3,
 1.26728 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOST_D], AVR32_PARSER_ALIAS,
 1.26729 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOST_D3] },
 1.26730 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOST_D1], 2,
 1.26731 -+      {
 1.26732 -+	AVR32_OPERAND_INTREG_INDEX,
 1.26733 -+	AVR32_OPERAND_PICO_REG_D,
 1.26734 -+      },
 1.26735 -+    },
 1.26736 -+    {
 1.26737 -+      AVR32_SYNTAX_PICOST_D1,
 1.26738 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOST_D], AVR32_PARSER_ALIAS,
 1.26739 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOST_D1] },
 1.26740 -+      NULL, 2,
 1.26741 -+      {
 1.26742 -+	AVR32_OPERAND_INTREG_UDISP_W,
 1.26743 -+	AVR32_OPERAND_PICO_REG_D,
 1.26744 -+      },
 1.26745 -+    },
 1.26746 -+    {
 1.26747 -+      AVR32_SYNTAX_PICOST_W2,
 1.26748 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOST_W], AVR32_PARSER_ALIAS,
 1.26749 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOST_W2] },
 1.26750 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOST_W3], 2,
 1.26751 -+      {
 1.26752 -+	AVR32_OPERAND_INTREG_POSTINC,
 1.26753 -+	AVR32_OPERAND_PICO_REG_W,
 1.26754 -+      },
 1.26755 -+    },
 1.26756 -+    {
 1.26757 -+      AVR32_SYNTAX_PICOST_W3,
 1.26758 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOST_W], AVR32_PARSER_ALIAS,
 1.26759 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOST_W3] },
 1.26760 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOST_W1], 2,
 1.26761 -+      {
 1.26762 -+	AVR32_OPERAND_INTREG_INDEX,
 1.26763 -+	AVR32_OPERAND_PICO_REG_W,
 1.26764 -+      },
 1.26765 -+    },
 1.26766 -+    {
 1.26767 -+      AVR32_SYNTAX_PICOST_W1,
 1.26768 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOST_W], AVR32_PARSER_ALIAS,
 1.26769 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOST_W1] },
 1.26770 -+      NULL, 2,
 1.26771 -+      {
 1.26772 -+	AVR32_OPERAND_INTREG_UDISP_W,
 1.26773 -+	AVR32_OPERAND_PICO_REG_W,
 1.26774 -+      },
 1.26775 -+    },
 1.26776 -+    {
 1.26777 -+      AVR32_SYNTAX_PICOSTM_D,
 1.26778 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOSTM_D], AVR32_PARSER_ALIAS,
 1.26779 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOSTM_D] },
 1.26780 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOSTM_D_PU], -2,
 1.26781 -+      {
 1.26782 -+	AVR32_OPERAND_INTREG,
 1.26783 -+	AVR32_OPERAND_PICO_REGLIST_D,
 1.26784 -+      },
 1.26785 -+    },
 1.26786 -+    {
 1.26787 -+      AVR32_SYNTAX_PICOSTM_D_PU,
 1.26788 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOSTM_D], AVR32_PARSER_ALIAS,
 1.26789 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOSTM_D_PU] },
 1.26790 -+      NULL, -2,
 1.26791 -+      {
 1.26792 -+	AVR32_OPERAND_INTREG_PREDEC,
 1.26793 -+	AVR32_OPERAND_PICO_REGLIST_D,
 1.26794 -+      },
 1.26795 -+    },
 1.26796 -+    {
 1.26797 -+      AVR32_SYNTAX_PICOSTM_W,
 1.26798 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOSTM_W], AVR32_PARSER_ALIAS,
 1.26799 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOSTM_W] },
 1.26800 -+      &avr32_syntax_table[AVR32_SYNTAX_PICOSTM_W_PU], -2,
 1.26801 -+      {
 1.26802 -+	AVR32_OPERAND_INTREG,
 1.26803 -+	AVR32_OPERAND_PICO_REGLIST_W,
 1.26804 -+      },
 1.26805 -+    },
 1.26806 -+    {
 1.26807 -+      AVR32_SYNTAX_PICOSTM_W_PU,
 1.26808 -+      AVR32_PICO, &avr32_mnemonic_table[AVR32_MNEMONIC_PICOSTM_W], AVR32_PARSER_ALIAS,
 1.26809 -+      { .alias = &avr32_alias_table[AVR32_ALIAS_PICOSTM_W_PU] },
 1.26810 -+      NULL, -2,
 1.26811 -+      {
 1.26812 -+	AVR32_OPERAND_INTREG_PREDEC,
 1.26813 -+	AVR32_OPERAND_PICO_REGLIST_W,
 1.26814 -+      },
 1.26815 -+    },
 1.26816 -+    SYNTAX_NORMAL2(RSUBEQ, RSUBEQ, RSUBEQ, INTREG, SIGNED_CONST, AVR32_V1),
 1.26817 -+    SYNTAX_NORMAL2(RSUBNE, RSUBNE, RSUBNE, INTREG, SIGNED_CONST, AVR32_V2),
 1.26818 -+    SYNTAX_NORMAL2(RSUBCC, RSUBCC, RSUBCC, INTREG, SIGNED_CONST, AVR32_V2),
 1.26819 -+    SYNTAX_NORMAL2(RSUBCS, RSUBCS, RSUBCS, INTREG, SIGNED_CONST, AVR32_V2),
 1.26820 -+    SYNTAX_NORMAL2(RSUBGE, RSUBGE, RSUBGE, INTREG, SIGNED_CONST, AVR32_V2),
 1.26821 -+    SYNTAX_NORMAL2(RSUBLT, RSUBLT, RSUBLT, INTREG, SIGNED_CONST, AVR32_V2),
 1.26822 -+    SYNTAX_NORMAL2(RSUBMI, RSUBMI, RSUBMI, INTREG, SIGNED_CONST, AVR32_V2),
 1.26823 -+    SYNTAX_NORMAL2(RSUBPL, RSUBPL, RSUBPL, INTREG, SIGNED_CONST, AVR32_V2),
 1.26824 -+    SYNTAX_NORMAL2(RSUBLS, RSUBLS, RSUBLS, INTREG, SIGNED_CONST, AVR32_V2),
 1.26825 -+    SYNTAX_NORMAL2(RSUBGT, RSUBGT, RSUBGT, INTREG, SIGNED_CONST, AVR32_V2),
 1.26826 -+    SYNTAX_NORMAL2(RSUBLE, RSUBLE, RSUBLE, INTREG, SIGNED_CONST, AVR32_V2),
 1.26827 -+    SYNTAX_NORMAL2(RSUBHI, RSUBHI, RSUBHI, INTREG, SIGNED_CONST, AVR32_V2),
 1.26828 -+    SYNTAX_NORMAL2(RSUBVS, RSUBVS, RSUBVS, INTREG, SIGNED_CONST, AVR32_V2),
 1.26829 -+    SYNTAX_NORMAL2(RSUBVC, RSUBVC, RSUBVC, INTREG, SIGNED_CONST, AVR32_V2),
 1.26830 -+    SYNTAX_NORMAL2(RSUBQS, RSUBQS, RSUBQS, INTREG, SIGNED_CONST, AVR32_V2),
 1.26831 -+    SYNTAX_NORMAL2(RSUBAL, RSUBAL, RSUBAL, INTREG, SIGNED_CONST, AVR32_V2),
 1.26832 -+    SYNTAX_NORMAL2(RSUBHS, RSUBHS, RSUBCC, INTREG, SIGNED_CONST, AVR32_V2),
 1.26833 -+    SYNTAX_NORMAL2(RSUBLO, RSUBLO, RSUBCS, INTREG, SIGNED_CONST, AVR32_V2),
 1.26834 -+    SYNTAX_NORMAL3(ADDEQ, ADDEQ, ADDEQ, INTREG, INTREG, INTREG, AVR32_V2),
 1.26835 -+    SYNTAX_NORMAL3(ADDNE, ADDNE, ADDNE, INTREG, INTREG, INTREG, AVR32_V2),
 1.26836 -+    SYNTAX_NORMAL3(ADDCC, ADDCC, ADDCC, INTREG, INTREG, INTREG, AVR32_V2),
 1.26837 -+    SYNTAX_NORMAL3(ADDCS, ADDCS, ADDCS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26838 -+    SYNTAX_NORMAL3(ADDGE, ADDGE, ADDGE, INTREG, INTREG, INTREG, AVR32_V2),
 1.26839 -+    SYNTAX_NORMAL3(ADDLT, ADDLT, ADDLT, INTREG, INTREG, INTREG, AVR32_V2),
 1.26840 -+    SYNTAX_NORMAL3(ADDMI, ADDMI, ADDMI, INTREG, INTREG, INTREG, AVR32_V2),
 1.26841 -+    SYNTAX_NORMAL3(ADDPL, ADDPL, ADDPL, INTREG, INTREG, INTREG, AVR32_V2),
 1.26842 -+    SYNTAX_NORMAL3(ADDLS, ADDLS, ADDLS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26843 -+    SYNTAX_NORMAL3(ADDGT, ADDGT, ADDGT, INTREG, INTREG, INTREG, AVR32_V2),
 1.26844 -+    SYNTAX_NORMAL3(ADDLE, ADDLE, ADDLE, INTREG, INTREG, INTREG, AVR32_V2),
 1.26845 -+    SYNTAX_NORMAL3(ADDHI, ADDHI, ADDHI, INTREG, INTREG, INTREG, AVR32_V2),
 1.26846 -+    SYNTAX_NORMAL3(ADDVS, ADDVS, ADDVS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26847 -+    SYNTAX_NORMAL3(ADDVC, ADDVC, ADDVC, INTREG, INTREG, INTREG, AVR32_V2),
 1.26848 -+    SYNTAX_NORMAL3(ADDQS, ADDQS, ADDQS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26849 -+    SYNTAX_NORMAL3(ADDAL, ADDAL, ADDAL, INTREG, INTREG, INTREG, AVR32_V2),
 1.26850 -+    SYNTAX_NORMAL3(ADDHS, ADDHS, ADDCC, INTREG, INTREG, INTREG, AVR32_V2),
 1.26851 -+    SYNTAX_NORMAL3(ADDLO, ADDLO, ADDCS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26852 -+    SYNTAX_NORMAL3(SUB2EQ, SUBEQ, SUB2EQ, INTREG, INTREG, INTREG, AVR32_V2),
 1.26853 -+    SYNTAX_NORMAL3(SUB2NE, SUBNE, SUB2NE, INTREG, INTREG, INTREG, AVR32_V2),
 1.26854 -+    SYNTAX_NORMAL3(SUB2CC, SUBCC, SUB2CC, INTREG, INTREG, INTREG, AVR32_V2),
 1.26855 -+    SYNTAX_NORMAL3(SUB2CS, SUBCS, SUB2CS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26856 -+    SYNTAX_NORMAL3(SUB2GE, SUBGE, SUB2GE, INTREG, INTREG, INTREG, AVR32_V2),
 1.26857 -+    SYNTAX_NORMAL3(SUB2LT, SUBLT, SUB2LT, INTREG, INTREG, INTREG, AVR32_V2),
 1.26858 -+    SYNTAX_NORMAL3(SUB2MI, SUBMI, SUB2MI, INTREG, INTREG, INTREG, AVR32_V2),
 1.26859 -+    SYNTAX_NORMAL3(SUB2PL, SUBPL, SUB2PL, INTREG, INTREG, INTREG, AVR32_V2),
 1.26860 -+    SYNTAX_NORMAL3(SUB2LS, SUBLS, SUB2LS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26861 -+    SYNTAX_NORMAL3(SUB2GT, SUBGT, SUB2GT, INTREG, INTREG, INTREG, AVR32_V2),
 1.26862 -+    SYNTAX_NORMAL3(SUB2LE, SUBLE, SUB2LE, INTREG, INTREG, INTREG, AVR32_V2),
 1.26863 -+    SYNTAX_NORMAL3(SUB2HI, SUBHI, SUB2HI, INTREG, INTREG, INTREG, AVR32_V2),
 1.26864 -+    SYNTAX_NORMAL3(SUB2VS, SUBVS, SUB2VS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26865 -+    SYNTAX_NORMAL3(SUB2VC, SUBVC, SUB2VC, INTREG, INTREG, INTREG, AVR32_V2),
 1.26866 -+    SYNTAX_NORMAL3(SUB2QS, SUBQS, SUB2QS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26867 -+    SYNTAX_NORMAL3(SUB2AL, SUBAL, SUB2AL, INTREG, INTREG, INTREG, AVR32_V2),
 1.26868 -+    SYNTAX_NORMAL3(SUB2HS, SUBHS, SUB2CC, INTREG, INTREG, INTREG, AVR32_V2),
 1.26869 -+    SYNTAX_NORMAL3(SUB2LO, SUBLO, SUB2CS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26870 -+    SYNTAX_NORMAL3(ANDEQ, ANDEQ, ANDEQ, INTREG, INTREG, INTREG, AVR32_V2),
 1.26871 -+    SYNTAX_NORMAL3(ANDNE, ANDNE, ANDNE, INTREG, INTREG, INTREG, AVR32_V2),
 1.26872 -+    SYNTAX_NORMAL3(ANDCC, ANDCC, ANDCC, INTREG, INTREG, INTREG, AVR32_V2),
 1.26873 -+    SYNTAX_NORMAL3(ANDCS, ANDCS, ANDCS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26874 -+    SYNTAX_NORMAL3(ANDGE, ANDGE, ANDGE, INTREG, INTREG, INTREG, AVR32_V2),
 1.26875 -+    SYNTAX_NORMAL3(ANDLT, ANDLT, ANDLT, INTREG, INTREG, INTREG, AVR32_V2),
 1.26876 -+    SYNTAX_NORMAL3(ANDMI, ANDMI, ANDMI, INTREG, INTREG, INTREG, AVR32_V2),
 1.26877 -+    SYNTAX_NORMAL3(ANDPL, ANDPL, ANDPL, INTREG, INTREG, INTREG, AVR32_V2),
 1.26878 -+    SYNTAX_NORMAL3(ANDLS, ANDLS, ANDLS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26879 -+    SYNTAX_NORMAL3(ANDGT, ANDGT, ANDGT, INTREG, INTREG, INTREG, AVR32_V2),
 1.26880 -+    SYNTAX_NORMAL3(ANDLE, ANDLE, ANDLE, INTREG, INTREG, INTREG, AVR32_V2),
 1.26881 -+    SYNTAX_NORMAL3(ANDHI, ANDHI, ANDHI, INTREG, INTREG, INTREG, AVR32_V2),
 1.26882 -+    SYNTAX_NORMAL3(ANDVS, ANDVS, ANDVS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26883 -+    SYNTAX_NORMAL3(ANDVC, ANDVC, ANDVC, INTREG, INTREG, INTREG, AVR32_V2),
 1.26884 -+    SYNTAX_NORMAL3(ANDQS, ANDQS, ANDQS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26885 -+    SYNTAX_NORMAL3(ANDAL, ANDAL, ANDAL, INTREG, INTREG, INTREG, AVR32_V2),
 1.26886 -+    SYNTAX_NORMAL3(ANDHS, ANDHS, ANDCC, INTREG, INTREG, INTREG, AVR32_V2),
 1.26887 -+    SYNTAX_NORMAL3(ANDLO, ANDLO, ANDCS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26888 -+    SYNTAX_NORMAL3(OREQ, OREQ, OREQ, INTREG, INTREG, INTREG, AVR32_V2),
 1.26889 -+    SYNTAX_NORMAL3(ORNE, ORNE, ORNE, INTREG, INTREG, INTREG, AVR32_V2),
 1.26890 -+    SYNTAX_NORMAL3(ORCC, ORCC, ORCC, INTREG, INTREG, INTREG, AVR32_V2),
 1.26891 -+    SYNTAX_NORMAL3(ORCS, ORCS, ORCS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26892 -+    SYNTAX_NORMAL3(ORGE, ORGE, ORGE, INTREG, INTREG, INTREG, AVR32_V2),
 1.26893 -+    SYNTAX_NORMAL3(ORLT, ORLT, ORLT, INTREG, INTREG, INTREG, AVR32_V2),
 1.26894 -+    SYNTAX_NORMAL3(ORMI, ORMI, ORMI, INTREG, INTREG, INTREG, AVR32_V2),
 1.26895 -+    SYNTAX_NORMAL3(ORPL, ORPL, ORPL, INTREG, INTREG, INTREG, AVR32_V2),
 1.26896 -+    SYNTAX_NORMAL3(ORLS, ORLS, ORLS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26897 -+    SYNTAX_NORMAL3(ORGT, ORGT, ORGT, INTREG, INTREG, INTREG, AVR32_V2),
 1.26898 -+    SYNTAX_NORMAL3(ORLE, ORLE, ORLE, INTREG, INTREG, INTREG, AVR32_V2),
 1.26899 -+    SYNTAX_NORMAL3(ORHI, ORHI, ORHI, INTREG, INTREG, INTREG, AVR32_V2),
 1.26900 -+    SYNTAX_NORMAL3(ORVS, ORVS, ORVS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26901 -+    SYNTAX_NORMAL3(ORVC, ORVC, ORVC, INTREG, INTREG, INTREG, AVR32_V2),
 1.26902 -+    SYNTAX_NORMAL3(ORQS, ORQS, ORQS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26903 -+    SYNTAX_NORMAL3(ORAL, ORAL, ORAL, INTREG, INTREG, INTREG, AVR32_V2),
 1.26904 -+    SYNTAX_NORMAL3(ORHS, ORHS, ORCC, INTREG, INTREG, INTREG, AVR32_V2),
 1.26905 -+    SYNTAX_NORMAL3(ORLO, ORLO, ORCS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26906 -+    SYNTAX_NORMAL3(EOREQ, EOREQ, EOREQ, INTREG, INTREG, INTREG, AVR32_V2),
 1.26907 -+    SYNTAX_NORMAL3(EORNE, EORNE, EORNE, INTREG, INTREG, INTREG, AVR32_V2),
 1.26908 -+    SYNTAX_NORMAL3(EORCC, EORCC, EORCC, INTREG, INTREG, INTREG, AVR32_V2),
 1.26909 -+    SYNTAX_NORMAL3(EORCS, EORCS, EORCS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26910 -+    SYNTAX_NORMAL3(EORGE, EORGE, EORGE, INTREG, INTREG, INTREG, AVR32_V2),
 1.26911 -+    SYNTAX_NORMAL3(EORLT, EORLT, EORLT, INTREG, INTREG, INTREG, AVR32_V2),
 1.26912 -+    SYNTAX_NORMAL3(EORMI, EORMI, EORMI, INTREG, INTREG, INTREG, AVR32_V2),
 1.26913 -+    SYNTAX_NORMAL3(EORPL, EORPL, EORPL, INTREG, INTREG, INTREG, AVR32_V2),
 1.26914 -+    SYNTAX_NORMAL3(EORLS, EORLS, EORLS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26915 -+    SYNTAX_NORMAL3(EORGT, EORGT, EORGT, INTREG, INTREG, INTREG, AVR32_V2),
 1.26916 -+    SYNTAX_NORMAL3(EORLE, EORLE, EORLE, INTREG, INTREG, INTREG, AVR32_V2),
 1.26917 -+    SYNTAX_NORMAL3(EORHI, EORHI, EORHI, INTREG, INTREG, INTREG, AVR32_V2),
 1.26918 -+    SYNTAX_NORMAL3(EORVS, EORVS, EORVS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26919 -+    SYNTAX_NORMAL3(EORVC, EORVC, EORVC, INTREG, INTREG, INTREG, AVR32_V2),
 1.26920 -+    SYNTAX_NORMAL3(EORQS, EORQS, EORQS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26921 -+    SYNTAX_NORMAL3(EORAL, EORAL, EORAL, INTREG, INTREG, INTREG, AVR32_V2),
 1.26922 -+    SYNTAX_NORMAL3(EORHS, EORHS, EORCC, INTREG, INTREG, INTREG, AVR32_V2),
 1.26923 -+    SYNTAX_NORMAL3(EORLO, EORLO, EORCS, INTREG, INTREG, INTREG, AVR32_V2),
 1.26924 -+    SYNTAX_NORMAL2(LD_WEQ, LD_WEQ, LD_WEQ, INTREG, INTREG_UDISP_W, AVR32_V2),
 1.26925 -+    SYNTAX_NORMAL2(LD_WNE, LD_WNE, LD_WNE, INTREG, INTREG_UDISP_W, AVR32_V2),
 1.26926 -+    SYNTAX_NORMAL2(LD_WCC, LD_WCC, LD_WCC, INTREG, INTREG_UDISP_W, AVR32_V2),
 1.26927 -+    SYNTAX_NORMAL2(LD_WCS, LD_WCS, LD_WCS, INTREG, INTREG_UDISP_W, AVR32_V2),
 1.26928 -+    SYNTAX_NORMAL2(LD_WGE, LD_WGE, LD_WGE, INTREG, INTREG_UDISP_W, AVR32_V2),
 1.26929 -+    SYNTAX_NORMAL2(LD_WLT, LD_WLT, LD_WLT, INTREG, INTREG_UDISP_W, AVR32_V2),
 1.26930 -+    SYNTAX_NORMAL2(LD_WMI, LD_WMI, LD_WMI, INTREG, INTREG_UDISP_W, AVR32_V2),
 1.26931 -+    SYNTAX_NORMAL2(LD_WPL, LD_WPL, LD_WPL, INTREG, INTREG_UDISP_W, AVR32_V2),
 1.26932 -+    SYNTAX_NORMAL2(LD_WLS, LD_WLS, LD_WLS, INTREG, INTREG_UDISP_W, AVR32_V2),
 1.26933 -+    SYNTAX_NORMAL2(LD_WGT, LD_WGT, LD_WGT, INTREG, INTREG_UDISP_W, AVR32_V2),
 1.26934 -+    SYNTAX_NORMAL2(LD_WLE, LD_WLE, LD_WLE, INTREG, INTREG_UDISP_W, AVR32_V2),
 1.26935 -+    SYNTAX_NORMAL2(LD_WHI, LD_WHI, LD_WHI, INTREG, INTREG_UDISP_W, AVR32_V2),
 1.26936 -+    SYNTAX_NORMAL2(LD_WVS, LD_WVS, LD_WVS, INTREG, INTREG_UDISP_W, AVR32_V2),
 1.26937 -+    SYNTAX_NORMAL2(LD_WVC, LD_WVC, LD_WVC, INTREG, INTREG_UDISP_W, AVR32_V2),
 1.26938 -+    SYNTAX_NORMAL2(LD_WQS, LD_WQS, LD_WQS, INTREG, INTREG_UDISP_W, AVR32_V2),
 1.26939 -+    SYNTAX_NORMAL2(LD_WAL, LD_WAL, LD_WAL, INTREG, INTREG_UDISP_W, AVR32_V2),
 1.26940 -+    SYNTAX_NORMAL2(LD_WHS, LD_WHS, LD_WCC, INTREG, INTREG_UDISP_W, AVR32_V2),
 1.26941 -+    SYNTAX_NORMAL2(LD_WLO, LD_WLO, LD_WCS, INTREG, INTREG_UDISP_W, AVR32_V2),
 1.26942 -+    SYNTAX_NORMAL2(LD_SHEQ, LD_SHEQ, LD_SHEQ, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26943 -+    SYNTAX_NORMAL2(LD_SHNE, LD_SHNE, LD_SHNE, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26944 -+    SYNTAX_NORMAL2(LD_SHCC, LD_SHCC, LD_SHCC, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26945 -+    SYNTAX_NORMAL2(LD_SHCS, LD_SHCS, LD_SHCS, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26946 -+    SYNTAX_NORMAL2(LD_SHGE, LD_SHGE, LD_SHGE, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26947 -+    SYNTAX_NORMAL2(LD_SHLT, LD_SHLT, LD_SHLT, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26948 -+    SYNTAX_NORMAL2(LD_SHMI, LD_SHMI, LD_SHMI, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26949 -+    SYNTAX_NORMAL2(LD_SHPL, LD_SHPL, LD_SHPL, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26950 -+    SYNTAX_NORMAL2(LD_SHLS, LD_SHLS, LD_SHLS, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26951 -+    SYNTAX_NORMAL2(LD_SHGT, LD_SHGT, LD_SHGT, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26952 -+    SYNTAX_NORMAL2(LD_SHLE, LD_SHLE, LD_SHLE, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26953 -+    SYNTAX_NORMAL2(LD_SHHI, LD_SHHI, LD_SHHI, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26954 -+    SYNTAX_NORMAL2(LD_SHVS, LD_SHVS, LD_SHVS, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26955 -+    SYNTAX_NORMAL2(LD_SHVC, LD_SHVC, LD_SHVC, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26956 -+    SYNTAX_NORMAL2(LD_SHQS, LD_SHQS, LD_SHQS, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26957 -+    SYNTAX_NORMAL2(LD_SHAL, LD_SHAL, LD_SHAL, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26958 -+    SYNTAX_NORMAL2(LD_SHHS, LD_SHHS, LD_SHCC, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26959 -+    SYNTAX_NORMAL2(LD_SHLO, LD_SHLO, LD_SHCS, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26960 -+    SYNTAX_NORMAL2(LD_UHEQ, LD_UHEQ, LD_UHEQ, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26961 -+    SYNTAX_NORMAL2(LD_UHNE, LD_UHNE, LD_UHNE, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26962 -+    SYNTAX_NORMAL2(LD_UHCC, LD_UHCC, LD_UHCC, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26963 -+    SYNTAX_NORMAL2(LD_UHCS, LD_UHCS, LD_UHCS, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26964 -+    SYNTAX_NORMAL2(LD_UHGE, LD_UHGE, LD_UHGE, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26965 -+    SYNTAX_NORMAL2(LD_UHLT, LD_UHLT, LD_UHLT, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26966 -+    SYNTAX_NORMAL2(LD_UHMI, LD_UHMI, LD_UHMI, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26967 -+    SYNTAX_NORMAL2(LD_UHPL, LD_UHPL, LD_UHPL, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26968 -+    SYNTAX_NORMAL2(LD_UHLS, LD_UHLS, LD_UHLS, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26969 -+    SYNTAX_NORMAL2(LD_UHGT, LD_UHGT, LD_UHGT, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26970 -+    SYNTAX_NORMAL2(LD_UHLE, LD_UHLE, LD_UHLE, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26971 -+    SYNTAX_NORMAL2(LD_UHHI, LD_UHHI, LD_UHHI, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26972 -+    SYNTAX_NORMAL2(LD_UHVS, LD_UHVS, LD_UHVS, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26973 -+    SYNTAX_NORMAL2(LD_UHVC, LD_UHVC, LD_UHVC, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26974 -+    SYNTAX_NORMAL2(LD_UHQS, LD_UHQS, LD_UHQS, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26975 -+    SYNTAX_NORMAL2(LD_UHAL, LD_UHAL, LD_UHAL, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26976 -+    SYNTAX_NORMAL2(LD_UHHS, LD_UHHS, LD_UHCC, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26977 -+    SYNTAX_NORMAL2(LD_UHLO, LD_UHLO, LD_UHCS, INTREG, INTREG_UDISP_H, AVR32_V2),
 1.26978 -+    SYNTAX_NORMAL2(LD_SBEQ, LD_SBEQ, LD_SBEQ, INTREG, INTREG_UDISP, AVR32_V2),
 1.26979 -+    SYNTAX_NORMAL2(LD_SBNE, LD_SBNE, LD_SBNE, INTREG, INTREG_UDISP, AVR32_V2),
 1.26980 -+    SYNTAX_NORMAL2(LD_SBCC, LD_SBCC, LD_SBCC, INTREG, INTREG_UDISP, AVR32_V2),
 1.26981 -+    SYNTAX_NORMAL2(LD_SBCS, LD_SBCS, LD_SBCS, INTREG, INTREG_UDISP, AVR32_V2),
 1.26982 -+    SYNTAX_NORMAL2(LD_SBGE, LD_SBGE, LD_SBGE, INTREG, INTREG_UDISP, AVR32_V2),
 1.26983 -+    SYNTAX_NORMAL2(LD_SBLT, LD_SBLT, LD_SBLT, INTREG, INTREG_UDISP, AVR32_V2),
 1.26984 -+    SYNTAX_NORMAL2(LD_SBMI, LD_SBMI, LD_SBMI, INTREG, INTREG_UDISP, AVR32_V2),
 1.26985 -+    SYNTAX_NORMAL2(LD_SBPL, LD_SBPL, LD_SBPL, INTREG, INTREG_UDISP, AVR32_V2),
 1.26986 -+    SYNTAX_NORMAL2(LD_SBLS, LD_SBLS, LD_SBLS, INTREG, INTREG_UDISP, AVR32_V2),
 1.26987 -+    SYNTAX_NORMAL2(LD_SBGT, LD_SBGT, LD_SBGT, INTREG, INTREG_UDISP, AVR32_V2),
 1.26988 -+    SYNTAX_NORMAL2(LD_SBLE, LD_SBLE, LD_SBLE, INTREG, INTREG_UDISP, AVR32_V2),
 1.26989 -+    SYNTAX_NORMAL2(LD_SBHI, LD_SBHI, LD_SBHI, INTREG, INTREG_UDISP, AVR32_V2),
 1.26990 -+    SYNTAX_NORMAL2(LD_SBVS, LD_SBVS, LD_SBVS, INTREG, INTREG_UDISP, AVR32_V2),
 1.26991 -+    SYNTAX_NORMAL2(LD_SBVC, LD_SBVC, LD_SBVC, INTREG, INTREG_UDISP, AVR32_V2),
 1.26992 -+    SYNTAX_NORMAL2(LD_SBQS, LD_SBQS, LD_SBQS, INTREG, INTREG_UDISP, AVR32_V2),
 1.26993 -+    SYNTAX_NORMAL2(LD_SBAL, LD_SBAL, LD_SBAL, INTREG, INTREG_UDISP, AVR32_V2),
 1.26994 -+    SYNTAX_NORMAL2(LD_SBHS, LD_SBHS, LD_SBCC, INTREG, INTREG_UDISP, AVR32_V2),
 1.26995 -+    SYNTAX_NORMAL2(LD_SBLO, LD_SBLO, LD_SBCS, INTREG, INTREG_UDISP, AVR32_V2),
 1.26996 -+    SYNTAX_NORMAL2(LD_UBEQ, LD_UBEQ, LD_UBEQ, INTREG, INTREG_UDISP, AVR32_V2),
 1.26997 -+    SYNTAX_NORMAL2(LD_UBNE, LD_UBNE, LD_UBNE, INTREG, INTREG_UDISP, AVR32_V2),
 1.26998 -+    SYNTAX_NORMAL2(LD_UBCC, LD_UBCC, LD_UBCC, INTREG, INTREG_UDISP, AVR32_V2),
 1.26999 -+    SYNTAX_NORMAL2(LD_UBCS, LD_UBCS, LD_UBCS, INTREG, INTREG_UDISP, AVR32_V2),
 1.27000 -+    SYNTAX_NORMAL2(LD_UBGE, LD_UBGE, LD_UBGE, INTREG, INTREG_UDISP, AVR32_V2),
 1.27001 -+    SYNTAX_NORMAL2(LD_UBLT, LD_UBLT, LD_UBLT, INTREG, INTREG_UDISP, AVR32_V2),
 1.27002 -+    SYNTAX_NORMAL2(LD_UBMI, LD_UBMI, LD_UBMI, INTREG, INTREG_UDISP, AVR32_V2),
 1.27003 -+    SYNTAX_NORMAL2(LD_UBPL, LD_UBPL, LD_UBPL, INTREG, INTREG_UDISP, AVR32_V2),
 1.27004 -+    SYNTAX_NORMAL2(LD_UBLS, LD_UBLS, LD_UBLS, INTREG, INTREG_UDISP, AVR32_V2),
 1.27005 -+    SYNTAX_NORMAL2(LD_UBGT, LD_UBGT, LD_UBGT, INTREG, INTREG_UDISP, AVR32_V2),
 1.27006 -+    SYNTAX_NORMAL2(LD_UBLE, LD_UBLE, LD_UBLE, INTREG, INTREG_UDISP, AVR32_V2),
 1.27007 -+    SYNTAX_NORMAL2(LD_UBHI, LD_UBHI, LD_UBHI, INTREG, INTREG_UDISP, AVR32_V2),
 1.27008 -+    SYNTAX_NORMAL2(LD_UBVS, LD_UBVS, LD_UBVS, INTREG, INTREG_UDISP, AVR32_V2),
 1.27009 -+    SYNTAX_NORMAL2(LD_UBVC, LD_UBVC, LD_UBVC, INTREG, INTREG_UDISP, AVR32_V2),
 1.27010 -+    SYNTAX_NORMAL2(LD_UBQS, LD_UBQS, LD_UBQS, INTREG, INTREG_UDISP, AVR32_V2),
 1.27011 -+    SYNTAX_NORMAL2(LD_UBAL, LD_UBAL, LD_UBAL, INTREG, INTREG_UDISP, AVR32_V2),
 1.27012 -+    SYNTAX_NORMAL2(LD_UBHS, LD_UBHS, LD_UBCC, INTREG, INTREG_UDISP, AVR32_V2),
 1.27013 -+    SYNTAX_NORMAL2(LD_UBLO, LD_UBLO, LD_UBCS, INTREG, INTREG_UDISP, AVR32_V2),
 1.27014 -+    SYNTAX_NORMAL2(ST_WEQ, ST_WEQ, ST_WEQ, INTREG_UDISP_W, INTREG, AVR32_V2),
 1.27015 -+    SYNTAX_NORMAL2(ST_WNE, ST_WNE, ST_WNE, INTREG_UDISP_W, INTREG, AVR32_V2),
 1.27016 -+    SYNTAX_NORMAL2(ST_WCC, ST_WCC, ST_WCC, INTREG_UDISP_W, INTREG, AVR32_V2),
 1.27017 -+    SYNTAX_NORMAL2(ST_WCS, ST_WCS, ST_WCS, INTREG_UDISP_W, INTREG, AVR32_V2),
 1.27018 -+    SYNTAX_NORMAL2(ST_WGE, ST_WGE, ST_WGE, INTREG_UDISP_W, INTREG, AVR32_V2),
 1.27019 -+    SYNTAX_NORMAL2(ST_WLT, ST_WLT, ST_WLT, INTREG_UDISP_W, INTREG, AVR32_V2),
 1.27020 -+    SYNTAX_NORMAL2(ST_WMI, ST_WMI, ST_WMI, INTREG_UDISP_W, INTREG, AVR32_V2),
 1.27021 -+    SYNTAX_NORMAL2(ST_WPL, ST_WPL, ST_WPL, INTREG_UDISP_W, INTREG, AVR32_V2),
 1.27022 -+    SYNTAX_NORMAL2(ST_WLS, ST_WLS, ST_WLS, INTREG_UDISP_W, INTREG, AVR32_V2),
 1.27023 -+    SYNTAX_NORMAL2(ST_WGT, ST_WGT, ST_WGT, INTREG_UDISP_W, INTREG, AVR32_V2),
 1.27024 -+    SYNTAX_NORMAL2(ST_WLE, ST_WLE, ST_WLE, INTREG_UDISP_W, INTREG, AVR32_V2),
 1.27025 -+    SYNTAX_NORMAL2(ST_WHI, ST_WHI, ST_WHI, INTREG_UDISP_W, INTREG, AVR32_V2),
 1.27026 -+    SYNTAX_NORMAL2(ST_WVS, ST_WVS, ST_WVS, INTREG_UDISP_W, INTREG, AVR32_V2),
 1.27027 -+    SYNTAX_NORMAL2(ST_WVC, ST_WVC, ST_WVC, INTREG_UDISP_W, INTREG, AVR32_V2),
 1.27028 -+    SYNTAX_NORMAL2(ST_WQS, ST_WQS, ST_WQS, INTREG_UDISP_W, INTREG, AVR32_V2),
 1.27029 -+    SYNTAX_NORMAL2(ST_WAL, ST_WAL, ST_WAL, INTREG_UDISP_W, INTREG, AVR32_V2),
 1.27030 -+    SYNTAX_NORMAL2(ST_WHS, ST_WHS, ST_WCC, INTREG_UDISP_W, INTREG, AVR32_V2),
 1.27031 -+    SYNTAX_NORMAL2(ST_WLO, ST_WLO, ST_WCS, INTREG_UDISP_W, INTREG, AVR32_V2),
 1.27032 -+    SYNTAX_NORMAL2(ST_HEQ, ST_HEQ, ST_HEQ, INTREG_UDISP_H, INTREG, AVR32_V2),
 1.27033 -+    SYNTAX_NORMAL2(ST_HNE, ST_HNE, ST_HNE, INTREG_UDISP_H, INTREG, AVR32_V2),
 1.27034 -+    SYNTAX_NORMAL2(ST_HCC, ST_HCC, ST_HCC, INTREG_UDISP_H, INTREG, AVR32_V2),
 1.27035 -+    SYNTAX_NORMAL2(ST_HCS, ST_HCS, ST_HCS, INTREG_UDISP_H, INTREG, AVR32_V2),
 1.27036 -+    SYNTAX_NORMAL2(ST_HGE, ST_HGE, ST_HGE, INTREG_UDISP_H, INTREG, AVR32_V2),
 1.27037 -+    SYNTAX_NORMAL2(ST_HLT, ST_HLT, ST_HLT, INTREG_UDISP_H, INTREG, AVR32_V2),
 1.27038 -+    SYNTAX_NORMAL2(ST_HMI, ST_HMI, ST_HMI, INTREG_UDISP_H, INTREG, AVR32_V2),
 1.27039 -+    SYNTAX_NORMAL2(ST_HPL, ST_HPL, ST_HPL, INTREG_UDISP_H, INTREG, AVR32_V2),
 1.27040 -+    SYNTAX_NORMAL2(ST_HLS, ST_HLS, ST_HLS, INTREG_UDISP_H, INTREG, AVR32_V2),
 1.27041 -+    SYNTAX_NORMAL2(ST_HGT, ST_HGT, ST_HGT, INTREG_UDISP_H, INTREG, AVR32_V2),
 1.27042 -+    SYNTAX_NORMAL2(ST_HLE, ST_HLE, ST_HLE, INTREG_UDISP_H, INTREG, AVR32_V2),
 1.27043 -+    SYNTAX_NORMAL2(ST_HHI, ST_HHI, ST_HHI, INTREG_UDISP_H, INTREG, AVR32_V2),
 1.27044 -+    SYNTAX_NORMAL2(ST_HVS, ST_HVS, ST_HVS, INTREG_UDISP_H, INTREG, AVR32_V2),
 1.27045 -+    SYNTAX_NORMAL2(ST_HVC, ST_HVC, ST_HVC, INTREG_UDISP_H, INTREG, AVR32_V2),
 1.27046 -+    SYNTAX_NORMAL2(ST_HQS, ST_HQS, ST_HQS, INTREG_UDISP_H, INTREG, AVR32_V2),
 1.27047 -+    SYNTAX_NORMAL2(ST_HAL, ST_HAL, ST_HAL, INTREG_UDISP_H, INTREG, AVR32_V2),
 1.27048 -+    SYNTAX_NORMAL2(ST_HHS, ST_HHS, ST_HCC, INTREG_UDISP_H, INTREG, AVR32_V2),
 1.27049 -+    SYNTAX_NORMAL2(ST_HLO, ST_HLO, ST_HCS, INTREG_UDISP_H, INTREG, AVR32_V2),
 1.27050 -+    SYNTAX_NORMAL2(ST_BEQ, ST_BEQ, ST_BEQ, INTREG_UDISP, INTREG, AVR32_V2),
 1.27051 -+    SYNTAX_NORMAL2(ST_BNE, ST_BNE, ST_BNE, INTREG_UDISP, INTREG, AVR32_V2),
 1.27052 -+    SYNTAX_NORMAL2(ST_BCC, ST_BCC, ST_BCC, INTREG_UDISP, INTREG, AVR32_V2),
 1.27053 -+    SYNTAX_NORMAL2(ST_BCS, ST_BCS, ST_BCS, INTREG_UDISP, INTREG, AVR32_V2),
 1.27054 -+    SYNTAX_NORMAL2(ST_BGE, ST_BGE, ST_BGE, INTREG_UDISP, INTREG, AVR32_V2),
 1.27055 -+    SYNTAX_NORMAL2(ST_BLT, ST_BLT, ST_BLT, INTREG_UDISP, INTREG, AVR32_V2),
 1.27056 -+    SYNTAX_NORMAL2(ST_BMI, ST_BMI, ST_BMI, INTREG_UDISP, INTREG, AVR32_V2),
 1.27057 -+    SYNTAX_NORMAL2(ST_BPL, ST_BPL, ST_BPL, INTREG_UDISP, INTREG, AVR32_V2),
 1.27058 -+    SYNTAX_NORMAL2(ST_BLS, ST_BLS, ST_BLS, INTREG_UDISP, INTREG, AVR32_V2),
 1.27059 -+    SYNTAX_NORMAL2(ST_BGT, ST_BGT, ST_BGT, INTREG_UDISP, INTREG, AVR32_V2),
 1.27060 -+    SYNTAX_NORMAL2(ST_BLE, ST_BLE, ST_BLE, INTREG_UDISP, INTREG, AVR32_V2),
 1.27061 -+    SYNTAX_NORMAL2(ST_BHI, ST_BHI, ST_BHI, INTREG_UDISP, INTREG, AVR32_V2),
 1.27062 -+    SYNTAX_NORMAL2(ST_BVS, ST_BVS, ST_BVS, INTREG_UDISP, INTREG, AVR32_V2),
 1.27063 -+    SYNTAX_NORMAL2(ST_BVC, ST_BVC, ST_BVC, INTREG_UDISP, INTREG, AVR32_V2),
 1.27064 -+    SYNTAX_NORMAL2(ST_BQS, ST_BQS, ST_BQS, INTREG_UDISP, INTREG, AVR32_V2),
 1.27065 -+    SYNTAX_NORMAL2(ST_BAL, ST_BAL, ST_BAL, INTREG_UDISP, INTREG, AVR32_V2),
 1.27066 -+    SYNTAX_NORMAL2(ST_BHS, ST_BHS, ST_BCC, INTREG_UDISP, INTREG, AVR32_V2),
 1.27067 -+    SYNTAX_NORMAL2(ST_BLO, ST_BLO, ST_BCS, INTREG_UDISP, INTREG, AVR32_V2),
 1.27068 -+    SYNTAX_NORMAL2(MOVH, MOVH, MOVH, INTREG, UNSIGNED_CONST, AVR32_V2),
 1.27069 -+
 1.27070 -+  };
 1.27071 -+
 1.27072 -+#define NORMAL_MNEMONIC(name, syntax, str)		\
 1.27073 -+  {							\
 1.27074 -+    AVR32_MNEMONIC_##name, str,				\
 1.27075 -+    &avr32_syntax_table[AVR32_SYNTAX_##syntax],		\
 1.27076 -+  }
 1.27077 -+#define FP_MNEMONIC(name, syntax, str)			\
 1.27078 -+  NORMAL_MNEMONIC(name##_S, syntax##_S, str ".s"),	\
 1.27079 -+  NORMAL_MNEMONIC(name##_D, syntax##_D, str ".d")
 1.27080 -+
 1.27081 -+const struct avr32_mnemonic avr32_mnemonic_table[] =
 1.27082 -+  {
 1.27083 -+    NORMAL_MNEMONIC(ABS, ABS, "abs"),
 1.27084 -+    NORMAL_MNEMONIC(ACALL, ACALL, "acall"),
 1.27085 -+    NORMAL_MNEMONIC(ACR, ACR, "acr"),
 1.27086 -+    NORMAL_MNEMONIC(ADC, ADC, "adc"),
 1.27087 -+    NORMAL_MNEMONIC(ADD, ADD1, "add"),
 1.27088 -+    NORMAL_MNEMONIC(ADDABS, ADDABS, "addabs"),
 1.27089 -+    NORMAL_MNEMONIC(ADDHH_W, ADDHH_W, "addhh.w"),
 1.27090 -+    NORMAL_MNEMONIC(AND, AND1, "and"),
 1.27091 -+    NORMAL_MNEMONIC(ANDH, ANDH, "andh"),
 1.27092 -+    NORMAL_MNEMONIC(ANDL, ANDL, "andl"),
 1.27093 -+    NORMAL_MNEMONIC(ANDN, ANDN, "andn"),
 1.27094 -+    NORMAL_MNEMONIC(ASR, ASR1, "asr"),
 1.27095 -+    NORMAL_MNEMONIC(BFEXTS, BFEXTS, "bfexts"),
 1.27096 -+    NORMAL_MNEMONIC(BFEXTU, BFEXTU, "bfextu"),
 1.27097 -+    NORMAL_MNEMONIC(BFINS, BFINS, "bfins"),
 1.27098 -+    NORMAL_MNEMONIC(BLD, BLD, "bld"),
 1.27099 -+    NORMAL_MNEMONIC(BREQ, BREQ1, "breq"),
 1.27100 -+    NORMAL_MNEMONIC(BRNE, BRNE1, "brne"),
 1.27101 -+    NORMAL_MNEMONIC(BRCC, BRCC1, "brcc"),
 1.27102 -+    NORMAL_MNEMONIC(BRCS, BRCS1, "brcs"),
 1.27103 -+    NORMAL_MNEMONIC(BRGE, BRGE1, "brge"),
 1.27104 -+    NORMAL_MNEMONIC(BRLT, BRLT1, "brlt"),
 1.27105 -+    NORMAL_MNEMONIC(BRMI, BRMI1, "brmi"),
 1.27106 -+    NORMAL_MNEMONIC(BRPL, BRPL1, "brpl"),
 1.27107 -+    NORMAL_MNEMONIC(BRHS, BRHS1, "brhs"),
 1.27108 -+    NORMAL_MNEMONIC(BRLO, BRLO1, "brlo"),
 1.27109 -+    NORMAL_MNEMONIC(BRLS, BRLS, "brls"),
 1.27110 -+    NORMAL_MNEMONIC(BRGT, BRGT, "brgt"),
 1.27111 -+    NORMAL_MNEMONIC(BRLE, BRLE, "brle"),
 1.27112 -+    NORMAL_MNEMONIC(BRHI, BRHI, "brhi"),
 1.27113 -+    NORMAL_MNEMONIC(BRVS, BRVS, "brvs"),
 1.27114 -+    NORMAL_MNEMONIC(BRVC, BRVC, "brvc"),
 1.27115 -+    NORMAL_MNEMONIC(BRQS, BRQS, "brqs"),
 1.27116 -+    NORMAL_MNEMONIC(BRAL, BRAL, "bral"),
 1.27117 -+    NORMAL_MNEMONIC(BREAKPOINT, BREAKPOINT, "breakpoint"),
 1.27118 -+    NORMAL_MNEMONIC(BREV, BREV, "brev"),
 1.27119 -+    NORMAL_MNEMONIC(BST, BST, "bst"),
 1.27120 -+    NORMAL_MNEMONIC(CACHE, CACHE, "cache"),
 1.27121 -+    NORMAL_MNEMONIC(CASTS_B, CASTS_B, "casts.b"),
 1.27122 -+    NORMAL_MNEMONIC(CASTS_H, CASTS_H, "casts.h"),
 1.27123 -+    NORMAL_MNEMONIC(CASTU_B, CASTU_B, "castu.b"),
 1.27124 -+    NORMAL_MNEMONIC(CASTU_H, CASTU_H, "castu.h"),
 1.27125 -+    NORMAL_MNEMONIC(CBR, CBR, "cbr"),
 1.27126 -+    NORMAL_MNEMONIC(CLZ, CLZ, "clz"),
 1.27127 -+    NORMAL_MNEMONIC(COM, COM, "com"),
 1.27128 -+    NORMAL_MNEMONIC(COP, COP, "cop"),
 1.27129 -+    NORMAL_MNEMONIC(CP_B, CP_B, "cp.b"),
 1.27130 -+    NORMAL_MNEMONIC(CP_H, CP_H, "cp.h"),
 1.27131 -+    NORMAL_MNEMONIC(CP_W, CP_W1, "cp.w"),
 1.27132 -+    NORMAL_MNEMONIC(CP, CP_W1, "cp"),
 1.27133 -+    NORMAL_MNEMONIC(CPC, CPC1, "cpc"),
 1.27134 -+    NORMAL_MNEMONIC(CSRF, CSRF, "csrf"),
 1.27135 -+    NORMAL_MNEMONIC(CSRFCZ, CSRFCZ, "csrfcz"),
 1.27136 -+    NORMAL_MNEMONIC(DIVS, DIVS, "divs"),
 1.27137 -+    NORMAL_MNEMONIC(DIVU, DIVU, "divu"),
 1.27138 -+    NORMAL_MNEMONIC(EOR, EOR1, "eor"),
 1.27139 -+    NORMAL_MNEMONIC(EORL, EORL, "eorl"),
 1.27140 -+    NORMAL_MNEMONIC(EORH, EORH, "eorh"),
 1.27141 -+    NORMAL_MNEMONIC(FRS, FRS, "frs"),
 1.27142 -+    NORMAL_MNEMONIC(ICALL, ICALL, "icall"),
 1.27143 -+    NORMAL_MNEMONIC(INCJOSP, INCJOSP, "incjosp"),
 1.27144 -+    NORMAL_MNEMONIC(LD_D, LD_D1, "ld.d"),
 1.27145 -+    NORMAL_MNEMONIC(LD_SB, LD_SB2, "ld.sb"),
 1.27146 -+    NORMAL_MNEMONIC(LD_UB, LD_UB1, "ld.ub"),
 1.27147 -+    NORMAL_MNEMONIC(LD_SH, LD_SH1, "ld.sh"),
 1.27148 -+    NORMAL_MNEMONIC(LD_UH, LD_UH1, "ld.uh"),
 1.27149 -+    NORMAL_MNEMONIC(LD_W, LD_W1, "ld.w"),
 1.27150 -+    NORMAL_MNEMONIC(LDC_D, LDC_D3, "ldc.d"),
 1.27151 -+    NORMAL_MNEMONIC(LDC_W, LDC_W3, "ldc.w"),
 1.27152 -+    NORMAL_MNEMONIC(LDC0_D, LDC0_D, "ldc0.d"),
 1.27153 -+    NORMAL_MNEMONIC(LDC0_W, LDC0_W, "ldc0.w"),
 1.27154 -+    NORMAL_MNEMONIC(LDCM_D, LDCM_D, "ldcm.d"),
 1.27155 -+    NORMAL_MNEMONIC(LDCM_W, LDCM_W, "ldcm.w"),
 1.27156 -+    NORMAL_MNEMONIC(LDDPC, LDDPC, "lddpc"),
 1.27157 -+    NORMAL_MNEMONIC(LDDSP, LDDSP, "lddsp"),
 1.27158 -+    NORMAL_MNEMONIC(LDINS_B, LDINS_B, "ldins.b"),
 1.27159 -+    NORMAL_MNEMONIC(LDINS_H, LDINS_H, "ldins.h"),
 1.27160 -+    NORMAL_MNEMONIC(LDM, LDM, "ldm"),
 1.27161 -+    NORMAL_MNEMONIC(LDMTS, LDMTS, "ldmts"),
 1.27162 -+    NORMAL_MNEMONIC(LDSWP_SH, LDSWP_SH, "ldswp.sh"),
 1.27163 -+    NORMAL_MNEMONIC(LDSWP_UH, LDSWP_UH, "ldswp.uh"),
 1.27164 -+    NORMAL_MNEMONIC(LDSWP_W, LDSWP_W, "ldswp.w"),
 1.27165 -+    NORMAL_MNEMONIC(LSL, LSL1, "lsl"),
 1.27166 -+    NORMAL_MNEMONIC(LSR, LSR1, "lsr"),
 1.27167 -+    NORMAL_MNEMONIC(MAC, MAC, "mac"),
 1.27168 -+    NORMAL_MNEMONIC(MACHH_D, MACHH_D, "machh.d"),
 1.27169 -+    NORMAL_MNEMONIC(MACHH_W, MACHH_W, "machh.w"),
 1.27170 -+    NORMAL_MNEMONIC(MACS_D, MACS_D, "macs.d"),
 1.27171 -+    NORMAL_MNEMONIC(MACSATHH_W, MACSATHH_W, "macsathh.w"),
 1.27172 -+    NORMAL_MNEMONIC(MACU_D, MACUD, "macu.d"),
 1.27173 -+    NORMAL_MNEMONIC(MACWH_D, MACWH_D, "macwh.d"),
 1.27174 -+    NORMAL_MNEMONIC(MAX, MAX, "max"),
 1.27175 -+    NORMAL_MNEMONIC(MCALL, MCALL, "mcall"),
 1.27176 -+    NORMAL_MNEMONIC(MFDR, MFDR, "mfdr"),
 1.27177 -+    NORMAL_MNEMONIC(MFSR, MFSR, "mfsr"),
 1.27178 -+    NORMAL_MNEMONIC(MIN, MIN, "min"),
 1.27179 -+    NORMAL_MNEMONIC(MOV, MOV3, "mov"),
 1.27180 -+    NORMAL_MNEMONIC(MOVEQ, MOVEQ1, "moveq"),
 1.27181 -+    NORMAL_MNEMONIC(MOVNE, MOVNE1, "movne"),
 1.27182 -+    NORMAL_MNEMONIC(MOVCC, MOVCC1, "movcc"),
 1.27183 -+    NORMAL_MNEMONIC(MOVCS, MOVCS1, "movcs"),
 1.27184 -+    NORMAL_MNEMONIC(MOVGE, MOVGE1, "movge"),
 1.27185 -+    NORMAL_MNEMONIC(MOVLT, MOVLT1, "movlt"),
 1.27186 -+    NORMAL_MNEMONIC(MOVMI, MOVMI1, "movmi"),
 1.27187 -+    NORMAL_MNEMONIC(MOVPL, MOVPL1, "movpl"),
 1.27188 -+    NORMAL_MNEMONIC(MOVLS, MOVLS1, "movls"),
 1.27189 -+    NORMAL_MNEMONIC(MOVGT, MOVGT1, "movgt"),
 1.27190 -+    NORMAL_MNEMONIC(MOVLE, MOVLE1, "movle"),
 1.27191 -+    NORMAL_MNEMONIC(MOVHI, MOVHI1, "movhi"),
 1.27192 -+    NORMAL_MNEMONIC(MOVVS, MOVVS1, "movvs"),
 1.27193 -+    NORMAL_MNEMONIC(MOVVC, MOVVC1, "movvc"),
 1.27194 -+    NORMAL_MNEMONIC(MOVQS, MOVQS1, "movqs"),
 1.27195 -+    NORMAL_MNEMONIC(MOVAL, MOVAL1, "moval"),
 1.27196 -+    NORMAL_MNEMONIC(MOVHS, MOVHS1, "movhs"),
 1.27197 -+    NORMAL_MNEMONIC(MOVLO, MOVLO1, "movlo"),
 1.27198 -+    NORMAL_MNEMONIC(MTDR, MTDR, "mtdr"),
 1.27199 -+    NORMAL_MNEMONIC(MTSR, MTSR, "mtsr"),
 1.27200 -+    NORMAL_MNEMONIC(MUL, MUL1, "mul"),
 1.27201 -+    NORMAL_MNEMONIC(MULHH_W, MULHH_W, "mulhh.w"),
 1.27202 -+    NORMAL_MNEMONIC(MULNHH_W, MULNHH_W, "mulnhh.w"),
 1.27203 -+    NORMAL_MNEMONIC(MULNWH_D, MULNWH_D, "mulnwh.d"),
 1.27204 -+    NORMAL_MNEMONIC(MULS_D, MULSD, "muls.d"),
 1.27205 -+    NORMAL_MNEMONIC(MULSATHH_H, MULSATHH_H, "mulsathh.h"),
 1.27206 -+    NORMAL_MNEMONIC(MULSATHH_W, MULSATHH_W, "mulsathh.w"),
 1.27207 -+    NORMAL_MNEMONIC(MULSATRNDHH_H, MULSATRNDHH_H, "mulsatrndhh.h"),
 1.27208 -+    NORMAL_MNEMONIC(MULSATRNDWH_W, MULSATRNDWH_W, "mulsatrndwh.w"),
 1.27209 -+    NORMAL_MNEMONIC(MULSATWH_W, MULSATWH_W, "mulsatwh.w"),
 1.27210 -+    NORMAL_MNEMONIC(MULU_D, MULU_D, "mulu.d"),
 1.27211 -+    NORMAL_MNEMONIC(MULWH_D, MULWH_D, "mulwh.d"),
 1.27212 -+    NORMAL_MNEMONIC(MUSFR, MUSFR, "musfr"),
 1.27213 -+    NORMAL_MNEMONIC(MUSTR, MUSTR, "mustr"),
 1.27214 -+    NORMAL_MNEMONIC(MVCR_D, MVCR_D, "mvcr.d"),
 1.27215 -+    NORMAL_MNEMONIC(MVCR_W, MVCR_W, "mvcr.w"),
 1.27216 -+    NORMAL_MNEMONIC(MVRC_D, MVRC_D, "mvrc.d"),
 1.27217 -+    NORMAL_MNEMONIC(MVRC_W, MVRC_W, "mvrc.w"),
 1.27218 -+    NORMAL_MNEMONIC(NEG, NEG, "neg"),
 1.27219 -+    NORMAL_MNEMONIC(NOP, NOP, "nop"),
 1.27220 -+    NORMAL_MNEMONIC(OR, OR1, "or"),
 1.27221 -+    NORMAL_MNEMONIC(ORH, ORH, "orh"),
 1.27222 -+    NORMAL_MNEMONIC(ORL, ORL, "orl"),
 1.27223 -+    NORMAL_MNEMONIC(PABS_SB, PABS_SB, "pabs.sb"),
 1.27224 -+    NORMAL_MNEMONIC(PABS_SH, PABS_SH, "pabs.sh"),
 1.27225 -+    NORMAL_MNEMONIC(PACKSH_SB, PACKSH_SB, "packsh.sb"),
 1.27226 -+    NORMAL_MNEMONIC(PACKSH_UB, PACKSH_UB, "packsh.ub"),
 1.27227 -+    NORMAL_MNEMONIC(PACKW_SH, PACKW_SH, "packw.sh"),
 1.27228 -+    NORMAL_MNEMONIC(PADD_B, PADD_B, "padd.b"),
 1.27229 -+    NORMAL_MNEMONIC(PADD_H, PADD_H, "padd.h"),
 1.27230 -+    NORMAL_MNEMONIC(PADDH_SH, PADDH_SH, "paddh.sh"),
 1.27231 -+    NORMAL_MNEMONIC(PADDH_UB, PADDH_UB, "paddh.ub"),
 1.27232 -+    NORMAL_MNEMONIC(PADDS_SB, PADDS_SB, "padds.sb"),
 1.27233 -+    NORMAL_MNEMONIC(PADDS_SH, PADDS_SH, "padds.sh"),
 1.27234 -+    NORMAL_MNEMONIC(PADDS_UB, PADDS_UB, "padds.ub"),
 1.27235 -+    NORMAL_MNEMONIC(PADDS_UH, PADDS_UH, "padds.uh"),
 1.27236 -+    NORMAL_MNEMONIC(PADDSUB_H, PADDSUB_H, "paddsub.h"),
 1.27237 -+    NORMAL_MNEMONIC(PADDSUBH_SH, PADDSUBH_SH, "paddsubh.sh"),
 1.27238 -+    NORMAL_MNEMONIC(PADDSUBS_SH, PADDSUBS_SH, "paddsubs.sh"),
 1.27239 -+    NORMAL_MNEMONIC(PADDSUBS_UH, PADDSUBS_UH, "paddsubs.uh"),
 1.27240 -+    NORMAL_MNEMONIC(PADDX_H, PADDX_H, "paddx.h"),
 1.27241 -+    NORMAL_MNEMONIC(PADDXH_SH, PADDXH_SH, "paddxh.sh"),
 1.27242 -+    NORMAL_MNEMONIC(PADDXS_SH, PADDXS_SH, "paddxs.sh"),
 1.27243 -+    NORMAL_MNEMONIC(PADDXS_UH, PADDXS_UH, "paddxs.uh"),
 1.27244 -+    NORMAL_MNEMONIC(PASR_B, PASR_B, "pasr.b"),
 1.27245 -+    NORMAL_MNEMONIC(PASR_H, PASR_H, "pasr.h"),
 1.27246 -+    NORMAL_MNEMONIC(PAVG_SH, PAVG_SH, "pavg.sh"),
 1.27247 -+    NORMAL_MNEMONIC(PAVG_UB, PAVG_UB, "pavg.ub"),
 1.27248 -+    NORMAL_MNEMONIC(PLSL_B, PLSL_B, "plsl.b"),
 1.27249 -+    NORMAL_MNEMONIC(PLSL_H, PLSL_H, "plsl.h"),
 1.27250 -+    NORMAL_MNEMONIC(PLSR_B, PLSR_B, "plsr.b"),
 1.27251 -+    NORMAL_MNEMONIC(PLSR_H, PLSR_H, "plsr.h"),
 1.27252 -+    NORMAL_MNEMONIC(PMAX_SH, PMAX_SH, "pmax.sh"),
 1.27253 -+    NORMAL_MNEMONIC(PMAX_UB, PMAX_UB, "pmax.ub"),
 1.27254 -+    NORMAL_MNEMONIC(PMIN_SH, PMIN_SH, "pmin.sh"),
 1.27255 -+    NORMAL_MNEMONIC(PMIN_UB, PMIN_UB, "pmin.ub"),
 1.27256 -+    NORMAL_MNEMONIC(POPJC, POPJC, "popjc"),
 1.27257 -+    NORMAL_MNEMONIC(POPM, POPM, "popm"),
 1.27258 -+    NORMAL_MNEMONIC(PREF, PREF, "pref"),
 1.27259 -+    NORMAL_MNEMONIC(PSAD, PSAD, "psad"),
 1.27260 -+    NORMAL_MNEMONIC(PSUB_B, PSUB_B, "psub.b"),
 1.27261 -+    NORMAL_MNEMONIC(PSUB_H, PSUB_H, "psub.h"),
 1.27262 -+    NORMAL_MNEMONIC(PSUBADD_H, PSUBADD_H, "psubadd.h"),
 1.27263 -+    NORMAL_MNEMONIC(PSUBADDH_SH, PSUBADDH_SH, "psubaddh.sh"),
 1.27264 -+    NORMAL_MNEMONIC(PSUBADDS_SH, PSUBADDS_SH, "psubadds.sh"),
 1.27265 -+    NORMAL_MNEMONIC(PSUBADDS_UH, PSUBADDS_UH, "psubadds.uh"),
 1.27266 -+    NORMAL_MNEMONIC(PSUBH_SH, PSUBH_SH, "psubh.sh"),
 1.27267 -+    NORMAL_MNEMONIC(PSUBH_UB, PSUBH_UB, "psubh.ub"),
 1.27268 -+    NORMAL_MNEMONIC(PSUBS_SB, PSUBS_SB, "psubs.sb"),
 1.27269 -+    NORMAL_MNEMONIC(PSUBS_SH, PSUBS_SH, "psubs.sh"),
 1.27270 -+    NORMAL_MNEMONIC(PSUBS_UB, PSUBS_UB, "psubs.ub"),
 1.27271 -+    NORMAL_MNEMONIC(PSUBS_UH, PSUBS_UH, "psubs.uh"),
 1.27272 -+    NORMAL_MNEMONIC(PSUBX_H, PSUBX_H, "psubx.h"),
 1.27273 -+    NORMAL_MNEMONIC(PSUBXH_SH, PSUBXH_SH, "psubxh.sh"),
 1.27274 -+    NORMAL_MNEMONIC(PSUBXS_SH, PSUBXS_SH, "psubxs.sh"),
 1.27275 -+    NORMAL_MNEMONIC(PSUBXS_UH, PSUBXS_UH, "psubxs.uh"),
 1.27276 -+    NORMAL_MNEMONIC(PUNPCKSB_H, PUNPCKSB_H, "punpcksb.h"),
 1.27277 -+    NORMAL_MNEMONIC(PUNPCKUB_H, PUNPCKUB_H, "punpckub.h"),
 1.27278 -+    NORMAL_MNEMONIC(PUSHJC, PUSHJC, "pushjc"),
 1.27279 -+    NORMAL_MNEMONIC(PUSHM, PUSHM, "pushm"),
 1.27280 -+    NORMAL_MNEMONIC(RCALL, RCALL1, "rcall"),
 1.27281 -+    NORMAL_MNEMONIC(RETEQ, RETEQ, "reteq"),
 1.27282 -+    NORMAL_MNEMONIC(RETNE, RETNE, "retne"),
 1.27283 -+    NORMAL_MNEMONIC(RETCC, RETCC, "retcc"),
 1.27284 -+    NORMAL_MNEMONIC(RETCS, RETCS, "retcs"),
 1.27285 -+    NORMAL_MNEMONIC(RETGE, RETGE, "retge"),
 1.27286 -+    NORMAL_MNEMONIC(RETLT, RETLT, "retlt"),
 1.27287 -+    NORMAL_MNEMONIC(RETMI, RETMI, "retmi"),
 1.27288 -+    NORMAL_MNEMONIC(RETPL, RETPL, "retpl"),
 1.27289 -+    NORMAL_MNEMONIC(RETLS, RETLS, "retls"),
 1.27290 -+    NORMAL_MNEMONIC(RETGT, RETGT, "retgt"),
 1.27291 -+    NORMAL_MNEMONIC(RETLE, RETLE, "retle"),
 1.27292 -+    NORMAL_MNEMONIC(RETHI, RETHI, "rethi"),
 1.27293 -+    NORMAL_MNEMONIC(RETVS, RETVS, "retvs"),
 1.27294 -+    NORMAL_MNEMONIC(RETVC, RETVC, "retvc"),
 1.27295 -+    NORMAL_MNEMONIC(RETQS, RETQS, "retqs"),
 1.27296 -+    NORMAL_MNEMONIC(RETAL, RETAL, "retal"),
 1.27297 -+    NORMAL_MNEMONIC(RETHS, RETHS, "reths"),
 1.27298 -+    NORMAL_MNEMONIC(RETLO, RETLO, "retlo"),
 1.27299 -+    NORMAL_MNEMONIC(RET, RETAL, "ret"),
 1.27300 -+    NORMAL_MNEMONIC(RETD, RETD, "retd"),
 1.27301 -+    NORMAL_MNEMONIC(RETE, RETE, "rete"),
 1.27302 -+    NORMAL_MNEMONIC(RETJ, RETJ, "retj"),
 1.27303 -+    NORMAL_MNEMONIC(RETS, RETS, "rets"),
 1.27304 -+    NORMAL_MNEMONIC(RJMP, RJMP, "rjmp"),
 1.27305 -+    NORMAL_MNEMONIC(ROL, ROL, "rol"),
 1.27306 -+    NORMAL_MNEMONIC(ROR, ROR, "ror"),
 1.27307 -+    NORMAL_MNEMONIC(RSUB, RSUB1, "rsub"),
 1.27308 -+    NORMAL_MNEMONIC(SATADD_H, SATADD_H, "satadd.h"),
 1.27309 -+    NORMAL_MNEMONIC(SATADD_W, SATADD_W, "satadd.w"),
 1.27310 -+    NORMAL_MNEMONIC(SATRNDS, SATRNDS, "satrnds"),
 1.27311 -+    NORMAL_MNEMONIC(SATRNDU, SATRNDU, "satrndu"),
 1.27312 -+    NORMAL_MNEMONIC(SATS, SATS, "sats"),
 1.27313 -+    NORMAL_MNEMONIC(SATSUB_H, SATSUB_H, "satsub.h"),
 1.27314 -+    NORMAL_MNEMONIC(SATSUB_W, SATSUB_W1, "satsub.w"),
 1.27315 -+    NORMAL_MNEMONIC(SATU, SATU, "satu"),
 1.27316 -+    NORMAL_MNEMONIC(SBC, SBC, "sbc"),
 1.27317 -+    NORMAL_MNEMONIC(SBR, SBR, "sbr"),
 1.27318 -+    NORMAL_MNEMONIC(SCALL, SCALL, "scall"),
 1.27319 -+    NORMAL_MNEMONIC(SCR, SCR, "scr"),
 1.27320 -+    NORMAL_MNEMONIC(SLEEP, SLEEP, "sleep"),
 1.27321 -+    NORMAL_MNEMONIC(SREQ, SREQ, "sreq"),
 1.27322 -+    NORMAL_MNEMONIC(SRNE, SRNE, "srne"),
 1.27323 -+    NORMAL_MNEMONIC(SRCC, SRCC, "srcc"),
 1.27324 -+    NORMAL_MNEMONIC(SRCS, SRCS, "srcs"),
 1.27325 -+    NORMAL_MNEMONIC(SRGE, SRGE, "srge"),
 1.27326 -+    NORMAL_MNEMONIC(SRLT, SRLT, "srlt"),
 1.27327 -+    NORMAL_MNEMONIC(SRMI, SRMI, "srmi"),
 1.27328 -+    NORMAL_MNEMONIC(SRPL, SRPL, "srpl"),
 1.27329 -+    NORMAL_MNEMONIC(SRLS, SRLS, "srls"),
 1.27330 -+    NORMAL_MNEMONIC(SRGT, SRGT, "srgt"),
 1.27331 -+    NORMAL_MNEMONIC(SRLE, SRLE, "srle"),
 1.27332 -+    NORMAL_MNEMONIC(SRHI, SRHI, "srhi"),
 1.27333 -+    NORMAL_MNEMONIC(SRVS, SRVS, "srvs"),
 1.27334 -+    NORMAL_MNEMONIC(SRVC, SRVC, "srvc"),
 1.27335 -+    NORMAL_MNEMONIC(SRQS, SRQS, "srqs"),
 1.27336 -+    NORMAL_MNEMONIC(SRAL, SRAL, "sral"),
 1.27337 -+    NORMAL_MNEMONIC(SRHS, SRHS, "srhs"),
 1.27338 -+    NORMAL_MNEMONIC(SRLO, SRLO, "srlo"),
 1.27339 -+    NORMAL_MNEMONIC(SSRF, SSRF, "ssrf"),
 1.27340 -+    NORMAL_MNEMONIC(ST_B, ST_B1, "st.b"),
 1.27341 -+    NORMAL_MNEMONIC(ST_D, ST_D1, "st.d"),
 1.27342 -+    NORMAL_MNEMONIC(ST_H, ST_H1, "st.h"),
 1.27343 -+    NORMAL_MNEMONIC(ST_W, ST_W1, "st.w"),
 1.27344 -+    NORMAL_MNEMONIC(STC_D, STC_D3, "stc.d"),
 1.27345 -+    NORMAL_MNEMONIC(STC_W, STC_W3, "stc.w"),
 1.27346 -+    NORMAL_MNEMONIC(STC0_D, STC0_D, "stc0.d"),
 1.27347 -+    NORMAL_MNEMONIC(STC0_W, STC0_W, "stc0.w"),
 1.27348 -+    NORMAL_MNEMONIC(STCM_D, STCM_D, "stcm.d"),
 1.27349 -+    NORMAL_MNEMONIC(STCM_W, STCM_W, "stcm.w"),
 1.27350 -+    NORMAL_MNEMONIC(STCOND, STCOND, "stcond"),
 1.27351 -+    NORMAL_MNEMONIC(STDSP, STDSP, "stdsp"),
 1.27352 -+    NORMAL_MNEMONIC(STHH_W, STHH_W2, "sthh.w"),
 1.27353 -+    NORMAL_MNEMONIC(STM, STM, "stm"),
 1.27354 -+    NORMAL_MNEMONIC(STMTS, STMTS, "stmts"),
 1.27355 -+    NORMAL_MNEMONIC(STSWP_H, STSWP_H, "stswp.h"),
 1.27356 -+    NORMAL_MNEMONIC(STSWP_W, STSWP_W, "stswp.w"),
 1.27357 -+    NORMAL_MNEMONIC(SUB, SUB1, "sub"),
 1.27358 -+    NORMAL_MNEMONIC(SUBEQ, SUBEQ, "subeq"),
 1.27359 -+    NORMAL_MNEMONIC(SUBNE, SUBNE, "subne"),
 1.27360 -+    NORMAL_MNEMONIC(SUBCC, SUBCC, "subcc"),
 1.27361 -+    NORMAL_MNEMONIC(SUBCS, SUBCS, "subcs"),
 1.27362 -+    NORMAL_MNEMONIC(SUBGE, SUBGE, "subge"),
 1.27363 -+    NORMAL_MNEMONIC(SUBLT, SUBLT, "sublt"),
 1.27364 -+    NORMAL_MNEMONIC(SUBMI, SUBMI, "submi"),
 1.27365 -+    NORMAL_MNEMONIC(SUBPL, SUBPL, "subpl"),
 1.27366 -+    NORMAL_MNEMONIC(SUBLS, SUBLS, "subls"),
 1.27367 -+    NORMAL_MNEMONIC(SUBGT, SUBGT, "subgt"),
 1.27368 -+    NORMAL_MNEMONIC(SUBLE, SUBLE, "suble"),
 1.27369 -+    NORMAL_MNEMONIC(SUBHI, SUBHI, "subhi"),
 1.27370 -+    NORMAL_MNEMONIC(SUBVS, SUBVS, "subvs"),
 1.27371 -+    NORMAL_MNEMONIC(SUBVC, SUBVC, "subvc"),
 1.27372 -+    NORMAL_MNEMONIC(SUBQS, SUBQS, "subqs"),
 1.27373 -+    NORMAL_MNEMONIC(SUBAL, SUBAL, "subal"),
 1.27374 -+    NORMAL_MNEMONIC(SUBHS, SUBHS, "subhs"),
 1.27375 -+    NORMAL_MNEMONIC(SUBLO, SUBLO, "sublo"),
 1.27376 -+    NORMAL_MNEMONIC(SUBFEQ, SUBFEQ, "subfeq"),
 1.27377 -+    NORMAL_MNEMONIC(SUBFNE, SUBFNE, "subfne"),
 1.27378 -+    NORMAL_MNEMONIC(SUBFCC, SUBFCC, "subfcc"),
 1.27379 -+    NORMAL_MNEMONIC(SUBFCS, SUBFCS, "subfcs"),
 1.27380 -+    NORMAL_MNEMONIC(SUBFGE, SUBFGE, "subfge"),
 1.27381 -+    NORMAL_MNEMONIC(SUBFLT, SUBFLT, "subflt"),
 1.27382 -+    NORMAL_MNEMONIC(SUBFMI, SUBFMI, "subfmi"),
 1.27383 -+    NORMAL_MNEMONIC(SUBFPL, SUBFPL, "subfpl"),
 1.27384 -+    NORMAL_MNEMONIC(SUBFLS, SUBFLS, "subfls"),
 1.27385 -+    NORMAL_MNEMONIC(SUBFGT, SUBFGT, "subfgt"),
 1.27386 -+    NORMAL_MNEMONIC(SUBFLE, SUBFLE, "subfle"),
 1.27387 -+    NORMAL_MNEMONIC(SUBFHI, SUBFHI, "subfhi"),
 1.27388 -+    NORMAL_MNEMONIC(SUBFVS, SUBFVS, "subfvs"),
 1.27389 -+    NORMAL_MNEMONIC(SUBFVC, SUBFVC, "subfvc"),
 1.27390 -+    NORMAL_MNEMONIC(SUBFQS, SUBFQS, "subfqs"),
 1.27391 -+    NORMAL_MNEMONIC(SUBFAL, SUBFAL, "subfal"),
 1.27392 -+    NORMAL_MNEMONIC(SUBFHS, SUBFHS, "subfhs"),
 1.27393 -+    NORMAL_MNEMONIC(SUBFLO, SUBFLO, "subflo"),
 1.27394 -+    NORMAL_MNEMONIC(SUBHH_W, SUBHH_W, "subhh.w"),
 1.27395 -+    NORMAL_MNEMONIC(SWAP_B, SWAP_B, "swap.b"),
 1.27396 -+    NORMAL_MNEMONIC(SWAP_BH, SWAP_BH, "swap.bh"),
 1.27397 -+    NORMAL_MNEMONIC(SWAP_H, SWAP_H, "swap.h"),
 1.27398 -+    NORMAL_MNEMONIC(SYNC, SYNC, "sync"),
 1.27399 -+    NORMAL_MNEMONIC(TLBR, TLBR, "tlbr"),
 1.27400 -+    NORMAL_MNEMONIC(TLBS, TLBS, "tlbs"),
 1.27401 -+    NORMAL_MNEMONIC(TLBW, TLBW, "tlbw"),
 1.27402 -+    NORMAL_MNEMONIC(TNBZ, TNBZ, "tnbz"),
 1.27403 -+    NORMAL_MNEMONIC(TST, TST, "tst"),
 1.27404 -+    NORMAL_MNEMONIC(XCHG, XCHG, "xchg"),
 1.27405 -+    NORMAL_MNEMONIC(MEMC, MEMC, "memc"),
 1.27406 -+    NORMAL_MNEMONIC(MEMS, MEMS, "mems"),
 1.27407 -+    NORMAL_MNEMONIC(MEMT, MEMT, "memt"),
 1.27408 -+    FP_MNEMONIC(FADD, FADD, "fadd"),
 1.27409 -+    FP_MNEMONIC(FSUB, FSUB, "fsub"),
 1.27410 -+    FP_MNEMONIC(FMAC, FMAC, "fmac"),
 1.27411 -+    FP_MNEMONIC(FNMAC, FNMAC, "fnmac"),
 1.27412 -+    FP_MNEMONIC(FMSC, FMSC, "fmsc"),
 1.27413 -+    FP_MNEMONIC(FNMSC, FNMSC, "fnmsc"),
 1.27414 -+    FP_MNEMONIC(FMUL, FMUL, "fmul"),
 1.27415 -+    FP_MNEMONIC(FNMUL, FNMUL, "fnmul"),
 1.27416 -+    FP_MNEMONIC(FNEG, FNEG, "fneg"),
 1.27417 -+    FP_MNEMONIC(FABS, FABS, "fabs"),
 1.27418 -+    FP_MNEMONIC(FCMP, FCMP, "fcmp"),
 1.27419 -+    FP_MNEMONIC(FMOV, FMOV1, "fmov"),
 1.27420 -+    NORMAL_MNEMONIC(FCASTS_D, FCASTS_D, "fcasts.d"),
 1.27421 -+    NORMAL_MNEMONIC(FCASTD_S, FCASTD_S, "fcastd.s"),
 1.27422 -+    NORMAL_MNEMONIC(LDA_W, LDA_W, "lda.w"),
 1.27423 -+    NORMAL_MNEMONIC(CALL, CALL, "call"),
 1.27424 -+    NORMAL_MNEMONIC(PICOSVMAC, PICOSVMAC0, "picosvmac"),
 1.27425 -+    NORMAL_MNEMONIC(PICOSVMUL, PICOSVMUL0, "picosvmul"),
 1.27426 -+    NORMAL_MNEMONIC(PICOVMAC, PICOVMAC0, "picovmac"),
 1.27427 -+    NORMAL_MNEMONIC(PICOVMUL, PICOVMUL0, "picovmul"),
 1.27428 -+    NORMAL_MNEMONIC(PICOLD_D, PICOLD_D2, "picold.d"),
 1.27429 -+    NORMAL_MNEMONIC(PICOLD_W, PICOLD_W2, "picold.w"),
 1.27430 -+    NORMAL_MNEMONIC(PICOLDM_D, PICOLDM_D, "picoldm.d"),
 1.27431 -+    NORMAL_MNEMONIC(PICOLDM_W, PICOLDM_W, "picoldm.w"),
 1.27432 -+    NORMAL_MNEMONIC(PICOMV_D, PICOMV_D1, "picomv.d"),
 1.27433 -+    NORMAL_MNEMONIC(PICOMV_W, PICOMV_W1, "picomv.w"),
 1.27434 -+    NORMAL_MNEMONIC(PICOST_D, PICOST_D2, "picost.d"),
 1.27435 -+    NORMAL_MNEMONIC(PICOST_W, PICOST_W2, "picost.w"),
 1.27436 -+    NORMAL_MNEMONIC(PICOSTM_D, PICOSTM_D, "picostm.d"),
 1.27437 -+    NORMAL_MNEMONIC(PICOSTM_W, PICOSTM_W, "picostm.w"),
 1.27438 -+    NORMAL_MNEMONIC(RSUBEQ, RSUBEQ, "rsubeq"),
 1.27439 -+    NORMAL_MNEMONIC(RSUBNE, RSUBNE, "rsubne"),
 1.27440 -+    NORMAL_MNEMONIC(RSUBCC, RSUBCC, "rsubcc"),
 1.27441 -+    NORMAL_MNEMONIC(RSUBCS, RSUBCS, "rsubcs"),
 1.27442 -+    NORMAL_MNEMONIC(RSUBGE, RSUBGE, "rsubge"),
 1.27443 -+    NORMAL_MNEMONIC(RSUBLT, RSUBLT, "rsublt"),
 1.27444 -+    NORMAL_MNEMONIC(RSUBMI, RSUBMI, "rsubmi"),
 1.27445 -+    NORMAL_MNEMONIC(RSUBPL, RSUBPL, "rsubpl"),
 1.27446 -+    NORMAL_MNEMONIC(RSUBLS, RSUBLS, "rsubls"),
 1.27447 -+    NORMAL_MNEMONIC(RSUBGT, RSUBGT, "rsubgt"),
 1.27448 -+    NORMAL_MNEMONIC(RSUBLE, RSUBLE, "rsuble"),
 1.27449 -+    NORMAL_MNEMONIC(RSUBHI, RSUBHI, "rsubhi"),
 1.27450 -+    NORMAL_MNEMONIC(RSUBVS, RSUBVS, "rsubvs"),
 1.27451 -+    NORMAL_MNEMONIC(RSUBVC, RSUBVC, "rsubvc"),
 1.27452 -+    NORMAL_MNEMONIC(RSUBQS, RSUBQS, "rsubqs"),
 1.27453 -+    NORMAL_MNEMONIC(RSUBAL, RSUBAL, "rsubal"),
 1.27454 -+    NORMAL_MNEMONIC(RSUBHS, RSUBHS, "rsubhs"),
 1.27455 -+    NORMAL_MNEMONIC(RSUBLO, RSUBLO, "rsublo"),
 1.27456 -+    NORMAL_MNEMONIC(ADDEQ, ADDEQ, "addeq"),
 1.27457 -+    NORMAL_MNEMONIC(ADDNE, ADDNE, "addne"),
 1.27458 -+    NORMAL_MNEMONIC(ADDCC, ADDCC, "addcc"),
 1.27459 -+    NORMAL_MNEMONIC(ADDCS, ADDCS, "addcs"),
 1.27460 -+    NORMAL_MNEMONIC(ADDGE, ADDGE, "addge"),
 1.27461 -+    NORMAL_MNEMONIC(ADDLT, ADDLT, "addlt"),
 1.27462 -+    NORMAL_MNEMONIC(ADDMI, ADDMI, "addmi"),
 1.27463 -+    NORMAL_MNEMONIC(ADDPL, ADDPL, "addpl"),
 1.27464 -+    NORMAL_MNEMONIC(ADDLS, ADDLS, "addls"),
 1.27465 -+    NORMAL_MNEMONIC(ADDGT, ADDGT, "addgt"),
 1.27466 -+    NORMAL_MNEMONIC(ADDLE, ADDLE, "addle"),
 1.27467 -+    NORMAL_MNEMONIC(ADDHI, ADDHI, "addhi"),
 1.27468 -+    NORMAL_MNEMONIC(ADDVS, ADDVS, "addvs"),
 1.27469 -+    NORMAL_MNEMONIC(ADDVC, ADDVC, "addvc"),
 1.27470 -+    NORMAL_MNEMONIC(ADDQS, ADDQS, "addqs"),
 1.27471 -+    NORMAL_MNEMONIC(ADDAL, ADDAL, "addal"),
 1.27472 -+    NORMAL_MNEMONIC(ADDHS, ADDHS, "addhs"),
 1.27473 -+    NORMAL_MNEMONIC(ADDLO, ADDLO, "addlo"),
 1.27474 -+    NORMAL_MNEMONIC(ANDEQ, ANDEQ, "andeq"),
 1.27475 -+    NORMAL_MNEMONIC(ANDNE, ANDNE, "andne"),
 1.27476 -+    NORMAL_MNEMONIC(ANDCC, ANDCC, "andcc"),
 1.27477 -+    NORMAL_MNEMONIC(ANDCS, ANDCS, "andcs"),
 1.27478 -+    NORMAL_MNEMONIC(ANDGE, ANDGE, "andge"),
 1.27479 -+    NORMAL_MNEMONIC(ANDLT, ANDLT, "andlt"),
 1.27480 -+    NORMAL_MNEMONIC(ANDMI, ANDMI, "andmi"),
 1.27481 -+    NORMAL_MNEMONIC(ANDPL, ANDPL, "andpl"),
 1.27482 -+    NORMAL_MNEMONIC(ANDLS, ANDLS, "andls"),
 1.27483 -+    NORMAL_MNEMONIC(ANDGT, ANDGT, "andgt"),
 1.27484 -+    NORMAL_MNEMONIC(ANDLE, ANDLE, "andle"),
 1.27485 -+    NORMAL_MNEMONIC(ANDHI, ANDHI, "andhi"),
 1.27486 -+    NORMAL_MNEMONIC(ANDVS, ANDVS, "andvs"),
 1.27487 -+    NORMAL_MNEMONIC(ANDVC, ANDVC, "andvc"),
 1.27488 -+    NORMAL_MNEMONIC(ANDQS, ANDQS, "andqs"),
 1.27489 -+    NORMAL_MNEMONIC(ANDAL, ANDAL, "andal"),
 1.27490 -+    NORMAL_MNEMONIC(ANDHS, ANDHS, "andhs"),
 1.27491 -+    NORMAL_MNEMONIC(ANDLO, ANDLO, "andlo"),
 1.27492 -+    NORMAL_MNEMONIC(OREQ, OREQ, "oreq"),
 1.27493 -+    NORMAL_MNEMONIC(ORNE, ORNE, "orne"),
 1.27494 -+    NORMAL_MNEMONIC(ORCC, ORCC, "orcc"),
 1.27495 -+    NORMAL_MNEMONIC(ORCS, ORCS, "orcs"),
 1.27496 -+    NORMAL_MNEMONIC(ORGE, ORGE, "orge"),
 1.27497 -+    NORMAL_MNEMONIC(ORLT, ORLT, "orlt"),
 1.27498 -+    NORMAL_MNEMONIC(ORMI, ORMI, "ormi"),
 1.27499 -+    NORMAL_MNEMONIC(ORPL, ORPL, "orpl"),
 1.27500 -+    NORMAL_MNEMONIC(ORLS, ORLS, "orls"),
 1.27501 -+    NORMAL_MNEMONIC(ORGT, ORGT, "orgt"),
 1.27502 -+    NORMAL_MNEMONIC(ORLE, ORLE, "orle"),
 1.27503 -+    NORMAL_MNEMONIC(ORHI, ORHI, "orhi"),
 1.27504 -+    NORMAL_MNEMONIC(ORVS, ORVS, "orvs"),
 1.27505 -+    NORMAL_MNEMONIC(ORVC, ORVC, "orvc"),
 1.27506 -+    NORMAL_MNEMONIC(ORQS, ORQS, "orqs"),
 1.27507 -+    NORMAL_MNEMONIC(ORAL, ORAL, "oral"),
 1.27508 -+    NORMAL_MNEMONIC(ORHS, ORHS, "orhs"),
 1.27509 -+    NORMAL_MNEMONIC(ORLO, ORLO, "orlo"),
 1.27510 -+    NORMAL_MNEMONIC(EOREQ, EOREQ, "eoreq"),
 1.27511 -+    NORMAL_MNEMONIC(EORNE, EORNE, "eorne"),
 1.27512 -+    NORMAL_MNEMONIC(EORCC, EORCC, "eorcc"),
 1.27513 -+    NORMAL_MNEMONIC(EORCS, EORCS, "eorcs"),
 1.27514 -+    NORMAL_MNEMONIC(EORGE, EORGE, "eorge"),
 1.27515 -+    NORMAL_MNEMONIC(EORLT, EORLT, "eorlt"),
 1.27516 -+    NORMAL_MNEMONIC(EORMI, EORMI, "eormi"),
 1.27517 -+    NORMAL_MNEMONIC(EORPL, EORPL, "eorpl"),
 1.27518 -+    NORMAL_MNEMONIC(EORLS, EORLS, "eorls"),
 1.27519 -+    NORMAL_MNEMONIC(EORGT, EORGT, "eorgt"),
 1.27520 -+    NORMAL_MNEMONIC(EORLE, EORLE, "eorle"),
 1.27521 -+    NORMAL_MNEMONIC(EORHI, EORHI, "eorhi"),
 1.27522 -+    NORMAL_MNEMONIC(EORVS, EORVS, "eorvs"),
 1.27523 -+    NORMAL_MNEMONIC(EORVC, EORVC, "eorvc"),
 1.27524 -+    NORMAL_MNEMONIC(EORQS, EORQS, "eorqs"),
 1.27525 -+    NORMAL_MNEMONIC(EORAL, EORAL, "eoral"),
 1.27526 -+    NORMAL_MNEMONIC(EORHS, EORHS, "eorhs"),
 1.27527 -+    NORMAL_MNEMONIC(EORLO, EORLO, "eorlo"),
 1.27528 -+    NORMAL_MNEMONIC(LD_WEQ, LD_WEQ, "ld.weq"),
 1.27529 -+    NORMAL_MNEMONIC(LD_WNE, LD_WNE, "ld.wne"),
 1.27530 -+    NORMAL_MNEMONIC(LD_WCC, LD_WCC, "ld.wcc"),
 1.27531 -+    NORMAL_MNEMONIC(LD_WCS, LD_WCS, "ld.wcs"),
 1.27532 -+    NORMAL_MNEMONIC(LD_WGE, LD_WGE, "ld.wge"),
 1.27533 -+    NORMAL_MNEMONIC(LD_WLT, LD_WLT, "ld.wlt"),
 1.27534 -+    NORMAL_MNEMONIC(LD_WMI, LD_WMI, "ld.wmi"),
 1.27535 -+    NORMAL_MNEMONIC(LD_WPL, LD_WPL, "ld.wpl"),
 1.27536 -+    NORMAL_MNEMONIC(LD_WLS, LD_WLS, "ld.wls"),
 1.27537 -+    NORMAL_MNEMONIC(LD_WGT, LD_WGT, "ld.wgt"),
 1.27538 -+    NORMAL_MNEMONIC(LD_WLE, LD_WLE, "ld.wle"),
 1.27539 -+    NORMAL_MNEMONIC(LD_WHI, LD_WHI, "ld.whi"),
 1.27540 -+    NORMAL_MNEMONIC(LD_WVS, LD_WVS, "ld.wvs"),
 1.27541 -+    NORMAL_MNEMONIC(LD_WVC, LD_WVC, "ld.wvc"),
 1.27542 -+    NORMAL_MNEMONIC(LD_WQS, LD_WQS, "ld.wqs"),
 1.27543 -+    NORMAL_MNEMONIC(LD_WAL, LD_WAL, "ld.wal"),
 1.27544 -+    NORMAL_MNEMONIC(LD_WHS, LD_WHS, "ld.whs"),
 1.27545 -+    NORMAL_MNEMONIC(LD_WLO, LD_WLO, "ld.wlo"),
 1.27546 -+    NORMAL_MNEMONIC(LD_SHEQ, LD_SHEQ, "ld.sheq"),
 1.27547 -+    NORMAL_MNEMONIC(LD_SHNE, LD_SHNE, "ld.shne"),
 1.27548 -+    NORMAL_MNEMONIC(LD_SHCC, LD_SHCC, "ld.shcc"),
 1.27549 -+    NORMAL_MNEMONIC(LD_SHCS, LD_SHCS, "ld.shcs"),
 1.27550 -+    NORMAL_MNEMONIC(LD_SHGE, LD_SHGE, "ld.shge"),
 1.27551 -+    NORMAL_MNEMONIC(LD_SHLT, LD_SHLT, "ld.shlt"),
 1.27552 -+    NORMAL_MNEMONIC(LD_SHMI, LD_SHMI, "ld.shmi"),
 1.27553 -+    NORMAL_MNEMONIC(LD_SHPL, LD_SHPL, "ld.shpl"),
 1.27554 -+    NORMAL_MNEMONIC(LD_SHLS, LD_SHLS, "ld.shls"),
 1.27555 -+    NORMAL_MNEMONIC(LD_SHGT, LD_SHGT, "ld.shgt"),
 1.27556 -+    NORMAL_MNEMONIC(LD_SHLE, LD_SHLE, "ld.shle"),
 1.27557 -+    NORMAL_MNEMONIC(LD_SHHI, LD_SHHI, "ld.shhi"),
 1.27558 -+    NORMAL_MNEMONIC(LD_SHVS, LD_SHVS, "ld.shvs"),
 1.27559 -+    NORMAL_MNEMONIC(LD_SHVC, LD_SHVC, "ld.shvc"),
 1.27560 -+    NORMAL_MNEMONIC(LD_SHQS, LD_SHQS, "ld.shqs"),
 1.27561 -+    NORMAL_MNEMONIC(LD_SHAL, LD_SHAL, "ld.shal"),
 1.27562 -+    NORMAL_MNEMONIC(LD_SHHS, LD_SHHS, "ld.shhs"),
 1.27563 -+    NORMAL_MNEMONIC(LD_SHLO, LD_SHLO, "ld.shlo"),
 1.27564 -+    NORMAL_MNEMONIC(LD_UHEQ, LD_UHEQ, "ld.uheq"),
 1.27565 -+    NORMAL_MNEMONIC(LD_UHNE, LD_UHNE, "ld.uhne"),
 1.27566 -+    NORMAL_MNEMONIC(LD_UHCC, LD_UHCC, "ld.uhcc"),
 1.27567 -+    NORMAL_MNEMONIC(LD_UHCS, LD_UHCS, "ld.uhcs"),
 1.27568 -+    NORMAL_MNEMONIC(LD_UHGE, LD_UHGE, "ld.uhge"),
 1.27569 -+    NORMAL_MNEMONIC(LD_UHLT, LD_UHLT, "ld.uhlt"),
 1.27570 -+    NORMAL_MNEMONIC(LD_UHMI, LD_UHMI, "ld.uhmi"),
 1.27571 -+    NORMAL_MNEMONIC(LD_UHPL, LD_UHPL, "ld.uhpl"),
 1.27572 -+    NORMAL_MNEMONIC(LD_UHLS, LD_UHLS, "ld.uhls"),
 1.27573 -+    NORMAL_MNEMONIC(LD_UHGT, LD_UHGT, "ld.uhgt"),
 1.27574 -+    NORMAL_MNEMONIC(LD_UHLE, LD_UHLE, "ld.uhle"),
 1.27575 -+    NORMAL_MNEMONIC(LD_UHHI, LD_UHHI, "ld.uhhi"),
 1.27576 -+    NORMAL_MNEMONIC(LD_UHVS, LD_UHVS, "ld.uhvs"),
 1.27577 -+    NORMAL_MNEMONIC(LD_UHVC, LD_UHVC, "ld.uhvc"),
 1.27578 -+    NORMAL_MNEMONIC(LD_UHQS, LD_UHQS, "ld.uhqs"),
 1.27579 -+    NORMAL_MNEMONIC(LD_UHAL, LD_UHAL, "ld.uhal"),
 1.27580 -+    NORMAL_MNEMONIC(LD_UHHS, LD_UHHS, "ld.uhhs"),
 1.27581 -+    NORMAL_MNEMONIC(LD_UHLO, LD_UHLO, "ld.uhlo"),
 1.27582 -+    NORMAL_MNEMONIC(LD_SBEQ, LD_SBEQ, "ld.sbeq"),
 1.27583 -+    NORMAL_MNEMONIC(LD_SBNE, LD_SBNE, "ld.sbne"),
 1.27584 -+    NORMAL_MNEMONIC(LD_SBCC, LD_SBCC, "ld.sbcc"),
 1.27585 -+    NORMAL_MNEMONIC(LD_SBCS, LD_SBCS, "ld.sbcs"),
 1.27586 -+    NORMAL_MNEMONIC(LD_SBGE, LD_SBGE, "ld.sbge"),
 1.27587 -+    NORMAL_MNEMONIC(LD_SBLT, LD_SBLT, "ld.sblt"),
 1.27588 -+    NORMAL_MNEMONIC(LD_SBMI, LD_SBMI, "ld.sbmi"),
 1.27589 -+    NORMAL_MNEMONIC(LD_SBPL, LD_SBPL, "ld.sbpl"),
 1.27590 -+    NORMAL_MNEMONIC(LD_SBLS, LD_SBLS, "ld.sbls"),
 1.27591 -+    NORMAL_MNEMONIC(LD_SBGT, LD_SBGT, "ld.sbgt"),
 1.27592 -+    NORMAL_MNEMONIC(LD_SBLE, LD_SBLE, "ld.sble"),
 1.27593 -+    NORMAL_MNEMONIC(LD_SBHI, LD_SBHI, "ld.sbhi"),
 1.27594 -+    NORMAL_MNEMONIC(LD_SBVS, LD_SBVS, "ld.sbvs"),
 1.27595 -+    NORMAL_MNEMONIC(LD_SBVC, LD_SBVC, "ld.sbvc"),
 1.27596 -+    NORMAL_MNEMONIC(LD_SBQS, LD_SBQS, "ld.sbqs"),
 1.27597 -+    NORMAL_MNEMONIC(LD_SBAL, LD_SBAL, "ld.sbal"),
 1.27598 -+    NORMAL_MNEMONIC(LD_SBHS, LD_SBHS, "ld.sbhs"),
 1.27599 -+    NORMAL_MNEMONIC(LD_SBLO, LD_SBLO, "ld.sblo"),
 1.27600 -+    NORMAL_MNEMONIC(LD_UBEQ, LD_UBEQ, "ld.ubeq"),
 1.27601 -+    NORMAL_MNEMONIC(LD_UBNE, LD_UBNE, "ld.ubne"),
 1.27602 -+    NORMAL_MNEMONIC(LD_UBCC, LD_UBCC, "ld.ubcc"),
 1.27603 -+    NORMAL_MNEMONIC(LD_UBCS, LD_UBCS, "ld.ubcs"),
 1.27604 -+    NORMAL_MNEMONIC(LD_UBGE, LD_UBGE, "ld.ubge"),
 1.27605 -+    NORMAL_MNEMONIC(LD_UBLT, LD_UBLT, "ld.ublt"),
 1.27606 -+    NORMAL_MNEMONIC(LD_UBMI, LD_UBMI, "ld.ubmi"),
 1.27607 -+    NORMAL_MNEMONIC(LD_UBPL, LD_UBPL, "ld.ubpl"),
 1.27608 -+    NORMAL_MNEMONIC(LD_UBLS, LD_UBLS, "ld.ubls"),
 1.27609 -+    NORMAL_MNEMONIC(LD_UBGT, LD_UBGT, "ld.ubgt"),
 1.27610 -+    NORMAL_MNEMONIC(LD_UBLE, LD_UBLE, "ld.uble"),
 1.27611 -+    NORMAL_MNEMONIC(LD_UBHI, LD_UBHI, "ld.ubhi"),
 1.27612 -+    NORMAL_MNEMONIC(LD_UBVS, LD_UBVS, "ld.ubvs"),
 1.27613 -+    NORMAL_MNEMONIC(LD_UBVC, LD_UBVC, "ld.ubvc"),
 1.27614 -+    NORMAL_MNEMONIC(LD_UBQS, LD_UBQS, "ld.ubqs"),
 1.27615 -+    NORMAL_MNEMONIC(LD_UBAL, LD_UBAL, "ld.ubal"),
 1.27616 -+    NORMAL_MNEMONIC(LD_UBHS, LD_UBHS, "ld.ubhs"),
 1.27617 -+    NORMAL_MNEMONIC(LD_UBLO, LD_UBLO, "ld.ublo"),
 1.27618 -+    NORMAL_MNEMONIC(ST_WEQ, ST_WEQ, "st.weq"),
 1.27619 -+    NORMAL_MNEMONIC(ST_WNE, ST_WNE, "st.wne"),
 1.27620 -+    NORMAL_MNEMONIC(ST_WCC, ST_WCC, "st.wcc"),
 1.27621 -+    NORMAL_MNEMONIC(ST_WCS, ST_WCS, "st.wcs"),
 1.27622 -+    NORMAL_MNEMONIC(ST_WGE, ST_WGE, "st.wge"),
 1.27623 -+    NORMAL_MNEMONIC(ST_WLT, ST_WLT, "st.wlt"),
 1.27624 -+    NORMAL_MNEMONIC(ST_WMI, ST_WMI, "st.wmi"),
 1.27625 -+    NORMAL_MNEMONIC(ST_WPL, ST_WPL, "st.wpl"),
 1.27626 -+    NORMAL_MNEMONIC(ST_WLS, ST_WLS, "st.wls"),
 1.27627 -+    NORMAL_MNEMONIC(ST_WGT, ST_WGT, "st.wgt"),
 1.27628 -+    NORMAL_MNEMONIC(ST_WLE, ST_WLE, "st.wle"),
 1.27629 -+    NORMAL_MNEMONIC(ST_WHI, ST_WHI, "st.whi"),
 1.27630 -+    NORMAL_MNEMONIC(ST_WVS, ST_WVS, "st.wvs"),
 1.27631 -+    NORMAL_MNEMONIC(ST_WVC, ST_WVC, "st.wvc"),
 1.27632 -+    NORMAL_MNEMONIC(ST_WQS, ST_WQS, "st.wqs"),
 1.27633 -+    NORMAL_MNEMONIC(ST_WAL, ST_WAL, "st.wal"),
 1.27634 -+    NORMAL_MNEMONIC(ST_WHS, ST_WHS, "st.whs"),
 1.27635 -+    NORMAL_MNEMONIC(ST_WLO, ST_WLO, "st.wlo"),
 1.27636 -+    NORMAL_MNEMONIC(ST_HEQ, ST_HEQ, "st.heq"),
 1.27637 -+    NORMAL_MNEMONIC(ST_HNE, ST_HNE, "st.hne"),
 1.27638 -+    NORMAL_MNEMONIC(ST_HCC, ST_HCC, "st.hcc"),
 1.27639 -+    NORMAL_MNEMONIC(ST_HCS, ST_HCS, "st.hcs"),
 1.27640 -+    NORMAL_MNEMONIC(ST_HGE, ST_HGE, "st.hge"),
 1.27641 -+    NORMAL_MNEMONIC(ST_HLT, ST_HLT, "st.hlt"),
 1.27642 -+    NORMAL_MNEMONIC(ST_HMI, ST_HMI, "st.hmi"),
 1.27643 -+    NORMAL_MNEMONIC(ST_HPL, ST_HPL, "st.hpl"),
 1.27644 -+    NORMAL_MNEMONIC(ST_HLS, ST_HLS, "st.hls"),
 1.27645 -+    NORMAL_MNEMONIC(ST_HGT, ST_HGT, "st.hgt"),
 1.27646 -+    NORMAL_MNEMONIC(ST_HLE, ST_HLE, "st.hle"),
 1.27647 -+    NORMAL_MNEMONIC(ST_HHI, ST_HHI, "st.hhi"),
 1.27648 -+    NORMAL_MNEMONIC(ST_HVS, ST_HVS, "st.hvs"),
 1.27649 -+    NORMAL_MNEMONIC(ST_HVC, ST_HVC, "st.hvc"),
 1.27650 -+    NORMAL_MNEMONIC(ST_HQS, ST_HQS, "st.hqs"),
 1.27651 -+    NORMAL_MNEMONIC(ST_HAL, ST_HAL, "st.hal"),
 1.27652 -+    NORMAL_MNEMONIC(ST_HHS, ST_HHS, "st.hhs"),
 1.27653 -+    NORMAL_MNEMONIC(ST_HLO, ST_HLO, "st.hlo"),
 1.27654 -+    NORMAL_MNEMONIC(ST_BEQ, ST_BEQ, "st.beq"),
 1.27655 -+    NORMAL_MNEMONIC(ST_BNE, ST_BNE, "st.bne"),
 1.27656 -+    NORMAL_MNEMONIC(ST_BCC, ST_BCC, "st.bcc"),
 1.27657 -+    NORMAL_MNEMONIC(ST_BCS, ST_BCS, "st.bcs"),
 1.27658 -+    NORMAL_MNEMONIC(ST_BGE, ST_BGE, "st.bge"),
 1.27659 -+    NORMAL_MNEMONIC(ST_BLT, ST_BLT, "st.blt"),
 1.27660 -+    NORMAL_MNEMONIC(ST_BMI, ST_BMI, "st.bmi"),
 1.27661 -+    NORMAL_MNEMONIC(ST_BPL, ST_BPL, "st.bpl"),
 1.27662 -+    NORMAL_MNEMONIC(ST_BLS, ST_BLS, "st.bls"),
 1.27663 -+    NORMAL_MNEMONIC(ST_BGT, ST_BGT, "st.bgt"),
 1.27664 -+    NORMAL_MNEMONIC(ST_BLE, ST_BLE, "st.ble"),
 1.27665 -+    NORMAL_MNEMONIC(ST_BHI, ST_BHI, "st.bhi"),
 1.27666 -+    NORMAL_MNEMONIC(ST_BVS, ST_BVS, "st.bvs"),
 1.27667 -+    NORMAL_MNEMONIC(ST_BVC, ST_BVC, "st.bvc"),
 1.27668 -+    NORMAL_MNEMONIC(ST_BQS, ST_BQS, "st.bqs"),
 1.27669 -+    NORMAL_MNEMONIC(ST_BAL, ST_BAL, "st.bal"),
 1.27670 -+    NORMAL_MNEMONIC(ST_BHS, ST_BHS, "st.bhs"),
 1.27671 -+    NORMAL_MNEMONIC(ST_BLO, ST_BLO, "st.blo"),
 1.27672 -+    NORMAL_MNEMONIC(MOVH, MOVH, "movh"),
 1.27673 -+
 1.27674 -+  };
 1.27675 -+#undef NORMAL_MNEMONIC
 1.27676 -+#undef ALIAS_MNEMONIC
 1.27677 -+#undef FP_MNEMONIC
 1.27678 ---- /dev/null
 1.27679 -+++ b/opcodes/avr32-opc.h
 1.27680 -@@ -0,0 +1,2370 @@
 1.27681 -+/* Opcode tables for AVR32.
 1.27682 -+   Copyright 2005, 2006 Atmel Corporation.
 1.27683 -+
 1.27684 -+   Written by Haavard Skinnemoen, Atmel Norway, <hskinnemoen@atmel.com>
 1.27685 -+
 1.27686 -+   This file is part of libopcodes.
 1.27687 -+
 1.27688 -+   This program is free software; you can redistribute it and/or
 1.27689 -+   modify it under the terms of the GNU General Public License as
 1.27690 -+   published by the Free Software Foundation; either version 2 of the
 1.27691 -+   License, or (at your option) any later version.
 1.27692 -+
 1.27693 -+   This program is distributed in the hope that it will be useful, but
 1.27694 -+   WITHOUT ANY WARRANTY; without even the implied warranty of
 1.27695 -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 1.27696 -+   General Public License for more details.
 1.27697 -+
 1.27698 -+   You should have received a copy of the GNU General Public License
 1.27699 -+   along with this program; if not, write to the Free Software
 1.27700 -+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 1.27701 -+   02111-1307, USA.  */
 1.27702 -+
 1.27703 -+#include "bfd.h"
 1.27704 -+
 1.27705 -+#define AVR32_MAX_OPERANDS	8
 1.27706 -+#define AVR32_MAX_FIELDS	8
 1.27707 -+
 1.27708 -+#define AVR32_V1	        (1 << 1)
 1.27709 -+#define AVR32_SIMD		(1 << 2)
 1.27710 -+#define AVR32_DSP		(1 << 3)
 1.27711 -+#define AVR32_RMW		(1 << 4)
 1.27712 -+#define AVR32_V2	        (1 << 5)
 1.27713 -+#define AVR32_FP		(1 << 16)
 1.27714 -+#define AVR32_PICO		(1 << 17)
 1.27715 -+
 1.27716 -+/* Registers we commonly refer to */
 1.27717 -+#define AVR32_REG_R12		12
 1.27718 -+#define AVR32_REG_SP		13
 1.27719 -+#define AVR32_REG_LR		14
 1.27720 -+#define AVR32_REG_PC		15
 1.27721 -+
 1.27722 -+struct avr32_ifield
 1.27723 -+{
 1.27724 -+  int id;
 1.27725 -+  unsigned short bitsize;
 1.27726 -+  unsigned short shift;
 1.27727 -+  unsigned long mask;
 1.27728 -+
 1.27729 -+  /* If the value doesn't fit, it will be truncated with no warning */
 1.27730 -+  void (*insert)(const struct avr32_ifield *, void *, unsigned long);
 1.27731 -+  void (*extract)(const struct avr32_ifield *, void *, unsigned long *);
 1.27732 -+};
 1.27733 -+
 1.27734 -+struct avr32_opcode
 1.27735 -+{
 1.27736 -+  int id;
 1.27737 -+  int size;
 1.27738 -+  unsigned long value;
 1.27739 -+  unsigned long mask;
 1.27740 -+  const struct avr32_syntax *syntax;
 1.27741 -+  bfd_reloc_code_real_type reloc_type;
 1.27742 -+  unsigned int nr_fields;
 1.27743 -+  /* if relaxable, which field is variable, otherwise -1 */
 1.27744 -+  int var_field;
 1.27745 -+  const struct avr32_ifield *fields[AVR32_MAX_FIELDS];
 1.27746 -+};
 1.27747 -+
 1.27748 -+struct avr32_alias
 1.27749 -+{
 1.27750 -+  int id;
 1.27751 -+  const struct avr32_opcode *opc;
 1.27752 -+  struct {
 1.27753 -+    int is_opindex;
 1.27754 -+    unsigned long value;
 1.27755 -+  } operand_map[AVR32_MAX_OPERANDS];
 1.27756 -+};
 1.27757 -+
 1.27758 -+struct avr32_syntax
 1.27759 -+{
 1.27760 -+  int id;
 1.27761 -+  unsigned long isa_flags;
 1.27762 -+  const struct avr32_mnemonic *mnemonic;
 1.27763 -+  int type;
 1.27764 -+  union {
 1.27765 -+    const struct avr32_opcode *opc;
 1.27766 -+    const struct avr32_alias *alias;
 1.27767 -+  } u;
 1.27768 -+  const struct avr32_syntax *next;
 1.27769 -+  /* negative means "vararg" */
 1.27770 -+  int nr_operands;
 1.27771 -+  int operand[AVR32_MAX_OPERANDS];
 1.27772 -+};
 1.27773 -+
 1.27774 -+#if 0
 1.27775 -+#define AVR32_ALIAS_MAKE_CONST(val) ((val) | 0x80000000UL)
 1.27776 -+#define AVR32_ALIAS_IS_CONST(mapval) (((mapval) & 0x80000000UL) != 0)
 1.27777 -+#define AVR32_ALIAS_GET_CONST(mapval) ((mapval) & ~0x80000000UL)
 1.27778 -+#endif
 1.27779 -+
 1.27780 -+struct avr32_mnemonic
 1.27781 -+{
 1.27782 -+  int id;
 1.27783 -+  const char *name;
 1.27784 -+  const struct avr32_syntax *syntax;
 1.27785 -+};
 1.27786 -+
 1.27787 -+extern const struct avr32_ifield avr32_ifield_table[];
 1.27788 -+extern struct avr32_opcode avr32_opc_table[];
 1.27789 -+extern const struct avr32_syntax avr32_syntax_table[];
 1.27790 -+extern const struct avr32_alias avr32_alias_table[];
 1.27791 -+extern const struct avr32_mnemonic avr32_mnemonic_table[];
 1.27792 -+
 1.27793 -+extern void avr32_insert_simple(const struct avr32_ifield *field,
 1.27794 -+				void *buf, unsigned long value);
 1.27795 -+extern void avr32_insert_bit5c(const struct avr32_ifield *field,
 1.27796 -+			       void *buf, unsigned long value);
 1.27797 -+extern void avr32_insert_k10(const struct avr32_ifield *field,
 1.27798 -+			     void *buf, unsigned long value);
 1.27799 -+extern void avr32_insert_k21(const struct avr32_ifield *field,
 1.27800 -+			     void *buf, unsigned long value);
 1.27801 -+extern void avr32_insert_cpop(const struct avr32_ifield *field,
 1.27802 -+			      void *buf, unsigned long value);
 1.27803 -+extern void avr32_insert_k12cp(const struct avr32_ifield *field,
 1.27804 -+			       void *buf, unsigned long value);
 1.27805 -+
 1.27806 -+extern void avr32_extract_simple(const struct avr32_ifield *field,
 1.27807 -+				 void *buf, unsigned long *value);
 1.27808 -+extern void avr32_extract_bit5c(const struct avr32_ifield *field,
 1.27809 -+				void *buf, unsigned long *value);
 1.27810 -+extern void avr32_extract_k10(const struct avr32_ifield *field,
 1.27811 -+			      void *buf, unsigned long *value);
 1.27812 -+extern void avr32_extract_k21(const struct avr32_ifield *field,
 1.27813 -+			      void *buf, unsigned long *value);
 1.27814 -+extern void avr32_extract_cpop(const struct avr32_ifield *field,
 1.27815 -+			       void *buf, unsigned long *value);
 1.27816 -+extern void avr32_extract_k12cp(const struct avr32_ifield *field,
 1.27817 -+				void *buf, unsigned long *value);
 1.27818 -+
 1.27819 -+enum avr32_operand_type
 1.27820 -+{
 1.27821 -+  AVR32_OPERAND_INTREG,		/* just a register */
 1.27822 -+  AVR32_OPERAND_INTREG_PREDEC,	/* register with pre-decrement */
 1.27823 -+  AVR32_OPERAND_INTREG_POSTINC,	/* register with post-increment */
 1.27824 -+  AVR32_OPERAND_INTREG_LSL,	/* register with left shift */
 1.27825 -+  AVR32_OPERAND_INTREG_LSR,	/* register with right shift */
 1.27826 -+  AVR32_OPERAND_INTREG_BSEL,	/* register with byte selector */
 1.27827 -+  AVR32_OPERAND_INTREG_HSEL,	/* register with halfword selector */
 1.27828 -+  AVR32_OPERAND_INTREG_SDISP,	/* Rp[signed disp] */
 1.27829 -+  AVR32_OPERAND_INTREG_SDISP_H,	/* Rp[signed hword-aligned disp] */
 1.27830 -+  AVR32_OPERAND_INTREG_SDISP_W,	/* Rp[signed word-aligned disp] */
 1.27831 -+  AVR32_OPERAND_INTREG_UDISP,	/* Rp[unsigned disp] */
 1.27832 -+  AVR32_OPERAND_INTREG_UDISP_H,	/* Rp[unsigned hword-aligned disp] */
 1.27833 -+  AVR32_OPERAND_INTREG_UDISP_W, /* Rp[unsigned word-aligned disp] */
 1.27834 -+  AVR32_OPERAND_INTREG_INDEX,	/* Rp[Ri << sa] */
 1.27835 -+  AVR32_OPERAND_INTREG_XINDEX,	/* Rp[Ri:bytesel << 2] */
 1.27836 -+  AVR32_OPERAND_DWREG,		/* Even-numbered register */
 1.27837 -+  AVR32_OPERAND_PC_UDISP_W,	/* PC[unsigned word-aligned disp] or label */
 1.27838 -+  AVR32_OPERAND_SP,		/* Just SP */
 1.27839 -+  AVR32_OPERAND_SP_UDISP_W,	/* SP[unsigned word-aligned disp] */
 1.27840 -+  AVR32_OPERAND_CPNO,
 1.27841 -+  AVR32_OPERAND_CPREG,
 1.27842 -+  AVR32_OPERAND_CPREG_D,
 1.27843 -+  AVR32_OPERAND_UNSIGNED_CONST,
 1.27844 -+  AVR32_OPERAND_UNSIGNED_CONST_W,
 1.27845 -+  AVR32_OPERAND_SIGNED_CONST,
 1.27846 -+  AVR32_OPERAND_SIGNED_CONST_W,
 1.27847 -+  AVR32_OPERAND_JMPLABEL,
 1.27848 -+  AVR32_OPERAND_UNSIGNED_NUMBER,
 1.27849 -+  AVR32_OPERAND_UNSIGNED_NUMBER_W,
 1.27850 -+  AVR32_OPERAND_REGLIST8,
 1.27851 -+  AVR32_OPERAND_REGLIST9,
 1.27852 -+  AVR32_OPERAND_REGLIST16,
 1.27853 -+  AVR32_OPERAND_REGLIST_LDM,
 1.27854 -+  AVR32_OPERAND_REGLIST_CP8,
 1.27855 -+  AVR32_OPERAND_REGLIST_CPD8,
 1.27856 -+  AVR32_OPERAND_RETVAL,
 1.27857 -+  AVR32_OPERAND_MCALL,
 1.27858 -+  AVR32_OPERAND_JOSPINC,
 1.27859 -+  AVR32_OPERAND_COH,
 1.27860 -+  AVR32_OPERAND_FPREG_S,
 1.27861 -+  AVR32_OPERAND_FPREG_D,
 1.27862 -+  AVR32_OPERAND_PICO_REG_W,
 1.27863 -+  AVR32_OPERAND_PICO_REG_D,
 1.27864 -+  AVR32_OPERAND_PICO_REGLIST_W,
 1.27865 -+  AVR32_OPERAND_PICO_REGLIST_D,
 1.27866 -+  AVR32_OPERAND_PICO_IN,
 1.27867 -+  AVR32_OPERAND_PICO_OUT0,
 1.27868 -+  AVR32_OPERAND_PICO_OUT1,
 1.27869 -+  AVR32_OPERAND_PICO_OUT2,
 1.27870 -+  AVR32_OPERAND_PICO_OUT3,
 1.27871 -+  AVR32_OPERAND__END_
 1.27872 -+};
 1.27873 -+#define AVR32_OPERAND_UNKNOWN AVR32_OPERAND__END_
 1.27874 -+#define AVR32_NR_OPERANDS AVR32_OPERAND__END_
 1.27875 -+
 1.27876 -+enum avr32_ifield_type
 1.27877 -+{
 1.27878 -+  AVR32_IFIELD_RX,
 1.27879 -+  AVR32_IFIELD_RY,
 1.27880 -+  AVR32_IFIELD_COND4C,
 1.27881 -+  AVR32_IFIELD_K8C,
 1.27882 -+  AVR32_IFIELD_K7C,
 1.27883 -+  AVR32_IFIELD_K5C,
 1.27884 -+  AVR32_IFIELD_K3,
 1.27885 -+  AVR32_IFIELD_RY_DW,
 1.27886 -+  AVR32_IFIELD_COND4E,
 1.27887 -+  AVR32_IFIELD_K8E,
 1.27888 -+  AVR32_IFIELD_BIT5C,
 1.27889 -+  AVR32_IFIELD_COND3,
 1.27890 -+  AVR32_IFIELD_K10,
 1.27891 -+  AVR32_IFIELD_POPM,
 1.27892 -+  AVR32_IFIELD_K2,
 1.27893 -+  AVR32_IFIELD_RD_E,
 1.27894 -+  AVR32_IFIELD_RD_DW,
 1.27895 -+  AVR32_IFIELD_X,
 1.27896 -+  AVR32_IFIELD_Y,
 1.27897 -+  AVR32_IFIELD_X2,
 1.27898 -+  AVR32_IFIELD_Y2,
 1.27899 -+  AVR32_IFIELD_K5E,
 1.27900 -+  AVR32_IFIELD_PART2,
 1.27901 -+  AVR32_IFIELD_PART1,
 1.27902 -+  AVR32_IFIELD_K16,
 1.27903 -+  AVR32_IFIELD_CACHEOP,
 1.27904 -+  AVR32_IFIELD_K11,
 1.27905 -+  AVR32_IFIELD_K21,
 1.27906 -+  AVR32_IFIELD_CPOP,
 1.27907 -+  AVR32_IFIELD_CPNO,
 1.27908 -+  AVR32_IFIELD_CRD_RI,
 1.27909 -+  AVR32_IFIELD_CRX,
 1.27910 -+  AVR32_IFIELD_CRY,
 1.27911 -+  AVR32_IFIELD_K7E,
 1.27912 -+  AVR32_IFIELD_CRD_DW,
 1.27913 -+  AVR32_IFIELD_PART1_K12,
 1.27914 -+  AVR32_IFIELD_PART2_K12,
 1.27915 -+  AVR32_IFIELD_K12,
 1.27916 -+  AVR32_IFIELD_S5,
 1.27917 -+  AVR32_IFIELD_K5E2,
 1.27918 -+  AVR32_IFIELD_K4,
 1.27919 -+  AVR32_IFIELD_COND4E2,
 1.27920 -+  AVR32_IFIELD_K8E2,
 1.27921 -+  AVR32_IFIELD_K6,
 1.27922 -+  AVR32_IFIELD_MEM15,
 1.27923 -+  AVR32_IFIELD_MEMB5,
 1.27924 -+  AVR32_IFIELD_W,
 1.27925 -+  AVR32_IFIELD_CM_HL,
 1.27926 -+  AVR32_IFIELD_K12CP,
 1.27927 -+  AVR32_IFIELD_K9E,
 1.27928 -+  AVR32_IFIELD__END_,
 1.27929 -+};
 1.27930 -+#define AVR32_NR_IFIELDS AVR32_IFIELD__END_
 1.27931 -+
 1.27932 -+enum avr32_opc_type
 1.27933 -+{
 1.27934 -+  AVR32_OPC_ABS,
 1.27935 -+  AVR32_OPC_ACALL,
 1.27936 -+  AVR32_OPC_ACR,
 1.27937 -+  AVR32_OPC_ADC,
 1.27938 -+  AVR32_OPC_ADD1,
 1.27939 -+  AVR32_OPC_ADD2,
 1.27940 -+  AVR32_OPC_ADDABS,
 1.27941 -+  AVR32_OPC_ADDHH_W,
 1.27942 -+  AVR32_OPC_AND1,
 1.27943 -+  AVR32_OPC_AND2,
 1.27944 -+  AVR32_OPC_AND3,
 1.27945 -+  AVR32_OPC_ANDH,
 1.27946 -+  AVR32_OPC_ANDH_COH,
 1.27947 -+  AVR32_OPC_ANDL,
 1.27948 -+  AVR32_OPC_ANDL_COH,
 1.27949 -+  AVR32_OPC_ANDN,
 1.27950 -+  AVR32_OPC_ASR1,
 1.27951 -+  AVR32_OPC_ASR3,
 1.27952 -+  AVR32_OPC_ASR2,
 1.27953 -+  AVR32_OPC_BLD,
 1.27954 -+  AVR32_OPC_BREQ1,
 1.27955 -+  AVR32_OPC_BRNE1,
 1.27956 -+  AVR32_OPC_BRCC1,
 1.27957 -+  AVR32_OPC_BRCS1,
 1.27958 -+  AVR32_OPC_BRGE1,
 1.27959 -+  AVR32_OPC_BRLT1,
 1.27960 -+  AVR32_OPC_BRMI1,
 1.27961 -+  AVR32_OPC_BRPL1,
 1.27962 -+  AVR32_OPC_BREQ2,
 1.27963 -+  AVR32_OPC_BRNE2,
 1.27964 -+  AVR32_OPC_BRCC2,
 1.27965 -+  AVR32_OPC_BRCS2,
 1.27966 -+  AVR32_OPC_BRGE2,
 1.27967 -+  AVR32_OPC_BRLT2,
 1.27968 -+  AVR32_OPC_BRMI2,
 1.27969 -+  AVR32_OPC_BRPL2,
 1.27970 -+  AVR32_OPC_BRLS,
 1.27971 -+  AVR32_OPC_BRGT,
 1.27972 -+  AVR32_OPC_BRLE,
 1.27973 -+  AVR32_OPC_BRHI,
 1.27974 -+  AVR32_OPC_BRVS,
 1.27975 -+  AVR32_OPC_BRVC,
 1.27976 -+  AVR32_OPC_BRQS,
 1.27977 -+  AVR32_OPC_BRAL,
 1.27978 -+  AVR32_OPC_BREAKPOINT,
 1.27979 -+  AVR32_OPC_BREV,
 1.27980 -+  AVR32_OPC_BST,
 1.27981 -+  AVR32_OPC_CACHE,
 1.27982 -+  AVR32_OPC_CASTS_B,
 1.27983 -+  AVR32_OPC_CASTS_H,
 1.27984 -+  AVR32_OPC_CASTU_B,
 1.27985 -+  AVR32_OPC_CASTU_H,
 1.27986 -+  AVR32_OPC_CBR,
 1.27987 -+  AVR32_OPC_CLZ,
 1.27988 -+  AVR32_OPC_COM,
 1.27989 -+  AVR32_OPC_COP,
 1.27990 -+  AVR32_OPC_CP_B,
 1.27991 -+  AVR32_OPC_CP_H,
 1.27992 -+  AVR32_OPC_CP_W1,
 1.27993 -+  AVR32_OPC_CP_W2,
 1.27994 -+  AVR32_OPC_CP_W3,
 1.27995 -+  AVR32_OPC_CPC1,
 1.27996 -+  AVR32_OPC_CPC2,
 1.27997 -+  AVR32_OPC_CSRF,
 1.27998 -+  AVR32_OPC_CSRFCZ,
 1.27999 -+  AVR32_OPC_DIVS,
 1.28000 -+  AVR32_OPC_DIVU,
 1.28001 -+  AVR32_OPC_EOR1,
 1.28002 -+  AVR32_OPC_EOR2,
 1.28003 -+  AVR32_OPC_EOR3,
 1.28004 -+  AVR32_OPC_EORL,
 1.28005 -+  AVR32_OPC_EORH,
 1.28006 -+  AVR32_OPC_FRS,
 1.28007 -+  AVR32_OPC_ICALL,
 1.28008 -+  AVR32_OPC_INCJOSP,
 1.28009 -+  AVR32_OPC_LD_D1,
 1.28010 -+  AVR32_OPC_LD_D2,
 1.28011 -+  AVR32_OPC_LD_D3,
 1.28012 -+  AVR32_OPC_LD_D5,
 1.28013 -+  AVR32_OPC_LD_D4,
 1.28014 -+  AVR32_OPC_LD_SB2,
 1.28015 -+  AVR32_OPC_LD_SB1,
 1.28016 -+  AVR32_OPC_LD_UB1,
 1.28017 -+  AVR32_OPC_LD_UB2,
 1.28018 -+  AVR32_OPC_LD_UB5,
 1.28019 -+  AVR32_OPC_LD_UB3,
 1.28020 -+  AVR32_OPC_LD_UB4,
 1.28021 -+  AVR32_OPC_LD_SH1,
 1.28022 -+  AVR32_OPC_LD_SH2,
 1.28023 -+  AVR32_OPC_LD_SH5,
 1.28024 -+  AVR32_OPC_LD_SH3,
 1.28025 -+  AVR32_OPC_LD_SH4,
 1.28026 -+  AVR32_OPC_LD_UH1,
 1.28027 -+  AVR32_OPC_LD_UH2,
 1.28028 -+  AVR32_OPC_LD_UH5,
 1.28029 -+  AVR32_OPC_LD_UH3,
 1.28030 -+  AVR32_OPC_LD_UH4,
 1.28031 -+  AVR32_OPC_LD_W1,
 1.28032 -+  AVR32_OPC_LD_W2,
 1.28033 -+  AVR32_OPC_LD_W5,
 1.28034 -+  AVR32_OPC_LD_W6,
 1.28035 -+  AVR32_OPC_LD_W3,
 1.28036 -+  AVR32_OPC_LD_W4,
 1.28037 -+  AVR32_OPC_LDC_D1,
 1.28038 -+  AVR32_OPC_LDC_D2,
 1.28039 -+  AVR32_OPC_LDC_D3,
 1.28040 -+  AVR32_OPC_LDC_W1,
 1.28041 -+  AVR32_OPC_LDC_W2,
 1.28042 -+  AVR32_OPC_LDC_W3,
 1.28043 -+  AVR32_OPC_LDC0_D,
 1.28044 -+  AVR32_OPC_LDC0_W,
 1.28045 -+  AVR32_OPC_LDCM_D,
 1.28046 -+  AVR32_OPC_LDCM_D_PU,
 1.28047 -+  AVR32_OPC_LDCM_W,
 1.28048 -+  AVR32_OPC_LDCM_W_PU,
 1.28049 -+  AVR32_OPC_LDDPC,
 1.28050 -+  AVR32_OPC_LDDPC_EXT,
 1.28051 -+  AVR32_OPC_LDDSP,
 1.28052 -+  AVR32_OPC_LDINS_B,
 1.28053 -+  AVR32_OPC_LDINS_H,
 1.28054 -+  AVR32_OPC_LDM,
 1.28055 -+  AVR32_OPC_LDMTS,
 1.28056 -+  AVR32_OPC_LDMTS_PU,
 1.28057 -+  AVR32_OPC_LDSWP_SH,
 1.28058 -+  AVR32_OPC_LDSWP_UH,
 1.28059 -+  AVR32_OPC_LDSWP_W,
 1.28060 -+  AVR32_OPC_LSL1,
 1.28061 -+  AVR32_OPC_LSL3,
 1.28062 -+  AVR32_OPC_LSL2,
 1.28063 -+  AVR32_OPC_LSR1,
 1.28064 -+  AVR32_OPC_LSR3,
 1.28065 -+  AVR32_OPC_LSR2,
 1.28066 -+  AVR32_OPC_MAC,
 1.28067 -+  AVR32_OPC_MACHH_D,
 1.28068 -+  AVR32_OPC_MACHH_W,
 1.28069 -+  AVR32_OPC_MACS_D,
 1.28070 -+  AVR32_OPC_MACSATHH_W,
 1.28071 -+  AVR32_OPC_MACUD,
 1.28072 -+  AVR32_OPC_MACWH_D,
 1.28073 -+  AVR32_OPC_MAX,
 1.28074 -+  AVR32_OPC_MCALL,
 1.28075 -+  AVR32_OPC_MFDR,
 1.28076 -+  AVR32_OPC_MFSR,
 1.28077 -+  AVR32_OPC_MIN,
 1.28078 -+  AVR32_OPC_MOV3,
 1.28079 -+  AVR32_OPC_MOV1,
 1.28080 -+  AVR32_OPC_MOV2,
 1.28081 -+  AVR32_OPC_MOVEQ1,
 1.28082 -+  AVR32_OPC_MOVNE1,
 1.28083 -+  AVR32_OPC_MOVCC1,
 1.28084 -+  AVR32_OPC_MOVCS1,
 1.28085 -+  AVR32_OPC_MOVGE1,
 1.28086 -+  AVR32_OPC_MOVLT1,
 1.28087 -+  AVR32_OPC_MOVMI1,
 1.28088 -+  AVR32_OPC_MOVPL1,
 1.28089 -+  AVR32_OPC_MOVLS1,
 1.28090 -+  AVR32_OPC_MOVGT1,
 1.28091 -+  AVR32_OPC_MOVLE1,
 1.28092 -+  AVR32_OPC_MOVHI1,
 1.28093 -+  AVR32_OPC_MOVVS1,
 1.28094 -+  AVR32_OPC_MOVVC1,
 1.28095 -+  AVR32_OPC_MOVQS1,
 1.28096 -+  AVR32_OPC_MOVAL1,
 1.28097 -+  AVR32_OPC_MOVEQ2,
 1.28098 -+  AVR32_OPC_MOVNE2,
 1.28099 -+  AVR32_OPC_MOVCC2,
 1.28100 -+  AVR32_OPC_MOVCS2,
 1.28101 -+  AVR32_OPC_MOVGE2,
 1.28102 -+  AVR32_OPC_MOVLT2,
 1.28103 -+  AVR32_OPC_MOVMI2,
 1.28104 -+  AVR32_OPC_MOVPL2,
 1.28105 -+  AVR32_OPC_MOVLS2,
 1.28106 -+  AVR32_OPC_MOVGT2,
 1.28107 -+  AVR32_OPC_MOVLE2,
 1.28108 -+  AVR32_OPC_MOVHI2,
 1.28109 -+  AVR32_OPC_MOVVS2,
 1.28110 -+  AVR32_OPC_MOVVC2,
 1.28111 -+  AVR32_OPC_MOVQS2,
 1.28112 -+  AVR32_OPC_MOVAL2,
 1.28113 -+  AVR32_OPC_MTDR,
 1.28114 -+  AVR32_OPC_MTSR,
 1.28115 -+  AVR32_OPC_MUL1,
 1.28116 -+  AVR32_OPC_MUL2,
 1.28117 -+  AVR32_OPC_MUL3,
 1.28118 -+  AVR32_OPC_MULHH_W,
 1.28119 -+  AVR32_OPC_MULNHH_W,
 1.28120 -+  AVR32_OPC_MULNWH_D,
 1.28121 -+  AVR32_OPC_MULSD,
 1.28122 -+  AVR32_OPC_MULSATHH_H,
 1.28123 -+  AVR32_OPC_MULSATHH_W,
 1.28124 -+  AVR32_OPC_MULSATRNDHH_H,
 1.28125 -+  AVR32_OPC_MULSATRNDWH_W,
 1.28126 -+  AVR32_OPC_MULSATWH_W,
 1.28127 -+  AVR32_OPC_MULU_D,
 1.28128 -+  AVR32_OPC_MULWH_D,
 1.28129 -+  AVR32_OPC_MUSFR,
 1.28130 -+  AVR32_OPC_MUSTR,
 1.28131 -+  AVR32_OPC_MVCR_D,
 1.28132 -+  AVR32_OPC_MVCR_W,
 1.28133 -+  AVR32_OPC_MVRC_D,
 1.28134 -+  AVR32_OPC_MVRC_W,
 1.28135 -+  AVR32_OPC_NEG,
 1.28136 -+  AVR32_OPC_NOP,
 1.28137 -+  AVR32_OPC_OR1,
 1.28138 -+  AVR32_OPC_OR2,
 1.28139 -+  AVR32_OPC_OR3,
 1.28140 -+  AVR32_OPC_ORH,
 1.28141 -+  AVR32_OPC_ORL,
 1.28142 -+  AVR32_OPC_PABS_SB,
 1.28143 -+  AVR32_OPC_PABS_SH,
 1.28144 -+  AVR32_OPC_PACKSH_SB,
 1.28145 -+  AVR32_OPC_PACKSH_UB,
 1.28146 -+  AVR32_OPC_PACKW_SH,
 1.28147 -+  AVR32_OPC_PADD_B,
 1.28148 -+  AVR32_OPC_PADD_H,
 1.28149 -+  AVR32_OPC_PADDH_SH,
 1.28150 -+  AVR32_OPC_PADDH_UB,
 1.28151 -+  AVR32_OPC_PADDS_SB,
 1.28152 -+  AVR32_OPC_PADDS_SH,
 1.28153 -+  AVR32_OPC_PADDS_UB,
 1.28154 -+  AVR32_OPC_PADDS_UH,
 1.28155 -+  AVR32_OPC_PADDSUB_H,
 1.28156 -+  AVR32_OPC_PADDSUBH_SH,
 1.28157 -+  AVR32_OPC_PADDSUBS_SH,
 1.28158 -+  AVR32_OPC_PADDSUBS_UH,
 1.28159 -+  AVR32_OPC_PADDX_H,
 1.28160 -+  AVR32_OPC_PADDXH_SH,
 1.28161 -+  AVR32_OPC_PADDXS_SH,
 1.28162 -+  AVR32_OPC_PADDXS_UH,
 1.28163 -+  AVR32_OPC_PASR_B,
 1.28164 -+  AVR32_OPC_PASR_H,
 1.28165 -+  AVR32_OPC_PAVG_SH,
 1.28166 -+  AVR32_OPC_PAVG_UB,
 1.28167 -+  AVR32_OPC_PLSL_B,
 1.28168 -+  AVR32_OPC_PLSL_H,
 1.28169 -+  AVR32_OPC_PLSR_B,
 1.28170 -+  AVR32_OPC_PLSR_H,
 1.28171 -+  AVR32_OPC_PMAX_SH,
 1.28172 -+  AVR32_OPC_PMAX_UB,
 1.28173 -+  AVR32_OPC_PMIN_SH,
 1.28174 -+  AVR32_OPC_PMIN_UB,
 1.28175 -+  AVR32_OPC_POPJC,
 1.28176 -+  AVR32_OPC_POPM,
 1.28177 -+  AVR32_OPC_POPM_E,
 1.28178 -+  AVR32_OPC_PREF,
 1.28179 -+  AVR32_OPC_PSAD,
 1.28180 -+  AVR32_OPC_PSUB_B,
 1.28181 -+  AVR32_OPC_PSUB_H,
 1.28182 -+  AVR32_OPC_PSUBADD_H,
 1.28183 -+  AVR32_OPC_PSUBADDH_SH,
 1.28184 -+  AVR32_OPC_PSUBADDS_SH,
 1.28185 -+  AVR32_OPC_PSUBADDS_UH,
 1.28186 -+  AVR32_OPC_PSUBH_SH,
 1.28187 -+  AVR32_OPC_PSUBH_UB,
 1.28188 -+  AVR32_OPC_PSUBS_SB,
 1.28189 -+  AVR32_OPC_PSUBS_SH,
 1.28190 -+  AVR32_OPC_PSUBS_UB,
 1.28191 -+  AVR32_OPC_PSUBS_UH,
 1.28192 -+  AVR32_OPC_PSUBX_H,
 1.28193 -+  AVR32_OPC_PSUBXH_SH,
 1.28194 -+  AVR32_OPC_PSUBXS_SH,
 1.28195 -+  AVR32_OPC_PSUBXS_UH,
 1.28196 -+  AVR32_OPC_PUNPCKSB_H,
 1.28197 -+  AVR32_OPC_PUNPCKUB_H,
 1.28198 -+  AVR32_OPC_PUSHJC,
 1.28199 -+  AVR32_OPC_PUSHM,
 1.28200 -+  AVR32_OPC_PUSHM_E,
 1.28201 -+  AVR32_OPC_RCALL1,
 1.28202 -+  AVR32_OPC_RCALL2,
 1.28203 -+  AVR32_OPC_RETEQ,
 1.28204 -+  AVR32_OPC_RETNE,
 1.28205 -+  AVR32_OPC_RETCC,
 1.28206 -+  AVR32_OPC_RETCS,
 1.28207 -+  AVR32_OPC_RETGE,
 1.28208 -+  AVR32_OPC_RETLT,
 1.28209 -+  AVR32_OPC_RETMI,
 1.28210 -+  AVR32_OPC_RETPL,
 1.28211 -+  AVR32_OPC_RETLS,
 1.28212 -+  AVR32_OPC_RETGT,
 1.28213 -+  AVR32_OPC_RETLE,
 1.28214 -+  AVR32_OPC_RETHI,
 1.28215 -+  AVR32_OPC_RETVS,
 1.28216 -+  AVR32_OPC_RETVC,
 1.28217 -+  AVR32_OPC_RETQS,
 1.28218 -+  AVR32_OPC_RETAL,
 1.28219 -+  AVR32_OPC_RETD,
 1.28220 -+  AVR32_OPC_RETE,
 1.28221 -+  AVR32_OPC_RETJ,
 1.28222 -+  AVR32_OPC_RETS,
 1.28223 -+  AVR32_OPC_RJMP,
 1.28224 -+  AVR32_OPC_ROL,
 1.28225 -+  AVR32_OPC_ROR,
 1.28226 -+  AVR32_OPC_RSUB1,
 1.28227 -+  AVR32_OPC_RSUB2,
 1.28228 -+  AVR32_OPC_SATADD_H,
 1.28229 -+  AVR32_OPC_SATADD_W,
 1.28230 -+  AVR32_OPC_SATRNDS,
 1.28231 -+  AVR32_OPC_SATRNDU,
 1.28232 -+  AVR32_OPC_SATS,
 1.28233 -+  AVR32_OPC_SATSUB_H,
 1.28234 -+  AVR32_OPC_SATSUB_W1,
 1.28235 -+  AVR32_OPC_SATSUB_W2,
 1.28236 -+  AVR32_OPC_SATU,
 1.28237 -+  AVR32_OPC_SBC,
 1.28238 -+  AVR32_OPC_SBR,
 1.28239 -+  AVR32_OPC_SCALL,
 1.28240 -+  AVR32_OPC_SCR,
 1.28241 -+  AVR32_OPC_SLEEP,
 1.28242 -+  AVR32_OPC_SREQ,
 1.28243 -+  AVR32_OPC_SRNE,
 1.28244 -+  AVR32_OPC_SRCC,
 1.28245 -+  AVR32_OPC_SRCS,
 1.28246 -+  AVR32_OPC_SRGE,
 1.28247 -+  AVR32_OPC_SRLT,
 1.28248 -+  AVR32_OPC_SRMI,
 1.28249 -+  AVR32_OPC_SRPL,
 1.28250 -+  AVR32_OPC_SRLS,
 1.28251 -+  AVR32_OPC_SRGT,
 1.28252 -+  AVR32_OPC_SRLE,
 1.28253 -+  AVR32_OPC_SRHI,
 1.28254 -+  AVR32_OPC_SRVS,
 1.28255 -+  AVR32_OPC_SRVC,
 1.28256 -+  AVR32_OPC_SRQS,
 1.28257 -+  AVR32_OPC_SRAL,
 1.28258 -+  AVR32_OPC_SSRF,
 1.28259 -+  AVR32_OPC_ST_B1,
 1.28260 -+  AVR32_OPC_ST_B2,
 1.28261 -+  AVR32_OPC_ST_B5,
 1.28262 -+  AVR32_OPC_ST_B3,
 1.28263 -+  AVR32_OPC_ST_B4,
 1.28264 -+  AVR32_OPC_ST_D1,
 1.28265 -+  AVR32_OPC_ST_D2,
 1.28266 -+  AVR32_OPC_ST_D3,
 1.28267 -+  AVR32_OPC_ST_D5,
 1.28268 -+  AVR32_OPC_ST_D4,
 1.28269 -+  AVR32_OPC_ST_H1,
 1.28270 -+  AVR32_OPC_ST_H2,
 1.28271 -+  AVR32_OPC_ST_H5,
 1.28272 -+  AVR32_OPC_ST_H3,
 1.28273 -+  AVR32_OPC_ST_H4,
 1.28274 -+  AVR32_OPC_ST_W1,
 1.28275 -+  AVR32_OPC_ST_W2,
 1.28276 -+  AVR32_OPC_ST_W5,
 1.28277 -+  AVR32_OPC_ST_W3,
 1.28278 -+  AVR32_OPC_ST_W4,
 1.28279 -+  AVR32_OPC_STC_D1,
 1.28280 -+  AVR32_OPC_STC_D2,
 1.28281 -+  AVR32_OPC_STC_D3,
 1.28282 -+  AVR32_OPC_STC_W1,
 1.28283 -+  AVR32_OPC_STC_W2,
 1.28284 -+  AVR32_OPC_STC_W3,
 1.28285 -+  AVR32_OPC_STC0_D,
 1.28286 -+  AVR32_OPC_STC0_W,
 1.28287 -+  AVR32_OPC_STCM_D,
 1.28288 -+  AVR32_OPC_STCM_D_PU,
 1.28289 -+  AVR32_OPC_STCM_W,
 1.28290 -+  AVR32_OPC_STCM_W_PU,
 1.28291 -+  AVR32_OPC_STCOND,
 1.28292 -+  AVR32_OPC_STDSP,
 1.28293 -+  AVR32_OPC_STHH_W2,
 1.28294 -+  AVR32_OPC_STHH_W1,
 1.28295 -+  AVR32_OPC_STM,
 1.28296 -+  AVR32_OPC_STM_PU,
 1.28297 -+  AVR32_OPC_STMTS,
 1.28298 -+  AVR32_OPC_STMTS_PU,
 1.28299 -+  AVR32_OPC_STSWP_H,
 1.28300 -+  AVR32_OPC_STSWP_W,
 1.28301 -+  AVR32_OPC_SUB1,
 1.28302 -+  AVR32_OPC_SUB2,
 1.28303 -+  AVR32_OPC_SUB5,
 1.28304 -+  AVR32_OPC_SUB3_SP,
 1.28305 -+  AVR32_OPC_SUB3,
 1.28306 -+  AVR32_OPC_SUB4,
 1.28307 -+  AVR32_OPC_SUBEQ,
 1.28308 -+  AVR32_OPC_SUBNE,
 1.28309 -+  AVR32_OPC_SUBCC,
 1.28310 -+  AVR32_OPC_SUBCS,
 1.28311 -+  AVR32_OPC_SUBGE,
 1.28312 -+  AVR32_OPC_SUBLT,
 1.28313 -+  AVR32_OPC_SUBMI,
 1.28314 -+  AVR32_OPC_SUBPL,
 1.28315 -+  AVR32_OPC_SUBLS,
 1.28316 -+  AVR32_OPC_SUBGT,
 1.28317 -+  AVR32_OPC_SUBLE,
 1.28318 -+  AVR32_OPC_SUBHI,
 1.28319 -+  AVR32_OPC_SUBVS,
 1.28320 -+  AVR32_OPC_SUBVC,
 1.28321 -+  AVR32_OPC_SUBQS,
 1.28322 -+  AVR32_OPC_SUBAL,
 1.28323 -+  AVR32_OPC_SUBFEQ,
 1.28324 -+  AVR32_OPC_SUBFNE,
 1.28325 -+  AVR32_OPC_SUBFCC,
 1.28326 -+  AVR32_OPC_SUBFCS,
 1.28327 -+  AVR32_OPC_SUBFGE,
 1.28328 -+  AVR32_OPC_SUBFLT,
 1.28329 -+  AVR32_OPC_SUBFMI,
 1.28330 -+  AVR32_OPC_SUBFPL,
 1.28331 -+  AVR32_OPC_SUBFLS,
 1.28332 -+  AVR32_OPC_SUBFGT,
 1.28333 -+  AVR32_OPC_SUBFLE,
 1.28334 -+  AVR32_OPC_SUBFHI,
 1.28335 -+  AVR32_OPC_SUBFVS,
 1.28336 -+  AVR32_OPC_SUBFVC,
 1.28337 -+  AVR32_OPC_SUBFQS,
 1.28338 -+  AVR32_OPC_SUBFAL,
 1.28339 -+  AVR32_OPC_SUBHH_W,
 1.28340 -+  AVR32_OPC_SWAP_B,
 1.28341 -+  AVR32_OPC_SWAP_BH,
 1.28342 -+  AVR32_OPC_SWAP_H,
 1.28343 -+  AVR32_OPC_SYNC,
 1.28344 -+  AVR32_OPC_TLBR,
 1.28345 -+  AVR32_OPC_TLBS,
 1.28346 -+  AVR32_OPC_TLBW,
 1.28347 -+  AVR32_OPC_TNBZ,
 1.28348 -+  AVR32_OPC_TST,
 1.28349 -+  AVR32_OPC_XCHG,
 1.28350 -+  AVR32_OPC_MEMC,
 1.28351 -+  AVR32_OPC_MEMS,
 1.28352 -+  AVR32_OPC_MEMT,
 1.28353 -+  AVR32_OPC_BFEXTS,
 1.28354 -+  AVR32_OPC_BFEXTU,
 1.28355 -+  AVR32_OPC_BFINS,
 1.28356 -+  AVR32_OPC_RSUBEQ,
 1.28357 -+  AVR32_OPC_RSUBNE,
 1.28358 -+  AVR32_OPC_RSUBCC,
 1.28359 -+  AVR32_OPC_RSUBCS,
 1.28360 -+  AVR32_OPC_RSUBGE,
 1.28361 -+  AVR32_OPC_RSUBLT,
 1.28362 -+  AVR32_OPC_RSUBMI,
 1.28363 -+  AVR32_OPC_RSUBPL,
 1.28364 -+  AVR32_OPC_RSUBLS,
 1.28365 -+  AVR32_OPC_RSUBGT,
 1.28366 -+  AVR32_OPC_RSUBLE,
 1.28367 -+  AVR32_OPC_RSUBHI,
 1.28368 -+  AVR32_OPC_RSUBVS,
 1.28369 -+  AVR32_OPC_RSUBVC,
 1.28370 -+  AVR32_OPC_RSUBQS,
 1.28371 -+  AVR32_OPC_RSUBAL,
 1.28372 -+  AVR32_OPC_ADDEQ,
 1.28373 -+  AVR32_OPC_ADDNE,
 1.28374 -+  AVR32_OPC_ADDCC,
 1.28375 -+  AVR32_OPC_ADDCS,
 1.28376 -+  AVR32_OPC_ADDGE,
 1.28377 -+  AVR32_OPC_ADDLT,
 1.28378 -+  AVR32_OPC_ADDMI,
 1.28379 -+  AVR32_OPC_ADDPL,
 1.28380 -+  AVR32_OPC_ADDLS,
 1.28381 -+  AVR32_OPC_ADDGT,
 1.28382 -+  AVR32_OPC_ADDLE,
 1.28383 -+  AVR32_OPC_ADDHI,
 1.28384 -+  AVR32_OPC_ADDVS,
 1.28385 -+  AVR32_OPC_ADDVC,
 1.28386 -+  AVR32_OPC_ADDQS,
 1.28387 -+  AVR32_OPC_ADDAL,
 1.28388 -+  AVR32_OPC_SUB2EQ,
 1.28389 -+  AVR32_OPC_SUB2NE,
 1.28390 -+  AVR32_OPC_SUB2CC,
 1.28391 -+  AVR32_OPC_SUB2CS,
 1.28392 -+  AVR32_OPC_SUB2GE,
 1.28393 -+  AVR32_OPC_SUB2LT,
 1.28394 -+  AVR32_OPC_SUB2MI,
 1.28395 -+  AVR32_OPC_SUB2PL,
 1.28396 -+  AVR32_OPC_SUB2LS,
 1.28397 -+  AVR32_OPC_SUB2GT,
 1.28398 -+  AVR32_OPC_SUB2LE,
 1.28399 -+  AVR32_OPC_SUB2HI,
 1.28400 -+  AVR32_OPC_SUB2VS,
 1.28401 -+  AVR32_OPC_SUB2VC,
 1.28402 -+  AVR32_OPC_SUB2QS,
 1.28403 -+  AVR32_OPC_SUB2AL,
 1.28404 -+  AVR32_OPC_ANDEQ,
 1.28405 -+  AVR32_OPC_ANDNE,
 1.28406 -+  AVR32_OPC_ANDCC,
 1.28407 -+  AVR32_OPC_ANDCS,
 1.28408 -+  AVR32_OPC_ANDGE,
 1.28409 -+  AVR32_OPC_ANDLT,
 1.28410 -+  AVR32_OPC_ANDMI,
 1.28411 -+  AVR32_OPC_ANDPL,
 1.28412 -+  AVR32_OPC_ANDLS,
 1.28413 -+  AVR32_OPC_ANDGT,
 1.28414 -+  AVR32_OPC_ANDLE,
 1.28415 -+  AVR32_OPC_ANDHI,
 1.28416 -+  AVR32_OPC_ANDVS,
 1.28417 -+  AVR32_OPC_ANDVC,
 1.28418 -+  AVR32_OPC_ANDQS,
 1.28419 -+  AVR32_OPC_ANDAL,
 1.28420 -+  AVR32_OPC_OREQ,
 1.28421 -+  AVR32_OPC_ORNE,
 1.28422 -+  AVR32_OPC_ORCC,
 1.28423 -+  AVR32_OPC_ORCS,
 1.28424 -+  AVR32_OPC_ORGE,
 1.28425 -+  AVR32_OPC_ORLT,
 1.28426 -+  AVR32_OPC_ORMI,
 1.28427 -+  AVR32_OPC_ORPL,
 1.28428 -+  AVR32_OPC_ORLS,
 1.28429 -+  AVR32_OPC_ORGT,
 1.28430 -+  AVR32_OPC_ORLE,
 1.28431 -+  AVR32_OPC_ORHI,
 1.28432 -+  AVR32_OPC_ORVS,
 1.28433 -+  AVR32_OPC_ORVC,
 1.28434 -+  AVR32_OPC_ORQS,
 1.28435 -+  AVR32_OPC_ORAL,
 1.28436 -+  AVR32_OPC_EOREQ,
 1.28437 -+  AVR32_OPC_EORNE,
 1.28438 -+  AVR32_OPC_EORCC,
 1.28439 -+  AVR32_OPC_EORCS,
 1.28440 -+  AVR32_OPC_EORGE,
 1.28441 -+  AVR32_OPC_EORLT,
 1.28442 -+  AVR32_OPC_EORMI,
 1.28443 -+  AVR32_OPC_EORPL,
 1.28444 -+  AVR32_OPC_EORLS,
 1.28445 -+  AVR32_OPC_EORGT,
 1.28446 -+  AVR32_OPC_EORLE,
 1.28447 -+  AVR32_OPC_EORHI,
 1.28448 -+  AVR32_OPC_EORVS,
 1.28449 -+  AVR32_OPC_EORVC,
 1.28450 -+  AVR32_OPC_EORQS,
 1.28451 -+  AVR32_OPC_EORAL,
 1.28452 -+  AVR32_OPC_LD_WEQ,
 1.28453 -+  AVR32_OPC_LD_WNE,
 1.28454 -+  AVR32_OPC_LD_WCC,
 1.28455 -+  AVR32_OPC_LD_WCS,
 1.28456 -+  AVR32_OPC_LD_WGE,
 1.28457 -+  AVR32_OPC_LD_WLT,
 1.28458 -+  AVR32_OPC_LD_WMI,
 1.28459 -+  AVR32_OPC_LD_WPL,
 1.28460 -+  AVR32_OPC_LD_WLS,
 1.28461 -+  AVR32_OPC_LD_WGT,
 1.28462 -+  AVR32_OPC_LD_WLE,
 1.28463 -+  AVR32_OPC_LD_WHI,
 1.28464 -+  AVR32_OPC_LD_WVS,
 1.28465 -+  AVR32_OPC_LD_WVC,
 1.28466 -+  AVR32_OPC_LD_WQS,
 1.28467 -+  AVR32_OPC_LD_WAL,
 1.28468 -+  AVR32_OPC_LD_SHEQ,
 1.28469 -+  AVR32_OPC_LD_SHNE,
 1.28470 -+  AVR32_OPC_LD_SHCC,
 1.28471 -+  AVR32_OPC_LD_SHCS,
 1.28472 -+  AVR32_OPC_LD_SHGE,
 1.28473 -+  AVR32_OPC_LD_SHLT,
 1.28474 -+  AVR32_OPC_LD_SHMI,
 1.28475 -+  AVR32_OPC_LD_SHPL,
 1.28476 -+  AVR32_OPC_LD_SHLS,
 1.28477 -+  AVR32_OPC_LD_SHGT,
 1.28478 -+  AVR32_OPC_LD_SHLE,
 1.28479 -+  AVR32_OPC_LD_SHHI,
 1.28480 -+  AVR32_OPC_LD_SHVS,
 1.28481 -+  AVR32_OPC_LD_SHVC,
 1.28482 -+  AVR32_OPC_LD_SHQS,
 1.28483 -+  AVR32_OPC_LD_SHAL,
 1.28484 -+  AVR32_OPC_LD_UHEQ,
 1.28485 -+  AVR32_OPC_LD_UHNE,
 1.28486 -+  AVR32_OPC_LD_UHCC,
 1.28487 -+  AVR32_OPC_LD_UHCS,
 1.28488 -+  AVR32_OPC_LD_UHGE,
 1.28489 -+  AVR32_OPC_LD_UHLT,
 1.28490 -+  AVR32_OPC_LD_UHMI,
 1.28491 -+  AVR32_OPC_LD_UHPL,
 1.28492 -+  AVR32_OPC_LD_UHLS,
 1.28493 -+  AVR32_OPC_LD_UHGT,
 1.28494 -+  AVR32_OPC_LD_UHLE,
 1.28495 -+  AVR32_OPC_LD_UHHI,
 1.28496 -+  AVR32_OPC_LD_UHVS,
 1.28497 -+  AVR32_OPC_LD_UHVC,
 1.28498 -+  AVR32_OPC_LD_UHQS,
 1.28499 -+  AVR32_OPC_LD_UHAL,
 1.28500 -+  AVR32_OPC_LD_SBEQ,
 1.28501 -+  AVR32_OPC_LD_SBNE,
 1.28502 -+  AVR32_OPC_LD_SBCC,
 1.28503 -+  AVR32_OPC_LD_SBCS,
 1.28504 -+  AVR32_OPC_LD_SBGE,
 1.28505 -+  AVR32_OPC_LD_SBLT,
 1.28506 -+  AVR32_OPC_LD_SBMI,
 1.28507 -+  AVR32_OPC_LD_SBPL,
 1.28508 -+  AVR32_OPC_LD_SBLS,
 1.28509 -+  AVR32_OPC_LD_SBGT,
 1.28510 -+  AVR32_OPC_LD_SBLE,
 1.28511 -+  AVR32_OPC_LD_SBHI,
 1.28512 -+  AVR32_OPC_LD_SBVS,
 1.28513 -+  AVR32_OPC_LD_SBVC,
 1.28514 -+  AVR32_OPC_LD_SBQS,
 1.28515 -+  AVR32_OPC_LD_SBAL,
 1.28516 -+  AVR32_OPC_LD_UBEQ,
 1.28517 -+  AVR32_OPC_LD_UBNE,
 1.28518 -+  AVR32_OPC_LD_UBCC,
 1.28519 -+  AVR32_OPC_LD_UBCS,
 1.28520 -+  AVR32_OPC_LD_UBGE,
 1.28521 -+  AVR32_OPC_LD_UBLT,
 1.28522 -+  AVR32_OPC_LD_UBMI,
 1.28523 -+  AVR32_OPC_LD_UBPL,
 1.28524 -+  AVR32_OPC_LD_UBLS,
 1.28525 -+  AVR32_OPC_LD_UBGT,
 1.28526 -+  AVR32_OPC_LD_UBLE,
 1.28527 -+  AVR32_OPC_LD_UBHI,
 1.28528 -+  AVR32_OPC_LD_UBVS,
 1.28529 -+  AVR32_OPC_LD_UBVC,
 1.28530 -+  AVR32_OPC_LD_UBQS,
 1.28531 -+  AVR32_OPC_LD_UBAL,
 1.28532 -+  AVR32_OPC_ST_WEQ,
 1.28533 -+  AVR32_OPC_ST_WNE,
 1.28534 -+  AVR32_OPC_ST_WCC,
 1.28535 -+  AVR32_OPC_ST_WCS,
 1.28536 -+  AVR32_OPC_ST_WGE,
 1.28537 -+  AVR32_OPC_ST_WLT,
 1.28538 -+  AVR32_OPC_ST_WMI,
 1.28539 -+  AVR32_OPC_ST_WPL,
 1.28540 -+  AVR32_OPC_ST_WLS,
 1.28541 -+  AVR32_OPC_ST_WGT,
 1.28542 -+  AVR32_OPC_ST_WLE,
 1.28543 -+  AVR32_OPC_ST_WHI,
 1.28544 -+  AVR32_OPC_ST_WVS,
 1.28545 -+  AVR32_OPC_ST_WVC,
 1.28546 -+  AVR32_OPC_ST_WQS,
 1.28547 -+  AVR32_OPC_ST_WAL,
 1.28548 -+  AVR32_OPC_ST_HEQ,
 1.28549 -+  AVR32_OPC_ST_HNE,
 1.28550 -+  AVR32_OPC_ST_HCC,
 1.28551 -+  AVR32_OPC_ST_HCS,
 1.28552 -+  AVR32_OPC_ST_HGE,
 1.28553 -+  AVR32_OPC_ST_HLT,
 1.28554 -+  AVR32_OPC_ST_HMI,
 1.28555 -+  AVR32_OPC_ST_HPL,
 1.28556 -+  AVR32_OPC_ST_HLS,
 1.28557 -+  AVR32_OPC_ST_HGT,
 1.28558 -+  AVR32_OPC_ST_HLE,
 1.28559 -+  AVR32_OPC_ST_HHI,
 1.28560 -+  AVR32_OPC_ST_HVS,
 1.28561 -+  AVR32_OPC_ST_HVC,
 1.28562 -+  AVR32_OPC_ST_HQS,
 1.28563 -+  AVR32_OPC_ST_HAL,
 1.28564 -+  AVR32_OPC_ST_BEQ,
 1.28565 -+  AVR32_OPC_ST_BNE,
 1.28566 -+  AVR32_OPC_ST_BCC,
 1.28567 -+  AVR32_OPC_ST_BCS,
 1.28568 -+  AVR32_OPC_ST_BGE,
 1.28569 -+  AVR32_OPC_ST_BLT,
 1.28570 -+  AVR32_OPC_ST_BMI,
 1.28571 -+  AVR32_OPC_ST_BPL,
 1.28572 -+  AVR32_OPC_ST_BLS,
 1.28573 -+  AVR32_OPC_ST_BGT,
 1.28574 -+  AVR32_OPC_ST_BLE,
 1.28575 -+  AVR32_OPC_ST_BHI,
 1.28576 -+  AVR32_OPC_ST_BVS,
 1.28577 -+  AVR32_OPC_ST_BVC,
 1.28578 -+  AVR32_OPC_ST_BQS,
 1.28579 -+  AVR32_OPC_ST_BAL,
 1.28580 -+  AVR32_OPC_MOVH,
 1.28581 -+  AVR32_OPC__END_
 1.28582 -+};
 1.28583 -+#define AVR32_NR_OPCODES AVR32_OPC__END_
 1.28584 -+
 1.28585 -+enum avr32_syntax_type
 1.28586 -+{
 1.28587 -+  AVR32_SYNTAX_ABS,
 1.28588 -+  AVR32_SYNTAX_ACALL,
 1.28589 -+  AVR32_SYNTAX_ACR,
 1.28590 -+  AVR32_SYNTAX_ADC,
 1.28591 -+  AVR32_SYNTAX_ADD1,
 1.28592 -+  AVR32_SYNTAX_ADD2,
 1.28593 -+  AVR32_SYNTAX_ADDABS,
 1.28594 -+  AVR32_SYNTAX_ADDHH_W,
 1.28595 -+  AVR32_SYNTAX_AND1,
 1.28596 -+  AVR32_SYNTAX_AND2,
 1.28597 -+  AVR32_SYNTAX_AND3,
 1.28598 -+  AVR32_SYNTAX_ANDH,
 1.28599 -+  AVR32_SYNTAX_ANDH_COH,
 1.28600 -+  AVR32_SYNTAX_ANDL,
 1.28601 -+  AVR32_SYNTAX_ANDL_COH,
 1.28602 -+  AVR32_SYNTAX_ANDN,
 1.28603 -+  AVR32_SYNTAX_ASR1,
 1.28604 -+  AVR32_SYNTAX_ASR3,
 1.28605 -+  AVR32_SYNTAX_ASR2,
 1.28606 -+  AVR32_SYNTAX_BFEXTS,
 1.28607 -+  AVR32_SYNTAX_BFEXTU,
 1.28608 -+  AVR32_SYNTAX_BFINS,
 1.28609 -+  AVR32_SYNTAX_BLD,
 1.28610 -+  AVR32_SYNTAX_BREQ1,
 1.28611 -+  AVR32_SYNTAX_BRNE1,
 1.28612 -+  AVR32_SYNTAX_BRCC1,
 1.28613 -+  AVR32_SYNTAX_BRCS1,
 1.28614 -+  AVR32_SYNTAX_BRGE1,
 1.28615 -+  AVR32_SYNTAX_BRLT1,
 1.28616 -+  AVR32_SYNTAX_BRMI1,
 1.28617 -+  AVR32_SYNTAX_BRPL1,
 1.28618 -+  AVR32_SYNTAX_BRHS1,
 1.28619 -+  AVR32_SYNTAX_BRLO1,
 1.28620 -+  AVR32_SYNTAX_BREQ2,
 1.28621 -+  AVR32_SYNTAX_BRNE2,
 1.28622 -+  AVR32_SYNTAX_BRCC2,
 1.28623 -+  AVR32_SYNTAX_BRCS2,
 1.28624 -+  AVR32_SYNTAX_BRGE2,
 1.28625 -+  AVR32_SYNTAX_BRLT2,
 1.28626 -+  AVR32_SYNTAX_BRMI2,
 1.28627 -+  AVR32_SYNTAX_BRPL2,
 1.28628 -+  AVR32_SYNTAX_BRLS,
 1.28629 -+  AVR32_SYNTAX_BRGT,
 1.28630 -+  AVR32_SYNTAX_BRLE,
 1.28631 -+  AVR32_SYNTAX_BRHI,
 1.28632 -+  AVR32_SYNTAX_BRVS,
 1.28633 -+  AVR32_SYNTAX_BRVC,
 1.28634 -+  AVR32_SYNTAX_BRQS,
 1.28635 -+  AVR32_SYNTAX_BRAL,
 1.28636 -+  AVR32_SYNTAX_BRHS2,
 1.28637 -+  AVR32_SYNTAX_BRLO2,
 1.28638 -+  AVR32_SYNTAX_BREAKPOINT,
 1.28639 -+  AVR32_SYNTAX_BREV,
 1.28640 -+  AVR32_SYNTAX_BST,
 1.28641 -+  AVR32_SYNTAX_CACHE,
 1.28642 -+  AVR32_SYNTAX_CASTS_B,
 1.28643 -+  AVR32_SYNTAX_CASTS_H,
 1.28644 -+  AVR32_SYNTAX_CASTU_B,
 1.28645 -+  AVR32_SYNTAX_CASTU_H,
 1.28646 -+  AVR32_SYNTAX_CBR,
 1.28647 -+  AVR32_SYNTAX_CLZ,
 1.28648 -+  AVR32_SYNTAX_COM,
 1.28649 -+  AVR32_SYNTAX_COP,
 1.28650 -+  AVR32_SYNTAX_CP_B,
 1.28651 -+  AVR32_SYNTAX_CP_H,
 1.28652 -+  AVR32_SYNTAX_CP_W1,
 1.28653 -+  AVR32_SYNTAX_CP_W2,
 1.28654 -+  AVR32_SYNTAX_CP_W3,
 1.28655 -+  AVR32_SYNTAX_CPC1,
 1.28656 -+  AVR32_SYNTAX_CPC2,
 1.28657 -+  AVR32_SYNTAX_CSRF,
 1.28658 -+  AVR32_SYNTAX_CSRFCZ,
 1.28659 -+  AVR32_SYNTAX_DIVS,
 1.28660 -+  AVR32_SYNTAX_DIVU,
 1.28661 -+  AVR32_SYNTAX_EOR1,
 1.28662 -+  AVR32_SYNTAX_EOR2,
 1.28663 -+  AVR32_SYNTAX_EOR3,
 1.28664 -+  AVR32_SYNTAX_EORL,
 1.28665 -+  AVR32_SYNTAX_EORH,
 1.28666 -+  AVR32_SYNTAX_FRS,
 1.28667 -+  AVR32_SYNTAX_ICALL,
 1.28668 -+  AVR32_SYNTAX_INCJOSP,
 1.28669 -+  AVR32_SYNTAX_LD_D1,
 1.28670 -+  AVR32_SYNTAX_LD_D2,
 1.28671 -+  AVR32_SYNTAX_LD_D3,
 1.28672 -+  AVR32_SYNTAX_LD_D5,
 1.28673 -+  AVR32_SYNTAX_LD_D4,
 1.28674 -+  AVR32_SYNTAX_LD_SB2,
 1.28675 -+  AVR32_SYNTAX_LD_SB1,
 1.28676 -+  AVR32_SYNTAX_LD_UB1,
 1.28677 -+  AVR32_SYNTAX_LD_UB2,
 1.28678 -+  AVR32_SYNTAX_LD_UB5,
 1.28679 -+  AVR32_SYNTAX_LD_UB3,
 1.28680 -+  AVR32_SYNTAX_LD_UB4,
 1.28681 -+  AVR32_SYNTAX_LD_SH1,
 1.28682 -+  AVR32_SYNTAX_LD_SH2,
 1.28683 -+  AVR32_SYNTAX_LD_SH5,
 1.28684 -+  AVR32_SYNTAX_LD_SH3,
 1.28685 -+  AVR32_SYNTAX_LD_SH4,
 1.28686 -+  AVR32_SYNTAX_LD_UH1,
 1.28687 -+  AVR32_SYNTAX_LD_UH2,
 1.28688 -+  AVR32_SYNTAX_LD_UH5,
 1.28689 -+  AVR32_SYNTAX_LD_UH3,
 1.28690 -+  AVR32_SYNTAX_LD_UH4,
 1.28691 -+  AVR32_SYNTAX_LD_W1,
 1.28692 -+  AVR32_SYNTAX_LD_W2,
 1.28693 -+  AVR32_SYNTAX_LD_W5,
 1.28694 -+  AVR32_SYNTAX_LD_W6,
 1.28695 -+  AVR32_SYNTAX_LD_W3,
 1.28696 -+  AVR32_SYNTAX_LD_W4,
 1.28697 -+  AVR32_SYNTAX_LDC_D1,
 1.28698 -+  AVR32_SYNTAX_LDC_D2,
 1.28699 -+  AVR32_SYNTAX_LDC_D3,
 1.28700 -+  AVR32_SYNTAX_LDC_W1,
 1.28701 -+  AVR32_SYNTAX_LDC_W2,
 1.28702 -+  AVR32_SYNTAX_LDC_W3,
 1.28703 -+  AVR32_SYNTAX_LDC0_D,
 1.28704 -+  AVR32_SYNTAX_LDC0_W,
 1.28705 -+  AVR32_SYNTAX_LDCM_D,
 1.28706 -+  AVR32_SYNTAX_LDCM_D_PU,
 1.28707 -+  AVR32_SYNTAX_LDCM_W,
 1.28708 -+  AVR32_SYNTAX_LDCM_W_PU,
 1.28709 -+  AVR32_SYNTAX_LDDPC,
 1.28710 -+  AVR32_SYNTAX_LDDPC_EXT,
 1.28711 -+  AVR32_SYNTAX_LDDSP,
 1.28712 -+  AVR32_SYNTAX_LDINS_B,
 1.28713 -+  AVR32_SYNTAX_LDINS_H,
 1.28714 -+  AVR32_SYNTAX_LDM,
 1.28715 -+  AVR32_SYNTAX_LDMTS,
 1.28716 -+  AVR32_SYNTAX_LDMTS_PU,
 1.28717 -+  AVR32_SYNTAX_LDSWP_SH,
 1.28718 -+  AVR32_SYNTAX_LDSWP_UH,
 1.28719 -+  AVR32_SYNTAX_LDSWP_W,
 1.28720 -+  AVR32_SYNTAX_LSL1,
 1.28721 -+  AVR32_SYNTAX_LSL3,
 1.28722 -+  AVR32_SYNTAX_LSL2,
 1.28723 -+  AVR32_SYNTAX_LSR1,
 1.28724 -+  AVR32_SYNTAX_LSR3,
 1.28725 -+  AVR32_SYNTAX_LSR2,
 1.28726 -+  AVR32_SYNTAX_MAC,
 1.28727 -+  AVR32_SYNTAX_MACHH_D,
 1.28728 -+  AVR32_SYNTAX_MACHH_W,
 1.28729 -+  AVR32_SYNTAX_MACS_D,
 1.28730 -+  AVR32_SYNTAX_MACSATHH_W,
 1.28731 -+  AVR32_SYNTAX_MACUD,
 1.28732 -+  AVR32_SYNTAX_MACWH_D,
 1.28733 -+  AVR32_SYNTAX_MAX,
 1.28734 -+  AVR32_SYNTAX_MCALL,
 1.28735 -+  AVR32_SYNTAX_MFDR,
 1.28736 -+  AVR32_SYNTAX_MFSR,
 1.28737 -+  AVR32_SYNTAX_MIN,
 1.28738 -+  AVR32_SYNTAX_MOV3,
 1.28739 -+  AVR32_SYNTAX_MOV1,
 1.28740 -+  AVR32_SYNTAX_MOV2,
 1.28741 -+  AVR32_SYNTAX_MOVEQ1,
 1.28742 -+  AVR32_SYNTAX_MOVNE1,
 1.28743 -+  AVR32_SYNTAX_MOVCC1,
 1.28744 -+  AVR32_SYNTAX_MOVCS1,
 1.28745 -+  AVR32_SYNTAX_MOVGE1,
 1.28746 -+  AVR32_SYNTAX_MOVLT1,
 1.28747 -+  AVR32_SYNTAX_MOVMI1,
 1.28748 -+  AVR32_SYNTAX_MOVPL1,
 1.28749 -+  AVR32_SYNTAX_MOVLS1,
 1.28750 -+  AVR32_SYNTAX_MOVGT1,
 1.28751 -+  AVR32_SYNTAX_MOVLE1,
 1.28752 -+  AVR32_SYNTAX_MOVHI1,
 1.28753 -+  AVR32_SYNTAX_MOVVS1,
 1.28754 -+  AVR32_SYNTAX_MOVVC1,
 1.28755 -+  AVR32_SYNTAX_MOVQS1,
 1.28756 -+  AVR32_SYNTAX_MOVAL1,
 1.28757 -+  AVR32_SYNTAX_MOVHS1,
 1.28758 -+  AVR32_SYNTAX_MOVLO1,
 1.28759 -+  AVR32_SYNTAX_MOVEQ2,
 1.28760 -+  AVR32_SYNTAX_MOVNE2,
 1.28761 -+  AVR32_SYNTAX_MOVCC2,
 1.28762 -+  AVR32_SYNTAX_MOVCS2,
 1.28763 -+  AVR32_SYNTAX_MOVGE2,
 1.28764 -+  AVR32_SYNTAX_MOVLT2,
 1.28765 -+  AVR32_SYNTAX_MOVMI2,
 1.28766 -+  AVR32_SYNTAX_MOVPL2,
 1.28767 -+  AVR32_SYNTAX_MOVLS2,
 1.28768 -+  AVR32_SYNTAX_MOVGT2,
 1.28769 -+  AVR32_SYNTAX_MOVLE2,
 1.28770 -+  AVR32_SYNTAX_MOVHI2,
 1.28771 -+  AVR32_SYNTAX_MOVVS2,
 1.28772 -+  AVR32_SYNTAX_MOVVC2,
 1.28773 -+  AVR32_SYNTAX_MOVQS2,
 1.28774 -+  AVR32_SYNTAX_MOVAL2,
 1.28775 -+  AVR32_SYNTAX_MOVHS2,
 1.28776 -+  AVR32_SYNTAX_MOVLO2,
 1.28777 -+  AVR32_SYNTAX_MTDR,
 1.28778 -+  AVR32_SYNTAX_MTSR,
 1.28779 -+  AVR32_SYNTAX_MUL1,
 1.28780 -+  AVR32_SYNTAX_MUL2,
 1.28781 -+  AVR32_SYNTAX_MUL3,
 1.28782 -+  AVR32_SYNTAX_MULHH_W,
 1.28783 -+  AVR32_SYNTAX_MULNHH_W,
 1.28784 -+  AVR32_SYNTAX_MULNWH_D,
 1.28785 -+  AVR32_SYNTAX_MULSD,
 1.28786 -+  AVR32_SYNTAX_MULSATHH_H,
 1.28787 -+  AVR32_SYNTAX_MULSATHH_W,
 1.28788 -+  AVR32_SYNTAX_MULSATRNDHH_H,
 1.28789 -+  AVR32_SYNTAX_MULSATRNDWH_W,
 1.28790 -+  AVR32_SYNTAX_MULSATWH_W,
 1.28791 -+  AVR32_SYNTAX_MULU_D,
 1.28792 -+  AVR32_SYNTAX_MULWH_D,
 1.28793 -+  AVR32_SYNTAX_MUSFR,
 1.28794 -+  AVR32_SYNTAX_MUSTR,
 1.28795 -+  AVR32_SYNTAX_MVCR_D,
 1.28796 -+  AVR32_SYNTAX_MVCR_W,
 1.28797 -+  AVR32_SYNTAX_MVRC_D,
 1.28798 -+  AVR32_SYNTAX_MVRC_W,
 1.28799 -+  AVR32_SYNTAX_NEG,
 1.28800 -+  AVR32_SYNTAX_NOP,
 1.28801 -+  AVR32_SYNTAX_OR1,
 1.28802 -+  AVR32_SYNTAX_OR2,
 1.28803 -+  AVR32_SYNTAX_OR3,
 1.28804 -+  AVR32_SYNTAX_ORH,
 1.28805 -+  AVR32_SYNTAX_ORL,
 1.28806 -+  AVR32_SYNTAX_PABS_SB,
 1.28807 -+  AVR32_SYNTAX_PABS_SH,
 1.28808 -+  AVR32_SYNTAX_PACKSH_SB,
 1.28809 -+  AVR32_SYNTAX_PACKSH_UB,
 1.28810 -+  AVR32_SYNTAX_PACKW_SH,
 1.28811 -+  AVR32_SYNTAX_PADD_B,
 1.28812 -+  AVR32_SYNTAX_PADD_H,
 1.28813 -+  AVR32_SYNTAX_PADDH_SH,
 1.28814 -+  AVR32_SYNTAX_PADDH_UB,
 1.28815 -+  AVR32_SYNTAX_PADDS_SB,
 1.28816 -+  AVR32_SYNTAX_PADDS_SH,
 1.28817 -+  AVR32_SYNTAX_PADDS_UB,
 1.28818 -+  AVR32_SYNTAX_PADDS_UH,
 1.28819 -+  AVR32_SYNTAX_PADDSUB_H,
 1.28820 -+  AVR32_SYNTAX_PADDSUBH_SH,
 1.28821 -+  AVR32_SYNTAX_PADDSUBS_SH,
 1.28822 -+  AVR32_SYNTAX_PADDSUBS_UH,
 1.28823 -+  AVR32_SYNTAX_PADDX_H,
 1.28824 -+  AVR32_SYNTAX_PADDXH_SH,
 1.28825 -+  AVR32_SYNTAX_PADDXS_SH,
 1.28826 -+  AVR32_SYNTAX_PADDXS_UH,
 1.28827 -+  AVR32_SYNTAX_PASR_B,
 1.28828 -+  AVR32_SYNTAX_PASR_H,
 1.28829 -+  AVR32_SYNTAX_PAVG_SH,
 1.28830 -+  AVR32_SYNTAX_PAVG_UB,
 1.28831 -+  AVR32_SYNTAX_PLSL_B,
 1.28832 -+  AVR32_SYNTAX_PLSL_H,
 1.28833 -+  AVR32_SYNTAX_PLSR_B,
 1.28834 -+  AVR32_SYNTAX_PLSR_H,
 1.28835 -+  AVR32_SYNTAX_PMAX_SH,
 1.28836 -+  AVR32_SYNTAX_PMAX_UB,
 1.28837 -+  AVR32_SYNTAX_PMIN_SH,
 1.28838 -+  AVR32_SYNTAX_PMIN_UB,
 1.28839 -+  AVR32_SYNTAX_POPJC,
 1.28840 -+  AVR32_SYNTAX_POPM,
 1.28841 -+  AVR32_SYNTAX_POPM_E,
 1.28842 -+  AVR32_SYNTAX_PREF,
 1.28843 -+  AVR32_SYNTAX_PSAD,
 1.28844 -+  AVR32_SYNTAX_PSUB_B,
 1.28845 -+  AVR32_SYNTAX_PSUB_H,
 1.28846 -+  AVR32_SYNTAX_PSUBADD_H,
 1.28847 -+  AVR32_SYNTAX_PSUBADDH_SH,
 1.28848 -+  AVR32_SYNTAX_PSUBADDS_SH,
 1.28849 -+  AVR32_SYNTAX_PSUBADDS_UH,
 1.28850 -+  AVR32_SYNTAX_PSUBH_SH,
 1.28851 -+  AVR32_SYNTAX_PSUBH_UB,
 1.28852 -+  AVR32_SYNTAX_PSUBS_SB,
 1.28853 -+  AVR32_SYNTAX_PSUBS_SH,
 1.28854 -+  AVR32_SYNTAX_PSUBS_UB,
 1.28855 -+  AVR32_SYNTAX_PSUBS_UH,
 1.28856 -+  AVR32_SYNTAX_PSUBX_H,
 1.28857 -+  AVR32_SYNTAX_PSUBXH_SH,
 1.28858 -+  AVR32_SYNTAX_PSUBXS_SH,
 1.28859 -+  AVR32_SYNTAX_PSUBXS_UH,
 1.28860 -+  AVR32_SYNTAX_PUNPCKSB_H,
 1.28861 -+  AVR32_SYNTAX_PUNPCKUB_H,
 1.28862 -+  AVR32_SYNTAX_PUSHJC,
 1.28863 -+  AVR32_SYNTAX_PUSHM,
 1.28864 -+  AVR32_SYNTAX_PUSHM_E,
 1.28865 -+  AVR32_SYNTAX_RCALL1,
 1.28866 -+  AVR32_SYNTAX_RCALL2,
 1.28867 -+  AVR32_SYNTAX_RETEQ,
 1.28868 -+  AVR32_SYNTAX_RETNE,
 1.28869 -+  AVR32_SYNTAX_RETCC,
 1.28870 -+  AVR32_SYNTAX_RETCS,
 1.28871 -+  AVR32_SYNTAX_RETGE,
 1.28872 -+  AVR32_SYNTAX_RETLT,
 1.28873 -+  AVR32_SYNTAX_RETMI,
 1.28874 -+  AVR32_SYNTAX_RETPL,
 1.28875 -+  AVR32_SYNTAX_RETLS,
 1.28876 -+  AVR32_SYNTAX_RETGT,
 1.28877 -+  AVR32_SYNTAX_RETLE,
 1.28878 -+  AVR32_SYNTAX_RETHI,
 1.28879 -+  AVR32_SYNTAX_RETVS,
 1.28880 -+  AVR32_SYNTAX_RETVC,
 1.28881 -+  AVR32_SYNTAX_RETQS,
 1.28882 -+  AVR32_SYNTAX_RETAL,
 1.28883 -+  AVR32_SYNTAX_RETHS,
 1.28884 -+  AVR32_SYNTAX_RETLO,
 1.28885 -+  AVR32_SYNTAX_RETD,
 1.28886 -+  AVR32_SYNTAX_RETE,
 1.28887 -+  AVR32_SYNTAX_RETJ,
 1.28888 -+  AVR32_SYNTAX_RETS,
 1.28889 -+  AVR32_SYNTAX_RJMP,
 1.28890 -+  AVR32_SYNTAX_ROL,
 1.28891 -+  AVR32_SYNTAX_ROR,
 1.28892 -+  AVR32_SYNTAX_RSUB1,
 1.28893 -+  AVR32_SYNTAX_RSUB2,
 1.28894 -+  AVR32_SYNTAX_SATADD_H,
 1.28895 -+  AVR32_SYNTAX_SATADD_W,
 1.28896 -+  AVR32_SYNTAX_SATRNDS,
 1.28897 -+  AVR32_SYNTAX_SATRNDU,
 1.28898 -+  AVR32_SYNTAX_SATS,
 1.28899 -+  AVR32_SYNTAX_SATSUB_H,
 1.28900 -+  AVR32_SYNTAX_SATSUB_W1,
 1.28901 -+  AVR32_SYNTAX_SATSUB_W2,
 1.28902 -+  AVR32_SYNTAX_SATU,
 1.28903 -+  AVR32_SYNTAX_SBC,
 1.28904 -+  AVR32_SYNTAX_SBR,
 1.28905 -+  AVR32_SYNTAX_SCALL,
 1.28906 -+  AVR32_SYNTAX_SCR,
 1.28907 -+  AVR32_SYNTAX_SLEEP,
 1.28908 -+  AVR32_SYNTAX_SREQ,
 1.28909 -+  AVR32_SYNTAX_SRNE,
 1.28910 -+  AVR32_SYNTAX_SRCC,
 1.28911 -+  AVR32_SYNTAX_SRCS,
 1.28912 -+  AVR32_SYNTAX_SRGE,
 1.28913 -+  AVR32_SYNTAX_SRLT,
 1.28914 -+  AVR32_SYNTAX_SRMI,
 1.28915 -+  AVR32_SYNTAX_SRPL,
 1.28916 -+  AVR32_SYNTAX_SRLS,
 1.28917 -+  AVR32_SYNTAX_SRGT,
 1.28918 -+  AVR32_SYNTAX_SRLE,
 1.28919 -+  AVR32_SYNTAX_SRHI,
 1.28920 -+  AVR32_SYNTAX_SRVS,
 1.28921 -+  AVR32_SYNTAX_SRVC,
 1.28922 -+  AVR32_SYNTAX_SRQS,
 1.28923 -+  AVR32_SYNTAX_SRAL,
 1.28924 -+  AVR32_SYNTAX_SRHS,
 1.28925 -+  AVR32_SYNTAX_SRLO,
 1.28926 -+  AVR32_SYNTAX_SSRF,
 1.28927 -+  AVR32_SYNTAX_ST_B1,
 1.28928 -+  AVR32_SYNTAX_ST_B2,
 1.28929 -+  AVR32_SYNTAX_ST_B5,
 1.28930 -+  AVR32_SYNTAX_ST_B3,
 1.28931 -+  AVR32_SYNTAX_ST_B4,
 1.28932 -+  AVR32_SYNTAX_ST_D1,
 1.28933 -+  AVR32_SYNTAX_ST_D2,
 1.28934 -+  AVR32_SYNTAX_ST_D3,
 1.28935 -+  AVR32_SYNTAX_ST_D5,
 1.28936 -+  AVR32_SYNTAX_ST_D4,
 1.28937 -+  AVR32_SYNTAX_ST_H1,
 1.28938 -+  AVR32_SYNTAX_ST_H2,
 1.28939 -+  AVR32_SYNTAX_ST_H5,
 1.28940 -+  AVR32_SYNTAX_ST_H3,
 1.28941 -+  AVR32_SYNTAX_ST_H4,
 1.28942 -+  AVR32_SYNTAX_ST_W1,
 1.28943 -+  AVR32_SYNTAX_ST_W2,
 1.28944 -+  AVR32_SYNTAX_ST_W5,
 1.28945 -+  AVR32_SYNTAX_ST_W3,
 1.28946 -+  AVR32_SYNTAX_ST_W4,
 1.28947 -+  AVR32_SYNTAX_STC_D1,
 1.28948 -+  AVR32_SYNTAX_STC_D2,
 1.28949 -+  AVR32_SYNTAX_STC_D3,
 1.28950 -+  AVR32_SYNTAX_STC_W1,
 1.28951 -+  AVR32_SYNTAX_STC_W2,
 1.28952 -+  AVR32_SYNTAX_STC_W3,
 1.28953 -+  AVR32_SYNTAX_STC0_D,
 1.28954 -+  AVR32_SYNTAX_STC0_W,
 1.28955 -+  AVR32_SYNTAX_STCM_D,
 1.28956 -+  AVR32_SYNTAX_STCM_D_PU,
 1.28957 -+  AVR32_SYNTAX_STCM_W,
 1.28958 -+  AVR32_SYNTAX_STCM_W_PU,
 1.28959 -+  AVR32_SYNTAX_STCOND,
 1.28960 -+  AVR32_SYNTAX_STDSP,
 1.28961 -+  AVR32_SYNTAX_STHH_W2,
 1.28962 -+  AVR32_SYNTAX_STHH_W1,
 1.28963 -+  AVR32_SYNTAX_STM,
 1.28964 -+  AVR32_SYNTAX_STM_PU,
 1.28965 -+  AVR32_SYNTAX_STMTS,
 1.28966 -+  AVR32_SYNTAX_STMTS_PU,
 1.28967 -+  AVR32_SYNTAX_STSWP_H,
 1.28968 -+  AVR32_SYNTAX_STSWP_W,
 1.28969 -+  AVR32_SYNTAX_SUB1,
 1.28970 -+  AVR32_SYNTAX_SUB2,
 1.28971 -+  AVR32_SYNTAX_SUB5,
 1.28972 -+  AVR32_SYNTAX_SUB3_SP,
 1.28973 -+  AVR32_SYNTAX_SUB3,
 1.28974 -+  AVR32_SYNTAX_SUB4,
 1.28975 -+  AVR32_SYNTAX_SUBEQ,
 1.28976 -+  AVR32_SYNTAX_SUBNE,
 1.28977 -+  AVR32_SYNTAX_SUBCC,
 1.28978 -+  AVR32_SYNTAX_SUBCS,
 1.28979 -+  AVR32_SYNTAX_SUBGE,
 1.28980 -+  AVR32_SYNTAX_SUBLT,
 1.28981 -+  AVR32_SYNTAX_SUBMI,
 1.28982 -+  AVR32_SYNTAX_SUBPL,
 1.28983 -+  AVR32_SYNTAX_SUBLS,
 1.28984 -+  AVR32_SYNTAX_SUBGT,
 1.28985 -+  AVR32_SYNTAX_SUBLE,
 1.28986 -+  AVR32_SYNTAX_SUBHI,
 1.28987 -+  AVR32_SYNTAX_SUBVS,
 1.28988 -+  AVR32_SYNTAX_SUBVC,
 1.28989 -+  AVR32_SYNTAX_SUBQS,
 1.28990 -+  AVR32_SYNTAX_SUBAL,
 1.28991 -+  AVR32_SYNTAX_SUBHS,
 1.28992 -+  AVR32_SYNTAX_SUBLO,
 1.28993 -+  AVR32_SYNTAX_SUBFEQ,
 1.28994 -+  AVR32_SYNTAX_SUBFNE,
 1.28995 -+  AVR32_SYNTAX_SUBFCC,
 1.28996 -+  AVR32_SYNTAX_SUBFCS,
 1.28997 -+  AVR32_SYNTAX_SUBFGE,
 1.28998 -+  AVR32_SYNTAX_SUBFLT,
 1.28999 -+  AVR32_SYNTAX_SUBFMI,
 1.29000 -+  AVR32_SYNTAX_SUBFPL,
 1.29001 -+  AVR32_SYNTAX_SUBFLS,
 1.29002 -+  AVR32_SYNTAX_SUBFGT,
 1.29003 -+  AVR32_SYNTAX_SUBFLE,
 1.29004 -+  AVR32_SYNTAX_SUBFHI,
 1.29005 -+  AVR32_SYNTAX_SUBFVS,
 1.29006 -+  AVR32_SYNTAX_SUBFVC,
 1.29007 -+  AVR32_SYNTAX_SUBFQS,
 1.29008 -+  AVR32_SYNTAX_SUBFAL,
 1.29009 -+  AVR32_SYNTAX_SUBFHS,
 1.29010 -+  AVR32_SYNTAX_SUBFLO,
 1.29011 -+  AVR32_SYNTAX_SUBHH_W,
 1.29012 -+  AVR32_SYNTAX_SWAP_B,
 1.29013 -+  AVR32_SYNTAX_SWAP_BH,
 1.29014 -+  AVR32_SYNTAX_SWAP_H,
 1.29015 -+  AVR32_SYNTAX_SYNC,
 1.29016 -+  AVR32_SYNTAX_TLBR,
 1.29017 -+  AVR32_SYNTAX_TLBS,
 1.29018 -+  AVR32_SYNTAX_TLBW,
 1.29019 -+  AVR32_SYNTAX_TNBZ,
 1.29020 -+  AVR32_SYNTAX_TST,
 1.29021 -+  AVR32_SYNTAX_XCHG,
 1.29022 -+  AVR32_SYNTAX_MEMC,
 1.29023 -+  AVR32_SYNTAX_MEMS,
 1.29024 -+  AVR32_SYNTAX_MEMT,
 1.29025 -+  AVR32_SYNTAX_FADD_S,
 1.29026 -+  AVR32_SYNTAX_FADD_D,
 1.29027 -+  AVR32_SYNTAX_FSUB_S,
 1.29028 -+  AVR32_SYNTAX_FSUB_D,
 1.29029 -+  AVR32_SYNTAX_FMAC_S,
 1.29030 -+  AVR32_SYNTAX_FMAC_D,
 1.29031 -+  AVR32_SYNTAX_FNMAC_S,
 1.29032 -+  AVR32_SYNTAX_FNMAC_D,
 1.29033 -+  AVR32_SYNTAX_FMSC_S,
 1.29034 -+  AVR32_SYNTAX_FMSC_D,
 1.29035 -+  AVR32_SYNTAX_FNMSC_S,
 1.29036 -+  AVR32_SYNTAX_FNMSC_D,
 1.29037 -+  AVR32_SYNTAX_FMUL_S,
 1.29038 -+  AVR32_SYNTAX_FMUL_D,
 1.29039 -+  AVR32_SYNTAX_FNMUL_S,
 1.29040 -+  AVR32_SYNTAX_FNMUL_D,
 1.29041 -+  AVR32_SYNTAX_FNEG_S,
 1.29042 -+  AVR32_SYNTAX_FNEG_D,
 1.29043 -+  AVR32_SYNTAX_FABS_S,
 1.29044 -+  AVR32_SYNTAX_FABS_D,
 1.29045 -+  AVR32_SYNTAX_FCMP_S,
 1.29046 -+  AVR32_SYNTAX_FCMP_D,
 1.29047 -+  AVR32_SYNTAX_FMOV1_S,
 1.29048 -+  AVR32_SYNTAX_FMOV1_D,
 1.29049 -+  AVR32_SYNTAX_FMOV2_S,
 1.29050 -+  AVR32_SYNTAX_FMOV2_D,
 1.29051 -+  AVR32_SYNTAX_FMOV3_S,
 1.29052 -+  AVR32_SYNTAX_FMOV3_D,
 1.29053 -+  AVR32_SYNTAX_FCASTS_D,
 1.29054 -+  AVR32_SYNTAX_FCASTD_S,
 1.29055 -+  AVR32_SYNTAX_LDA_W,
 1.29056 -+  AVR32_SYNTAX_CALL,
 1.29057 -+  AVR32_SYNTAX_PICOSVMAC0,
 1.29058 -+  AVR32_SYNTAX_PICOSVMAC1,
 1.29059 -+  AVR32_SYNTAX_PICOSVMAC2,
 1.29060 -+  AVR32_SYNTAX_PICOSVMAC3,
 1.29061 -+  AVR32_SYNTAX_PICOSVMUL0,
 1.29062 -+  AVR32_SYNTAX_PICOSVMUL1,
 1.29063 -+  AVR32_SYNTAX_PICOSVMUL2,
 1.29064 -+  AVR32_SYNTAX_PICOSVMUL3,
 1.29065 -+  AVR32_SYNTAX_PICOVMAC0,
 1.29066 -+  AVR32_SYNTAX_PICOVMAC1,
 1.29067 -+  AVR32_SYNTAX_PICOVMAC2,
 1.29068 -+  AVR32_SYNTAX_PICOVMAC3,
 1.29069 -+  AVR32_SYNTAX_PICOVMUL0,
 1.29070 -+  AVR32_SYNTAX_PICOVMUL1,
 1.29071 -+  AVR32_SYNTAX_PICOVMUL2,
 1.29072 -+  AVR32_SYNTAX_PICOVMUL3,
 1.29073 -+  AVR32_SYNTAX_PICOLD_D2,
 1.29074 -+  AVR32_SYNTAX_PICOLD_D3,
 1.29075 -+  AVR32_SYNTAX_PICOLD_D1,
 1.29076 -+  AVR32_SYNTAX_PICOLD_W2,
 1.29077 -+  AVR32_SYNTAX_PICOLD_W3,
 1.29078 -+  AVR32_SYNTAX_PICOLD_W1,
 1.29079 -+  AVR32_SYNTAX_PICOLDM_D,
 1.29080 -+  AVR32_SYNTAX_PICOLDM_D_PU,
 1.29081 -+  AVR32_SYNTAX_PICOLDM_W,
 1.29082 -+  AVR32_SYNTAX_PICOLDM_W_PU,
 1.29083 -+  AVR32_SYNTAX_PICOMV_D1,
 1.29084 -+  AVR32_SYNTAX_PICOMV_D2,
 1.29085 -+  AVR32_SYNTAX_PICOMV_W1,
 1.29086 -+  AVR32_SYNTAX_PICOMV_W2,
 1.29087 -+  AVR32_SYNTAX_PICOST_D2,
 1.29088 -+  AVR32_SYNTAX_PICOST_D3,
 1.29089 -+  AVR32_SYNTAX_PICOST_D1,
 1.29090 -+  AVR32_SYNTAX_PICOST_W2,
 1.29091 -+  AVR32_SYNTAX_PICOST_W3,
 1.29092 -+  AVR32_SYNTAX_PICOST_W1,
 1.29093 -+  AVR32_SYNTAX_PICOSTM_D,
 1.29094 -+  AVR32_SYNTAX_PICOSTM_D_PU,
 1.29095 -+  AVR32_SYNTAX_PICOSTM_W,
 1.29096 -+  AVR32_SYNTAX_PICOSTM_W_PU,
 1.29097 -+  AVR32_SYNTAX_RSUBEQ,
 1.29098 -+  AVR32_SYNTAX_RSUBNE,
 1.29099 -+  AVR32_SYNTAX_RSUBCC,
 1.29100 -+  AVR32_SYNTAX_RSUBCS,
 1.29101 -+  AVR32_SYNTAX_RSUBGE,
 1.29102 -+  AVR32_SYNTAX_RSUBLT,
 1.29103 -+  AVR32_SYNTAX_RSUBMI,
 1.29104 -+  AVR32_SYNTAX_RSUBPL,
 1.29105 -+  AVR32_SYNTAX_RSUBLS,
 1.29106 -+  AVR32_SYNTAX_RSUBGT,
 1.29107 -+  AVR32_SYNTAX_RSUBLE,
 1.29108 -+  AVR32_SYNTAX_RSUBHI,
 1.29109 -+  AVR32_SYNTAX_RSUBVS,
 1.29110 -+  AVR32_SYNTAX_RSUBVC,
 1.29111 -+  AVR32_SYNTAX_RSUBQS,
 1.29112 -+  AVR32_SYNTAX_RSUBAL,
 1.29113 -+  AVR32_SYNTAX_RSUBHS,
 1.29114 -+  AVR32_SYNTAX_RSUBLO,
 1.29115 -+  AVR32_SYNTAX_ADDEQ,
 1.29116 -+  AVR32_SYNTAX_ADDNE,
 1.29117 -+  AVR32_SYNTAX_ADDCC,
 1.29118 -+  AVR32_SYNTAX_ADDCS,
 1.29119 -+  AVR32_SYNTAX_ADDGE,
 1.29120 -+  AVR32_SYNTAX_ADDLT,
 1.29121 -+  AVR32_SYNTAX_ADDMI,
 1.29122 -+  AVR32_SYNTAX_ADDPL,
 1.29123 -+  AVR32_SYNTAX_ADDLS,
 1.29124 -+  AVR32_SYNTAX_ADDGT,
 1.29125 -+  AVR32_SYNTAX_ADDLE,
 1.29126 -+  AVR32_SYNTAX_ADDHI,
 1.29127 -+  AVR32_SYNTAX_ADDVS,
 1.29128 -+  AVR32_SYNTAX_ADDVC,
 1.29129 -+  AVR32_SYNTAX_ADDQS,
 1.29130 -+  AVR32_SYNTAX_ADDAL,
 1.29131 -+  AVR32_SYNTAX_ADDHS,
 1.29132 -+  AVR32_SYNTAX_ADDLO,
 1.29133 -+  AVR32_SYNTAX_SUB2EQ,
 1.29134 -+  AVR32_SYNTAX_SUB2NE,
 1.29135 -+  AVR32_SYNTAX_SUB2CC,
 1.29136 -+  AVR32_SYNTAX_SUB2CS,
 1.29137 -+  AVR32_SYNTAX_SUB2GE,
 1.29138 -+  AVR32_SYNTAX_SUB2LT,
 1.29139 -+  AVR32_SYNTAX_SUB2MI,
 1.29140 -+  AVR32_SYNTAX_SUB2PL,
 1.29141 -+  AVR32_SYNTAX_SUB2LS,
 1.29142 -+  AVR32_SYNTAX_SUB2GT,
 1.29143 -+  AVR32_SYNTAX_SUB2LE,
 1.29144 -+  AVR32_SYNTAX_SUB2HI,
 1.29145 -+  AVR32_SYNTAX_SUB2VS,
 1.29146 -+  AVR32_SYNTAX_SUB2VC,
 1.29147 -+  AVR32_SYNTAX_SUB2QS,
 1.29148 -+  AVR32_SYNTAX_SUB2AL,
 1.29149 -+  AVR32_SYNTAX_SUB2HS,
 1.29150 -+  AVR32_SYNTAX_SUB2LO,
 1.29151 -+  AVR32_SYNTAX_ANDEQ,
 1.29152 -+  AVR32_SYNTAX_ANDNE,
 1.29153 -+  AVR32_SYNTAX_ANDCC,
 1.29154 -+  AVR32_SYNTAX_ANDCS,
 1.29155 -+  AVR32_SYNTAX_ANDGE,
 1.29156 -+  AVR32_SYNTAX_ANDLT,
 1.29157 -+  AVR32_SYNTAX_ANDMI,
 1.29158 -+  AVR32_SYNTAX_ANDPL,
 1.29159 -+  AVR32_SYNTAX_ANDLS,
 1.29160 -+  AVR32_SYNTAX_ANDGT,
 1.29161 -+  AVR32_SYNTAX_ANDLE,
 1.29162 -+  AVR32_SYNTAX_ANDHI,
 1.29163 -+  AVR32_SYNTAX_ANDVS,
 1.29164 -+  AVR32_SYNTAX_ANDVC,
 1.29165 -+  AVR32_SYNTAX_ANDQS,
 1.29166 -+  AVR32_SYNTAX_ANDAL,
 1.29167 -+  AVR32_SYNTAX_ANDHS,
 1.29168 -+  AVR32_SYNTAX_ANDLO,
 1.29169 -+  AVR32_SYNTAX_OREQ,
 1.29170 -+  AVR32_SYNTAX_ORNE,
 1.29171 -+  AVR32_SYNTAX_ORCC,
 1.29172 -+  AVR32_SYNTAX_ORCS,
 1.29173 -+  AVR32_SYNTAX_ORGE,
 1.29174 -+  AVR32_SYNTAX_ORLT,
 1.29175 -+  AVR32_SYNTAX_ORMI,
 1.29176 -+  AVR32_SYNTAX_ORPL,
 1.29177 -+  AVR32_SYNTAX_ORLS,
 1.29178 -+  AVR32_SYNTAX_ORGT,
 1.29179 -+  AVR32_SYNTAX_ORLE,
 1.29180 -+  AVR32_SYNTAX_ORHI,
 1.29181 -+  AVR32_SYNTAX_ORVS,
 1.29182 -+  AVR32_SYNTAX_ORVC,
 1.29183 -+  AVR32_SYNTAX_ORQS,
 1.29184 -+  AVR32_SYNTAX_ORAL,
 1.29185 -+  AVR32_SYNTAX_ORHS,
 1.29186 -+  AVR32_SYNTAX_ORLO,
 1.29187 -+  AVR32_SYNTAX_EOREQ,
 1.29188 -+  AVR32_SYNTAX_EORNE,
 1.29189 -+  AVR32_SYNTAX_EORCC,
 1.29190 -+  AVR32_SYNTAX_EORCS,
 1.29191 -+  AVR32_SYNTAX_EORGE,
 1.29192 -+  AVR32_SYNTAX_EORLT,
 1.29193 -+  AVR32_SYNTAX_EORMI,
 1.29194 -+  AVR32_SYNTAX_EORPL,
 1.29195 -+  AVR32_SYNTAX_EORLS,
 1.29196 -+  AVR32_SYNTAX_EORGT,
 1.29197 -+  AVR32_SYNTAX_EORLE,
 1.29198 -+  AVR32_SYNTAX_EORHI,
 1.29199 -+  AVR32_SYNTAX_EORVS,
 1.29200 -+  AVR32_SYNTAX_EORVC,
 1.29201 -+  AVR32_SYNTAX_EORQS,
 1.29202 -+  AVR32_SYNTAX_EORAL,
 1.29203 -+  AVR32_SYNTAX_EORHS,
 1.29204 -+  AVR32_SYNTAX_EORLO,
 1.29205 -+  AVR32_SYNTAX_LD_WEQ,
 1.29206 -+  AVR32_SYNTAX_LD_WNE,
 1.29207 -+  AVR32_SYNTAX_LD_WCC,
 1.29208 -+  AVR32_SYNTAX_LD_WCS,
 1.29209 -+  AVR32_SYNTAX_LD_WGE,
 1.29210 -+  AVR32_SYNTAX_LD_WLT,
 1.29211 -+  AVR32_SYNTAX_LD_WMI,
 1.29212 -+  AVR32_SYNTAX_LD_WPL,
 1.29213 -+  AVR32_SYNTAX_LD_WLS,
 1.29214 -+  AVR32_SYNTAX_LD_WGT,
 1.29215 -+  AVR32_SYNTAX_LD_WLE,
 1.29216 -+  AVR32_SYNTAX_LD_WHI,
 1.29217 -+  AVR32_SYNTAX_LD_WVS,
 1.29218 -+  AVR32_SYNTAX_LD_WVC,
 1.29219 -+  AVR32_SYNTAX_LD_WQS,
 1.29220 -+  AVR32_SYNTAX_LD_WAL,
 1.29221 -+  AVR32_SYNTAX_LD_WHS,
 1.29222 -+  AVR32_SYNTAX_LD_WLO,
 1.29223 -+  AVR32_SYNTAX_LD_SHEQ,
 1.29224 -+  AVR32_SYNTAX_LD_SHNE,
 1.29225 -+  AVR32_SYNTAX_LD_SHCC,
 1.29226 -+  AVR32_SYNTAX_LD_SHCS,
 1.29227 -+  AVR32_SYNTAX_LD_SHGE,
 1.29228 -+  AVR32_SYNTAX_LD_SHLT,
 1.29229 -+  AVR32_SYNTAX_LD_SHMI,
 1.29230 -+  AVR32_SYNTAX_LD_SHPL,
 1.29231 -+  AVR32_SYNTAX_LD_SHLS,
 1.29232 -+  AVR32_SYNTAX_LD_SHGT,
 1.29233 -+  AVR32_SYNTAX_LD_SHLE,
 1.29234 -+  AVR32_SYNTAX_LD_SHHI,
 1.29235 -+  AVR32_SYNTAX_LD_SHVS,
 1.29236 -+  AVR32_SYNTAX_LD_SHVC,
 1.29237 -+  AVR32_SYNTAX_LD_SHQS,
 1.29238 -+  AVR32_SYNTAX_LD_SHAL,
 1.29239 -+  AVR32_SYNTAX_LD_SHHS,
 1.29240 -+  AVR32_SYNTAX_LD_SHLO,
 1.29241 -+  AVR32_SYNTAX_LD_UHEQ,
 1.29242 -+  AVR32_SYNTAX_LD_UHNE,
 1.29243 -+  AVR32_SYNTAX_LD_UHCC,
 1.29244 -+  AVR32_SYNTAX_LD_UHCS,
 1.29245 -+  AVR32_SYNTAX_LD_UHGE,
 1.29246 -+  AVR32_SYNTAX_LD_UHLT,
 1.29247 -+  AVR32_SYNTAX_LD_UHMI,
 1.29248 -+  AVR32_SYNTAX_LD_UHPL,
 1.29249 -+  AVR32_SYNTAX_LD_UHLS,
 1.29250 -+  AVR32_SYNTAX_LD_UHGT,
 1.29251 -+  AVR32_SYNTAX_LD_UHLE,
 1.29252 -+  AVR32_SYNTAX_LD_UHHI,
 1.29253 -+  AVR32_SYNTAX_LD_UHVS,
 1.29254 -+  AVR32_SYNTAX_LD_UHVC,
 1.29255 -+  AVR32_SYNTAX_LD_UHQS,
 1.29256 -+  AVR32_SYNTAX_LD_UHAL,
 1.29257 -+  AVR32_SYNTAX_LD_UHHS,
 1.29258 -+  AVR32_SYNTAX_LD_UHLO,
 1.29259 -+  AVR32_SYNTAX_LD_SBEQ,
 1.29260 -+  AVR32_SYNTAX_LD_SBNE,
 1.29261 -+  AVR32_SYNTAX_LD_SBCC,
 1.29262 -+  AVR32_SYNTAX_LD_SBCS,
 1.29263 -+  AVR32_SYNTAX_LD_SBGE,
 1.29264 -+  AVR32_SYNTAX_LD_SBLT,
 1.29265 -+  AVR32_SYNTAX_LD_SBMI,
 1.29266 -+  AVR32_SYNTAX_LD_SBPL,
 1.29267 -+  AVR32_SYNTAX_LD_SBLS,
 1.29268 -+  AVR32_SYNTAX_LD_SBGT,
 1.29269 -+  AVR32_SYNTAX_LD_SBLE,
 1.29270 -+  AVR32_SYNTAX_LD_SBHI,
 1.29271 -+  AVR32_SYNTAX_LD_SBVS,
 1.29272 -+  AVR32_SYNTAX_LD_SBVC,
 1.29273 -+  AVR32_SYNTAX_LD_SBQS,
 1.29274 -+  AVR32_SYNTAX_LD_SBAL,
 1.29275 -+  AVR32_SYNTAX_LD_SBHS,
 1.29276 -+  AVR32_SYNTAX_LD_SBLO,
 1.29277 -+  AVR32_SYNTAX_LD_UBEQ,
 1.29278 -+  AVR32_SYNTAX_LD_UBNE,
 1.29279 -+  AVR32_SYNTAX_LD_UBCC,
 1.29280 -+  AVR32_SYNTAX_LD_UBCS,
 1.29281 -+  AVR32_SYNTAX_LD_UBGE,
 1.29282 -+  AVR32_SYNTAX_LD_UBLT,
 1.29283 -+  AVR32_SYNTAX_LD_UBMI,
 1.29284 -+  AVR32_SYNTAX_LD_UBPL,
 1.29285 -+  AVR32_SYNTAX_LD_UBLS,
 1.29286 -+  AVR32_SYNTAX_LD_UBGT,
 1.29287 -+  AVR32_SYNTAX_LD_UBLE,
 1.29288 -+  AVR32_SYNTAX_LD_UBHI,
 1.29289 -+  AVR32_SYNTAX_LD_UBVS,
 1.29290 -+  AVR32_SYNTAX_LD_UBVC,
 1.29291 -+  AVR32_SYNTAX_LD_UBQS,
 1.29292 -+  AVR32_SYNTAX_LD_UBAL,
 1.29293 -+  AVR32_SYNTAX_LD_UBHS,
 1.29294 -+  AVR32_SYNTAX_LD_UBLO,
 1.29295 -+  AVR32_SYNTAX_ST_WEQ,
 1.29296 -+  AVR32_SYNTAX_ST_WNE,
 1.29297 -+  AVR32_SYNTAX_ST_WCC,
 1.29298 -+  AVR32_SYNTAX_ST_WCS,
 1.29299 -+  AVR32_SYNTAX_ST_WGE,
 1.29300 -+  AVR32_SYNTAX_ST_WLT,
 1.29301 -+  AVR32_SYNTAX_ST_WMI,
 1.29302 -+  AVR32_SYNTAX_ST_WPL,
 1.29303 -+  AVR32_SYNTAX_ST_WLS,
 1.29304 -+  AVR32_SYNTAX_ST_WGT,
 1.29305 -+  AVR32_SYNTAX_ST_WLE,
 1.29306 -+  AVR32_SYNTAX_ST_WHI,
 1.29307 -+  AVR32_SYNTAX_ST_WVS,
 1.29308 -+  AVR32_SYNTAX_ST_WVC,
 1.29309 -+  AVR32_SYNTAX_ST_WQS,
 1.29310 -+  AVR32_SYNTAX_ST_WAL,
 1.29311 -+  AVR32_SYNTAX_ST_WHS,
 1.29312 -+  AVR32_SYNTAX_ST_WLO,
 1.29313 -+  AVR32_SYNTAX_ST_HEQ,
 1.29314 -+  AVR32_SYNTAX_ST_HNE,
 1.29315 -+  AVR32_SYNTAX_ST_HCC,
 1.29316 -+  AVR32_SYNTAX_ST_HCS,
 1.29317 -+  AVR32_SYNTAX_ST_HGE,
 1.29318 -+  AVR32_SYNTAX_ST_HLT,
 1.29319 -+  AVR32_SYNTAX_ST_HMI,
 1.29320 -+  AVR32_SYNTAX_ST_HPL,
 1.29321 -+  AVR32_SYNTAX_ST_HLS,
 1.29322 -+  AVR32_SYNTAX_ST_HGT,
 1.29323 -+  AVR32_SYNTAX_ST_HLE,
 1.29324 -+  AVR32_SYNTAX_ST_HHI,
 1.29325 -+  AVR32_SYNTAX_ST_HVS,
 1.29326 -+  AVR32_SYNTAX_ST_HVC,
 1.29327 -+  AVR32_SYNTAX_ST_HQS,
 1.29328 -+  AVR32_SYNTAX_ST_HAL,
 1.29329 -+  AVR32_SYNTAX_ST_HHS,
 1.29330 -+  AVR32_SYNTAX_ST_HLO,
 1.29331 -+  AVR32_SYNTAX_ST_BEQ,
 1.29332 -+  AVR32_SYNTAX_ST_BNE,
 1.29333 -+  AVR32_SYNTAX_ST_BCC,
 1.29334 -+  AVR32_SYNTAX_ST_BCS,
 1.29335 -+  AVR32_SYNTAX_ST_BGE,
 1.29336 -+  AVR32_SYNTAX_ST_BLT,
 1.29337 -+  AVR32_SYNTAX_ST_BMI,
 1.29338 -+  AVR32_SYNTAX_ST_BPL,
 1.29339 -+  AVR32_SYNTAX_ST_BLS,
 1.29340 -+  AVR32_SYNTAX_ST_BGT,
 1.29341 -+  AVR32_SYNTAX_ST_BLE,
 1.29342 -+  AVR32_SYNTAX_ST_BHI,
 1.29343 -+  AVR32_SYNTAX_ST_BVS,
 1.29344 -+  AVR32_SYNTAX_ST_BVC,
 1.29345 -+  AVR32_SYNTAX_ST_BQS,
 1.29346 -+  AVR32_SYNTAX_ST_BAL,
 1.29347 -+  AVR32_SYNTAX_ST_BHS,
 1.29348 -+  AVR32_SYNTAX_ST_BLO,
 1.29349 -+  AVR32_SYNTAX_MOVH,
 1.29350 -+  AVR32_SYNTAX__END_
 1.29351 -+};
 1.29352 -+#define AVR32_NR_SYNTAX AVR32_SYNTAX__END_
 1.29353 -+
 1.29354 -+enum avr32_alias_type
 1.29355 -+  {
 1.29356 -+    AVR32_ALIAS_FMAC_S,
 1.29357 -+    AVR32_ALIAS_FMAC_D,
 1.29358 -+    AVR32_ALIAS_FNMAC_S,
 1.29359 -+    AVR32_ALIAS_FNMAC_D,
 1.29360 -+    AVR32_ALIAS_FMSC_S,
 1.29361 -+    AVR32_ALIAS_FMSC_D,
 1.29362 -+    AVR32_ALIAS_FNMSC_S,
 1.29363 -+    AVR32_ALIAS_FNMSC_D,
 1.29364 -+    AVR32_ALIAS_FADD_S,
 1.29365 -+    AVR32_ALIAS_FADD_D,
 1.29366 -+    AVR32_ALIAS_FSUB_S,
 1.29367 -+    AVR32_ALIAS_FSUB_D,
 1.29368 -+    AVR32_ALIAS_FMUL_S,
 1.29369 -+    AVR32_ALIAS_FMUL_D,
 1.29370 -+    AVR32_ALIAS_FNMUL_S,
 1.29371 -+    AVR32_ALIAS_FNMUL_D,
 1.29372 -+    AVR32_ALIAS_FNEG_S,
 1.29373 -+    AVR32_ALIAS_FNEG_D,
 1.29374 -+    AVR32_ALIAS_FABS_S,
 1.29375 -+    AVR32_ALIAS_FABS_D,
 1.29376 -+    AVR32_ALIAS_FCMP_S,
 1.29377 -+    AVR32_ALIAS_FCMP_D,
 1.29378 -+    AVR32_ALIAS_FMOV1_S,
 1.29379 -+    AVR32_ALIAS_FMOV1_D,
 1.29380 -+    AVR32_ALIAS_FMOV2_S,
 1.29381 -+    AVR32_ALIAS_FMOV2_D,
 1.29382 -+    AVR32_ALIAS_FMOV3_S,
 1.29383 -+    AVR32_ALIAS_FMOV3_D,
 1.29384 -+    AVR32_ALIAS_FCASTS_D,
 1.29385 -+    AVR32_ALIAS_FCASTD_S,
 1.29386 -+    AVR32_ALIAS_PICOSVMAC0,
 1.29387 -+    AVR32_ALIAS_PICOSVMAC1,
 1.29388 -+    AVR32_ALIAS_PICOSVMAC2,
 1.29389 -+    AVR32_ALIAS_PICOSVMAC3,
 1.29390 -+    AVR32_ALIAS_PICOSVMUL0,
 1.29391 -+    AVR32_ALIAS_PICOSVMUL1,
 1.29392 -+    AVR32_ALIAS_PICOSVMUL2,
 1.29393 -+    AVR32_ALIAS_PICOSVMUL3,
 1.29394 -+    AVR32_ALIAS_PICOVMAC0,
 1.29395 -+    AVR32_ALIAS_PICOVMAC1,
 1.29396 -+    AVR32_ALIAS_PICOVMAC2,
 1.29397 -+    AVR32_ALIAS_PICOVMAC3,
 1.29398 -+    AVR32_ALIAS_PICOVMUL0,
 1.29399 -+    AVR32_ALIAS_PICOVMUL1,
 1.29400 -+    AVR32_ALIAS_PICOVMUL2,
 1.29401 -+    AVR32_ALIAS_PICOVMUL3,
 1.29402 -+    AVR32_ALIAS_PICOLD_D1,
 1.29403 -+    AVR32_ALIAS_PICOLD_D2,
 1.29404 -+    AVR32_ALIAS_PICOLD_D3,
 1.29405 -+    AVR32_ALIAS_PICOLD_W1,
 1.29406 -+    AVR32_ALIAS_PICOLD_W2,
 1.29407 -+    AVR32_ALIAS_PICOLD_W3,
 1.29408 -+    AVR32_ALIAS_PICOLDM_D,
 1.29409 -+    AVR32_ALIAS_PICOLDM_D_PU,
 1.29410 -+    AVR32_ALIAS_PICOLDM_W,
 1.29411 -+    AVR32_ALIAS_PICOLDM_W_PU,
 1.29412 -+    AVR32_ALIAS_PICOMV_D1,
 1.29413 -+    AVR32_ALIAS_PICOMV_D2,
 1.29414 -+    AVR32_ALIAS_PICOMV_W1,
 1.29415 -+    AVR32_ALIAS_PICOMV_W2,
 1.29416 -+    AVR32_ALIAS_PICOST_D1,
 1.29417 -+    AVR32_ALIAS_PICOST_D2,
 1.29418 -+    AVR32_ALIAS_PICOST_D3,
 1.29419 -+    AVR32_ALIAS_PICOST_W1,
 1.29420 -+    AVR32_ALIAS_PICOST_W2,
 1.29421 -+    AVR32_ALIAS_PICOST_W3,
 1.29422 -+    AVR32_ALIAS_PICOSTM_D,
 1.29423 -+    AVR32_ALIAS_PICOSTM_D_PU,
 1.29424 -+    AVR32_ALIAS_PICOSTM_W,
 1.29425 -+    AVR32_ALIAS_PICOSTM_W_PU,
 1.29426 -+    AVR32_ALIAS__END_
 1.29427 -+  };
 1.29428 -+#define AVR32_NR_ALIAS AVR32_ALIAS__END_
 1.29429 -+
 1.29430 -+enum avr32_mnemonic_type
 1.29431 -+{
 1.29432 -+  AVR32_MNEMONIC_ABS,
 1.29433 -+  AVR32_MNEMONIC_ACALL,
 1.29434 -+  AVR32_MNEMONIC_ACR,
 1.29435 -+  AVR32_MNEMONIC_ADC,
 1.29436 -+  AVR32_MNEMONIC_ADD,
 1.29437 -+  AVR32_MNEMONIC_ADDABS,
 1.29438 -+  AVR32_MNEMONIC_ADDHH_W,
 1.29439 -+  AVR32_MNEMONIC_AND,
 1.29440 -+  AVR32_MNEMONIC_ANDH,
 1.29441 -+  AVR32_MNEMONIC_ANDL,
 1.29442 -+  AVR32_MNEMONIC_ANDN,
 1.29443 -+  AVR32_MNEMONIC_ASR,
 1.29444 -+  AVR32_MNEMONIC_BFEXTS,
 1.29445 -+  AVR32_MNEMONIC_BFEXTU,
 1.29446 -+  AVR32_MNEMONIC_BFINS,
 1.29447 -+  AVR32_MNEMONIC_BLD,
 1.29448 -+  AVR32_MNEMONIC_BREQ,
 1.29449 -+  AVR32_MNEMONIC_BRNE,
 1.29450 -+  AVR32_MNEMONIC_BRCC,
 1.29451 -+  AVR32_MNEMONIC_BRCS,
 1.29452 -+  AVR32_MNEMONIC_BRGE,
 1.29453 -+  AVR32_MNEMONIC_BRLT,
 1.29454 -+  AVR32_MNEMONIC_BRMI,
 1.29455 -+  AVR32_MNEMONIC_BRPL,
 1.29456 -+  AVR32_MNEMONIC_BRHS,
 1.29457 -+  AVR32_MNEMONIC_BRLO,
 1.29458 -+  AVR32_MNEMONIC_BRLS,
 1.29459 -+  AVR32_MNEMONIC_BRGT,
 1.29460 -+  AVR32_MNEMONIC_BRLE,
 1.29461 -+  AVR32_MNEMONIC_BRHI,
 1.29462 -+  AVR32_MNEMONIC_BRVS,
 1.29463 -+  AVR32_MNEMONIC_BRVC,
 1.29464 -+  AVR32_MNEMONIC_BRQS,
 1.29465 -+  AVR32_MNEMONIC_BRAL,
 1.29466 -+  AVR32_MNEMONIC_BREAKPOINT,
 1.29467 -+  AVR32_MNEMONIC_BREV,
 1.29468 -+  AVR32_MNEMONIC_BST,
 1.29469 -+  AVR32_MNEMONIC_CACHE,
 1.29470 -+  AVR32_MNEMONIC_CASTS_B,
 1.29471 -+  AVR32_MNEMONIC_CASTS_H,
 1.29472 -+  AVR32_MNEMONIC_CASTU_B,
 1.29473 -+  AVR32_MNEMONIC_CASTU_H,
 1.29474 -+  AVR32_MNEMONIC_CBR,
 1.29475 -+  AVR32_MNEMONIC_CLZ,
 1.29476 -+  AVR32_MNEMONIC_COM,
 1.29477 -+  AVR32_MNEMONIC_COP,
 1.29478 -+  AVR32_MNEMONIC_CP_B,
 1.29479 -+  AVR32_MNEMONIC_CP_H,
 1.29480 -+  AVR32_MNEMONIC_CP_W,
 1.29481 -+  AVR32_MNEMONIC_CP,
 1.29482 -+  AVR32_MNEMONIC_CPC,
 1.29483 -+  AVR32_MNEMONIC_CSRF,
 1.29484 -+  AVR32_MNEMONIC_CSRFCZ,
 1.29485 -+  AVR32_MNEMONIC_DIVS,
 1.29486 -+  AVR32_MNEMONIC_DIVU,
 1.29487 -+  AVR32_MNEMONIC_EOR,
 1.29488 -+  AVR32_MNEMONIC_EORL,
 1.29489 -+  AVR32_MNEMONIC_EORH,
 1.29490 -+  AVR32_MNEMONIC_FRS,
 1.29491 -+  AVR32_MNEMONIC_ICALL,
 1.29492 -+  AVR32_MNEMONIC_INCJOSP,
 1.29493 -+  AVR32_MNEMONIC_LD_D,
 1.29494 -+  AVR32_MNEMONIC_LD_SB,
 1.29495 -+  AVR32_MNEMONIC_LD_UB,
 1.29496 -+  AVR32_MNEMONIC_LD_SH,
 1.29497 -+  AVR32_MNEMONIC_LD_UH,
 1.29498 -+  AVR32_MNEMONIC_LD_W,
 1.29499 -+  AVR32_MNEMONIC_LDC_D,
 1.29500 -+  AVR32_MNEMONIC_LDC_W,
 1.29501 -+  AVR32_MNEMONIC_LDC0_D,
 1.29502 -+  AVR32_MNEMONIC_LDC0_W,
 1.29503 -+  AVR32_MNEMONIC_LDCM_D,
 1.29504 -+  AVR32_MNEMONIC_LDCM_W,
 1.29505 -+  AVR32_MNEMONIC_LDDPC,
 1.29506 -+  AVR32_MNEMONIC_LDDSP,
 1.29507 -+  AVR32_MNEMONIC_LDINS_B,
 1.29508 -+  AVR32_MNEMONIC_LDINS_H,
 1.29509 -+  AVR32_MNEMONIC_LDM,
 1.29510 -+  AVR32_MNEMONIC_LDMTS,
 1.29511 -+  AVR32_MNEMONIC_LDSWP_SH,
 1.29512 -+  AVR32_MNEMONIC_LDSWP_UH,
 1.29513 -+  AVR32_MNEMONIC_LDSWP_W,
 1.29514 -+  AVR32_MNEMONIC_LSL,
 1.29515 -+  AVR32_MNEMONIC_LSR,
 1.29516 -+  AVR32_MNEMONIC_MAC,
 1.29517 -+  AVR32_MNEMONIC_MACHH_D,
 1.29518 -+  AVR32_MNEMONIC_MACHH_W,
 1.29519 -+  AVR32_MNEMONIC_MACS_D,
 1.29520 -+  AVR32_MNEMONIC_MACSATHH_W,
 1.29521 -+  AVR32_MNEMONIC_MACU_D,
 1.29522 -+  AVR32_MNEMONIC_MACWH_D,
 1.29523 -+  AVR32_MNEMONIC_MAX,
 1.29524 -+  AVR32_MNEMONIC_MCALL,
 1.29525 -+  AVR32_MNEMONIC_MFDR,
 1.29526 -+  AVR32_MNEMONIC_MFSR,
 1.29527 -+  AVR32_MNEMONIC_MIN,
 1.29528 -+  AVR32_MNEMONIC_MOV,
 1.29529 -+  AVR32_MNEMONIC_MOVEQ,
 1.29530 -+  AVR32_MNEMONIC_MOVNE,
 1.29531 -+  AVR32_MNEMONIC_MOVCC,
 1.29532 -+  AVR32_MNEMONIC_MOVCS,
 1.29533 -+  AVR32_MNEMONIC_MOVGE,
 1.29534 -+  AVR32_MNEMONIC_MOVLT,
 1.29535 -+  AVR32_MNEMONIC_MOVMI,
 1.29536 -+  AVR32_MNEMONIC_MOVPL,
 1.29537 -+  AVR32_MNEMONIC_MOVLS,
 1.29538 -+  AVR32_MNEMONIC_MOVGT,
 1.29539 -+  AVR32_MNEMONIC_MOVLE,
 1.29540 -+  AVR32_MNEMONIC_MOVHI,
 1.29541 -+  AVR32_MNEMONIC_MOVVS,
 1.29542 -+  AVR32_MNEMONIC_MOVVC,
 1.29543 -+  AVR32_MNEMONIC_MOVQS,
 1.29544 -+  AVR32_MNEMONIC_MOVAL,
 1.29545 -+  AVR32_MNEMONIC_MOVHS,
 1.29546 -+  AVR32_MNEMONIC_MOVLO,
 1.29547 -+  AVR32_MNEMONIC_MTDR,
 1.29548 -+  AVR32_MNEMONIC_MTSR,
 1.29549 -+  AVR32_MNEMONIC_MUL,
 1.29550 -+  AVR32_MNEMONIC_MULHH_W,
 1.29551 -+  AVR32_MNEMONIC_MULNHH_W,
 1.29552 -+  AVR32_MNEMONIC_MULNWH_D,
 1.29553 -+  AVR32_MNEMONIC_MULS_D,
 1.29554 -+  AVR32_MNEMONIC_MULSATHH_H,
 1.29555 -+  AVR32_MNEMONIC_MULSATHH_W,
 1.29556 -+  AVR32_MNEMONIC_MULSATRNDHH_H,
 1.29557 -+  AVR32_MNEMONIC_MULSATRNDWH_W,
 1.29558 -+  AVR32_MNEMONIC_MULSATWH_W,
 1.29559 -+  AVR32_MNEMONIC_MULU_D,
 1.29560 -+  AVR32_MNEMONIC_MULWH_D,
 1.29561 -+  AVR32_MNEMONIC_MUSFR,
 1.29562 -+  AVR32_MNEMONIC_MUSTR,
 1.29563 -+  AVR32_MNEMONIC_MVCR_D,
 1.29564 -+  AVR32_MNEMONIC_MVCR_W,
 1.29565 -+  AVR32_MNEMONIC_MVRC_D,
 1.29566 -+  AVR32_MNEMONIC_MVRC_W,
 1.29567 -+  AVR32_MNEMONIC_NEG,
 1.29568 -+  AVR32_MNEMONIC_NOP,
 1.29569 -+  AVR32_MNEMONIC_OR,
 1.29570 -+  AVR32_MNEMONIC_ORH,
 1.29571 -+  AVR32_MNEMONIC_ORL,
 1.29572 -+  AVR32_MNEMONIC_PABS_SB,
 1.29573 -+  AVR32_MNEMONIC_PABS_SH,
 1.29574 -+  AVR32_MNEMONIC_PACKSH_SB,
 1.29575 -+  AVR32_MNEMONIC_PACKSH_UB,
 1.29576 -+  AVR32_MNEMONIC_PACKW_SH,
 1.29577 -+  AVR32_MNEMONIC_PADD_B,
 1.29578 -+  AVR32_MNEMONIC_PADD_H,
 1.29579 -+  AVR32_MNEMONIC_PADDH_SH,
 1.29580 -+  AVR32_MNEMONIC_PADDH_UB,
 1.29581 -+  AVR32_MNEMONIC_PADDS_SB,
 1.29582 -+  AVR32_MNEMONIC_PADDS_SH,
 1.29583 -+  AVR32_MNEMONIC_PADDS_UB,
 1.29584 -+  AVR32_MNEMONIC_PADDS_UH,
 1.29585 -+  AVR32_MNEMONIC_PADDSUB_H,
 1.29586 -+  AVR32_MNEMONIC_PADDSUBH_SH,
 1.29587 -+  AVR32_MNEMONIC_PADDSUBS_SH,
 1.29588 -+  AVR32_MNEMONIC_PADDSUBS_UH,
 1.29589 -+  AVR32_MNEMONIC_PADDX_H,
 1.29590 -+  AVR32_MNEMONIC_PADDXH_SH,
 1.29591 -+  AVR32_MNEMONIC_PADDXS_SH,
 1.29592 -+  AVR32_MNEMONIC_PADDXS_UH,
 1.29593 -+  AVR32_MNEMONIC_PASR_B,
 1.29594 -+  AVR32_MNEMONIC_PASR_H,
 1.29595 -+  AVR32_MNEMONIC_PAVG_SH,
 1.29596 -+  AVR32_MNEMONIC_PAVG_UB,
 1.29597 -+  AVR32_MNEMONIC_PLSL_B,
 1.29598 -+  AVR32_MNEMONIC_PLSL_H,
 1.29599 -+  AVR32_MNEMONIC_PLSR_B,
 1.29600 -+  AVR32_MNEMONIC_PLSR_H,
 1.29601 -+  AVR32_MNEMONIC_PMAX_SH,
 1.29602 -+  AVR32_MNEMONIC_PMAX_UB,
 1.29603 -+  AVR32_MNEMONIC_PMIN_SH,
 1.29604 -+  AVR32_MNEMONIC_PMIN_UB,
 1.29605 -+  AVR32_MNEMONIC_POPJC,
 1.29606 -+  AVR32_MNEMONIC_POPM,
 1.29607 -+  AVR32_MNEMONIC_PREF,
 1.29608 -+  AVR32_MNEMONIC_PSAD,
 1.29609 -+  AVR32_MNEMONIC_PSUB_B,
 1.29610 -+  AVR32_MNEMONIC_PSUB_H,
 1.29611 -+  AVR32_MNEMONIC_PSUBADD_H,
 1.29612 -+  AVR32_MNEMONIC_PSUBADDH_SH,
 1.29613 -+  AVR32_MNEMONIC_PSUBADDS_SH,
 1.29614 -+  AVR32_MNEMONIC_PSUBADDS_UH,
 1.29615 -+  AVR32_MNEMONIC_PSUBH_SH,
 1.29616 -+  AVR32_MNEMONIC_PSUBH_UB,
 1.29617 -+  AVR32_MNEMONIC_PSUBS_SB,
 1.29618 -+  AVR32_MNEMONIC_PSUBS_SH,
 1.29619 -+  AVR32_MNEMONIC_PSUBS_UB,
 1.29620 -+  AVR32_MNEMONIC_PSUBS_UH,
 1.29621 -+  AVR32_MNEMONIC_PSUBX_H,
 1.29622 -+  AVR32_MNEMONIC_PSUBXH_SH,
 1.29623 -+  AVR32_MNEMONIC_PSUBXS_SH,
 1.29624 -+  AVR32_MNEMONIC_PSUBXS_UH,
 1.29625 -+  AVR32_MNEMONIC_PUNPCKSB_H,
 1.29626 -+  AVR32_MNEMONIC_PUNPCKUB_H,
 1.29627 -+  AVR32_MNEMONIC_PUSHJC,
 1.29628 -+  AVR32_MNEMONIC_PUSHM,
 1.29629 -+  AVR32_MNEMONIC_RCALL,
 1.29630 -+  AVR32_MNEMONIC_RETEQ,
 1.29631 -+  AVR32_MNEMONIC_RETNE,
 1.29632 -+  AVR32_MNEMONIC_RETCC,
 1.29633 -+  AVR32_MNEMONIC_RETCS,
 1.29634 -+  AVR32_MNEMONIC_RETGE,
 1.29635 -+  AVR32_MNEMONIC_RETLT,
 1.29636 -+  AVR32_MNEMONIC_RETMI,
 1.29637 -+  AVR32_MNEMONIC_RETPL,
 1.29638 -+  AVR32_MNEMONIC_RETLS,
 1.29639 -+  AVR32_MNEMONIC_RETGT,
 1.29640 -+  AVR32_MNEMONIC_RETLE,
 1.29641 -+  AVR32_MNEMONIC_RETHI,
 1.29642 -+  AVR32_MNEMONIC_RETVS,
 1.29643 -+  AVR32_MNEMONIC_RETVC,
 1.29644 -+  AVR32_MNEMONIC_RETQS,
 1.29645 -+  AVR32_MNEMONIC_RETAL,
 1.29646 -+  AVR32_MNEMONIC_RETHS,
 1.29647 -+  AVR32_MNEMONIC_RETLO,
 1.29648 -+  AVR32_MNEMONIC_RET,
 1.29649 -+  AVR32_MNEMONIC_RETD,
 1.29650 -+  AVR32_MNEMONIC_RETE,
 1.29651 -+  AVR32_MNEMONIC_RETJ,
 1.29652 -+  AVR32_MNEMONIC_RETS,
 1.29653 -+  AVR32_MNEMONIC_RJMP,
 1.29654 -+  AVR32_MNEMONIC_ROL,
 1.29655 -+  AVR32_MNEMONIC_ROR,
 1.29656 -+  AVR32_MNEMONIC_RSUB,
 1.29657 -+  AVR32_MNEMONIC_SATADD_H,
 1.29658 -+  AVR32_MNEMONIC_SATADD_W,
 1.29659 -+  AVR32_MNEMONIC_SATRNDS,
 1.29660 -+  AVR32_MNEMONIC_SATRNDU,
 1.29661 -+  AVR32_MNEMONIC_SATS,
 1.29662 -+  AVR32_MNEMONIC_SATSUB_H,
 1.29663 -+  AVR32_MNEMONIC_SATSUB_W,
 1.29664 -+  AVR32_MNEMONIC_SATU,
 1.29665 -+  AVR32_MNEMONIC_SBC,
 1.29666 -+  AVR32_MNEMONIC_SBR,
 1.29667 -+  AVR32_MNEMONIC_SCALL,
 1.29668 -+  AVR32_MNEMONIC_SCR,
 1.29669 -+  AVR32_MNEMONIC_SLEEP,
 1.29670 -+  AVR32_MNEMONIC_SREQ,
 1.29671 -+  AVR32_MNEMONIC_SRNE,
 1.29672 -+  AVR32_MNEMONIC_SRCC,
 1.29673 -+  AVR32_MNEMONIC_SRCS,
 1.29674 -+  AVR32_MNEMONIC_SRGE,
 1.29675 -+  AVR32_MNEMONIC_SRLT,
 1.29676 -+  AVR32_MNEMONIC_SRMI,
 1.29677 -+  AVR32_MNEMONIC_SRPL,
 1.29678 -+  AVR32_MNEMONIC_SRLS,
 1.29679 -+  AVR32_MNEMONIC_SRGT,
 1.29680 -+  AVR32_MNEMONIC_SRLE,
 1.29681 -+  AVR32_MNEMONIC_SRHI,
 1.29682 -+  AVR32_MNEMONIC_SRVS,
 1.29683 -+  AVR32_MNEMONIC_SRVC,
 1.29684 -+  AVR32_MNEMONIC_SRQS,
 1.29685 -+  AVR32_MNEMONIC_SRAL,
 1.29686 -+  AVR32_MNEMONIC_SRHS,
 1.29687 -+  AVR32_MNEMONIC_SRLO,
 1.29688 -+  AVR32_MNEMONIC_SSRF,
 1.29689 -+  AVR32_MNEMONIC_ST_B,
 1.29690 -+  AVR32_MNEMONIC_ST_D,
 1.29691 -+  AVR32_MNEMONIC_ST_H,
 1.29692 -+  AVR32_MNEMONIC_ST_W,
 1.29693 -+  AVR32_MNEMONIC_STC_D,
 1.29694 -+  AVR32_MNEMONIC_STC_W,
 1.29695 -+  AVR32_MNEMONIC_STC0_D,
 1.29696 -+  AVR32_MNEMONIC_STC0_W,
 1.29697 -+  AVR32_MNEMONIC_STCM_D,
 1.29698 -+  AVR32_MNEMONIC_STCM_W,
 1.29699 -+  AVR32_MNEMONIC_STCOND,
 1.29700 -+  AVR32_MNEMONIC_STDSP,
 1.29701 -+  AVR32_MNEMONIC_STHH_W,
 1.29702 -+  AVR32_MNEMONIC_STM,
 1.29703 -+  AVR32_MNEMONIC_STMTS,
 1.29704 -+  AVR32_MNEMONIC_STSWP_H,
 1.29705 -+  AVR32_MNEMONIC_STSWP_W,
 1.29706 -+  AVR32_MNEMONIC_SUB,
 1.29707 -+  AVR32_MNEMONIC_SUBEQ,
 1.29708 -+  AVR32_MNEMONIC_SUBNE,
 1.29709 -+  AVR32_MNEMONIC_SUBCC,
 1.29710 -+  AVR32_MNEMONIC_SUBCS,
 1.29711 -+  AVR32_MNEMONIC_SUBGE,
 1.29712 -+  AVR32_MNEMONIC_SUBLT,
 1.29713 -+  AVR32_MNEMONIC_SUBMI,
 1.29714 -+  AVR32_MNEMONIC_SUBPL,
 1.29715 -+  AVR32_MNEMONIC_SUBLS,
 1.29716 -+  AVR32_MNEMONIC_SUBGT,
 1.29717 -+  AVR32_MNEMONIC_SUBLE,
 1.29718 -+  AVR32_MNEMONIC_SUBHI,
 1.29719 -+  AVR32_MNEMONIC_SUBVS,
 1.29720 -+  AVR32_MNEMONIC_SUBVC,
 1.29721 -+  AVR32_MNEMONIC_SUBQS,
 1.29722 -+  AVR32_MNEMONIC_SUBAL,
 1.29723 -+  AVR32_MNEMONIC_SUBHS,
 1.29724 -+  AVR32_MNEMONIC_SUBLO,
 1.29725 -+  AVR32_MNEMONIC_SUBFEQ,
 1.29726 -+  AVR32_MNEMONIC_SUBFNE,
 1.29727 -+  AVR32_MNEMONIC_SUBFCC,
 1.29728 -+  AVR32_MNEMONIC_SUBFCS,
 1.29729 -+  AVR32_MNEMONIC_SUBFGE,
 1.29730 -+  AVR32_MNEMONIC_SUBFLT,
 1.29731 -+  AVR32_MNEMONIC_SUBFMI,
 1.29732 -+  AVR32_MNEMONIC_SUBFPL,
 1.29733 -+  AVR32_MNEMONIC_SUBFLS,
 1.29734 -+  AVR32_MNEMONIC_SUBFGT,
 1.29735 -+  AVR32_MNEMONIC_SUBFLE,
 1.29736 -+  AVR32_MNEMONIC_SUBFHI,
 1.29737 -+  AVR32_MNEMONIC_SUBFVS,
 1.29738 -+  AVR32_MNEMONIC_SUBFVC,
 1.29739 -+  AVR32_MNEMONIC_SUBFQS,
 1.29740 -+  AVR32_MNEMONIC_SUBFAL,
 1.29741 -+  AVR32_MNEMONIC_SUBFHS,
 1.29742 -+  AVR32_MNEMONIC_SUBFLO,
 1.29743 -+  AVR32_MNEMONIC_SUBHH_W,
 1.29744 -+  AVR32_MNEMONIC_SWAP_B,
 1.29745 -+  AVR32_MNEMONIC_SWAP_BH,
 1.29746 -+  AVR32_MNEMONIC_SWAP_H,
 1.29747 -+  AVR32_MNEMONIC_SYNC,
 1.29748 -+  AVR32_MNEMONIC_TLBR,
 1.29749 -+  AVR32_MNEMONIC_TLBS,
 1.29750 -+  AVR32_MNEMONIC_TLBW,
 1.29751 -+  AVR32_MNEMONIC_TNBZ,
 1.29752 -+  AVR32_MNEMONIC_TST,
 1.29753 -+  AVR32_MNEMONIC_XCHG,
 1.29754 -+  AVR32_MNEMONIC_MEMC,
 1.29755 -+  AVR32_MNEMONIC_MEMS,
 1.29756 -+  AVR32_MNEMONIC_MEMT,
 1.29757 -+  AVR32_MNEMONIC_FADD_S,
 1.29758 -+  AVR32_MNEMONIC_FADD_D,
 1.29759 -+  AVR32_MNEMONIC_FSUB_S,
 1.29760 -+  AVR32_MNEMONIC_FSUB_D,
 1.29761 -+  AVR32_MNEMONIC_FMAC_S,
 1.29762 -+  AVR32_MNEMONIC_FMAC_D,
 1.29763 -+  AVR32_MNEMONIC_FNMAC_S,
 1.29764 -+  AVR32_MNEMONIC_FNMAC_D,
 1.29765 -+  AVR32_MNEMONIC_FMSC_S,
 1.29766 -+  AVR32_MNEMONIC_FMSC_D,
 1.29767 -+  AVR32_MNEMONIC_FNMSC_S,
 1.29768 -+  AVR32_MNEMONIC_FNMSC_D,
 1.29769 -+  AVR32_MNEMONIC_FMUL_S,
 1.29770 -+  AVR32_MNEMONIC_FMUL_D,
 1.29771 -+  AVR32_MNEMONIC_FNMUL_S,
 1.29772 -+  AVR32_MNEMONIC_FNMUL_D,
 1.29773 -+  AVR32_MNEMONIC_FNEG_S,
 1.29774 -+  AVR32_MNEMONIC_FNEG_D,
 1.29775 -+  AVR32_MNEMONIC_FABS_S,
 1.29776 -+  AVR32_MNEMONIC_FABS_D,
 1.29777 -+  AVR32_MNEMONIC_FCMP_S,
 1.29778 -+  AVR32_MNEMONIC_FCMP_D,
 1.29779 -+  AVR32_MNEMONIC_FMOV_S,
 1.29780 -+  AVR32_MNEMONIC_FMOV_D,
 1.29781 -+  AVR32_MNEMONIC_FCASTS_D,
 1.29782 -+  AVR32_MNEMONIC_FCASTD_S,
 1.29783 -+  /* AVR32_MNEMONIC_FLD_S,
 1.29784 -+     AVR32_MNEMONIC_FLD_D,
 1.29785 -+     AVR32_MNEMONIC_FST_S,
 1.29786 -+     AVR32_MNEMONIC_FST_D, */
 1.29787 -+  AVR32_MNEMONIC_LDA_W,
 1.29788 -+  AVR32_MNEMONIC_CALL,
 1.29789 -+  AVR32_MNEMONIC_PICOSVMAC,
 1.29790 -+  AVR32_MNEMONIC_PICOSVMUL,
 1.29791 -+  AVR32_MNEMONIC_PICOVMAC,
 1.29792 -+  AVR32_MNEMONIC_PICOVMUL,
 1.29793 -+  AVR32_MNEMONIC_PICOLD_D,
 1.29794 -+  AVR32_MNEMONIC_PICOLD_W,
 1.29795 -+  AVR32_MNEMONIC_PICOLDM_D,
 1.29796 -+  AVR32_MNEMONIC_PICOLDM_W,
 1.29797 -+  AVR32_MNEMONIC_PICOMV_D,
 1.29798 -+  AVR32_MNEMONIC_PICOMV_W,
 1.29799 -+  AVR32_MNEMONIC_PICOST_D,
 1.29800 -+  AVR32_MNEMONIC_PICOST_W,
 1.29801 -+  AVR32_MNEMONIC_PICOSTM_D,
 1.29802 -+  AVR32_MNEMONIC_PICOSTM_W,
 1.29803 -+  AVR32_MNEMONIC_RSUBEQ,
 1.29804 -+  AVR32_MNEMONIC_RSUBNE,
 1.29805 -+  AVR32_MNEMONIC_RSUBCC,
 1.29806 -+  AVR32_MNEMONIC_RSUBCS,
 1.29807 -+  AVR32_MNEMONIC_RSUBGE,
 1.29808 -+  AVR32_MNEMONIC_RSUBLT,
 1.29809 -+  AVR32_MNEMONIC_RSUBMI,
 1.29810 -+  AVR32_MNEMONIC_RSUBPL,
 1.29811 -+  AVR32_MNEMONIC_RSUBLS,
 1.29812 -+  AVR32_MNEMONIC_RSUBGT,
 1.29813 -+  AVR32_MNEMONIC_RSUBLE,
 1.29814 -+  AVR32_MNEMONIC_RSUBHI,
 1.29815 -+  AVR32_MNEMONIC_RSUBVS,
 1.29816 -+  AVR32_MNEMONIC_RSUBVC,
 1.29817 -+  AVR32_MNEMONIC_RSUBQS,
 1.29818 -+  AVR32_MNEMONIC_RSUBAL,
 1.29819 -+  AVR32_MNEMONIC_RSUBHS,
 1.29820 -+  AVR32_MNEMONIC_RSUBLO,
 1.29821 -+  AVR32_MNEMONIC_ADDEQ,
 1.29822 -+  AVR32_MNEMONIC_ADDNE,
 1.29823 -+  AVR32_MNEMONIC_ADDCC,
 1.29824 -+  AVR32_MNEMONIC_ADDCS,
 1.29825 -+  AVR32_MNEMONIC_ADDGE,
 1.29826 -+  AVR32_MNEMONIC_ADDLT,
 1.29827 -+  AVR32_MNEMONIC_ADDMI,
 1.29828 -+  AVR32_MNEMONIC_ADDPL,
 1.29829 -+  AVR32_MNEMONIC_ADDLS,
 1.29830 -+  AVR32_MNEMONIC_ADDGT,
 1.29831 -+  AVR32_MNEMONIC_ADDLE,
 1.29832 -+  AVR32_MNEMONIC_ADDHI,
 1.29833 -+  AVR32_MNEMONIC_ADDVS,
 1.29834 -+  AVR32_MNEMONIC_ADDVC,
 1.29835 -+  AVR32_MNEMONIC_ADDQS,
 1.29836 -+  AVR32_MNEMONIC_ADDAL,
 1.29837 -+  AVR32_MNEMONIC_ADDHS,
 1.29838 -+  AVR32_MNEMONIC_ADDLO,
 1.29839 -+  AVR32_MNEMONIC_ANDEQ,
 1.29840 -+  AVR32_MNEMONIC_ANDNE,
 1.29841 -+  AVR32_MNEMONIC_ANDCC,
 1.29842 -+  AVR32_MNEMONIC_ANDCS,
 1.29843 -+  AVR32_MNEMONIC_ANDGE,
 1.29844 -+  AVR32_MNEMONIC_ANDLT,
 1.29845 -+  AVR32_MNEMONIC_ANDMI,
 1.29846 -+  AVR32_MNEMONIC_ANDPL,
 1.29847 -+  AVR32_MNEMONIC_ANDLS,
 1.29848 -+  AVR32_MNEMONIC_ANDGT,
 1.29849 -+  AVR32_MNEMONIC_ANDLE,
 1.29850 -+  AVR32_MNEMONIC_ANDHI,
 1.29851 -+  AVR32_MNEMONIC_ANDVS,
 1.29852 -+  AVR32_MNEMONIC_ANDVC,
 1.29853 -+  AVR32_MNEMONIC_ANDQS,
 1.29854 -+  AVR32_MNEMONIC_ANDAL,
 1.29855 -+  AVR32_MNEMONIC_ANDHS,
 1.29856 -+  AVR32_MNEMONIC_ANDLO,
 1.29857 -+  AVR32_MNEMONIC_OREQ,
 1.29858 -+  AVR32_MNEMONIC_ORNE,
 1.29859 -+  AVR32_MNEMONIC_ORCC,
 1.29860 -+  AVR32_MNEMONIC_ORCS,
 1.29861 -+  AVR32_MNEMONIC_ORGE,
 1.29862 -+  AVR32_MNEMONIC_ORLT,
 1.29863 -+  AVR32_MNEMONIC_ORMI,
 1.29864 -+  AVR32_MNEMONIC_ORPL,
 1.29865 -+  AVR32_MNEMONIC_ORLS,
 1.29866 -+  AVR32_MNEMONIC_ORGT,
 1.29867 -+  AVR32_MNEMONIC_ORLE,
 1.29868 -+  AVR32_MNEMONIC_ORHI,
 1.29869 -+  AVR32_MNEMONIC_ORVS,
 1.29870 -+  AVR32_MNEMONIC_ORVC,
 1.29871 -+  AVR32_MNEMONIC_ORQS,
 1.29872 -+  AVR32_MNEMONIC_ORAL,
 1.29873 -+  AVR32_MNEMONIC_ORHS,
 1.29874 -+  AVR32_MNEMONIC_ORLO,
 1.29875 -+  AVR32_MNEMONIC_EOREQ,
 1.29876 -+  AVR32_MNEMONIC_EORNE,
 1.29877 -+  AVR32_MNEMONIC_EORCC,
 1.29878 -+  AVR32_MNEMONIC_EORCS,
 1.29879 -+  AVR32_MNEMONIC_EORGE,
 1.29880 -+  AVR32_MNEMONIC_EORLT,
 1.29881 -+  AVR32_MNEMONIC_EORMI,
 1.29882 -+  AVR32_MNEMONIC_EORPL,
 1.29883 -+  AVR32_MNEMONIC_EORLS,
 1.29884 -+  AVR32_MNEMONIC_EORGT,
 1.29885 -+  AVR32_MNEMONIC_EORLE,
 1.29886 -+  AVR32_MNEMONIC_EORHI,
 1.29887 -+  AVR32_MNEMONIC_EORVS,
 1.29888 -+  AVR32_MNEMONIC_EORVC,
 1.29889 -+  AVR32_MNEMONIC_EORQS,
 1.29890 -+  AVR32_MNEMONIC_EORAL,
 1.29891 -+  AVR32_MNEMONIC_EORHS,
 1.29892 -+  AVR32_MNEMONIC_EORLO,
 1.29893 -+  AVR32_MNEMONIC_LD_WEQ,
 1.29894 -+  AVR32_MNEMONIC_LD_WNE,
 1.29895 -+  AVR32_MNEMONIC_LD_WCC,
 1.29896 -+  AVR32_MNEMONIC_LD_WCS,
 1.29897 -+  AVR32_MNEMONIC_LD_WGE,
 1.29898 -+  AVR32_MNEMONIC_LD_WLT,
 1.29899 -+  AVR32_MNEMONIC_LD_WMI,
 1.29900 -+  AVR32_MNEMONIC_LD_WPL,
 1.29901 -+  AVR32_MNEMONIC_LD_WLS,
 1.29902 -+  AVR32_MNEMONIC_LD_WGT,
 1.29903 -+  AVR32_MNEMONIC_LD_WLE,
 1.29904 -+  AVR32_MNEMONIC_LD_WHI,
 1.29905 -+  AVR32_MNEMONIC_LD_WVS,
 1.29906 -+  AVR32_MNEMONIC_LD_WVC,
 1.29907 -+  AVR32_MNEMONIC_LD_WQS,
 1.29908 -+  AVR32_MNEMONIC_LD_WAL,
 1.29909 -+  AVR32_MNEMONIC_LD_WHS,
 1.29910 -+  AVR32_MNEMONIC_LD_WLO,
 1.29911 -+  AVR32_MNEMONIC_LD_SHEQ,
 1.29912 -+  AVR32_MNEMONIC_LD_SHNE,
 1.29913 -+  AVR32_MNEMONIC_LD_SHCC,
 1.29914 -+  AVR32_MNEMONIC_LD_SHCS,
 1.29915 -+  AVR32_MNEMONIC_LD_SHGE,
 1.29916 -+  AVR32_MNEMONIC_LD_SHLT,
 1.29917 -+  AVR32_MNEMONIC_LD_SHMI,
 1.29918 -+  AVR32_MNEMONIC_LD_SHPL,
 1.29919 -+  AVR32_MNEMONIC_LD_SHLS,
 1.29920 -+  AVR32_MNEMONIC_LD_SHGT,
 1.29921 -+  AVR32_MNEMONIC_LD_SHLE,
 1.29922 -+  AVR32_MNEMONIC_LD_SHHI,
 1.29923 -+  AVR32_MNEMONIC_LD_SHVS,
 1.29924 -+  AVR32_MNEMONIC_LD_SHVC,
 1.29925 -+  AVR32_MNEMONIC_LD_SHQS,
 1.29926 -+  AVR32_MNEMONIC_LD_SHAL,
 1.29927 -+  AVR32_MNEMONIC_LD_SHHS,
 1.29928 -+  AVR32_MNEMONIC_LD_SHLO,
 1.29929 -+  AVR32_MNEMONIC_LD_UHEQ,
 1.29930 -+  AVR32_MNEMONIC_LD_UHNE,
 1.29931 -+  AVR32_MNEMONIC_LD_UHCC,
 1.29932 -+  AVR32_MNEMONIC_LD_UHCS,
 1.29933 -+  AVR32_MNEMONIC_LD_UHGE,
 1.29934 -+  AVR32_MNEMONIC_LD_UHLT,
 1.29935 -+  AVR32_MNEMONIC_LD_UHMI,
 1.29936 -+  AVR32_MNEMONIC_LD_UHPL,
 1.29937 -+  AVR32_MNEMONIC_LD_UHLS,
 1.29938 -+  AVR32_MNEMONIC_LD_UHGT,
 1.29939 -+  AVR32_MNEMONIC_LD_UHLE,
 1.29940 -+  AVR32_MNEMONIC_LD_UHHI,
 1.29941 -+  AVR32_MNEMONIC_LD_UHVS,
 1.29942 -+  AVR32_MNEMONIC_LD_UHVC,
 1.29943 -+  AVR32_MNEMONIC_LD_UHQS,
 1.29944 -+  AVR32_MNEMONIC_LD_UHAL,
 1.29945 -+  AVR32_MNEMONIC_LD_UHHS,
 1.29946 -+  AVR32_MNEMONIC_LD_UHLO,
 1.29947 -+  AVR32_MNEMONIC_LD_SBEQ,
 1.29948 -+  AVR32_MNEMONIC_LD_SBNE,
 1.29949 -+  AVR32_MNEMONIC_LD_SBCC,
 1.29950 -+  AVR32_MNEMONIC_LD_SBCS,
 1.29951 -+  AVR32_MNEMONIC_LD_SBGE,
 1.29952 -+  AVR32_MNEMONIC_LD_SBLT,
 1.29953 -+  AVR32_MNEMONIC_LD_SBMI,
 1.29954 -+  AVR32_MNEMONIC_LD_SBPL,
 1.29955 -+  AVR32_MNEMONIC_LD_SBLS,
 1.29956 -+  AVR32_MNEMONIC_LD_SBGT,
 1.29957 -+  AVR32_MNEMONIC_LD_SBLE,
 1.29958 -+  AVR32_MNEMONIC_LD_SBHI,
 1.29959 -+  AVR32_MNEMONIC_LD_SBVS,
 1.29960 -+  AVR32_MNEMONIC_LD_SBVC,
 1.29961 -+  AVR32_MNEMONIC_LD_SBQS,
 1.29962 -+  AVR32_MNEMONIC_LD_SBAL,
 1.29963 -+  AVR32_MNEMONIC_LD_SBHS,
 1.29964 -+  AVR32_MNEMONIC_LD_SBLO,
 1.29965 -+  AVR32_MNEMONIC_LD_UBEQ,
 1.29966 -+  AVR32_MNEMONIC_LD_UBNE,
 1.29967 -+  AVR32_MNEMONIC_LD_UBCC,
 1.29968 -+  AVR32_MNEMONIC_LD_UBCS,
 1.29969 -+  AVR32_MNEMONIC_LD_UBGE,
 1.29970 -+  AVR32_MNEMONIC_LD_UBLT,
 1.29971 -+  AVR32_MNEMONIC_LD_UBMI,
 1.29972 -+  AVR32_MNEMONIC_LD_UBPL,
 1.29973 -+  AVR32_MNEMONIC_LD_UBLS,
 1.29974 -+  AVR32_MNEMONIC_LD_UBGT,
 1.29975 -+  AVR32_MNEMONIC_LD_UBLE,
 1.29976 -+  AVR32_MNEMONIC_LD_UBHI,
 1.29977 -+  AVR32_MNEMONIC_LD_UBVS,
 1.29978 -+  AVR32_MNEMONIC_LD_UBVC,
 1.29979 -+  AVR32_MNEMONIC_LD_UBQS,
 1.29980 -+  AVR32_MNEMONIC_LD_UBAL,
 1.29981 -+  AVR32_MNEMONIC_LD_UBHS,
 1.29982 -+  AVR32_MNEMONIC_LD_UBLO,
 1.29983 -+  AVR32_MNEMONIC_ST_WEQ,
 1.29984 -+  AVR32_MNEMONIC_ST_WNE,
 1.29985 -+  AVR32_MNEMONIC_ST_WCC,
 1.29986 -+  AVR32_MNEMONIC_ST_WCS,
 1.29987 -+  AVR32_MNEMONIC_ST_WGE,
 1.29988 -+  AVR32_MNEMONIC_ST_WLT,
 1.29989 -+  AVR32_MNEMONIC_ST_WMI,
 1.29990 -+  AVR32_MNEMONIC_ST_WPL,
 1.29991 -+  AVR32_MNEMONIC_ST_WLS,
 1.29992 -+  AVR32_MNEMONIC_ST_WGT,
 1.29993 -+  AVR32_MNEMONIC_ST_WLE,
 1.29994 -+  AVR32_MNEMONIC_ST_WHI,
 1.29995 -+  AVR32_MNEMONIC_ST_WVS,
 1.29996 -+  AVR32_MNEMONIC_ST_WVC,
 1.29997 -+  AVR32_MNEMONIC_ST_WQS,
 1.29998 -+  AVR32_MNEMONIC_ST_WAL,
 1.29999 -+  AVR32_MNEMONIC_ST_WHS,
 1.30000 -+  AVR32_MNEMONIC_ST_WLO,
 1.30001 -+  AVR32_MNEMONIC_ST_HEQ,
 1.30002 -+  AVR32_MNEMONIC_ST_HNE,
 1.30003 -+  AVR32_MNEMONIC_ST_HCC,
 1.30004 -+  AVR32_MNEMONIC_ST_HCS,
 1.30005 -+  AVR32_MNEMONIC_ST_HGE,
 1.30006 -+  AVR32_MNEMONIC_ST_HLT,
 1.30007 -+  AVR32_MNEMONIC_ST_HMI,
 1.30008 -+  AVR32_MNEMONIC_ST_HPL,
 1.30009 -+  AVR32_MNEMONIC_ST_HLS,
 1.30010 -+  AVR32_MNEMONIC_ST_HGT,
 1.30011 -+  AVR32_MNEMONIC_ST_HLE,
 1.30012 -+  AVR32_MNEMONIC_ST_HHI,
 1.30013 -+  AVR32_MNEMONIC_ST_HVS,
 1.30014 -+  AVR32_MNEMONIC_ST_HVC,
 1.30015 -+  AVR32_MNEMONIC_ST_HQS,
 1.30016 -+  AVR32_MNEMONIC_ST_HAL,
 1.30017 -+  AVR32_MNEMONIC_ST_HHS,
 1.30018 -+  AVR32_MNEMONIC_ST_HLO,
 1.30019 -+  AVR32_MNEMONIC_ST_BEQ,
 1.30020 -+  AVR32_MNEMONIC_ST_BNE,
 1.30021 -+  AVR32_MNEMONIC_ST_BCC,
 1.30022 -+  AVR32_MNEMONIC_ST_BCS,
 1.30023 -+  AVR32_MNEMONIC_ST_BGE,
 1.30024 -+  AVR32_MNEMONIC_ST_BLT,
 1.30025 -+  AVR32_MNEMONIC_ST_BMI,
 1.30026 -+  AVR32_MNEMONIC_ST_BPL,
 1.30027 -+  AVR32_MNEMONIC_ST_BLS,
 1.30028 -+  AVR32_MNEMONIC_ST_BGT,
 1.30029 -+  AVR32_MNEMONIC_ST_BLE,
 1.30030 -+  AVR32_MNEMONIC_ST_BHI,
 1.30031 -+  AVR32_MNEMONIC_ST_BVS,
 1.30032 -+  AVR32_MNEMONIC_ST_BVC,
 1.30033 -+  AVR32_MNEMONIC_ST_BQS,
 1.30034 -+  AVR32_MNEMONIC_ST_BAL,
 1.30035 -+  AVR32_MNEMONIC_ST_BHS,
 1.30036 -+  AVR32_MNEMONIC_ST_BLO,
 1.30037 -+  AVR32_MNEMONIC_MOVH,
 1.30038 -+  AVR32_MNEMONIC__END_
 1.30039 -+};
 1.30040 -+#define AVR32_NR_MNEMONICS AVR32_MNEMONIC__END_
 1.30041 -+
 1.30042 -+enum avr32_syntax_parser
 1.30043 -+  {
 1.30044 -+    AVR32_PARSER_NORMAL,
 1.30045 -+    AVR32_PARSER_ALIAS,
 1.30046 -+    AVR32_PARSER_LDA,
 1.30047 -+    AVR32_PARSER_CALL,
 1.30048 -+    AVR32_PARSER__END_
 1.30049 -+  };
 1.30050 -+#define AVR32_NR_PARSERS AVR32_PARSER__END_
 1.30051 ---- a/opcodes/configure.in
 1.30052 -+++ b/opcodes/configure.in
 1.30053 -@@ -158,6 +158,7 @@ if test x${all_targets} = xfalse ; then
 1.30054 - 	bfd_arc_arch)		ta="$ta arc-dis.lo arc-opc.lo arc-ext.lo" ;;
 1.30055 - 	bfd_arm_arch)		ta="$ta arm-dis.lo" ;;
 1.30056 - 	bfd_avr_arch)		ta="$ta avr-dis.lo" ;;
 1.30057 -+	bfd_avr32_arch)		ta="$ta avr32-asm.lo avr32-dis.lo avr32-opc.lo" ;;
 1.30058 - 	bfd_bfin_arch)		ta="$ta bfin-dis.lo" ;;
 1.30059 - 	bfd_cr16_arch)    	ta="$ta cr16-dis.lo cr16-opc.lo" ;;
 1.30060 - 	bfd_cris_arch)		ta="$ta cris-dis.lo cris-opc.lo cgen-bitset.lo" ;;
 1.30061 -@@ -216,7 +217,7 @@ if test x${all_targets} = xfalse ; then
 1.30062 - 				ta="$ta sh64-dis.lo sh64-opc.lo"
 1.30063 - 				archdefs="$archdefs -DINCLUDE_SHMEDIA"
 1.30064 - 				break;;
 1.30065 --	    esac;
 1.30066 -+	    esac
 1.30067 - 	  done
 1.30068 - 				ta="$ta sh-dis.lo cgen-bitset.lo" ;;
 1.30069 - 	bfd_sparc_arch)		ta="$ta sparc-dis.lo sparc-opc.lo" ;;
 1.30070 ---- a/opcodes/disassemble.c
 1.30071 -+++ b/opcodes/disassemble.c
 1.30072 -@@ -27,6 +27,7 @@
 1.30073 - #define ARCH_arc
 1.30074 - #define ARCH_arm
 1.30075 - #define ARCH_avr
 1.30076 -+#define ARCH_avr32
 1.30077 - #define ARCH_bfin
 1.30078 - #define ARCH_cr16
 1.30079 - #define ARCH_cris
 1.30080 -@@ -128,6 +129,11 @@ disassembler (abfd)
 1.30081 -       disassemble = print_insn_avr;
 1.30082 -       break;
 1.30083 - #endif
 1.30084 -+#ifdef ARCH_avr32
 1.30085 -+    case bfd_arch_avr32:
 1.30086 -+      disassemble = print_insn_avr32;
 1.30087 -+      break;
 1.30088 -+#endif
 1.30089 - #ifdef ARCH_bfin
 1.30090 -     case bfd_arch_bfin:
 1.30091 -       disassemble = print_insn_bfin;
 1.30092 -@@ -346,9 +352,9 @@ disassembler (abfd)
 1.30093 - #ifdef ARCH_score
 1.30094 -     case bfd_arch_score:
 1.30095 -       if (bfd_big_endian (abfd))
 1.30096 --        disassemble = print_insn_big_score;      
 1.30097 -+        disassemble = print_insn_big_score;
 1.30098 -       else
 1.30099 --        disassemble = print_insn_little_score; 
 1.30100 -+        disassemble = print_insn_little_score;
 1.30101 -      break;
 1.30102 - #endif
 1.30103 - #ifdef ARCH_sh
 1.30104 -@@ -466,6 +472,9 @@ disassembler_usage (stream)
 1.30105 - #ifdef ARCH_i386
 1.30106 -   print_i386_disassembler_options (stream);
 1.30107 - #endif
 1.30108 -+#ifdef ARCH_avr32
 1.30109 -+  print_avr32_disassembler_options (stream);
 1.30110 -+#endif
 1.30111 - 
 1.30112 -   return;
 1.30113 - }
 1.30114 ---- a/opcodes/Makefile.am
 1.30115 -+++ b/opcodes/Makefile.am
 1.30116 -@@ -30,6 +30,7 @@ LIBIBERTY = ../libiberty/libiberty.a
 1.30117 - # Header files.
 1.30118 - HFILES = \
 1.30119 - 	cgen-ops.h cgen-types.h \
 1.30120 -+	avr32-asm.h avr32-opc.h \
 1.30121 - 	fr30-desc.h fr30-opc.h \
 1.30122 - 	frv-desc.h frv-opc.h \
 1.30123 - 	h8500-opc.h \
 1.30124 -@@ -63,6 +64,9 @@ CFILES = \
 1.30125 - 	arc-ext.c \
 1.30126 - 	arm-dis.c \
 1.30127 - 	avr-dis.c \
 1.30128 -+	avr32-asm.c \
 1.30129 -+	avr32-dis.c \
 1.30130 -+	avr32-opc.c \
 1.30131 - 	bfin-dis.c \
 1.30132 - 	cgen-asm.c \
 1.30133 - 	cgen-bitset.c \
 1.30134 -@@ -217,6 +221,9 @@ ALL_MACHINES = \
 1.30135 - 	arc-ext.lo \
 1.30136 - 	arm-dis.lo \
 1.30137 - 	avr-dis.lo \
 1.30138 -+	avr32-asm.lo \
 1.30139 -+	avr32-dis.lo \
 1.30140 -+	avr32-opc.lo \
 1.30141 - 	bfin-dis.lo \
 1.30142 - 	cgen-asm.lo \
 1.30143 - 	cgen-bitset.lo \
 1.30144 -@@ -674,6 +681,15 @@ avr-dis.lo: avr-dis.c sysdep.h config.h 
 1.30145 -   $(INCDIR)/dis-asm.h $(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \
 1.30146 -   opintl.h $(INCDIR)/libiberty.h $(INCDIR)/ansidecl.h \
 1.30147 -   $(INCDIR)/opcode/avr.h
 1.30148 -+avr32-asm.lo: avr32-asm.c sysdep.h config.h $(INCDIR)/ansidecl.h \
 1.30149 -+  $(BFD_H) $(INCDIR)/symcat.h avr32-opc.h opintl.h \
 1.30150 -+  $(INCDIR)/xregex.h $(INCDIR)/xregex2.h \
 1.30151 -+  $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
 1.30152 -+avr32-dis.lo: avr32-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \
 1.30153 -+  $(INCDIR)/dis-asm.h $(BFD_H) $(INCDIR)/symcat.h $(INCDIR)/libiberty.h \
 1.30154 -+  avr32-opc.h opintl.h
 1.30155 -+avr32-opc.lo: avr32-opc.c sysdep.h config.h $(INCDIR)/ansidecl.h \
 1.30156 -+  $(BFD_H) $(INCDIR)/symcat.h avr32-opc.h $(INCDIR)/libiberty.h
 1.30157 - bfin-dis.lo: bfin-dis.c $(INCDIR)/opcode/bfin.h $(INCDIR)/dis-asm.h \
 1.30158 -   $(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h
 1.30159 - cgen-asm.lo: cgen-asm.c sysdep.h config.h $(INCDIR)/ansidecl.h \
 1.30160 ---- a/bfd/bfd-in2.h
 1.30161 -+++ b/bfd/bfd-in2.h
 1.30162 -@@ -2017,6 +2017,11 @@ enum bfd_architecture
 1.30163 - #define bfd_mach_avr4          4
 1.30164 - #define bfd_mach_avr5          5
 1.30165 - #define bfd_mach_avr6          6
 1.30166 -+  bfd_arch_avr32,     /* Atmel AVR32 */
 1.30167 -+#define bfd_mach_avr32_ap      7000
 1.30168 -+#define bfd_mach_avr32_uc      3000
 1.30169 -+#define bfd_mach_avr32_ucr1    3001
 1.30170 -+#define bfd_mach_avr32_ucr2    3002
 1.30171 -   bfd_arch_bfin,        /* ADI Blackfin */
 1.30172 - #define bfd_mach_bfin          1
 1.30173 -   bfd_arch_cr16,       /* National Semiconductor CompactRISC (ie CR16). */
 1.30174 -@@ -3758,6 +3763,88 @@ instructions  */
 1.30175 - instructions  */
 1.30176 -   BFD_RELOC_AVR_6_ADIW,
 1.30177 - 
 1.30178 -+/* Difference between two labels: L2 - L1. The value of L1 is encoded
 1.30179 -+as sym + addend, while the initial difference after assembly is
 1.30180 -+inserted into the object file by the assembler.  */
 1.30181 -+  BFD_RELOC_AVR32_DIFF32,
 1.30182 -+  BFD_RELOC_AVR32_DIFF16,
 1.30183 -+  BFD_RELOC_AVR32_DIFF8,
 1.30184 -+
 1.30185 -+/* Reference to a symbol through the Global Offset Table. The linker
 1.30186 -+will allocate an entry for symbol in the GOT and insert the offset
 1.30187 -+of this entry as the relocation value.  */
 1.30188 -+  BFD_RELOC_AVR32_GOT32,
 1.30189 -+  BFD_RELOC_AVR32_GOT16,
 1.30190 -+  BFD_RELOC_AVR32_GOT8,
 1.30191 -+
 1.30192 -+/* Normal (non-pc-relative) code relocations. Alignment and signedness
 1.30193 -+is indicated by the suffixes. S means signed, U means unsigned. W
 1.30194 -+means word-aligned, H means halfword-aligned, neither means
 1.30195 -+byte-aligned (no alignment.) SUB5 is the same relocation as 16S.  */
 1.30196 -+  BFD_RELOC_AVR32_21S,
 1.30197 -+  BFD_RELOC_AVR32_16U,
 1.30198 -+  BFD_RELOC_AVR32_16S,
 1.30199 -+  BFD_RELOC_AVR32_SUB5,
 1.30200 -+  BFD_RELOC_AVR32_8S_EXT,
 1.30201 -+  BFD_RELOC_AVR32_8S,
 1.30202 -+  BFD_RELOC_AVR32_15S,
 1.30203 -+
 1.30204 -+/* PC-relative relocations are signed if neither 'U' nor 'S' is
 1.30205 -+specified. However, we explicitly tack on a 'B' to indicate no
 1.30206 -+alignment, to avoid confusion with data relocs. All of these resolve
 1.30207 -+to sym + addend - offset, except the one with 'N' (negated) suffix.
 1.30208 -+This particular one resolves to offset - sym - addend.  */
 1.30209 -+  BFD_RELOC_AVR32_22H_PCREL,
 1.30210 -+  BFD_RELOC_AVR32_18W_PCREL,
 1.30211 -+  BFD_RELOC_AVR32_16B_PCREL,
 1.30212 -+  BFD_RELOC_AVR32_16N_PCREL,
 1.30213 -+  BFD_RELOC_AVR32_14UW_PCREL,
 1.30214 -+  BFD_RELOC_AVR32_11H_PCREL,
 1.30215 -+  BFD_RELOC_AVR32_10UW_PCREL,
 1.30216 -+  BFD_RELOC_AVR32_9H_PCREL,
 1.30217 -+  BFD_RELOC_AVR32_9UW_PCREL,
 1.30218 -+
 1.30219 -+/* Subtract the link-time address of the GOT from (symbol + addend)
 1.30220 -+and insert the result.  */
 1.30221 -+  BFD_RELOC_AVR32_GOTPC,
 1.30222 -+
 1.30223 -+/* Reference to a symbol through the GOT. The linker will allocate an
 1.30224 -+entry for symbol in the GOT and insert the offset of this entry as
 1.30225 -+the relocation value. addend must be zero. As usual, 'S' means
 1.30226 -+signed, 'W' means word-aligned, etc.  */
 1.30227 -+  BFD_RELOC_AVR32_GOTCALL,
 1.30228 -+  BFD_RELOC_AVR32_LDA_GOT,
 1.30229 -+  BFD_RELOC_AVR32_GOT21S,
 1.30230 -+  BFD_RELOC_AVR32_GOT18SW,
 1.30231 -+  BFD_RELOC_AVR32_GOT16S,
 1.30232 -+
 1.30233 -+/* 32-bit constant pool entry. I don't think 8- and 16-bit entries make
 1.30234 -+a whole lot of sense.  */
 1.30235 -+  BFD_RELOC_AVR32_32_CPENT,
 1.30236 -+
 1.30237 -+/* Constant pool references. Some of these relocations are signed,
 1.30238 -+others are unsigned. It doesn't really matter, since the constant
 1.30239 -+pool always comes after the code that references it.  */
 1.30240 -+  BFD_RELOC_AVR32_CPCALL,
 1.30241 -+  BFD_RELOC_AVR32_16_CP,
 1.30242 -+  BFD_RELOC_AVR32_9W_CP,
 1.30243 -+
 1.30244 -+/* sym must be the absolute symbol. The addend specifies the alignment
 1.30245 -+order, e.g. if addend is 2, the linker must add padding so that the
 1.30246 -+next address is aligned to a 4-byte boundary.  */
 1.30247 -+  BFD_RELOC_AVR32_ALIGN,
 1.30248 -+
 1.30249 -+/* Code relocations that will never make it to the output file.  */
 1.30250 -+  BFD_RELOC_AVR32_14UW,
 1.30251 -+  BFD_RELOC_AVR32_10UW,
 1.30252 -+  BFD_RELOC_AVR32_10SW,
 1.30253 -+  BFD_RELOC_AVR32_STHH_W,
 1.30254 -+  BFD_RELOC_AVR32_7UW,
 1.30255 -+  BFD_RELOC_AVR32_6S,
 1.30256 -+  BFD_RELOC_AVR32_6UW,
 1.30257 -+  BFD_RELOC_AVR32_4UH,
 1.30258 -+  BFD_RELOC_AVR32_3U,
 1.30259 -+
 1.30260 - /* Direct 12 bit.  */
 1.30261 -   BFD_RELOC_390_12,
 1.30262 - 
 1.30263 ---- /dev/null
 1.30264 -+++ b/bfd/bfd-in3.h
 1.30265 -@@ -0,0 +1,5406 @@
 1.30266 -+/* DO NOT EDIT!  -*- buffer-read-only: t -*-  This file is automatically 
 1.30267 -+   generated from "bfd-in.h", "init.c", "opncls.c", "libbfd.c", 
 1.30268 -+   "bfdio.c", "bfdwin.c", "section.c", "archures.c", "reloc.c", 
 1.30269 -+   "syms.c", "bfd.c", "archive.c", "corefile.c", "targets.c", "format.c", 
 1.30270 -+   "linker.c" and "simple.c".
 1.30271 -+   Run "make headers" in your build bfd/ to regenerate.  */
 1.30272 -+
 1.30273 -+/* Main header file for the bfd library -- portable access to object files.
 1.30274 -+
 1.30275 -+   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
 1.30276 -+   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
 1.30277 -+   Free Software Foundation, Inc.
 1.30278 -+
 1.30279 -+   Contributed by Cygnus Support.
 1.30280 -+
 1.30281 -+   This file is part of BFD, the Binary File Descriptor library.
 1.30282 -+
 1.30283 -+   This program is free software; you can redistribute it and/or modify
 1.30284 -+   it under the terms of the GNU General Public License as published by
 1.30285 -+   the Free Software Foundation; either version 3 of the License, or
 1.30286 -+   (at your option) any later version.
 1.30287 -+
 1.30288 -+   This program is distributed in the hope that it will be useful,
 1.30289 -+   but WITHOUT ANY WARRANTY; without even the implied warranty of
 1.30290 -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 1.30291 -+   GNU General Public License for more details.
 1.30292 -+
 1.30293 -+   You should have received a copy of the GNU General Public License
 1.30294 -+   along with this program; if not, write to the Free Software
 1.30295 -+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
 1.30296 -+
 1.30297 -+#ifndef __BFD_H_SEEN__
 1.30298 -+#define __BFD_H_SEEN__
 1.30299 -+
 1.30300 -+#ifdef __cplusplus
 1.30301 -+extern "C" {
 1.30302 -+#endif
 1.30303 -+
 1.30304 -+#include "ansidecl.h"
 1.30305 -+#include "symcat.h"
 1.30306 -+#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
 1.30307 -+#ifndef SABER
 1.30308 -+/* This hack is to avoid a problem with some strict ANSI C preprocessors.
 1.30309 -+   The problem is, "32_" is not a valid preprocessing token, and we don't
 1.30310 -+   want extra underscores (e.g., "nlm_32_").  The XCONCAT2 macro will
 1.30311 -+   cause the inner CONCAT2 macros to be evaluated first, producing
 1.30312 -+   still-valid pp-tokens.  Then the final concatenation can be done.  */
 1.30313 -+#undef CONCAT4
 1.30314 -+#define CONCAT4(a,b,c,d) XCONCAT2(CONCAT2(a,b),CONCAT2(c,d))
 1.30315 -+#endif
 1.30316 -+#endif
 1.30317 -+
 1.30318 -+/* This is a utility macro to handle the situation where the code
 1.30319 -+   wants to place a constant string into the code, followed by a
 1.30320 -+   comma and then the length of the string.  Doing this by hand
 1.30321 -+   is error prone, so using this macro is safer.  The macro will
 1.30322 -+   also safely handle the case where a NULL is passed as the arg.  */
 1.30323 -+#define STRING_COMMA_LEN(STR) (STR), ((STR) ? sizeof (STR) - 1 : 0)
 1.30324 -+/* Unfortunately it is not possible to use the STRING_COMMA_LEN macro
 1.30325 -+   to create the arguments to another macro, since the preprocessor
 1.30326 -+   will mis-count the number of arguments to the outer macro (by not
 1.30327 -+   evaluating STRING_COMMA_LEN and so missing the comma).  This is a
 1.30328 -+   problem for example when trying to use STRING_COMMA_LEN to build
 1.30329 -+   the arguments to the strncmp() macro.  Hence this alternative
 1.30330 -+   definition of strncmp is provided here.
 1.30331 -+   
 1.30332 -+   Note - these macros do NOT work if STR2 is not a constant string.  */
 1.30333 -+#define CONST_STRNEQ(STR1,STR2) (strncmp ((STR1), (STR2), sizeof (STR2) - 1) == 0)
 1.30334 -+  /* strcpy() can have a similar problem, but since we know we are
 1.30335 -+     copying a constant string, we can use memcpy which will be faster
 1.30336 -+     since there is no need to check for a NUL byte inside STR.  We
 1.30337 -+     can also save time if we do not need to copy the terminating NUL.  */
 1.30338 -+#define LITMEMCPY(DEST,STR2) memcpy ((DEST), (STR2), sizeof (STR2) - 1)
 1.30339 -+#define LITSTRCPY(DEST,STR2) memcpy ((DEST), (STR2), sizeof (STR2))
 1.30340 -+
 1.30341 -+
 1.30342 -+/* The word size used by BFD on the host.  This may be 64 with a 32
 1.30343 -+   bit target if the host is 64 bit, or if other 64 bit targets have
 1.30344 -+   been selected with --enable-targets, or if --enable-64-bit-bfd.  */
 1.30345 -+#define BFD_ARCH_SIZE 32
 1.30346 -+
 1.30347 -+/* The word size of the default bfd target.  */
 1.30348 -+#define BFD_DEFAULT_TARGET_SIZE 32
 1.30349 -+
 1.30350 -+#define BFD_HOST_64BIT_LONG 0
 1.30351 -+#define BFD_HOST_64BIT_LONG_LONG 0
 1.30352 -+#define BFD_HOST_LONG_LONG 1
 1.30353 -+#if 1
 1.30354 -+#define BFD_HOST_64_BIT long long
 1.30355 -+#define BFD_HOST_U_64_BIT unsigned long long
 1.30356 -+typedef BFD_HOST_64_BIT bfd_int64_t;
 1.30357 -+typedef BFD_HOST_U_64_BIT bfd_uint64_t;
 1.30358 -+#endif
 1.30359 -+
 1.30360 -+#if BFD_ARCH_SIZE >= 64
 1.30361 -+#define BFD64
 1.30362 -+#endif
 1.30363 -+
 1.30364 -+#ifndef INLINE
 1.30365 -+#if __GNUC__ >= 2
 1.30366 -+#define INLINE __inline__
 1.30367 -+#else
 1.30368 -+#define INLINE
 1.30369 -+#endif
 1.30370 -+#endif
 1.30371 -+
 1.30372 -+/* Declaring a type wide enough to hold a host long and a host pointer.  */
 1.30373 -+#define BFD_HOSTPTR_T	unsigned long
 1.30374 -+typedef BFD_HOSTPTR_T bfd_hostptr_t;
 1.30375 -+
 1.30376 -+/* Forward declaration.  */
 1.30377 -+typedef struct bfd bfd;
 1.30378 -+
 1.30379 -+/* Boolean type used in bfd.  Too many systems define their own
 1.30380 -+   versions of "boolean" for us to safely typedef a "boolean" of
 1.30381 -+   our own.  Using an enum for "bfd_boolean" has its own set of
 1.30382 -+   problems, with strange looking casts required to avoid warnings
 1.30383 -+   on some older compilers.  Thus we just use an int.
 1.30384 -+
 1.30385 -+   General rule: Functions which are bfd_boolean return TRUE on
 1.30386 -+   success and FALSE on failure (unless they're a predicate).  */
 1.30387 -+
 1.30388 -+typedef int bfd_boolean;
 1.30389 -+#undef FALSE
 1.30390 -+#undef TRUE
 1.30391 -+#define FALSE 0
 1.30392 -+#define TRUE 1
 1.30393 -+
 1.30394 -+#ifdef BFD64
 1.30395 -+
 1.30396 -+#ifndef BFD_HOST_64_BIT
 1.30397 -+ #error No 64 bit integer type available
 1.30398 -+#endif /* ! defined (BFD_HOST_64_BIT) */
 1.30399 -+
 1.30400 -+typedef BFD_HOST_U_64_BIT bfd_vma;
 1.30401 -+typedef BFD_HOST_64_BIT bfd_signed_vma;
 1.30402 -+typedef BFD_HOST_U_64_BIT bfd_size_type;
 1.30403 -+typedef BFD_HOST_U_64_BIT symvalue;
 1.30404 -+
 1.30405 -+#ifndef fprintf_vma
 1.30406 -+#if BFD_HOST_64BIT_LONG
 1.30407 -+#define sprintf_vma(s,x) sprintf (s, "%016lx", x)
 1.30408 -+#define fprintf_vma(f,x) fprintf (f, "%016lx", x)
 1.30409 -+#elif BFD_HOST_64BIT_LONG_LONG
 1.30410 -+#define sprintf_vma(s,x) sprintf (s, "%016llx", x)
 1.30411 -+#define fprintf_vma(f,x) fprintf (f, "%016llx", x)
 1.30412 -+#else
 1.30413 -+#define _bfd_int64_low(x) ((unsigned long) (((x) & 0xffffffff)))
 1.30414 -+#define _bfd_int64_high(x) ((unsigned long) (((x) >> 32) & 0xffffffff))
 1.30415 -+#define fprintf_vma(s,x) \
 1.30416 -+  fprintf ((s), "%08lx%08lx", _bfd_int64_high (x), _bfd_int64_low (x))
 1.30417 -+#define sprintf_vma(s,x) \
 1.30418 -+  sprintf ((s), "%08lx%08lx", _bfd_int64_high (x), _bfd_int64_low (x))
 1.30419 -+#endif
 1.30420 -+#endif
 1.30421 -+
 1.30422 -+#else /* not BFD64  */
 1.30423 -+
 1.30424 -+/* Represent a target address.  Also used as a generic unsigned type
 1.30425 -+   which is guaranteed to be big enough to hold any arithmetic types
 1.30426 -+   we need to deal with.  */
 1.30427 -+typedef unsigned long bfd_vma;
 1.30428 -+
 1.30429 -+/* A generic signed type which is guaranteed to be big enough to hold any
 1.30430 -+   arithmetic types we need to deal with.  Can be assumed to be compatible
 1.30431 -+   with bfd_vma in the same way that signed and unsigned ints are compatible
 1.30432 -+   (as parameters, in assignment, etc).  */
 1.30433 -+typedef long bfd_signed_vma;
 1.30434 -+
 1.30435 -+typedef unsigned long symvalue;
 1.30436 -+typedef unsigned long bfd_size_type;
 1.30437 -+
 1.30438 -+/* Print a bfd_vma x on stream s.  */
 1.30439 -+#define fprintf_vma(s,x) fprintf (s, "%08lx", x)
 1.30440 -+#define sprintf_vma(s,x) sprintf (s, "%08lx", x)
 1.30441 -+
 1.30442 -+#endif /* not BFD64  */
 1.30443 -+
 1.30444 -+#define HALF_BFD_SIZE_TYPE \
 1.30445 -+  (((bfd_size_type) 1) << (8 * sizeof (bfd_size_type) / 2))
 1.30446 -+
 1.30447 -+#ifndef BFD_HOST_64_BIT
 1.30448 -+/* Fall back on a 32 bit type.  The idea is to make these types always
 1.30449 -+   available for function return types, but in the case that
 1.30450 -+   BFD_HOST_64_BIT is undefined such a function should abort or
 1.30451 -+   otherwise signal an error.  */
 1.30452 -+typedef bfd_signed_vma bfd_int64_t;
 1.30453 -+typedef bfd_vma bfd_uint64_t;
 1.30454 -+#endif
 1.30455 -+
 1.30456 -+/* An offset into a file.  BFD always uses the largest possible offset
 1.30457 -+   based on the build time availability of fseek, fseeko, or fseeko64.  */
 1.30458 -+typedef BFD_HOST_64_BIT file_ptr;
 1.30459 -+typedef unsigned BFD_HOST_64_BIT ufile_ptr;
 1.30460 -+
 1.30461 -+extern void bfd_sprintf_vma (bfd *, char *, bfd_vma);
 1.30462 -+extern void bfd_fprintf_vma (bfd *, void *, bfd_vma);
 1.30463 -+
 1.30464 -+#define printf_vma(x) fprintf_vma(stdout,x)
 1.30465 -+#define bfd_printf_vma(abfd,x) bfd_fprintf_vma (abfd,stdout,x)
 1.30466 -+
 1.30467 -+typedef unsigned int flagword;	/* 32 bits of flags */
 1.30468 -+typedef unsigned char bfd_byte;
 1.30469 -+
 1.30470 -+/* File formats.  */
 1.30471 -+
 1.30472 -+typedef enum bfd_format
 1.30473 -+{
 1.30474 -+  bfd_unknown = 0,	/* File format is unknown.  */
 1.30475 -+  bfd_object,		/* Linker/assembler/compiler output.  */
 1.30476 -+  bfd_archive,		/* Object archive file.  */
 1.30477 -+  bfd_core,		/* Core dump.  */
 1.30478 -+  bfd_type_end		/* Marks the end; don't use it!  */
 1.30479 -+}
 1.30480 -+bfd_format;
 1.30481 -+
 1.30482 -+/* Values that may appear in the flags field of a BFD.  These also
 1.30483 -+   appear in the object_flags field of the bfd_target structure, where
 1.30484 -+   they indicate the set of flags used by that backend (not all flags
 1.30485 -+   are meaningful for all object file formats) (FIXME: at the moment,
 1.30486 -+   the object_flags values have mostly just been copied from backend
 1.30487 -+   to another, and are not necessarily correct).  */
 1.30488 -+
 1.30489 -+/* No flags.  */
 1.30490 -+#define BFD_NO_FLAGS   	0x00
 1.30491 -+
 1.30492 -+/* BFD contains relocation entries.  */
 1.30493 -+#define HAS_RELOC   	0x01
 1.30494 -+
 1.30495 -+/* BFD is directly executable.  */
 1.30496 -+#define EXEC_P      	0x02
 1.30497 -+
 1.30498 -+/* BFD has line number information (basically used for F_LNNO in a
 1.30499 -+   COFF header).  */
 1.30500 -+#define HAS_LINENO  	0x04
 1.30501 -+
 1.30502 -+/* BFD has debugging information.  */
 1.30503 -+#define HAS_DEBUG   	0x08
 1.30504 -+
 1.30505 -+/* BFD has symbols.  */
 1.30506 -+#define HAS_SYMS    	0x10
 1.30507 -+
 1.30508 -+/* BFD has local symbols (basically used for F_LSYMS in a COFF
 1.30509 -+   header).  */
 1.30510 -+#define HAS_LOCALS  	0x20
 1.30511 -+
 1.30512 -+/* BFD is a dynamic object.  */
 1.30513 -+#define DYNAMIC     	0x40
 1.30514 -+
 1.30515 -+/* Text section is write protected (if D_PAGED is not set, this is
 1.30516 -+   like an a.out NMAGIC file) (the linker sets this by default, but
 1.30517 -+   clears it for -r or -N).  */
 1.30518 -+#define WP_TEXT     	0x80
 1.30519 -+
 1.30520 -+/* BFD is dynamically paged (this is like an a.out ZMAGIC file) (the
 1.30521 -+   linker sets this by default, but clears it for -r or -n or -N).  */
 1.30522 -+#define D_PAGED     	0x100
 1.30523 -+
 1.30524 -+/* BFD is relaxable (this means that bfd_relax_section may be able to
 1.30525 -+   do something) (sometimes bfd_relax_section can do something even if
 1.30526 -+   this is not set).  */
 1.30527 -+#define BFD_IS_RELAXABLE 0x200
 1.30528 -+
 1.30529 -+/* This may be set before writing out a BFD to request using a
 1.30530 -+   traditional format.  For example, this is used to request that when
 1.30531 -+   writing out an a.out object the symbols not be hashed to eliminate
 1.30532 -+   duplicates.  */
 1.30533 -+#define BFD_TRADITIONAL_FORMAT 0x400
 1.30534 -+
 1.30535 -+/* This flag indicates that the BFD contents are actually cached in
 1.30536 -+   memory.  If this is set, iostream points to a bfd_in_memory struct.  */
 1.30537 -+#define BFD_IN_MEMORY 0x800
 1.30538 -+
 1.30539 -+/* The sections in this BFD specify a memory page.  */
 1.30540 -+#define HAS_LOAD_PAGE 0x1000
 1.30541 -+
 1.30542 -+/* This BFD has been created by the linker and doesn't correspond
 1.30543 -+   to any input file.  */
 1.30544 -+#define BFD_LINKER_CREATED 0x2000
 1.30545 -+
 1.30546 -+/* Symbols and relocation.  */
 1.30547 -+
 1.30548 -+/* A count of carsyms (canonical archive symbols).  */
 1.30549 -+typedef unsigned long symindex;
 1.30550 -+
 1.30551 -+/* How to perform a relocation.  */
 1.30552 -+typedef const struct reloc_howto_struct reloc_howto_type;
 1.30553 -+
 1.30554 -+#define BFD_NO_MORE_SYMBOLS ((symindex) ~0)
 1.30555 -+
 1.30556 -+/* General purpose part of a symbol X;
 1.30557 -+   target specific parts are in libcoff.h, libaout.h, etc.  */
 1.30558 -+
 1.30559 -+#define bfd_get_section(x) ((x)->section)
 1.30560 -+#define bfd_get_output_section(x) ((x)->section->output_section)
 1.30561 -+#define bfd_set_section(x,y) ((x)->section) = (y)
 1.30562 -+#define bfd_asymbol_base(x) ((x)->section->vma)
 1.30563 -+#define bfd_asymbol_value(x) (bfd_asymbol_base(x) + (x)->value)
 1.30564 -+#define bfd_asymbol_name(x) ((x)->name)
 1.30565 -+/*Perhaps future: #define bfd_asymbol_bfd(x) ((x)->section->owner)*/
 1.30566 -+#define bfd_asymbol_bfd(x) ((x)->the_bfd)
 1.30567 -+#define bfd_asymbol_flavour(x) (bfd_asymbol_bfd(x)->xvec->flavour)
 1.30568 -+
 1.30569 -+/* A canonical archive symbol.  */
 1.30570 -+/* This is a type pun with struct ranlib on purpose!  */
 1.30571 -+typedef struct carsym
 1.30572 -+{
 1.30573 -+  char *name;
 1.30574 -+  file_ptr file_offset;	/* Look here to find the file.  */
 1.30575 -+}
 1.30576 -+carsym;			/* To make these you call a carsymogen.  */
 1.30577 -+
 1.30578 -+/* Used in generating armaps (archive tables of contents).
 1.30579 -+   Perhaps just a forward definition would do?  */
 1.30580 -+struct orl 			/* Output ranlib.  */
 1.30581 -+{
 1.30582 -+  char **name;		/* Symbol name.  */
 1.30583 -+  union
 1.30584 -+  {
 1.30585 -+    file_ptr pos;
 1.30586 -+    bfd *abfd;
 1.30587 -+  } u;			/* bfd* or file position.  */
 1.30588 -+  int namidx;		/* Index into string table.  */
 1.30589 -+};
 1.30590 -+
 1.30591 -+/* Linenumber stuff.  */
 1.30592 -+typedef struct lineno_cache_entry
 1.30593 -+{
 1.30594 -+  unsigned int line_number;	/* Linenumber from start of function.  */
 1.30595 -+  union
 1.30596 -+  {
 1.30597 -+    struct bfd_symbol *sym;	/* Function name.  */
 1.30598 -+    bfd_vma offset;	    		/* Offset into section.  */
 1.30599 -+  } u;
 1.30600 -+}
 1.30601 -+alent;
 1.30602 -+
 1.30603 -+/* Object and core file sections.  */
 1.30604 -+
 1.30605 -+#define	align_power(addr, align)	\
 1.30606 -+  (((addr) + ((bfd_vma) 1 << (align)) - 1) & ((bfd_vma) -1 << (align)))
 1.30607 -+
 1.30608 -+typedef struct bfd_section *sec_ptr;
 1.30609 -+
 1.30610 -+#define bfd_get_section_name(bfd, ptr) ((ptr)->name + 0)
 1.30611 -+#define bfd_get_section_vma(bfd, ptr) ((ptr)->vma + 0)
 1.30612 -+#define bfd_get_section_lma(bfd, ptr) ((ptr)->lma + 0)
 1.30613 -+#define bfd_get_section_alignment(bfd, ptr) ((ptr)->alignment_power + 0)
 1.30614 -+#define bfd_section_name(bfd, ptr) ((ptr)->name)
 1.30615 -+#define bfd_section_size(bfd, ptr) ((ptr)->size)
 1.30616 -+#define bfd_get_section_size(ptr) ((ptr)->size)
 1.30617 -+#define bfd_section_vma(bfd, ptr) ((ptr)->vma)
 1.30618 -+#define bfd_section_lma(bfd, ptr) ((ptr)->lma)
 1.30619 -+#define bfd_section_alignment(bfd, ptr) ((ptr)->alignment_power)
 1.30620 -+#define bfd_get_section_flags(bfd, ptr) ((ptr)->flags + 0)
 1.30621 -+#define bfd_get_section_userdata(bfd, ptr) ((ptr)->userdata)
 1.30622 -+
 1.30623 -+#define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0)
 1.30624 -+
 1.30625 -+#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE)
 1.30626 -+#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),TRUE)
 1.30627 -+#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),TRUE)
 1.30628 -+/* Find the address one past the end of SEC.  */
 1.30629 -+#define bfd_get_section_limit(bfd, sec) \
 1.30630 -+  (((sec)->rawsize ? (sec)->rawsize : (sec)->size) \
 1.30631 -+   / bfd_octets_per_byte (bfd))
 1.30632 -+
 1.30633 -+/* Return TRUE if section has been discarded.  */
 1.30634 -+#define elf_discarded_section(sec)				\
 1.30635 -+  (!bfd_is_abs_section (sec)					\
 1.30636 -+   && bfd_is_abs_section ((sec)->output_section)		\
 1.30637 -+   && (sec)->sec_info_type != ELF_INFO_TYPE_MERGE		\
 1.30638 -+   && (sec)->sec_info_type != ELF_INFO_TYPE_JUST_SYMS)
 1.30639 -+
 1.30640 -+/* Forward define.  */
 1.30641 -+struct stat;
 1.30642 -+
 1.30643 -+typedef enum bfd_print_symbol
 1.30644 -+{
 1.30645 -+  bfd_print_symbol_name,
 1.30646 -+  bfd_print_symbol_more,
 1.30647 -+  bfd_print_symbol_all
 1.30648 -+} bfd_print_symbol_type;
 1.30649 -+
 1.30650 -+/* Information about a symbol that nm needs.  */
 1.30651 -+
 1.30652 -+typedef struct _symbol_info
 1.30653 -+{
 1.30654 -+  symvalue value;
 1.30655 -+  char type;
 1.30656 -+  const char *name;            /* Symbol name.  */
 1.30657 -+  unsigned char stab_type;     /* Stab type.  */
 1.30658 -+  char stab_other;             /* Stab other.  */
 1.30659 -+  short stab_desc;             /* Stab desc.  */
 1.30660 -+  const char *stab_name;       /* String for stab type.  */
 1.30661 -+} symbol_info;
 1.30662 -+
 1.30663 -+/* Get the name of a stabs type code.  */
 1.30664 -+
 1.30665 -+extern const char *bfd_get_stab_name (int);
 1.30666 -+
 1.30667 -+/* Hash table routines.  There is no way to free up a hash table.  */
 1.30668 -+
 1.30669 -+/* An element in the hash table.  Most uses will actually use a larger
 1.30670 -+   structure, and an instance of this will be the first field.  */
 1.30671 -+
 1.30672 -+struct bfd_hash_entry
 1.30673 -+{
 1.30674 -+  /* Next entry for this hash code.  */
 1.30675 -+  struct bfd_hash_entry *next;
 1.30676 -+  /* String being hashed.  */
 1.30677 -+  const char *string;
 1.30678 -+  /* Hash code.  This is the full hash code, not the index into the
 1.30679 -+     table.  */
 1.30680 -+  unsigned long hash;
 1.30681 -+};
 1.30682 -+
 1.30683 -+/* A hash table.  */
 1.30684 -+
 1.30685 -+struct bfd_hash_table
 1.30686 -+{
 1.30687 -+  /* The hash array.  */
 1.30688 -+  struct bfd_hash_entry **table;
 1.30689 -+  /* A function used to create new elements in the hash table.  The
 1.30690 -+     first entry is itself a pointer to an element.  When this
 1.30691 -+     function is first invoked, this pointer will be NULL.  However,
 1.30692 -+     having the pointer permits a hierarchy of method functions to be
 1.30693 -+     built each of which calls the function in the superclass.  Thus
 1.30694 -+     each function should be written to allocate a new block of memory
 1.30695 -+     only if the argument is NULL.  */
 1.30696 -+  struct bfd_hash_entry *(*newfunc)
 1.30697 -+    (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
 1.30698 -+   /* An objalloc for this hash table.  This is a struct objalloc *,
 1.30699 -+     but we use void * to avoid requiring the inclusion of objalloc.h.  */
 1.30700 -+  void *memory;
 1.30701 -+  /* The number of slots in the hash table.  */
 1.30702 -+  unsigned int size;
 1.30703 -+  /* The number of entries in the hash table.  */
 1.30704 -+  unsigned int count;
 1.30705 -+  /* The size of elements.  */
 1.30706 -+  unsigned int entsize;
 1.30707 -+  /* If non-zero, don't grow the hash table.  */
 1.30708 -+  unsigned int frozen:1;
 1.30709 -+};
 1.30710 -+
 1.30711 -+/* Initialize a hash table.  */
 1.30712 -+extern bfd_boolean bfd_hash_table_init
 1.30713 -+  (struct bfd_hash_table *,
 1.30714 -+   struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
 1.30715 -+			       struct bfd_hash_table *,
 1.30716 -+			       const char *),
 1.30717 -+   unsigned int);
 1.30718 -+
 1.30719 -+/* Initialize a hash table specifying a size.  */
 1.30720 -+extern bfd_boolean bfd_hash_table_init_n
 1.30721 -+  (struct bfd_hash_table *,
 1.30722 -+   struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
 1.30723 -+			       struct bfd_hash_table *,
 1.30724 -+			       const char *),
 1.30725 -+   unsigned int, unsigned int);
 1.30726 -+
 1.30727 -+/* Free up a hash table.  */
 1.30728 -+extern void bfd_hash_table_free
 1.30729 -+  (struct bfd_hash_table *);
 1.30730 -+
 1.30731 -+/* Look up a string in a hash table.  If CREATE is TRUE, a new entry
 1.30732 -+   will be created for this string if one does not already exist.  The
 1.30733 -+   COPY argument must be TRUE if this routine should copy the string
 1.30734 -+   into newly allocated memory when adding an entry.  */
 1.30735 -+extern struct bfd_hash_entry *bfd_hash_lookup
 1.30736 -+  (struct bfd_hash_table *, const char *, bfd_boolean create,
 1.30737 -+   bfd_boolean copy);
 1.30738 -+
 1.30739 -+/* Replace an entry in a hash table.  */
 1.30740 -+extern void bfd_hash_replace
 1.30741 -+  (struct bfd_hash_table *, struct bfd_hash_entry *old,
 1.30742 -+   struct bfd_hash_entry *nw);
 1.30743 -+
 1.30744 -+/* Base method for creating a hash table entry.  */
 1.30745 -+extern struct bfd_hash_entry *bfd_hash_newfunc
 1.30746 -+  (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
 1.30747 -+
 1.30748 -+/* Grab some space for a hash table entry.  */
 1.30749 -+extern void *bfd_hash_allocate
 1.30750 -+  (struct bfd_hash_table *, unsigned int);
 1.30751 -+
 1.30752 -+/* Traverse a hash table in a random order, calling a function on each
 1.30753 -+   element.  If the function returns FALSE, the traversal stops.  The
 1.30754 -+   INFO argument is passed to the function.  */
 1.30755 -+extern void bfd_hash_traverse
 1.30756 -+  (struct bfd_hash_table *,
 1.30757 -+   bfd_boolean (*) (struct bfd_hash_entry *, void *),
 1.30758 -+   void *info);
 1.30759 -+
 1.30760 -+/* Allows the default size of a hash table to be configured. New hash
 1.30761 -+   tables allocated using bfd_hash_table_init will be created with
 1.30762 -+   this size.  */
 1.30763 -+extern void bfd_hash_set_default_size (bfd_size_type);
 1.30764 -+
 1.30765 -+/* This structure is used to keep track of stabs in sections
 1.30766 -+   information while linking.  */
 1.30767 -+
 1.30768 -+struct stab_info
 1.30769 -+{
 1.30770 -+  /* A hash table used to hold stabs strings.  */
 1.30771 -+  struct bfd_strtab_hash *strings;
 1.30772 -+  /* The header file hash table.  */
 1.30773 -+  struct bfd_hash_table includes;
 1.30774 -+  /* The first .stabstr section.  */
 1.30775 -+  struct bfd_section *stabstr;
 1.30776 -+};
 1.30777 -+
 1.30778 -+#define COFF_SWAP_TABLE (void *) &bfd_coff_std_swap_table
 1.30779 -+
 1.30780 -+/* User program access to BFD facilities.  */
 1.30781 -+
 1.30782 -+/* Direct I/O routines, for programs which know more about the object
 1.30783 -+   file than BFD does.  Use higher level routines if possible.  */
 1.30784 -+
 1.30785 -+extern bfd_size_type bfd_bread (void *, bfd_size_type, bfd *);
 1.30786 -+extern bfd_size_type bfd_bwrite (const void *, bfd_size_type, bfd *);
 1.30787 -+extern int bfd_seek (bfd *, file_ptr, int);
 1.30788 -+extern file_ptr bfd_tell (bfd *);
 1.30789 -+extern int bfd_flush (bfd *);
 1.30790 -+extern int bfd_stat (bfd *, struct stat *);
 1.30791 -+
 1.30792 -+/* Deprecated old routines.  */
 1.30793 -+#if __GNUC__
 1.30794 -+#define bfd_read(BUF, ELTSIZE, NITEMS, ABFD)				\
 1.30795 -+  (warn_deprecated ("bfd_read", __FILE__, __LINE__, __FUNCTION__),	\
 1.30796 -+   bfd_bread ((BUF), (ELTSIZE) * (NITEMS), (ABFD)))
 1.30797 -+#define bfd_write(BUF, ELTSIZE, NITEMS, ABFD)				\
 1.30798 -+  (warn_deprecated ("bfd_write", __FILE__, __LINE__, __FUNCTION__),	\
 1.30799 -+   bfd_bwrite ((BUF), (ELTSIZE) * (NITEMS), (ABFD)))
 1.30800 -+#else
 1.30801 -+#define bfd_read(BUF, ELTSIZE, NITEMS, ABFD)				\
 1.30802 -+  (warn_deprecated ("bfd_read", (const char *) 0, 0, (const char *) 0), \
 1.30803 -+   bfd_bread ((BUF), (ELTSIZE) * (NITEMS), (ABFD)))
 1.30804 -+#define bfd_write(BUF, ELTSIZE, NITEMS, ABFD)				\
 1.30805 -+  (warn_deprecated ("bfd_write", (const char *) 0, 0, (const char *) 0),\
 1.30806 -+   bfd_bwrite ((BUF), (ELTSIZE) * (NITEMS), (ABFD)))
 1.30807 -+#endif
 1.30808 -+extern void warn_deprecated (const char *, const char *, int, const char *);
 1.30809 -+
 1.30810 -+/* Cast from const char * to char * so that caller can assign to
 1.30811 -+   a char * without a warning.  */
 1.30812 -+#define bfd_get_filename(abfd) ((char *) (abfd)->filename)
 1.30813 -+#define bfd_get_cacheable(abfd) ((abfd)->cacheable)
 1.30814 -+#define bfd_get_format(abfd) ((abfd)->format)
 1.30815 -+#define bfd_get_target(abfd) ((abfd)->xvec->name)
 1.30816 -+#define bfd_get_flavour(abfd) ((abfd)->xvec->flavour)
 1.30817 -+#define bfd_family_coff(abfd) \
 1.30818 -+  (bfd_get_flavour (abfd) == bfd_target_coff_flavour || \
 1.30819 -+   bfd_get_flavour (abfd) == bfd_target_xcoff_flavour)
 1.30820 -+#define bfd_big_endian(abfd) ((abfd)->xvec->byteorder == BFD_ENDIAN_BIG)
 1.30821 -+#define bfd_little_endian(abfd) ((abfd)->xvec->byteorder == BFD_ENDIAN_LITTLE)
 1.30822 -+#define bfd_header_big_endian(abfd) \
 1.30823 -+  ((abfd)->xvec->header_byteorder == BFD_ENDIAN_BIG)
 1.30824 -+#define bfd_header_little_endian(abfd) \
 1.30825 -+  ((abfd)->xvec->header_byteorder == BFD_ENDIAN_LITTLE)
 1.30826 -+#define bfd_get_file_flags(abfd) ((abfd)->flags)
 1.30827 -+#define bfd_applicable_file_flags(abfd) ((abfd)->xvec->object_flags)
 1.30828 -+#define bfd_applicable_section_flags(abfd) ((abfd)->xvec->section_flags)
 1.30829 -+#define bfd_my_archive(abfd) ((abfd)->my_archive)
 1.30830 -+#define bfd_has_map(abfd) ((abfd)->has_armap)
 1.30831 -+
 1.30832 -+#define bfd_valid_reloc_types(abfd) ((abfd)->xvec->valid_reloc_types)
 1.30833 -+#define bfd_usrdata(abfd) ((abfd)->usrdata)
 1.30834 -+
 1.30835 -+#define bfd_get_start_address(abfd) ((abfd)->start_address)
 1.30836 -+#define bfd_get_symcount(abfd) ((abfd)->symcount)
 1.30837 -+#define bfd_get_outsymbols(abfd) ((abfd)->outsymbols)
 1.30838 -+#define bfd_count_sections(abfd) ((abfd)->section_count)
 1.30839 -+
 1.30840 -+#define bfd_get_dynamic_symcount(abfd) ((abfd)->dynsymcount)
 1.30841 -+
 1.30842 -+#define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char)
 1.30843 -+
 1.30844 -+#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE)
 1.30845 -+
 1.30846 -+extern bfd_boolean bfd_cache_close
 1.30847 -+  (bfd *abfd);
 1.30848 -+/* NB: This declaration should match the autogenerated one in libbfd.h.  */
 1.30849 -+
 1.30850 -+extern bfd_boolean bfd_cache_close_all (void);
 1.30851 -+
 1.30852 -+extern bfd_boolean bfd_record_phdr
 1.30853 -+  (bfd *, unsigned long, bfd_boolean, flagword, bfd_boolean, bfd_vma,
 1.30854 -+   bfd_boolean, bfd_boolean, unsigned int, struct bfd_section **);
 1.30855 -+
 1.30856 -+/* Byte swapping routines.  */
 1.30857 -+
 1.30858 -+bfd_uint64_t bfd_getb64 (const void *);
 1.30859 -+bfd_uint64_t bfd_getl64 (const void *);
 1.30860 -+bfd_int64_t bfd_getb_signed_64 (const void *);
 1.30861 -+bfd_int64_t bfd_getl_signed_64 (const void *);
 1.30862 -+bfd_vma bfd_getb32 (const void *);
 1.30863 -+bfd_vma bfd_getl32 (const void *);
 1.30864 -+bfd_signed_vma bfd_getb_signed_32 (const void *);
 1.30865 -+bfd_signed_vma bfd_getl_signed_32 (const void *);
 1.30866 -+bfd_vma bfd_getb16 (const void *);
 1.30867 -+bfd_vma bfd_getl16 (const void *);
 1.30868 -+bfd_signed_vma bfd_getb_signed_16 (const void *);
 1.30869 -+bfd_signed_vma bfd_getl_signed_16 (const void *);
 1.30870 -+void bfd_putb64 (bfd_uint64_t, void *);
 1.30871 -+void bfd_putl64 (bfd_uint64_t, void *);
 1.30872 -+void bfd_putb32 (bfd_vma, void *);
 1.30873 -+void bfd_putl32 (bfd_vma, void *);
 1.30874 -+void bfd_putb16 (bfd_vma, void *);
 1.30875 -+void bfd_putl16 (bfd_vma, void *);
 1.30876 -+
 1.30877 -+/* Byte swapping routines which take size and endiannes as arguments.  */
 1.30878 -+
 1.30879 -+bfd_uint64_t bfd_get_bits (const void *, int, bfd_boolean);
 1.30880 -+void bfd_put_bits (bfd_uint64_t, void *, int, bfd_boolean);
 1.30881 -+
 1.30882 -+extern bfd_boolean bfd_section_already_linked_table_init (void);
 1.30883 -+extern void bfd_section_already_linked_table_free (void);
 1.30884 -+
 1.30885 -+/* Externally visible ECOFF routines.  */
 1.30886 -+
 1.30887 -+#if defined(__STDC__) || defined(ALMOST_STDC)
 1.30888 -+struct ecoff_debug_info;
 1.30889 -+struct ecoff_debug_swap;
 1.30890 -+struct ecoff_extr;
 1.30891 -+struct bfd_symbol;
 1.30892 -+struct bfd_link_info;
 1.30893 -+struct bfd_link_hash_entry;
 1.30894 -+struct bfd_elf_version_tree;
 1.30895 -+#endif
 1.30896 -+extern bfd_vma bfd_ecoff_get_gp_value
 1.30897 -+  (bfd * abfd);
 1.30898 -+extern bfd_boolean bfd_ecoff_set_gp_value
 1.30899 -+  (bfd *abfd, bfd_vma gp_value);
 1.30900 -+extern bfd_boolean bfd_ecoff_set_regmasks
 1.30901 -+  (bfd *abfd, unsigned long gprmask, unsigned long fprmask,
 1.30902 -+   unsigned long *cprmask);
 1.30903 -+extern void *bfd_ecoff_debug_init
 1.30904 -+  (bfd *output_bfd, struct ecoff_debug_info *output_debug,
 1.30905 -+   const struct ecoff_debug_swap *output_swap, struct bfd_link_info *);
 1.30906 -+extern void bfd_ecoff_debug_free
 1.30907 -+  (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,
 1.30908 -+   const struct ecoff_debug_swap *output_swap, struct bfd_link_info *);
 1.30909 -+extern bfd_boolean bfd_ecoff_debug_accumulate
 1.30910 -+  (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,
 1.30911 -+   const struct ecoff_debug_swap *output_swap, bfd *input_bfd,
 1.30912 -+   struct ecoff_debug_info *input_debug,
 1.30913 -+   const struct ecoff_debug_swap *input_swap, struct bfd_link_info *);
 1.30914 -+extern bfd_boolean bfd_ecoff_debug_accumulate_other
 1.30915 -+  (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,
 1.30916 -+   const struct ecoff_debug_swap *output_swap, bfd *input_bfd,
 1.30917 -+   struct bfd_link_info *);
 1.30918 -+extern bfd_boolean bfd_ecoff_debug_externals
 1.30919 -+  (bfd *abfd, struct ecoff_debug_info *debug,
 1.30920 -+   const struct ecoff_debug_swap *swap, bfd_boolean relocatable,
 1.30921 -+   bfd_boolean (*get_extr) (struct bfd_symbol *, struct ecoff_extr *),
 1.30922 -+   void (*set_index) (struct bfd_symbol *, bfd_size_type));
 1.30923 -+extern bfd_boolean bfd_ecoff_debug_one_external
 1.30924 -+  (bfd *abfd, struct ecoff_debug_info *debug,
 1.30925 -+   const struct ecoff_debug_swap *swap, const char *name,
 1.30926 -+   struct ecoff_extr *esym);
 1.30927 -+extern bfd_size_type bfd_ecoff_debug_size
 1.30928 -+  (bfd *abfd, struct ecoff_debug_info *debug,
 1.30929 -+   const struct ecoff_debug_swap *swap);
 1.30930 -+extern bfd_boolean bfd_ecoff_write_debug
 1.30931 -+  (bfd *abfd, struct ecoff_debug_info *debug,
 1.30932 -+   const struct ecoff_debug_swap *swap, file_ptr where);
 1.30933 -+extern bfd_boolean bfd_ecoff_write_accumulated_debug
 1.30934 -+  (void *handle, bfd *abfd, struct ecoff_debug_info *debug,
 1.30935 -+   const struct ecoff_debug_swap *swap,
 1.30936 -+   struct bfd_link_info *info, file_ptr where);
 1.30937 -+
 1.30938 -+/* Externally visible ELF routines.  */
 1.30939 -+
 1.30940 -+struct bfd_link_needed_list
 1.30941 -+{
 1.30942 -+  struct bfd_link_needed_list *next;
 1.30943 -+  bfd *by;
 1.30944 -+  const char *name;
 1.30945 -+};
 1.30946 -+
 1.30947 -+enum dynamic_lib_link_class {
 1.30948 -+  DYN_NORMAL = 0,
 1.30949 -+  DYN_AS_NEEDED = 1,
 1.30950 -+  DYN_DT_NEEDED = 2,
 1.30951 -+  DYN_NO_ADD_NEEDED = 4,
 1.30952 -+  DYN_NO_NEEDED = 8
 1.30953 -+};
 1.30954 -+
 1.30955 -+enum notice_asneeded_action {
 1.30956 -+  notice_as_needed,
 1.30957 -+  notice_not_needed,
 1.30958 -+  notice_needed
 1.30959 -+};
 1.30960 -+
 1.30961 -+extern bfd_boolean bfd_elf_record_link_assignment
 1.30962 -+  (bfd *, struct bfd_link_info *, const char *, bfd_boolean,
 1.30963 -+   bfd_boolean);
 1.30964 -+extern struct bfd_link_needed_list *bfd_elf_get_needed_list
 1.30965 -+  (bfd *, struct bfd_link_info *);
 1.30966 -+extern bfd_boolean bfd_elf_get_bfd_needed_list
 1.30967 -+  (bfd *, struct bfd_link_needed_list **);
 1.30968 -+extern bfd_boolean bfd_elf_size_dynamic_sections
 1.30969 -+  (bfd *, const char *, const char *, const char *, const char * const *,
 1.30970 -+   struct bfd_link_info *, struct bfd_section **,
 1.30971 -+   struct bfd_elf_version_tree *);
 1.30972 -+extern bfd_boolean bfd_elf_size_dynsym_hash_dynstr
 1.30973 -+  (bfd *, struct bfd_link_info *);
 1.30974 -+extern void bfd_elf_set_dt_needed_name
 1.30975 -+  (bfd *, const char *);
 1.30976 -+extern const char *bfd_elf_get_dt_soname
 1.30977 -+  (bfd *);
 1.30978 -+extern void bfd_elf_set_dyn_lib_class
 1.30979 -+  (bfd *, enum dynamic_lib_link_class);
 1.30980 -+extern int bfd_elf_get_dyn_lib_class
 1.30981 -+  (bfd *);
 1.30982 -+extern struct bfd_link_needed_list *bfd_elf_get_runpath_list
 1.30983 -+  (bfd *, struct bfd_link_info *);
 1.30984 -+extern bfd_boolean bfd_elf_discard_info
 1.30985 -+  (bfd *, struct bfd_link_info *);
 1.30986 -+extern unsigned int _bfd_elf_default_action_discarded
 1.30987 -+  (struct bfd_section *);
 1.30988 -+
 1.30989 -+/* Return an upper bound on the number of bytes required to store a
 1.30990 -+   copy of ABFD's program header table entries.  Return -1 if an error
 1.30991 -+   occurs; bfd_get_error will return an appropriate code.  */
 1.30992 -+extern long bfd_get_elf_phdr_upper_bound
 1.30993 -+  (bfd *abfd);
 1.30994 -+
 1.30995 -+/* Copy ABFD's program header table entries to *PHDRS.  The entries
 1.30996 -+   will be stored as an array of Elf_Internal_Phdr structures, as
 1.30997 -+   defined in include/elf/internal.h.  To find out how large the
 1.30998 -+   buffer needs to be, call bfd_get_elf_phdr_upper_bound.
 1.30999 -+
 1.31000 -+   Return the number of program header table entries read, or -1 if an
 1.31001 -+   error occurs; bfd_get_error will return an appropriate code.  */
 1.31002 -+extern int bfd_get_elf_phdrs
 1.31003 -+  (bfd *abfd, void *phdrs);
 1.31004 -+
 1.31005 -+/* Create a new BFD as if by bfd_openr.  Rather than opening a file,
 1.31006 -+   reconstruct an ELF file by reading the segments out of remote memory
 1.31007 -+   based on the ELF file header at EHDR_VMA and the ELF program headers it
 1.31008 -+   points to.  If not null, *LOADBASEP is filled in with the difference
 1.31009 -+   between the VMAs from which the segments were read, and the VMAs the
 1.31010 -+   file headers (and hence BFD's idea of each section's VMA) put them at.
 1.31011 -+
 1.31012 -+   The function TARGET_READ_MEMORY is called to copy LEN bytes from the
 1.31013 -+   remote memory at target address VMA into the local buffer at MYADDR; it
 1.31014 -+   should return zero on success or an `errno' code on failure.  TEMPL must
 1.31015 -+   be a BFD for an ELF target with the word size and byte order found in
 1.31016 -+   the remote memory.  */
 1.31017 -+extern bfd *bfd_elf_bfd_from_remote_memory
 1.31018 -+  (bfd *templ, bfd_vma ehdr_vma, bfd_vma *loadbasep,
 1.31019 -+   int (*target_read_memory) (bfd_vma vma, bfd_byte *myaddr, int len));
 1.31020 -+
 1.31021 -+/* Return the arch_size field of an elf bfd, or -1 if not elf.  */
 1.31022 -+extern int bfd_get_arch_size
 1.31023 -+  (bfd *);
 1.31024 -+
 1.31025 -+/* Return TRUE if address "naturally" sign extends, or -1 if not elf.  */
 1.31026 -+extern int bfd_get_sign_extend_vma
 1.31027 -+  (bfd *);
 1.31028 -+
 1.31029 -+extern struct bfd_section *_bfd_elf_tls_setup
 1.31030 -+  (bfd *, struct bfd_link_info *);
 1.31031 -+
 1.31032 -+extern void _bfd_fix_excluded_sec_syms
 1.31033 -+  (bfd *, struct bfd_link_info *);
 1.31034 -+
 1.31035 -+extern unsigned bfd_m68k_mach_to_features (int);
 1.31036 -+
 1.31037 -+extern int bfd_m68k_features_to_mach (unsigned);
 1.31038 -+
 1.31039 -+extern bfd_boolean bfd_m68k_elf32_create_embedded_relocs
 1.31040 -+  (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *,
 1.31041 -+   char **);
 1.31042 -+
 1.31043 -+extern bfd_boolean bfd_bfin_elf32_create_embedded_relocs
 1.31044 -+  (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *,
 1.31045 -+   char **);
 1.31046 -+
 1.31047 -+/* SunOS shared library support routines for the linker.  */
 1.31048 -+
 1.31049 -+extern struct bfd_link_needed_list *bfd_sunos_get_needed_list
 1.31050 -+  (bfd *, struct bfd_link_info *);
 1.31051 -+extern bfd_boolean bfd_sunos_record_link_assignment
 1.31052 -+  (bfd *, struct bfd_link_info *, const char *);
 1.31053 -+extern bfd_boolean bfd_sunos_size_dynamic_sections
 1.31054 -+  (bfd *, struct bfd_link_info *, struct bfd_section **,
 1.31055 -+   struct bfd_section **, struct bfd_section **);
 1.31056 -+
 1.31057 -+/* Linux shared library support routines for the linker.  */
 1.31058 -+
 1.31059 -+extern bfd_boolean bfd_i386linux_size_dynamic_sections
 1.31060 -+  (bfd *, struct bfd_link_info *);
 1.31061 -+extern bfd_boolean bfd_m68klinux_size_dynamic_sections
 1.31062 -+  (bfd *, struct bfd_link_info *);
 1.31063 -+extern bfd_boolean bfd_sparclinux_size_dynamic_sections
 1.31064 -+  (bfd *, struct bfd_link_info *);
 1.31065 -+
 1.31066 -+/* mmap hacks */
 1.31067 -+
 1.31068 -+struct _bfd_window_internal;
 1.31069 -+typedef struct _bfd_window_internal bfd_window_internal;
 1.31070 -+
 1.31071 -+typedef struct _bfd_window
 1.31072 -+{
 1.31073 -+  /* What the user asked for.  */
 1.31074 -+  void *data;
 1.31075 -+  bfd_size_type size;
 1.31076 -+  /* The actual window used by BFD.  Small user-requested read-only
 1.31077 -+     regions sharing a page may share a single window into the object
 1.31078 -+     file.  Read-write versions shouldn't until I've fixed things to
 1.31079 -+     keep track of which portions have been claimed by the
 1.31080 -+     application; don't want to give the same region back when the
 1.31081 -+     application wants two writable copies!  */
 1.31082 -+  struct _bfd_window_internal *i;
 1.31083 -+}
 1.31084 -+bfd_window;
 1.31085 -+
 1.31086 -+extern void bfd_init_window
 1.31087 -+  (bfd_window *);
 1.31088 -+extern void bfd_free_window
 1.31089 -+  (bfd_window *);
 1.31090 -+extern bfd_boolean bfd_get_file_window
 1.31091 -+  (bfd *, file_ptr, bfd_size_type, bfd_window *, bfd_boolean);
 1.31092 -+
 1.31093 -+/* XCOFF support routines for the linker.  */
 1.31094 -+
 1.31095 -+extern bfd_boolean bfd_xcoff_link_record_set
 1.31096 -+  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_size_type);
 1.31097 -+extern bfd_boolean bfd_xcoff_import_symbol
 1.31098 -+  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_vma,
 1.31099 -+   const char *, const char *, const char *, unsigned int);
 1.31100 -+extern bfd_boolean bfd_xcoff_export_symbol
 1.31101 -+  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *);
 1.31102 -+extern bfd_boolean bfd_xcoff_link_count_reloc
 1.31103 -+  (bfd *, struct bfd_link_info *, const char *);
 1.31104 -+extern bfd_boolean bfd_xcoff_record_link_assignment
 1.31105 -+  (bfd *, struct bfd_link_info *, const char *);
 1.31106 -+extern bfd_boolean bfd_xcoff_size_dynamic_sections
 1.31107 -+  (bfd *, struct bfd_link_info *, const char *, const char *,
 1.31108 -+   unsigned long, unsigned long, unsigned long, bfd_boolean,
 1.31109 -+   int, bfd_boolean, bfd_boolean, struct bfd_section **, bfd_boolean);
 1.31110 -+extern bfd_boolean bfd_xcoff_link_generate_rtinit
 1.31111 -+  (bfd *, const char *, const char *, bfd_boolean);
 1.31112 -+
 1.31113 -+/* XCOFF support routines for ar.  */
 1.31114 -+extern bfd_boolean bfd_xcoff_ar_archive_set_magic
 1.31115 -+  (bfd *, char *);
 1.31116 -+
 1.31117 -+/* Externally visible COFF routines.  */
 1.31118 -+
 1.31119 -+#if defined(__STDC__) || defined(ALMOST_STDC)
 1.31120 -+struct internal_syment;
 1.31121 -+union internal_auxent;
 1.31122 -+#endif
 1.31123 -+
 1.31124 -+extern bfd_boolean bfd_coff_get_syment
 1.31125 -+  (bfd *, struct bfd_symbol *, struct internal_syment *);
 1.31126 -+
 1.31127 -+extern bfd_boolean bfd_coff_get_auxent
 1.31128 -+  (bfd *, struct bfd_symbol *, int, union internal_auxent *);
 1.31129 -+
 1.31130 -+extern bfd_boolean bfd_coff_set_symbol_class
 1.31131 -+  (bfd *, struct bfd_symbol *, unsigned int);
 1.31132 -+
 1.31133 -+extern bfd_boolean bfd_m68k_coff_create_embedded_relocs
 1.31134 -+  (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **);
 1.31135 -+
 1.31136 -+/* ARM VFP11 erratum workaround support.  */
 1.31137 -+typedef enum
 1.31138 -+{
 1.31139 -+  BFD_ARM_VFP11_FIX_DEFAULT,
 1.31140 -+  BFD_ARM_VFP11_FIX_NONE,
 1.31141 -+  BFD_ARM_VFP11_FIX_SCALAR,
 1.31142 -+  BFD_ARM_VFP11_FIX_VECTOR
 1.31143 -+} bfd_arm_vfp11_fix;
 1.31144 -+
 1.31145 -+extern void bfd_elf32_arm_init_maps
 1.31146 -+  (bfd *);
 1.31147 -+
 1.31148 -+extern void bfd_elf32_arm_set_vfp11_fix
 1.31149 -+  (bfd *, struct bfd_link_info *);
 1.31150 -+
 1.31151 -+extern bfd_boolean bfd_elf32_arm_vfp11_erratum_scan
 1.31152 -+  (bfd *, struct bfd_link_info *);
 1.31153 -+
 1.31154 -+extern void bfd_elf32_arm_vfp11_fix_veneer_locations
 1.31155 -+  (bfd *, struct bfd_link_info *);
 1.31156 -+
 1.31157 -+/* ARM Interworking support.  Called from linker.  */
 1.31158 -+extern bfd_boolean bfd_arm_allocate_interworking_sections
 1.31159 -+  (struct bfd_link_info *);
 1.31160 -+
 1.31161 -+extern bfd_boolean bfd_arm_process_before_allocation
 1.31162 -+  (bfd *, struct bfd_link_info *, int);
 1.31163 -+
 1.31164 -+extern bfd_boolean bfd_arm_get_bfd_for_interworking
 1.31165 -+  (bfd *, struct bfd_link_info *);
 1.31166 -+
 1.31167 -+/* PE ARM Interworking support.  Called from linker.  */
 1.31168 -+extern bfd_boolean bfd_arm_pe_allocate_interworking_sections
 1.31169 -+  (struct bfd_link_info *);
 1.31170 -+
 1.31171 -+extern bfd_boolean bfd_arm_pe_process_before_allocation
 1.31172 -+  (bfd *, struct bfd_link_info *, int);
 1.31173 -+
 1.31174 -+extern bfd_boolean bfd_arm_pe_get_bfd_for_interworking
 1.31175 -+  (bfd *, struct bfd_link_info *);
 1.31176 -+
 1.31177 -+/* ELF ARM Interworking support.  Called from linker.  */
 1.31178 -+extern bfd_boolean bfd_elf32_arm_allocate_interworking_sections
 1.31179 -+  (struct bfd_link_info *);
 1.31180 -+
 1.31181 -+extern bfd_boolean bfd_elf32_arm_process_before_allocation
 1.31182 -+  (bfd *, struct bfd_link_info *);
 1.31183 -+
 1.31184 -+void bfd_elf32_arm_set_target_relocs
 1.31185 -+  (bfd *, struct bfd_link_info *, int, char *, int, int, bfd_arm_vfp11_fix,
 1.31186 -+   int, int);
 1.31187 -+
 1.31188 -+extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking
 1.31189 -+  (bfd *, struct bfd_link_info *);
 1.31190 -+
 1.31191 -+extern bfd_boolean bfd_elf32_arm_add_glue_sections_to_bfd
 1.31192 -+  (bfd *, struct bfd_link_info *);
 1.31193 -+
 1.31194 -+/* ELF ARM mapping symbol support */
 1.31195 -+#define BFD_ARM_SPECIAL_SYM_TYPE_MAP	(1 << 0)
 1.31196 -+#define BFD_ARM_SPECIAL_SYM_TYPE_TAG	(1 << 1)
 1.31197 -+#define BFD_ARM_SPECIAL_SYM_TYPE_OTHER  (1 << 2)
 1.31198 -+#define BFD_ARM_SPECIAL_SYM_TYPE_ANY	(~0)
 1.31199 -+extern bfd_boolean bfd_is_arm_special_symbol_name
 1.31200 -+  (const char * name, int type);
 1.31201 -+
 1.31202 -+extern void bfd_elf32_arm_set_byteswap_code (struct bfd_link_info *, int);
 1.31203 -+
 1.31204 -+/* ARM Note section processing.  */
 1.31205 -+extern bfd_boolean bfd_arm_merge_machines
 1.31206 -+  (bfd *, bfd *);
 1.31207 -+
 1.31208 -+extern bfd_boolean bfd_arm_update_notes
 1.31209 -+  (bfd *, const char *);
 1.31210 -+
 1.31211 -+extern unsigned int bfd_arm_get_mach_from_notes
 1.31212 -+  (bfd *, const char *);
 1.31213 -+
 1.31214 -+/* TI COFF load page support.  */
 1.31215 -+extern void bfd_ticoff_set_section_load_page
 1.31216 -+  (struct bfd_section *, int);
 1.31217 -+
 1.31218 -+extern int bfd_ticoff_get_section_load_page
 1.31219 -+  (struct bfd_section *);
 1.31220 -+
 1.31221 -+/* H8/300 functions.  */
 1.31222 -+extern bfd_vma bfd_h8300_pad_address
 1.31223 -+  (bfd *, bfd_vma);
 1.31224 -+
 1.31225 -+/* IA64 Itanium code generation.  Called from linker.  */
 1.31226 -+extern void bfd_elf32_ia64_after_parse
 1.31227 -+  (int);
 1.31228 -+
 1.31229 -+extern void bfd_elf64_ia64_after_parse
 1.31230 -+  (int);
 1.31231 -+
 1.31232 -+/* This structure is used for a comdat section, as in PE.  A comdat
 1.31233 -+   section is associated with a particular symbol.  When the linker
 1.31234 -+   sees a comdat section, it keeps only one of the sections with a
 1.31235 -+   given name and associated with a given symbol.  */
 1.31236 -+
 1.31237 -+struct coff_comdat_info
 1.31238 -+{
 1.31239 -+  /* The name of the symbol associated with a comdat section.  */
 1.31240 -+  const char *name;
 1.31241 -+
 1.31242 -+  /* The local symbol table index of the symbol associated with a
 1.31243 -+     comdat section.  This is only meaningful to the object file format
 1.31244 -+     specific code; it is not an index into the list returned by
 1.31245 -+     bfd_canonicalize_symtab.  */
 1.31246 -+  long symbol;
 1.31247 -+};
 1.31248 -+
 1.31249 -+extern struct coff_comdat_info *bfd_coff_get_comdat_section
 1.31250 -+  (bfd *, struct bfd_section *);
 1.31251 -+
 1.31252 -+/* Extracted from init.c.  */
 1.31253 -+void bfd_init (void);
 1.31254 -+
 1.31255 -+/* Extracted from opncls.c.  */
 1.31256 -+bfd *bfd_fopen (const char *filename, const char *target,
 1.31257 -+    const char *mode, int fd);
 1.31258 -+
 1.31259 -+bfd *bfd_openr (const char *filename, const char *target);
 1.31260 -+
 1.31261 -+bfd *bfd_fdopenr (const char *filename, const char *target, int fd);
 1.31262 -+
 1.31263 -+bfd *bfd_openstreamr (const char *, const char *, void *);
 1.31264 -+
 1.31265 -+bfd *bfd_openr_iovec (const char *filename, const char *target,
 1.31266 -+    void *(*open) (struct bfd *nbfd,
 1.31267 -+    void *open_closure),
 1.31268 -+    void *open_closure,
 1.31269 -+    file_ptr (*pread) (struct bfd *nbfd,
 1.31270 -+    void *stream,
 1.31271 -+    void *buf,
 1.31272 -+    file_ptr nbytes,
 1.31273 -+    file_ptr offset),
 1.31274 -+    int (*close) (struct bfd *nbfd,
 1.31275 -+    void *stream),
 1.31276 -+    int (*stat) (struct bfd *abfd,
 1.31277 -+    void *stream,
 1.31278 -+    struct stat *sb));
 1.31279 -+
 1.31280 -+bfd *bfd_openw (const char *filename, const char *target);
 1.31281 -+
 1.31282 -+bfd_boolean bfd_close (bfd *abfd);
 1.31283 -+
 1.31284 -+bfd_boolean bfd_close_all_done (bfd *);
 1.31285 -+
 1.31286 -+bfd *bfd_create (const char *filename, bfd *templ);
 1.31287 -+
 1.31288 -+bfd_boolean bfd_make_writable (bfd *abfd);
 1.31289 -+
 1.31290 -+bfd_boolean bfd_make_readable (bfd *abfd);
 1.31291 -+
 1.31292 -+unsigned long bfd_calc_gnu_debuglink_crc32
 1.31293 -+   (unsigned long crc, const unsigned char *buf, bfd_size_type len);
 1.31294 -+
 1.31295 -+char *bfd_follow_gnu_debuglink (bfd *abfd, const char *dir);
 1.31296 -+
 1.31297 -+struct bfd_section *bfd_create_gnu_debuglink_section
 1.31298 -+   (bfd *abfd, const char *filename);
 1.31299 -+
 1.31300 -+bfd_boolean bfd_fill_in_gnu_debuglink_section
 1.31301 -+   (bfd *abfd, struct bfd_section *sect, const char *filename);
 1.31302 -+
 1.31303 -+/* Extracted from libbfd.c.  */
 1.31304 -+
 1.31305 -+/* Byte swapping macros for user section data.  */
 1.31306 -+
 1.31307 -+#define bfd_put_8(abfd, val, ptr) \
 1.31308 -+  ((void) (*((unsigned char *) (ptr)) = (val) & 0xff))
 1.31309 -+#define bfd_put_signed_8 \
 1.31310 -+  bfd_put_8
 1.31311 -+#define bfd_get_8(abfd, ptr) \
 1.31312 -+  (*(unsigned char *) (ptr) & 0xff)
 1.31313 -+#define bfd_get_signed_8(abfd, ptr) \
 1.31314 -+  (((*(unsigned char *) (ptr) & 0xff) ^ 0x80) - 0x80)
 1.31315 -+
 1.31316 -+#define bfd_put_16(abfd, val, ptr) \
 1.31317 -+  BFD_SEND (abfd, bfd_putx16, ((val),(ptr)))
 1.31318 -+#define bfd_put_signed_16 \
 1.31319 -+  bfd_put_16
 1.31320 -+#define bfd_get_16(abfd, ptr) \
 1.31321 -+  BFD_SEND (abfd, bfd_getx16, (ptr))
 1.31322 -+#define bfd_get_signed_16(abfd, ptr) \
 1.31323 -+  BFD_SEND (abfd, bfd_getx_signed_16, (ptr))
 1.31324 -+
 1.31325 -+#define bfd_put_32(abfd, val, ptr) \
 1.31326 -+  BFD_SEND (abfd, bfd_putx32, ((val),(ptr)))
 1.31327 -+#define bfd_put_signed_32 \
 1.31328 -+  bfd_put_32
 1.31329 -+#define bfd_get_32(abfd, ptr) \
 1.31330 -+  BFD_SEND (abfd, bfd_getx32, (ptr))
 1.31331 -+#define bfd_get_signed_32(abfd, ptr) \
 1.31332 -+  BFD_SEND (abfd, bfd_getx_signed_32, (ptr))
 1.31333 -+
 1.31334 -+#define bfd_put_64(abfd, val, ptr) \
 1.31335 -+  BFD_SEND (abfd, bfd_putx64, ((val), (ptr)))
 1.31336 -+#define bfd_put_signed_64 \
 1.31337 -+  bfd_put_64
 1.31338 -+#define bfd_get_64(abfd, ptr) \
 1.31339 -+  BFD_SEND (abfd, bfd_getx64, (ptr))
 1.31340 -+#define bfd_get_signed_64(abfd, ptr) \
 1.31341 -+  BFD_SEND (abfd, bfd_getx_signed_64, (ptr))
 1.31342 -+
 1.31343 -+#define bfd_get(bits, abfd, ptr)                       \
 1.31344 -+  ((bits) == 8 ? (bfd_vma) bfd_get_8 (abfd, ptr)       \
 1.31345 -+   : (bits) == 16 ? bfd_get_16 (abfd, ptr)             \
 1.31346 -+   : (bits) == 32 ? bfd_get_32 (abfd, ptr)             \
 1.31347 -+   : (bits) == 64 ? bfd_get_64 (abfd, ptr)             \
 1.31348 -+   : (abort (), (bfd_vma) - 1))
 1.31349 -+
 1.31350 -+#define bfd_put(bits, abfd, val, ptr)                  \
 1.31351 -+  ((bits) == 8 ? bfd_put_8  (abfd, val, ptr)           \
 1.31352 -+   : (bits) == 16 ? bfd_put_16 (abfd, val, ptr)                \
 1.31353 -+   : (bits) == 32 ? bfd_put_32 (abfd, val, ptr)                \
 1.31354 -+   : (bits) == 64 ? bfd_put_64 (abfd, val, ptr)                \
 1.31355 -+   : (abort (), (void) 0))
 1.31356 -+
 1.31357 -+
 1.31358 -+/* Byte swapping macros for file header data.  */
 1.31359 -+
 1.31360 -+#define bfd_h_put_8(abfd, val, ptr) \
 1.31361 -+  bfd_put_8 (abfd, val, ptr)
 1.31362 -+#define bfd_h_put_signed_8(abfd, val, ptr) \
 1.31363 -+  bfd_put_8 (abfd, val, ptr)
 1.31364 -+#define bfd_h_get_8(abfd, ptr) \
 1.31365 -+  bfd_get_8 (abfd, ptr)
 1.31366 -+#define bfd_h_get_signed_8(abfd, ptr) \
 1.31367 -+  bfd_get_signed_8 (abfd, ptr)
 1.31368 -+
 1.31369 -+#define bfd_h_put_16(abfd, val, ptr) \
 1.31370 -+  BFD_SEND (abfd, bfd_h_putx16, (val, ptr))
 1.31371 -+#define bfd_h_put_signed_16 \
 1.31372 -+  bfd_h_put_16
 1.31373 -+#define bfd_h_get_16(abfd, ptr) \
 1.31374 -+  BFD_SEND (abfd, bfd_h_getx16, (ptr))
 1.31375 -+#define bfd_h_get_signed_16(abfd, ptr) \
 1.31376 -+  BFD_SEND (abfd, bfd_h_getx_signed_16, (ptr))
 1.31377 -+
 1.31378 -+#define bfd_h_put_32(abfd, val, ptr) \
 1.31379 -+  BFD_SEND (abfd, bfd_h_putx32, (val, ptr))
 1.31380 -+#define bfd_h_put_signed_32 \
 1.31381 -+  bfd_h_put_32
 1.31382 -+#define bfd_h_get_32(abfd, ptr) \
 1.31383 -+  BFD_SEND (abfd, bfd_h_getx32, (ptr))
 1.31384 -+#define bfd_h_get_signed_32(abfd, ptr) \
 1.31385 -+  BFD_SEND (abfd, bfd_h_getx_signed_32, (ptr))
 1.31386 -+
 1.31387 -+#define bfd_h_put_64(abfd, val, ptr) \
 1.31388 -+  BFD_SEND (abfd, bfd_h_putx64, (val, ptr))
 1.31389 -+#define bfd_h_put_signed_64 \
 1.31390 -+  bfd_h_put_64
 1.31391 -+#define bfd_h_get_64(abfd, ptr) \
 1.31392 -+  BFD_SEND (abfd, bfd_h_getx64, (ptr))
 1.31393 -+#define bfd_h_get_signed_64(abfd, ptr) \
 1.31394 -+  BFD_SEND (abfd, bfd_h_getx_signed_64, (ptr))
 1.31395 -+
 1.31396 -+/* Aliases for the above, which should eventually go away.  */
 1.31397 -+
 1.31398 -+#define H_PUT_64  bfd_h_put_64
 1.31399 -+#define H_PUT_32  bfd_h_put_32
 1.31400 -+#define H_PUT_16  bfd_h_put_16
 1.31401 -+#define H_PUT_8   bfd_h_put_8
 1.31402 -+#define H_PUT_S64 bfd_h_put_signed_64
 1.31403 -+#define H_PUT_S32 bfd_h_put_signed_32
 1.31404 -+#define H_PUT_S16 bfd_h_put_signed_16
 1.31405 -+#define H_PUT_S8  bfd_h_put_signed_8
 1.31406 -+#define H_GET_64  bfd_h_get_64
 1.31407 -+#define H_GET_32  bfd_h_get_32
 1.31408 -+#define H_GET_16  bfd_h_get_16
 1.31409 -+#define H_GET_8   bfd_h_get_8
 1.31410 -+#define H_GET_S64 bfd_h_get_signed_64
 1.31411 -+#define H_GET_S32 bfd_h_get_signed_32
 1.31412 -+#define H_GET_S16 bfd_h_get_signed_16
 1.31413 -+#define H_GET_S8  bfd_h_get_signed_8
 1.31414 -+
 1.31415 -+
 1.31416 -+/* Extracted from bfdio.c.  */
 1.31417 -+long bfd_get_mtime (bfd *abfd);
 1.31418 -+
 1.31419 -+file_ptr bfd_get_size (bfd *abfd);
 1.31420 -+
 1.31421 -+/* Extracted from bfdwin.c.  */
 1.31422 -+/* Extracted from section.c.  */
 1.31423 -+typedef struct bfd_section
 1.31424 -+{
 1.31425 -+  /* The name of the section; the name isn't a copy, the pointer is
 1.31426 -+     the same as that passed to bfd_make_section.  */
 1.31427 -+  const char *name;
 1.31428 -+
 1.31429 -+  /* A unique sequence number.  */
 1.31430 -+  int id;
 1.31431 -+
 1.31432 -+  /* Which section in the bfd; 0..n-1 as sections are created in a bfd.  */
 1.31433 -+  int index;
 1.31434 -+
 1.31435 -+  /* The next section in the list belonging to the BFD, or NULL.  */
 1.31436 -+  struct bfd_section *next;
 1.31437 -+
 1.31438 -+  /* The previous section in the list belonging to the BFD, or NULL.  */
 1.31439 -+  struct bfd_section *prev;
 1.31440 -+
 1.31441 -+  /* The field flags contains attributes of the section. Some
 1.31442 -+     flags are read in from the object file, and some are
 1.31443 -+     synthesized from other information.  */
 1.31444 -+  flagword flags;
 1.31445 -+
 1.31446 -+#define SEC_NO_FLAGS   0x000
 1.31447 -+
 1.31448 -+  /* Tells the OS to allocate space for this section when loading.
 1.31449 -+     This is clear for a section containing debug information only.  */
 1.31450 -+#define SEC_ALLOC      0x001
 1.31451 -+
 1.31452 -+  /* Tells the OS to load the section from the file when loading.
 1.31453 -+     This is clear for a .bss section.  */
 1.31454 -+#define SEC_LOAD       0x002
 1.31455 -+
 1.31456 -+  /* The section contains data still to be relocated, so there is
 1.31457 -+     some relocation information too.  */
 1.31458 -+#define SEC_RELOC      0x004
 1.31459 -+
 1.31460 -+  /* A signal to the OS that the section contains read only data.  */
 1.31461 -+#define SEC_READONLY   0x008
 1.31462 -+
 1.31463 -+  /* The section contains code only.  */
 1.31464 -+#define SEC_CODE       0x010
 1.31465 -+
 1.31466 -+  /* The section contains data only.  */
 1.31467 -+#define SEC_DATA       0x020
 1.31468 -+
 1.31469 -+  /* The section will reside in ROM.  */
 1.31470 -+#define SEC_ROM        0x040
 1.31471 -+
 1.31472 -+  /* The section contains constructor information. This section
 1.31473 -+     type is used by the linker to create lists of constructors and
 1.31474 -+     destructors used by <<g++>>. When a back end sees a symbol
 1.31475 -+     which should be used in a constructor list, it creates a new
 1.31476 -+     section for the type of name (e.g., <<__CTOR_LIST__>>), attaches
 1.31477 -+     the symbol to it, and builds a relocation. To build the lists
 1.31478 -+     of constructors, all the linker has to do is catenate all the
 1.31479 -+     sections called <<__CTOR_LIST__>> and relocate the data
 1.31480 -+     contained within - exactly the operations it would peform on
 1.31481 -+     standard data.  */
 1.31482 -+#define SEC_CONSTRUCTOR 0x080
 1.31483 -+
 1.31484 -+  /* The section has contents - a data section could be
 1.31485 -+     <<SEC_ALLOC>> | <<SEC_HAS_CONTENTS>>; a debug section could be
 1.31486 -+     <<SEC_HAS_CONTENTS>>  */
 1.31487 -+#define SEC_HAS_CONTENTS 0x100
 1.31488 -+
 1.31489 -+  /* An instruction to the linker to not output the section
 1.31490 -+     even if it has information which would normally be written.  */
 1.31491 -+#define SEC_NEVER_LOAD 0x200
 1.31492 -+
 1.31493 -+  /* The section contains thread local data.  */
 1.31494 -+#define SEC_THREAD_LOCAL 0x400
 1.31495 -+
 1.31496 -+  /* The section has GOT references.  This flag is only for the
 1.31497 -+     linker, and is currently only used by the elf32-hppa back end.
 1.31498 -+     It will be set if global offset table references were detected
 1.31499 -+     in this section, which indicate to the linker that the section
 1.31500 -+     contains PIC code, and must be handled specially when doing a
 1.31501 -+     static link.  */
 1.31502 -+#define SEC_HAS_GOT_REF 0x800
 1.31503 -+
 1.31504 -+  /* The section contains common symbols (symbols may be defined
 1.31505 -+     multiple times, the value of a symbol is the amount of
 1.31506 -+     space it requires, and the largest symbol value is the one
 1.31507 -+     used).  Most targets have exactly one of these (which we
 1.31508 -+     translate to bfd_com_section_ptr), but ECOFF has two.  */
 1.31509 -+#define SEC_IS_COMMON 0x1000
 1.31510 -+
 1.31511 -+  /* The section contains only debugging information.  For
 1.31512 -+     example, this is set for ELF .debug and .stab sections.
 1.31513 -+     strip tests this flag to see if a section can be
 1.31514 -+     discarded.  */
 1.31515 -+#define SEC_DEBUGGING 0x2000
 1.31516 -+
 1.31517 -+  /* The contents of this section are held in memory pointed to
 1.31518 -+     by the contents field.  This is checked by bfd_get_section_contents,
 1.31519 -+     and the data is retrieved from memory if appropriate.  */
 1.31520 -+#define SEC_IN_MEMORY 0x4000
 1.31521 -+
 1.31522 -+  /* The contents of this section are to be excluded by the
 1.31523 -+     linker for executable and shared objects unless those
 1.31524 -+     objects are to be further relocated.  */
 1.31525 -+#define SEC_EXCLUDE 0x8000
 1.31526 -+
 1.31527 -+  /* The contents of this section are to be sorted based on the sum of
 1.31528 -+     the symbol and addend values specified by the associated relocation
 1.31529 -+     entries.  Entries without associated relocation entries will be
 1.31530 -+     appended to the end of the section in an unspecified order.  */
 1.31531 -+#define SEC_SORT_ENTRIES 0x10000
 1.31532 -+
 1.31533 -+  /* When linking, duplicate sections of the same name should be
 1.31534 -+     discarded, rather than being combined into a single section as
 1.31535 -+     is usually done.  This is similar to how common symbols are
 1.31536 -+     handled.  See SEC_LINK_DUPLICATES below.  */
 1.31537 -+#define SEC_LINK_ONCE 0x20000
 1.31538 -+
 1.31539 -+  /* If SEC_LINK_ONCE is set, this bitfield describes how the linker
 1.31540 -+     should handle duplicate sections.  */
 1.31541 -+#define SEC_LINK_DUPLICATES 0x40000
 1.31542 -+
 1.31543 -+  /* This value for SEC_LINK_DUPLICATES means that duplicate
 1.31544 -+     sections with the same name should simply be discarded.  */
 1.31545 -+#define SEC_LINK_DUPLICATES_DISCARD 0x0
 1.31546 -+
 1.31547 -+  /* This value for SEC_LINK_DUPLICATES means that the linker
 1.31548 -+     should warn if there are any duplicate sections, although
 1.31549 -+     it should still only link one copy.  */
 1.31550 -+#define SEC_LINK_DUPLICATES_ONE_ONLY 0x80000
 1.31551 -+
 1.31552 -+  /* This value for SEC_LINK_DUPLICATES means that the linker
 1.31553 -+     should warn if any duplicate sections are a different size.  */
 1.31554 -+#define SEC_LINK_DUPLICATES_SAME_SIZE 0x100000
 1.31555 -+
 1.31556 -+  /* This value for SEC_LINK_DUPLICATES means that the linker
 1.31557 -+     should warn if any duplicate sections contain different
 1.31558 -+     contents.  */
 1.31559 -+#define SEC_LINK_DUPLICATES_SAME_CONTENTS \
 1.31560 -+  (SEC_LINK_DUPLICATES_ONE_ONLY | SEC_LINK_DUPLICATES_SAME_SIZE)
 1.31561 -+
 1.31562 -+  /* This section was created by the linker as part of dynamic
 1.31563 -+     relocation or other arcane processing.  It is skipped when
 1.31564 -+     going through the first-pass output, trusting that someone
 1.31565 -+     else up the line will take care of it later.  */
 1.31566 -+#define SEC_LINKER_CREATED 0x200000
 1.31567 -+
 1.31568 -+  /* This section should not be subject to garbage collection.
 1.31569 -+     Also set to inform the linker that this section should not be
 1.31570 -+     listed in the link map as discarded.  */
 1.31571 -+#define SEC_KEEP 0x400000
 1.31572 -+
 1.31573 -+  /* This section contains "short" data, and should be placed
 1.31574 -+     "near" the GP.  */
 1.31575 -+#define SEC_SMALL_DATA 0x800000
 1.31576 -+
 1.31577 -+  /* Attempt to merge identical entities in the section.
 1.31578 -+     Entity size is given in the entsize field.  */
 1.31579 -+#define SEC_MERGE 0x1000000
 1.31580 -+
 1.31581 -+  /* If given with SEC_MERGE, entities to merge are zero terminated
 1.31582 -+     strings where entsize specifies character size instead of fixed
 1.31583 -+     size entries.  */
 1.31584 -+#define SEC_STRINGS 0x2000000
 1.31585 -+
 1.31586 -+  /* This section contains data about section groups.  */
 1.31587 -+#define SEC_GROUP 0x4000000
 1.31588 -+
 1.31589 -+  /* The section is a COFF shared library section.  This flag is
 1.31590 -+     only for the linker.  If this type of section appears in
 1.31591 -+     the input file, the linker must copy it to the output file
 1.31592 -+     without changing the vma or size.  FIXME: Although this
 1.31593 -+     was originally intended to be general, it really is COFF
 1.31594 -+     specific (and the flag was renamed to indicate this).  It
 1.31595 -+     might be cleaner to have some more general mechanism to
 1.31596 -+     allow the back end to control what the linker does with
 1.31597 -+     sections.  */
 1.31598 -+#define SEC_COFF_SHARED_LIBRARY 0x10000000
 1.31599 -+
 1.31600 -+  /* This section contains data which may be shared with other
 1.31601 -+     executables or shared objects. This is for COFF only.  */
 1.31602 -+#define SEC_COFF_SHARED 0x20000000
 1.31603 -+
 1.31604 -+  /* When a section with this flag is being linked, then if the size of
 1.31605 -+     the input section is less than a page, it should not cross a page
 1.31606 -+     boundary.  If the size of the input section is one page or more,
 1.31607 -+     it should be aligned on a page boundary.  This is for TI
 1.31608 -+     TMS320C54X only.  */
 1.31609 -+#define SEC_TIC54X_BLOCK 0x40000000
 1.31610 -+
 1.31611 -+  /* Conditionally link this section; do not link if there are no
 1.31612 -+     references found to any symbol in the section.  This is for TI
 1.31613 -+     TMS320C54X only.  */
 1.31614 -+#define SEC_TIC54X_CLINK 0x80000000
 1.31615 -+
 1.31616 -+  /*  End of section flags.  */
 1.31617 -+
 1.31618 -+  /* Some internal packed boolean fields.  */
 1.31619 -+
 1.31620 -+  /* See the vma field.  */
 1.31621 -+  unsigned int user_set_vma : 1;
 1.31622 -+
 1.31623 -+  /* A mark flag used by some of the linker backends.  */
 1.31624 -+  unsigned int linker_mark : 1;
 1.31625 -+
 1.31626 -+  /* Another mark flag used by some of the linker backends.  Set for
 1.31627 -+     output sections that have an input section.  */
 1.31628 -+  unsigned int linker_has_input : 1;
 1.31629 -+
 1.31630 -+  /* Mark flags used by some linker backends for garbage collection.  */
 1.31631 -+  unsigned int gc_mark : 1;
 1.31632 -+  unsigned int gc_mark_from_eh : 1;
 1.31633 -+
 1.31634 -+  /* The following flags are used by the ELF linker. */
 1.31635 -+
 1.31636 -+  /* Mark sections which have been allocated to segments.  */
 1.31637 -+  unsigned int segment_mark : 1;
 1.31638 -+
 1.31639 -+  /* Type of sec_info information.  */
 1.31640 -+  unsigned int sec_info_type:3;
 1.31641 -+#define ELF_INFO_TYPE_NONE      0
 1.31642 -+#define ELF_INFO_TYPE_STABS     1
 1.31643 -+#define ELF_INFO_TYPE_MERGE     2
 1.31644 -+#define ELF_INFO_TYPE_EH_FRAME  3
 1.31645 -+#define ELF_INFO_TYPE_JUST_SYMS 4
 1.31646 -+
 1.31647 -+  /* Nonzero if this section uses RELA relocations, rather than REL.  */
 1.31648 -+  unsigned int use_rela_p:1;
 1.31649 -+
 1.31650 -+  /* Bits used by various backends.  The generic code doesn't touch
 1.31651 -+     these fields.  */
 1.31652 -+
 1.31653 -+  /* Nonzero if this section has TLS related relocations.  */
 1.31654 -+  unsigned int has_tls_reloc:1;
 1.31655 -+
 1.31656 -+  /* Nonzero if this section has a gp reloc.  */
 1.31657 -+  unsigned int has_gp_reloc:1;
 1.31658 -+
 1.31659 -+  /* Nonzero if this section needs the relax finalize pass.  */
 1.31660 -+  unsigned int need_finalize_relax:1;
 1.31661 -+
 1.31662 -+  /* Whether relocations have been processed.  */
 1.31663 -+  unsigned int reloc_done : 1;
 1.31664 -+
 1.31665 -+  /* End of internal packed boolean fields.  */
 1.31666 -+
 1.31667 -+  /*  The virtual memory address of the section - where it will be
 1.31668 -+      at run time.  The symbols are relocated against this.  The
 1.31669 -+      user_set_vma flag is maintained by bfd; if it's not set, the
 1.31670 -+      backend can assign addresses (for example, in <<a.out>>, where
 1.31671 -+      the default address for <<.data>> is dependent on the specific
 1.31672 -+      target and various flags).  */
 1.31673 -+  bfd_vma vma;
 1.31674 -+
 1.31675 -+  /*  The load address of the section - where it would be in a
 1.31676 -+      rom image; really only used for writing section header
 1.31677 -+      information.  */
 1.31678 -+  bfd_vma lma;
 1.31679 -+
 1.31680 -+  /* The size of the section in octets, as it will be output.
 1.31681 -+     Contains a value even if the section has no contents (e.g., the
 1.31682 -+     size of <<.bss>>).  */
 1.31683 -+  bfd_size_type size;
 1.31684 -+
 1.31685 -+  /* For input sections, the original size on disk of the section, in
 1.31686 -+     octets.  This field is used by the linker relaxation code.  It is
 1.31687 -+     currently only set for sections where the linker relaxation scheme
 1.31688 -+     doesn't cache altered section and reloc contents (stabs, eh_frame,
 1.31689 -+     SEC_MERGE, some coff relaxing targets), and thus the original size
 1.31690 -+     needs to be kept to read the section multiple times.
 1.31691 -+     For output sections, rawsize holds the section size calculated on
 1.31692 -+     a previous linker relaxation pass.  */
 1.31693 -+  bfd_size_type rawsize;
 1.31694 -+
 1.31695 -+  /* If this section is going to be output, then this value is the
 1.31696 -+     offset in *bytes* into the output section of the first byte in the
 1.31697 -+     input section (byte ==> smallest addressable unit on the
 1.31698 -+     target).  In most cases, if this was going to start at the
 1.31699 -+     100th octet (8-bit quantity) in the output section, this value
 1.31700 -+     would be 100.  However, if the target byte size is 16 bits
 1.31701 -+     (bfd_octets_per_byte is "2"), this value would be 50.  */
 1.31702 -+  bfd_vma output_offset;
 1.31703 -+
 1.31704 -+  /* The output section through which to map on output.  */
 1.31705 -+  struct bfd_section *output_section;
 1.31706 -+
 1.31707 -+  /* The alignment requirement of the section, as an exponent of 2 -
 1.31708 -+     e.g., 3 aligns to 2^3 (or 8).  */
 1.31709 -+  unsigned int alignment_power;
 1.31710 -+
 1.31711 -+  /* If an input section, a pointer to a vector of relocation
 1.31712 -+     records for the data in this section.  */
 1.31713 -+  struct reloc_cache_entry *relocation;
 1.31714 -+
 1.31715 -+  /* If an output section, a pointer to a vector of pointers to
 1.31716 -+     relocation records for the data in this section.  */
 1.31717 -+  struct reloc_cache_entry **orelocation;
 1.31718 -+
 1.31719 -+  /* The number of relocation records in one of the above.  */
 1.31720 -+  unsigned reloc_count;
 1.31721 -+
 1.31722 -+  /* Information below is back end specific - and not always used
 1.31723 -+     or updated.  */
 1.31724 -+
 1.31725 -+  /* File position of section data.  */
 1.31726 -+  file_ptr filepos;
 1.31727 -+
 1.31728 -+  /* File position of relocation info.  */
 1.31729 -+  file_ptr rel_filepos;
 1.31730 -+
 1.31731 -+  /* File position of line data.  */
 1.31732 -+  file_ptr line_filepos;
 1.31733 -+
 1.31734 -+  /* Pointer to data for applications.  */
 1.31735 -+  void *userdata;
 1.31736 -+
 1.31737 -+  /* If the SEC_IN_MEMORY flag is set, this points to the actual
 1.31738 -+     contents.  */
 1.31739 -+  unsigned char *contents;
 1.31740 -+
 1.31741 -+  /* Attached line number information.  */
 1.31742 -+  alent *lineno;
 1.31743 -+
 1.31744 -+  /* Number of line number records.  */
 1.31745 -+  unsigned int lineno_count;
 1.31746 -+
 1.31747 -+  /* Entity size for merging purposes.  */
 1.31748 -+  unsigned int entsize;
 1.31749 -+
 1.31750 -+  /* Points to the kept section if this section is a link-once section,
 1.31751 -+     and is discarded.  */
 1.31752 -+  struct bfd_section *kept_section;
 1.31753 -+
 1.31754 -+  /* When a section is being output, this value changes as more
 1.31755 -+     linenumbers are written out.  */
 1.31756 -+  file_ptr moving_line_filepos;
 1.31757 -+
 1.31758 -+  /* What the section number is in the target world.  */
 1.31759 -+  int target_index;
 1.31760 -+
 1.31761 -+  void *used_by_bfd;
 1.31762 -+
 1.31763 -+  /* If this is a constructor section then here is a list of the
 1.31764 -+     relocations created to relocate items within it.  */
 1.31765 -+  struct relent_chain *constructor_chain;
 1.31766 -+
 1.31767 -+  /* The BFD which owns the section.  */
 1.31768 -+  bfd *owner;
 1.31769 -+
 1.31770 -+  /* A symbol which points at this section only.  */
 1.31771 -+  struct bfd_symbol *symbol;
 1.31772 -+  struct bfd_symbol **symbol_ptr_ptr;
 1.31773 -+
 1.31774 -+  /* Early in the link process, map_head and map_tail are used to build
 1.31775 -+     a list of input sections attached to an output section.  Later,
 1.31776 -+     output sections use these fields for a list of bfd_link_order
 1.31777 -+     structs.  */
 1.31778 -+  union {
 1.31779 -+    struct bfd_link_order *link_order;
 1.31780 -+    struct bfd_section *s;
 1.31781 -+  } map_head, map_tail;
 1.31782 -+} asection;
 1.31783 -+
 1.31784 -+/* These sections are global, and are managed by BFD.  The application
 1.31785 -+   and target back end are not permitted to change the values in
 1.31786 -+   these sections.  New code should use the section_ptr macros rather
 1.31787 -+   than referring directly to the const sections.  The const sections
 1.31788 -+   may eventually vanish.  */
 1.31789 -+#define BFD_ABS_SECTION_NAME "*ABS*"
 1.31790 -+#define BFD_UND_SECTION_NAME "*UND*"
 1.31791 -+#define BFD_COM_SECTION_NAME "*COM*"
 1.31792 -+#define BFD_IND_SECTION_NAME "*IND*"
 1.31793 -+
 1.31794 -+/* The absolute section.  */
 1.31795 -+extern asection bfd_abs_section;
 1.31796 -+#define bfd_abs_section_ptr ((asection *) &bfd_abs_section)
 1.31797 -+#define bfd_is_abs_section(sec) ((sec) == bfd_abs_section_ptr)
 1.31798 -+/* Pointer to the undefined section.  */
 1.31799 -+extern asection bfd_und_section;
 1.31800 -+#define bfd_und_section_ptr ((asection *) &bfd_und_section)
 1.31801 -+#define bfd_is_und_section(sec) ((sec) == bfd_und_section_ptr)
 1.31802 -+/* Pointer to the common section.  */
 1.31803 -+extern asection bfd_com_section;
 1.31804 -+#define bfd_com_section_ptr ((asection *) &bfd_com_section)
 1.31805 -+/* Pointer to the indirect section.  */
 1.31806 -+extern asection bfd_ind_section;
 1.31807 -+#define bfd_ind_section_ptr ((asection *) &bfd_ind_section)
 1.31808 -+#define bfd_is_ind_section(sec) ((sec) == bfd_ind_section_ptr)
 1.31809 -+
 1.31810 -+#define bfd_is_const_section(SEC)              \
 1.31811 -+ (   ((SEC) == bfd_abs_section_ptr)            \
 1.31812 -+  || ((SEC) == bfd_und_section_ptr)            \
 1.31813 -+  || ((SEC) == bfd_com_section_ptr)            \
 1.31814 -+  || ((SEC) == bfd_ind_section_ptr))
 1.31815 -+
 1.31816 -+/* Macros to handle insertion and deletion of a bfd's sections.  These
 1.31817 -+   only handle the list pointers, ie. do not adjust section_count,
 1.31818 -+   target_index etc.  */
 1.31819 -+#define bfd_section_list_remove(ABFD, S) \
 1.31820 -+  do                                                   \
 1.31821 -+    {                                                  \
 1.31822 -+      asection *_s = S;                                \
 1.31823 -+      asection *_next = _s->next;                      \
 1.31824 -+      asection *_prev = _s->prev;                      \
 1.31825 -+      if (_prev)                                       \
 1.31826 -+        _prev->next = _next;                           \
 1.31827 -+      else                                             \
 1.31828 -+        (ABFD)->sections = _next;                      \
 1.31829 -+      if (_next)                                       \
 1.31830 -+        _next->prev = _prev;                           \
 1.31831 -+      else                                             \
 1.31832 -+        (ABFD)->section_last = _prev;                  \
 1.31833 -+    }                                                  \
 1.31834 -+  while (0)
 1.31835 -+#define bfd_section_list_append(ABFD, S) \
 1.31836 -+  do                                                   \
 1.31837 -+    {                                                  \
 1.31838 -+      asection *_s = S;                                \
 1.31839 -+      bfd *_abfd = ABFD;                               \
 1.31840 -+      _s->next = NULL;                                 \
 1.31841 -+      if (_abfd->section_last)                         \
 1.31842 -+        {                                              \
 1.31843 -+          _s->prev = _abfd->section_last;              \
 1.31844 -+          _abfd->section_last->next = _s;              \
 1.31845 -+        }                                              \
 1.31846 -+      else                                             \
 1.31847 -+        {                                              \
 1.31848 -+          _s->prev = NULL;                             \
 1.31849 -+          _abfd->sections = _s;                        \
 1.31850 -+        }                                              \
 1.31851 -+      _abfd->section_last = _s;                        \
 1.31852 -+    }                                                  \
 1.31853 -+  while (0)
 1.31854 -+#define bfd_section_list_prepend(ABFD, S) \
 1.31855 -+  do                                                   \
 1.31856 -+    {                                                  \
 1.31857 -+      asection *_s = S;                                \
 1.31858 -+      bfd *_abfd = ABFD;                               \
 1.31859 -+      _s->prev = NULL;                                 \
 1.31860 -+      if (_abfd->sections)                             \
 1.31861 -+        {                                              \
 1.31862 -+          _s->next = _abfd->sections;                  \
 1.31863 -+          _abfd->sections->prev = _s;                  \
 1.31864 -+        }                                              \
 1.31865 -+      else                                             \
 1.31866 -+        {                                              \
 1.31867 -+          _s->next = NULL;                             \
 1.31868 -+          _abfd->section_last = _s;                    \
 1.31869 -+        }                                              \
 1.31870 -+      _abfd->sections = _s;                            \
 1.31871 -+    }                                                  \
 1.31872 -+  while (0)
 1.31873 -+#define bfd_section_list_insert_after(ABFD, A, S) \
 1.31874 -+  do                                                   \
 1.31875 -+    {                                                  \
 1.31876 -+      asection *_a = A;                                \
 1.31877 -+      asection *_s = S;                                \
 1.31878 -+      asection *_next = _a->next;                      \
 1.31879 -+      _s->next = _next;                                \
 1.31880 -+      _s->prev = _a;                                   \
 1.31881 -+      _a->next = _s;                                   \
 1.31882 -+      if (_next)                                       \
 1.31883 -+        _next->prev = _s;                              \
 1.31884 -+      else                                             \
 1.31885 -+        (ABFD)->section_last = _s;                     \
 1.31886 -+    }                                                  \
 1.31887 -+  while (0)
 1.31888 -+#define bfd_section_list_insert_before(ABFD, B, S) \
 1.31889 -+  do                                                   \
 1.31890 -+    {                                                  \
 1.31891 -+      asection *_b = B;                                \
 1.31892 -+      asection *_s = S;                                \
 1.31893 -+      asection *_prev = _b->prev;                      \
 1.31894 -+      _s->prev = _prev;                                \
 1.31895 -+      _s->next = _b;                                   \
 1.31896 -+      _b->prev = _s;                                   \
 1.31897 -+      if (_prev)                                       \
 1.31898 -+        _prev->next = _s;                              \
 1.31899 -+      else                                             \
 1.31900 -+        (ABFD)->sections = _s;                         \
 1.31901 -+    }                                                  \
 1.31902 -+  while (0)
 1.31903 -+#define bfd_section_removed_from_list(ABFD, S) \
 1.31904 -+  ((S)->next == NULL ? (ABFD)->section_last != (S) : (S)->next->prev != (S))
 1.31905 -+
 1.31906 -+#define BFD_FAKE_SECTION(SEC, FLAGS, SYM, NAME, IDX)                   \
 1.31907 -+  /* name, id,  index, next, prev, flags, user_set_vma,            */  \
 1.31908 -+  { NAME,  IDX, 0,     NULL, NULL, FLAGS, 0,                           \
 1.31909 -+                                                                       \
 1.31910 -+  /* linker_mark, linker_has_input, gc_mark, gc_mark_from_eh,      */  \
 1.31911 -+     0,           0,                1,       0,                        \
 1.31912 -+                                                                       \
 1.31913 -+  /* segment_mark, sec_info_type, use_rela_p, has_tls_reloc,       */  \
 1.31914 -+     0,            0,             0,          0,                       \
 1.31915 -+                                                                       \
 1.31916 -+  /* has_gp_reloc, need_finalize_relax, reloc_done,                */  \
 1.31917 -+     0,            0,                   0,                             \
 1.31918 -+                                                                       \
 1.31919 -+  /* vma, lma, size, rawsize                                       */  \
 1.31920 -+     0,   0,   0,    0,                                                \
 1.31921 -+                                                                       \
 1.31922 -+  /* output_offset, output_section,              alignment_power,  */  \
 1.31923 -+     0,             (struct bfd_section *) &SEC, 0,                    \
 1.31924 -+                                                                       \
 1.31925 -+  /* relocation, orelocation, reloc_count, filepos, rel_filepos,   */  \
 1.31926 -+     NULL,       NULL,        0,           0,       0,                 \
 1.31927 -+                                                                       \
 1.31928 -+  /* line_filepos, userdata, contents, lineno, lineno_count,       */  \
 1.31929 -+     0,            NULL,     NULL,     NULL,   0,                      \
 1.31930 -+                                                                       \
 1.31931 -+  /* entsize, kept_section, moving_line_filepos,                    */ \
 1.31932 -+     0,       NULL,          0,                                        \
 1.31933 -+                                                                       \
 1.31934 -+  /* target_index, used_by_bfd, constructor_chain, owner,          */  \
 1.31935 -+     0,            NULL,        NULL,              NULL,               \
 1.31936 -+                                                                       \
 1.31937 -+  /* symbol,                    symbol_ptr_ptr,                    */  \
 1.31938 -+     (struct bfd_symbol *) SYM, &SEC.symbol,                           \
 1.31939 -+                                                                       \
 1.31940 -+  /* map_head, map_tail                                            */  \
 1.31941 -+     { NULL }, { NULL }                                                \
 1.31942 -+    }
 1.31943 -+
 1.31944 -+void bfd_section_list_clear (bfd *);
 1.31945 -+
 1.31946 -+asection *bfd_get_section_by_name (bfd *abfd, const char *name);
 1.31947 -+
 1.31948 -+asection *bfd_get_section_by_name_if
 1.31949 -+   (bfd *abfd,
 1.31950 -+    const char *name,
 1.31951 -+    bfd_boolean (*func) (bfd *abfd, asection *sect, void *obj),
 1.31952 -+    void *obj);
 1.31953 -+
 1.31954 -+char *bfd_get_unique_section_name
 1.31955 -+   (bfd *abfd, const char *templat, int *count);
 1.31956 -+
 1.31957 -+asection *bfd_make_section_old_way (bfd *abfd, const char *name);
 1.31958 -+
 1.31959 -+asection *bfd_make_section_anyway_with_flags
 1.31960 -+   (bfd *abfd, const char *name, flagword flags);
 1.31961 -+
 1.31962 -+asection *bfd_make_section_anyway (bfd *abfd, const char *name);
 1.31963 -+
 1.31964 -+asection *bfd_make_section_with_flags
 1.31965 -+   (bfd *, const char *name, flagword flags);
 1.31966 -+
 1.31967 -+asection *bfd_make_section (bfd *, const char *name);
 1.31968 -+
 1.31969 -+bfd_boolean bfd_set_section_flags
 1.31970 -+   (bfd *abfd, asection *sec, flagword flags);
 1.31971 -+
 1.31972 -+void bfd_map_over_sections
 1.31973 -+   (bfd *abfd,
 1.31974 -+    void (*func) (bfd *abfd, asection *sect, void *obj),
 1.31975 -+    void *obj);
 1.31976 -+
 1.31977 -+asection *bfd_sections_find_if
 1.31978 -+   (bfd *abfd,
 1.31979 -+    bfd_boolean (*operation) (bfd *abfd, asection *sect, void *obj),
 1.31980 -+    void *obj);
 1.31981 -+
 1.31982 -+bfd_boolean bfd_set_section_size
 1.31983 -+   (bfd *abfd, asection *sec, bfd_size_type val);
 1.31984 -+
 1.31985 -+bfd_boolean bfd_set_section_contents
 1.31986 -+   (bfd *abfd, asection *section, const void *data,
 1.31987 -+    file_ptr offset, bfd_size_type count);
 1.31988 -+
 1.31989 -+bfd_boolean bfd_get_section_contents
 1.31990 -+   (bfd *abfd, asection *section, void *location, file_ptr offset,
 1.31991 -+    bfd_size_type count);
 1.31992 -+
 1.31993 -+bfd_boolean bfd_malloc_and_get_section
 1.31994 -+   (bfd *abfd, asection *section, bfd_byte **buf);
 1.31995 -+
 1.31996 -+bfd_boolean bfd_copy_private_section_data
 1.31997 -+   (bfd *ibfd, asection *isec, bfd *obfd, asection *osec);
 1.31998 -+
 1.31999 -+#define bfd_copy_private_section_data(ibfd, isection, obfd, osection) \
 1.32000 -+     BFD_SEND (obfd, _bfd_copy_private_section_data, \
 1.32001 -+               (ibfd, isection, obfd, osection))
 1.32002 -+bfd_boolean bfd_generic_is_group_section (bfd *, const asection *sec);
 1.32003 -+
 1.32004 -+bfd_boolean bfd_generic_discard_group (bfd *abfd, asection *group);
 1.32005 -+
 1.32006 -+/* Extracted from archures.c.  */
 1.32007 -+enum bfd_architecture
 1.32008 -+{
 1.32009 -+  bfd_arch_unknown,   /* File arch not known.  */
 1.32010 -+  bfd_arch_obscure,   /* Arch known, not one of these.  */
 1.32011 -+  bfd_arch_m68k,      /* Motorola 68xxx */
 1.32012 -+#define bfd_mach_m68000 1
 1.32013 -+#define bfd_mach_m68008 2
 1.32014 -+#define bfd_mach_m68010 3
 1.32015 -+#define bfd_mach_m68020 4
 1.32016 -+#define bfd_mach_m68030 5
 1.32017 -+#define bfd_mach_m68040 6
 1.32018 -+#define bfd_mach_m68060 7
 1.32019 -+#define bfd_mach_cpu32  8
 1.32020 -+#define bfd_mach_fido   9
 1.32021 -+#define bfd_mach_mcf_isa_a_nodiv 10
 1.32022 -+#define bfd_mach_mcf_isa_a 11
 1.32023 -+#define bfd_mach_mcf_isa_a_mac 12
 1.32024 -+#define bfd_mach_mcf_isa_a_emac 13
 1.32025 -+#define bfd_mach_mcf_isa_aplus 14
 1.32026 -+#define bfd_mach_mcf_isa_aplus_mac 15
 1.32027 -+#define bfd_mach_mcf_isa_aplus_emac 16
 1.32028 -+#define bfd_mach_mcf_isa_b_nousp 17
 1.32029 -+#define bfd_mach_mcf_isa_b_nousp_mac 18
 1.32030 -+#define bfd_mach_mcf_isa_b_nousp_emac 19
 1.32031 -+#define bfd_mach_mcf_isa_b 20
 1.32032 -+#define bfd_mach_mcf_isa_b_mac 21
 1.32033 -+#define bfd_mach_mcf_isa_b_emac 22
 1.32034 -+#define bfd_mach_mcf_isa_b_float 23
 1.32035 -+#define bfd_mach_mcf_isa_b_float_mac 24
 1.32036 -+#define bfd_mach_mcf_isa_b_float_emac 25
 1.32037 -+#define bfd_mach_mcf_isa_c 26
 1.32038 -+#define bfd_mach_mcf_isa_c_mac 27
 1.32039 -+#define bfd_mach_mcf_isa_c_emac 28
 1.32040 -+  bfd_arch_vax,       /* DEC Vax */
 1.32041 -+  bfd_arch_i960,      /* Intel 960 */
 1.32042 -+    /* The order of the following is important.
 1.32043 -+       lower number indicates a machine type that
 1.32044 -+       only accepts a subset of the instructions
 1.32045 -+       available to machines with higher numbers.
 1.32046 -+       The exception is the "ca", which is
 1.32047 -+       incompatible with all other machines except
 1.32048 -+       "core".  */
 1.32049 -+
 1.32050 -+#define bfd_mach_i960_core      1
 1.32051 -+#define bfd_mach_i960_ka_sa     2
 1.32052 -+#define bfd_mach_i960_kb_sb     3
 1.32053 -+#define bfd_mach_i960_mc        4
 1.32054 -+#define bfd_mach_i960_xa        5
 1.32055 -+#define bfd_mach_i960_ca        6
 1.32056 -+#define bfd_mach_i960_jx        7
 1.32057 -+#define bfd_mach_i960_hx        8
 1.32058 -+
 1.32059 -+  bfd_arch_or32,      /* OpenRISC 32 */
 1.32060 -+
 1.32061 -+  bfd_arch_sparc,     /* SPARC */
 1.32062 -+#define bfd_mach_sparc                 1
 1.32063 -+/* The difference between v8plus and v9 is that v9 is a true 64 bit env.  */
 1.32064 -+#define bfd_mach_sparc_sparclet        2
 1.32065 -+#define bfd_mach_sparc_sparclite       3
 1.32066 -+#define bfd_mach_sparc_v8plus          4
 1.32067 -+#define bfd_mach_sparc_v8plusa         5 /* with ultrasparc add'ns.  */
 1.32068 -+#define bfd_mach_sparc_sparclite_le    6
 1.32069 -+#define bfd_mach_sparc_v9              7
 1.32070 -+#define bfd_mach_sparc_v9a             8 /* with ultrasparc add'ns.  */
 1.32071 -+#define bfd_mach_sparc_v8plusb         9 /* with cheetah add'ns.  */
 1.32072 -+#define bfd_mach_sparc_v9b             10 /* with cheetah add'ns.  */
 1.32073 -+/* Nonzero if MACH has the v9 instruction set.  */
 1.32074 -+#define bfd_mach_sparc_v9_p(mach) \
 1.32075 -+  ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9b \
 1.32076 -+   && (mach) != bfd_mach_sparc_sparclite_le)
 1.32077 -+/* Nonzero if MACH is a 64 bit sparc architecture.  */
 1.32078 -+#define bfd_mach_sparc_64bit_p(mach) \
 1.32079 -+  ((mach) >= bfd_mach_sparc_v9 && (mach) != bfd_mach_sparc_v8plusb)
 1.32080 -+  bfd_arch_spu,       /* PowerPC SPU */
 1.32081 -+#define bfd_mach_spu           256 
 1.32082 -+  bfd_arch_mips,      /* MIPS Rxxxx */
 1.32083 -+#define bfd_mach_mips3000              3000
 1.32084 -+#define bfd_mach_mips3900              3900
 1.32085 -+#define bfd_mach_mips4000              4000
 1.32086 -+#define bfd_mach_mips4010              4010
 1.32087 -+#define bfd_mach_mips4100              4100
 1.32088 -+#define bfd_mach_mips4111              4111
 1.32089 -+#define bfd_mach_mips4120              4120
 1.32090 -+#define bfd_mach_mips4300              4300
 1.32091 -+#define bfd_mach_mips4400              4400
 1.32092 -+#define bfd_mach_mips4600              4600
 1.32093 -+#define bfd_mach_mips4650              4650
 1.32094 -+#define bfd_mach_mips5000              5000
 1.32095 -+#define bfd_mach_mips5400              5400
 1.32096 -+#define bfd_mach_mips5500              5500
 1.32097 -+#define bfd_mach_mips6000              6000
 1.32098 -+#define bfd_mach_mips7000              7000
 1.32099 -+#define bfd_mach_mips8000              8000
 1.32100 -+#define bfd_mach_mips9000              9000
 1.32101 -+#define bfd_mach_mips10000             10000
 1.32102 -+#define bfd_mach_mips12000             12000
 1.32103 -+#define bfd_mach_mips16                16
 1.32104 -+#define bfd_mach_mips5                 5
 1.32105 -+#define bfd_mach_mips_sb1              12310201 /* octal 'SB', 01 */
 1.32106 -+#define bfd_mach_mipsisa32             32
 1.32107 -+#define bfd_mach_mipsisa32r2           33
 1.32108 -+#define bfd_mach_mipsisa64             64
 1.32109 -+#define bfd_mach_mipsisa64r2           65
 1.32110 -+  bfd_arch_i386,      /* Intel 386 */
 1.32111 -+#define bfd_mach_i386_i386 1
 1.32112 -+#define bfd_mach_i386_i8086 2
 1.32113 -+#define bfd_mach_i386_i386_intel_syntax 3
 1.32114 -+#define bfd_mach_x86_64 64
 1.32115 -+#define bfd_mach_x86_64_intel_syntax 65
 1.32116 -+  bfd_arch_we32k,     /* AT&T WE32xxx */
 1.32117 -+  bfd_arch_tahoe,     /* CCI/Harris Tahoe */
 1.32118 -+  bfd_arch_i860,      /* Intel 860 */
 1.32119 -+  bfd_arch_i370,      /* IBM 360/370 Mainframes */
 1.32120 -+  bfd_arch_romp,      /* IBM ROMP PC/RT */
 1.32121 -+  bfd_arch_convex,    /* Convex */
 1.32122 -+  bfd_arch_m88k,      /* Motorola 88xxx */
 1.32123 -+  bfd_arch_m98k,      /* Motorola 98xxx */
 1.32124 -+  bfd_arch_pyramid,   /* Pyramid Technology */
 1.32125 -+  bfd_arch_h8300,     /* Renesas H8/300 (formerly Hitachi H8/300) */
 1.32126 -+#define bfd_mach_h8300    1
 1.32127 -+#define bfd_mach_h8300h   2
 1.32128 -+#define bfd_mach_h8300s   3
 1.32129 -+#define bfd_mach_h8300hn  4
 1.32130 -+#define bfd_mach_h8300sn  5
 1.32131 -+#define bfd_mach_h8300sx  6
 1.32132 -+#define bfd_mach_h8300sxn 7
 1.32133 -+  bfd_arch_pdp11,     /* DEC PDP-11 */
 1.32134 -+  bfd_arch_powerpc,   /* PowerPC */
 1.32135 -+#define bfd_mach_ppc           32
 1.32136 -+#define bfd_mach_ppc64         64
 1.32137 -+#define bfd_mach_ppc_403       403
 1.32138 -+#define bfd_mach_ppc_403gc     4030
 1.32139 -+#define bfd_mach_ppc_505       505
 1.32140 -+#define bfd_mach_ppc_601       601
 1.32141 -+#define bfd_mach_ppc_602       602
 1.32142 -+#define bfd_mach_ppc_603       603
 1.32143 -+#define bfd_mach_ppc_ec603e    6031
 1.32144 -+#define bfd_mach_ppc_604       604
 1.32145 -+#define bfd_mach_ppc_620       620
 1.32146 -+#define bfd_mach_ppc_630       630
 1.32147 -+#define bfd_mach_ppc_750       750
 1.32148 -+#define bfd_mach_ppc_860       860
 1.32149 -+#define bfd_mach_ppc_a35       35
 1.32150 -+#define bfd_mach_ppc_rs64ii    642
 1.32151 -+#define bfd_mach_ppc_rs64iii   643
 1.32152 -+#define bfd_mach_ppc_7400      7400
 1.32153 -+#define bfd_mach_ppc_e500      500
 1.32154 -+  bfd_arch_rs6000,    /* IBM RS/6000 */
 1.32155 -+#define bfd_mach_rs6k          6000
 1.32156 -+#define bfd_mach_rs6k_rs1      6001
 1.32157 -+#define bfd_mach_rs6k_rsc      6003
 1.32158 -+#define bfd_mach_rs6k_rs2      6002
 1.32159 -+  bfd_arch_hppa,      /* HP PA RISC */
 1.32160 -+#define bfd_mach_hppa10        10
 1.32161 -+#define bfd_mach_hppa11        11
 1.32162 -+#define bfd_mach_hppa20        20
 1.32163 -+#define bfd_mach_hppa20w       25
 1.32164 -+  bfd_arch_d10v,      /* Mitsubishi D10V */
 1.32165 -+#define bfd_mach_d10v          1
 1.32166 -+#define bfd_mach_d10v_ts2      2
 1.32167 -+#define bfd_mach_d10v_ts3      3
 1.32168 -+  bfd_arch_d30v,      /* Mitsubishi D30V */
 1.32169 -+  bfd_arch_dlx,       /* DLX */
 1.32170 -+  bfd_arch_m68hc11,   /* Motorola 68HC11 */
 1.32171 -+  bfd_arch_m68hc12,   /* Motorola 68HC12 */
 1.32172 -+#define bfd_mach_m6812_default 0
 1.32173 -+#define bfd_mach_m6812         1
 1.32174 -+#define bfd_mach_m6812s        2
 1.32175 -+  bfd_arch_z8k,       /* Zilog Z8000 */
 1.32176 -+#define bfd_mach_z8001         1
 1.32177 -+#define bfd_mach_z8002         2
 1.32178 -+  bfd_arch_h8500,     /* Renesas H8/500 (formerly Hitachi H8/500) */
 1.32179 -+  bfd_arch_sh,        /* Renesas / SuperH SH (formerly Hitachi SH) */
 1.32180 -+#define bfd_mach_sh            1
 1.32181 -+#define bfd_mach_sh2        0x20
 1.32182 -+#define bfd_mach_sh_dsp     0x2d
 1.32183 -+#define bfd_mach_sh2a       0x2a
 1.32184 -+#define bfd_mach_sh2a_nofpu 0x2b
 1.32185 -+#define bfd_mach_sh2a_nofpu_or_sh4_nommu_nofpu 0x2a1
 1.32186 -+#define bfd_mach_sh2a_nofpu_or_sh3_nommu 0x2a2
 1.32187 -+#define bfd_mach_sh2a_or_sh4  0x2a3
 1.32188 -+#define bfd_mach_sh2a_or_sh3e 0x2a4
 1.32189 -+#define bfd_mach_sh2e       0x2e
 1.32190 -+#define bfd_mach_sh3        0x30
 1.32191 -+#define bfd_mach_sh3_nommu  0x31
 1.32192 -+#define bfd_mach_sh3_dsp    0x3d
 1.32193 -+#define bfd_mach_sh3e       0x3e
 1.32194 -+#define bfd_mach_sh4        0x40
 1.32195 -+#define bfd_mach_sh4_nofpu  0x41
 1.32196 -+#define bfd_mach_sh4_nommu_nofpu  0x42
 1.32197 -+#define bfd_mach_sh4a       0x4a
 1.32198 -+#define bfd_mach_sh4a_nofpu 0x4b
 1.32199 -+#define bfd_mach_sh4al_dsp  0x4d
 1.32200 -+#define bfd_mach_sh5        0x50
 1.32201 -+  bfd_arch_alpha,     /* Dec Alpha */
 1.32202 -+#define bfd_mach_alpha_ev4  0x10
 1.32203 -+#define bfd_mach_alpha_ev5  0x20
 1.32204 -+#define bfd_mach_alpha_ev6  0x30
 1.32205 -+  bfd_arch_arm,       /* Advanced Risc Machines ARM.  */
 1.32206 -+#define bfd_mach_arm_unknown   0
 1.32207 -+#define bfd_mach_arm_2         1
 1.32208 -+#define bfd_mach_arm_2a        2
 1.32209 -+#define bfd_mach_arm_3         3
 1.32210 -+#define bfd_mach_arm_3M        4
 1.32211 -+#define bfd_mach_arm_4         5
 1.32212 -+#define bfd_mach_arm_4T        6
 1.32213 -+#define bfd_mach_arm_5         7
 1.32214 -+#define bfd_mach_arm_5T        8
 1.32215 -+#define bfd_mach_arm_5TE       9
 1.32216 -+#define bfd_mach_arm_XScale    10
 1.32217 -+#define bfd_mach_arm_ep9312    11
 1.32218 -+#define bfd_mach_arm_iWMMXt    12
 1.32219 -+#define bfd_mach_arm_iWMMXt2   13
 1.32220 -+  bfd_arch_ns32k,     /* National Semiconductors ns32000 */
 1.32221 -+  bfd_arch_w65,       /* WDC 65816 */
 1.32222 -+  bfd_arch_tic30,     /* Texas Instruments TMS320C30 */
 1.32223 -+  bfd_arch_tic4x,     /* Texas Instruments TMS320C3X/4X */
 1.32224 -+#define bfd_mach_tic3x         30
 1.32225 -+#define bfd_mach_tic4x         40
 1.32226 -+  bfd_arch_tic54x,    /* Texas Instruments TMS320C54X */
 1.32227 -+  bfd_arch_tic80,     /* TI TMS320c80 (MVP) */
 1.32228 -+  bfd_arch_v850,      /* NEC V850 */
 1.32229 -+#define bfd_mach_v850          1
 1.32230 -+#define bfd_mach_v850e         'E'
 1.32231 -+#define bfd_mach_v850e1        '1'
 1.32232 -+  bfd_arch_arc,       /* ARC Cores */
 1.32233 -+#define bfd_mach_arc_5         5
 1.32234 -+#define bfd_mach_arc_6         6
 1.32235 -+#define bfd_mach_arc_7         7
 1.32236 -+#define bfd_mach_arc_8         8
 1.32237 -+ bfd_arch_m32c,     /* Renesas M16C/M32C.  */
 1.32238 -+#define bfd_mach_m16c        0x75
 1.32239 -+#define bfd_mach_m32c        0x78
 1.32240 -+  bfd_arch_m32r,      /* Renesas M32R (formerly Mitsubishi M32R/D) */
 1.32241 -+#define bfd_mach_m32r          1 /* For backwards compatibility.  */
 1.32242 -+#define bfd_mach_m32rx         'x'
 1.32243 -+#define bfd_mach_m32r2         '2'
 1.32244 -+  bfd_arch_mn10200,   /* Matsushita MN10200 */
 1.32245 -+  bfd_arch_mn10300,   /* Matsushita MN10300 */
 1.32246 -+#define bfd_mach_mn10300               300
 1.32247 -+#define bfd_mach_am33          330
 1.32248 -+#define bfd_mach_am33_2        332
 1.32249 -+  bfd_arch_fr30,
 1.32250 -+#define bfd_mach_fr30          0x46523330
 1.32251 -+  bfd_arch_frv,
 1.32252 -+#define bfd_mach_frv           1
 1.32253 -+#define bfd_mach_frvsimple     2
 1.32254 -+#define bfd_mach_fr300         300
 1.32255 -+#define bfd_mach_fr400         400
 1.32256 -+#define bfd_mach_fr450         450
 1.32257 -+#define bfd_mach_frvtomcat     499     /* fr500 prototype */
 1.32258 -+#define bfd_mach_fr500         500
 1.32259 -+#define bfd_mach_fr550         550
 1.32260 -+  bfd_arch_mcore,
 1.32261 -+  bfd_arch_mep,
 1.32262 -+#define bfd_mach_mep           1
 1.32263 -+#define bfd_mach_mep_h1        0x6831
 1.32264 -+  bfd_arch_ia64,      /* HP/Intel ia64 */
 1.32265 -+#define bfd_mach_ia64_elf64    64
 1.32266 -+#define bfd_mach_ia64_elf32    32
 1.32267 -+  bfd_arch_ip2k,      /* Ubicom IP2K microcontrollers. */
 1.32268 -+#define bfd_mach_ip2022        1
 1.32269 -+#define bfd_mach_ip2022ext     2
 1.32270 -+ bfd_arch_iq2000,     /* Vitesse IQ2000.  */
 1.32271 -+#define bfd_mach_iq2000        1
 1.32272 -+#define bfd_mach_iq10          2
 1.32273 -+  bfd_arch_mt,
 1.32274 -+#define bfd_mach_ms1           1
 1.32275 -+#define bfd_mach_mrisc2        2
 1.32276 -+#define bfd_mach_ms2           3
 1.32277 -+  bfd_arch_pj,
 1.32278 -+  bfd_arch_avr,       /* Atmel AVR microcontrollers.  */
 1.32279 -+#define bfd_mach_avr1          1
 1.32280 -+#define bfd_mach_avr2          2
 1.32281 -+#define bfd_mach_avr3          3
 1.32282 -+#define bfd_mach_avr4          4
 1.32283 -+#define bfd_mach_avr5          5
 1.32284 -+#define bfd_mach_avr6          6
 1.32285 -+  bfd_arch_bfin,        /* ADI Blackfin */
 1.32286 -+#define bfd_mach_bfin          1
 1.32287 -+  bfd_arch_cr16,       /* National Semiconductor CompactRISC (ie CR16). */
 1.32288 -+#define bfd_mach_cr16          1
 1.32289 -+  bfd_arch_cr16c,       /* National Semiconductor CompactRISC. */
 1.32290 -+#define bfd_mach_cr16c         1
 1.32291 -+  bfd_arch_crx,       /*  National Semiconductor CRX.  */
 1.32292 -+#define bfd_mach_crx           1
 1.32293 -+  bfd_arch_cris,      /* Axis CRIS */
 1.32294 -+#define bfd_mach_cris_v0_v10   255
 1.32295 -+#define bfd_mach_cris_v32      32
 1.32296 -+#define bfd_mach_cris_v10_v32  1032
 1.32297 -+  bfd_arch_s390,      /* IBM s390 */
 1.32298 -+#define bfd_mach_s390_31       31
 1.32299 -+#define bfd_mach_s390_64       64
 1.32300 -+  bfd_arch_score,     /* Sunplus score */ 
 1.32301 -+  bfd_arch_openrisc,  /* OpenRISC */
 1.32302 -+  bfd_arch_mmix,      /* Donald Knuth's educational processor.  */
 1.32303 -+  bfd_arch_xstormy16,
 1.32304 -+#define bfd_mach_xstormy16     1
 1.32305 -+  bfd_arch_msp430,    /* Texas Instruments MSP430 architecture.  */
 1.32306 -+#define bfd_mach_msp11          11
 1.32307 -+#define bfd_mach_msp110         110
 1.32308 -+#define bfd_mach_msp12          12
 1.32309 -+#define bfd_mach_msp13          13
 1.32310 -+#define bfd_mach_msp14          14
 1.32311 -+#define bfd_mach_msp15          15
 1.32312 -+#define bfd_mach_msp16          16
 1.32313 -+#define bfd_mach_msp21          21
 1.32314 -+#define bfd_mach_msp31          31
 1.32315 -+#define bfd_mach_msp32          32
 1.32316 -+#define bfd_mach_msp33          33
 1.32317 -+#define bfd_mach_msp41          41
 1.32318 -+#define bfd_mach_msp42          42
 1.32319 -+#define bfd_mach_msp43          43
 1.32320 -+#define bfd_mach_msp44          44
 1.32321 -+  bfd_arch_xc16x,     /* Infineon's XC16X Series.               */
 1.32322 -+#define bfd_mach_xc16x         1
 1.32323 -+#define bfd_mach_xc16xl        2
 1.32324 -+#define bfd_mach_xc16xs         3
 1.32325 -+  bfd_arch_xtensa,    /* Tensilica's Xtensa cores.  */
 1.32326 -+#define bfd_mach_xtensa        1
 1.32327 -+   bfd_arch_maxq,     /* Dallas MAXQ 10/20 */
 1.32328 -+#define bfd_mach_maxq10    10
 1.32329 -+#define bfd_mach_maxq20    20
 1.32330 -+  bfd_arch_z80,
 1.32331 -+#define bfd_mach_z80strict      1 /* No undocumented opcodes.  */
 1.32332 -+#define bfd_mach_z80            3 /* With ixl, ixh, iyl, and iyh.  */
 1.32333 -+#define bfd_mach_z80full        7 /* All undocumented instructions.  */
 1.32334 -+#define bfd_mach_r800           11 /* R800: successor with multiplication.  */
 1.32335 -+  bfd_arch_last
 1.32336 -+  };
 1.32337 -+
 1.32338 -+typedef struct bfd_arch_info
 1.32339 -+{
 1.32340 -+  int bits_per_word;
 1.32341 -+  int bits_per_address;
 1.32342 -+  int bits_per_byte;
 1.32343 -+  enum bfd_architecture arch;
 1.32344 -+  unsigned long mach;
 1.32345 -+  const char *arch_name;
 1.32346 -+  const char *printable_name;
 1.32347 -+  unsigned int section_align_power;
 1.32348 -+  /* TRUE if this is the default machine for the architecture.
 1.32349 -+     The default arch should be the first entry for an arch so that
 1.32350 -+     all the entries for that arch can be accessed via <<next>>.  */
 1.32351 -+  bfd_boolean the_default;
 1.32352 -+  const struct bfd_arch_info * (*compatible)
 1.32353 -+    (const struct bfd_arch_info *a, const struct bfd_arch_info *b);
 1.32354 -+
 1.32355 -+  bfd_boolean (*scan) (const struct bfd_arch_info *, const char *);
 1.32356 -+
 1.32357 -+  const struct bfd_arch_info *next;
 1.32358 -+}
 1.32359 -+bfd_arch_info_type;
 1.32360 -+
 1.32361 -+const char *bfd_printable_name (bfd *abfd);
 1.32362 -+
 1.32363 -+const bfd_arch_info_type *bfd_scan_arch (const char *string);
 1.32364 -+
 1.32365 -+const char **bfd_arch_list (void);
 1.32366 -+
 1.32367 -+const bfd_arch_info_type *bfd_arch_get_compatible
 1.32368 -+   (const bfd *abfd, const bfd *bbfd, bfd_boolean accept_unknowns);
 1.32369 -+
 1.32370 -+void bfd_set_arch_info (bfd *abfd, const bfd_arch_info_type *arg);
 1.32371 -+
 1.32372 -+enum bfd_architecture bfd_get_arch (bfd *abfd);
 1.32373 -+
 1.32374 -+unsigned long bfd_get_mach (bfd *abfd);
 1.32375 -+
 1.32376 -+unsigned int bfd_arch_bits_per_byte (bfd *abfd);
 1.32377 -+
 1.32378 -+unsigned int bfd_arch_bits_per_address (bfd *abfd);
 1.32379 -+
 1.32380 -+const bfd_arch_info_type *bfd_get_arch_info (bfd *abfd);
 1.32381 -+
 1.32382 -+const bfd_arch_info_type *bfd_lookup_arch
 1.32383 -+   (enum bfd_architecture arch, unsigned long machine);
 1.32384 -+
 1.32385 -+const char *bfd_printable_arch_mach
 1.32386 -+   (enum bfd_architecture arch, unsigned long machine);
 1.32387 -+
 1.32388 -+unsigned int bfd_octets_per_byte (bfd *abfd);
 1.32389 -+
 1.32390 -+unsigned int bfd_arch_mach_octets_per_byte
 1.32391 -+   (enum bfd_architecture arch, unsigned long machine);
 1.32392 -+
 1.32393 -+/* Extracted from reloc.c.  */
 1.32394 -+typedef enum bfd_reloc_status
 1.32395 -+{
 1.32396 -+  /* No errors detected.  */
 1.32397 -+  bfd_reloc_ok,
 1.32398 -+
 1.32399 -+  /* The relocation was performed, but there was an overflow.  */
 1.32400 -+  bfd_reloc_overflow,
 1.32401 -+
 1.32402 -+  /* The address to relocate was not within the section supplied.  */
 1.32403 -+  bfd_reloc_outofrange,
 1.32404 -+
 1.32405 -+  /* Used by special functions.  */
 1.32406 -+  bfd_reloc_continue,
 1.32407 -+
 1.32408 -+  /* Unsupported relocation size requested.  */
 1.32409 -+  bfd_reloc_notsupported,
 1.32410 -+
 1.32411 -+  /* Unused.  */
 1.32412 -+  bfd_reloc_other,
 1.32413 -+
 1.32414 -+  /* The symbol to relocate against was undefined.  */
 1.32415 -+  bfd_reloc_undefined,
 1.32416 -+
 1.32417 -+  /* The relocation was performed, but may not be ok - presently
 1.32418 -+     generated only when linking i960 coff files with i960 b.out
 1.32419 -+     symbols.  If this type is returned, the error_message argument
 1.32420 -+     to bfd_perform_relocation will be set.  */
 1.32421 -+  bfd_reloc_dangerous
 1.32422 -+ }
 1.32423 -+ bfd_reloc_status_type;
 1.32424 -+
 1.32425 -+
 1.32426 -+typedef struct reloc_cache_entry
 1.32427 -+{
 1.32428 -+  /* A pointer into the canonical table of pointers.  */
 1.32429 -+  struct bfd_symbol **sym_ptr_ptr;
 1.32430 -+
 1.32431 -+  /* offset in section.  */
 1.32432 -+  bfd_size_type address;
 1.32433 -+
 1.32434 -+  /* addend for relocation value.  */
 1.32435 -+  bfd_vma addend;
 1.32436 -+
 1.32437 -+  /* Pointer to how to perform the required relocation.  */
 1.32438 -+  reloc_howto_type *howto;
 1.32439 -+
 1.32440 -+}
 1.32441 -+arelent;
 1.32442 -+
 1.32443 -+enum complain_overflow
 1.32444 -+{
 1.32445 -+  /* Do not complain on overflow.  */
 1.32446 -+  complain_overflow_dont,
 1.32447 -+
 1.32448 -+  /* Complain if the value overflows when considered as a signed
 1.32449 -+     number one bit larger than the field.  ie. A bitfield of N bits
 1.32450 -+     is allowed to represent -2**n to 2**n-1.  */
 1.32451 -+  complain_overflow_bitfield,
 1.32452 -+
 1.32453 -+  /* Complain if the value overflows when considered as a signed
 1.32454 -+     number.  */
 1.32455 -+  complain_overflow_signed,
 1.32456 -+
 1.32457 -+  /* Complain if the value overflows when considered as an
 1.32458 -+     unsigned number.  */
 1.32459 -+  complain_overflow_unsigned
 1.32460 -+};
 1.32461 -+
 1.32462 -+struct reloc_howto_struct
 1.32463 -+{
 1.32464 -+  /*  The type field has mainly a documentary use - the back end can
 1.32465 -+      do what it wants with it, though normally the back end's
 1.32466 -+      external idea of what a reloc number is stored
 1.32467 -+      in this field.  For example, a PC relative word relocation
 1.32468 -+      in a coff environment has the type 023 - because that's
 1.32469 -+      what the outside world calls a R_PCRWORD reloc.  */
 1.32470 -+  unsigned int type;
 1.32471 -+
 1.32472 -+  /*  The value the final relocation is shifted right by.  This drops
 1.32473 -+      unwanted data from the relocation.  */
 1.32474 -+  unsigned int rightshift;
 1.32475 -+
 1.32476 -+  /*  The size of the item to be relocated.  This is *not* a
 1.32477 -+      power-of-two measure.  To get the number of bytes operated
 1.32478 -+      on by a type of relocation, use bfd_get_reloc_size.  */
 1.32479 -+  int size;
 1.32480 -+
 1.32481 -+  /*  The number of bits in the item to be relocated.  This is used
 1.32482 -+      when doing overflow checking.  */
 1.32483 -+  unsigned int bitsize;
 1.32484 -+
 1.32485 -+  /*  Notes that the relocation is relative to the location in the
 1.32486 -+      data section of the addend.  The relocation function will
 1.32487 -+      subtract from the relocation value the address of the location
 1.32488 -+      being relocated.  */
 1.32489 -+  bfd_boolean pc_relative;
 1.32490 -+
 1.32491 -+  /*  The bit position of the reloc value in the destination.
 1.32492 -+      The relocated value is left shifted by this amount.  */
 1.32493 -+  unsigned int bitpos;
 1.32494 -+
 1.32495 -+  /* What type of overflow error should be checked for when
 1.32496 -+     relocating.  */
 1.32497 -+  enum complain_overflow complain_on_overflow;
 1.32498 -+
 1.32499 -+  /* If this field is non null, then the supplied function is
 1.32500 -+     called rather than the normal function.  This allows really
 1.32501 -+     strange relocation methods to be accommodated (e.g., i960 callj
 1.32502 -+     instructions).  */
 1.32503 -+  bfd_reloc_status_type (*special_function)
 1.32504 -+    (bfd *, arelent *, struct bfd_symbol *, void *, asection *,
 1.32505 -+     bfd *, char **);
 1.32506 -+
 1.32507 -+  /* The textual name of the relocation type.  */
 1.32508 -+  char *name;
 1.32509 -+
 1.32510 -+  /* Some formats record a relocation addend in the section contents
 1.32511 -+     rather than with the relocation.  For ELF formats this is the
 1.32512 -+     distinction between USE_REL and USE_RELA (though the code checks
 1.32513 -+     for USE_REL == 1/0).  The value of this field is TRUE if the
 1.32514 -+     addend is recorded with the section contents; when performing a
 1.32515 -+     partial link (ld -r) the section contents (the data) will be
 1.32516 -+     modified.  The value of this field is FALSE if addends are
 1.32517 -+     recorded with the relocation (in arelent.addend); when performing
 1.32518 -+     a partial link the relocation will be modified.
 1.32519 -+     All relocations for all ELF USE_RELA targets should set this field
 1.32520 -+     to FALSE (values of TRUE should be looked on with suspicion).
 1.32521 -+     However, the converse is not true: not all relocations of all ELF
 1.32522 -+     USE_REL targets set this field to TRUE.  Why this is so is peculiar
 1.32523 -+     to each particular target.  For relocs that aren't used in partial
 1.32524 -+     links (e.g. GOT stuff) it doesn't matter what this is set to.  */
 1.32525 -+  bfd_boolean partial_inplace;
 1.32526 -+
 1.32527 -+  /* src_mask selects the part of the instruction (or data) to be used
 1.32528 -+     in the relocation sum.  If the target relocations don't have an
 1.32529 -+     addend in the reloc, eg. ELF USE_REL, src_mask will normally equal
 1.32530 -+     dst_mask to extract the addend from the section contents.  If
 1.32531 -+     relocations do have an addend in the reloc, eg. ELF USE_RELA, this
 1.32532 -+     field should be zero.  Non-zero values for ELF USE_RELA targets are
 1.32533 -+     bogus as in those cases the value in the dst_mask part of the
 1.32534 -+     section contents should be treated as garbage.  */
 1.32535 -+  bfd_vma src_mask;
 1.32536 -+
 1.32537 -+  /* dst_mask selects which parts of the instruction (or data) are
 1.32538 -+     replaced with a relocated value.  */
 1.32539 -+  bfd_vma dst_mask;
 1.32540 -+
 1.32541 -+  /* When some formats create PC relative instructions, they leave
 1.32542 -+     the value of the pc of the place being relocated in the offset
 1.32543 -+     slot of the instruction, so that a PC relative relocation can
 1.32544 -+     be made just by adding in an ordinary offset (e.g., sun3 a.out).
 1.32545 -+     Some formats leave the displacement part of an instruction
 1.32546 -+     empty (e.g., m88k bcs); this flag signals the fact.  */
 1.32547 -+  bfd_boolean pcrel_offset;
 1.32548 -+};
 1.32549 -+
 1.32550 -+#define HOWTO(C, R, S, B, P, BI, O, SF, NAME, INPLACE, MASKSRC, MASKDST, PC) \
 1.32551 -+  { (unsigned) C, R, S, B, P, BI, O, SF, NAME, INPLACE, MASKSRC, MASKDST, PC }
 1.32552 -+#define NEWHOWTO(FUNCTION, NAME, SIZE, REL, IN) \
 1.32553 -+  HOWTO (0, 0, SIZE, 0, REL, 0, complain_overflow_dont, FUNCTION, \
 1.32554 -+         NAME, FALSE, 0, 0, IN)
 1.32555 -+
 1.32556 -+#define EMPTY_HOWTO(C) \
 1.32557 -+  HOWTO ((C), 0, 0, 0, FALSE, 0, complain_overflow_dont, NULL, \
 1.32558 -+         NULL, FALSE, 0, 0, FALSE)
 1.32559 -+
 1.32560 -+#define HOWTO_PREPARE(relocation, symbol)               \
 1.32561 -+  {                                                     \
 1.32562 -+    if (symbol != NULL)                                 \
 1.32563 -+      {                                                 \
 1.32564 -+        if (bfd_is_com_section (symbol->section))       \
 1.32565 -+          {                                             \
 1.32566 -+            relocation = 0;                             \
 1.32567 -+          }                                             \
 1.32568 -+        else                                            \
 1.32569 -+          {                                             \
 1.32570 -+            relocation = symbol->value;                 \
 1.32571 -+          }                                             \
 1.32572 -+      }                                                 \
 1.32573 -+  }
 1.32574 -+
 1.32575 -+unsigned int bfd_get_reloc_size (reloc_howto_type *);
 1.32576 -+
 1.32577 -+typedef struct relent_chain
 1.32578 -+{
 1.32579 -+  arelent relent;
 1.32580 -+  struct relent_chain *next;
 1.32581 -+}
 1.32582 -+arelent_chain;
 1.32583 -+
 1.32584 -+bfd_reloc_status_type bfd_check_overflow
 1.32585 -+   (enum complain_overflow how,
 1.32586 -+    unsigned int bitsize,
 1.32587 -+    unsigned int rightshift,
 1.32588 -+    unsigned int addrsize,
 1.32589 -+    bfd_vma relocation);
 1.32590 -+
 1.32591 -+bfd_reloc_status_type bfd_perform_relocation
 1.32592 -+   (bfd *abfd,
 1.32593 -+    arelent *reloc_entry,
 1.32594 -+    void *data,
 1.32595 -+    asection *input_section,
 1.32596 -+    bfd *output_bfd,
 1.32597 -+    char **error_message);
 1.32598 -+
 1.32599 -+bfd_reloc_status_type bfd_install_relocation
 1.32600 -+   (bfd *abfd,
 1.32601 -+    arelent *reloc_entry,
 1.32602 -+    void *data, bfd_vma data_start,
 1.32603 -+    asection *input_section,
 1.32604 -+    char **error_message);
 1.32605 -+
 1.32606 -+enum bfd_reloc_code_real {
 1.32607 -+  _dummy_first_bfd_reloc_code_real,
 1.32608 -+
 1.32609 -+
 1.32610 -+/* Basic absolute relocations of N bits.  */
 1.32611 -+  BFD_RELOC_64,
 1.32612 -+  BFD_RELOC_32,
 1.32613 -+  BFD_RELOC_26,
 1.32614 -+  BFD_RELOC_24,
 1.32615 -+  BFD_RELOC_16,
 1.32616 -+  BFD_RELOC_14,
 1.32617 -+  BFD_RELOC_8,
 1.32618 -+
 1.32619 -+/* PC-relative relocations.  Sometimes these are relative to the address
 1.32620 -+of the relocation itself; sometimes they are relative to the start of
 1.32621 -+the section containing the relocation.  It depends on the specific target.
 1.32622 -+
 1.32623 -+The 24-bit relocation is used in some Intel 960 configurations.  */
 1.32624 -+  BFD_RELOC_64_PCREL,
 1.32625 -+  BFD_RELOC_32_PCREL,
 1.32626 -+  BFD_RELOC_24_PCREL,
 1.32627 -+  BFD_RELOC_16_PCREL,
 1.32628 -+  BFD_RELOC_12_PCREL,
 1.32629 -+  BFD_RELOC_8_PCREL,
 1.32630 -+
 1.32631 -+/* Section relative relocations.  Some targets need this for DWARF2.  */
 1.32632 -+  BFD_RELOC_32_SECREL,
 1.32633 -+
 1.32634 -+/* For ELF.  */
 1.32635 -+  BFD_RELOC_32_GOT_PCREL,
 1.32636 -+  BFD_RELOC_16_GOT_PCREL,
 1.32637 -+  BFD_RELOC_8_GOT_PCREL,
 1.32638 -+  BFD_RELOC_32_GOTOFF,
 1.32639 -+  BFD_RELOC_16_GOTOFF,
 1.32640 -+  BFD_RELOC_LO16_GOTOFF,
 1.32641 -+  BFD_RELOC_HI16_GOTOFF,
 1.32642 -+  BFD_RELOC_HI16_S_GOTOFF,
 1.32643 -+  BFD_RELOC_8_GOTOFF,
 1.32644 -+  BFD_RELOC_64_PLT_PCREL,
 1.32645 -+  BFD_RELOC_32_PLT_PCREL,
 1.32646 -+  BFD_RELOC_24_PLT_PCREL,
 1.32647 -+  BFD_RELOC_16_PLT_PCREL,
 1.32648 -+  BFD_RELOC_8_PLT_PCREL,
 1.32649 -+  BFD_RELOC_64_PLTOFF,
 1.32650 -+  BFD_RELOC_32_PLTOFF,
 1.32651 -+  BFD_RELOC_16_PLTOFF,
 1.32652 -+  BFD_RELOC_LO16_PLTOFF,
 1.32653 -+  BFD_RELOC_HI16_PLTOFF,
 1.32654 -+  BFD_RELOC_HI16_S_PLTOFF,
 1.32655 -+  BFD_RELOC_8_PLTOFF,
 1.32656 -+
 1.32657 -+/* Relocations used by 68K ELF.  */
 1.32658 -+  BFD_RELOC_68K_GLOB_DAT,
 1.32659 -+  BFD_RELOC_68K_JMP_SLOT,
 1.32660 -+  BFD_RELOC_68K_RELATIVE,
 1.32661 -+
 1.32662 -+/* Linkage-table relative.  */
 1.32663 -+  BFD_RELOC_32_BASEREL,
 1.32664 -+  BFD_RELOC_16_BASEREL,
 1.32665 -+  BFD_RELOC_LO16_BASEREL,
 1.32666 -+  BFD_RELOC_HI16_BASEREL,
 1.32667 -+  BFD_RELOC_HI16_S_BASEREL,
 1.32668 -+  BFD_RELOC_8_BASEREL,
 1.32669 -+  BFD_RELOC_RVA,
 1.32670 -+
 1.32671 -+/* Absolute 8-bit relocation, but used to form an address like 0xFFnn.  */
 1.32672 -+  BFD_RELOC_8_FFnn,
 1.32673 -+
 1.32674 -+/* These PC-relative relocations are stored as word displacements --
 1.32675 -+i.e., byte displacements shifted right two bits.  The 30-bit word
 1.32676 -+displacement (<<32_PCREL_S2>> -- 32 bits, shifted 2) is used on the
 1.32677 -+SPARC.  (SPARC tools generally refer to this as <<WDISP30>>.)  The
 1.32678 -+signed 16-bit displacement is used on the MIPS, and the 23-bit
 1.32679 -+displacement is used on the Alpha.  */
 1.32680 -+  BFD_RELOC_32_PCREL_S2,
 1.32681 -+  BFD_RELOC_16_PCREL_S2,
 1.32682 -+  BFD_RELOC_23_PCREL_S2,
 1.32683 -+
 1.32684 -+/* High 22 bits and low 10 bits of 32-bit value, placed into lower bits of
 1.32685 -+the target word.  These are used on the SPARC.  */
 1.32686 -+  BFD_RELOC_HI22,
 1.32687 -+  BFD_RELOC_LO10,
 1.32688 -+
 1.32689 -+/* For systems that allocate a Global Pointer register, these are
 1.32690 -+displacements off that register.  These relocation types are
 1.32691 -+handled specially, because the value the register will have is
 1.32692 -+decided relatively late.  */
 1.32693 -+  BFD_RELOC_GPREL16,
 1.32694 -+  BFD_RELOC_GPREL32,
 1.32695 -+
 1.32696 -+/* Reloc types used for i960/b.out.  */
 1.32697 -+  BFD_RELOC_I960_CALLJ,
 1.32698 -+
 1.32699 -+/* SPARC ELF relocations.  There is probably some overlap with other
 1.32700 -+relocation types already defined.  */
 1.32701 -+  BFD_RELOC_NONE,
 1.32702 -+  BFD_RELOC_SPARC_WDISP22,
 1.32703 -+  BFD_RELOC_SPARC22,
 1.32704 -+  BFD_RELOC_SPARC13,
 1.32705 -+  BFD_RELOC_SPARC_GOT10,
 1.32706 -+  BFD_RELOC_SPARC_GOT13,
 1.32707 -+  BFD_RELOC_SPARC_GOT22,
 1.32708 -+  BFD_RELOC_SPARC_PC10,
 1.32709 -+  BFD_RELOC_SPARC_PC22,
 1.32710 -+  BFD_RELOC_SPARC_WPLT30,
 1.32711 -+  BFD_RELOC_SPARC_COPY,
 1.32712 -+  BFD_RELOC_SPARC_GLOB_DAT,
 1.32713 -+  BFD_RELOC_SPARC_JMP_SLOT,
 1.32714 -+  BFD_RELOC_SPARC_RELATIVE,
 1.32715 -+  BFD_RELOC_SPARC_UA16,
 1.32716 -+  BFD_RELOC_SPARC_UA32,
 1.32717 -+  BFD_RELOC_SPARC_UA64,
 1.32718 -+
 1.32719 -+/* I think these are specific to SPARC a.out (e.g., Sun 4).  */
 1.32720 -+  BFD_RELOC_SPARC_BASE13,
 1.32721 -+  BFD_RELOC_SPARC_BASE22,
 1.32722 -+
 1.32723 -+/* SPARC64 relocations  */
 1.32724 -+#define BFD_RELOC_SPARC_64 BFD_RELOC_64
 1.32725 -+  BFD_RELOC_SPARC_10,
 1.32726 -+  BFD_RELOC_SPARC_11,
 1.32727 -+  BFD_RELOC_SPARC_OLO10,
 1.32728 -+  BFD_RELOC_SPARC_HH22,
 1.32729 -+  BFD_RELOC_SPARC_HM10,
 1.32730 -+  BFD_RELOC_SPARC_LM22,
 1.32731 -+  BFD_RELOC_SPARC_PC_HH22,
 1.32732 -+  BFD_RELOC_SPARC_PC_HM10,
 1.32733 -+  BFD_RELOC_SPARC_PC_LM22,
 1.32734 -+  BFD_RELOC_SPARC_WDISP16,
 1.32735 -+  BFD_RELOC_SPARC_WDISP19,
 1.32736 -+  BFD_RELOC_SPARC_7,
 1.32737 -+  BFD_RELOC_SPARC_6,
 1.32738 -+  BFD_RELOC_SPARC_5,
 1.32739 -+#define BFD_RELOC_SPARC_DISP64 BFD_RELOC_64_PCREL
 1.32740 -+  BFD_RELOC_SPARC_PLT32,
 1.32741 -+  BFD_RELOC_SPARC_PLT64,
 1.32742 -+  BFD_RELOC_SPARC_HIX22,
 1.32743 -+  BFD_RELOC_SPARC_LOX10,
 1.32744 -+  BFD_RELOC_SPARC_H44,
 1.32745 -+  BFD_RELOC_SPARC_M44,
 1.32746 -+  BFD_RELOC_SPARC_L44,
 1.32747 -+  BFD_RELOC_SPARC_REGISTER,
 1.32748 -+
 1.32749 -+/* SPARC little endian relocation  */
 1.32750 -+  BFD_RELOC_SPARC_REV32,
 1.32751 -+
 1.32752 -+/* SPARC TLS relocations  */
 1.32753 -+  BFD_RELOC_SPARC_TLS_GD_HI22,
 1.32754 -+  BFD_RELOC_SPARC_TLS_GD_LO10,
 1.32755 -+  BFD_RELOC_SPARC_TLS_GD_ADD,
 1.32756 -+  BFD_RELOC_SPARC_TLS_GD_CALL,
 1.32757 -+  BFD_RELOC_SPARC_TLS_LDM_HI22,
 1.32758 -+  BFD_RELOC_SPARC_TLS_LDM_LO10,
 1.32759 -+  BFD_RELOC_SPARC_TLS_LDM_ADD,
 1.32760 -+  BFD_RELOC_SPARC_TLS_LDM_CALL,
 1.32761 -+  BFD_RELOC_SPARC_TLS_LDO_HIX22,
 1.32762 -+  BFD_RELOC_SPARC_TLS_LDO_LOX10,
 1.32763 -+  BFD_RELOC_SPARC_TLS_LDO_ADD,
 1.32764 -+  BFD_RELOC_SPARC_TLS_IE_HI22,
 1.32765 -+  BFD_RELOC_SPARC_TLS_IE_LO10,
 1.32766 -+  BFD_RELOC_SPARC_TLS_IE_LD,
 1.32767 -+  BFD_RELOC_SPARC_TLS_IE_LDX,
 1.32768 -+  BFD_RELOC_SPARC_TLS_IE_ADD,
 1.32769 -+  BFD_RELOC_SPARC_TLS_LE_HIX22,
 1.32770 -+  BFD_RELOC_SPARC_TLS_LE_LOX10,
 1.32771 -+  BFD_RELOC_SPARC_TLS_DTPMOD32,
 1.32772 -+  BFD_RELOC_SPARC_TLS_DTPMOD64,
 1.32773 -+  BFD_RELOC_SPARC_TLS_DTPOFF32,
 1.32774 -+  BFD_RELOC_SPARC_TLS_DTPOFF64,
 1.32775 -+  BFD_RELOC_SPARC_TLS_TPOFF32,
 1.32776 -+  BFD_RELOC_SPARC_TLS_TPOFF64,
 1.32777 -+
 1.32778 -+/* SPU Relocations.  */
 1.32779 -+  BFD_RELOC_SPU_IMM7,
 1.32780 -+  BFD_RELOC_SPU_IMM8,
 1.32781 -+  BFD_RELOC_SPU_IMM10,
 1.32782 -+  BFD_RELOC_SPU_IMM10W,
 1.32783 -+  BFD_RELOC_SPU_IMM16,
 1.32784 -+  BFD_RELOC_SPU_IMM16W,
 1.32785 -+  BFD_RELOC_SPU_IMM18,
 1.32786 -+  BFD_RELOC_SPU_PCREL9a,
 1.32787 -+  BFD_RELOC_SPU_PCREL9b,
 1.32788 -+  BFD_RELOC_SPU_PCREL16,
 1.32789 -+  BFD_RELOC_SPU_LO16,
 1.32790 -+  BFD_RELOC_SPU_HI16,
 1.32791 -+  BFD_RELOC_SPU_PPU32,
 1.32792 -+  BFD_RELOC_SPU_PPU64,
 1.32793 -+
 1.32794 -+/* Alpha ECOFF and ELF relocations.  Some of these treat the symbol or
 1.32795 -+"addend" in some special way.
 1.32796 -+For GPDISP_HI16 ("gpdisp") relocations, the symbol is ignored when
 1.32797 -+writing; when reading, it will be the absolute section symbol.  The
 1.32798 -+addend is the displacement in bytes of the "lda" instruction from
 1.32799 -+the "ldah" instruction (which is at the address of this reloc).  */
 1.32800 -+  BFD_RELOC_ALPHA_GPDISP_HI16,
 1.32801 -+
 1.32802 -+/* For GPDISP_LO16 ("ignore") relocations, the symbol is handled as
 1.32803 -+with GPDISP_HI16 relocs.  The addend is ignored when writing the
 1.32804 -+relocations out, and is filled in with the file's GP value on
 1.32805 -+reading, for convenience.  */
 1.32806 -+  BFD_RELOC_ALPHA_GPDISP_LO16,
 1.32807 -+
 1.32808 -+/* The ELF GPDISP relocation is exactly the same as the GPDISP_HI16
 1.32809 -+relocation except that there is no accompanying GPDISP_LO16
 1.32810 -+relocation.  */
 1.32811 -+  BFD_RELOC_ALPHA_GPDISP,
 1.32812 -+
 1.32813 -+/* The Alpha LITERAL/LITUSE relocs are produced by a symbol reference;
 1.32814 -+the assembler turns it into a LDQ instruction to load the address of
 1.32815 -+the symbol, and then fills in a register in the real instruction.
 1.32816 -+
 1.32817 -+The LITERAL reloc, at the LDQ instruction, refers to the .lita
 1.32818 -+section symbol.  The addend is ignored when writing, but is filled
 1.32819 -+in with the file's GP value on reading, for convenience, as with the
 1.32820 -+GPDISP_LO16 reloc.
 1.32821 -+
 1.32822 -+The ELF_LITERAL reloc is somewhere between 16_GOTOFF and GPDISP_LO16.
 1.32823 -+It should refer to the symbol to be referenced, as with 16_GOTOFF,
 1.32824 -+but it generates output not based on the position within the .got
 1.32825 -+section, but relative to the GP value chosen for the file during the
 1.32826 -+final link stage.
 1.32827 -+
 1.32828 -+The LITUSE reloc, on the instruction using the loaded address, gives
 1.32829 -+information to the linker that it might be able to use to optimize
 1.32830 -+away some literal section references.  The symbol is ignored (read
 1.32831 -+as the absolute section symbol), and the "addend" indicates the type
 1.32832 -+of instruction using the register:
 1.32833 -+1 - "memory" fmt insn
 1.32834 -+2 - byte-manipulation (byte offset reg)
 1.32835 -+3 - jsr (target of branch)  */
 1.32836 -+  BFD_RELOC_ALPHA_LITERAL,
 1.32837 -+  BFD_RELOC_ALPHA_ELF_LITERAL,
 1.32838 -+  BFD_RELOC_ALPHA_LITUSE,
 1.32839 -+
 1.32840 -+/* The HINT relocation indicates a value that should be filled into the
 1.32841 -+"hint" field of a jmp/jsr/ret instruction, for possible branch-
 1.32842 -+prediction logic which may be provided on some processors.  */
 1.32843 -+  BFD_RELOC_ALPHA_HINT,
 1.32844 -+
 1.32845 -+/* The LINKAGE relocation outputs a linkage pair in the object file,
 1.32846 -+which is filled by the linker.  */
 1.32847 -+  BFD_RELOC_ALPHA_LINKAGE,
 1.32848 -+
 1.32849 -+/* The CODEADDR relocation outputs a STO_CA in the object file,
 1.32850 -+which is filled by the linker.  */
 1.32851 -+  BFD_RELOC_ALPHA_CODEADDR,
 1.32852 -+
 1.32853 -+/* The GPREL_HI/LO relocations together form a 32-bit offset from the
 1.32854 -+GP register.  */
 1.32855 -+  BFD_RELOC_ALPHA_GPREL_HI16,
 1.32856 -+  BFD_RELOC_ALPHA_GPREL_LO16,
 1.32857 -+
 1.32858 -+/* Like BFD_RELOC_23_PCREL_S2, except that the source and target must
 1.32859 -+share a common GP, and the target address is adjusted for
 1.32860 -+STO_ALPHA_STD_GPLOAD.  */
 1.32861 -+  BFD_RELOC_ALPHA_BRSGP,
 1.32862 -+
 1.32863 -+/* Alpha thread-local storage relocations.  */
 1.32864 -+  BFD_RELOC_ALPHA_TLSGD,
 1.32865 -+  BFD_RELOC_ALPHA_TLSLDM,
 1.32866 -+  BFD_RELOC_ALPHA_DTPMOD64,
 1.32867 -+  BFD_RELOC_ALPHA_GOTDTPREL16,
 1.32868 -+  BFD_RELOC_ALPHA_DTPREL64,
 1.32869 -+  BFD_RELOC_ALPHA_DTPREL_HI16,
 1.32870 -+  BFD_RELOC_ALPHA_DTPREL_LO16,
 1.32871 -+  BFD_RELOC_ALPHA_DTPREL16,
 1.32872 -+  BFD_RELOC_ALPHA_GOTTPREL16,
 1.32873 -+  BFD_RELOC_ALPHA_TPREL64,
 1.32874 -+  BFD_RELOC_ALPHA_TPREL_HI16,
 1.32875 -+  BFD_RELOC_ALPHA_TPREL_LO16,
 1.32876 -+  BFD_RELOC_ALPHA_TPREL16,
 1.32877 -+
 1.32878 -+/* Bits 27..2 of the relocation address shifted right 2 bits;
 1.32879 -+simple reloc otherwise.  */
 1.32880 -+  BFD_RELOC_MIPS_JMP,
 1.32881 -+
 1.32882 -+/* The MIPS16 jump instruction.  */
 1.32883 -+  BFD_RELOC_MIPS16_JMP,
 1.32884 -+
 1.32885 -+/* MIPS16 GP relative reloc.  */
 1.32886 -+  BFD_RELOC_MIPS16_GPREL,
 1.32887 -+
 1.32888 -+/* High 16 bits of 32-bit value; simple reloc.  */
 1.32889 -+  BFD_RELOC_HI16,
 1.32890 -+
 1.32891 -+/* High 16 bits of 32-bit value but the low 16 bits will be sign
 1.32892 -+extended and added to form the final result.  If the low 16
 1.32893 -+bits form a negative number, we need to add one to the high value
 1.32894 -+to compensate for the borrow when the low bits are added.  */
 1.32895 -+  BFD_RELOC_HI16_S,
 1.32896 -+
 1.32897 -+/* Low 16 bits.  */
 1.32898 -+  BFD_RELOC_LO16,
 1.32899 -+
 1.32900 -+/* High 16 bits of 32-bit pc-relative value  */
 1.32901 -+  BFD_RELOC_HI16_PCREL,
 1.32902 -+
 1.32903 -+/* High 16 bits of 32-bit pc-relative value, adjusted  */
 1.32904 -+  BFD_RELOC_HI16_S_PCREL,
 1.32905 -+
 1.32906 -+/* Low 16 bits of pc-relative value  */
 1.32907 -+  BFD_RELOC_LO16_PCREL,
 1.32908 -+
 1.32909 -+/* MIPS16 high 16 bits of 32-bit value.  */
 1.32910 -+  BFD_RELOC_MIPS16_HI16,
 1.32911 -+
 1.32912 -+/* MIPS16 high 16 bits of 32-bit value but the low 16 bits will be sign
 1.32913 -+extended and added to form the final result.  If the low 16
 1.32914 -+bits form a negative number, we need to add one to the high value
 1.32915 -+to compensate for the borrow when the low bits are added.  */
 1.32916 -+  BFD_RELOC_MIPS16_HI16_S,
 1.32917 -+
 1.32918 -+/* MIPS16 low 16 bits.  */
 1.32919 -+  BFD_RELOC_MIPS16_LO16,
 1.32920 -+
 1.32921 -+/* Relocation against a MIPS literal section.  */
 1.32922 -+  BFD_RELOC_MIPS_LITERAL,
 1.32923 -+
 1.32924 -+/* MIPS ELF relocations.  */
 1.32925 -+  BFD_RELOC_MIPS_GOT16,
 1.32926 -+  BFD_RELOC_MIPS_CALL16,
 1.32927 -+  BFD_RELOC_MIPS_GOT_HI16,
 1.32928 -+  BFD_RELOC_MIPS_GOT_LO16,
 1.32929 -+  BFD_RELOC_MIPS_CALL_HI16,
 1.32930 -+  BFD_RELOC_MIPS_CALL_LO16,
 1.32931 -+  BFD_RELOC_MIPS_SUB,
 1.32932 -+  BFD_RELOC_MIPS_GOT_PAGE,
 1.32933 -+  BFD_RELOC_MIPS_GOT_OFST,
 1.32934 -+  BFD_RELOC_MIPS_GOT_DISP,
 1.32935 -+  BFD_RELOC_MIPS_SHIFT5,
 1.32936 -+  BFD_RELOC_MIPS_SHIFT6,
 1.32937 -+  BFD_RELOC_MIPS_INSERT_A,
 1.32938 -+  BFD_RELOC_MIPS_INSERT_B,
 1.32939 -+  BFD_RELOC_MIPS_DELETE,
 1.32940 -+  BFD_RELOC_MIPS_HIGHEST,
 1.32941 -+  BFD_RELOC_MIPS_HIGHER,
 1.32942 -+  BFD_RELOC_MIPS_SCN_DISP,
 1.32943 -+  BFD_RELOC_MIPS_REL16,
 1.32944 -+  BFD_RELOC_MIPS_RELGOT,
 1.32945 -+  BFD_RELOC_MIPS_JALR,
 1.32946 -+  BFD_RELOC_MIPS_TLS_DTPMOD32,
 1.32947 -+  BFD_RELOC_MIPS_TLS_DTPREL32,
 1.32948 -+  BFD_RELOC_MIPS_TLS_DTPMOD64,
 1.32949 -+  BFD_RELOC_MIPS_TLS_DTPREL64,
 1.32950 -+  BFD_RELOC_MIPS_TLS_GD,
 1.32951 -+  BFD_RELOC_MIPS_TLS_LDM,
 1.32952 -+  BFD_RELOC_MIPS_TLS_DTPREL_HI16,
 1.32953 -+  BFD_RELOC_MIPS_TLS_DTPREL_LO16,
 1.32954 -+  BFD_RELOC_MIPS_TLS_GOTTPREL,
 1.32955 -+  BFD_RELOC_MIPS_TLS_TPREL32,
 1.32956 -+  BFD_RELOC_MIPS_TLS_TPREL64,
 1.32957 -+  BFD_RELOC_MIPS_TLS_TPREL_HI16,
 1.32958 -+  BFD_RELOC_MIPS_TLS_TPREL_LO16,
 1.32959 -+
 1.32960 -+
 1.32961 -+/* MIPS ELF relocations (VxWorks extensions).  */
 1.32962 -+  BFD_RELOC_MIPS_COPY,
 1.32963 -+  BFD_RELOC_MIPS_JUMP_SLOT,
 1.32964 -+
 1.32965 -+
 1.32966 -+/* Fujitsu Frv Relocations.  */
 1.32967 -+  BFD_RELOC_FRV_LABEL16,
 1.32968 -+  BFD_RELOC_FRV_LABEL24,
 1.32969 -+  BFD_RELOC_FRV_LO16,
 1.32970 -+  BFD_RELOC_FRV_HI16,
 1.32971 -+  BFD_RELOC_FRV_GPREL12,
 1.32972 -+  BFD_RELOC_FRV_GPRELU12,
 1.32973 -+  BFD_RELOC_FRV_GPREL32,
 1.32974 -+  BFD_RELOC_FRV_GPRELHI,
 1.32975 -+  BFD_RELOC_FRV_GPRELLO,
 1.32976 -+  BFD_RELOC_FRV_GOT12,
 1.32977 -+  BFD_RELOC_FRV_GOTHI,
 1.32978 -+  BFD_RELOC_FRV_GOTLO,
 1.32979 -+  BFD_RELOC_FRV_FUNCDESC,
 1.32980 -+  BFD_RELOC_FRV_FUNCDESC_GOT12,
 1.32981 -+  BFD_RELOC_FRV_FUNCDESC_GOTHI,
 1.32982 -+  BFD_RELOC_FRV_FUNCDESC_GOTLO,
 1.32983 -+  BFD_RELOC_FRV_FUNCDESC_VALUE,
 1.32984 -+  BFD_RELOC_FRV_FUNCDESC_GOTOFF12,
 1.32985 -+  BFD_RELOC_FRV_FUNCDESC_GOTOFFHI,
 1.32986 -+  BFD_RELOC_FRV_FUNCDESC_GOTOFFLO,
 1.32987 -+  BFD_RELOC_FRV_GOTOFF12,
 1.32988 -+  BFD_RELOC_FRV_GOTOFFHI,
 1.32989 -+  BFD_RELOC_FRV_GOTOFFLO,
 1.32990 -+  BFD_RELOC_FRV_GETTLSOFF,
 1.32991 -+  BFD_RELOC_FRV_TLSDESC_VALUE,
 1.32992 -+  BFD_RELOC_FRV_GOTTLSDESC12,
 1.32993 -+  BFD_RELOC_FRV_GOTTLSDESCHI,
 1.32994 -+  BFD_RELOC_FRV_GOTTLSDESCLO,
 1.32995 -+  BFD_RELOC_FRV_TLSMOFF12,
 1.32996 -+  BFD_RELOC_FRV_TLSMOFFHI,
 1.32997 -+  BFD_RELOC_FRV_TLSMOFFLO,
 1.32998 -+  BFD_RELOC_FRV_GOTTLSOFF12,
 1.32999 -+  BFD_RELOC_FRV_GOTTLSOFFHI,
 1.33000 -+  BFD_RELOC_FRV_GOTTLSOFFLO,
 1.33001 -+  BFD_RELOC_FRV_TLSOFF,
 1.33002 -+  BFD_RELOC_FRV_TLSDESC_RELAX,
 1.33003 -+  BFD_RELOC_FRV_GETTLSOFF_RELAX,
 1.33004 -+  BFD_RELOC_FRV_TLSOFF_RELAX,
 1.33005 -+  BFD_RELOC_FRV_TLSMOFF,
 1.33006 -+
 1.33007 -+
 1.33008 -+/* This is a 24bit GOT-relative reloc for the mn10300.  */
 1.33009 -+  BFD_RELOC_MN10300_GOTOFF24,
 1.33010 -+
 1.33011 -+/* This is a 32bit GOT-relative reloc for the mn10300, offset by two bytes
 1.33012 -+in the instruction.  */
 1.33013 -+  BFD_RELOC_MN10300_GOT32,
 1.33014 -+
 1.33015 -+/* This is a 24bit GOT-relative reloc for the mn10300, offset by two bytes
 1.33016 -+in the instruction.  */
 1.33017 -+  BFD_RELOC_MN10300_GOT24,
 1.33018 -+
 1.33019 -+/* This is a 16bit GOT-relative reloc for the mn10300, offset by two bytes
 1.33020 -+in the instruction.  */
 1.33021 -+  BFD_RELOC_MN10300_GOT16,
 1.33022 -+
 1.33023 -+/* Copy symbol at runtime.  */
 1.33024 -+  BFD_RELOC_MN10300_COPY,
 1.33025 -+
 1.33026 -+/* Create GOT entry.  */
 1.33027 -+  BFD_RELOC_MN10300_GLOB_DAT,
 1.33028 -+
 1.33029 -+/* Create PLT entry.  */
 1.33030 -+  BFD_RELOC_MN10300_JMP_SLOT,
 1.33031 -+
 1.33032 -+/* Adjust by program base.  */
 1.33033 -+  BFD_RELOC_MN10300_RELATIVE,
 1.33034 -+
 1.33035 -+
 1.33036 -+/* i386/elf relocations  */
 1.33037 -+  BFD_RELOC_386_GOT32,
 1.33038 -+  BFD_RELOC_386_PLT32,
 1.33039 -+  BFD_RELOC_386_COPY,
 1.33040 -+  BFD_RELOC_386_GLOB_DAT,
 1.33041 -+  BFD_RELOC_386_JUMP_SLOT,
 1.33042 -+  BFD_RELOC_386_RELATIVE,
 1.33043 -+  BFD_RELOC_386_GOTOFF,
 1.33044 -+  BFD_RELOC_386_GOTPC,
 1.33045 -+  BFD_RELOC_386_TLS_TPOFF,
 1.33046 -+  BFD_RELOC_386_TLS_IE,
 1.33047 -+  BFD_RELOC_386_TLS_GOTIE,
 1.33048 -+  BFD_RELOC_386_TLS_LE,
 1.33049 -+  BFD_RELOC_386_TLS_GD,
 1.33050 -+  BFD_RELOC_386_TLS_LDM,
 1.33051 -+  BFD_RELOC_386_TLS_LDO_32,
 1.33052 -+  BFD_RELOC_386_TLS_IE_32,
 1.33053 -+  BFD_RELOC_386_TLS_LE_32,
 1.33054 -+  BFD_RELOC_386_TLS_DTPMOD32,
 1.33055 -+  BFD_RELOC_386_TLS_DTPOFF32,
 1.33056 -+  BFD_RELOC_386_TLS_TPOFF32,
 1.33057 -+  BFD_RELOC_386_TLS_GOTDESC,
 1.33058 -+  BFD_RELOC_386_TLS_DESC_CALL,
 1.33059 -+  BFD_RELOC_386_TLS_DESC,
 1.33060 -+
 1.33061 -+/* x86-64/elf relocations  */
 1.33062 -+  BFD_RELOC_X86_64_GOT32,
 1.33063 -+  BFD_RELOC_X86_64_PLT32,
 1.33064 -+  BFD_RELOC_X86_64_COPY,
 1.33065 -+  BFD_RELOC_X86_64_GLOB_DAT,
 1.33066 -+  BFD_RELOC_X86_64_JUMP_SLOT,
 1.33067 -+  BFD_RELOC_X86_64_RELATIVE,
 1.33068 -+  BFD_RELOC_X86_64_GOTPCREL,
 1.33069 -+  BFD_RELOC_X86_64_32S,
 1.33070 -+  BFD_RELOC_X86_64_DTPMOD64,
 1.33071 -+  BFD_RELOC_X86_64_DTPOFF64,
 1.33072 -+  BFD_RELOC_X86_64_TPOFF64,
 1.33073 -+  BFD_RELOC_X86_64_TLSGD,
 1.33074 -+  BFD_RELOC_X86_64_TLSLD,
 1.33075 -+  BFD_RELOC_X86_64_DTPOFF32,
 1.33076 -+  BFD_RELOC_X86_64_GOTTPOFF,
 1.33077 -+  BFD_RELOC_X86_64_TPOFF32,
 1.33078 -+  BFD_RELOC_X86_64_GOTOFF64,
 1.33079 -+  BFD_RELOC_X86_64_GOTPC32,
 1.33080 -+  BFD_RELOC_X86_64_GOT64,
 1.33081 -+  BFD_RELOC_X86_64_GOTPCREL64,
 1.33082 -+  BFD_RELOC_X86_64_GOTPC64,
 1.33083 -+  BFD_RELOC_X86_64_GOTPLT64,
 1.33084 -+  BFD_RELOC_X86_64_PLTOFF64,
 1.33085 -+  BFD_RELOC_X86_64_GOTPC32_TLSDESC,
 1.33086 -+  BFD_RELOC_X86_64_TLSDESC_CALL,
 1.33087 -+  BFD_RELOC_X86_64_TLSDESC,
 1.33088 -+
 1.33089 -+/* ns32k relocations  */
 1.33090 -+  BFD_RELOC_NS32K_IMM_8,
 1.33091 -+  BFD_RELOC_NS32K_IMM_16,
 1.33092 -+  BFD_RELOC_NS32K_IMM_32,
 1.33093 -+  BFD_RELOC_NS32K_IMM_8_PCREL,
 1.33094 -+  BFD_RELOC_NS32K_IMM_16_PCREL,
 1.33095 -+  BFD_RELOC_NS32K_IMM_32_PCREL,
 1.33096 -+  BFD_RELOC_NS32K_DISP_8,
 1.33097 -+  BFD_RELOC_NS32K_DISP_16,
 1.33098 -+  BFD_RELOC_NS32K_DISP_32,
 1.33099 -+  BFD_RELOC_NS32K_DISP_8_PCREL,
 1.33100 -+  BFD_RELOC_NS32K_DISP_16_PCREL,
 1.33101 -+  BFD_RELOC_NS32K_DISP_32_PCREL,
 1.33102 -+
 1.33103 -+/* PDP11 relocations  */
 1.33104 -+  BFD_RELOC_PDP11_DISP_8_PCREL,
 1.33105 -+  BFD_RELOC_PDP11_DISP_6_PCREL,
 1.33106 -+
 1.33107 -+/* Picojava relocs.  Not all of these appear in object files.  */
 1.33108 -+  BFD_RELOC_PJ_CODE_HI16,
 1.33109 -+  BFD_RELOC_PJ_CODE_LO16,
 1.33110 -+  BFD_RELOC_PJ_CODE_DIR16,
 1.33111 -+  BFD_RELOC_PJ_CODE_DIR32,
 1.33112 -+  BFD_RELOC_PJ_CODE_REL16,
 1.33113 -+  BFD_RELOC_PJ_CODE_REL32,
 1.33114 -+
 1.33115 -+/* Power(rs6000) and PowerPC relocations.  */
 1.33116 -+  BFD_RELOC_PPC_B26,
 1.33117 -+  BFD_RELOC_PPC_BA26,
 1.33118 -+  BFD_RELOC_PPC_TOC16,
 1.33119 -+  BFD_RELOC_PPC_B16,
 1.33120 -+  BFD_RELOC_PPC_B16_BRTAKEN,
 1.33121 -+  BFD_RELOC_PPC_B16_BRNTAKEN,
 1.33122 -+  BFD_RELOC_PPC_BA16,
 1.33123 -+  BFD_RELOC_PPC_BA16_BRTAKEN,
 1.33124 -+  BFD_RELOC_PPC_BA16_BRNTAKEN,
 1.33125 -+  BFD_RELOC_PPC_COPY,
 1.33126 -+  BFD_RELOC_PPC_GLOB_DAT,
 1.33127 -+  BFD_RELOC_PPC_JMP_SLOT,
 1.33128 -+  BFD_RELOC_PPC_RELATIVE,
 1.33129 -+  BFD_RELOC_PPC_LOCAL24PC,
 1.33130 -+  BFD_RELOC_PPC_EMB_NADDR32,
 1.33131 -+  BFD_RELOC_PPC_EMB_NADDR16,
 1.33132 -+  BFD_RELOC_PPC_EMB_NADDR16_LO,
 1.33133 -+  BFD_RELOC_PPC_EMB_NADDR16_HI,
 1.33134 -+  BFD_RELOC_PPC_EMB_NADDR16_HA,
 1.33135 -+  BFD_RELOC_PPC_EMB_SDAI16,
 1.33136 -+  BFD_RELOC_PPC_EMB_SDA2I16,
 1.33137 -+  BFD_RELOC_PPC_EMB_SDA2REL,
 1.33138 -+  BFD_RELOC_PPC_EMB_SDA21,
 1.33139 -+  BFD_RELOC_PPC_EMB_MRKREF,
 1.33140 -+  BFD_RELOC_PPC_EMB_RELSEC16,
 1.33141 -+  BFD_RELOC_PPC_EMB_RELST_LO,
 1.33142 -+  BFD_RELOC_PPC_EMB_RELST_HI,
 1.33143 -+  BFD_RELOC_PPC_EMB_RELST_HA,
 1.33144 -+  BFD_RELOC_PPC_EMB_BIT_FLD,
 1.33145 -+  BFD_RELOC_PPC_EMB_RELSDA,
 1.33146 -+  BFD_RELOC_PPC64_HIGHER,
 1.33147 -+  BFD_RELOC_PPC64_HIGHER_S,
 1.33148 -+  BFD_RELOC_PPC64_HIGHEST,
 1.33149 -+  BFD_RELOC_PPC64_HIGHEST_S,
 1.33150 -+  BFD_RELOC_PPC64_TOC16_LO,
 1.33151 -+  BFD_RELOC_PPC64_TOC16_HI,
 1.33152 -+  BFD_RELOC_PPC64_TOC16_HA,
 1.33153 -+  BFD_RELOC_PPC64_TOC,
 1.33154 -+  BFD_RELOC_PPC64_PLTGOT16,
 1.33155 -+  BFD_RELOC_PPC64_PLTGOT16_LO,
 1.33156 -+  BFD_RELOC_PPC64_PLTGOT16_HI,
 1.33157 -+  BFD_RELOC_PPC64_PLTGOT16_HA,
 1.33158 -+  BFD_RELOC_PPC64_ADDR16_DS,
 1.33159 -+  BFD_RELOC_PPC64_ADDR16_LO_DS,
 1.33160 -+  BFD_RELOC_PPC64_GOT16_DS,
 1.33161 -+  BFD_RELOC_PPC64_GOT16_LO_DS,
 1.33162 -+  BFD_RELOC_PPC64_PLT16_LO_DS,
 1.33163 -+  BFD_RELOC_PPC64_SECTOFF_DS,
 1.33164 -+  BFD_RELOC_PPC64_SECTOFF_LO_DS,
 1.33165 -+  BFD_RELOC_PPC64_TOC16_DS,
 1.33166 -+  BFD_RELOC_PPC64_TOC16_LO_DS,
 1.33167 -+  BFD_RELOC_PPC64_PLTGOT16_DS,
 1.33168 -+  BFD_RELOC_PPC64_PLTGOT16_LO_DS,
 1.33169 -+
 1.33170 -+/* PowerPC and PowerPC64 thread-local storage relocations.  */
 1.33171 -+  BFD_RELOC_PPC_TLS,
 1.33172 -+  BFD_RELOC_PPC_DTPMOD,
 1.33173 -+  BFD_RELOC_PPC_TPREL16,
 1.33174 -+  BFD_RELOC_PPC_TPREL16_LO,
 1.33175 -+  BFD_RELOC_PPC_TPREL16_HI,
 1.33176 -+  BFD_RELOC_PPC_TPREL16_HA,
 1.33177 -+  BFD_RELOC_PPC_TPREL,
 1.33178 -+  BFD_RELOC_PPC_DTPREL16,
 1.33179 -+  BFD_RELOC_PPC_DTPREL16_LO,
 1.33180 -+  BFD_RELOC_PPC_DTPREL16_HI,
 1.33181 -+  BFD_RELOC_PPC_DTPREL16_HA,
 1.33182 -+  BFD_RELOC_PPC_DTPREL,
 1.33183 -+  BFD_RELOC_PPC_GOT_TLSGD16,
 1.33184 -+  BFD_RELOC_PPC_GOT_TLSGD16_LO,
 1.33185 -+  BFD_RELOC_PPC_GOT_TLSGD16_HI,
 1.33186 -+  BFD_RELOC_PPC_GOT_TLSGD16_HA,
 1.33187 -+  BFD_RELOC_PPC_GOT_TLSLD16,
 1.33188 -+  BFD_RELOC_PPC_GOT_TLSLD16_LO,
 1.33189 -+  BFD_RELOC_PPC_GOT_TLSLD16_HI,
 1.33190 -+  BFD_RELOC_PPC_GOT_TLSLD16_HA,
 1.33191 -+  BFD_RELOC_PPC_GOT_TPREL16,
 1.33192 -+  BFD_RELOC_PPC_GOT_TPREL16_LO,
 1.33193 -+  BFD_RELOC_PPC_GOT_TPREL16_HI,
 1.33194 -+  BFD_RELOC_PPC_GOT_TPREL16_HA,
 1.33195 -+  BFD_RELOC_PPC_GOT_DTPREL16,
 1.33196 -+  BFD_RELOC_PPC_GOT_DTPREL16_LO,
 1.33197 -+  BFD_RELOC_PPC_GOT_DTPREL16_HI,
 1.33198 -+  BFD_RELOC_PPC_GOT_DTPREL16_HA,
 1.33199 -+  BFD_RELOC_PPC64_TPREL16_DS,
 1.33200 -+  BFD_RELOC_PPC64_TPREL16_LO_DS,
 1.33201 -+  BFD_RELOC_PPC64_TPREL16_HIGHER,
 1.33202 -+  BFD_RELOC_PPC64_TPREL16_HIGHERA,
 1.33203 -+  BFD_RELOC_PPC64_TPREL16_HIGHEST,
 1.33204 -+  BFD_RELOC_PPC64_TPREL16_HIGHESTA,
 1.33205 -+  BFD_RELOC_PPC64_DTPREL16_DS,
 1.33206 -+  BFD_RELOC_PPC64_DTPREL16_LO_DS,
 1.33207 -+  BFD_RELOC_PPC64_DTPREL16_HIGHER,
 1.33208 -+  BFD_RELOC_PPC64_DTPREL16_HIGHERA,
 1.33209 -+  BFD_RELOC_PPC64_DTPREL16_HIGHEST,
 1.33210 -+  BFD_RELOC_PPC64_DTPREL16_HIGHESTA,
 1.33211 -+
 1.33212 -+/* IBM 370/390 relocations  */
 1.33213 -+  BFD_RELOC_I370_D12,
 1.33214 -+
 1.33215 -+/* The type of reloc used to build a constructor table - at the moment
 1.33216 -+probably a 32 bit wide absolute relocation, but the target can choose.
 1.33217 -+It generally does map to one of the other relocation types.  */
 1.33218 -+  BFD_RELOC_CTOR,
 1.33219 -+
 1.33220 -+/* ARM 26 bit pc-relative branch.  The lowest two bits must be zero and are
 1.33221 -+not stored in the instruction.  */
 1.33222 -+  BFD_RELOC_ARM_PCREL_BRANCH,
 1.33223 -+
 1.33224 -+/* ARM 26 bit pc-relative branch.  The lowest bit must be zero and is
 1.33225 -+not stored in the instruction.  The 2nd lowest bit comes from a 1 bit
 1.33226 -+field in the instruction.  */
 1.33227 -+  BFD_RELOC_ARM_PCREL_BLX,
 1.33228 -+
 1.33229 -+/* Thumb 22 bit pc-relative branch.  The lowest bit must be zero and is
 1.33230 -+not stored in the instruction.  The 2nd lowest bit comes from a 1 bit
 1.33231 -+field in the instruction.  */
 1.33232 -+  BFD_RELOC_THUMB_PCREL_BLX,
 1.33233 -+
 1.33234 -+/* ARM 26-bit pc-relative branch for an unconditional BL or BLX instruction.  */
 1.33235 -+  BFD_RELOC_ARM_PCREL_CALL,
 1.33236 -+
 1.33237 -+/* ARM 26-bit pc-relative branch for B or conditional BL instruction.  */
 1.33238 -+  BFD_RELOC_ARM_PCREL_JUMP,
 1.33239 -+
 1.33240 -+/* Thumb 7-, 9-, 12-, 20-, 23-, and 25-bit pc-relative branches.
 1.33241 -+The lowest bit must be zero and is not stored in the instruction.
 1.33242 -+Note that the corresponding ELF R_ARM_THM_JUMPnn constant has an
 1.33243 -+"nn" one smaller in all cases.  Note further that BRANCH23
 1.33244 -+corresponds to R_ARM_THM_CALL.  */
 1.33245 -+  BFD_RELOC_THUMB_PCREL_BRANCH7,
 1.33246 -+  BFD_RELOC_THUMB_PCREL_BRANCH9,
 1.33247 -+  BFD_RELOC_THUMB_PCREL_BRANCH12,
 1.33248 -+  BFD_RELOC_THUMB_PCREL_BRANCH20,
 1.33249 -+  BFD_RELOC_THUMB_PCREL_BRANCH23,
 1.33250 -+  BFD_RELOC_THUMB_PCREL_BRANCH25,
 1.33251 -+
 1.33252 -+/* 12-bit immediate offset, used in ARM-format ldr and str instructions.  */
 1.33253 -+  BFD_RELOC_ARM_OFFSET_IMM,
 1.33254 -+
 1.33255 -+/* 5-bit immediate offset, used in Thumb-format ldr and str instructions.  */
 1.33256 -+  BFD_RELOC_ARM_THUMB_OFFSET,
 1.33257 -+
 1.33258 -+/* Pc-relative or absolute relocation depending on target.  Used for
 1.33259 -+entries in .init_array sections.  */
 1.33260 -+  BFD_RELOC_ARM_TARGET1,
 1.33261 -+
 1.33262 -+/* Read-only segment base relative address.  */
 1.33263 -+  BFD_RELOC_ARM_ROSEGREL32,
 1.33264 -+
 1.33265 -+/* Data segment base relative address.  */
 1.33266 -+  BFD_RELOC_ARM_SBREL32,
 1.33267 -+
 1.33268 -+/* This reloc is used for references to RTTI data from exception handling
 1.33269 -+tables.  The actual definition depends on the target.  It may be a
 1.33270 -+pc-relative or some form of GOT-indirect relocation.  */
 1.33271 -+  BFD_RELOC_ARM_TARGET2,
 1.33272 -+
 1.33273 -+/* 31-bit PC relative address.  */
 1.33274 -+  BFD_RELOC_ARM_PREL31,
 1.33275 -+
 1.33276 -+/* Low and High halfword relocations for MOVW and MOVT instructions.  */
 1.33277 -+  BFD_RELOC_ARM_MOVW,
 1.33278 -+  BFD_RELOC_ARM_MOVT,
 1.33279 -+  BFD_RELOC_ARM_MOVW_PCREL,
 1.33280 -+  BFD_RELOC_ARM_MOVT_PCREL,
 1.33281 -+  BFD_RELOC_ARM_THUMB_MOVW,
 1.33282 -+  BFD_RELOC_ARM_THUMB_MOVT,
 1.33283 -+  BFD_RELOC_ARM_THUMB_MOVW_PCREL,
 1.33284 -+  BFD_RELOC_ARM_THUMB_MOVT_PCREL,
 1.33285 -+
 1.33286 -+/* Relocations for setting up GOTs and PLTs for shared libraries.  */
 1.33287 -+  BFD_RELOC_ARM_JUMP_SLOT,
 1.33288 -+  BFD_RELOC_ARM_GLOB_DAT,
 1.33289 -+  BFD_RELOC_ARM_GOT32,
 1.33290 -+  BFD_RELOC_ARM_PLT32,
 1.33291 -+  BFD_RELOC_ARM_RELATIVE,
 1.33292 -+  BFD_RELOC_ARM_GOTOFF,
 1.33293 -+  BFD_RELOC_ARM_GOTPC,
 1.33294 -+
 1.33295 -+/* ARM thread-local storage relocations.  */
 1.33296 -+  BFD_RELOC_ARM_TLS_GD32,
 1.33297 -+  BFD_RELOC_ARM_TLS_LDO32,
 1.33298 -+  BFD_RELOC_ARM_TLS_LDM32,
 1.33299 -+  BFD_RELOC_ARM_TLS_DTPOFF32,
 1.33300 -+  BFD_RELOC_ARM_TLS_DTPMOD32,
 1.33301 -+  BFD_RELOC_ARM_TLS_TPOFF32,
 1.33302 -+  BFD_RELOC_ARM_TLS_IE32,
 1.33303 -+  BFD_RELOC_ARM_TLS_LE32,
 1.33304 -+
 1.33305 -+/* ARM group relocations.  */
 1.33306 -+  BFD_RELOC_ARM_ALU_PC_G0_NC,
 1.33307 -+  BFD_RELOC_ARM_ALU_PC_G0,
 1.33308 -+  BFD_RELOC_ARM_ALU_PC_G1_NC,
 1.33309 -+  BFD_RELOC_ARM_ALU_PC_G1,
 1.33310 -+  BFD_RELOC_ARM_ALU_PC_G2,
 1.33311 -+  BFD_RELOC_ARM_LDR_PC_G0,
 1.33312 -+  BFD_RELOC_ARM_LDR_PC_G1,
 1.33313 -+  BFD_RELOC_ARM_LDR_PC_G2,
 1.33314 -+  BFD_RELOC_ARM_LDRS_PC_G0,
 1.33315 -+  BFD_RELOC_ARM_LDRS_PC_G1,
 1.33316 -+  BFD_RELOC_ARM_LDRS_PC_G2,
 1.33317 -+  BFD_RELOC_ARM_LDC_PC_G0,
 1.33318 -+  BFD_RELOC_ARM_LDC_PC_G1,
 1.33319 -+  BFD_RELOC_ARM_LDC_PC_G2,
 1.33320 -+  BFD_RELOC_ARM_ALU_SB_G0_NC,
 1.33321 -+  BFD_RELOC_ARM_ALU_SB_G0,
 1.33322 -+  BFD_RELOC_ARM_ALU_SB_G1_NC,
 1.33323 -+  BFD_RELOC_ARM_ALU_SB_G1,
 1.33324 -+  BFD_RELOC_ARM_ALU_SB_G2,
 1.33325 -+  BFD_RELOC_ARM_LDR_SB_G0,
 1.33326 -+  BFD_RELOC_ARM_LDR_SB_G1,
 1.33327 -+  BFD_RELOC_ARM_LDR_SB_G2,
 1.33328 -+  BFD_RELOC_ARM_LDRS_SB_G0,
 1.33329 -+  BFD_RELOC_ARM_LDRS_SB_G1,
 1.33330 -+  BFD_RELOC_ARM_LDRS_SB_G2,
 1.33331 -+  BFD_RELOC_ARM_LDC_SB_G0,
 1.33332 -+  BFD_RELOC_ARM_LDC_SB_G1,
 1.33333 -+  BFD_RELOC_ARM_LDC_SB_G2,
 1.33334 -+
 1.33335 -+/* These relocs are only used within the ARM assembler.  They are not
 1.33336 -+(at present) written to any object files.  */
 1.33337 -+  BFD_RELOC_ARM_IMMEDIATE,
 1.33338 -+  BFD_RELOC_ARM_ADRL_IMMEDIATE,
 1.33339 -+  BFD_RELOC_ARM_T32_IMMEDIATE,
 1.33340 -+  BFD_RELOC_ARM_T32_ADD_IMM,
 1.33341 -+  BFD_RELOC_ARM_T32_IMM12,
 1.33342 -+  BFD_RELOC_ARM_T32_ADD_PC12,
 1.33343 -+  BFD_RELOC_ARM_SHIFT_IMM,
 1.33344 -+  BFD_RELOC_ARM_SMC,
 1.33345 -+  BFD_RELOC_ARM_SWI,
 1.33346 -+  BFD_RELOC_ARM_MULTI,
 1.33347 -+  BFD_RELOC_ARM_CP_OFF_IMM,
 1.33348 -+  BFD_RELOC_ARM_CP_OFF_IMM_S2,
 1.33349 -+  BFD_RELOC_ARM_T32_CP_OFF_IMM,
 1.33350 -+  BFD_RELOC_ARM_T32_CP_OFF_IMM_S2,
 1.33351 -+  BFD_RELOC_ARM_ADR_IMM,
 1.33352 -+  BFD_RELOC_ARM_LDR_IMM,
 1.33353 -+  BFD_RELOC_ARM_LITERAL,
 1.33354 -+  BFD_RELOC_ARM_IN_POOL,
 1.33355 -+  BFD_RELOC_ARM_OFFSET_IMM8,
 1.33356 -+  BFD_RELOC_ARM_T32_OFFSET_U8,
 1.33357 -+  BFD_RELOC_ARM_T32_OFFSET_IMM,
 1.33358 -+  BFD_RELOC_ARM_HWLITERAL,
 1.33359 -+  BFD_RELOC_ARM_THUMB_ADD,
 1.33360 -+  BFD_RELOC_ARM_THUMB_IMM,
 1.33361 -+  BFD_RELOC_ARM_THUMB_SHIFT,
 1.33362 -+
 1.33363 -+/* Renesas / SuperH SH relocs.  Not all of these appear in object files.  */
 1.33364 -+  BFD_RELOC_SH_PCDISP8BY2,
 1.33365 -+  BFD_RELOC_SH_PCDISP12BY2,
 1.33366 -+  BFD_RELOC_SH_IMM3,
 1.33367 -+  BFD_RELOC_SH_IMM3U,
 1.33368 -+  BFD_RELOC_SH_DISP12,
 1.33369 -+  BFD_RELOC_SH_DISP12BY2,
 1.33370 -+  BFD_RELOC_SH_DISP12BY4,
 1.33371 -+  BFD_RELOC_SH_DISP12BY8,
 1.33372 -+  BFD_RELOC_SH_DISP20,
 1.33373 -+  BFD_RELOC_SH_DISP20BY8,
 1.33374 -+  BFD_RELOC_SH_IMM4,
 1.33375 -+  BFD_RELOC_SH_IMM4BY2,
 1.33376 -+  BFD_RELOC_SH_IMM4BY4,
 1.33377 -+  BFD_RELOC_SH_IMM8,
 1.33378 -+  BFD_RELOC_SH_IMM8BY2,
 1.33379 -+  BFD_RELOC_SH_IMM8BY4,
 1.33380 -+  BFD_RELOC_SH_PCRELIMM8BY2,
 1.33381 -+  BFD_RELOC_SH_PCRELIMM8BY4,
 1.33382 -+  BFD_RELOC_SH_SWITCH16,
 1.33383 -+  BFD_RELOC_SH_SWITCH32,
 1.33384 -+  BFD_RELOC_SH_USES,
 1.33385 -+  BFD_RELOC_SH_COUNT,
 1.33386 -+  BFD_RELOC_SH_ALIGN,
 1.33387 -+  BFD_RELOC_SH_CODE,
 1.33388 -+  BFD_RELOC_SH_DATA,
 1.33389 -+  BFD_RELOC_SH_LABEL,
 1.33390 -+  BFD_RELOC_SH_LOOP_START,
 1.33391 -+  BFD_RELOC_SH_LOOP_END,
 1.33392 -+  BFD_RELOC_SH_COPY,
 1.33393 -+  BFD_RELOC_SH_GLOB_DAT,
 1.33394 -+  BFD_RELOC_SH_JMP_SLOT,
 1.33395 -+  BFD_RELOC_SH_RELATIVE,
 1.33396 -+  BFD_RELOC_SH_GOTPC,
 1.33397 -+  BFD_RELOC_SH_GOT_LOW16,
 1.33398 -+  BFD_RELOC_SH_GOT_MEDLOW16,
 1.33399 -+  BFD_RELOC_SH_GOT_MEDHI16,
 1.33400 -+  BFD_RELOC_SH_GOT_HI16,
 1.33401 -+  BFD_RELOC_SH_GOTPLT_LOW16,
 1.33402 -+  BFD_RELOC_SH_GOTPLT_MEDLOW16,
 1.33403 -+  BFD_RELOC_SH_GOTPLT_MEDHI16,
 1.33404 -+  BFD_RELOC_SH_GOTPLT_HI16,
 1.33405 -+  BFD_RELOC_SH_PLT_LOW16,
 1.33406 -+  BFD_RELOC_SH_PLT_MEDLOW16,
 1.33407 -+  BFD_RELOC_SH_PLT_MEDHI16,
 1.33408 -+  BFD_RELOC_SH_PLT_HI16,
 1.33409 -+  BFD_RELOC_SH_GOTOFF_LOW16,
 1.33410 -+  BFD_RELOC_SH_GOTOFF_MEDLOW16,
 1.33411 -+  BFD_RELOC_SH_GOTOFF_MEDHI16,
 1.33412 -+  BFD_RELOC_SH_GOTOFF_HI16,
 1.33413 -+  BFD_RELOC_SH_GOTPC_LOW16,
 1.33414 -+  BFD_RELOC_SH_GOTPC_MEDLOW16,
 1.33415 -+  BFD_RELOC_SH_GOTPC_MEDHI16,
 1.33416 -+  BFD_RELOC_SH_GOTPC_HI16,
 1.33417 -+  BFD_RELOC_SH_COPY64,
 1.33418 -+  BFD_RELOC_SH_GLOB_DAT64,
 1.33419 -+  BFD_RELOC_SH_JMP_SLOT64,
 1.33420 -+  BFD_RELOC_SH_RELATIVE64,
 1.33421 -+  BFD_RELOC_SH_GOT10BY4,
 1.33422 -+  BFD_RELOC_SH_GOT10BY8,
 1.33423 -+  BFD_RELOC_SH_GOTPLT10BY4,
 1.33424 -+  BFD_RELOC_SH_GOTPLT10BY8,
 1.33425 -+  BFD_RELOC_SH_GOTPLT32,
 1.33426 -+  BFD_RELOC_SH_SHMEDIA_CODE,
 1.33427 -+  BFD_RELOC_SH_IMMU5,
 1.33428 -+  BFD_RELOC_SH_IMMS6,
 1.33429 -+  BFD_RELOC_SH_IMMS6BY32,
 1.33430 -+  BFD_RELOC_SH_IMMU6,
 1.33431 -+  BFD_RELOC_SH_IMMS10,
 1.33432 -+  BFD_RELOC_SH_IMMS10BY2,
 1.33433 -+  BFD_RELOC_SH_IMMS10BY4,
 1.33434 -+  BFD_RELOC_SH_IMMS10BY8,
 1.33435 -+  BFD_RELOC_SH_IMMS16,
 1.33436 -+  BFD_RELOC_SH_IMMU16,
 1.33437 -+  BFD_RELOC_SH_IMM_LOW16,
 1.33438 -+  BFD_RELOC_SH_IMM_LOW16_PCREL,
 1.33439 -+  BFD_RELOC_SH_IMM_MEDLOW16,
 1.33440 -+  BFD_RELOC_SH_IMM_MEDLOW16_PCREL,
 1.33441 -+  BFD_RELOC_SH_IMM_MEDHI16,
 1.33442 -+  BFD_RELOC_SH_IMM_MEDHI16_PCREL,
 1.33443 -+  BFD_RELOC_SH_IMM_HI16,
 1.33444 -+  BFD_RELOC_SH_IMM_HI16_PCREL,
 1.33445 -+  BFD_RELOC_SH_PT_16,
 1.33446 -+  BFD_RELOC_SH_TLS_GD_32,
 1.33447 -+  BFD_RELOC_SH_TLS_LD_32,
 1.33448 -+  BFD_RELOC_SH_TLS_LDO_32,
 1.33449 -+  BFD_RELOC_SH_TLS_IE_32,
 1.33450 -+  BFD_RELOC_SH_TLS_LE_32,
 1.33451 -+  BFD_RELOC_SH_TLS_DTPMOD32,
 1.33452 -+  BFD_RELOC_SH_TLS_DTPOFF32,
 1.33453 -+  BFD_RELOC_SH_TLS_TPOFF32,
 1.33454 -+
 1.33455 -+/* ARC Cores relocs.
 1.33456 -+ARC 22 bit pc-relative branch.  The lowest two bits must be zero and are
 1.33457 -+not stored in the instruction.  The high 20 bits are installed in bits 26
 1.33458 -+through 7 of the instruction.  */
 1.33459 -+  BFD_RELOC_ARC_B22_PCREL,
 1.33460 -+
 1.33461 -+/* ARC 26 bit absolute branch.  The lowest two bits must be zero and are not
 1.33462 -+stored in the instruction.  The high 24 bits are installed in bits 23
 1.33463 -+through 0.  */
 1.33464 -+  BFD_RELOC_ARC_B26,
 1.33465 -+
 1.33466 -+/* ADI Blackfin 16 bit immediate absolute reloc.  */
 1.33467 -+  BFD_RELOC_BFIN_16_IMM,
 1.33468 -+
 1.33469 -+/* ADI Blackfin 16 bit immediate absolute reloc higher 16 bits.  */
 1.33470 -+  BFD_RELOC_BFIN_16_HIGH,
 1.33471 -+
 1.33472 -+/* ADI Blackfin 'a' part of LSETUP.  */
 1.33473 -+  BFD_RELOC_BFIN_4_PCREL,
 1.33474 -+
 1.33475 -+/* ADI Blackfin.  */
 1.33476 -+  BFD_RELOC_BFIN_5_PCREL,
 1.33477 -+
 1.33478 -+/* ADI Blackfin 16 bit immediate absolute reloc lower 16 bits.  */
 1.33479 -+  BFD_RELOC_BFIN_16_LOW,
 1.33480 -+
 1.33481 -+/* ADI Blackfin.  */
 1.33482 -+  BFD_RELOC_BFIN_10_PCREL,
 1.33483 -+
 1.33484 -+/* ADI Blackfin 'b' part of LSETUP.  */
 1.33485 -+  BFD_RELOC_BFIN_11_PCREL,
 1.33486 -+
 1.33487 -+/* ADI Blackfin.  */
 1.33488 -+  BFD_RELOC_BFIN_12_PCREL_JUMP,
 1.33489 -+
 1.33490 -+/* ADI Blackfin Short jump, pcrel.  */
 1.33491 -+  BFD_RELOC_BFIN_12_PCREL_JUMP_S,
 1.33492 -+
 1.33493 -+/* ADI Blackfin Call.x not implemented.  */
 1.33494 -+  BFD_RELOC_BFIN_24_PCREL_CALL_X,
 1.33495 -+
 1.33496 -+/* ADI Blackfin Long Jump pcrel.  */
 1.33497 -+  BFD_RELOC_BFIN_24_PCREL_JUMP_L,
 1.33498 -+
 1.33499 -+/* ADI Blackfin FD-PIC relocations.  */
 1.33500 -+  BFD_RELOC_BFIN_GOT17M4,
 1.33501 -+  BFD_RELOC_BFIN_GOTHI,
 1.33502 -+  BFD_RELOC_BFIN_GOTLO,
 1.33503 -+  BFD_RELOC_BFIN_FUNCDESC,
 1.33504 -+  BFD_RELOC_BFIN_FUNCDESC_GOT17M4,
 1.33505 -+  BFD_RELOC_BFIN_FUNCDESC_GOTHI,
 1.33506 -+  BFD_RELOC_BFIN_FUNCDESC_GOTLO,
 1.33507 -+  BFD_RELOC_BFIN_FUNCDESC_VALUE,
 1.33508 -+  BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4,
 1.33509 -+  BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI,
 1.33510 -+  BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO,
 1.33511 -+  BFD_RELOC_BFIN_GOTOFF17M4,
 1.33512 -+  BFD_RELOC_BFIN_GOTOFFHI,
 1.33513 -+  BFD_RELOC_BFIN_GOTOFFLO,
 1.33514 -+
 1.33515 -+/* ADI Blackfin GOT relocation.  */
 1.33516 -+  BFD_RELOC_BFIN_GOT,
 1.33517 -+
 1.33518 -+/* ADI Blackfin PLTPC relocation.  */
 1.33519 -+  BFD_RELOC_BFIN_PLTPC,
 1.33520 -+
 1.33521 -+/* ADI Blackfin arithmetic relocation.  */
 1.33522 -+  BFD_ARELOC_BFIN_PUSH,
 1.33523 -+
 1.33524 -+/* ADI Blackfin arithmetic relocation.  */
 1.33525 -+  BFD_ARELOC_BFIN_CONST,
 1.33526 -+
 1.33527 -+/* ADI Blackfin arithmetic relocation.  */
 1.33528 -+  BFD_ARELOC_BFIN_ADD,
 1.33529 -+
 1.33530 -+/* ADI Blackfin arithmetic relocation.  */
 1.33531 -+  BFD_ARELOC_BFIN_SUB,
 1.33532 -+
 1.33533 -+/* ADI Blackfin arithmetic relocation.  */
 1.33534 -+  BFD_ARELOC_BFIN_MULT,
 1.33535 -+
 1.33536 -+/* ADI Blackfin arithmetic relocation.  */
 1.33537 -+  BFD_ARELOC_BFIN_DIV,
 1.33538 -+
 1.33539 -+/* ADI Blackfin arithmetic relocation.  */
 1.33540 -+  BFD_ARELOC_BFIN_MOD,
 1.33541 -+
 1.33542 -+/* ADI Blackfin arithmetic relocation.  */
 1.33543 -+  BFD_ARELOC_BFIN_LSHIFT,
 1.33544 -+
 1.33545 -+/* ADI Blackfin arithmetic relocation.  */
 1.33546 -+  BFD_ARELOC_BFIN_RSHIFT,
 1.33547 -+
 1.33548 -+/* ADI Blackfin arithmetic relocation.  */
 1.33549 -+  BFD_ARELOC_BFIN_AND,
 1.33550 -+
 1.33551 -+/* ADI Blackfin arithmetic relocation.  */
 1.33552 -+  BFD_ARELOC_BFIN_OR,
 1.33553 -+
 1.33554 -+/* ADI Blackfin arithmetic relocation.  */
 1.33555 -+  BFD_ARELOC_BFIN_XOR,
 1.33556 -+
 1.33557 -+/* ADI Blackfin arithmetic relocation.  */
 1.33558 -+  BFD_ARELOC_BFIN_LAND,
 1.33559 -+
 1.33560 -+/* ADI Blackfin arithmetic relocation.  */
 1.33561 -+  BFD_ARELOC_BFIN_LOR,
 1.33562 -+
 1.33563 -+/* ADI Blackfin arithmetic relocation.  */
 1.33564 -+  BFD_ARELOC_BFIN_LEN,
 1.33565 -+
 1.33566 -+/* ADI Blackfin arithmetic relocation.  */
 1.33567 -+  BFD_ARELOC_BFIN_NEG,
 1.33568 -+
 1.33569 -+/* ADI Blackfin arithmetic relocation.  */
 1.33570 -+  BFD_ARELOC_BFIN_COMP,
 1.33571 -+
 1.33572 -+/* ADI Blackfin arithmetic relocation.  */
 1.33573 -+  BFD_ARELOC_BFIN_PAGE,
 1.33574 -+
 1.33575 -+/* ADI Blackfin arithmetic relocation.  */
 1.33576 -+  BFD_ARELOC_BFIN_HWPAGE,
 1.33577 -+
 1.33578 -+/* ADI Blackfin arithmetic relocation.  */
 1.33579 -+  BFD_ARELOC_BFIN_ADDR,
 1.33580 -+
 1.33581 -+/* Mitsubishi D10V relocs.
 1.33582 -+This is a 10-bit reloc with the right 2 bits
 1.33583 -+assumed to be 0.  */
 1.33584 -+  BFD_RELOC_D10V_10_PCREL_R,
 1.33585 -+
 1.33586 -+/* Mitsubishi D10V relocs.
 1.33587 -+This is a 10-bit reloc with the right 2 bits
 1.33588 -+assumed to be 0.  This is the same as the previous reloc
 1.33589 -+except it is in the left container, i.e.,
 1.33590 -+shifted left 15 bits.  */
 1.33591 -+  BFD_RELOC_D10V_10_PCREL_L,
 1.33592 -+
 1.33593 -+/* This is an 18-bit reloc with the right 2 bits
 1.33594 -+assumed to be 0.  */
 1.33595 -+  BFD_RELOC_D10V_18,
 1.33596 -+
 1.33597 -+/* This is an 18-bit reloc with the right 2 bits
 1.33598 -+assumed to be 0.  */
 1.33599 -+  BFD_RELOC_D10V_18_PCREL,
 1.33600 -+
 1.33601 -+/* Mitsubishi D30V relocs.
 1.33602 -+This is a 6-bit absolute reloc.  */
 1.33603 -+  BFD_RELOC_D30V_6,
 1.33604 -+
 1.33605 -+/* This is a 6-bit pc-relative reloc with
 1.33606 -+the right 3 bits assumed to be 0.  */
 1.33607 -+  BFD_RELOC_D30V_9_PCREL,
 1.33608 -+
 1.33609 -+/* This is a 6-bit pc-relative reloc with
 1.33610 -+the right 3 bits assumed to be 0. Same
 1.33611 -+as the previous reloc but on the right side
 1.33612 -+of the container.  */
 1.33613 -+  BFD_RELOC_D30V_9_PCREL_R,
 1.33614 -+
 1.33615 -+/* This is a 12-bit absolute reloc with the
 1.33616 -+right 3 bitsassumed to be 0.  */
 1.33617 -+  BFD_RELOC_D30V_15,
 1.33618 -+
 1.33619 -+/* This is a 12-bit pc-relative reloc with
 1.33620 -+the right 3 bits assumed to be 0.  */
 1.33621 -+  BFD_RELOC_D30V_15_PCREL,
 1.33622 -+
 1.33623 -+/* This is a 12-bit pc-relative reloc with
 1.33624 -+the right 3 bits assumed to be 0. Same
 1.33625 -+as the previous reloc but on the right side
 1.33626 -+of the container.  */
 1.33627 -+  BFD_RELOC_D30V_15_PCREL_R,
 1.33628 -+
 1.33629 -+/* This is an 18-bit absolute reloc with
 1.33630 -+the right 3 bits assumed to be 0.  */
 1.33631 -+  BFD_RELOC_D30V_21,
 1.33632 -+
 1.33633 -+/* This is an 18-bit pc-relative reloc with
 1.33634 -+the right 3 bits assumed to be 0.  */
 1.33635 -+  BFD_RELOC_D30V_21_PCREL,
 1.33636 -+
 1.33637 -+/* This is an 18-bit pc-relative reloc with
 1.33638 -+the right 3 bits assumed to be 0. Same
 1.33639 -+as the previous reloc but on the right side
 1.33640 -+of the container.  */
 1.33641 -+  BFD_RELOC_D30V_21_PCREL_R,
 1.33642 -+
 1.33643 -+/* This is a 32-bit absolute reloc.  */
 1.33644 -+  BFD_RELOC_D30V_32,
 1.33645 -+
 1.33646 -+/* This is a 32-bit pc-relative reloc.  */
 1.33647 -+  BFD_RELOC_D30V_32_PCREL,
 1.33648 -+
 1.33649 -+/* DLX relocs  */
 1.33650 -+  BFD_RELOC_DLX_HI16_S,
 1.33651 -+
 1.33652 -+/* DLX relocs  */
 1.33653 -+  BFD_RELOC_DLX_LO16,
 1.33654 -+
 1.33655 -+/* DLX relocs  */
 1.33656 -+  BFD_RELOC_DLX_JMP26,
 1.33657 -+
 1.33658 -+/* Renesas M16C/M32C Relocations.  */
 1.33659 -+  BFD_RELOC_M32C_HI8,
 1.33660 -+  BFD_RELOC_M32C_RL_JUMP,
 1.33661 -+  BFD_RELOC_M32C_RL_1ADDR,
 1.33662 -+  BFD_RELOC_M32C_RL_2ADDR,
 1.33663 -+
 1.33664 -+/* Renesas M32R (formerly Mitsubishi M32R) relocs.
 1.33665 -+This is a 24 bit absolute address.  */
 1.33666 -+  BFD_RELOC_M32R_24,
 1.33667 -+
 1.33668 -+/* This is a 10-bit pc-relative reloc with the right 2 bits assumed to be 0.  */
 1.33669 -+  BFD_RELOC_M32R_10_PCREL,
 1.33670 -+
 1.33671 -+/* This is an 18-bit reloc with the right 2 bits assumed to be 0.  */
 1.33672 -+  BFD_RELOC_M32R_18_PCREL,
 1.33673 -+
 1.33674 -+/* This is a 26-bit reloc with the right 2 bits assumed to be 0.  */
 1.33675 -+  BFD_RELOC_M32R_26_PCREL,
 1.33676 -+
 1.33677 -+/* This is a 16-bit reloc containing the high 16 bits of an address
 1.33678 -+used when the lower 16 bits are treated as unsigned.  */
 1.33679 -+  BFD_RELOC_M32R_HI16_ULO,
 1.33680 -+
 1.33681 -+/* This is a 16-bit reloc containing the high 16 bits of an address
 1.33682 -+used when the lower 16 bits are treated as signed.  */
 1.33683 -+  BFD_RELOC_M32R_HI16_SLO,
 1.33684 -+
 1.33685 -+/* This is a 16-bit reloc containing the lower 16 bits of an address.  */
 1.33686 -+  BFD_RELOC_M32R_LO16,
 1.33687 -+
 1.33688 -+/* This is a 16-bit reloc containing the small data area offset for use in
 1.33689 -+add3, load, and store instructions.  */
 1.33690 -+  BFD_RELOC_M32R_SDA16,
 1.33691 -+
 1.33692 -+/* For PIC.  */
 1.33693 -+  BFD_RELOC_M32R_GOT24,
 1.33694 -+  BFD_RELOC_M32R_26_PLTREL,
 1.33695 -+  BFD_RELOC_M32R_COPY,
 1.33696 -+  BFD_RELOC_M32R_GLOB_DAT,
 1.33697 -+  BFD_RELOC_M32R_JMP_SLOT,
 1.33698 -+  BFD_RELOC_M32R_RELATIVE,
 1.33699 -+  BFD_RELOC_M32R_GOTOFF,
 1.33700 -+  BFD_RELOC_M32R_GOTOFF_HI_ULO,
 1.33701 -+  BFD_RELOC_M32R_GOTOFF_HI_SLO,
 1.33702 -+  BFD_RELOC_M32R_GOTOFF_LO,
 1.33703 -+  BFD_RELOC_M32R_GOTPC24,
 1.33704 -+  BFD_RELOC_M32R_GOT16_HI_ULO,
 1.33705 -+  BFD_RELOC_M32R_GOT16_HI_SLO,
 1.33706 -+  BFD_RELOC_M32R_GOT16_LO,
 1.33707 -+  BFD_RELOC_M32R_GOTPC_HI_ULO,
 1.33708 -+  BFD_RELOC_M32R_GOTPC_HI_SLO,
 1.33709 -+  BFD_RELOC_M32R_GOTPC_LO,
 1.33710 -+
 1.33711 -+/* This is a 9-bit reloc  */
 1.33712 -+  BFD_RELOC_V850_9_PCREL,
 1.33713 -+
 1.33714 -+/* This is a 22-bit reloc  */
 1.33715 -+  BFD_RELOC_V850_22_PCREL,
 1.33716 -+
 1.33717 -+/* This is a 16 bit offset from the short data area pointer.  */
 1.33718 -+  BFD_RELOC_V850_SDA_16_16_OFFSET,
 1.33719 -+
 1.33720 -+/* This is a 16 bit offset (of which only 15 bits are used) from the
 1.33721 -+short data area pointer.  */
 1.33722 -+  BFD_RELOC_V850_SDA_15_16_OFFSET,
 1.33723 -+
 1.33724 -+/* This is a 16 bit offset from the zero data area pointer.  */
 1.33725 -+  BFD_RELOC_V850_ZDA_16_16_OFFSET,
 1.33726 -+
 1.33727 -+/* This is a 16 bit offset (of which only 15 bits are used) from the
 1.33728 -+zero data area pointer.  */
 1.33729 -+  BFD_RELOC_V850_ZDA_15_16_OFFSET,
 1.33730 -+
 1.33731 -+/* This is an 8 bit offset (of which only 6 bits are used) from the
 1.33732 -+tiny data area pointer.  */
 1.33733 -+  BFD_RELOC_V850_TDA_6_8_OFFSET,
 1.33734 -+
 1.33735 -+/* This is an 8bit offset (of which only 7 bits are used) from the tiny
 1.33736 -+data area pointer.  */
 1.33737 -+  BFD_RELOC_V850_TDA_7_8_OFFSET,
 1.33738 -+
 1.33739 -+/* This is a 7 bit offset from the tiny data area pointer.  */
 1.33740 -+  BFD_RELOC_V850_TDA_7_7_OFFSET,
 1.33741 -+
 1.33742 -+/* This is a 16 bit offset from the tiny data area pointer.  */
 1.33743 -+  BFD_RELOC_V850_TDA_16_16_OFFSET,
 1.33744 -+
 1.33745 -+/* This is a 5 bit offset (of which only 4 bits are used) from the tiny
 1.33746 -+data area pointer.  */
 1.33747 -+  BFD_RELOC_V850_TDA_4_5_OFFSET,
 1.33748 -+
 1.33749 -+/* This is a 4 bit offset from the tiny data area pointer.  */
 1.33750 -+  BFD_RELOC_V850_TDA_4_4_OFFSET,
 1.33751 -+
 1.33752 -+/* This is a 16 bit offset from the short data area pointer, with the
 1.33753 -+bits placed non-contiguously in the instruction.  */
 1.33754 -+  BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET,
 1.33755 -+
 1.33756 -+/* This is a 16 bit offset from the zero data area pointer, with the
 1.33757 -+bits placed non-contiguously in the instruction.  */
 1.33758 -+  BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET,
 1.33759 -+
 1.33760 -+/* This is a 6 bit offset from the call table base pointer.  */
 1.33761 -+  BFD_RELOC_V850_CALLT_6_7_OFFSET,
 1.33762 -+
 1.33763 -+/* This is a 16 bit offset from the call table base pointer.  */
 1.33764 -+  BFD_RELOC_V850_CALLT_16_16_OFFSET,
 1.33765 -+
 1.33766 -+/* Used for relaxing indirect function calls.  */
 1.33767 -+  BFD_RELOC_V850_LONGCALL,
 1.33768 -+
 1.33769 -+/* Used for relaxing indirect jumps.  */
 1.33770 -+  BFD_RELOC_V850_LONGJUMP,
 1.33771 -+
 1.33772 -+/* Used to maintain alignment whilst relaxing.  */
 1.33773 -+  BFD_RELOC_V850_ALIGN,
 1.33774 -+
 1.33775 -+/* This is a variation of BFD_RELOC_LO16 that can be used in v850e ld.bu
 1.33776 -+instructions.  */
 1.33777 -+  BFD_RELOC_V850_LO16_SPLIT_OFFSET,
 1.33778 -+
 1.33779 -+/* This is a 32bit pcrel reloc for the mn10300, offset by two bytes in the
 1.33780 -+instruction.  */
 1.33781 -+  BFD_RELOC_MN10300_32_PCREL,
 1.33782 -+
 1.33783 -+/* This is a 16bit pcrel reloc for the mn10300, offset by two bytes in the
 1.33784 -+instruction.  */
 1.33785 -+  BFD_RELOC_MN10300_16_PCREL,
 1.33786 -+
 1.33787 -+/* This is a 8bit DP reloc for the tms320c30, where the most
 1.33788 -+significant 8 bits of a 24 bit word are placed into the least
 1.33789 -+significant 8 bits of the opcode.  */
 1.33790 -+  BFD_RELOC_TIC30_LDP,
 1.33791 -+
 1.33792 -+/* This is a 7bit reloc for the tms320c54x, where the least
 1.33793 -+significant 7 bits of a 16 bit word are placed into the least
 1.33794 -+significant 7 bits of the opcode.  */
 1.33795 -+  BFD_RELOC_TIC54X_PARTLS7,
 1.33796 -+
 1.33797 -+/* This is a 9bit DP reloc for the tms320c54x, where the most
 1.33798 -+significant 9 bits of a 16 bit word are placed into the least
 1.33799 -+significant 9 bits of the opcode.  */
 1.33800 -+  BFD_RELOC_TIC54X_PARTMS9,
 1.33801 -+
 1.33802 -+/* This is an extended address 23-bit reloc for the tms320c54x.  */
 1.33803 -+  BFD_RELOC_TIC54X_23,
 1.33804 -+
 1.33805 -+/* This is a 16-bit reloc for the tms320c54x, where the least
 1.33806 -+significant 16 bits of a 23-bit extended address are placed into
 1.33807 -+the opcode.  */
 1.33808 -+  BFD_RELOC_TIC54X_16_OF_23,
 1.33809 -+
 1.33810 -+/* This is a reloc for the tms320c54x, where the most
 1.33811 -+significant 7 bits of a 23-bit extended address are placed into
 1.33812 -+the opcode.  */
 1.33813 -+  BFD_RELOC_TIC54X_MS7_OF_23,
 1.33814 -+
 1.33815 -+/* This is a 48 bit reloc for the FR30 that stores 32 bits.  */
 1.33816 -+  BFD_RELOC_FR30_48,
 1.33817 -+
 1.33818 -+/* This is a 32 bit reloc for the FR30 that stores 20 bits split up into
 1.33819 -+two sections.  */
 1.33820 -+  BFD_RELOC_FR30_20,
 1.33821 -+
 1.33822 -+/* This is a 16 bit reloc for the FR30 that stores a 6 bit word offset in
 1.33823 -+4 bits.  */
 1.33824 -+  BFD_RELOC_FR30_6_IN_4,
 1.33825 -+
 1.33826 -+/* This is a 16 bit reloc for the FR30 that stores an 8 bit byte offset
 1.33827 -+into 8 bits.  */
 1.33828 -+  BFD_RELOC_FR30_8_IN_8,
 1.33829 -+
 1.33830 -+/* This is a 16 bit reloc for the FR30 that stores a 9 bit short offset
 1.33831 -+into 8 bits.  */
 1.33832 -+  BFD_RELOC_FR30_9_IN_8,
 1.33833 -+
 1.33834 -+/* This is a 16 bit reloc for the FR30 that stores a 10 bit word offset
 1.33835 -+into 8 bits.  */
 1.33836 -+  BFD_RELOC_FR30_10_IN_8,
 1.33837 -+
 1.33838 -+/* This is a 16 bit reloc for the FR30 that stores a 9 bit pc relative
 1.33839 -+short offset into 8 bits.  */
 1.33840 -+  BFD_RELOC_FR30_9_PCREL,
 1.33841 -+
 1.33842 -+/* This is a 16 bit reloc for the FR30 that stores a 12 bit pc relative
 1.33843 -+short offset into 11 bits.  */
 1.33844 -+  BFD_RELOC_FR30_12_PCREL,
 1.33845 -+
 1.33846 -+/* Motorola Mcore relocations.  */
 1.33847 -+  BFD_RELOC_MCORE_PCREL_IMM8BY4,
 1.33848 -+  BFD_RELOC_MCORE_PCREL_IMM11BY2,
 1.33849 -+  BFD_RELOC_MCORE_PCREL_IMM4BY2,
 1.33850 -+  BFD_RELOC_MCORE_PCREL_32,
 1.33851 -+  BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2,
 1.33852 -+  BFD_RELOC_MCORE_RVA,
 1.33853 -+
 1.33854 -+/* Toshiba Media Processor Relocations.  */
 1.33855 -+  BFD_RELOC_MEP_8,
 1.33856 -+  BFD_RELOC_MEP_16,
 1.33857 -+  BFD_RELOC_MEP_32,
 1.33858 -+  BFD_RELOC_MEP_PCREL8A2,
 1.33859 -+  BFD_RELOC_MEP_PCREL12A2,
 1.33860 -+  BFD_RELOC_MEP_PCREL17A2,
 1.33861 -+  BFD_RELOC_MEP_PCREL24A2,
 1.33862 -+  BFD_RELOC_MEP_PCABS24A2,
 1.33863 -+  BFD_RELOC_MEP_LOW16,
 1.33864 -+  BFD_RELOC_MEP_HI16U,
 1.33865 -+  BFD_RELOC_MEP_HI16S,
 1.33866 -+  BFD_RELOC_MEP_GPREL,
 1.33867 -+  BFD_RELOC_MEP_TPREL,
 1.33868 -+  BFD_RELOC_MEP_TPREL7,
 1.33869 -+  BFD_RELOC_MEP_TPREL7A2,
 1.33870 -+  BFD_RELOC_MEP_TPREL7A4,
 1.33871 -+  BFD_RELOC_MEP_UIMM24,
 1.33872 -+  BFD_RELOC_MEP_ADDR24A4,
 1.33873 -+  BFD_RELOC_MEP_GNU_VTINHERIT,
 1.33874 -+  BFD_RELOC_MEP_GNU_VTENTRY,
 1.33875 -+
 1.33876 -+
 1.33877 -+/* These are relocations for the GETA instruction.  */
 1.33878 -+  BFD_RELOC_MMIX_GETA,
 1.33879 -+  BFD_RELOC_MMIX_GETA_1,
 1.33880 -+  BFD_RELOC_MMIX_GETA_2,
 1.33881 -+  BFD_RELOC_MMIX_GETA_3,
 1.33882 -+
 1.33883 -+/* These are relocations for a conditional branch instruction.  */
 1.33884 -+  BFD_RELOC_MMIX_CBRANCH,
 1.33885 -+  BFD_RELOC_MMIX_CBRANCH_J,
 1.33886 -+  BFD_RELOC_MMIX_CBRANCH_1,
 1.33887 -+  BFD_RELOC_MMIX_CBRANCH_2,
 1.33888 -+  BFD_RELOC_MMIX_CBRANCH_3,
 1.33889 -+
 1.33890 -+/* These are relocations for the PUSHJ instruction.  */
 1.33891 -+  BFD_RELOC_MMIX_PUSHJ,
 1.33892 -+  BFD_RELOC_MMIX_PUSHJ_1,
 1.33893 -+  BFD_RELOC_MMIX_PUSHJ_2,
 1.33894 -+  BFD_RELOC_MMIX_PUSHJ_3,
 1.33895 -+  BFD_RELOC_MMIX_PUSHJ_STUBBABLE,
 1.33896 -+
 1.33897 -+/* These are relocations for the JMP instruction.  */
 1.33898 -+  BFD_RELOC_MMIX_JMP,
 1.33899 -+  BFD_RELOC_MMIX_JMP_1,
 1.33900 -+  BFD_RELOC_MMIX_JMP_2,
 1.33901 -+  BFD_RELOC_MMIX_JMP_3,
 1.33902 -+
 1.33903 -+/* This is a relocation for a relative address as in a GETA instruction or
 1.33904 -+a branch.  */
 1.33905 -+  BFD_RELOC_MMIX_ADDR19,
 1.33906 -+
 1.33907 -+/* This is a relocation for a relative address as in a JMP instruction.  */
 1.33908 -+  BFD_RELOC_MMIX_ADDR27,
 1.33909 -+
 1.33910 -+/* This is a relocation for an instruction field that may be a general
 1.33911 -+register or a value 0..255.  */
 1.33912 -+  BFD_RELOC_MMIX_REG_OR_BYTE,
 1.33913 -+
 1.33914 -+/* This is a relocation for an instruction field that may be a general
 1.33915 -+register.  */
 1.33916 -+  BFD_RELOC_MMIX_REG,
 1.33917 -+
 1.33918 -+/* This is a relocation for two instruction fields holding a register and
 1.33919 -+an offset, the equivalent of the relocation.  */
 1.33920 -+  BFD_RELOC_MMIX_BASE_PLUS_OFFSET,
 1.33921 -+
 1.33922 -+/* This relocation is an assertion that the expression is not allocated as
 1.33923 -+a global register.  It does not modify contents.  */
 1.33924 -+  BFD_RELOC_MMIX_LOCAL,
 1.33925 -+
 1.33926 -+/* This is a 16 bit reloc for the AVR that stores 8 bit pc relative
 1.33927 -+short offset into 7 bits.  */
 1.33928 -+  BFD_RELOC_AVR_7_PCREL,
 1.33929 -+
 1.33930 -+/* This is a 16 bit reloc for the AVR that stores 13 bit pc relative
 1.33931 -+short offset into 12 bits.  */
 1.33932 -+  BFD_RELOC_AVR_13_PCREL,
 1.33933 -+
 1.33934 -+/* This is a 16 bit reloc for the AVR that stores 17 bit value (usually
 1.33935 -+program memory address) into 16 bits.  */
 1.33936 -+  BFD_RELOC_AVR_16_PM,
 1.33937 -+
 1.33938 -+/* This is a 16 bit reloc for the AVR that stores 8 bit value (usually
 1.33939 -+data memory address) into 8 bit immediate value of LDI insn.  */
 1.33940 -+  BFD_RELOC_AVR_LO8_LDI,
 1.33941 -+
 1.33942 -+/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
 1.33943 -+of data memory address) into 8 bit immediate value of LDI insn.  */
 1.33944 -+  BFD_RELOC_AVR_HI8_LDI,
 1.33945 -+
 1.33946 -+/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit
 1.33947 -+of program memory address) into 8 bit immediate value of LDI insn.  */
 1.33948 -+  BFD_RELOC_AVR_HH8_LDI,
 1.33949 -+
 1.33950 -+/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit
 1.33951 -+of 32 bit value) into 8 bit immediate value of LDI insn.  */
 1.33952 -+  BFD_RELOC_AVR_MS8_LDI,
 1.33953 -+
 1.33954 -+/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
 1.33955 -+(usually data memory address) into 8 bit immediate value of SUBI insn.  */
 1.33956 -+  BFD_RELOC_AVR_LO8_LDI_NEG,
 1.33957 -+
 1.33958 -+/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
 1.33959 -+(high 8 bit of data memory address) into 8 bit immediate value of
 1.33960 -+SUBI insn.  */
 1.33961 -+  BFD_RELOC_AVR_HI8_LDI_NEG,
 1.33962 -+
 1.33963 -+/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
 1.33964 -+(most high 8 bit of program memory address) into 8 bit immediate value
 1.33965 -+of LDI or SUBI insn.  */
 1.33966 -+  BFD_RELOC_AVR_HH8_LDI_NEG,
 1.33967 -+
 1.33968 -+/* This is a 16 bit reloc for the AVR that stores negated 8 bit value (msb
 1.33969 -+of 32 bit value) into 8 bit immediate value of LDI insn.  */
 1.33970 -+  BFD_RELOC_AVR_MS8_LDI_NEG,
 1.33971 -+
 1.33972 -+/* This is a 16 bit reloc for the AVR that stores 8 bit value (usually
 1.33973 -+command address) into 8 bit immediate value of LDI insn.  */
 1.33974 -+  BFD_RELOC_AVR_LO8_LDI_PM,
 1.33975 -+
 1.33976 -+/* This is a 16 bit reloc for the AVR that stores 8 bit value 
 1.33977 -+(command address) into 8 bit immediate value of LDI insn. If the address
 1.33978 -+is beyond the 128k boundary, the linker inserts a jump stub for this reloc
 1.33979 -+in the lower 128k.  */
 1.33980 -+  BFD_RELOC_AVR_LO8_LDI_GS,
 1.33981 -+
 1.33982 -+/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
 1.33983 -+of command address) into 8 bit immediate value of LDI insn.  */
 1.33984 -+  BFD_RELOC_AVR_HI8_LDI_PM,
 1.33985 -+
 1.33986 -+/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
 1.33987 -+of command address) into 8 bit immediate value of LDI insn.  If the address
 1.33988 -+is beyond the 128k boundary, the linker inserts a jump stub for this reloc
 1.33989 -+below 128k.  */
 1.33990 -+  BFD_RELOC_AVR_HI8_LDI_GS,
 1.33991 -+
 1.33992 -+/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit
 1.33993 -+of command address) into 8 bit immediate value of LDI insn.  */
 1.33994 -+  BFD_RELOC_AVR_HH8_LDI_PM,
 1.33995 -+
 1.33996 -+/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
 1.33997 -+(usually command address) into 8 bit immediate value of SUBI insn.  */
 1.33998 -+  BFD_RELOC_AVR_LO8_LDI_PM_NEG,
 1.33999 -+
 1.34000 -+/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
 1.34001 -+(high 8 bit of 16 bit command address) into 8 bit immediate value
 1.34002 -+of SUBI insn.  */
 1.34003 -+  BFD_RELOC_AVR_HI8_LDI_PM_NEG,
 1.34004 -+
 1.34005 -+/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
 1.34006 -+(high 6 bit of 22 bit command address) into 8 bit immediate
 1.34007 -+value of SUBI insn.  */
 1.34008 -+  BFD_RELOC_AVR_HH8_LDI_PM_NEG,
 1.34009 -+
 1.34010 -+/* This is a 32 bit reloc for the AVR that stores 23 bit value
 1.34011 -+into 22 bits.  */
 1.34012 -+  BFD_RELOC_AVR_CALL,
 1.34013 -+
 1.34014 -+/* This is a 16 bit reloc for the AVR that stores all needed bits
 1.34015 -+for absolute addressing with ldi with overflow check to linktime  */
 1.34016 -+  BFD_RELOC_AVR_LDI,
 1.34017 -+
 1.34018 -+/* This is a 6 bit reloc for the AVR that stores offset for ldd/std
 1.34019 -+instructions  */
 1.34020 -+  BFD_RELOC_AVR_6,
 1.34021 -+
 1.34022 -+/* This is a 6 bit reloc for the AVR that stores offset for adiw/sbiw
 1.34023 -+instructions  */
 1.34024 -+  BFD_RELOC_AVR_6_ADIW,
 1.34025 -+
 1.34026 -+/* Direct 12 bit.  */
 1.34027 -+  BFD_RELOC_390_12,
 1.34028 -+
 1.34029 -+/* 12 bit GOT offset.  */
 1.34030 -+  BFD_RELOC_390_GOT12,
 1.34031 -+
 1.34032 -+/* 32 bit PC relative PLT address.  */
 1.34033 -+  BFD_RELOC_390_PLT32,
 1.34034 -+
 1.34035 -+/* Copy symbol at runtime.  */
 1.34036 -+  BFD_RELOC_390_COPY,
 1.34037 -+
 1.34038 -+/* Create GOT entry.  */
 1.34039 -+  BFD_RELOC_390_GLOB_DAT,
 1.34040 -+
 1.34041 -+/* Create PLT entry.  */
 1.34042 -+  BFD_RELOC_390_JMP_SLOT,
 1.34043 -+
 1.34044 -+/* Adjust by program base.  */
 1.34045 -+  BFD_RELOC_390_RELATIVE,
 1.34046 -+
 1.34047 -+/* 32 bit PC relative offset to GOT.  */
 1.34048 -+  BFD_RELOC_390_GOTPC,
 1.34049 -+
 1.34050 -+/* 16 bit GOT offset.  */
 1.34051 -+  BFD_RELOC_390_GOT16,
 1.34052 -+
 1.34053 -+/* PC relative 16 bit shifted by 1.  */
 1.34054 -+  BFD_RELOC_390_PC16DBL,
 1.34055 -+
 1.34056 -+/* 16 bit PC rel. PLT shifted by 1.  */
 1.34057 -+  BFD_RELOC_390_PLT16DBL,
 1.34058 -+
 1.34059 -+/* PC relative 32 bit shifted by 1.  */
 1.34060 -+  BFD_RELOC_390_PC32DBL,
 1.34061 -+
 1.34062 -+/* 32 bit PC rel. PLT shifted by 1.  */
 1.34063 -+  BFD_RELOC_390_PLT32DBL,
 1.34064 -+
 1.34065 -+/* 32 bit PC rel. GOT shifted by 1.  */
 1.34066 -+  BFD_RELOC_390_GOTPCDBL,
 1.34067 -+
 1.34068 -+/* 64 bit GOT offset.  */
 1.34069 -+  BFD_RELOC_390_GOT64,
 1.34070 -+
 1.34071 -+/* 64 bit PC relative PLT address.  */
 1.34072 -+  BFD_RELOC_390_PLT64,
 1.34073 -+
 1.34074 -+/* 32 bit rel. offset to GOT entry.  */
 1.34075 -+  BFD_RELOC_390_GOTENT,
 1.34076 -+
 1.34077 -+/* 64 bit offset to GOT.  */
 1.34078 -+  BFD_RELOC_390_GOTOFF64,
 1.34079 -+
 1.34080 -+/* 12-bit offset to symbol-entry within GOT, with PLT handling.  */
 1.34081 -+  BFD_RELOC_390_GOTPLT12,
 1.34082 -+
 1.34083 -+/* 16-bit offset to symbol-entry within GOT, with PLT handling.  */
 1.34084 -+  BFD_RELOC_390_GOTPLT16,
 1.34085 -+
 1.34086 -+/* 32-bit offset to symbol-entry within GOT, with PLT handling.  */
 1.34087 -+  BFD_RELOC_390_GOTPLT32,
 1.34088 -+
 1.34089 -+/* 64-bit offset to symbol-entry within GOT, with PLT handling.  */
 1.34090 -+  BFD_RELOC_390_GOTPLT64,
 1.34091 -+
 1.34092 -+/* 32-bit rel. offset to symbol-entry within GOT, with PLT handling.  */
 1.34093 -+  BFD_RELOC_390_GOTPLTENT,
 1.34094 -+
 1.34095 -+/* 16-bit rel. offset from the GOT to a PLT entry.  */
 1.34096 -+  BFD_RELOC_390_PLTOFF16,
 1.34097 -+
 1.34098 -+/* 32-bit rel. offset from the GOT to a PLT entry.  */
 1.34099 -+  BFD_RELOC_390_PLTOFF32,
 1.34100 -+
 1.34101 -+/* 64-bit rel. offset from the GOT to a PLT entry.  */
 1.34102 -+  BFD_RELOC_390_PLTOFF64,
 1.34103 -+
 1.34104 -+/* s390 tls relocations.  */
 1.34105 -+  BFD_RELOC_390_TLS_LOAD,
 1.34106 -+  BFD_RELOC_390_TLS_GDCALL,
 1.34107 -+  BFD_RELOC_390_TLS_LDCALL,
 1.34108 -+  BFD_RELOC_390_TLS_GD32,
 1.34109 -+  BFD_RELOC_390_TLS_GD64,
 1.34110 -+  BFD_RELOC_390_TLS_GOTIE12,
 1.34111 -+  BFD_RELOC_390_TLS_GOTIE32,
 1.34112 -+  BFD_RELOC_390_TLS_GOTIE64,
 1.34113 -+  BFD_RELOC_390_TLS_LDM32,
 1.34114 -+  BFD_RELOC_390_TLS_LDM64,
 1.34115 -+  BFD_RELOC_390_TLS_IE32,
 1.34116 -+  BFD_RELOC_390_TLS_IE64,
 1.34117 -+  BFD_RELOC_390_TLS_IEENT,
 1.34118 -+  BFD_RELOC_390_TLS_LE32,
 1.34119 -+  BFD_RELOC_390_TLS_LE64,
 1.34120 -+  BFD_RELOC_390_TLS_LDO32,
 1.34121 -+  BFD_RELOC_390_TLS_LDO64,
 1.34122 -+  BFD_RELOC_390_TLS_DTPMOD,
 1.34123 -+  BFD_RELOC_390_TLS_DTPOFF,
 1.34124 -+  BFD_RELOC_390_TLS_TPOFF,
 1.34125 -+
 1.34126 -+/* Long displacement extension.  */
 1.34127 -+  BFD_RELOC_390_20,
 1.34128 -+  BFD_RELOC_390_GOT20,
 1.34129 -+  BFD_RELOC_390_GOTPLT20,
 1.34130 -+  BFD_RELOC_390_TLS_GOTIE20,
 1.34131 -+
 1.34132 -+/* Score relocations  */
 1.34133 -+  BFD_RELOC_SCORE_DUMMY1,
 1.34134 -+
 1.34135 -+/* Low 16 bit for load/store  */
 1.34136 -+  BFD_RELOC_SCORE_GPREL15,
 1.34137 -+
 1.34138 -+/* This is a 24-bit reloc with the right 1 bit assumed to be 0  */
 1.34139 -+  BFD_RELOC_SCORE_DUMMY2,
 1.34140 -+  BFD_RELOC_SCORE_JMP,
 1.34141 -+
 1.34142 -+/* This is a 19-bit reloc with the right 1 bit assumed to be 0  */
 1.34143 -+  BFD_RELOC_SCORE_BRANCH,
 1.34144 -+
 1.34145 -+/* This is a 11-bit reloc with the right 1 bit assumed to be 0  */
 1.34146 -+  BFD_RELOC_SCORE16_JMP,
 1.34147 -+
 1.34148 -+/* This is a 8-bit reloc with the right 1 bit assumed to be 0  */
 1.34149 -+  BFD_RELOC_SCORE16_BRANCH,
 1.34150 -+
 1.34151 -+/* Undocumented Score relocs  */
 1.34152 -+  BFD_RELOC_SCORE_GOT15,
 1.34153 -+  BFD_RELOC_SCORE_GOT_LO16,
 1.34154 -+  BFD_RELOC_SCORE_CALL15,
 1.34155 -+  BFD_RELOC_SCORE_DUMMY_HI16,
 1.34156 -+
 1.34157 -+/* Scenix IP2K - 9-bit register number / data address  */
 1.34158 -+  BFD_RELOC_IP2K_FR9,
 1.34159 -+
 1.34160 -+/* Scenix IP2K - 4-bit register/data bank number  */
 1.34161 -+  BFD_RELOC_IP2K_BANK,
 1.34162 -+
 1.34163 -+/* Scenix IP2K - low 13 bits of instruction word address  */
 1.34164 -+  BFD_RELOC_IP2K_ADDR16CJP,
 1.34165 -+
 1.34166 -+/* Scenix IP2K - high 3 bits of instruction word address  */
 1.34167 -+  BFD_RELOC_IP2K_PAGE3,
 1.34168 -+
 1.34169 -+/* Scenix IP2K - ext/low/high 8 bits of data address  */
 1.34170 -+  BFD_RELOC_IP2K_LO8DATA,
 1.34171 -+  BFD_RELOC_IP2K_HI8DATA,
 1.34172 -+  BFD_RELOC_IP2K_EX8DATA,
 1.34173 -+
 1.34174 -+/* Scenix IP2K - low/high 8 bits of instruction word address  */
 1.34175 -+  BFD_RELOC_IP2K_LO8INSN,
 1.34176 -+  BFD_RELOC_IP2K_HI8INSN,
 1.34177 -+
 1.34178 -+/* Scenix IP2K - even/odd PC modifier to modify snb pcl.0  */
 1.34179 -+  BFD_RELOC_IP2K_PC_SKIP,
 1.34180 -+
 1.34181 -+/* Scenix IP2K - 16 bit word address in text section.  */
 1.34182 -+  BFD_RELOC_IP2K_TEXT,
 1.34183 -+
 1.34184 -+/* Scenix IP2K - 7-bit sp or dp offset  */
 1.34185 -+  BFD_RELOC_IP2K_FR_OFFSET,
 1.34186 -+
 1.34187 -+/* Scenix VPE4K coprocessor - data/insn-space addressing  */
 1.34188 -+  BFD_RELOC_VPE4KMATH_DATA,
 1.34189 -+  BFD_RELOC_VPE4KMATH_INSN,
 1.34190 -+
 1.34191 -+/* These two relocations are used by the linker to determine which of
 1.34192 -+the entries in a C++ virtual function table are actually used.  When
 1.34193 -+the --gc-sections option is given, the linker will zero out the entries
 1.34194 -+that are not used, so that the code for those functions need not be
 1.34195 -+included in the output.
 1.34196 -+
 1.34197 -+VTABLE_INHERIT is a zero-space relocation used to describe to the
 1.34198 -+linker the inheritance tree of a C++ virtual function table.  The
 1.34199 -+relocation's symbol should be the parent class' vtable, and the
 1.34200 -+relocation should be located at the child vtable.
 1.34201 -+
 1.34202 -+VTABLE_ENTRY is a zero-space relocation that describes the use of a
 1.34203 -+virtual function table entry.  The reloc's symbol should refer to the
 1.34204 -+table of the class mentioned in the code.  Off of that base, an offset
 1.34205 -+describes the entry that is being used.  For Rela hosts, this offset
 1.34206 -+is stored in the reloc's addend.  For Rel hosts, we are forced to put
 1.34207 -+this offset in the reloc's section offset.  */
 1.34208 -+  BFD_RELOC_VTABLE_INHERIT,
 1.34209 -+  BFD_RELOC_VTABLE_ENTRY,
 1.34210 -+
 1.34211 -+/* Intel IA64 Relocations.  */
 1.34212 -+  BFD_RELOC_IA64_IMM14,
 1.34213 -+  BFD_RELOC_IA64_IMM22,
 1.34214 -+  BFD_RELOC_IA64_IMM64,
 1.34215 -+  BFD_RELOC_IA64_DIR32MSB,
 1.34216 -+  BFD_RELOC_IA64_DIR32LSB,
 1.34217 -+  BFD_RELOC_IA64_DIR64MSB,
 1.34218 -+  BFD_RELOC_IA64_DIR64LSB,
 1.34219 -+  BFD_RELOC_IA64_GPREL22,
 1.34220 -+  BFD_RELOC_IA64_GPREL64I,
 1.34221 -+  BFD_RELOC_IA64_GPREL32MSB,
 1.34222 -+  BFD_RELOC_IA64_GPREL32LSB,
 1.34223 -+  BFD_RELOC_IA64_GPREL64MSB,
 1.34224 -+  BFD_RELOC_IA64_GPREL64LSB,
 1.34225 -+  BFD_RELOC_IA64_LTOFF22,
 1.34226 -+  BFD_RELOC_IA64_LTOFF64I,
 1.34227 -+  BFD_RELOC_IA64_PLTOFF22,
 1.34228 -+  BFD_RELOC_IA64_PLTOFF64I,
 1.34229 -+  BFD_RELOC_IA64_PLTOFF64MSB,
 1.34230 -+  BFD_RELOC_IA64_PLTOFF64LSB,
 1.34231 -+  BFD_RELOC_IA64_FPTR64I,
 1.34232 -+  BFD_RELOC_IA64_FPTR32MSB,
 1.34233 -+  BFD_RELOC_IA64_FPTR32LSB,
 1.34234 -+  BFD_RELOC_IA64_FPTR64MSB,
 1.34235 -+  BFD_RELOC_IA64_FPTR64LSB,
 1.34236 -+  BFD_RELOC_IA64_PCREL21B,
 1.34237 -+  BFD_RELOC_IA64_PCREL21BI,
 1.34238 -+  BFD_RELOC_IA64_PCREL21M,
 1.34239 -+  BFD_RELOC_IA64_PCREL21F,
 1.34240 -+  BFD_RELOC_IA64_PCREL22,
 1.34241 -+  BFD_RELOC_IA64_PCREL60B,
 1.34242 -+  BFD_RELOC_IA64_PCREL64I,
 1.34243 -+  BFD_RELOC_IA64_PCREL32MSB,
 1.34244 -+  BFD_RELOC_IA64_PCREL32LSB,
 1.34245 -+  BFD_RELOC_IA64_PCREL64MSB,
 1.34246 -+  BFD_RELOC_IA64_PCREL64LSB,
 1.34247 -+  BFD_RELOC_IA64_LTOFF_FPTR22,
 1.34248 -+  BFD_RELOC_IA64_LTOFF_FPTR64I,
 1.34249 -+  BFD_RELOC_IA64_LTOFF_FPTR32MSB,
 1.34250 -+  BFD_RELOC_IA64_LTOFF_FPTR32LSB,
 1.34251 -+  BFD_RELOC_IA64_LTOFF_FPTR64MSB,
 1.34252 -+  BFD_RELOC_IA64_LTOFF_FPTR64LSB,
 1.34253 -+  BFD_RELOC_IA64_SEGREL32MSB,
 1.34254 -+  BFD_RELOC_IA64_SEGREL32LSB,
 1.34255 -+  BFD_RELOC_IA64_SEGREL64MSB,
 1.34256 -+  BFD_RELOC_IA64_SEGREL64LSB,
 1.34257 -+  BFD_RELOC_IA64_SECREL32MSB,
 1.34258 -+  BFD_RELOC_IA64_SECREL32LSB,
 1.34259 -+  BFD_RELOC_IA64_SECREL64MSB,
 1.34260 -+  BFD_RELOC_IA64_SECREL64LSB,
 1.34261 -+  BFD_RELOC_IA64_REL32MSB,
 1.34262 -+  BFD_RELOC_IA64_REL32LSB,
 1.34263 -+  BFD_RELOC_IA64_REL64MSB,
 1.34264 -+  BFD_RELOC_IA64_REL64LSB,
 1.34265 -+  BFD_RELOC_IA64_LTV32MSB,
 1.34266 -+  BFD_RELOC_IA64_LTV32LSB,
 1.34267 -+  BFD_RELOC_IA64_LTV64MSB,
 1.34268 -+  BFD_RELOC_IA64_LTV64LSB,
 1.34269 -+  BFD_RELOC_IA64_IPLTMSB,
 1.34270 -+  BFD_RELOC_IA64_IPLTLSB,
 1.34271 -+  BFD_RELOC_IA64_COPY,
 1.34272 -+  BFD_RELOC_IA64_LTOFF22X,
 1.34273 -+  BFD_RELOC_IA64_LDXMOV,
 1.34274 -+  BFD_RELOC_IA64_TPREL14,
 1.34275 -+  BFD_RELOC_IA64_TPREL22,
 1.34276 -+  BFD_RELOC_IA64_TPREL64I,
 1.34277 -+  BFD_RELOC_IA64_TPREL64MSB,
 1.34278 -+  BFD_RELOC_IA64_TPREL64LSB,
 1.34279 -+  BFD_RELOC_IA64_LTOFF_TPREL22,
 1.34280 -+  BFD_RELOC_IA64_DTPMOD64MSB,
 1.34281 -+  BFD_RELOC_IA64_DTPMOD64LSB,
 1.34282 -+  BFD_RELOC_IA64_LTOFF_DTPMOD22,
 1.34283 -+  BFD_RELOC_IA64_DTPREL14,
 1.34284 -+  BFD_RELOC_IA64_DTPREL22,
 1.34285 -+  BFD_RELOC_IA64_DTPREL64I,
 1.34286 -+  BFD_RELOC_IA64_DTPREL32MSB,
 1.34287 -+  BFD_RELOC_IA64_DTPREL32LSB,
 1.34288 -+  BFD_RELOC_IA64_DTPREL64MSB,
 1.34289 -+  BFD_RELOC_IA64_DTPREL64LSB,
 1.34290 -+  BFD_RELOC_IA64_LTOFF_DTPREL22,
 1.34291 -+
 1.34292 -+/* Motorola 68HC11 reloc.
 1.34293 -+This is the 8 bit high part of an absolute address.  */
 1.34294 -+  BFD_RELOC_M68HC11_HI8,
 1.34295 -+
 1.34296 -+/* Motorola 68HC11 reloc.
 1.34297 -+This is the 8 bit low part of an absolute address.  */
 1.34298 -+  BFD_RELOC_M68HC11_LO8,
 1.34299 -+
 1.34300 -+/* Motorola 68HC11 reloc.
 1.34301 -+This is the 3 bit of a value.  */
 1.34302 -+  BFD_RELOC_M68HC11_3B,
 1.34303 -+
 1.34304 -+/* Motorola 68HC11 reloc.
 1.34305 -+This reloc marks the beginning of a jump/call instruction.
 1.34306 -+It is used for linker relaxation to correctly identify beginning
 1.34307 -+of instruction and change some branches to use PC-relative
 1.34308 -+addressing mode.  */
 1.34309 -+  BFD_RELOC_M68HC11_RL_JUMP,
 1.34310 -+
 1.34311 -+/* Motorola 68HC11 reloc.
 1.34312 -+This reloc marks a group of several instructions that gcc generates
 1.34313 -+and for which the linker relaxation pass can modify and/or remove
 1.34314 -+some of them.  */
 1.34315 -+  BFD_RELOC_M68HC11_RL_GROUP,
 1.34316 -+
 1.34317 -+/* Motorola 68HC11 reloc.
 1.34318 -+This is the 16-bit lower part of an address.  It is used for 'call'
 1.34319 -+instruction to specify the symbol address without any special
 1.34320 -+transformation (due to memory bank window).  */
 1.34321 -+  BFD_RELOC_M68HC11_LO16,
 1.34322 -+
 1.34323 -+/* Motorola 68HC11 reloc.
 1.34324 -+This is a 8-bit reloc that specifies the page number of an address.
 1.34325 -+It is used by 'call' instruction to specify the page number of
 1.34326 -+the symbol.  */
 1.34327 -+  BFD_RELOC_M68HC11_PAGE,
 1.34328 -+
 1.34329 -+/* Motorola 68HC11 reloc.
 1.34330 -+This is a 24-bit reloc that represents the address with a 16-bit
 1.34331 -+value and a 8-bit page number.  The symbol address is transformed
 1.34332 -+to follow the 16K memory bank of 68HC12 (seen as mapped in the window).  */
 1.34333 -+  BFD_RELOC_M68HC11_24,
 1.34334 -+
 1.34335 -+/* Motorola 68HC12 reloc.
 1.34336 -+This is the 5 bits of a value.  */
 1.34337 -+  BFD_RELOC_M68HC12_5B,
 1.34338 -+
 1.34339 -+/* NS CR16C Relocations.  */
 1.34340 -+  BFD_RELOC_16C_NUM08,
 1.34341 -+  BFD_RELOC_16C_NUM08_C,
 1.34342 -+  BFD_RELOC_16C_NUM16,
 1.34343 -+  BFD_RELOC_16C_NUM16_C,
 1.34344 -+  BFD_RELOC_16C_NUM32,
 1.34345 -+  BFD_RELOC_16C_NUM32_C,
 1.34346 -+  BFD_RELOC_16C_DISP04,
 1.34347 -+  BFD_RELOC_16C_DISP04_C,
 1.34348 -+  BFD_RELOC_16C_DISP08,
 1.34349 -+  BFD_RELOC_16C_DISP08_C,
 1.34350 -+  BFD_RELOC_16C_DISP16,
 1.34351 -+  BFD_RELOC_16C_DISP16_C,
 1.34352 -+  BFD_RELOC_16C_DISP24,
 1.34353 -+  BFD_RELOC_16C_DISP24_C,
 1.34354 -+  BFD_RELOC_16C_DISP24a,
 1.34355 -+  BFD_RELOC_16C_DISP24a_C,
 1.34356 -+  BFD_RELOC_16C_REG04,
 1.34357 -+  BFD_RELOC_16C_REG04_C,
 1.34358 -+  BFD_RELOC_16C_REG04a,
 1.34359 -+  BFD_RELOC_16C_REG04a_C,
 1.34360 -+  BFD_RELOC_16C_REG14,
 1.34361 -+  BFD_RELOC_16C_REG14_C,
 1.34362 -+  BFD_RELOC_16C_REG16,
 1.34363 -+  BFD_RELOC_16C_REG16_C,
 1.34364 -+  BFD_RELOC_16C_REG20,
 1.34365 -+  BFD_RELOC_16C_REG20_C,
 1.34366 -+  BFD_RELOC_16C_ABS20,
 1.34367 -+  BFD_RELOC_16C_ABS20_C,
 1.34368 -+  BFD_RELOC_16C_ABS24,
 1.34369 -+  BFD_RELOC_16C_ABS24_C,
 1.34370 -+  BFD_RELOC_16C_IMM04,
 1.34371 -+  BFD_RELOC_16C_IMM04_C,
 1.34372 -+  BFD_RELOC_16C_IMM16,
 1.34373 -+  BFD_RELOC_16C_IMM16_C,
 1.34374 -+  BFD_RELOC_16C_IMM20,
 1.34375 -+  BFD_RELOC_16C_IMM20_C,
 1.34376 -+  BFD_RELOC_16C_IMM24,
 1.34377 -+  BFD_RELOC_16C_IMM24_C,
 1.34378 -+  BFD_RELOC_16C_IMM32,
 1.34379 -+  BFD_RELOC_16C_IMM32_C,
 1.34380 -+
 1.34381 -+/* NS CR16 Relocations.  */
 1.34382 -+  BFD_RELOC_CR16_NUM8,
 1.34383 -+  BFD_RELOC_CR16_NUM16,
 1.34384 -+  BFD_RELOC_CR16_NUM32,
 1.34385 -+  BFD_RELOC_CR16_NUM32a,
 1.34386 -+  BFD_RELOC_CR16_REGREL0,
 1.34387 -+  BFD_RELOC_CR16_REGREL4,
 1.34388 -+  BFD_RELOC_CR16_REGREL4a,
 1.34389 -+  BFD_RELOC_CR16_REGREL14,
 1.34390 -+  BFD_RELOC_CR16_REGREL14a,
 1.34391 -+  BFD_RELOC_CR16_REGREL16,
 1.34392 -+  BFD_RELOC_CR16_REGREL20,
 1.34393 -+  BFD_RELOC_CR16_REGREL20a,
 1.34394 -+  BFD_RELOC_CR16_ABS20,
 1.34395 -+  BFD_RELOC_CR16_ABS24,
 1.34396 -+  BFD_RELOC_CR16_IMM4,
 1.34397 -+  BFD_RELOC_CR16_IMM8,
 1.34398 -+  BFD_RELOC_CR16_IMM16,
 1.34399 -+  BFD_RELOC_CR16_IMM20,
 1.34400 -+  BFD_RELOC_CR16_IMM24,
 1.34401 -+  BFD_RELOC_CR16_IMM32,
 1.34402 -+  BFD_RELOC_CR16_IMM32a,
 1.34403 -+  BFD_RELOC_CR16_DISP4,
 1.34404 -+  BFD_RELOC_CR16_DISP8,
 1.34405 -+  BFD_RELOC_CR16_DISP16,
 1.34406 -+  BFD_RELOC_CR16_DISP20,
 1.34407 -+  BFD_RELOC_CR16_DISP24,
 1.34408 -+  BFD_RELOC_CR16_DISP24a,
 1.34409 -+
 1.34410 -+/* NS CRX Relocations.  */
 1.34411 -+  BFD_RELOC_CRX_REL4,
 1.34412 -+  BFD_RELOC_CRX_REL8,
 1.34413 -+  BFD_RELOC_CRX_REL8_CMP,
 1.34414 -+  BFD_RELOC_CRX_REL16,
 1.34415 -+  BFD_RELOC_CRX_REL24,
 1.34416 -+  BFD_RELOC_CRX_REL32,
 1.34417 -+  BFD_RELOC_CRX_REGREL12,
 1.34418 -+  BFD_RELOC_CRX_REGREL22,
 1.34419 -+  BFD_RELOC_CRX_REGREL28,
 1.34420 -+  BFD_RELOC_CRX_REGREL32,
 1.34421 -+  BFD_RELOC_CRX_ABS16,
 1.34422 -+  BFD_RELOC_CRX_ABS32,
 1.34423 -+  BFD_RELOC_CRX_NUM8,
 1.34424 -+  BFD_RELOC_CRX_NUM16,
 1.34425 -+  BFD_RELOC_CRX_NUM32,
 1.34426 -+  BFD_RELOC_CRX_IMM16,
 1.34427 -+  BFD_RELOC_CRX_IMM32,
 1.34428 -+  BFD_RELOC_CRX_SWITCH8,
 1.34429 -+  BFD_RELOC_CRX_SWITCH16,
 1.34430 -+  BFD_RELOC_CRX_SWITCH32,
 1.34431 -+
 1.34432 -+/* These relocs are only used within the CRIS assembler.  They are not
 1.34433 -+(at present) written to any object files.  */
 1.34434 -+  BFD_RELOC_CRIS_BDISP8,
 1.34435 -+  BFD_RELOC_CRIS_UNSIGNED_5,
 1.34436 -+  BFD_RELOC_CRIS_SIGNED_6,
 1.34437 -+  BFD_RELOC_CRIS_UNSIGNED_6,
 1.34438 -+  BFD_RELOC_CRIS_SIGNED_8,
 1.34439 -+  BFD_RELOC_CRIS_UNSIGNED_8,
 1.34440 -+  BFD_RELOC_CRIS_SIGNED_16,
 1.34441 -+  BFD_RELOC_CRIS_UNSIGNED_16,
 1.34442 -+  BFD_RELOC_CRIS_LAPCQ_OFFSET,
 1.34443 -+  BFD_RELOC_CRIS_UNSIGNED_4,
 1.34444 -+
 1.34445 -+/* Relocs used in ELF shared libraries for CRIS.  */
 1.34446 -+  BFD_RELOC_CRIS_COPY,
 1.34447 -+  BFD_RELOC_CRIS_GLOB_DAT,
 1.34448 -+  BFD_RELOC_CRIS_JUMP_SLOT,
 1.34449 -+  BFD_RELOC_CRIS_RELATIVE,
 1.34450 -+
 1.34451 -+/* 32-bit offset to symbol-entry within GOT.  */
 1.34452 -+  BFD_RELOC_CRIS_32_GOT,
 1.34453 -+
 1.34454 -+/* 16-bit offset to symbol-entry within GOT.  */
 1.34455 -+  BFD_RELOC_CRIS_16_GOT,
 1.34456 -+
 1.34457 -+/* 32-bit offset to symbol-entry within GOT, with PLT handling.  */
 1.34458 -+  BFD_RELOC_CRIS_32_GOTPLT,
 1.34459 -+
 1.34460 -+/* 16-bit offset to symbol-entry within GOT, with PLT handling.  */
 1.34461 -+  BFD_RELOC_CRIS_16_GOTPLT,
 1.34462 -+
 1.34463 -+/* 32-bit offset to symbol, relative to GOT.  */
 1.34464 -+  BFD_RELOC_CRIS_32_GOTREL,
 1.34465 -+
 1.34466 -+/* 32-bit offset to symbol with PLT entry, relative to GOT.  */
 1.34467 -+  BFD_RELOC_CRIS_32_PLT_GOTREL,
 1.34468 -+
 1.34469 -+/* 32-bit offset to symbol with PLT entry, relative to this relocation.  */
 1.34470 -+  BFD_RELOC_CRIS_32_PLT_PCREL,
 1.34471 -+
 1.34472 -+/* Intel i860 Relocations.  */
 1.34473 -+  BFD_RELOC_860_COPY,
 1.34474 -+  BFD_RELOC_860_GLOB_DAT,
 1.34475 -+  BFD_RELOC_860_JUMP_SLOT,
 1.34476 -+  BFD_RELOC_860_RELATIVE,
 1.34477 -+  BFD_RELOC_860_PC26,
 1.34478 -+  BFD_RELOC_860_PLT26,
 1.34479 -+  BFD_RELOC_860_PC16,
 1.34480 -+  BFD_RELOC_860_LOW0,
 1.34481 -+  BFD_RELOC_860_SPLIT0,
 1.34482 -+  BFD_RELOC_860_LOW1,
 1.34483 -+  BFD_RELOC_860_SPLIT1,
 1.34484 -+  BFD_RELOC_860_LOW2,
 1.34485 -+  BFD_RELOC_860_SPLIT2,
 1.34486 -+  BFD_RELOC_860_LOW3,
 1.34487 -+  BFD_RELOC_860_LOGOT0,
 1.34488 -+  BFD_RELOC_860_SPGOT0,
 1.34489 -+  BFD_RELOC_860_LOGOT1,
 1.34490 -+  BFD_RELOC_860_SPGOT1,
 1.34491 -+  BFD_RELOC_860_LOGOTOFF0,
 1.34492 -+  BFD_RELOC_860_SPGOTOFF0,
 1.34493 -+  BFD_RELOC_860_LOGOTOFF1,
 1.34494 -+  BFD_RELOC_860_SPGOTOFF1,
 1.34495 -+  BFD_RELOC_860_LOGOTOFF2,
 1.34496 -+  BFD_RELOC_860_LOGOTOFF3,
 1.34497 -+  BFD_RELOC_860_LOPC,
 1.34498 -+  BFD_RELOC_860_HIGHADJ,
 1.34499 -+  BFD_RELOC_860_HAGOT,
 1.34500 -+  BFD_RELOC_860_HAGOTOFF,
 1.34501 -+  BFD_RELOC_860_HAPC,
 1.34502 -+  BFD_RELOC_860_HIGH,
 1.34503 -+  BFD_RELOC_860_HIGOT,
 1.34504 -+  BFD_RELOC_860_HIGOTOFF,
 1.34505 -+
 1.34506 -+/* OpenRISC Relocations.  */
 1.34507 -+  BFD_RELOC_OPENRISC_ABS_26,
 1.34508 -+  BFD_RELOC_OPENRISC_REL_26,
 1.34509 -+
 1.34510 -+/* H8 elf Relocations.  */
 1.34511 -+  BFD_RELOC_H8_DIR16A8,
 1.34512 -+  BFD_RELOC_H8_DIR16R8,
 1.34513 -+  BFD_RELOC_H8_DIR24A8,
 1.34514 -+  BFD_RELOC_H8_DIR24R8,
 1.34515 -+  BFD_RELOC_H8_DIR32A16,
 1.34516 -+
 1.34517 -+/* Sony Xstormy16 Relocations.  */
 1.34518 -+  BFD_RELOC_XSTORMY16_REL_12,
 1.34519 -+  BFD_RELOC_XSTORMY16_12,
 1.34520 -+  BFD_RELOC_XSTORMY16_24,
 1.34521 -+  BFD_RELOC_XSTORMY16_FPTR16,
 1.34522 -+
 1.34523 -+/* Self-describing complex relocations.  */
 1.34524 -+  BFD_RELOC_RELC,
 1.34525 -+
 1.34526 -+
 1.34527 -+/* Infineon Relocations.  */
 1.34528 -+  BFD_RELOC_XC16X_PAG,
 1.34529 -+  BFD_RELOC_XC16X_POF,
 1.34530 -+  BFD_RELOC_XC16X_SEG,
 1.34531 -+  BFD_RELOC_XC16X_SOF,
 1.34532 -+
 1.34533 -+/* Relocations used by VAX ELF.  */
 1.34534 -+  BFD_RELOC_VAX_GLOB_DAT,
 1.34535 -+  BFD_RELOC_VAX_JMP_SLOT,
 1.34536 -+  BFD_RELOC_VAX_RELATIVE,
 1.34537 -+
 1.34538 -+/* Morpho MT - 16 bit immediate relocation.  */
 1.34539 -+  BFD_RELOC_MT_PC16,
 1.34540 -+
 1.34541 -+/* Morpho MT - Hi 16 bits of an address.  */
 1.34542 -+  BFD_RELOC_MT_HI16,
 1.34543 -+
 1.34544 -+/* Morpho MT - Low 16 bits of an address.  */
 1.34545 -+  BFD_RELOC_MT_LO16,
 1.34546 -+
 1.34547 -+/* Morpho MT - Used to tell the linker which vtable entries are used.  */
 1.34548 -+  BFD_RELOC_MT_GNU_VTINHERIT,
 1.34549 -+
 1.34550 -+/* Morpho MT - Used to tell the linker which vtable entries are used.  */
 1.34551 -+  BFD_RELOC_MT_GNU_VTENTRY,
 1.34552 -+
 1.34553 -+/* Morpho MT - 8 bit immediate relocation.  */
 1.34554 -+  BFD_RELOC_MT_PCINSN8,
 1.34555 -+
 1.34556 -+/* msp430 specific relocation codes  */
 1.34557 -+  BFD_RELOC_MSP430_10_PCREL,
 1.34558 -+  BFD_RELOC_MSP430_16_PCREL,
 1.34559 -+  BFD_RELOC_MSP430_16,
 1.34560 -+  BFD_RELOC_MSP430_16_PCREL_BYTE,
 1.34561 -+  BFD_RELOC_MSP430_16_BYTE,
 1.34562 -+  BFD_RELOC_MSP430_2X_PCREL,
 1.34563 -+  BFD_RELOC_MSP430_RL_PCREL,
 1.34564 -+
 1.34565 -+/* IQ2000 Relocations.  */
 1.34566 -+  BFD_RELOC_IQ2000_OFFSET_16,
 1.34567 -+  BFD_RELOC_IQ2000_OFFSET_21,
 1.34568 -+  BFD_RELOC_IQ2000_UHI16,
 1.34569 -+
 1.34570 -+/* Special Xtensa relocation used only by PLT entries in ELF shared
 1.34571 -+objects to indicate that the runtime linker should set the value
 1.34572 -+to one of its own internal functions or data structures.  */
 1.34573 -+  BFD_RELOC_XTENSA_RTLD,
 1.34574 -+
 1.34575 -+/* Xtensa relocations for ELF shared objects.  */
 1.34576 -+  BFD_RELOC_XTENSA_GLOB_DAT,
 1.34577 -+  BFD_RELOC_XTENSA_JMP_SLOT,
 1.34578 -+  BFD_RELOC_XTENSA_RELATIVE,
 1.34579 -+
 1.34580 -+/* Xtensa relocation used in ELF object files for symbols that may require
 1.34581 -+PLT entries.  Otherwise, this is just a generic 32-bit relocation.  */
 1.34582 -+  BFD_RELOC_XTENSA_PLT,
 1.34583 -+
 1.34584 -+/* Xtensa relocations to mark the difference of two local symbols.
 1.34585 -+These are only needed to support linker relaxation and can be ignored
 1.34586 -+when not relaxing.  The field is set to the value of the difference
 1.34587 -+assuming no relaxation.  The relocation encodes the position of the
 1.34588 -+first symbol so the linker can determine whether to adjust the field
 1.34589 -+value.  */
 1.34590 -+  BFD_RELOC_XTENSA_DIFF8,
 1.34591 -+  BFD_RELOC_XTENSA_DIFF16,
 1.34592 -+  BFD_RELOC_XTENSA_DIFF32,
 1.34593 -+
 1.34594 -+/* Generic Xtensa relocations for instruction operands.  Only the slot
 1.34595 -+number is encoded in the relocation.  The relocation applies to the
 1.34596 -+last PC-relative immediate operand, or if there are no PC-relative
 1.34597 -+immediates, to the last immediate operand.  */
 1.34598 -+  BFD_RELOC_XTENSA_SLOT0_OP,
 1.34599 -+  BFD_RELOC_XTENSA_SLOT1_OP,
 1.34600 -+  BFD_RELOC_XTENSA_SLOT2_OP,
 1.34601 -+  BFD_RELOC_XTENSA_SLOT3_OP,
 1.34602 -+  BFD_RELOC_XTENSA_SLOT4_OP,
 1.34603 -+  BFD_RELOC_XTENSA_SLOT5_OP,
 1.34604 -+  BFD_RELOC_XTENSA_SLOT6_OP,
 1.34605 -+  BFD_RELOC_XTENSA_SLOT7_OP,
 1.34606 -+  BFD_RELOC_XTENSA_SLOT8_OP,
 1.34607 -+  BFD_RELOC_XTENSA_SLOT9_OP,
 1.34608 -+  BFD_RELOC_XTENSA_SLOT10_OP,
 1.34609 -+  BFD_RELOC_XTENSA_SLOT11_OP,
 1.34610 -+  BFD_RELOC_XTENSA_SLOT12_OP,
 1.34611 -+  BFD_RELOC_XTENSA_SLOT13_OP,
 1.34612 -+  BFD_RELOC_XTENSA_SLOT14_OP,
 1.34613 -+
 1.34614 -+/* Alternate Xtensa relocations.  Only the slot is encoded in the
 1.34615 -+relocation.  The meaning of these relocations is opcode-specific.  */
 1.34616 -+  BFD_RELOC_XTENSA_SLOT0_ALT,
 1.34617 -+  BFD_RELOC_XTENSA_SLOT1_ALT,
 1.34618 -+  BFD_RELOC_XTENSA_SLOT2_ALT,
 1.34619 -+  BFD_RELOC_XTENSA_SLOT3_ALT,
 1.34620 -+  BFD_RELOC_XTENSA_SLOT4_ALT,
 1.34621 -+  BFD_RELOC_XTENSA_SLOT5_ALT,
 1.34622 -+  BFD_RELOC_XTENSA_SLOT6_ALT,
 1.34623 -+  BFD_RELOC_XTENSA_SLOT7_ALT,
 1.34624 -+  BFD_RELOC_XTENSA_SLOT8_ALT,
 1.34625 -+  BFD_RELOC_XTENSA_SLOT9_ALT,
 1.34626 -+  BFD_RELOC_XTENSA_SLOT10_ALT,
 1.34627 -+  BFD_RELOC_XTENSA_SLOT11_ALT,
 1.34628 -+  BFD_RELOC_XTENSA_SLOT12_ALT,
 1.34629 -+  BFD_RELOC_XTENSA_SLOT13_ALT,
 1.34630 -+  BFD_RELOC_XTENSA_SLOT14_ALT,
 1.34631 -+
 1.34632 -+/* Xtensa relocations for backward compatibility.  These have all been
 1.34633 -+replaced by BFD_RELOC_XTENSA_SLOT0_OP.  */
 1.34634 -+  BFD_RELOC_XTENSA_OP0,
 1.34635 -+  BFD_RELOC_XTENSA_OP1,
 1.34636 -+  BFD_RELOC_XTENSA_OP2,
 1.34637 -+
 1.34638 -+/* Xtensa relocation to mark that the assembler expanded the
 1.34639 -+instructions from an original target.  The expansion size is
 1.34640 -+encoded in the reloc size.  */
 1.34641 -+  BFD_RELOC_XTENSA_ASM_EXPAND,
 1.34642 -+
 1.34643 -+/* Xtensa relocation to mark that the linker should simplify
 1.34644 -+assembler-expanded instructions.  This is commonly used
 1.34645 -+internally by the linker after analysis of a
 1.34646 -+BFD_RELOC_XTENSA_ASM_EXPAND.  */
 1.34647 -+  BFD_RELOC_XTENSA_ASM_SIMPLIFY,
 1.34648 -+
 1.34649 -+/* 8 bit signed offset in (ix+d) or (iy+d).  */
 1.34650 -+  BFD_RELOC_Z80_DISP8,
 1.34651 -+
 1.34652 -+/* DJNZ offset.  */
 1.34653 -+  BFD_RELOC_Z8K_DISP7,
 1.34654 -+
 1.34655 -+/* CALR offset.  */
 1.34656 -+  BFD_RELOC_Z8K_CALLR,
 1.34657 -+
 1.34658 -+/* 4 bit value.  */
 1.34659 -+  BFD_RELOC_Z8K_IMM4L,
 1.34660 -+  BFD_RELOC_UNUSED };
 1.34661 -+typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
 1.34662 -+reloc_howto_type *bfd_reloc_type_lookup
 1.34663 -+   (bfd *abfd, bfd_reloc_code_real_type code);
 1.34664 -+reloc_howto_type *bfd_reloc_name_lookup
 1.34665 -+   (bfd *abfd, const char *reloc_name);
 1.34666 -+
 1.34667 -+const char *bfd_get_reloc_code_name (bfd_reloc_code_real_type code);
 1.34668 -+
 1.34669 -+/* Extracted from syms.c.  */
 1.34670 -+
 1.34671 -+typedef struct bfd_symbol
 1.34672 -+{
 1.34673 -+  /* A pointer to the BFD which owns the symbol. This information
 1.34674 -+     is necessary so that a back end can work out what additional
 1.34675 -+     information (invisible to the application writer) is carried
 1.34676 -+     with the symbol.
 1.34677 -+
 1.34678 -+     This field is *almost* redundant, since you can use section->owner
 1.34679 -+     instead, except that some symbols point to the global sections
 1.34680 -+     bfd_{abs,com,und}_section.  This could be fixed by making
 1.34681 -+     these globals be per-bfd (or per-target-flavor).  FIXME.  */
 1.34682 -+  struct bfd *the_bfd; /* Use bfd_asymbol_bfd(sym) to access this field.  */
 1.34683 -+
 1.34684 -+  /* The text of the symbol. The name is left alone, and not copied; the
 1.34685 -+     application may not alter it.  */
 1.34686 -+  const char *name;
 1.34687 -+
 1.34688 -+  /* The value of the symbol.  This really should be a union of a
 1.34689 -+     numeric value with a pointer, since some flags indicate that
 1.34690 -+     a pointer to another symbol is stored here.  */
 1.34691 -+  symvalue value;
 1.34692 -+
 1.34693 -+  /* Attributes of a symbol.  */
 1.34694 -+#define BSF_NO_FLAGS    0x00
 1.34695 -+
 1.34696 -+  /* The symbol has local scope; <<static>> in <<C>>. The value
 1.34697 -+     is the offset into the section of the data.  */
 1.34698 -+#define BSF_LOCAL      0x01
 1.34699 -+
 1.34700 -+  /* The symbol has global scope; initialized data in <<C>>. The
 1.34701 -+     value is the offset into the section of the data.  */
 1.34702 -+#define BSF_GLOBAL     0x02
 1.34703 -+
 1.34704 -+  /* The symbol has global scope and is exported. The value is
 1.34705 -+     the offset into the section of the data.  */
 1.34706 -+#define BSF_EXPORT     BSF_GLOBAL /* No real difference.  */
 1.34707 -+
 1.34708 -+  /* A normal C symbol would be one of:
 1.34709 -+     <<BSF_LOCAL>>, <<BSF_FORT_COMM>>,  <<BSF_UNDEFINED>> or
 1.34710 -+     <<BSF_GLOBAL>>.  */
 1.34711 -+
 1.34712 -+  /* The symbol is a debugging record. The value has an arbitrary
 1.34713 -+     meaning, unless BSF_DEBUGGING_RELOC is also set.  */
 1.34714 -+#define BSF_DEBUGGING  0x08
 1.34715 -+
 1.34716 -+  /* The symbol denotes a function entry point.  Used in ELF,
 1.34717 -+     perhaps others someday.  */
 1.34718 -+#define BSF_FUNCTION    0x10
 1.34719 -+
 1.34720 -+  /* Used by the linker.  */
 1.34721 -+#define BSF_KEEP        0x20
 1.34722 -+#define BSF_KEEP_G      0x40
 1.34723 -+
 1.34724 -+  /* A weak global symbol, overridable without warnings by
 1.34725 -+     a regular global symbol of the same name.  */
 1.34726 -+#define BSF_WEAK        0x80
 1.34727 -+
 1.34728 -+  /* This symbol was created to point to a section, e.g. ELF's
 1.34729 -+     STT_SECTION symbols.  */
 1.34730 -+#define BSF_SECTION_SYM 0x100
 1.34731 -+
 1.34732 -+  /* The symbol used to be a common symbol, but now it is
 1.34733 -+     allocated.  */
 1.34734 -+#define BSF_OLD_COMMON  0x200
 1.34735 -+
 1.34736 -+  /* The default value for common data.  */
 1.34737 -+#define BFD_FORT_COMM_DEFAULT_VALUE 0
 1.34738 -+
 1.34739 -+  /* In some files the type of a symbol sometimes alters its
 1.34740 -+     location in an output file - ie in coff a <<ISFCN>> symbol
 1.34741 -+     which is also <<C_EXT>> symbol appears where it was
 1.34742 -+     declared and not at the end of a section.  This bit is set
 1.34743 -+     by the target BFD part to convey this information.  */
 1.34744 -+#define BSF_NOT_AT_END    0x400
 1.34745 -+
 1.34746 -+  /* Signal that the symbol is the label of constructor section.  */
 1.34747 -+#define BSF_CONSTRUCTOR   0x800
 1.34748 -+
 1.34749 -+  /* Signal that the symbol is a warning symbol.  The name is a
 1.34750 -+     warning.  The name of the next symbol is the one to warn about;
 1.34751 -+     if a reference is made to a symbol with the same name as the next
 1.34752 -+     symbol, a warning is issued by the linker.  */
 1.34753 -+#define BSF_WARNING       0x1000
 1.34754 -+
 1.34755 -+  /* Signal that the symbol is indirect.  This symbol is an indirect
 1.34756 -+     pointer to the symbol with the same name as the next symbol.  */
 1.34757 -+#define BSF_INDIRECT      0x2000
 1.34758 -+
 1.34759 -+  /* BSF_FILE marks symbols that contain a file name.  This is used
 1.34760 -+     for ELF STT_FILE symbols.  */
 1.34761 -+#define BSF_FILE          0x4000
 1.34762 -+
 1.34763 -+  /* Symbol is from dynamic linking information.  */
 1.34764 -+#define BSF_DYNAMIC       0x8000
 1.34765 -+
 1.34766 -+  /* The symbol denotes a data object.  Used in ELF, and perhaps
 1.34767 -+     others someday.  */
 1.34768 -+#define BSF_OBJECT        0x10000
 1.34769 -+
 1.34770 -+  /* This symbol is a debugging symbol.  The value is the offset
 1.34771 -+     into the section of the data.  BSF_DEBUGGING should be set
 1.34772 -+     as well.  */
 1.34773 -+#define BSF_DEBUGGING_RELOC 0x20000
 1.34774 -+
 1.34775 -+  /* This symbol is thread local.  Used in ELF.  */
 1.34776 -+#define BSF_THREAD_LOCAL  0x40000
 1.34777 -+
 1.34778 -+  /* This symbol represents a complex relocation expression,
 1.34779 -+     with the expression tree serialized in the symbol name.  */
 1.34780 -+#define BSF_RELC 0x80000
 1.34781 -+
 1.34782 -+  /* This symbol represents a signed complex relocation expression,
 1.34783 -+     with the expression tree serialized in the symbol name.  */
 1.34784 -+#define BSF_SRELC 0x100000
 1.34785 -+
 1.34786 -+  flagword flags;
 1.34787 -+
 1.34788 -+  /* A pointer to the section to which this symbol is
 1.34789 -+     relative.  This will always be non NULL, there are special
 1.34790 -+     sections for undefined and absolute symbols.  */
 1.34791 -+  struct bfd_section *section;
 1.34792 -+
 1.34793 -+  /* Back end special data.  */
 1.34794 -+  union
 1.34795 -+    {
 1.34796 -+      void *p;
 1.34797 -+      bfd_vma i;
 1.34798 -+    }
 1.34799 -+  udata;
 1.34800 -+}
 1.34801 -+asymbol;
 1.34802 -+
 1.34803 -+#define bfd_get_symtab_upper_bound(abfd) \
 1.34804 -+     BFD_SEND (abfd, _bfd_get_symtab_upper_bound, (abfd))
 1.34805 -+
 1.34806 -+bfd_boolean bfd_is_local_label (bfd *abfd, asymbol *sym);
 1.34807 -+
 1.34808 -+bfd_boolean bfd_is_local_label_name (bfd *abfd, const char *name);
 1.34809 -+
 1.34810 -+#define bfd_is_local_label_name(abfd, name) \
 1.34811 -+  BFD_SEND (abfd, _bfd_is_local_label_name, (abfd, name))
 1.34812 -+
 1.34813 -+bfd_boolean bfd_is_target_special_symbol (bfd *abfd, asymbol *sym);
 1.34814 -+
 1.34815 -+#define bfd_is_target_special_symbol(abfd, sym) \
 1.34816 -+  BFD_SEND (abfd, _bfd_is_target_special_symbol, (abfd, sym))
 1.34817 -+
 1.34818 -+#define bfd_canonicalize_symtab(abfd, location) \
 1.34819 -+  BFD_SEND (abfd, _bfd_canonicalize_symtab, (abfd, location))
 1.34820 -+
 1.34821 -+bfd_boolean bfd_set_symtab
 1.34822 -+   (bfd *abfd, asymbol **location, unsigned int count);
 1.34823 -+
 1.34824 -+void bfd_print_symbol_vandf (bfd *abfd, void *file, asymbol *symbol);
 1.34825 -+
 1.34826 -+#define bfd_make_empty_symbol(abfd) \
 1.34827 -+  BFD_SEND (abfd, _bfd_make_empty_symbol, (abfd))
 1.34828 -+
 1.34829 -+asymbol *_bfd_generic_make_empty_symbol (bfd *);
 1.34830 -+
 1.34831 -+#define bfd_make_debug_symbol(abfd,ptr,size) \
 1.34832 -+  BFD_SEND (abfd, _bfd_make_debug_symbol, (abfd, ptr, size))
 1.34833 -+
 1.34834 -+int bfd_decode_symclass (asymbol *symbol);
 1.34835 -+
 1.34836 -+bfd_boolean bfd_is_undefined_symclass (int symclass);
 1.34837 -+
 1.34838 -+void bfd_symbol_info (asymbol *symbol, symbol_info *ret);
 1.34839 -+
 1.34840 -+bfd_boolean bfd_copy_private_symbol_data
 1.34841 -+   (bfd *ibfd, asymbol *isym, bfd *obfd, asymbol *osym);
 1.34842 -+
 1.34843 -+#define bfd_copy_private_symbol_data(ibfd, isymbol, obfd, osymbol) \
 1.34844 -+  BFD_SEND (obfd, _bfd_copy_private_symbol_data, \
 1.34845 -+            (ibfd, isymbol, obfd, osymbol))
 1.34846 -+
 1.34847 -+/* Extracted from bfd.c.  */
 1.34848 -+struct bfd
 1.34849 -+{
 1.34850 -+  /* A unique identifier of the BFD  */
 1.34851 -+  unsigned int id;
 1.34852 -+
 1.34853 -+  /* The filename the application opened the BFD with.  */
 1.34854 -+  const char *filename;
 1.34855 -+
 1.34856 -+  /* A pointer to the target jump table.  */
 1.34857 -+  const struct bfd_target *xvec;
 1.34858 -+
 1.34859 -+  /* The IOSTREAM, and corresponding IO vector that provide access
 1.34860 -+     to the file backing the BFD.  */
 1.34861 -+  void *iostream;
 1.34862 -+  const struct bfd_iovec *iovec;
 1.34863 -+
 1.34864 -+  /* Is the file descriptor being cached?  That is, can it be closed as
 1.34865 -+     needed, and re-opened when accessed later?  */
 1.34866 -+  bfd_boolean cacheable;
 1.34867 -+
 1.34868 -+  /* Marks whether there was a default target specified when the
 1.34869 -+     BFD was opened. This is used to select which matching algorithm
 1.34870 -+     to use to choose the back end.  */
 1.34871 -+  bfd_boolean target_defaulted;
 1.34872 -+
 1.34873 -+  /* The caching routines use these to maintain a
 1.34874 -+     least-recently-used list of BFDs.  */
 1.34875 -+  struct bfd *lru_prev, *lru_next;
 1.34876 -+
 1.34877 -+  /* When a file is closed by the caching routines, BFD retains
 1.34878 -+     state information on the file here...  */
 1.34879 -+  ufile_ptr where;
 1.34880 -+
 1.34881 -+  /* ... and here: (``once'' means at least once).  */
 1.34882 -+  bfd_boolean opened_once;
 1.34883 -+
 1.34884 -+  /* Set if we have a locally maintained mtime value, rather than
 1.34885 -+     getting it from the file each time.  */
 1.34886 -+  bfd_boolean mtime_set;
 1.34887 -+
 1.34888 -+  /* File modified time, if mtime_set is TRUE.  */
 1.34889 -+  long mtime;
 1.34890 -+
 1.34891 -+  /* Reserved for an unimplemented file locking extension.  */
 1.34892 -+  int ifd;
 1.34893 -+
 1.34894 -+  /* The format which belongs to the BFD. (object, core, etc.)  */
 1.34895 -+  bfd_format format;
 1.34896 -+
 1.34897 -+  /* The direction with which the BFD was opened.  */
 1.34898 -+  enum bfd_direction
 1.34899 -+    {
 1.34900 -+      no_direction = 0,
 1.34901 -+      read_direction = 1,
 1.34902 -+      write_direction = 2,
 1.34903 -+      both_direction = 3
 1.34904 -+    }
 1.34905 -+  direction;
 1.34906 -+
 1.34907 -+  /* Format_specific flags.  */
 1.34908 -+  flagword flags;
 1.34909 -+
 1.34910 -+  /* Currently my_archive is tested before adding origin to
 1.34911 -+     anything. I believe that this can become always an add of
 1.34912 -+     origin, with origin set to 0 for non archive files.  */
 1.34913 -+  ufile_ptr origin;
 1.34914 -+
 1.34915 -+  /* Remember when output has begun, to stop strange things
 1.34916 -+     from happening.  */
 1.34917 -+  bfd_boolean output_has_begun;
 1.34918 -+
 1.34919 -+  /* A hash table for section names.  */
 1.34920 -+  struct bfd_hash_table section_htab;
 1.34921 -+
 1.34922 -+  /* Pointer to linked list of sections.  */
 1.34923 -+  struct bfd_section *sections;
 1.34924 -+
 1.34925 -+  /* The last section on the section list.  */
 1.34926 -+  struct bfd_section *section_last;
 1.34927 -+
 1.34928 -+  /* The number of sections.  */
 1.34929 -+  unsigned int section_count;
 1.34930 -+
 1.34931 -+  /* Stuff only useful for object files:
 1.34932 -+     The start address.  */
 1.34933 -+  bfd_vma start_address;
 1.34934 -+
 1.34935 -+  /* Used for input and output.  */
 1.34936 -+  unsigned int symcount;
 1.34937 -+
 1.34938 -+  /* Symbol table for output BFD (with symcount entries).  */
 1.34939 -+  struct bfd_symbol  **outsymbols;
 1.34940 -+
 1.34941 -+  /* Used for slurped dynamic symbol tables.  */
 1.34942 -+  unsigned int dynsymcount;
 1.34943 -+
 1.34944 -+  /* Pointer to structure which contains architecture information.  */
 1.34945 -+  const struct bfd_arch_info *arch_info;
 1.34946 -+
 1.34947 -+  /* Flag set if symbols from this BFD should not be exported.  */
 1.34948 -+  bfd_boolean no_export;
 1.34949 -+
 1.34950 -+  /* Stuff only useful for archives.  */
 1.34951 -+  void *arelt_data;
 1.34952 -+  struct bfd *my_archive;      /* The containing archive BFD.  */
 1.34953 -+  struct bfd *archive_next;    /* The next BFD in the archive.  */
 1.34954 -+  struct bfd *archive_head;    /* The first BFD in the archive.  */
 1.34955 -+  bfd_boolean has_armap;
 1.34956 -+
 1.34957 -+  /* A chain of BFD structures involved in a link.  */
 1.34958 -+  struct bfd *link_next;
 1.34959 -+
 1.34960 -+  /* A field used by _bfd_generic_link_add_archive_symbols.  This will
 1.34961 -+     be used only for archive elements.  */
 1.34962 -+  int archive_pass;
 1.34963 -+
 1.34964 -+  /* Used by the back end to hold private data.  */
 1.34965 -+  union
 1.34966 -+    {
 1.34967 -+      struct aout_data_struct *aout_data;
 1.34968 -+      struct artdata *aout_ar_data;
 1.34969 -+      struct _oasys_data *oasys_obj_data;
 1.34970 -+      struct _oasys_ar_data *oasys_ar_data;
 1.34971 -+      struct coff_tdata *coff_obj_data;
 1.34972 -+      struct pe_tdata *pe_obj_data;
 1.34973 -+      struct xcoff_tdata *xcoff_obj_data;
 1.34974 -+      struct ecoff_tdata *ecoff_obj_data;
 1.34975 -+      struct ieee_data_struct *ieee_data;
 1.34976 -+      struct ieee_ar_data_struct *ieee_ar_data;
 1.34977 -+      struct srec_data_struct *srec_data;
 1.34978 -+      struct ihex_data_struct *ihex_data;
 1.34979 -+      struct tekhex_data_struct *tekhex_data;
 1.34980 -+      struct elf_obj_tdata *elf_obj_data;
 1.34981 -+      struct nlm_obj_tdata *nlm_obj_data;
 1.34982 -+      struct bout_data_struct *bout_data;
 1.34983 -+      struct mmo_data_struct *mmo_data;
 1.34984 -+      struct sun_core_struct *sun_core_data;
 1.34985 -+      struct sco5_core_struct *sco5_core_data;
 1.34986 -+      struct trad_core_struct *trad_core_data;
 1.34987 -+      struct som_data_struct *som_data;
 1.34988 -+      struct hpux_core_struct *hpux_core_data;
 1.34989 -+      struct hppabsd_core_struct *hppabsd_core_data;
 1.34990 -+      struct sgi_core_struct *sgi_core_data;
 1.34991 -+      struct lynx_core_struct *lynx_core_data;
 1.34992 -+      struct osf_core_struct *osf_core_data;
 1.34993 -+      struct cisco_core_struct *cisco_core_data;
 1.34994 -+      struct versados_data_struct *versados_data;
 1.34995 -+      struct netbsd_core_struct *netbsd_core_data;
 1.34996 -+      struct mach_o_data_struct *mach_o_data;
 1.34997 -+      struct mach_o_fat_data_struct *mach_o_fat_data;
 1.34998 -+      struct bfd_pef_data_struct *pef_data;
 1.34999 -+      struct bfd_pef_xlib_data_struct *pef_xlib_data;
 1.35000 -+      struct bfd_sym_data_struct *sym_data;
 1.35001 -+      void *any;
 1.35002 -+    }
 1.35003 -+  tdata;
 1.35004 -+
 1.35005 -+  /* Used by the application to hold private data.  */
 1.35006 -+  void *usrdata;
 1.35007 -+
 1.35008 -+  /* Where all the allocated stuff under this BFD goes.  This is a
 1.35009 -+     struct objalloc *, but we use void * to avoid requiring the inclusion
 1.35010 -+     of objalloc.h.  */
 1.35011 -+  void *memory;
 1.35012 -+};
 1.35013 -+
 1.35014 -+typedef enum bfd_error
 1.35015 -+{
 1.35016 -+  bfd_error_no_error = 0,
 1.35017 -+  bfd_error_system_call,
 1.35018 -+  bfd_error_invalid_target,
 1.35019 -+  bfd_error_wrong_format,
 1.35020 -+  bfd_error_wrong_object_format,
 1.35021 -+  bfd_error_invalid_operation,
 1.35022 -+  bfd_error_no_memory,
 1.35023 -+  bfd_error_no_symbols,
 1.35024 -+  bfd_error_no_armap,
 1.35025 -+  bfd_error_no_more_archived_files,
 1.35026 -+  bfd_error_malformed_archive,
 1.35027 -+  bfd_error_file_not_recognized,
 1.35028 -+  bfd_error_file_ambiguously_recognized,
 1.35029 -+  bfd_error_no_contents,
 1.35030 -+  bfd_error_nonrepresentable_section,
 1.35031 -+  bfd_error_no_debug_section,
 1.35032 -+  bfd_error_bad_value,
 1.35033 -+  bfd_error_file_truncated,
 1.35034 -+  bfd_error_file_too_big,
 1.35035 -+  bfd_error_on_input,
 1.35036 -+  bfd_error_invalid_error_code
 1.35037 -+}
 1.35038 -+bfd_error_type;
 1.35039 -+
 1.35040 -+bfd_error_type bfd_get_error (void);
 1.35041 -+
 1.35042 -+void bfd_set_error (bfd_error_type error_tag, ...);
 1.35043 -+
 1.35044 -+const char *bfd_errmsg (bfd_error_type error_tag);
 1.35045 -+
 1.35046 -+void bfd_perror (const char *message);
 1.35047 -+
 1.35048 -+typedef void (*bfd_error_handler_type) (const char *, ...);
 1.35049 -+
 1.35050 -+bfd_error_handler_type bfd_set_error_handler (bfd_error_handler_type);
 1.35051 -+
 1.35052 -+void bfd_set_error_program_name (const char *);
 1.35053 -+
 1.35054 -+bfd_error_handler_type bfd_get_error_handler (void);
 1.35055 -+
 1.35056 -+long bfd_get_reloc_upper_bound (bfd *abfd, asection *sect);
 1.35057 -+
 1.35058 -+long bfd_canonicalize_reloc
 1.35059 -+   (bfd *abfd, asection *sec, arelent **loc, asymbol **syms);
 1.35060 -+
 1.35061 -+void bfd_set_reloc
 1.35062 -+   (bfd *abfd, asection *sec, arelent **rel, unsigned int count);
 1.35063 -+
 1.35064 -+bfd_boolean bfd_set_file_flags (bfd *abfd, flagword flags);
 1.35065 -+
 1.35066 -+int bfd_get_arch_size (bfd *abfd);
 1.35067 -+
 1.35068 -+int bfd_get_sign_extend_vma (bfd *abfd);
 1.35069 -+
 1.35070 -+bfd_boolean bfd_set_start_address (bfd *abfd, bfd_vma vma);
 1.35071 -+
 1.35072 -+unsigned int bfd_get_gp_size (bfd *abfd);
 1.35073 -+
 1.35074 -+void bfd_set_gp_size (bfd *abfd, unsigned int i);
 1.35075 -+
 1.35076 -+bfd_vma bfd_scan_vma (const char *string, const char **end, int base);
 1.35077 -+
 1.35078 -+bfd_boolean bfd_copy_private_header_data (bfd *ibfd, bfd *obfd);
 1.35079 -+
 1.35080 -+#define bfd_copy_private_header_data(ibfd, obfd) \
 1.35081 -+     BFD_SEND (obfd, _bfd_copy_private_header_data, \
 1.35082 -+               (ibfd, obfd))
 1.35083 -+bfd_boolean bfd_copy_private_bfd_data (bfd *ibfd, bfd *obfd);
 1.35084 -+
 1.35085 -+#define bfd_copy_private_bfd_data(ibfd, obfd) \
 1.35086 -+     BFD_SEND (obfd, _bfd_copy_private_bfd_data, \
 1.35087 -+               (ibfd, obfd))
 1.35088 -+bfd_boolean bfd_merge_private_bfd_data (bfd *ibfd, bfd *obfd);
 1.35089 -+
 1.35090 -+#define bfd_merge_private_bfd_data(ibfd, obfd) \
 1.35091 -+     BFD_SEND (obfd, _bfd_merge_private_bfd_data, \
 1.35092 -+               (ibfd, obfd))
 1.35093 -+bfd_boolean bfd_set_private_flags (bfd *abfd, flagword flags);
 1.35094 -+
 1.35095 -+#define bfd_set_private_flags(abfd, flags) \
 1.35096 -+     BFD_SEND (abfd, _bfd_set_private_flags, (abfd, flags))
 1.35097 -+#define bfd_sizeof_headers(abfd, info) \
 1.35098 -+       BFD_SEND (abfd, _bfd_sizeof_headers, (abfd, info))
 1.35099 -+
 1.35100 -+#define bfd_find_nearest_line(abfd, sec, syms, off, file, func, line) \
 1.35101 -+       BFD_SEND (abfd, _bfd_find_nearest_line, \
 1.35102 -+                 (abfd, sec, syms, off, file, func, line))
 1.35103 -+
 1.35104 -+#define bfd_find_line(abfd, syms, sym, file, line) \
 1.35105 -+       BFD_SEND (abfd, _bfd_find_line, \
 1.35106 -+                 (abfd, syms, sym, file, line))
 1.35107 -+
 1.35108 -+#define bfd_find_inliner_info(abfd, file, func, line) \
 1.35109 -+       BFD_SEND (abfd, _bfd_find_inliner_info, \
 1.35110 -+                 (abfd, file, func, line))
 1.35111 -+
 1.35112 -+#define bfd_debug_info_start(abfd) \
 1.35113 -+       BFD_SEND (abfd, _bfd_debug_info_start, (abfd))
 1.35114 -+
 1.35115 -+#define bfd_debug_info_end(abfd) \
 1.35116 -+       BFD_SEND (abfd, _bfd_debug_info_end, (abfd))
 1.35117 -+
 1.35118 -+#define bfd_debug_info_accumulate(abfd, section) \
 1.35119 -+       BFD_SEND (abfd, _bfd_debug_info_accumulate, (abfd, section))
 1.35120 -+
 1.35121 -+#define bfd_stat_arch_elt(abfd, stat) \
 1.35122 -+       BFD_SEND (abfd, _bfd_stat_arch_elt,(abfd, stat))
 1.35123 -+
 1.35124 -+#define bfd_update_armap_timestamp(abfd) \
 1.35125 -+       BFD_SEND (abfd, _bfd_update_armap_timestamp, (abfd))
 1.35126 -+
 1.35127 -+#define bfd_set_arch_mach(abfd, arch, mach)\
 1.35128 -+       BFD_SEND ( abfd, _bfd_set_arch_mach, (abfd, arch, mach))
 1.35129 -+
 1.35130 -+#define bfd_relax_section(abfd, section, link_info, again) \
 1.35131 -+       BFD_SEND (abfd, _bfd_relax_section, (abfd, section, link_info, again))
 1.35132 -+
 1.35133 -+#define bfd_gc_sections(abfd, link_info) \
 1.35134 -+       BFD_SEND (abfd, _bfd_gc_sections, (abfd, link_info))
 1.35135 -+
 1.35136 -+#define bfd_merge_sections(abfd, link_info) \
 1.35137 -+       BFD_SEND (abfd, _bfd_merge_sections, (abfd, link_info))
 1.35138 -+
 1.35139 -+#define bfd_is_group_section(abfd, sec) \
 1.35140 -+       BFD_SEND (abfd, _bfd_is_group_section, (abfd, sec))
 1.35141 -+
 1.35142 -+#define bfd_discard_group(abfd, sec) \
 1.35143 -+       BFD_SEND (abfd, _bfd_discard_group, (abfd, sec))
 1.35144 -+
 1.35145 -+#define bfd_link_hash_table_create(abfd) \
 1.35146 -+       BFD_SEND (abfd, _bfd_link_hash_table_create, (abfd))
 1.35147 -+
 1.35148 -+#define bfd_link_hash_table_free(abfd, hash) \
 1.35149 -+       BFD_SEND (abfd, _bfd_link_hash_table_free, (hash))
 1.35150 -+
 1.35151 -+#define bfd_link_add_symbols(abfd, info) \
 1.35152 -+       BFD_SEND (abfd, _bfd_link_add_symbols, (abfd, info))
 1.35153 -+
 1.35154 -+#define bfd_link_just_syms(abfd, sec, info) \
 1.35155 -+       BFD_SEND (abfd, _bfd_link_just_syms, (sec, info))
 1.35156 -+
 1.35157 -+#define bfd_final_link(abfd, info) \
 1.35158 -+       BFD_SEND (abfd, _bfd_final_link, (abfd, info))
 1.35159 -+
 1.35160 -+#define bfd_free_cached_info(abfd) \
 1.35161 -+       BFD_SEND (abfd, _bfd_free_cached_info, (abfd))
 1.35162 -+
 1.35163 -+#define bfd_get_dynamic_symtab_upper_bound(abfd) \
 1.35164 -+       BFD_SEND (abfd, _bfd_get_dynamic_symtab_upper_bound, (abfd))
 1.35165 -+
 1.35166 -+#define bfd_print_private_bfd_data(abfd, file)\
 1.35167 -+       BFD_SEND (abfd, _bfd_print_private_bfd_data, (abfd, file))
 1.35168 -+
 1.35169 -+#define bfd_canonicalize_dynamic_symtab(abfd, asymbols) \
 1.35170 -+       BFD_SEND (abfd, _bfd_canonicalize_dynamic_symtab, (abfd, asymbols))
 1.35171 -+
 1.35172 -+#define bfd_get_synthetic_symtab(abfd, count, syms, dyncount, dynsyms, ret) \
 1.35173 -+       BFD_SEND (abfd, _bfd_get_synthetic_symtab, (abfd, count, syms, \
 1.35174 -+                                                   dyncount, dynsyms, ret))
 1.35175 -+
 1.35176 -+#define bfd_get_dynamic_reloc_upper_bound(abfd) \
 1.35177 -+       BFD_SEND (abfd, _bfd_get_dynamic_reloc_upper_bound, (abfd))
 1.35178 -+
 1.35179 -+#define bfd_canonicalize_dynamic_reloc(abfd, arels, asyms) \
 1.35180 -+       BFD_SEND (abfd, _bfd_canonicalize_dynamic_reloc, (abfd, arels, asyms))
 1.35181 -+
 1.35182 -+extern bfd_byte *bfd_get_relocated_section_contents
 1.35183 -+  (bfd *, struct bfd_link_info *, struct bfd_link_order *, bfd_byte *,
 1.35184 -+   bfd_boolean, asymbol **);
 1.35185 -+
 1.35186 -+bfd_boolean bfd_alt_mach_code (bfd *abfd, int alternative);
 1.35187 -+
 1.35188 -+struct bfd_preserve
 1.35189 -+{
 1.35190 -+  void *marker;
 1.35191 -+  void *tdata;
 1.35192 -+  flagword flags;
 1.35193 -+  const struct bfd_arch_info *arch_info;
 1.35194 -+  struct bfd_section *sections;
 1.35195 -+  struct bfd_section *section_last;
 1.35196 -+  unsigned int section_count;
 1.35197 -+  struct bfd_hash_table section_htab;
 1.35198 -+};
 1.35199 -+
 1.35200 -+bfd_boolean bfd_preserve_save (bfd *, struct bfd_preserve *);
 1.35201 -+
 1.35202 -+void bfd_preserve_restore (bfd *, struct bfd_preserve *);
 1.35203 -+
 1.35204 -+void bfd_preserve_finish (bfd *, struct bfd_preserve *);
 1.35205 -+
 1.35206 -+bfd_vma bfd_emul_get_maxpagesize (const char *);
 1.35207 -+
 1.35208 -+void bfd_emul_set_maxpagesize (const char *, bfd_vma);
 1.35209 -+
 1.35210 -+bfd_vma bfd_emul_get_commonpagesize (const char *);
 1.35211 -+
 1.35212 -+void bfd_emul_set_commonpagesize (const char *, bfd_vma);
 1.35213 -+
 1.35214 -+char *bfd_demangle (bfd *, const char *, int);
 1.35215 -+
 1.35216 -+/* Extracted from archive.c.  */
 1.35217 -+symindex bfd_get_next_mapent
 1.35218 -+   (bfd *abfd, symindex previous, carsym **sym);
 1.35219 -+
 1.35220 -+bfd_boolean bfd_set_archive_head (bfd *output, bfd *new_head);
 1.35221 -+
 1.35222 -+bfd *bfd_openr_next_archived_file (bfd *archive, bfd *previous);
 1.35223 -+
 1.35224 -+/* Extracted from corefile.c.  */
 1.35225 -+const char *bfd_core_file_failing_command (bfd *abfd);
 1.35226 -+
 1.35227 -+int bfd_core_file_failing_signal (bfd *abfd);
 1.35228 -+
 1.35229 -+bfd_boolean core_file_matches_executable_p
 1.35230 -+   (bfd *core_bfd, bfd *exec_bfd);
 1.35231 -+
 1.35232 -+bfd_boolean generic_core_file_matches_executable_p
 1.35233 -+   (bfd *core_bfd, bfd *exec_bfd);
 1.35234 -+
 1.35235 -+/* Extracted from targets.c.  */
 1.35236 -+#define BFD_SEND(bfd, message, arglist) \
 1.35237 -+  ((*((bfd)->xvec->message)) arglist)
 1.35238 -+
 1.35239 -+#ifdef DEBUG_BFD_SEND
 1.35240 -+#undef BFD_SEND
 1.35241 -+#define BFD_SEND(bfd, message, arglist) \
 1.35242 -+  (((bfd) && (bfd)->xvec && (bfd)->xvec->message) ? \
 1.35243 -+    ((*((bfd)->xvec->message)) arglist) : \
 1.35244 -+    (bfd_assert (__FILE__,__LINE__), NULL))
 1.35245 -+#endif
 1.35246 -+#define BFD_SEND_FMT(bfd, message, arglist) \
 1.35247 -+  (((bfd)->xvec->message[(int) ((bfd)->format)]) arglist)
 1.35248 -+
 1.35249 -+#ifdef DEBUG_BFD_SEND
 1.35250 -+#undef BFD_SEND_FMT
 1.35251 -+#define BFD_SEND_FMT(bfd, message, arglist) \
 1.35252 -+  (((bfd) && (bfd)->xvec && (bfd)->xvec->message) ? \
 1.35253 -+   (((bfd)->xvec->message[(int) ((bfd)->format)]) arglist) : \
 1.35254 -+   (bfd_assert (__FILE__,__LINE__), NULL))
 1.35255 -+#endif
 1.35256 -+
 1.35257 -+enum bfd_flavour
 1.35258 -+{
 1.35259 -+  bfd_target_unknown_flavour,
 1.35260 -+  bfd_target_aout_flavour,
 1.35261 -+  bfd_target_coff_flavour,
 1.35262 -+  bfd_target_ecoff_flavour,
 1.35263 -+  bfd_target_xcoff_flavour,
 1.35264 -+  bfd_target_elf_flavour,
 1.35265 -+  bfd_target_ieee_flavour,
 1.35266 -+  bfd_target_nlm_flavour,
 1.35267 -+  bfd_target_oasys_flavour,
 1.35268 -+  bfd_target_tekhex_flavour,
 1.35269 -+  bfd_target_srec_flavour,
 1.35270 -+  bfd_target_ihex_flavour,
 1.35271 -+  bfd_target_som_flavour,
 1.35272 -+  bfd_target_os9k_flavour,
 1.35273 -+  bfd_target_versados_flavour,
 1.35274 -+  bfd_target_msdos_flavour,
 1.35275 -+  bfd_target_ovax_flavour,
 1.35276 -+  bfd_target_evax_flavour,
 1.35277 -+  bfd_target_mmo_flavour,
 1.35278 -+  bfd_target_mach_o_flavour,
 1.35279 -+  bfd_target_pef_flavour,
 1.35280 -+  bfd_target_pef_xlib_flavour,
 1.35281 -+  bfd_target_sym_flavour
 1.35282 -+};
 1.35283 -+
 1.35284 -+enum bfd_endian { BFD_ENDIAN_BIG, BFD_ENDIAN_LITTLE, BFD_ENDIAN_UNKNOWN };
 1.35285 -+
 1.35286 -+/* Forward declaration.  */
 1.35287 -+typedef struct bfd_link_info _bfd_link_info;
 1.35288 -+
 1.35289 -+typedef struct bfd_target
 1.35290 -+{
 1.35291 -+  /* Identifies the kind of target, e.g., SunOS4, Ultrix, etc.  */
 1.35292 -+  char *name;
 1.35293 -+
 1.35294 -+ /* The "flavour" of a back end is a general indication about
 1.35295 -+    the contents of a file.  */
 1.35296 -+  enum bfd_flavour flavour;
 1.35297 -+
 1.35298 -+  /* The order of bytes within the data area of a file.  */
 1.35299 -+  enum bfd_endian byteorder;
 1.35300 -+
 1.35301 -+ /* The order of bytes within the header parts of a file.  */
 1.35302 -+  enum bfd_endian header_byteorder;
 1.35303 -+
 1.35304 -+  /* A mask of all the flags which an executable may have set -
 1.35305 -+     from the set <<BFD_NO_FLAGS>>, <<HAS_RELOC>>, ...<<D_PAGED>>.  */
 1.35306 -+  flagword object_flags;
 1.35307 -+
 1.35308 -+ /* A mask of all the flags which a section may have set - from
 1.35309 -+    the set <<SEC_NO_FLAGS>>, <<SEC_ALLOC>>, ...<<SET_NEVER_LOAD>>.  */
 1.35310 -+  flagword section_flags;
 1.35311 -+
 1.35312 -+ /* The character normally found at the front of a symbol.
 1.35313 -+    (if any), perhaps `_'.  */
 1.35314 -+  char symbol_leading_char;
 1.35315 -+
 1.35316 -+ /* The pad character for file names within an archive header.  */
 1.35317 -+  char ar_pad_char;
 1.35318 -+
 1.35319 -+  /* The maximum number of characters in an archive header.  */
 1.35320 -+  unsigned short ar_max_namelen;
 1.35321 -+
 1.35322 -+  /* Entries for byte swapping for data. These are different from the
 1.35323 -+     other entry points, since they don't take a BFD as the first argument.
 1.35324 -+     Certain other handlers could do the same.  */
 1.35325 -+  bfd_uint64_t   (*bfd_getx64) (const void *);
 1.35326 -+  bfd_int64_t    (*bfd_getx_signed_64) (const void *);
 1.35327 -+  void           (*bfd_putx64) (bfd_uint64_t, void *);
 1.35328 -+  bfd_vma        (*bfd_getx32) (const void *);
 1.35329 -+  bfd_signed_vma (*bfd_getx_signed_32) (const void *);
 1.35330 -+  void           (*bfd_putx32) (bfd_vma, void *);
 1.35331 -+  bfd_vma        (*bfd_getx16) (const void *);
 1.35332 -+  bfd_signed_vma (*bfd_getx_signed_16) (const void *);
 1.35333 -+  void           (*bfd_putx16) (bfd_vma, void *);
 1.35334 -+
 1.35335 -+  /* Byte swapping for the headers.  */
 1.35336 -+  bfd_uint64_t   (*bfd_h_getx64) (const void *);
 1.35337 -+  bfd_int64_t    (*bfd_h_getx_signed_64) (const void *);
 1.35338 -+  void           (*bfd_h_putx64) (bfd_uint64_t, void *);
 1.35339 -+  bfd_vma        (*bfd_h_getx32) (const void *);
 1.35340 -+  bfd_signed_vma (*bfd_h_getx_signed_32) (const void *);
 1.35341 -+  void           (*bfd_h_putx32) (bfd_vma, void *);
 1.35342 -+  bfd_vma        (*bfd_h_getx16) (const void *);
 1.35343 -+  bfd_signed_vma (*bfd_h_getx_signed_16) (const void *);
 1.35344 -+  void           (*bfd_h_putx16) (bfd_vma, void *);
 1.35345 -+
 1.35346 -+  /* Format dependent routines: these are vectors of entry points
 1.35347 -+     within the target vector structure, one for each format to check.  */
 1.35348 -+
 1.35349 -+  /* Check the format of a file being read.  Return a <<bfd_target *>> or zero.  */
 1.35350 -+  const struct bfd_target *(*_bfd_check_format[bfd_type_end]) (bfd *);
 1.35351 -+
 1.35352 -+  /* Set the format of a file being written.  */
 1.35353 -+  bfd_boolean (*_bfd_set_format[bfd_type_end]) (bfd *);
 1.35354 -+
 1.35355 -+  /* Write cached information into a file being written, at <<bfd_close>>.  */
 1.35356 -+  bfd_boolean (*_bfd_write_contents[bfd_type_end]) (bfd *);
 1.35357 -+
 1.35358 -+
 1.35359 -+  /* Generic entry points.  */
 1.35360 -+#define BFD_JUMP_TABLE_GENERIC(NAME) \
 1.35361 -+  NAME##_close_and_cleanup, \
 1.35362 -+  NAME##_bfd_free_cached_info, \
 1.35363 -+  NAME##_new_section_hook, \
 1.35364 -+  NAME##_get_section_contents, \
 1.35365 -+  NAME##_get_section_contents_in_window
 1.35366 -+
 1.35367 -+  /* Called when the BFD is being closed to do any necessary cleanup.  */
 1.35368 -+  bfd_boolean (*_close_and_cleanup) (bfd *);
 1.35369 -+  /* Ask the BFD to free all cached information.  */
 1.35370 -+  bfd_boolean (*_bfd_free_cached_info) (bfd *);
 1.35371 -+  /* Called when a new section is created.  */
 1.35372 -+  bfd_boolean (*_new_section_hook) (bfd *, sec_ptr);
 1.35373 -+  /* Read the contents of a section.  */
 1.35374 -+  bfd_boolean (*_bfd_get_section_contents)
 1.35375 -+    (bfd *, sec_ptr, void *, file_ptr, bfd_size_type);
 1.35376 -+  bfd_boolean (*_bfd_get_section_contents_in_window)
 1.35377 -+    (bfd *, sec_ptr, bfd_window *, file_ptr, bfd_size_type);
 1.35378 -+
 1.35379 -+  /* Entry points to copy private data.  */
 1.35380 -+#define BFD_JUMP_TABLE_COPY(NAME) \
 1.35381 -+  NAME##_bfd_copy_private_bfd_data, \
 1.35382 -+  NAME##_bfd_merge_private_bfd_data, \
 1.35383 -+  _bfd_generic_init_private_section_data, \
 1.35384 -+  NAME##_bfd_copy_private_section_data, \
 1.35385 -+  NAME##_bfd_copy_private_symbol_data, \
 1.35386 -+  NAME##_bfd_copy_private_header_data, \
 1.35387 -+  NAME##_bfd_set_private_flags, \
 1.35388 -+  NAME##_bfd_print_private_bfd_data
 1.35389 -+
 1.35390 -+  /* Called to copy BFD general private data from one object file
 1.35391 -+     to another.  */
 1.35392 -+  bfd_boolean (*_bfd_copy_private_bfd_data) (bfd *, bfd *);
 1.35393 -+  /* Called to merge BFD general private data from one object file
 1.35394 -+     to a common output file when linking.  */
 1.35395 -+  bfd_boolean (*_bfd_merge_private_bfd_data) (bfd *, bfd *);
 1.35396 -+  /* Called to initialize BFD private section data from one object file
 1.35397 -+     to another.  */
 1.35398 -+#define bfd_init_private_section_data(ibfd, isec, obfd, osec, link_info) \
 1.35399 -+  BFD_SEND (obfd, _bfd_init_private_section_data, (ibfd, isec, obfd, osec, link_info))
 1.35400 -+  bfd_boolean (*_bfd_init_private_section_data)
 1.35401 -+    (bfd *, sec_ptr, bfd *, sec_ptr, struct bfd_link_info *);
 1.35402 -+  /* Called to copy BFD private section data from one object file
 1.35403 -+     to another.  */
 1.35404 -+  bfd_boolean (*_bfd_copy_private_section_data)
 1.35405 -+    (bfd *, sec_ptr, bfd *, sec_ptr);
 1.35406 -+  /* Called to copy BFD private symbol data from one symbol
 1.35407 -+     to another.  */
 1.35408 -+  bfd_boolean (*_bfd_copy_private_symbol_data)
 1.35409 -+    (bfd *, asymbol *, bfd *, asymbol *);
 1.35410 -+  /* Called to copy BFD private header data from one object file
 1.35411 -+     to another.  */
 1.35412 -+  bfd_boolean (*_bfd_copy_private_header_data)
 1.35413 -+    (bfd *, bfd *);
 1.35414 -+  /* Called to set private backend flags.  */
 1.35415 -+  bfd_boolean (*_bfd_set_private_flags) (bfd *, flagword);
 1.35416 -+
 1.35417 -+  /* Called to print private BFD data.  */
 1.35418 -+  bfd_boolean (*_bfd_print_private_bfd_data) (bfd *, void *);
 1.35419 -+
 1.35420 -+  /* Core file entry points.  */
 1.35421 -+#define BFD_JUMP_TABLE_CORE(NAME) \
 1.35422 -+  NAME##_core_file_failing_command, \
 1.35423 -+  NAME##_core_file_failing_signal, \
 1.35424 -+  NAME##_core_file_matches_executable_p
 1.35425 -+
 1.35426 -+  char *      (*_core_file_failing_command) (bfd *);
 1.35427 -+  int         (*_core_file_failing_signal) (bfd *);
 1.35428 -+  bfd_boolean (*_core_file_matches_executable_p) (bfd *, bfd *);
 1.35429 -+
 1.35430 -+  /* Archive entry points.  */
 1.35431 -+#define BFD_JUMP_TABLE_ARCHIVE(NAME) \
 1.35432 -+  NAME##_slurp_armap, \
 1.35433 -+  NAME##_slurp_extended_name_table, \
 1.35434 -+  NAME##_construct_extended_name_table, \
 1.35435 -+  NAME##_truncate_arname, \
 1.35436 -+  NAME##_write_armap, \
 1.35437 -+  NAME##_read_ar_hdr, \
 1.35438 -+  NAME##_openr_next_archived_file, \
 1.35439 -+  NAME##_get_elt_at_index, \
 1.35440 -+  NAME##_generic_stat_arch_elt, \
 1.35441 -+  NAME##_update_armap_timestamp
 1.35442 -+
 1.35443 -+  bfd_boolean (*_bfd_slurp_armap) (bfd *);
 1.35444 -+  bfd_boolean (*_bfd_slurp_extended_name_table) (bfd *);
 1.35445 -+  bfd_boolean (*_bfd_construct_extended_name_table)
 1.35446 -+    (bfd *, char **, bfd_size_type *, const char **);
 1.35447 -+  void        (*_bfd_truncate_arname) (bfd *, const char *, char *);
 1.35448 -+  bfd_boolean (*write_armap)
 1.35449 -+    (bfd *, unsigned int, struct orl *, unsigned int, int);
 1.35450 -+  void *      (*_bfd_read_ar_hdr_fn) (bfd *);
 1.35451 -+  bfd *       (*openr_next_archived_file) (bfd *, bfd *);
 1.35452 -+#define bfd_get_elt_at_index(b,i) BFD_SEND (b, _bfd_get_elt_at_index, (b,i))
 1.35453 -+  bfd *       (*_bfd_get_elt_at_index) (bfd *, symindex);
 1.35454 -+  int         (*_bfd_stat_arch_elt) (bfd *, struct stat *);
 1.35455 -+  bfd_boolean (*_bfd_update_armap_timestamp) (bfd *);
 1.35456 -+
 1.35457 -+  /* Entry points used for symbols.  */
 1.35458 -+#define BFD_JUMP_TABLE_SYMBOLS(NAME) \
 1.35459 -+  NAME##_get_symtab_upper_bound, \
 1.35460 -+  NAME##_canonicalize_symtab, \
 1.35461 -+  NAME##_make_empty_symbol, \
 1.35462 -+  NAME##_print_symbol, \
 1.35463 -+  NAME##_get_symbol_info, \
 1.35464 -+  NAME##_bfd_is_local_label_name, \
 1.35465 -+  NAME##_bfd_is_target_special_symbol, \
 1.35466 -+  NAME##_get_lineno, \
 1.35467 -+  NAME##_find_nearest_line, \
 1.35468 -+  _bfd_generic_find_line, \
 1.35469 -+  NAME##_find_inliner_info, \
 1.35470 -+  NAME##_bfd_make_debug_symbol, \
 1.35471 -+  NAME##_read_minisymbols, \
 1.35472 -+  NAME##_minisymbol_to_symbol
 1.35473 -+
 1.35474 -+  long        (*_bfd_get_symtab_upper_bound) (bfd *);
 1.35475 -+  long        (*_bfd_canonicalize_symtab)
 1.35476 -+    (bfd *, struct bfd_symbol **);
 1.35477 -+  struct bfd_symbol *
 1.35478 -+              (*_bfd_make_empty_symbol) (bfd *);
 1.35479 -+  void        (*_bfd_print_symbol)
 1.35480 -+    (bfd *, void *, struct bfd_symbol *, bfd_print_symbol_type);
 1.35481 -+#define bfd_print_symbol(b,p,s,e) BFD_SEND (b, _bfd_print_symbol, (b,p,s,e))
 1.35482 -+  void        (*_bfd_get_symbol_info)
 1.35483 -+    (bfd *, struct bfd_symbol *, symbol_info *);
 1.35484 -+#define bfd_get_symbol_info(b,p,e) BFD_SEND (b, _bfd_get_symbol_info, (b,p,e))
 1.35485 -+  bfd_boolean (*_bfd_is_local_label_name) (bfd *, const char *);
 1.35486 -+  bfd_boolean (*_bfd_is_target_special_symbol) (bfd *, asymbol *);
 1.35487 -+  alent *     (*_get_lineno) (bfd *, struct bfd_symbol *);
 1.35488 -+  bfd_boolean (*_bfd_find_nearest_line)
 1.35489 -+    (bfd *, struct bfd_section *, struct bfd_symbol **, bfd_vma,
 1.35490 -+     const char **, const char **, unsigned int *);
 1.35491 -+  bfd_boolean (*_bfd_find_line)
 1.35492 -+    (bfd *, struct bfd_symbol **, struct bfd_symbol *,
 1.35493 -+     const char **, unsigned int *);
 1.35494 -+  bfd_boolean (*_bfd_find_inliner_info)
 1.35495 -+    (bfd *, const char **, const char **, unsigned int *);
 1.35496 -+ /* Back-door to allow format-aware applications to create debug symbols
 1.35497 -+    while using BFD for everything else.  Currently used by the assembler
 1.35498 -+    when creating COFF files.  */
 1.35499 -+  asymbol *   (*_bfd_make_debug_symbol)
 1.35500 -+    (bfd *, void *, unsigned long size);
 1.35501 -+#define bfd_read_minisymbols(b, d, m, s) \
 1.35502 -+  BFD_SEND (b, _read_minisymbols, (b, d, m, s))
 1.35503 -+  long        (*_read_minisymbols)
 1.35504 -+    (bfd *, bfd_boolean, void **, unsigned int *);
 1.35505 -+#define bfd_minisymbol_to_symbol(b, d, m, f) \
 1.35506 -+  BFD_SEND (b, _minisymbol_to_symbol, (b, d, m, f))
 1.35507 -+  asymbol *   (*_minisymbol_to_symbol)
 1.35508 -+    (bfd *, bfd_boolean, const void *, asymbol *);
 1.35509 -+
 1.35510 -+  /* Routines for relocs.  */
 1.35511 -+#define BFD_JUMP_TABLE_RELOCS(NAME) \
 1.35512 -+  NAME##_get_reloc_upper_bound, \
 1.35513 -+  NAME##_canonicalize_reloc, \
 1.35514 -+  NAME##_bfd_reloc_type_lookup, \
 1.35515 -+  NAME##_bfd_reloc_name_lookup
 1.35516 -+
 1.35517 -+  long        (*_get_reloc_upper_bound) (bfd *, sec_ptr);
 1.35518 -+  long        (*_bfd_canonicalize_reloc)
 1.35519 -+    (bfd *, sec_ptr, arelent **, struct bfd_symbol **);
 1.35520 -+  /* See documentation on reloc types.  */
 1.35521 -+  reloc_howto_type *
 1.35522 -+              (*reloc_type_lookup) (bfd *, bfd_reloc_code_real_type);
 1.35523 -+  reloc_howto_type *
 1.35524 -+              (*reloc_name_lookup) (bfd *, const char *);
 1.35525 -+
 1.35526 -+
 1.35527 -+  /* Routines used when writing an object file.  */
 1.35528 -+#define BFD_JUMP_TABLE_WRITE(NAME) \
 1.35529 -+  NAME##_set_arch_mach, \
 1.35530 -+  NAME##_set_section_contents
 1.35531 -+
 1.35532 -+  bfd_boolean (*_bfd_set_arch_mach)
 1.35533 -+    (bfd *, enum bfd_architecture, unsigned long);
 1.35534 -+  bfd_boolean (*_bfd_set_section_contents)
 1.35535 -+    (bfd *, sec_ptr, const void *, file_ptr, bfd_size_type);
 1.35536 -+
 1.35537 -+  /* Routines used by the linker.  */
 1.35538 -+#define BFD_JUMP_TABLE_LINK(NAME) \
 1.35539 -+  NAME##_sizeof_headers, \
 1.35540 -+  NAME##_bfd_get_relocated_section_contents, \
 1.35541 -+  NAME##_bfd_relax_section, \
 1.35542 -+  NAME##_bfd_link_hash_table_create, \
 1.35543 -+  NAME##_bfd_link_hash_table_free, \
 1.35544 -+  NAME##_bfd_link_add_symbols, \
 1.35545 -+  NAME##_bfd_link_just_syms, \
 1.35546 -+  NAME##_bfd_final_link, \
 1.35547 -+  NAME##_bfd_link_split_section, \
 1.35548 -+  NAME##_bfd_gc_sections, \
 1.35549 -+  NAME##_bfd_merge_sections, \
 1.35550 -+  NAME##_bfd_is_group_section, \
 1.35551 -+  NAME##_bfd_discard_group, \
 1.35552 -+  NAME##_section_already_linked \
 1.35553 -+
 1.35554 -+  int         (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *);
 1.35555 -+  bfd_byte *  (*_bfd_get_relocated_section_contents)
 1.35556 -+    (bfd *, struct bfd_link_info *, struct bfd_link_order *,
 1.35557 -+     bfd_byte *, bfd_boolean, struct bfd_symbol **);
 1.35558 -+
 1.35559 -+  bfd_boolean (*_bfd_relax_section)
 1.35560 -+    (bfd *, struct bfd_section *, struct bfd_link_info *, bfd_boolean *);
 1.35561 -+
 1.35562 -+  /* Create a hash table for the linker.  Different backends store
 1.35563 -+     different information in this table.  */
 1.35564 -+  struct bfd_link_hash_table *
 1.35565 -+              (*_bfd_link_hash_table_create) (bfd *);
 1.35566 -+
 1.35567 -+  /* Release the memory associated with the linker hash table.  */
 1.35568 -+  void        (*_bfd_link_hash_table_free) (struct bfd_link_hash_table *);
 1.35569 -+
 1.35570 -+  /* Add symbols from this object file into the hash table.  */
 1.35571 -+  bfd_boolean (*_bfd_link_add_symbols) (bfd *, struct bfd_link_info *);
 1.35572 -+
 1.35573 -+  /* Indicate that we are only retrieving symbol values from this section.  */
 1.35574 -+  void        (*_bfd_link_just_syms) (asection *, struct bfd_link_info *);
 1.35575 -+
 1.35576 -+  /* Do a link based on the link_order structures attached to each
 1.35577 -+     section of the BFD.  */
 1.35578 -+  bfd_boolean (*_bfd_final_link) (bfd *, struct bfd_link_info *);
 1.35579 -+
 1.35580 -+  /* Should this section be split up into smaller pieces during linking.  */
 1.35581 -+  bfd_boolean (*_bfd_link_split_section) (bfd *, struct bfd_section *);
 1.35582 -+
 1.35583 -+  /* Remove sections that are not referenced from the output.  */
 1.35584 -+  bfd_boolean (*_bfd_gc_sections) (bfd *, struct bfd_link_info *);
 1.35585 -+
 1.35586 -+  /* Attempt to merge SEC_MERGE sections.  */
 1.35587 -+  bfd_boolean (*_bfd_merge_sections) (bfd *, struct bfd_link_info *);
 1.35588 -+
 1.35589 -+  /* Is this section a member of a group?  */
 1.35590 -+  bfd_boolean (*_bfd_is_group_section) (bfd *, const struct bfd_section *);
 1.35591 -+
 1.35592 -+  /* Discard members of a group.  */
 1.35593 -+  bfd_boolean (*_bfd_discard_group) (bfd *, struct bfd_section *);
 1.35594 -+
 1.35595 -+  /* Check if SEC has been already linked during a reloceatable or
 1.35596 -+     final link.  */
 1.35597 -+  void (*_section_already_linked) (bfd *, struct bfd_section *,
 1.35598 -+                                   struct bfd_link_info *);
 1.35599 -+
 1.35600 -+  /* Routines to handle dynamic symbols and relocs.  */
 1.35601 -+#define BFD_JUMP_TABLE_DYNAMIC(NAME) \
 1.35602 -+  NAME##_get_dynamic_symtab_upper_bound, \
 1.35603 -+  NAME##_canonicalize_dynamic_symtab, \
 1.35604 -+  NAME##_get_synthetic_symtab, \
 1.35605 -+  NAME##_get_dynamic_reloc_upper_bound, \
 1.35606 -+  NAME##_canonicalize_dynamic_reloc
 1.35607 -+
 1.35608 -+  /* Get the amount of memory required to hold the dynamic symbols.  */
 1.35609 -+  long        (*_bfd_get_dynamic_symtab_upper_bound) (bfd *);
 1.35610 -+  /* Read in the dynamic symbols.  */
 1.35611 -+  long        (*_bfd_canonicalize_dynamic_symtab)
 1.35612 -+    (bfd *, struct bfd_symbol **);
 1.35613 -+  /* Create synthetized symbols.  */
 1.35614 -+  long        (*_bfd_get_synthetic_symtab)
 1.35615 -+    (bfd *, long, struct bfd_symbol **, long, struct bfd_symbol **,
 1.35616 -+     struct bfd_symbol **);
 1.35617 -+  /* Get the amount of memory required to hold the dynamic relocs.  */
 1.35618 -+  long        (*_bfd_get_dynamic_reloc_upper_bound) (bfd *);
 1.35619 -+  /* Read in the dynamic relocs.  */
 1.35620 -+  long        (*_bfd_canonicalize_dynamic_reloc)
 1.35621 -+    (bfd *, arelent **, struct bfd_symbol **);
 1.35622 -+
 1.35623 -+  /* Opposite endian version of this target.  */
 1.35624 -+  const struct bfd_target * alternative_target;
 1.35625 -+
 1.35626 -+  /* Data for use by back-end routines, which isn't
 1.35627 -+     generic enough to belong in this structure.  */
 1.35628 -+  const void *backend_data;
 1.35629 -+
 1.35630 -+} bfd_target;
 1.35631 -+
 1.35632 -+bfd_boolean bfd_set_default_target (const char *name);
 1.35633 -+
 1.35634 -+const bfd_target *bfd_find_target (const char *target_name, bfd *abfd);
 1.35635 -+
 1.35636 -+const char ** bfd_target_list (void);
 1.35637 -+
 1.35638 -+const bfd_target *bfd_search_for_target
 1.35639 -+   (int (*search_func) (const bfd_target *, void *),
 1.35640 -+    void *);
 1.35641 -+
 1.35642 -+/* Extracted from format.c.  */
 1.35643 -+bfd_boolean bfd_check_format (bfd *abfd, bfd_format format);
 1.35644 -+
 1.35645 -+bfd_boolean bfd_check_format_matches
 1.35646 -+   (bfd *abfd, bfd_format format, char ***matching);
 1.35647 -+
 1.35648 -+bfd_boolean bfd_set_format (bfd *abfd, bfd_format format);
 1.35649 -+
 1.35650 -+const char *bfd_format_string (bfd_format format);
 1.35651 -+
 1.35652 -+/* Extracted from linker.c.  */
 1.35653 -+bfd_boolean bfd_link_split_section (bfd *abfd, asection *sec);
 1.35654 -+
 1.35655 -+#define bfd_link_split_section(abfd, sec) \
 1.35656 -+       BFD_SEND (abfd, _bfd_link_split_section, (abfd, sec))
 1.35657 -+
 1.35658 -+void bfd_section_already_linked (bfd *abfd, asection *sec,
 1.35659 -+    struct bfd_link_info *info);
 1.35660 -+
 1.35661 -+#define bfd_section_already_linked(abfd, sec, info) \
 1.35662 -+       BFD_SEND (abfd, _section_already_linked, (abfd, sec, info))
 1.35663 -+
 1.35664 -+/* Extracted from simple.c.  */
 1.35665 -+bfd_byte *bfd_simple_get_relocated_section_contents
 1.35666 -+   (bfd *abfd, asection *sec, bfd_byte *outbuf, asymbol **symbol_table);
 1.35667 -+
 1.35668 -+#ifdef __cplusplus
 1.35669 -+}
 1.35670 -+#endif
 1.35671 -+#endif
 1.35672 ---- /dev/null
 1.35673 -+++ b/bfd/bfd_stdint.h
 1.35674 -@@ -0,0 +1,47 @@
 1.35675 -+/* generated for  gcc (GCC) 4.2.4 (Ubuntu 4.2.4-3ubuntu4) */
 1.35676 -+
 1.35677 -+#ifndef GCC_GENERATED_STDINT_H
 1.35678 -+#define GCC_GENERATED_STDINT_H 1
 1.35679 -+
 1.35680 -+#include <sys/types.h>
 1.35681 -+#include <stdint.h>
 1.35682 -+/* glibc uses these symbols as guards to prevent redefinitions.  */
 1.35683 -+#ifdef __int8_t_defined
 1.35684 -+#define _INT8_T
 1.35685 -+#define _INT16_T
 1.35686 -+#define _INT32_T
 1.35687 -+#endif
 1.35688 -+#ifdef __uint32_t_defined
 1.35689 -+#define _UINT32_T
 1.35690 -+#endif
 1.35691 -+
 1.35692 -+
 1.35693 -+/* Some systems have guard macros to prevent redefinitions, define them.  */
 1.35694 -+#ifndef _INT8_T
 1.35695 -+#define _INT8_T
 1.35696 -+#endif
 1.35697 -+#ifndef _INT16_T
 1.35698 -+#define _INT16_T
 1.35699 -+#endif
 1.35700 -+#ifndef _INT32_T
 1.35701 -+#define _INT32_T
 1.35702 -+#endif
 1.35703 -+#ifndef _UINT8_T
 1.35704 -+#define _UINT8_T
 1.35705 -+#endif
 1.35706 -+#ifndef _UINT16_T
 1.35707 -+#define _UINT16_T
 1.35708 -+#endif
 1.35709 -+#ifndef _UINT32_T
 1.35710 -+#define _UINT32_T
 1.35711 -+#endif
 1.35712 -+
 1.35713 -+/* system headers have good uint64_t and int64_t */
 1.35714 -+#ifndef _INT64_T
 1.35715 -+#define _INT64_T
 1.35716 -+#endif
 1.35717 -+#ifndef _UINT64_T
 1.35718 -+#define _UINT64_T
 1.35719 -+#endif
 1.35720 -+
 1.35721 -+#endif /* GCC_GENERATED_STDINT_H */
 1.35722 ---- a/bfd/configure
 1.35723 -+++ b/bfd/configure
 1.35724 -@@ -2994,7 +2994,7 @@ fi
 1.35725 - 
 1.35726 - # Define the identity of the package.
 1.35727 -  PACKAGE=bfd
 1.35728 -- VERSION=2.18
 1.35729 -+ VERSION=2.18.atmel.1.0.1.avr32linux.1
 1.35730 - 
 1.35731 - 
 1.35732 - cat >>confdefs.h <<_ACEOF
 1.35733 -@@ -19041,6 +19041,7 @@ do
 1.35734 -     bfd_efi_app_ia64_vec)	tb="$tb efi-app-ia64.lo pepigen.lo cofflink.lo"; target_size=64 ;;
 1.35735 -     bfd_elf32_am33lin_vec)	tb="$tb elf32-am33lin.lo elf32.lo $elf" ;;
 1.35736 -     bfd_elf32_avr_vec)		tb="$tb elf32-avr.lo elf32.lo $elf" ;;
 1.35737 -+    bfd_elf32_avr32_vec)	tb="$tb elf32-avr32.lo elf32.lo $elf" ;;
 1.35738 -     bfd_elf32_bfin_vec)		tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
 1.35739 -     bfd_elf32_bfinfdpic_vec)	tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
 1.35740 -     bfd_elf32_big_generic_vec) 	tb="$tb elf32-gen.lo elf32.lo $elf" ;;
 1.35741 ---- /dev/null
 1.35742 -+++ b/bfd/doc/bfd.h
 1.35743 -@@ -0,0 +1,5493 @@
 1.35744 -+/* DO NOT EDIT!  -*- buffer-read-only: t -*-  This file is automatically 
 1.35745 -+   generated from "bfd-in.h", "init.c", "opncls.c", "libbfd.c", 
 1.35746 -+   "bfdio.c", "bfdwin.c", "section.c", "archures.c", "reloc.c", 
 1.35747 -+   "syms.c", "bfd.c", "archive.c", "corefile.c", "targets.c", "format.c", 
 1.35748 -+   "linker.c" and "simple.c".
 1.35749 -+   Run "make headers" in your build bfd/ to regenerate.  */
 1.35750 -+
 1.35751 -+/* Main header file for the bfd library -- portable access to object files.
 1.35752 -+
 1.35753 -+   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
 1.35754 -+   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
 1.35755 -+   Free Software Foundation, Inc.
 1.35756 -+
 1.35757 -+   Contributed by Cygnus Support.
 1.35758 -+
 1.35759 -+   This file is part of BFD, the Binary File Descriptor library.
 1.35760 -+
 1.35761 -+   This program is free software; you can redistribute it and/or modify
 1.35762 -+   it under the terms of the GNU General Public License as published by
 1.35763 -+   the Free Software Foundation; either version 3 of the License, or
 1.35764 -+   (at your option) any later version.
 1.35765 -+
 1.35766 -+   This program is distributed in the hope that it will be useful,
 1.35767 -+   but WITHOUT ANY WARRANTY; without even the implied warranty of
 1.35768 -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 1.35769 -+   GNU General Public License for more details.
 1.35770 -+
 1.35771 -+   You should have received a copy of the GNU General Public License
 1.35772 -+   along with this program; if not, write to the Free Software
 1.35773 -+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
 1.35774 -+
 1.35775 -+#ifndef __BFD_H_SEEN__
 1.35776 -+#define __BFD_H_SEEN__
 1.35777 -+
 1.35778 -+#ifdef __cplusplus
 1.35779 -+extern "C" {
 1.35780 -+#endif
 1.35781 -+
 1.35782 -+#include "ansidecl.h"
 1.35783 -+#include "symcat.h"
 1.35784 -+#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
 1.35785 -+#ifndef SABER
 1.35786 -+/* This hack is to avoid a problem with some strict ANSI C preprocessors.
 1.35787 -+   The problem is, "32_" is not a valid preprocessing token, and we don't
 1.35788 -+   want extra underscores (e.g., "nlm_32_").  The XCONCAT2 macro will
 1.35789 -+   cause the inner CONCAT2 macros to be evaluated first, producing
 1.35790 -+   still-valid pp-tokens.  Then the final concatenation can be done.  */
 1.35791 -+#undef CONCAT4
 1.35792 -+#define CONCAT4(a,b,c,d) XCONCAT2(CONCAT2(a,b),CONCAT2(c,d))
 1.35793 -+#endif
 1.35794 -+#endif
 1.35795 -+
 1.35796 -+/* This is a utility macro to handle the situation where the code
 1.35797 -+   wants to place a constant string into the code, followed by a
 1.35798 -+   comma and then the length of the string.  Doing this by hand
 1.35799 -+   is error prone, so using this macro is safer.  The macro will
 1.35800 -+   also safely handle the case where a NULL is passed as the arg.  */
 1.35801 -+#define STRING_COMMA_LEN(STR) (STR), ((STR) ? sizeof (STR) - 1 : 0)
 1.35802 -+/* Unfortunately it is not possible to use the STRING_COMMA_LEN macro
 1.35803 -+   to create the arguments to another macro, since the preprocessor
 1.35804 -+   will mis-count the number of arguments to the outer macro (by not
 1.35805 -+   evaluating STRING_COMMA_LEN and so missing the comma).  This is a
 1.35806 -+   problem for example when trying to use STRING_COMMA_LEN to build
 1.35807 -+   the arguments to the strncmp() macro.  Hence this alternative
 1.35808 -+   definition of strncmp is provided here.
 1.35809 -+   
 1.35810 -+   Note - these macros do NOT work if STR2 is not a constant string.  */
 1.35811 -+#define CONST_STRNEQ(STR1,STR2) (strncmp ((STR1), (STR2), sizeof (STR2) - 1) == 0)
 1.35812 -+  /* strcpy() can have a similar problem, but since we know we are
 1.35813 -+     copying a constant string, we can use memcpy which will be faster
 1.35814 -+     since there is no need to check for a NUL byte inside STR.  We
 1.35815 -+     can also save time if we do not need to copy the terminating NUL.  */
 1.35816 -+#define LITMEMCPY(DEST,STR2) memcpy ((DEST), (STR2), sizeof (STR2) - 1)
 1.35817 -+#define LITSTRCPY(DEST,STR2) memcpy ((DEST), (STR2), sizeof (STR2))
 1.35818 -+
 1.35819 -+
 1.35820 -+/* The word size used by BFD on the host.  This may be 64 with a 32
 1.35821 -+   bit target if the host is 64 bit, or if other 64 bit targets have
 1.35822 -+   been selected with --enable-targets, or if --enable-64-bit-bfd.  */
 1.35823 -+#define BFD_ARCH_SIZE @wordsize@
 1.35824 -+
 1.35825 -+/* The word size of the default bfd target.  */
 1.35826 -+#define BFD_DEFAULT_TARGET_SIZE @bfd_default_target_size@
 1.35827 -+
 1.35828 -+#define BFD_HOST_64BIT_LONG @BFD_HOST_64BIT_LONG@
 1.35829 -+#define BFD_HOST_64BIT_LONG_LONG @BFD_HOST_64BIT_LONG_LONG@
 1.35830 -+#define BFD_HOST_LONG_LONG @BFD_HOST_LONG_LONG@
 1.35831 -+#if @BFD_HOST_64_BIT_DEFINED@
 1.35832 -+#define BFD_HOST_64_BIT @BFD_HOST_64_BIT@
 1.35833 -+#define BFD_HOST_U_64_BIT @BFD_HOST_U_64_BIT@
 1.35834 -+typedef BFD_HOST_64_BIT bfd_int64_t;
 1.35835 -+typedef BFD_HOST_U_64_BIT bfd_uint64_t;
 1.35836 -+#endif
 1.35837 -+
 1.35838 -+#if BFD_ARCH_SIZE >= 64
 1.35839 -+#define BFD64
 1.35840 -+#endif
 1.35841 -+
 1.35842 -+#ifndef INLINE
 1.35843 -+#if __GNUC__ >= 2
 1.35844 -+#define INLINE __inline__
 1.35845 -+#else
 1.35846 -+#define INLINE
 1.35847 -+#endif
 1.35848 -+#endif
 1.35849 -+
 1.35850 -+/* Declaring a type wide enough to hold a host long and a host pointer.  */
 1.35851 -+#define BFD_HOSTPTR_T	@BFD_HOSTPTR_T@
 1.35852 -+typedef BFD_HOSTPTR_T bfd_hostptr_t;
 1.35853 -+
 1.35854 -+/* Forward declaration.  */
 1.35855 -+typedef struct bfd bfd;
 1.35856 -+
 1.35857 -+/* Boolean type used in bfd.  Too many systems define their own
 1.35858 -+   versions of "boolean" for us to safely typedef a "boolean" of
 1.35859 -+   our own.  Using an enum for "bfd_boolean" has its own set of
 1.35860 -+   problems, with strange looking casts required to avoid warnings
 1.35861 -+   on some older compilers.  Thus we just use an int.
 1.35862 -+
 1.35863 -+   General rule: Functions which are bfd_boolean return TRUE on
 1.35864 -+   success and FALSE on failure (unless they're a predicate).  */
 1.35865 -+
 1.35866 -+typedef int bfd_boolean;
 1.35867 -+#undef FALSE
 1.35868 -+#undef TRUE
 1.35869 -+#define FALSE 0
 1.35870 -+#define TRUE 1
 1.35871 -+
 1.35872 -+#ifdef BFD64
 1.35873 -+
 1.35874 -+#ifndef BFD_HOST_64_BIT
 1.35875 -+ #error No 64 bit integer type available
 1.35876 -+#endif /* ! defined (BFD_HOST_64_BIT) */
 1.35877 -+
 1.35878 -+typedef BFD_HOST_U_64_BIT bfd_vma;
 1.35879 -+typedef BFD_HOST_64_BIT bfd_signed_vma;
 1.35880 -+typedef BFD_HOST_U_64_BIT bfd_size_type;
 1.35881 -+typedef BFD_HOST_U_64_BIT symvalue;
 1.35882 -+
 1.35883 -+#ifndef fprintf_vma
 1.35884 -+#if BFD_HOST_64BIT_LONG
 1.35885 -+#define sprintf_vma(s,x) sprintf (s, "%016lx", x)
 1.35886 -+#define fprintf_vma(f,x) fprintf (f, "%016lx", x)
 1.35887 -+#elif BFD_HOST_64BIT_LONG_LONG
 1.35888 -+#define sprintf_vma(s,x) sprintf (s, "%016llx", x)
 1.35889 -+#define fprintf_vma(f,x) fprintf (f, "%016llx", x)
 1.35890 -+#else
 1.35891 -+#define _bfd_int64_low(x) ((unsigned long) (((x) & 0xffffffff)))
 1.35892 -+#define _bfd_int64_high(x) ((unsigned long) (((x) >> 32) & 0xffffffff))
 1.35893 -+#define fprintf_vma(s,x) \
 1.35894 -+  fprintf ((s), "%08lx%08lx", _bfd_int64_high (x), _bfd_int64_low (x))
 1.35895 -+#define sprintf_vma(s,x) \
 1.35896 -+  sprintf ((s), "%08lx%08lx", _bfd_int64_high (x), _bfd_int64_low (x))
 1.35897 -+#endif
 1.35898 -+#endif
 1.35899 -+
 1.35900 -+#else /* not BFD64  */
 1.35901 -+
 1.35902 -+/* Represent a target address.  Also used as a generic unsigned type
 1.35903 -+   which is guaranteed to be big enough to hold any arithmetic types
 1.35904 -+   we need to deal with.  */
 1.35905 -+typedef unsigned long bfd_vma;
 1.35906 -+
 1.35907 -+/* A generic signed type which is guaranteed to be big enough to hold any
 1.35908 -+   arithmetic types we need to deal with.  Can be assumed to be compatible
 1.35909 -+   with bfd_vma in the same way that signed and unsigned ints are compatible
 1.35910 -+   (as parameters, in assignment, etc).  */
 1.35911 -+typedef long bfd_signed_vma;
 1.35912 -+
 1.35913 -+typedef unsigned long symvalue;
 1.35914 -+typedef unsigned long bfd_size_type;
 1.35915 -+
 1.35916 -+/* Print a bfd_vma x on stream s.  */
 1.35917 -+#define fprintf_vma(s,x) fprintf (s, "%08lx", x)
 1.35918 -+#define sprintf_vma(s,x) sprintf (s, "%08lx", x)
 1.35919 -+
 1.35920 -+#endif /* not BFD64  */
 1.35921 -+
 1.35922 -+#define HALF_BFD_SIZE_TYPE \
 1.35923 -+  (((bfd_size_type) 1) << (8 * sizeof (bfd_size_type) / 2))
 1.35924 -+
 1.35925 -+#ifndef BFD_HOST_64_BIT
 1.35926 -+/* Fall back on a 32 bit type.  The idea is to make these types always
 1.35927 -+   available for function return types, but in the case that
 1.35928 -+   BFD_HOST_64_BIT is undefined such a function should abort or
 1.35929 -+   otherwise signal an error.  */
 1.35930 -+typedef bfd_signed_vma bfd_int64_t;
 1.35931 -+typedef bfd_vma bfd_uint64_t;
 1.35932 -+#endif
 1.35933 -+
 1.35934 -+/* An offset into a file.  BFD always uses the largest possible offset
 1.35935 -+   based on the build time availability of fseek, fseeko, or fseeko64.  */
 1.35936 -+typedef @bfd_file_ptr@ file_ptr;
 1.35937 -+typedef unsigned @bfd_file_ptr@ ufile_ptr;
 1.35938 -+
 1.35939 -+extern void bfd_sprintf_vma (bfd *, char *, bfd_vma);
 1.35940 -+extern void bfd_fprintf_vma (bfd *, void *, bfd_vma);
 1.35941 -+
 1.35942 -+#define printf_vma(x) fprintf_vma(stdout,x)
 1.35943 -+#define bfd_printf_vma(abfd,x) bfd_fprintf_vma (abfd,stdout,x)
 1.35944 -+
 1.35945 -+typedef unsigned int flagword;	/* 32 bits of flags */
 1.35946 -+typedef unsigned char bfd_byte;
 1.35947 -+
 1.35948 -+/* File formats.  */
 1.35949 -+
 1.35950 -+typedef enum bfd_format
 1.35951 -+{
 1.35952 -+  bfd_unknown = 0,	/* File format is unknown.  */
 1.35953 -+  bfd_object,		/* Linker/assembler/compiler output.  */
 1.35954 -+  bfd_archive,		/* Object archive file.  */
 1.35955 -+  bfd_core,		/* Core dump.  */
 1.35956 -+  bfd_type_end		/* Marks the end; don't use it!  */
 1.35957 -+}
 1.35958 -+bfd_format;
 1.35959 -+
 1.35960 -+/* Values that may appear in the flags field of a BFD.  These also
 1.35961 -+   appear in the object_flags field of the bfd_target structure, where
 1.35962 -+   they indicate the set of flags used by that backend (not all flags
 1.35963 -+   are meaningful for all object file formats) (FIXME: at the moment,
 1.35964 -+   the object_flags values have mostly just been copied from backend
 1.35965 -+   to another, and are not necessarily correct).  */
 1.35966 -+
 1.35967 -+/* No flags.  */
 1.35968 -+#define BFD_NO_FLAGS   	0x00
 1.35969 -+
 1.35970 -+/* BFD contains relocation entries.  */
 1.35971 -+#define HAS_RELOC   	0x01
 1.35972 -+
 1.35973 -+/* BFD is directly executable.  */
 1.35974 -+#define EXEC_P      	0x02
 1.35975 -+
 1.35976 -+/* BFD has line number information (basically used for F_LNNO in a
 1.35977 -+   COFF header).  */
 1.35978 -+#define HAS_LINENO  	0x04
 1.35979 -+
 1.35980 -+/* BFD has debugging information.  */
 1.35981 -+#define HAS_DEBUG   	0x08
 1.35982 -+
 1.35983 -+/* BFD has symbols.  */
 1.35984 -+#define HAS_SYMS    	0x10
 1.35985 -+
 1.35986 -+/* BFD has local symbols (basically used for F_LSYMS in a COFF
 1.35987 -+   header).  */
 1.35988 -+#define HAS_LOCALS  	0x20
 1.35989 -+
 1.35990 -+/* BFD is a dynamic object.  */
 1.35991 -+#define DYNAMIC     	0x40
 1.35992 -+
 1.35993 -+/* Text section is write protected (if D_PAGED is not set, this is
 1.35994 -+   like an a.out NMAGIC file) (the linker sets this by default, but
 1.35995 -+   clears it for -r or -N).  */
 1.35996 -+#define WP_TEXT     	0x80
 1.35997 -+
 1.35998 -+/* BFD is dynamically paged (this is like an a.out ZMAGIC file) (the
 1.35999 -+   linker sets this by default, but clears it for -r or -n or -N).  */
 1.36000 -+#define D_PAGED     	0x100
 1.36001 -+
 1.36002 -+/* BFD is relaxable (this means that bfd_relax_section may be able to
 1.36003 -+   do something) (sometimes bfd_relax_section can do something even if
 1.36004 -+   this is not set).  */
 1.36005 -+#define BFD_IS_RELAXABLE 0x200
 1.36006 -+
 1.36007 -+/* This may be set before writing out a BFD to request using a
 1.36008 -+   traditional format.  For example, this is used to request that when
 1.36009 -+   writing out an a.out object the symbols not be hashed to eliminate
 1.36010 -+   duplicates.  */
 1.36011 -+#define BFD_TRADITIONAL_FORMAT 0x400
 1.36012 -+
 1.36013 -+/* This flag indicates that the BFD contents are actually cached in
 1.36014 -+   memory.  If this is set, iostream points to a bfd_in_memory struct.  */
 1.36015 -+#define BFD_IN_MEMORY 0x800
 1.36016 -+
 1.36017 -+/* The sections in this BFD specify a memory page.  */
 1.36018 -+#define HAS_LOAD_PAGE 0x1000
 1.36019 -+
 1.36020 -+/* This BFD has been created by the linker and doesn't correspond
 1.36021 -+   to any input file.  */
 1.36022 -+#define BFD_LINKER_CREATED 0x2000
 1.36023 -+
 1.36024 -+/* Symbols and relocation.  */
 1.36025 -+
 1.36026 -+/* A count of carsyms (canonical archive symbols).  */
 1.36027 -+typedef unsigned long symindex;
 1.36028 -+
 1.36029 -+/* How to perform a relocation.  */
 1.36030 -+typedef const struct reloc_howto_struct reloc_howto_type;
 1.36031 -+
 1.36032 -+#define BFD_NO_MORE_SYMBOLS ((symindex) ~0)
 1.36033 -+
 1.36034 -+/* General purpose part of a symbol X;
 1.36035 -+   target specific parts are in libcoff.h, libaout.h, etc.  */
 1.36036 -+
 1.36037 -+#define bfd_get_section(x) ((x)->section)
 1.36038 -+#define bfd_get_output_section(x) ((x)->section->output_section)
 1.36039 -+#define bfd_set_section(x,y) ((x)->section) = (y)
 1.36040 -+#define bfd_asymbol_base(x) ((x)->section->vma)
 1.36041 -+#define bfd_asymbol_value(x) (bfd_asymbol_base(x) + (x)->value)
 1.36042 -+#define bfd_asymbol_name(x) ((x)->name)
 1.36043 -+/*Perhaps future: #define bfd_asymbol_bfd(x) ((x)->section->owner)*/
 1.36044 -+#define bfd_asymbol_bfd(x) ((x)->the_bfd)
 1.36045 -+#define bfd_asymbol_flavour(x) (bfd_asymbol_bfd(x)->xvec->flavour)
 1.36046 -+
 1.36047 -+/* A canonical archive symbol.  */
 1.36048 -+/* This is a type pun with struct ranlib on purpose!  */
 1.36049 -+typedef struct carsym
 1.36050 -+{
 1.36051 -+  char *name;
 1.36052 -+  file_ptr file_offset;	/* Look here to find the file.  */
 1.36053 -+}
 1.36054 -+carsym;			/* To make these you call a carsymogen.  */
 1.36055 -+
 1.36056 -+/* Used in generating armaps (archive tables of contents).
 1.36057 -+   Perhaps just a forward definition would do?  */
 1.36058 -+struct orl 			/* Output ranlib.  */
 1.36059 -+{
 1.36060 -+  char **name;		/* Symbol name.  */
 1.36061 -+  union
 1.36062 -+  {
 1.36063 -+    file_ptr pos;
 1.36064 -+    bfd *abfd;
 1.36065 -+  } u;			/* bfd* or file position.  */
 1.36066 -+  int namidx;		/* Index into string table.  */
 1.36067 -+};
 1.36068 -+
 1.36069 -+/* Linenumber stuff.  */
 1.36070 -+typedef struct lineno_cache_entry
 1.36071 -+{
 1.36072 -+  unsigned int line_number;	/* Linenumber from start of function.  */
 1.36073 -+  union
 1.36074 -+  {
 1.36075 -+    struct bfd_symbol *sym;	/* Function name.  */
 1.36076 -+    bfd_vma offset;	    		/* Offset into section.  */
 1.36077 -+  } u;
 1.36078 -+}
 1.36079 -+alent;
 1.36080 -+
 1.36081 -+/* Object and core file sections.  */
 1.36082 -+
 1.36083 -+#define	align_power(addr, align)	\
 1.36084 -+  (((addr) + ((bfd_vma) 1 << (align)) - 1) & ((bfd_vma) -1 << (align)))
 1.36085 -+
 1.36086 -+typedef struct bfd_section *sec_ptr;
 1.36087 -+
 1.36088 -+#define bfd_get_section_name(bfd, ptr) ((ptr)->name + 0)
 1.36089 -+#define bfd_get_section_vma(bfd, ptr) ((ptr)->vma + 0)
 1.36090 -+#define bfd_get_section_lma(bfd, ptr) ((ptr)->lma + 0)
 1.36091 -+#define bfd_get_section_alignment(bfd, ptr) ((ptr)->alignment_power + 0)
 1.36092 -+#define bfd_section_name(bfd, ptr) ((ptr)->name)
 1.36093 -+#define bfd_section_size(bfd, ptr) ((ptr)->size)
 1.36094 -+#define bfd_get_section_size(ptr) ((ptr)->size)
 1.36095 -+#define bfd_section_vma(bfd, ptr) ((ptr)->vma)
 1.36096 -+#define bfd_section_lma(bfd, ptr) ((ptr)->lma)
 1.36097 -+#define bfd_section_alignment(bfd, ptr) ((ptr)->alignment_power)
 1.36098 -+#define bfd_get_section_flags(bfd, ptr) ((ptr)->flags + 0)
 1.36099 -+#define bfd_get_section_userdata(bfd, ptr) ((ptr)->userdata)
 1.36100 -+
 1.36101 -+#define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0)
 1.36102 -+
 1.36103 -+#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE)
 1.36104 -+#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),TRUE)
 1.36105 -+#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),TRUE)
 1.36106 -+/* Find the address one past the end of SEC.  */
 1.36107 -+#define bfd_get_section_limit(bfd, sec) \
 1.36108 -+  (((sec)->rawsize ? (sec)->rawsize : (sec)->size) \
 1.36109 -+   / bfd_octets_per_byte (bfd))
 1.36110 -+
 1.36111 -+/* Return TRUE if section has been discarded.  */
 1.36112 -+#define elf_discarded_section(sec)				\
 1.36113 -+  (!bfd_is_abs_section (sec)					\
 1.36114 -+   && bfd_is_abs_section ((sec)->output_section)		\
 1.36115 -+   && (sec)->sec_info_type != ELF_INFO_TYPE_MERGE		\
 1.36116 -+   && (sec)->sec_info_type != ELF_INFO_TYPE_JUST_SYMS)
 1.36117 -+
 1.36118 -+/* Forward define.  */
 1.36119 -+struct stat;
 1.36120 -+
 1.36121 -+typedef enum bfd_print_symbol
 1.36122 -+{
 1.36123 -+  bfd_print_symbol_name,
 1.36124 -+  bfd_print_symbol_more,
 1.36125 -+  bfd_print_symbol_all
 1.36126 -+} bfd_print_symbol_type;
 1.36127 -+
 1.36128 -+/* Information about a symbol that nm needs.  */
 1.36129 -+
 1.36130 -+typedef struct _symbol_info
 1.36131 -+{
 1.36132 -+  symvalue value;
 1.36133 -+  char type;
 1.36134 -+  const char *name;            /* Symbol name.  */
 1.36135 -+  unsigned char stab_type;     /* Stab type.  */
 1.36136 -+  char stab_other;             /* Stab other.  */
 1.36137 -+  short stab_desc;             /* Stab desc.  */
 1.36138 -+  const char *stab_name;       /* String for stab type.  */
 1.36139 -+} symbol_info;
 1.36140 -+
 1.36141 -+/* Get the name of a stabs type code.  */
 1.36142 -+
 1.36143 -+extern const char *bfd_get_stab_name (int);
 1.36144 -+
 1.36145 -+/* Hash table routines.  There is no way to free up a hash table.  */
 1.36146 -+
 1.36147 -+/* An element in the hash table.  Most uses will actually use a larger
 1.36148 -+   structure, and an instance of this will be the first field.  */
 1.36149 -+
 1.36150 -+struct bfd_hash_entry
 1.36151 -+{
 1.36152 -+  /* Next entry for this hash code.  */
 1.36153 -+  struct bfd_hash_entry *next;
 1.36154 -+  /* String being hashed.  */
 1.36155 -+  const char *string;
 1.36156 -+  /* Hash code.  This is the full hash code, not the index into the
 1.36157 -+     table.  */
 1.36158 -+  unsigned long hash;
 1.36159 -+};
 1.36160 -+
 1.36161 -+/* A hash table.  */
 1.36162 -+
 1.36163 -+struct bfd_hash_table
 1.36164 -+{
 1.36165 -+  /* The hash array.  */
 1.36166 -+  struct bfd_hash_entry **table;
 1.36167 -+  /* A function used to create new elements in the hash table.  The
 1.36168 -+     first entry is itself a pointer to an element.  When this
 1.36169 -+     function is first invoked, this pointer will be NULL.  However,
 1.36170 -+     having the pointer permits a hierarchy of method functions to be
 1.36171 -+     built each of which calls the function in the superclass.  Thus
 1.36172 -+     each function should be written to allocate a new block of memory
 1.36173 -+     only if the argument is NULL.  */
 1.36174 -+  struct bfd_hash_entry *(*newfunc)
 1.36175 -+    (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
 1.36176 -+   /* An objalloc for this hash table.  This is a struct objalloc *,
 1.36177 -+     but we use void * to avoid requiring the inclusion of objalloc.h.  */
 1.36178 -+  void *memory;
 1.36179 -+  /* The number of slots in the hash table.  */
 1.36180 -+  unsigned int size;
 1.36181 -+  /* The number of entries in the hash table.  */
 1.36182 -+  unsigned int count;
 1.36183 -+  /* The size of elements.  */
 1.36184 -+  unsigned int entsize;
 1.36185 -+  /* If non-zero, don't grow the hash table.  */
 1.36186 -+  unsigned int frozen:1;
 1.36187 -+};
 1.36188 -+
 1.36189 -+/* Initialize a hash table.  */
 1.36190 -+extern bfd_boolean bfd_hash_table_init
 1.36191 -+  (struct bfd_hash_table *,
 1.36192 -+   struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
 1.36193 -+			       struct bfd_hash_table *,
 1.36194 -+			       const char *),
 1.36195 -+   unsigned int);
 1.36196 -+
 1.36197 -+/* Initialize a hash table specifying a size.  */
 1.36198 -+extern bfd_boolean bfd_hash_table_init_n
 1.36199 -+  (struct bfd_hash_table *,
 1.36200 -+   struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
 1.36201 -+			       struct bfd_hash_table *,
 1.36202 -+			       const char *),
 1.36203 -+   unsigned int, unsigned int);
 1.36204 -+
 1.36205 -+/* Free up a hash table.  */
 1.36206 -+extern void bfd_hash_table_free
 1.36207 -+  (struct bfd_hash_table *);
 1.36208 -+
 1.36209 -+/* Look up a string in a hash table.  If CREATE is TRUE, a new entry
 1.36210 -+   will be created for this string if one does not already exist.  The
 1.36211 -+   COPY argument must be TRUE if this routine should copy the string
 1.36212 -+   into newly allocated memory when adding an entry.  */
 1.36213 -+extern struct bfd_hash_entry *bfd_hash_lookup
 1.36214 -+  (struct bfd_hash_table *, const char *, bfd_boolean create,
 1.36215 -+   bfd_boolean copy);
 1.36216 -+
 1.36217 -+/* Replace an entry in a hash table.  */
 1.36218 -+extern void bfd_hash_replace
 1.36219 -+  (struct bfd_hash_table *, struct bfd_hash_entry *old,
 1.36220 -+   struct bfd_hash_entry *nw);
 1.36221 -+
 1.36222 -+/* Base method for creating a hash table entry.  */
 1.36223 -+extern struct bfd_hash_entry *bfd_hash_newfunc
 1.36224 -+  (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
 1.36225 -+
 1.36226 -+/* Grab some space for a hash table entry.  */
 1.36227 -+extern void *bfd_hash_allocate
 1.36228 -+  (struct bfd_hash_table *, unsigned int);
 1.36229 -+
 1.36230 -+/* Traverse a hash table in a random order, calling a function on each
 1.36231 -+   element.  If the function returns FALSE, the traversal stops.  The
 1.36232 -+   INFO argument is passed to the function.  */
 1.36233 -+extern void bfd_hash_traverse
 1.36234 -+  (struct bfd_hash_table *,
 1.36235 -+   bfd_boolean (*) (struct bfd_hash_entry *, void *),
 1.36236 -+   void *info);
 1.36237 -+
 1.36238 -+/* Allows the default size of a hash table to be configured. New hash
 1.36239 -+   tables allocated using bfd_hash_table_init will be created with
 1.36240 -+   this size.  */
 1.36241 -+extern void bfd_hash_set_default_size (bfd_size_type);
 1.36242 -+
 1.36243 -+/* This structure is used to keep track of stabs in sections
 1.36244 -+   information while linking.  */
 1.36245 -+
 1.36246 -+struct stab_info
 1.36247 -+{
 1.36248 -+  /* A hash table used to hold stabs strings.  */
 1.36249 -+  struct bfd_strtab_hash *strings;
 1.36250 -+  /* The header file hash table.  */
 1.36251 -+  struct bfd_hash_table includes;
 1.36252 -+  /* The first .stabstr section.  */
 1.36253 -+  struct bfd_section *stabstr;
 1.36254 -+};
 1.36255 -+
 1.36256 -+#define COFF_SWAP_TABLE (void *) &bfd_coff_std_swap_table
 1.36257 -+
 1.36258 -+/* User program access to BFD facilities.  */
 1.36259 -+
 1.36260 -+/* Direct I/O routines, for programs which know more about the object
 1.36261 -+   file than BFD does.  Use higher level routines if possible.  */
 1.36262 -+
 1.36263 -+extern bfd_size_type bfd_bread (void *, bfd_size_type, bfd *);
 1.36264 -+extern bfd_size_type bfd_bwrite (const void *, bfd_size_type, bfd *);
 1.36265 -+extern int bfd_seek (bfd *, file_ptr, int);
 1.36266 -+extern file_ptr bfd_tell (bfd *);
 1.36267 -+extern int bfd_flush (bfd *);
 1.36268 -+extern int bfd_stat (bfd *, struct stat *);
 1.36269 -+
 1.36270 -+/* Deprecated old routines.  */
 1.36271 -+#if __GNUC__
 1.36272 -+#define bfd_read(BUF, ELTSIZE, NITEMS, ABFD)				\
 1.36273 -+  (warn_deprecated ("bfd_read", __FILE__, __LINE__, __FUNCTION__),	\
 1.36274 -+   bfd_bread ((BUF), (ELTSIZE) * (NITEMS), (ABFD)))
 1.36275 -+#define bfd_write(BUF, ELTSIZE, NITEMS, ABFD)				\
 1.36276 -+  (warn_deprecated ("bfd_write", __FILE__, __LINE__, __FUNCTION__),	\
 1.36277 -+   bfd_bwrite ((BUF), (ELTSIZE) * (NITEMS), (ABFD)))
 1.36278 -+#else
 1.36279 -+#define bfd_read(BUF, ELTSIZE, NITEMS, ABFD)				\
 1.36280 -+  (warn_deprecated ("bfd_read", (const char *) 0, 0, (const char *) 0), \
 1.36281 -+   bfd_bread ((BUF), (ELTSIZE) * (NITEMS), (ABFD)))
 1.36282 -+#define bfd_write(BUF, ELTSIZE, NITEMS, ABFD)				\
 1.36283 -+  (warn_deprecated ("bfd_write", (const char *) 0, 0, (const char *) 0),\
 1.36284 -+   bfd_bwrite ((BUF), (ELTSIZE) * (NITEMS), (ABFD)))
 1.36285 -+#endif
 1.36286 -+extern void warn_deprecated (const char *, const char *, int, const char *);
 1.36287 -+
 1.36288 -+/* Cast from const char * to char * so that caller can assign to
 1.36289 -+   a char * without a warning.  */
 1.36290 -+#define bfd_get_filename(abfd) ((char *) (abfd)->filename)
 1.36291 -+#define bfd_get_cacheable(abfd) ((abfd)->cacheable)
 1.36292 -+#define bfd_get_format(abfd) ((abfd)->format)
 1.36293 -+#define bfd_get_target(abfd) ((abfd)->xvec->name)
 1.36294 -+#define bfd_get_flavour(abfd) ((abfd)->xvec->flavour)
 1.36295 -+#define bfd_family_coff(abfd) \
 1.36296 -+  (bfd_get_flavour (abfd) == bfd_target_coff_flavour || \
 1.36297 -+   bfd_get_flavour (abfd) == bfd_target_xcoff_flavour)
 1.36298 -+#define bfd_big_endian(abfd) ((abfd)->xvec->byteorder == BFD_ENDIAN_BIG)
 1.36299 -+#define bfd_little_endian(abfd) ((abfd)->xvec->byteorder == BFD_ENDIAN_LITTLE)
 1.36300 -+#define bfd_header_big_endian(abfd) \
 1.36301 -+  ((abfd)->xvec->header_byteorder == BFD_ENDIAN_BIG)
 1.36302 -+#define bfd_header_little_endian(abfd) \
 1.36303 -+  ((abfd)->xvec->header_byteorder == BFD_ENDIAN_LITTLE)
 1.36304 -+#define bfd_get_file_flags(abfd) ((abfd)->flags)
 1.36305 -+#define bfd_applicable_file_flags(abfd) ((abfd)->xvec->object_flags)
 1.36306 -+#define bfd_applicable_section_flags(abfd) ((abfd)->xvec->section_flags)
 1.36307 -+#define bfd_my_archive(abfd) ((abfd)->my_archive)
 1.36308 -+#define bfd_has_map(abfd) ((abfd)->has_armap)
 1.36309 -+
 1.36310 -+#define bfd_valid_reloc_types(abfd) ((abfd)->xvec->valid_reloc_types)
 1.36311 -+#define bfd_usrdata(abfd) ((abfd)->usrdata)
 1.36312 -+
 1.36313 -+#define bfd_get_start_address(abfd) ((abfd)->start_address)
 1.36314 -+#define bfd_get_symcount(abfd) ((abfd)->symcount)
 1.36315 -+#define bfd_get_outsymbols(abfd) ((abfd)->outsymbols)
 1.36316 -+#define bfd_count_sections(abfd) ((abfd)->section_count)
 1.36317 -+
 1.36318 -+#define bfd_get_dynamic_symcount(abfd) ((abfd)->dynsymcount)
 1.36319 -+
 1.36320 -+#define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char)
 1.36321 -+
 1.36322 -+#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE)
 1.36323 -+
 1.36324 -+extern bfd_boolean bfd_cache_close
 1.36325 -+  (bfd *abfd);
 1.36326 -+/* NB: This declaration should match the autogenerated one in libbfd.h.  */
 1.36327 -+
 1.36328 -+extern bfd_boolean bfd_cache_close_all (void);
 1.36329 -+
 1.36330 -+extern bfd_boolean bfd_record_phdr
 1.36331 -+  (bfd *, unsigned long, bfd_boolean, flagword, bfd_boolean, bfd_vma,
 1.36332 -+   bfd_boolean, bfd_boolean, unsigned int, struct bfd_section **);
 1.36333 -+
 1.36334 -+/* Byte swapping routines.  */
 1.36335 -+
 1.36336 -+bfd_uint64_t bfd_getb64 (const void *);
 1.36337 -+bfd_uint64_t bfd_getl64 (const void *);
 1.36338 -+bfd_int64_t bfd_getb_signed_64 (const void *);
 1.36339 -+bfd_int64_t bfd_getl_signed_64 (const void *);
 1.36340 -+bfd_vma bfd_getb32 (const void *);
 1.36341 -+bfd_vma bfd_getl32 (const void *);
 1.36342 -+bfd_signed_vma bfd_getb_signed_32 (const void *);
 1.36343 -+bfd_signed_vma bfd_getl_signed_32 (const void *);
 1.36344 -+bfd_vma bfd_getb16 (const void *);
 1.36345 -+bfd_vma bfd_getl16 (const void *);
 1.36346 -+bfd_signed_vma bfd_getb_signed_16 (const void *);
 1.36347 -+bfd_signed_vma bfd_getl_signed_16 (const void *);
 1.36348 -+void bfd_putb64 (bfd_uint64_t, void *);
 1.36349 -+void bfd_putl64 (bfd_uint64_t, void *);
 1.36350 -+void bfd_putb32 (bfd_vma, void *);
 1.36351 -+void bfd_putl32 (bfd_vma, void *);
 1.36352 -+void bfd_putb16 (bfd_vma, void *);
 1.36353 -+void bfd_putl16 (bfd_vma, void *);
 1.36354 -+
 1.36355 -+/* Byte swapping routines which take size and endiannes as arguments.  */
 1.36356 -+
 1.36357 -+bfd_uint64_t bfd_get_bits (const void *, int, bfd_boolean);
 1.36358 -+void bfd_put_bits (bfd_uint64_t, void *, int, bfd_boolean);
 1.36359 -+
 1.36360 -+extern bfd_boolean bfd_section_already_linked_table_init (void);
 1.36361 -+extern void bfd_section_already_linked_table_free (void);
 1.36362 -+
 1.36363 -+/* Externally visible ECOFF routines.  */
 1.36364 -+
 1.36365 -+#if defined(__STDC__) || defined(ALMOST_STDC)
 1.36366 -+struct ecoff_debug_info;
 1.36367 -+struct ecoff_debug_swap;
 1.36368 -+struct ecoff_extr;
 1.36369 -+struct bfd_symbol;
 1.36370 -+struct bfd_link_info;
 1.36371 -+struct bfd_link_hash_entry;
 1.36372 -+struct bfd_elf_version_tree;
 1.36373 -+#endif
 1.36374 -+extern bfd_vma bfd_ecoff_get_gp_value
 1.36375 -+  (bfd * abfd);
 1.36376 -+extern bfd_boolean bfd_ecoff_set_gp_value
 1.36377 -+  (bfd *abfd, bfd_vma gp_value);
 1.36378 -+extern bfd_boolean bfd_ecoff_set_regmasks
 1.36379 -+  (bfd *abfd, unsigned long gprmask, unsigned long fprmask,
 1.36380 -+   unsigned long *cprmask);
 1.36381 -+extern void *bfd_ecoff_debug_init
 1.36382 -+  (bfd *output_bfd, struct ecoff_debug_info *output_debug,
 1.36383 -+   const struct ecoff_debug_swap *output_swap, struct bfd_link_info *);
 1.36384 -+extern void bfd_ecoff_debug_free
 1.36385 -+  (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,
 1.36386 -+   const struct ecoff_debug_swap *output_swap, struct bfd_link_info *);
 1.36387 -+extern bfd_boolean bfd_ecoff_debug_accumulate
 1.36388 -+  (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,
 1.36389 -+   const struct ecoff_debug_swap *output_swap, bfd *input_bfd,
 1.36390 -+   struct ecoff_debug_info *input_debug,
 1.36391 -+   const struct ecoff_debug_swap *input_swap, struct bfd_link_info *);
 1.36392 -+extern bfd_boolean bfd_ecoff_debug_accumulate_other
 1.36393 -+  (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug,
 1.36394 -+   const struct ecoff_debug_swap *output_swap, bfd *input_bfd,
 1.36395 -+   struct bfd_link_info *);
 1.36396 -+extern bfd_boolean bfd_ecoff_debug_externals
 1.36397 -+  (bfd *abfd, struct ecoff_debug_info *debug,
 1.36398 -+   const struct ecoff_debug_swap *swap, bfd_boolean relocatable,
 1.36399 -+   bfd_boolean (*get_extr) (struct bfd_symbol *, struct ecoff_extr *),
 1.36400 -+   void (*set_index) (struct bfd_symbol *, bfd_size_type));
 1.36401 -+extern bfd_boolean bfd_ecoff_debug_one_external
 1.36402 -+  (bfd *abfd, struct ecoff_debug_info *debug,
 1.36403 -+   const struct ecoff_debug_swap *swap, const char *name,
 1.36404 -+   struct ecoff_extr *esym);
 1.36405 -+extern bfd_size_type bfd_ecoff_debug_size
 1.36406 -+  (bfd *abfd, struct ecoff_debug_info *debug,
 1.36407 -+   const struct ecoff_debug_swap *swap);
 1.36408 -+extern bfd_boolean bfd_ecoff_write_debug
 1.36409 -+  (bfd *abfd, struct ecoff_debug_info *debug,
 1.36410 -+   const struct ecoff_debug_swap *swap, file_ptr where);
 1.36411 -+extern bfd_boolean bfd_ecoff_write_accumulated_debug
 1.36412 -+  (void *handle, bfd *abfd, struct ecoff_debug_info *debug,
 1.36413 -+   const struct ecoff_debug_swap *swap,
 1.36414 -+   struct bfd_link_info *info, file_ptr where);
 1.36415 -+
 1.36416 -+/* Externally visible ELF routines.  */
 1.36417 -+
 1.36418 -+struct bfd_link_needed_list
 1.36419 -+{
 1.36420 -+  struct bfd_link_needed_list *next;
 1.36421 -+  bfd *by;
 1.36422 -+  const char *name;
 1.36423 -+};
 1.36424 -+
 1.36425 -+enum dynamic_lib_link_class {
 1.36426 -+  DYN_NORMAL = 0,
 1.36427 -+  DYN_AS_NEEDED = 1,
 1.36428 -+  DYN_DT_NEEDED = 2,
 1.36429 -+  DYN_NO_ADD_NEEDED = 4,
 1.36430 -+  DYN_NO_NEEDED = 8
 1.36431 -+};
 1.36432 -+
 1.36433 -+enum notice_asneeded_action {
 1.36434 -+  notice_as_needed,
 1.36435 -+  notice_not_needed,
 1.36436 -+  notice_needed
 1.36437 -+};
 1.36438 -+
 1.36439 -+extern bfd_boolean bfd_elf_record_link_assignment
 1.36440 -+  (bfd *, struct bfd_link_info *, const char *, bfd_boolean,
 1.36441 -+   bfd_boolean);
 1.36442 -+extern struct bfd_link_needed_list *bfd_elf_get_needed_list
 1.36443 -+  (bfd *, struct bfd_link_info *);
 1.36444 -+extern bfd_boolean bfd_elf_get_bfd_needed_list
 1.36445 -+  (bfd *, struct bfd_link_needed_list **);
 1.36446 -+extern bfd_boolean bfd_elf_size_dynamic_sections
 1.36447 -+  (bfd *, const char *, const char *, const char *, const char * const *,
 1.36448 -+   struct bfd_link_info *, struct bfd_section **,
 1.36449 -+   struct bfd_elf_version_tree *);
 1.36450 -+extern bfd_boolean bfd_elf_size_dynsym_hash_dynstr
 1.36451 -+  (bfd *, struct bfd_link_info *);
 1.36452 -+extern void bfd_elf_set_dt_needed_name
 1.36453 -+  (bfd *, const char *);
 1.36454 -+extern const char *bfd_elf_get_dt_soname
 1.36455 -+  (bfd *);
 1.36456 -+extern void bfd_elf_set_dyn_lib_class
 1.36457 -+  (bfd *, enum dynamic_lib_link_class);
 1.36458 -+extern int bfd_elf_get_dyn_lib_class
 1.36459 -+  (bfd *);
 1.36460 -+extern struct bfd_link_needed_list *bfd_elf_get_runpath_list
 1.36461 -+  (bfd *, struct bfd_link_info *);
 1.36462 -+extern bfd_boolean bfd_elf_discard_info
 1.36463 -+  (bfd *, struct bfd_link_info *);
 1.36464 -+extern unsigned int _bfd_elf_default_action_discarded
 1.36465 -+  (struct bfd_section *);
 1.36466 -+
 1.36467 -+/* Return an upper bound on the number of bytes required to store a
 1.36468 -+   copy of ABFD's program header table entries.  Return -1 if an error
 1.36469 -+   occurs; bfd_get_error will return an appropriate code.  */
 1.36470 -+extern long bfd_get_elf_phdr_upper_bound
 1.36471 -+  (bfd *abfd);
 1.36472 -+
 1.36473 -+/* Copy ABFD's program header table entries to *PHDRS.  The entries
 1.36474 -+   will be stored as an array of Elf_Internal_Phdr structures, as
 1.36475 -+   defined in include/elf/internal.h.  To find out how large the
 1.36476 -+   buffer needs to be, call bfd_get_elf_phdr_upper_bound.
 1.36477 -+
 1.36478 -+   Return the number of program header table entries read, or -1 if an
 1.36479 -+   error occurs; bfd_get_error will return an appropriate code.  */
 1.36480 -+extern int bfd_get_elf_phdrs
 1.36481 -+  (bfd *abfd, void *phdrs);
 1.36482 -+
 1.36483 -+/* Create a new BFD as if by bfd_openr.  Rather than opening a file,
 1.36484 -+   reconstruct an ELF file by reading the segments out of remote memory
 1.36485 -+   based on the ELF file header at EHDR_VMA and the ELF program headers it
 1.36486 -+   points to.  If not null, *LOADBASEP is filled in with the difference
 1.36487 -+   between the VMAs from which the segments were read, and the VMAs the
 1.36488 -+   file headers (and hence BFD's idea of each section's VMA) put them at.
 1.36489 -+
 1.36490 -+   The function TARGET_READ_MEMORY is called to copy LEN bytes from the
 1.36491 -+   remote memory at target address VMA into the local buffer at MYADDR; it
 1.36492 -+   should return zero on success or an `errno' code on failure.  TEMPL must
 1.36493 -+   be a BFD for an ELF target with the word size and byte order found in
 1.36494 -+   the remote memory.  */
 1.36495 -+extern bfd *bfd_elf_bfd_from_remote_memory
 1.36496 -+  (bfd *templ, bfd_vma ehdr_vma, bfd_vma *loadbasep,
 1.36497 -+   int (*target_read_memory) (bfd_vma vma, bfd_byte *myaddr, int len));
 1.36498 -+
 1.36499 -+/* Return the arch_size field of an elf bfd, or -1 if not elf.  */
 1.36500 -+extern int bfd_get_arch_size
 1.36501 -+  (bfd *);
 1.36502 -+
 1.36503 -+/* Return TRUE if address "naturally" sign extends, or -1 if not elf.  */
 1.36504 -+extern int bfd_get_sign_extend_vma
 1.36505 -+  (bfd *);
 1.36506 -+
 1.36507 -+extern struct bfd_section *_bfd_elf_tls_setup
 1.36508 -+  (bfd *, struct bfd_link_info *);
 1.36509 -+
 1.36510 -+extern void _bfd_fix_excluded_sec_syms
 1.36511 -+  (bfd *, struct bfd_link_info *);
 1.36512 -+
 1.36513 -+extern unsigned bfd_m68k_mach_to_features (int);
 1.36514 -+
 1.36515 -+extern int bfd_m68k_features_to_mach (unsigned);
 1.36516 -+
 1.36517 -+extern bfd_boolean bfd_m68k_elf32_create_embedded_relocs
 1.36518 -+  (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *,
 1.36519 -+   char **);
 1.36520 -+
 1.36521 -+extern bfd_boolean bfd_bfin_elf32_create_embedded_relocs
 1.36522 -+  (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *,
 1.36523 -+   char **);
 1.36524 -+
 1.36525 -+/* SunOS shared library support routines for the linker.  */
 1.36526 -+
 1.36527 -+extern struct bfd_link_needed_list *bfd_sunos_get_needed_list
 1.36528 -+  (bfd *, struct bfd_link_info *);
 1.36529 -+extern bfd_boolean bfd_sunos_record_link_assignment
 1.36530 -+  (bfd *, struct bfd_link_info *, const char *);
 1.36531 -+extern bfd_boolean bfd_sunos_size_dynamic_sections
 1.36532 -+  (bfd *, struct bfd_link_info *, struct bfd_section **,
 1.36533 -+   struct bfd_section **, struct bfd_section **);
 1.36534 -+
 1.36535 -+/* Linux shared library support routines for the linker.  */
 1.36536 -+
 1.36537 -+extern bfd_boolean bfd_i386linux_size_dynamic_sections
 1.36538 -+  (bfd *, struct bfd_link_info *);
 1.36539 -+extern bfd_boolean bfd_m68klinux_size_dynamic_sections
 1.36540 -+  (bfd *, struct bfd_link_info *);
 1.36541 -+extern bfd_boolean bfd_sparclinux_size_dynamic_sections
 1.36542 -+  (bfd *, struct bfd_link_info *);
 1.36543 -+
 1.36544 -+/* mmap hacks */
 1.36545 -+
 1.36546 -+struct _bfd_window_internal;
 1.36547 -+typedef struct _bfd_window_internal bfd_window_internal;
 1.36548 -+
 1.36549 -+typedef struct _bfd_window
 1.36550 -+{
 1.36551 -+  /* What the user asked for.  */
 1.36552 -+  void *data;
 1.36553 -+  bfd_size_type size;
 1.36554 -+  /* The actual window used by BFD.  Small user-requested read-only
 1.36555 -+     regions sharing a page may share a single window into the object
 1.36556 -+     file.  Read-write versions shouldn't until I've fixed things to
 1.36557 -+     keep track of which portions have been claimed by the
 1.36558 -+     application; don't want to give the same region back when the
 1.36559 -+     application wants two writable copies!  */
 1.36560 -+  struct _bfd_window_internal *i;
 1.36561 -+}
 1.36562 -+bfd_window;
 1.36563 -+
 1.36564 -+extern void bfd_init_window
 1.36565 -+  (bfd_window *);
 1.36566 -+extern void bfd_free_window
 1.36567 -+  (bfd_window *);
 1.36568 -+extern bfd_boolean bfd_get_file_window
 1.36569 -+  (bfd *, file_ptr, bfd_size_type, bfd_window *, bfd_boolean);
 1.36570 -+
 1.36571 -+/* XCOFF support routines for the linker.  */
 1.36572 -+
 1.36573 -+extern bfd_boolean bfd_xcoff_link_record_set
 1.36574 -+  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_size_type);
 1.36575 -+extern bfd_boolean bfd_xcoff_import_symbol
 1.36576 -+  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_vma,
 1.36577 -+   const char *, const char *, const char *, unsigned int);
 1.36578 -+extern bfd_boolean bfd_xcoff_export_symbol
 1.36579 -+  (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *);
 1.36580 -+extern bfd_boolean bfd_xcoff_link_count_reloc
 1.36581 -+  (bfd *, struct bfd_link_info *, const char *);
 1.36582 -+extern bfd_boolean bfd_xcoff_record_link_assignment
 1.36583 -+  (bfd *, struct bfd_link_info *, const char *);
 1.36584 -+extern bfd_boolean bfd_xcoff_size_dynamic_sections
 1.36585 -+  (bfd *, struct bfd_link_info *, const char *, const char *,
 1.36586 -+   unsigned long, unsigned long, unsigned long, bfd_boolean,
 1.36587 -+   int, bfd_boolean, bfd_boolean, struct bfd_section **, bfd_boolean);
 1.36588 -+extern bfd_boolean bfd_xcoff_link_generate_rtinit
 1.36589 -+  (bfd *, const char *, const char *, bfd_boolean);
 1.36590 -+
 1.36591 -+/* XCOFF support routines for ar.  */
 1.36592 -+extern bfd_boolean bfd_xcoff_ar_archive_set_magic
 1.36593 -+  (bfd *, char *);
 1.36594 -+
 1.36595 -+/* Externally visible COFF routines.  */
 1.36596 -+
 1.36597 -+#if defined(__STDC__) || defined(ALMOST_STDC)
 1.36598 -+struct internal_syment;
 1.36599 -+union internal_auxent;
 1.36600 -+#endif
 1.36601 -+
 1.36602 -+extern bfd_boolean bfd_coff_get_syment
 1.36603 -+  (bfd *, struct bfd_symbol *, struct internal_syment *);
 1.36604 -+
 1.36605 -+extern bfd_boolean bfd_coff_get_auxent
 1.36606 -+  (bfd *, struct bfd_symbol *, int, union internal_auxent *);
 1.36607 -+
 1.36608 -+extern bfd_boolean bfd_coff_set_symbol_class
 1.36609 -+  (bfd *, struct bfd_symbol *, unsigned int);
 1.36610 -+
 1.36611 -+extern bfd_boolean bfd_m68k_coff_create_embedded_relocs
 1.36612 -+  (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **);
 1.36613 -+
 1.36614 -+/* ARM VFP11 erratum workaround support.  */
 1.36615 -+typedef enum
 1.36616 -+{
 1.36617 -+  BFD_ARM_VFP11_FIX_DEFAULT,
 1.36618 -+  BFD_ARM_VFP11_FIX_NONE,
 1.36619 -+  BFD_ARM_VFP11_FIX_SCALAR,
 1.36620 -+  BFD_ARM_VFP11_FIX_VECTOR
 1.36621 -+} bfd_arm_vfp11_fix;
 1.36622 -+
 1.36623 -+extern void bfd_elf32_arm_init_maps
 1.36624 -+  (bfd *);
 1.36625 -+
 1.36626 -+extern void bfd_elf32_arm_set_vfp11_fix
 1.36627 -+  (bfd *, struct bfd_link_info *);
 1.36628 -+
 1.36629 -+extern bfd_boolean bfd_elf32_arm_vfp11_erratum_scan
 1.36630 -+  (bfd *, struct bfd_link_info *);
 1.36631 -+
 1.36632 -+extern void bfd_elf32_arm_vfp11_fix_veneer_locations
 1.36633 -+  (bfd *, struct bfd_link_info *);
 1.36634 -+
 1.36635 -+/* ARM Interworking support.  Called from linker.  */
 1.36636 -+extern bfd_boolean bfd_arm_allocate_interworking_sections
 1.36637 -+  (struct bfd_link_info *);
 1.36638 -+
 1.36639 -+extern bfd_boolean bfd_arm_process_before_allocation
 1.36640 -+  (bfd *, struct bfd_link_info *, int);
 1.36641 -+
 1.36642 -+extern bfd_boolean bfd_arm_get_bfd_for_interworking
 1.36643 -+  (bfd *, struct bfd_link_info *);
 1.36644 -+
 1.36645 -+/* PE ARM Interworking support.  Called from linker.  */
 1.36646 -+extern bfd_boolean bfd_arm_pe_allocate_interworking_sections
 1.36647 -+  (struct bfd_link_info *);
 1.36648 -+
 1.36649 -+extern bfd_boolean bfd_arm_pe_process_before_allocation
 1.36650 -+  (bfd *, struct bfd_link_info *, int);
 1.36651 -+
 1.36652 -+extern bfd_boolean bfd_arm_pe_get_bfd_for_interworking
 1.36653 -+  (bfd *, struct bfd_link_info *);
 1.36654 -+
 1.36655 -+/* ELF ARM Interworking support.  Called from linker.  */
 1.36656 -+extern bfd_boolean bfd_elf32_arm_allocate_interworking_sections
 1.36657 -+  (struct bfd_link_info *);
 1.36658 -+
 1.36659 -+extern bfd_boolean bfd_elf32_arm_process_before_allocation
 1.36660 -+  (bfd *, struct bfd_link_info *);
 1.36661 -+
 1.36662 -+void bfd_elf32_arm_set_target_relocs
 1.36663 -+  (bfd *, struct bfd_link_info *, int, char *, int, int, bfd_arm_vfp11_fix,
 1.36664 -+   int, int);
 1.36665 -+
 1.36666 -+extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking
 1.36667 -+  (bfd *, struct bfd_link_info *);
 1.36668 -+
 1.36669 -+extern bfd_boolean bfd_elf32_arm_add_glue_sections_to_bfd
 1.36670 -+  (bfd *, struct bfd_link_info *);
 1.36671 -+
 1.36672 -+/* ELF ARM mapping symbol support */
 1.36673 -+#define BFD_ARM_SPECIAL_SYM_TYPE_MAP	(1 << 0)
 1.36674 -+#define BFD_ARM_SPECIAL_SYM_TYPE_TAG	(1 << 1)
 1.36675 -+#define BFD_ARM_SPECIAL_SYM_TYPE_OTHER  (1 << 2)
 1.36676 -+#define BFD_ARM_SPECIAL_SYM_TYPE_ANY	(~0)
 1.36677 -+extern bfd_boolean bfd_is_arm_special_symbol_name
 1.36678 -+  (const char * name, int type);
 1.36679 -+
 1.36680 -+extern void bfd_elf32_arm_set_byteswap_code (struct bfd_link_info *, int);
 1.36681 -+
 1.36682 -+/* ARM Note section processing.  */
 1.36683 -+extern bfd_boolean bfd_arm_merge_machines
 1.36684 -+  (bfd *, bfd *);
 1.36685 -+
 1.36686 -+extern bfd_boolean bfd_arm_update_notes
 1.36687 -+  (bfd *, const char *);
 1.36688 -+
 1.36689 -+extern unsigned int bfd_arm_get_mach_from_notes
 1.36690 -+  (bfd *, const char *);
 1.36691 -+
 1.36692 -+/* TI COFF load page support.  */
 1.36693 -+extern void bfd_ticoff_set_section_load_page
 1.36694 -+  (struct bfd_section *, int);
 1.36695 -+
 1.36696 -+extern int bfd_ticoff_get_section_load_page
 1.36697 -+  (struct bfd_section *);
 1.36698 -+
 1.36699 -+/* H8/300 functions.  */
 1.36700 -+extern bfd_vma bfd_h8300_pad_address
 1.36701 -+  (bfd *, bfd_vma);
 1.36702 -+
 1.36703 -+/* IA64 Itanium code generation.  Called from linker.  */
 1.36704 -+extern void bfd_elf32_ia64_after_parse
 1.36705 -+  (int);
 1.36706 -+
 1.36707 -+extern void bfd_elf64_ia64_after_parse
 1.36708 -+  (int);
 1.36709 -+
 1.36710 -+/* This structure is used for a comdat section, as in PE.  A comdat
 1.36711 -+   section is associated with a particular symbol.  When the linker
 1.36712 -+   sees a comdat section, it keeps only one of the sections with a
 1.36713 -+   given name and associated with a given symbol.  */
 1.36714 -+
 1.36715 -+struct coff_comdat_info
 1.36716 -+{
 1.36717 -+  /* The name of the symbol associated with a comdat section.  */
 1.36718 -+  const char *name;
 1.36719 -+
 1.36720 -+  /* The local symbol table index of the symbol associated with a
 1.36721 -+     comdat section.  This is only meaningful to the object file format
 1.36722 -+     specific code; it is not an index into the list returned by
 1.36723 -+     bfd_canonicalize_symtab.  */
 1.36724 -+  long symbol;
 1.36725 -+};
 1.36726 -+
 1.36727 -+extern struct coff_comdat_info *bfd_coff_get_comdat_section
 1.36728 -+  (bfd *, struct bfd_section *);
 1.36729 -+
 1.36730 -+/* Extracted from init.c.  */
 1.36731 -+void bfd_init (void);
 1.36732 -+
 1.36733 -+/* Extracted from opncls.c.  */
 1.36734 -+bfd *bfd_fopen (const char *filename, const char *target,
 1.36735 -+    const char *mode, int fd);
 1.36736 -+
 1.36737 -+bfd *bfd_openr (const char *filename, const char *target);
 1.36738 -+
 1.36739 -+bfd *bfd_fdopenr (const char *filename, const char *target, int fd);
 1.36740 -+
 1.36741 -+bfd *bfd_openstreamr (const char *, const char *, void *);
 1.36742 -+
 1.36743 -+bfd *bfd_openr_iovec (const char *filename, const char *target,
 1.36744 -+    void *(*open) (struct bfd *nbfd,
 1.36745 -+    void *open_closure),
 1.36746 -+    void *open_closure,
 1.36747 -+    file_ptr (*pread) (struct bfd *nbfd,
 1.36748 -+    void *stream,
 1.36749 -+    void *buf,
 1.36750 -+    file_ptr nbytes,
 1.36751 -+    file_ptr offset),
 1.36752 -+    int (*close) (struct bfd *nbfd,
 1.36753 -+    void *stream),
 1.36754 -+    int (*stat) (struct bfd *abfd,
 1.36755 -+    void *stream,
 1.36756 -+    struct stat *sb));
 1.36757 -+
 1.36758 -+bfd *bfd_openw (const char *filename, const char *target);
 1.36759 -+
 1.36760 -+bfd_boolean bfd_close (bfd *abfd);
 1.36761 -+
 1.36762 -+bfd_boolean bfd_close_all_done (bfd *);
 1.36763 -+
 1.36764 -+bfd *bfd_create (const char *filename, bfd *templ);
 1.36765 -+
 1.36766 -+bfd_boolean bfd_make_writable (bfd *abfd);
 1.36767 -+
 1.36768 -+bfd_boolean bfd_make_readable (bfd *abfd);
 1.36769 -+
 1.36770 -+unsigned long bfd_calc_gnu_debuglink_crc32
 1.36771 -+   (unsigned long crc, const unsigned char *buf, bfd_size_type len);
 1.36772 -+
 1.36773 -+char *bfd_follow_gnu_debuglink (bfd *abfd, const char *dir);
 1.36774 -+
 1.36775 -+struct bfd_section *bfd_create_gnu_debuglink_section
 1.36776 -+   (bfd *abfd, const char *filename);
 1.36777 -+
 1.36778 -+bfd_boolean bfd_fill_in_gnu_debuglink_section
 1.36779 -+   (bfd *abfd, struct bfd_section *sect, const char *filename);
 1.36780 -+
 1.36781 -+/* Extracted from libbfd.c.  */
 1.36782 -+
 1.36783 -+/* Byte swapping macros for user section data.  */
 1.36784 -+
 1.36785 -+#define bfd_put_8(abfd, val, ptr) \
 1.36786 -+  ((void) (*((unsigned char *) (ptr)) = (val) & 0xff))
 1.36787 -+#define bfd_put_signed_8 \
 1.36788 -+  bfd_put_8
 1.36789 -+#define bfd_get_8(abfd, ptr) \
 1.36790 -+  (*(unsigned char *) (ptr) & 0xff)
 1.36791 -+#define bfd_get_signed_8(abfd, ptr) \
 1.36792 -+  (((*(unsigned char *) (ptr) & 0xff) ^ 0x80) - 0x80)
 1.36793 -+
 1.36794 -+#define bfd_put_16(abfd, val, ptr) \
 1.36795 -+  BFD_SEND (abfd, bfd_putx16, ((val),(ptr)))
 1.36796 -+#define bfd_put_signed_16 \
 1.36797 -+  bfd_put_16
 1.36798 -+#define bfd_get_16(abfd, ptr) \
 1.36799 -+  BFD_SEND (abfd, bfd_getx16, (ptr))
 1.36800 -+#define bfd_get_signed_16(abfd, ptr) \
 1.36801 -+  BFD_SEND (abfd, bfd_getx_signed_16, (ptr))
 1.36802 -+
 1.36803 -+#define bfd_put_32(abfd, val, ptr) \
 1.36804 -+  BFD_SEND (abfd, bfd_putx32, ((val),(ptr)))
 1.36805 -+#define bfd_put_signed_32 \
 1.36806 -+  bfd_put_32
 1.36807 -+#define bfd_get_32(abfd, ptr) \
 1.36808 -+  BFD_SEND (abfd, bfd_getx32, (ptr))
 1.36809 -+#define bfd_get_signed_32(abfd, ptr) \
 1.36810 -+  BFD_SEND (abfd, bfd_getx_signed_32, (ptr))
 1.36811 -+
 1.36812 -+#define bfd_put_64(abfd, val, ptr) \
 1.36813 -+  BFD_SEND (abfd, bfd_putx64, ((val), (ptr)))
 1.36814 -+#define bfd_put_signed_64 \
 1.36815 -+  bfd_put_64
 1.36816 -+#define bfd_get_64(abfd, ptr) \
 1.36817 -+  BFD_SEND (abfd, bfd_getx64, (ptr))
 1.36818 -+#define bfd_get_signed_64(abfd, ptr) \
 1.36819 -+  BFD_SEND (abfd, bfd_getx_signed_64, (ptr))
 1.36820 -+
 1.36821 -+#define bfd_get(bits, abfd, ptr)                       \
 1.36822 -+  ((bits) == 8 ? (bfd_vma) bfd_get_8 (abfd, ptr)       \
 1.36823 -+   : (bits) == 16 ? bfd_get_16 (abfd, ptr)             \
 1.36824 -+   : (bits) == 32 ? bfd_get_32 (abfd, ptr)             \
 1.36825 -+   : (bits) == 64 ? bfd_get_64 (abfd, ptr)             \
 1.36826 -+   : (abort (), (bfd_vma) - 1))
 1.36827 -+
 1.36828 -+#define bfd_put(bits, abfd, val, ptr)                  \
 1.36829 -+  ((bits) == 8 ? bfd_put_8  (abfd, val, ptr)           \
 1.36830 -+   : (bits) == 16 ? bfd_put_16 (abfd, val, ptr)                \
 1.36831 -+   : (bits) == 32 ? bfd_put_32 (abfd, val, ptr)                \
 1.36832 -+   : (bits) == 64 ? bfd_put_64 (abfd, val, ptr)                \
 1.36833 -+   : (abort (), (void) 0))
 1.36834 -+
 1.36835 -+
 1.36836 -+/* Byte swapping macros for file header data.  */
 1.36837 -+
 1.36838 -+#define bfd_h_put_8(abfd, val, ptr) \
 1.36839 -+  bfd_put_8 (abfd, val, ptr)
 1.36840 -+#define bfd_h_put_signed_8(abfd, val, ptr) \
 1.36841 -+  bfd_put_8 (abfd, val, ptr)
 1.36842 -+#define bfd_h_get_8(abfd, ptr) \
 1.36843 -+  bfd_get_8 (abfd, ptr)
 1.36844 -+#define bfd_h_get_signed_8(abfd, ptr) \
 1.36845 -+  bfd_get_signed_8 (abfd, ptr)
 1.36846 -+
 1.36847 -+#define bfd_h_put_16(abfd, val, ptr) \
 1.36848 -+  BFD_SEND (abfd, bfd_h_putx16, (val, ptr))
 1.36849 -+#define bfd_h_put_signed_16 \
 1.36850 -+  bfd_h_put_16
 1.36851 -+#define bfd_h_get_16(abfd, ptr) \
 1.36852 -+  BFD_SEND (abfd, bfd_h_getx16, (ptr))
 1.36853 -+#define bfd_h_get_signed_16(abfd, ptr) \
 1.36854 -+  BFD_SEND (abfd, bfd_h_getx_signed_16, (ptr))
 1.36855 -+
 1.36856 -+#define bfd_h_put_32(abfd, val, ptr) \
 1.36857 -+  BFD_SEND (abfd, bfd_h_putx32, (val, ptr))
 1.36858 -+#define bfd_h_put_signed_32 \
 1.36859 -+  bfd_h_put_32
 1.36860 -+#define bfd_h_get_32(abfd, ptr) \
 1.36861 -+  BFD_SEND (abfd, bfd_h_getx32, (ptr))
 1.36862 -+#define bfd_h_get_signed_32(abfd, ptr) \
 1.36863 -+  BFD_SEND (abfd, bfd_h_getx_signed_32, (ptr))
 1.36864 -+
 1.36865 -+#define bfd_h_put_64(abfd, val, ptr) \
 1.36866 -+  BFD_SEND (abfd, bfd_h_putx64, (val, ptr))
 1.36867 -+#define bfd_h_put_signed_64 \
 1.36868 -+  bfd_h_put_64
 1.36869 -+#define bfd_h_get_64(abfd, ptr) \
 1.36870 -+  BFD_SEND (abfd, bfd_h_getx64, (ptr))
 1.36871 -+#define bfd_h_get_signed_64(abfd, ptr) \
 1.36872 -+  BFD_SEND (abfd, bfd_h_getx_signed_64, (ptr))
 1.36873 -+
 1.36874 -+/* Aliases for the above, which should eventually go away.  */
 1.36875 -+
 1.36876 -+#define H_PUT_64  bfd_h_put_64
 1.36877 -+#define H_PUT_32  bfd_h_put_32
 1.36878 -+#define H_PUT_16  bfd_h_put_16
 1.36879 -+#define H_PUT_8   bfd_h_put_8
 1.36880 -+#define H_PUT_S64 bfd_h_put_signed_64
 1.36881 -+#define H_PUT_S32 bfd_h_put_signed_32
 1.36882 -+#define H_PUT_S16 bfd_h_put_signed_16
 1.36883 -+#define H_PUT_S8  bfd_h_put_signed_8
 1.36884 -+#define H_GET_64  bfd_h_get_64
 1.36885 -+#define H_GET_32  bfd_h_get_32
 1.36886 -+#define H_GET_16  bfd_h_get_16
 1.36887 -+#define H_GET_8   bfd_h_get_8
 1.36888 -+#define H_GET_S64 bfd_h_get_signed_64
 1.36889 -+#define H_GET_S32 bfd_h_get_signed_32
 1.36890 -+#define H_GET_S16 bfd_h_get_signed_16
 1.36891 -+#define H_GET_S8  bfd_h_get_signed_8
 1.36892 -+
 1.36893 -+
 1.36894 -+/* Extracted from bfdio.c.  */
 1.36895 -+long bfd_get_mtime (bfd *abfd);
 1.36896 -+
 1.36897 -+file_ptr bfd_get_size (bfd *abfd);
 1.36898 -+
 1.36899 -+/* Extracted from bfdwin.c.  */
 1.36900 -+/* Extracted from section.c.  */
 1.36901 -+typedef struct bfd_section
 1.36902 -+{
 1.36903 -+  /* The name of the section; the name isn't a copy, the pointer is
 1.36904 -+     the same as that passed to bfd_make_section.  */
 1.36905 -+  const char *name;
 1.36906 -+
 1.36907 -+  /* A unique sequence number.  */
 1.36908 -+  int id;
 1.36909 -+
 1.36910 -+  /* Which section in the bfd; 0..n-1 as sections are created in a bfd.  */
 1.36911 -+  int index;
 1.36912 -+
 1.36913 -+  /* The next section in the list belonging to the BFD, or NULL.  */
 1.36914 -+  struct bfd_section *next;
 1.36915 -+
 1.36916 -+  /* The previous section in the list belonging to the BFD, or NULL.  */
 1.36917 -+  struct bfd_section *prev;
 1.36918 -+
 1.36919 -+  /* The field flags contains attributes of the section. Some
 1.36920 -+     flags are read in from the object file, and some are
 1.36921 -+     synthesized from other information.  */
 1.36922 -+  flagword flags;
 1.36923 -+
 1.36924 -+#define SEC_NO_FLAGS   0x000
 1.36925 -+
 1.36926 -+  /* Tells the OS to allocate space for this section when loading.
 1.36927 -+     This is clear for a section containing debug information only.  */
 1.36928 -+#define SEC_ALLOC      0x001
 1.36929 -+
 1.36930 -+  /* Tells the OS to load the section from the file when loading.
 1.36931 -+     This is clear for a .bss section.  */
 1.36932 -+#define SEC_LOAD       0x002
 1.36933 -+
 1.36934 -+  /* The section contains data still to be relocated, so there is
 1.36935 -+     some relocation information too.  */
 1.36936 -+#define SEC_RELOC      0x004
 1.36937 -+
 1.36938 -+  /* A signal to the OS that the section contains read only data.  */
 1.36939 -+#define SEC_READONLY   0x008
 1.36940 -+
 1.36941 -+  /* The section contains code only.  */
 1.36942 -+#define SEC_CODE       0x010
 1.36943 -+
 1.36944 -+  /* The section contains data only.  */
 1.36945 -+#define SEC_DATA       0x020
 1.36946 -+
 1.36947 -+  /* The section will reside in ROM.  */
 1.36948 -+#define SEC_ROM        0x040
 1.36949 -+
 1.36950 -+  /* The section contains constructor information. This section
 1.36951 -+     type is used by the linker to create lists of constructors and
 1.36952 -+     destructors used by <<g++>>. When a back end sees a symbol
 1.36953 -+     which should be used in a constructor list, it creates a new
 1.36954 -+     section for the type of name (e.g., <<__CTOR_LIST__>>), attaches
 1.36955 -+     the symbol to it, and builds a relocation. To build the lists
 1.36956 -+     of constructors, all the linker has to do is catenate all the
 1.36957 -+     sections called <<__CTOR_LIST__>> and relocate the data
 1.36958 -+     contained within - exactly the operations it would peform on
 1.36959 -+     standard data.  */
 1.36960 -+#define SEC_CONSTRUCTOR 0x080
 1.36961 -+
 1.36962 -+  /* The section has contents - a data section could be
 1.36963 -+     <<SEC_ALLOC>> | <<SEC_HAS_CONTENTS>>; a debug section could be
 1.36964 -+     <<SEC_HAS_CONTENTS>>  */
 1.36965 -+#define SEC_HAS_CONTENTS 0x100
 1.36966 -+
 1.36967 -+  /* An instruction to the linker to not output the section
 1.36968 -+     even if it has information which would normally be written.  */
 1.36969 -+#define SEC_NEVER_LOAD 0x200
 1.36970 -+
 1.36971 -+  /* The section contains thread local data.  */
 1.36972 -+#define SEC_THREAD_LOCAL 0x400
 1.36973 -+
 1.36974 -+  /* The section has GOT references.  This flag is only for the
 1.36975 -+     linker, and is currently only used by the elf32-hppa back end.
 1.36976 -+     It will be set if global offset table references were detected
 1.36977 -+     in this section, which indicate to the linker that the section
 1.36978 -+     contains PIC code, and must be handled specially when doing a
 1.36979 -+     static link.  */
 1.36980 -+#define SEC_HAS_GOT_REF 0x800
 1.36981 -+
 1.36982 -+  /* The section contains common symbols (symbols may be defined
 1.36983 -+     multiple times, the value of a symbol is the amount of
 1.36984 -+     space it requires, and the largest symbol value is the one
 1.36985 -+     used).  Most targets have exactly one of these (which we
 1.36986 -+     translate to bfd_com_section_ptr), but ECOFF has two.  */
 1.36987 -+#define SEC_IS_COMMON 0x1000
 1.36988 -+
 1.36989 -+  /* The section contains only debugging information.  For
 1.36990 -+     example, this is set for ELF .debug and .stab sections.
 1.36991 -+     strip tests this flag to see if a section can be
 1.36992 -+     discarded.  */
 1.36993 -+#define SEC_DEBUGGING 0x2000
 1.36994 -+
 1.36995 -+  /* The contents of this section are held in memory pointed to
 1.36996 -+     by the contents field.  This is checked by bfd_get_section_contents,
 1.36997 -+     and the data is retrieved from memory if appropriate.  */
 1.36998 -+#define SEC_IN_MEMORY 0x4000
 1.36999 -+
 1.37000 -+  /* The contents of this section are to be excluded by the
 1.37001 -+     linker for executable and shared objects unless those
 1.37002 -+     objects are to be further relocated.  */
 1.37003 -+#define SEC_EXCLUDE 0x8000
 1.37004 -+
 1.37005 -+  /* The contents of this section are to be sorted based on the sum of
 1.37006 -+     the symbol and addend values specified by the associated relocation
 1.37007 -+     entries.  Entries without associated relocation entries will be
 1.37008 -+     appended to the end of the section in an unspecified order.  */
 1.37009 -+#define SEC_SORT_ENTRIES 0x10000
 1.37010 -+
 1.37011 -+  /* When linking, duplicate sections of the same name should be
 1.37012 -+     discarded, rather than being combined into a single section as
 1.37013 -+     is usually done.  This is similar to how common symbols are
 1.37014 -+     handled.  See SEC_LINK_DUPLICATES below.  */
 1.37015 -+#define SEC_LINK_ONCE 0x20000
 1.37016 -+
 1.37017 -+  /* If SEC_LINK_ONCE is set, this bitfield describes how the linker
 1.37018 -+     should handle duplicate sections.  */
 1.37019 -+#define SEC_LINK_DUPLICATES 0x40000
 1.37020 -+
 1.37021 -+  /* This value for SEC_LINK_DUPLICATES means that duplicate
 1.37022 -+     sections with the same name should simply be discarded.  */
 1.37023 -+#define SEC_LINK_DUPLICATES_DISCARD 0x0
 1.37024 -+
 1.37025 -+  /* This value for SEC_LINK_DUPLICATES means that the linker
 1.37026 -+     should warn if there are any duplicate sections, although
 1.37027 -+     it should still only link one copy.  */
 1.37028 -+#define SEC_LINK_DUPLICATES_ONE_ONLY 0x80000
 1.37029 -+
 1.37030 -+  /* This value for SEC_LINK_DUPLICATES means that the linker
 1.37031 -+     should warn if any duplicate sections are a different size.  */
 1.37032 -+#define SEC_LINK_DUPLICATES_SAME_SIZE 0x100000
 1.37033 -+
 1.37034 -+  /* This value for SEC_LINK_DUPLICATES means that the linker
 1.37035 -+     should warn if any duplicate sections contain different
 1.37036 -+     contents.  */
 1.37037 -+#define SEC_LINK_DUPLICATES_SAME_CONTENTS \
 1.37038 -+  (SEC_LINK_DUPLICATES_ONE_ONLY | SEC_LINK_DUPLICATES_SAME_SIZE)
 1.37039 -+
 1.37040 -+  /* This section was created by the linker as part of dynamic
 1.37041 -+     relocation or other arcane processing.  It is skipped when
 1.37042 -+     going through the first-pass output, trusting that someone
 1.37043 -+     else up the line will take care of it later.  */
 1.37044 -+#define SEC_LINKER_CREATED 0x200000
 1.37045 -+
 1.37046 -+  /* This section should not be subject to garbage collection.
 1.37047 -+     Also set to inform the linker that this section should not be
 1.37048 -+     listed in the link map as discarded.  */
 1.37049 -+#define SEC_KEEP 0x400000
 1.37050 -+
 1.37051 -+  /* This section contains "short" data, and should be placed
 1.37052 -+     "near" the GP.  */
 1.37053 -+#define SEC_SMALL_DATA 0x800000
 1.37054 -+
 1.37055 -+  /* Attempt to merge identical entities in the section.
 1.37056 -+     Entity size is given in the entsize field.  */
 1.37057 -+#define SEC_MERGE 0x1000000
 1.37058 -+
 1.37059 -+  /* If given with SEC_MERGE, entities to merge are zero terminated
 1.37060 -+     strings where entsize specifies character size instead of fixed
 1.37061 -+     size entries.  */
 1.37062 -+#define SEC_STRINGS 0x2000000
 1.37063 -+
 1.37064 -+  /* This section contains data about section groups.  */
 1.37065 -+#define SEC_GROUP 0x4000000
 1.37066 -+
 1.37067 -+  /* The section is a COFF shared library section.  This flag is
 1.37068 -+     only for the linker.  If this type of section appears in
 1.37069 -+     the input file, the linker must copy it to the output file
 1.37070 -+     without changing the vma or size.  FIXME: Although this
 1.37071 -+     was originally intended to be general, it really is COFF
 1.37072 -+     specific (and the flag was renamed to indicate this).  It
 1.37073 -+     might be cleaner to have some more general mechanism to
 1.37074 -+     allow the back end to control what the linker does with
 1.37075 -+     sections.  */
 1.37076 -+#define SEC_COFF_SHARED_LIBRARY 0x10000000
 1.37077 -+
 1.37078 -+  /* This section contains data which may be shared with other
 1.37079 -+     executables or shared objects. This is for COFF only.  */
 1.37080 -+#define SEC_COFF_SHARED 0x20000000
 1.37081 -+
 1.37082 -+  /* When a section with this flag is being linked, then if the size of
 1.37083 -+     the input section is less than a page, it should not cross a page
 1.37084 -+     boundary.  If the size of the input section is one page or more,
 1.37085 -+     it should be aligned on a page boundary.  This is for TI
 1.37086 -+     TMS320C54X only.  */
 1.37087 -+#define SEC_TIC54X_BLOCK 0x40000000
 1.37088 -+
 1.37089 -+  /* Conditionally link this section; do not link if there are no
 1.37090 -+     references found to any symbol in the section.  This is for TI
 1.37091 -+     TMS320C54X only.  */
 1.37092 -+#define SEC_TIC54X_CLINK 0x80000000
 1.37093 -+
 1.37094 -+  /*  End of section flags.  */
 1.37095 -+
 1.37096 -+  /* Some internal packed boolean fields.  */
 1.37097 -+
 1.37098 -+  /* See the vma field.  */
 1.37099 -+  unsigned int user_set_vma : 1;
 1.37100 -+
 1.37101 -+  /* A mark flag used by some of the linker backends.  */
 1.37102 -+  unsigned int linker_mark : 1;
 1.37103 -+
 1.37104 -+  /* Another mark flag used by some of the linker backends.  Set for
 1.37105 -+     output sections that have an input section.  */
 1.37106 -+  unsigned int linker_has_input : 1;
 1.37107 -+
 1.37108 -+  /* Mark flags used by some linker backends for garbage collection.  */
 1.37109 -+  unsigned int gc_mark : 1;
 1.37110 -+  unsigned int gc_mark_from_eh : 1;
 1.37111 -+
 1.37112 -+  /* The following flags are used by the ELF linker. */
 1.37113 -+
 1.37114 -+  /* Mark sections which have been allocated to segments.  */
 1.37115 -+  unsigned int segment_mark : 1;
 1.37116 -+
 1.37117 -+  /* Type of sec_info information.  */
 1.37118 -+  unsigned int sec_info_type:3;
 1.37119 -+#define ELF_INFO_TYPE_NONE      0
 1.37120 -+#define ELF_INFO_TYPE_STABS     1
 1.37121 -+#define ELF_INFO_TYPE_MERGE     2
 1.37122 -+#define ELF_INFO_TYPE_EH_FRAME  3
 1.37123 -+#define ELF_INFO_TYPE_JUST_SYMS 4
 1.37124 -+
 1.37125 -+  /* Nonzero if this section uses RELA relocations, rather than REL.  */
 1.37126 -+  unsigned int use_rela_p:1;
 1.37127 -+
 1.37128 -+  /* Bits used by various backends.  The generic code doesn't touch
 1.37129 -+     these fields.  */
 1.37130 -+
 1.37131 -+  /* Nonzero if this section has TLS related relocations.  */
 1.37132 -+  unsigned int has_tls_reloc:1;
 1.37133 -+
 1.37134 -+  /* Nonzero if this section has a gp reloc.  */
 1.37135 -+  unsigned int has_gp_reloc:1;
 1.37136 -+
 1.37137 -+  /* Nonzero if this section needs the relax finalize pass.  */
 1.37138 -+  unsigned int need_finalize_relax:1;
 1.37139 -+
 1.37140 -+  /* Whether relocations have been processed.  */
 1.37141 -+  unsigned int reloc_done : 1;
 1.37142 -+
 1.37143 -+  /* End of internal packed boolean fields.  */
 1.37144 -+
 1.37145 -+  /*  The virtual memory address of the section - where it will be
 1.37146 -+      at run time.  The symbols are relocated against this.  The
 1.37147 -+      user_set_vma flag is maintained by bfd; if it's not set, the
 1.37148 -+      backend can assign addresses (for example, in <<a.out>>, where
 1.37149 -+      the default address for <<.data>> is dependent on the specific
 1.37150 -+      target and various flags).  */
 1.37151 -+  bfd_vma vma;
 1.37152 -+
 1.37153 -+  /*  The load address of the section - where it would be in a
 1.37154 -+      rom image; really only used for writing section header
 1.37155 -+      information.  */
 1.37156 -+  bfd_vma lma;
 1.37157 -+
 1.37158 -+  /* The size of the section in octets, as it will be output.
 1.37159 -+     Contains a value even if the section has no contents (e.g., the
 1.37160 -+     size of <<.bss>>).  */
 1.37161 -+  bfd_size_type size;
 1.37162 -+
 1.37163 -+  /* For input sections, the original size on disk of the section, in
 1.37164 -+     octets.  This field is used by the linker relaxation code.  It is
 1.37165 -+     currently only set for sections where the linker relaxation scheme
 1.37166 -+     doesn't cache altered section and reloc contents (stabs, eh_frame,
 1.37167 -+     SEC_MERGE, some coff relaxing targets), and thus the original size
 1.37168 -+     needs to be kept to read the section multiple times.
 1.37169 -+     For output sections, rawsize holds the section size calculated on
 1.37170 -+     a previous linker relaxation pass.  */
 1.37171 -+  bfd_size_type rawsize;
 1.37172 -+
 1.37173 -+  /* If this section is going to be output, then this value is the
 1.37174 -+     offset in *bytes* into the output section of the first byte in the
 1.37175 -+     input section (byte ==> smallest addressable unit on the
 1.37176 -+     target).  In most cases, if this was going to start at the
 1.37177 -+     100th octet (8-bit quantity) in the output section, this value
 1.37178 -+     would be 100.  However, if the target byte size is 16 bits
 1.37179 -+     (bfd_octets_per_byte is "2"), this value would be 50.  */
 1.37180 -+  bfd_vma output_offset;
 1.37181 -+
 1.37182 -+  /* The output section through which to map on output.  */
 1.37183 -+  struct bfd_section *output_section;
 1.37184 -+
 1.37185 -+  /* The alignment requirement of the section, as an exponent of 2 -
 1.37186 -+     e.g., 3 aligns to 2^3 (or 8).  */
 1.37187 -+  unsigned int alignment_power;
 1.37188 -+
 1.37189 -+  /* If an input section, a pointer to a vector of relocation
 1.37190 -+     records for the data in this section.  */
 1.37191 -+  struct reloc_cache_entry *relocation;
 1.37192 -+
 1.37193 -+  /* If an output section, a pointer to a vector of pointers to
 1.37194 -+     relocation records for the data in this section.  */
 1.37195 -+  struct reloc_cache_entry **orelocation;
 1.37196 -+
 1.37197 -+  /* The number of relocation records in one of the above.  */
 1.37198 -+  unsigned reloc_count;
 1.37199 -+
 1.37200 -+  /* Information below is back end specific - and not always used
 1.37201 -+     or updated.  */
 1.37202 -+
 1.37203 -+  /* File position of section data.  */
 1.37204 -+  file_ptr filepos;
 1.37205 -+
 1.37206 -+  /* File position of relocation info.  */
 1.37207 -+  file_ptr rel_filepos;
 1.37208 -+
 1.37209 -+  /* File position of line data.  */
 1.37210 -+  file_ptr line_filepos;
 1.37211 -+
 1.37212 -+  /* Pointer to data for applications.  */
 1.37213 -+  void *userdata;
 1.37214 -+
 1.37215 -+  /* If the SEC_IN_MEMORY flag is set, this points to the actual
 1.37216 -+     contents.  */
 1.37217 -+  unsigned char *contents;
 1.37218 -+
 1.37219 -+  /* Attached line number information.  */
 1.37220 -+  alent *lineno;
 1.37221 -+
 1.37222 -+  /* Number of line number records.  */
 1.37223 -+  unsigned int lineno_count;
 1.37224 -+
 1.37225 -+  /* Entity size for merging purposes.  */
 1.37226 -+  unsigned int entsize;
 1.37227 -+
 1.37228 -+  /* Points to the kept section if this section is a link-once section,
 1.37229 -+     and is discarded.  */
 1.37230 -+  struct bfd_section *kept_section;
 1.37231 -+
 1.37232 -+  /* When a section is being output, this value changes as more
 1.37233 -+     linenumbers are written out.  */
 1.37234 -+  file_ptr moving_line_filepos;
 1.37235 -+
 1.37236 -+  /* What the section number is in the target world.  */
 1.37237 -+  int target_index;
 1.37238 -+
 1.37239 -+  void *used_by_bfd;
 1.37240 -+
 1.37241 -+  /* If this is a constructor section then here is a list of the
 1.37242 -+     relocations created to relocate items within it.  */
 1.37243 -+  struct relent_chain *constructor_chain;
 1.37244 -+
 1.37245 -+  /* The BFD which owns the section.  */
 1.37246 -+  bfd *owner;
 1.37247 -+
 1.37248 -+  /* A symbol which points at this section only.  */
 1.37249 -+  struct bfd_symbol *symbol;
 1.37250 -+  struct bfd_symbol **symbol_ptr_ptr;
 1.37251 -+
 1.37252 -+  /* Early in the link process, map_head and map_tail are used to build
 1.37253 -+     a list of input sections attached to an output section.  Later,
 1.37254 -+     output sections use these fields for a list of bfd_link_order
 1.37255 -+     structs.  */
 1.37256 -+  union {
 1.37257 -+    struct bfd_link_order *link_order;
 1.37258 -+    struct bfd_section *s;
 1.37259 -+  } map_head, map_tail;
 1.37260 -+} asection;
 1.37261 -+
 1.37262 -+/* These sections are global, and are managed by BFD.  The application
 1.37263 -+   and target back end are not permitted to change the values in
 1.37264 -+   these sections.  New code should use the section_ptr macros rather
 1.37265 -+   than referring directly to the const sections.  The const sections
 1.37266 -+   may eventually vanish.  */
 1.37267 -+#define BFD_ABS_SECTION_NAME "*ABS*"
 1.37268 -+#define BFD_UND_SECTION_NAME "*UND*"
 1.37269 -+#define BFD_COM_SECTION_NAME "*COM*"
 1.37270 -+#define BFD_IND_SECTION_NAME "*IND*"
 1.37271 -+
 1.37272 -+/* The absolute section.  */
 1.37273 -+extern asection bfd_abs_section;
 1.37274 -+#define bfd_abs_section_ptr ((asection *) &bfd_abs_section)
 1.37275 -+#define bfd_is_abs_section(sec) ((sec) == bfd_abs_section_ptr)
 1.37276 -+/* Pointer to the undefined section.  */
 1.37277 -+extern asection bfd_und_section;
 1.37278 -+#define bfd_und_section_ptr ((asection *) &bfd_und_section)
 1.37279 -+#define bfd_is_und_section(sec) ((sec) == bfd_und_section_ptr)
 1.37280 -+/* Pointer to the common section.  */
 1.37281 -+extern asection bfd_com_section;
 1.37282 -+#define bfd_com_section_ptr ((asection *) &bfd_com_section)
 1.37283 -+/* Pointer to the indirect section.  */
 1.37284 -+extern asection bfd_ind_section;
 1.37285 -+#define bfd_ind_section_ptr ((asection *) &bfd_ind_section)
 1.37286 -+#define bfd_is_ind_section(sec) ((sec) == bfd_ind_section_ptr)
 1.37287 -+
 1.37288 -+#define bfd_is_const_section(SEC)              \
 1.37289 -+ (   ((SEC) == bfd_abs_section_ptr)            \
 1.37290 -+  || ((SEC) == bfd_und_section_ptr)            \
 1.37291 -+  || ((SEC) == bfd_com_section_ptr)            \
 1.37292 -+  || ((SEC) == bfd_ind_section_ptr))
 1.37293 -+
 1.37294 -+/* Macros to handle insertion and deletion of a bfd's sections.  These
 1.37295 -+   only handle the list pointers, ie. do not adjust section_count,
 1.37296 -+   target_index etc.  */
 1.37297 -+#define bfd_section_list_remove(ABFD, S) \
 1.37298 -+  do                                                   \
 1.37299 -+    {                                                  \
 1.37300 -+      asection *_s = S;                                \
 1.37301 -+      asection *_next = _s->next;                      \
 1.37302 -+      asection *_prev = _s->prev;                      \
 1.37303 -+      if (_prev)                                       \
 1.37304 -+        _prev->next = _next;                           \
 1.37305 -+      else                                             \
 1.37306 -+        (ABFD)->sections = _next;                      \
 1.37307 -+      if (_next)                                       \
 1.37308 -+        _next->prev = _prev;                           \
 1.37309 -+      else                                             \
 1.37310 -+        (ABFD)->section_last = _prev;                  \
 1.37311 -+    }                                                  \
 1.37312 -+  while (0)
 1.37313 -+#define bfd_section_list_append(ABFD, S) \
 1.37314 -+  do                                                   \
 1.37315 -+    {                                                  \
 1.37316 -+      asection *_s = S;                                \
 1.37317 -+      bfd *_abfd = ABFD;                               \
 1.37318 -+      _s->next = NULL;                                 \
 1.37319 -+      if (_abfd->section_last)                         \
 1.37320 -+        {                                              \
 1.37321 -+          _s->prev = _abfd->section_last;              \
 1.37322 -+          _abfd->section_last->next = _s;              \
 1.37323 -+        }                                              \
 1.37324 -+      else                                             \
 1.37325 -+        {                                              \
 1.37326 -+          _s->prev = NULL;                             \
 1.37327 -+          _abfd->sections = _s;                        \
 1.37328 -+        }                                              \
 1.37329 -+      _abfd->section_last = _s;                        \
 1.37330 -+    }                                                  \
 1.37331 -+  while (0)
 1.37332 -+#define bfd_section_list_prepend(ABFD, S) \
 1.37333 -+  do                                                   \
 1.37334 -+    {                                                  \
 1.37335 -+      asection *_s = S;                                \
 1.37336 -+      bfd *_abfd = ABFD;                               \
 1.37337 -+      _s->prev = NULL;                                 \
 1.37338 -+      if (_abfd->sections)                             \
 1.37339 -+        {                                              \
 1.37340 -+          _s->next = _abfd->sections;                  \
 1.37341 -+          _abfd->sections->prev = _s;                  \
 1.37342 -+        }                                              \
 1.37343 -+      else                                             \
 1.37344 -+        {                                              \
 1.37345 -+          _s->next = NULL;                             \
 1.37346 -+          _abfd->section_last = _s;                    \
 1.37347 -+        }                                              \
 1.37348 -+      _abfd->sections = _s;                            \
 1.37349 -+    }                                                  \
 1.37350 -+  while (0)
 1.37351 -+#define bfd_section_list_insert_after(ABFD, A, S) \
 1.37352 -+  do                                                   \
 1.37353 -+    {                                                  \
 1.37354 -+      asection *_a = A;                                \
 1.37355 -+      asection *_s = S;                                \
 1.37356 -+      asection *_next = _a->next;                      \
 1.37357 -+      _s->next = _next;                                \
 1.37358 -+      _s->prev = _a;                                   \
 1.37359 -+      _a->next = _s;                                   \
 1.37360 -+      if (_next)                                       \
 1.37361 -+        _next->prev = _s;                              \
 1.37362 -+      else                                             \
 1.37363 -+        (ABFD)->section_last = _s;                     \
 1.37364 -+    }                                                  \
 1.37365 -+  while (0)
 1.37366 -+#define bfd_section_list_insert_before(ABFD, B, S) \
 1.37367 -+  do                                                   \
 1.37368 -+    {                                                  \
 1.37369 -+      asection *_b = B;                                \
 1.37370 -+      asection *_s = S;                                \
 1.37371 -+      asection *_prev = _b->prev;                      \
 1.37372 -+      _s->prev = _prev;                                \
 1.37373 -+      _s->next = _b;                                   \
 1.37374 -+      _b->prev = _s;                                   \
 1.37375 -+      if (_prev)                                       \
 1.37376 -+        _prev->next = _s;                              \
 1.37377 -+      else                                             \
 1.37378 -+        (ABFD)->sections = _s;                         \
 1.37379 -+    }                                                  \
 1.37380 -+  while (0)
 1.37381 -+#define bfd_section_removed_from_list(ABFD, S) \
 1.37382 -+  ((S)->next == NULL ? (ABFD)->section_last != (S) : (S)->next->prev != (S))
 1.37383 -+
 1.37384 -+#define BFD_FAKE_SECTION(SEC, FLAGS, SYM, NAME, IDX)                   \
 1.37385 -+  /* name, id,  index, next, prev, flags, user_set_vma,            */  \
 1.37386 -+  { NAME,  IDX, 0,     NULL, NULL, FLAGS, 0,                           \
 1.37387 -+                                                                       \
 1.37388 -+  /* linker_mark, linker_has_input, gc_mark, gc_mark_from_eh,      */  \
 1.37389 -+     0,           0,                1,       0,                        \
 1.37390 -+                                                                       \
 1.37391 -+  /* segment_mark, sec_info_type, use_rela_p, has_tls_reloc,       */  \
 1.37392 -+     0,            0,             0,          0,                       \
 1.37393 -+                                                                       \
 1.37394 -+  /* has_gp_reloc, need_finalize_relax, reloc_done,                */  \
 1.37395 -+     0,            0,                   0,                             \
 1.37396 -+                                                                       \
 1.37397 -+  /* vma, lma, size, rawsize                                       */  \
 1.37398 -+     0,   0,   0,    0,                                                \
 1.37399 -+                                                                       \
 1.37400 -+  /* output_offset, output_section,              alignment_power,  */  \
 1.37401 -+     0,             (struct bfd_section *) &SEC, 0,                    \
 1.37402 -+                                                                       \
 1.37403 -+  /* relocation, orelocation, reloc_count, filepos, rel_filepos,   */  \
 1.37404 -+     NULL,       NULL,        0,           0,       0,                 \
 1.37405 -+                                                                       \
 1.37406 -+  /* line_filepos, userdata, contents, lineno, lineno_count,       */  \
 1.37407 -+     0,            NULL,     NULL,     NULL,   0,                      \
 1.37408 -+                                                                       \
 1.37409 -+  /* entsize, kept_section, moving_line_filepos,                    */ \
 1.37410 -+     0,       NULL,          0,                                        \
 1.37411 -+                                                                       \
 1.37412 -+  /* target_index, used_by_bfd, constructor_chain, owner,          */  \
 1.37413 -+     0,            NULL,        NULL,              NULL,               \
 1.37414 -+                                                                       \
 1.37415 -+  /* symbol,                    symbol_ptr_ptr,                    */  \
 1.37416 -+     (struct bfd_symbol *) SYM, &SEC.symbol,                           \
 1.37417 -+                                                                       \
 1.37418 -+  /* map_head, map_tail                                            */  \
 1.37419 -+     { NULL }, { NULL }                                                \
 1.37420 -+    }
 1.37421 -+
 1.37422 -+void bfd_section_list_clear (bfd *);
 1.37423 -+
 1.37424 -+asection *bfd_get_section_by_name (bfd *abfd, const char *name);
 1.37425 -+
 1.37426 -+asection *bfd_get_section_by_name_if
 1.37427 -+   (bfd *abfd,
 1.37428 -+    const char *name,
 1.37429 -+    bfd_boolean (*func) (bfd *abfd, asection *sect, void *obj),
 1.37430 -+    void *obj);
 1.37431 -+
 1.37432 -+char *bfd_get_unique_section_name
 1.37433 -+   (bfd *abfd, const char *templat, int *count);
 1.37434 -+
 1.37435 -+asection *bfd_make_section_old_way (bfd *abfd, const char *name);
 1.37436 -+
 1.37437 -+asection *bfd_make_section_anyway_with_flags
 1.37438 -+   (bfd *abfd, const char *name, flagword flags);
 1.37439 -+
 1.37440 -+asection *bfd_make_section_anyway (bfd *abfd, const char *name);
 1.37441 -+
 1.37442 -+asection *bfd_make_section_with_flags
 1.37443 -+   (bfd *, const char *name, flagword flags);
 1.37444 -+
 1.37445 -+asection *bfd_make_section (bfd *, const char *name);
 1.37446 -+
 1.37447 -+bfd_boolean bfd_set_section_flags
 1.37448 -+   (bfd *abfd, asection *sec, flagword flags);
 1.37449 -+
 1.37450 -+void bfd_map_over_sections
 1.37451 -+   (bfd *abfd,
 1.37452 -+    void (*func) (bfd *abfd, asection *sect, void *obj),
 1.37453 -+    void *obj);
 1.37454 -+
 1.37455 -+asection *bfd_sections_find_if
 1.37456 -+   (bfd *abfd,
 1.37457 -+    bfd_boolean (*operation) (bfd *abfd, asection *sect, void *obj),
 1.37458 -+    void *obj);
 1.37459 -+
 1.37460 -+bfd_boolean bfd_set_section_size
 1.37461 -+   (bfd *abfd, asection *sec, bfd_size_type val);
 1.37462 -+
 1.37463 -+bfd_boolean bfd_set_section_contents
 1.37464 -+   (bfd *abfd, asection *section, const void *data,
 1.37465 -+    file_ptr offset, bfd_size_type count);
 1.37466 -+
 1.37467 -+bfd_boolean bfd_get_section_contents
 1.37468 -+   (bfd *abfd, asection *section, void *location, file_ptr offset,
 1.37469 -+    bfd_size_type count);
 1.37470 -+
 1.37471 -+bfd_boolean bfd_malloc_and_get_section
 1.37472 -+   (bfd *abfd, asection *section, bfd_byte **buf);
 1.37473 -+
 1.37474 -+bfd_boolean bfd_copy_private_section_data
 1.37475 -+   (bfd *ibfd, asection *isec, bfd *obfd, asection *osec);
 1.37476 -+
 1.37477 -+#define bfd_copy_private_section_data(ibfd, isection, obfd, osection) \
 1.37478 -+     BFD_SEND (obfd, _bfd_copy_private_section_data, \
 1.37479 -+               (ibfd, isection, obfd, osection))
 1.37480 -+bfd_boolean bfd_generic_is_group_section (bfd *, const asection *sec);
 1.37481 -+
 1.37482 -+bfd_boolean bfd_generic_discard_group (bfd *abfd, asection *group);
 1.37483 -+
 1.37484 -+/* Extracted from archures.c.  */
 1.37485 -+enum bfd_architecture
 1.37486 -+{
 1.37487 -+  bfd_arch_unknown,   /* File arch not known.  */
 1.37488 -+  bfd_arch_obscure,   /* Arch known, not one of these.  */
 1.37489 -+  bfd_arch_m68k,      /* Motorola 68xxx */
 1.37490 -+#define bfd_mach_m68000 1
 1.37491 -+#define bfd_mach_m68008 2
 1.37492 -+#define bfd_mach_m68010 3
 1.37493 -+#define bfd_mach_m68020 4
 1.37494 -+#define bfd_mach_m68030 5
 1.37495 -+#define bfd_mach_m68040 6
 1.37496 -+#define bfd_mach_m68060 7
 1.37497 -+#define bfd_mach_cpu32  8
 1.37498 -+#define bfd_mach_fido   9
 1.37499 -+#define bfd_mach_mcf_isa_a_nodiv 10
 1.37500 -+#define bfd_mach_mcf_isa_a 11
 1.37501 -+#define bfd_mach_mcf_isa_a_mac 12
 1.37502 -+#define bfd_mach_mcf_isa_a_emac 13
 1.37503 -+#define bfd_mach_mcf_isa_aplus 14
 1.37504 -+#define bfd_mach_mcf_isa_aplus_mac 15
 1.37505 -+#define bfd_mach_mcf_isa_aplus_emac 16
 1.37506 -+#define bfd_mach_mcf_isa_b_nousp 17
 1.37507 -+#define bfd_mach_mcf_isa_b_nousp_mac 18
 1.37508 -+#define bfd_mach_mcf_isa_b_nousp_emac 19
 1.37509 -+#define bfd_mach_mcf_isa_b 20
 1.37510 -+#define bfd_mach_mcf_isa_b_mac 21
 1.37511 -+#define bfd_mach_mcf_isa_b_emac 22
 1.37512 -+#define bfd_mach_mcf_isa_b_float 23
 1.37513 -+#define bfd_mach_mcf_isa_b_float_mac 24
 1.37514 -+#define bfd_mach_mcf_isa_b_float_emac 25
 1.37515 -+#define bfd_mach_mcf_isa_c 26
 1.37516 -+#define bfd_mach_mcf_isa_c_mac 27
 1.37517 -+#define bfd_mach_mcf_isa_c_emac 28
 1.37518 -+  bfd_arch_vax,       /* DEC Vax */
 1.37519 -+  bfd_arch_i960,      /* Intel 960 */
 1.37520 -+    /* The order of the following is important.
 1.37521 -+       lower number indicates a machine type that
 1.37522 -+       only accepts a subset of the instructions
 1.37523 -+       available to machines with higher numbers.
 1.37524 -+       The exception is the "ca", which is
 1.37525 -+       incompatible with all other machines except
 1.37526 -+       "core".  */
 1.37527 -+
 1.37528 -+#define bfd_mach_i960_core      1
 1.37529 -+#define bfd_mach_i960_ka_sa     2
 1.37530 -+#define bfd_mach_i960_kb_sb     3
 1.37531 -+#define bfd_mach_i960_mc        4
 1.37532 -+#define bfd_mach_i960_xa        5
 1.37533 -+#define bfd_mach_i960_ca        6
 1.37534 -+#define bfd_mach_i960_jx        7
 1.37535 -+#define bfd_mach_i960_hx        8
 1.37536 -+
 1.37537 -+  bfd_arch_or32,      /* OpenRISC 32 */
 1.37538 -+
 1.37539 -+  bfd_arch_sparc,     /* SPARC */
 1.37540 -+#define bfd_mach_sparc                 1
 1.37541 -+/* The difference between v8plus and v9 is that v9 is a true 64 bit env.  */
 1.37542 -+#define bfd_mach_sparc_sparclet        2
 1.37543 -+#define bfd_mach_sparc_sparclite       3
 1.37544 -+#define bfd_mach_sparc_v8plus          4
 1.37545 -+#define bfd_mach_sparc_v8plusa         5 /* with ultrasparc add'ns.  */
 1.37546 -+#define bfd_mach_sparc_sparclite_le    6
 1.37547 -+#define bfd_mach_sparc_v9              7
 1.37548 -+#define bfd_mach_sparc_v9a             8 /* with ultrasparc add'ns.  */
 1.37549 -+#define bfd_mach_sparc_v8plusb         9 /* with cheetah add'ns.  */
 1.37550 -+#define bfd_mach_sparc_v9b             10 /* with cheetah add'ns.  */
 1.37551 -+/* Nonzero if MACH has the v9 instruction set.  */
 1.37552 -+#define bfd_mach_sparc_v9_p(mach) \
 1.37553 -+  ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9b \
 1.37554 -+   && (mach) != bfd_mach_sparc_sparclite_le)
 1.37555 -+/* Nonzero if MACH is a 64 bit sparc architecture.  */
 1.37556 -+#define bfd_mach_sparc_64bit_p(mach) \
 1.37557 -+  ((mach) >= bfd_mach_sparc_v9 && (mach) != bfd_mach_sparc_v8plusb)
 1.37558 -+  bfd_arch_spu,       /* PowerPC SPU */
 1.37559 -+#define bfd_mach_spu           256 
 1.37560 -+  bfd_arch_mips,      /* MIPS Rxxxx */
 1.37561 -+#define bfd_mach_mips3000              3000
 1.37562 -+#define bfd_mach_mips3900              3900
 1.37563 -+#define bfd_mach_mips4000              4000
 1.37564 -+#define bfd_mach_mips4010              4010
 1.37565 -+#define bfd_mach_mips4100              4100
 1.37566 -+#define bfd_mach_mips4111              4111
 1.37567 -+#define bfd_mach_mips4120              4120
 1.37568 -+#define bfd_mach_mips4300              4300
 1.37569 -+#define bfd_mach_mips4400              4400
 1.37570 -+#define bfd_mach_mips4600              4600
 1.37571 -+#define bfd_mach_mips4650              4650
 1.37572 -+#define bfd_mach_mips5000              5000
 1.37573 -+#define bfd_mach_mips5400              5400
 1.37574 -+#define bfd_mach_mips5500              5500
 1.37575 -+#define bfd_mach_mips6000              6000
 1.37576 -+#define bfd_mach_mips7000              7000
 1.37577 -+#define bfd_mach_mips8000              8000
 1.37578 -+#define bfd_mach_mips9000              9000
 1.37579 -+#define bfd_mach_mips10000             10000
 1.37580 -+#define bfd_mach_mips12000             12000
 1.37581 -+#define bfd_mach_mips16                16
 1.37582 -+#define bfd_mach_mips5                 5
 1.37583 -+#define bfd_mach_mips_sb1              12310201 /* octal 'SB', 01 */
 1.37584 -+#define bfd_mach_mipsisa32             32
 1.37585 -+#define bfd_mach_mipsisa32r2           33
 1.37586 -+#define bfd_mach_mipsisa64             64
 1.37587 -+#define bfd_mach_mipsisa64r2           65
 1.37588 -+  bfd_arch_i386,      /* Intel 386 */
 1.37589 -+#define bfd_mach_i386_i386 1
 1.37590 -+#define bfd_mach_i386_i8086 2
 1.37591 -+#define bfd_mach_i386_i386_intel_syntax 3
 1.37592 -+#define bfd_mach_x86_64 64
 1.37593 -+#define bfd_mach_x86_64_intel_syntax 65
 1.37594 -+  bfd_arch_we32k,     /* AT&T WE32xxx */
 1.37595 -+  bfd_arch_tahoe,     /* CCI/Harris Tahoe */
 1.37596 -+  bfd_arch_i860,      /* Intel 860 */
 1.37597 -+  bfd_arch_i370,      /* IBM 360/370 Mainframes */
 1.37598 -+  bfd_arch_romp,      /* IBM ROMP PC/RT */
 1.37599 -+  bfd_arch_convex,    /* Convex */
 1.37600 -+  bfd_arch_m88k,      /* Motorola 88xxx */
 1.37601 -+  bfd_arch_m98k,      /* Motorola 98xxx */
 1.37602 -+  bfd_arch_pyramid,   /* Pyramid Technology */
 1.37603 -+  bfd_arch_h8300,     /* Renesas H8/300 (formerly Hitachi H8/300) */
 1.37604 -+#define bfd_mach_h8300    1
 1.37605 -+#define bfd_mach_h8300h   2
 1.37606 -+#define bfd_mach_h8300s   3
 1.37607 -+#define bfd_mach_h8300hn  4
 1.37608 -+#define bfd_mach_h8300sn  5
 1.37609 -+#define bfd_mach_h8300sx  6
 1.37610 -+#define bfd_mach_h8300sxn 7
 1.37611 -+  bfd_arch_pdp11,     /* DEC PDP-11 */
 1.37612 -+  bfd_arch_powerpc,   /* PowerPC */
 1.37613 -+#define bfd_mach_ppc           32
 1.37614 -+#define bfd_mach_ppc64         64
 1.37615 -+#define bfd_mach_ppc_403       403
 1.37616 -+#define bfd_mach_ppc_403gc     4030
 1.37617 -+#define bfd_mach_ppc_505       505
 1.37618 -+#define bfd_mach_ppc_601       601
 1.37619 -+#define bfd_mach_ppc_602       602
 1.37620 -+#define bfd_mach_ppc_603       603
 1.37621 -+#define bfd_mach_ppc_ec603e    6031
 1.37622 -+#define bfd_mach_ppc_604       604
 1.37623 -+#define bfd_mach_ppc_620       620
 1.37624 -+#define bfd_mach_ppc_630       630
 1.37625 -+#define bfd_mach_ppc_750       750
 1.37626 -+#define bfd_mach_ppc_860       860
 1.37627 -+#define bfd_mach_ppc_a35       35
 1.37628 -+#define bfd_mach_ppc_rs64ii    642
 1.37629 -+#define bfd_mach_ppc_rs64iii   643
 1.37630 -+#define bfd_mach_ppc_7400      7400
 1.37631 -+#define bfd_mach_ppc_e500      500
 1.37632 -+  bfd_arch_rs6000,    /* IBM RS/6000 */
 1.37633 -+#define bfd_mach_rs6k          6000
 1.37634 -+#define bfd_mach_rs6k_rs1      6001
 1.37635 -+#define bfd_mach_rs6k_rsc      6003
 1.37636 -+#define bfd_mach_rs6k_rs2      6002
 1.37637 -+  bfd_arch_hppa,      /* HP PA RISC */
 1.37638 -+#define bfd_mach_hppa10        10
 1.37639 -+#define bfd_mach_hppa11        11
 1.37640 -+#define bfd_mach_hppa20        20
 1.37641 -+#define bfd_mach_hppa20w       25
 1.37642 -+  bfd_arch_d10v,      /* Mitsubishi D10V */
 1.37643 -+#define bfd_mach_d10v          1
 1.37644 -+#define bfd_mach_d10v_ts2      2
 1.37645 -+#define bfd_mach_d10v_ts3      3
 1.37646 -+  bfd_arch_d30v,      /* Mitsubishi D30V */
 1.37647 -+  bfd_arch_dlx,       /* DLX */
 1.37648 -+  bfd_arch_m68hc11,   /* Motorola 68HC11 */
 1.37649 -+  bfd_arch_m68hc12,   /* Motorola 68HC12 */
 1.37650 -+#define bfd_mach_m6812_default 0
 1.37651 -+#define bfd_mach_m6812         1
 1.37652 -+#define bfd_mach_m6812s        2
 1.37653 -+  bfd_arch_z8k,       /* Zilog Z8000 */
 1.37654 -+#define bfd_mach_z8001         1
 1.37655 -+#define bfd_mach_z8002         2
 1.37656 -+  bfd_arch_h8500,     /* Renesas H8/500 (formerly Hitachi H8/500) */
 1.37657 -+  bfd_arch_sh,        /* Renesas / SuperH SH (formerly Hitachi SH) */
 1.37658 -+#define bfd_mach_sh            1
 1.37659 -+#define bfd_mach_sh2        0x20
 1.37660 -+#define bfd_mach_sh_dsp     0x2d
 1.37661 -+#define bfd_mach_sh2a       0x2a
 1.37662 -+#define bfd_mach_sh2a_nofpu 0x2b
 1.37663 -+#define bfd_mach_sh2a_nofpu_or_sh4_nommu_nofpu 0x2a1
 1.37664 -+#define bfd_mach_sh2a_nofpu_or_sh3_nommu 0x2a2
 1.37665 -+#define bfd_mach_sh2a_or_sh4  0x2a3
 1.37666 -+#define bfd_mach_sh2a_or_sh3e 0x2a4
 1.37667 -+#define bfd_mach_sh2e       0x2e
 1.37668 -+#define bfd_mach_sh3        0x30
 1.37669 -+#define bfd_mach_sh3_nommu  0x31
 1.37670 -+#define bfd_mach_sh3_dsp    0x3d
 1.37671 -+#define bfd_mach_sh3e       0x3e
 1.37672 -+#define bfd_mach_sh4        0x40
 1.37673 -+#define bfd_mach_sh4_nofpu  0x41
 1.37674 -+#define bfd_mach_sh4_nommu_nofpu  0x42
 1.37675 -+#define bfd_mach_sh4a       0x4a
 1.37676 -+#define bfd_mach_sh4a_nofpu 0x4b
 1.37677 -+#define bfd_mach_sh4al_dsp  0x4d
 1.37678 -+#define bfd_mach_sh5        0x50
 1.37679 -+  bfd_arch_alpha,     /* Dec Alpha */
 1.37680 -+#define bfd_mach_alpha_ev4  0x10
 1.37681 -+#define bfd_mach_alpha_ev5  0x20
 1.37682 -+#define bfd_mach_alpha_ev6  0x30
 1.37683 -+  bfd_arch_arm,       /* Advanced Risc Machines ARM.  */
 1.37684 -+#define bfd_mach_arm_unknown   0
 1.37685 -+#define bfd_mach_arm_2         1
 1.37686 -+#define bfd_mach_arm_2a        2
 1.37687 -+#define bfd_mach_arm_3         3
 1.37688 -+#define bfd_mach_arm_3M        4
 1.37689 -+#define bfd_mach_arm_4         5
 1.37690 -+#define bfd_mach_arm_4T        6
 1.37691 -+#define bfd_mach_arm_5         7
 1.37692 -+#define bfd_mach_arm_5T        8
 1.37693 -+#define bfd_mach_arm_5TE       9
 1.37694 -+#define bfd_mach_arm_XScale    10
 1.37695 -+#define bfd_mach_arm_ep9312    11
 1.37696 -+#define bfd_mach_arm_iWMMXt    12
 1.37697 -+#define bfd_mach_arm_iWMMXt2   13
 1.37698 -+  bfd_arch_ns32k,     /* National Semiconductors ns32000 */
 1.37699 -+  bfd_arch_w65,       /* WDC 65816 */
 1.37700 -+  bfd_arch_tic30,     /* Texas Instruments TMS320C30 */
 1.37701 -+  bfd_arch_tic4x,     /* Texas Instruments TMS320C3X/4X */
 1.37702 -+#define bfd_mach_tic3x         30
 1.37703 -+#define bfd_mach_tic4x         40
 1.37704 -+  bfd_arch_tic54x,    /* Texas Instruments TMS320C54X */
 1.37705 -+  bfd_arch_tic80,     /* TI TMS320c80 (MVP) */
 1.37706 -+  bfd_arch_v850,      /* NEC V850 */
 1.37707 -+#define bfd_mach_v850          1
 1.37708 -+#define bfd_mach_v850e         'E'
 1.37709 -+#define bfd_mach_v850e1        '1'
 1.37710 -+  bfd_arch_arc,       /* ARC Cores */
 1.37711 -+#define bfd_mach_arc_5         5
 1.37712 -+#define bfd_mach_arc_6         6
 1.37713 -+#define bfd_mach_arc_7         7
 1.37714 -+#define bfd_mach_arc_8         8
 1.37715 -+ bfd_arch_m32c,     /* Renesas M16C/M32C.  */
 1.37716 -+#define bfd_mach_m16c        0x75
 1.37717 -+#define bfd_mach_m32c        0x78
 1.37718 -+  bfd_arch_m32r,      /* Renesas M32R (formerly Mitsubishi M32R/D) */
 1.37719 -+#define bfd_mach_m32r          1 /* For backwards compatibility.  */
 1.37720 -+#define bfd_mach_m32rx         'x'
 1.37721 -+#define bfd_mach_m32r2         '2'
 1.37722 -+  bfd_arch_mn10200,   /* Matsushita MN10200 */
 1.37723 -+  bfd_arch_mn10300,   /* Matsushita MN10300 */
 1.37724 -+#define bfd_mach_mn10300               300
 1.37725 -+#define bfd_mach_am33          330
 1.37726 -+#define bfd_mach_am33_2        332
 1.37727 -+  bfd_arch_fr30,
 1.37728 -+#define bfd_mach_fr30          0x46523330
 1.37729 -+  bfd_arch_frv,
 1.37730 -+#define bfd_mach_frv           1
 1.37731 -+#define bfd_mach_frvsimple     2
 1.37732 -+#define bfd_mach_fr300         300
 1.37733 -+#define bfd_mach_fr400         400
 1.37734 -+#define bfd_mach_fr450         450
 1.37735 -+#define bfd_mach_frvtomcat     499     /* fr500 prototype */
 1.37736 -+#define bfd_mach_fr500         500
 1.37737 -+#define bfd_mach_fr550         550
 1.37738 -+  bfd_arch_mcore,
 1.37739 -+  bfd_arch_mep,
 1.37740 -+#define bfd_mach_mep           1
 1.37741 -+#define bfd_mach_mep_h1        0x6831
 1.37742 -+  bfd_arch_ia64,      /* HP/Intel ia64 */
 1.37743 -+#define bfd_mach_ia64_elf64    64
 1.37744 -+#define bfd_mach_ia64_elf32    32
 1.37745 -+  bfd_arch_ip2k,      /* Ubicom IP2K microcontrollers. */
 1.37746 -+#define bfd_mach_ip2022        1
 1.37747 -+#define bfd_mach_ip2022ext     2
 1.37748 -+ bfd_arch_iq2000,     /* Vitesse IQ2000.  */
 1.37749 -+#define bfd_mach_iq2000        1
 1.37750 -+#define bfd_mach_iq10          2
 1.37751 -+  bfd_arch_mt,
 1.37752 -+#define bfd_mach_ms1           1
 1.37753 -+#define bfd_mach_mrisc2        2
 1.37754 -+#define bfd_mach_ms2           3
 1.37755 -+  bfd_arch_pj,
 1.37756 -+  bfd_arch_avr,       /* Atmel AVR microcontrollers.  */
 1.37757 -+#define bfd_mach_avr1          1
 1.37758 -+#define bfd_mach_avr2          2
 1.37759 -+#define bfd_mach_avr3          3
 1.37760 -+#define bfd_mach_avr4          4
 1.37761 -+#define bfd_mach_avr5          5
 1.37762 -+#define bfd_mach_avr6          6
 1.37763 -+  bfd_arch_avr32,     /* Atmel AVR32 */
 1.37764 -+#define bfd_mach_avr32_ap      7000
 1.37765 -+#define bfd_mach_avr32_uc      3000
 1.37766 -+#define bfd_mach_avr32_ucr1    3001
 1.37767 -+#define bfd_mach_avr32_ucr2    3002
 1.37768 -+  bfd_arch_bfin,        /* ADI Blackfin */
 1.37769 -+#define bfd_mach_bfin          1
 1.37770 -+  bfd_arch_cr16,       /* National Semiconductor CompactRISC (ie CR16). */
 1.37771 -+#define bfd_mach_cr16          1
 1.37772 -+  bfd_arch_cr16c,       /* National Semiconductor CompactRISC. */
 1.37773 -+#define bfd_mach_cr16c         1
 1.37774 -+  bfd_arch_crx,       /*  National Semiconductor CRX.  */
 1.37775 -+#define bfd_mach_crx           1
 1.37776 -+  bfd_arch_cris,      /* Axis CRIS */
 1.37777 -+#define bfd_mach_cris_v0_v10   255
 1.37778 -+#define bfd_mach_cris_v32      32
 1.37779 -+#define bfd_mach_cris_v10_v32  1032
 1.37780 -+  bfd_arch_s390,      /* IBM s390 */
 1.37781 -+#define bfd_mach_s390_31       31
 1.37782 -+#define bfd_mach_s390_64       64
 1.37783 -+  bfd_arch_score,     /* Sunplus score */ 
 1.37784 -+  bfd_arch_openrisc,  /* OpenRISC */
 1.37785 -+  bfd_arch_mmix,      /* Donald Knuth's educational processor.  */
 1.37786 -+  bfd_arch_xstormy16,
 1.37787 -+#define bfd_mach_xstormy16     1
 1.37788 -+  bfd_arch_msp430,    /* Texas Instruments MSP430 architecture.  */
 1.37789 -+#define bfd_mach_msp11          11
 1.37790 -+#define bfd_mach_msp110         110
 1.37791 -+#define bfd_mach_msp12          12
 1.37792 -+#define bfd_mach_msp13          13
 1.37793 -+#define bfd_mach_msp14          14
 1.37794 -+#define bfd_mach_msp15          15
 1.37795 -+#define bfd_mach_msp16          16
 1.37796 -+#define bfd_mach_msp21          21
 1.37797 -+#define bfd_mach_msp31          31
 1.37798 -+#define bfd_mach_msp32          32
 1.37799 -+#define bfd_mach_msp33          33
 1.37800 -+#define bfd_mach_msp41          41
 1.37801 -+#define bfd_mach_msp42          42
 1.37802 -+#define bfd_mach_msp43          43
 1.37803 -+#define bfd_mach_msp44          44
 1.37804 -+  bfd_arch_xc16x,     /* Infineon's XC16X Series.               */
 1.37805 -+#define bfd_mach_xc16x         1
 1.37806 -+#define bfd_mach_xc16xl        2
 1.37807 -+#define bfd_mach_xc16xs         3
 1.37808 -+  bfd_arch_xtensa,    /* Tensilica's Xtensa cores.  */
 1.37809 -+#define bfd_mach_xtensa        1
 1.37810 -+   bfd_arch_maxq,     /* Dallas MAXQ 10/20 */
 1.37811 -+#define bfd_mach_maxq10    10
 1.37812 -+#define bfd_mach_maxq20    20
 1.37813 -+  bfd_arch_z80,
 1.37814 -+#define bfd_mach_z80strict      1 /* No undocumented opcodes.  */
 1.37815 -+#define bfd_mach_z80            3 /* With ixl, ixh, iyl, and iyh.  */
 1.37816 -+#define bfd_mach_z80full        7 /* All undocumented instructions.  */
 1.37817 -+#define bfd_mach_r800           11 /* R800: successor with multiplication.  */
 1.37818 -+  bfd_arch_last
 1.37819 -+  };
 1.37820 -+
 1.37821 -+typedef struct bfd_arch_info
 1.37822 -+{
 1.37823 -+  int bits_per_word;
 1.37824 -+  int bits_per_address;
 1.37825 -+  int bits_per_byte;
 1.37826 -+  enum bfd_architecture arch;
 1.37827 -+  unsigned long mach;
 1.37828 -+  const char *arch_name;
 1.37829 -+  const char *printable_name;
 1.37830 -+  unsigned int section_align_power;
 1.37831 -+  /* TRUE if this is the default machine for the architecture.
 1.37832 -+     The default arch should be the first entry for an arch so that
 1.37833 -+     all the entries for that arch can be accessed via <<next>>.  */
 1.37834 -+  bfd_boolean the_default;
 1.37835 -+  const struct bfd_arch_info * (*compatible)
 1.37836 -+    (const struct bfd_arch_info *a, const struct bfd_arch_info *b);
 1.37837 -+
 1.37838 -+  bfd_boolean (*scan) (const struct bfd_arch_info *, const char *);
 1.37839 -+
 1.37840 -+  const struct bfd_arch_info *next;
 1.37841 -+}
 1.37842 -+bfd_arch_info_type;
 1.37843 -+
 1.37844 -+const char *bfd_printable_name (bfd *abfd);
 1.37845 -+
 1.37846 -+const bfd_arch_info_type *bfd_scan_arch (const char *string);
 1.37847 -+
 1.37848 -+const char **bfd_arch_list (void);
 1.37849 -+
 1.37850 -+const bfd_arch_info_type *bfd_arch_get_compatible
 1.37851 -+   (const bfd *abfd, const bfd *bbfd, bfd_boolean accept_unknowns);
 1.37852 -+
 1.37853 -+void bfd_set_arch_info (bfd *abfd, const bfd_arch_info_type *arg);
 1.37854 -+
 1.37855 -+enum bfd_architecture bfd_get_arch (bfd *abfd);
 1.37856 -+
 1.37857 -+unsigned long bfd_get_mach (bfd *abfd);
 1.37858 -+
 1.37859 -+unsigned int bfd_arch_bits_per_byte (bfd *abfd);
 1.37860 -+
 1.37861 -+unsigned int bfd_arch_bits_per_address (bfd *abfd);
 1.37862 -+
 1.37863 -+const bfd_arch_info_type *bfd_get_arch_info (bfd *abfd);
 1.37864 -+
 1.37865 -+const bfd_arch_info_type *bfd_lookup_arch
 1.37866 -+   (enum bfd_architecture arch, unsigned long machine);
 1.37867 -+
 1.37868 -+const char *bfd_printable_arch_mach
 1.37869 -+   (enum bfd_architecture arch, unsigned long machine);
 1.37870 -+
 1.37871 -+unsigned int bfd_octets_per_byte (bfd *abfd);
 1.37872 -+
 1.37873 -+unsigned int bfd_arch_mach_octets_per_byte
 1.37874 -+   (enum bfd_architecture arch, unsigned long machine);
 1.37875 -+
 1.37876 -+/* Extracted from reloc.c.  */
 1.37877 -+typedef enum bfd_reloc_status
 1.37878 -+{
 1.37879 -+  /* No errors detected.  */
 1.37880 -+  bfd_reloc_ok,
 1.37881 -+
 1.37882 -+  /* The relocation was performed, but there was an overflow.  */
 1.37883 -+  bfd_reloc_overflow,
 1.37884 -+
 1.37885 -+  /* The address to relocate was not within the section supplied.  */
 1.37886 -+  bfd_reloc_outofrange,
 1.37887 -+
 1.37888 -+  /* Used by special functions.  */
 1.37889 -+  bfd_reloc_continue,
 1.37890 -+
 1.37891 -+  /* Unsupported relocation size requested.  */
 1.37892 -+  bfd_reloc_notsupported,
 1.37893 -+
 1.37894 -+  /* Unused.  */
 1.37895 -+  bfd_reloc_other,
 1.37896 -+
 1.37897 -+  /* The symbol to relocate against was undefined.  */
 1.37898 -+  bfd_reloc_undefined,
 1.37899 -+
 1.37900 -+  /* The relocation was performed, but may not be ok - presently
 1.37901 -+     generated only when linking i960 coff files with i960 b.out
 1.37902 -+     symbols.  If this type is returned, the error_message argument
 1.37903 -+     to bfd_perform_relocation will be set.  */
 1.37904 -+  bfd_reloc_dangerous
 1.37905 -+ }
 1.37906 -+ bfd_reloc_status_type;
 1.37907 -+
 1.37908 -+
 1.37909 -+typedef struct reloc_cache_entry
 1.37910 -+{
 1.37911 -+  /* A pointer into the canonical table of pointers.  */
 1.37912 -+  struct bfd_symbol **sym_ptr_ptr;
 1.37913 -+
 1.37914 -+  /* offset in section.  */
 1.37915 -+  bfd_size_type address;
 1.37916 -+
 1.37917 -+  /* addend for relocation value.  */
 1.37918 -+  bfd_vma addend;
 1.37919 -+
 1.37920 -+  /* Pointer to how to perform the required relocation.  */
 1.37921 -+  reloc_howto_type *howto;
 1.37922 -+
 1.37923 -+}
 1.37924 -+arelent;
 1.37925 -+
 1.37926 -+enum complain_overflow
 1.37927 -+{
 1.37928 -+  /* Do not complain on overflow.  */
 1.37929 -+  complain_overflow_dont,
 1.37930 -+
 1.37931 -+  /* Complain if the value overflows when considered as a signed
 1.37932 -+     number one bit larger than the field.  ie. A bitfield of N bits
 1.37933 -+     is allowed to represent -2**n to 2**n-1.  */
 1.37934 -+  complain_overflow_bitfield,
 1.37935 -+
 1.37936 -+  /* Complain if the value overflows when considered as a signed
 1.37937 -+     number.  */
 1.37938 -+  complain_overflow_signed,
 1.37939 -+
 1.37940 -+  /* Complain if the value overflows when considered as an
 1.37941 -+     unsigned number.  */
 1.37942 -+  complain_overflow_unsigned
 1.37943 -+};
 1.37944 -+
 1.37945 -+struct reloc_howto_struct
 1.37946 -+{
 1.37947 -+  /*  The type field has mainly a documentary use - the back end can
 1.37948 -+      do what it wants with it, though normally the back end's
 1.37949 -+      external idea of what a reloc number is stored
 1.37950 -+      in this field.  For example, a PC relative word relocation
 1.37951 -+      in a coff environment has the type 023 - because that's
 1.37952 -+      what the outside world calls a R_PCRWORD reloc.  */
 1.37953 -+  unsigned int type;
 1.37954 -+
 1.37955 -+  /*  The value the final relocation is shifted right by.  This drops
 1.37956 -+      unwanted data from the relocation.  */
 1.37957 -+  unsigned int rightshift;
 1.37958 -+
 1.37959 -+  /*  The size of the item to be relocated.  This is *not* a
 1.37960 -+      power-of-two measure.  To get the number of bytes operated
 1.37961 -+      on by a type of relocation, use bfd_get_reloc_size.  */
 1.37962 -+  int size;
 1.37963 -+
 1.37964 -+  /*  The number of bits in the item to be relocated.  This is used
 1.37965 -+      when doing overflow checking.  */
 1.37966 -+  unsigned int bitsize;
 1.37967 -+
 1.37968 -+  /*  Notes that the relocation is relative to the location in the
 1.37969 -+      data section of the addend.  The relocation function will
 1.37970 -+      subtract from the relocation value the address of the location
 1.37971 -+      being relocated.  */
 1.37972 -+  bfd_boolean pc_relative;
 1.37973 -+
 1.37974 -+  /*  The bit position of the reloc value in the destination.
 1.37975 -+      The relocated value is left shifted by this amount.  */
 1.37976 -+  unsigned int bitpos;
 1.37977 -+
 1.37978 -+  /* What type of overflow error should be checked for when
 1.37979 -+     relocating.  */
 1.37980 -+  enum complain_overflow complain_on_overflow;
 1.37981 -+
 1.37982 -+  /* If this field is non null, then the supplied function is
 1.37983 -+     called rather than the normal function.  This allows really
 1.37984 -+     strange relocation methods to be accommodated (e.g., i960 callj
 1.37985 -+     instructions).  */
 1.37986 -+  bfd_reloc_status_type (*special_function)
 1.37987 -+    (bfd *, arelent *, struct bfd_symbol *, void *, asection *,
 1.37988 -+     bfd *, char **);
 1.37989 -+
 1.37990 -+  /* The textual name of the relocation type.  */
 1.37991 -+  char *name;
 1.37992 -+
 1.37993 -+  /* Some formats record a relocation addend in the section contents
 1.37994 -+     rather than with the relocation.  For ELF formats this is the
 1.37995 -+     distinction between USE_REL and USE_RELA (though the code checks
 1.37996 -+     for USE_REL == 1/0).  The value of this field is TRUE if the
 1.37997 -+     addend is recorded with the section contents; when performing a
 1.37998 -+     partial link (ld -r) the section contents (the data) will be
 1.37999 -+     modified.  The value of this field is FALSE if addends are
 1.38000 -+     recorded with the relocation (in arelent.addend); when performing
 1.38001 -+     a partial link the relocation will be modified.
 1.38002 -+     All relocations for all ELF USE_RELA targets should set this field
 1.38003 -+     to FALSE (values of TRUE should be looked on with suspicion).
 1.38004 -+     However, the converse is not true: not all relocations of all ELF
 1.38005 -+     USE_REL targets set this field to TRUE.  Why this is so is peculiar
 1.38006 -+     to each particular target.  For relocs that aren't used in partial
 1.38007 -+     links (e.g. GOT stuff) it doesn't matter what this is set to.  */
 1.38008 -+  bfd_boolean partial_inplace;
 1.38009 -+
 1.38010 -+  /* src_mask selects the part of the instruction (or data) to be used
 1.38011 -+     in the relocation sum.  If the target relocations don't have an
 1.38012 -+     addend in the reloc, eg. ELF USE_REL, src_mask will normally equal
 1.38013 -+     dst_mask to extract the addend from the section contents.  If
 1.38014 -+     relocations do have an addend in the reloc, eg. ELF USE_RELA, this
 1.38015 -+     field should be zero.  Non-zero values for ELF USE_RELA targets are
 1.38016 -+     bogus as in those cases the value in the dst_mask part of the
 1.38017 -+     section contents should be treated as garbage.  */
 1.38018 -+  bfd_vma src_mask;
 1.38019 -+
 1.38020 -+  /* dst_mask selects which parts of the instruction (or data) are
 1.38021 -+     replaced with a relocated value.  */
 1.38022 -+  bfd_vma dst_mask;
 1.38023 -+
 1.38024 -+  /* When some formats create PC relative instructions, they leave
 1.38025 -+     the value of the pc of the place being relocated in the offset
 1.38026 -+     slot of the instruction, so that a PC relative relocation can
 1.38027 -+     be made just by adding in an ordinary offset (e.g., sun3 a.out).
 1.38028 -+     Some formats leave the displacement part of an instruction
 1.38029 -+     empty (e.g., m88k bcs); this flag signals the fact.  */
 1.38030 -+  bfd_boolean pcrel_offset;
 1.38031 -+};
 1.38032 -+
 1.38033 -+#define HOWTO(C, R, S, B, P, BI, O, SF, NAME, INPLACE, MASKSRC, MASKDST, PC) \
 1.38034 -+  { (unsigned) C, R, S, B, P, BI, O, SF, NAME, INPLACE, MASKSRC, MASKDST, PC }
 1.38035 -+#define NEWHOWTO(FUNCTION, NAME, SIZE, REL, IN) \
 1.38036 -+  HOWTO (0, 0, SIZE, 0, REL, 0, complain_overflow_dont, FUNCTION, \
 1.38037 -+         NAME, FALSE, 0, 0, IN)
 1.38038 -+
 1.38039 -+#define EMPTY_HOWTO(C) \
 1.38040 -+  HOWTO ((C), 0, 0, 0, FALSE, 0, complain_overflow_dont, NULL, \
 1.38041 -+         NULL, FALSE, 0, 0, FALSE)
 1.38042 -+
 1.38043 -+#define HOWTO_PREPARE(relocation, symbol)               \
 1.38044 -+  {                                                     \
 1.38045 -+    if (symbol != NULL)                                 \
 1.38046 -+      {                                                 \
 1.38047 -+        if (bfd_is_com_section (symbol->section))       \
 1.38048 -+          {                                             \
 1.38049 -+            relocation = 0;                             \
 1.38050 -+          }                                             \
 1.38051 -+        else                                            \
 1.38052 -+          {                                             \
 1.38053 -+            relocation = symbol->value;                 \
 1.38054 -+          }                                             \
 1.38055 -+      }                                                 \
 1.38056 -+  }
 1.38057 -+
 1.38058 -+unsigned int bfd_get_reloc_size (reloc_howto_type *);
 1.38059 -+
 1.38060 -+typedef struct relent_chain
 1.38061 -+{
 1.38062 -+  arelent relent;
 1.38063 -+  struct relent_chain *next;
 1.38064 -+}
 1.38065 -+arelent_chain;
 1.38066 -+
 1.38067 -+bfd_reloc_status_type bfd_check_overflow
 1.38068 -+   (enum complain_overflow how,
 1.38069 -+    unsigned int bitsize,
 1.38070 -+    unsigned int rightshift,
 1.38071 -+    unsigned int addrsize,
 1.38072 -+    bfd_vma relocation);
 1.38073 -+
 1.38074 -+bfd_reloc_status_type bfd_perform_relocation
 1.38075 -+   (bfd *abfd,
 1.38076 -+    arelent *reloc_entry,
 1.38077 -+    void *data,
 1.38078 -+    asection *input_section,
 1.38079 -+    bfd *output_bfd,
 1.38080 -+    char **error_message);
 1.38081 -+
 1.38082 -+bfd_reloc_status_type bfd_install_relocation
 1.38083 -+   (bfd *abfd,
 1.38084 -+    arelent *reloc_entry,
 1.38085 -+    void *data, bfd_vma data_start,
 1.38086 -+    asection *input_section,
 1.38087 -+    char **error_message);
 1.38088 -+
 1.38089 -+enum bfd_reloc_code_real {
 1.38090 -+  _dummy_first_bfd_reloc_code_real,
 1.38091 -+
 1.38092 -+
 1.38093 -+/* Basic absolute relocations of N bits.  */
 1.38094 -+  BFD_RELOC_64,
 1.38095 -+  BFD_RELOC_32,
 1.38096 -+  BFD_RELOC_26,
 1.38097 -+  BFD_RELOC_24,
 1.38098 -+  BFD_RELOC_16,
 1.38099 -+  BFD_RELOC_14,
 1.38100 -+  BFD_RELOC_8,
 1.38101 -+
 1.38102 -+/* PC-relative relocations.  Sometimes these are relative to the address
 1.38103 -+of the relocation itself; sometimes they are relative to the start of
 1.38104 -+the section containing the relocation.  It depends on the specific target.
 1.38105 -+
 1.38106 -+The 24-bit relocation is used in some Intel 960 configurations.  */
 1.38107 -+  BFD_RELOC_64_PCREL,
 1.38108 -+  BFD_RELOC_32_PCREL,
 1.38109 -+  BFD_RELOC_24_PCREL,
 1.38110 -+  BFD_RELOC_16_PCREL,
 1.38111 -+  BFD_RELOC_12_PCREL,
 1.38112 -+  BFD_RELOC_8_PCREL,
 1.38113 -+
 1.38114 -+/* Section relative relocations.  Some targets need this for DWARF2.  */
 1.38115 -+  BFD_RELOC_32_SECREL,
 1.38116 -+
 1.38117 -+/* For ELF.  */
 1.38118 -+  BFD_RELOC_32_GOT_PCREL,
 1.38119 -+  BFD_RELOC_16_GOT_PCREL,
 1.38120 -+  BFD_RELOC_8_GOT_PCREL,
 1.38121 -+  BFD_RELOC_32_GOTOFF,
 1.38122 -+  BFD_RELOC_16_GOTOFF,
 1.38123 -+  BFD_RELOC_LO16_GOTOFF,
 1.38124 -+  BFD_RELOC_HI16_GOTOFF,
 1.38125 -+  BFD_RELOC_HI16_S_GOTOFF,
 1.38126 -+  BFD_RELOC_8_GOTOFF,
 1.38127 -+  BFD_RELOC_64_PLT_PCREL,
 1.38128 -+  BFD_RELOC_32_PLT_PCREL,
 1.38129 -+  BFD_RELOC_24_PLT_PCREL,
 1.38130 -+  BFD_RELOC_16_PLT_PCREL,
 1.38131 -+  BFD_RELOC_8_PLT_PCREL,
 1.38132 -+  BFD_RELOC_64_PLTOFF,
 1.38133 -+  BFD_RELOC_32_PLTOFF,
 1.38134 -+  BFD_RELOC_16_PLTOFF,
 1.38135 -+  BFD_RELOC_LO16_PLTOFF,
 1.38136 -+  BFD_RELOC_HI16_PLTOFF,
 1.38137 -+  BFD_RELOC_HI16_S_PLTOFF,
 1.38138 -+  BFD_RELOC_8_PLTOFF,
 1.38139 -+
 1.38140 -+/* Relocations used by 68K ELF.  */
 1.38141 -+  BFD_RELOC_68K_GLOB_DAT,
 1.38142 -+  BFD_RELOC_68K_JMP_SLOT,
 1.38143 -+  BFD_RELOC_68K_RELATIVE,
 1.38144 -+
 1.38145 -+/* Linkage-table relative.  */
 1.38146 -+  BFD_RELOC_32_BASEREL,
 1.38147 -+  BFD_RELOC_16_BASEREL,
 1.38148 -+  BFD_RELOC_LO16_BASEREL,
 1.38149 -+  BFD_RELOC_HI16_BASEREL,
 1.38150 -+  BFD_RELOC_HI16_S_BASEREL,
 1.38151 -+  BFD_RELOC_8_BASEREL,
 1.38152 -+  BFD_RELOC_RVA,
 1.38153 -+
 1.38154 -+/* Absolute 8-bit relocation, but used to form an address like 0xFFnn.  */
 1.38155 -+  BFD_RELOC_8_FFnn,
 1.38156 -+
 1.38157 -+/* These PC-relative relocations are stored as word displacements --
 1.38158 -+i.e., byte displacements shifted right two bits.  The 30-bit word
 1.38159 -+displacement (<<32_PCREL_S2>> -- 32 bits, shifted 2) is used on the
 1.38160 -+SPARC.  (SPARC tools generally refer to this as <<WDISP30>>.)  The
 1.38161 -+signed 16-bit displacement is used on the MIPS, and the 23-bit
 1.38162 -+displacement is used on the Alpha.  */
 1.38163 -+  BFD_RELOC_32_PCREL_S2,
 1.38164 -+  BFD_RELOC_16_PCREL_S2,
 1.38165 -+  BFD_RELOC_23_PCREL_S2,
 1.38166 -+
 1.38167 -+/* High 22 bits and low 10 bits of 32-bit value, placed into lower bits of
 1.38168 -+the target word.  These are used on the SPARC.  */
 1.38169 -+  BFD_RELOC_HI22,
 1.38170 -+  BFD_RELOC_LO10,
 1.38171 -+
 1.38172 -+/* For systems that allocate a Global Pointer register, these are
 1.38173 -+displacements off that register.  These relocation types are
 1.38174 -+handled specially, because the value the register will have is
 1.38175 -+decided relatively late.  */
 1.38176 -+  BFD_RELOC_GPREL16,
 1.38177 -+  BFD_RELOC_GPREL32,
 1.38178 -+
 1.38179 -+/* Reloc types used for i960/b.out.  */
 1.38180 -+  BFD_RELOC_I960_CALLJ,
 1.38181 -+
 1.38182 -+/* SPARC ELF relocations.  There is probably some overlap with other
 1.38183 -+relocation types already defined.  */
 1.38184 -+  BFD_RELOC_NONE,
 1.38185 -+  BFD_RELOC_SPARC_WDISP22,
 1.38186 -+  BFD_RELOC_SPARC22,
 1.38187 -+  BFD_RELOC_SPARC13,
 1.38188 -+  BFD_RELOC_SPARC_GOT10,
 1.38189 -+  BFD_RELOC_SPARC_GOT13,
 1.38190 -+  BFD_RELOC_SPARC_GOT22,
 1.38191 -+  BFD_RELOC_SPARC_PC10,
 1.38192 -+  BFD_RELOC_SPARC_PC22,
 1.38193 -+  BFD_RELOC_SPARC_WPLT30,
 1.38194 -+  BFD_RELOC_SPARC_COPY,
 1.38195 -+  BFD_RELOC_SPARC_GLOB_DAT,
 1.38196 -+  BFD_RELOC_SPARC_JMP_SLOT,
 1.38197 -+  BFD_RELOC_SPARC_RELATIVE,
 1.38198 -+  BFD_RELOC_SPARC_UA16,
 1.38199 -+  BFD_RELOC_SPARC_UA32,
 1.38200 -+  BFD_RELOC_SPARC_UA64,
 1.38201 -+
 1.38202 -+/* I think these are specific to SPARC a.out (e.g., Sun 4).  */
 1.38203 -+  BFD_RELOC_SPARC_BASE13,
 1.38204 -+  BFD_RELOC_SPARC_BASE22,
 1.38205 -+
 1.38206 -+/* SPARC64 relocations  */
 1.38207 -+#define BFD_RELOC_SPARC_64 BFD_RELOC_64
 1.38208 -+  BFD_RELOC_SPARC_10,
 1.38209 -+  BFD_RELOC_SPARC_11,
 1.38210 -+  BFD_RELOC_SPARC_OLO10,
 1.38211 -+  BFD_RELOC_SPARC_HH22,
 1.38212 -+  BFD_RELOC_SPARC_HM10,
 1.38213 -+  BFD_RELOC_SPARC_LM22,
 1.38214 -+  BFD_RELOC_SPARC_PC_HH22,
 1.38215 -+  BFD_RELOC_SPARC_PC_HM10,
 1.38216 -+  BFD_RELOC_SPARC_PC_LM22,
 1.38217 -+  BFD_RELOC_SPARC_WDISP16,
 1.38218 -+  BFD_RELOC_SPARC_WDISP19,
 1.38219 -+  BFD_RELOC_SPARC_7,
 1.38220 -+  BFD_RELOC_SPARC_6,
 1.38221 -+  BFD_RELOC_SPARC_5,
 1.38222 -+#define BFD_RELOC_SPARC_DISP64 BFD_RELOC_64_PCREL
 1.38223 -+  BFD_RELOC_SPARC_PLT32,
 1.38224 -+  BFD_RELOC_SPARC_PLT64,
 1.38225 -+  BFD_RELOC_SPARC_HIX22,
 1.38226 -+  BFD_RELOC_SPARC_LOX10,
 1.38227 -+  BFD_RELOC_SPARC_H44,
 1.38228 -+  BFD_RELOC_SPARC_M44,
 1.38229 -+  BFD_RELOC_SPARC_L44,
 1.38230 -+  BFD_RELOC_SPARC_REGISTER,
 1.38231 -+
 1.38232 -+/* SPARC little endian relocation  */
 1.38233 -+  BFD_RELOC_SPARC_REV32,
 1.38234 -+
 1.38235 -+/* SPARC TLS relocations  */
 1.38236 -+  BFD_RELOC_SPARC_TLS_GD_HI22,
 1.38237 -+  BFD_RELOC_SPARC_TLS_GD_LO10,
 1.38238 -+  BFD_RELOC_SPARC_TLS_GD_ADD,
 1.38239 -+  BFD_RELOC_SPARC_TLS_GD_CALL,
 1.38240 -+  BFD_RELOC_SPARC_TLS_LDM_HI22,
 1.38241 -+  BFD_RELOC_SPARC_TLS_LDM_LO10,
 1.38242 -+  BFD_RELOC_SPARC_TLS_LDM_ADD,
 1.38243 -+  BFD_RELOC_SPARC_TLS_LDM_CALL,
 1.38244 -+  BFD_RELOC_SPARC_TLS_LDO_HIX22,
 1.38245 -+  BFD_RELOC_SPARC_TLS_LDO_LOX10,
 1.38246 -+  BFD_RELOC_SPARC_TLS_LDO_ADD,
 1.38247 -+  BFD_RELOC_SPARC_TLS_IE_HI22,
 1.38248 -+  BFD_RELOC_SPARC_TLS_IE_LO10,
 1.38249 -+  BFD_RELOC_SPARC_TLS_IE_LD,
 1.38250 -+  BFD_RELOC_SPARC_TLS_IE_LDX,
 1.38251 -+  BFD_RELOC_SPARC_TLS_IE_ADD,
 1.38252 -+  BFD_RELOC_SPARC_TLS_LE_HIX22,
 1.38253 -+  BFD_RELOC_SPARC_TLS_LE_LOX10,
 1.38254 -+  BFD_RELOC_SPARC_TLS_DTPMOD32,
 1.38255 -+  BFD_RELOC_SPARC_TLS_DTPMOD64,
 1.38256 -+  BFD_RELOC_SPARC_TLS_DTPOFF32,
 1.38257 -+  BFD_RELOC_SPARC_TLS_DTPOFF64,
 1.38258 -+  BFD_RELOC_SPARC_TLS_TPOFF32,
 1.38259 -+  BFD_RELOC_SPARC_TLS_TPOFF64,
 1.38260 -+
 1.38261 -+/* SPU Relocations.  */
 1.38262 -+  BFD_RELOC_SPU_IMM7,
 1.38263 -+  BFD_RELOC_SPU_IMM8,
 1.38264 -+  BFD_RELOC_SPU_IMM10,
 1.38265 -+  BFD_RELOC_SPU_IMM10W,
 1.38266 -+  BFD_RELOC_SPU_IMM16,
 1.38267 -+  BFD_RELOC_SPU_IMM16W,
 1.38268 -+  BFD_RELOC_SPU_IMM18,
 1.38269 -+  BFD_RELOC_SPU_PCREL9a,
 1.38270 -+  BFD_RELOC_SPU_PCREL9b,
 1.38271 -+  BFD_RELOC_SPU_PCREL16,
 1.38272 -+  BFD_RELOC_SPU_LO16,
 1.38273 -+  BFD_RELOC_SPU_HI16,
 1.38274 -+  BFD_RELOC_SPU_PPU32,
 1.38275 -+  BFD_RELOC_SPU_PPU64,
 1.38276 -+
 1.38277 -+/* Alpha ECOFF and ELF relocations.  Some of these treat the symbol or
 1.38278 -+"addend" in some special way.
 1.38279 -+For GPDISP_HI16 ("gpdisp") relocations, the symbol is ignored when
 1.38280 -+writing; when reading, it will be the absolute section symbol.  The
 1.38281 -+addend is the displacement in bytes of the "lda" instruction from
 1.38282 -+the "ldah" instruction (which is at the address of this reloc).  */
 1.38283 -+  BFD_RELOC_ALPHA_GPDISP_HI16,
 1.38284 -+
 1.38285 -+/* For GPDISP_LO16 ("ignore") relocations, the symbol is handled as
 1.38286 -+with GPDISP_HI16 relocs.  The addend is ignored when writing the
 1.38287 -+relocations out, and is filled in with the file's GP value on
 1.38288 -+reading, for convenience.  */
 1.38289 -+  BFD_RELOC_ALPHA_GPDISP_LO16,
 1.38290 -+
 1.38291 -+/* The ELF GPDISP relocation is exactly the same as the GPDISP_HI16
 1.38292 -+relocation except that there is no accompanying GPDISP_LO16
 1.38293 -+relocation.  */
 1.38294 -+  BFD_RELOC_ALPHA_GPDISP,
 1.38295 -+
 1.38296 -+/* The Alpha LITERAL/LITUSE relocs are produced by a symbol reference;
 1.38297 -+the assembler turns it into a LDQ instruction to load the address of
 1.38298 -+the symbol, and then fills in a register in the real instruction.
 1.38299 -+
 1.38300 -+The LITERAL reloc, at the LDQ instruction, refers to the .lita
 1.38301 -+section symbol.  The addend is ignored when writing, but is filled
 1.38302 -+in with the file's GP value on reading, for convenience, as with the
 1.38303 -+GPDISP_LO16 reloc.
 1.38304 -+
 1.38305 -+The ELF_LITERAL reloc is somewhere between 16_GOTOFF and GPDISP_LO16.
 1.38306 -+It should refer to the symbol to be referenced, as with 16_GOTOFF,
 1.38307 -+but it generates output not based on the position within the .got
 1.38308 -+section, but relative to the GP value chosen for the file during the
 1.38309 -+final link stage.
 1.38310 -+
 1.38311 -+The LITUSE reloc, on the instruction using the loaded address, gives
 1.38312 -+information to the linker that it might be able to use to optimize
 1.38313 -+away some literal section references.  The symbol is ignored (read
 1.38314 -+as the absolute section symbol), and the "addend" indicates the type
 1.38315 -+of instruction using the register:
 1.38316 -+1 - "memory" fmt insn
 1.38317 -+2 - byte-manipulation (byte offset reg)
 1.38318 -+3 - jsr (target of branch)  */
 1.38319 -+  BFD_RELOC_ALPHA_LITERAL,
 1.38320 -+  BFD_RELOC_ALPHA_ELF_LITERAL,
 1.38321 -+  BFD_RELOC_ALPHA_LITUSE,
 1.38322 -+
 1.38323 -+/* The HINT relocation indicates a value that should be filled into the
 1.38324 -+"hint" field of a jmp/jsr/ret instruction, for possible branch-
 1.38325 -+prediction logic which may be provided on some processors.  */
 1.38326 -+  BFD_RELOC_ALPHA_HINT,
 1.38327 -+
 1.38328 -+/* The LINKAGE relocation outputs a linkage pair in the object file,
 1.38329 -+which is filled by the linker.  */
 1.38330 -+  BFD_RELOC_ALPHA_LINKAGE,
 1.38331 -+
 1.38332 -+/* The CODEADDR relocation outputs a STO_CA in the object file,
 1.38333 -+which is filled by the linker.  */
 1.38334 -+  BFD_RELOC_ALPHA_CODEADDR,
 1.38335 -+
 1.38336 -+/* The GPREL_HI/LO relocations together form a 32-bit offset from the
 1.38337 -+GP register.  */
 1.38338 -+  BFD_RELOC_ALPHA_GPREL_HI16,
 1.38339 -+  BFD_RELOC_ALPHA_GPREL_LO16,
 1.38340 -+
 1.38341 -+/* Like BFD_RELOC_23_PCREL_S2, except that the source and target must
 1.38342 -+share a common GP, and the target address is adjusted for
 1.38343 -+STO_ALPHA_STD_GPLOAD.  */
 1.38344 -+  BFD_RELOC_ALPHA_BRSGP,
 1.38345 -+
 1.38346 -+/* Alpha thread-local storage relocations.  */
 1.38347 -+  BFD_RELOC_ALPHA_TLSGD,
 1.38348 -+  BFD_RELOC_ALPHA_TLSLDM,
 1.38349 -+  BFD_RELOC_ALPHA_DTPMOD64,
 1.38350 -+  BFD_RELOC_ALPHA_GOTDTPREL16,
 1.38351 -+  BFD_RELOC_ALPHA_DTPREL64,
 1.38352 -+  BFD_RELOC_ALPHA_DTPREL_HI16,
 1.38353 -+  BFD_RELOC_ALPHA_DTPREL_LO16,
 1.38354 -+  BFD_RELOC_ALPHA_DTPREL16,
 1.38355 -+  BFD_RELOC_ALPHA_GOTTPREL16,
 1.38356 -+  BFD_RELOC_ALPHA_TPREL64,
 1.38357 -+  BFD_RELOC_ALPHA_TPREL_HI16,
 1.38358 -+  BFD_RELOC_ALPHA_TPREL_LO16,
 1.38359 -+  BFD_RELOC_ALPHA_TPREL16,
 1.38360 -+
 1.38361 -+/* Bits 27..2 of the relocation address shifted right 2 bits;
 1.38362 -+simple reloc otherwise.  */
 1.38363 -+  BFD_RELOC_MIPS_JMP,
 1.38364 -+
 1.38365 -+/* The MIPS16 jump instruction.  */
 1.38366 -+  BFD_RELOC_MIPS16_JMP,
 1.38367 -+
 1.38368 -+/* MIPS16 GP relative reloc.  */
 1.38369 -+  BFD_RELOC_MIPS16_GPREL,
 1.38370 -+
 1.38371 -+/* High 16 bits of 32-bit value; simple reloc.  */
 1.38372 -+  BFD_RELOC_HI16,
 1.38373 -+
 1.38374 -+/* High 16 bits of 32-bit value but the low 16 bits will be sign
 1.38375 -+extended and added to form the final result.  If the low 16
 1.38376 -+bits form a negative number, we need to add one to the high value
 1.38377 -+to compensate for the borrow when the low bits are added.  */
 1.38378 -+  BFD_RELOC_HI16_S,
 1.38379 -+
 1.38380 -+/* Low 16 bits.  */
 1.38381 -+  BFD_RELOC_LO16,
 1.38382 -+
 1.38383 -+/* High 16 bits of 32-bit pc-relative value  */
 1.38384 -+  BFD_RELOC_HI16_PCREL,
 1.38385 -+
 1.38386 -+/* High 16 bits of 32-bit pc-relative value, adjusted  */
 1.38387 -+  BFD_RELOC_HI16_S_PCREL,
 1.38388 -+
 1.38389 -+/* Low 16 bits of pc-relative value  */
 1.38390 -+  BFD_RELOC_LO16_PCREL,
 1.38391 -+
 1.38392 -+/* MIPS16 high 16 bits of 32-bit value.  */
 1.38393 -+  BFD_RELOC_MIPS16_HI16,
 1.38394 -+
 1.38395 -+/* MIPS16 high 16 bits of 32-bit value but the low 16 bits will be sign
 1.38396 -+extended and added to form the final result.  If the low 16
 1.38397 -+bits form a negative number, we need to add one to the high value
 1.38398 -+to compensate for the borrow when the low bits are added.  */
 1.38399 -+  BFD_RELOC_MIPS16_HI16_S,
 1.38400 -+
 1.38401 -+/* MIPS16 low 16 bits.  */
 1.38402 -+  BFD_RELOC_MIPS16_LO16,
 1.38403 -+
 1.38404 -+/* Relocation against a MIPS literal section.  */
 1.38405 -+  BFD_RELOC_MIPS_LITERAL,
 1.38406 -+
 1.38407 -+/* MIPS ELF relocations.  */
 1.38408 -+  BFD_RELOC_MIPS_GOT16,
 1.38409 -+  BFD_RELOC_MIPS_CALL16,
 1.38410 -+  BFD_RELOC_MIPS_GOT_HI16,
 1.38411 -+  BFD_RELOC_MIPS_GOT_LO16,
 1.38412 -+  BFD_RELOC_MIPS_CALL_HI16,
 1.38413 -+  BFD_RELOC_MIPS_CALL_LO16,
 1.38414 -+  BFD_RELOC_MIPS_SUB,
 1.38415 -+  BFD_RELOC_MIPS_GOT_PAGE,
 1.38416 -+  BFD_RELOC_MIPS_GOT_OFST,
 1.38417 -+  BFD_RELOC_MIPS_GOT_DISP,
 1.38418 -+  BFD_RELOC_MIPS_SHIFT5,
 1.38419 -+  BFD_RELOC_MIPS_SHIFT6,
 1.38420 -+  BFD_RELOC_MIPS_INSERT_A,
 1.38421 -+  BFD_RELOC_MIPS_INSERT_B,
 1.38422 -+  BFD_RELOC_MIPS_DELETE,
 1.38423 -+  BFD_RELOC_MIPS_HIGHEST,
 1.38424 -+  BFD_RELOC_MIPS_HIGHER,
 1.38425 -+  BFD_RELOC_MIPS_SCN_DISP,
 1.38426 -+  BFD_RELOC_MIPS_REL16,
 1.38427 -+  BFD_RELOC_MIPS_RELGOT,
 1.38428 -+  BFD_RELOC_MIPS_JALR,
 1.38429 -+  BFD_RELOC_MIPS_TLS_DTPMOD32,
 1.38430 -+  BFD_RELOC_MIPS_TLS_DTPREL32,
 1.38431 -+  BFD_RELOC_MIPS_TLS_DTPMOD64,
 1.38432 -+  BFD_RELOC_MIPS_TLS_DTPREL64,
 1.38433 -+  BFD_RELOC_MIPS_TLS_GD,
 1.38434 -+  BFD_RELOC_MIPS_TLS_LDM,
 1.38435 -+  BFD_RELOC_MIPS_TLS_DTPREL_HI16,
 1.38436 -+  BFD_RELOC_MIPS_TLS_DTPREL_LO16,
 1.38437 -+  BFD_RELOC_MIPS_TLS_GOTTPREL,
 1.38438 -+  BFD_RELOC_MIPS_TLS_TPREL32,
 1.38439 -+  BFD_RELOC_MIPS_TLS_TPREL64,
 1.38440 -+  BFD_RELOC_MIPS_TLS_TPREL_HI16,
 1.38441 -+  BFD_RELOC_MIPS_TLS_TPREL_LO16,
 1.38442 -+
 1.38443 -+
 1.38444 -+/* MIPS ELF relocations (VxWorks extensions).  */
 1.38445 -+  BFD_RELOC_MIPS_COPY,
 1.38446 -+  BFD_RELOC_MIPS_JUMP_SLOT,
 1.38447 -+
 1.38448 -+
 1.38449 -+/* Fujitsu Frv Relocations.  */
 1.38450 -+  BFD_RELOC_FRV_LABEL16,
 1.38451 -+  BFD_RELOC_FRV_LABEL24,
 1.38452 -+  BFD_RELOC_FRV_LO16,
 1.38453 -+  BFD_RELOC_FRV_HI16,
 1.38454 -+  BFD_RELOC_FRV_GPREL12,
 1.38455 -+  BFD_RELOC_FRV_GPRELU12,
 1.38456 -+  BFD_RELOC_FRV_GPREL32,
 1.38457 -+  BFD_RELOC_FRV_GPRELHI,
 1.38458 -+  BFD_RELOC_FRV_GPRELLO,
 1.38459 -+  BFD_RELOC_FRV_GOT12,
 1.38460 -+  BFD_RELOC_FRV_GOTHI,
 1.38461 -+  BFD_RELOC_FRV_GOTLO,
 1.38462 -+  BFD_RELOC_FRV_FUNCDESC,
 1.38463 -+  BFD_RELOC_FRV_FUNCDESC_GOT12,
 1.38464 -+  BFD_RELOC_FRV_FUNCDESC_GOTHI,
 1.38465 -+  BFD_RELOC_FRV_FUNCDESC_GOTLO,
 1.38466 -+  BFD_RELOC_FRV_FUNCDESC_VALUE,
 1.38467 -+  BFD_RELOC_FRV_FUNCDESC_GOTOFF12,
 1.38468 -+  BFD_RELOC_FRV_FUNCDESC_GOTOFFHI,
 1.38469 -+  BFD_RELOC_FRV_FUNCDESC_GOTOFFLO,
 1.38470 -+  BFD_RELOC_FRV_GOTOFF12,
 1.38471 -+  BFD_RELOC_FRV_GOTOFFHI,
 1.38472 -+  BFD_RELOC_FRV_GOTOFFLO,
 1.38473 -+  BFD_RELOC_FRV_GETTLSOFF,
 1.38474 -+  BFD_RELOC_FRV_TLSDESC_VALUE,
 1.38475 -+  BFD_RELOC_FRV_GOTTLSDESC12,
 1.38476 -+  BFD_RELOC_FRV_GOTTLSDESCHI,
 1.38477 -+  BFD_RELOC_FRV_GOTTLSDESCLO,
 1.38478 -+  BFD_RELOC_FRV_TLSMOFF12,
 1.38479 -+  BFD_RELOC_FRV_TLSMOFFHI,
 1.38480 -+  BFD_RELOC_FRV_TLSMOFFLO,
 1.38481 -+  BFD_RELOC_FRV_GOTTLSOFF12,
 1.38482 -+  BFD_RELOC_FRV_GOTTLSOFFHI,
 1.38483 -+  BFD_RELOC_FRV_GOTTLSOFFLO,
 1.38484 -+  BFD_RELOC_FRV_TLSOFF,
 1.38485 -+  BFD_RELOC_FRV_TLSDESC_RELAX,
 1.38486 -+  BFD_RELOC_FRV_GETTLSOFF_RELAX,
 1.38487 -+  BFD_RELOC_FRV_TLSOFF_RELAX,
 1.38488 -+  BFD_RELOC_FRV_TLSMOFF,
 1.38489 -+
 1.38490 -+
 1.38491 -+/* This is a 24bit GOT-relative reloc for the mn10300.  */
 1.38492 -+  BFD_RELOC_MN10300_GOTOFF24,
 1.38493 -+
 1.38494 -+/* This is a 32bit GOT-relative reloc for the mn10300, offset by two bytes
 1.38495 -+in the instruction.  */
 1.38496 -+  BFD_RELOC_MN10300_GOT32,
 1.38497 -+
 1.38498 -+/* This is a 24bit GOT-relative reloc for the mn10300, offset by two bytes
 1.38499 -+in the instruction.  */
 1.38500 -+  BFD_RELOC_MN10300_GOT24,
 1.38501 -+
 1.38502 -+/* This is a 16bit GOT-relative reloc for the mn10300, offset by two bytes
 1.38503 -+in the instruction.  */
 1.38504 -+  BFD_RELOC_MN10300_GOT16,
 1.38505 -+
 1.38506 -+/* Copy symbol at runtime.  */
 1.38507 -+  BFD_RELOC_MN10300_COPY,
 1.38508 -+
 1.38509 -+/* Create GOT entry.  */
 1.38510 -+  BFD_RELOC_MN10300_GLOB_DAT,
 1.38511 -+
 1.38512 -+/* Create PLT entry.  */
 1.38513 -+  BFD_RELOC_MN10300_JMP_SLOT,
 1.38514 -+
 1.38515 -+/* Adjust by program base.  */
 1.38516 -+  BFD_RELOC_MN10300_RELATIVE,
 1.38517 -+
 1.38518 -+
 1.38519 -+/* i386/elf relocations  */
 1.38520 -+  BFD_RELOC_386_GOT32,
 1.38521 -+  BFD_RELOC_386_PLT32,
 1.38522 -+  BFD_RELOC_386_COPY,
 1.38523 -+  BFD_RELOC_386_GLOB_DAT,
 1.38524 -+  BFD_RELOC_386_JUMP_SLOT,
 1.38525 -+  BFD_RELOC_386_RELATIVE,
 1.38526 -+  BFD_RELOC_386_GOTOFF,
 1.38527 -+  BFD_RELOC_386_GOTPC,
 1.38528 -+  BFD_RELOC_386_TLS_TPOFF,
 1.38529 -+  BFD_RELOC_386_TLS_IE,
 1.38530 -+  BFD_RELOC_386_TLS_GOTIE,
 1.38531 -+  BFD_RELOC_386_TLS_LE,
 1.38532 -+  BFD_RELOC_386_TLS_GD,
 1.38533 -+  BFD_RELOC_386_TLS_LDM,
 1.38534 -+  BFD_RELOC_386_TLS_LDO_32,
 1.38535 -+  BFD_RELOC_386_TLS_IE_32,
 1.38536 -+  BFD_RELOC_386_TLS_LE_32,
 1.38537 -+  BFD_RELOC_386_TLS_DTPMOD32,
 1.38538 -+  BFD_RELOC_386_TLS_DTPOFF32,
 1.38539 -+  BFD_RELOC_386_TLS_TPOFF32,
 1.38540 -+  BFD_RELOC_386_TLS_GOTDESC,
 1.38541 -+  BFD_RELOC_386_TLS_DESC_CALL,
 1.38542 -+  BFD_RELOC_386_TLS_DESC,
 1.38543 -+
 1.38544 -+/* x86-64/elf relocations  */
 1.38545 -+  BFD_RELOC_X86_64_GOT32,
 1.38546 -+  BFD_RELOC_X86_64_PLT32,
 1.38547 -+  BFD_RELOC_X86_64_COPY,
 1.38548 -+  BFD_RELOC_X86_64_GLOB_DAT,
 1.38549 -+  BFD_RELOC_X86_64_JUMP_SLOT,
 1.38550 -+  BFD_RELOC_X86_64_RELATIVE,
 1.38551 -+  BFD_RELOC_X86_64_GOTPCREL,
 1.38552 -+  BFD_RELOC_X86_64_32S,
 1.38553 -+  BFD_RELOC_X86_64_DTPMOD64,
 1.38554 -+  BFD_RELOC_X86_64_DTPOFF64,
 1.38555 -+  BFD_RELOC_X86_64_TPOFF64,
 1.38556 -+  BFD_RELOC_X86_64_TLSGD,
 1.38557 -+  BFD_RELOC_X86_64_TLSLD,
 1.38558 -+  BFD_RELOC_X86_64_DTPOFF32,
 1.38559 -+  BFD_RELOC_X86_64_GOTTPOFF,
 1.38560 -+  BFD_RELOC_X86_64_TPOFF32,
 1.38561 -+  BFD_RELOC_X86_64_GOTOFF64,
 1.38562 -+  BFD_RELOC_X86_64_GOTPC32,
 1.38563 -+  BFD_RELOC_X86_64_GOT64,
 1.38564 -+  BFD_RELOC_X86_64_GOTPCREL64,
 1.38565 -+  BFD_RELOC_X86_64_GOTPC64,
 1.38566 -+  BFD_RELOC_X86_64_GOTPLT64,
 1.38567 -+  BFD_RELOC_X86_64_PLTOFF64,
 1.38568 -+  BFD_RELOC_X86_64_GOTPC32_TLSDESC,
 1.38569 -+  BFD_RELOC_X86_64_TLSDESC_CALL,
 1.38570 -+  BFD_RELOC_X86_64_TLSDESC,
 1.38571 -+
 1.38572 -+/* ns32k relocations  */
 1.38573 -+  BFD_RELOC_NS32K_IMM_8,
 1.38574 -+  BFD_RELOC_NS32K_IMM_16,
 1.38575 -+  BFD_RELOC_NS32K_IMM_32,
 1.38576 -+  BFD_RELOC_NS32K_IMM_8_PCREL,
 1.38577 -+  BFD_RELOC_NS32K_IMM_16_PCREL,
 1.38578 -+  BFD_RELOC_NS32K_IMM_32_PCREL,
 1.38579 -+  BFD_RELOC_NS32K_DISP_8,
 1.38580 -+  BFD_RELOC_NS32K_DISP_16,
 1.38581 -+  BFD_RELOC_NS32K_DISP_32,
 1.38582 -+  BFD_RELOC_NS32K_DISP_8_PCREL,
 1.38583 -+  BFD_RELOC_NS32K_DISP_16_PCREL,
 1.38584 -+  BFD_RELOC_NS32K_DISP_32_PCREL,
 1.38585 -+
 1.38586 -+/* PDP11 relocations  */
 1.38587 -+  BFD_RELOC_PDP11_DISP_8_PCREL,
 1.38588 -+  BFD_RELOC_PDP11_DISP_6_PCREL,
 1.38589 -+
 1.38590 -+/* Picojava relocs.  Not all of these appear in object files.  */
 1.38591 -+  BFD_RELOC_PJ_CODE_HI16,
 1.38592 -+  BFD_RELOC_PJ_CODE_LO16,
 1.38593 -+  BFD_RELOC_PJ_CODE_DIR16,
 1.38594 -+  BFD_RELOC_PJ_CODE_DIR32,
 1.38595 -+  BFD_RELOC_PJ_CODE_REL16,
 1.38596 -+  BFD_RELOC_PJ_CODE_REL32,
 1.38597 -+
 1.38598 -+/* Power(rs6000) and PowerPC relocations.  */
 1.38599 -+  BFD_RELOC_PPC_B26,
 1.38600 -+  BFD_RELOC_PPC_BA26,
 1.38601 -+  BFD_RELOC_PPC_TOC16,
 1.38602 -+  BFD_RELOC_PPC_B16,
 1.38603 -+  BFD_RELOC_PPC_B16_BRTAKEN,
 1.38604 -+  BFD_RELOC_PPC_B16_BRNTAKEN,
 1.38605 -+  BFD_RELOC_PPC_BA16,
 1.38606 -+  BFD_RELOC_PPC_BA16_BRTAKEN,
 1.38607 -+  BFD_RELOC_PPC_BA16_BRNTAKEN,
 1.38608 -+  BFD_RELOC_PPC_COPY,
 1.38609 -+  BFD_RELOC_PPC_GLOB_DAT,
 1.38610 -+  BFD_RELOC_PPC_JMP_SLOT,
 1.38611 -+  BFD_RELOC_PPC_RELATIVE,
 1.38612 -+  BFD_RELOC_PPC_LOCAL24PC,
 1.38613 -+  BFD_RELOC_PPC_EMB_NADDR32,
 1.38614 -+  BFD_RELOC_PPC_EMB_NADDR16,
 1.38615 -+  BFD_RELOC_PPC_EMB_NADDR16_LO,
 1.38616 -+  BFD_RELOC_PPC_EMB_NADDR16_HI,
 1.38617 -+  BFD_RELOC_PPC_EMB_NADDR16_HA,
 1.38618 -+  BFD_RELOC_PPC_EMB_SDAI16,
 1.38619 -+  BFD_RELOC_PPC_EMB_SDA2I16,
 1.38620 -+  BFD_RELOC_PPC_EMB_SDA2REL,
 1.38621 -+  BFD_RELOC_PPC_EMB_SDA21,
 1.38622 -+  BFD_RELOC_PPC_EMB_MRKREF,
 1.38623 -+  BFD_RELOC_PPC_EMB_RELSEC16,
 1.38624 -+  BFD_RELOC_PPC_EMB_RELST_LO,
 1.38625 -+  BFD_RELOC_PPC_EMB_RELST_HI,
 1.38626 -+  BFD_RELOC_PPC_EMB_RELST_HA,
 1.38627 -+  BFD_RELOC_PPC_EMB_BIT_FLD,
 1.38628 -+  BFD_RELOC_PPC_EMB_RELSDA,
 1.38629 -+  BFD_RELOC_PPC64_HIGHER,
 1.38630 -+  BFD_RELOC_PPC64_HIGHER_S,
 1.38631 -+  BFD_RELOC_PPC64_HIGHEST,
 1.38632 -+  BFD_RELOC_PPC64_HIGHEST_S,
 1.38633 -+  BFD_RELOC_PPC64_TOC16_LO,
 1.38634 -+  BFD_RELOC_PPC64_TOC16_HI,
 1.38635 -+  BFD_RELOC_PPC64_TOC16_HA,
 1.38636 -+  BFD_RELOC_PPC64_TOC,
 1.38637 -+  BFD_RELOC_PPC64_PLTGOT16,
 1.38638 -+  BFD_RELOC_PPC64_PLTGOT16_LO,
 1.38639 -+  BFD_RELOC_PPC64_PLTGOT16_HI,
 1.38640 -+  BFD_RELOC_PPC64_PLTGOT16_HA,
 1.38641 -+  BFD_RELOC_PPC64_ADDR16_DS,
 1.38642 -+  BFD_RELOC_PPC64_ADDR16_LO_DS,
 1.38643 -+  BFD_RELOC_PPC64_GOT16_DS,
 1.38644 -+  BFD_RELOC_PPC64_GOT16_LO_DS,
 1.38645 -+  BFD_RELOC_PPC64_PLT16_LO_DS,
 1.38646 -+  BFD_RELOC_PPC64_SECTOFF_DS,
 1.38647 -+  BFD_RELOC_PPC64_SECTOFF_LO_DS,
 1.38648 -+  BFD_RELOC_PPC64_TOC16_DS,
 1.38649 -+  BFD_RELOC_PPC64_TOC16_LO_DS,
 1.38650 -+  BFD_RELOC_PPC64_PLTGOT16_DS,
 1.38651 -+  BFD_RELOC_PPC64_PLTGOT16_LO_DS,
 1.38652 -+
 1.38653 -+/* PowerPC and PowerPC64 thread-local storage relocations.  */
 1.38654 -+  BFD_RELOC_PPC_TLS,
 1.38655 -+  BFD_RELOC_PPC_DTPMOD,
 1.38656 -+  BFD_RELOC_PPC_TPREL16,
 1.38657 -+  BFD_RELOC_PPC_TPREL16_LO,
 1.38658 -+  BFD_RELOC_PPC_TPREL16_HI,
 1.38659 -+  BFD_RELOC_PPC_TPREL16_HA,
 1.38660 -+  BFD_RELOC_PPC_TPREL,
 1.38661 -+  BFD_RELOC_PPC_DTPREL16,
 1.38662 -+  BFD_RELOC_PPC_DTPREL16_LO,
 1.38663 -+  BFD_RELOC_PPC_DTPREL16_HI,
 1.38664 -+  BFD_RELOC_PPC_DTPREL16_HA,
 1.38665 -+  BFD_RELOC_PPC_DTPREL,
 1.38666 -+  BFD_RELOC_PPC_GOT_TLSGD16,
 1.38667 -+  BFD_RELOC_PPC_GOT_TLSGD16_LO,
 1.38668 -+  BFD_RELOC_PPC_GOT_TLSGD16_HI,
 1.38669 -+  BFD_RELOC_PPC_GOT_TLSGD16_HA,
 1.38670 -+  BFD_RELOC_PPC_GOT_TLSLD16,
 1.38671 -+  BFD_RELOC_PPC_GOT_TLSLD16_LO,
 1.38672 -+  BFD_RELOC_PPC_GOT_TLSLD16_HI,
 1.38673 -+  BFD_RELOC_PPC_GOT_TLSLD16_HA,
 1.38674 -+  BFD_RELOC_PPC_GOT_TPREL16,
 1.38675 -+  BFD_RELOC_PPC_GOT_TPREL16_LO,
 1.38676 -+  BFD_RELOC_PPC_GOT_TPREL16_HI,
 1.38677 -+  BFD_RELOC_PPC_GOT_TPREL16_HA,
 1.38678 -+  BFD_RELOC_PPC_GOT_DTPREL16,
 1.38679 -+  BFD_RELOC_PPC_GOT_DTPREL16_LO,
 1.38680 -+  BFD_RELOC_PPC_GOT_DTPREL16_HI,
 1.38681 -+  BFD_RELOC_PPC_GOT_DTPREL16_HA,
 1.38682 -+  BFD_RELOC_PPC64_TPREL16_DS,
 1.38683 -+  BFD_RELOC_PPC64_TPREL16_LO_DS,
 1.38684 -+  BFD_RELOC_PPC64_TPREL16_HIGHER,
 1.38685 -+  BFD_RELOC_PPC64_TPREL16_HIGHERA,
 1.38686 -+  BFD_RELOC_PPC64_TPREL16_HIGHEST,
 1.38687 -+  BFD_RELOC_PPC64_TPREL16_HIGHESTA,
 1.38688 -+  BFD_RELOC_PPC64_DTPREL16_DS,
 1.38689 -+  BFD_RELOC_PPC64_DTPREL16_LO_DS,
 1.38690 -+  BFD_RELOC_PPC64_DTPREL16_HIGHER,
 1.38691 -+  BFD_RELOC_PPC64_DTPREL16_HIGHERA,
 1.38692 -+  BFD_RELOC_PPC64_DTPREL16_HIGHEST,
 1.38693 -+  BFD_RELOC_PPC64_DTPREL16_HIGHESTA,
 1.38694 -+
 1.38695 -+/* IBM 370/390 relocations  */
 1.38696 -+  BFD_RELOC_I370_D12,
 1.38697 -+
 1.38698 -+/* The type of reloc used to build a constructor table - at the moment
 1.38699 -+probably a 32 bit wide absolute relocation, but the target can choose.
 1.38700 -+It generally does map to one of the other relocation types.  */
 1.38701 -+  BFD_RELOC_CTOR,
 1.38702 -+
 1.38703 -+/* ARM 26 bit pc-relative branch.  The lowest two bits must be zero and are
 1.38704 -+not stored in the instruction.  */
 1.38705 -+  BFD_RELOC_ARM_PCREL_BRANCH,
 1.38706 -+
 1.38707 -+/* ARM 26 bit pc-relative branch.  The lowest bit must be zero and is
 1.38708 -+not stored in the instruction.  The 2nd lowest bit comes from a 1 bit
 1.38709 -+field in the instruction.  */
 1.38710 -+  BFD_RELOC_ARM_PCREL_BLX,
 1.38711 -+
 1.38712 -+/* Thumb 22 bit pc-relative branch.  The lowest bit must be zero and is
 1.38713 -+not stored in the instruction.  The 2nd lowest bit comes from a 1 bit
 1.38714 -+field in the instruction.  */
 1.38715 -+  BFD_RELOC_THUMB_PCREL_BLX,
 1.38716 -+
 1.38717 -+/* ARM 26-bit pc-relative branch for an unconditional BL or BLX instruction.  */
 1.38718 -+  BFD_RELOC_ARM_PCREL_CALL,
 1.38719 -+
 1.38720 -+/* ARM 26-bit pc-relative branch for B or conditional BL instruction.  */
 1.38721 -+  BFD_RELOC_ARM_PCREL_JUMP,
 1.38722 -+
 1.38723 -+/* Thumb 7-, 9-, 12-, 20-, 23-, and 25-bit pc-relative branches.
 1.38724 -+The lowest bit must be zero and is not stored in the instruction.
 1.38725 -+Note that the corresponding ELF R_ARM_THM_JUMPnn constant has an
 1.38726 -+"nn" one smaller in all cases.  Note further that BRANCH23
 1.38727 -+corresponds to R_ARM_THM_CALL.  */
 1.38728 -+  BFD_RELOC_THUMB_PCREL_BRANCH7,
 1.38729 -+  BFD_RELOC_THUMB_PCREL_BRANCH9,
 1.38730 -+  BFD_RELOC_THUMB_PCREL_BRANCH12,
 1.38731 -+  BFD_RELOC_THUMB_PCREL_BRANCH20,
 1.38732 -+  BFD_RELOC_THUMB_PCREL_BRANCH23,
 1.38733 -+  BFD_RELOC_THUMB_PCREL_BRANCH25,
 1.38734 -+
 1.38735 -+/* 12-bit immediate offset, used in ARM-format ldr and str instructions.  */
 1.38736 -+  BFD_RELOC_ARM_OFFSET_IMM,
 1.38737 -+
 1.38738 -+/* 5-bit immediate offset, used in Thumb-format ldr and str instructions.  */
 1.38739 -+  BFD_RELOC_ARM_THUMB_OFFSET,
 1.38740 -+
 1.38741 -+/* Pc-relative or absolute relocation depending on target.  Used for
 1.38742 -+entries in .init_array sections.  */
 1.38743 -+  BFD_RELOC_ARM_TARGET1,
 1.38744 -+
 1.38745 -+/* Read-only segment base relative address.  */
 1.38746 -+  BFD_RELOC_ARM_ROSEGREL32,
 1.38747 -+
 1.38748 -+/* Data segment base relative address.  */
 1.38749 -+  BFD_RELOC_ARM_SBREL32,
 1.38750 -+
 1.38751 -+/* This reloc is used for references to RTTI data from exception handling
 1.38752 -+tables.  The actual definition depends on the target.  It may be a
 1.38753 -+pc-relative or some form of GOT-indirect relocation.  */
 1.38754 -+  BFD_RELOC_ARM_TARGET2,
 1.38755 -+
 1.38756 -+/* 31-bit PC relative address.  */
 1.38757 -+  BFD_RELOC_ARM_PREL31,
 1.38758 -+
 1.38759 -+/* Low and High halfword relocations for MOVW and MOVT instructions.  */
 1.38760 -+  BFD_RELOC_ARM_MOVW,
 1.38761 -+  BFD_RELOC_ARM_MOVT,
 1.38762 -+  BFD_RELOC_ARM_MOVW_PCREL,
 1.38763 -+  BFD_RELOC_ARM_MOVT_PCREL,
 1.38764 -+  BFD_RELOC_ARM_THUMB_MOVW,
 1.38765 -+  BFD_RELOC_ARM_THUMB_MOVT,
 1.38766 -+  BFD_RELOC_ARM_THUMB_MOVW_PCREL,
 1.38767 -+  BFD_RELOC_ARM_THUMB_MOVT_PCREL,
 1.38768 -+
 1.38769 -+/* Relocations for setting up GOTs and PLTs for shared libraries.  */
 1.38770 -+  BFD_RELOC_ARM_JUMP_SLOT,
 1.38771 -+  BFD_RELOC_ARM_GLOB_DAT,
 1.38772 -+  BFD_RELOC_ARM_GOT32,
 1.38773 -+  BFD_RELOC_ARM_PLT32,
 1.38774 -+  BFD_RELOC_ARM_RELATIVE,
 1.38775 -+  BFD_RELOC_ARM_GOTOFF,
 1.38776 -+  BFD_RELOC_ARM_GOTPC,
 1.38777 -+
 1.38778 -+/* ARM thread-local storage relocations.  */
 1.38779 -+  BFD_RELOC_ARM_TLS_GD32,
 1.38780 -+  BFD_RELOC_ARM_TLS_LDO32,
 1.38781 -+  BFD_RELOC_ARM_TLS_LDM32,
 1.38782 -+  BFD_RELOC_ARM_TLS_DTPOFF32,
 1.38783 -+  BFD_RELOC_ARM_TLS_DTPMOD32,
 1.38784 -+  BFD_RELOC_ARM_TLS_TPOFF32,
 1.38785 -+  BFD_RELOC_ARM_TLS_IE32,
 1.38786 -+  BFD_RELOC_ARM_TLS_LE32,
 1.38787 -+
 1.38788 -+/* ARM group relocations.  */
 1.38789 -+  BFD_RELOC_ARM_ALU_PC_G0_NC,
 1.38790 -+  BFD_RELOC_ARM_ALU_PC_G0,
 1.38791 -+  BFD_RELOC_ARM_ALU_PC_G1_NC,
 1.38792 -+  BFD_RELOC_ARM_ALU_PC_G1,
 1.38793 -+  BFD_RELOC_ARM_ALU_PC_G2,
 1.38794 -+  BFD_RELOC_ARM_LDR_PC_G0,
 1.38795 -+  BFD_RELOC_ARM_LDR_PC_G1,
 1.38796 -+  BFD_RELOC_ARM_LDR_PC_G2,
 1.38797 -+  BFD_RELOC_ARM_LDRS_PC_G0,
 1.38798 -+  BFD_RELOC_ARM_LDRS_PC_G1,
 1.38799 -+  BFD_RELOC_ARM_LDRS_PC_G2,
 1.38800 -+  BFD_RELOC_ARM_LDC_PC_G0,
 1.38801 -+  BFD_RELOC_ARM_LDC_PC_G1,
 1.38802 -+  BFD_RELOC_ARM_LDC_PC_G2,
 1.38803 -+  BFD_RELOC_ARM_ALU_SB_G0_NC,
 1.38804 -+  BFD_RELOC_ARM_ALU_SB_G0,
 1.38805 -+  BFD_RELOC_ARM_ALU_SB_G1_NC,
 1.38806 -+  BFD_RELOC_ARM_ALU_SB_G1,
 1.38807 -+  BFD_RELOC_ARM_ALU_SB_G2,
 1.38808 -+  BFD_RELOC_ARM_LDR_SB_G0,
 1.38809 -+  BFD_RELOC_ARM_LDR_SB_G1,
 1.38810 -+  BFD_RELOC_ARM_LDR_SB_G2,
 1.38811 -+  BFD_RELOC_ARM_LDRS_SB_G0,
 1.38812 -+  BFD_RELOC_ARM_LDRS_SB_G1,
 1.38813 -+  BFD_RELOC_ARM_LDRS_SB_G2,
 1.38814 -+  BFD_RELOC_ARM_LDC_SB_G0,
 1.38815 -+  BFD_RELOC_ARM_LDC_SB_G1,
 1.38816 -+  BFD_RELOC_ARM_LDC_SB_G2,
 1.38817 -+
 1.38818 -+/* These relocs are only used within the ARM assembler.  They are not
 1.38819 -+(at present) written to any object files.  */
 1.38820 -+  BFD_RELOC_ARM_IMMEDIATE,
 1.38821 -+  BFD_RELOC_ARM_ADRL_IMMEDIATE,
 1.38822 -+  BFD_RELOC_ARM_T32_IMMEDIATE,
 1.38823 -+  BFD_RELOC_ARM_T32_ADD_IMM,
 1.38824 -+  BFD_RELOC_ARM_T32_IMM12,
 1.38825 -+  BFD_RELOC_ARM_T32_ADD_PC12,
 1.38826 -+  BFD_RELOC_ARM_SHIFT_IMM,
 1.38827 -+  BFD_RELOC_ARM_SMC,
 1.38828 -+  BFD_RELOC_ARM_SWI,
 1.38829 -+  BFD_RELOC_ARM_MULTI,
 1.38830 -+  BFD_RELOC_ARM_CP_OFF_IMM,
 1.38831 -+  BFD_RELOC_ARM_CP_OFF_IMM_S2,
 1.38832 -+  BFD_RELOC_ARM_T32_CP_OFF_IMM,
 1.38833 -+  BFD_RELOC_ARM_T32_CP_OFF_IMM_S2,
 1.38834 -+  BFD_RELOC_ARM_ADR_IMM,
 1.38835 -+  BFD_RELOC_ARM_LDR_IMM,
 1.38836 -+  BFD_RELOC_ARM_LITERAL,
 1.38837 -+  BFD_RELOC_ARM_IN_POOL,
 1.38838 -+  BFD_RELOC_ARM_OFFSET_IMM8,
 1.38839 -+  BFD_RELOC_ARM_T32_OFFSET_U8,
 1.38840 -+  BFD_RELOC_ARM_T32_OFFSET_IMM,
 1.38841 -+  BFD_RELOC_ARM_HWLITERAL,
 1.38842 -+  BFD_RELOC_ARM_THUMB_ADD,
 1.38843 -+  BFD_RELOC_ARM_THUMB_IMM,
 1.38844 -+  BFD_RELOC_ARM_THUMB_SHIFT,
 1.38845 -+
 1.38846 -+/* Renesas / SuperH SH relocs.  Not all of these appear in object files.  */
 1.38847 -+  BFD_RELOC_SH_PCDISP8BY2,
 1.38848 -+  BFD_RELOC_SH_PCDISP12BY2,
 1.38849 -+  BFD_RELOC_SH_IMM3,
 1.38850 -+  BFD_RELOC_SH_IMM3U,
 1.38851 -+  BFD_RELOC_SH_DISP12,
 1.38852 -+  BFD_RELOC_SH_DISP12BY2,
 1.38853 -+  BFD_RELOC_SH_DISP12BY4,
 1.38854 -+  BFD_RELOC_SH_DISP12BY8,
 1.38855 -+  BFD_RELOC_SH_DISP20,
 1.38856 -+  BFD_RELOC_SH_DISP20BY8,
 1.38857 -+  BFD_RELOC_SH_IMM4,
 1.38858 -+  BFD_RELOC_SH_IMM4BY2,
 1.38859 -+  BFD_RELOC_SH_IMM4BY4,
 1.38860 -+  BFD_RELOC_SH_IMM8,
 1.38861 -+  BFD_RELOC_SH_IMM8BY2,
 1.38862 -+  BFD_RELOC_SH_IMM8BY4,
 1.38863 -+  BFD_RELOC_SH_PCRELIMM8BY2,
 1.38864 -+  BFD_RELOC_SH_PCRELIMM8BY4,
 1.38865 -+  BFD_RELOC_SH_SWITCH16,
 1.38866 -+  BFD_RELOC_SH_SWITCH32,
 1.38867 -+  BFD_RELOC_SH_USES,
 1.38868 -+  BFD_RELOC_SH_COUNT,
 1.38869 -+  BFD_RELOC_SH_ALIGN,
 1.38870 -+  BFD_RELOC_SH_CODE,
 1.38871 -+  BFD_RELOC_SH_DATA,
 1.38872 -+  BFD_RELOC_SH_LABEL,
 1.38873 -+  BFD_RELOC_SH_LOOP_START,
 1.38874 -+  BFD_RELOC_SH_LOOP_END,
 1.38875 -+  BFD_RELOC_SH_COPY,
 1.38876 -+  BFD_RELOC_SH_GLOB_DAT,
 1.38877 -+  BFD_RELOC_SH_JMP_SLOT,
 1.38878 -+  BFD_RELOC_SH_RELATIVE,
 1.38879 -+  BFD_RELOC_SH_GOTPC,
 1.38880 -+  BFD_RELOC_SH_GOT_LOW16,
 1.38881 -+  BFD_RELOC_SH_GOT_MEDLOW16,
 1.38882 -+  BFD_RELOC_SH_GOT_MEDHI16,
 1.38883 -+  BFD_RELOC_SH_GOT_HI16,
 1.38884 -+  BFD_RELOC_SH_GOTPLT_LOW16,
 1.38885 -+  BFD_RELOC_SH_GOTPLT_MEDLOW16,
 1.38886 -+  BFD_RELOC_SH_GOTPLT_MEDHI16,
 1.38887 -+  BFD_RELOC_SH_GOTPLT_HI16,
 1.38888 -+  BFD_RELOC_SH_PLT_LOW16,
 1.38889 -+  BFD_RELOC_SH_PLT_MEDLOW16,
 1.38890 -+  BFD_RELOC_SH_PLT_MEDHI16,
 1.38891 -+  BFD_RELOC_SH_PLT_HI16,
 1.38892 -+  BFD_RELOC_SH_GOTOFF_LOW16,
 1.38893 -+  BFD_RELOC_SH_GOTOFF_MEDLOW16,
 1.38894 -+  BFD_RELOC_SH_GOTOFF_MEDHI16,
 1.38895 -+  BFD_RELOC_SH_GOTOFF_HI16,
 1.38896 -+  BFD_RELOC_SH_GOTPC_LOW16,
 1.38897 -+  BFD_RELOC_SH_GOTPC_MEDLOW16,
 1.38898 -+  BFD_RELOC_SH_GOTPC_MEDHI16,
 1.38899 -+  BFD_RELOC_SH_GOTPC_HI16,
 1.38900 -+  BFD_RELOC_SH_COPY64,
 1.38901 -+  BFD_RELOC_SH_GLOB_DAT64,
 1.38902 -+  BFD_RELOC_SH_JMP_SLOT64,
 1.38903 -+  BFD_RELOC_SH_RELATIVE64,
 1.38904 -+  BFD_RELOC_SH_GOT10BY4,
 1.38905 -+  BFD_RELOC_SH_GOT10BY8,
 1.38906 -+  BFD_RELOC_SH_GOTPLT10BY4,
 1.38907 -+  BFD_RELOC_SH_GOTPLT10BY8,
 1.38908 -+  BFD_RELOC_SH_GOTPLT32,
 1.38909 -+  BFD_RELOC_SH_SHMEDIA_CODE,
 1.38910 -+  BFD_RELOC_SH_IMMU5,
 1.38911 -+  BFD_RELOC_SH_IMMS6,
 1.38912 -+  BFD_RELOC_SH_IMMS6BY32,
 1.38913 -+  BFD_RELOC_SH_IMMU6,
 1.38914 -+  BFD_RELOC_SH_IMMS10,
 1.38915 -+  BFD_RELOC_SH_IMMS10BY2,
 1.38916 -+  BFD_RELOC_SH_IMMS10BY4,
 1.38917 -+  BFD_RELOC_SH_IMMS10BY8,
 1.38918 -+  BFD_RELOC_SH_IMMS16,
 1.38919 -+  BFD_RELOC_SH_IMMU16,
 1.38920 -+  BFD_RELOC_SH_IMM_LOW16,
 1.38921 -+  BFD_RELOC_SH_IMM_LOW16_PCREL,
 1.38922 -+  BFD_RELOC_SH_IMM_MEDLOW16,
 1.38923 -+  BFD_RELOC_SH_IMM_MEDLOW16_PCREL,
 1.38924 -+  BFD_RELOC_SH_IMM_MEDHI16,
 1.38925 -+  BFD_RELOC_SH_IMM_MEDHI16_PCREL,
 1.38926 -+  BFD_RELOC_SH_IMM_HI16,
 1.38927 -+  BFD_RELOC_SH_IMM_HI16_PCREL,
 1.38928 -+  BFD_RELOC_SH_PT_16,
 1.38929 -+  BFD_RELOC_SH_TLS_GD_32,
 1.38930 -+  BFD_RELOC_SH_TLS_LD_32,
 1.38931 -+  BFD_RELOC_SH_TLS_LDO_32,
 1.38932 -+  BFD_RELOC_SH_TLS_IE_32,
 1.38933 -+  BFD_RELOC_SH_TLS_LE_32,
 1.38934 -+  BFD_RELOC_SH_TLS_DTPMOD32,
 1.38935 -+  BFD_RELOC_SH_TLS_DTPOFF32,
 1.38936 -+  BFD_RELOC_SH_TLS_TPOFF32,
 1.38937 -+
 1.38938 -+/* ARC Cores relocs.
 1.38939 -+ARC 22 bit pc-relative branch.  The lowest two bits must be zero and are
 1.38940 -+not stored in the instruction.  The high 20 bits are installed in bits 26
 1.38941 -+through 7 of the instruction.  */
 1.38942 -+  BFD_RELOC_ARC_B22_PCREL,
 1.38943 -+
 1.38944 -+/* ARC 26 bit absolute branch.  The lowest two bits must be zero and are not
 1.38945 -+stored in the instruction.  The high 24 bits are installed in bits 23
 1.38946 -+through 0.  */
 1.38947 -+  BFD_RELOC_ARC_B26,
 1.38948 -+
 1.38949 -+/* ADI Blackfin 16 bit immediate absolute reloc.  */
 1.38950 -+  BFD_RELOC_BFIN_16_IMM,
 1.38951 -+
 1.38952 -+/* ADI Blackfin 16 bit immediate absolute reloc higher 16 bits.  */
 1.38953 -+  BFD_RELOC_BFIN_16_HIGH,
 1.38954 -+
 1.38955 -+/* ADI Blackfin 'a' part of LSETUP.  */
 1.38956 -+  BFD_RELOC_BFIN_4_PCREL,
 1.38957 -+
 1.38958 -+/* ADI Blackfin.  */
 1.38959 -+  BFD_RELOC_BFIN_5_PCREL,
 1.38960 -+
 1.38961 -+/* ADI Blackfin 16 bit immediate absolute reloc lower 16 bits.  */
 1.38962 -+  BFD_RELOC_BFIN_16_LOW,
 1.38963 -+
 1.38964 -+/* ADI Blackfin.  */
 1.38965 -+  BFD_RELOC_BFIN_10_PCREL,
 1.38966 -+
 1.38967 -+/* ADI Blackfin 'b' part of LSETUP.  */
 1.38968 -+  BFD_RELOC_BFIN_11_PCREL,
 1.38969 -+
 1.38970 -+/* ADI Blackfin.  */
 1.38971 -+  BFD_RELOC_BFIN_12_PCREL_JUMP,
 1.38972 -+
 1.38973 -+/* ADI Blackfin Short jump, pcrel.  */
 1.38974 -+  BFD_RELOC_BFIN_12_PCREL_JUMP_S,
 1.38975 -+
 1.38976 -+/* ADI Blackfin Call.x not implemented.  */
 1.38977 -+  BFD_RELOC_BFIN_24_PCREL_CALL_X,
 1.38978 -+
 1.38979 -+/* ADI Blackfin Long Jump pcrel.  */
 1.38980 -+  BFD_RELOC_BFIN_24_PCREL_JUMP_L,
 1.38981 -+
 1.38982 -+/* ADI Blackfin FD-PIC relocations.  */
 1.38983 -+  BFD_RELOC_BFIN_GOT17M4,
 1.38984 -+  BFD_RELOC_BFIN_GOTHI,
 1.38985 -+  BFD_RELOC_BFIN_GOTLO,
 1.38986 -+  BFD_RELOC_BFIN_FUNCDESC,
 1.38987 -+  BFD_RELOC_BFIN_FUNCDESC_GOT17M4,
 1.38988 -+  BFD_RELOC_BFIN_FUNCDESC_GOTHI,
 1.38989 -+  BFD_RELOC_BFIN_FUNCDESC_GOTLO,
 1.38990 -+  BFD_RELOC_BFIN_FUNCDESC_VALUE,
 1.38991 -+  BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4,
 1.38992 -+  BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI,
 1.38993 -+  BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO,
 1.38994 -+  BFD_RELOC_BFIN_GOTOFF17M4,
 1.38995 -+  BFD_RELOC_BFIN_GOTOFFHI,
 1.38996 -+  BFD_RELOC_BFIN_GOTOFFLO,
 1.38997 -+
 1.38998 -+/* ADI Blackfin GOT relocation.  */
 1.38999 -+  BFD_RELOC_BFIN_GOT,
 1.39000 -+
 1.39001 -+/* ADI Blackfin PLTPC relocation.  */
 1.39002 -+  BFD_RELOC_BFIN_PLTPC,
 1.39003 -+
 1.39004 -+/* ADI Blackfin arithmetic relocation.  */
 1.39005 -+  BFD_ARELOC_BFIN_PUSH,
 1.39006 -+
 1.39007 -+/* ADI Blackfin arithmetic relocation.  */
 1.39008 -+  BFD_ARELOC_BFIN_CONST,
 1.39009 -+
 1.39010 -+/* ADI Blackfin arithmetic relocation.  */
 1.39011 -+  BFD_ARELOC_BFIN_ADD,
 1.39012 -+
 1.39013 -+/* ADI Blackfin arithmetic relocation.  */
 1.39014 -+  BFD_ARELOC_BFIN_SUB,
 1.39015 -+
 1.39016 -+/* ADI Blackfin arithmetic relocation.  */
 1.39017 -+  BFD_ARELOC_BFIN_MULT,
 1.39018 -+
 1.39019 -+/* ADI Blackfin arithmetic relocation.  */
 1.39020 -+  BFD_ARELOC_BFIN_DIV,
 1.39021 -+
 1.39022 -+/* ADI Blackfin arithmetic relocation.  */
 1.39023 -+  BFD_ARELOC_BFIN_MOD,
 1.39024 -+
 1.39025 -+/* ADI Blackfin arithmetic relocation.  */
 1.39026 -+  BFD_ARELOC_BFIN_LSHIFT,
 1.39027 -+
 1.39028 -+/* ADI Blackfin arithmetic relocation.  */
 1.39029 -+  BFD_ARELOC_BFIN_RSHIFT,
 1.39030 -+
 1.39031 -+/* ADI Blackfin arithmetic relocation.  */
 1.39032 -+  BFD_ARELOC_BFIN_AND,
 1.39033 -+
 1.39034 -+/* ADI Blackfin arithmetic relocation.  */
 1.39035 -+  BFD_ARELOC_BFIN_OR,
 1.39036 -+
 1.39037 -+/* ADI Blackfin arithmetic relocation.  */
 1.39038 -+  BFD_ARELOC_BFIN_XOR,
 1.39039 -+
 1.39040 -+/* ADI Blackfin arithmetic relocation.  */
 1.39041 -+  BFD_ARELOC_BFIN_LAND,
 1.39042 -+
 1.39043 -+/* ADI Blackfin arithmetic relocation.  */
 1.39044 -+  BFD_ARELOC_BFIN_LOR,
 1.39045 -+
 1.39046 -+/* ADI Blackfin arithmetic relocation.  */
 1.39047 -+  BFD_ARELOC_BFIN_LEN,
 1.39048 -+
 1.39049 -+/* ADI Blackfin arithmetic relocation.  */
 1.39050 -+  BFD_ARELOC_BFIN_NEG,
 1.39051 -+
 1.39052 -+/* ADI Blackfin arithmetic relocation.  */
 1.39053 -+  BFD_ARELOC_BFIN_COMP,
 1.39054 -+
 1.39055 -+/* ADI Blackfin arithmetic relocation.  */
 1.39056 -+  BFD_ARELOC_BFIN_PAGE,
 1.39057 -+
 1.39058 -+/* ADI Blackfin arithmetic relocation.  */
 1.39059 -+  BFD_ARELOC_BFIN_HWPAGE,
 1.39060 -+
 1.39061 -+/* ADI Blackfin arithmetic relocation.  */
 1.39062 -+  BFD_ARELOC_BFIN_ADDR,
 1.39063 -+
 1.39064 -+/* Mitsubishi D10V relocs.
 1.39065 -+This is a 10-bit reloc with the right 2 bits
 1.39066 -+assumed to be 0.  */
 1.39067 -+  BFD_RELOC_D10V_10_PCREL_R,
 1.39068 -+
 1.39069 -+/* Mitsubishi D10V relocs.
 1.39070 -+This is a 10-bit reloc with the right 2 bits
 1.39071 -+assumed to be 0.  This is the same as the previous reloc
 1.39072 -+except it is in the left container, i.e.,
 1.39073 -+shifted left 15 bits.  */
 1.39074 -+  BFD_RELOC_D10V_10_PCREL_L,
 1.39075 -+
 1.39076 -+/* This is an 18-bit reloc with the right 2 bits
 1.39077 -+assumed to be 0.  */
 1.39078 -+  BFD_RELOC_D10V_18,
 1.39079 -+
 1.39080 -+/* This is an 18-bit reloc with the right 2 bits
 1.39081 -+assumed to be 0.  */
 1.39082 -+  BFD_RELOC_D10V_18_PCREL,
 1.39083 -+
 1.39084 -+/* Mitsubishi D30V relocs.
 1.39085 -+This is a 6-bit absolute reloc.  */
 1.39086 -+  BFD_RELOC_D30V_6,
 1.39087 -+
 1.39088 -+/* This is a 6-bit pc-relative reloc with
 1.39089 -+the right 3 bits assumed to be 0.  */
 1.39090 -+  BFD_RELOC_D30V_9_PCREL,
 1.39091 -+
 1.39092 -+/* This is a 6-bit pc-relative reloc with
 1.39093 -+the right 3 bits assumed to be 0. Same
 1.39094 -+as the previous reloc but on the right side
 1.39095 -+of the container.  */
 1.39096 -+  BFD_RELOC_D30V_9_PCREL_R,
 1.39097 -+
 1.39098 -+/* This is a 12-bit absolute reloc with the
 1.39099 -+right 3 bitsassumed to be 0.  */
 1.39100 -+  BFD_RELOC_D30V_15,
 1.39101 -+
 1.39102 -+/* This is a 12-bit pc-relative reloc with
 1.39103 -+the right 3 bits assumed to be 0.  */
 1.39104 -+  BFD_RELOC_D30V_15_PCREL,
 1.39105 -+
 1.39106 -+/* This is a 12-bit pc-relative reloc with
 1.39107 -+the right 3 bits assumed to be 0. Same
 1.39108 -+as the previous reloc but on the right side
 1.39109 -+of the container.  */
 1.39110 -+  BFD_RELOC_D30V_15_PCREL_R,
 1.39111 -+
 1.39112 -+/* This is an 18-bit absolute reloc with
 1.39113 -+the right 3 bits assumed to be 0.  */
 1.39114 -+  BFD_RELOC_D30V_21,
 1.39115 -+
 1.39116 -+/* This is an 18-bit pc-relative reloc with
 1.39117 -+the right 3 bits assumed to be 0.  */
 1.39118 -+  BFD_RELOC_D30V_21_PCREL,
 1.39119 -+
 1.39120 -+/* This is an 18-bit pc-relative reloc with
 1.39121 -+the right 3 bits assumed to be 0. Same
 1.39122 -+as the previous reloc but on the right side
 1.39123 -+of the container.  */
 1.39124 -+  BFD_RELOC_D30V_21_PCREL_R,
 1.39125 -+
 1.39126 -+/* This is a 32-bit absolute reloc.  */
 1.39127 -+  BFD_RELOC_D30V_32,
 1.39128 -+
 1.39129 -+/* This is a 32-bit pc-relative reloc.  */
 1.39130 -+  BFD_RELOC_D30V_32_PCREL,
 1.39131 -+
 1.39132 -+/* DLX relocs  */
 1.39133 -+  BFD_RELOC_DLX_HI16_S,
 1.39134 -+
 1.39135 -+/* DLX relocs  */
 1.39136 -+  BFD_RELOC_DLX_LO16,
 1.39137 -+
 1.39138 -+/* DLX relocs  */
 1.39139 -+  BFD_RELOC_DLX_JMP26,
 1.39140 -+
 1.39141 -+/* Renesas M16C/M32C Relocations.  */
 1.39142 -+  BFD_RELOC_M32C_HI8,
 1.39143 -+  BFD_RELOC_M32C_RL_JUMP,
 1.39144 -+  BFD_RELOC_M32C_RL_1ADDR,
 1.39145 -+  BFD_RELOC_M32C_RL_2ADDR,
 1.39146 -+
 1.39147 -+/* Renesas M32R (formerly Mitsubishi M32R) relocs.
 1.39148 -+This is a 24 bit absolute address.  */
 1.39149 -+  BFD_RELOC_M32R_24,
 1.39150 -+
 1.39151 -+/* This is a 10-bit pc-relative reloc with the right 2 bits assumed to be 0.  */
 1.39152 -+  BFD_RELOC_M32R_10_PCREL,
 1.39153 -+
 1.39154 -+/* This is an 18-bit reloc with the right 2 bits assumed to be 0.  */
 1.39155 -+  BFD_RELOC_M32R_18_PCREL,
 1.39156 -+
 1.39157 -+/* This is a 26-bit reloc with the right 2 bits assumed to be 0.  */
 1.39158 -+  BFD_RELOC_M32R_26_PCREL,
 1.39159 -+
 1.39160 -+/* This is a 16-bit reloc containing the high 16 bits of an address
 1.39161 -+used when the lower 16 bits are treated as unsigned.  */
 1.39162 -+  BFD_RELOC_M32R_HI16_ULO,
 1.39163 -+
 1.39164 -+/* This is a 16-bit reloc containing the high 16 bits of an address
 1.39165 -+used when the lower 16 bits are treated as signed.  */
 1.39166 -+  BFD_RELOC_M32R_HI16_SLO,
 1.39167 -+
 1.39168 -+/* This is a 16-bit reloc containing the lower 16 bits of an address.  */
 1.39169 -+  BFD_RELOC_M32R_LO16,
 1.39170 -+
 1.39171 -+/* This is a 16-bit reloc containing the small data area offset for use in
 1.39172 -+add3, load, and store instructions.  */
 1.39173 -+  BFD_RELOC_M32R_SDA16,
 1.39174 -+
 1.39175 -+/* For PIC.  */
 1.39176 -+  BFD_RELOC_M32R_GOT24,
 1.39177 -+  BFD_RELOC_M32R_26_PLTREL,
 1.39178 -+  BFD_RELOC_M32R_COPY,
 1.39179 -+  BFD_RELOC_M32R_GLOB_DAT,
 1.39180 -+  BFD_RELOC_M32R_JMP_SLOT,
 1.39181 -+  BFD_RELOC_M32R_RELATIVE,
 1.39182 -+  BFD_RELOC_M32R_GOTOFF,
 1.39183 -+  BFD_RELOC_M32R_GOTOFF_HI_ULO,
 1.39184 -+  BFD_RELOC_M32R_GOTOFF_HI_SLO,
 1.39185 -+  BFD_RELOC_M32R_GOTOFF_LO,
 1.39186 -+  BFD_RELOC_M32R_GOTPC24,
 1.39187 -+  BFD_RELOC_M32R_GOT16_HI_ULO,
 1.39188 -+  BFD_RELOC_M32R_GOT16_HI_SLO,
 1.39189 -+  BFD_RELOC_M32R_GOT16_LO,
 1.39190 -+  BFD_RELOC_M32R_GOTPC_HI_ULO,
 1.39191 -+  BFD_RELOC_M32R_GOTPC_HI_SLO,
 1.39192 -+  BFD_RELOC_M32R_GOTPC_LO,
 1.39193 -+
 1.39194 -+/* This is a 9-bit reloc  */
 1.39195 -+  BFD_RELOC_V850_9_PCREL,
 1.39196 -+
 1.39197 -+/* This is a 22-bit reloc  */
 1.39198 -+  BFD_RELOC_V850_22_PCREL,
 1.39199 -+
 1.39200 -+/* This is a 16 bit offset from the short data area pointer.  */
 1.39201 -+  BFD_RELOC_V850_SDA_16_16_OFFSET,
 1.39202 -+
 1.39203 -+/* This is a 16 bit offset (of which only 15 bits are used) from the
 1.39204 -+short data area pointer.  */
 1.39205 -+  BFD_RELOC_V850_SDA_15_16_OFFSET,
 1.39206 -+
 1.39207 -+/* This is a 16 bit offset from the zero data area pointer.  */
 1.39208 -+  BFD_RELOC_V850_ZDA_16_16_OFFSET,
 1.39209 -+
 1.39210 -+/* This is a 16 bit offset (of which only 15 bits are used) from the
 1.39211 -+zero data area pointer.  */
 1.39212 -+  BFD_RELOC_V850_ZDA_15_16_OFFSET,
 1.39213 -+
 1.39214 -+/* This is an 8 bit offset (of which only 6 bits are used) from the
 1.39215 -+tiny data area pointer.  */
 1.39216 -+  BFD_RELOC_V850_TDA_6_8_OFFSET,
 1.39217 -+
 1.39218 -+/* This is an 8bit offset (of which only 7 bits are used) from the tiny
 1.39219 -+data area pointer.  */
 1.39220 -+  BFD_RELOC_V850_TDA_7_8_OFFSET,
 1.39221 -+
 1.39222 -+/* This is a 7 bit offset from the tiny data area pointer.  */
 1.39223 -+  BFD_RELOC_V850_TDA_7_7_OFFSET,
 1.39224 -+
 1.39225 -+/* This is a 16 bit offset from the tiny data area pointer.  */
 1.39226 -+  BFD_RELOC_V850_TDA_16_16_OFFSET,
 1.39227 -+
 1.39228 -+/* This is a 5 bit offset (of which only 4 bits are used) from the tiny
 1.39229 -+data area pointer.  */
 1.39230 -+  BFD_RELOC_V850_TDA_4_5_OFFSET,
 1.39231 -+
 1.39232 -+/* This is a 4 bit offset from the tiny data area pointer.  */
 1.39233 -+  BFD_RELOC_V850_TDA_4_4_OFFSET,
 1.39234 -+
 1.39235 -+/* This is a 16 bit offset from the short data area pointer, with the
 1.39236 -+bits placed non-contiguously in the instruction.  */
 1.39237 -+  BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET,
 1.39238 -+
 1.39239 -+/* This is a 16 bit offset from the zero data area pointer, with the
 1.39240 -+bits placed non-contiguously in the instruction.  */
 1.39241 -+  BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET,
 1.39242 -+
 1.39243 -+/* This is a 6 bit offset from the call table base pointer.  */
 1.39244 -+  BFD_RELOC_V850_CALLT_6_7_OFFSET,
 1.39245 -+
 1.39246 -+/* This is a 16 bit offset from the call table base pointer.  */
 1.39247 -+  BFD_RELOC_V850_CALLT_16_16_OFFSET,
 1.39248 -+
 1.39249 -+/* Used for relaxing indirect function calls.  */
 1.39250 -+  BFD_RELOC_V850_LONGCALL,
 1.39251 -+
 1.39252 -+/* Used for relaxing indirect jumps.  */
 1.39253 -+  BFD_RELOC_V850_LONGJUMP,
 1.39254 -+
 1.39255 -+/* Used to maintain alignment whilst relaxing.  */
 1.39256 -+  BFD_RELOC_V850_ALIGN,
 1.39257 -+
 1.39258 -+/* This is a variation of BFD_RELOC_LO16 that can be used in v850e ld.bu
 1.39259 -+instructions.  */
 1.39260 -+  BFD_RELOC_V850_LO16_SPLIT_OFFSET,
 1.39261 -+
 1.39262 -+/* This is a 32bit pcrel reloc for the mn10300, offset by two bytes in the
 1.39263 -+instruction.  */
 1.39264 -+  BFD_RELOC_MN10300_32_PCREL,
 1.39265 -+
 1.39266 -+/* This is a 16bit pcrel reloc for the mn10300, offset by two bytes in the
 1.39267 -+instruction.  */
 1.39268 -+  BFD_RELOC_MN10300_16_PCREL,
 1.39269 -+
 1.39270 -+/* This is a 8bit DP reloc for the tms320c30, where the most
 1.39271 -+significant 8 bits of a 24 bit word are placed into the least
 1.39272 -+significant 8 bits of the opcode.  */
 1.39273 -+  BFD_RELOC_TIC30_LDP,
 1.39274 -+
 1.39275 -+/* This is a 7bit reloc for the tms320c54x, where the least
 1.39276 -+significant 7 bits of a 16 bit word are placed into the least
 1.39277 -+significant 7 bits of the opcode.  */
 1.39278 -+  BFD_RELOC_TIC54X_PARTLS7,
 1.39279 -+
 1.39280 -+/* This is a 9bit DP reloc for the tms320c54x, where the most
 1.39281 -+significant 9 bits of a 16 bit word are placed into the least
 1.39282 -+significant 9 bits of the opcode.  */
 1.39283 -+  BFD_RELOC_TIC54X_PARTMS9,
 1.39284 -+
 1.39285 -+/* This is an extended address 23-bit reloc for the tms320c54x.  */
 1.39286 -+  BFD_RELOC_TIC54X_23,
 1.39287 -+
 1.39288 -+/* This is a 16-bit reloc for the tms320c54x, where the least
 1.39289 -+significant 16 bits of a 23-bit extended address are placed into
 1.39290 -+the opcode.  */
 1.39291 -+  BFD_RELOC_TIC54X_16_OF_23,
 1.39292 -+
 1.39293 -+/* This is a reloc for the tms320c54x, where the most
 1.39294 -+significant 7 bits of a 23-bit extended address are placed into
 1.39295 -+the opcode.  */
 1.39296 -+  BFD_RELOC_TIC54X_MS7_OF_23,
 1.39297 -+
 1.39298 -+/* This is a 48 bit reloc for the FR30 that stores 32 bits.  */
 1.39299 -+  BFD_RELOC_FR30_48,
 1.39300 -+
 1.39301 -+/* This is a 32 bit reloc for the FR30 that stores 20 bits split up into
 1.39302 -+two sections.  */
 1.39303 -+  BFD_RELOC_FR30_20,
 1.39304 -+
 1.39305 -+/* This is a 16 bit reloc for the FR30 that stores a 6 bit word offset in
 1.39306 -+4 bits.  */
 1.39307 -+  BFD_RELOC_FR30_6_IN_4,
 1.39308 -+
 1.39309 -+/* This is a 16 bit reloc for the FR30 that stores an 8 bit byte offset
 1.39310 -+into 8 bits.  */
 1.39311 -+  BFD_RELOC_FR30_8_IN_8,
 1.39312 -+
 1.39313 -+/* This is a 16 bit reloc for the FR30 that stores a 9 bit short offset
 1.39314 -+into 8 bits.  */
 1.39315 -+  BFD_RELOC_FR30_9_IN_8,
 1.39316 -+
 1.39317 -+/* This is a 16 bit reloc for the FR30 that stores a 10 bit word offset
 1.39318 -+into 8 bits.  */
 1.39319 -+  BFD_RELOC_FR30_10_IN_8,
 1.39320 -+
 1.39321 -+/* This is a 16 bit reloc for the FR30 that stores a 9 bit pc relative
 1.39322 -+short offset into 8 bits.  */
 1.39323 -+  BFD_RELOC_FR30_9_PCREL,
 1.39324 -+
 1.39325 -+/* This is a 16 bit reloc for the FR30 that stores a 12 bit pc relative
 1.39326 -+short offset into 11 bits.  */
 1.39327 -+  BFD_RELOC_FR30_12_PCREL,
 1.39328 -+
 1.39329 -+/* Motorola Mcore relocations.  */
 1.39330 -+  BFD_RELOC_MCORE_PCREL_IMM8BY4,
 1.39331 -+  BFD_RELOC_MCORE_PCREL_IMM11BY2,
 1.39332 -+  BFD_RELOC_MCORE_PCREL_IMM4BY2,
 1.39333 -+  BFD_RELOC_MCORE_PCREL_32,
 1.39334 -+  BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2,
 1.39335 -+  BFD_RELOC_MCORE_RVA,
 1.39336 -+
 1.39337 -+/* Toshiba Media Processor Relocations.  */
 1.39338 -+  BFD_RELOC_MEP_8,
 1.39339 -+  BFD_RELOC_MEP_16,
 1.39340 -+  BFD_RELOC_MEP_32,
 1.39341 -+  BFD_RELOC_MEP_PCREL8A2,
 1.39342 -+  BFD_RELOC_MEP_PCREL12A2,
 1.39343 -+  BFD_RELOC_MEP_PCREL17A2,
 1.39344 -+  BFD_RELOC_MEP_PCREL24A2,
 1.39345 -+  BFD_RELOC_MEP_PCABS24A2,
 1.39346 -+  BFD_RELOC_MEP_LOW16,
 1.39347 -+  BFD_RELOC_MEP_HI16U,
 1.39348 -+  BFD_RELOC_MEP_HI16S,
 1.39349 -+  BFD_RELOC_MEP_GPREL,
 1.39350 -+  BFD_RELOC_MEP_TPREL,
 1.39351 -+  BFD_RELOC_MEP_TPREL7,
 1.39352 -+  BFD_RELOC_MEP_TPREL7A2,
 1.39353 -+  BFD_RELOC_MEP_TPREL7A4,
 1.39354 -+  BFD_RELOC_MEP_UIMM24,
 1.39355 -+  BFD_RELOC_MEP_ADDR24A4,
 1.39356 -+  BFD_RELOC_MEP_GNU_VTINHERIT,
 1.39357 -+  BFD_RELOC_MEP_GNU_VTENTRY,
 1.39358 -+
 1.39359 -+
 1.39360 -+/* These are relocations for the GETA instruction.  */
 1.39361 -+  BFD_RELOC_MMIX_GETA,
 1.39362 -+  BFD_RELOC_MMIX_GETA_1,
 1.39363 -+  BFD_RELOC_MMIX_GETA_2,
 1.39364 -+  BFD_RELOC_MMIX_GETA_3,
 1.39365 -+
 1.39366 -+/* These are relocations for a conditional branch instruction.  */
 1.39367 -+  BFD_RELOC_MMIX_CBRANCH,
 1.39368 -+  BFD_RELOC_MMIX_CBRANCH_J,
 1.39369 -+  BFD_RELOC_MMIX_CBRANCH_1,
 1.39370 -+  BFD_RELOC_MMIX_CBRANCH_2,
 1.39371 -+  BFD_RELOC_MMIX_CBRANCH_3,
 1.39372 -+
 1.39373 -+/* These are relocations for the PUSHJ instruction.  */
 1.39374 -+  BFD_RELOC_MMIX_PUSHJ,
 1.39375 -+  BFD_RELOC_MMIX_PUSHJ_1,
 1.39376 -+  BFD_RELOC_MMIX_PUSHJ_2,
 1.39377 -+  BFD_RELOC_MMIX_PUSHJ_3,
 1.39378 -+  BFD_RELOC_MMIX_PUSHJ_STUBBABLE,
 1.39379 -+
 1.39380 -+/* These are relocations for the JMP instruction.  */
 1.39381 -+  BFD_RELOC_MMIX_JMP,
 1.39382 -+  BFD_RELOC_MMIX_JMP_1,
 1.39383 -+  BFD_RELOC_MMIX_JMP_2,
 1.39384 -+  BFD_RELOC_MMIX_JMP_3,
 1.39385 -+
 1.39386 -+/* This is a relocation for a relative address as in a GETA instruction or
 1.39387 -+a branch.  */
 1.39388 -+  BFD_RELOC_MMIX_ADDR19,
 1.39389 -+
 1.39390 -+/* This is a relocation for a relative address as in a JMP instruction.  */
 1.39391 -+  BFD_RELOC_MMIX_ADDR27,
 1.39392 -+
 1.39393 -+/* This is a relocation for an instruction field that may be a general
 1.39394 -+register or a value 0..255.  */
 1.39395 -+  BFD_RELOC_MMIX_REG_OR_BYTE,
 1.39396 -+
 1.39397 -+/* This is a relocation for an instruction field that may be a general
 1.39398 -+register.  */
 1.39399 -+  BFD_RELOC_MMIX_REG,
 1.39400 -+
 1.39401 -+/* This is a relocation for two instruction fields holding a register and
 1.39402 -+an offset, the equivalent of the relocation.  */
 1.39403 -+  BFD_RELOC_MMIX_BASE_PLUS_OFFSET,
 1.39404 -+
 1.39405 -+/* This relocation is an assertion that the expression is not allocated as
 1.39406 -+a global register.  It does not modify contents.  */
 1.39407 -+  BFD_RELOC_MMIX_LOCAL,
 1.39408 -+
 1.39409 -+/* This is a 16 bit reloc for the AVR that stores 8 bit pc relative
 1.39410 -+short offset into 7 bits.  */
 1.39411 -+  BFD_RELOC_AVR_7_PCREL,
 1.39412 -+
 1.39413 -+/* This is a 16 bit reloc for the AVR that stores 13 bit pc relative
 1.39414 -+short offset into 12 bits.  */
 1.39415 -+  BFD_RELOC_AVR_13_PCREL,
 1.39416 -+
 1.39417 -+/* This is a 16 bit reloc for the AVR that stores 17 bit value (usually
 1.39418 -+program memory address) into 16 bits.  */
 1.39419 -+  BFD_RELOC_AVR_16_PM,
 1.39420 -+
 1.39421 -+/* This is a 16 bit reloc for the AVR that stores 8 bit value (usually
 1.39422 -+data memory address) into 8 bit immediate value of LDI insn.  */
 1.39423 -+  BFD_RELOC_AVR_LO8_LDI,
 1.39424 -+
 1.39425 -+/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
 1.39426 -+of data memory address) into 8 bit immediate value of LDI insn.  */
 1.39427 -+  BFD_RELOC_AVR_HI8_LDI,
 1.39428 -+
 1.39429 -+/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit
 1.39430 -+of program memory address) into 8 bit immediate value of LDI insn.  */
 1.39431 -+  BFD_RELOC_AVR_HH8_LDI,
 1.39432 -+
 1.39433 -+/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit
 1.39434 -+of 32 bit value) into 8 bit immediate value of LDI insn.  */
 1.39435 -+  BFD_RELOC_AVR_MS8_LDI,
 1.39436 -+
 1.39437 -+/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
 1.39438 -+(usually data memory address) into 8 bit immediate value of SUBI insn.  */
 1.39439 -+  BFD_RELOC_AVR_LO8_LDI_NEG,
 1.39440 -+
 1.39441 -+/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
 1.39442 -+(high 8 bit of data memory address) into 8 bit immediate value of
 1.39443 -+SUBI insn.  */
 1.39444 -+  BFD_RELOC_AVR_HI8_LDI_NEG,
 1.39445 -+
 1.39446 -+/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
 1.39447 -+(most high 8 bit of program memory address) into 8 bit immediate value
 1.39448 -+of LDI or SUBI insn.  */
 1.39449 -+  BFD_RELOC_AVR_HH8_LDI_NEG,
 1.39450 -+
 1.39451 -+/* This is a 16 bit reloc for the AVR that stores negated 8 bit value (msb
 1.39452 -+of 32 bit value) into 8 bit immediate value of LDI insn.  */
 1.39453 -+  BFD_RELOC_AVR_MS8_LDI_NEG,
 1.39454 -+
 1.39455 -+/* This is a 16 bit reloc for the AVR that stores 8 bit value (usually
 1.39456 -+command address) into 8 bit immediate value of LDI insn.  */
 1.39457 -+  BFD_RELOC_AVR_LO8_LDI_PM,
 1.39458 -+
 1.39459 -+/* This is a 16 bit reloc for the AVR that stores 8 bit value 
 1.39460 -+(command address) into 8 bit immediate value of LDI insn. If the address
 1.39461 -+is beyond the 128k boundary, the linker inserts a jump stub for this reloc
 1.39462 -+in the lower 128k.  */
 1.39463 -+  BFD_RELOC_AVR_LO8_LDI_GS,
 1.39464 -+
 1.39465 -+/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
 1.39466 -+of command address) into 8 bit immediate value of LDI insn.  */
 1.39467 -+  BFD_RELOC_AVR_HI8_LDI_PM,
 1.39468 -+
 1.39469 -+/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
 1.39470 -+of command address) into 8 bit immediate value of LDI insn.  If the address
 1.39471 -+is beyond the 128k boundary, the linker inserts a jump stub for this reloc
 1.39472 -+below 128k.  */
 1.39473 -+  BFD_RELOC_AVR_HI8_LDI_GS,
 1.39474 -+
 1.39475 -+/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit
 1.39476 -+of command address) into 8 bit immediate value of LDI insn.  */
 1.39477 -+  BFD_RELOC_AVR_HH8_LDI_PM,
 1.39478 -+
 1.39479 -+/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
 1.39480 -+(usually command address) into 8 bit immediate value of SUBI insn.  */
 1.39481 -+  BFD_RELOC_AVR_LO8_LDI_PM_NEG,
 1.39482 -+
 1.39483 -+/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
 1.39484 -+(high 8 bit of 16 bit command address) into 8 bit immediate value
 1.39485 -+of SUBI insn.  */
 1.39486 -+  BFD_RELOC_AVR_HI8_LDI_PM_NEG,
 1.39487 -+
 1.39488 -+/* This is a 16 bit reloc for the AVR that stores negated 8 bit value
 1.39489 -+(high 6 bit of 22 bit command address) into 8 bit immediate
 1.39490 -+value of SUBI insn.  */
 1.39491 -+  BFD_RELOC_AVR_HH8_LDI_PM_NEG,
 1.39492 -+
 1.39493 -+/* This is a 32 bit reloc for the AVR that stores 23 bit value
 1.39494 -+into 22 bits.  */
 1.39495 -+  BFD_RELOC_AVR_CALL,
 1.39496 -+
 1.39497 -+/* This is a 16 bit reloc for the AVR that stores all needed bits
 1.39498 -+for absolute addressing with ldi with overflow check to linktime  */
 1.39499 -+  BFD_RELOC_AVR_LDI,
 1.39500 -+
 1.39501 -+/* This is a 6 bit reloc for the AVR that stores offset for ldd/std
 1.39502 -+instructions  */
 1.39503 -+  BFD_RELOC_AVR_6,
 1.39504 -+
 1.39505 -+/* This is a 6 bit reloc for the AVR that stores offset for adiw/sbiw
 1.39506 -+instructions  */
 1.39507 -+  BFD_RELOC_AVR_6_ADIW,
 1.39508 -+
 1.39509 -+/* Difference between two labels: L2 - L1. The value of L1 is encoded
 1.39510 -+as sym + addend, while the initial difference after assembly is
 1.39511 -+inserted into the object file by the assembler.  */
 1.39512 -+  BFD_RELOC_AVR32_DIFF32,
 1.39513 -+  BFD_RELOC_AVR32_DIFF16,
 1.39514 -+  BFD_RELOC_AVR32_DIFF8,
 1.39515 -+
 1.39516 -+/* Reference to a symbol through the Global Offset Table. The linker
 1.39517 -+will allocate an entry for symbol in the GOT and insert the offset
 1.39518 -+of this entry as the relocation value.  */
 1.39519 -+  BFD_RELOC_AVR32_GOT32,
 1.39520 -+  BFD_RELOC_AVR32_GOT16,
 1.39521 -+  BFD_RELOC_AVR32_GOT8,
 1.39522 -+
 1.39523 -+/* Normal (non-pc-relative) code relocations. Alignment and signedness
 1.39524 -+is indicated by the suffixes. S means signed, U means unsigned. W
 1.39525 -+means word-aligned, H means halfword-aligned, neither means
 1.39526 -+byte-aligned (no alignment.) SUB5 is the same relocation as 16S.  */
 1.39527 -+  BFD_RELOC_AVR32_21S,
 1.39528 -+  BFD_RELOC_AVR32_16U,
 1.39529 -+  BFD_RELOC_AVR32_16S,
 1.39530 -+  BFD_RELOC_AVR32_SUB5,
 1.39531 -+  BFD_RELOC_AVR32_8S_EXT,
 1.39532 -+  BFD_RELOC_AVR32_8S,
 1.39533 -+  BFD_RELOC_AVR32_15S,
 1.39534 -+
 1.39535 -+/* PC-relative relocations are signed if neither 'U' nor 'S' is
 1.39536 -+specified. However, we explicitly tack on a 'B' to indicate no
 1.39537 -+alignment, to avoid confusion with data relocs. All of these resolve
 1.39538 -+to sym + addend - offset, except the one with 'N' (negated) suffix.
 1.39539 -+This particular one resolves to offset - sym - addend.  */
 1.39540 -+  BFD_RELOC_AVR32_22H_PCREL,
 1.39541 -+  BFD_RELOC_AVR32_18W_PCREL,
 1.39542 -+  BFD_RELOC_AVR32_16B_PCREL,
 1.39543 -+  BFD_RELOC_AVR32_16N_PCREL,
 1.39544 -+  BFD_RELOC_AVR32_14UW_PCREL,
 1.39545 -+  BFD_RELOC_AVR32_11H_PCREL,
 1.39546 -+  BFD_RELOC_AVR32_10UW_PCREL,
 1.39547 -+  BFD_RELOC_AVR32_9H_PCREL,
 1.39548 -+  BFD_RELOC_AVR32_9UW_PCREL,
 1.39549 -+
 1.39550 -+/* Subtract the link-time address of the GOT from (symbol + addend)
 1.39551 -+and insert the result.  */
 1.39552 -+  BFD_RELOC_AVR32_GOTPC,
 1.39553 -+
 1.39554 -+/* Reference to a symbol through the GOT. The linker will allocate an
 1.39555 -+entry for symbol in the GOT and insert the offset of this entry as
 1.39556 -+the relocation value. addend must be zero. As usual, 'S' means
 1.39557 -+signed, 'W' means word-aligned, etc.  */
 1.39558 -+  BFD_RELOC_AVR32_GOTCALL,
 1.39559 -+  BFD_RELOC_AVR32_LDA_GOT,
 1.39560 -+  BFD_RELOC_AVR32_GOT21S,
 1.39561 -+  BFD_RELOC_AVR32_GOT18SW,
 1.39562 -+  BFD_RELOC_AVR32_GOT16S,
 1.39563 -+
 1.39564 -+/* 32-bit constant pool entry. I don't think 8- and 16-bit entries make
 1.39565 -+a whole lot of sense.  */
 1.39566 -+  BFD_RELOC_AVR32_32_CPENT,
 1.39567 -+
 1.39568 -+/* Constant pool references. Some of these relocations are signed,
 1.39569 -+others are unsigned. It doesn't really matter, since the constant
 1.39570 -+pool always comes after the code that references it.  */
 1.39571 -+  BFD_RELOC_AVR32_CPCALL,
 1.39572 -+  BFD_RELOC_AVR32_16_CP,
 1.39573 -+  BFD_RELOC_AVR32_9W_CP,
 1.39574 -+
 1.39575 -+/* sym must be the absolute symbol. The addend specifies the alignment
 1.39576 -+order, e.g. if addend is 2, the linker must add padding so that the
 1.39577 -+next address is aligned to a 4-byte boundary.  */
 1.39578 -+  BFD_RELOC_AVR32_ALIGN,
 1.39579 -+
 1.39580 -+/* Code relocations that will never make it to the output file.  */
 1.39581 -+  BFD_RELOC_AVR32_14UW,
 1.39582 -+  BFD_RELOC_AVR32_10UW,
 1.39583 -+  BFD_RELOC_AVR32_10SW,
 1.39584 -+  BFD_RELOC_AVR32_STHH_W,
 1.39585 -+  BFD_RELOC_AVR32_7UW,
 1.39586 -+  BFD_RELOC_AVR32_6S,
 1.39587 -+  BFD_RELOC_AVR32_6UW,
 1.39588 -+  BFD_RELOC_AVR32_4UH,
 1.39589 -+  BFD_RELOC_AVR32_3U,
 1.39590 -+
 1.39591 -+/* Direct 12 bit.  */
 1.39592 -+  BFD_RELOC_390_12,
 1.39593 -+
 1.39594 -+/* 12 bit GOT offset.  */
 1.39595 -+  BFD_RELOC_390_GOT12,
 1.39596 -+
 1.39597 -+/* 32 bit PC relative PLT address.  */
 1.39598 -+  BFD_RELOC_390_PLT32,
 1.39599 -+
 1.39600 -+/* Copy symbol at runtime.  */
 1.39601 -+  BFD_RELOC_390_COPY,
 1.39602 -+
 1.39603 -+/* Create GOT entry.  */
 1.39604 -+  BFD_RELOC_390_GLOB_DAT,
 1.39605 -+
 1.39606 -+/* Create PLT entry.  */
 1.39607 -+  BFD_RELOC_390_JMP_SLOT,
 1.39608 -+
 1.39609 -+/* Adjust by program base.  */
 1.39610 -+  BFD_RELOC_390_RELATIVE,
 1.39611 -+
 1.39612 -+/* 32 bit PC relative offset to GOT.  */
 1.39613 -+  BFD_RELOC_390_GOTPC,
 1.39614 -+
 1.39615 -+/* 16 bit GOT offset.  */
 1.39616 -+  BFD_RELOC_390_GOT16,
 1.39617 -+
 1.39618 -+/* PC relative 16 bit shifted by 1.  */
 1.39619 -+  BFD_RELOC_390_PC16DBL,
 1.39620 -+
 1.39621 -+/* 16 bit PC rel. PLT shifted by 1.  */
 1.39622 -+  BFD_RELOC_390_PLT16DBL,
 1.39623 -+
 1.39624 -+/* PC relative 32 bit shifted by 1.  */
 1.39625 -+  BFD_RELOC_390_PC32DBL,
 1.39626 -+
 1.39627 -+/* 32 bit PC rel. PLT shifted by 1.  */
 1.39628 -+  BFD_RELOC_390_PLT32DBL,
 1.39629 -+
 1.39630 -+/* 32 bit PC rel. GOT shifted by 1.  */
 1.39631 -+  BFD_RELOC_390_GOTPCDBL,
 1.39632 -+
 1.39633 -+/* 64 bit GOT offset.  */
 1.39634 -+  BFD_RELOC_390_GOT64,
 1.39635 -+
 1.39636 -+/* 64 bit PC relative PLT address.  */
 1.39637 -+  BFD_RELOC_390_PLT64,
 1.39638 -+
 1.39639 -+/* 32 bit rel. offset to GOT entry.  */
 1.39640 -+  BFD_RELOC_390_GOTENT,
 1.39641 -+
 1.39642 -+/* 64 bit offset to GOT.  */
 1.39643 -+  BFD_RELOC_390_GOTOFF64,
 1.39644 -+
 1.39645 -+/* 12-bit offset to symbol-entry within GOT, with PLT handling.  */
 1.39646 -+  BFD_RELOC_390_GOTPLT12,
 1.39647 -+
 1.39648 -+/* 16-bit offset to symbol-entry within GOT, with PLT handling.  */
 1.39649 -+  BFD_RELOC_390_GOTPLT16,
 1.39650 -+
 1.39651 -+/* 32-bit offset to symbol-entry within GOT, with PLT handling.  */
 1.39652 -+  BFD_RELOC_390_GOTPLT32,
 1.39653 -+
 1.39654 -+/* 64-bit offset to symbol-entry within GOT, with PLT handling.  */
 1.39655 -+  BFD_RELOC_390_GOTPLT64,
 1.39656 -+
 1.39657 -+/* 32-bit rel. offset to symbol-entry within GOT, with PLT handling.  */
 1.39658 -+  BFD_RELOC_390_GOTPLTENT,
 1.39659 -+
 1.39660 -+/* 16-bit rel. offset from the GOT to a PLT entry.  */
 1.39661 -+  BFD_RELOC_390_PLTOFF16,
 1.39662 -+
 1.39663 -+/* 32-bit rel. offset from the GOT to a PLT entry.  */
 1.39664 -+  BFD_RELOC_390_PLTOFF32,
 1.39665 -+
 1.39666 -+/* 64-bit rel. offset from the GOT to a PLT entry.  */
 1.39667 -+  BFD_RELOC_390_PLTOFF64,
 1.39668 -+
 1.39669 -+/* s390 tls relocations.  */
 1.39670 -+  BFD_RELOC_390_TLS_LOAD,
 1.39671 -+  BFD_RELOC_390_TLS_GDCALL,
 1.39672 -+  BFD_RELOC_390_TLS_LDCALL,
 1.39673 -+  BFD_RELOC_390_TLS_GD32,
 1.39674 -+  BFD_RELOC_390_TLS_GD64,
 1.39675 -+  BFD_RELOC_390_TLS_GOTIE12,
 1.39676 -+  BFD_RELOC_390_TLS_GOTIE32,
 1.39677 -+  BFD_RELOC_390_TLS_GOTIE64,
 1.39678 -+  BFD_RELOC_390_TLS_LDM32,
 1.39679 -+  BFD_RELOC_390_TLS_LDM64,
 1.39680 -+  BFD_RELOC_390_TLS_IE32,
 1.39681 -+  BFD_RELOC_390_TLS_IE64,
 1.39682 -+  BFD_RELOC_390_TLS_IEENT,
 1.39683 -+  BFD_RELOC_390_TLS_LE32,
 1.39684 -+  BFD_RELOC_390_TLS_LE64,
 1.39685 -+  BFD_RELOC_390_TLS_LDO32,
 1.39686 -+  BFD_RELOC_390_TLS_LDO64,
 1.39687 -+  BFD_RELOC_390_TLS_DTPMOD,
 1.39688 -+  BFD_RELOC_390_TLS_DTPOFF,
 1.39689 -+  BFD_RELOC_390_TLS_TPOFF,
 1.39690 -+
 1.39691 -+/* Long displacement extension.  */
 1.39692 -+  BFD_RELOC_390_20,
 1.39693 -+  BFD_RELOC_390_GOT20,
 1.39694 -+  BFD_RELOC_390_GOTPLT20,
 1.39695 -+  BFD_RELOC_390_TLS_GOTIE20,
 1.39696 -+
 1.39697 -+/* Score relocations  */
 1.39698 -+  BFD_RELOC_SCORE_DUMMY1,
 1.39699 -+
 1.39700 -+/* Low 16 bit for load/store  */
 1.39701 -+  BFD_RELOC_SCORE_GPREL15,
 1.39702 -+
 1.39703 -+/* This is a 24-bit reloc with the right 1 bit assumed to be 0  */
 1.39704 -+  BFD_RELOC_SCORE_DUMMY2,
 1.39705 -+  BFD_RELOC_SCORE_JMP,
 1.39706 -+
 1.39707 -+/* This is a 19-bit reloc with the right 1 bit assumed to be 0  */
 1.39708 -+  BFD_RELOC_SCORE_BRANCH,
 1.39709 -+
 1.39710 -+/* This is a 11-bit reloc with the right 1 bit assumed to be 0  */
 1.39711 -+  BFD_RELOC_SCORE16_JMP,
 1.39712 -+
 1.39713 -+/* This is a 8-bit reloc with the right 1 bit assumed to be 0  */
 1.39714 -+  BFD_RELOC_SCORE16_BRANCH,
 1.39715 -+
 1.39716 -+/* Undocumented Score relocs  */
 1.39717 -+  BFD_RELOC_SCORE_GOT15,
 1.39718 -+  BFD_RELOC_SCORE_GOT_LO16,
 1.39719 -+  BFD_RELOC_SCORE_CALL15,
 1.39720 -+  BFD_RELOC_SCORE_DUMMY_HI16,
 1.39721 -+
 1.39722 -+/* Scenix IP2K - 9-bit register number / data address  */
 1.39723 -+  BFD_RELOC_IP2K_FR9,
 1.39724 -+
 1.39725 -+/* Scenix IP2K - 4-bit register/data bank number  */
 1.39726 -+  BFD_RELOC_IP2K_BANK,
 1.39727 -+
 1.39728 -+/* Scenix IP2K - low 13 bits of instruction word address  */
 1.39729 -+  BFD_RELOC_IP2K_ADDR16CJP,
 1.39730 -+
 1.39731 -+/* Scenix IP2K - high 3 bits of instruction word address  */
 1.39732 -+  BFD_RELOC_IP2K_PAGE3,
 1.39733 -+
 1.39734 -+/* Scenix IP2K - ext/low/high 8 bits of data address  */
 1.39735 -+  BFD_RELOC_IP2K_LO8DATA,
 1.39736 -+  BFD_RELOC_IP2K_HI8DATA,
 1.39737 -+  BFD_RELOC_IP2K_EX8DATA,
 1.39738 -+
 1.39739 -+/* Scenix IP2K - low/high 8 bits of instruction word address  */
 1.39740 -+  BFD_RELOC_IP2K_LO8INSN,
 1.39741 -+  BFD_RELOC_IP2K_HI8INSN,
 1.39742 -+
 1.39743 -+/* Scenix IP2K - even/odd PC modifier to modify snb pcl.0  */
 1.39744 -+  BFD_RELOC_IP2K_PC_SKIP,
 1.39745 -+
 1.39746 -+/* Scenix IP2K - 16 bit word address in text section.  */
 1.39747 -+  BFD_RELOC_IP2K_TEXT,
 1.39748 -+
 1.39749 -+/* Scenix IP2K - 7-bit sp or dp offset  */
 1.39750 -+  BFD_RELOC_IP2K_FR_OFFSET,
 1.39751 -+
 1.39752 -+/* Scenix VPE4K coprocessor - data/insn-space addressing  */
 1.39753 -+  BFD_RELOC_VPE4KMATH_DATA,
 1.39754 -+  BFD_RELOC_VPE4KMATH_INSN,
 1.39755 -+
 1.39756 -+/* These two relocations are used by the linker to determine which of
 1.39757 -+the entries in a C++ virtual function table are actually used.  When
 1.39758 -+the --gc-sections option is given, the linker will zero out the entries
 1.39759 -+that are not used, so that the code for those functions need not be
 1.39760 -+included in the output.
 1.39761 -+
 1.39762 -+VTABLE_INHERIT is a zero-space relocation used to describe to the
 1.39763 -+linker the inheritance tree of a C++ virtual function table.  The
 1.39764 -+relocation's symbol should be the parent class' vtable, and the
 1.39765 -+relocation should be located at the child vtable.
 1.39766 -+
 1.39767 -+VTABLE_ENTRY is a zero-space relocation that describes the use of a
 1.39768 -+virtual function table entry.  The reloc's symbol should refer to the
 1.39769 -+table of the class mentioned in the code.  Off of that base, an offset
 1.39770 -+describes the entry that is being used.  For Rela hosts, this offset
 1.39771 -+is stored in the reloc's addend.  For Rel hosts, we are forced to put
 1.39772 -+this offset in the reloc's section offset.  */
 1.39773 -+  BFD_RELOC_VTABLE_INHERIT,
 1.39774 -+  BFD_RELOC_VTABLE_ENTRY,
 1.39775 -+
 1.39776 -+/* Intel IA64 Relocations.  */
 1.39777 -+  BFD_RELOC_IA64_IMM14,
 1.39778 -+  BFD_RELOC_IA64_IMM22,
 1.39779 -+  BFD_RELOC_IA64_IMM64,
 1.39780 -+  BFD_RELOC_IA64_DIR32MSB,
 1.39781 -+  BFD_RELOC_IA64_DIR32LSB,
 1.39782 -+  BFD_RELOC_IA64_DIR64MSB,
 1.39783 -+  BFD_RELOC_IA64_DIR64LSB,
 1.39784 -+  BFD_RELOC_IA64_GPREL22,
 1.39785 -+  BFD_RELOC_IA64_GPREL64I,
 1.39786 -+  BFD_RELOC_IA64_GPREL32MSB,
 1.39787 -+  BFD_RELOC_IA64_GPREL32LSB,
 1.39788 -+  BFD_RELOC_IA64_GPREL64MSB,
 1.39789 -+  BFD_RELOC_IA64_GPREL64LSB,
 1.39790 -+  BFD_RELOC_IA64_LTOFF22,
 1.39791 -+  BFD_RELOC_IA64_LTOFF64I,
 1.39792 -+  BFD_RELOC_IA64_PLTOFF22,
 1.39793 -+  BFD_RELOC_IA64_PLTOFF64I,
 1.39794 -+  BFD_RELOC_IA64_PLTOFF64MSB,
 1.39795 -+  BFD_RELOC_IA64_PLTOFF64LSB,
 1.39796 -+  BFD_RELOC_IA64_FPTR64I,
 1.39797 -+  BFD_RELOC_IA64_FPTR32MSB,
 1.39798 -+  BFD_RELOC_IA64_FPTR32LSB,
 1.39799 -+  BFD_RELOC_IA64_FPTR64MSB,
 1.39800 -+  BFD_RELOC_IA64_FPTR64LSB,
 1.39801 -+  BFD_RELOC_IA64_PCREL21B,
 1.39802 -+  BFD_RELOC_IA64_PCREL21BI,
 1.39803 -+  BFD_RELOC_IA64_PCREL21M,
 1.39804 -+  BFD_RELOC_IA64_PCREL21F,
 1.39805 -+  BFD_RELOC_IA64_PCREL22,
 1.39806 -+  BFD_RELOC_IA64_PCREL60B,
 1.39807 -+  BFD_RELOC_IA64_PCREL64I,
 1.39808 -+  BFD_RELOC_IA64_PCREL32MSB,
 1.39809 -+  BFD_RELOC_IA64_PCREL32LSB,
 1.39810 -+  BFD_RELOC_IA64_PCREL64MSB,
 1.39811 -+  BFD_RELOC_IA64_PCREL64LSB,
 1.39812 -+  BFD_RELOC_IA64_LTOFF_FPTR22,
 1.39813 -+  BFD_RELOC_IA64_LTOFF_FPTR64I,
 1.39814 -+  BFD_RELOC_IA64_LTOFF_FPTR32MSB,
 1.39815 -+  BFD_RELOC_IA64_LTOFF_FPTR32LSB,
 1.39816 -+  BFD_RELOC_IA64_LTOFF_FPTR64MSB,
 1.39817 -+  BFD_RELOC_IA64_LTOFF_FPTR64LSB,
 1.39818 -+  BFD_RELOC_IA64_SEGREL32MSB,
 1.39819 -+  BFD_RELOC_IA64_SEGREL32LSB,
 1.39820 -+  BFD_RELOC_IA64_SEGREL64MSB,
 1.39821 -+  BFD_RELOC_IA64_SEGREL64LSB,
 1.39822 -+  BFD_RELOC_IA64_SECREL32MSB,
 1.39823 -+  BFD_RELOC_IA64_SECREL32LSB,
 1.39824 -+  BFD_RELOC_IA64_SECREL64MSB,
 1.39825 -+  BFD_RELOC_IA64_SECREL64LSB,
 1.39826 -+  BFD_RELOC_IA64_REL32MSB,
 1.39827 -+  BFD_RELOC_IA64_REL32LSB,
 1.39828 -+  BFD_RELOC_IA64_REL64MSB,
 1.39829 -+  BFD_RELOC_IA64_REL64LSB,
 1.39830 -+  BFD_RELOC_IA64_LTV32MSB,
 1.39831 -+  BFD_RELOC_IA64_LTV32LSB,
 1.39832 -+  BFD_RELOC_IA64_LTV64MSB,
 1.39833 -+  BFD_RELOC_IA64_LTV64LSB,
 1.39834 -+  BFD_RELOC_IA64_IPLTMSB,
 1.39835 -+  BFD_RELOC_IA64_IPLTLSB,
 1.39836 -+  BFD_RELOC_IA64_COPY,
 1.39837 -+  BFD_RELOC_IA64_LTOFF22X,
 1.39838 -+  BFD_RELOC_IA64_LDXMOV,
 1.39839 -+  BFD_RELOC_IA64_TPREL14,
 1.39840 -+  BFD_RELOC_IA64_TPREL22,
 1.39841 -+  BFD_RELOC_IA64_TPREL64I,
 1.39842 -+  BFD_RELOC_IA64_TPREL64MSB,
 1.39843 -+  BFD_RELOC_IA64_TPREL64LSB,
 1.39844 -+  BFD_RELOC_IA64_LTOFF_TPREL22,
 1.39845 -+  BFD_RELOC_IA64_DTPMOD64MSB,
 1.39846 -+  BFD_RELOC_IA64_DTPMOD64LSB,
 1.39847 -+  BFD_RELOC_IA64_LTOFF_DTPMOD22,
 1.39848 -+  BFD_RELOC_IA64_DTPREL14,
 1.39849 -+  BFD_RELOC_IA64_DTPREL22,
 1.39850 -+  BFD_RELOC_IA64_DTPREL64I,
 1.39851 -+  BFD_RELOC_IA64_DTPREL32MSB,
 1.39852 -+  BFD_RELOC_IA64_DTPREL32LSB,
 1.39853 -+  BFD_RELOC_IA64_DTPREL64MSB,
 1.39854 -+  BFD_RELOC_IA64_DTPREL64LSB,
 1.39855 -+  BFD_RELOC_IA64_LTOFF_DTPREL22,
 1.39856 -+
 1.39857 -+/* Motorola 68HC11 reloc.
 1.39858 -+This is the 8 bit high part of an absolute address.  */
 1.39859 -+  BFD_RELOC_M68HC11_HI8,
 1.39860 -+
 1.39861 -+/* Motorola 68HC11 reloc.
 1.39862 -+This is the 8 bit low part of an absolute address.  */
 1.39863 -+  BFD_RELOC_M68HC11_LO8,
 1.39864 -+
 1.39865 -+/* Motorola 68HC11 reloc.
 1.39866 -+This is the 3 bit of a value.  */
 1.39867 -+  BFD_RELOC_M68HC11_3B,
 1.39868 -+
 1.39869 -+/* Motorola 68HC11 reloc.
 1.39870 -+This reloc marks the beginning of a jump/call instruction.
 1.39871 -+It is used for linker relaxation to correctly identify beginning
 1.39872 -+of instruction and change some branches to use PC-relative
 1.39873 -+addressing mode.  */
 1.39874 -+  BFD_RELOC_M68HC11_RL_JUMP,
 1.39875 -+
 1.39876 -+/* Motorola 68HC11 reloc.
 1.39877 -+This reloc marks a group of several instructions that gcc generates
 1.39878 -+and for which the linker relaxation pass can modify and/or remove
 1.39879 -+some of them.  */
 1.39880 -+  BFD_RELOC_M68HC11_RL_GROUP,
 1.39881 -+
 1.39882 -+/* Motorola 68HC11 reloc.
 1.39883 -+This is the 16-bit lower part of an address.  It is used for 'call'
 1.39884 -+instruction to specify the symbol address without any special
 1.39885 -+transformation (due to memory bank window).  */
 1.39886 -+  BFD_RELOC_M68HC11_LO16,
 1.39887 -+
 1.39888 -+/* Motorola 68HC11 reloc.
 1.39889 -+This is a 8-bit reloc that specifies the page number of an address.
 1.39890 -+It is used by 'call' instruction to specify the page number of
 1.39891 -+the symbol.  */
 1.39892 -+  BFD_RELOC_M68HC11_PAGE,
 1.39893 -+
 1.39894 -+/* Motorola 68HC11 reloc.
 1.39895 -+This is a 24-bit reloc that represents the address with a 16-bit
 1.39896 -+value and a 8-bit page number.  The symbol address is transformed
 1.39897 -+to follow the 16K memory bank of 68HC12 (seen as mapped in the window).  */
 1.39898 -+  BFD_RELOC_M68HC11_24,
 1.39899 -+
 1.39900 -+/* Motorola 68HC12 reloc.
 1.39901 -+This is the 5 bits of a value.  */
 1.39902 -+  BFD_RELOC_M68HC12_5B,
 1.39903 -+
 1.39904 -+/* NS CR16C Relocations.  */
 1.39905 -+  BFD_RELOC_16C_NUM08,
 1.39906 -+  BFD_RELOC_16C_NUM08_C,
 1.39907 -+  BFD_RELOC_16C_NUM16,
 1.39908 -+  BFD_RELOC_16C_NUM16_C,
 1.39909 -+  BFD_RELOC_16C_NUM32,
 1.39910 -+  BFD_RELOC_16C_NUM32_C,
 1.39911 -+  BFD_RELOC_16C_DISP04,
 1.39912 -+  BFD_RELOC_16C_DISP04_C,
 1.39913 -+  BFD_RELOC_16C_DISP08,
 1.39914 -+  BFD_RELOC_16C_DISP08_C,
 1.39915 -+  BFD_RELOC_16C_DISP16,
 1.39916 -+  BFD_RELOC_16C_DISP16_C,
 1.39917 -+  BFD_RELOC_16C_DISP24,
 1.39918 -+  BFD_RELOC_16C_DISP24_C,
 1.39919 -+  BFD_RELOC_16C_DISP24a,
 1.39920 -+  BFD_RELOC_16C_DISP24a_C,
 1.39921 -+  BFD_RELOC_16C_REG04,
 1.39922 -+  BFD_RELOC_16C_REG04_C,
 1.39923 -+  BFD_RELOC_16C_REG04a,
 1.39924 -+  BFD_RELOC_16C_REG04a_C,
 1.39925 -+  BFD_RELOC_16C_REG14,
 1.39926 -+  BFD_RELOC_16C_REG14_C,
 1.39927 -+  BFD_RELOC_16C_REG16,
 1.39928 -+  BFD_RELOC_16C_REG16_C,
 1.39929 -+  BFD_RELOC_16C_REG20,
 1.39930 -+  BFD_RELOC_16C_REG20_C,
 1.39931 -+  BFD_RELOC_16C_ABS20,
 1.39932 -+  BFD_RELOC_16C_ABS20_C,
 1.39933 -+  BFD_RELOC_16C_ABS24,
 1.39934 -+  BFD_RELOC_16C_ABS24_C,
 1.39935 -+  BFD_RELOC_16C_IMM04,
 1.39936 -+  BFD_RELOC_16C_IMM04_C,
 1.39937 -+  BFD_RELOC_16C_IMM16,
 1.39938 -+  BFD_RELOC_16C_IMM16_C,
 1.39939 -+  BFD_RELOC_16C_IMM20,
 1.39940 -+  BFD_RELOC_16C_IMM20_C,
 1.39941 -+  BFD_RELOC_16C_IMM24,
 1.39942 -+  BFD_RELOC_16C_IMM24_C,
 1.39943 -+  BFD_RELOC_16C_IMM32,
 1.39944 -+  BFD_RELOC_16C_IMM32_C,
 1.39945 -+
 1.39946 -+/* NS CR16 Relocations.  */
 1.39947 -+  BFD_RELOC_CR16_NUM8,
 1.39948 -+  BFD_RELOC_CR16_NUM16,
 1.39949 -+  BFD_RELOC_CR16_NUM32,
 1.39950 -+  BFD_RELOC_CR16_NUM32a,
 1.39951 -+  BFD_RELOC_CR16_REGREL0,
 1.39952 -+  BFD_RELOC_CR16_REGREL4,
 1.39953 -+  BFD_RELOC_CR16_REGREL4a,
 1.39954 -+  BFD_RELOC_CR16_REGREL14,
 1.39955 -+  BFD_RELOC_CR16_REGREL14a,
 1.39956 -+  BFD_RELOC_CR16_REGREL16,
 1.39957 -+  BFD_RELOC_CR16_REGREL20,
 1.39958 -+  BFD_RELOC_CR16_REGREL20a,
 1.39959 -+  BFD_RELOC_CR16_ABS20,
 1.39960 -+  BFD_RELOC_CR16_ABS24,
 1.39961 -+  BFD_RELOC_CR16_IMM4,
 1.39962 -+  BFD_RELOC_CR16_IMM8,
 1.39963 -+  BFD_RELOC_CR16_IMM16,
 1.39964 -+  BFD_RELOC_CR16_IMM20,
 1.39965 -+  BFD_RELOC_CR16_IMM24,
 1.39966 -+  BFD_RELOC_CR16_IMM32,
 1.39967 -+  BFD_RELOC_CR16_IMM32a,
 1.39968 -+  BFD_RELOC_CR16_DISP4,
 1.39969 -+  BFD_RELOC_CR16_DISP8,
 1.39970 -+  BFD_RELOC_CR16_DISP16,
 1.39971 -+  BFD_RELOC_CR16_DISP20,
 1.39972 -+  BFD_RELOC_CR16_DISP24,
 1.39973 -+  BFD_RELOC_CR16_DISP24a,
 1.39974 -+
 1.39975 -+/* NS CRX Relocations.  */
 1.39976 -+  BFD_RELOC_CRX_REL4,
 1.39977 -+  BFD_RELOC_CRX_REL8,
 1.39978 -+  BFD_RELOC_CRX_REL8_CMP,
 1.39979 -+  BFD_RELOC_CRX_REL16,
 1.39980 -+  BFD_RELOC_CRX_REL24,
 1.39981 -+  BFD_RELOC_CRX_REL32,
 1.39982 -+  BFD_RELOC_CRX_REGREL12,
 1.39983 -+  BFD_RELOC_CRX_REGREL22,
 1.39984 -+  BFD_RELOC_CRX_REGREL28,
 1.39985 -+  BFD_RELOC_CRX_REGREL32,
 1.39986 -+  BFD_RELOC_CRX_ABS16,
 1.39987 -+  BFD_RELOC_CRX_ABS32,
 1.39988 -+  BFD_RELOC_CRX_NUM8,
 1.39989 -+  BFD_RELOC_CRX_NUM16,
 1.39990 -+  BFD_RELOC_CRX_NUM32,
 1.39991 -+  BFD_RELOC_CRX_IMM16,
 1.39992 -+  BFD_RELOC_CRX_IMM32,
 1.39993 -+  BFD_RELOC_CRX_SWITCH8,
 1.39994 -+  BFD_RELOC_CRX_SWITCH16,
 1.39995 -+  BFD_RELOC_CRX_SWITCH32,
 1.39996 -+
 1.39997 -+/* These relocs are only used within the CRIS assembler.  They are not
 1.39998 -+(at present) written to any object files.  */
 1.39999 -+  BFD_RELOC_CRIS_BDISP8,
 1.40000 -+  BFD_RELOC_CRIS_UNSIGNED_5,
 1.40001 -+  BFD_RELOC_CRIS_SIGNED_6,
 1.40002 -+  BFD_RELOC_CRIS_UNSIGNED_6,
 1.40003 -+  BFD_RELOC_CRIS_SIGNED_8,
 1.40004 -+  BFD_RELOC_CRIS_UNSIGNED_8,
 1.40005 -+  BFD_RELOC_CRIS_SIGNED_16,
 1.40006 -+  BFD_RELOC_CRIS_UNSIGNED_16,
 1.40007 -+  BFD_RELOC_CRIS_LAPCQ_OFFSET,
 1.40008 -+  BFD_RELOC_CRIS_UNSIGNED_4,
 1.40009 -+
 1.40010 -+/* Relocs used in ELF shared libraries for CRIS.  */
 1.40011 -+  BFD_RELOC_CRIS_COPY,
 1.40012 -+  BFD_RELOC_CRIS_GLOB_DAT,
 1.40013 -+  BFD_RELOC_CRIS_JUMP_SLOT,
 1.40014 -+  BFD_RELOC_CRIS_RELATIVE,
 1.40015 -+
 1.40016 -+/* 32-bit offset to symbol-entry within GOT.  */
 1.40017 -+  BFD_RELOC_CRIS_32_GOT,
 1.40018 -+
 1.40019 -+/* 16-bit offset to symbol-entry within GOT.  */
 1.40020 -+  BFD_RELOC_CRIS_16_GOT,
 1.40021 -+
 1.40022 -+/* 32-bit offset to symbol-entry within GOT, with PLT handling.  */
 1.40023 -+  BFD_RELOC_CRIS_32_GOTPLT,
 1.40024 -+
 1.40025 -+/* 16-bit offset to symbol-entry within GOT, with PLT handling.  */
 1.40026 -+  BFD_RELOC_CRIS_16_GOTPLT,
 1.40027 -+
 1.40028 -+/* 32-bit offset to symbol, relative to GOT.  */
 1.40029 -+  BFD_RELOC_CRIS_32_GOTREL,
 1.40030 -+
 1.40031 -+/* 32-bit offset to symbol with PLT entry, relative to GOT.  */
 1.40032 -+  BFD_RELOC_CRIS_32_PLT_GOTREL,
 1.40033 -+
 1.40034 -+/* 32-bit offset to symbol with PLT entry, relative to this relocation.  */
 1.40035 -+  BFD_RELOC_CRIS_32_PLT_PCREL,
 1.40036 -+
 1.40037 -+/* Intel i860 Relocations.  */
 1.40038 -+  BFD_RELOC_860_COPY,
 1.40039 -+  BFD_RELOC_860_GLOB_DAT,
 1.40040 -+  BFD_RELOC_860_JUMP_SLOT,
 1.40041 -+  BFD_RELOC_860_RELATIVE,
 1.40042 -+  BFD_RELOC_860_PC26,
 1.40043 -+  BFD_RELOC_860_PLT26,
 1.40044 -+  BFD_RELOC_860_PC16,
 1.40045 -+  BFD_RELOC_860_LOW0,
 1.40046 -+  BFD_RELOC_860_SPLIT0,
 1.40047 -+  BFD_RELOC_860_LOW1,
 1.40048 -+  BFD_RELOC_860_SPLIT1,
 1.40049 -+  BFD_RELOC_860_LOW2,
 1.40050 -+  BFD_RELOC_860_SPLIT2,
 1.40051 -+  BFD_RELOC_860_LOW3,
 1.40052 -+  BFD_RELOC_860_LOGOT0,
 1.40053 -+  BFD_RELOC_860_SPGOT0,
 1.40054 -+  BFD_RELOC_860_LOGOT1,
 1.40055 -+  BFD_RELOC_860_SPGOT1,
 1.40056 -+  BFD_RELOC_860_LOGOTOFF0,
 1.40057 -+  BFD_RELOC_860_SPGOTOFF0,
 1.40058 -+  BFD_RELOC_860_LOGOTOFF1,
 1.40059 -+  BFD_RELOC_860_SPGOTOFF1,
 1.40060 -+  BFD_RELOC_860_LOGOTOFF2,
 1.40061 -+  BFD_RELOC_860_LOGOTOFF3,
 1.40062 -+  BFD_RELOC_860_LOPC,
 1.40063 -+  BFD_RELOC_860_HIGHADJ,
 1.40064 -+  BFD_RELOC_860_HAGOT,
 1.40065 -+  BFD_RELOC_860_HAGOTOFF,
 1.40066 -+  BFD_RELOC_860_HAPC,
 1.40067 -+  BFD_RELOC_860_HIGH,
 1.40068 -+  BFD_RELOC_860_HIGOT,
 1.40069 -+  BFD_RELOC_860_HIGOTOFF,
 1.40070 -+
 1.40071 -+/* OpenRISC Relocations.  */
 1.40072 -+  BFD_RELOC_OPENRISC_ABS_26,
 1.40073 -+  BFD_RELOC_OPENRISC_REL_26,
 1.40074 -+
 1.40075 -+/* H8 elf Relocations.  */
 1.40076 -+  BFD_RELOC_H8_DIR16A8,
 1.40077 -+  BFD_RELOC_H8_DIR16R8,
 1.40078 -+  BFD_RELOC_H8_DIR24A8,
 1.40079 -+  BFD_RELOC_H8_DIR24R8,
 1.40080 -+  BFD_RELOC_H8_DIR32A16,
 1.40081 -+
 1.40082 -+/* Sony Xstormy16 Relocations.  */
 1.40083 -+  BFD_RELOC_XSTORMY16_REL_12,
 1.40084 -+  BFD_RELOC_XSTORMY16_12,
 1.40085 -+  BFD_RELOC_XSTORMY16_24,
 1.40086 -+  BFD_RELOC_XSTORMY16_FPTR16,
 1.40087 -+
 1.40088 -+/* Self-describing complex relocations.  */
 1.40089 -+  BFD_RELOC_RELC,
 1.40090 -+
 1.40091 -+
 1.40092 -+/* Infineon Relocations.  */
 1.40093 -+  BFD_RELOC_XC16X_PAG,
 1.40094 -+  BFD_RELOC_XC16X_POF,
 1.40095 -+  BFD_RELOC_XC16X_SEG,
 1.40096 -+  BFD_RELOC_XC16X_SOF,
 1.40097 -+
 1.40098 -+/* Relocations used by VAX ELF.  */
 1.40099 -+  BFD_RELOC_VAX_GLOB_DAT,
 1.40100 -+  BFD_RELOC_VAX_JMP_SLOT,
 1.40101 -+  BFD_RELOC_VAX_RELATIVE,
 1.40102 -+
 1.40103 -+/* Morpho MT - 16 bit immediate relocation.  */
 1.40104 -+  BFD_RELOC_MT_PC16,
 1.40105 -+
 1.40106 -+/* Morpho MT - Hi 16 bits of an address.  */
 1.40107 -+  BFD_RELOC_MT_HI16,
 1.40108 -+
 1.40109 -+/* Morpho MT - Low 16 bits of an address.  */
 1.40110 -+  BFD_RELOC_MT_LO16,
 1.40111 -+
 1.40112 -+/* Morpho MT - Used to tell the linker which vtable entries are used.  */
 1.40113 -+  BFD_RELOC_MT_GNU_VTINHERIT,
 1.40114 -+
 1.40115 -+/* Morpho MT - Used to tell the linker which vtable entries are used.  */
 1.40116 -+  BFD_RELOC_MT_GNU_VTENTRY,
 1.40117 -+
 1.40118 -+/* Morpho MT - 8 bit immediate relocation.  */
 1.40119 -+  BFD_RELOC_MT_PCINSN8,
 1.40120 -+
 1.40121 -+/* msp430 specific relocation codes  */
 1.40122 -+  BFD_RELOC_MSP430_10_PCREL,
 1.40123 -+  BFD_RELOC_MSP430_16_PCREL,
 1.40124 -+  BFD_RELOC_MSP430_16,
 1.40125 -+  BFD_RELOC_MSP430_16_PCREL_BYTE,
 1.40126 -+  BFD_RELOC_MSP430_16_BYTE,
 1.40127 -+  BFD_RELOC_MSP430_2X_PCREL,
 1.40128 -+  BFD_RELOC_MSP430_RL_PCREL,
 1.40129 -+
 1.40130 -+/* IQ2000 Relocations.  */
 1.40131 -+  BFD_RELOC_IQ2000_OFFSET_16,
 1.40132 -+  BFD_RELOC_IQ2000_OFFSET_21,
 1.40133 -+  BFD_RELOC_IQ2000_UHI16,
 1.40134 -+
 1.40135 -+/* Special Xtensa relocation used only by PLT entries in ELF shared
 1.40136 -+objects to indicate that the runtime linker should set the value
 1.40137 -+to one of its own internal functions or data structures.  */
 1.40138 -+  BFD_RELOC_XTENSA_RTLD,
 1.40139 -+
 1.40140 -+/* Xtensa relocations for ELF shared objects.  */
 1.40141 -+  BFD_RELOC_XTENSA_GLOB_DAT,
 1.40142 -+  BFD_RELOC_XTENSA_JMP_SLOT,
 1.40143 -+  BFD_RELOC_XTENSA_RELATIVE,
 1.40144 -+
 1.40145 -+/* Xtensa relocation used in ELF object files for symbols that may require
 1.40146 -+PLT entries.  Otherwise, this is just a generic 32-bit relocation.  */
 1.40147 -+  BFD_RELOC_XTENSA_PLT,
 1.40148 -+
 1.40149 -+/* Xtensa relocations to mark the difference of two local symbols.
 1.40150 -+These are only needed to support linker relaxation and can be ignored
 1.40151 -+when not relaxing.  The field is set to the value of the difference
 1.40152 -+assuming no relaxation.  The relocation encodes the position of the
 1.40153 -+first symbol so the linker can determine whether to adjust the field
 1.40154 -+value.  */
 1.40155 -+  BFD_RELOC_XTENSA_DIFF8,
 1.40156 -+  BFD_RELOC_XTENSA_DIFF16,
 1.40157 -+  BFD_RELOC_XTENSA_DIFF32,
 1.40158 -+
 1.40159 -+/* Generic Xtensa relocations for instruction operands.  Only the slot
 1.40160 -+number is encoded in the relocation.  The relocation applies to the
 1.40161 -+last PC-relative immediate operand, or if there are no PC-relative
 1.40162 -+immediates, to the last immediate operand.  */
 1.40163 -+  BFD_RELOC_XTENSA_SLOT0_OP,
 1.40164 -+  BFD_RELOC_XTENSA_SLOT1_OP,
 1.40165 -+  BFD_RELOC_XTENSA_SLOT2_OP,
 1.40166 -+  BFD_RELOC_XTENSA_SLOT3_OP,
 1.40167 -+  BFD_RELOC_XTENSA_SLOT4_OP,
 1.40168 -+  BFD_RELOC_XTENSA_SLOT5_OP,
 1.40169 -+  BFD_RELOC_XTENSA_SLOT6_OP,
 1.40170 -+  BFD_RELOC_XTENSA_SLOT7_OP,
 1.40171 -+  BFD_RELOC_XTENSA_SLOT8_OP,
 1.40172 -+  BFD_RELOC_XTENSA_SLOT9_OP,
 1.40173 -+  BFD_RELOC_XTENSA_SLOT10_OP,
 1.40174 -+  BFD_RELOC_XTENSA_SLOT11_OP,
 1.40175 -+  BFD_RELOC_XTENSA_SLOT12_OP,
 1.40176 -+  BFD_RELOC_XTENSA_SLOT13_OP,
 1.40177 -+  BFD_RELOC_XTENSA_SLOT14_OP,
 1.40178 -+
 1.40179 -+/* Alternate Xtensa relocations.  Only the slot is encoded in the
 1.40180 -+relocation.  The meaning of these relocations is opcode-specific.  */
 1.40181 -+  BFD_RELOC_XTENSA_SLOT0_ALT,
 1.40182 -+  BFD_RELOC_XTENSA_SLOT1_ALT,
 1.40183 -+  BFD_RELOC_XTENSA_SLOT2_ALT,
 1.40184 -+  BFD_RELOC_XTENSA_SLOT3_ALT,
 1.40185 -+  BFD_RELOC_XTENSA_SLOT4_ALT,
 1.40186 -+  BFD_RELOC_XTENSA_SLOT5_ALT,
 1.40187 -+  BFD_RELOC_XTENSA_SLOT6_ALT,
 1.40188 -+  BFD_RELOC_XTENSA_SLOT7_ALT,
 1.40189 -+  BFD_RELOC_XTENSA_SLOT8_ALT,
 1.40190 -+  BFD_RELOC_XTENSA_SLOT9_ALT,
 1.40191 -+  BFD_RELOC_XTENSA_SLOT10_ALT,
 1.40192 -+  BFD_RELOC_XTENSA_SLOT11_ALT,
 1.40193 -+  BFD_RELOC_XTENSA_SLOT12_ALT,
 1.40194 -+  BFD_RELOC_XTENSA_SLOT13_ALT,
 1.40195 -+  BFD_RELOC_XTENSA_SLOT14_ALT,
 1.40196 -+
 1.40197 -+/* Xtensa relocations for backward compatibility.  These have all been
 1.40198 -+replaced by BFD_RELOC_XTENSA_SLOT0_OP.  */
 1.40199 -+  BFD_RELOC_XTENSA_OP0,
 1.40200 -+  BFD_RELOC_XTENSA_OP1,
 1.40201 -+  BFD_RELOC_XTENSA_OP2,
 1.40202 -+
 1.40203 -+/* Xtensa relocation to mark that the assembler expanded the
 1.40204 -+instructions from an original target.  The expansion size is
 1.40205 -+encoded in the reloc size.  */
 1.40206 -+  BFD_RELOC_XTENSA_ASM_EXPAND,
 1.40207 -+
 1.40208 -+/* Xtensa relocation to mark that the linker should simplify
 1.40209 -+assembler-expanded instructions.  This is commonly used
 1.40210 -+internally by the linker after analysis of a
 1.40211 -+BFD_RELOC_XTENSA_ASM_EXPAND.  */
 1.40212 -+  BFD_RELOC_XTENSA_ASM_SIMPLIFY,
 1.40213 -+
 1.40214 -+/* 8 bit signed offset in (ix+d) or (iy+d).  */
 1.40215 -+  BFD_RELOC_Z80_DISP8,
 1.40216 -+
 1.40217 -+/* DJNZ offset.  */
 1.40218 -+  BFD_RELOC_Z8K_DISP7,
 1.40219 -+
 1.40220 -+/* CALR offset.  */
 1.40221 -+  BFD_RELOC_Z8K_CALLR,
 1.40222 -+
 1.40223 -+/* 4 bit value.  */
 1.40224 -+  BFD_RELOC_Z8K_IMM4L,
 1.40225 -+  BFD_RELOC_UNUSED };
 1.40226 -+typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
 1.40227 -+reloc_howto_type *bfd_reloc_type_lookup
 1.40228 -+   (bfd *abfd, bfd_reloc_code_real_type code);
 1.40229 -+reloc_howto_type *bfd_reloc_name_lookup
 1.40230 -+   (bfd *abfd, const char *reloc_name);
 1.40231 -+
 1.40232 -+const char *bfd_get_reloc_code_name (bfd_reloc_code_real_type code);
 1.40233 -+
 1.40234 -+/* Extracted from syms.c.  */
 1.40235 -+
 1.40236 -+typedef struct bfd_symbol
 1.40237 -+{
 1.40238 -+  /* A pointer to the BFD which owns the symbol. This information
 1.40239 -+     is necessary so that a back end can work out what additional
 1.40240 -+     information (invisible to the application writer) is carried
 1.40241 -+     with the symbol.
 1.40242 -+
 1.40243 -+     This field is *almost* redundant, since you can use section->owner
 1.40244 -+     instead, except that some symbols point to the global sections
 1.40245 -+     bfd_{abs,com,und}_section.  This could be fixed by making
 1.40246 -+     these globals be per-bfd (or per-target-flavor).  FIXME.  */
 1.40247 -+  struct bfd *the_bfd; /* Use bfd_asymbol_bfd(sym) to access this field.  */
 1.40248 -+
 1.40249 -+  /* The text of the symbol. The name is left alone, and not copied; the
 1.40250 -+     application may not alter it.  */
 1.40251 -+  const char *name;
 1.40252 -+
 1.40253 -+  /* The value of the symbol.  This really should be a union of a
 1.40254 -+     numeric value with a pointer, since some flags indicate that
 1.40255 -+     a pointer to another symbol is stored here.  */
 1.40256 -+  symvalue value;
 1.40257 -+
 1.40258 -+  /* Attributes of a symbol.  */
 1.40259 -+#define BSF_NO_FLAGS    0x00
 1.40260 -+
 1.40261 -+  /* The symbol has local scope; <<static>> in <<C>>. The value
 1.40262 -+     is the offset into the section of the data.  */
 1.40263 -+#define BSF_LOCAL      0x01
 1.40264 -+
 1.40265 -+  /* The symbol has global scope; initialized data in <<C>>. The
 1.40266 -+     value is the offset into the section of the data.  */
 1.40267 -+#define BSF_GLOBAL     0x02
 1.40268 -+
 1.40269 -+  /* The symbol has global scope and is exported. The value is
 1.40270 -+     the offset into the section of the data.  */
 1.40271 -+#define BSF_EXPORT     BSF_GLOBAL /* No real difference.  */
 1.40272 -+
 1.40273 -+  /* A normal C symbol would be one of:
 1.40274 -+     <<BSF_LOCAL>>, <<BSF_FORT_COMM>>,  <<BSF_UNDEFINED>> or
 1.40275 -+     <<BSF_GLOBAL>>.  */
 1.40276 -+
 1.40277 -+  /* The symbol is a debugging record. The value has an arbitrary
 1.40278 -+     meaning, unless BSF_DEBUGGING_RELOC is also set.  */
 1.40279 -+#define BSF_DEBUGGING  0x08
 1.40280 -+
 1.40281 -+  /* The symbol denotes a function entry point.  Used in ELF,
 1.40282 -+     perhaps others someday.  */
 1.40283 -+#define BSF_FUNCTION    0x10
 1.40284 -+
 1.40285 -+  /* Used by the linker.  */
 1.40286 -+#define BSF_KEEP        0x20
 1.40287 -+#define BSF_KEEP_G      0x40
 1.40288 -+
 1.40289 -+  /* A weak global symbol, overridable without warnings by
 1.40290 -+     a regular global symbol of the same name.  */
 1.40291 -+#define BSF_WEAK        0x80
 1.40292 -+
 1.40293 -+  /* This symbol was created to point to a section, e.g. ELF's
 1.40294 -+     STT_SECTION symbols.  */
 1.40295 -+#define BSF_SECTION_SYM 0x100
 1.40296 -+
 1.40297 -+  /* The symbol used to be a common symbol, but now it is
 1.40298 -+     allocated.  */
 1.40299 -+#define BSF_OLD_COMMON  0x200
 1.40300 -+
 1.40301 -+  /* The default value for common data.  */
 1.40302 -+#define BFD_FORT_COMM_DEFAULT_VALUE 0
 1.40303 -+
 1.40304 -+  /* In some files the type of a symbol sometimes alters its
 1.40305 -+     location in an output file - ie in coff a <<ISFCN>> symbol
 1.40306 -+     which is also <<C_EXT>> symbol appears where it was
 1.40307 -+     declared and not at the end of a section.  This bit is set
 1.40308 -+     by the target BFD part to convey this information.  */
 1.40309 -+#define BSF_NOT_AT_END    0x400
 1.40310 -+
 1.40311 -+  /* Signal that the symbol is the label of constructor section.  */
 1.40312 -+#define BSF_CONSTRUCTOR   0x800
 1.40313 -+
 1.40314 -+  /* Signal that the symbol is a warning symbol.  The name is a
 1.40315 -+     warning.  The name of the next symbol is the one to warn about;
 1.40316 -+     if a reference is made to a symbol with the same name as the next
 1.40317 -+     symbol, a warning is issued by the linker.  */
 1.40318 -+#define BSF_WARNING       0x1000
 1.40319 -+
 1.40320 -+  /* Signal that the symbol is indirect.  This symbol is an indirect
 1.40321 -+     pointer to the symbol with the same name as the next symbol.  */
 1.40322 -+#define BSF_INDIRECT      0x2000
 1.40323 -+
 1.40324 -+  /* BSF_FILE marks symbols that contain a file name.  This is used
 1.40325 -+     for ELF STT_FILE symbols.  */
 1.40326 -+#define BSF_FILE          0x4000
 1.40327 -+
 1.40328 -+  /* Symbol is from dynamic linking information.  */
 1.40329 -+#define BSF_DYNAMIC       0x8000
 1.40330 -+
 1.40331 -+  /* The symbol denotes a data object.  Used in ELF, and perhaps
 1.40332 -+     others someday.  */
 1.40333 -+#define BSF_OBJECT        0x10000
 1.40334 -+
 1.40335 -+  /* This symbol is a debugging symbol.  The value is the offset
 1.40336 -+     into the section of the data.  BSF_DEBUGGING should be set
 1.40337 -+     as well.  */
 1.40338 -+#define BSF_DEBUGGING_RELOC 0x20000
 1.40339 -+
 1.40340 -+  /* This symbol is thread local.  Used in ELF.  */
 1.40341 -+#define BSF_THREAD_LOCAL  0x40000
 1.40342 -+
 1.40343 -+  /* This symbol represents a complex relocation expression,
 1.40344 -+     with the expression tree serialized in the symbol name.  */
 1.40345 -+#define BSF_RELC 0x80000
 1.40346 -+
 1.40347 -+  /* This symbol represents a signed complex relocation expression,
 1.40348 -+     with the expression tree serialized in the symbol name.  */
 1.40349 -+#define BSF_SRELC 0x100000
 1.40350 -+
 1.40351 -+  flagword flags;
 1.40352 -+
 1.40353 -+  /* A pointer to the section to which this symbol is
 1.40354 -+     relative.  This will always be non NULL, there are special
 1.40355 -+     sections for undefined and absolute symbols.  */
 1.40356 -+  struct bfd_section *section;
 1.40357 -+
 1.40358 -+  /* Back end special data.  */
 1.40359 -+  union
 1.40360 -+    {
 1.40361 -+      void *p;
 1.40362 -+      bfd_vma i;
 1.40363 -+    }
 1.40364 -+  udata;
 1.40365 -+}
 1.40366 -+asymbol;
 1.40367 -+
 1.40368 -+#define bfd_get_symtab_upper_bound(abfd) \
 1.40369 -+     BFD_SEND (abfd, _bfd_get_symtab_upper_bound, (abfd))
 1.40370 -+
 1.40371 -+bfd_boolean bfd_is_local_label (bfd *abfd, asymbol *sym);
 1.40372 -+
 1.40373 -+bfd_boolean bfd_is_local_label_name (bfd *abfd, const char *name);
 1.40374 -+
 1.40375 -+#define bfd_is_local_label_name(abfd, name) \
 1.40376 -+  BFD_SEND (abfd, _bfd_is_local_label_name, (abfd, name))
 1.40377 -+
 1.40378 -+bfd_boolean bfd_is_target_special_symbol (bfd *abfd, asymbol *sym);
 1.40379 -+
 1.40380 -+#define bfd_is_target_special_symbol(abfd, sym) \
 1.40381 -+  BFD_SEND (abfd, _bfd_is_target_special_symbol, (abfd, sym))
 1.40382 -+
 1.40383 -+#define bfd_canonicalize_symtab(abfd, location) \
 1.40384 -+  BFD_SEND (abfd, _bfd_canonicalize_symtab, (abfd, location))
 1.40385 -+
 1.40386 -+bfd_boolean bfd_set_symtab
 1.40387 -+   (bfd *abfd, asymbol **location, unsigned int count);
 1.40388 -+
 1.40389 -+void bfd_print_symbol_vandf (bfd *abfd, void *file, asymbol *symbol);
 1.40390 -+
 1.40391 -+#define bfd_make_empty_symbol(abfd) \
 1.40392 -+  BFD_SEND (abfd, _bfd_make_empty_symbol, (abfd))
 1.40393 -+
 1.40394 -+asymbol *_bfd_generic_make_empty_symbol (bfd *);
 1.40395 -+
 1.40396 -+#define bfd_make_debug_symbol(abfd,ptr,size) \
 1.40397 -+  BFD_SEND (abfd, _bfd_make_debug_symbol, (abfd, ptr, size))
 1.40398 -+
 1.40399 -+int bfd_decode_symclass (asymbol *symbol);
 1.40400 -+
 1.40401 -+bfd_boolean bfd_is_undefined_symclass (int symclass);
 1.40402 -+
 1.40403 -+void bfd_symbol_info (asymbol *symbol, symbol_info *ret);
 1.40404 -+
 1.40405 -+bfd_boolean bfd_copy_private_symbol_data
 1.40406 -+   (bfd *ibfd, asymbol *isym, bfd *obfd, asymbol *osym);
 1.40407 -+
 1.40408 -+#define bfd_copy_private_symbol_data(ibfd, isymbol, obfd, osymbol) \
 1.40409 -+  BFD_SEND (obfd, _bfd_copy_private_symbol_data, \
 1.40410 -+            (ibfd, isymbol, obfd, osymbol))
 1.40411 -+
 1.40412 -+/* Extracted from bfd.c.  */
 1.40413 -+struct bfd
 1.40414 -+{
 1.40415 -+  /* A unique identifier of the BFD  */
 1.40416 -+  unsigned int id;
 1.40417 -+
 1.40418 -+  /* The filename the application opened the BFD with.  */
 1.40419 -+  const char *filename;
 1.40420 -+
 1.40421 -+  /* A pointer to the target jump table.  */
 1.40422 -+  const struct bfd_target *xvec;
 1.40423 -+
 1.40424 -+  /* The IOSTREAM, and corresponding IO vector that provide access
 1.40425 -+     to the file backing the BFD.  */
 1.40426 -+  void *iostream;
 1.40427 -+  const struct bfd_iovec *iovec;
 1.40428 -+
 1.40429 -+  /* Is the file descriptor being cached?  That is, can it be closed as
 1.40430 -+     needed, and re-opened when accessed later?  */
 1.40431 -+  bfd_boolean cacheable;
 1.40432 -+
 1.40433 -+  /* Marks whether there was a default target specified when the
 1.40434 -+     BFD was opened. This is used to select which matching algorithm
 1.40435 -+     to use to choose the back end.  */
 1.40436 -+  bfd_boolean target_defaulted;
 1.40437 -+
 1.40438 -+  /* The caching routines use these to maintain a
 1.40439 -+     least-recently-used list of BFDs.  */
 1.40440 -+  struct bfd *lru_prev, *lru_next;
 1.40441 -+
 1.40442 -+  /* When a file is closed by the caching routines, BFD retains
 1.40443 -+     state information on the file here...  */
 1.40444 -+  ufile_ptr where;
 1.40445 -+
 1.40446 -+  /* ... and here: (``once'' means at least once).  */
 1.40447 -+  bfd_boolean opened_once;
 1.40448 -+
 1.40449 -+  /* Set if we have a locally maintained mtime value, rather than
 1.40450 -+     getting it from the file each time.  */
 1.40451 -+  bfd_boolean mtime_set;
 1.40452 -+
 1.40453 -+  /* File modified time, if mtime_set is TRUE.  */
 1.40454 -+  long mtime;
 1.40455 -+
 1.40456 -+  /* Reserved for an unimplemented file locking extension.  */
 1.40457 -+  int ifd;
 1.40458 -+
 1.40459 -+  /* The format which belongs to the BFD. (object, core, etc.)  */
 1.40460 -+  bfd_format format;
 1.40461 -+
 1.40462 -+  /* The direction with which the BFD was opened.  */
 1.40463 -+  enum bfd_direction
 1.40464 -+    {
 1.40465 -+      no_direction = 0,
 1.40466 -+      read_direction = 1,
 1.40467 -+      write_direction = 2,
 1.40468 -+      both_direction = 3
 1.40469 -+    }
 1.40470 -+  direction;
 1.40471 -+
 1.40472 -+  /* Format_specific flags.  */
 1.40473 -+  flagword flags;
 1.40474 -+
 1.40475 -+  /* Currently my_archive is tested before adding origin to
 1.40476 -+     anything. I believe that this can become always an add of
 1.40477 -+     origin, with origin set to 0 for non archive files.  */
 1.40478 -+  ufile_ptr origin;
 1.40479 -+
 1.40480 -+  /* Remember when output has begun, to stop strange things
 1.40481 -+     from happening.  */
 1.40482 -+  bfd_boolean output_has_begun;
 1.40483 -+
 1.40484 -+  /* A hash table for section names.  */
 1.40485 -+  struct bfd_hash_table section_htab;
 1.40486 -+
 1.40487 -+  /* Pointer to linked list of sections.  */
 1.40488 -+  struct bfd_section *sections;
 1.40489 -+
 1.40490 -+  /* The last section on the section list.  */
 1.40491 -+  struct bfd_section *section_last;
 1.40492 -+
 1.40493 -+  /* The number of sections.  */
 1.40494 -+  unsigned int section_count;
 1.40495 -+
 1.40496 -+  /* Stuff only useful for object files:
 1.40497 -+     The start address.  */
 1.40498 -+  bfd_vma start_address;
 1.40499 -+
 1.40500 -+  /* Used for input and output.  */
 1.40501 -+  unsigned int symcount;
 1.40502 -+
 1.40503 -+  /* Symbol table for output BFD (with symcount entries).  */
 1.40504 -+  struct bfd_symbol  **outsymbols;
 1.40505 -+
 1.40506 -+  /* Used for slurped dynamic symbol tables.  */
 1.40507 -+  unsigned int dynsymcount;
 1.40508 -+
 1.40509 -+  /* Pointer to structure which contains architecture information.  */
 1.40510 -+  const struct bfd_arch_info *arch_info;
 1.40511 -+
 1.40512 -+  /* Flag set if symbols from this BFD should not be exported.  */
 1.40513 -+  bfd_boolean no_export;
 1.40514 -+
 1.40515 -+  /* Stuff only useful for archives.  */
 1.40516 -+  void *arelt_data;
 1.40517 -+  struct bfd *my_archive;      /* The containing archive BFD.  */
 1.40518 -+  struct bfd *archive_next;    /* The next BFD in the archive.  */
 1.40519 -+  struct bfd *archive_head;    /* The first BFD in the archive.  */
 1.40520 -+  bfd_boolean has_armap;
 1.40521 -+
 1.40522 -+  /* A chain of BFD structures involved in a link.  */
 1.40523 -+  struct bfd *link_next;
 1.40524 -+
 1.40525 -+  /* A field used by _bfd_generic_link_add_archive_symbols.  This will
 1.40526 -+     be used only for archive elements.  */
 1.40527 -+  int archive_pass;
 1.40528 -+
 1.40529 -+  /* Used by the back end to hold private data.  */
 1.40530 -+  union
 1.40531 -+    {
 1.40532 -+      struct aout_data_struct *aout_data;
 1.40533 -+      struct artdata *aout_ar_data;
 1.40534 -+      struct _oasys_data *oasys_obj_data;
 1.40535 -+      struct _oasys_ar_data *oasys_ar_data;
 1.40536 -+      struct coff_tdata *coff_obj_data;
 1.40537 -+      struct pe_tdata *pe_obj_data;
 1.40538 -+      struct xcoff_tdata *xcoff_obj_data;
 1.40539 -+      struct ecoff_tdata *ecoff_obj_data;
 1.40540 -+      struct ieee_data_struct *ieee_data;
 1.40541 -+      struct ieee_ar_data_struct *ieee_ar_data;
 1.40542 -+      struct srec_data_struct *srec_data;
 1.40543 -+      struct ihex_data_struct *ihex_data;
 1.40544 -+      struct tekhex_data_struct *tekhex_data;
 1.40545 -+      struct elf_obj_tdata *elf_obj_data;
 1.40546 -+      struct nlm_obj_tdata *nlm_obj_data;
 1.40547 -+      struct bout_data_struct *bout_data;
 1.40548 -+      struct mmo_data_struct *mmo_data;
 1.40549 -+      struct sun_core_struct *sun_core_data;
 1.40550 -+      struct sco5_core_struct *sco5_core_data;
 1.40551 -+      struct trad_core_struct *trad_core_data;
 1.40552 -+      struct som_data_struct *som_data;
 1.40553 -+      struct hpux_core_struct *hpux_core_data;
 1.40554 -+      struct hppabsd_core_struct *hppabsd_core_data;
 1.40555 -+      struct sgi_core_struct *sgi_core_data;
 1.40556 -+      struct lynx_core_struct *lynx_core_data;
 1.40557 -+      struct osf_core_struct *osf_core_data;
 1.40558 -+      struct cisco_core_struct *cisco_core_data;
 1.40559 -+      struct versados_data_struct *versados_data;
 1.40560 -+      struct netbsd_core_struct *netbsd_core_data;
 1.40561 -+      struct mach_o_data_struct *mach_o_data;
 1.40562 -+      struct mach_o_fat_data_struct *mach_o_fat_data;
 1.40563 -+      struct bfd_pef_data_struct *pef_data;
 1.40564 -+      struct bfd_pef_xlib_data_struct *pef_xlib_data;
 1.40565 -+      struct bfd_sym_data_struct *sym_data;
 1.40566 -+      void *any;
 1.40567 -+    }
 1.40568 -+  tdata;
 1.40569 -+
 1.40570 -+  /* Used by the application to hold private data.  */
 1.40571 -+  void *usrdata;
 1.40572 -+
 1.40573 -+  /* Where all the allocated stuff under this BFD goes.  This is a
 1.40574 -+     struct objalloc *, but we use void * to avoid requiring the inclusion
 1.40575 -+     of objalloc.h.  */
 1.40576 -+  void *memory;
 1.40577 -+};
 1.40578 -+
 1.40579 -+typedef enum bfd_error
 1.40580 -+{
 1.40581 -+  bfd_error_no_error = 0,
 1.40582 -+  bfd_error_system_call,
 1.40583 -+  bfd_error_invalid_target,
 1.40584 -+  bfd_error_wrong_format,
 1.40585 -+  bfd_error_wrong_object_format,
 1.40586 -+  bfd_error_invalid_operation,
 1.40587 -+  bfd_error_no_memory,
 1.40588 -+  bfd_error_no_symbols,
 1.40589 -+  bfd_error_no_armap,
 1.40590 -+  bfd_error_no_more_archived_files,
 1.40591 -+  bfd_error_malformed_archive,
 1.40592 -+  bfd_error_file_not_recognized,
 1.40593 -+  bfd_error_file_ambiguously_recognized,
 1.40594 -+  bfd_error_no_contents,
 1.40595 -+  bfd_error_nonrepresentable_section,
 1.40596 -+  bfd_error_no_debug_section,
 1.40597 -+  bfd_error_bad_value,
 1.40598 -+  bfd_error_file_truncated,
 1.40599 -+  bfd_error_file_too_big,
 1.40600 -+  bfd_error_on_input,
 1.40601 -+  bfd_error_invalid_error_code
 1.40602 -+}
 1.40603 -+bfd_error_type;
 1.40604 -+
 1.40605 -+bfd_error_type bfd_get_error (void);
 1.40606 -+
 1.40607 -+void bfd_set_error (bfd_error_type error_tag, ...);
 1.40608 -+
 1.40609 -+const char *bfd_errmsg (bfd_error_type error_tag);
 1.40610 -+
 1.40611 -+void bfd_perror (const char *message);
 1.40612 -+
 1.40613 -+typedef void (*bfd_error_handler_type) (const char *, ...);
 1.40614 -+
 1.40615 -+bfd_error_handler_type bfd_set_error_handler (bfd_error_handler_type);
 1.40616 -+
 1.40617 -+void bfd_set_error_program_name (const char *);
 1.40618 -+
 1.40619 -+bfd_error_handler_type bfd_get_error_handler (void);
 1.40620 -+
 1.40621 -+long bfd_get_reloc_upper_bound (bfd *abfd, asection *sect);
 1.40622 -+
 1.40623 -+long bfd_canonicalize_reloc
 1.40624 -+   (bfd *abfd, asection *sec, arelent **loc, asymbol **syms);
 1.40625 -+
 1.40626 -+void bfd_set_reloc
 1.40627 -+   (bfd *abfd, asection *sec, arelent **rel, unsigned int count);
 1.40628 -+
 1.40629 -+bfd_boolean bfd_set_file_flags (bfd *abfd, flagword flags);
 1.40630 -+
 1.40631 -+int bfd_get_arch_size (bfd *abfd);
 1.40632 -+
 1.40633 -+int bfd_get_sign_extend_vma (bfd *abfd);
 1.40634 -+
 1.40635 -+bfd_boolean bfd_set_start_address (bfd *abfd, bfd_vma vma);
 1.40636 -+
 1.40637 -+unsigned int bfd_get_gp_size (bfd *abfd);
 1.40638 -+
 1.40639 -+void bfd_set_gp_size (bfd *abfd, unsigned int i);
 1.40640 -+
 1.40641 -+bfd_vma bfd_scan_vma (const char *string, const char **end, int base);
 1.40642 -+
 1.40643 -+bfd_boolean bfd_copy_private_header_data (bfd *ibfd, bfd *obfd);
 1.40644 -+
 1.40645 -+#define bfd_copy_private_header_data(ibfd, obfd) \
 1.40646 -+     BFD_SEND (obfd, _bfd_copy_private_header_data, \
 1.40647 -+               (ibfd, obfd))
 1.40648 -+bfd_boolean bfd_copy_private_bfd_data (bfd *ibfd, bfd *obfd);
 1.40649 -+
 1.40650 -+#define bfd_copy_private_bfd_data(ibfd, obfd) \
 1.40651 -+     BFD_SEND (obfd, _bfd_copy_private_bfd_data, \
 1.40652 -+               (ibfd, obfd))
 1.40653 -+bfd_boolean bfd_merge_private_bfd_data (bfd *ibfd, bfd *obfd);
 1.40654 -+
 1.40655 -+#define bfd_merge_private_bfd_data(ibfd, obfd) \
 1.40656 -+     BFD_SEND (obfd, _bfd_merge_private_bfd_data, \
 1.40657 -+               (ibfd, obfd))
 1.40658 -+bfd_boolean bfd_set_private_flags (bfd *abfd, flagword flags);
 1.40659 -+
 1.40660 -+#define bfd_set_private_flags(abfd, flags) \
 1.40661 -+     BFD_SEND (abfd, _bfd_set_private_flags, (abfd, flags))
 1.40662 -+#define bfd_sizeof_headers(abfd, info) \
 1.40663 -+       BFD_SEND (abfd, _bfd_sizeof_headers, (abfd, info))
 1.40664 -+
 1.40665 -+#define bfd_find_nearest_line(abfd, sec, syms, off, file, func, line) \
 1.40666 -+       BFD_SEND (abfd, _bfd_find_nearest_line, \
 1.40667 -+                 (abfd, sec, syms, off, file, func, line))
 1.40668 -+
 1.40669 -+#define bfd_find_line(abfd, syms, sym, file, line) \
 1.40670 -+       BFD_SEND (abfd, _bfd_find_line, \
 1.40671 -+                 (abfd, syms, sym, file, line))
 1.40672 -+
 1.40673 -+#define bfd_find_inliner_info(abfd, file, func, line) \
 1.40674 -+       BFD_SEND (abfd, _bfd_find_inliner_info, \
 1.40675 -+                 (abfd, file, func, line))
 1.40676 -+
 1.40677 -+#define bfd_debug_info_start(abfd) \
 1.40678 -+       BFD_SEND (abfd, _bfd_debug_info_start, (abfd))
 1.40679 -+
 1.40680 -+#define bfd_debug_info_end(abfd) \
 1.40681 -+       BFD_SEND (abfd, _bfd_debug_info_end, (abfd))
 1.40682 -+
 1.40683 -+#define bfd_debug_info_accumulate(abfd, section) \
 1.40684 -+       BFD_SEND (abfd, _bfd_debug_info_accumulate, (abfd, section))
 1.40685 -+
 1.40686 -+#define bfd_stat_arch_elt(abfd, stat) \
 1.40687 -+       BFD_SEND (abfd, _bfd_stat_arch_elt,(abfd, stat))
 1.40688 -+
 1.40689 -+#define bfd_update_armap_timestamp(abfd) \
 1.40690 -+       BFD_SEND (abfd, _bfd_update_armap_timestamp, (abfd))
 1.40691 -+
 1.40692 -+#define bfd_set_arch_mach(abfd, arch, mach)\
 1.40693 -+       BFD_SEND ( abfd, _bfd_set_arch_mach, (abfd, arch, mach))
 1.40694 -+
 1.40695 -+#define bfd_relax_section(abfd, section, link_info, again) \
 1.40696 -+       BFD_SEND (abfd, _bfd_relax_section, (abfd, section, link_info, again))
 1.40697 -+
 1.40698 -+#define bfd_gc_sections(abfd, link_info) \
 1.40699 -+       BFD_SEND (abfd, _bfd_gc_sections, (abfd, link_info))
 1.40700 -+
 1.40701 -+#define bfd_merge_sections(abfd, link_info) \
 1.40702 -+       BFD_SEND (abfd, _bfd_merge_sections, (abfd, link_info))
 1.40703 -+
 1.40704 -+#define bfd_is_group_section(abfd, sec) \
 1.40705 -+       BFD_SEND (abfd, _bfd_is_group_section, (abfd, sec))
 1.40706 -+
 1.40707 -+#define bfd_discard_group(abfd, sec) \
 1.40708 -+       BFD_SEND (abfd, _bfd_discard_group, (abfd, sec))
 1.40709 -+
 1.40710 -+#define bfd_link_hash_table_create(abfd) \
 1.40711 -+       BFD_SEND (abfd, _bfd_link_hash_table_create, (abfd))
 1.40712 -+
 1.40713 -+#define bfd_link_hash_table_free(abfd, hash) \
 1.40714 -+       BFD_SEND (abfd, _bfd_link_hash_table_free, (hash))
 1.40715 -+
 1.40716 -+#define bfd_link_add_symbols(abfd, info) \
 1.40717 -+       BFD_SEND (abfd, _bfd_link_add_symbols, (abfd, info))
 1.40718 -+
 1.40719 -+#define bfd_link_just_syms(abfd, sec, info) \
 1.40720 -+       BFD_SEND (abfd, _bfd_link_just_syms, (sec, info))
 1.40721 -+
 1.40722 -+#define bfd_final_link(abfd, info) \
 1.40723 -+       BFD_SEND (abfd, _bfd_final_link, (abfd, info))
 1.40724 -+
 1.40725 -+#define bfd_free_cached_info(abfd) \
 1.40726 -+       BFD_SEND (abfd, _bfd_free_cached_info, (abfd))
 1.40727 -+
 1.40728 -+#define bfd_get_dynamic_symtab_upper_bound(abfd) \
 1.40729 -+       BFD_SEND (abfd, _bfd_get_dynamic_symtab_upper_bound, (abfd))
 1.40730 -+
 1.40731 -+#define bfd_print_private_bfd_data(abfd, file)\
 1.40732 -+       BFD_SEND (abfd, _bfd_print_private_bfd_data, (abfd, file))
 1.40733 -+
 1.40734 -+#define bfd_canonicalize_dynamic_symtab(abfd, asymbols) \
 1.40735 -+       BFD_SEND (abfd, _bfd_canonicalize_dynamic_symtab, (abfd, asymbols))
 1.40736 -+
 1.40737 -+#define bfd_get_synthetic_symtab(abfd, count, syms, dyncount, dynsyms, ret) \
 1.40738 -+       BFD_SEND (abfd, _bfd_get_synthetic_symtab, (abfd, count, syms, \
 1.40739 -+                                                   dyncount, dynsyms, ret))
 1.40740 -+
 1.40741 -+#define bfd_get_dynamic_reloc_upper_bound(abfd) \
 1.40742 -+       BFD_SEND (abfd, _bfd_get_dynamic_reloc_upper_bound, (abfd))
 1.40743 -+
 1.40744 -+#define bfd_canonicalize_dynamic_reloc(abfd, arels, asyms) \
 1.40745 -+       BFD_SEND (abfd, _bfd_canonicalize_dynamic_reloc, (abfd, arels, asyms))
 1.40746 -+
 1.40747 -+extern bfd_byte *bfd_get_relocated_section_contents
 1.40748 -+  (bfd *, struct bfd_link_info *, struct bfd_link_order *, bfd_byte *,
 1.40749 -+   bfd_boolean, asymbol **);
 1.40750 -+
 1.40751 -+bfd_boolean bfd_alt_mach_code (bfd *abfd, int alternative);
 1.40752 -+
 1.40753 -+struct bfd_preserve
 1.40754 -+{
 1.40755 -+  void *marker;
 1.40756 -+  void *tdata;
 1.40757 -+  flagword flags;
 1.40758 -+  const struct bfd_arch_info *arch_info;
 1.40759 -+  struct bfd_section *sections;
 1.40760 -+  struct bfd_section *section_last;
 1.40761 -+  unsigned int section_count;
 1.40762 -+  struct bfd_hash_table section_htab;
 1.40763 -+};
 1.40764 -+
 1.40765 -+bfd_boolean bfd_preserve_save (bfd *, struct bfd_preserve *);
 1.40766 -+
 1.40767 -+void bfd_preserve_restore (bfd *, struct bfd_preserve *);
 1.40768 -+
 1.40769 -+void bfd_preserve_finish (bfd *, struct bfd_preserve *);
 1.40770 -+
 1.40771 -+bfd_vma bfd_emul_get_maxpagesize (const char *);
 1.40772 -+
 1.40773 -+void bfd_emul_set_maxpagesize (const char *, bfd_vma);
 1.40774 -+
 1.40775 -+bfd_vma bfd_emul_get_commonpagesize (const char *);
 1.40776 -+
 1.40777 -+void bfd_emul_set_commonpagesize (const char *, bfd_vma);
 1.40778 -+
 1.40779 -+char *bfd_demangle (bfd *, const char *, int);
 1.40780 -+
 1.40781 -+/* Extracted from archive.c.  */
 1.40782 -+symindex bfd_get_next_mapent
 1.40783 -+   (bfd *abfd, symindex previous, carsym **sym);
 1.40784 -+
 1.40785 -+bfd_boolean bfd_set_archive_head (bfd *output, bfd *new_head);
 1.40786 -+
 1.40787 -+bfd *bfd_openr_next_archived_file (bfd *archive, bfd *previous);
 1.40788 -+
 1.40789 -+/* Extracted from corefile.c.  */
 1.40790 -+const char *bfd_core_file_failing_command (bfd *abfd);
 1.40791 -+
 1.40792 -+int bfd_core_file_failing_signal (bfd *abfd);
 1.40793 -+
 1.40794 -+bfd_boolean core_file_matches_executable_p
 1.40795 -+   (bfd *core_bfd, bfd *exec_bfd);
 1.40796 -+
 1.40797 -+bfd_boolean generic_core_file_matches_executable_p
 1.40798 -+   (bfd *core_bfd, bfd *exec_bfd);
 1.40799 -+
 1.40800 -+/* Extracted from targets.c.  */
 1.40801 -+#define BFD_SEND(bfd, message, arglist) \
 1.40802 -+  ((*((bfd)->xvec->message)) arglist)
 1.40803 -+
 1.40804 -+#ifdef DEBUG_BFD_SEND
 1.40805 -+#undef BFD_SEND
 1.40806 -+#define BFD_SEND(bfd, message, arglist) \
 1.40807 -+  (((bfd) && (bfd)->xvec && (bfd)->xvec->message) ? \
 1.40808 -+    ((*((bfd)->xvec->message)) arglist) : \
 1.40809 -+    (bfd_assert (__FILE__,__LINE__), NULL))
 1.40810 -+#endif
 1.40811 -+#define BFD_SEND_FMT(bfd, message, arglist) \
 1.40812 -+  (((bfd)->xvec->message[(int) ((bfd)->format)]) arglist)
 1.40813 -+
 1.40814 -+#ifdef DEBUG_BFD_SEND
 1.40815 -+#undef BFD_SEND_FMT
 1.40816 -+#define BFD_SEND_FMT(bfd, message, arglist) \
 1.40817 -+  (((bfd) && (bfd)->xvec && (bfd)->xvec->message) ? \
 1.40818 -+   (((bfd)->xvec->message[(int) ((bfd)->format)]) arglist) : \
 1.40819 -+   (bfd_assert (__FILE__,__LINE__), NULL))
 1.40820 -+#endif
 1.40821 -+
 1.40822 -+enum bfd_flavour
 1.40823 -+{
 1.40824 -+  bfd_target_unknown_flavour,
 1.40825 -+  bfd_target_aout_flavour,
 1.40826 -+  bfd_target_coff_flavour,
 1.40827 -+  bfd_target_ecoff_flavour,
 1.40828 -+  bfd_target_xcoff_flavour,
 1.40829 -+  bfd_target_elf_flavour,
 1.40830 -+  bfd_target_ieee_flavour,
 1.40831 -+  bfd_target_nlm_flavour,
 1.40832 -+  bfd_target_oasys_flavour,
 1.40833 -+  bfd_target_tekhex_flavour,
 1.40834 -+  bfd_target_srec_flavour,
 1.40835 -+  bfd_target_ihex_flavour,
 1.40836 -+  bfd_target_som_flavour,
 1.40837 -+  bfd_target_os9k_flavour,
 1.40838 -+  bfd_target_versados_flavour,
 1.40839 -+  bfd_target_msdos_flavour,
 1.40840 -+  bfd_target_ovax_flavour,
 1.40841 -+  bfd_target_evax_flavour,
 1.40842 -+  bfd_target_mmo_flavour,
 1.40843 -+  bfd_target_mach_o_flavour,
 1.40844 -+  bfd_target_pef_flavour,
 1.40845 -+  bfd_target_pef_xlib_flavour,
 1.40846 -+  bfd_target_sym_flavour
 1.40847 -+};
 1.40848 -+
 1.40849 -+enum bfd_endian { BFD_ENDIAN_BIG, BFD_ENDIAN_LITTLE, BFD_ENDIAN_UNKNOWN };
 1.40850 -+
 1.40851 -+/* Forward declaration.  */
 1.40852 -+typedef struct bfd_link_info _bfd_link_info;
 1.40853 -+
 1.40854 -+typedef struct bfd_target
 1.40855 -+{
 1.40856 -+  /* Identifies the kind of target, e.g., SunOS4, Ultrix, etc.  */
 1.40857 -+  char *name;
 1.40858 -+
 1.40859 -+ /* The "flavour" of a back end is a general indication about
 1.40860 -+    the contents of a file.  */
 1.40861 -+  enum bfd_flavour flavour;
 1.40862 -+
 1.40863 -+  /* The order of bytes within the data area of a file.  */
 1.40864 -+  enum bfd_endian byteorder;
 1.40865 -+
 1.40866 -+ /* The order of bytes within the header parts of a file.  */
 1.40867 -+  enum bfd_endian header_byteorder;
 1.40868 -+
 1.40869 -+  /* A mask of all the flags which an executable may have set -
 1.40870 -+     from the set <<BFD_NO_FLAGS>>, <<HAS_RELOC>>, ...<<D_PAGED>>.  */
 1.40871 -+  flagword object_flags;
 1.40872 -+
 1.40873 -+ /* A mask of all the flags which a section may have set - from
 1.40874 -+    the set <<SEC_NO_FLAGS>>, <<SEC_ALLOC>>, ...<<SET_NEVER_LOAD>>.  */
 1.40875 -+  flagword section_flags;
 1.40876 -+
 1.40877 -+ /* The character normally found at the front of a symbol.
 1.40878 -+    (if any), perhaps `_'.  */
 1.40879 -+  char symbol_leading_char;
 1.40880 -+
 1.40881 -+ /* The pad character for file names within an archive header.  */
 1.40882 -+  char ar_pad_char;
 1.40883 -+
 1.40884 -+  /* The maximum number of characters in an archive header.  */
 1.40885 -+  unsigned short ar_max_namelen;
 1.40886 -+
 1.40887 -+  /* Entries for byte swapping for data. These are different from the
 1.40888 -+     other entry points, since they don't take a BFD as the first argument.
 1.40889 -+     Certain other handlers could do the same.  */
 1.40890 -+  bfd_uint64_t   (*bfd_getx64) (const void *);
 1.40891 -+  bfd_int64_t    (*bfd_getx_signed_64) (const void *);
 1.40892 -+  void           (*bfd_putx64) (bfd_uint64_t, void *);
 1.40893 -+  bfd_vma        (*bfd_getx32) (const void *);
 1.40894 -+  bfd_signed_vma (*bfd_getx_signed_32) (const void *);
 1.40895 -+  void           (*bfd_putx32) (bfd_vma, void *);
 1.40896 -+  bfd_vma        (*bfd_getx16) (const void *);
 1.40897 -+  bfd_signed_vma (*bfd_getx_signed_16) (const void *);
 1.40898 -+  void           (*bfd_putx16) (bfd_vma, void *);
 1.40899 -+
 1.40900 -+  /* Byte swapping for the headers.  */
 1.40901 -+  bfd_uint64_t   (*bfd_h_getx64) (const void *);
 1.40902 -+  bfd_int64_t    (*bfd_h_getx_signed_64) (const void *);
 1.40903 -+  void           (*bfd_h_putx64) (bfd_uint64_t, void *);
 1.40904 -+  bfd_vma        (*bfd_h_getx32) (const void *);
 1.40905 -+  bfd_signed_vma (*bfd_h_getx_signed_32) (const void *);
 1.40906 -+  void           (*bfd_h_putx32) (bfd_vma, void *);
 1.40907 -+  bfd_vma        (*bfd_h_getx16) (const void *);
 1.40908 -+  bfd_signed_vma (*bfd_h_getx_signed_16) (const void *);
 1.40909 -+  void           (*bfd_h_putx16) (bfd_vma, void *);
 1.40910 -+
 1.40911 -+  /* Format dependent routines: these are vectors of entry points
 1.40912 -+     within the target vector structure, one for each format to check.  */
 1.40913 -+
 1.40914 -+  /* Check the format of a file being read.  Return a <<bfd_target *>> or zero.  */
 1.40915 -+  const struct bfd_target *(*_bfd_check_format[bfd_type_end]) (bfd *);
 1.40916 -+
 1.40917 -+  /* Set the format of a file being written.  */
 1.40918 -+  bfd_boolean (*_bfd_set_format[bfd_type_end]) (bfd *);
 1.40919 -+
 1.40920 -+  /* Write cached information into a file being written, at <<bfd_close>>.  */
 1.40921 -+  bfd_boolean (*_bfd_write_contents[bfd_type_end]) (bfd *);
 1.40922 -+
 1.40923 -+
 1.40924 -+  /* Generic entry points.  */
 1.40925 -+#define BFD_JUMP_TABLE_GENERIC(NAME) \
 1.40926 -+  NAME##_close_and_cleanup, \
 1.40927 -+  NAME##_bfd_free_cached_info, \
 1.40928 -+  NAME##_new_section_hook, \
 1.40929 -+  NAME##_get_section_contents, \
 1.40930 -+  NAME##_get_section_contents_in_window
 1.40931 -+
 1.40932 -+  /* Called when the BFD is being closed to do any necessary cleanup.  */
 1.40933 -+  bfd_boolean (*_close_and_cleanup) (bfd *);
 1.40934 -+  /* Ask the BFD to free all cached information.  */
 1.40935 -+  bfd_boolean (*_bfd_free_cached_info) (bfd *);
 1.40936 -+  /* Called when a new section is created.  */
 1.40937 -+  bfd_boolean (*_new_section_hook) (bfd *, sec_ptr);
 1.40938 -+  /* Read the contents of a section.  */
 1.40939 -+  bfd_boolean (*_bfd_get_section_contents)
 1.40940 -+    (bfd *, sec_ptr, void *, file_ptr, bfd_size_type);
 1.40941 -+  bfd_boolean (*_bfd_get_section_contents_in_window)
 1.40942 -+    (bfd *, sec_ptr, bfd_window *, file_ptr, bfd_size_type);
 1.40943 -+
 1.40944 -+  /* Entry points to copy private data.  */
 1.40945 -+#define BFD_JUMP_TABLE_COPY(NAME) \
 1.40946 -+  NAME##_bfd_copy_private_bfd_data, \
 1.40947 -+  NAME##_bfd_merge_private_bfd_data, \
 1.40948 -+  _bfd_generic_init_private_section_data, \
 1.40949 -+  NAME##_bfd_copy_private_section_data, \
 1.40950 -+  NAME##_bfd_copy_private_symbol_data, \
 1.40951 -+  NAME##_bfd_copy_private_header_data, \
 1.40952 -+  NAME##_bfd_set_private_flags, \
 1.40953 -+  NAME##_bfd_print_private_bfd_data
 1.40954 -+
 1.40955 -+  /* Called to copy BFD general private data from one object file
 1.40956 -+     to another.  */
 1.40957 -+  bfd_boolean (*_bfd_copy_private_bfd_data) (bfd *, bfd *);
 1.40958 -+  /* Called to merge BFD general private data from one object file
 1.40959 -+     to a common output file when linking.  */
 1.40960 -+  bfd_boolean (*_bfd_merge_private_bfd_data) (bfd *, bfd *);
 1.40961 -+  /* Called to initialize BFD private section data from one object file
 1.40962 -+     to another.  */
 1.40963 -+#define bfd_init_private_section_data(ibfd, isec, obfd, osec, link_info) \
 1.40964 -+  BFD_SEND (obfd, _bfd_init_private_section_data, (ibfd, isec, obfd, osec, link_info))
 1.40965 -+  bfd_boolean (*_bfd_init_private_section_data)
 1.40966 -+    (bfd *, sec_ptr, bfd *, sec_ptr, struct bfd_link_info *);
 1.40967 -+  /* Called to copy BFD private section data from one object file
 1.40968 -+     to another.  */
 1.40969 -+  bfd_boolean (*_bfd_copy_private_section_data)
 1.40970 -+    (bfd *, sec_ptr, bfd *, sec_ptr);
 1.40971 -+  /* Called to copy BFD private symbol data from one symbol
 1.40972 -+     to another.  */
 1.40973 -+  bfd_boolean (*_bfd_copy_private_symbol_data)
 1.40974 -+    (bfd *, asymbol *, bfd *, asymbol *);
 1.40975 -+  /* Called to copy BFD private header data from one object file
 1.40976 -+     to another.  */
 1.40977 -+  bfd_boolean (*_bfd_copy_private_header_data)
 1.40978 -+    (bfd *, bfd *);
 1.40979 -+  /* Called to set private backend flags.  */
 1.40980 -+  bfd_boolean (*_bfd_set_private_flags) (bfd *, flagword);
 1.40981 -+
 1.40982 -+  /* Called to print private BFD data.  */
 1.40983 -+  bfd_boolean (*_bfd_print_private_bfd_data) (bfd *, void *);
 1.40984 -+
 1.40985 -+  /* Core file entry points.  */
 1.40986 -+#define BFD_JUMP_TABLE_CORE(NAME) \
 1.40987 -+  NAME##_core_file_failing_command, \
 1.40988 -+  NAME##_core_file_failing_signal, \
 1.40989 -+  NAME##_core_file_matches_executable_p
 1.40990 -+
 1.40991 -+  char *      (*_core_file_failing_command) (bfd *);
 1.40992 -+  int         (*_core_file_failing_signal) (bfd *);
 1.40993 -+  bfd_boolean (*_core_file_matches_executable_p) (bfd *, bfd *);
 1.40994 -+
 1.40995 -+  /* Archive entry points.  */
 1.40996 -+#define BFD_JUMP_TABLE_ARCHIVE(NAME) \
 1.40997 -+  NAME##_slurp_armap, \
 1.40998 -+  NAME##_slurp_extended_name_table, \
 1.40999 -+  NAME##_construct_extended_name_table, \
 1.41000 -+  NAME##_truncate_arname, \
 1.41001 -+  NAME##_write_armap, \
 1.41002 -+  NAME##_read_ar_hdr, \
 1.41003 -+  NAME##_openr_next_archived_file, \
 1.41004 -+  NAME##_get_elt_at_index, \
 1.41005 -+  NAME##_generic_stat_arch_elt, \
 1.41006 -+  NAME##_update_armap_timestamp
 1.41007 -+
 1.41008 -+  bfd_boolean (*_bfd_slurp_armap) (bfd *);
 1.41009 -+  bfd_boolean (*_bfd_slurp_extended_name_table) (bfd *);
 1.41010 -+  bfd_boolean (*_bfd_construct_extended_name_table)
 1.41011 -+    (bfd *, char **, bfd_size_type *, const char **);
 1.41012 -+  void        (*_bfd_truncate_arname) (bfd *, const char *, char *);
 1.41013 -+  bfd_boolean (*write_armap)
 1.41014 -+    (bfd *, unsigned int, struct orl *, unsigned int, int);
 1.41015 -+  void *      (*_bfd_read_ar_hdr_fn) (bfd *);
 1.41016 -+  bfd *       (*openr_next_archived_file) (bfd *, bfd *);
 1.41017 -+#define bfd_get_elt_at_index(b,i) BFD_SEND (b, _bfd_get_elt_at_index, (b,i))
 1.41018 -+  bfd *       (*_bfd_get_elt_at_index) (bfd *, symindex);
 1.41019 -+  int         (*_bfd_stat_arch_elt) (bfd *, struct stat *);
 1.41020 -+  bfd_boolean (*_bfd_update_armap_timestamp) (bfd *);
 1.41021 -+
 1.41022 -+  /* Entry points used for symbols.  */
 1.41023 -+#define BFD_JUMP_TABLE_SYMBOLS(NAME) \
 1.41024 -+  NAME##_get_symtab_upper_bound, \
 1.41025 -+  NAME##_canonicalize_symtab, \
 1.41026 -+  NAME##_make_empty_symbol, \
 1.41027 -+  NAME##_print_symbol, \
 1.41028 -+  NAME##_get_symbol_info, \
 1.41029 -+  NAME##_bfd_is_local_label_name, \
 1.41030 -+  NAME##_bfd_is_target_special_symbol, \
 1.41031 -+  NAME##_get_lineno, \
 1.41032 -+  NAME##_find_nearest_line, \
 1.41033 -+  _bfd_generic_find_line, \
 1.41034 -+  NAME##_find_inliner_info, \
 1.41035 -+  NAME##_bfd_make_debug_symbol, \
 1.41036 -+  NAME##_read_minisymbols, \
 1.41037 -+  NAME##_minisymbol_to_symbol
 1.41038 -+
 1.41039 -+  long        (*_bfd_get_symtab_upper_bound) (bfd *);
 1.41040 -+  long        (*_bfd_canonicalize_symtab)
 1.41041 -+    (bfd *, struct bfd_symbol **);
 1.41042 -+  struct bfd_symbol *
 1.41043 -+              (*_bfd_make_empty_symbol) (bfd *);
 1.41044 -+  void        (*_bfd_print_symbol)
 1.41045 -+    (bfd *, void *, struct bfd_symbol *, bfd_print_symbol_type);
 1.41046 -+#define bfd_print_symbol(b,p,s,e) BFD_SEND (b, _bfd_print_symbol, (b,p,s,e))
 1.41047 -+  void        (*_bfd_get_symbol_info)
 1.41048 -+    (bfd *, struct bfd_symbol *, symbol_info *);
 1.41049 -+#define bfd_get_symbol_info(b,p,e) BFD_SEND (b, _bfd_get_symbol_info, (b,p,e))
 1.41050 -+  bfd_boolean (*_bfd_is_local_label_name) (bfd *, const char *);
 1.41051 -+  bfd_boolean (*_bfd_is_target_special_symbol) (bfd *, asymbol *);
 1.41052 -+  alent *     (*_get_lineno) (bfd *, struct bfd_symbol *);
 1.41053 -+  bfd_boolean (*_bfd_find_nearest_line)
 1.41054 -+    (bfd *, struct bfd_section *, struct bfd_symbol **, bfd_vma,
 1.41055 -+     const char **, const char **, unsigned int *);
 1.41056 -+  bfd_boolean (*_bfd_find_line)
 1.41057 -+    (bfd *, struct bfd_symbol **, struct bfd_symbol *,
 1.41058 -+     const char **, unsigned int *);
 1.41059 -+  bfd_boolean (*_bfd_find_inliner_info)
 1.41060 -+    (bfd *, const char **, const char **, unsigned int *);
 1.41061 -+ /* Back-door to allow format-aware applications to create debug symbols
 1.41062 -+    while using BFD for everything else.  Currently used by the assembler
 1.41063 -+    when creating COFF files.  */
 1.41064 -+  asymbol *   (*_bfd_make_debug_symbol)
 1.41065 -+    (bfd *, void *, unsigned long size);
 1.41066 -+#define bfd_read_minisymbols(b, d, m, s) \
 1.41067 -+  BFD_SEND (b, _read_minisymbols, (b, d, m, s))
 1.41068 -+  long        (*_read_minisymbols)
 1.41069 -+    (bfd *, bfd_boolean, void **, unsigned int *);
 1.41070 -+#define bfd_minisymbol_to_symbol(b, d, m, f) \
 1.41071 -+  BFD_SEND (b, _minisymbol_to_symbol, (b, d, m, f))
 1.41072 -+  asymbol *   (*_minisymbol_to_symbol)
 1.41073 -+    (bfd *, bfd_boolean, const void *, asymbol *);
 1.41074 -+
 1.41075 -+  /* Routines for relocs.  */
 1.41076 -+#define BFD_JUMP_TABLE_RELOCS(NAME) \
 1.41077 -+  NAME##_get_reloc_upper_bound, \
 1.41078 -+  NAME##_canonicalize_reloc, \
 1.41079 -+  NAME##_bfd_reloc_type_lookup, \
 1.41080 -+  NAME##_bfd_reloc_name_lookup
 1.41081 -+
 1.41082 -+  long        (*_get_reloc_upper_bound) (bfd *, sec_ptr);
 1.41083 -+  long        (*_bfd_canonicalize_reloc)
 1.41084 -+    (bfd *, sec_ptr, arelent **, struct bfd_symbol **);
 1.41085 -+  /* See documentation on reloc types.  */
 1.41086 -+  reloc_howto_type *
 1.41087 -+              (*reloc_type_lookup) (bfd *, bfd_reloc_code_real_type);
 1.41088 -+  reloc_howto_type *
 1.41089 -+              (*reloc_name_lookup) (bfd *, const char *);
 1.41090 -+
 1.41091 -+
 1.41092 -+  /* Routines used when writing an object file.  */
 1.41093 -+#define BFD_JUMP_TABLE_WRITE(NAME) \
 1.41094 -+  NAME##_set_arch_mach, \
 1.41095 -+  NAME##_set_section_contents
 1.41096 -+
 1.41097 -+  bfd_boolean (*_bfd_set_arch_mach)
 1.41098 -+    (bfd *, enum bfd_architecture, unsigned long);
 1.41099 -+  bfd_boolean (*_bfd_set_section_contents)
 1.41100 -+    (bfd *, sec_ptr, const void *, file_ptr, bfd_size_type);
 1.41101 -+
 1.41102 -+  /* Routines used by the linker.  */
 1.41103 -+#define BFD_JUMP_TABLE_LINK(NAME) \
 1.41104 -+  NAME##_sizeof_headers, \
 1.41105 -+  NAME##_bfd_get_relocated_section_contents, \
 1.41106 -+  NAME##_bfd_relax_section, \
 1.41107 -+  NAME##_bfd_link_hash_table_create, \
 1.41108 -+  NAME##_bfd_link_hash_table_free, \
 1.41109 -+  NAME##_bfd_link_add_symbols, \
 1.41110 -+  NAME##_bfd_link_just_syms, \
 1.41111 -+  NAME##_bfd_final_link, \
 1.41112 -+  NAME##_bfd_link_split_section, \
 1.41113 -+  NAME##_bfd_gc_sections, \
 1.41114 -+  NAME##_bfd_merge_sections, \
 1.41115 -+  NAME##_bfd_is_group_section, \
 1.41116 -+  NAME##_bfd_discard_group, \
 1.41117 -+  NAME##_section_already_linked \
 1.41118 -+
 1.41119 -+  int         (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *);
 1.41120 -+  bfd_byte *  (*_bfd_get_relocated_section_contents)
 1.41121 -+    (bfd *, struct bfd_link_info *, struct bfd_link_order *,
 1.41122 -+     bfd_byte *, bfd_boolean, struct bfd_symbol **);
 1.41123 -+
 1.41124 -+  bfd_boolean (*_bfd_relax_section)
 1.41125 -+    (bfd *, struct bfd_section *, struct bfd_link_info *, bfd_boolean *);
 1.41126 -+
 1.41127 -+  /* Create a hash table for the linker.  Different backends store
 1.41128 -+     different information in this table.  */
 1.41129 -+  struct bfd_link_hash_table *
 1.41130 -+              (*_bfd_link_hash_table_create) (bfd *);
 1.41131 -+
 1.41132 -+  /* Release the memory associated with the linker hash table.  */
 1.41133 -+  void        (*_bfd_link_hash_table_free) (struct bfd_link_hash_table *);
 1.41134 -+
 1.41135 -+  /* Add symbols from this object file into the hash table.  */
 1.41136 -+  bfd_boolean (*_bfd_link_add_symbols) (bfd *, struct bfd_link_info *);
 1.41137 -+
 1.41138 -+  /* Indicate that we are only retrieving symbol values from this section.  */
 1.41139 -+  void        (*_bfd_link_just_syms) (asection *, struct bfd_link_info *);
 1.41140 -+
 1.41141 -+  /* Do a link based on the link_order structures attached to each
 1.41142 -+     section of the BFD.  */
 1.41143 -+  bfd_boolean (*_bfd_final_link) (bfd *, struct bfd_link_info *);
 1.41144 -+
 1.41145 -+  /* Should this section be split up into smaller pieces during linking.  */
 1.41146 -+  bfd_boolean (*_bfd_link_split_section) (bfd *, struct bfd_section *);
 1.41147 -+
 1.41148 -+  /* Remove sections that are not referenced from the output.  */
 1.41149 -+  bfd_boolean (*_bfd_gc_sections) (bfd *, struct bfd_link_info *);
 1.41150 -+
 1.41151 -+  /* Attempt to merge SEC_MERGE sections.  */
 1.41152 -+  bfd_boolean (*_bfd_merge_sections) (bfd *, struct bfd_link_info *);
 1.41153 -+
 1.41154 -+  /* Is this section a member of a group?  */
 1.41155 -+  bfd_boolean (*_bfd_is_group_section) (bfd *, const struct bfd_section *);
 1.41156 -+
 1.41157 -+  /* Discard members of a group.  */
 1.41158 -+  bfd_boolean (*_bfd_discard_group) (bfd *, struct bfd_section *);
 1.41159 -+
 1.41160 -+  /* Check if SEC has been already linked during a reloceatable or
 1.41161 -+     final link.  */
 1.41162 -+  void (*_section_already_linked) (bfd *, struct bfd_section *,
 1.41163 -+                                   struct bfd_link_info *);
 1.41164 -+
 1.41165 -+  /* Routines to handle dynamic symbols and relocs.  */
 1.41166 -+#define BFD_JUMP_TABLE_DYNAMIC(NAME) \
 1.41167 -+  NAME##_get_dynamic_symtab_upper_bound, \
 1.41168 -+  NAME##_canonicalize_dynamic_symtab, \
 1.41169 -+  NAME##_get_synthetic_symtab, \
 1.41170 -+  NAME##_get_dynamic_reloc_upper_bound, \
 1.41171 -+  NAME##_canonicalize_dynamic_reloc
 1.41172 -+
 1.41173 -+  /* Get the amount of memory required to hold the dynamic symbols.  */
 1.41174 -+  long        (*_bfd_get_dynamic_symtab_upper_bound) (bfd *);
 1.41175 -+  /* Read in the dynamic symbols.  */
 1.41176 -+  long        (*_bfd_canonicalize_dynamic_symtab)
 1.41177 -+    (bfd *, struct bfd_symbol **);
 1.41178 -+  /* Create synthetized symbols.  */
 1.41179 -+  long        (*_bfd_get_synthetic_symtab)
 1.41180 -+    (bfd *, long, struct bfd_symbol **, long, struct bfd_symbol **,
 1.41181 -+     struct bfd_symbol **);
 1.41182 -+  /* Get the amount of memory required to hold the dynamic relocs.  */
 1.41183 -+  long        (*_bfd_get_dynamic_reloc_upper_bound) (bfd *);
 1.41184 -+  /* Read in the dynamic relocs.  */
 1.41185 -+  long        (*_bfd_canonicalize_dynamic_reloc)
 1.41186 -+    (bfd *, arelent **, struct bfd_symbol **);
 1.41187 -+
 1.41188 -+  /* Opposite endian version of this target.  */
 1.41189 -+  const struct bfd_target * alternative_target;
 1.41190 -+
 1.41191 -+  /* Data for use by back-end routines, which isn't
 1.41192 -+     generic enough to belong in this structure.  */
 1.41193 -+  const void *backend_data;
 1.41194 -+
 1.41195 -+} bfd_target;
 1.41196 -+
 1.41197 -+bfd_boolean bfd_set_default_target (const char *name);
 1.41198 -+
 1.41199 -+const bfd_target *bfd_find_target (const char *target_name, bfd *abfd);
 1.41200 -+
 1.41201 -+const char ** bfd_target_list (void);
 1.41202 -+
 1.41203 -+const bfd_target *bfd_search_for_target
 1.41204 -+   (int (*search_func) (const bfd_target *, void *),
 1.41205 -+    void *);
 1.41206 -+
 1.41207 -+/* Extracted from format.c.  */
 1.41208 -+bfd_boolean bfd_check_format (bfd *abfd, bfd_format format);
 1.41209 -+
 1.41210 -+bfd_boolean bfd_check_format_matches
 1.41211 -+   (bfd *abfd, bfd_format format, char ***matching);
 1.41212 -+
 1.41213 -+bfd_boolean bfd_set_format (bfd *abfd, bfd_format format);
 1.41214 -+
 1.41215 -+const char *bfd_format_string (bfd_format format);
 1.41216 -+
 1.41217 -+/* Extracted from linker.c.  */
 1.41218 -+bfd_boolean bfd_link_split_section (bfd *abfd, asection *sec);
 1.41219 -+
 1.41220 -+#define bfd_link_split_section(abfd, sec) \
 1.41221 -+       BFD_SEND (abfd, _bfd_link_split_section, (abfd, sec))
 1.41222 -+
 1.41223 -+void bfd_section_already_linked (bfd *abfd, asection *sec,
 1.41224 -+    struct bfd_link_info *info);
 1.41225 -+
 1.41226 -+#define bfd_section_already_linked(abfd, sec, info) \
 1.41227 -+       BFD_SEND (abfd, _section_already_linked, (abfd, sec, info))
 1.41228 -+
 1.41229 -+/* Extracted from simple.c.  */
 1.41230 -+bfd_byte *bfd_simple_get_relocated_section_contents
 1.41231 -+   (bfd *abfd, asection *sec, bfd_byte *outbuf, asymbol **symbol_table);
 1.41232 -+
 1.41233 -+#ifdef __cplusplus
 1.41234 -+}
 1.41235 -+#endif
 1.41236 -+#endif
 1.41237 ---- /dev/null
 1.41238 -+++ b/bfd/doc/libbfd.h
 1.41239 -@@ -0,0 +1,2074 @@
 1.41240 -+/* DO NOT EDIT!  -*- buffer-read-only: t -*-  This file is automatically 
 1.41241 -+   generated from "libbfd-in.h", "init.c", "libbfd.c", "bfdio.c", 
 1.41242 -+   "bfdwin.c", "cache.c", "reloc.c", "archures.c" and "elf.c".
 1.41243 -+   Run "make headers" in your build bfd/ to regenerate.  */
 1.41244 -+
 1.41245 -+/* libbfd.h -- Declarations used by bfd library *implementation*.
 1.41246 -+   (This include file is not for users of the library.)
 1.41247 -+
 1.41248 -+   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
 1.41249 -+   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
 1.41250 -+   Free Software Foundation, Inc.
 1.41251 -+
 1.41252 -+   Written by Cygnus Support.
 1.41253 -+
 1.41254 -+   This file is part of BFD, the Binary File Descriptor library.
 1.41255 -+
 1.41256 -+   This program is free software; you can redistribute it and/or modify
 1.41257 -+   it under the terms of the GNU General Public License as published by
 1.41258 -+   the Free Software Foundation; either version 3 of the License, or
 1.41259 -+   (at your option) any later version.
 1.41260 -+
 1.41261 -+   This program is distributed in the hope that it will be useful,
 1.41262 -+   but WITHOUT ANY WARRANTY; without even the implied warranty of
 1.41263 -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 1.41264 -+   GNU General Public License for more details.
 1.41265 -+
 1.41266 -+   You should have received a copy of the GNU General Public License
 1.41267 -+   along with this program; if not, write to the Free Software
 1.41268 -+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
 1.41269 -+   MA 02110-1301, USA.  */
 1.41270 -+
 1.41271 -+#include "hashtab.h"
 1.41272 -+
 1.41273 -+/* Align an address upward to a boundary, expressed as a number of bytes.
 1.41274 -+   E.g. align to an 8-byte boundary with argument of 8.  Take care never
 1.41275 -+   to wrap around if the address is within boundary-1 of the end of the
 1.41276 -+   address space.  */
 1.41277 -+#define BFD_ALIGN(this, boundary)					  \
 1.41278 -+  ((((bfd_vma) (this) + (boundary) - 1) >= (bfd_vma) (this))		  \
 1.41279 -+   ? (((bfd_vma) (this) + ((boundary) - 1)) & ~ (bfd_vma) ((boundary)-1)) \
 1.41280 -+   : ~ (bfd_vma) 0)
 1.41281 -+
 1.41282 -+/* If you want to read and write large blocks, you might want to do it
 1.41283 -+   in quanta of this amount */
 1.41284 -+#define DEFAULT_BUFFERSIZE 8192
 1.41285 -+
 1.41286 -+/* Set a tdata field.  Can't use the other macros for this, since they
 1.41287 -+   do casts, and casting to the left of assignment isn't portable.  */
 1.41288 -+#define set_tdata(bfd, v) ((bfd)->tdata.any = (v))
 1.41289 -+
 1.41290 -+/* If BFD_IN_MEMORY is set for a BFD, then the iostream fields points
 1.41291 -+   to an instance of this structure.  */
 1.41292 -+
 1.41293 -+struct bfd_in_memory
 1.41294 -+{
 1.41295 -+  /* Size of buffer.  */
 1.41296 -+  bfd_size_type size;
 1.41297 -+  /* Buffer holding contents of BFD.  */
 1.41298 -+  bfd_byte *buffer;
 1.41299 -+};
 1.41300 -+
 1.41301 -+struct section_hash_entry
 1.41302 -+{
 1.41303 -+  struct bfd_hash_entry root;
 1.41304 -+  asection section;
 1.41305 -+};
 1.41306 -+
 1.41307 -+/* tdata for an archive.  For an input archive, cache
 1.41308 -+   needs to be free()'d.  For an output archive, symdefs do.  */
 1.41309 -+
 1.41310 -+struct artdata {
 1.41311 -+  file_ptr first_file_filepos;
 1.41312 -+  /* Speed up searching the armap */
 1.41313 -+  htab_t cache;
 1.41314 -+  bfd *archive_head;		/* Only interesting in output routines */
 1.41315 -+  carsym *symdefs;		/* the symdef entries */
 1.41316 -+  symindex symdef_count;	/* how many there are */
 1.41317 -+  char *extended_names;		/* clever intel extension */
 1.41318 -+  bfd_size_type extended_names_size; /* Size of extended names */
 1.41319 -+  /* when more compilers are standard C, this can be a time_t */
 1.41320 -+  long  armap_timestamp;	/* Timestamp value written into armap.
 1.41321 -+				   This is used for BSD archives to check
 1.41322 -+				   that the timestamp is recent enough
 1.41323 -+				   for the BSD linker to not complain,
 1.41324 -+				   just before we finish writing an
 1.41325 -+				   archive.  */
 1.41326 -+  file_ptr armap_datepos;	/* Position within archive to seek to
 1.41327 -+				   rewrite the date field.  */
 1.41328 -+  void *tdata;			/* Backend specific information.  */
 1.41329 -+};
 1.41330 -+
 1.41331 -+#define bfd_ardata(bfd) ((bfd)->tdata.aout_ar_data)
 1.41332 -+
 1.41333 -+/* Goes in bfd's arelt_data slot */
 1.41334 -+struct areltdata {
 1.41335 -+  char * arch_header;		/* it's actually a string */
 1.41336 -+  unsigned int parsed_size;	/* octets of filesize not including ar_hdr */
 1.41337 -+  char *filename;		/* null-terminated */
 1.41338 -+};
 1.41339 -+
 1.41340 -+#define arelt_size(bfd) (((struct areltdata *)((bfd)->arelt_data))->parsed_size)
 1.41341 -+
 1.41342 -+extern void *bfd_malloc
 1.41343 -+  (bfd_size_type);
 1.41344 -+extern void *bfd_realloc
 1.41345 -+  (void *, bfd_size_type);
 1.41346 -+extern void *bfd_zmalloc
 1.41347 -+  (bfd_size_type);
 1.41348 -+extern void *bfd_malloc2
 1.41349 -+  (bfd_size_type, bfd_size_type);
 1.41350 -+extern void *bfd_realloc2
 1.41351 -+  (void *, bfd_size_type, bfd_size_type);
 1.41352 -+extern void *bfd_zmalloc2
 1.41353 -+  (bfd_size_type, bfd_size_type);
 1.41354 -+
 1.41355 -+extern void _bfd_default_error_handler (const char *s, ...);
 1.41356 -+extern bfd_error_handler_type _bfd_error_handler;
 1.41357 -+
 1.41358 -+/* These routines allocate and free things on the BFD's objalloc.  */
 1.41359 -+
 1.41360 -+extern void *bfd_alloc
 1.41361 -+  (bfd *, bfd_size_type);
 1.41362 -+extern void *bfd_zalloc
 1.41363 -+  (bfd *, bfd_size_type);
 1.41364 -+extern void *bfd_alloc2
 1.41365 -+  (bfd *, bfd_size_type, bfd_size_type);
 1.41366 -+extern void *bfd_zalloc2
 1.41367 -+  (bfd *, bfd_size_type, bfd_size_type);
 1.41368 -+extern void bfd_release
 1.41369 -+  (bfd *, void *);
 1.41370 -+
 1.41371 -+bfd * _bfd_create_empty_archive_element_shell
 1.41372 -+  (bfd *obfd);
 1.41373 -+bfd * _bfd_look_for_bfd_in_cache
 1.41374 -+  (bfd *, file_ptr);
 1.41375 -+bfd_boolean _bfd_add_bfd_to_archive_cache
 1.41376 -+  (bfd *, file_ptr, bfd *);
 1.41377 -+bfd_boolean _bfd_generic_mkarchive
 1.41378 -+  (bfd *abfd);
 1.41379 -+const bfd_target *bfd_generic_archive_p
 1.41380 -+  (bfd *abfd);
 1.41381 -+bfd_boolean bfd_slurp_armap
 1.41382 -+  (bfd *abfd);
 1.41383 -+bfd_boolean bfd_slurp_bsd_armap_f2
 1.41384 -+  (bfd *abfd);
 1.41385 -+#define bfd_slurp_bsd_armap bfd_slurp_armap
 1.41386 -+#define bfd_slurp_coff_armap bfd_slurp_armap
 1.41387 -+bfd_boolean _bfd_slurp_extended_name_table
 1.41388 -+  (bfd *abfd);
 1.41389 -+extern bfd_boolean _bfd_construct_extended_name_table
 1.41390 -+  (bfd *, bfd_boolean, char **, bfd_size_type *);
 1.41391 -+bfd_boolean _bfd_write_archive_contents
 1.41392 -+  (bfd *abfd);
 1.41393 -+bfd_boolean _bfd_compute_and_write_armap
 1.41394 -+  (bfd *, unsigned int elength);
 1.41395 -+bfd *_bfd_get_elt_at_filepos
 1.41396 -+  (bfd *archive, file_ptr filepos);
 1.41397 -+extern bfd *_bfd_generic_get_elt_at_index
 1.41398 -+  (bfd *, symindex);
 1.41399 -+bfd * _bfd_new_bfd
 1.41400 -+  (void);
 1.41401 -+void _bfd_delete_bfd
 1.41402 -+  (bfd *);
 1.41403 -+bfd_boolean _bfd_free_cached_info
 1.41404 -+  (bfd *);
 1.41405 -+
 1.41406 -+bfd_boolean bfd_false
 1.41407 -+  (bfd *ignore);
 1.41408 -+bfd_boolean bfd_true
 1.41409 -+  (bfd *ignore);
 1.41410 -+void *bfd_nullvoidptr
 1.41411 -+  (bfd *ignore);
 1.41412 -+int bfd_0
 1.41413 -+  (bfd *ignore);
 1.41414 -+unsigned int bfd_0u
 1.41415 -+  (bfd *ignore);
 1.41416 -+long bfd_0l
 1.41417 -+  (bfd *ignore);
 1.41418 -+long _bfd_n1
 1.41419 -+  (bfd *ignore);
 1.41420 -+void bfd_void
 1.41421 -+  (bfd *ignore);
 1.41422 -+
 1.41423 -+bfd *_bfd_new_bfd_contained_in
 1.41424 -+  (bfd *);
 1.41425 -+const bfd_target *_bfd_dummy_target
 1.41426 -+  (bfd *abfd);
 1.41427 -+
 1.41428 -+void bfd_dont_truncate_arname
 1.41429 -+  (bfd *abfd, const char *filename, char *hdr);
 1.41430 -+void bfd_bsd_truncate_arname
 1.41431 -+  (bfd *abfd, const char *filename, char *hdr);
 1.41432 -+void bfd_gnu_truncate_arname
 1.41433 -+  (bfd *abfd, const char *filename, char *hdr);
 1.41434 -+
 1.41435 -+bfd_boolean bsd_write_armap
 1.41436 -+  (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
 1.41437 -+   int stridx);
 1.41438 -+
 1.41439 -+bfd_boolean coff_write_armap
 1.41440 -+  (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
 1.41441 -+   int stridx);
 1.41442 -+
 1.41443 -+extern void *_bfd_generic_read_ar_hdr
 1.41444 -+  (bfd *);
 1.41445 -+extern void _bfd_ar_spacepad
 1.41446 -+  (char *, size_t, const char *, long);
 1.41447 -+
 1.41448 -+extern void *_bfd_generic_read_ar_hdr_mag
 1.41449 -+  (bfd *, const char *);
 1.41450 -+
 1.41451 -+bfd * bfd_generic_openr_next_archived_file
 1.41452 -+  (bfd *archive, bfd *last_file);
 1.41453 -+
 1.41454 -+int bfd_generic_stat_arch_elt
 1.41455 -+  (bfd *, struct stat *);
 1.41456 -+
 1.41457 -+#define _bfd_read_ar_hdr(abfd) \
 1.41458 -+  BFD_SEND (abfd, _bfd_read_ar_hdr_fn, (abfd))
 1.41459 -+
 1.41460 -+/* Generic routines to use for BFD_JUMP_TABLE_GENERIC.  Use
 1.41461 -+   BFD_JUMP_TABLE_GENERIC (_bfd_generic).  */
 1.41462 -+
 1.41463 -+#define _bfd_generic_close_and_cleanup bfd_true
 1.41464 -+#define _bfd_generic_bfd_free_cached_info bfd_true
 1.41465 -+extern bfd_boolean _bfd_generic_new_section_hook
 1.41466 -+  (bfd *, asection *);
 1.41467 -+extern bfd_boolean _bfd_generic_get_section_contents
 1.41468 -+  (bfd *, asection *, void *, file_ptr, bfd_size_type);
 1.41469 -+extern bfd_boolean _bfd_generic_get_section_contents_in_window
 1.41470 -+  (bfd *, asection *, bfd_window *, file_ptr, bfd_size_type);
 1.41471 -+
 1.41472 -+/* Generic routines to use for BFD_JUMP_TABLE_COPY.  Use
 1.41473 -+   BFD_JUMP_TABLE_COPY (_bfd_generic).  */
 1.41474 -+
 1.41475 -+#define _bfd_generic_bfd_copy_private_bfd_data \
 1.41476 -+  ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
 1.41477 -+#define _bfd_generic_bfd_merge_private_bfd_data \
 1.41478 -+  ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
 1.41479 -+#define _bfd_generic_bfd_set_private_flags \
 1.41480 -+  ((bfd_boolean (*) (bfd *, flagword)) bfd_true)
 1.41481 -+#define _bfd_generic_bfd_copy_private_section_data \
 1.41482 -+  ((bfd_boolean (*) (bfd *, asection *, bfd *, asection *)) bfd_true)
 1.41483 -+#define _bfd_generic_bfd_copy_private_symbol_data \
 1.41484 -+  ((bfd_boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) bfd_true)
 1.41485 -+#define _bfd_generic_bfd_copy_private_header_data \
 1.41486 -+  ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
 1.41487 -+#define _bfd_generic_bfd_print_private_bfd_data \
 1.41488 -+  ((bfd_boolean (*) (bfd *, void *)) bfd_true)
 1.41489 -+
 1.41490 -+extern bfd_boolean _bfd_generic_init_private_section_data
 1.41491 -+  (bfd *, asection *, bfd *, asection *, struct bfd_link_info *);
 1.41492 -+
 1.41493 -+/* Routines to use for BFD_JUMP_TABLE_CORE when there is no core file
 1.41494 -+   support.  Use BFD_JUMP_TABLE_CORE (_bfd_nocore).  */
 1.41495 -+
 1.41496 -+extern char *_bfd_nocore_core_file_failing_command
 1.41497 -+  (bfd *);
 1.41498 -+extern int _bfd_nocore_core_file_failing_signal
 1.41499 -+  (bfd *);
 1.41500 -+extern bfd_boolean _bfd_nocore_core_file_matches_executable_p
 1.41501 -+  (bfd *, bfd *);
 1.41502 -+
 1.41503 -+/* Routines to use for BFD_JUMP_TABLE_ARCHIVE when there is no archive
 1.41504 -+   file support.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive).  */
 1.41505 -+
 1.41506 -+#define _bfd_noarchive_slurp_armap bfd_false
 1.41507 -+#define _bfd_noarchive_slurp_extended_name_table bfd_false
 1.41508 -+#define _bfd_noarchive_construct_extended_name_table \
 1.41509 -+  ((bfd_boolean (*) (bfd *, char **, bfd_size_type *, const char **)) \
 1.41510 -+   bfd_false)
 1.41511 -+#define _bfd_noarchive_truncate_arname \
 1.41512 -+  ((void (*) (bfd *, const char *, char *)) bfd_void)
 1.41513 -+#define _bfd_noarchive_write_armap \
 1.41514 -+  ((bfd_boolean (*) (bfd *, unsigned int, struct orl *, unsigned int, int)) \
 1.41515 -+   bfd_false)
 1.41516 -+#define _bfd_noarchive_read_ar_hdr bfd_nullvoidptr
 1.41517 -+#define _bfd_noarchive_openr_next_archived_file \
 1.41518 -+  ((bfd *(*) (bfd *, bfd *)) bfd_nullvoidptr)
 1.41519 -+#define _bfd_noarchive_get_elt_at_index \
 1.41520 -+  ((bfd *(*) (bfd *, symindex)) bfd_nullvoidptr)
 1.41521 -+#define _bfd_noarchive_generic_stat_arch_elt bfd_generic_stat_arch_elt
 1.41522 -+#define _bfd_noarchive_update_armap_timestamp bfd_false
 1.41523 -+
 1.41524 -+/* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get BSD style
 1.41525 -+   archives.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd).  */
 1.41526 -+
 1.41527 -+#define _bfd_archive_bsd_slurp_armap bfd_slurp_bsd_armap
 1.41528 -+#define _bfd_archive_bsd_slurp_extended_name_table \
 1.41529 -+  _bfd_slurp_extended_name_table
 1.41530 -+extern bfd_boolean _bfd_archive_bsd_construct_extended_name_table
 1.41531 -+  (bfd *, char **, bfd_size_type *, const char **);
 1.41532 -+#define _bfd_archive_bsd_truncate_arname bfd_bsd_truncate_arname
 1.41533 -+#define _bfd_archive_bsd_write_armap bsd_write_armap
 1.41534 -+#define _bfd_archive_bsd_read_ar_hdr _bfd_generic_read_ar_hdr
 1.41535 -+#define _bfd_archive_bsd_openr_next_archived_file \
 1.41536 -+  bfd_generic_openr_next_archived_file
 1.41537 -+#define _bfd_archive_bsd_get_elt_at_index _bfd_generic_get_elt_at_index
 1.41538 -+#define _bfd_archive_bsd_generic_stat_arch_elt \
 1.41539 -+  bfd_generic_stat_arch_elt
 1.41540 -+extern bfd_boolean _bfd_archive_bsd_update_armap_timestamp
 1.41541 -+  (bfd *);
 1.41542 -+
 1.41543 -+/* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get COFF style
 1.41544 -+   archives.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff).  */
 1.41545 -+
 1.41546 -+#define _bfd_archive_coff_slurp_armap bfd_slurp_coff_armap
 1.41547 -+#define _bfd_archive_coff_slurp_extended_name_table \
 1.41548 -+  _bfd_slurp_extended_name_table
 1.41549 -+extern bfd_boolean _bfd_archive_coff_construct_extended_name_table
 1.41550 -+  (bfd *, char **, bfd_size_type *, const char **);
 1.41551 -+#define _bfd_archive_coff_truncate_arname bfd_dont_truncate_arname
 1.41552 -+#define _bfd_archive_coff_write_armap coff_write_armap
 1.41553 -+#define _bfd_archive_coff_read_ar_hdr _bfd_generic_read_ar_hdr
 1.41554 -+#define _bfd_archive_coff_openr_next_archived_file \
 1.41555 -+  bfd_generic_openr_next_archived_file
 1.41556 -+#define _bfd_archive_coff_get_elt_at_index _bfd_generic_get_elt_at_index
 1.41557 -+#define _bfd_archive_coff_generic_stat_arch_elt \
 1.41558 -+  bfd_generic_stat_arch_elt
 1.41559 -+#define _bfd_archive_coff_update_armap_timestamp bfd_true
 1.41560 -+
 1.41561 -+/* Routines to use for BFD_JUMP_TABLE_SYMBOLS where there is no symbol
 1.41562 -+   support.  Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).  */
 1.41563 -+
 1.41564 -+#define _bfd_nosymbols_get_symtab_upper_bound _bfd_n1
 1.41565 -+#define _bfd_nosymbols_canonicalize_symtab \
 1.41566 -+  ((long (*) (bfd *, asymbol **)) _bfd_n1)
 1.41567 -+#define _bfd_nosymbols_make_empty_symbol _bfd_generic_make_empty_symbol
 1.41568 -+#define _bfd_nosymbols_print_symbol \
 1.41569 -+  ((void (*) (bfd *, void *, asymbol *, bfd_print_symbol_type)) bfd_void)
 1.41570 -+#define _bfd_nosymbols_get_symbol_info \
 1.41571 -+  ((void (*) (bfd *, asymbol *, symbol_info *)) bfd_void)
 1.41572 -+#define _bfd_nosymbols_bfd_is_local_label_name \
 1.41573 -+  ((bfd_boolean (*) (bfd *, const char *)) bfd_false)
 1.41574 -+#define _bfd_nosymbols_bfd_is_target_special_symbol \
 1.41575 -+  ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
 1.41576 -+#define _bfd_nosymbols_get_lineno \
 1.41577 -+  ((alent *(*) (bfd *, asymbol *)) bfd_nullvoidptr)
 1.41578 -+#define _bfd_nosymbols_find_nearest_line \
 1.41579 -+  ((bfd_boolean (*) (bfd *, asection *, asymbol **, bfd_vma, const char **, \
 1.41580 -+		     const char **, unsigned int *)) \
 1.41581 -+   bfd_false)
 1.41582 -+#define _bfd_nosymbols_find_inliner_info \
 1.41583 -+  ((bfd_boolean (*) (bfd *, const char **, const char **, unsigned int *)) \
 1.41584 -+   bfd_false)
 1.41585 -+#define _bfd_nosymbols_bfd_make_debug_symbol \
 1.41586 -+  ((asymbol *(*) (bfd *, void *, unsigned long)) bfd_nullvoidptr)
 1.41587 -+#define _bfd_nosymbols_read_minisymbols \
 1.41588 -+  ((long (*) (bfd *, bfd_boolean, void **, unsigned int *)) _bfd_n1)
 1.41589 -+#define _bfd_nosymbols_minisymbol_to_symbol \
 1.41590 -+  ((asymbol *(*) (bfd *, bfd_boolean, const void *, asymbol *)) \
 1.41591 -+   bfd_nullvoidptr)
 1.41592 -+
 1.41593 -+/* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc
 1.41594 -+   support.  Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs).  */
 1.41595 -+
 1.41596 -+extern long _bfd_norelocs_get_reloc_upper_bound (bfd *, asection *);
 1.41597 -+extern long _bfd_norelocs_canonicalize_reloc (bfd *, asection *,
 1.41598 -+					      arelent **, asymbol **);
 1.41599 -+#define _bfd_norelocs_bfd_reloc_type_lookup \
 1.41600 -+  ((reloc_howto_type *(*) (bfd *, bfd_reloc_code_real_type)) bfd_nullvoidptr)
 1.41601 -+#define _bfd_norelocs_bfd_reloc_name_lookup \
 1.41602 -+  ((reloc_howto_type *(*) (bfd *, const char *)) bfd_nullvoidptr)
 1.41603 -+
 1.41604 -+/* Routines to use for BFD_JUMP_TABLE_WRITE for targets which may not
 1.41605 -+   be written.  Use BFD_JUMP_TABLE_WRITE (_bfd_nowrite).  */
 1.41606 -+
 1.41607 -+#define _bfd_nowrite_set_arch_mach \
 1.41608 -+  ((bfd_boolean (*) (bfd *, enum bfd_architecture, unsigned long)) \
 1.41609 -+   bfd_false)
 1.41610 -+#define _bfd_nowrite_set_section_contents \
 1.41611 -+  ((bfd_boolean (*) (bfd *, asection *, const void *, file_ptr, bfd_size_type)) \
 1.41612 -+   bfd_false)
 1.41613 -+
 1.41614 -+/* Generic routines to use for BFD_JUMP_TABLE_WRITE.  Use
 1.41615 -+   BFD_JUMP_TABLE_WRITE (_bfd_generic).  */
 1.41616 -+
 1.41617 -+#define _bfd_generic_set_arch_mach bfd_default_set_arch_mach
 1.41618 -+extern bfd_boolean _bfd_generic_set_section_contents
 1.41619 -+  (bfd *, asection *, const void *, file_ptr, bfd_size_type);
 1.41620 -+
 1.41621 -+/* Routines to use for BFD_JUMP_TABLE_LINK for targets which do not
 1.41622 -+   support linking.  Use BFD_JUMP_TABLE_LINK (_bfd_nolink).  */
 1.41623 -+
 1.41624 -+#define _bfd_nolink_sizeof_headers \
 1.41625 -+  ((int (*) (bfd *, struct bfd_link_info *)) bfd_0)
 1.41626 -+#define _bfd_nolink_bfd_get_relocated_section_contents \
 1.41627 -+  ((bfd_byte *(*) (bfd *, struct bfd_link_info *, struct bfd_link_order *, \
 1.41628 -+		   bfd_byte *, bfd_boolean, asymbol **)) \
 1.41629 -+   bfd_nullvoidptr)
 1.41630 -+#define _bfd_nolink_bfd_relax_section \
 1.41631 -+  ((bfd_boolean (*) \
 1.41632 -+    (bfd *, asection *, struct bfd_link_info *, bfd_boolean *)) \
 1.41633 -+   bfd_false)
 1.41634 -+#define _bfd_nolink_bfd_gc_sections \
 1.41635 -+  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
 1.41636 -+   bfd_false)
 1.41637 -+#define _bfd_nolink_bfd_merge_sections \
 1.41638 -+  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
 1.41639 -+   bfd_false)
 1.41640 -+#define _bfd_nolink_bfd_is_group_section \
 1.41641 -+  ((bfd_boolean (*) (bfd *, const struct bfd_section *)) \
 1.41642 -+   bfd_false)
 1.41643 -+#define _bfd_nolink_bfd_discard_group \
 1.41644 -+  ((bfd_boolean (*) (bfd *, struct bfd_section *)) \
 1.41645 -+   bfd_false)
 1.41646 -+#define _bfd_nolink_bfd_link_hash_table_create \
 1.41647 -+  ((struct bfd_link_hash_table *(*) (bfd *)) bfd_nullvoidptr)
 1.41648 -+#define _bfd_nolink_bfd_link_hash_table_free \
 1.41649 -+  ((void (*) (struct bfd_link_hash_table *)) bfd_void)
 1.41650 -+#define _bfd_nolink_bfd_link_add_symbols \
 1.41651 -+  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
 1.41652 -+#define _bfd_nolink_bfd_link_just_syms \
 1.41653 -+  ((void (*) (asection *, struct bfd_link_info *)) bfd_void)
 1.41654 -+#define _bfd_nolink_bfd_final_link \
 1.41655 -+  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
 1.41656 -+#define _bfd_nolink_bfd_link_split_section \
 1.41657 -+  ((bfd_boolean (*) (bfd *, struct bfd_section *)) bfd_false)
 1.41658 -+#define _bfd_nolink_section_already_linked \
 1.41659 -+  ((void (*) (bfd *, struct bfd_section *, struct bfd_link_info *)) bfd_void)
 1.41660 -+
 1.41661 -+/* Routines to use for BFD_JUMP_TABLE_DYNAMIC for targets which do not
 1.41662 -+   have dynamic symbols or relocs.  Use BFD_JUMP_TABLE_DYNAMIC
 1.41663 -+   (_bfd_nodynamic).  */
 1.41664 -+
 1.41665 -+#define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_n1
 1.41666 -+#define _bfd_nodynamic_canonicalize_dynamic_symtab \
 1.41667 -+  ((long (*) (bfd *, asymbol **)) _bfd_n1)
 1.41668 -+#define _bfd_nodynamic_get_synthetic_symtab \
 1.41669 -+  ((long (*) (bfd *, long, asymbol **, long, asymbol **, asymbol **)) _bfd_n1)
 1.41670 -+#define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_n1
 1.41671 -+#define _bfd_nodynamic_canonicalize_dynamic_reloc \
 1.41672 -+  ((long (*) (bfd *, arelent **, asymbol **)) _bfd_n1)
 1.41673 -+
 1.41674 -+/* Generic routine to determine of the given symbol is a local
 1.41675 -+   label.  */
 1.41676 -+extern bfd_boolean bfd_generic_is_local_label_name
 1.41677 -+  (bfd *, const char *);
 1.41678 -+
 1.41679 -+/* Generic minisymbol routines.  */
 1.41680 -+extern long _bfd_generic_read_minisymbols
 1.41681 -+  (bfd *, bfd_boolean, void **, unsigned int *);
 1.41682 -+extern asymbol *_bfd_generic_minisymbol_to_symbol
 1.41683 -+  (bfd *, bfd_boolean, const void *, asymbol *);
 1.41684 -+
 1.41685 -+/* Find the nearest line using .stab/.stabstr sections.  */
 1.41686 -+extern bfd_boolean _bfd_stab_section_find_nearest_line
 1.41687 -+  (bfd *, asymbol **, asection *, bfd_vma, bfd_boolean *,
 1.41688 -+   const char **, const char **, unsigned int *, void **);
 1.41689 -+
 1.41690 -+/* Find the nearest line using DWARF 1 debugging information.  */
 1.41691 -+extern bfd_boolean _bfd_dwarf1_find_nearest_line
 1.41692 -+  (bfd *, asection *, asymbol **, bfd_vma, const char **,
 1.41693 -+   const char **, unsigned int *);
 1.41694 -+
 1.41695 -+/* Find the nearest line using DWARF 2 debugging information.  */
 1.41696 -+extern bfd_boolean _bfd_dwarf2_find_nearest_line
 1.41697 -+  (bfd *, asection *, asymbol **, bfd_vma, const char **, const char **,
 1.41698 -+   unsigned int *, unsigned int, void **);
 1.41699 -+
 1.41700 -+/* Find the line using DWARF 2 debugging information.  */
 1.41701 -+extern bfd_boolean _bfd_dwarf2_find_line
 1.41702 -+  (bfd *, asymbol **, asymbol *, const char **,
 1.41703 -+   unsigned int *, unsigned int, void **);
 1.41704 -+
 1.41705 -+bfd_boolean _bfd_generic_find_line
 1.41706 -+  (bfd *, asymbol **, asymbol *, const char **, unsigned int *);
 1.41707 -+
 1.41708 -+/* Find inliner info after calling bfd_find_nearest_line. */
 1.41709 -+extern bfd_boolean _bfd_dwarf2_find_inliner_info
 1.41710 -+  (bfd *, const char **, const char **, unsigned int *, void **);
 1.41711 -+  
 1.41712 -+/* Create a new section entry.  */
 1.41713 -+extern struct bfd_hash_entry *bfd_section_hash_newfunc
 1.41714 -+  (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
 1.41715 -+
 1.41716 -+/* A routine to create entries for a bfd_link_hash_table.  */
 1.41717 -+extern struct bfd_hash_entry *_bfd_link_hash_newfunc
 1.41718 -+  (struct bfd_hash_entry *entry, struct bfd_hash_table *table,
 1.41719 -+   const char *string);
 1.41720 -+
 1.41721 -+/* Initialize a bfd_link_hash_table.  */
 1.41722 -+extern bfd_boolean _bfd_link_hash_table_init
 1.41723 -+  (struct bfd_link_hash_table *, bfd *,
 1.41724 -+   struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
 1.41725 -+			       struct bfd_hash_table *,
 1.41726 -+			       const char *),
 1.41727 -+   unsigned int);
 1.41728 -+
 1.41729 -+/* Generic link hash table creation routine.  */
 1.41730 -+extern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create
 1.41731 -+  (bfd *);
 1.41732 -+
 1.41733 -+/* Generic link hash table destruction routine.  */
 1.41734 -+extern void _bfd_generic_link_hash_table_free
 1.41735 -+  (struct bfd_link_hash_table *);
 1.41736 -+
 1.41737 -+/* Generic add symbol routine.  */
 1.41738 -+extern bfd_boolean _bfd_generic_link_add_symbols
 1.41739 -+  (bfd *, struct bfd_link_info *);
 1.41740 -+
 1.41741 -+/* Generic add symbol routine.  This version is used by targets for
 1.41742 -+   which the linker must collect constructors and destructors by name,
 1.41743 -+   as the collect2 program does.  */
 1.41744 -+extern bfd_boolean _bfd_generic_link_add_symbols_collect
 1.41745 -+  (bfd *, struct bfd_link_info *);
 1.41746 -+
 1.41747 -+/* Generic archive add symbol routine.  */
 1.41748 -+extern bfd_boolean _bfd_generic_link_add_archive_symbols
 1.41749 -+  (bfd *, struct bfd_link_info *,
 1.41750 -+   bfd_boolean (*) (bfd *, struct bfd_link_info *, bfd_boolean *));
 1.41751 -+
 1.41752 -+/* Forward declaration to avoid prototype errors.  */
 1.41753 -+typedef struct bfd_link_hash_entry _bfd_link_hash_entry;
 1.41754 -+
 1.41755 -+/* Generic routine to add a single symbol.  */
 1.41756 -+extern bfd_boolean _bfd_generic_link_add_one_symbol
 1.41757 -+  (struct bfd_link_info *, bfd *, const char *name, flagword,
 1.41758 -+   asection *, bfd_vma, const char *, bfd_boolean copy,
 1.41759 -+   bfd_boolean constructor, struct bfd_link_hash_entry **);
 1.41760 -+
 1.41761 -+/* Generic routine to mark section as supplying symbols only.  */
 1.41762 -+extern void _bfd_generic_link_just_syms
 1.41763 -+  (asection *, struct bfd_link_info *);
 1.41764 -+
 1.41765 -+/* Generic link routine.  */
 1.41766 -+extern bfd_boolean _bfd_generic_final_link
 1.41767 -+  (bfd *, struct bfd_link_info *);
 1.41768 -+
 1.41769 -+extern bfd_boolean _bfd_generic_link_split_section
 1.41770 -+  (bfd *, struct bfd_section *);
 1.41771 -+
 1.41772 -+extern void _bfd_generic_section_already_linked
 1.41773 -+  (bfd *, struct bfd_section *, struct bfd_link_info *);
 1.41774 -+
 1.41775 -+/* Generic reloc_link_order processing routine.  */
 1.41776 -+extern bfd_boolean _bfd_generic_reloc_link_order
 1.41777 -+  (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *);
 1.41778 -+
 1.41779 -+/* Default link order processing routine.  */
 1.41780 -+extern bfd_boolean _bfd_default_link_order
 1.41781 -+  (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *);
 1.41782 -+
 1.41783 -+/* Count the number of reloc entries in a link order list.  */
 1.41784 -+extern unsigned int _bfd_count_link_order_relocs
 1.41785 -+  (struct bfd_link_order *);
 1.41786 -+
 1.41787 -+/* Final link relocation routine.  */
 1.41788 -+extern bfd_reloc_status_type _bfd_final_link_relocate
 1.41789 -+  (reloc_howto_type *, bfd *, asection *, bfd_byte *,
 1.41790 -+   bfd_vma, bfd_vma, bfd_vma);
 1.41791 -+
 1.41792 -+/* Relocate a particular location by a howto and a value.  */
 1.41793 -+extern bfd_reloc_status_type _bfd_relocate_contents
 1.41794 -+  (reloc_howto_type *, bfd *, bfd_vma, bfd_byte *);
 1.41795 -+
 1.41796 -+/* Clear a given location using a given howto.  */
 1.41797 -+extern void _bfd_clear_contents (reloc_howto_type *howto, bfd *input_bfd,
 1.41798 -+				 bfd_byte *location);
 1.41799 -+
 1.41800 -+/* Link stabs in sections in the first pass.  */
 1.41801 -+
 1.41802 -+extern bfd_boolean _bfd_link_section_stabs
 1.41803 -+  (bfd *, struct stab_info *, asection *, asection *, void **,
 1.41804 -+   bfd_size_type *);
 1.41805 -+
 1.41806 -+/* Eliminate stabs for discarded functions and symbols.  */
 1.41807 -+extern bfd_boolean _bfd_discard_section_stabs
 1.41808 -+  (bfd *, asection *, void *, bfd_boolean (*) (bfd_vma, void *), void *);
 1.41809 -+
 1.41810 -+/* Write out the .stab section when linking stabs in sections.  */
 1.41811 -+
 1.41812 -+extern bfd_boolean _bfd_write_section_stabs
 1.41813 -+  (bfd *, struct stab_info *, asection *, void **, bfd_byte *);
 1.41814 -+
 1.41815 -+/* Write out the .stabstr string table when linking stabs in sections.  */
 1.41816 -+
 1.41817 -+extern bfd_boolean _bfd_write_stab_strings
 1.41818 -+  (bfd *, struct stab_info *);
 1.41819 -+
 1.41820 -+/* Find an offset within a .stab section when linking stabs in
 1.41821 -+   sections.  */
 1.41822 -+
 1.41823 -+extern bfd_vma _bfd_stab_section_offset
 1.41824 -+  (asection *, void *, bfd_vma);
 1.41825 -+
 1.41826 -+/* Register a SEC_MERGE section as a candidate for merging.  */
 1.41827 -+
 1.41828 -+extern bfd_boolean _bfd_add_merge_section
 1.41829 -+  (bfd *, void **, asection *, void **);
 1.41830 -+
 1.41831 -+/* Attempt to merge SEC_MERGE sections.  */
 1.41832 -+
 1.41833 -+extern bfd_boolean _bfd_merge_sections
 1.41834 -+  (bfd *, struct bfd_link_info *, void *, void (*) (bfd *, asection *));
 1.41835 -+
 1.41836 -+/* Write out a merged section.  */
 1.41837 -+
 1.41838 -+extern bfd_boolean _bfd_write_merged_section
 1.41839 -+  (bfd *, asection *, void *);
 1.41840 -+
 1.41841 -+/* Find an offset within a modified SEC_MERGE section.  */
 1.41842 -+
 1.41843 -+extern bfd_vma _bfd_merged_section_offset
 1.41844 -+  (bfd *, asection **, void *, bfd_vma);
 1.41845 -+
 1.41846 -+/* Create a string table.  */
 1.41847 -+extern struct bfd_strtab_hash *_bfd_stringtab_init
 1.41848 -+  (void);
 1.41849 -+
 1.41850 -+/* Create an XCOFF .debug section style string table.  */
 1.41851 -+extern struct bfd_strtab_hash *_bfd_xcoff_stringtab_init
 1.41852 -+  (void);
 1.41853 -+
 1.41854 -+/* Free a string table.  */
 1.41855 -+extern void _bfd_stringtab_free
 1.41856 -+  (struct bfd_strtab_hash *);
 1.41857 -+
 1.41858 -+/* Get the size of a string table.  */
 1.41859 -+extern bfd_size_type _bfd_stringtab_size
 1.41860 -+  (struct bfd_strtab_hash *);
 1.41861 -+
 1.41862 -+/* Add a string to a string table.  */
 1.41863 -+extern bfd_size_type _bfd_stringtab_add
 1.41864 -+  (struct bfd_strtab_hash *, const char *, bfd_boolean hash, bfd_boolean copy);
 1.41865 -+
 1.41866 -+/* Write out a string table.  */
 1.41867 -+extern bfd_boolean _bfd_stringtab_emit
 1.41868 -+  (bfd *, struct bfd_strtab_hash *);
 1.41869 -+
 1.41870 -+/* Check that endianness of input and output file match.  */
 1.41871 -+extern bfd_boolean _bfd_generic_verify_endian_match
 1.41872 -+  (bfd *, bfd *);
 1.41873 -+
 1.41874 -+/* Macros to tell if bfds are read or write enabled.
 1.41875 -+
 1.41876 -+   Note that bfds open for read may be scribbled into if the fd passed
 1.41877 -+   to bfd_fdopenr is actually open both for read and write
 1.41878 -+   simultaneously.  However an output bfd will never be open for
 1.41879 -+   read.  Therefore sometimes you want to check bfd_read_p or
 1.41880 -+   !bfd_read_p, and only sometimes bfd_write_p.
 1.41881 -+*/
 1.41882 -+
 1.41883 -+#define	bfd_read_p(abfd) \
 1.41884 -+  ((abfd)->direction == read_direction || (abfd)->direction == both_direction)
 1.41885 -+#define	bfd_write_p(abfd) \
 1.41886 -+  ((abfd)->direction == write_direction || (abfd)->direction == both_direction)
 1.41887 -+
 1.41888 -+void bfd_assert
 1.41889 -+  (const char*,int);
 1.41890 -+
 1.41891 -+#define BFD_ASSERT(x) \
 1.41892 -+  do { if (!(x)) bfd_assert(__FILE__,__LINE__); } while (0)
 1.41893 -+
 1.41894 -+#define BFD_FAIL() \
 1.41895 -+  do { bfd_assert(__FILE__,__LINE__); } while (0)
 1.41896 -+
 1.41897 -+extern void _bfd_abort
 1.41898 -+  (const char *, int, const char *) ATTRIBUTE_NORETURN;
 1.41899 -+
 1.41900 -+/* if gcc >= 2.6, we can give a function name, too */
 1.41901 -+#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6)
 1.41902 -+#define __PRETTY_FUNCTION__  ((char *) NULL)
 1.41903 -+#endif
 1.41904 -+
 1.41905 -+#undef abort
 1.41906 -+#define abort() _bfd_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__)
 1.41907 -+
 1.41908 -+/* Manipulate a system FILE but using BFD's "file_ptr", rather than
 1.41909 -+   the system "off_t" or "off64_t", as the offset.  */
 1.41910 -+extern file_ptr real_ftell (FILE *file);
 1.41911 -+extern int real_fseek (FILE *file, file_ptr offset, int whence);
 1.41912 -+extern FILE *real_fopen (const char *filename, const char *modes);
 1.41913 -+
 1.41914 -+/* List of supported target vectors, and the default vector (if
 1.41915 -+   bfd_default_vector[0] is NULL, there is no default).  */
 1.41916 -+extern const bfd_target * const *bfd_target_vector;
 1.41917 -+extern const bfd_target *bfd_default_vector[];
 1.41918 -+
 1.41919 -+/* List of associated target vectors.  */
 1.41920 -+extern const bfd_target * const *bfd_associated_vector;
 1.41921 -+
 1.41922 -+/* Functions shared by the ECOFF and MIPS ELF backends, which have no
 1.41923 -+   other common header files.  */
 1.41924 -+
 1.41925 -+#if defined(__STDC__) || defined(ALMOST_STDC)
 1.41926 -+struct ecoff_find_line;
 1.41927 -+#endif
 1.41928 -+
 1.41929 -+extern bfd_boolean _bfd_ecoff_locate_line
 1.41930 -+  (bfd *, asection *, bfd_vma, struct ecoff_debug_info * const,
 1.41931 -+   const struct ecoff_debug_swap * const, struct ecoff_find_line *,
 1.41932 -+   const char **, const char **, unsigned int *);
 1.41933 -+extern bfd_boolean _bfd_ecoff_get_accumulated_pdr
 1.41934 -+  (void *, bfd_byte *);
 1.41935 -+extern bfd_boolean _bfd_ecoff_get_accumulated_sym
 1.41936 -+  (void *, bfd_byte *);
 1.41937 -+extern bfd_boolean _bfd_ecoff_get_accumulated_ss
 1.41938 -+  (void *, bfd_byte *);
 1.41939 -+
 1.41940 -+extern bfd_vma _bfd_get_gp_value
 1.41941 -+  (bfd *);
 1.41942 -+extern void _bfd_set_gp_value
 1.41943 -+  (bfd *, bfd_vma);
 1.41944 -+
 1.41945 -+/* Function shared by the COFF and ELF SH backends, which have no
 1.41946 -+   other common header files.  */
 1.41947 -+
 1.41948 -+#ifndef _bfd_sh_align_load_span
 1.41949 -+extern bfd_boolean _bfd_sh_align_load_span
 1.41950 -+  (bfd *, asection *, bfd_byte *,
 1.41951 -+   bfd_boolean (*) (bfd *, asection *, void *, bfd_byte *, bfd_vma),
 1.41952 -+   void *, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bfd_boolean *);
 1.41953 -+#endif
 1.41954 -+
 1.41955 -+/* This is the shape of the elements inside the already_linked hash
 1.41956 -+   table. It maps a name onto a list of already_linked elements with
 1.41957 -+   the same name.  */
 1.41958 -+
 1.41959 -+struct bfd_section_already_linked_hash_entry
 1.41960 -+{
 1.41961 -+  struct bfd_hash_entry root;
 1.41962 -+  struct bfd_section_already_linked *entry;
 1.41963 -+};
 1.41964 -+
 1.41965 -+struct bfd_section_already_linked
 1.41966 -+{
 1.41967 -+  struct bfd_section_already_linked *next;
 1.41968 -+  asection *sec;
 1.41969 -+};
 1.41970 -+
 1.41971 -+extern struct bfd_section_already_linked_hash_entry *
 1.41972 -+  bfd_section_already_linked_table_lookup (const char *);
 1.41973 -+extern bfd_boolean bfd_section_already_linked_table_insert
 1.41974 -+  (struct bfd_section_already_linked_hash_entry *, asection *);
 1.41975 -+extern void bfd_section_already_linked_table_traverse
 1.41976 -+  (bfd_boolean (*) (struct bfd_section_already_linked_hash_entry *,
 1.41977 -+		    void *), void *);
 1.41978 -+
 1.41979 -+extern bfd_vma read_unsigned_leb128 (bfd *, bfd_byte *, unsigned int *);
 1.41980 -+extern bfd_signed_vma read_signed_leb128 (bfd *, bfd_byte *, unsigned int *);
 1.41981 -+
 1.41982 -+/* Extracted from init.c.  */
 1.41983 -+/* Extracted from libbfd.c.  */
 1.41984 -+bfd_boolean bfd_write_bigendian_4byte_int (bfd *, unsigned int);
 1.41985 -+
 1.41986 -+unsigned int bfd_log2 (bfd_vma x);
 1.41987 -+
 1.41988 -+/* Extracted from bfdio.c.  */
 1.41989 -+struct bfd_iovec
 1.41990 -+{
 1.41991 -+  /* To avoid problems with macros, a "b" rather than "f"
 1.41992 -+     prefix is prepended to each method name.  */
 1.41993 -+  /* Attempt to read/write NBYTES on ABFD's IOSTREAM storing/fetching
 1.41994 -+     bytes starting at PTR.  Return the number of bytes actually
 1.41995 -+     transfered (a read past end-of-file returns less than NBYTES),
 1.41996 -+     or -1 (setting <<bfd_error>>) if an error occurs.  */
 1.41997 -+  file_ptr (*bread) (struct bfd *abfd, void *ptr, file_ptr nbytes);
 1.41998 -+  file_ptr (*bwrite) (struct bfd *abfd, const void *ptr,
 1.41999 -+                      file_ptr nbytes);
 1.42000 -+  /* Return the current IOSTREAM file offset, or -1 (setting <<bfd_error>>
 1.42001 -+     if an error occurs.  */
 1.42002 -+  file_ptr (*btell) (struct bfd *abfd);
 1.42003 -+  /* For the following, on successful completion a value of 0 is returned.
 1.42004 -+     Otherwise, a value of -1 is returned (and  <<bfd_error>> is set).  */
 1.42005 -+  int (*bseek) (struct bfd *abfd, file_ptr offset, int whence);
 1.42006 -+  int (*bclose) (struct bfd *abfd);
 1.42007 -+  int (*bflush) (struct bfd *abfd);
 1.42008 -+  int (*bstat) (struct bfd *abfd, struct stat *sb);
 1.42009 -+};
 1.42010 -+/* Extracted from bfdwin.c.  */
 1.42011 -+struct _bfd_window_internal {
 1.42012 -+  struct _bfd_window_internal *next;
 1.42013 -+  void *data;
 1.42014 -+  bfd_size_type size;
 1.42015 -+  int refcount : 31;           /* should be enough...  */
 1.42016 -+  unsigned mapped : 1;         /* 1 = mmap, 0 = malloc */
 1.42017 -+};
 1.42018 -+/* Extracted from cache.c.  */
 1.42019 -+bfd_boolean bfd_cache_init (bfd *abfd);
 1.42020 -+
 1.42021 -+bfd_boolean bfd_cache_close (bfd *abfd);
 1.42022 -+
 1.42023 -+FILE* bfd_open_file (bfd *abfd);
 1.42024 -+
 1.42025 -+/* Extracted from reloc.c.  */
 1.42026 -+#ifdef _BFD_MAKE_TABLE_bfd_reloc_code_real
 1.42027 -+
 1.42028 -+static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
 1.42029 -+
 1.42030 -+  "BFD_RELOC_64",
 1.42031 -+  "BFD_RELOC_32",
 1.42032 -+  "BFD_RELOC_26",
 1.42033 -+  "BFD_RELOC_24",
 1.42034 -+  "BFD_RELOC_16",
 1.42035 -+  "BFD_RELOC_14",
 1.42036 -+  "BFD_RELOC_8",
 1.42037 -+  "BFD_RELOC_64_PCREL",
 1.42038 -+  "BFD_RELOC_32_PCREL",
 1.42039 -+  "BFD_RELOC_24_PCREL",
 1.42040 -+  "BFD_RELOC_16_PCREL",
 1.42041 -+  "BFD_RELOC_12_PCREL",
 1.42042 -+  "BFD_RELOC_8_PCREL",
 1.42043 -+  "BFD_RELOC_32_SECREL",
 1.42044 -+  "BFD_RELOC_32_GOT_PCREL",
 1.42045 -+  "BFD_RELOC_16_GOT_PCREL",
 1.42046 -+  "BFD_RELOC_8_GOT_PCREL",
 1.42047 -+  "BFD_RELOC_32_GOTOFF",
 1.42048 -+  "BFD_RELOC_16_GOTOFF",
 1.42049 -+  "BFD_RELOC_LO16_GOTOFF",
 1.42050 -+  "BFD_RELOC_HI16_GOTOFF",
 1.42051 -+  "BFD_RELOC_HI16_S_GOTOFF",
 1.42052 -+  "BFD_RELOC_8_GOTOFF",
 1.42053 -+  "BFD_RELOC_64_PLT_PCREL",
 1.42054 -+  "BFD_RELOC_32_PLT_PCREL",
 1.42055 -+  "BFD_RELOC_24_PLT_PCREL",
 1.42056 -+  "BFD_RELOC_16_PLT_PCREL",
 1.42057 -+  "BFD_RELOC_8_PLT_PCREL",
 1.42058 -+  "BFD_RELOC_64_PLTOFF",
 1.42059 -+  "BFD_RELOC_32_PLTOFF",
 1.42060 -+  "BFD_RELOC_16_PLTOFF",
 1.42061 -+  "BFD_RELOC_LO16_PLTOFF",
 1.42062 -+  "BFD_RELOC_HI16_PLTOFF",
 1.42063 -+  "BFD_RELOC_HI16_S_PLTOFF",
 1.42064 -+  "BFD_RELOC_8_PLTOFF",
 1.42065 -+  "BFD_RELOC_68K_GLOB_DAT",
 1.42066 -+  "BFD_RELOC_68K_JMP_SLOT",
 1.42067 -+  "BFD_RELOC_68K_RELATIVE",
 1.42068 -+  "BFD_RELOC_32_BASEREL",
 1.42069 -+  "BFD_RELOC_16_BASEREL",
 1.42070 -+  "BFD_RELOC_LO16_BASEREL",
 1.42071 -+  "BFD_RELOC_HI16_BASEREL",
 1.42072 -+  "BFD_RELOC_HI16_S_BASEREL",
 1.42073 -+  "BFD_RELOC_8_BASEREL",
 1.42074 -+  "BFD_RELOC_RVA",
 1.42075 -+  "BFD_RELOC_8_FFnn",
 1.42076 -+  "BFD_RELOC_32_PCREL_S2",
 1.42077 -+  "BFD_RELOC_16_PCREL_S2",
 1.42078 -+  "BFD_RELOC_23_PCREL_S2",
 1.42079 -+  "BFD_RELOC_HI22",
 1.42080 -+  "BFD_RELOC_LO10",
 1.42081 -+  "BFD_RELOC_GPREL16",
 1.42082 -+  "BFD_RELOC_GPREL32",
 1.42083 -+  "BFD_RELOC_I960_CALLJ",
 1.42084 -+  "BFD_RELOC_NONE",
 1.42085 -+  "BFD_RELOC_SPARC_WDISP22",
 1.42086 -+  "BFD_RELOC_SPARC22",
 1.42087 -+  "BFD_RELOC_SPARC13",
 1.42088 -+  "BFD_RELOC_SPARC_GOT10",
 1.42089 -+  "BFD_RELOC_SPARC_GOT13",
 1.42090 -+  "BFD_RELOC_SPARC_GOT22",
 1.42091 -+  "BFD_RELOC_SPARC_PC10",
 1.42092 -+  "BFD_RELOC_SPARC_PC22",
 1.42093 -+  "BFD_RELOC_SPARC_WPLT30",
 1.42094 -+  "BFD_RELOC_SPARC_COPY",
 1.42095 -+  "BFD_RELOC_SPARC_GLOB_DAT",
 1.42096 -+  "BFD_RELOC_SPARC_JMP_SLOT",
 1.42097 -+  "BFD_RELOC_SPARC_RELATIVE",
 1.42098 -+  "BFD_RELOC_SPARC_UA16",
 1.42099 -+  "BFD_RELOC_SPARC_UA32",
 1.42100 -+  "BFD_RELOC_SPARC_UA64",
 1.42101 -+  "BFD_RELOC_SPARC_BASE13",
 1.42102 -+  "BFD_RELOC_SPARC_BASE22",
 1.42103 -+  "BFD_RELOC_SPARC_10",
 1.42104 -+  "BFD_RELOC_SPARC_11",
 1.42105 -+  "BFD_RELOC_SPARC_OLO10",
 1.42106 -+  "BFD_RELOC_SPARC_HH22",
 1.42107 -+  "BFD_RELOC_SPARC_HM10",
 1.42108 -+  "BFD_RELOC_SPARC_LM22",
 1.42109 -+  "BFD_RELOC_SPARC_PC_HH22",
 1.42110 -+  "BFD_RELOC_SPARC_PC_HM10",
 1.42111 -+  "BFD_RELOC_SPARC_PC_LM22",
 1.42112 -+  "BFD_RELOC_SPARC_WDISP16",
 1.42113 -+  "BFD_RELOC_SPARC_WDISP19",
 1.42114 -+  "BFD_RELOC_SPARC_7",
 1.42115 -+  "BFD_RELOC_SPARC_6",
 1.42116 -+  "BFD_RELOC_SPARC_5",
 1.42117 -+  "BFD_RELOC_SPARC_PLT32",
 1.42118 -+  "BFD_RELOC_SPARC_PLT64",
 1.42119 -+  "BFD_RELOC_SPARC_HIX22",
 1.42120 -+  "BFD_RELOC_SPARC_LOX10",
 1.42121 -+  "BFD_RELOC_SPARC_H44",
 1.42122 -+  "BFD_RELOC_SPARC_M44",
 1.42123 -+  "BFD_RELOC_SPARC_L44",
 1.42124 -+  "BFD_RELOC_SPARC_REGISTER",
 1.42125 -+  "BFD_RELOC_SPARC_REV32",
 1.42126 -+  "BFD_RELOC_SPARC_TLS_GD_HI22",
 1.42127 -+  "BFD_RELOC_SPARC_TLS_GD_LO10",
 1.42128 -+  "BFD_RELOC_SPARC_TLS_GD_ADD",
 1.42129 -+  "BFD_RELOC_SPARC_TLS_GD_CALL",
 1.42130 -+  "BFD_RELOC_SPARC_TLS_LDM_HI22",
 1.42131 -+  "BFD_RELOC_SPARC_TLS_LDM_LO10",
 1.42132 -+  "BFD_RELOC_SPARC_TLS_LDM_ADD",
 1.42133 -+  "BFD_RELOC_SPARC_TLS_LDM_CALL",
 1.42134 -+  "BFD_RELOC_SPARC_TLS_LDO_HIX22",
 1.42135 -+  "BFD_RELOC_SPARC_TLS_LDO_LOX10",
 1.42136 -+  "BFD_RELOC_SPARC_TLS_LDO_ADD",
 1.42137 -+  "BFD_RELOC_SPARC_TLS_IE_HI22",
 1.42138 -+  "BFD_RELOC_SPARC_TLS_IE_LO10",
 1.42139 -+  "BFD_RELOC_SPARC_TLS_IE_LD",
 1.42140 -+  "BFD_RELOC_SPARC_TLS_IE_LDX",
 1.42141 -+  "BFD_RELOC_SPARC_TLS_IE_ADD",
 1.42142 -+  "BFD_RELOC_SPARC_TLS_LE_HIX22",
 1.42143 -+  "BFD_RELOC_SPARC_TLS_LE_LOX10",
 1.42144 -+  "BFD_RELOC_SPARC_TLS_DTPMOD32",
 1.42145 -+  "BFD_RELOC_SPARC_TLS_DTPMOD64",
 1.42146 -+  "BFD_RELOC_SPARC_TLS_DTPOFF32",
 1.42147 -+  "BFD_RELOC_SPARC_TLS_DTPOFF64",
 1.42148 -+  "BFD_RELOC_SPARC_TLS_TPOFF32",
 1.42149 -+  "BFD_RELOC_SPARC_TLS_TPOFF64",
 1.42150 -+  "BFD_RELOC_SPU_IMM7",
 1.42151 -+  "BFD_RELOC_SPU_IMM8",
 1.42152 -+  "BFD_RELOC_SPU_IMM10",
 1.42153 -+  "BFD_RELOC_SPU_IMM10W",
 1.42154 -+  "BFD_RELOC_SPU_IMM16",
 1.42155 -+  "BFD_RELOC_SPU_IMM16W",
 1.42156 -+  "BFD_RELOC_SPU_IMM18",
 1.42157 -+  "BFD_RELOC_SPU_PCREL9a",
 1.42158 -+  "BFD_RELOC_SPU_PCREL9b",
 1.42159 -+  "BFD_RELOC_SPU_PCREL16",
 1.42160 -+  "BFD_RELOC_SPU_LO16",
 1.42161 -+  "BFD_RELOC_SPU_HI16",
 1.42162 -+  "BFD_RELOC_SPU_PPU32",
 1.42163 -+  "BFD_RELOC_SPU_PPU64",
 1.42164 -+  "BFD_RELOC_ALPHA_GPDISP_HI16",
 1.42165 -+  "BFD_RELOC_ALPHA_GPDISP_LO16",
 1.42166 -+  "BFD_RELOC_ALPHA_GPDISP",
 1.42167 -+  "BFD_RELOC_ALPHA_LITERAL",
 1.42168 -+  "BFD_RELOC_ALPHA_ELF_LITERAL",
 1.42169 -+  "BFD_RELOC_ALPHA_LITUSE",
 1.42170 -+  "BFD_RELOC_ALPHA_HINT",
 1.42171 -+  "BFD_RELOC_ALPHA_LINKAGE",
 1.42172 -+  "BFD_RELOC_ALPHA_CODEADDR",
 1.42173 -+  "BFD_RELOC_ALPHA_GPREL_HI16",
 1.42174 -+  "BFD_RELOC_ALPHA_GPREL_LO16",
 1.42175 -+  "BFD_RELOC_ALPHA_BRSGP",
 1.42176 -+  "BFD_RELOC_ALPHA_TLSGD",
 1.42177 -+  "BFD_RELOC_ALPHA_TLSLDM",
 1.42178 -+  "BFD_RELOC_ALPHA_DTPMOD64",
 1.42179 -+  "BFD_RELOC_ALPHA_GOTDTPREL16",
 1.42180 -+  "BFD_RELOC_ALPHA_DTPREL64",
 1.42181 -+  "BFD_RELOC_ALPHA_DTPREL_HI16",
 1.42182 -+  "BFD_RELOC_ALPHA_DTPREL_LO16",
 1.42183 -+  "BFD_RELOC_ALPHA_DTPREL16",
 1.42184 -+  "BFD_RELOC_ALPHA_GOTTPREL16",
 1.42185 -+  "BFD_RELOC_ALPHA_TPREL64",
 1.42186 -+  "BFD_RELOC_ALPHA_TPREL_HI16",
 1.42187 -+  "BFD_RELOC_ALPHA_TPREL_LO16",
 1.42188 -+  "BFD_RELOC_ALPHA_TPREL16",
 1.42189 -+  "BFD_RELOC_MIPS_JMP",
 1.42190 -+  "BFD_RELOC_MIPS16_JMP",
 1.42191 -+  "BFD_RELOC_MIPS16_GPREL",
 1.42192 -+  "BFD_RELOC_HI16",
 1.42193 -+  "BFD_RELOC_HI16_S",
 1.42194 -+  "BFD_RELOC_LO16",
 1.42195 -+  "BFD_RELOC_HI16_PCREL",
 1.42196 -+  "BFD_RELOC_HI16_S_PCREL",
 1.42197 -+  "BFD_RELOC_LO16_PCREL",
 1.42198 -+  "BFD_RELOC_MIPS16_HI16",
 1.42199 -+  "BFD_RELOC_MIPS16_HI16_S",
 1.42200 -+  "BFD_RELOC_MIPS16_LO16",
 1.42201 -+  "BFD_RELOC_MIPS_LITERAL",
 1.42202 -+  "BFD_RELOC_MIPS_GOT16",
 1.42203 -+  "BFD_RELOC_MIPS_CALL16",
 1.42204 -+  "BFD_RELOC_MIPS_GOT_HI16",
 1.42205 -+  "BFD_RELOC_MIPS_GOT_LO16",
 1.42206 -+  "BFD_RELOC_MIPS_CALL_HI16",
 1.42207 -+  "BFD_RELOC_MIPS_CALL_LO16",
 1.42208 -+  "BFD_RELOC_MIPS_SUB",
 1.42209 -+  "BFD_RELOC_MIPS_GOT_PAGE",
 1.42210 -+  "BFD_RELOC_MIPS_GOT_OFST",
 1.42211 -+  "BFD_RELOC_MIPS_GOT_DISP",
 1.42212 -+  "BFD_RELOC_MIPS_SHIFT5",
 1.42213 -+  "BFD_RELOC_MIPS_SHIFT6",
 1.42214 -+  "BFD_RELOC_MIPS_INSERT_A",
 1.42215 -+  "BFD_RELOC_MIPS_INSERT_B",
 1.42216 -+  "BFD_RELOC_MIPS_DELETE",
 1.42217 -+  "BFD_RELOC_MIPS_HIGHEST",
 1.42218 -+  "BFD_RELOC_MIPS_HIGHER",
 1.42219 -+  "BFD_RELOC_MIPS_SCN_DISP",
 1.42220 -+  "BFD_RELOC_MIPS_REL16",
 1.42221 -+  "BFD_RELOC_MIPS_RELGOT",
 1.42222 -+  "BFD_RELOC_MIPS_JALR",
 1.42223 -+  "BFD_RELOC_MIPS_TLS_DTPMOD32",
 1.42224 -+  "BFD_RELOC_MIPS_TLS_DTPREL32",
 1.42225 -+  "BFD_RELOC_MIPS_TLS_DTPMOD64",
 1.42226 -+  "BFD_RELOC_MIPS_TLS_DTPREL64",
 1.42227 -+  "BFD_RELOC_MIPS_TLS_GD",
 1.42228 -+  "BFD_RELOC_MIPS_TLS_LDM",
 1.42229 -+  "BFD_RELOC_MIPS_TLS_DTPREL_HI16",
 1.42230 -+  "BFD_RELOC_MIPS_TLS_DTPREL_LO16",
 1.42231 -+  "BFD_RELOC_MIPS_TLS_GOTTPREL",
 1.42232 -+  "BFD_RELOC_MIPS_TLS_TPREL32",
 1.42233 -+  "BFD_RELOC_MIPS_TLS_TPREL64",
 1.42234 -+  "BFD_RELOC_MIPS_TLS_TPREL_HI16",
 1.42235 -+  "BFD_RELOC_MIPS_TLS_TPREL_LO16",
 1.42236 -+
 1.42237 -+  "BFD_RELOC_MIPS_COPY",
 1.42238 -+  "BFD_RELOC_MIPS_JUMP_SLOT",
 1.42239 -+
 1.42240 -+  "BFD_RELOC_FRV_LABEL16",
 1.42241 -+  "BFD_RELOC_FRV_LABEL24",
 1.42242 -+  "BFD_RELOC_FRV_LO16",
 1.42243 -+  "BFD_RELOC_FRV_HI16",
 1.42244 -+  "BFD_RELOC_FRV_GPREL12",
 1.42245 -+  "BFD_RELOC_FRV_GPRELU12",
 1.42246 -+  "BFD_RELOC_FRV_GPREL32",
 1.42247 -+  "BFD_RELOC_FRV_GPRELHI",
 1.42248 -+  "BFD_RELOC_FRV_GPRELLO",
 1.42249 -+  "BFD_RELOC_FRV_GOT12",
 1.42250 -+  "BFD_RELOC_FRV_GOTHI",
 1.42251 -+  "BFD_RELOC_FRV_GOTLO",
 1.42252 -+  "BFD_RELOC_FRV_FUNCDESC",
 1.42253 -+  "BFD_RELOC_FRV_FUNCDESC_GOT12",
 1.42254 -+  "BFD_RELOC_FRV_FUNCDESC_GOTHI",
 1.42255 -+  "BFD_RELOC_FRV_FUNCDESC_GOTLO",
 1.42256 -+  "BFD_RELOC_FRV_FUNCDESC_VALUE",
 1.42257 -+  "BFD_RELOC_FRV_FUNCDESC_GOTOFF12",
 1.42258 -+  "BFD_RELOC_FRV_FUNCDESC_GOTOFFHI",
 1.42259 -+  "BFD_RELOC_FRV_FUNCDESC_GOTOFFLO",
 1.42260 -+  "BFD_RELOC_FRV_GOTOFF12",
 1.42261 -+  "BFD_RELOC_FRV_GOTOFFHI",
 1.42262 -+  "BFD_RELOC_FRV_GOTOFFLO",
 1.42263 -+  "BFD_RELOC_FRV_GETTLSOFF",
 1.42264 -+  "BFD_RELOC_FRV_TLSDESC_VALUE",
 1.42265 -+  "BFD_RELOC_FRV_GOTTLSDESC12",
 1.42266 -+  "BFD_RELOC_FRV_GOTTLSDESCHI",
 1.42267 -+  "BFD_RELOC_FRV_GOTTLSDESCLO",
 1.42268 -+  "BFD_RELOC_FRV_TLSMOFF12",
 1.42269 -+  "BFD_RELOC_FRV_TLSMOFFHI",
 1.42270 -+  "BFD_RELOC_FRV_TLSMOFFLO",
 1.42271 -+  "BFD_RELOC_FRV_GOTTLSOFF12",
 1.42272 -+  "BFD_RELOC_FRV_GOTTLSOFFHI",
 1.42273 -+  "BFD_RELOC_FRV_GOTTLSOFFLO",
 1.42274 -+  "BFD_RELOC_FRV_TLSOFF",
 1.42275 -+  "BFD_RELOC_FRV_TLSDESC_RELAX",
 1.42276 -+  "BFD_RELOC_FRV_GETTLSOFF_RELAX",
 1.42277 -+  "BFD_RELOC_FRV_TLSOFF_RELAX",
 1.42278 -+  "BFD_RELOC_FRV_TLSMOFF",
 1.42279 -+
 1.42280 -+  "BFD_RELOC_MN10300_GOTOFF24",
 1.42281 -+  "BFD_RELOC_MN10300_GOT32",
 1.42282 -+  "BFD_RELOC_MN10300_GOT24",
 1.42283 -+  "BFD_RELOC_MN10300_GOT16",
 1.42284 -+  "BFD_RELOC_MN10300_COPY",
 1.42285 -+  "BFD_RELOC_MN10300_GLOB_DAT",
 1.42286 -+  "BFD_RELOC_MN10300_JMP_SLOT",
 1.42287 -+  "BFD_RELOC_MN10300_RELATIVE",
 1.42288 -+
 1.42289 -+  "BFD_RELOC_386_GOT32",
 1.42290 -+  "BFD_RELOC_386_PLT32",
 1.42291 -+  "BFD_RELOC_386_COPY",
 1.42292 -+  "BFD_RELOC_386_GLOB_DAT",
 1.42293 -+  "BFD_RELOC_386_JUMP_SLOT",
 1.42294 -+  "BFD_RELOC_386_RELATIVE",
 1.42295 -+  "BFD_RELOC_386_GOTOFF",
 1.42296 -+  "BFD_RELOC_386_GOTPC",
 1.42297 -+  "BFD_RELOC_386_TLS_TPOFF",
 1.42298 -+  "BFD_RELOC_386_TLS_IE",
 1.42299 -+  "BFD_RELOC_386_TLS_GOTIE",
 1.42300 -+  "BFD_RELOC_386_TLS_LE",
 1.42301 -+  "BFD_RELOC_386_TLS_GD",
 1.42302 -+  "BFD_RELOC_386_TLS_LDM",
 1.42303 -+  "BFD_RELOC_386_TLS_LDO_32",
 1.42304 -+  "BFD_RELOC_386_TLS_IE_32",
 1.42305 -+  "BFD_RELOC_386_TLS_LE_32",
 1.42306 -+  "BFD_RELOC_386_TLS_DTPMOD32",
 1.42307 -+  "BFD_RELOC_386_TLS_DTPOFF32",
 1.42308 -+  "BFD_RELOC_386_TLS_TPOFF32",
 1.42309 -+  "BFD_RELOC_386_TLS_GOTDESC",
 1.42310 -+  "BFD_RELOC_386_TLS_DESC_CALL",
 1.42311 -+  "BFD_RELOC_386_TLS_DESC",
 1.42312 -+  "BFD_RELOC_X86_64_GOT32",
 1.42313 -+  "BFD_RELOC_X86_64_PLT32",
 1.42314 -+  "BFD_RELOC_X86_64_COPY",
 1.42315 -+  "BFD_RELOC_X86_64_GLOB_DAT",
 1.42316 -+  "BFD_RELOC_X86_64_JUMP_SLOT",
 1.42317 -+  "BFD_RELOC_X86_64_RELATIVE",
 1.42318 -+  "BFD_RELOC_X86_64_GOTPCREL",
 1.42319 -+  "BFD_RELOC_X86_64_32S",
 1.42320 -+  "BFD_RELOC_X86_64_DTPMOD64",
 1.42321 -+  "BFD_RELOC_X86_64_DTPOFF64",
 1.42322 -+  "BFD_RELOC_X86_64_TPOFF64",
 1.42323 -+  "BFD_RELOC_X86_64_TLSGD",
 1.42324 -+  "BFD_RELOC_X86_64_TLSLD",
 1.42325 -+  "BFD_RELOC_X86_64_DTPOFF32",
 1.42326 -+  "BFD_RELOC_X86_64_GOTTPOFF",
 1.42327 -+  "BFD_RELOC_X86_64_TPOFF32",
 1.42328 -+  "BFD_RELOC_X86_64_GOTOFF64",
 1.42329 -+  "BFD_RELOC_X86_64_GOTPC32",
 1.42330 -+  "BFD_RELOC_X86_64_GOT64",
 1.42331 -+  "BFD_RELOC_X86_64_GOTPCREL64",
 1.42332 -+  "BFD_RELOC_X86_64_GOTPC64",
 1.42333 -+  "BFD_RELOC_X86_64_GOTPLT64",
 1.42334 -+  "BFD_RELOC_X86_64_PLTOFF64",
 1.42335 -+  "BFD_RELOC_X86_64_GOTPC32_TLSDESC",
 1.42336 -+  "BFD_RELOC_X86_64_TLSDESC_CALL",
 1.42337 -+  "BFD_RELOC_X86_64_TLSDESC",
 1.42338 -+  "BFD_RELOC_NS32K_IMM_8",
 1.42339 -+  "BFD_RELOC_NS32K_IMM_16",
 1.42340 -+  "BFD_RELOC_NS32K_IMM_32",
 1.42341 -+  "BFD_RELOC_NS32K_IMM_8_PCREL",
 1.42342 -+  "BFD_RELOC_NS32K_IMM_16_PCREL",
 1.42343 -+  "BFD_RELOC_NS32K_IMM_32_PCREL",
 1.42344 -+  "BFD_RELOC_NS32K_DISP_8",
 1.42345 -+  "BFD_RELOC_NS32K_DISP_16",
 1.42346 -+  "BFD_RELOC_NS32K_DISP_32",
 1.42347 -+  "BFD_RELOC_NS32K_DISP_8_PCREL",
 1.42348 -+  "BFD_RELOC_NS32K_DISP_16_PCREL",
 1.42349 -+  "BFD_RELOC_NS32K_DISP_32_PCREL",
 1.42350 -+  "BFD_RELOC_PDP11_DISP_8_PCREL",
 1.42351 -+  "BFD_RELOC_PDP11_DISP_6_PCREL",
 1.42352 -+  "BFD_RELOC_PJ_CODE_HI16",
 1.42353 -+  "BFD_RELOC_PJ_CODE_LO16",
 1.42354 -+  "BFD_RELOC_PJ_CODE_DIR16",
 1.42355 -+  "BFD_RELOC_PJ_CODE_DIR32",
 1.42356 -+  "BFD_RELOC_PJ_CODE_REL16",
 1.42357 -+  "BFD_RELOC_PJ_CODE_REL32",
 1.42358 -+  "BFD_RELOC_PPC_B26",
 1.42359 -+  "BFD_RELOC_PPC_BA26",
 1.42360 -+  "BFD_RELOC_PPC_TOC16",
 1.42361 -+  "BFD_RELOC_PPC_B16",
 1.42362 -+  "BFD_RELOC_PPC_B16_BRTAKEN",
 1.42363 -+  "BFD_RELOC_PPC_B16_BRNTAKEN",
 1.42364 -+  "BFD_RELOC_PPC_BA16",
 1.42365 -+  "BFD_RELOC_PPC_BA16_BRTAKEN",
 1.42366 -+  "BFD_RELOC_PPC_BA16_BRNTAKEN",
 1.42367 -+  "BFD_RELOC_PPC_COPY",
 1.42368 -+  "BFD_RELOC_PPC_GLOB_DAT",
 1.42369 -+  "BFD_RELOC_PPC_JMP_SLOT",
 1.42370 -+  "BFD_RELOC_PPC_RELATIVE",
 1.42371 -+  "BFD_RELOC_PPC_LOCAL24PC",
 1.42372 -+  "BFD_RELOC_PPC_EMB_NADDR32",
 1.42373 -+  "BFD_RELOC_PPC_EMB_NADDR16",
 1.42374 -+  "BFD_RELOC_PPC_EMB_NADDR16_LO",
 1.42375 -+  "BFD_RELOC_PPC_EMB_NADDR16_HI",
 1.42376 -+  "BFD_RELOC_PPC_EMB_NADDR16_HA",
 1.42377 -+  "BFD_RELOC_PPC_EMB_SDAI16",
 1.42378 -+  "BFD_RELOC_PPC_EMB_SDA2I16",
 1.42379 -+  "BFD_RELOC_PPC_EMB_SDA2REL",
 1.42380 -+  "BFD_RELOC_PPC_EMB_SDA21",
 1.42381 -+  "BFD_RELOC_PPC_EMB_MRKREF",
 1.42382 -+  "BFD_RELOC_PPC_EMB_RELSEC16",
 1.42383 -+  "BFD_RELOC_PPC_EMB_RELST_LO",
 1.42384 -+  "BFD_RELOC_PPC_EMB_RELST_HI",
 1.42385 -+  "BFD_RELOC_PPC_EMB_RELST_HA",
 1.42386 -+  "BFD_RELOC_PPC_EMB_BIT_FLD",
 1.42387 -+  "BFD_RELOC_PPC_EMB_RELSDA",
 1.42388 -+  "BFD_RELOC_PPC64_HIGHER",
 1.42389 -+  "BFD_RELOC_PPC64_HIGHER_S",
 1.42390 -+  "BFD_RELOC_PPC64_HIGHEST",
 1.42391 -+  "BFD_RELOC_PPC64_HIGHEST_S",
 1.42392 -+  "BFD_RELOC_PPC64_TOC16_LO",
 1.42393 -+  "BFD_RELOC_PPC64_TOC16_HI",
 1.42394 -+  "BFD_RELOC_PPC64_TOC16_HA",
 1.42395 -+  "BFD_RELOC_PPC64_TOC",
 1.42396 -+  "BFD_RELOC_PPC64_PLTGOT16",
 1.42397 -+  "BFD_RELOC_PPC64_PLTGOT16_LO",
 1.42398 -+  "BFD_RELOC_PPC64_PLTGOT16_HI",
 1.42399 -+  "BFD_RELOC_PPC64_PLTGOT16_HA",
 1.42400 -+  "BFD_RELOC_PPC64_ADDR16_DS",
 1.42401 -+  "BFD_RELOC_PPC64_ADDR16_LO_DS",
 1.42402 -+  "BFD_RELOC_PPC64_GOT16_DS",
 1.42403 -+  "BFD_RELOC_PPC64_GOT16_LO_DS",
 1.42404 -+  "BFD_RELOC_PPC64_PLT16_LO_DS",
 1.42405 -+  "BFD_RELOC_PPC64_SECTOFF_DS",
 1.42406 -+  "BFD_RELOC_PPC64_SECTOFF_LO_DS",
 1.42407 -+  "BFD_RELOC_PPC64_TOC16_DS",
 1.42408 -+  "BFD_RELOC_PPC64_TOC16_LO_DS",
 1.42409 -+  "BFD_RELOC_PPC64_PLTGOT16_DS",
 1.42410 -+  "BFD_RELOC_PPC64_PLTGOT16_LO_DS",
 1.42411 -+  "BFD_RELOC_PPC_TLS",
 1.42412 -+  "BFD_RELOC_PPC_DTPMOD",
 1.42413 -+  "BFD_RELOC_PPC_TPREL16",
 1.42414 -+  "BFD_RELOC_PPC_TPREL16_LO",
 1.42415 -+  "BFD_RELOC_PPC_TPREL16_HI",
 1.42416 -+  "BFD_RELOC_PPC_TPREL16_HA",
 1.42417 -+  "BFD_RELOC_PPC_TPREL",
 1.42418 -+  "BFD_RELOC_PPC_DTPREL16",
 1.42419 -+  "BFD_RELOC_PPC_DTPREL16_LO",
 1.42420 -+  "BFD_RELOC_PPC_DTPREL16_HI",
 1.42421 -+  "BFD_RELOC_PPC_DTPREL16_HA",
 1.42422 -+  "BFD_RELOC_PPC_DTPREL",
 1.42423 -+  "BFD_RELOC_PPC_GOT_TLSGD16",
 1.42424 -+  "BFD_RELOC_PPC_GOT_TLSGD16_LO",
 1.42425 -+  "BFD_RELOC_PPC_GOT_TLSGD16_HI",
 1.42426 -+  "BFD_RELOC_PPC_GOT_TLSGD16_HA",
 1.42427 -+  "BFD_RELOC_PPC_GOT_TLSLD16",
 1.42428 -+  "BFD_RELOC_PPC_GOT_TLSLD16_LO",
 1.42429 -+  "BFD_RELOC_PPC_GOT_TLSLD16_HI",
 1.42430 -+  "BFD_RELOC_PPC_GOT_TLSLD16_HA",
 1.42431 -+  "BFD_RELOC_PPC_GOT_TPREL16",
 1.42432 -+  "BFD_RELOC_PPC_GOT_TPREL16_LO",
 1.42433 -+  "BFD_RELOC_PPC_GOT_TPREL16_HI",
 1.42434 -+  "BFD_RELOC_PPC_GOT_TPREL16_HA",
 1.42435 -+  "BFD_RELOC_PPC_GOT_DTPREL16",
 1.42436 -+  "BFD_RELOC_PPC_GOT_DTPREL16_LO",
 1.42437 -+  "BFD_RELOC_PPC_GOT_DTPREL16_HI",
 1.42438 -+  "BFD_RELOC_PPC_GOT_DTPREL16_HA",
 1.42439 -+  "BFD_RELOC_PPC64_TPREL16_DS",
 1.42440 -+  "BFD_RELOC_PPC64_TPREL16_LO_DS",
 1.42441 -+  "BFD_RELOC_PPC64_TPREL16_HIGHER",
 1.42442 -+  "BFD_RELOC_PPC64_TPREL16_HIGHERA",
 1.42443 -+  "BFD_RELOC_PPC64_TPREL16_HIGHEST",
 1.42444 -+  "BFD_RELOC_PPC64_TPREL16_HIGHESTA",
 1.42445 -+  "BFD_RELOC_PPC64_DTPREL16_DS",
 1.42446 -+  "BFD_RELOC_PPC64_DTPREL16_LO_DS",
 1.42447 -+  "BFD_RELOC_PPC64_DTPREL16_HIGHER",
 1.42448 -+  "BFD_RELOC_PPC64_DTPREL16_HIGHERA",
 1.42449 -+  "BFD_RELOC_PPC64_DTPREL16_HIGHEST",
 1.42450 -+  "BFD_RELOC_PPC64_DTPREL16_HIGHESTA",
 1.42451 -+  "BFD_RELOC_I370_D12",
 1.42452 -+  "BFD_RELOC_CTOR",
 1.42453 -+  "BFD_RELOC_ARM_PCREL_BRANCH",
 1.42454 -+  "BFD_RELOC_ARM_PCREL_BLX",
 1.42455 -+  "BFD_RELOC_THUMB_PCREL_BLX",
 1.42456 -+  "BFD_RELOC_ARM_PCREL_CALL",
 1.42457 -+  "BFD_RELOC_ARM_PCREL_JUMP",
 1.42458 -+  "BFD_RELOC_THUMB_PCREL_BRANCH7",
 1.42459 -+  "BFD_RELOC_THUMB_PCREL_BRANCH9",
 1.42460 -+  "BFD_RELOC_THUMB_PCREL_BRANCH12",
 1.42461 -+  "BFD_RELOC_THUMB_PCREL_BRANCH20",
 1.42462 -+  "BFD_RELOC_THUMB_PCREL_BRANCH23",
 1.42463 -+  "BFD_RELOC_THUMB_PCREL_BRANCH25",
 1.42464 -+  "BFD_RELOC_ARM_OFFSET_IMM",
 1.42465 -+  "BFD_RELOC_ARM_THUMB_OFFSET",
 1.42466 -+  "BFD_RELOC_ARM_TARGET1",
 1.42467 -+  "BFD_RELOC_ARM_ROSEGREL32",
 1.42468 -+  "BFD_RELOC_ARM_SBREL32",
 1.42469 -+  "BFD_RELOC_ARM_TARGET2",
 1.42470 -+  "BFD_RELOC_ARM_PREL31",
 1.42471 -+  "BFD_RELOC_ARM_MOVW",
 1.42472 -+  "BFD_RELOC_ARM_MOVT",
 1.42473 -+  "BFD_RELOC_ARM_MOVW_PCREL",
 1.42474 -+  "BFD_RELOC_ARM_MOVT_PCREL",
 1.42475 -+  "BFD_RELOC_ARM_THUMB_MOVW",
 1.42476 -+  "BFD_RELOC_ARM_THUMB_MOVT",
 1.42477 -+  "BFD_RELOC_ARM_THUMB_MOVW_PCREL",
 1.42478 -+  "BFD_RELOC_ARM_THUMB_MOVT_PCREL",
 1.42479 -+  "BFD_RELOC_ARM_JUMP_SLOT",
 1.42480 -+  "BFD_RELOC_ARM_GLOB_DAT",
 1.42481 -+  "BFD_RELOC_ARM_GOT32",
 1.42482 -+  "BFD_RELOC_ARM_PLT32",
 1.42483 -+  "BFD_RELOC_ARM_RELATIVE",
 1.42484 -+  "BFD_RELOC_ARM_GOTOFF",
 1.42485 -+  "BFD_RELOC_ARM_GOTPC",
 1.42486 -+  "BFD_RELOC_ARM_TLS_GD32",
 1.42487 -+  "BFD_RELOC_ARM_TLS_LDO32",
 1.42488 -+  "BFD_RELOC_ARM_TLS_LDM32",
 1.42489 -+  "BFD_RELOC_ARM_TLS_DTPOFF32",
 1.42490 -+  "BFD_RELOC_ARM_TLS_DTPMOD32",
 1.42491 -+  "BFD_RELOC_ARM_TLS_TPOFF32",
 1.42492 -+  "BFD_RELOC_ARM_TLS_IE32",
 1.42493 -+  "BFD_RELOC_ARM_TLS_LE32",
 1.42494 -+  "BFD_RELOC_ARM_ALU_PC_G0_NC",
 1.42495 -+  "BFD_RELOC_ARM_ALU_PC_G0",
 1.42496 -+  "BFD_RELOC_ARM_ALU_PC_G1_NC",
 1.42497 -+  "BFD_RELOC_ARM_ALU_PC_G1",
 1.42498 -+  "BFD_RELOC_ARM_ALU_PC_G2",
 1.42499 -+  "BFD_RELOC_ARM_LDR_PC_G0",
 1.42500 -+  "BFD_RELOC_ARM_LDR_PC_G1",
 1.42501 -+  "BFD_RELOC_ARM_LDR_PC_G2",
 1.42502 -+  "BFD_RELOC_ARM_LDRS_PC_G0",
 1.42503 -+  "BFD_RELOC_ARM_LDRS_PC_G1",
 1.42504 -+  "BFD_RELOC_ARM_LDRS_PC_G2",
 1.42505 -+  "BFD_RELOC_ARM_LDC_PC_G0",
 1.42506 -+  "BFD_RELOC_ARM_LDC_PC_G1",
 1.42507 -+  "BFD_RELOC_ARM_LDC_PC_G2",
 1.42508 -+  "BFD_RELOC_ARM_ALU_SB_G0_NC",
 1.42509 -+  "BFD_RELOC_ARM_ALU_SB_G0",
 1.42510 -+  "BFD_RELOC_ARM_ALU_SB_G1_NC",
 1.42511 -+  "BFD_RELOC_ARM_ALU_SB_G1",
 1.42512 -+  "BFD_RELOC_ARM_ALU_SB_G2",
 1.42513 -+  "BFD_RELOC_ARM_LDR_SB_G0",
 1.42514 -+  "BFD_RELOC_ARM_LDR_SB_G1",
 1.42515 -+  "BFD_RELOC_ARM_LDR_SB_G2",
 1.42516 -+  "BFD_RELOC_ARM_LDRS_SB_G0",
 1.42517 -+  "BFD_RELOC_ARM_LDRS_SB_G1",
 1.42518 -+  "BFD_RELOC_ARM_LDRS_SB_G2",
 1.42519 -+  "BFD_RELOC_ARM_LDC_SB_G0",
 1.42520 -+  "BFD_RELOC_ARM_LDC_SB_G1",
 1.42521 -+  "BFD_RELOC_ARM_LDC_SB_G2",
 1.42522 -+  "BFD_RELOC_ARM_IMMEDIATE",
 1.42523 -+  "BFD_RELOC_ARM_ADRL_IMMEDIATE",
 1.42524 -+  "BFD_RELOC_ARM_T32_IMMEDIATE",
 1.42525 -+  "BFD_RELOC_ARM_T32_ADD_IMM",
 1.42526 -+  "BFD_RELOC_ARM_T32_IMM12",
 1.42527 -+  "BFD_RELOC_ARM_T32_ADD_PC12",
 1.42528 -+  "BFD_RELOC_ARM_SHIFT_IMM",
 1.42529 -+  "BFD_RELOC_ARM_SMC",
 1.42530 -+  "BFD_RELOC_ARM_SWI",
 1.42531 -+  "BFD_RELOC_ARM_MULTI",
 1.42532 -+  "BFD_RELOC_ARM_CP_OFF_IMM",
 1.42533 -+  "BFD_RELOC_ARM_CP_OFF_IMM_S2",
 1.42534 -+  "BFD_RELOC_ARM_T32_CP_OFF_IMM",
 1.42535 -+  "BFD_RELOC_ARM_T32_CP_OFF_IMM_S2",
 1.42536 -+  "BFD_RELOC_ARM_ADR_IMM",
 1.42537 -+  "BFD_RELOC_ARM_LDR_IMM",
 1.42538 -+  "BFD_RELOC_ARM_LITERAL",
 1.42539 -+  "BFD_RELOC_ARM_IN_POOL",
 1.42540 -+  "BFD_RELOC_ARM_OFFSET_IMM8",
 1.42541 -+  "BFD_RELOC_ARM_T32_OFFSET_U8",
 1.42542 -+  "BFD_RELOC_ARM_T32_OFFSET_IMM",
 1.42543 -+  "BFD_RELOC_ARM_HWLITERAL",
 1.42544 -+  "BFD_RELOC_ARM_THUMB_ADD",
 1.42545 -+  "BFD_RELOC_ARM_THUMB_IMM",
 1.42546 -+  "BFD_RELOC_ARM_THUMB_SHIFT",
 1.42547 -+  "BFD_RELOC_SH_PCDISP8BY2",
 1.42548 -+  "BFD_RELOC_SH_PCDISP12BY2",
 1.42549 -+  "BFD_RELOC_SH_IMM3",
 1.42550 -+  "BFD_RELOC_SH_IMM3U",
 1.42551 -+  "BFD_RELOC_SH_DISP12",
 1.42552 -+  "BFD_RELOC_SH_DISP12BY2",
 1.42553 -+  "BFD_RELOC_SH_DISP12BY4",
 1.42554 -+  "BFD_RELOC_SH_DISP12BY8",
 1.42555 -+  "BFD_RELOC_SH_DISP20",
 1.42556 -+  "BFD_RELOC_SH_DISP20BY8",
 1.42557 -+  "BFD_RELOC_SH_IMM4",
 1.42558 -+  "BFD_RELOC_SH_IMM4BY2",
 1.42559 -+  "BFD_RELOC_SH_IMM4BY4",
 1.42560 -+  "BFD_RELOC_SH_IMM8",
 1.42561 -+  "BFD_RELOC_SH_IMM8BY2",
 1.42562 -+  "BFD_RELOC_SH_IMM8BY4",
 1.42563 -+  "BFD_RELOC_SH_PCRELIMM8BY2",
 1.42564 -+  "BFD_RELOC_SH_PCRELIMM8BY4",
 1.42565 -+  "BFD_RELOC_SH_SWITCH16",
 1.42566 -+  "BFD_RELOC_SH_SWITCH32",
 1.42567 -+  "BFD_RELOC_SH_USES",
 1.42568 -+  "BFD_RELOC_SH_COUNT",
 1.42569 -+  "BFD_RELOC_SH_ALIGN",
 1.42570 -+  "BFD_RELOC_SH_CODE",
 1.42571 -+  "BFD_RELOC_SH_DATA",
 1.42572 -+  "BFD_RELOC_SH_LABEL",
 1.42573 -+  "BFD_RELOC_SH_LOOP_START",
 1.42574 -+  "BFD_RELOC_SH_LOOP_END",
 1.42575 -+  "BFD_RELOC_SH_COPY",
 1.42576 -+  "BFD_RELOC_SH_GLOB_DAT",
 1.42577 -+  "BFD_RELOC_SH_JMP_SLOT",
 1.42578 -+  "BFD_RELOC_SH_RELATIVE",
 1.42579 -+  "BFD_RELOC_SH_GOTPC",
 1.42580 -+  "BFD_RELOC_SH_GOT_LOW16",
 1.42581 -+  "BFD_RELOC_SH_GOT_MEDLOW16",
 1.42582 -+  "BFD_RELOC_SH_GOT_MEDHI16",
 1.42583 -+  "BFD_RELOC_SH_GOT_HI16",
 1.42584 -+  "BFD_RELOC_SH_GOTPLT_LOW16",
 1.42585 -+  "BFD_RELOC_SH_GOTPLT_MEDLOW16",
 1.42586 -+  "BFD_RELOC_SH_GOTPLT_MEDHI16",
 1.42587 -+  "BFD_RELOC_SH_GOTPLT_HI16",
 1.42588 -+  "BFD_RELOC_SH_PLT_LOW16",
 1.42589 -+  "BFD_RELOC_SH_PLT_MEDLOW16",
 1.42590 -+  "BFD_RELOC_SH_PLT_MEDHI16",
 1.42591 -+  "BFD_RELOC_SH_PLT_HI16",
 1.42592 -+  "BFD_RELOC_SH_GOTOFF_LOW16",
 1.42593 -+  "BFD_RELOC_SH_GOTOFF_MEDLOW16",
 1.42594 -+  "BFD_RELOC_SH_GOTOFF_MEDHI16",
 1.42595 -+  "BFD_RELOC_SH_GOTOFF_HI16",
 1.42596 -+  "BFD_RELOC_SH_GOTPC_LOW16",
 1.42597 -+  "BFD_RELOC_SH_GOTPC_MEDLOW16",
 1.42598 -+  "BFD_RELOC_SH_GOTPC_MEDHI16",
 1.42599 -+  "BFD_RELOC_SH_GOTPC_HI16",
 1.42600 -+  "BFD_RELOC_SH_COPY64",
 1.42601 -+  "BFD_RELOC_SH_GLOB_DAT64",
 1.42602 -+  "BFD_RELOC_SH_JMP_SLOT64",
 1.42603 -+  "BFD_RELOC_SH_RELATIVE64",
 1.42604 -+  "BFD_RELOC_SH_GOT10BY4",
 1.42605 -+  "BFD_RELOC_SH_GOT10BY8",
 1.42606 -+  "BFD_RELOC_SH_GOTPLT10BY4",
 1.42607 -+  "BFD_RELOC_SH_GOTPLT10BY8",
 1.42608 -+  "BFD_RELOC_SH_GOTPLT32",
 1.42609 -+  "BFD_RELOC_SH_SHMEDIA_CODE",
 1.42610 -+  "BFD_RELOC_SH_IMMU5",
 1.42611 -+  "BFD_RELOC_SH_IMMS6",
 1.42612 -+  "BFD_RELOC_SH_IMMS6BY32",
 1.42613 -+  "BFD_RELOC_SH_IMMU6",
 1.42614 -+  "BFD_RELOC_SH_IMMS10",
 1.42615 -+  "BFD_RELOC_SH_IMMS10BY2",
 1.42616 -+  "BFD_RELOC_SH_IMMS10BY4",
 1.42617 -+  "BFD_RELOC_SH_IMMS10BY8",
 1.42618 -+  "BFD_RELOC_SH_IMMS16",
 1.42619 -+  "BFD_RELOC_SH_IMMU16",
 1.42620 -+  "BFD_RELOC_SH_IMM_LOW16",
 1.42621 -+  "BFD_RELOC_SH_IMM_LOW16_PCREL",
 1.42622 -+  "BFD_RELOC_SH_IMM_MEDLOW16",
 1.42623 -+  "BFD_RELOC_SH_IMM_MEDLOW16_PCREL",
 1.42624 -+  "BFD_RELOC_SH_IMM_MEDHI16",
 1.42625 -+  "BFD_RELOC_SH_IMM_MEDHI16_PCREL",
 1.42626 -+  "BFD_RELOC_SH_IMM_HI16",
 1.42627 -+  "BFD_RELOC_SH_IMM_HI16_PCREL",
 1.42628 -+  "BFD_RELOC_SH_PT_16",
 1.42629 -+  "BFD_RELOC_SH_TLS_GD_32",
 1.42630 -+  "BFD_RELOC_SH_TLS_LD_32",
 1.42631 -+  "BFD_RELOC_SH_TLS_LDO_32",
 1.42632 -+  "BFD_RELOC_SH_TLS_IE_32",
 1.42633 -+  "BFD_RELOC_SH_TLS_LE_32",
 1.42634 -+  "BFD_RELOC_SH_TLS_DTPMOD32",
 1.42635 -+  "BFD_RELOC_SH_TLS_DTPOFF32",
 1.42636 -+  "BFD_RELOC_SH_TLS_TPOFF32",
 1.42637 -+  "BFD_RELOC_ARC_B22_PCREL",
 1.42638 -+  "BFD_RELOC_ARC_B26",
 1.42639 -+  "BFD_RELOC_BFIN_16_IMM",
 1.42640 -+  "BFD_RELOC_BFIN_16_HIGH",
 1.42641 -+  "BFD_RELOC_BFIN_4_PCREL",
 1.42642 -+  "BFD_RELOC_BFIN_5_PCREL",
 1.42643 -+  "BFD_RELOC_BFIN_16_LOW",
 1.42644 -+  "BFD_RELOC_BFIN_10_PCREL",
 1.42645 -+  "BFD_RELOC_BFIN_11_PCREL",
 1.42646 -+  "BFD_RELOC_BFIN_12_PCREL_JUMP",
 1.42647 -+  "BFD_RELOC_BFIN_12_PCREL_JUMP_S",
 1.42648 -+  "BFD_RELOC_BFIN_24_PCREL_CALL_X",
 1.42649 -+  "BFD_RELOC_BFIN_24_PCREL_JUMP_L",
 1.42650 -+  "BFD_RELOC_BFIN_GOT17M4",
 1.42651 -+  "BFD_RELOC_BFIN_GOTHI",
 1.42652 -+  "BFD_RELOC_BFIN_GOTLO",
 1.42653 -+  "BFD_RELOC_BFIN_FUNCDESC",
 1.42654 -+  "BFD_RELOC_BFIN_FUNCDESC_GOT17M4",
 1.42655 -+  "BFD_RELOC_BFIN_FUNCDESC_GOTHI",
 1.42656 -+  "BFD_RELOC_BFIN_FUNCDESC_GOTLO",
 1.42657 -+  "BFD_RELOC_BFIN_FUNCDESC_VALUE",
 1.42658 -+  "BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4",
 1.42659 -+  "BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI",
 1.42660 -+  "BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO",
 1.42661 -+  "BFD_RELOC_BFIN_GOTOFF17M4",
 1.42662 -+  "BFD_RELOC_BFIN_GOTOFFHI",
 1.42663 -+  "BFD_RELOC_BFIN_GOTOFFLO",
 1.42664 -+  "BFD_RELOC_BFIN_GOT",
 1.42665 -+  "BFD_RELOC_BFIN_PLTPC",
 1.42666 -+  "BFD_ARELOC_BFIN_PUSH",
 1.42667 -+  "BFD_ARELOC_BFIN_CONST",
 1.42668 -+  "BFD_ARELOC_BFIN_ADD",
 1.42669 -+  "BFD_ARELOC_BFIN_SUB",
 1.42670 -+  "BFD_ARELOC_BFIN_MULT",
 1.42671 -+  "BFD_ARELOC_BFIN_DIV",
 1.42672 -+  "BFD_ARELOC_BFIN_MOD",
 1.42673 -+  "BFD_ARELOC_BFIN_LSHIFT",
 1.42674 -+  "BFD_ARELOC_BFIN_RSHIFT",
 1.42675 -+  "BFD_ARELOC_BFIN_AND",
 1.42676 -+  "BFD_ARELOC_BFIN_OR",
 1.42677 -+  "BFD_ARELOC_BFIN_XOR",
 1.42678 -+  "BFD_ARELOC_BFIN_LAND",
 1.42679 -+  "BFD_ARELOC_BFIN_LOR",
 1.42680 -+  "BFD_ARELOC_BFIN_LEN",
 1.42681 -+  "BFD_ARELOC_BFIN_NEG",
 1.42682 -+  "BFD_ARELOC_BFIN_COMP",
 1.42683 -+  "BFD_ARELOC_BFIN_PAGE",
 1.42684 -+  "BFD_ARELOC_BFIN_HWPAGE",
 1.42685 -+  "BFD_ARELOC_BFIN_ADDR",
 1.42686 -+  "BFD_RELOC_D10V_10_PCREL_R",
 1.42687 -+  "BFD_RELOC_D10V_10_PCREL_L",
 1.42688 -+  "BFD_RELOC_D10V_18",
 1.42689 -+  "BFD_RELOC_D10V_18_PCREL",
 1.42690 -+  "BFD_RELOC_D30V_6",
 1.42691 -+  "BFD_RELOC_D30V_9_PCREL",
 1.42692 -+  "BFD_RELOC_D30V_9_PCREL_R",
 1.42693 -+  "BFD_RELOC_D30V_15",
 1.42694 -+  "BFD_RELOC_D30V_15_PCREL",
 1.42695 -+  "BFD_RELOC_D30V_15_PCREL_R",
 1.42696 -+  "BFD_RELOC_D30V_21",
 1.42697 -+  "BFD_RELOC_D30V_21_PCREL",
 1.42698 -+  "BFD_RELOC_D30V_21_PCREL_R",
 1.42699 -+  "BFD_RELOC_D30V_32",
 1.42700 -+  "BFD_RELOC_D30V_32_PCREL",
 1.42701 -+  "BFD_RELOC_DLX_HI16_S",
 1.42702 -+  "BFD_RELOC_DLX_LO16",
 1.42703 -+  "BFD_RELOC_DLX_JMP26",
 1.42704 -+  "BFD_RELOC_M32C_HI8",
 1.42705 -+  "BFD_RELOC_M32C_RL_JUMP",
 1.42706 -+  "BFD_RELOC_M32C_RL_1ADDR",
 1.42707 -+  "BFD_RELOC_M32C_RL_2ADDR",
 1.42708 -+  "BFD_RELOC_M32R_24",
 1.42709 -+  "BFD_RELOC_M32R_10_PCREL",
 1.42710 -+  "BFD_RELOC_M32R_18_PCREL",
 1.42711 -+  "BFD_RELOC_M32R_26_PCREL",
 1.42712 -+  "BFD_RELOC_M32R_HI16_ULO",
 1.42713 -+  "BFD_RELOC_M32R_HI16_SLO",
 1.42714 -+  "BFD_RELOC_M32R_LO16",
 1.42715 -+  "BFD_RELOC_M32R_SDA16",
 1.42716 -+  "BFD_RELOC_M32R_GOT24",
 1.42717 -+  "BFD_RELOC_M32R_26_PLTREL",
 1.42718 -+  "BFD_RELOC_M32R_COPY",
 1.42719 -+  "BFD_RELOC_M32R_GLOB_DAT",
 1.42720 -+  "BFD_RELOC_M32R_JMP_SLOT",
 1.42721 -+  "BFD_RELOC_M32R_RELATIVE",
 1.42722 -+  "BFD_RELOC_M32R_GOTOFF",
 1.42723 -+  "BFD_RELOC_M32R_GOTOFF_HI_ULO",
 1.42724 -+  "BFD_RELOC_M32R_GOTOFF_HI_SLO",
 1.42725 -+  "BFD_RELOC_M32R_GOTOFF_LO",
 1.42726 -+  "BFD_RELOC_M32R_GOTPC24",
 1.42727 -+  "BFD_RELOC_M32R_GOT16_HI_ULO",
 1.42728 -+  "BFD_RELOC_M32R_GOT16_HI_SLO",
 1.42729 -+  "BFD_RELOC_M32R_GOT16_LO",
 1.42730 -+  "BFD_RELOC_M32R_GOTPC_HI_ULO",
 1.42731 -+  "BFD_RELOC_M32R_GOTPC_HI_SLO",
 1.42732 -+  "BFD_RELOC_M32R_GOTPC_LO",
 1.42733 -+  "BFD_RELOC_V850_9_PCREL",
 1.42734 -+  "BFD_RELOC_V850_22_PCREL",
 1.42735 -+  "BFD_RELOC_V850_SDA_16_16_OFFSET",
 1.42736 -+  "BFD_RELOC_V850_SDA_15_16_OFFSET",
 1.42737 -+  "BFD_RELOC_V850_ZDA_16_16_OFFSET",
 1.42738 -+  "BFD_RELOC_V850_ZDA_15_16_OFFSET",
 1.42739 -+  "BFD_RELOC_V850_TDA_6_8_OFFSET",
 1.42740 -+  "BFD_RELOC_V850_TDA_7_8_OFFSET",
 1.42741 -+  "BFD_RELOC_V850_TDA_7_7_OFFSET",
 1.42742 -+  "BFD_RELOC_V850_TDA_16_16_OFFSET",
 1.42743 -+  "BFD_RELOC_V850_TDA_4_5_OFFSET",
 1.42744 -+  "BFD_RELOC_V850_TDA_4_4_OFFSET",
 1.42745 -+  "BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET",
 1.42746 -+  "BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET",
 1.42747 -+  "BFD_RELOC_V850_CALLT_6_7_OFFSET",
 1.42748 -+  "BFD_RELOC_V850_CALLT_16_16_OFFSET",
 1.42749 -+  "BFD_RELOC_V850_LONGCALL",
 1.42750 -+  "BFD_RELOC_V850_LONGJUMP",
 1.42751 -+  "BFD_RELOC_V850_ALIGN",
 1.42752 -+  "BFD_RELOC_V850_LO16_SPLIT_OFFSET",
 1.42753 -+  "BFD_RELOC_MN10300_32_PCREL",
 1.42754 -+  "BFD_RELOC_MN10300_16_PCREL",
 1.42755 -+  "BFD_RELOC_TIC30_LDP",
 1.42756 -+  "BFD_RELOC_TIC54X_PARTLS7",
 1.42757 -+  "BFD_RELOC_TIC54X_PARTMS9",
 1.42758 -+  "BFD_RELOC_TIC54X_23",
 1.42759 -+  "BFD_RELOC_TIC54X_16_OF_23",
 1.42760 -+  "BFD_RELOC_TIC54X_MS7_OF_23",
 1.42761 -+  "BFD_RELOC_FR30_48",
 1.42762 -+  "BFD_RELOC_FR30_20",
 1.42763 -+  "BFD_RELOC_FR30_6_IN_4",
 1.42764 -+  "BFD_RELOC_FR30_8_IN_8",
 1.42765 -+  "BFD_RELOC_FR30_9_IN_8",
 1.42766 -+  "BFD_RELOC_FR30_10_IN_8",
 1.42767 -+  "BFD_RELOC_FR30_9_PCREL",
 1.42768 -+  "BFD_RELOC_FR30_12_PCREL",
 1.42769 -+  "BFD_RELOC_MCORE_PCREL_IMM8BY4",
 1.42770 -+  "BFD_RELOC_MCORE_PCREL_IMM11BY2",
 1.42771 -+  "BFD_RELOC_MCORE_PCREL_IMM4BY2",
 1.42772 -+  "BFD_RELOC_MCORE_PCREL_32",
 1.42773 -+  "BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2",
 1.42774 -+  "BFD_RELOC_MCORE_RVA",
 1.42775 -+  "BFD_RELOC_MEP_8",
 1.42776 -+  "BFD_RELOC_MEP_16",
 1.42777 -+  "BFD_RELOC_MEP_32",
 1.42778 -+  "BFD_RELOC_MEP_PCREL8A2",
 1.42779 -+  "BFD_RELOC_MEP_PCREL12A2",
 1.42780 -+  "BFD_RELOC_MEP_PCREL17A2",
 1.42781 -+  "BFD_RELOC_MEP_PCREL24A2",
 1.42782 -+  "BFD_RELOC_MEP_PCABS24A2",
 1.42783 -+  "BFD_RELOC_MEP_LOW16",
 1.42784 -+  "BFD_RELOC_MEP_HI16U",
 1.42785 -+  "BFD_RELOC_MEP_HI16S",
 1.42786 -+  "BFD_RELOC_MEP_GPREL",
 1.42787 -+  "BFD_RELOC_MEP_TPREL",
 1.42788 -+  "BFD_RELOC_MEP_TPREL7",
 1.42789 -+  "BFD_RELOC_MEP_TPREL7A2",
 1.42790 -+  "BFD_RELOC_MEP_TPREL7A4",
 1.42791 -+  "BFD_RELOC_MEP_UIMM24",
 1.42792 -+  "BFD_RELOC_MEP_ADDR24A4",
 1.42793 -+  "BFD_RELOC_MEP_GNU_VTINHERIT",
 1.42794 -+  "BFD_RELOC_MEP_GNU_VTENTRY",
 1.42795 -+
 1.42796 -+  "BFD_RELOC_MMIX_GETA",
 1.42797 -+  "BFD_RELOC_MMIX_GETA_1",
 1.42798 -+  "BFD_RELOC_MMIX_GETA_2",
 1.42799 -+  "BFD_RELOC_MMIX_GETA_3",
 1.42800 -+  "BFD_RELOC_MMIX_CBRANCH",
 1.42801 -+  "BFD_RELOC_MMIX_CBRANCH_J",
 1.42802 -+  "BFD_RELOC_MMIX_CBRANCH_1",
 1.42803 -+  "BFD_RELOC_MMIX_CBRANCH_2",
 1.42804 -+  "BFD_RELOC_MMIX_CBRANCH_3",
 1.42805 -+  "BFD_RELOC_MMIX_PUSHJ",
 1.42806 -+  "BFD_RELOC_MMIX_PUSHJ_1",
 1.42807 -+  "BFD_RELOC_MMIX_PUSHJ_2",
 1.42808 -+  "BFD_RELOC_MMIX_PUSHJ_3",
 1.42809 -+  "BFD_RELOC_MMIX_PUSHJ_STUBBABLE",
 1.42810 -+  "BFD_RELOC_MMIX_JMP",
 1.42811 -+  "BFD_RELOC_MMIX_JMP_1",
 1.42812 -+  "BFD_RELOC_MMIX_JMP_2",
 1.42813 -+  "BFD_RELOC_MMIX_JMP_3",
 1.42814 -+  "BFD_RELOC_MMIX_ADDR19",
 1.42815 -+  "BFD_RELOC_MMIX_ADDR27",
 1.42816 -+  "BFD_RELOC_MMIX_REG_OR_BYTE",
 1.42817 -+  "BFD_RELOC_MMIX_REG",
 1.42818 -+  "BFD_RELOC_MMIX_BASE_PLUS_OFFSET",
 1.42819 -+  "BFD_RELOC_MMIX_LOCAL",
 1.42820 -+  "BFD_RELOC_AVR_7_PCREL",
 1.42821 -+  "BFD_RELOC_AVR_13_PCREL",
 1.42822 -+  "BFD_RELOC_AVR_16_PM",
 1.42823 -+  "BFD_RELOC_AVR_LO8_LDI",
 1.42824 -+  "BFD_RELOC_AVR_HI8_LDI",
 1.42825 -+  "BFD_RELOC_AVR_HH8_LDI",
 1.42826 -+  "BFD_RELOC_AVR_MS8_LDI",
 1.42827 -+  "BFD_RELOC_AVR_LO8_LDI_NEG",
 1.42828 -+  "BFD_RELOC_AVR_HI8_LDI_NEG",
 1.42829 -+  "BFD_RELOC_AVR_HH8_LDI_NEG",
 1.42830 -+  "BFD_RELOC_AVR_MS8_LDI_NEG",
 1.42831 -+  "BFD_RELOC_AVR_LO8_LDI_PM",
 1.42832 -+  "BFD_RELOC_AVR_LO8_LDI_GS",
 1.42833 -+  "BFD_RELOC_AVR_HI8_LDI_PM",
 1.42834 -+  "BFD_RELOC_AVR_HI8_LDI_GS",
 1.42835 -+  "BFD_RELOC_AVR_HH8_LDI_PM",
 1.42836 -+  "BFD_RELOC_AVR_LO8_LDI_PM_NEG",
 1.42837 -+  "BFD_RELOC_AVR_HI8_LDI_PM_NEG",
 1.42838 -+  "BFD_RELOC_AVR_HH8_LDI_PM_NEG",
 1.42839 -+  "BFD_RELOC_AVR_CALL",
 1.42840 -+  "BFD_RELOC_AVR_LDI",
 1.42841 -+  "BFD_RELOC_AVR_6",
 1.42842 -+  "BFD_RELOC_AVR_6_ADIW",
 1.42843 -+  "BFD_RELOC_AVR32_DIFF32",
 1.42844 -+  "BFD_RELOC_AVR32_DIFF16",
 1.42845 -+  "BFD_RELOC_AVR32_DIFF8",
 1.42846 -+  "BFD_RELOC_AVR32_GOT32",
 1.42847 -+  "BFD_RELOC_AVR32_GOT16",
 1.42848 -+  "BFD_RELOC_AVR32_GOT8",
 1.42849 -+  "BFD_RELOC_AVR32_21S",
 1.42850 -+  "BFD_RELOC_AVR32_16U",
 1.42851 -+  "BFD_RELOC_AVR32_16S",
 1.42852 -+  "BFD_RELOC_AVR32_SUB5",
 1.42853 -+  "BFD_RELOC_AVR32_8S_EXT",
 1.42854 -+  "BFD_RELOC_AVR32_8S",
 1.42855 -+  "BFD_RELOC_AVR32_15S",
 1.42856 -+  "BFD_RELOC_AVR32_22H_PCREL",
 1.42857 -+  "BFD_RELOC_AVR32_18W_PCREL",
 1.42858 -+  "BFD_RELOC_AVR32_16B_PCREL",
 1.42859 -+  "BFD_RELOC_AVR32_16N_PCREL",
 1.42860 -+  "BFD_RELOC_AVR32_14UW_PCREL",
 1.42861 -+  "BFD_RELOC_AVR32_11H_PCREL",
 1.42862 -+  "BFD_RELOC_AVR32_10UW_PCREL",
 1.42863 -+  "BFD_RELOC_AVR32_9H_PCREL",
 1.42864 -+  "BFD_RELOC_AVR32_9UW_PCREL",
 1.42865 -+  "BFD_RELOC_AVR32_GOTPC",
 1.42866 -+  "BFD_RELOC_AVR32_GOTCALL",
 1.42867 -+  "BFD_RELOC_AVR32_LDA_GOT",
 1.42868 -+  "BFD_RELOC_AVR32_GOT21S",
 1.42869 -+  "BFD_RELOC_AVR32_GOT18SW",
 1.42870 -+  "BFD_RELOC_AVR32_GOT16S",
 1.42871 -+  "BFD_RELOC_AVR32_32_CPENT",
 1.42872 -+  "BFD_RELOC_AVR32_CPCALL",
 1.42873 -+  "BFD_RELOC_AVR32_16_CP",
 1.42874 -+  "BFD_RELOC_AVR32_9W_CP",
 1.42875 -+  "BFD_RELOC_AVR32_ALIGN",
 1.42876 -+  "BFD_RELOC_AVR32_14UW",
 1.42877 -+  "BFD_RELOC_AVR32_10UW",
 1.42878 -+  "BFD_RELOC_AVR32_10SW",
 1.42879 -+  "BFD_RELOC_AVR32_STHH_W",
 1.42880 -+  "BFD_RELOC_AVR32_7UW",
 1.42881 -+  "BFD_RELOC_AVR32_6S",
 1.42882 -+  "BFD_RELOC_AVR32_6UW",
 1.42883 -+  "BFD_RELOC_AVR32_4UH",
 1.42884 -+  "BFD_RELOC_AVR32_3U",
 1.42885 -+  "BFD_RELOC_390_12",
 1.42886 -+  "BFD_RELOC_390_GOT12",
 1.42887 -+  "BFD_RELOC_390_PLT32",
 1.42888 -+  "BFD_RELOC_390_COPY",
 1.42889 -+  "BFD_RELOC_390_GLOB_DAT",
 1.42890 -+  "BFD_RELOC_390_JMP_SLOT",
 1.42891 -+  "BFD_RELOC_390_RELATIVE",
 1.42892 -+  "BFD_RELOC_390_GOTPC",
 1.42893 -+  "BFD_RELOC_390_GOT16",
 1.42894 -+  "BFD_RELOC_390_PC16DBL",
 1.42895 -+  "BFD_RELOC_390_PLT16DBL",
 1.42896 -+  "BFD_RELOC_390_PC32DBL",
 1.42897 -+  "BFD_RELOC_390_PLT32DBL",
 1.42898 -+  "BFD_RELOC_390_GOTPCDBL",
 1.42899 -+  "BFD_RELOC_390_GOT64",
 1.42900 -+  "BFD_RELOC_390_PLT64",
 1.42901 -+  "BFD_RELOC_390_GOTENT",
 1.42902 -+  "BFD_RELOC_390_GOTOFF64",
 1.42903 -+  "BFD_RELOC_390_GOTPLT12",
 1.42904 -+  "BFD_RELOC_390_GOTPLT16",
 1.42905 -+  "BFD_RELOC_390_GOTPLT32",
 1.42906 -+  "BFD_RELOC_390_GOTPLT64",
 1.42907 -+  "BFD_RELOC_390_GOTPLTENT",
 1.42908 -+  "BFD_RELOC_390_PLTOFF16",
 1.42909 -+  "BFD_RELOC_390_PLTOFF32",
 1.42910 -+  "BFD_RELOC_390_PLTOFF64",
 1.42911 -+  "BFD_RELOC_390_TLS_LOAD",
 1.42912 -+  "BFD_RELOC_390_TLS_GDCALL",
 1.42913 -+  "BFD_RELOC_390_TLS_LDCALL",
 1.42914 -+  "BFD_RELOC_390_TLS_GD32",
 1.42915 -+  "BFD_RELOC_390_TLS_GD64",
 1.42916 -+  "BFD_RELOC_390_TLS_GOTIE12",
 1.42917 -+  "BFD_RELOC_390_TLS_GOTIE32",
 1.42918 -+  "BFD_RELOC_390_TLS_GOTIE64",
 1.42919 -+  "BFD_RELOC_390_TLS_LDM32",
 1.42920 -+  "BFD_RELOC_390_TLS_LDM64",
 1.42921 -+  "BFD_RELOC_390_TLS_IE32",
 1.42922 -+  "BFD_RELOC_390_TLS_IE64",
 1.42923 -+  "BFD_RELOC_390_TLS_IEENT",
 1.42924 -+  "BFD_RELOC_390_TLS_LE32",
 1.42925 -+  "BFD_RELOC_390_TLS_LE64",
 1.42926 -+  "BFD_RELOC_390_TLS_LDO32",
 1.42927 -+  "BFD_RELOC_390_TLS_LDO64",
 1.42928 -+  "BFD_RELOC_390_TLS_DTPMOD",
 1.42929 -+  "BFD_RELOC_390_TLS_DTPOFF",
 1.42930 -+  "BFD_RELOC_390_TLS_TPOFF",
 1.42931 -+  "BFD_RELOC_390_20",
 1.42932 -+  "BFD_RELOC_390_GOT20",
 1.42933 -+  "BFD_RELOC_390_GOTPLT20",
 1.42934 -+  "BFD_RELOC_390_TLS_GOTIE20",
 1.42935 -+  "BFD_RELOC_SCORE_DUMMY1",
 1.42936 -+  "BFD_RELOC_SCORE_GPREL15",
 1.42937 -+  "BFD_RELOC_SCORE_DUMMY2",
 1.42938 -+  "BFD_RELOC_SCORE_JMP",
 1.42939 -+  "BFD_RELOC_SCORE_BRANCH",
 1.42940 -+  "BFD_RELOC_SCORE16_JMP",
 1.42941 -+  "BFD_RELOC_SCORE16_BRANCH",
 1.42942 -+  "BFD_RELOC_SCORE_GOT15",
 1.42943 -+  "BFD_RELOC_SCORE_GOT_LO16",
 1.42944 -+  "BFD_RELOC_SCORE_CALL15",
 1.42945 -+  "BFD_RELOC_SCORE_DUMMY_HI16",
 1.42946 -+  "BFD_RELOC_IP2K_FR9",
 1.42947 -+  "BFD_RELOC_IP2K_BANK",
 1.42948 -+  "BFD_RELOC_IP2K_ADDR16CJP",
 1.42949 -+  "BFD_RELOC_IP2K_PAGE3",
 1.42950 -+  "BFD_RELOC_IP2K_LO8DATA",
 1.42951 -+  "BFD_RELOC_IP2K_HI8DATA",
 1.42952 -+  "BFD_RELOC_IP2K_EX8DATA",
 1.42953 -+  "BFD_RELOC_IP2K_LO8INSN",
 1.42954 -+  "BFD_RELOC_IP2K_HI8INSN",
 1.42955 -+  "BFD_RELOC_IP2K_PC_SKIP",
 1.42956 -+  "BFD_RELOC_IP2K_TEXT",
 1.42957 -+  "BFD_RELOC_IP2K_FR_OFFSET",
 1.42958 -+  "BFD_RELOC_VPE4KMATH_DATA",
 1.42959 -+  "BFD_RELOC_VPE4KMATH_INSN",
 1.42960 -+  "BFD_RELOC_VTABLE_INHERIT",
 1.42961 -+  "BFD_RELOC_VTABLE_ENTRY",
 1.42962 -+  "BFD_RELOC_IA64_IMM14",
 1.42963 -+  "BFD_RELOC_IA64_IMM22",
 1.42964 -+  "BFD_RELOC_IA64_IMM64",
 1.42965 -+  "BFD_RELOC_IA64_DIR32MSB",
 1.42966 -+  "BFD_RELOC_IA64_DIR32LSB",
 1.42967 -+  "BFD_RELOC_IA64_DIR64MSB",
 1.42968 -+  "BFD_RELOC_IA64_DIR64LSB",
 1.42969 -+  "BFD_RELOC_IA64_GPREL22",
 1.42970 -+  "BFD_RELOC_IA64_GPREL64I",
 1.42971 -+  "BFD_RELOC_IA64_GPREL32MSB",
 1.42972 -+  "BFD_RELOC_IA64_GPREL32LSB",
 1.42973 -+  "BFD_RELOC_IA64_GPREL64MSB",
 1.42974 -+  "BFD_RELOC_IA64_GPREL64LSB",
 1.42975 -+  "BFD_RELOC_IA64_LTOFF22",
 1.42976 -+  "BFD_RELOC_IA64_LTOFF64I",
 1.42977 -+  "BFD_RELOC_IA64_PLTOFF22",
 1.42978 -+  "BFD_RELOC_IA64_PLTOFF64I",
 1.42979 -+  "BFD_RELOC_IA64_PLTOFF64MSB",
 1.42980 -+  "BFD_RELOC_IA64_PLTOFF64LSB",
 1.42981 -+  "BFD_RELOC_IA64_FPTR64I",
 1.42982 -+  "BFD_RELOC_IA64_FPTR32MSB",
 1.42983 -+  "BFD_RELOC_IA64_FPTR32LSB",
 1.42984 -+  "BFD_RELOC_IA64_FPTR64MSB",
 1.42985 -+  "BFD_RELOC_IA64_FPTR64LSB",
 1.42986 -+  "BFD_RELOC_IA64_PCREL21B",
 1.42987 -+  "BFD_RELOC_IA64_PCREL21BI",
 1.42988 -+  "BFD_RELOC_IA64_PCREL21M",
 1.42989 -+  "BFD_RELOC_IA64_PCREL21F",
 1.42990 -+  "BFD_RELOC_IA64_PCREL22",
 1.42991 -+  "BFD_RELOC_IA64_PCREL60B",
 1.42992 -+  "BFD_RELOC_IA64_PCREL64I",
 1.42993 -+  "BFD_RELOC_IA64_PCREL32MSB",
 1.42994 -+  "BFD_RELOC_IA64_PCREL32LSB",
 1.42995 -+  "BFD_RELOC_IA64_PCREL64MSB",
 1.42996 -+  "BFD_RELOC_IA64_PCREL64LSB",
 1.42997 -+  "BFD_RELOC_IA64_LTOFF_FPTR22",
 1.42998 -+  "BFD_RELOC_IA64_LTOFF_FPTR64I",
 1.42999 -+  "BFD_RELOC_IA64_LTOFF_FPTR32MSB",
 1.43000 -+  "BFD_RELOC_IA64_LTOFF_FPTR32LSB",
 1.43001 -+  "BFD_RELOC_IA64_LTOFF_FPTR64MSB",
 1.43002 -+  "BFD_RELOC_IA64_LTOFF_FPTR64LSB",
 1.43003 -+  "BFD_RELOC_IA64_SEGREL32MSB",
 1.43004 -+  "BFD_RELOC_IA64_SEGREL32LSB",
 1.43005 -+  "BFD_RELOC_IA64_SEGREL64MSB",
 1.43006 -+  "BFD_RELOC_IA64_SEGREL64LSB",
 1.43007 -+  "BFD_RELOC_IA64_SECREL32MSB",
 1.43008 -+  "BFD_RELOC_IA64_SECREL32LSB",
 1.43009 -+  "BFD_RELOC_IA64_SECREL64MSB",
 1.43010 -+  "BFD_RELOC_IA64_SECREL64LSB",
 1.43011 -+  "BFD_RELOC_IA64_REL32MSB",
 1.43012 -+  "BFD_RELOC_IA64_REL32LSB",
 1.43013 -+  "BFD_RELOC_IA64_REL64MSB",
 1.43014 -+  "BFD_RELOC_IA64_REL64LSB",
 1.43015 -+  "BFD_RELOC_IA64_LTV32MSB",
 1.43016 -+  "BFD_RELOC_IA64_LTV32LSB",
 1.43017 -+  "BFD_RELOC_IA64_LTV64MSB",
 1.43018 -+  "BFD_RELOC_IA64_LTV64LSB",
 1.43019 -+  "BFD_RELOC_IA64_IPLTMSB",
 1.43020 -+  "BFD_RELOC_IA64_IPLTLSB",
 1.43021 -+  "BFD_RELOC_IA64_COPY",
 1.43022 -+  "BFD_RELOC_IA64_LTOFF22X",
 1.43023 -+  "BFD_RELOC_IA64_LDXMOV",
 1.43024 -+  "BFD_RELOC_IA64_TPREL14",
 1.43025 -+  "BFD_RELOC_IA64_TPREL22",
 1.43026 -+  "BFD_RELOC_IA64_TPREL64I",
 1.43027 -+  "BFD_RELOC_IA64_TPREL64MSB",
 1.43028 -+  "BFD_RELOC_IA64_TPREL64LSB",
 1.43029 -+  "BFD_RELOC_IA64_LTOFF_TPREL22",
 1.43030 -+  "BFD_RELOC_IA64_DTPMOD64MSB",
 1.43031 -+  "BFD_RELOC_IA64_DTPMOD64LSB",
 1.43032 -+  "BFD_RELOC_IA64_LTOFF_DTPMOD22",
 1.43033 -+  "BFD_RELOC_IA64_DTPREL14",
 1.43034 -+  "BFD_RELOC_IA64_DTPREL22",
 1.43035 -+  "BFD_RELOC_IA64_DTPREL64I",
 1.43036 -+  "BFD_RELOC_IA64_DTPREL32MSB",
 1.43037 -+  "BFD_RELOC_IA64_DTPREL32LSB",
 1.43038 -+  "BFD_RELOC_IA64_DTPREL64MSB",
 1.43039 -+  "BFD_RELOC_IA64_DTPREL64LSB",
 1.43040 -+  "BFD_RELOC_IA64_LTOFF_DTPREL22",
 1.43041 -+  "BFD_RELOC_M68HC11_HI8",
 1.43042 -+  "BFD_RELOC_M68HC11_LO8",
 1.43043 -+  "BFD_RELOC_M68HC11_3B",
 1.43044 -+  "BFD_RELOC_M68HC11_RL_JUMP",
 1.43045 -+  "BFD_RELOC_M68HC11_RL_GROUP",
 1.43046 -+  "BFD_RELOC_M68HC11_LO16",
 1.43047 -+  "BFD_RELOC_M68HC11_PAGE",
 1.43048 -+  "BFD_RELOC_M68HC11_24",
 1.43049 -+  "BFD_RELOC_M68HC12_5B",
 1.43050 -+  "BFD_RELOC_16C_NUM08",
 1.43051 -+  "BFD_RELOC_16C_NUM08_C",
 1.43052 -+  "BFD_RELOC_16C_NUM16",
 1.43053 -+  "BFD_RELOC_16C_NUM16_C",
 1.43054 -+  "BFD_RELOC_16C_NUM32",
 1.43055 -+  "BFD_RELOC_16C_NUM32_C",
 1.43056 -+  "BFD_RELOC_16C_DISP04",
 1.43057 -+  "BFD_RELOC_16C_DISP04_C",
 1.43058 -+  "BFD_RELOC_16C_DISP08",
 1.43059 -+  "BFD_RELOC_16C_DISP08_C",
 1.43060 -+  "BFD_RELOC_16C_DISP16",
 1.43061 -+  "BFD_RELOC_16C_DISP16_C",
 1.43062 -+  "BFD_RELOC_16C_DISP24",
 1.43063 -+  "BFD_RELOC_16C_DISP24_C",
 1.43064 -+  "BFD_RELOC_16C_DISP24a",
 1.43065 -+  "BFD_RELOC_16C_DISP24a_C",
 1.43066 -+  "BFD_RELOC_16C_REG04",
 1.43067 -+  "BFD_RELOC_16C_REG04_C",
 1.43068 -+  "BFD_RELOC_16C_REG04a",
 1.43069 -+  "BFD_RELOC_16C_REG04a_C",
 1.43070 -+  "BFD_RELOC_16C_REG14",
 1.43071 -+  "BFD_RELOC_16C_REG14_C",
 1.43072 -+  "BFD_RELOC_16C_REG16",
 1.43073 -+  "BFD_RELOC_16C_REG16_C",
 1.43074 -+  "BFD_RELOC_16C_REG20",
 1.43075 -+  "BFD_RELOC_16C_REG20_C",
 1.43076 -+  "BFD_RELOC_16C_ABS20",
 1.43077 -+  "BFD_RELOC_16C_ABS20_C",
 1.43078 -+  "BFD_RELOC_16C_ABS24",
 1.43079 -+  "BFD_RELOC_16C_ABS24_C",
 1.43080 -+  "BFD_RELOC_16C_IMM04",
 1.43081 -+  "BFD_RELOC_16C_IMM04_C",
 1.43082 -+  "BFD_RELOC_16C_IMM16",
 1.43083 -+  "BFD_RELOC_16C_IMM16_C",
 1.43084 -+  "BFD_RELOC_16C_IMM20",
 1.43085 -+  "BFD_RELOC_16C_IMM20_C",
 1.43086 -+  "BFD_RELOC_16C_IMM24",
 1.43087 -+  "BFD_RELOC_16C_IMM24_C",
 1.43088 -+  "BFD_RELOC_16C_IMM32",
 1.43089 -+  "BFD_RELOC_16C_IMM32_C",
 1.43090 -+  "BFD_RELOC_CR16_NUM8",
 1.43091 -+  "BFD_RELOC_CR16_NUM16",
 1.43092 -+  "BFD_RELOC_CR16_NUM32",
 1.43093 -+  "BFD_RELOC_CR16_NUM32a",
 1.43094 -+  "BFD_RELOC_CR16_REGREL0",
 1.43095 -+  "BFD_RELOC_CR16_REGREL4",
 1.43096 -+  "BFD_RELOC_CR16_REGREL4a",
 1.43097 -+  "BFD_RELOC_CR16_REGREL14",
 1.43098 -+  "BFD_RELOC_CR16_REGREL14a",
 1.43099 -+  "BFD_RELOC_CR16_REGREL16",
 1.43100 -+  "BFD_RELOC_CR16_REGREL20",
 1.43101 -+  "BFD_RELOC_CR16_REGREL20a",
 1.43102 -+  "BFD_RELOC_CR16_ABS20",
 1.43103 -+  "BFD_RELOC_CR16_ABS24",
 1.43104 -+  "BFD_RELOC_CR16_IMM4",
 1.43105 -+  "BFD_RELOC_CR16_IMM8",
 1.43106 -+  "BFD_RELOC_CR16_IMM16",
 1.43107 -+  "BFD_RELOC_CR16_IMM20",
 1.43108 -+  "BFD_RELOC_CR16_IMM24",
 1.43109 -+  "BFD_RELOC_CR16_IMM32",
 1.43110 -+  "BFD_RELOC_CR16_IMM32a",
 1.43111 -+  "BFD_RELOC_CR16_DISP4",
 1.43112 -+  "BFD_RELOC_CR16_DISP8",
 1.43113 -+  "BFD_RELOC_CR16_DISP16",
 1.43114 -+  "BFD_RELOC_CR16_DISP20",
 1.43115 -+  "BFD_RELOC_CR16_DISP24",
 1.43116 -+  "BFD_RELOC_CR16_DISP24a",
 1.43117 -+  "BFD_RELOC_CRX_REL4",
 1.43118 -+  "BFD_RELOC_CRX_REL8",
 1.43119 -+  "BFD_RELOC_CRX_REL8_CMP",
 1.43120 -+  "BFD_RELOC_CRX_REL16",
 1.43121 -+  "BFD_RELOC_CRX_REL24",
 1.43122 -+  "BFD_RELOC_CRX_REL32",
 1.43123 -+  "BFD_RELOC_CRX_REGREL12",
 1.43124 -+  "BFD_RELOC_CRX_REGREL22",
 1.43125 -+  "BFD_RELOC_CRX_REGREL28",
 1.43126 -+  "BFD_RELOC_CRX_REGREL32",
 1.43127 -+  "BFD_RELOC_CRX_ABS16",
 1.43128 -+  "BFD_RELOC_CRX_ABS32",
 1.43129 -+  "BFD_RELOC_CRX_NUM8",
 1.43130 -+  "BFD_RELOC_CRX_NUM16",
 1.43131 -+  "BFD_RELOC_CRX_NUM32",
 1.43132 -+  "BFD_RELOC_CRX_IMM16",
 1.43133 -+  "BFD_RELOC_CRX_IMM32",
 1.43134 -+  "BFD_RELOC_CRX_SWITCH8",
 1.43135 -+  "BFD_RELOC_CRX_SWITCH16",
 1.43136 -+  "BFD_RELOC_CRX_SWITCH32",
 1.43137 -+  "BFD_RELOC_CRIS_BDISP8",
 1.43138 -+  "BFD_RELOC_CRIS_UNSIGNED_5",
 1.43139 -+  "BFD_RELOC_CRIS_SIGNED_6",
 1.43140 -+  "BFD_RELOC_CRIS_UNSIGNED_6",
 1.43141 -+  "BFD_RELOC_CRIS_SIGNED_8",
 1.43142 -+  "BFD_RELOC_CRIS_UNSIGNED_8",
 1.43143 -+  "BFD_RELOC_CRIS_SIGNED_16",
 1.43144 -+  "BFD_RELOC_CRIS_UNSIGNED_16",
 1.43145 -+  "BFD_RELOC_CRIS_LAPCQ_OFFSET",
 1.43146 -+  "BFD_RELOC_CRIS_UNSIGNED_4",
 1.43147 -+  "BFD_RELOC_CRIS_COPY",
 1.43148 -+  "BFD_RELOC_CRIS_GLOB_DAT",
 1.43149 -+  "BFD_RELOC_CRIS_JUMP_SLOT",
 1.43150 -+  "BFD_RELOC_CRIS_RELATIVE",
 1.43151 -+  "BFD_RELOC_CRIS_32_GOT",
 1.43152 -+  "BFD_RELOC_CRIS_16_GOT",
 1.43153 -+  "BFD_RELOC_CRIS_32_GOTPLT",
 1.43154 -+  "BFD_RELOC_CRIS_16_GOTPLT",
 1.43155 -+  "BFD_RELOC_CRIS_32_GOTREL",
 1.43156 -+  "BFD_RELOC_CRIS_32_PLT_GOTREL",
 1.43157 -+  "BFD_RELOC_CRIS_32_PLT_PCREL",
 1.43158 -+  "BFD_RELOC_860_COPY",
 1.43159 -+  "BFD_RELOC_860_GLOB_DAT",
 1.43160 -+  "BFD_RELOC_860_JUMP_SLOT",
 1.43161 -+  "BFD_RELOC_860_RELATIVE",
 1.43162 -+  "BFD_RELOC_860_PC26",
 1.43163 -+  "BFD_RELOC_860_PLT26",
 1.43164 -+  "BFD_RELOC_860_PC16",
 1.43165 -+  "BFD_RELOC_860_LOW0",
 1.43166 -+  "BFD_RELOC_860_SPLIT0",
 1.43167 -+  "BFD_RELOC_860_LOW1",
 1.43168 -+  "BFD_RELOC_860_SPLIT1",
 1.43169 -+  "BFD_RELOC_860_LOW2",
 1.43170 -+  "BFD_RELOC_860_SPLIT2",
 1.43171 -+  "BFD_RELOC_860_LOW3",
 1.43172 -+  "BFD_RELOC_860_LOGOT0",
 1.43173 -+  "BFD_RELOC_860_SPGOT0",
 1.43174 -+  "BFD_RELOC_860_LOGOT1",
 1.43175 -+  "BFD_RELOC_860_SPGOT1",
 1.43176 -+  "BFD_RELOC_860_LOGOTOFF0",
 1.43177 -+  "BFD_RELOC_860_SPGOTOFF0",
 1.43178 -+  "BFD_RELOC_860_LOGOTOFF1",
 1.43179 -+  "BFD_RELOC_860_SPGOTOFF1",
 1.43180 -+  "BFD_RELOC_860_LOGOTOFF2",
 1.43181 -+  "BFD_RELOC_860_LOGOTOFF3",
 1.43182 -+  "BFD_RELOC_860_LOPC",
 1.43183 -+  "BFD_RELOC_860_HIGHADJ",
 1.43184 -+  "BFD_RELOC_860_HAGOT",
 1.43185 -+  "BFD_RELOC_860_HAGOTOFF",
 1.43186 -+  "BFD_RELOC_860_HAPC",
 1.43187 -+  "BFD_RELOC_860_HIGH",
 1.43188 -+  "BFD_RELOC_860_HIGOT",
 1.43189 -+  "BFD_RELOC_860_HIGOTOFF",
 1.43190 -+  "BFD_RELOC_OPENRISC_ABS_26",
 1.43191 -+  "BFD_RELOC_OPENRISC_REL_26",
 1.43192 -+  "BFD_RELOC_H8_DIR16A8",
 1.43193 -+  "BFD_RELOC_H8_DIR16R8",
 1.43194 -+  "BFD_RELOC_H8_DIR24A8",
 1.43195 -+  "BFD_RELOC_H8_DIR24R8",
 1.43196 -+  "BFD_RELOC_H8_DIR32A16",
 1.43197 -+  "BFD_RELOC_XSTORMY16_REL_12",
 1.43198 -+  "BFD_RELOC_XSTORMY16_12",
 1.43199 -+  "BFD_RELOC_XSTORMY16_24",
 1.43200 -+  "BFD_RELOC_XSTORMY16_FPTR16",
 1.43201 -+  "BFD_RELOC_RELC",
 1.43202 -+
 1.43203 -+  "BFD_RELOC_XC16X_PAG",
 1.43204 -+  "BFD_RELOC_XC16X_POF",
 1.43205 -+  "BFD_RELOC_XC16X_SEG",
 1.43206 -+  "BFD_RELOC_XC16X_SOF",
 1.43207 -+  "BFD_RELOC_VAX_GLOB_DAT",
 1.43208 -+  "BFD_RELOC_VAX_JMP_SLOT",
 1.43209 -+  "BFD_RELOC_VAX_RELATIVE",
 1.43210 -+  "BFD_RELOC_MT_PC16",
 1.43211 -+  "BFD_RELOC_MT_HI16",
 1.43212 -+  "BFD_RELOC_MT_LO16",
 1.43213 -+  "BFD_RELOC_MT_GNU_VTINHERIT",
 1.43214 -+  "BFD_RELOC_MT_GNU_VTENTRY",
 1.43215 -+  "BFD_RELOC_MT_PCINSN8",
 1.43216 -+  "BFD_RELOC_MSP430_10_PCREL",
 1.43217 -+  "BFD_RELOC_MSP430_16_PCREL",
 1.43218 -+  "BFD_RELOC_MSP430_16",
 1.43219 -+  "BFD_RELOC_MSP430_16_PCREL_BYTE",
 1.43220 -+  "BFD_RELOC_MSP430_16_BYTE",
 1.43221 -+  "BFD_RELOC_MSP430_2X_PCREL",
 1.43222 -+  "BFD_RELOC_MSP430_RL_PCREL",
 1.43223 -+  "BFD_RELOC_IQ2000_OFFSET_16",
 1.43224 -+  "BFD_RELOC_IQ2000_OFFSET_21",
 1.43225 -+  "BFD_RELOC_IQ2000_UHI16",
 1.43226 -+  "BFD_RELOC_XTENSA_RTLD",
 1.43227 -+  "BFD_RELOC_XTENSA_GLOB_DAT",
 1.43228 -+  "BFD_RELOC_XTENSA_JMP_SLOT",
 1.43229 -+  "BFD_RELOC_XTENSA_RELATIVE",
 1.43230 -+  "BFD_RELOC_XTENSA_PLT",
 1.43231 -+  "BFD_RELOC_XTENSA_DIFF8",
 1.43232 -+  "BFD_RELOC_XTENSA_DIFF16",
 1.43233 -+  "BFD_RELOC_XTENSA_DIFF32",
 1.43234 -+  "BFD_RELOC_XTENSA_SLOT0_OP",
 1.43235 -+  "BFD_RELOC_XTENSA_SLOT1_OP",
 1.43236 -+  "BFD_RELOC_XTENSA_SLOT2_OP",
 1.43237 -+  "BFD_RELOC_XTENSA_SLOT3_OP",
 1.43238 -+  "BFD_RELOC_XTENSA_SLOT4_OP",
 1.43239 -+  "BFD_RELOC_XTENSA_SLOT5_OP",
 1.43240 -+  "BFD_RELOC_XTENSA_SLOT6_OP",
 1.43241 -+  "BFD_RELOC_XTENSA_SLOT7_OP",
 1.43242 -+  "BFD_RELOC_XTENSA_SLOT8_OP",
 1.43243 -+  "BFD_RELOC_XTENSA_SLOT9_OP",
 1.43244 -+  "BFD_RELOC_XTENSA_SLOT10_OP",
 1.43245 -+  "BFD_RELOC_XTENSA_SLOT11_OP",
 1.43246 -+  "BFD_RELOC_XTENSA_SLOT12_OP",
 1.43247 -+  "BFD_RELOC_XTENSA_SLOT13_OP",
 1.43248 -+  "BFD_RELOC_XTENSA_SLOT14_OP",
 1.43249 -+  "BFD_RELOC_XTENSA_SLOT0_ALT",
 1.43250 -+  "BFD_RELOC_XTENSA_SLOT1_ALT",
 1.43251 -+  "BFD_RELOC_XTENSA_SLOT2_ALT",
 1.43252 -+  "BFD_RELOC_XTENSA_SLOT3_ALT",
 1.43253 -+  "BFD_RELOC_XTENSA_SLOT4_ALT",
 1.43254 -+  "BFD_RELOC_XTENSA_SLOT5_ALT",
 1.43255 -+  "BFD_RELOC_XTENSA_SLOT6_ALT",
 1.43256 -+  "BFD_RELOC_XTENSA_SLOT7_ALT",
 1.43257 -+  "BFD_RELOC_XTENSA_SLOT8_ALT",
 1.43258 -+  "BFD_RELOC_XTENSA_SLOT9_ALT",
 1.43259 -+  "BFD_RELOC_XTENSA_SLOT10_ALT",
 1.43260 -+  "BFD_RELOC_XTENSA_SLOT11_ALT",
 1.43261 -+  "BFD_RELOC_XTENSA_SLOT12_ALT",
 1.43262 -+  "BFD_RELOC_XTENSA_SLOT13_ALT",
 1.43263 -+  "BFD_RELOC_XTENSA_SLOT14_ALT",
 1.43264 -+  "BFD_RELOC_XTENSA_OP0",
 1.43265 -+  "BFD_RELOC_XTENSA_OP1",
 1.43266 -+  "BFD_RELOC_XTENSA_OP2",
 1.43267 -+  "BFD_RELOC_XTENSA_ASM_EXPAND",
 1.43268 -+  "BFD_RELOC_XTENSA_ASM_SIMPLIFY",
 1.43269 -+  "BFD_RELOC_Z80_DISP8",
 1.43270 -+  "BFD_RELOC_Z8K_DISP7",
 1.43271 -+  "BFD_RELOC_Z8K_CALLR",
 1.43272 -+  "BFD_RELOC_Z8K_IMM4L",
 1.43273 -+ "@@overflow: BFD_RELOC_UNUSED@@",
 1.43274 -+};
 1.43275 -+#endif
 1.43276 -+
 1.43277 -+reloc_howto_type *bfd_default_reloc_type_lookup
 1.43278 -+   (bfd *abfd, bfd_reloc_code_real_type  code);
 1.43279 -+
 1.43280 -+bfd_boolean bfd_generic_relax_section
 1.43281 -+   (bfd *abfd,
 1.43282 -+    asection *section,
 1.43283 -+    struct bfd_link_info *,
 1.43284 -+    bfd_boolean *);
 1.43285 -+
 1.43286 -+bfd_boolean bfd_generic_gc_sections
 1.43287 -+   (bfd *, struct bfd_link_info *);
 1.43288 -+
 1.43289 -+bfd_boolean bfd_generic_merge_sections
 1.43290 -+   (bfd *, struct bfd_link_info *);
 1.43291 -+
 1.43292 -+bfd_byte *bfd_generic_get_relocated_section_contents
 1.43293 -+   (bfd *abfd,
 1.43294 -+    struct bfd_link_info *link_info,
 1.43295 -+    struct bfd_link_order *link_order,
 1.43296 -+    bfd_byte *data,
 1.43297 -+    bfd_boolean relocatable,
 1.43298 -+    asymbol **symbols);
 1.43299 -+
 1.43300 -+/* Extracted from archures.c.  */
 1.43301 -+extern const bfd_arch_info_type bfd_default_arch_struct;
 1.43302 -+bfd_boolean bfd_default_set_arch_mach
 1.43303 -+   (bfd *abfd, enum bfd_architecture arch, unsigned long mach);
 1.43304 -+
 1.43305 -+const bfd_arch_info_type *bfd_default_compatible
 1.43306 -+   (const bfd_arch_info_type *a, const bfd_arch_info_type *b);
 1.43307 -+
 1.43308 -+bfd_boolean bfd_default_scan
 1.43309 -+   (const struct bfd_arch_info *info, const char *string);
 1.43310 -+
 1.43311 -+/* Extracted from elf.c.  */
 1.43312 -+struct elf_internal_shdr *bfd_elf_find_section (bfd *abfd, char *name);
 1.43313 -+
 1.43314 ---- /dev/null
 1.43315 -+++ b/bfd/doc/libcoff.h
 1.43316 -@@ -0,0 +1,936 @@
 1.43317 -+/* DO NOT EDIT!  -*- buffer-read-only: t -*-  This file is automatically 
 1.43318 -+   generated from "libcoff-in.h" and "coffcode.h".
 1.43319 -+   Run "make headers" in your build bfd/ to regenerate.  */
 1.43320 -+
 1.43321 -+/* BFD COFF object file private structure.
 1.43322 -+   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
 1.43323 -+   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
 1.43324 -+   Free Software Foundation, Inc.
 1.43325 -+   Written by Cygnus Support.
 1.43326 -+
 1.43327 -+   This file is part of BFD, the Binary File Descriptor library.
 1.43328 -+
 1.43329 -+   This program is free software; you can redistribute it and/or modify
 1.43330 -+   it under the terms of the GNU General Public License as published by
 1.43331 -+   the Free Software Foundation; either version 3 of the License, or
 1.43332 -+   (at your option) any later version.
 1.43333 -+
 1.43334 -+   This program is distributed in the hope that it will be useful,
 1.43335 -+   but WITHOUT ANY WARRANTY; without even the implied warranty of
 1.43336 -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 1.43337 -+   GNU General Public License for more details.
 1.43338 -+
 1.43339 -+   You should have received a copy of the GNU General Public License
 1.43340 -+   along with this program; if not, write to the Free Software
 1.43341 -+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
 1.43342 -+   MA 02110-1301, USA.  */
 1.43343 -+
 1.43344 -+#include "bfdlink.h"
 1.43345 -+
 1.43346 -+/* Object file tdata; access macros.  */
 1.43347 -+
 1.43348 -+#define coff_data(bfd)		      ((bfd)->tdata.coff_obj_data)
 1.43349 -+#define exec_hdr(bfd)		      (coff_data (bfd)->hdr)
 1.43350 -+#define obj_pe(bfd)                   (coff_data (bfd)->pe)
 1.43351 -+#define obj_symbols(bfd)	      (coff_data (bfd)->symbols)
 1.43352 -+#define	obj_sym_filepos(bfd)	      (coff_data (bfd)->sym_filepos)
 1.43353 -+#define obj_relocbase(bfd)	      (coff_data (bfd)->relocbase)
 1.43354 -+#define obj_raw_syments(bfd)	      (coff_data (bfd)->raw_syments)
 1.43355 -+#define obj_raw_syment_count(bfd)     (coff_data (bfd)->raw_syment_count)
 1.43356 -+#define obj_convert(bfd)	      (coff_data (bfd)->conversion_table)
 1.43357 -+#define obj_conv_table_size(bfd)      (coff_data (bfd)->conv_table_size)
 1.43358 -+#define obj_coff_external_syms(bfd)   (coff_data (bfd)->external_syms)
 1.43359 -+#define obj_coff_keep_syms(bfd)	      (coff_data (bfd)->keep_syms)
 1.43360 -+#define obj_coff_strings(bfd)	      (coff_data (bfd)->strings)
 1.43361 -+#define obj_coff_keep_strings(bfd)    (coff_data (bfd)->keep_strings)
 1.43362 -+#define obj_coff_sym_hashes(bfd)      (coff_data (bfd)->sym_hashes)
 1.43363 -+#define obj_coff_strings_written(bfd) (coff_data (bfd)->strings_written)
 1.43364 -+#define obj_coff_local_toc_table(bfd) (coff_data (bfd)->local_toc_sym_map)
 1.43365 -+
 1.43366 -+/* `Tdata' information kept for COFF files.  */
 1.43367 -+
 1.43368 -+typedef struct coff_tdata
 1.43369 -+{
 1.43370 -+  struct coff_symbol_struct *symbols;	/* Symtab for input bfd.  */
 1.43371 -+  unsigned int *conversion_table;
 1.43372 -+  int conv_table_size;
 1.43373 -+  file_ptr sym_filepos;
 1.43374 -+
 1.43375 -+  struct coff_ptr_struct *raw_syments;
 1.43376 -+  unsigned long raw_syment_count;
 1.43377 -+
 1.43378 -+  /* These are only valid once writing has begun.  */
 1.43379 -+  long int relocbase;
 1.43380 -+
 1.43381 -+  /* These members communicate important constants about the symbol table
 1.43382 -+     to GDB's symbol-reading code.  These `constants' unfortunately vary
 1.43383 -+     from coff implementation to implementation...  */
 1.43384 -+  unsigned local_n_btmask;
 1.43385 -+  unsigned local_n_btshft;
 1.43386 -+  unsigned local_n_tmask;
 1.43387 -+  unsigned local_n_tshift;
 1.43388 -+  unsigned local_symesz;
 1.43389 -+  unsigned local_auxesz;
 1.43390 -+  unsigned local_linesz;
 1.43391 -+
 1.43392 -+  /* The unswapped external symbols.  May be NULL.  Read by
 1.43393 -+     _bfd_coff_get_external_symbols.  */
 1.43394 -+  void * external_syms;
 1.43395 -+  /* If this is TRUE, the external_syms may not be freed.  */
 1.43396 -+  bfd_boolean keep_syms;
 1.43397 -+
 1.43398 -+  /* The string table.  May be NULL.  Read by
 1.43399 -+     _bfd_coff_read_string_table.  */
 1.43400 -+  char *strings;
 1.43401 -+  /* If this is TRUE, the strings may not be freed.  */
 1.43402 -+  bfd_boolean keep_strings;
 1.43403 -+  /* If this is TRUE, the strings have been written out already.  */
 1.43404 -+  bfd_boolean strings_written;
 1.43405 -+
 1.43406 -+  /* Is this a PE format coff file?  */
 1.43407 -+  int pe;
 1.43408 -+  /* Used by the COFF backend linker.  */
 1.43409 -+  struct coff_link_hash_entry **sym_hashes;
 1.43410 -+
 1.43411 -+  /* Used by the pe linker for PowerPC.  */
 1.43412 -+  int *local_toc_sym_map;
 1.43413 -+
 1.43414 -+  struct bfd_link_info *link_info;
 1.43415 -+
 1.43416 -+  /* Used by coff_find_nearest_line.  */
 1.43417 -+  void * line_info;
 1.43418 -+
 1.43419 -+  /* A place to stash dwarf2 info for this bfd.  */
 1.43420 -+  void * dwarf2_find_line_info;
 1.43421 -+
 1.43422 -+  /* The timestamp from the COFF file header.  */
 1.43423 -+  long timestamp;
 1.43424 -+
 1.43425 -+  /* Copy of some of the f_flags bits in the COFF filehdr structure,
 1.43426 -+     used by ARM code.  */
 1.43427 -+  flagword flags;
 1.43428 -+
 1.43429 -+} coff_data_type;
 1.43430 -+
 1.43431 -+/* Tdata for pe image files.  */
 1.43432 -+typedef struct pe_tdata
 1.43433 -+{
 1.43434 -+  coff_data_type coff;
 1.43435 -+  struct internal_extra_pe_aouthdr pe_opthdr;
 1.43436 -+  int dll;
 1.43437 -+  int has_reloc_section;
 1.43438 -+  bfd_boolean (*in_reloc_p) (bfd *, reloc_howto_type *);
 1.43439 -+  flagword real_flags;
 1.43440 -+  int target_subsystem;
 1.43441 -+  bfd_boolean force_minimum_alignment;
 1.43442 -+} pe_data_type;
 1.43443 -+
 1.43444 -+#define pe_data(bfd)		((bfd)->tdata.pe_obj_data)
 1.43445 -+
 1.43446 -+/* Tdata for XCOFF files.  */
 1.43447 -+
 1.43448 -+struct xcoff_tdata
 1.43449 -+{
 1.43450 -+  /* Basic COFF information.  */
 1.43451 -+  coff_data_type coff;
 1.43452 -+
 1.43453 -+  /* TRUE if this is an XCOFF64 file. */
 1.43454 -+  bfd_boolean xcoff64;
 1.43455 -+
 1.43456 -+  /* TRUE if a large a.out header should be generated.  */
 1.43457 -+  bfd_boolean full_aouthdr;
 1.43458 -+
 1.43459 -+  /* TOC value.  */
 1.43460 -+  bfd_vma toc;
 1.43461 -+
 1.43462 -+  /* Index of section holding TOC.  */
 1.43463 -+  int sntoc;
 1.43464 -+
 1.43465 -+  /* Index of section holding entry point.  */
 1.43466 -+  int snentry;
 1.43467 -+
 1.43468 -+  /* .text alignment from optional header.  */
 1.43469 -+  int text_align_power;
 1.43470 -+
 1.43471 -+  /* .data alignment from optional header.  */
 1.43472 -+  int data_align_power;
 1.43473 -+
 1.43474 -+  /* modtype from optional header.  */
 1.43475 -+  short modtype;
 1.43476 -+
 1.43477 -+  /* cputype from optional header.  */
 1.43478 -+  short cputype;
 1.43479 -+
 1.43480 -+  /* maxdata from optional header.  */
 1.43481 -+  bfd_vma maxdata;
 1.43482 -+
 1.43483 -+  /* maxstack from optional header.  */
 1.43484 -+  bfd_vma maxstack;
 1.43485 -+
 1.43486 -+  /* Used by the XCOFF backend linker.  */
 1.43487 -+  asection **csects;
 1.43488 -+  unsigned long *debug_indices;
 1.43489 -+  unsigned int import_file_id;
 1.43490 -+};
 1.43491 -+
 1.43492 -+#define xcoff_data(abfd) ((abfd)->tdata.xcoff_obj_data)
 1.43493 -+
 1.43494 -+/* We take the address of the first element of an asymbol to ensure that the
 1.43495 -+   macro is only ever applied to an asymbol.  */
 1.43496 -+#define coffsymbol(asymbol) ((coff_symbol_type *)(&((asymbol)->the_bfd)))
 1.43497 -+
 1.43498 -+/* The used_by_bfd field of a section may be set to a pointer to this
 1.43499 -+   structure.  */
 1.43500 -+
 1.43501 -+struct coff_section_tdata
 1.43502 -+{
 1.43503 -+  /* The relocs, swapped into COFF internal form.  This may be NULL.  */
 1.43504 -+  struct internal_reloc *relocs;
 1.43505 -+  /* If this is TRUE, the relocs entry may not be freed.  */
 1.43506 -+  bfd_boolean keep_relocs;
 1.43507 -+  /* The section contents.  This may be NULL.  */
 1.43508 -+  bfd_byte *contents;
 1.43509 -+  /* If this is TRUE, the contents entry may not be freed.  */
 1.43510 -+  bfd_boolean keep_contents;
 1.43511 -+  /* Information cached by coff_find_nearest_line.  */
 1.43512 -+  bfd_vma offset;
 1.43513 -+  unsigned int i;
 1.43514 -+  const char *function;
 1.43515 -+  /* Optional information about a COMDAT entry; NULL if not COMDAT. */
 1.43516 -+  struct coff_comdat_info *comdat;
 1.43517 -+  int line_base;
 1.43518 -+  /* A pointer used for .stab linking optimizations.  */
 1.43519 -+  void * stab_info;
 1.43520 -+  /* Available for individual backends.  */
 1.43521 -+  void * tdata;
 1.43522 -+};
 1.43523 -+
 1.43524 -+/* An accessor macro for the coff_section_tdata structure.  */
 1.43525 -+#define coff_section_data(abfd, sec) \
 1.43526 -+  ((struct coff_section_tdata *) (sec)->used_by_bfd)
 1.43527 -+
 1.43528 -+/* Tdata for sections in XCOFF files.  This is used by the linker.  */
 1.43529 -+
 1.43530 -+struct xcoff_section_tdata
 1.43531 -+{
 1.43532 -+  /* Used for XCOFF csects created by the linker; points to the real
 1.43533 -+     XCOFF section which contains this csect.  */
 1.43534 -+  asection *enclosing;
 1.43535 -+  /* The lineno_count field for the enclosing section, because we are
 1.43536 -+     going to clobber it there.  */
 1.43537 -+  unsigned int lineno_count;
 1.43538 -+  /* The first and one past the last symbol indices for symbols used
 1.43539 -+     by this csect.  */
 1.43540 -+  unsigned long first_symndx;
 1.43541 -+  unsigned long last_symndx;
 1.43542 -+};
 1.43543 -+
 1.43544 -+/* An accessor macro the xcoff_section_tdata structure.  */
 1.43545 -+#define xcoff_section_data(abfd, sec) \
 1.43546 -+  ((struct xcoff_section_tdata *) coff_section_data ((abfd), (sec))->tdata)
 1.43547 -+
 1.43548 -+/* Tdata for sections in PE files.  */
 1.43549 -+
 1.43550 -+struct pei_section_tdata
 1.43551 -+{
 1.43552 -+  /* The virtual size of the section.  */
 1.43553 -+  bfd_size_type virt_size;
 1.43554 -+  /* The PE section flags.  */
 1.43555 -+  long pe_flags;
 1.43556 -+};
 1.43557 -+
 1.43558 -+/* An accessor macro for the pei_section_tdata structure.  */
 1.43559 -+#define pei_section_data(abfd, sec) \
 1.43560 -+  ((struct pei_section_tdata *) coff_section_data ((abfd), (sec))->tdata)
 1.43561 -+
 1.43562 -+/* COFF linker hash table entries.  */
 1.43563 -+
 1.43564 -+struct coff_link_hash_entry
 1.43565 -+{
 1.43566 -+  struct bfd_link_hash_entry root;
 1.43567 -+
 1.43568 -+  /* Symbol index in output file.  Set to -1 initially.  Set to -2 if
 1.43569 -+     there is a reloc against this symbol.  */
 1.43570 -+  long indx;
 1.43571 -+
 1.43572 -+  /* Symbol type.  */
 1.43573 -+  unsigned short type;
 1.43574 -+
 1.43575 -+  /* Symbol class.  */
 1.43576 -+  unsigned char class;
 1.43577 -+
 1.43578 -+  /* Number of auxiliary entries.  */
 1.43579 -+  char numaux;
 1.43580 -+
 1.43581 -+  /* BFD to take auxiliary entries from.  */
 1.43582 -+  bfd *auxbfd;
 1.43583 -+
 1.43584 -+  /* Pointer to array of auxiliary entries, if any.  */
 1.43585 -+  union internal_auxent *aux;
 1.43586 -+
 1.43587 -+  /* Flag word; legal values follow.  */
 1.43588 -+  unsigned short coff_link_hash_flags;
 1.43589 -+  /* Symbol is a PE section symbol.  */
 1.43590 -+#define COFF_LINK_HASH_PE_SECTION_SYMBOL (01)
 1.43591 -+};
 1.43592 -+
 1.43593 -+/* COFF linker hash table.  */
 1.43594 -+
 1.43595 -+struct coff_link_hash_table
 1.43596 -+{
 1.43597 -+  struct bfd_link_hash_table root;
 1.43598 -+  /* A pointer to information used to link stabs in sections.  */
 1.43599 -+  struct stab_info stab_info;
 1.43600 -+};
 1.43601 -+
 1.43602 -+/* Look up an entry in a COFF linker hash table.  */
 1.43603 -+
 1.43604 -+#define coff_link_hash_lookup(table, string, create, copy, follow)	\
 1.43605 -+  ((struct coff_link_hash_entry *)					\
 1.43606 -+   bfd_link_hash_lookup (&(table)->root, (string), (create),		\
 1.43607 -+			 (copy), (follow)))
 1.43608 -+
 1.43609 -+/* Traverse a COFF linker hash table.  */
 1.43610 -+
 1.43611 -+#define coff_link_hash_traverse(table, func, info)			\
 1.43612 -+  (bfd_link_hash_traverse						\
 1.43613 -+   (&(table)->root,							\
 1.43614 -+    (bfd_boolean (*) (struct bfd_link_hash_entry *, void *)) (func), \
 1.43615 -+    (info)))
 1.43616 -+
 1.43617 -+/* Get the COFF linker hash table from a link_info structure.  */
 1.43618 -+
 1.43619 -+#define coff_hash_table(p) ((struct coff_link_hash_table *) ((p)->hash))
 1.43620 -+
 1.43621 -+/* Functions in coffgen.c.  */
 1.43622 -+extern const bfd_target *coff_object_p
 1.43623 -+  (bfd *);
 1.43624 -+extern struct bfd_section *coff_section_from_bfd_index
 1.43625 -+  (bfd *, int);
 1.43626 -+extern long coff_get_symtab_upper_bound
 1.43627 -+  (bfd *);
 1.43628 -+extern long coff_canonicalize_symtab
 1.43629 -+  (bfd *, asymbol **);
 1.43630 -+extern int coff_count_linenumbers
 1.43631 -+  (bfd *);
 1.43632 -+extern struct coff_symbol_struct *coff_symbol_from
 1.43633 -+  (bfd *, asymbol *);
 1.43634 -+extern bfd_boolean coff_renumber_symbols
 1.43635 -+  (bfd *, int *);
 1.43636 -+extern void coff_mangle_symbols
 1.43637 -+  (bfd *);
 1.43638 -+extern bfd_boolean coff_write_symbols
 1.43639 -+  (bfd *);
 1.43640 -+extern bfd_boolean coff_write_linenumbers
 1.43641 -+  (bfd *);
 1.43642 -+extern alent *coff_get_lineno
 1.43643 -+  (bfd *, asymbol *);
 1.43644 -+extern asymbol *coff_section_symbol
 1.43645 -+  (bfd *, char *);
 1.43646 -+extern bfd_boolean _bfd_coff_get_external_symbols
 1.43647 -+  (bfd *);
 1.43648 -+extern const char *_bfd_coff_read_string_table
 1.43649 -+  (bfd *);
 1.43650 -+extern bfd_boolean _bfd_coff_free_symbols
 1.43651 -+  (bfd *);
 1.43652 -+extern struct coff_ptr_struct *coff_get_normalized_symtab
 1.43653 -+  (bfd *);
 1.43654 -+extern long coff_get_reloc_upper_bound
 1.43655 -+  (bfd *, sec_ptr);
 1.43656 -+extern asymbol *coff_make_empty_symbol
 1.43657 -+  (bfd *);
 1.43658 -+extern void coff_print_symbol
 1.43659 -+  (bfd *, void * filep, asymbol *, bfd_print_symbol_type);
 1.43660 -+extern void coff_get_symbol_info
 1.43661 -+  (bfd *, asymbol *, symbol_info *ret);
 1.43662 -+extern bfd_boolean _bfd_coff_is_local_label_name
 1.43663 -+  (bfd *, const char *);
 1.43664 -+extern asymbol *coff_bfd_make_debug_symbol
 1.43665 -+  (bfd *, void *, unsigned long);
 1.43666 -+extern bfd_boolean coff_find_nearest_line
 1.43667 -+  (bfd *, asection *, asymbol **, bfd_vma, const char **,
 1.43668 -+   const char **, unsigned int *);
 1.43669 -+extern bfd_boolean coff_find_inliner_info
 1.43670 -+  (bfd *, const char **, const char **, unsigned int *);
 1.43671 -+extern int coff_sizeof_headers
 1.43672 -+  (bfd *, struct bfd_link_info *);
 1.43673 -+extern bfd_boolean bfd_coff_reloc16_relax_section
 1.43674 -+  (bfd *, asection *, struct bfd_link_info *, bfd_boolean *);
 1.43675 -+extern bfd_byte *bfd_coff_reloc16_get_relocated_section_contents
 1.43676 -+  (bfd *, struct bfd_link_info *, struct bfd_link_order *,
 1.43677 -+   bfd_byte *, bfd_boolean, asymbol **);
 1.43678 -+extern bfd_vma bfd_coff_reloc16_get_value
 1.43679 -+  (arelent *, struct bfd_link_info *, asection *);
 1.43680 -+extern void bfd_perform_slip
 1.43681 -+  (bfd *, unsigned int, asection *, bfd_vma);
 1.43682 -+
 1.43683 -+/* Functions and types in cofflink.c.  */
 1.43684 -+
 1.43685 -+#define STRING_SIZE_SIZE 4
 1.43686 -+
 1.43687 -+/* We use a hash table to merge identical enum, struct, and union
 1.43688 -+   definitions in the linker.  */
 1.43689 -+
 1.43690 -+/* Information we keep for a single element (an enum value, a
 1.43691 -+   structure or union field) in the debug merge hash table.  */
 1.43692 -+
 1.43693 -+struct coff_debug_merge_element
 1.43694 -+{
 1.43695 -+  /* Next element.  */
 1.43696 -+  struct coff_debug_merge_element *next;
 1.43697 -+
 1.43698 -+  /* Name.  */
 1.43699 -+  const char *name;
 1.43700 -+
 1.43701 -+  /* Type.  */
 1.43702 -+  unsigned int type;
 1.43703 -+
 1.43704 -+  /* Symbol index for complex type.  */
 1.43705 -+  long tagndx;
 1.43706 -+};
 1.43707 -+
 1.43708 -+/* A linked list of debug merge entries for a given name.  */
 1.43709 -+
 1.43710 -+struct coff_debug_merge_type
 1.43711 -+{
 1.43712 -+  /* Next type with the same name.  */
 1.43713 -+  struct coff_debug_merge_type *next;
 1.43714 -+
 1.43715 -+  /* Class of type.  */
 1.43716 -+  int class;
 1.43717 -+
 1.43718 -+  /* Symbol index where this type is defined.  */
 1.43719 -+  long indx;
 1.43720 -+
 1.43721 -+  /* List of elements.  */
 1.43722 -+  struct coff_debug_merge_element *elements;
 1.43723 -+};
 1.43724 -+
 1.43725 -+/* Information we store in the debug merge hash table.  */
 1.43726 -+
 1.43727 -+struct coff_debug_merge_hash_entry
 1.43728 -+{
 1.43729 -+  struct bfd_hash_entry root;
 1.43730 -+
 1.43731 -+  /* A list of types with this name.  */
 1.43732 -+  struct coff_debug_merge_type *types;
 1.43733 -+};
 1.43734 -+
 1.43735 -+/* The debug merge hash table.  */
 1.43736 -+
 1.43737 -+struct coff_debug_merge_hash_table
 1.43738 -+{
 1.43739 -+  struct bfd_hash_table root;
 1.43740 -+};
 1.43741 -+
 1.43742 -+/* Initialize a COFF debug merge hash table.  */
 1.43743 -+
 1.43744 -+#define coff_debug_merge_hash_table_init(table) \
 1.43745 -+  (bfd_hash_table_init (&(table)->root, _bfd_coff_debug_merge_hash_newfunc, \
 1.43746 -+			sizeof (struct coff_debug_merge_hash_entry)))
 1.43747 -+
 1.43748 -+/* Free a COFF debug merge hash table.  */
 1.43749 -+
 1.43750 -+#define coff_debug_merge_hash_table_free(table) \
 1.43751 -+  (bfd_hash_table_free (&(table)->root))
 1.43752 -+
 1.43753 -+/* Look up an entry in a COFF debug merge hash table.  */
 1.43754 -+
 1.43755 -+#define coff_debug_merge_hash_lookup(table, string, create, copy) \
 1.43756 -+  ((struct coff_debug_merge_hash_entry *) \
 1.43757 -+   bfd_hash_lookup (&(table)->root, (string), (create), (copy)))
 1.43758 -+
 1.43759 -+/* Information we keep for each section in the output file when doing
 1.43760 -+   a relocatable link.  */
 1.43761 -+
 1.43762 -+struct coff_link_section_info
 1.43763 -+{
 1.43764 -+  /* The relocs to be output.  */
 1.43765 -+  struct internal_reloc *relocs;
 1.43766 -+  /* For each reloc against a global symbol whose index was not known
 1.43767 -+     when the reloc was handled, the global hash table entry.  */
 1.43768 -+  struct coff_link_hash_entry **rel_hashes;
 1.43769 -+};
 1.43770 -+
 1.43771 -+/* Information that we pass around while doing the final link step.  */
 1.43772 -+
 1.43773 -+struct coff_final_link_info
 1.43774 -+{
 1.43775 -+  /* General link information.  */
 1.43776 -+  struct bfd_link_info *info;
 1.43777 -+  /* Output BFD.  */
 1.43778 -+  bfd *output_bfd;
 1.43779 -+  /* Used to indicate failure in traversal routine.  */
 1.43780 -+  bfd_boolean failed;
 1.43781 -+  /* If doing "task linking" set only during the time when we want the
 1.43782 -+     global symbol writer to convert the storage class of defined global
 1.43783 -+     symbols from global to static. */
 1.43784 -+  bfd_boolean global_to_static;
 1.43785 -+  /* Hash table for long symbol names.  */
 1.43786 -+  struct bfd_strtab_hash *strtab;
 1.43787 -+  /* When doing a relocatable link, an array of information kept for
 1.43788 -+     each output section, indexed by the target_index field.  */
 1.43789 -+  struct coff_link_section_info *section_info;
 1.43790 -+  /* Symbol index of last C_FILE symbol (-1 if none).  */
 1.43791 -+  long last_file_index;
 1.43792 -+  /* Contents of last C_FILE symbol.  */
 1.43793 -+  struct internal_syment last_file;
 1.43794 -+  /* Symbol index of first aux entry of last .bf symbol with an empty
 1.43795 -+     endndx field (-1 if none).  */
 1.43796 -+  long last_bf_index;
 1.43797 -+  /* Contents of last_bf_index aux entry.  */
 1.43798 -+  union internal_auxent last_bf;
 1.43799 -+  /* Hash table used to merge debug information.  */
 1.43800 -+  struct coff_debug_merge_hash_table debug_merge;
 1.43801 -+  /* Buffer large enough to hold swapped symbols of any input file.  */
 1.43802 -+  struct internal_syment *internal_syms;
 1.43803 -+  /* Buffer large enough to hold sections of symbols of any input file.  */
 1.43804 -+  asection **sec_ptrs;
 1.43805 -+  /* Buffer large enough to hold output indices of symbols of any
 1.43806 -+     input file.  */
 1.43807 -+  long *sym_indices;
 1.43808 -+  /* Buffer large enough to hold output symbols for any input file.  */
 1.43809 -+  bfd_byte *outsyms;
 1.43810 -+  /* Buffer large enough to hold external line numbers for any input
 1.43811 -+     section.  */
 1.43812 -+  bfd_byte *linenos;
 1.43813 -+  /* Buffer large enough to hold any input section.  */
 1.43814 -+  bfd_byte *contents;
 1.43815 -+  /* Buffer large enough to hold external relocs of any input section.  */
 1.43816 -+  bfd_byte *external_relocs;
 1.43817 -+  /* Buffer large enough to hold swapped relocs of any input section.  */
 1.43818 -+  struct internal_reloc *internal_relocs;
 1.43819 -+};
 1.43820 -+
 1.43821 -+/* Most COFF variants have no way to record the alignment of a
 1.43822 -+   section.  This struct is used to set a specific alignment based on
 1.43823 -+   the name of the section.  */
 1.43824 -+
 1.43825 -+struct coff_section_alignment_entry
 1.43826 -+{
 1.43827 -+  /* The section name.  */
 1.43828 -+  const char *name;
 1.43829 -+
 1.43830 -+  /* This is either (unsigned int) -1, indicating that the section
 1.43831 -+     name must match exactly, or it is the number of letters which
 1.43832 -+     must match at the start of the name.  */
 1.43833 -+  unsigned int comparison_length;
 1.43834 -+
 1.43835 -+  /* These macros may be used to fill in the first two fields in a
 1.43836 -+     structure initialization.  */
 1.43837 -+#define COFF_SECTION_NAME_EXACT_MATCH(name) (name), ((unsigned int) -1)
 1.43838 -+#define COFF_SECTION_NAME_PARTIAL_MATCH(name) (name), (sizeof (name) - 1)
 1.43839 -+
 1.43840 -+  /* Only use this entry if the default section alignment for this
 1.43841 -+     target is at least that much (as a power of two).  If this field
 1.43842 -+     is COFF_ALIGNMENT_FIELD_EMPTY, it should be ignored.  */
 1.43843 -+  unsigned int default_alignment_min;
 1.43844 -+
 1.43845 -+  /* Only use this entry if the default section alignment for this
 1.43846 -+     target is no greater than this (as a power of two).  If this
 1.43847 -+     field is COFF_ALIGNMENT_FIELD_EMPTY, it should be ignored.  */
 1.43848 -+  unsigned int default_alignment_max;
 1.43849 -+
 1.43850 -+#define COFF_ALIGNMENT_FIELD_EMPTY ((unsigned int) -1)
 1.43851 -+
 1.43852 -+  /* The desired alignment for this section (as a power of two).  */
 1.43853 -+  unsigned int alignment_power;
 1.43854 -+};
 1.43855 -+
 1.43856 -+extern struct bfd_hash_entry *_bfd_coff_link_hash_newfunc
 1.43857 -+  (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
 1.43858 -+extern bfd_boolean _bfd_coff_link_hash_table_init
 1.43859 -+  (struct coff_link_hash_table *, bfd *,
 1.43860 -+   struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
 1.43861 -+			       struct bfd_hash_table *,
 1.43862 -+			       const char *),
 1.43863 -+   unsigned int);
 1.43864 -+extern struct bfd_link_hash_table *_bfd_coff_link_hash_table_create
 1.43865 -+  (bfd *);
 1.43866 -+extern const char *_bfd_coff_internal_syment_name
 1.43867 -+  (bfd *, const struct internal_syment *, char *);
 1.43868 -+extern bfd_boolean _bfd_coff_link_add_symbols
 1.43869 -+  (bfd *, struct bfd_link_info *);
 1.43870 -+extern bfd_boolean _bfd_coff_final_link
 1.43871 -+  (bfd *, struct bfd_link_info *);
 1.43872 -+extern struct internal_reloc *_bfd_coff_read_internal_relocs
 1.43873 -+  (bfd *, asection *, bfd_boolean, bfd_byte *, bfd_boolean,
 1.43874 -+   struct internal_reloc *);
 1.43875 -+extern bfd_boolean _bfd_coff_generic_relocate_section
 1.43876 -+  (bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *,
 1.43877 -+   struct internal_reloc *, struct internal_syment *, asection **);
 1.43878 -+extern struct bfd_hash_entry *_bfd_coff_debug_merge_hash_newfunc
 1.43879 -+  (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
 1.43880 -+extern bfd_boolean _bfd_coff_write_global_sym
 1.43881 -+  (struct coff_link_hash_entry *, void *);
 1.43882 -+extern bfd_boolean _bfd_coff_write_task_globals
 1.43883 -+  (struct coff_link_hash_entry *, void *);
 1.43884 -+extern bfd_boolean _bfd_coff_link_input_bfd
 1.43885 -+  (struct coff_final_link_info *, bfd *);
 1.43886 -+extern bfd_boolean _bfd_coff_reloc_link_order
 1.43887 -+  (bfd *, struct coff_final_link_info *, asection *,
 1.43888 -+   struct bfd_link_order *);
 1.43889 -+
 1.43890 -+
 1.43891 -+#define coff_get_section_contents_in_window \
 1.43892 -+  _bfd_generic_get_section_contents_in_window
 1.43893 -+
 1.43894 -+/* Functions in xcofflink.c.  */
 1.43895 -+
 1.43896 -+extern long _bfd_xcoff_get_dynamic_symtab_upper_bound
 1.43897 -+  (bfd *);
 1.43898 -+extern long _bfd_xcoff_canonicalize_dynamic_symtab
 1.43899 -+  (bfd *, asymbol **);
 1.43900 -+extern long _bfd_xcoff_get_dynamic_reloc_upper_bound
 1.43901 -+  (bfd *);
 1.43902 -+extern long _bfd_xcoff_canonicalize_dynamic_reloc
 1.43903 -+  (bfd *, arelent **, asymbol **);
 1.43904 -+extern struct bfd_link_hash_table *_bfd_xcoff_bfd_link_hash_table_create
 1.43905 -+  (bfd *);
 1.43906 -+extern void _bfd_xcoff_bfd_link_hash_table_free
 1.43907 -+  (struct bfd_link_hash_table *);
 1.43908 -+extern bfd_boolean _bfd_xcoff_bfd_link_add_symbols
 1.43909 -+  (bfd *, struct bfd_link_info *);
 1.43910 -+extern bfd_boolean _bfd_xcoff_bfd_final_link
 1.43911 -+  (bfd *, struct bfd_link_info *);
 1.43912 -+extern bfd_boolean _bfd_ppc_xcoff_relocate_section
 1.43913 -+  (bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *,
 1.43914 -+   struct internal_reloc *, struct internal_syment *, asection **);
 1.43915 -+
 1.43916 -+/* Functions in coff-ppc.c.  FIXME: These are called be pe.em in the
 1.43917 -+   linker, and so should start with bfd and be declared in bfd.h.  */
 1.43918 -+
 1.43919 -+extern bfd_boolean ppc_allocate_toc_section
 1.43920 -+  (struct bfd_link_info *);
 1.43921 -+extern bfd_boolean ppc_process_before_allocation
 1.43922 -+  (bfd *, struct bfd_link_info *);
 1.43923 -+
 1.43924 -+/* Extracted from coffcode.h.  */
 1.43925 -+typedef struct coff_ptr_struct
 1.43926 -+{
 1.43927 -+  /* Remembers the offset from the first symbol in the file for
 1.43928 -+     this symbol. Generated by coff_renumber_symbols. */
 1.43929 -+  unsigned int offset;
 1.43930 -+
 1.43931 -+  /* Should the value of this symbol be renumbered.  Used for
 1.43932 -+     XCOFF C_BSTAT symbols.  Set by coff_slurp_symbol_table.  */
 1.43933 -+  unsigned int fix_value : 1;
 1.43934 -+
 1.43935 -+  /* Should the tag field of this symbol be renumbered.
 1.43936 -+     Created by coff_pointerize_aux. */
 1.43937 -+  unsigned int fix_tag : 1;
 1.43938 -+
 1.43939 -+  /* Should the endidx field of this symbol be renumbered.
 1.43940 -+     Created by coff_pointerize_aux. */
 1.43941 -+  unsigned int fix_end : 1;
 1.43942 -+
 1.43943 -+  /* Should the x_csect.x_scnlen field be renumbered.
 1.43944 -+     Created by coff_pointerize_aux. */
 1.43945 -+  unsigned int fix_scnlen : 1;
 1.43946 -+
 1.43947 -+  /* Fix up an XCOFF C_BINCL/C_EINCL symbol.  The value is the
 1.43948 -+     index into the line number entries.  Set by coff_slurp_symbol_table.  */
 1.43949 -+  unsigned int fix_line : 1;
 1.43950 -+
 1.43951 -+  /* The container for the symbol structure as read and translated
 1.43952 -+     from the file. */
 1.43953 -+  union
 1.43954 -+  {
 1.43955 -+    union internal_auxent auxent;
 1.43956 -+    struct internal_syment syment;
 1.43957 -+  } u;
 1.43958 -+} combined_entry_type;
 1.43959 -+
 1.43960 -+
 1.43961 -+/* Each canonical asymbol really looks like this: */
 1.43962 -+
 1.43963 -+typedef struct coff_symbol_struct
 1.43964 -+{
 1.43965 -+  /* The actual symbol which the rest of BFD works with */
 1.43966 -+  asymbol symbol;
 1.43967 -+
 1.43968 -+  /* A pointer to the hidden information for this symbol */
 1.43969 -+  combined_entry_type *native;
 1.43970 -+
 1.43971 -+  /* A pointer to the linenumber information for this symbol */
 1.43972 -+  struct lineno_cache_entry *lineno;
 1.43973 -+
 1.43974 -+  /* Have the line numbers been relocated yet ? */
 1.43975 -+  bfd_boolean done_lineno;
 1.43976 -+} coff_symbol_type;
 1.43977 -+/* COFF symbol classifications.  */
 1.43978 -+
 1.43979 -+enum coff_symbol_classification
 1.43980 -+{
 1.43981 -+  /* Global symbol.  */
 1.43982 -+  COFF_SYMBOL_GLOBAL,
 1.43983 -+  /* Common symbol.  */
 1.43984 -+  COFF_SYMBOL_COMMON,
 1.43985 -+  /* Undefined symbol.  */
 1.43986 -+  COFF_SYMBOL_UNDEFINED,
 1.43987 -+  /* Local symbol.  */
 1.43988 -+  COFF_SYMBOL_LOCAL,
 1.43989 -+  /* PE section symbol.  */
 1.43990 -+  COFF_SYMBOL_PE_SECTION
 1.43991 -+};
 1.43992 -+
 1.43993 -+typedef struct
 1.43994 -+{
 1.43995 -+  void (*_bfd_coff_swap_aux_in)
 1.43996 -+    (bfd *, void *, int, int, int, int, void *);
 1.43997 -+
 1.43998 -+  void (*_bfd_coff_swap_sym_in)
 1.43999 -+    (bfd *, void *, void *);
 1.44000 -+
 1.44001 -+  void (*_bfd_coff_swap_lineno_in)
 1.44002 -+    (bfd *, void *, void *);
 1.44003 -+
 1.44004 -+  unsigned int (*_bfd_coff_swap_aux_out)
 1.44005 -+    (bfd *, void *, int, int, int, int, void *);
 1.44006 -+
 1.44007 -+  unsigned int (*_bfd_coff_swap_sym_out)
 1.44008 -+    (bfd *, void *, void *);
 1.44009 -+
 1.44010 -+  unsigned int (*_bfd_coff_swap_lineno_out)
 1.44011 -+    (bfd *, void *, void *);
 1.44012 -+
 1.44013 -+  unsigned int (*_bfd_coff_swap_reloc_out)
 1.44014 -+    (bfd *, void *, void *);
 1.44015 -+
 1.44016 -+  unsigned int (*_bfd_coff_swap_filehdr_out)
 1.44017 -+    (bfd *, void *, void *);
 1.44018 -+
 1.44019 -+  unsigned int (*_bfd_coff_swap_aouthdr_out)
 1.44020 -+    (bfd *, void *, void *);
 1.44021 -+
 1.44022 -+  unsigned int (*_bfd_coff_swap_scnhdr_out)
 1.44023 -+    (bfd *, void *, void *);
 1.44024 -+
 1.44025 -+  unsigned int _bfd_filhsz;
 1.44026 -+  unsigned int _bfd_aoutsz;
 1.44027 -+  unsigned int _bfd_scnhsz;
 1.44028 -+  unsigned int _bfd_symesz;
 1.44029 -+  unsigned int _bfd_auxesz;
 1.44030 -+  unsigned int _bfd_relsz;
 1.44031 -+  unsigned int _bfd_linesz;
 1.44032 -+  unsigned int _bfd_filnmlen;
 1.44033 -+  bfd_boolean _bfd_coff_long_filenames;
 1.44034 -+  bfd_boolean _bfd_coff_long_section_names;
 1.44035 -+  unsigned int _bfd_coff_default_section_alignment_power;
 1.44036 -+  bfd_boolean _bfd_coff_force_symnames_in_strings;
 1.44037 -+  unsigned int _bfd_coff_debug_string_prefix_length;
 1.44038 -+
 1.44039 -+  void (*_bfd_coff_swap_filehdr_in)
 1.44040 -+    (bfd *, void *, void *);
 1.44041 -+
 1.44042 -+  void (*_bfd_coff_swap_aouthdr_in)
 1.44043 -+    (bfd *, void *, void *);
 1.44044 -+
 1.44045 -+  void (*_bfd_coff_swap_scnhdr_in)
 1.44046 -+    (bfd *, void *, void *);
 1.44047 -+
 1.44048 -+  void (*_bfd_coff_swap_reloc_in)
 1.44049 -+    (bfd *abfd, void *, void *);
 1.44050 -+
 1.44051 -+  bfd_boolean (*_bfd_coff_bad_format_hook)
 1.44052 -+    (bfd *, void *);
 1.44053 -+
 1.44054 -+  bfd_boolean (*_bfd_coff_set_arch_mach_hook)
 1.44055 -+    (bfd *, void *);
 1.44056 -+
 1.44057 -+  void * (*_bfd_coff_mkobject_hook)
 1.44058 -+    (bfd *, void *, void *);
 1.44059 -+
 1.44060 -+  bfd_boolean (*_bfd_styp_to_sec_flags_hook)
 1.44061 -+    (bfd *, void *, const char *, asection *, flagword *);
 1.44062 -+
 1.44063 -+  void (*_bfd_set_alignment_hook)
 1.44064 -+    (bfd *, asection *, void *);
 1.44065 -+
 1.44066 -+  bfd_boolean (*_bfd_coff_slurp_symbol_table)
 1.44067 -+    (bfd *);
 1.44068 -+
 1.44069 -+  bfd_boolean (*_bfd_coff_symname_in_debug)
 1.44070 -+    (bfd *, struct internal_syment *);
 1.44071 -+
 1.44072 -+  bfd_boolean (*_bfd_coff_pointerize_aux_hook)
 1.44073 -+    (bfd *, combined_entry_type *, combined_entry_type *,
 1.44074 -+            unsigned int, combined_entry_type *);
 1.44075 -+
 1.44076 -+  bfd_boolean (*_bfd_coff_print_aux)
 1.44077 -+    (bfd *, FILE *, combined_entry_type *, combined_entry_type *,
 1.44078 -+            combined_entry_type *, unsigned int);
 1.44079 -+
 1.44080 -+  void (*_bfd_coff_reloc16_extra_cases)
 1.44081 -+    (bfd *, struct bfd_link_info *, struct bfd_link_order *, arelent *,
 1.44082 -+           bfd_byte *, unsigned int *, unsigned int *);
 1.44083 -+
 1.44084 -+  int (*_bfd_coff_reloc16_estimate)
 1.44085 -+    (bfd *, asection *, arelent *, unsigned int,
 1.44086 -+            struct bfd_link_info *);
 1.44087 -+
 1.44088 -+  enum coff_symbol_classification (*_bfd_coff_classify_symbol)
 1.44089 -+    (bfd *, struct internal_syment *);
 1.44090 -+
 1.44091 -+  bfd_boolean (*_bfd_coff_compute_section_file_positions)
 1.44092 -+    (bfd *);
 1.44093 -+
 1.44094 -+  bfd_boolean (*_bfd_coff_start_final_link)
 1.44095 -+    (bfd *, struct bfd_link_info *);
 1.44096 -+
 1.44097 -+  bfd_boolean (*_bfd_coff_relocate_section)
 1.44098 -+    (bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *,
 1.44099 -+            struct internal_reloc *, struct internal_syment *, asection **);
 1.44100 -+
 1.44101 -+  reloc_howto_type *(*_bfd_coff_rtype_to_howto)
 1.44102 -+    (bfd *, asection *, struct internal_reloc *,
 1.44103 -+            struct coff_link_hash_entry *, struct internal_syment *,
 1.44104 -+            bfd_vma *);
 1.44105 -+
 1.44106 -+  bfd_boolean (*_bfd_coff_adjust_symndx)
 1.44107 -+    (bfd *, struct bfd_link_info *, bfd *, asection *,
 1.44108 -+            struct internal_reloc *, bfd_boolean *);
 1.44109 -+
 1.44110 -+  bfd_boolean (*_bfd_coff_link_add_one_symbol)
 1.44111 -+    (struct bfd_link_info *, bfd *, const char *, flagword,
 1.44112 -+            asection *, bfd_vma, const char *, bfd_boolean, bfd_boolean,
 1.44113 -+            struct bfd_link_hash_entry **);
 1.44114 -+
 1.44115 -+  bfd_boolean (*_bfd_coff_link_output_has_begun)
 1.44116 -+    (bfd *, struct coff_final_link_info *);
 1.44117 -+
 1.44118 -+  bfd_boolean (*_bfd_coff_final_link_postscript)
 1.44119 -+    (bfd *, struct coff_final_link_info *);
 1.44120 -+
 1.44121 -+} bfd_coff_backend_data;
 1.44122 -+
 1.44123 -+#define coff_backend_info(abfd) \
 1.44124 -+  ((bfd_coff_backend_data *) (abfd)->xvec->backend_data)
 1.44125 -+
 1.44126 -+#define bfd_coff_swap_aux_in(a,e,t,c,ind,num,i) \
 1.44127 -+  ((coff_backend_info (a)->_bfd_coff_swap_aux_in) (a,e,t,c,ind,num,i))
 1.44128 -+
 1.44129 -+#define bfd_coff_swap_sym_in(a,e,i) \
 1.44130 -+  ((coff_backend_info (a)->_bfd_coff_swap_sym_in) (a,e,i))
 1.44131 -+
 1.44132 -+#define bfd_coff_swap_lineno_in(a,e,i) \
 1.44133 -+  ((coff_backend_info ( a)->_bfd_coff_swap_lineno_in) (a,e,i))
 1.44134 -+
 1.44135 -+#define bfd_coff_swap_reloc_out(abfd, i, o) \
 1.44136 -+  ((coff_backend_info (abfd)->_bfd_coff_swap_reloc_out) (abfd, i, o))
 1.44137 -+
 1.44138 -+#define bfd_coff_swap_lineno_out(abfd, i, o) \
 1.44139 -+  ((coff_backend_info (abfd)->_bfd_coff_swap_lineno_out) (abfd, i, o))
 1.44140 -+
 1.44141 -+#define bfd_coff_swap_aux_out(a,i,t,c,ind,num,o) \
 1.44142 -+  ((coff_backend_info (a)->_bfd_coff_swap_aux_out) (a,i,t,c,ind,num,o))
 1.44143 -+
 1.44144 -+#define bfd_coff_swap_sym_out(abfd, i,o) \
 1.44145 -+  ((coff_backend_info (abfd)->_bfd_coff_swap_sym_out) (abfd, i, o))
 1.44146 -+
 1.44147 -+#define bfd_coff_swap_scnhdr_out(abfd, i,o) \
 1.44148 -+  ((coff_backend_info (abfd)->_bfd_coff_swap_scnhdr_out) (abfd, i, o))
 1.44149 -+
 1.44150 -+#define bfd_coff_swap_filehdr_out(abfd, i,o) \
 1.44151 -+  ((coff_backend_info (abfd)->_bfd_coff_swap_filehdr_out) (abfd, i, o))
 1.44152 -+
 1.44153 -+#define bfd_coff_swap_aouthdr_out(abfd, i,o) \
 1.44154 -+  ((coff_backend_info (abfd)->_bfd_coff_swap_aouthdr_out) (abfd, i, o))
 1.44155 -+
 1.44156 -+#define bfd_coff_filhsz(abfd) (coff_backend_info (abfd)->_bfd_filhsz)
 1.44157 -+#define bfd_coff_aoutsz(abfd) (coff_backend_info (abfd)->_bfd_aoutsz)
 1.44158 -+#define bfd_coff_scnhsz(abfd) (coff_backend_info (abfd)->_bfd_scnhsz)
 1.44159 -+#define bfd_coff_symesz(abfd) (coff_backend_info (abfd)->_bfd_symesz)
 1.44160 -+#define bfd_coff_auxesz(abfd) (coff_backend_info (abfd)->_bfd_auxesz)
 1.44161 -+#define bfd_coff_relsz(abfd)  (coff_backend_info (abfd)->_bfd_relsz)
 1.44162 -+#define bfd_coff_linesz(abfd) (coff_backend_info (abfd)->_bfd_linesz)
 1.44163 -+#define bfd_coff_filnmlen(abfd) (coff_backend_info (abfd)->_bfd_filnmlen)
 1.44164 -+#define bfd_coff_long_filenames(abfd) \
 1.44165 -+  (coff_backend_info (abfd)->_bfd_coff_long_filenames)
 1.44166 -+#define bfd_coff_long_section_names(abfd) \
 1.44167 -+  (coff_backend_info (abfd)->_bfd_coff_long_section_names)
 1.44168 -+#define bfd_coff_default_section_alignment_power(abfd) \
 1.44169 -+  (coff_backend_info (abfd)->_bfd_coff_default_section_alignment_power)
 1.44170 -+#define bfd_coff_swap_filehdr_in(abfd, i,o) \
 1.44171 -+  ((coff_backend_info (abfd)->_bfd_coff_swap_filehdr_in) (abfd, i, o))
 1.44172 -+
 1.44173 -+#define bfd_coff_swap_aouthdr_in(abfd, i,o) \
 1.44174 -+  ((coff_backend_info (abfd)->_bfd_coff_swap_aouthdr_in) (abfd, i, o))
 1.44175 -+
 1.44176 -+#define bfd_coff_swap_scnhdr_in(abfd, i,o) \
 1.44177 -+  ((coff_backend_info (abfd)->_bfd_coff_swap_scnhdr_in) (abfd, i, o))
 1.44178 -+
 1.44179 -+#define bfd_coff_swap_reloc_in(abfd, i, o) \
 1.44180 -+  ((coff_backend_info (abfd)->_bfd_coff_swap_reloc_in) (abfd, i, o))
 1.44181 -+
 1.44182 -+#define bfd_coff_bad_format_hook(abfd, filehdr) \
 1.44183 -+  ((coff_backend_info (abfd)->_bfd_coff_bad_format_hook) (abfd, filehdr))
 1.44184 -+
 1.44185 -+#define bfd_coff_set_arch_mach_hook(abfd, filehdr)\
 1.44186 -+  ((coff_backend_info (abfd)->_bfd_coff_set_arch_mach_hook) (abfd, filehdr))
 1.44187 -+#define bfd_coff_mkobject_hook(abfd, filehdr, aouthdr)\
 1.44188 -+  ((coff_backend_info (abfd)->_bfd_coff_mkobject_hook)\
 1.44189 -+   (abfd, filehdr, aouthdr))
 1.44190 -+
 1.44191 -+#define bfd_coff_styp_to_sec_flags_hook(abfd, scnhdr, name, section, flags_ptr)\
 1.44192 -+  ((coff_backend_info (abfd)->_bfd_styp_to_sec_flags_hook)\
 1.44193 -+   (abfd, scnhdr, name, section, flags_ptr))
 1.44194 -+
 1.44195 -+#define bfd_coff_set_alignment_hook(abfd, sec, scnhdr)\
 1.44196 -+  ((coff_backend_info (abfd)->_bfd_set_alignment_hook) (abfd, sec, scnhdr))
 1.44197 -+
 1.44198 -+#define bfd_coff_slurp_symbol_table(abfd)\
 1.44199 -+  ((coff_backend_info (abfd)->_bfd_coff_slurp_symbol_table) (abfd))
 1.44200 -+
 1.44201 -+#define bfd_coff_symname_in_debug(abfd, sym)\
 1.44202 -+  ((coff_backend_info (abfd)->_bfd_coff_symname_in_debug) (abfd, sym))
 1.44203 -+
 1.44204 -+#define bfd_coff_force_symnames_in_strings(abfd)\
 1.44205 -+  (coff_backend_info (abfd)->_bfd_coff_force_symnames_in_strings)
 1.44206 -+
 1.44207 -+#define bfd_coff_debug_string_prefix_length(abfd)\
 1.44208 -+  (coff_backend_info (abfd)->_bfd_coff_debug_string_prefix_length)
 1.44209 -+
 1.44210 -+#define bfd_coff_print_aux(abfd, file, base, symbol, aux, indaux)\
 1.44211 -+  ((coff_backend_info (abfd)->_bfd_coff_print_aux)\
 1.44212 -+   (abfd, file, base, symbol, aux, indaux))
 1.44213 -+
 1.44214 -+#define bfd_coff_reloc16_extra_cases(abfd, link_info, link_order,\
 1.44215 -+                                     reloc, data, src_ptr, dst_ptr)\
 1.44216 -+  ((coff_backend_info (abfd)->_bfd_coff_reloc16_extra_cases)\
 1.44217 -+   (abfd, link_info, link_order, reloc, data, src_ptr, dst_ptr))
 1.44218 -+
 1.44219 -+#define bfd_coff_reloc16_estimate(abfd, section, reloc, shrink, link_info)\
 1.44220 -+  ((coff_backend_info (abfd)->_bfd_coff_reloc16_estimate)\
 1.44221 -+   (abfd, section, reloc, shrink, link_info))
 1.44222 -+
 1.44223 -+#define bfd_coff_classify_symbol(abfd, sym)\
 1.44224 -+  ((coff_backend_info (abfd)->_bfd_coff_classify_symbol)\
 1.44225 -+   (abfd, sym))
 1.44226 -+
 1.44227 -+#define bfd_coff_compute_section_file_positions(abfd)\
 1.44228 -+  ((coff_backend_info (abfd)->_bfd_coff_compute_section_file_positions)\
 1.44229 -+   (abfd))
 1.44230 -+
 1.44231 -+#define bfd_coff_start_final_link(obfd, info)\
 1.44232 -+  ((coff_backend_info (obfd)->_bfd_coff_start_final_link)\
 1.44233 -+   (obfd, info))
 1.44234 -+#define bfd_coff_relocate_section(obfd,info,ibfd,o,con,rel,isyms,secs)\
 1.44235 -+  ((coff_backend_info (ibfd)->_bfd_coff_relocate_section)\
 1.44236 -+   (obfd, info, ibfd, o, con, rel, isyms, secs))
 1.44237 -+#define bfd_coff_rtype_to_howto(abfd, sec, rel, h, sym, addendp)\
 1.44238 -+  ((coff_backend_info (abfd)->_bfd_coff_rtype_to_howto)\
 1.44239 -+   (abfd, sec, rel, h, sym, addendp))
 1.44240 -+#define bfd_coff_adjust_symndx(obfd, info, ibfd, sec, rel, adjustedp)\
 1.44241 -+  ((coff_backend_info (abfd)->_bfd_coff_adjust_symndx)\
 1.44242 -+   (obfd, info, ibfd, sec, rel, adjustedp))
 1.44243 -+#define bfd_coff_link_add_one_symbol(info, abfd, name, flags, section,\
 1.44244 -+                                     value, string, cp, coll, hashp)\
 1.44245 -+  ((coff_backend_info (abfd)->_bfd_coff_link_add_one_symbol)\
 1.44246 -+   (info, abfd, name, flags, section, value, string, cp, coll, hashp))
 1.44247 -+
 1.44248 -+#define bfd_coff_link_output_has_begun(a,p) \
 1.44249 -+  ((coff_backend_info (a)->_bfd_coff_link_output_has_begun) (a, p))
 1.44250 -+#define bfd_coff_final_link_postscript(a,p) \
 1.44251 -+  ((coff_backend_info (a)->_bfd_coff_final_link_postscript) (a, p))
 1.44252 -+
 1.44253 ---- a/bfd/libbfd.h
 1.44254 -+++ b/bfd/libbfd.h
 1.44255 -@@ -1601,6 +1601,48 @@ static const char *const bfd_reloc_code_
 1.44256 -   "BFD_RELOC_AVR_LDI",
 1.44257 -   "BFD_RELOC_AVR_6",
 1.44258 -   "BFD_RELOC_AVR_6_ADIW",
 1.44259 -+  "BFD_RELOC_AVR32_DIFF32",
 1.44260 -+  "BFD_RELOC_AVR32_DIFF16",
 1.44261 -+  "BFD_RELOC_AVR32_DIFF8",
 1.44262 -+  "BFD_RELOC_AVR32_GOT32",
 1.44263 -+  "BFD_RELOC_AVR32_GOT16",
 1.44264 -+  "BFD_RELOC_AVR32_GOT8",
 1.44265 -+  "BFD_RELOC_AVR32_21S",
 1.44266 -+  "BFD_RELOC_AVR32_16U",
 1.44267 -+  "BFD_RELOC_AVR32_16S",
 1.44268 -+  "BFD_RELOC_AVR32_SUB5",
 1.44269 -+  "BFD_RELOC_AVR32_8S_EXT",
 1.44270 -+  "BFD_RELOC_AVR32_8S",
 1.44271 -+  "BFD_RELOC_AVR32_15S",
 1.44272 -+  "BFD_RELOC_AVR32_22H_PCREL",
 1.44273 -+  "BFD_RELOC_AVR32_18W_PCREL",
 1.44274 -+  "BFD_RELOC_AVR32_16B_PCREL",
 1.44275 -+  "BFD_RELOC_AVR32_16N_PCREL",
 1.44276 -+  "BFD_RELOC_AVR32_14UW_PCREL",
 1.44277 -+  "BFD_RELOC_AVR32_11H_PCREL",
 1.44278 -+  "BFD_RELOC_AVR32_10UW_PCREL",
 1.44279 -+  "BFD_RELOC_AVR32_9H_PCREL",
 1.44280 -+  "BFD_RELOC_AVR32_9UW_PCREL",
 1.44281 -+  "BFD_RELOC_AVR32_GOTPC",
 1.44282 -+  "BFD_RELOC_AVR32_GOTCALL",
 1.44283 -+  "BFD_RELOC_AVR32_LDA_GOT",
 1.44284 -+  "BFD_RELOC_AVR32_GOT21S",
 1.44285 -+  "BFD_RELOC_AVR32_GOT18SW",
 1.44286 -+  "BFD_RELOC_AVR32_GOT16S",
 1.44287 -+  "BFD_RELOC_AVR32_32_CPENT",
 1.44288 -+  "BFD_RELOC_AVR32_CPCALL",
 1.44289 -+  "BFD_RELOC_AVR32_16_CP",
 1.44290 -+  "BFD_RELOC_AVR32_9W_CP",
 1.44291 -+  "BFD_RELOC_AVR32_ALIGN",
 1.44292 -+  "BFD_RELOC_AVR32_14UW",
 1.44293 -+  "BFD_RELOC_AVR32_10UW",
 1.44294 -+  "BFD_RELOC_AVR32_10SW",
 1.44295 -+  "BFD_RELOC_AVR32_STHH_W",
 1.44296 -+  "BFD_RELOC_AVR32_7UW",
 1.44297 -+  "BFD_RELOC_AVR32_6S",
 1.44298 -+  "BFD_RELOC_AVR32_6UW",
 1.44299 -+  "BFD_RELOC_AVR32_4UH",
 1.44300 -+  "BFD_RELOC_AVR32_3U",
 1.44301 -   "BFD_RELOC_390_12",
 1.44302 -   "BFD_RELOC_390_GOT12",
 1.44303 -   "BFD_RELOC_390_PLT32",
 1.44304 ---- /dev/null
 1.44305 -+++ b/bfd/libtool
 1.44306 -@@ -0,0 +1,7871 @@
 1.44307 -+#! /bin/bash
 1.44308 -+
 1.44309 -+# libtool - Provide generalized library-building support services.
 1.44310 -+# Generated automatically by config.status (bfd) 2.18.atmel.1.0.1
 1.44311 -+# Libtool was configured on host hcegtvedt:
 1.44312 -+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
 1.44313 -+#
 1.44314 -+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
 1.44315 -+#                 2006, 2007, 2008 Free Software Foundation, Inc.
 1.44316 -+#   Written by Gordon Matzigkeit, 1996
 1.44317 -+#
 1.44318 -+#   This file is part of GNU Libtool.
 1.44319 -+#
 1.44320 -+# GNU Libtool is free software; you can redistribute it and/or
 1.44321 -+# modify it under the terms of the GNU General Public License as
 1.44322 -+# published by the Free Software Foundation; either version 2 of
 1.44323 -+# the License, or (at your option) any later version.
 1.44324 -+#
 1.44325 -+# As a special exception to the GNU General Public License,
 1.44326 -+# if you distribute this file as part of a program or library that
 1.44327 -+# is built using GNU Libtool, you may include this file under the
 1.44328 -+# same distribution terms that you use for the rest of that program.
 1.44329 -+#
 1.44330 -+# GNU Libtool is distributed in the hope that it will be useful,
 1.44331 -+# but WITHOUT ANY WARRANTY; without even the implied warranty of
 1.44332 -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 1.44333 -+# GNU General Public License for more details.
 1.44334 -+#
 1.44335 -+# You should have received a copy of the GNU General Public License
 1.44336 -+# along with GNU Libtool; see the file COPYING.  If not, a copy
 1.44337 -+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
 1.44338 -+# obtained by writing to the Free Software Foundation, Inc.,
 1.44339 -+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 1.44340 -+
 1.44341 -+
 1.44342 -+# The names of the tagged configurations supported by this script.
 1.44343 -+available_tags=""
 1.44344 -+
 1.44345 -+# ### BEGIN LIBTOOL CONFIG
 1.44346 -+
 1.44347 -+# Whether or not to build shared libraries.
 1.44348 -+build_libtool_libs=no
 1.44349 -+
 1.44350 -+# Which release of libtool.m4 was used?
 1.44351 -+macro_version=2.2.4
 1.44352 -+macro_revision=1.2976
 1.44353 -+
 1.44354 -+# Whether or not to build static libraries.
 1.44355 -+build_old_libs=yes
 1.44356 -+
 1.44357 -+# What type of objects to build.
 1.44358 -+pic_mode=default
 1.44359 -+
 1.44360 -+# Whether or not to optimize for fast installation.
 1.44361 -+fast_install=needless
 1.44362 -+
 1.44363 -+# The host system.
 1.44364 -+host_alias=i686-pc-linux-gnu
 1.44365 -+host=i686-pc-linux-gnu
 1.44366 -+host_os=linux-gnu
 1.44367 -+
 1.44368 -+# The build system.
 1.44369 -+build_alias=i686-pc-linux-gnu
 1.44370 -+build=i686-pc-linux-gnu
 1.44371 -+build_os=linux-gnu
 1.44372 -+
 1.44373 -+# A sed program that does not truncate output.
 1.44374 -+SED="/bin/sed"
 1.44375 -+
 1.44376 -+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
 1.44377 -+Xsed="$SED -e 1s/^X//"
 1.44378 -+
 1.44379 -+# A grep program that handles long lines.
 1.44380 -+GREP="/bin/grep"
 1.44381 -+
 1.44382 -+# An ERE matcher.
 1.44383 -+EGREP="/bin/grep -E"
 1.44384 -+
 1.44385 -+# A literal string matcher.
 1.44386 -+FGREP="/bin/grep -F"
 1.44387 -+
 1.44388 -+# A BSD- or MS-compatible name lister.
 1.44389 -+NM="nm"
 1.44390 -+
 1.44391 -+# Whether we need soft or hard links.
 1.44392 -+LN_S="ln -s"
 1.44393 -+
 1.44394 -+# What is the maximum length of a command?
 1.44395 -+max_cmd_len=805306365
 1.44396 -+
 1.44397 -+# Object file suffix (normally "o").
 1.44398 -+objext=o
 1.44399 -+
 1.44400 -+# Executable file suffix (normally "").
 1.44401 -+exeext=
 1.44402 -+
 1.44403 -+# whether the shell understands "unset".
 1.44404 -+lt_unset=unset
 1.44405 -+
 1.44406 -+# turn spaces into newlines.
 1.44407 -+SP2NL="tr \\040 \\012"
 1.44408 -+
 1.44409 -+# turn newlines into spaces.
 1.44410 -+NL2SP="tr \\015\\012 \\040\\040"
 1.44411 -+
 1.44412 -+# How to create reloadable object files.
 1.44413 -+reload_flag=" -r"
 1.44414 -+reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
 1.44415 -+
 1.44416 -+# Method to check whether dependent libraries are shared objects.
 1.44417 -+deplibs_check_method="pass_all"
 1.44418 -+
 1.44419 -+# Command to use when deplibs_check_method == "file_magic".
 1.44420 -+file_magic_cmd="\$MAGIC_CMD"
 1.44421 -+
 1.44422 -+# The archiver.
 1.44423 -+AR="ar"
 1.44424 -+AR_FLAGS="cru"
 1.44425 -+
 1.44426 -+# A symbol stripping program.
 1.44427 -+STRIP="strip"
 1.44428 -+
 1.44429 -+# Commands used to install an old-style archive.
 1.44430 -+RANLIB="ranlib"
 1.44431 -+old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
 1.44432 -+old_postuninstall_cmds=""
 1.44433 -+
 1.44434 -+# A C compiler.
 1.44435 -+LTCC="gcc"
 1.44436 -+
 1.44437 -+# LTCC compiler flags.
 1.44438 -+LTCFLAGS="-g -O2"
 1.44439 -+
 1.44440 -+# Take the output of nm and produce a listing of raw symbols and C names.
 1.44441 -+global_symbol_pipe="sed -n -e 's/^.*[	 ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[	 ][	 ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"
 1.44442 -+
 1.44443 -+# Transform the output of nm in a proper C declaration.
 1.44444 -+global_symbol_to_cdecl="sed -n -e 's/^T .* \\(.*\\)\$/extern int \\1();/p' -e 's/^[ABCDGIRSTW]* .* \\(.*\\)\$/extern char \\1;/p'"
 1.44445 -+
 1.44446 -+# Transform the output of nm in a C name address pair.
 1.44447 -+global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/  {\\\"\\1\\\", (void *) 0},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\([^ ]*\\)\$/  {\"\\2\", (void *) \\&\\2},/p'"
 1.44448 -+
 1.44449 -+# Transform the output of nm in a C name address pair when lib prefix is needed.
 1.44450 -+global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \\([^ ]*\\) \$/  {\\\"\\1\\\", (void *) 0},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\(lib[^ ]*\\)\$/  {\"\\2\", (void *) \\&\\2},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\([^ ]*\\)\$/  {\"lib\\2\", (void *) \\&\\2},/p'"
 1.44451 -+
 1.44452 -+# The name of the directory that contains temporary libtool files.
 1.44453 -+objdir=.libs
 1.44454 -+
 1.44455 -+# Shell to use when invoking shell scripts.
 1.44456 -+SHELL="/bin/bash"
 1.44457 -+
 1.44458 -+# An echo program that does not interpret backslashes.
 1.44459 -+ECHO="echo"
 1.44460 -+
 1.44461 -+# Used to examine libraries when file_magic_cmd begins with "file".
 1.44462 -+MAGIC_CMD=file
 1.44463 -+
 1.44464 -+# Must we lock files when doing compilation?
 1.44465 -+need_locks="no"
 1.44466 -+
 1.44467 -+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
 1.44468 -+DSYMUTIL=""
 1.44469 -+
 1.44470 -+# Tool to change global to local symbols on Mac OS X.
 1.44471 -+NMEDIT=""
 1.44472 -+
 1.44473 -+# Tool to manipulate fat objects and archives on Mac OS X.
 1.44474 -+LIPO=""
 1.44475 -+
 1.44476 -+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
 1.44477 -+OTOOL=""
 1.44478 -+
 1.44479 -+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
 1.44480 -+OTOOL64=""
 1.44481 -+
 1.44482 -+# Old archive suffix (normally "a").
 1.44483 -+libext=a
 1.44484 -+
 1.44485 -+# Shared library suffix (normally ".so").
 1.44486 -+shrext_cmds=".so"
 1.44487 -+
 1.44488 -+# The commands to extract the exported symbol list from a shared archive.
 1.44489 -+extract_expsyms_cmds=""
 1.44490 -+
 1.44491 -+# Variables whose values should be saved in libtool wrapper scripts and
 1.44492 -+# restored at link time.
 1.44493 -+variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
 1.44494 -+
 1.44495 -+# Do we need the "lib" prefix for modules?
 1.44496 -+need_lib_prefix=no
 1.44497 -+
 1.44498 -+# Do we need a version for libraries?
 1.44499 -+need_version=no
 1.44500 -+
 1.44501 -+# Library versioning type.
 1.44502 -+version_type=linux
 1.44503 -+
 1.44504 -+# Shared library runtime path variable.
 1.44505 -+runpath_var=LD_RUN_PATH
 1.44506 -+
 1.44507 -+# Shared library path variable.
 1.44508 -+shlibpath_var=LD_LIBRARY_PATH
 1.44509 -+
 1.44510 -+# Is shlibpath searched before the hard-coded library search path?
 1.44511 -+shlibpath_overrides_runpath=no
 1.44512 -+
 1.44513 -+# Format of library name prefix.
 1.44514 -+libname_spec="lib\$name"
 1.44515 -+
 1.44516 -+# List of archive names.  First name is the real one, the rest are links.
 1.44517 -+# The last name is the one that the linker finds with -lNAME
 1.44518 -+library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"
 1.44519 -+
 1.44520 -+# The coded name of the library, if different from the real name.
 1.44521 -+soname_spec="\${libname}\${release}\${shared_ext}\$major"
 1.44522 -+
 1.44523 -+# Command to use after installation of a shared archive.
 1.44524 -+postinstall_cmds=""
 1.44525 -+
 1.44526 -+# Command to use after uninstallation of a shared archive.
 1.44527 -+postuninstall_cmds=""
 1.44528 -+
 1.44529 -+# Commands used to finish a libtool library installation in a directory.
 1.44530 -+finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"
 1.44531 -+
 1.44532 -+# As "finish_cmds", except a single script fragment to be evaled but
 1.44533 -+# not shown.
 1.44534 -+finish_eval=""
 1.44535 -+
 1.44536 -+# Whether we should hardcode library paths into libraries.
 1.44537 -+hardcode_into_libs=yes
 1.44538 -+
 1.44539 -+# Compile-time system search path for libraries.
 1.44540 -+sys_lib_search_path_spec="/usr/lib/gcc/i486-linux-gnu/4.2.4 /usr/lib /lib"
 1.44541 -+
 1.44542 -+# Run-time system search path for libraries.
 1.44543 -+sys_lib_dlsearch_path_spec="/lib /usr/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/lib/alsa-lib /usr/local/lib "
 1.44544 -+
 1.44545 -+# Whether dlopen is supported.
 1.44546 -+dlopen_support=unknown
 1.44547 -+
 1.44548 -+# Whether dlopen of programs is supported.
 1.44549 -+dlopen_self=unknown
 1.44550 -+
 1.44551 -+# Whether dlopen of statically linked programs is supported.
 1.44552 -+dlopen_self_static=unknown
 1.44553 -+
 1.44554 -+# Commands to strip libraries.
 1.44555 -+old_striplib="strip --strip-debug"
 1.44556 -+striplib="strip --strip-unneeded"
 1.44557 -+
 1.44558 -+
 1.44559 -+# The linker used to build libraries.
 1.44560 -+LD="ld"
 1.44561 -+
 1.44562 -+# Commands used to build an old-style archive.
 1.44563 -+old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib"
 1.44564 -+
 1.44565 -+# A language specific compiler.
 1.44566 -+CC="gcc"
 1.44567 -+
 1.44568 -+# Is the compiler the GNU compiler?
 1.44569 -+with_gcc=yes
 1.44570 -+
 1.44571 -+# Compiler flag to turn off builtin functions.
 1.44572 -+no_builtin_flag=" -fno-builtin"
 1.44573 -+
 1.44574 -+# How to pass a linker flag through the compiler.
 1.44575 -+wl="-Wl,"
 1.44576 -+
 1.44577 -+# Additional compiler flags for building library objects.
 1.44578 -+pic_flag=" -fPIC -DPIC"
 1.44579 -+
 1.44580 -+# Compiler flag to prevent dynamic linking.
 1.44581 -+link_static_flag="-static"
 1.44582 -+
 1.44583 -+# Does compiler simultaneously support -c and -o options?
 1.44584 -+compiler_c_o="yes"
 1.44585 -+
 1.44586 -+# Whether or not to add -lc for building shared libraries.
 1.44587 -+build_libtool_need_lc=yes
 1.44588 -+
 1.44589 -+# Whether or not to disallow shared libs when runtime libs are static.
 1.44590 -+allow_libtool_libs_with_static_runtimes=no
 1.44591 -+
 1.44592 -+# Compiler flag to allow reflexive dlopens.
 1.44593 -+export_dynamic_flag_spec="\${wl}--export-dynamic"
 1.44594 -+
 1.44595 -+# Compiler flag to generate shared objects directly from archives.
 1.44596 -+whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"
 1.44597 -+
 1.44598 -+# Whether the compiler copes with passing no objects directly.
 1.44599 -+compiler_needs_object="no"
 1.44600 -+
 1.44601 -+# Create an old-style archive from a shared archive.
 1.44602 -+old_archive_from_new_cmds=""
 1.44603 -+
 1.44604 -+# Create a temporary old-style archive to link instead of a shared archive.
 1.44605 -+old_archive_from_expsyms_cmds=""
 1.44606 -+
 1.44607 -+# Commands used to build a shared archive.
 1.44608 -+archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
 1.44609 -+archive_expsym_cmds="echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~
 1.44610 -+	    cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~
 1.44611 -+	    echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~
 1.44612 -+	    \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib"
 1.44613 -+
 1.44614 -+# Commands used to build a loadable module if different from building
 1.44615 -+# a shared archive.
 1.44616 -+module_cmds=""
 1.44617 -+module_expsym_cmds=""
 1.44618 -+
 1.44619 -+# Whether we are building with GNU ld or not.
 1.44620 -+with_gnu_ld="yes"
 1.44621 -+
 1.44622 -+# Flag that allows shared libraries with undefined symbols to be built.
 1.44623 -+allow_undefined_flag=""
 1.44624 -+
 1.44625 -+# Flag that enforces no undefined symbols.
 1.44626 -+no_undefined_flag=""
 1.44627 -+
 1.44628 -+# Flag to hardcode $libdir into a binary during linking.
 1.44629 -+# This must work even if $libdir does not exist
 1.44630 -+hardcode_libdir_flag_spec="\${wl}-rpath \${wl}\$libdir"
 1.44631 -+
 1.44632 -+# If ld is used when linking, flag to hardcode $libdir into a binary
 1.44633 -+# during linking.  This must work even if $libdir does not exist.
 1.44634 -+hardcode_libdir_flag_spec_ld=""
 1.44635 -+
 1.44636 -+# Whether we need a single "-rpath" flag with a separated argument.
 1.44637 -+hardcode_libdir_separator=""
 1.44638 -+
 1.44639 -+# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
 1.44640 -+# DIR into the resulting binary.
 1.44641 -+hardcode_direct=no
 1.44642 -+
 1.44643 -+# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
 1.44644 -+# DIR into the resulting binary and the resulting library dependency is
 1.44645 -+# "absolute",i.e impossible to change by setting ${shlibpath_var} if the
 1.44646 -+# library is relocated.
 1.44647 -+hardcode_direct_absolute=no
 1.44648 -+
 1.44649 -+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
 1.44650 -+# into the resulting binary.
 1.44651 -+hardcode_minus_L=no
 1.44652 -+
 1.44653 -+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
 1.44654 -+# into the resulting binary.
 1.44655 -+hardcode_shlibpath_var=unsupported
 1.44656 -+
 1.44657 -+# Set to "yes" if building a shared library automatically hardcodes DIR
 1.44658 -+# into the library and all subsequent libraries and executables linked
 1.44659 -+# against it.
 1.44660 -+hardcode_automatic=no
 1.44661 -+
 1.44662 -+# Set to yes if linker adds runtime paths of dependent libraries
 1.44663 -+# to runtime path list.
 1.44664 -+inherit_rpath=no
 1.44665 -+
 1.44666 -+# Whether libtool must link a program against all its dependency libraries.
 1.44667 -+link_all_deplibs=unknown
 1.44668 -+
 1.44669 -+# Fix the shell variable $srcfile for the compiler.
 1.44670 -+fix_srcfile_path=""
 1.44671 -+
 1.44672 -+# Set to "yes" if exported symbols are required.
 1.44673 -+always_export_symbols=no
 1.44674 -+
 1.44675 -+# The commands to list exported symbols.
 1.44676 -+export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
 1.44677 -+
 1.44678 -+# Symbols that should not be listed in the preloaded symbols.
 1.44679 -+exclude_expsyms="_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*"
 1.44680 -+
 1.44681 -+# Symbols that must always be exported.
 1.44682 -+include_expsyms=""
 1.44683 -+
 1.44684 -+# Commands necessary for linking programs (against libraries) with templates.
 1.44685 -+prelink_cmds=""
 1.44686 -+
 1.44687 -+# Specify filename containing input files.
 1.44688 -+file_list_spec=""
 1.44689 -+
 1.44690 -+# How to hardcode a shared library path into an executable.
 1.44691 -+hardcode_action=immediate
 1.44692 -+
 1.44693 -+# ### END LIBTOOL CONFIG
 1.44694 -+
 1.44695 -+# Generated from ltmain.m4sh; do not edit by hand
 1.44696 -+
 1.44697 -+# ltmain.sh (GNU libtool 1.2435 2007/03/18 18:44:42) 2.1a
 1.44698 -+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 1.44699 -+
 1.44700 -+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 1.44701 -+# This is free software; see the source for copying conditions.  There is NO
 1.44702 -+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 1.44703 -+
 1.44704 -+# This program is free software; you can redistribute it and/or modify
 1.44705 -+# it under the terms of the GNU General Public License as published by
 1.44706 -+# the Free Software Foundation; either version 2 of the License, or
 1.44707 -+# (at your option) any later version.
 1.44708 -+#
 1.44709 -+# This program is distributed in the hope that it will be useful, but
 1.44710 -+# WITHOUT ANY WARRANTY; without even the implied warranty of
 1.44711 -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 1.44712 -+# General Public License for more details.
 1.44713 -+#
 1.44714 -+# You should have received a copy of the GNU General Public License
 1.44715 -+# along with this program; if not, write to the Free Software
 1.44716 -+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 1.44717 -+#
 1.44718 -+# As a special exception to the GNU General Public License, if you
 1.44719 -+# distribute this file as part of a program that contains a
 1.44720 -+# configuration script generated by Autoconf, you may include it under
 1.44721 -+# the same distribution terms that you use for the rest of that program.
 1.44722 -+
 1.44723 -+# Usage: $progname [OPTION]... [MODE-ARG]...
 1.44724 -+#
 1.44725 -+# Provide generalized library-building support services.
 1.44726 -+#
 1.44727 -+#     --config             show all configuration variables
 1.44728 -+#     --debug              enable verbose shell tracing
 1.44729 -+# -n, --dry-run            display commands without modifying any files
 1.44730 -+#     --features           display basic configuration information and exit
 1.44731 -+#     --mode=MODE          use operation mode MODE
 1.44732 -+#     --preserve-dup-deps  don't remove duplicate dependency libraries
 1.44733 -+#     --quiet, --silent    don't print informational messages
 1.44734 -+#     --tag=TAG            use configuration variables from tag TAG
 1.44735 -+# -v, --verbose            print informational messages (default)
 1.44736 -+#     --version            print version information
 1.44737 -+# -h, --help               print short or long help message
 1.44738 -+#
 1.44739 -+# MODE must be one of the following:
 1.44740 -+#
 1.44741 -+#       clean              remove files from the build directory
 1.44742 -+#       compile            compile a source file into a libtool object
 1.44743 -+#       execute            automatically set library path, then run a program
 1.44744 -+#       finish             complete the installation of libtool libraries
 1.44745 -+#       install            install libraries or executables
 1.44746 -+#       link               create a library or an executable
 1.44747 -+#       uninstall          remove libraries from an installed directory
 1.44748 -+#
 1.44749 -+# MODE-ARGS vary depending on the MODE.
 1.44750 -+# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
 1.44751 -+#
 1.44752 -+# When reporting a bug, please describe a test case to reproduce it and
 1.44753 -+# include the following information:
 1.44754 -+#
 1.44755 -+#       host-triplet:	$host
 1.44756 -+#       shell:		$SHELL
 1.44757 -+#       compiler:		$LTCC
 1.44758 -+#       compiler flags:		$LTCFLAGS
 1.44759 -+#       linker:		$LD (gnu? $with_gnu_ld)
 1.44760 -+#       $progname:		(GNU libtool 1.2435 2007/03/18 18:44:42) 2.1a
 1.44761 -+#       automake:		$automake_version
 1.44762 -+#       autoconf:		$autoconf_version
 1.44763 -+#
 1.44764 -+# Report bugs to <bug-libtool@gnu.org>.
 1.44765 -+
 1.44766 -+PROGRAM=ltmain.sh
 1.44767 -+PACKAGE=libtool
 1.44768 -+VERSION=2.1a
 1.44769 -+TIMESTAMP=" 1.2435 2007/03/18 18:44:42"
 1.44770 -+package_revision=1.2435
 1.44771 -+
 1.44772 -+# Be Bourne compatible
 1.44773 -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
 1.44774 -+  emulate sh
 1.44775 -+  NULLCMD=:
 1.44776 -+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
 1.44777 -+  # is contrary to our usage.  Disable this feature.
 1.44778 -+  alias -g '${1+"$@"}'='"$@"'
 1.44779 -+  setopt NO_GLOB_SUBST
 1.44780 -+else
 1.44781 -+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
 1.44782 -+fi
 1.44783 -+BIN_SH=xpg4; export BIN_SH # for Tru64
 1.44784 -+DUALCASE=1; export DUALCASE # for MKS sh
 1.44785 -+
 1.44786 -+# NLS nuisances: We save the old values to restore during execute mode.
 1.44787 -+# Only set LANG and LC_ALL to C if already set.
 1.44788 -+# These must not be set unconditionally because not all systems understand
 1.44789 -+# e.g. LANG=C (notably SCO).
 1.44790 -+for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
 1.44791 -+do
 1.44792 -+  eval "if test \"\${$lt_var+set}\" = set; then
 1.44793 -+          save_$lt_var=\$$lt_var
 1.44794 -+          $lt_var=C
 1.44795 -+	  export $lt_var
 1.44796 -+	fi"
 1.44797 -+done
 1.44798 -+
 1.44799 -+$lt_unset CDPATH
 1.44800 -+
 1.44801 -+
 1.44802 -+
 1.44803 -+
 1.44804 -+
 1.44805 -+: ${CP="cp -f"}
 1.44806 -+: ${ECHO="echo"}
 1.44807 -+: ${EGREP="/bin/grep -E"}
 1.44808 -+: ${FGREP="/bin/grep -F"}
 1.44809 -+: ${GREP="/bin/grep"}
 1.44810 -+: ${LN_S="ln -s"}
 1.44811 -+: ${MAKE="make"}
 1.44812 -+: ${MKDIR="mkdir"}
 1.44813 -+: ${MV="mv -f"}
 1.44814 -+: ${RM="rm -f"}
 1.44815 -+: ${SED="/bin/sed"}
 1.44816 -+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
 1.44817 -+: ${Xsed="$SED -e 1s/^X//"}
 1.44818 -+
 1.44819 -+# Global variables:
 1.44820 -+EXIT_SUCCESS=0
 1.44821 -+EXIT_FAILURE=1
 1.44822 -+EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
 1.44823 -+EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
 1.44824 -+
 1.44825 -+exit_status=$EXIT_SUCCESS
 1.44826 -+
 1.44827 -+# Make sure IFS has a sensible default
 1.44828 -+lt_nl='
 1.44829 -+'
 1.44830 -+IFS=" 	$lt_nl"
 1.44831 -+
 1.44832 -+dirname="s,/[^/]*$,,"
 1.44833 -+basename="s,^.*/,,"
 1.44834 -+
 1.44835 -+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
 1.44836 -+# is ksh but when the shell is invoked as "sh" and the current value of
 1.44837 -+# the _XPG environment variable is not equal to 1 (one), the special
 1.44838 -+# positional parameter $0, within a function call, is the name of the
 1.44839 -+# function.
 1.44840 -+progpath="$0"
 1.44841 -+
 1.44842 -+# The name of this program:
 1.44843 -+# In the unlikely event $progname began with a '-', it would play havoc with
 1.44844 -+# func_echo (imagine progname=-n), so we prepend ./ in that case:
 1.44845 -+progname=`$ECHO "X$progpath" | $Xsed -e "$basename" -e 's,^-,./-,'`
 1.44846 -+
 1.44847 -+# Make sure we have an absolute path for reexecution:
 1.44848 -+case $progpath in
 1.44849 -+  [\\/]*|[A-Za-z]:\\*) ;;
 1.44850 -+  *[\\/]*)
 1.44851 -+     progdir=`$ECHO "X$progpath" | $Xsed -e "$dirname"`
 1.44852 -+     progdir=`cd "$progdir" && pwd`
 1.44853 -+     progpath="$progdir/$progname"
 1.44854 -+     ;;
 1.44855 -+  *)
 1.44856 -+     save_IFS="$IFS"
 1.44857 -+     IFS=:
 1.44858 -+     for progdir in $PATH; do
 1.44859 -+       IFS="$save_IFS"
 1.44860 -+       test -x "$progdir/$progname" && break
 1.44861 -+     done
 1.44862 -+     IFS="$save_IFS"
 1.44863 -+     test -n "$progdir" || progdir=`pwd`
 1.44864 -+     progpath="$progdir/$progname"
 1.44865 -+     ;;
 1.44866 -+esac
 1.44867 -+
 1.44868 -+# Sed substitution that helps us do robust quoting.  It backslashifies
 1.44869 -+# metacharacters that are still active within double-quoted strings.
 1.44870 -+Xsed="${SED}"' -e 1s/^X//'
 1.44871 -+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
 1.44872 -+
 1.44873 -+# Same as above, but do not quote variable references.
 1.44874 -+double_quote_subst='s/\(["`\\]\)/\\\1/g'
 1.44875 -+
 1.44876 -+# Re-`\' parameter expansions in output of double_quote_subst that were
 1.44877 -+# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
 1.44878 -+# in input to double_quote_subst, that '$' was protected from expansion.
 1.44879 -+# Since each input `\' is now two `\'s, look for any number of runs of
 1.44880 -+# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
 1.44881 -+bs='\\'
 1.44882 -+bs2='\\\\'
 1.44883 -+bs4='\\\\\\\\'
 1.44884 -+dollar='\$'
 1.44885 -+sed_double_backslash="\
 1.44886 -+  s/$bs4/&\\
 1.44887 -+/g
 1.44888 -+  s/^$bs2$dollar/$bs&/
 1.44889 -+  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
 1.44890 -+  s/\n//g"
 1.44891 -+
 1.44892 -+# Standard options:
 1.44893 -+opt_dry_run=false
 1.44894 -+opt_help=false
 1.44895 -+opt_quiet=false
 1.44896 -+opt_verbose=false
 1.44897 -+
 1.44898 -+# func_echo arg...
 1.44899 -+# Echo program name prefixed message, along with the current mode
 1.44900 -+# name if it has been set yet.
 1.44901 -+func_echo ()
 1.44902 -+{
 1.44903 -+    $ECHO "$progname${mode+: }$mode: "${1+"$@"}
 1.44904 -+}
 1.44905 -+
 1.44906 -+# func_verbose arg...
 1.44907 -+# Echo program name prefixed message in verbose mode only.
 1.44908 -+func_verbose ()
 1.44909 -+{
 1.44910 -+    $opt_verbose && func_echo ${1+"$@"}
 1.44911 -+
 1.44912 -+    # A bug in bash halts the script if the last line of a function
 1.44913 -+    # fails when set -e is in force, so we need another command to
 1.44914 -+    # work around that:
 1.44915 -+    :
 1.44916 -+}
 1.44917 -+
 1.44918 -+# func_error arg...
 1.44919 -+# Echo program name prefixed message to standard error.
 1.44920 -+func_error ()
 1.44921 -+{
 1.44922 -+    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
 1.44923 -+}
 1.44924 -+
 1.44925 -+# func_warning arg...
 1.44926 -+# Echo program name prefixed warning message to standard error.
 1.44927 -+func_warning ()
 1.44928 -+{
 1.44929 -+    $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
 1.44930 -+}
 1.44931 -+
 1.44932 -+# func_fatal_error arg...
 1.44933 -+# Echo program name prefixed message to standard error, and exit.
 1.44934 -+func_fatal_error ()
 1.44935 -+{
 1.44936 -+    func_error ${1+"$@"}
 1.44937 -+    exit $EXIT_FAILURE
 1.44938 -+}
 1.44939 -+
 1.44940 -+# func_fatal_help arg...
 1.44941 -+# Echo program name prefixed message to standard error, followed by
 1.44942 -+# a help hint, and exit.
 1.44943 -+func_fatal_help ()
 1.44944 -+{
 1.44945 -+    func_error ${1+"$@"}
 1.44946 -+    func_fatal_error "$help"
 1.44947 -+}
 1.44948 -+help="Try \`$progname --help' for more information."  ## default
 1.44949 -+
 1.44950 -+
 1.44951 -+# func_grep expression filename
 1.44952 -+# Check whether EXPRESSION matches any line of FILENAME, without output.
 1.44953 -+func_grep ()
 1.44954 -+{
 1.44955 -+    $GREP "$1" "$2" >/dev/null 2>&1
 1.44956 -+}
 1.44957 -+
 1.44958 -+
 1.44959 -+# func_mkdir_p directory-path
 1.44960 -+# Make sure the entire path to DIRECTORY-PATH is available.
 1.44961 -+func_mkdir_p ()
 1.44962 -+{
 1.44963 -+    my_directory_path="$1"
 1.44964 -+    my_dir_list=
 1.44965 -+
 1.44966 -+    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
 1.44967 -+
 1.44968 -+      # Protect directory names starting with `-'
 1.44969 -+      case $my_directory_path in
 1.44970 -+        -*) my_directory_path="./$my_directory_path" ;;
 1.44971 -+      esac
 1.44972 -+
 1.44973 -+      # While some portion of DIR does not yet exist...
 1.44974 -+      while test ! -d "$my_directory_path"; do
 1.44975 -+        # ...make a list in topmost first order.  Use a colon delimited
 1.44976 -+	# list incase some portion of path contains whitespace.
 1.44977 -+        my_dir_list="$my_directory_path:$my_dir_list"
 1.44978 -+
 1.44979 -+        # If the last portion added has no slash in it, the list is done
 1.44980 -+        case $my_directory_path in */*) ;; *) break ;; esac
 1.44981 -+
 1.44982 -+        # ...otherwise throw away the child directory and loop
 1.44983 -+        my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
 1.44984 -+      done
 1.44985 -+      my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
 1.44986 -+
 1.44987 -+      save_mkdir_p_IFS="$IFS"; IFS=':'
 1.44988 -+      for my_dir in $my_dir_list; do
 1.44989 -+	IFS="$save_mkdir_p_IFS"
 1.44990 -+        # mkdir can fail with a `File exist' error if two processes
 1.44991 -+        # try to create one of the directories concurrently.  Don't
 1.44992 -+        # stop in that case!
 1.44993 -+        $MKDIR "$my_dir" 2>/dev/null || :
 1.44994 -+      done
 1.44995 -+      IFS="$save_mkdir_p_IFS"
 1.44996 -+
 1.44997 -+      # Bail out if we (or some other process) failed to create a directory.
 1.44998 -+      test -d "$my_directory_path" || \
 1.44999 -+        func_fatal_error "Failed to create \`$1'"
 1.45000 -+    fi
 1.45001 -+}
 1.45002 -+
 1.45003 -+
 1.45004 -+# func_mktempdir [string]
 1.45005 -+# Make a temporary directory that won't clash with other running
 1.45006 -+# libtool processes, and avoids race conditions if possible.  If
 1.45007 -+# given, STRING is the basename for that directory.
 1.45008 -+func_mktempdir ()
 1.45009 -+{
 1.45010 -+    my_template="${TMPDIR-/tmp}/${1-$progname}"
 1.45011 -+
 1.45012 -+    if test "$opt_dry_run" = ":"; then
 1.45013 -+      # Return a directory name, but don't create it in dry-run mode
 1.45014 -+      my_tmpdir="${my_template}-$$"
 1.45015 -+    else
 1.45016 -+
 1.45017 -+      # If mktemp works, use that first and foremost
 1.45018 -+      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
 1.45019 -+
 1.45020 -+      if test ! -d "$my_tmpdir"; then
 1.45021 -+        # Failing that, at least try and use $RANDOM to avoid a race
 1.45022 -+        my_tmpdir="${my_template}-${RANDOM-0}$$"
 1.45023 -+
 1.45024 -+        save_mktempdir_umask=`umask`
 1.45025 -+        umask 0077
 1.45026 -+        $MKDIR "$my_tmpdir"
 1.45027 -+        umask $save_mktempdir_umask
 1.45028 -+      fi
 1.45029 -+
 1.45030 -+      # If we're not in dry-run mode, bomb out on failure
 1.45031 -+      test -d "$my_tmpdir" || \
 1.45032 -+        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
 1.45033 -+    fi
 1.45034 -+
 1.45035 -+    $ECHO "X$my_tmpdir" | $Xsed
 1.45036 -+}
 1.45037 -+
 1.45038 -+
 1.45039 -+# func_quote_for_eval arg
 1.45040 -+# Aesthetically quote ARG to be evaled later.
 1.45041 -+# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
 1.45042 -+# is double-quoted, suitable for a subsequent eval, whereas
 1.45043 -+# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
 1.45044 -+# which are still active within double quotes backslashified.
 1.45045 -+func_quote_for_eval ()
 1.45046 -+{
 1.45047 -+    case $1 in
 1.45048 -+      *[\\\`\"\$]*)
 1.45049 -+	func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
 1.45050 -+      *)
 1.45051 -+        func_quote_for_eval_unquoted_result="$1" ;;
 1.45052 -+    esac
 1.45053 -+
 1.45054 -+    case $func_quote_for_eval_unquoted_result in
 1.45055 -+      # Double-quote args containing shell metacharacters to delay
 1.45056 -+      # word splitting, command substitution and and variable
 1.45057 -+      # expansion for a subsequent eval.
 1.45058 -+      # Many Bourne shells cannot handle close brackets correctly
 1.45059 -+      # in scan sets, so we specify it separately.
 1.45060 -+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
 1.45061 -+        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
 1.45062 -+        ;;
 1.45063 -+      *)
 1.45064 -+        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
 1.45065 -+    esac
 1.45066 -+}
 1.45067 -+
 1.45068 -+
 1.45069 -+# func_quote_for_expand arg
 1.45070 -+# Aesthetically quote ARG to be evaled later; same as above,
 1.45071 -+# but do not quote variable references.
 1.45072 -+func_quote_for_expand ()
 1.45073 -+{
 1.45074 -+    case $1 in
 1.45075 -+      *[\\\`\"]*)
 1.45076 -+	my_arg=`$ECHO "X$1" | $Xsed \
 1.45077 -+	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
 1.45078 -+      *)
 1.45079 -+        my_arg="$1" ;;
 1.45080 -+    esac
 1.45081 -+
 1.45082 -+    case $my_arg in
 1.45083 -+      # Double-quote args containing shell metacharacters to delay
 1.45084 -+      # word splitting and command substitution for a subsequent eval.
 1.45085 -+      # Many Bourne shells cannot handle close brackets correctly
 1.45086 -+      # in scan sets, so we specify it separately.
 1.45087 -+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
 1.45088 -+        my_arg="\"$my_arg\""
 1.45089 -+        ;;
 1.45090 -+    esac
 1.45091 -+
 1.45092 -+    func_quote_for_expand_result="$my_arg"
 1.45093 -+}
 1.45094 -+
 1.45095 -+
 1.45096 -+# func_show_eval cmd [fail_exp]
 1.45097 -+# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
 1.45098 -+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
 1.45099 -+# is given, then evaluate it.
 1.45100 -+func_show_eval ()
 1.45101 -+{
 1.45102 -+    my_cmd="$1"
 1.45103 -+    my_fail_exp="${2-:}"
 1.45104 -+
 1.45105 -+    ${opt_silent-false} || {
 1.45106 -+      func_quote_for_expand "$my_cmd"
 1.45107 -+      eval "func_echo $func_quote_for_expand_result"
 1.45108 -+    }
 1.45109 -+
 1.45110 -+    if ${opt_dry_run-false}; then :; else
 1.45111 -+      eval "$my_cmd"
 1.45112 -+      my_status=$?
 1.45113 -+      if test "$my_status" -eq 0; then :; else
 1.45114 -+	eval "(exit $my_status); $my_fail_exp"
 1.45115 -+      fi
 1.45116 -+    fi
 1.45117 -+}
 1.45118 -+
 1.45119 -+
 1.45120 -+
 1.45121 -+
 1.45122 -+
 1.45123 -+# func_version
 1.45124 -+# Echo version message to standard output and exit.
 1.45125 -+func_version ()
 1.45126 -+{
 1.45127 -+    $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
 1.45128 -+        s/^# //
 1.45129 -+	s/^# *$//
 1.45130 -+        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
 1.45131 -+        p
 1.45132 -+     }' < "$progpath"
 1.45133 -+     exit $?
 1.45134 -+}
 1.45135 -+
 1.45136 -+# func_usage
 1.45137 -+# Echo short help message to standard output and exit.
 1.45138 -+func_usage ()
 1.45139 -+{
 1.45140 -+    $SED -n '/^# Usage:/,/# -h/ {
 1.45141 -+        s/^# //
 1.45142 -+	s/^# *$//
 1.45143 -+	s/\$progname/'$progname'/
 1.45144 -+	p
 1.45145 -+    }' < "$progpath"
 1.45146 -+    $ECHO
 1.45147 -+    $ECHO "run \`$progname --help | more' for full usage"
 1.45148 -+    exit $?
 1.45149 -+}
 1.45150 -+
 1.45151 -+# func_help
 1.45152 -+# Echo long help message to standard output and exit.
 1.45153 -+func_help ()
 1.45154 -+{
 1.45155 -+    $SED -n '/^# Usage:/,/# Report bugs to/ {
 1.45156 -+        s/^# //
 1.45157 -+	s/^# *$//
 1.45158 -+	s*\$progname*'$progname'*
 1.45159 -+	s*\$host*'"$host"'*
 1.45160 -+	s*\$SHELL*'"$SHELL"'*
 1.45161 -+	s*\$LTCC*'"$LTCC"'*
 1.45162 -+	s*\$LTCFLAGS*'"$LTCFLAGS"'*
 1.45163 -+	s*\$LD*'"$LD"'*
 1.45164 -+	s/\$with_gnu_ld/'"$with_gnu_ld"'/
 1.45165 -+	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
 1.45166 -+	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
 1.45167 -+	p
 1.45168 -+     }' < "$progpath"
 1.45169 -+    exit $?
 1.45170 -+}
 1.45171 -+
 1.45172 -+# func_missing_arg argname
 1.45173 -+# Echo program name prefixed message to standard error and set global
 1.45174 -+# exit_cmd.
 1.45175 -+func_missing_arg ()
 1.45176 -+{
 1.45177 -+    func_error "missing argument for $1"
 1.45178 -+    exit_cmd=exit
 1.45179 -+}
 1.45180 -+
 1.45181 -+exit_cmd=:
 1.45182 -+
 1.45183 -+
 1.45184 -+
 1.45185 -+
 1.45186 -+
 1.45187 -+# Check that we have a working $ECHO.
 1.45188 -+if test "X$1" = X--no-reexec; then
 1.45189 -+  # Discard the --no-reexec flag, and continue.
 1.45190 -+  shift
 1.45191 -+elif test "X$1" = X--fallback-echo; then
 1.45192 -+  # Avoid inline document here, it may be left over
 1.45193 -+  :
 1.45194 -+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
 1.45195 -+  # Yippee, $ECHO works!
 1.45196 -+  :
 1.45197 -+else
 1.45198 -+  # Restart under the correct shell, and then maybe $ECHO will work.
 1.45199 -+  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
 1.45200 -+fi
 1.45201 -+
 1.45202 -+if test "X$1" = X--fallback-echo; then
 1.45203 -+  # used as fallback echo
 1.45204 -+  shift
 1.45205 -+  cat <<EOF
 1.45206 -+$*
 1.45207 -+EOF
 1.45208 -+  exit $EXIT_SUCCESS
 1.45209 -+fi
 1.45210 -+
 1.45211 -+magic="%%%MAGIC variable%%%"
 1.45212 -+
 1.45213 -+
 1.45214 -+# Global variables.
 1.45215 -+# $mode is unset
 1.45216 -+nonopt=
 1.45217 -+execute_dlfiles=
 1.45218 -+preserve_args=
 1.45219 -+lo2o="s/\\.lo\$/.${objext}/"
 1.45220 -+o2lo="s/\\.${objext}\$/.lo/"
 1.45221 -+extracted_archives=
 1.45222 -+extracted_serial=0
 1.45223 -+
 1.45224 -+opt_dry_run=false
 1.45225 -+opt_duplicate_deps=false
 1.45226 -+opt_silent=false
 1.45227 -+opt_debug=:
 1.45228 -+
 1.45229 -+# If this variable is set in any of the actions, the command in it
 1.45230 -+# will be execed at the end.  This prevents here-documents from being
 1.45231 -+# left over by shells.
 1.45232 -+exec_cmd=
 1.45233 -+
 1.45234 -+# func_fatal_configuration arg...
 1.45235 -+# Echo program name prefixed message to standard error, followed by
 1.45236 -+# a configuration failure hint, and exit.
 1.45237 -+func_fatal_configuration ()
 1.45238 -+{
 1.45239 -+    func_error ${1+"$@"}
 1.45240 -+    func_error "See the $PACKAGE documentation for more information."
 1.45241 -+    func_fatal_error "Fatal configuration error."
 1.45242 -+}
 1.45243 -+
 1.45244 -+
 1.45245 -+# func_config
 1.45246 -+# Display the configuration for all the tags in this script.
 1.45247 -+func_config ()
 1.45248 -+{
 1.45249 -+    re_begincf='^# ### BEGIN LIBTOOL'
 1.45250 -+    re_endcf='^# ### END LIBTOOL'
 1.45251 -+
 1.45252 -+    # Default configuration.
 1.45253 -+    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
 1.45254 -+
 1.45255 -+    # Now print the configurations for the tags.
 1.45256 -+    for tagname in $taglist; do
 1.45257 -+      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
 1.45258 -+    done
 1.45259 -+
 1.45260 -+    exit $?
 1.45261 -+}
 1.45262 -+
 1.45263 -+# func_features
 1.45264 -+# Display the features supported by this script.
 1.45265 -+func_features ()
 1.45266 -+{
 1.45267 -+    $ECHO "host: $host"
 1.45268 -+    if test "$build_libtool_libs" = yes; then
 1.45269 -+      $ECHO "enable shared libraries"
 1.45270 -+    else
 1.45271 -+      $ECHO "disable shared libraries"
 1.45272 -+    fi
 1.45273 -+    if test "$build_old_libs" = yes; then
 1.45274 -+      $ECHO "enable static libraries"
 1.45275 -+    else
 1.45276 -+      $ECHO "disable static libraries"
 1.45277 -+    fi
 1.45278 -+
 1.45279 -+    exit $?
 1.45280 -+}
 1.45281 -+
 1.45282 -+# func_enable_tag tagname
 1.45283 -+# Verify that TAGNAME is valid, and either flag an error and exit, or
 1.45284 -+# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
 1.45285 -+# variable here.
 1.45286 -+func_enable_tag ()
 1.45287 -+{
 1.45288 -+  # Global variable:
 1.45289 -+  tagname="$1"
 1.45290 -+
 1.45291 -+  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
 1.45292 -+  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
 1.45293 -+  sed_extractcf="/$re_begincf/,/$re_endcf/p"
 1.45294 -+
 1.45295 -+  # Validate tagname.
 1.45296 -+  case $tagname in
 1.45297 -+    *[!-_A-Za-z0-9,/]*)
 1.45298 -+      func_fatal_error "invalid tag name: $tagname"
 1.45299 -+      ;;
 1.45300 -+  esac
 1.45301 -+
 1.45302 -+  # Don't test for the "default" C tag, as we know it's
 1.45303 -+  # there but not specially marked.
 1.45304 -+  case $tagname in
 1.45305 -+    CC) ;;
 1.45306 -+    *)
 1.45307 -+      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
 1.45308 -+	taglist="$taglist $tagname"
 1.45309 -+
 1.45310 -+	# Evaluate the configuration.  Be careful to quote the path
 1.45311 -+	# and the sed script, to avoid splitting on whitespace, but
 1.45312 -+	# also don't use non-portable quotes within backquotes within
 1.45313 -+	# quotes we have to do it in 2 steps:
 1.45314 -+	extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
 1.45315 -+	eval "$extractedcf"
 1.45316 -+      else
 1.45317 -+	func_error "ignoring unknown tag $tagname"
 1.45318 -+      fi
 1.45319 -+      ;;
 1.45320 -+  esac
 1.45321 -+}
 1.45322 -+
 1.45323 -+
 1.45324 -+func_mode_help ()
 1.45325 -+{
 1.45326 -+    # We need to display help for each of the modes.
 1.45327 -+    case $mode in
 1.45328 -+      "")
 1.45329 -+        # Generic help is extracted from the usage comments
 1.45330 -+        # at the start of this file.
 1.45331 -+        func_help
 1.45332 -+        ;;
 1.45333 -+
 1.45334 -+      clean)
 1.45335 -+        $ECHO \
 1.45336 -+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
 1.45337 -+
 1.45338 -+Remove files from the build directory.
 1.45339 -+
 1.45340 -+RM is the name of the program to use to delete files associated with each FILE
 1.45341 -+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
 1.45342 -+to RM.
 1.45343 -+
 1.45344 -+If FILE is a libtool library, object or program, all the files associated
 1.45345 -+with it are deleted. Otherwise, only FILE itself is deleted using RM."
 1.45346 -+        ;;
 1.45347 -+
 1.45348 -+      compile)
 1.45349 -+      $ECHO \
 1.45350 -+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
 1.45351 -+
 1.45352 -+Compile a source file into a libtool library object.
 1.45353 -+
 1.45354 -+This mode accepts the following additional options:
 1.45355 -+
 1.45356 -+  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
 1.45357 -+  -no-suppress      do not suppress compiler output for multiple passes
 1.45358 -+  -prefer-pic       try to building PIC objects only
 1.45359 -+  -prefer-non-pic   try to building non-PIC objects only
 1.45360 -+  -shared           do not build a \`.o' file suitable for static linking
 1.45361 -+  -static           only build a \`.o' file suitable for static linking
 1.45362 -+
 1.45363 -+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
 1.45364 -+from the given SOURCEFILE.
 1.45365 -+
 1.45366 -+The output file name is determined by removing the directory component from
 1.45367 -+SOURCEFILE, then substituting the C source code suffix \`.c' with the
 1.45368 -+library object suffix, \`.lo'."
 1.45369 -+        ;;
 1.45370 -+
 1.45371 -+      execute)
 1.45372 -+        $ECHO \
 1.45373 -+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
 1.45374 -+
 1.45375 -+Automatically set library path, then run a program.
 1.45376 -+
 1.45377 -+This mode accepts the following additional options:
 1.45378 -+
 1.45379 -+  -dlopen FILE      add the directory containing FILE to the library path
 1.45380 -+
 1.45381 -+This mode sets the library path environment variable according to \`-dlopen'
 1.45382 -+flags.
 1.45383 -+
 1.45384 -+If any of the ARGS are libtool executable wrappers, then they are translated
 1.45385 -+into their corresponding uninstalled binary, and any of their required library
 1.45386 -+directories are added to the library path.
 1.45387 -+
 1.45388 -+Then, COMMAND is executed, with ARGS as arguments."
 1.45389 -+        ;;
 1.45390 -+
 1.45391 -+      finish)
 1.45392 -+        $ECHO \
 1.45393 -+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
 1.45394 -+
 1.45395 -+Complete the installation of libtool libraries.
 1.45396 -+
 1.45397 -+Each LIBDIR is a directory that contains libtool libraries.
 1.45398 -+
 1.45399 -+The commands that this mode executes may require superuser privileges.  Use
 1.45400 -+the \`--dry-run' option if you just want to see what would be executed."
 1.45401 -+        ;;
 1.45402 -+
 1.45403 -+      install)
 1.45404 -+        $ECHO \
 1.45405 -+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
 1.45406 -+
 1.45407 -+Install executables or libraries.
 1.45408 -+
 1.45409 -+INSTALL-COMMAND is the installation command.  The first component should be
 1.45410 -+either the \`install' or \`cp' program.
 1.45411 -+
 1.45412 -+The following components of INSTALL-COMMAND are treated specially:
 1.45413 -+
 1.45414 -+  -inst-prefix PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
 1.45415 -+
 1.45416 -+The rest of the components are interpreted as arguments to that command (only
 1.45417 -+BSD-compatible install options are recognized)."
 1.45418 -+        ;;
 1.45419 -+
 1.45420 -+      link)
 1.45421 -+        $ECHO \
 1.45422 -+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
 1.45423 -+
 1.45424 -+Link object files or libraries together to form another library, or to
 1.45425 -+create an executable program.
 1.45426 -+
 1.45427 -+LINK-COMMAND is a command using the C compiler that you would use to create
 1.45428 -+a program from several object files.
 1.45429 -+
 1.45430 -+The following components of LINK-COMMAND are treated specially:
 1.45431 -+
 1.45432 -+  -all-static       do not do any dynamic linking at all
 1.45433 -+  -avoid-version    do not add a version suffix if possible
 1.45434 -+  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
 1.45435 -+  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
 1.45436 -+  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
 1.45437 -+  -export-symbols SYMFILE
 1.45438 -+                    try to export only the symbols listed in SYMFILE
 1.45439 -+  -export-symbols-regex REGEX
 1.45440 -+                    try to export only the symbols matching REGEX
 1.45441 -+  -LLIBDIR          search LIBDIR for required installed libraries
 1.45442 -+  -lNAME            OUTPUT-FILE requires the installed library libNAME
 1.45443 -+  -module           build a library that can dlopened
 1.45444 -+  -no-fast-install  disable the fast-install mode
 1.45445 -+  -no-install       link a not-installable executable
 1.45446 -+  -no-undefined     declare that a library does not refer to external symbols
 1.45447 -+  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
 1.45448 -+  -objectlist FILE  Use a list of object files found in FILE to specify objects
 1.45449 -+  -precious-files-regex REGEX
 1.45450 -+                    don't remove output files matching REGEX
 1.45451 -+  -release RELEASE  specify package release information
 1.45452 -+  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
 1.45453 -+  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
 1.45454 -+  -shared           only do dynamic linking of libtool libraries
 1.45455 -+  -shrext SUFFIX    override the standard shared library file extension
 1.45456 -+  -static           do not do any dynamic linking of uninstalled libtool libraries
 1.45457 -+  -static-libtool-libs
 1.45458 -+                    do not do any dynamic linking of libtool libraries
 1.45459 -+  -version-info CURRENT[:REVISION[:AGE]]
 1.45460 -+                    specify library version info [each variable defaults to 0]
 1.45461 -+  -weak LIBNAME     declare that the target provides the LIBNAME interface
 1.45462 -+
 1.45463 -+All other options (arguments beginning with \`-') are ignored.
 1.45464 -+
 1.45465 -+Every other argument is treated as a filename.  Files ending in \`.la' are
 1.45466 -+treated as uninstalled libtool libraries, other files are standard or library
 1.45467 -+object files.
 1.45468 -+
 1.45469 -+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
 1.45470 -+only library objects (\`.lo' files) may be specified, and \`-rpath' is
 1.45471 -+required, except when creating a convenience library.
 1.45472 -+
 1.45473 -+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
 1.45474 -+using \`ar' and \`ranlib', or on Windows using \`lib'.
 1.45475 -+
 1.45476 -+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
 1.45477 -+is created, otherwise an executable program is created."
 1.45478 -+        ;;
 1.45479 -+
 1.45480 -+      uninstall)
 1.45481 -+        $ECHO \
 1.45482 -+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
 1.45483 -+
 1.45484 -+Remove libraries from an installation directory.
 1.45485 -+
 1.45486 -+RM is the name of the program to use to delete files associated with each FILE
 1.45487 -+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
 1.45488 -+to RM.
 1.45489 -+
 1.45490 -+If FILE is a libtool library, all the files associated with it are deleted.
 1.45491 -+Otherwise, only FILE itself is deleted using RM."
 1.45492 -+        ;;
 1.45493 -+
 1.45494 -+      *)
 1.45495 -+        func_fatal_help "invalid operation mode \`$mode'"
 1.45496 -+        ;;
 1.45497 -+    esac
 1.45498 -+
 1.45499 -+    $ECHO
 1.45500 -+    $ECHO "Try \`$progname --help' for more information about other modes."
 1.45501 -+
 1.45502 -+    exit $?
 1.45503 -+}
 1.45504 -+
 1.45505 -+# Generated shell functions inserted here.
 1.45506 -+
 1.45507 -+# func_dirname file append nondir_replacement
 1.45508 -+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
 1.45509 -+# otherwise set result to NONDIR_REPLACEMENT.
 1.45510 -+func_dirname ()
 1.45511 -+{
 1.45512 -+  case ${1} in
 1.45513 -+    */*) func_dirname_result="${1%/*}${2}" ;;
 1.45514 -+    *  ) func_dirname_result="${3}" ;;
 1.45515 -+  esac
 1.45516 -+}
 1.45517 -+
 1.45518 -+# func_basename file
 1.45519 -+func_basename ()
 1.45520 -+{
 1.45521 -+  func_basename_result="${1##*/}"
 1.45522 -+}
 1.45523 -+
 1.45524 -+# func_dirname_and_basename file append nondir_replacement
 1.45525 -+# perform func_basename and func_dirname in a single function
 1.45526 -+# call:
 1.45527 -+#   dirname:  Compute the dirname of FILE.  If nonempty,
 1.45528 -+#             add APPEND to the result, otherwise set result
 1.45529 -+#             to NONDIR_REPLACEMENT.
 1.45530 -+#             value returned in "$func_dirname_result"
 1.45531 -+#   basename: Compute filename of FILE.
 1.45532 -+#             value retuned in "$func_basename_result"
 1.45533 -+# Implementation must be kept synchronized with func_dirname
 1.45534 -+# and func_basename. For efficiency, we do not delegate to
 1.45535 -+# those functions but instead duplicate the functionality here.
 1.45536 -+func_dirname_and_basename ()
 1.45537 -+{
 1.45538 -+  case ${1} in
 1.45539 -+    */*) func_dirname_result="${1%/*}${2}" ;;
 1.45540 -+    *  ) func_dirname_result="${3}" ;;
 1.45541 -+  esac
 1.45542 -+  func_basename_result="${1##*/}"
 1.45543 -+}
 1.45544 -+
 1.45545 -+# func_stripname prefix suffix name
 1.45546 -+# strip PREFIX and SUFFIX off of NAME.
 1.45547 -+# PREFIX and SUFFIX must not contain globbing or regex special
 1.45548 -+# characters, hashes, percent signs, but SUFFIX may contain a leading
 1.45549 -+# dot (in which case that matches only a dot).
 1.45550 -+func_stripname ()
 1.45551 -+{
 1.45552 -+  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
 1.45553 -+  # positional parameters, so assign one to ordinary parameter first.
 1.45554 -+  func_stripname_result=${3}
 1.45555 -+  func_stripname_result=${func_stripname_result#"${1}"}
 1.45556 -+  func_stripname_result=${func_stripname_result%"${2}"}
 1.45557 -+}
 1.45558 -+
 1.45559 -+# func_opt_split
 1.45560 -+func_opt_split ()
 1.45561 -+{
 1.45562 -+  func_opt_split_opt=${1%%=*}
 1.45563 -+  func_opt_split_arg=${1#*=}
 1.45564 -+}
 1.45565 -+
 1.45566 -+# func_lo2o object
 1.45567 -+func_lo2o ()
 1.45568 -+{
 1.45569 -+  case ${1} in
 1.45570 -+    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
 1.45571 -+    *)    func_lo2o_result=${1} ;;
 1.45572 -+  esac
 1.45573 -+}
 1.45574 -+
 1.45575 -+# func_xform libobj-or-source
 1.45576 -+func_xform ()
 1.45577 -+{
 1.45578 -+  func_xform_result=${1%.*}.lo
 1.45579 -+}
 1.45580 -+
 1.45581 -+# func_arith arithmetic-term...
 1.45582 -+func_arith ()
 1.45583 -+{
 1.45584 -+  func_arith_result=$(( $* ))
 1.45585 -+}
 1.45586 -+
 1.45587 -+# func_len string
 1.45588 -+# STRING may not start with a hyphen.
 1.45589 -+func_len ()
 1.45590 -+{
 1.45591 -+  func_len_result=${#1}
 1.45592 -+}
 1.45593 -+
 1.45594 -+
 1.45595 -+# func_append var value
 1.45596 -+# Append VALUE to the end of shell variable VAR.
 1.45597 -+func_append ()
 1.45598 -+{
 1.45599 -+  eval "$1+=\$2"
 1.45600 -+}
 1.45601 -+# Generated shell functions inserted here.
 1.45602 -+
 1.45603 -+
 1.45604 -+# Parse options once, thoroughly.  This comes as soon as possible in
 1.45605 -+# the script to make things like `libtool --version' happen quickly.
 1.45606 -+{
 1.45607 -+
 1.45608 -+  # Shorthand for --mode=foo, only valid as the first argument
 1.45609 -+  case $1 in
 1.45610 -+  clean|clea|cle|cl)
 1.45611 -+    shift; set dummy --mode clean ${1+"$@"}; shift
 1.45612 -+    ;;
 1.45613 -+  compile|compil|compi|comp|com|co|c)
 1.45614 -+    shift; set dummy --mode compile ${1+"$@"}; shift
 1.45615 -+    ;;
 1.45616 -+  execute|execut|execu|exec|exe|ex|e)
 1.45617 -+    shift; set dummy --mode execute ${1+"$@"}; shift
 1.45618 -+    ;;
 1.45619 -+  finish|finis|fini|fin|fi|f)
 1.45620 -+    shift; set dummy --mode finish ${1+"$@"}; shift
 1.45621 -+    ;;
 1.45622 -+  install|instal|insta|inst|ins|in|i)
 1.45623 -+    shift; set dummy --mode install ${1+"$@"}; shift
 1.45624 -+    ;;
 1.45625 -+  link|lin|li|l)
 1.45626 -+    shift; set dummy --mode link ${1+"$@"}; shift
 1.45627 -+    ;;
 1.45628 -+  uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
 1.45629 -+    shift; set dummy --mode uninstall ${1+"$@"}; shift
 1.45630 -+    ;;
 1.45631 -+  esac
 1.45632 -+
 1.45633 -+  # Parse non-mode specific arguments:
 1.45634 -+  while test "$#" -gt 0; do
 1.45635 -+    opt="$1"
 1.45636 -+    shift
 1.45637 -+
 1.45638 -+    case $opt in
 1.45639 -+      --config)		func_config 					;;
 1.45640 -+
 1.45641 -+      --debug)		preserve_args="$preserve_args $opt"
 1.45642 -+	    		func_echo "enabling shell trace mode"
 1.45643 -+	    		opt_debug='set -x'
 1.45644 -+			$opt_debug
 1.45645 -+			;;
 1.45646 -+
 1.45647 -+      -dlopen)		test "$#" -eq 0 && func_missing_arg "$opt" && break
 1.45648 -+			execute_dlfiles="$execute_dlfiles $1"
 1.45649 -+			shift
 1.45650 -+			;;
 1.45651 -+
 1.45652 -+      --dry-run | -n)	opt_dry_run=:					;;
 1.45653 -+      --features)       func_features					;;
 1.45654 -+      --finish)		mode="finish"					;;
 1.45655 -+
 1.45656 -+      --mode)		test "$#" -eq 0 && func_missing_arg "$opt" && break
 1.45657 -+	    		case $1 in
 1.45658 -+			  # Valid mode arguments:
 1.45659 -+			  clean)	;;
 1.45660 -+			  compile)	;;
 1.45661 -+			  execute)	;;
 1.45662 -+			  finish)	;;
 1.45663 -+			  install)	;;
 1.45664 -+			  link)		;;
 1.45665 -+			  relink)	;;
 1.45666 -+			  uninstall)	;;
 1.45667 -+
 1.45668 -+			  # Catch anything else as an error
 1.45669 -+			  *) func_error "invalid argument for $opt"
 1.45670 -+			     exit_cmd=exit
 1.45671 -+			     break
 1.45672 -+			     ;;
 1.45673 -+		        esac
 1.45674 -+
 1.45675 -+	    		mode="$1"
 1.45676 -+			shift
 1.45677 -+			;;
 1.45678 -+
 1.45679 -+      --preserve-dup-deps)
 1.45680 -+      			opt_duplicate_deps=:				;;
 1.45681 -+
 1.45682 -+      --quiet|--silent)	preserve_args="$preserve_args $opt"
 1.45683 -+	    		opt_silent=:
 1.45684 -+			;;
 1.45685 -+
 1.45686 -+      --verbose| -v)	preserve_args="$preserve_args $opt"
 1.45687 -+	    		opt_silent=false
 1.45688 -+			;;
 1.45689 -+
 1.45690 -+      --tag)		test "$#" -eq 0 && func_missing_arg "$opt" && break
 1.45691 -+			preserve_args="$preserve_args $opt $1"
 1.45692 -+			func_enable_tag "$1"	# tagname is set here
 1.45693 -+			shift
 1.45694 -+			;;
 1.45695 -+
 1.45696 -+      # Separate optargs to long options:
 1.45697 -+      -dlopen=*|--mode=*|--tag=*)
 1.45698 -+			func_opt_split "$opt"
 1.45699 -+			set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
 1.45700 -+			shift
 1.45701 -+			;;
 1.45702 -+
 1.45703 -+      -\?|-h)		func_usage					;;
 1.45704 -+      --help)		opt_help=:					;;
 1.45705 -+      --version)	func_version					;;
 1.45706 -+
 1.45707 -+      -*)		func_fatal_help "unrecognized option \`$opt'"	;;
 1.45708 -+
 1.45709 -+      *)		nonopt="$opt"
 1.45710 -+      			break
 1.45711 -+			;;
 1.45712 -+    esac
 1.45713 -+  done
 1.45714 -+
 1.45715 -+  # Now that we've collected a possible --mode arg, show help if necessary
 1.45716 -+  $opt_help && func_mode_help
 1.45717 -+
 1.45718 -+  case $host in
 1.45719 -+    *cygwin* | *mingw* | *pw32*)
 1.45720 -+      # don't eliminate duplications in $postdeps and $predeps
 1.45721 -+      opt_duplicate_compiler_generated_deps=:
 1.45722 -+      ;;
 1.45723 -+    *)
 1.45724 -+      opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
 1.45725 -+      ;;
 1.45726 -+  esac
 1.45727 -+
 1.45728 -+  # Having warned about all mis-specified options, bail out if
 1.45729 -+  # anything was wrong.
 1.45730 -+  $exit_cmd $EXIT_FAILURE
 1.45731 -+}
 1.45732 -+
 1.45733 -+# func_check_version_match
 1.45734 -+# Ensure that we are using m4 macros, and libtool script from the same
 1.45735 -+# release of libtool.
 1.45736 -+func_check_version_match ()
 1.45737 -+{
 1.45738 -+  if test "$package_revision" != "$macro_revision"; then
 1.45739 -+    if test "$VERSION" != "$macro_version"; then
 1.45740 -+      if test -z "$macro_version"; then
 1.45741 -+        cat >&2 <<_LT_EOF
 1.45742 -+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
 1.45743 -+$progname: definition of this LT_INIT comes from an older release.
 1.45744 -+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
 1.45745 -+$progname: and run autoconf again.
 1.45746 -+_LT_EOF
 1.45747 -+      else
 1.45748 -+        cat >&2 <<_LT_EOF
 1.45749 -+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
 1.45750 -+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
 1.45751 -+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
 1.45752 -+$progname: and run autoconf again.
 1.45753 -+_LT_EOF
 1.45754 -+      fi
 1.45755 -+    else
 1.45756 -+      cat >&2 <<_LT_EOF
 1.45757 -+$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
 1.45758 -+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
 1.45759 -+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
 1.45760 -+$progname: of $PACKAGE $VERSION and run autoconf again.
 1.45761 -+_LT_EOF
 1.45762 -+    fi
 1.45763 -+
 1.45764 -+    exit $EXIT_MISMATCH
 1.45765 -+  fi
 1.45766 -+}
 1.45767 -+
 1.45768 -+
 1.45769 -+## ----------- ##
 1.45770 -+##    Main.    ##
 1.45771 -+## ----------- ##
 1.45772 -+
 1.45773 -+{
 1.45774 -+  # Sanity checks first:
 1.45775 -+  func_check_version_match
 1.45776 -+
 1.45777 -+  if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
 1.45778 -+    func_fatal_configuration "not configured to build any kind of library"
 1.45779 -+  fi
 1.45780 -+
 1.45781 -+  test -z "$mode" && func_fatal_error "error: you must specify a MODE."
 1.45782 -+
 1.45783 -+
 1.45784 -+  # Darwin sucks
 1.45785 -+  eval std_shrext=\"$shrext_cmds\"
 1.45786 -+
 1.45787 -+
 1.45788 -+  # Only execute mode is allowed to have -dlopen flags.
 1.45789 -+  if test -n "$execute_dlfiles" && test "$mode" != execute; then
 1.45790 -+    func_error "unrecognized option \`-dlopen'"
 1.45791 -+    $ECHO "$help" 1>&2
 1.45792 -+    exit $EXIT_FAILURE
 1.45793 -+  fi
 1.45794 -+
 1.45795 -+  # Change the help message to a mode-specific one.
 1.45796 -+  generic_help="$help"
 1.45797 -+  help="Try \`$progname --help --mode=$mode' for more information."
 1.45798 -+}
 1.45799 -+
 1.45800 -+
 1.45801 -+# func_lalib_p file
 1.45802 -+# True iff FILE is a libtool `.la' library or `.lo' object file.
 1.45803 -+# This function is only a basic sanity check; it will hardly flush out
 1.45804 -+# determined imposters.
 1.45805 -+func_lalib_p ()
 1.45806 -+{
 1.45807 -+    $SED -e 4q "$1" 2>/dev/null \
 1.45808 -+      | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
 1.45809 -+}
 1.45810 -+
 1.45811 -+# func_lalib_unsafe_p file
 1.45812 -+# True iff FILE is a libtool `.la' library or `.lo' object file.
 1.45813 -+# This function implements the same check as func_lalib_p without
 1.45814 -+# resorting to external programs.  To this end, it redirects stdin and
 1.45815 -+# closes it afterwards, without saving the original file descriptor.
 1.45816 -+# As a safety measure, use it only where a negative result would be
 1.45817 -+# fatal anyway.  Works if `file' does not exist.
 1.45818 -+func_lalib_unsafe_p ()
 1.45819 -+{
 1.45820 -+    lalib_p=no
 1.45821 -+    if test -r "$1" && exec 5<&1 <"$1"; then
 1.45822 -+	for lalib_p_l in 1 2 3 4
 1.45823 -+	do
 1.45824 -+	    read lalib_p_line
 1.45825 -+	    case "$lalib_p_line" in
 1.45826 -+		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
 1.45827 -+	    esac
 1.45828 -+	done
 1.45829 -+	exec 1<&5 5<&-
 1.45830 -+    fi
 1.45831 -+    test "$lalib_p" = yes
 1.45832 -+}
 1.45833 -+
 1.45834 -+# func_ltwrapper_p file
 1.45835 -+# True iff FILE is a libtool wrapper script.
 1.45836 -+# This function is only a basic sanity check; it will hardly flush out
 1.45837 -+# determined imposters.
 1.45838 -+func_ltwrapper_p ()
 1.45839 -+{
 1.45840 -+    func_lalib_p "$1"
 1.45841 -+}
 1.45842 -+
 1.45843 -+
 1.45844 -+# func_execute_cmds commands fail_cmd
 1.45845 -+# Execute tilde-delimited COMMANDS.
 1.45846 -+# If FAIL_CMD is given, eval that upon failure.
 1.45847 -+# FAIL_CMD may read-access the current command in variable CMD!
 1.45848 -+func_execute_cmds ()
 1.45849 -+{
 1.45850 -+    $opt_debug
 1.45851 -+    save_ifs=$IFS; IFS='~'
 1.45852 -+    for cmd in $1; do
 1.45853 -+      IFS=$save_ifs
 1.45854 -+      eval cmd=\"$cmd\"
 1.45855 -+      func_show_eval "$cmd" "${2-:}"
 1.45856 -+    done
 1.45857 -+    IFS=$save_ifs
 1.45858 -+}
 1.45859 -+
 1.45860 -+
 1.45861 -+# func_source file
 1.45862 -+# Source FILE, adding directory component if necessary.
 1.45863 -+# Note that it is not necessary on cygwin/mingw to append a dot to
 1.45864 -+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
 1.45865 -+# behavior happens only for exec(3), not for open(2)!  Also, sourcing
 1.45866 -+# `FILE.' does not work on cygwin managed mounts.
 1.45867 -+func_source ()
 1.45868 -+{
 1.45869 -+    $opt_debug
 1.45870 -+    case $1 in
 1.45871 -+    */* | *\\*)	. "$1" ;;
 1.45872 -+    *)		. "./$1" ;;
 1.45873 -+    esac
 1.45874 -+}
 1.45875 -+
 1.45876 -+
 1.45877 -+# func_win32_libid arg
 1.45878 -+# return the library type of file 'arg'
 1.45879 -+#
 1.45880 -+# Need a lot of goo to handle *both* DLLs and import libs
 1.45881 -+# Has to be a shell function in order to 'eat' the argument
 1.45882 -+# that is supplied when $file_magic_command is called.
 1.45883 -+func_win32_libid ()
 1.45884 -+{
 1.45885 -+  $opt_debug
 1.45886 -+  win32_libid_type="unknown"
 1.45887 -+  win32_fileres=`file -L $1 2>/dev/null`
 1.45888 -+  case $win32_fileres in
 1.45889 -+  *ar\ archive\ import\ library*) # definitely import
 1.45890 -+    win32_libid_type="x86 archive import"
 1.45891 -+    ;;
 1.45892 -+  *ar\ archive*) # could be an import, or static
 1.45893 -+    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
 1.45894 -+       $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
 1.45895 -+      win32_nmres=`eval $NM -f posix -A $1 |
 1.45896 -+	$SED -n -e '
 1.45897 -+	    1,100{
 1.45898 -+		/ I /{
 1.45899 -+		    s,.*,import,
 1.45900 -+		    p
 1.45901 -+		    q
 1.45902 -+		}
 1.45903 -+	    }'`
 1.45904 -+      case $win32_nmres in
 1.45905 -+      import*)  win32_libid_type="x86 archive import";;
 1.45906 -+      *)        win32_libid_type="x86 archive static";;
 1.45907 -+      esac
 1.45908 -+    fi
 1.45909 -+    ;;
 1.45910 -+  *DLL*)
 1.45911 -+    win32_libid_type="x86 DLL"
 1.45912 -+    ;;
 1.45913 -+  *executable*) # but shell scripts are "executable" too...
 1.45914 -+    case $win32_fileres in
 1.45915 -+    *MS\ Windows\ PE\ Intel*)
 1.45916 -+      win32_libid_type="x86 DLL"
 1.45917 -+      ;;
 1.45918 -+    esac
 1.45919 -+    ;;
 1.45920 -+  esac
 1.45921 -+  $ECHO "$win32_libid_type"
 1.45922 -+}
 1.45923 -+
 1.45924 -+
 1.45925 -+
 1.45926 -+# func_infer_tag arg
 1.45927 -+# Infer tagged configuration to use if any are available and
 1.45928 -+# if one wasn't chosen via the "--tag" command line option.
 1.45929 -+# Only attempt this if the compiler in the base compile
 1.45930 -+# command doesn't match the default compiler.
 1.45931 -+# arg is usually of the form 'gcc ...'
 1.45932 -+func_infer_tag ()
 1.45933 -+{
 1.45934 -+    $opt_debug
 1.45935 -+    if test -n "$available_tags" && test -z "$tagname"; then
 1.45936 -+      CC_quoted=
 1.45937 -+      for arg in $CC; do
 1.45938 -+        func_quote_for_eval "$arg"
 1.45939 -+	CC_quoted="$CC_quoted $func_quote_for_eval_result"
 1.45940 -+      done
 1.45941 -+      case $@ in
 1.45942 -+      # Blanks in the command may have been stripped by the calling shell,
 1.45943 -+      # but not from the CC environment variable when configure was run.
 1.45944 -+      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
 1.45945 -+      # Blanks at the start of $base_compile will cause this to fail
 1.45946 -+      # if we don't check for them as well.
 1.45947 -+      *)
 1.45948 -+	for z in $available_tags; do
 1.45949 -+	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
 1.45950 -+	    # Evaluate the configuration.
 1.45951 -+	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
 1.45952 -+	    CC_quoted=
 1.45953 -+	    for arg in $CC; do
 1.45954 -+	      # Double-quote args containing other shell metacharacters.
 1.45955 -+	      func_quote_for_eval "$arg"
 1.45956 -+	      CC_quoted="$CC_quoted $func_quote_for_eval_result"
 1.45957 -+	    done
 1.45958 -+	    case "$@ " in
 1.45959 -+	      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
 1.45960 -+	      # The compiler in the base compile command matches
 1.45961 -+	      # the one in the tagged configuration.
 1.45962 -+	      # Assume this is the tagged configuration we want.
 1.45963 -+	      tagname=$z
 1.45964 -+	      break
 1.45965 -+	      ;;
 1.45966 -+	    esac
 1.45967 -+	  fi
 1.45968 -+	done
 1.45969 -+	# If $tagname still isn't set, then no tagged configuration
 1.45970 -+	# was found and let the user know that the "--tag" command
 1.45971 -+	# line option must be used.
 1.45972 -+	if test -z "$tagname"; then
 1.45973 -+	  func_echo "unable to infer tagged configuration"
 1.45974 -+	  func_fatal_error "specify a tag with \`--tag'"
 1.45975 -+#	else
 1.45976 -+#	  func_verbose "using $tagname tagged configuration"
 1.45977 -+	fi
 1.45978 -+	;;
 1.45979 -+      esac
 1.45980 -+    fi
 1.45981 -+}
 1.45982 -+
 1.45983 -+
 1.45984 -+
 1.45985 -+# func_generate_dlsyms outputname originator pic_p
 1.45986 -+# Extract symbols from dlprefiles and create ${outputname}S.o with
 1.45987 -+# a dlpreopen symbol table.
 1.45988 -+func_generate_dlsyms ()
 1.45989 -+{
 1.45990 -+    $opt_debug
 1.45991 -+    my_outputname="$1"
 1.45992 -+    my_originator="$2"
 1.45993 -+    my_pic_p="${3-no}"
 1.45994 -+    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
 1.45995 -+    my_dlsyms=
 1.45996 -+
 1.45997 -+    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
 1.45998 -+      if test -n "$NM" && test -n "$global_symbol_pipe"; then
 1.45999 -+	my_dlsyms="${my_outputname}S.c"
 1.46000 -+      else
 1.46001 -+	func_error "not configured to extract global symbols from dlpreopened files"
 1.46002 -+      fi
 1.46003 -+    fi
 1.46004 -+
 1.46005 -+    if test -n "$my_dlsyms"; then
 1.46006 -+      case $my_dlsyms in
 1.46007 -+      "") ;;
 1.46008 -+      *.c)
 1.46009 -+	# Discover the nlist of each of the dlfiles.
 1.46010 -+	nlist="$output_objdir/${my_outputname}.nm"
 1.46011 -+
 1.46012 -+	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
 1.46013 -+
 1.46014 -+	# Parse the name list into a source file.
 1.46015 -+	func_echo "creating $output_objdir/$my_dlsyms"
 1.46016 -+
 1.46017 -+	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
 1.46018 -+/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
 1.46019 -+/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
 1.46020 -+
 1.46021 -+#ifdef __cplusplus
 1.46022 -+extern \"C\" {
 1.46023 -+#endif
 1.46024 -+
 1.46025 -+/* External symbol declarations for the compiler. */\
 1.46026 -+"
 1.46027 -+
 1.46028 -+	if test "$dlself" = yes; then
 1.46029 -+	  func_echo "generating symbol list for \`$output'"
 1.46030 -+
 1.46031 -+	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
 1.46032 -+
 1.46033 -+	  # Add our own program objects to the symbol list.
 1.46034 -+	  progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
 1.46035 -+	  for progfile in $progfiles; do
 1.46036 -+	    func_echo "extracting global C symbols from \`$progfile'"
 1.46037 -+	    $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
 1.46038 -+	  done
 1.46039 -+
 1.46040 -+	  if test -n "$exclude_expsyms"; then
 1.46041 -+	    $opt_dry_run || {
 1.46042 -+	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
 1.46043 -+	      eval '$MV "$nlist"T "$nlist"'
 1.46044 -+	    }
 1.46045 -+	  fi
 1.46046 -+
 1.46047 -+	  if test -n "$export_symbols_regex"; then
 1.46048 -+	    $opt_dry_run || {
 1.46049 -+	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
 1.46050 -+	      eval '$MV "$nlist"T "$nlist"'
 1.46051 -+	    }
 1.46052 -+	  fi
 1.46053 -+
 1.46054 -+	  # Prepare the list of exported symbols
 1.46055 -+	  if test -z "$export_symbols"; then
 1.46056 -+	    export_symbols="$output_objdir/$outputname.exp"
 1.46057 -+	    $opt_dry_run || {
 1.46058 -+	      $RM $export_symbols
 1.46059 -+	      eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
 1.46060 -+	      case $host in
 1.46061 -+	      *cygwin* | *mingw* )
 1.46062 -+                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
 1.46063 -+                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
 1.46064 -+	        ;;
 1.46065 -+	      esac
 1.46066 -+	    }
 1.46067 -+	  else
 1.46068 -+	    $opt_dry_run || {
 1.46069 -+	      eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
 1.46070 -+	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
 1.46071 -+	      eval '$MV "$nlist"T "$nlist"'
 1.46072 -+	      case $host in
 1.46073 -+	        *cygwin | *mingw* )
 1.46074 -+	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
 1.46075 -+	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
 1.46076 -+	          ;;
 1.46077 -+	      esac
 1.46078 -+	    }
 1.46079 -+	  fi
 1.46080 -+	fi
 1.46081 -+
 1.46082 -+	for dlprefile in $dlprefiles; do
 1.46083 -+	  func_echo "extracting global C symbols from \`$dlprefile'"
 1.46084 -+	  func_basename "$dlprefile"
 1.46085 -+	  name="$func_basename_result"
 1.46086 -+	  $opt_dry_run || {
 1.46087 -+	    eval '$ECHO ": $name " >> "$nlist"'
 1.46088 -+	    eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
 1.46089 -+	  }
 1.46090 -+	done
 1.46091 -+
 1.46092 -+	$opt_dry_run || {
 1.46093 -+	  # Make sure we have at least an empty file.
 1.46094 -+	  test -f "$nlist" || : > "$nlist"
 1.46095 -+
 1.46096 -+	  if test -n "$exclude_expsyms"; then
 1.46097 -+	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
 1.46098 -+	    $MV "$nlist"T "$nlist"
 1.46099 -+	  fi
 1.46100 -+
 1.46101 -+	  # Try sorting and uniquifying the output.
 1.46102 -+	  if $GREP -v "^: " < "$nlist" |
 1.46103 -+	      if sort -k 3 </dev/null >/dev/null 2>&1; then
 1.46104 -+		sort -k 3
 1.46105 -+	      else
 1.46106 -+		sort +2
 1.46107 -+	      fi |
 1.46108 -+	      uniq > "$nlist"S; then
 1.46109 -+	    :
 1.46110 -+	  else
 1.46111 -+	    $GREP -v "^: " < "$nlist" > "$nlist"S
 1.46112 -+	  fi
 1.46113 -+
 1.46114 -+	  if test -f "$nlist"S; then
 1.46115 -+	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
 1.46116 -+	  else
 1.46117 -+	    $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
 1.46118 -+	  fi
 1.46119 -+
 1.46120 -+	  $ECHO >> "$output_objdir/$my_dlsyms" "\
 1.46121 -+
 1.46122 -+/* The mapping between symbol names and symbols.  */
 1.46123 -+typedef struct {
 1.46124 -+  const char *name;
 1.46125 -+  void *address;
 1.46126 -+} lt_dlsymlist;
 1.46127 -+"
 1.46128 -+	  case $host in
 1.46129 -+	  *cygwin* | *mingw* )
 1.46130 -+	    $ECHO >> "$output_objdir/$my_dlsyms" "\
 1.46131 -+/* DATA imports from DLLs on WIN32 con't be const, because
 1.46132 -+   runtime relocations are performed -- see ld's documentation
 1.46133 -+   on pseudo-relocs.  */"
 1.46134 -+	    lt_dlsym_const= ;;
 1.46135 -+	  *osf5*)
 1.46136 -+	    echo >> "$output_objdir/$my_dlsyms" "\
 1.46137 -+/* This system does not cope well with relocations in const data */"
 1.46138 -+	    lt_dlsym_const= ;;
 1.46139 -+	  *)
 1.46140 -+	    lt_dlsym_const=const ;;
 1.46141 -+	  esac
 1.46142 -+
 1.46143 -+	  $ECHO >> "$output_objdir/$my_dlsyms" "\
 1.46144 -+extern $lt_dlsym_const lt_dlsymlist
 1.46145 -+lt_${my_prefix}_LTX_preloaded_symbols[];
 1.46146 -+$lt_dlsym_const lt_dlsymlist
 1.46147 -+lt_${my_prefix}_LTX_preloaded_symbols[] =
 1.46148 -+{\
 1.46149 -+  { \"$my_originator\", (void *) 0 },"
 1.46150 -+
 1.46151 -+	  eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
 1.46152 -+
 1.46153 -+	  $ECHO >> "$output_objdir/$my_dlsyms" "\
 1.46154 -+  {0, (void *) 0}
 1.46155 -+};
 1.46156 -+
 1.46157 -+/* This works around a problem in FreeBSD linker */
 1.46158 -+#ifdef FREEBSD_WORKAROUND
 1.46159 -+static const void *lt_preloaded_setup() {
 1.46160 -+  return lt_${my_prefix}_LTX_preloaded_symbols;
 1.46161 -+}
 1.46162 -+#endif
 1.46163 -+
 1.46164 -+#ifdef __cplusplus
 1.46165 -+}
 1.46166 -+#endif\
 1.46167 -+"
 1.46168 -+	} # !$opt_dry_run
 1.46169 -+
 1.46170 -+  	pic_flag_for_symtable=
 1.46171 -+	case "$compile_command " in
 1.46172 -+	*" -static "*) ;;
 1.46173 -+	*)
 1.46174 -+	  case $host in
 1.46175 -+	  # compiling the symbol table file with pic_flag works around
 1.46176 -+	  # a FreeBSD bug that causes programs to crash when -lm is
 1.46177 -+	  # linked before any other PIC object.  But we must not use
 1.46178 -+	  # pic_flag when linking with -static.  The problem exists in
 1.46179 -+	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
 1.46180 -+	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
 1.46181 -+	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
 1.46182 -+	  *-*-hpux*)
 1.46183 -+	    pic_flag_for_symtable=" $pic_flag"  ;;
 1.46184 -+	  *)
 1.46185 -+	    if test "X$my_pic_p" != Xno; then
 1.46186 -+	      pic_flag_for_symtable=" $pic_flag"
 1.46187 -+	    fi
 1.46188 -+	    ;;
 1.46189 -+	  esac
 1.46190 -+	  ;;
 1.46191 -+	esac
 1.46192 -+	symtab_cflags=
 1.46193 -+	for arg in $LTCFLAGS; do
 1.46194 -+	  case $arg in
 1.46195 -+	  -pie | -fpie | -fPIE) ;;
 1.46196 -+	  *) symtab_cflags="$symtab_cflags $arg" ;;
 1.46197 -+	  esac
 1.46198 -+	done
 1.46199 -+
 1.46200 -+	# Now compile the dynamic symbol file.
 1.46201 -+	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
 1.46202 -+
 1.46203 -+	# Clean up the generated files.
 1.46204 -+	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
 1.46205 -+
 1.46206 -+	# Transform the symbol file into the correct name.
 1.46207 -+	symfileobj="$output_objdir/${my_outputname}S.$objext"
 1.46208 -+	case $host in
 1.46209 -+	*cygwin* | *mingw* )
 1.46210 -+	  if test -f "$output_objdir/$my_outputname.def"; then
 1.46211 -+	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
 1.46212 -+	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
 1.46213 -+	  else
 1.46214 -+	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
 1.46215 -+	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
 1.46216 -+	  fi
 1.46217 -+	  ;;
 1.46218 -+	*)
 1.46219 -+	  compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
 1.46220 -+	  finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
 1.46221 -+	  ;;
 1.46222 -+	esac
 1.46223 -+	;;
 1.46224 -+      *)
 1.46225 -+	func_fatal_error "unknown suffix for \`$my_dlsyms'"
 1.46226 -+	;;
 1.46227 -+      esac
 1.46228 -+    else
 1.46229 -+      # We keep going just in case the user didn't refer to
 1.46230 -+      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
 1.46231 -+      # really was required.
 1.46232 -+
 1.46233 -+      # Nullify the symbol file.
 1.46234 -+      compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
 1.46235 -+      finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
 1.46236 -+    fi
 1.46237 -+}
 1.46238 -+
 1.46239 -+# func_extract_an_archive dir oldlib
 1.46240 -+func_extract_an_archive ()
 1.46241 -+{
 1.46242 -+    $opt_debug
 1.46243 -+    f_ex_an_ar_dir="$1"; shift
 1.46244 -+    f_ex_an_ar_oldlib="$1"
 1.46245 -+    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" 'exit $?'
 1.46246 -+    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
 1.46247 -+     :
 1.46248 -+    else
 1.46249 -+      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
 1.46250 -+    fi
 1.46251 -+}
 1.46252 -+
 1.46253 -+
 1.46254 -+# func_extract_archives gentop oldlib ...
 1.46255 -+func_extract_archives ()
 1.46256 -+{
 1.46257 -+    $opt_debug
 1.46258 -+    my_gentop="$1"; shift
 1.46259 -+    my_oldlibs=${1+"$@"}
 1.46260 -+    my_oldobjs=""
 1.46261 -+    my_xlib=""
 1.46262 -+    my_xabs=""
 1.46263 -+    my_xdir=""
 1.46264 -+
 1.46265 -+    for my_xlib in $my_oldlibs; do
 1.46266 -+      # Extract the objects.
 1.46267 -+      case $my_xlib in
 1.46268 -+	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
 1.46269 -+	*) my_xabs=`pwd`"/$my_xlib" ;;
 1.46270 -+      esac
 1.46271 -+      func_basename "$my_xlib"
 1.46272 -+      my_xlib="$func_basename_result"
 1.46273 -+      my_xlib_u=$my_xlib
 1.46274 -+      while :; do
 1.46275 -+        case " $extracted_archives " in
 1.46276 -+	*" $my_xlib_u "*)
 1.46277 -+	  extracted_serial=`expr $extracted_serial + 1`
 1.46278 -+	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
 1.46279 -+	*) break ;;
 1.46280 -+	esac
 1.46281 -+      done
 1.46282 -+      extracted_archives="$extracted_archives $my_xlib_u"
 1.46283 -+      my_xdir="$my_gentop/$my_xlib_u"
 1.46284 -+
 1.46285 -+      func_mkdir_p "$my_xdir"
 1.46286 -+
 1.46287 -+      case $host in
 1.46288 -+      *-darwin*)
 1.46289 -+	func_echo "Extracting $my_xabs"
 1.46290 -+	# Do not bother doing anything if just a dry run
 1.46291 -+	$opt_dry_run || {
 1.46292 -+	  darwin_orig_dir=`pwd`
 1.46293 -+	  cd $my_xdir || exit $?
 1.46294 -+	  darwin_archive=$my_xabs
 1.46295 -+	  darwin_curdir=`pwd`
 1.46296 -+	  darwin_base_archive=`basename $darwin_archive`
 1.46297 -+	  darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
 1.46298 -+	  if test -n "$darwin_arches"; then
 1.46299 -+	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
 1.46300 -+	    darwin_arch=
 1.46301 -+	    func_echo "$darwin_base_archive has multiple architectures $darwin_arches"
 1.46302 -+	    for darwin_arch in  $darwin_arches ; do
 1.46303 -+	      func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
 1.46304 -+	      lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
 1.46305 -+	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
 1.46306 -+	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
 1.46307 -+	      cd "$darwin_curdir"
 1.46308 -+	      $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
 1.46309 -+	    done # $darwin_arches
 1.46310 -+            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
 1.46311 -+	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
 1.46312 -+	    darwin_file=
 1.46313 -+	    darwin_files=
 1.46314 -+	    for darwin_file in $darwin_filelist; do
 1.46315 -+	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
 1.46316 -+	      lipo -create -output "$darwin_file" $darwin_files
 1.46317 -+	    done # $darwin_filelist
 1.46318 -+	    $RM -rf unfat-$$
 1.46319 -+	    cd "$darwin_orig_dir"
 1.46320 -+	  else
 1.46321 -+	    cd $darwin_orig_dir
 1.46322 -+	    func_extract_an_archive "$my_xdir" "$my_xabs"
 1.46323 -+	  fi # $darwin_arches
 1.46324 -+	} # !$opt_dry_run
 1.46325 -+	;;
 1.46326 -+      *)
 1.46327 -+        func_extract_an_archive "$my_xdir" "$my_xabs"
 1.46328 -+	;;
 1.46329 -+      esac
 1.46330 -+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
 1.46331 -+    done
 1.46332 -+
 1.46333 -+    func_extract_archives_result="$my_oldobjs"
 1.46334 -+}
 1.46335 -+
 1.46336 -+
 1.46337 -+
 1.46338 -+# func_write_libtool_object output_name pic_name nonpic_name
 1.46339 -+# Create a libtool object file (analogous to a ".la" file),
 1.46340 -+# but don't create it if we're doing a dry run.
 1.46341 -+func_write_libtool_object ()
 1.46342 -+{
 1.46343 -+    write_libobj=${1}
 1.46344 -+    if test "$build_libtool_libs" = yes; then
 1.46345 -+      write_lobj=\'${2}\'
 1.46346 -+    else
 1.46347 -+      write_lobj=none
 1.46348 -+    fi
 1.46349 -+
 1.46350 -+    if test "$build_old_libs" = yes; then
 1.46351 -+      write_oldobj=\'${3}\'
 1.46352 -+    else
 1.46353 -+      write_oldobj=none
 1.46354 -+    fi
 1.46355 -+
 1.46356 -+    $opt_dry_run || {
 1.46357 -+      cat >${write_libobj}T <<EOF
 1.46358 -+# $write_libobj - a libtool object file
 1.46359 -+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
 1.46360 -+#
 1.46361 -+# Please DO NOT delete this file!
 1.46362 -+# It is necessary for linking the library.
 1.46363 -+
 1.46364 -+# Name of the PIC object.
 1.46365 -+pic_object=$write_lobj
 1.46366 -+
 1.46367 -+# Name of the non-PIC object
 1.46368 -+non_pic_object=$write_oldobj
 1.46369 -+
 1.46370 -+EOF
 1.46371 -+      mv -f "${write_libobj}T" "${write_libobj}"
 1.46372 -+    }
 1.46373 -+}
 1.46374 -+
 1.46375 -+# func_mode_compile arg...
 1.46376 -+func_mode_compile ()
 1.46377 -+{
 1.46378 -+    $opt_debug
 1.46379 -+    # Get the compilation command and the source file.
 1.46380 -+    base_compile=
 1.46381 -+    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
 1.46382 -+    suppress_opt=yes
 1.46383 -+    suppress_output=
 1.46384 -+    arg_mode=normal
 1.46385 -+    libobj=
 1.46386 -+    later=
 1.46387 -+    pie_flag=
 1.46388 -+
 1.46389 -+    for arg
 1.46390 -+    do
 1.46391 -+      case $arg_mode in
 1.46392 -+      arg  )
 1.46393 -+	# do not "continue".  Instead, add this to base_compile
 1.46394 -+	lastarg="$arg"
 1.46395 -+	arg_mode=normal
 1.46396 -+	;;
 1.46397 -+
 1.46398 -+      target )
 1.46399 -+	libobj="$arg"
 1.46400 -+	arg_mode=normal
 1.46401 -+	continue
 1.46402 -+	;;
 1.46403 -+
 1.46404 -+      normal )
 1.46405 -+	# Accept any command-line options.
 1.46406 -+	case $arg in
 1.46407 -+	-o)
 1.46408 -+	  test -n "$libobj" && \
 1.46409 -+	    func_fatal_error "you cannot specify \`-o' more than once"
 1.46410 -+	  arg_mode=target
 1.46411 -+	  continue
 1.46412 -+	  ;;
 1.46413 -+
 1.46414 -+	-pie | -fpie | -fPIE)
 1.46415 -+          pie_flag="$pie_flag $arg"
 1.46416 -+	  continue
 1.46417 -+	  ;;
 1.46418 -+
 1.46419 -+	-shared | -static | -prefer-pic | -prefer-non-pic)
 1.46420 -+	  later="$later $arg"
 1.46421 -+	  continue
 1.46422 -+	  ;;
 1.46423 -+
 1.46424 -+	-no-suppress)
 1.46425 -+	  suppress_opt=no
 1.46426 -+	  continue
 1.46427 -+	  ;;
 1.46428 -+
 1.46429 -+	-Xcompiler)
 1.46430 -+	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
 1.46431 -+	  continue      #  The current "srcfile" will either be retained or
 1.46432 -+	  ;;            #  replaced later.  I would guess that would be a bug.
 1.46433 -+
 1.46434 -+	-Wc,*)
 1.46435 -+	  func_stripname '-Wc,' '' "$arg"
 1.46436 -+	  args=$func_stripname_result
 1.46437 -+	  lastarg=
 1.46438 -+	  save_ifs="$IFS"; IFS=','
 1.46439 -+	  for arg in $args; do
 1.46440 -+	    IFS="$save_ifs"
 1.46441 -+	    func_quote_for_eval "$arg"
 1.46442 -+	    lastarg="$lastarg $func_quote_for_eval_result"
 1.46443 -+	  done
 1.46444 -+	  IFS="$save_ifs"
 1.46445 -+	  func_stripname ' ' '' "$lastarg"
 1.46446 -+	  lastarg=$func_stripname_result
 1.46447 -+
 1.46448 -+	  # Add the arguments to base_compile.
 1.46449 -+	  base_compile="$base_compile $lastarg"
 1.46450 -+	  continue
 1.46451 -+	  ;;
 1.46452 -+
 1.46453 -+	*)
 1.46454 -+	  # Accept the current argument as the source file.
 1.46455 -+	  # The previous "srcfile" becomes the current argument.
 1.46456 -+	  #
 1.46457 -+	  lastarg="$srcfile"
 1.46458 -+	  srcfile="$arg"
 1.46459 -+	  ;;
 1.46460 -+	esac  #  case $arg
 1.46461 -+	;;
 1.46462 -+      esac    #  case $arg_mode
 1.46463 -+
 1.46464 -+      # Aesthetically quote the previous argument.
 1.46465 -+      func_quote_for_eval "$lastarg"
 1.46466 -+      base_compile="$base_compile $func_quote_for_eval_result"
 1.46467 -+    done # for arg
 1.46468 -+
 1.46469 -+    case $arg_mode in
 1.46470 -+    arg)
 1.46471 -+      func_fatal_error "you must specify an argument for -Xcompile"
 1.46472 -+      ;;
 1.46473 -+    target)
 1.46474 -+      func_fatal_error "you must specify a target with \`-o'"
 1.46475 -+      ;;
 1.46476 -+    *)
 1.46477 -+      # Get the name of the library object.
 1.46478 -+      test -z "$libobj" && {
 1.46479 -+	func_basename "$srcfile"
 1.46480 -+	libobj="$func_basename_result"
 1.46481 -+      }
 1.46482 -+      ;;
 1.46483 -+    esac
 1.46484 -+
 1.46485 -+    # Recognize several different file suffixes.
 1.46486 -+    # If the user specifies -o file.o, it is replaced with file.lo
 1.46487 -+    xform='[cCFSifmso]'
 1.46488 -+    case $libobj in
 1.46489 -+    *.ada) xform=ada ;;
 1.46490 -+    *.adb) xform=adb ;;
 1.46491 -+    *.ads) xform=ads ;;
 1.46492 -+    *.asm) xform=asm ;;
 1.46493 -+    *.c++) xform=c++ ;;
 1.46494 -+    *.cc) xform=cc ;;
 1.46495 -+    *.ii) xform=ii ;;
 1.46496 -+    *.class) xform=class ;;
 1.46497 -+    *.cpp) xform=cpp ;;
 1.46498 -+    *.cxx) xform=cxx ;;
 1.46499 -+    *.[fF][09]?) xform='[fF][09].' ;;
 1.46500 -+    *.for) xform=for ;;
 1.46501 -+    *.java) xform=java ;;
 1.46502 -+    *.obj) xform=obj ;;
 1.46503 -+    esac
 1.46504 -+
 1.46505 -+    libobj=`$ECHO "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
 1.46506 -+
 1.46507 -+    case $libobj in
 1.46508 -+    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
 1.46509 -+    *)
 1.46510 -+      func_fatal_error "cannot determine name of library object from \`$libobj'"
 1.46511 -+      ;;
 1.46512 -+    esac
 1.46513 -+
 1.46514 -+    func_infer_tag $base_compile
 1.46515 -+
 1.46516 -+    for arg in $later; do
 1.46517 -+      case $arg in
 1.46518 -+      -shared)
 1.46519 -+	test "$build_libtool_libs" != yes && \
 1.46520 -+	  func_fatal_configuration "can not build a shared library"
 1.46521 -+	build_old_libs=no
 1.46522 -+	continue
 1.46523 -+	;;
 1.46524 -+
 1.46525 -+      -static)
 1.46526 -+	build_libtool_libs=no
 1.46527 -+	build_old_libs=yes
 1.46528 -+	continue
 1.46529 -+	;;
 1.46530 -+
 1.46531 -+      -prefer-pic)
 1.46532 -+	pic_mode=yes
 1.46533 -+	continue
 1.46534 -+	;;
 1.46535 -+
 1.46536 -+      -prefer-non-pic)
 1.46537 -+	pic_mode=no
 1.46538 -+	continue
 1.46539 -+	;;
 1.46540 -+      esac
 1.46541 -+    done
 1.46542 -+
 1.46543 -+    func_quote_for_eval "$libobj"
 1.46544 -+    test "X$libobj" != "X$func_quote_for_eval_result" \
 1.46545 -+      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' 	&()|`$[]' \
 1.46546 -+      && func_warning "libobj name \`$libobj' may not contain shell special characters."
 1.46547 -+    func_basename "$obj"
 1.46548 -+    objname="$func_basename_result"
 1.46549 -+    func_dirname "$obj" "/" ""
 1.46550 -+    xdir="$func_dirname_result"
 1.46551 -+    lobj=${xdir}$objdir/$objname
 1.46552 -+
 1.46553 -+    test -z "$base_compile" && \
 1.46554 -+      func_fatal_help "you must specify a compilation command"
 1.46555 -+
 1.46556 -+    # Delete any leftover library objects.
 1.46557 -+    if test "$build_old_libs" = yes; then
 1.46558 -+      removelist="$obj $lobj $libobj ${libobj}T"
 1.46559 -+    else
 1.46560 -+      removelist="$lobj $libobj ${libobj}T"
 1.46561 -+    fi
 1.46562 -+
 1.46563 -+    $opt_dry_run || $RM $removelist
 1.46564 -+    trap "$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE" 1 2 15
 1.46565 -+
 1.46566 -+    # On Cygwin there's no "real" PIC flag so we must build both object types
 1.46567 -+    case $host_os in
 1.46568 -+    cygwin* | mingw* | pw32* | os2*)
 1.46569 -+      pic_mode=default
 1.46570 -+      ;;
 1.46571 -+    esac
 1.46572 -+    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
 1.46573 -+      # non-PIC code in shared libraries is not supported
 1.46574 -+      pic_mode=default
 1.46575 -+    fi
 1.46576 -+
 1.46577 -+    # Calculate the filename of the output object if compiler does
 1.46578 -+    # not support -o with -c
 1.46579 -+    if test "$compiler_c_o" = no; then
 1.46580 -+      output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
 1.46581 -+      lockfile="$output_obj.lock"
 1.46582 -+      removelist="$removelist $output_obj $lockfile"
 1.46583 -+      trap "$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE" 1 2 15
 1.46584 -+    else
 1.46585 -+      output_obj=
 1.46586 -+      need_locks=no
 1.46587 -+      lockfile=
 1.46588 -+    fi
 1.46589 -+
 1.46590 -+    # Lock this critical section if it is needed
 1.46591 -+    # We use this script file to make the link, it avoids creating a new file
 1.46592 -+    if test "$need_locks" = yes; then
 1.46593 -+      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
 1.46594 -+	func_echo "Waiting for $lockfile to be removed"
 1.46595 -+	sleep 2
 1.46596 -+      done
 1.46597 -+    elif test "$need_locks" = warn; then
 1.46598 -+      if test -f "$lockfile"; then
 1.46599 -+	$ECHO "\
 1.46600 -+*** ERROR, $lockfile exists and contains:
 1.46601 -+`cat $lockfile 2>/dev/null`
 1.46602 -+
 1.46603 -+This indicates that another process is trying to use the same
 1.46604 -+temporary object file, and libtool could not work around it because
 1.46605 -+your compiler does not support \`-c' and \`-o' together.  If you
 1.46606 -+repeat this compilation, it may succeed, by chance, but you had better
 1.46607 -+avoid parallel builds (make -j) in this platform, or get a better
 1.46608 -+compiler."
 1.46609 -+
 1.46610 -+	$opt_dry_run || $RM $removelist
 1.46611 -+	exit $EXIT_FAILURE
 1.46612 -+      fi
 1.46613 -+      $ECHO "$srcfile" > "$lockfile"
 1.46614 -+    fi
 1.46615 -+
 1.46616 -+    if test -n "$fix_srcfile_path"; then
 1.46617 -+      eval srcfile=\"$fix_srcfile_path\"
 1.46618 -+    fi
 1.46619 -+    func_quote_for_eval "$srcfile"
 1.46620 -+    qsrcfile=$func_quote_for_eval_result
 1.46621 -+
 1.46622 -+    $opt_dry_run || $RM "$libobj" "${libobj}T"
 1.46623 -+
 1.46624 -+    # Only build a PIC object if we are building libtool libraries.
 1.46625 -+    if test "$build_libtool_libs" = yes; then
 1.46626 -+      # Without this assignment, base_compile gets emptied.
 1.46627 -+      fbsd_hideous_sh_bug=$base_compile
 1.46628 -+
 1.46629 -+      if test "$pic_mode" != no; then
 1.46630 -+	command="$base_compile $qsrcfile $pic_flag"
 1.46631 -+      else
 1.46632 -+	# Don't build PIC code
 1.46633 -+	command="$base_compile $qsrcfile"
 1.46634 -+      fi
 1.46635 -+
 1.46636 -+      func_mkdir_p "$xdir$objdir"
 1.46637 -+
 1.46638 -+      if test -z "$output_obj"; then
 1.46639 -+	# Place PIC objects in $objdir
 1.46640 -+	command="$command -o $lobj"
 1.46641 -+      fi
 1.46642 -+
 1.46643 -+      $opt_dry_run || $RM "$lobj" "$output_obj"
 1.46644 -+
 1.46645 -+      func_show_eval "$command"	\
 1.46646 -+          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
 1.46647 -+
 1.46648 -+      if test "$need_locks" = warn &&
 1.46649 -+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
 1.46650 -+	$ECHO "\
 1.46651 -+*** ERROR, $lockfile contains:
 1.46652 -+`cat $lockfile 2>/dev/null`
 1.46653 -+
 1.46654 -+but it should contain:
 1.46655 -+$srcfile
 1.46656 -+
 1.46657 -+This indicates that another process is trying to use the same
 1.46658 -+temporary object file, and libtool could not work around it because
 1.46659 -+your compiler does not support \`-c' and \`-o' together.  If you
 1.46660 -+repeat this compilation, it may succeed, by chance, but you had better
 1.46661 -+avoid parallel builds (make -j) in this platform, or get a better
 1.46662 -+compiler."
 1.46663 -+
 1.46664 -+	$opt_dry_run || $RM $removelist
 1.46665 -+	exit $EXIT_FAILURE
 1.46666 -+      fi
 1.46667 -+
 1.46668 -+      # Just move the object if needed, then go on to compile the next one
 1.46669 -+      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
 1.46670 -+	func_show_eval '$MV "$output_obj" "$lobj"' \
 1.46671 -+	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
 1.46672 -+      fi
 1.46673 -+
 1.46674 -+      # Allow error messages only from the first compilation.
 1.46675 -+      if test "$suppress_opt" = yes; then
 1.46676 -+	suppress_output=' >/dev/null 2>&1'
 1.46677 -+      fi
 1.46678 -+    fi
 1.46679 -+
 1.46680 -+    # Only build a position-dependent object if we build old libraries.
 1.46681 -+    if test "$build_old_libs" = yes; then
 1.46682 -+      if test "$pic_mode" != yes; then
 1.46683 -+	# Don't build PIC code
 1.46684 -+	command="$base_compile $qsrcfile$pie_flag"
 1.46685 -+      else
 1.46686 -+	command="$base_compile $qsrcfile $pic_flag"
 1.46687 -+      fi
 1.46688 -+      if test "$compiler_c_o" = yes; then
 1.46689 -+	command="$command -o $obj"
 1.46690 -+      fi
 1.46691 -+
 1.46692 -+      # Suppress compiler output if we already did a PIC compilation.
 1.46693 -+      command="$command$suppress_output"
 1.46694 -+      $opt_dry_run || $RM "$obj" "$output_obj"
 1.46695 -+      func_show_eval "$command" \
 1.46696 -+        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
 1.46697 -+
 1.46698 -+      if test "$need_locks" = warn &&
 1.46699 -+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
 1.46700 -+	$ECHO "\
 1.46701 -+*** ERROR, $lockfile contains:
 1.46702 -+`cat $lockfile 2>/dev/null`
 1.46703 -+
 1.46704 -+but it should contain:
 1.46705 -+$srcfile
 1.46706 -+
 1.46707 -+This indicates that another process is trying to use the same
 1.46708 -+temporary object file, and libtool could not work around it because
 1.46709 -+your compiler does not support \`-c' and \`-o' together.  If you
 1.46710 -+repeat this compilation, it may succeed, by chance, but you had better
 1.46711 -+avoid parallel builds (make -j) in this platform, or get a better
 1.46712 -+compiler."
 1.46713 -+
 1.46714 -+	$opt_dry_run || $RM $removelist
 1.46715 -+	exit $EXIT_FAILURE
 1.46716 -+      fi
 1.46717 -+
 1.46718 -+      # Just move the object if needed
 1.46719 -+      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
 1.46720 -+	func_show_eval '$MV "$output_obj" "$obj"' \
 1.46721 -+	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
 1.46722 -+      fi
 1.46723 -+    fi
 1.46724 -+
 1.46725 -+    $opt_dry_run || {
 1.46726 -+      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
 1.46727 -+
 1.46728 -+      # Unlock the critical section if it was locked
 1.46729 -+      if test "$need_locks" != no; then
 1.46730 -+        $RM "$lockfile"
 1.46731 -+      fi
 1.46732 -+    }
 1.46733 -+
 1.46734 -+    exit $EXIT_SUCCESS
 1.46735 -+}
 1.46736 -+
 1.46737 -+test "$mode" = compile && func_mode_compile ${1+"$@"}
 1.46738 -+
 1.46739 -+
 1.46740 -+# func_mode_execute arg...
 1.46741 -+func_mode_execute ()
 1.46742 -+{
 1.46743 -+    $opt_debug
 1.46744 -+    # The first argument is the command name.
 1.46745 -+    cmd="$nonopt"
 1.46746 -+    test -z "$cmd" && \
 1.46747 -+      func_fatal_help "you must specify a COMMAND"
 1.46748 -+
 1.46749 -+    # Handle -dlopen flags immediately.
 1.46750 -+    for file in $execute_dlfiles; do
 1.46751 -+      test -f "$file" \
 1.46752 -+	|| func_fatal_help "\`$file' is not a file"
 1.46753 -+
 1.46754 -+      dir=
 1.46755 -+      case $file in
 1.46756 -+      *.la)
 1.46757 -+	# Check to see that this really is a libtool archive.
 1.46758 -+	func_lalib_unsafe_p "$file" \
 1.46759 -+	  || func_fatal_help "\`$lib' is not a valid libtool archive"
 1.46760 -+
 1.46761 -+	# Read the libtool library.
 1.46762 -+	dlname=
 1.46763 -+	library_names=
 1.46764 -+	func_source "$file"
 1.46765 -+
 1.46766 -+	# Skip this library if it cannot be dlopened.
 1.46767 -+	if test -z "$dlname"; then
 1.46768 -+	  # Warn if it was a shared library.
 1.46769 -+	  test -n "$library_names" && \
 1.46770 -+	    func_warning "\`$file' was not linked with \`-export-dynamic'"
 1.46771 -+	  continue
 1.46772 -+	fi
 1.46773 -+
 1.46774 -+	func_dirname "$file" "" "."
 1.46775 -+	dir="$func_dirname_result"
 1.46776 -+
 1.46777 -+	if test -f "$dir/$objdir/$dlname"; then
 1.46778 -+	  dir="$dir/$objdir"
 1.46779 -+	else
 1.46780 -+	  if test ! -f "$dir/$dlname"; then
 1.46781 -+	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
 1.46782 -+	  fi
 1.46783 -+	fi
 1.46784 -+	;;
 1.46785 -+
 1.46786 -+      *.lo)
 1.46787 -+	# Just add the directory containing the .lo file.
 1.46788 -+	func_dirname "$file" "" "."
 1.46789 -+	dir="$func_dirname_result"
 1.46790 -+	;;
 1.46791 -+
 1.46792 -+      *)
 1.46793 -+	func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
 1.46794 -+	continue
 1.46795 -+	;;
 1.46796 -+      esac
 1.46797 -+
 1.46798 -+      # Get the absolute pathname.
 1.46799 -+      absdir=`cd "$dir" && pwd`
 1.46800 -+      test -n "$absdir" && dir="$absdir"
 1.46801 -+
 1.46802 -+      # Now add the directory to shlibpath_var.
 1.46803 -+      if eval "test -z \"\$$shlibpath_var\""; then
 1.46804 -+	eval "$shlibpath_var=\"\$dir\""
 1.46805 -+      else
 1.46806 -+	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
 1.46807 -+      fi
 1.46808 -+    done
 1.46809 -+
 1.46810 -+    # This variable tells wrapper scripts just to set shlibpath_var
 1.46811 -+    # rather than running their programs.
 1.46812 -+    libtool_execute_magic="$magic"
 1.46813 -+
 1.46814 -+    # Check if any of the arguments is a wrapper script.
 1.46815 -+    args=
 1.46816 -+    for file
 1.46817 -+    do
 1.46818 -+      case $file in
 1.46819 -+      -*) ;;
 1.46820 -+      *)
 1.46821 -+	# Do a test to see if this is really a libtool program.
 1.46822 -+	if func_ltwrapper_p "$file"; then
 1.46823 -+	  func_source "$file"
 1.46824 -+
 1.46825 -+	  # Transform arg to wrapped name.
 1.46826 -+	  file="$progdir/$program"
 1.46827 -+	fi
 1.46828 -+	;;
 1.46829 -+      esac
 1.46830 -+      # Quote arguments (to preserve shell metacharacters).
 1.46831 -+      func_quote_for_eval "$file"
 1.46832 -+      args="$args $func_quote_for_eval_result"
 1.46833 -+    done
 1.46834 -+
 1.46835 -+    if test "X$opt_dry_run" = Xfalse; then
 1.46836 -+      if test -n "$shlibpath_var"; then
 1.46837 -+	# Export the shlibpath_var.
 1.46838 -+	eval "export $shlibpath_var"
 1.46839 -+      fi
 1.46840 -+
 1.46841 -+      # Restore saved environment variables
 1.46842 -+      for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
 1.46843 -+      do
 1.46844 -+	eval "if test \"\${save_$lt_var+set}\" = set; then
 1.46845 -+                $lt_var=\$save_$lt_var; export $lt_var
 1.46846 -+	      else
 1.46847 -+		$lt_unset $lt_var
 1.46848 -+	      fi"
 1.46849 -+      done
 1.46850 -+
 1.46851 -+      # Now prepare to actually exec the command.
 1.46852 -+      exec_cmd="\$cmd$args"
 1.46853 -+    else
 1.46854 -+      # Display what would be done.
 1.46855 -+      if test -n "$shlibpath_var"; then
 1.46856 -+	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
 1.46857 -+	$ECHO "export $shlibpath_var"
 1.46858 -+      fi
 1.46859 -+      $ECHO "$cmd$args"
 1.46860 -+      exit $EXIT_SUCCESS
 1.46861 -+    fi
 1.46862 -+}
 1.46863 -+
 1.46864 -+test "$mode" = execute && func_mode_execute ${1+"$@"}
 1.46865 -+
 1.46866 -+
 1.46867 -+# func_mode_finish arg...
 1.46868 -+func_mode_finish ()
 1.46869 -+{
 1.46870 -+    $opt_debug
 1.46871 -+    libdirs="$nonopt"
 1.46872 -+    admincmds=
 1.46873 -+
 1.46874 -+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
 1.46875 -+      for dir
 1.46876 -+      do
 1.46877 -+	libdirs="$libdirs $dir"
 1.46878 -+      done
 1.46879 -+
 1.46880 -+      for libdir in $libdirs; do
 1.46881 -+	if test -n "$finish_cmds"; then
 1.46882 -+	  # Do each command in the finish commands.
 1.46883 -+	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
 1.46884 -+'"$cmd"'"'
 1.46885 -+	fi
 1.46886 -+	if test -n "$finish_eval"; then
 1.46887 -+	  # Do the single finish_eval.
 1.46888 -+	  eval cmds=\"$finish_eval\"
 1.46889 -+	  $opt_dry_run || eval "$cmds" || admincmds="$admincmds
 1.46890 -+       $cmds"
 1.46891 -+	fi
 1.46892 -+      done
 1.46893 -+    fi
 1.46894 -+
 1.46895 -+    # Exit here if they wanted silent mode.
 1.46896 -+    $opt_silent && exit $EXIT_SUCCESS
 1.46897 -+
 1.46898 -+    $ECHO "X----------------------------------------------------------------------" | $Xsed
 1.46899 -+    $ECHO "Libraries have been installed in:"
 1.46900 -+    for libdir in $libdirs; do
 1.46901 -+      $ECHO "   $libdir"
 1.46902 -+    done
 1.46903 -+    $ECHO
 1.46904 -+    $ECHO "If you ever happen to want to link against installed libraries"
 1.46905 -+    $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
 1.46906 -+    $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
 1.46907 -+    $ECHO "flag during linking and do at least one of the following:"
 1.46908 -+    if test -n "$shlibpath_var"; then
 1.46909 -+      $ECHO "   - add LIBDIR to the \`$shlibpath_var' environment variable"
 1.46910 -+      $ECHO "     during execution"
 1.46911 -+    fi
 1.46912 -+    if test -n "$runpath_var"; then
 1.46913 -+      $ECHO "   - add LIBDIR to the \`$runpath_var' environment variable"
 1.46914 -+      $ECHO "     during linking"
 1.46915 -+    fi
 1.46916 -+    if test -n "$hardcode_libdir_flag_spec"; then
 1.46917 -+      libdir=LIBDIR
 1.46918 -+      eval flag=\"$hardcode_libdir_flag_spec\"
 1.46919 -+
 1.46920 -+      $ECHO "   - use the \`$flag' linker flag"
 1.46921 -+    fi
 1.46922 -+    if test -n "$admincmds"; then
 1.46923 -+      $ECHO "   - have your system administrator run these commands:$admincmds"
 1.46924 -+    fi
 1.46925 -+    if test -f /etc/ld.so.conf; then
 1.46926 -+      $ECHO "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
 1.46927 -+    fi
 1.46928 -+    $ECHO
 1.46929 -+
 1.46930 -+    $ECHO "See any operating system documentation about shared libraries for"
 1.46931 -+    case $host in
 1.46932 -+      solaris2.[6789]|solaris2.1[0-9])
 1.46933 -+        $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
 1.46934 -+	$ECHO "pages."
 1.46935 -+	;;
 1.46936 -+      *)
 1.46937 -+        $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
 1.46938 -+        ;;
 1.46939 -+    esac
 1.46940 -+    $ECHO "X----------------------------------------------------------------------" | $Xsed
 1.46941 -+    exit $EXIT_SUCCESS
 1.46942 -+}
 1.46943 -+
 1.46944 -+test "$mode" = finish && func_mode_finish ${1+"$@"}
 1.46945 -+
 1.46946 -+
 1.46947 -+# func_mode_install arg...
 1.46948 -+func_mode_install ()
 1.46949 -+{
 1.46950 -+    $opt_debug
 1.46951 -+    # There may be an optional sh(1) argument at the beginning of
 1.46952 -+    # install_prog (especially on Windows NT).
 1.46953 -+    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
 1.46954 -+       # Allow the use of GNU shtool's install command.
 1.46955 -+       $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
 1.46956 -+      # Aesthetically quote it.
 1.46957 -+      func_quote_for_eval "$nonopt"
 1.46958 -+      install_prog="$func_quote_for_eval_result "
 1.46959 -+      arg=$1
 1.46960 -+      shift
 1.46961 -+    else
 1.46962 -+      install_prog=
 1.46963 -+      arg=$nonopt
 1.46964 -+    fi
 1.46965 -+
 1.46966 -+    # The real first argument should be the name of the installation program.
 1.46967 -+    # Aesthetically quote it.
 1.46968 -+    func_quote_for_eval "$arg"
 1.46969 -+    install_prog="$install_prog$func_quote_for_eval_result"
 1.46970 -+
 1.46971 -+    # We need to accept at least all the BSD install flags.
 1.46972 -+    dest=
 1.46973 -+    files=
 1.46974 -+    opts=
 1.46975 -+    prev=
 1.46976 -+    install_type=
 1.46977 -+    isdir=no
 1.46978 -+    stripme=
 1.46979 -+    for arg
 1.46980 -+    do
 1.46981 -+      if test -n "$dest"; then
 1.46982 -+	files="$files $dest"
 1.46983 -+	dest=$arg
 1.46984 -+	continue
 1.46985 -+      fi
 1.46986 -+
 1.46987 -+      case $arg in
 1.46988 -+      -d) isdir=yes ;;
 1.46989 -+      -f)
 1.46990 -+      	case " $install_prog " in
 1.46991 -+	*[\\\ /]cp\ *) ;;
 1.46992 -+	*) prev=$arg ;;
 1.46993 -+	esac
 1.46994 -+	;;
 1.46995 -+      -g | -m | -o)
 1.46996 -+	prev=$arg
 1.46997 -+	;;
 1.46998 -+      -s)
 1.46999 -+	stripme=" -s"
 1.47000 -+	continue
 1.47001 -+	;;
 1.47002 -+      -*)
 1.47003 -+	;;
 1.47004 -+      *)
 1.47005 -+	# If the previous option needed an argument, then skip it.
 1.47006 -+	if test -n "$prev"; then
 1.47007 -+	  prev=
 1.47008 -+	else
 1.47009 -+	  dest=$arg
 1.47010 -+	  continue
 1.47011 -+	fi
 1.47012 -+	;;
 1.47013 -+      esac
 1.47014 -+
 1.47015 -+      # Aesthetically quote the argument.
 1.47016 -+      func_quote_for_eval "$arg"
 1.47017 -+      install_prog="$install_prog $func_quote_for_eval_result"
 1.47018 -+    done
 1.47019 -+
 1.47020 -+    test -z "$install_prog" && \
 1.47021 -+      func_fatal_help "you must specify an install program"
 1.47022 -+
 1.47023 -+    test -n "$prev" && \
 1.47024 -+      func_fatal_help "the \`$prev' option requires an argument"
 1.47025 -+
 1.47026 -+    if test -z "$files"; then
 1.47027 -+      if test -z "$dest"; then
 1.47028 -+	func_fatal_help "no file or destination specified"
 1.47029 -+      else
 1.47030 -+	func_fatal_help "you must specify a destination"
 1.47031 -+      fi
 1.47032 -+    fi
 1.47033 -+
 1.47034 -+    # Strip any trailing slash from the destination.
 1.47035 -+    func_stripname '' '/' "$dest"
 1.47036 -+    dest=$func_stripname_result
 1.47037 -+
 1.47038 -+    # Check to see that the destination is a directory.
 1.47039 -+    test -d "$dest" && isdir=yes
 1.47040 -+    if test "$isdir" = yes; then
 1.47041 -+      destdir="$dest"
 1.47042 -+      destname=
 1.47043 -+    else
 1.47044 -+      func_dirname "$dest" "" "."
 1.47045 -+      destdir="$func_dirname_result"
 1.47046 -+      func_basename "$dest"
 1.47047 -+      destname="$func_basename_result"
 1.47048 -+
 1.47049 -+      # Not a directory, so check to see that there is only one file specified.
 1.47050 -+      set dummy $files; shift
 1.47051 -+      test "$#" -gt 1 && \
 1.47052 -+	func_fatal_help "\`$dest' is not a directory"
 1.47053 -+    fi
 1.47054 -+    case $destdir in
 1.47055 -+    [\\/]* | [A-Za-z]:[\\/]*) ;;
 1.47056 -+    *)
 1.47057 -+      for file in $files; do
 1.47058 -+	case $file in
 1.47059 -+	*.lo) ;;
 1.47060 -+	*)
 1.47061 -+	  func_fatal_help "\`$destdir' must be an absolute directory name"
 1.47062 -+	  ;;
 1.47063 -+	esac
 1.47064 -+      done
 1.47065 -+      ;;
 1.47066 -+    esac
 1.47067 -+
 1.47068 -+    # This variable tells wrapper scripts just to set variables rather
 1.47069 -+    # than running their programs.
 1.47070 -+    libtool_install_magic="$magic"
 1.47071 -+
 1.47072 -+    staticlibs=
 1.47073 -+    future_libdirs=
 1.47074 -+    current_libdirs=
 1.47075 -+    for file in $files; do
 1.47076 -+
 1.47077 -+      # Do each installation.
 1.47078 -+      case $file in
 1.47079 -+      *.$libext)
 1.47080 -+	# Do the static libraries later.
 1.47081 -+	staticlibs="$staticlibs $file"
 1.47082 -+	;;
 1.47083 -+
 1.47084 -+      *.la)
 1.47085 -+	# Check to see that this really is a libtool archive.
 1.47086 -+	func_lalib_unsafe_p "$file" \
 1.47087 -+	  || func_fatal_help "\`$file' is not a valid libtool archive"
 1.47088 -+
 1.47089 -+	library_names=
 1.47090 -+	old_library=
 1.47091 -+	relink_command=
 1.47092 -+	func_source "$file"
 1.47093 -+
 1.47094 -+	# Add the libdir to current_libdirs if it is the destination.
 1.47095 -+	if test "X$destdir" = "X$libdir"; then
 1.47096 -+	  case "$current_libdirs " in
 1.47097 -+	  *" $libdir "*) ;;
 1.47098 -+	  *) current_libdirs="$current_libdirs $libdir" ;;
 1.47099 -+	  esac
 1.47100 -+	else
 1.47101 -+	  # Note the libdir as a future libdir.
 1.47102 -+	  case "$future_libdirs " in
 1.47103 -+	  *" $libdir "*) ;;
 1.47104 -+	  *) future_libdirs="$future_libdirs $libdir" ;;
 1.47105 -+	  esac
 1.47106 -+	fi
 1.47107 -+
 1.47108 -+	func_dirname "$file" "/" ""
 1.47109 -+	dir="$func_dirname_result"
 1.47110 -+	dir="$dir$objdir"
 1.47111 -+
 1.47112 -+	if test -n "$relink_command"; then
 1.47113 -+	  # Determine the prefix the user has applied to our future dir.
 1.47114 -+	  inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
 1.47115 -+
 1.47116 -+	  # Don't allow the user to place us outside of our expected
 1.47117 -+	  # location b/c this prevents finding dependent libraries that
 1.47118 -+	  # are installed to the same prefix.
 1.47119 -+	  # At present, this check doesn't affect windows .dll's that
 1.47120 -+	  # are installed into $libdir/../bin (currently, that works fine)
 1.47121 -+	  # but it's something to keep an eye on.
 1.47122 -+	  test "$inst_prefix_dir" = "$destdir" && \
 1.47123 -+	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
 1.47124 -+
 1.47125 -+	  if test -n "$inst_prefix_dir"; then
 1.47126 -+	    # Stick the inst_prefix_dir data into the link command.
 1.47127 -+	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
 1.47128 -+	  else
 1.47129 -+	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
 1.47130 -+	  fi
 1.47131 -+
 1.47132 -+	  func_warning "relinking \`$file'"
 1.47133 -+	  func_show_eval "$relink_command" \
 1.47134 -+	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
 1.47135 -+	fi
 1.47136 -+
 1.47137 -+	# See the names of the shared library.
 1.47138 -+	set dummy $library_names; shift
 1.47139 -+	if test -n "$1"; then
 1.47140 -+	  realname="$1"
 1.47141 -+	  shift
 1.47142 -+
 1.47143 -+	  srcname="$realname"
 1.47144 -+	  test -n "$relink_command" && srcname="$realname"T
 1.47145 -+
 1.47146 -+	  # Install the shared library and build the symlinks.
 1.47147 -+	  func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
 1.47148 -+	      'exit $?'
 1.47149 -+	  tstripme="$stripme"
 1.47150 -+	  case $host_os in
 1.47151 -+	  cygwin* | mingw* | pw32*)
 1.47152 -+	    case $realname in
 1.47153 -+	    *.dll.a)
 1.47154 -+	      tstripme=""
 1.47155 -+	      ;;
 1.47156 -+	    esac
 1.47157 -+	    ;;
 1.47158 -+	  esac
 1.47159 -+	  if test -n "$tstripme" && test -n "$striplib"; then
 1.47160 -+	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
 1.47161 -+	  fi
 1.47162 -+
 1.47163 -+	  if test "$#" -gt 0; then
 1.47164 -+	    # Delete the old symlinks, and create new ones.
 1.47165 -+	    # Try `ln -sf' first, because the `ln' binary might depend on
 1.47166 -+	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
 1.47167 -+	    # so we also need to try rm && ln -s.
 1.47168 -+	    for linkname
 1.47169 -+	    do
 1.47170 -+	      test "$linkname" != "$realname" \
 1.47171 -+		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
 1.47172 -+	    done
 1.47173 -+	  fi
 1.47174 -+
 1.47175 -+	  # Do each command in the postinstall commands.
 1.47176 -+	  lib="$destdir/$realname"
 1.47177 -+	  func_execute_cmds "$postinstall_cmds" 'exit $?'
 1.47178 -+	fi
 1.47179 -+
 1.47180 -+	# Install the pseudo-library for information purposes.
 1.47181 -+	func_basename "$file"
 1.47182 -+	name="$func_basename_result"
 1.47183 -+	instname="$dir/$name"i
 1.47184 -+	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
 1.47185 -+
 1.47186 -+	# Maybe install the static library, too.
 1.47187 -+	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
 1.47188 -+	;;
 1.47189 -+
 1.47190 -+      *.lo)
 1.47191 -+	# Install (i.e. copy) a libtool object.
 1.47192 -+
 1.47193 -+	# Figure out destination file name, if it wasn't already specified.
 1.47194 -+	if test -n "$destname"; then
 1.47195 -+	  destfile="$destdir/$destname"
 1.47196 -+	else
 1.47197 -+	  func_basename "$file"
 1.47198 -+	  destfile="$func_basename_result"
 1.47199 -+	  destfile="$destdir/$destfile"
 1.47200 -+	fi
 1.47201 -+
 1.47202 -+	# Deduce the name of the destination old-style object file.
 1.47203 -+	case $destfile in
 1.47204 -+	*.lo)
 1.47205 -+	  func_lo2o "$destfile"
 1.47206 -+	  staticdest=$func_lo2o_result
 1.47207 -+	  ;;
 1.47208 -+	*.$objext)
 1.47209 -+	  staticdest="$destfile"
 1.47210 -+	  destfile=
 1.47211 -+	  ;;
 1.47212 -+	*)
 1.47213 -+	  func_fatal_help "cannot copy a libtool object to \`$destfile'"
 1.47214 -+	  ;;
 1.47215 -+	esac
 1.47216 -+
 1.47217 -+	# Install the libtool object if requested.
 1.47218 -+	test -n "$destfile" && \
 1.47219 -+	  func_show_eval "$install_prog $file $destfile" 'exit $?'
 1.47220 -+
 1.47221 -+	# Install the old object if enabled.
 1.47222 -+	if test "$build_old_libs" = yes; then
 1.47223 -+	  # Deduce the name of the old-style object file.
 1.47224 -+	  func_lo2o "$file"
 1.47225 -+	  staticobj=$func_lo2o_result
 1.47226 -+	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
 1.47227 -+	fi
 1.47228 -+	exit $EXIT_SUCCESS
 1.47229 -+	;;
 1.47230 -+
 1.47231 -+      *)
 1.47232 -+	# Figure out destination file name, if it wasn't already specified.
 1.47233 -+	if test -n "$destname"; then
 1.47234 -+	  destfile="$destdir/$destname"
 1.47235 -+	else
 1.47236 -+	  func_basename "$file"
 1.47237 -+	  destfile="$func_basename_result"
 1.47238 -+	  destfile="$destdir/$destfile"
 1.47239 -+	fi
 1.47240 -+
 1.47241 -+	# If the file is missing, and there is a .exe on the end, strip it
 1.47242 -+	# because it is most likely a libtool script we actually want to
 1.47243 -+	# install
 1.47244 -+	stripped_ext=""
 1.47245 -+	case $file in
 1.47246 -+	  *.exe)
 1.47247 -+	    if test ! -f "$file"; then
 1.47248 -+	      func_stripname '' '.exe' "$file"
 1.47249 -+	      file=$func_stripname_result
 1.47250 -+	      stripped_ext=".exe"
 1.47251 -+	    fi
 1.47252 -+	    ;;
 1.47253 -+	esac
 1.47254 -+
 1.47255 -+	# Do a test to see if this is really a libtool program.
 1.47256 -+	case $host in
 1.47257 -+	*cygwin*|*mingw*)
 1.47258 -+	    func_stripname '' '.exe' "$file"
 1.47259 -+	    wrapper=$func_stripname_result
 1.47260 -+	    ;;
 1.47261 -+	*)
 1.47262 -+	    wrapper=$file
 1.47263 -+	    ;;
 1.47264 -+	esac
 1.47265 -+	if func_ltwrapper_p "$wrapper"; then
 1.47266 -+	  notinst_deplibs=
 1.47267 -+	  relink_command=
 1.47268 -+
 1.47269 -+	  func_source "$wrapper"
 1.47270 -+
 1.47271 -+	  # Check the variables that should have been set.
 1.47272 -+	  test -z "$generated_by_libtool_version" && \
 1.47273 -+	    func_fatal_error "invalid libtool wrapper script \`$wrapper'"
 1.47274 -+
 1.47275 -+	  finalize=yes
 1.47276 -+	  for lib in $notinst_deplibs; do
 1.47277 -+	    # Check to see that each library is installed.
 1.47278 -+	    libdir=
 1.47279 -+	    if test -f "$lib"; then
 1.47280 -+	      func_source "$lib"
 1.47281 -+	    fi
 1.47282 -+	    libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
 1.47283 -+	    if test -n "$libdir" && test ! -f "$libfile"; then
 1.47284 -+	      func_warning "\`$lib' has not been installed in \`$libdir'"
 1.47285 -+	      finalize=no
 1.47286 -+	    fi
 1.47287 -+	  done
 1.47288 -+
 1.47289 -+	  relink_command=
 1.47290 -+	  func_source "$wrapper"
 1.47291 -+
 1.47292 -+	  outputname=
 1.47293 -+	  if test "$fast_install" = no && test -n "$relink_command"; then
 1.47294 -+	    $opt_dry_run || {
 1.47295 -+	      if test "$finalize" = yes; then
 1.47296 -+	        tmpdir=`func_mktempdir`
 1.47297 -+		func_basename "$file$stripped_ext"
 1.47298 -+		file="$func_basename_result"
 1.47299 -+	        outputname="$tmpdir/$file"
 1.47300 -+	        # Replace the output file specification.
 1.47301 -+	        relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
 1.47302 -+
 1.47303 -+	        $opt_silent || {
 1.47304 -+	          func_quote_for_expand "$relink_command"
 1.47305 -+		  eval "func_echo $func_quote_for_expand_result"
 1.47306 -+	        }
 1.47307 -+	        if eval "$relink_command"; then :
 1.47308 -+	          else
 1.47309 -+		  func_error "error: relink \`$file' with the above command before installing it"
 1.47310 -+		  $opt_dry_run || ${RM}r "$tmpdir"
 1.47311 -+		  continue
 1.47312 -+	        fi
 1.47313 -+	        file="$outputname"
 1.47314 -+	      else
 1.47315 -+	        func_warning "cannot relink \`$file'"
 1.47316 -+	      fi
 1.47317 -+	    }
 1.47318 -+	  else
 1.47319 -+	    # Install the binary that we compiled earlier.
 1.47320 -+	    file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
 1.47321 -+	  fi
 1.47322 -+	fi
 1.47323 -+
 1.47324 -+	# remove .exe since cygwin /usr/bin/install will append another
 1.47325 -+	# one anyway
 1.47326 -+	case $install_prog,$host in
 1.47327 -+	*/usr/bin/install*,*cygwin*)
 1.47328 -+	  case $file:$destfile in
 1.47329 -+	  *.exe:*.exe)
 1.47330 -+	    # this is ok
 1.47331 -+	    ;;
 1.47332 -+	  *.exe:*)
 1.47333 -+	    destfile=$destfile.exe
 1.47334 -+	    ;;
 1.47335 -+	  *:*.exe)
 1.47336 -+	    func_stripname '' '.exe' "$destfile"
 1.47337 -+	    destfile=$func_stripname_result
 1.47338 -+	    ;;
 1.47339 -+	  esac
 1.47340 -+	  ;;
 1.47341 -+	esac
 1.47342 -+	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
 1.47343 -+	$opt_dry_run || if test -n "$outputname"; then
 1.47344 -+	  ${RM}r "$tmpdir"
 1.47345 -+	fi
 1.47346 -+	;;
 1.47347 -+      esac
 1.47348 -+    done
 1.47349 -+
 1.47350 -+    for file in $staticlibs; do
 1.47351 -+      func_basename "$file"
 1.47352 -+      name="$func_basename_result"
 1.47353 -+
 1.47354 -+      # Set up the ranlib parameters.
 1.47355 -+      oldlib="$destdir/$name"
 1.47356 -+
 1.47357 -+      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
 1.47358 -+
 1.47359 -+      if test -n "$stripme" && test -n "$old_striplib"; then
 1.47360 -+	func_show_eval "$old_striplib $oldlib" 'exit $?'
 1.47361 -+      fi
 1.47362 -+
 1.47363 -+      # Do each command in the postinstall commands.
 1.47364 -+      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
 1.47365 -+    done
 1.47366 -+
 1.47367 -+    test -n "$future_libdirs" && \
 1.47368 -+      func_warning "remember to run \`$progname --finish$future_libdirs'"
 1.47369 -+
 1.47370 -+    if test -n "$current_libdirs"; then
 1.47371 -+      # Maybe just do a dry run.
 1.47372 -+      $opt_dry_run && current_libdirs=" -n$current_libdirs"
 1.47373 -+      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
 1.47374 -+    else
 1.47375 -+      exit $EXIT_SUCCESS
 1.47376 -+    fi
 1.47377 -+}
 1.47378 -+
 1.47379 -+test "$mode" = install && func_mode_install ${1+"$@"}
 1.47380 -+
 1.47381 -+
 1.47382 -+# func_mode_link arg...
 1.47383 -+func_mode_link ()
 1.47384 -+{
 1.47385 -+    $opt_debug
 1.47386 -+    case $host in
 1.47387 -+    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
 1.47388 -+      # It is impossible to link a dll without this setting, and
 1.47389 -+      # we shouldn't force the makefile maintainer to figure out
 1.47390 -+      # which system we are compiling for in order to pass an extra
 1.47391 -+      # flag for every libtool invocation.
 1.47392 -+      # allow_undefined=no
 1.47393 -+
 1.47394 -+      # FIXME: Unfortunately, there are problems with the above when trying
 1.47395 -+      # to make a dll which has undefined symbols, in which case not
 1.47396 -+      # even a static library is built.  For now, we need to specify
 1.47397 -+      # -no-undefined on the libtool link line when we can be certain
 1.47398 -+      # that all symbols are satisfied, otherwise we get a static library.
 1.47399 -+      allow_undefined=yes
 1.47400 -+      ;;
 1.47401 -+    *)
 1.47402 -+      allow_undefined=yes
 1.47403 -+      ;;
 1.47404 -+    esac
 1.47405 -+    libtool_args=$nonopt
 1.47406 -+    base_compile="$nonopt $@"
 1.47407 -+    compile_command=$nonopt
 1.47408 -+    finalize_command=$nonopt
 1.47409 -+
 1.47410 -+    compile_rpath=
 1.47411 -+    finalize_rpath=
 1.47412 -+    compile_shlibpath=
 1.47413 -+    finalize_shlibpath=
 1.47414 -+    convenience=
 1.47415 -+    old_convenience=
 1.47416 -+    deplibs=
 1.47417 -+    old_deplibs=
 1.47418 -+    compiler_flags=
 1.47419 -+    linker_flags=
 1.47420 -+    dllsearchpath=
 1.47421 -+    lib_search_path=`pwd`
 1.47422 -+    inst_prefix_dir=
 1.47423 -+    new_inherited_linker_flags=
 1.47424 -+
 1.47425 -+    avoid_version=no
 1.47426 -+    dlfiles=
 1.47427 -+    dlprefiles=
 1.47428 -+    dlself=no
 1.47429 -+    export_dynamic=no
 1.47430 -+    export_symbols=
 1.47431 -+    export_symbols_regex=
 1.47432 -+    generated=
 1.47433 -+    libobjs=
 1.47434 -+    ltlibs=
 1.47435 -+    module=no
 1.47436 -+    no_install=no
 1.47437 -+    objs=
 1.47438 -+    non_pic_objects=
 1.47439 -+    precious_files_regex=
 1.47440 -+    prefer_static_libs=no
 1.47441 -+    preload=no
 1.47442 -+    prev=
 1.47443 -+    prevarg=
 1.47444 -+    release=
 1.47445 -+    rpath=
 1.47446 -+    xrpath=
 1.47447 -+    perm_rpath=
 1.47448 -+    temp_rpath=
 1.47449 -+    thread_safe=no
 1.47450 -+    vinfo=
 1.47451 -+    vinfo_number=no
 1.47452 -+    weak_libs=
 1.47453 -+    single_module="${wl}-single_module"
 1.47454 -+    func_infer_tag $base_compile
 1.47455 -+
 1.47456 -+    # We need to know -static, to get the right output filenames.
 1.47457 -+    for arg
 1.47458 -+    do
 1.47459 -+      case $arg in
 1.47460 -+      -shared)
 1.47461 -+	test "$build_libtool_libs" != yes && \
 1.47462 -+	  func_fatal_configuration "can not build a shared library"
 1.47463 -+	build_old_libs=no
 1.47464 -+	break
 1.47465 -+	;;
 1.47466 -+      -all-static | -static | -static-libtool-libs)
 1.47467 -+	case $arg in
 1.47468 -+	-all-static)
 1.47469 -+	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
 1.47470 -+	    func_warning "complete static linking is impossible in this configuration"
 1.47471 -+	  fi
 1.47472 -+	  if test -n "$link_static_flag"; then
 1.47473 -+	    dlopen_self=$dlopen_self_static
 1.47474 -+	    # See comment for -static flag below, for more details.
 1.47475 -+	    func_append compile_command " $link_static_flag"
 1.47476 -+	    func_append finalize_command " $link_static_flag"
 1.47477 -+	  fi
 1.47478 -+	  prefer_static_libs=yes
 1.47479 -+	  ;;
 1.47480 -+	-static)
 1.47481 -+	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
 1.47482 -+	    dlopen_self=$dlopen_self_static
 1.47483 -+	  fi
 1.47484 -+	  prefer_static_libs=built
 1.47485 -+	  ;;
 1.47486 -+	-static-libtool-libs)
 1.47487 -+	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
 1.47488 -+	    dlopen_self=$dlopen_self_static
 1.47489 -+	  fi
 1.47490 -+	  prefer_static_libs=yes
 1.47491 -+	  ;;
 1.47492 -+	esac
 1.47493 -+	build_libtool_libs=no
 1.47494 -+	build_old_libs=yes
 1.47495 -+	break
 1.47496 -+	;;
 1.47497 -+      esac
 1.47498 -+    done
 1.47499 -+
 1.47500 -+    # See if our shared archives depend on static archives.
 1.47501 -+    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
 1.47502 -+
 1.47503 -+    # Go through the arguments, transforming them on the way.
 1.47504 -+    while test "$#" -gt 0; do
 1.47505 -+      arg="$1"
 1.47506 -+      shift
 1.47507 -+      func_quote_for_eval "$arg"
 1.47508 -+      qarg=$func_quote_for_eval_unquoted_result
 1.47509 -+      func_append libtool_args " $func_quote_for_eval_result"
 1.47510 -+
 1.47511 -+      # If the previous option needs an argument, assign it.
 1.47512 -+      if test -n "$prev"; then
 1.47513 -+	case $prev in
 1.47514 -+	output)
 1.47515 -+	  func_append compile_command " @OUTPUT@"
 1.47516 -+	  func_append finalize_command " @OUTPUT@"
 1.47517 -+	  ;;
 1.47518 -+	esac
 1.47519 -+
 1.47520 -+	case $prev in
 1.47521 -+	dlfiles|dlprefiles)
 1.47522 -+	  if test "$preload" = no; then
 1.47523 -+	    # Add the symbol object into the linking commands.
 1.47524 -+	    func_append compile_command " @SYMFILE@"
 1.47525 -+	    func_append finalize_command " @SYMFILE@"
 1.47526 -+	    preload=yes
 1.47527 -+	  fi
 1.47528 -+	  case $arg in
 1.47529 -+	  *.la | *.lo) ;;  # We handle these cases below.
 1.47530 -+	  force)
 1.47531 -+	    if test "$dlself" = no; then
 1.47532 -+	      dlself=needless
 1.47533 -+	      export_dynamic=yes
 1.47534 -+	    fi
 1.47535 -+	    prev=
 1.47536 -+	    continue
 1.47537 -+	    ;;
 1.47538 -+	  self)
 1.47539 -+	    if test "$prev" = dlprefiles; then
 1.47540 -+	      dlself=yes
 1.47541 -+	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
 1.47542 -+	      dlself=yes
 1.47543 -+	    else
 1.47544 -+	      dlself=needless
 1.47545 -+	      export_dynamic=yes
 1.47546 -+	    fi
 1.47547 -+	    prev=
 1.47548 -+	    continue
 1.47549 -+	    ;;
 1.47550 -+	  *)
 1.47551 -+	    if test "$prev" = dlfiles; then
 1.47552 -+	      dlfiles="$dlfiles $arg"
 1.47553 -+	    else
 1.47554 -+	      dlprefiles="$dlprefiles $arg"
 1.47555 -+	    fi
 1.47556 -+	    prev=
 1.47557 -+	    continue
 1.47558 -+	    ;;
 1.47559 -+	  esac
 1.47560 -+	  ;;
 1.47561 -+	expsyms)
 1.47562 -+	  export_symbols="$arg"
 1.47563 -+	  test -f "$arg" \
 1.47564 -+	    || func_fatal_error "symbol file \`$arg' does not exist"
 1.47565 -+	  prev=
 1.47566 -+	  continue
 1.47567 -+	  ;;
 1.47568 -+	expsyms_regex)
 1.47569 -+	  export_symbols_regex="$arg"
 1.47570 -+	  prev=
 1.47571 -+	  continue
 1.47572 -+	  ;;
 1.47573 -+	framework)
 1.47574 -+	  case $host in
 1.47575 -+	    *-*-darwin*)
 1.47576 -+	      case "$deplibs " in
 1.47577 -+		*" $qarg.ltframework "*) ;;
 1.47578 -+		*) deplibs="$deplibs $qarg.ltframework" # this is fixed later
 1.47579 -+		   ;;
 1.47580 -+	      esac
 1.47581 -+	      ;;
 1.47582 -+   	  esac
 1.47583 -+	  prev=
 1.47584 -+	  continue
 1.47585 -+	  ;;
 1.47586 -+	inst_prefix)
 1.47587 -+	  inst_prefix_dir="$arg"
 1.47588 -+	  prev=
 1.47589 -+	  continue
 1.47590 -+	  ;;
 1.47591 -+	objectlist)
 1.47592 -+	  if test -f "$arg"; then
 1.47593 -+	    save_arg=$arg
 1.47594 -+	    moreargs=
 1.47595 -+	    for fil in `cat "$save_arg"`
 1.47596 -+	    do
 1.47597 -+#	      moreargs="$moreargs $fil"
 1.47598 -+	      arg=$fil
 1.47599 -+	      # A libtool-controlled object.
 1.47600 -+
 1.47601 -+	      # Check to see that this really is a libtool object.
 1.47602 -+	      if func_lalib_unsafe_p "$arg"; then
 1.47603 -+		pic_object=
 1.47604 -+		non_pic_object=
 1.47605 -+
 1.47606 -+		# Read the .lo file
 1.47607 -+		func_source "$arg"
 1.47608 -+
 1.47609 -+		if test -z "$pic_object" ||
 1.47610 -+		   test -z "$non_pic_object" ||
 1.47611 -+		   test "$pic_object" = none &&
 1.47612 -+		   test "$non_pic_object" = none; then
 1.47613 -+		  func_fatal_error "cannot find name of object for \`$arg'"
 1.47614 -+		fi
 1.47615 -+
 1.47616 -+		# Extract subdirectory from the argument.
 1.47617 -+		func_dirname "$arg" "/" ""
 1.47618 -+		xdir="$func_dirname_result"
 1.47619 -+
 1.47620 -+		if test "$pic_object" != none; then
 1.47621 -+		  # Prepend the subdirectory the object is found in.
 1.47622 -+		  pic_object="$xdir$pic_object"
 1.47623 -+
 1.47624 -+		  if test "$prev" = dlfiles; then
 1.47625 -+		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
 1.47626 -+		      dlfiles="$dlfiles $pic_object"
 1.47627 -+		      prev=
 1.47628 -+		      continue
 1.47629 -+		    else
 1.47630 -+		      # If libtool objects are unsupported, then we need to preload.
 1.47631 -+		      prev=dlprefiles
 1.47632 -+		    fi
 1.47633 -+		  fi
 1.47634 -+
 1.47635 -+		  # CHECK ME:  I think I busted this.  -Ossama
 1.47636 -+		  if test "$prev" = dlprefiles; then
 1.47637 -+		    # Preload the old-style object.
 1.47638 -+		    dlprefiles="$dlprefiles $pic_object"
 1.47639 -+		    prev=
 1.47640 -+		  fi
 1.47641 -+
 1.47642 -+		  # A PIC object.
 1.47643 -+		  func_append libobjs " $pic_object"
 1.47644 -+		  arg="$pic_object"
 1.47645 -+		fi
 1.47646 -+
 1.47647 -+		# Non-PIC object.
 1.47648 -+		if test "$non_pic_object" != none; then
 1.47649 -+		  # Prepend the subdirectory the object is found in.
 1.47650 -+		  non_pic_object="$xdir$non_pic_object"
 1.47651 -+
 1.47652 -+		  # A standard non-PIC object
 1.47653 -+		  func_append non_pic_objects " $non_pic_object"
 1.47654 -+		  if test -z "$pic_object" || test "$pic_object" = none ; then
 1.47655 -+		    arg="$non_pic_object"
 1.47656 -+		  fi
 1.47657 -+		else
 1.47658 -+		  # If the PIC object exists, use it instead.
 1.47659 -+		  # $xdir was prepended to $pic_object above.
 1.47660 -+		  non_pic_object="$pic_object"
 1.47661 -+		  func_append non_pic_objects " $non_pic_object"
 1.47662 -+		fi
 1.47663 -+	      else
 1.47664 -+		# Only an error if not doing a dry-run.
 1.47665 -+		if $opt_dry_run; then
 1.47666 -+		  # Extract subdirectory from the argument.
 1.47667 -+		  func_dirname "$arg" "/" ""
 1.47668 -+		  xdir="$func_dirname_result"
 1.47669 -+
 1.47670 -+		  func_lo2o "$arg"
 1.47671 -+		  pic_object=$xdir$objdir/$func_lo2o_result
 1.47672 -+		  non_pic_object=$xdir$func_lo2o_result
 1.47673 -+		  func_append libobjs " $pic_object"
 1.47674 -+		  func_append non_pic_objects " $non_pic_object"
 1.47675 -+	        else
 1.47676 -+		  func_fatal_error "\`$arg' is not a valid libtool object"
 1.47677 -+		fi
 1.47678 -+	      fi
 1.47679 -+	    done
 1.47680 -+	  else
 1.47681 -+	    func_fatal_error "link input file \`$arg' does not exist"
 1.47682 -+	  fi
 1.47683 -+	  arg=$save_arg
 1.47684 -+	  prev=
 1.47685 -+	  continue
 1.47686 -+	  ;;
 1.47687 -+	precious_regex)
 1.47688 -+	  precious_files_regex="$arg"
 1.47689 -+	  prev=
 1.47690 -+	  continue
 1.47691 -+	  ;;
 1.47692 -+	release)
 1.47693 -+	  release="-$arg"
 1.47694 -+	  prev=
 1.47695 -+	  continue
 1.47696 -+	  ;;
 1.47697 -+	rpath | xrpath)
 1.47698 -+	  # We need an absolute path.
 1.47699 -+	  case $arg in
 1.47700 -+	  [\\/]* | [A-Za-z]:[\\/]*) ;;
 1.47701 -+	  *)
 1.47702 -+	    func_fatal_error "only absolute run-paths are allowed"
 1.47703 -+	    ;;
 1.47704 -+	  esac
 1.47705 -+	  if test "$prev" = rpath; then
 1.47706 -+	    case "$rpath " in
 1.47707 -+	    *" $arg "*) ;;
 1.47708 -+	    *) rpath="$rpath $arg" ;;
 1.47709 -+	    esac
 1.47710 -+	  else
 1.47711 -+	    case "$xrpath " in
 1.47712 -+	    *" $arg "*) ;;
 1.47713 -+	    *) xrpath="$xrpath $arg" ;;
 1.47714 -+	    esac
 1.47715 -+	  fi
 1.47716 -+	  prev=
 1.47717 -+	  continue
 1.47718 -+	  ;;
 1.47719 -+	shrext)
 1.47720 -+  	  shrext_cmds="$arg"
 1.47721 -+	  prev=
 1.47722 -+	  continue
 1.47723 -+	  ;;
 1.47724 -+	weak)
 1.47725 -+	  weak_libs="$weak_libs $arg"
 1.47726 -+	  prev=
 1.47727 -+	  continue
 1.47728 -+	  ;;
 1.47729 -+	xcclinker)
 1.47730 -+	  linker_flags="$linker_flags $qarg"
 1.47731 -+	  compiler_flags="$compiler_flags $qarg"
 1.47732 -+	  prev=
 1.47733 -+	  func_append compile_command " $qarg"
 1.47734 -+	  func_append finalize_command " $qarg"
 1.47735 -+	  continue
 1.47736 -+	  ;;
 1.47737 -+	xcompiler)
 1.47738 -+	  compiler_flags="$compiler_flags $qarg"
 1.47739 -+	  prev=
 1.47740 -+	  func_append compile_command " $qarg"
 1.47741 -+	  func_append finalize_command " $qarg"
 1.47742 -+	  continue
 1.47743 -+	  ;;
 1.47744 -+	xlinker)
 1.47745 -+	  linker_flags="$linker_flags $qarg"
 1.47746 -+	  compiler_flags="$compiler_flags $wl$qarg"
 1.47747 -+	  prev=
 1.47748 -+	  func_append compile_command " $wl$qarg"
 1.47749 -+	  func_append finalize_command " $wl$qarg"
 1.47750 -+	  continue
 1.47751 -+	  ;;
 1.47752 -+	*)
 1.47753 -+	  eval "$prev=\"\$arg\""
 1.47754 -+	  prev=
 1.47755 -+	  continue
 1.47756 -+	  ;;
 1.47757 -+	esac
 1.47758 -+      fi # test -n "$prev"
 1.47759 -+
 1.47760 -+      prevarg="$arg"
 1.47761 -+
 1.47762 -+      case $arg in
 1.47763 -+      -all-static)
 1.47764 -+	# The effects of -all-static are defined in a previous loop.
 1.47765 -+	continue
 1.47766 -+	;;
 1.47767 -+
 1.47768 -+      -allow-undefined)
 1.47769 -+	# FIXME: remove this flag sometime in the future.
 1.47770 -+	func_fatal_error "\`-allow-undefined' must not be used because it is the default"
 1.47771 -+	;;
 1.47772 -+
 1.47773 -+      -avoid-version)
 1.47774 -+	avoid_version=yes
 1.47775 -+	continue
 1.47776 -+	;;
 1.47777 -+
 1.47778 -+      -dlopen)
 1.47779 -+	prev=dlfiles
 1.47780 -+	continue
 1.47781 -+	;;
 1.47782 -+
 1.47783 -+      -dlpreopen)
 1.47784 -+	prev=dlprefiles
 1.47785 -+	continue
 1.47786 -+	;;
 1.47787 -+
 1.47788 -+      -export-dynamic)
 1.47789 -+	export_dynamic=yes
 1.47790 -+	continue
 1.47791 -+	;;
 1.47792 -+
 1.47793 -+      -export-symbols | -export-symbols-regex)
 1.47794 -+	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
 1.47795 -+	  func_fatal_error "more than one -exported-symbols argument is not allowed"
 1.47796 -+	fi
 1.47797 -+	if test "X$arg" = "X-export-symbols"; then
 1.47798 -+	  prev=expsyms
 1.47799 -+	else
 1.47800 -+	  prev=expsyms_regex
 1.47801 -+	fi
 1.47802 -+	continue
 1.47803 -+	;;
 1.47804 -+
 1.47805 -+      -framework)
 1.47806 -+	prev=framework
 1.47807 -+	continue
 1.47808 -+	;;
 1.47809 -+
 1.47810 -+      -inst-prefix-dir)
 1.47811 -+	prev=inst_prefix
 1.47812 -+	continue
 1.47813 -+	;;
 1.47814 -+
 1.47815 -+      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
 1.47816 -+      # so, if we see these flags be careful not to treat them like -L
 1.47817 -+      -L[A-Z][A-Z]*:*)
 1.47818 -+	case $with_gcc/$host in
 1.47819 -+	no/*-*-irix* | /*-*-irix*)
 1.47820 -+	  func_append compile_command " $arg"
 1.47821 -+	  func_append finalize_command " $arg"
 1.47822 -+	  ;;
 1.47823 -+	esac
 1.47824 -+	continue
 1.47825 -+	;;
 1.47826 -+
 1.47827 -+      -L*)
 1.47828 -+	func_stripname '-L' '' "$arg"
 1.47829 -+	dir=$func_stripname_result
 1.47830 -+	# We need an absolute path.
 1.47831 -+	case $dir in
 1.47832 -+	[\\/]* | [A-Za-z]:[\\/]*) ;;
 1.47833 -+	*)
 1.47834 -+	  absdir=`cd "$dir" && pwd`
 1.47835 -+	  test -z "$absdir" && \
 1.47836 -+	    func_fatal_error "cannot determine absolute directory name of \`$dir'"
 1.47837 -+	  dir="$absdir"
 1.47838 -+	  ;;
 1.47839 -+	esac
 1.47840 -+	case "$deplibs " in
 1.47841 -+	*" -L$dir "*) ;;
 1.47842 -+	*)
 1.47843 -+	  deplibs="$deplibs -L$dir"
 1.47844 -+	  lib_search_path="$lib_search_path $dir"
 1.47845 -+	  ;;
 1.47846 -+	esac
 1.47847 -+	case $host in
 1.47848 -+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
 1.47849 -+	  testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
 1.47850 -+	  case :$dllsearchpath: in
 1.47851 -+	  *":$dir:"*) ;;
 1.47852 -+	  *) dllsearchpath="$dllsearchpath:$dir";;
 1.47853 -+	  esac
 1.47854 -+	  case :$dllsearchpath: in
 1.47855 -+	  *":$testbindir:"*) ;;
 1.47856 -+	  *) dllsearchpath="$dllsearchpath:$testbindir";;
 1.47857 -+	  esac
 1.47858 -+	  ;;
 1.47859 -+	esac
 1.47860 -+	continue
 1.47861 -+	;;
 1.47862 -+
 1.47863 -+      -l*)
 1.47864 -+	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
 1.47865 -+	  case $host in
 1.47866 -+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
 1.47867 -+	    # These systems don't actually have a C or math library (as such)
 1.47868 -+	    continue
 1.47869 -+	    ;;
 1.47870 -+	  *-*-os2*)
 1.47871 -+	    # These systems don't actually have a C library (as such)
 1.47872 -+	    test "X$arg" = "X-lc" && continue
 1.47873 -+	    ;;
 1.47874 -+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
 1.47875 -+	    # Do not include libc due to us having libc/libc_r.
 1.47876 -+	    test "X$arg" = "X-lc" && continue
 1.47877 -+	    ;;
 1.47878 -+	  *-*-rhapsody* | *-*-darwin1.[012])
 1.47879 -+	    # Rhapsody C and math libraries are in the System framework
 1.47880 -+	    deplibs="$deplibs System.ltframework"
 1.47881 -+	    continue
 1.47882 -+	    ;;
 1.47883 -+	  *-*-sco3.2v5* | *-*-sco5v6*)
 1.47884 -+	    # Causes problems with __ctype
 1.47885 -+	    test "X$arg" = "X-lc" && continue
 1.47886 -+	    ;;
 1.47887 -+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
 1.47888 -+	    # Compiler inserts libc in the correct place for threads to work
 1.47889 -+	    test "X$arg" = "X-lc" && continue
 1.47890 -+	    ;;
 1.47891 -+	  esac
 1.47892 -+	elif test "X$arg" = "X-lc_r"; then
 1.47893 -+	 case $host in
 1.47894 -+	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
 1.47895 -+	   # Do not include libc_r directly, use -pthread flag.
 1.47896 -+	   continue
 1.47897 -+	   ;;
 1.47898 -+	 esac
 1.47899 -+	fi
 1.47900 -+	deplibs="$deplibs $arg"
 1.47901 -+	continue
 1.47902 -+	;;
 1.47903 -+
 1.47904 -+      -module)
 1.47905 -+	module=yes
 1.47906 -+	continue
 1.47907 -+	;;
 1.47908 -+
 1.47909 -+      # Tru64 UNIX uses -model [arg] to determine the layout of C++
 1.47910 -+      # classes, name mangling, and exception handling.
 1.47911 -+      # Darwin uses the -arch flag to determine output architecture.
 1.47912 -+      -model|-arch|-isysroot)
 1.47913 -+	compiler_flags="$compiler_flags $arg"
 1.47914 -+	func_append compile_command " $arg"
 1.47915 -+	func_append finalize_command " $arg"
 1.47916 -+	prev=xcompiler
 1.47917 -+	continue
 1.47918 -+	;;
 1.47919 -+
 1.47920 -+      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
 1.47921 -+	compiler_flags="$compiler_flags $arg"
 1.47922 -+	func_append compile_command " $arg"
 1.47923 -+	func_append finalize_command " $arg"
 1.47924 -+	case "$new_inherited_linker_flags " in
 1.47925 -+	    *" $arg "*) ;;
 1.47926 -+	    * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
 1.47927 -+	esac
 1.47928 -+	continue
 1.47929 -+	;;
 1.47930 -+
 1.47931 -+      -multi_module)
 1.47932 -+	single_module="${wl}-multi_module"
 1.47933 -+	continue
 1.47934 -+	;;
 1.47935 -+
 1.47936 -+      -no-fast-install)
 1.47937 -+	fast_install=no
 1.47938 -+	continue
 1.47939 -+	;;
 1.47940 -+
 1.47941 -+      -no-install)
 1.47942 -+	case $host in
 1.47943 -+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
 1.47944 -+	  # The PATH hackery in wrapper scripts is required on Windows
 1.47945 -+	  # in order for the loader to find any dlls it needs.
 1.47946 -+	  func_warning "\`-no-install' is ignored for $host"
 1.47947 -+	  func_warning "assuming \`-no-fast-install' instead"
 1.47948 -+	  fast_install=no
 1.47949 -+	  ;;
 1.47950 -+	*) no_install=yes ;;
 1.47951 -+	esac
 1.47952 -+	continue
 1.47953 -+	;;
 1.47954 -+
 1.47955 -+      -no-undefined)
 1.47956 -+	allow_undefined=no
 1.47957 -+	continue
 1.47958 -+	;;
 1.47959 -+
 1.47960 -+      -objectlist)
 1.47961 -+	prev=objectlist
 1.47962 -+	continue
 1.47963 -+	;;
 1.47964 -+
 1.47965 -+      -o) prev=output ;;
 1.47966 -+
 1.47967 -+      -precious-files-regex)
 1.47968 -+	prev=precious_regex
 1.47969 -+	continue
 1.47970 -+	;;
 1.47971 -+
 1.47972 -+      -release)
 1.47973 -+	prev=release
 1.47974 -+	continue
 1.47975 -+	;;
 1.47976 -+
 1.47977 -+      -rpath)
 1.47978 -+	prev=rpath
 1.47979 -+	continue
 1.47980 -+	;;
 1.47981 -+
 1.47982 -+      -R)
 1.47983 -+	prev=xrpath
 1.47984 -+	continue
 1.47985 -+	;;
 1.47986 -+
 1.47987 -+      -R*)
 1.47988 -+	func_stripname '-R' '' "$arg"
 1.47989 -+	dir=$func_stripname_result
 1.47990 -+	# We need an absolute path.
 1.47991 -+	case $dir in
 1.47992 -+	[\\/]* | [A-Za-z]:[\\/]*) ;;
 1.47993 -+	*)
 1.47994 -+	  func_fatal_error "only absolute run-paths are allowed"
 1.47995 -+	  ;;
 1.47996 -+	esac
 1.47997 -+	case "$xrpath " in
 1.47998 -+	*" $dir "*) ;;
 1.47999 -+	*) xrpath="$xrpath $dir" ;;
 1.48000 -+	esac
 1.48001 -+	continue
 1.48002 -+	;;
 1.48003 -+
 1.48004 -+      -shared)
 1.48005 -+	# The effects of -shared are defined in a previous loop.
 1.48006 -+	continue
 1.48007 -+	;;
 1.48008 -+
 1.48009 -+      -shrext)
 1.48010 -+	prev=shrext
 1.48011 -+	continue
 1.48012 -+	;;
 1.48013 -+
 1.48014 -+      -static | -static-libtool-libs)
 1.48015 -+	# The effects of -static are defined in a previous loop.
 1.48016 -+	# We used to do the same as -all-static on platforms that
 1.48017 -+	# didn't have a PIC flag, but the assumption that the effects
 1.48018 -+	# would be equivalent was wrong.  It would break on at least
 1.48019 -+	# Digital Unix and AIX.
 1.48020 -+	continue
 1.48021 -+	;;
 1.48022 -+
 1.48023 -+      -thread-safe)
 1.48024 -+	thread_safe=yes
 1.48025 -+	continue
 1.48026 -+	;;
 1.48027 -+
 1.48028 -+      -version-info)
 1.48029 -+	prev=vinfo
 1.48030 -+	continue
 1.48031 -+	;;
 1.48032 -+
 1.48033 -+      -version-number)
 1.48034 -+	prev=vinfo
 1.48035 -+	vinfo_number=yes
 1.48036 -+	continue
 1.48037 -+	;;
 1.48038 -+
 1.48039 -+      -weak)
 1.48040 -+        prev=weak
 1.48041 -+	continue
 1.48042 -+	;;
 1.48043 -+
 1.48044 -+      -Wc,*)
 1.48045 -+	func_stripname '-Wc,' '' "$arg"
 1.48046 -+	args=$func_stripname_result
 1.48047 -+	arg=
 1.48048 -+	save_ifs="$IFS"; IFS=','
 1.48049 -+	for flag in $args; do
 1.48050 -+	  IFS="$save_ifs"
 1.48051 -+          func_quote_for_eval "$flag"
 1.48052 -+	  arg="$arg $wl$func_quote_for_eval_result"
 1.48053 -+	  compiler_flags="$compiler_flags $func_quote_for_eval_result"
 1.48054 -+	done
 1.48055 -+	IFS="$save_ifs"
 1.48056 -+	func_stripname ' ' '' "$arg"
 1.48057 -+	arg=$func_stripname_result
 1.48058 -+	;;
 1.48059 -+
 1.48060 -+      -Wl,*)
 1.48061 -+	func_stripname '-Wl,' '' "$arg"
 1.48062 -+	args=$func_stripname_result
 1.48063 -+	arg=
 1.48064 -+	save_ifs="$IFS"; IFS=','
 1.48065 -+	for flag in $args; do
 1.48066 -+	  IFS="$save_ifs"
 1.48067 -+          func_quote_for_eval "$flag"
 1.48068 -+	  arg="$arg $wl$func_quote_for_eval_result"
 1.48069 -+	  compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
 1.48070 -+	  linker_flags="$linker_flags $func_quote_for_eval_result"
 1.48071 -+	done
 1.48072 -+	IFS="$save_ifs"
 1.48073 -+	func_stripname ' ' '' "$arg"
 1.48074 -+	arg=$func_stripname_result
 1.48075 -+	;;
 1.48076 -+
 1.48077 -+      -Xcompiler)
 1.48078 -+	prev=xcompiler
 1.48079 -+	continue
 1.48080 -+	;;
 1.48081 -+
 1.48082 -+      -Xlinker)
 1.48083 -+	prev=xlinker
 1.48084 -+	continue
 1.48085 -+	;;
 1.48086 -+
 1.48087 -+      -XCClinker)
 1.48088 -+	prev=xcclinker
 1.48089 -+	continue
 1.48090 -+	;;
 1.48091 -+
 1.48092 -+      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
 1.48093 -+      # -r[0-9][0-9]* specifies the processor on the SGI compiler
 1.48094 -+      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
 1.48095 -+      # +DA*, +DD* enable 64-bit mode on the HP compiler
 1.48096 -+      # -q* pass through compiler args for the IBM compiler
 1.48097 -+      # -m*, -t[45]*, -txscale* pass through architecture-specific
 1.48098 -+      # compiler args for GCC
 1.48099 -+      # -F/path gives path to uninstalled frameworks, gcc on darwin
 1.48100 -+      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
 1.48101 -+      # @file GCC response files
 1.48102 -+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
 1.48103 -+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
 1.48104 -+        func_quote_for_eval "$arg"
 1.48105 -+	arg="$func_quote_for_eval_result"
 1.48106 -+        func_append compile_command " $arg"
 1.48107 -+        func_append finalize_command " $arg"
 1.48108 -+        compiler_flags="$compiler_flags $arg"
 1.48109 -+        continue
 1.48110 -+        ;;
 1.48111 -+
 1.48112 -+      # Some other compiler flag.
 1.48113 -+      -* | +*)
 1.48114 -+        func_quote_for_eval "$arg"
 1.48115 -+	arg="$func_quote_for_eval_result"
 1.48116 -+	;;
 1.48117 -+
 1.48118 -+      *.$objext)
 1.48119 -+	# A standard object.
 1.48120 -+	objs="$objs $arg"
 1.48121 -+	;;
 1.48122 -+
 1.48123 -+      *.lo)
 1.48124 -+	# A libtool-controlled object.
 1.48125 -+
 1.48126 -+	# Check to see that this really is a libtool object.
 1.48127 -+	if func_lalib_unsafe_p "$arg"; then
 1.48128 -+	  pic_object=
 1.48129 -+	  non_pic_object=
 1.48130 -+
 1.48131 -+	  # Read the .lo file
 1.48132 -+	  func_source "$arg"
 1.48133 -+
 1.48134 -+	  if test -z "$pic_object" ||
 1.48135 -+	     test -z "$non_pic_object" ||
 1.48136 -+	     test "$pic_object" = none &&
 1.48137 -+	     test "$non_pic_object" = none; then
 1.48138 -+	    func_fatal_error "cannot find name of object for \`$arg'"
 1.48139 -+	  fi
 1.48140 -+
 1.48141 -+	  # Extract subdirectory from the argument.
 1.48142 -+	  func_dirname "$arg" "/" ""
 1.48143 -+	  xdir="$func_dirname_result"
 1.48144 -+
 1.48145 -+	  if test "$pic_object" != none; then
 1.48146 -+	    # Prepend the subdirectory the object is found in.
 1.48147 -+	    pic_object="$xdir$pic_object"
 1.48148 -+
 1.48149 -+	    if test "$prev" = dlfiles; then
 1.48150 -+	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
 1.48151 -+		dlfiles="$dlfiles $pic_object"
 1.48152 -+		prev=
 1.48153 -+		continue
 1.48154 -+	      else
 1.48155 -+		# If libtool objects are unsupported, then we need to preload.
 1.48156 -+		prev=dlprefiles
 1.48157 -+	      fi
 1.48158 -+	    fi
 1.48159 -+
 1.48160 -+	    # CHECK ME:  I think I busted this.  -Ossama
 1.48161 -+	    if test "$prev" = dlprefiles; then
 1.48162 -+	      # Preload the old-style object.
 1.48163 -+	      dlprefiles="$dlprefiles $pic_object"
 1.48164 -+	      prev=
 1.48165 -+	    fi
 1.48166 -+
 1.48167 -+	    # A PIC object.
 1.48168 -+	    func_append libobjs " $pic_object"
 1.48169 -+	    arg="$pic_object"
 1.48170 -+	  fi
 1.48171 -+
 1.48172 -+	  # Non-PIC object.
 1.48173 -+	  if test "$non_pic_object" != none; then
 1.48174 -+	    # Prepend the subdirectory the object is found in.
 1.48175 -+	    non_pic_object="$xdir$non_pic_object"
 1.48176 -+
 1.48177 -+	    # A standard non-PIC object
 1.48178 -+	    func_append non_pic_objects " $non_pic_object"
 1.48179 -+	    if test -z "$pic_object" || test "$pic_object" = none ; then
 1.48180 -+	      arg="$non_pic_object"
 1.48181 -+	    fi
 1.48182 -+	  else
 1.48183 -+	    # If the PIC object exists, use it instead.
 1.48184 -+	    # $xdir was prepended to $pic_object above.
 1.48185 -+	    non_pic_object="$pic_object"
 1.48186 -+	    func_append non_pic_objects " $non_pic_object"
 1.48187 -+	  fi
 1.48188 -+	else
 1.48189 -+	  # Only an error if not doing a dry-run.
 1.48190 -+	  if $opt_dry_run; then
 1.48191 -+	    # Extract subdirectory from the argument.
 1.48192 -+	    func_dirname "$arg" "/" ""
 1.48193 -+	    xdir="$func_dirname_result"
 1.48194 -+
 1.48195 -+	    func_lo2o "$arg"
 1.48196 -+	    pic_object=$xdir$objdir/$func_lo2o_result
 1.48197 -+	    non_pic_object=$xdir$func_lo2o_result
 1.48198 -+	    func_append libobjs " $pic_object"
 1.48199 -+	    func_append non_pic_objects " $non_pic_object"
 1.48200 -+	  else
 1.48201 -+	    func_fatal_error "\`$arg' is not a valid libtool object"
 1.48202 -+	  fi
 1.48203 -+	fi
 1.48204 -+	;;
 1.48205 -+
 1.48206 -+      *.$libext)
 1.48207 -+	# An archive.
 1.48208 -+	deplibs="$deplibs $arg"
 1.48209 -+	old_deplibs="$old_deplibs $arg"
 1.48210 -+	continue
 1.48211 -+	;;
 1.48212 -+
 1.48213 -+      *.la)
 1.48214 -+	# A libtool-controlled library.
 1.48215 -+
 1.48216 -+	if test "$prev" = dlfiles; then
 1.48217 -+	  # This library was specified with -dlopen.
 1.48218 -+	  dlfiles="$dlfiles $arg"
 1.48219 -+	  prev=
 1.48220 -+	elif test "$prev" = dlprefiles; then
 1.48221 -+	  # The library was specified with -dlpreopen.
 1.48222 -+	  dlprefiles="$dlprefiles $arg"
 1.48223 -+	  prev=
 1.48224 -+	else
 1.48225 -+	  deplibs="$deplibs $arg"
 1.48226 -+	fi
 1.48227 -+	continue
 1.48228 -+	;;
 1.48229 -+
 1.48230 -+      # Some other compiler argument.
 1.48231 -+      *)
 1.48232 -+	# Unknown arguments in both finalize_command and compile_command need
 1.48233 -+	# to be aesthetically quoted because they are evaled later.
 1.48234 -+	func_quote_for_eval "$arg"
 1.48235 -+	arg="$func_quote_for_eval_result"
 1.48236 -+	;;
 1.48237 -+      esac # arg
 1.48238 -+
 1.48239 -+      # Now actually substitute the argument into the commands.
 1.48240 -+      if test -n "$arg"; then
 1.48241 -+	func_append compile_command " $arg"
 1.48242 -+	func_append finalize_command " $arg"
 1.48243 -+      fi
 1.48244 -+    done # argument parsing loop
 1.48245 -+
 1.48246 -+    test -n "$prev" && \
 1.48247 -+      func_fatal_help "the \`$prevarg' option requires an argument"
 1.48248 -+
 1.48249 -+    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
 1.48250 -+      eval arg=\"$export_dynamic_flag_spec\"
 1.48251 -+      func_append compile_command " $arg"
 1.48252 -+      func_append finalize_command " $arg"
 1.48253 -+    fi
 1.48254 -+
 1.48255 -+    oldlibs=
 1.48256 -+    # calculate the name of the file, without its directory
 1.48257 -+    func_basename "$output"
 1.48258 -+    outputname="$func_basename_result"
 1.48259 -+    libobjs_save="$libobjs"
 1.48260 -+
 1.48261 -+    if test -n "$shlibpath_var"; then
 1.48262 -+      # get the directories listed in $shlibpath_var
 1.48263 -+      eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
 1.48264 -+    else
 1.48265 -+      shlib_search_path=
 1.48266 -+    fi
 1.48267 -+    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
 1.48268 -+    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
 1.48269 -+
 1.48270 -+    func_dirname "$output" "/" ""
 1.48271 -+    output_objdir="$func_dirname_result$objdir"
 1.48272 -+    # Create the object directory.
 1.48273 -+    func_mkdir_p "$output_objdir"
 1.48274 -+
 1.48275 -+    # Determine the type of output
 1.48276 -+    case $output in
 1.48277 -+    "")
 1.48278 -+      func_fatal_help "you must specify an output file"
 1.48279 -+      ;;
 1.48280 -+    *.$libext) linkmode=oldlib ;;
 1.48281 -+    *.lo | *.$objext) linkmode=obj ;;
 1.48282 -+    *.la) linkmode=lib ;;
 1.48283 -+    *) linkmode=prog ;; # Anything else should be a program.
 1.48284 -+    esac
 1.48285 -+
 1.48286 -+    specialdeplibs=
 1.48287 -+
 1.48288 -+    libs=
 1.48289 -+    # Find all interdependent deplibs by searching for libraries
 1.48290 -+    # that are linked more than once (e.g. -la -lb -la)
 1.48291 -+    for deplib in $deplibs; do
 1.48292 -+      if $opt_duplicate_deps ; then
 1.48293 -+	case "$libs " in
 1.48294 -+	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
 1.48295 -+	esac
 1.48296 -+      fi
 1.48297 -+      libs="$libs $deplib"
 1.48298 -+    done
 1.48299 -+
 1.48300 -+    if test "$linkmode" = lib; then
 1.48301 -+      libs="$predeps $libs $compiler_lib_search_path $postdeps"
 1.48302 -+
 1.48303 -+      # Compute libraries that are listed more than once in $predeps
 1.48304 -+      # $postdeps and mark them as special (i.e., whose duplicates are
 1.48305 -+      # not to be eliminated).
 1.48306 -+      pre_post_deps=
 1.48307 -+      if $opt_duplicate_compiler_generated_deps; then
 1.48308 -+	for pre_post_dep in $predeps $postdeps; do
 1.48309 -+	  case "$pre_post_deps " in
 1.48310 -+	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
 1.48311 -+	  esac
 1.48312 -+	  pre_post_deps="$pre_post_deps $pre_post_dep"
 1.48313 -+	done
 1.48314 -+      fi
 1.48315 -+      pre_post_deps=
 1.48316 -+    fi
 1.48317 -+
 1.48318 -+    deplibs=
 1.48319 -+    newdependency_libs=
 1.48320 -+    newlib_search_path=
 1.48321 -+    need_relink=no # whether we're linking any uninstalled libtool libraries
 1.48322 -+    notinst_deplibs= # not-installed libtool libraries
 1.48323 -+    notinst_path= # paths that contain not-installed libtool libraries
 1.48324 -+
 1.48325 -+    case $linkmode in
 1.48326 -+    lib)
 1.48327 -+	passes="conv dlpreopen link"
 1.48328 -+	for file in $dlfiles $dlprefiles; do
 1.48329 -+	  case $file in
 1.48330 -+	  *.la) ;;
 1.48331 -+	  *)
 1.48332 -+	    func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
 1.48333 -+	    ;;
 1.48334 -+	  esac
 1.48335 -+	done
 1.48336 -+	;;
 1.48337 -+    prog)
 1.48338 -+	compile_deplibs=
 1.48339 -+	finalize_deplibs=
 1.48340 -+	alldeplibs=no
 1.48341 -+	newdlfiles=
 1.48342 -+	newdlprefiles=
 1.48343 -+	passes="conv scan dlopen dlpreopen link"
 1.48344 -+	;;
 1.48345 -+    *)  passes="conv"
 1.48346 -+	;;
 1.48347 -+    esac
 1.48348 -+
 1.48349 -+    for pass in $passes; do
 1.48350 -+      # The preopen pass in lib mode reverses $deplibs; put it back here
 1.48351 -+      # so that -L comes before libs that need it for instance...
 1.48352 -+      if test "$linkmode,$pass" = "lib,link"; then
 1.48353 -+	## FIXME: Find the place where the list is rebuilt in the wrong
 1.48354 -+	##        order, and fix it there properly
 1.48355 -+        tmp_deplibs=
 1.48356 -+	for deplib in $deplibs; do
 1.48357 -+	  tmp_deplibs="$deplib $tmp_deplibs"
 1.48358 -+	done
 1.48359 -+	deplibs="$tmp_deplibs"
 1.48360 -+      fi
 1.48361 -+
 1.48362 -+      if test "$linkmode,$pass" = "lib,link" ||
 1.48363 -+	 test "$linkmode,$pass" = "prog,scan"; then
 1.48364 -+	libs="$deplibs"
 1.48365 -+	deplibs=
 1.48366 -+      fi
 1.48367 -+      if test "$linkmode" = prog; then
 1.48368 -+	case $pass in
 1.48369 -+	dlopen) libs="$dlfiles" ;;
 1.48370 -+	dlpreopen) libs="$dlprefiles" ;;
 1.48371 -+	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
 1.48372 -+	esac
 1.48373 -+      fi
 1.48374 -+      if test "$linkmode,$pass" = "lib,dlpreopen"; then
 1.48375 -+	# Collect and forward deplibs of preopened libtool libs
 1.48376 -+	for lib in $dlprefiles; do
 1.48377 -+	  # Ignore non-libtool-libs
 1.48378 -+	  dependency_libs=
 1.48379 -+	  case $lib in
 1.48380 -+	  *.la)	func_source "$lib" ;;
 1.48381 -+	  esac
 1.48382 -+
 1.48383 -+	  # Collect preopened libtool deplibs, except any this library
 1.48384 -+	  # has declared as weak libs
 1.48385 -+	  for deplib in $dependency_libs; do
 1.48386 -+            deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
 1.48387 -+	    case " $weak_libs " in
 1.48388 -+	    *" $deplib_base "*) ;;
 1.48389 -+	    *) deplibs="$deplibs $deplib" ;;
 1.48390 -+	    esac
 1.48391 -+	  done
 1.48392 -+	done
 1.48393 -+	libs="$dlprefiles"
 1.48394 -+      fi
 1.48395 -+      if test "$pass" = dlopen; then
 1.48396 -+	# Collect dlpreopened libraries
 1.48397 -+	save_deplibs="$deplibs"
 1.48398 -+	deplibs=
 1.48399 -+      fi
 1.48400 -+
 1.48401 -+      for deplib in $libs; do
 1.48402 -+	lib=
 1.48403 -+	found=no
 1.48404 -+	case $deplib in
 1.48405 -+	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
 1.48406 -+	  if test "$linkmode,$pass" = "prog,link"; then
 1.48407 -+	    compile_deplibs="$deplib $compile_deplibs"
 1.48408 -+	    finalize_deplibs="$deplib $finalize_deplibs"
 1.48409 -+	  else
 1.48410 -+	    compiler_flags="$compiler_flags $deplib"
 1.48411 -+	    if test "$linkmode" = lib ; then
 1.48412 -+		case "$new_inherited_linker_flags " in
 1.48413 -+		    *" $deplib "*) ;;
 1.48414 -+		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
 1.48415 -+		esac
 1.48416 -+	    fi
 1.48417 -+	  fi
 1.48418 -+	  continue
 1.48419 -+	  ;;
 1.48420 -+	-l*)
 1.48421 -+	  if test "$linkmode" != lib && test "$linkmode" != prog; then
 1.48422 -+	    func_warning "\`-l' is ignored for archives/objects"
 1.48423 -+	    continue
 1.48424 -+	  fi
 1.48425 -+	  func_stripname '-l' '' "$deplib"
 1.48426 -+	  name=$func_stripname_result
 1.48427 -+	  for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
 1.48428 -+	    for search_ext in .la $std_shrext .so .a; do
 1.48429 -+	      # Search the libtool library
 1.48430 -+	      lib="$searchdir/lib${name}${search_ext}"
 1.48431 -+	      if test -f "$lib"; then
 1.48432 -+		if test "$search_ext" = ".la"; then
 1.48433 -+		  found=yes
 1.48434 -+		else
 1.48435 -+		  found=no
 1.48436 -+		fi
 1.48437 -+		break 2
 1.48438 -+	      fi
 1.48439 -+	    done
 1.48440 -+	  done
 1.48441 -+	  if test "$found" != yes; then
 1.48442 -+	    # deplib doesn't seem to be a libtool library
 1.48443 -+	    if test "$linkmode,$pass" = "prog,link"; then
 1.48444 -+	      compile_deplibs="$deplib $compile_deplibs"
 1.48445 -+	      finalize_deplibs="$deplib $finalize_deplibs"
 1.48446 -+	    else
 1.48447 -+	      deplibs="$deplib $deplibs"
 1.48448 -+	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
 1.48449 -+	    fi
 1.48450 -+	    continue
 1.48451 -+	  else # deplib is a libtool library
 1.48452 -+	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
 1.48453 -+	    # We need to do some special things here, and not later.
 1.48454 -+	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 1.48455 -+	      case " $predeps $postdeps " in
 1.48456 -+	      *" $deplib "*)
 1.48457 -+		if func_lalib_p "$lib"; then
 1.48458 -+		  library_names=
 1.48459 -+		  old_library=
 1.48460 -+		  func_source "$lib"
 1.48461 -+		  for l in $old_library $library_names; do
 1.48462 -+		    ll="$l"
 1.48463 -+		  done
 1.48464 -+		  if test "X$ll" = "X$old_library" ; then # only static version available
 1.48465 -+		    found=no
 1.48466 -+		    func_dirname "$lib" "" "."
 1.48467 -+		    ladir="$func_dirname_result"
 1.48468 -+		    lib=$ladir/$old_library
 1.48469 -+		    if test "$linkmode,$pass" = "prog,link"; then
 1.48470 -+		      compile_deplibs="$deplib $compile_deplibs"
 1.48471 -+		      finalize_deplibs="$deplib $finalize_deplibs"
 1.48472 -+		    else
 1.48473 -+		      deplibs="$deplib $deplibs"
 1.48474 -+		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
 1.48475 -+		    fi
 1.48476 -+		    continue
 1.48477 -+		  fi
 1.48478 -+		fi
 1.48479 -+		;;
 1.48480 -+	      *) ;;
 1.48481 -+	      esac
 1.48482 -+	    fi
 1.48483 -+	  fi
 1.48484 -+	  ;; # -l
 1.48485 -+	*.ltframework)
 1.48486 -+	  if test "$linkmode,$pass" = "prog,link"; then
 1.48487 -+	    compile_deplibs="$deplib $compile_deplibs"
 1.48488 -+	    finalize_deplibs="$deplib $finalize_deplibs"
 1.48489 -+	  else
 1.48490 -+	    deplibs="$deplib $deplibs"
 1.48491 -+	    if test "$linkmode" = lib ; then
 1.48492 -+		case "$new_inherited_linker_flags " in
 1.48493 -+		    *" $deplib "*) ;;
 1.48494 -+		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
 1.48495 -+		esac
 1.48496 -+	    fi
 1.48497 -+	  fi
 1.48498 -+	  continue
 1.48499 -+	  ;;
 1.48500 -+	-L*)
 1.48501 -+	  case $linkmode in
 1.48502 -+	  lib)
 1.48503 -+	    deplibs="$deplib $deplibs"
 1.48504 -+	    test "$pass" = conv && continue
 1.48505 -+	    newdependency_libs="$deplib $newdependency_libs"
 1.48506 -+	    func_stripname '-L' '' "$deplib"
 1.48507 -+	    newlib_search_path="$newlib_search_path $func_stripname_result"
 1.48508 -+	    ;;
 1.48509 -+	  prog)
 1.48510 -+	    if test "$pass" = conv; then
 1.48511 -+	      deplibs="$deplib $deplibs"
 1.48512 -+	      continue
 1.48513 -+	    fi
 1.48514 -+	    if test "$pass" = scan; then
 1.48515 -+	      deplibs="$deplib $deplibs"
 1.48516 -+	    else
 1.48517 -+	      compile_deplibs="$deplib $compile_deplibs"
 1.48518 -+	      finalize_deplibs="$deplib $finalize_deplibs"
 1.48519 -+	    fi
 1.48520 -+	    func_stripname '-L' '' "$deplib"
 1.48521 -+	    newlib_search_path="$newlib_search_path $func_stripname_result"
 1.48522 -+	    ;;
 1.48523 -+	  *)
 1.48524 -+	    func_warning "\`-L' is ignored for archives/objects"
 1.48525 -+	    ;;
 1.48526 -+	  esac # linkmode
 1.48527 -+	  continue
 1.48528 -+	  ;; # -L
 1.48529 -+	-R*)
 1.48530 -+	  if test "$pass" = link; then
 1.48531 -+	    func_stripname '-R' '' "$deplib"
 1.48532 -+	    dir=$func_stripname_result
 1.48533 -+	    # Make sure the xrpath contains only unique directories.
 1.48534 -+	    case "$xrpath " in
 1.48535 -+	    *" $dir "*) ;;
 1.48536 -+	    *) xrpath="$xrpath $dir" ;;
 1.48537 -+	    esac
 1.48538 -+	  fi
 1.48539 -+	  deplibs="$deplib $deplibs"
 1.48540 -+	  continue
 1.48541 -+	  ;;
 1.48542 -+	*.la) lib="$deplib" ;;
 1.48543 -+	*.$libext)
 1.48544 -+	  if test "$pass" = conv; then
 1.48545 -+	    deplibs="$deplib $deplibs"
 1.48546 -+	    continue
 1.48547 -+	  fi
 1.48548 -+	  case $linkmode in
 1.48549 -+	  lib)
 1.48550 -+	    # Linking convenience modules into shared libraries is allowed,
 1.48551 -+	    # but linking other static libraries is non-portable.
 1.48552 -+	    case " $dlpreconveniencelibs " in
 1.48553 -+	    *" $deplib "*) ;;
 1.48554 -+	    *)
 1.48555 -+	      valid_a_lib=no
 1.48556 -+	      case $deplibs_check_method in
 1.48557 -+		match_pattern*)
 1.48558 -+		  set dummy $deplibs_check_method; shift
 1.48559 -+		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
 1.48560 -+		  if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
 1.48561 -+		    | $EGREP "$match_pattern_regex" > /dev/null; then
 1.48562 -+		    valid_a_lib=yes
 1.48563 -+		  fi
 1.48564 -+		;;
 1.48565 -+		pass_all)
 1.48566 -+		  valid_a_lib=yes
 1.48567 -+		;;
 1.48568 -+	      esac
 1.48569 -+	      if test "$valid_a_lib" != yes; then
 1.48570 -+		$ECHO
 1.48571 -+		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
 1.48572 -+		$ECHO "*** I have the capability to make that library automatically link in when"
 1.48573 -+		$ECHO "*** you link to this library.  But I can only do this if you have a"
 1.48574 -+		$ECHO "*** shared version of the library, which you do not appear to have"
 1.48575 -+		$ECHO "*** because the file extensions .$libext of this argument makes me believe"
 1.48576 -+		$ECHO "*** that it is just a static archive that I should not use here."
 1.48577 -+	      else
 1.48578 -+		$ECHO
 1.48579 -+		$ECHO "*** Warning: Linking the shared library $output against the"
 1.48580 -+		$ECHO "*** static library $deplib is not portable!"
 1.48581 -+		deplibs="$deplib $deplibs"
 1.48582 -+	      fi
 1.48583 -+	      ;;
 1.48584 -+	    esac
 1.48585 -+	    continue
 1.48586 -+	    ;;
 1.48587 -+	  prog)
 1.48588 -+	    if test "$pass" != link; then
 1.48589 -+	      deplibs="$deplib $deplibs"
 1.48590 -+	    else
 1.48591 -+	      compile_deplibs="$deplib $compile_deplibs"
 1.48592 -+	      finalize_deplibs="$deplib $finalize_deplibs"
 1.48593 -+	    fi
 1.48594 -+	    continue
 1.48595 -+	    ;;
 1.48596 -+	  esac # linkmode
 1.48597 -+	  ;; # *.$libext
 1.48598 -+	*.lo | *.$objext)
 1.48599 -+	  if test "$pass" = conv; then
 1.48600 -+	    deplibs="$deplib $deplibs"
 1.48601 -+	  elif test "$linkmode" = prog; then
 1.48602 -+	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
 1.48603 -+	      # If there is no dlopen support or we're linking statically,
 1.48604 -+	      # we need to preload.
 1.48605 -+	      newdlprefiles="$newdlprefiles $deplib"
 1.48606 -+	      compile_deplibs="$deplib $compile_deplibs"
 1.48607 -+	      finalize_deplibs="$deplib $finalize_deplibs"
 1.48608 -+	    else
 1.48609 -+	      newdlfiles="$newdlfiles $deplib"
 1.48610 -+	    fi
 1.48611 -+	  fi
 1.48612 -+	  continue
 1.48613 -+	  ;;
 1.48614 -+	%DEPLIBS%)
 1.48615 -+	  alldeplibs=yes
 1.48616 -+	  continue
 1.48617 -+	  ;;
 1.48618 -+	esac # case $deplib
 1.48619 -+
 1.48620 -+	if test "$found" = yes || test -f "$lib"; then :
 1.48621 -+	else
 1.48622 -+	  func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
 1.48623 -+	fi
 1.48624 -+
 1.48625 -+	# Check to see that this really is a libtool archive.
 1.48626 -+	func_lalib_unsafe_p "$lib" \
 1.48627 -+	  || func_fatal_error "\`$lib' is not a valid libtool archive"
 1.48628 -+
 1.48629 -+	func_dirname "$lib" "" "."
 1.48630 -+	ladir="$func_dirname_result"
 1.48631 -+
 1.48632 -+	dlname=
 1.48633 -+	dlopen=
 1.48634 -+	dlpreopen=
 1.48635 -+	libdir=
 1.48636 -+	library_names=
 1.48637 -+	old_library=
 1.48638 -+	inherited_linker_flags=
 1.48639 -+	# If the library was installed with an old release of libtool,
 1.48640 -+	# it will not redefine variables installed, or shouldnotlink
 1.48641 -+	installed=yes
 1.48642 -+	shouldnotlink=no
 1.48643 -+	avoidtemprpath=
 1.48644 -+
 1.48645 -+
 1.48646 -+	# Read the .la file
 1.48647 -+	func_source "$lib"
 1.48648 -+
 1.48649 -+	# Convert "-framework foo" to "foo.ltframework"
 1.48650 -+	if test -n "$inherited_linker_flags"; then
 1.48651 -+	  tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
 1.48652 -+	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
 1.48653 -+	    case " $new_inherited_linker_flags " in
 1.48654 -+	      *" $tmp_inherited_linker_flag "*) ;;
 1.48655 -+	      *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
 1.48656 -+	    esac
 1.48657 -+	  done
 1.48658 -+	fi
 1.48659 -+	dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
 1.48660 -+	if test "$linkmode,$pass" = "prog,link"; then
 1.48661 -+	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
 1.48662 -+	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
 1.48663 -+	else
 1.48664 -+	  compiler_flags="$compiler_flags $inherited_linker_flags"
 1.48665 -+	fi
 1.48666 -+	if test "$linkmode,$pass" = "lib,link" ||
 1.48667 -+	   test "$linkmode,$pass" = "prog,scan" ||
 1.48668 -+	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
 1.48669 -+	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
 1.48670 -+	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
 1.48671 -+	fi
 1.48672 -+
 1.48673 -+	if test "$pass" = conv; then
 1.48674 -+	  # Only check for convenience libraries
 1.48675 -+	  deplibs="$lib $deplibs"
 1.48676 -+	  if test -z "$libdir"; then
 1.48677 -+	    if test -z "$old_library"; then
 1.48678 -+	      func_fatal_error "cannot find name of link library for \`$lib'"
 1.48679 -+	    fi
 1.48680 -+	    # It is a libtool convenience library, so add in its objects.
 1.48681 -+	    convenience="$convenience $ladir/$objdir/$old_library"
 1.48682 -+	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
 1.48683 -+	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
 1.48684 -+	    func_fatal_error "\`$lib' is not a convenience library"
 1.48685 -+	  fi
 1.48686 -+	  tmp_libs=
 1.48687 -+	  for deplib in $dependency_libs; do
 1.48688 -+	    deplibs="$deplib $deplibs"
 1.48689 -+	    if $opt_duplicate_deps ; then
 1.48690 -+	      case "$tmp_libs " in
 1.48691 -+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
 1.48692 -+	      esac
 1.48693 -+	    fi
 1.48694 -+	    tmp_libs="$tmp_libs $deplib"
 1.48695 -+	  done
 1.48696 -+	  continue
 1.48697 -+	fi # $pass = conv
 1.48698 -+
 1.48699 -+
 1.48700 -+	# Get the name of the library we link against.
 1.48701 -+	linklib=
 1.48702 -+	for l in $old_library $library_names; do
 1.48703 -+	  linklib="$l"
 1.48704 -+	done
 1.48705 -+	if test -z "$linklib"; then
 1.48706 -+	  func_fatal_error "cannot find name of link library for \`$lib'"
 1.48707 -+	fi
 1.48708 -+
 1.48709 -+	# This library was specified with -dlopen.
 1.48710 -+	if test "$pass" = dlopen; then
 1.48711 -+	  if test -z "$libdir"; then
 1.48712 -+	    func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
 1.48713 -+	  fi
 1.48714 -+	  if test -z "$dlname" ||
 1.48715 -+	     test "$dlopen_support" != yes ||
 1.48716 -+	     test "$build_libtool_libs" = no; then
 1.48717 -+	    # If there is no dlname, no dlopen support or we're linking
 1.48718 -+	    # statically, we need to preload.  We also need to preload any
 1.48719 -+	    # dependent libraries so libltdl's deplib preloader doesn't
 1.48720 -+	    # bomb out in the load deplibs phase.
 1.48721 -+	    dlprefiles="$dlprefiles $lib $dependency_libs"
 1.48722 -+	  else
 1.48723 -+	    newdlfiles="$newdlfiles $lib"
 1.48724 -+	  fi
 1.48725 -+	  continue
 1.48726 -+	fi # $pass = dlopen
 1.48727 -+
 1.48728 -+	# We need an absolute path.
 1.48729 -+	case $ladir in
 1.48730 -+	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
 1.48731 -+	*)
 1.48732 -+	  abs_ladir=`cd "$ladir" && pwd`
 1.48733 -+	  if test -z "$abs_ladir"; then
 1.48734 -+	    func_warning "cannot determine absolute directory name of \`$ladir'"
 1.48735 -+	    func_warning "passing it literally to the linker, although it might fail"
 1.48736 -+	    abs_ladir="$ladir"
 1.48737 -+	  fi
 1.48738 -+	  ;;
 1.48739 -+	esac
 1.48740 -+	func_basename "$lib"
 1.48741 -+	laname="$func_basename_result"
 1.48742 -+
 1.48743 -+	# Find the relevant object directory and library name.
 1.48744 -+	if test "X$installed" = Xyes; then
 1.48745 -+	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
 1.48746 -+	    func_warning "library \`$lib' was moved."
 1.48747 -+	    dir="$ladir"
 1.48748 -+	    absdir="$abs_ladir"
 1.48749 -+	    libdir="$abs_ladir"
 1.48750 -+	  else
 1.48751 -+	    dir="$libdir"
 1.48752 -+	    absdir="$libdir"
 1.48753 -+	  fi
 1.48754 -+	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
 1.48755 -+	else
 1.48756 -+	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
 1.48757 -+	    dir="$ladir"
 1.48758 -+	    absdir="$abs_ladir"
 1.48759 -+	    # Remove this search path later
 1.48760 -+	    notinst_path="$notinst_path $abs_ladir"
 1.48761 -+	  else
 1.48762 -+	    dir="$ladir/$objdir"
 1.48763 -+	    absdir="$abs_ladir/$objdir"
 1.48764 -+	    # Remove this search path later
 1.48765 -+	    notinst_path="$notinst_path $abs_ladir"
 1.48766 -+	  fi
 1.48767 -+	fi # $installed = yes
 1.48768 -+	func_stripname 'lib' '.la' "$laname"
 1.48769 -+	name=$func_stripname_result
 1.48770 -+
 1.48771 -+	# This library was specified with -dlpreopen.
 1.48772 -+	if test "$pass" = dlpreopen; then
 1.48773 -+	  if test -z "$libdir" && test "$linkmode" = prog; then
 1.48774 -+	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
 1.48775 -+	  fi
 1.48776 -+	  # Prefer using a static library (so that no silly _DYNAMIC symbols
 1.48777 -+	  # are required to link).
 1.48778 -+	  if test -n "$old_library"; then
 1.48779 -+	    newdlprefiles="$newdlprefiles $dir/$old_library"
 1.48780 -+	    # Keep a list of preopened convenience libraries to check
 1.48781 -+	    # that they are being used correctly in the link pass.
 1.48782 -+	    test -z "$libdir" && \
 1.48783 -+		dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
 1.48784 -+	  # Otherwise, use the dlname, so that lt_dlopen finds it.
 1.48785 -+	  elif test -n "$dlname"; then
 1.48786 -+	    newdlprefiles="$newdlprefiles $dir/$dlname"
 1.48787 -+	  else
 1.48788 -+	    newdlprefiles="$newdlprefiles $dir/$linklib"
 1.48789 -+	  fi
 1.48790 -+	fi # $pass = dlpreopen
 1.48791 -+
 1.48792 -+	if test -z "$libdir"; then
 1.48793 -+	  # Link the convenience library
 1.48794 -+	  if test "$linkmode" = lib; then
 1.48795 -+	    deplibs="$dir/$old_library $deplibs"
 1.48796 -+	  elif test "$linkmode,$pass" = "prog,link"; then
 1.48797 -+	    compile_deplibs="$dir/$old_library $compile_deplibs"
 1.48798 -+	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
 1.48799 -+	  else
 1.48800 -+	    deplibs="$lib $deplibs" # used for prog,scan pass
 1.48801 -+	  fi
 1.48802 -+	  continue
 1.48803 -+	fi
 1.48804 -+
 1.48805 -+
 1.48806 -+	if test "$linkmode" = prog && test "$pass" != link; then
 1.48807 -+	  newlib_search_path="$newlib_search_path $ladir"
 1.48808 -+	  deplibs="$lib $deplibs"
 1.48809 -+
 1.48810 -+	  linkalldeplibs=no
 1.48811 -+	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
 1.48812 -+	     test "$build_libtool_libs" = no; then
 1.48813 -+	    linkalldeplibs=yes
 1.48814 -+	  fi
 1.48815 -+
 1.48816 -+	  tmp_libs=
 1.48817 -+	  for deplib in $dependency_libs; do
 1.48818 -+	    case $deplib in
 1.48819 -+	    -L*) func_stripname '-L' '' "$deplib"
 1.48820 -+	         newlib_search_path="$newlib_search_path $func_stripname_result"
 1.48821 -+		 ;;
 1.48822 -+	    esac
 1.48823 -+	    # Need to link against all dependency_libs?
 1.48824 -+	    if test "$linkalldeplibs" = yes; then
 1.48825 -+	      deplibs="$deplib $deplibs"
 1.48826 -+	    else
 1.48827 -+	      # Need to hardcode shared library paths
 1.48828 -+	      # or/and link against static libraries
 1.48829 -+	      newdependency_libs="$deplib $newdependency_libs"
 1.48830 -+	    fi
 1.48831 -+	    if $opt_duplicate_deps ; then
 1.48832 -+	      case "$tmp_libs " in
 1.48833 -+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
 1.48834 -+	      esac
 1.48835 -+	    fi
 1.48836 -+	    tmp_libs="$tmp_libs $deplib"
 1.48837 -+	  done # for deplib
 1.48838 -+	  continue
 1.48839 -+	fi # $linkmode = prog...
 1.48840 -+
 1.48841 -+	if test "$linkmode,$pass" = "prog,link"; then
 1.48842 -+	  if test -n "$library_names" &&
 1.48843 -+	     { { test "$prefer_static_libs" = no ||
 1.48844 -+	         test "$prefer_static_libs,$installed" = "built,yes"; } ||
 1.48845 -+	       test -z "$old_library"; }; then
 1.48846 -+	    # We need to hardcode the library path
 1.48847 -+	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
 1.48848 -+	      # Make sure the rpath contains only unique directories.
 1.48849 -+	      case "$temp_rpath:" in
 1.48850 -+	      *"$absdir:"*) ;;
 1.48851 -+	      *) temp_rpath="$temp_rpath$absdir:" ;;
 1.48852 -+	      esac
 1.48853 -+	    fi
 1.48854 -+
 1.48855 -+	    # Hardcode the library path.
 1.48856 -+	    # Skip directories that are in the system default run-time
 1.48857 -+	    # search path.
 1.48858 -+	    case " $sys_lib_dlsearch_path " in
 1.48859 -+	    *" $absdir "*) ;;
 1.48860 -+	    *)
 1.48861 -+	      case "$compile_rpath " in
 1.48862 -+	      *" $absdir "*) ;;
 1.48863 -+	      *) compile_rpath="$compile_rpath $absdir"
 1.48864 -+	      esac
 1.48865 -+	      ;;
 1.48866 -+	    esac
 1.48867 -+	    case " $sys_lib_dlsearch_path " in
 1.48868 -+	    *" $libdir "*) ;;
 1.48869 -+	    *)
 1.48870 -+	      case "$finalize_rpath " in
 1.48871 -+	      *" $libdir "*) ;;
 1.48872 -+	      *) finalize_rpath="$finalize_rpath $libdir"
 1.48873 -+	      esac
 1.48874 -+	      ;;
 1.48875 -+	    esac
 1.48876 -+	  fi # $linkmode,$pass = prog,link...
 1.48877 -+
 1.48878 -+	  if test "$alldeplibs" = yes &&
 1.48879 -+	     { test "$deplibs_check_method" = pass_all ||
 1.48880 -+	       { test "$build_libtool_libs" = yes &&
 1.48881 -+		 test -n "$library_names"; }; }; then
 1.48882 -+	    # We only need to search for static libraries
 1.48883 -+	    continue
 1.48884 -+	  fi
 1.48885 -+	fi
 1.48886 -+
 1.48887 -+	link_static=no # Whether the deplib will be linked statically
 1.48888 -+	use_static_libs=$prefer_static_libs
 1.48889 -+	if test "$use_static_libs" = built && test "$installed" = yes; then
 1.48890 -+	  use_static_libs=no
 1.48891 -+	fi
 1.48892 -+	if test -n "$library_names" &&
 1.48893 -+	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
 1.48894 -+	  case $host in
 1.48895 -+	  *cygwin* | *mingw*)
 1.48896 -+	      # No point in relinking DLLs because paths are not encoded
 1.48897 -+	      notinst_deplibs="$notinst_deplibs $lib"
 1.48898 -+	      need_relink=no
 1.48899 -+	    ;;
 1.48900 -+	  *)
 1.48901 -+	    if test "$installed" = no; then
 1.48902 -+	      notinst_deplibs="$notinst_deplibs $lib"
 1.48903 -+	      need_relink=yes
 1.48904 -+	    fi
 1.48905 -+	    ;;
 1.48906 -+	  esac
 1.48907 -+	  # This is a shared library
 1.48908 -+
 1.48909 -+	  # Warn about portability, can't link against -module's on some
 1.48910 -+	  # systems (darwin).  Don't bleat about dlopened modules though!
 1.48911 -+	  dlopenmodule=""
 1.48912 -+	  for dlpremoduletest in $dlprefiles; do
 1.48913 -+	    if test "X$dlpremoduletest" = "X$lib"; then
 1.48914 -+	      dlopenmodule="$dlpremoduletest"
 1.48915 -+	      break
 1.48916 -+	    fi
 1.48917 -+	  done
 1.48918 -+	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
 1.48919 -+	    $ECHO
 1.48920 -+	    if test "$linkmode" = prog; then
 1.48921 -+	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
 1.48922 -+	    else
 1.48923 -+	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
 1.48924 -+	    fi
 1.48925 -+	    $ECHO "*** $linklib is not portable!"
 1.48926 -+	  fi
 1.48927 -+	  if test "$linkmode" = lib &&
 1.48928 -+	     test "$hardcode_into_libs" = yes; then
 1.48929 -+	    # Hardcode the library path.
 1.48930 -+	    # Skip directories that are in the system default run-time
 1.48931 -+	    # search path.
 1.48932 -+	    case " $sys_lib_dlsearch_path " in
 1.48933 -+	    *" $absdir "*) ;;
 1.48934 -+	    *)
 1.48935 -+	      case "$compile_rpath " in
 1.48936 -+	      *" $absdir "*) ;;
 1.48937 -+	      *) compile_rpath="$compile_rpath $absdir"
 1.48938 -+	      esac
 1.48939 -+	      ;;
 1.48940 -+	    esac
 1.48941 -+	    case " $sys_lib_dlsearch_path " in
 1.48942 -+	    *" $libdir "*) ;;
 1.48943 -+	    *)
 1.48944 -+	      case "$finalize_rpath " in
 1.48945 -+	      *" $libdir "*) ;;
 1.48946 -+	      *) finalize_rpath="$finalize_rpath $libdir"
 1.48947 -+	      esac
 1.48948 -+	      ;;
 1.48949 -+	    esac
 1.48950 -+	  fi
 1.48951 -+
 1.48952 -+	  if test -n "$old_archive_from_expsyms_cmds"; then
 1.48953 -+	    # figure out the soname
 1.48954 -+	    set dummy $library_names
 1.48955 -+	    shift
 1.48956 -+	    realname="$1"
 1.48957 -+	    shift
 1.48958 -+	    libname=`eval "\\$ECHO \"$libname_spec\""`
 1.48959 -+	    # use dlname if we got it. it's perfectly good, no?
 1.48960 -+	    if test -n "$dlname"; then
 1.48961 -+	      soname="$dlname"
 1.48962 -+	    elif test -n "$soname_spec"; then
 1.48963 -+	      # bleh windows
 1.48964 -+	      case $host in
 1.48965 -+	      *cygwin* | mingw*)
 1.48966 -+		major=`expr $current - $age`
 1.48967 -+		versuffix="-$major"
 1.48968 -+		;;
 1.48969 -+	      esac
 1.48970 -+	      eval soname=\"$soname_spec\"
 1.48971 -+	    else
 1.48972 -+	      soname="$realname"
 1.48973 -+	    fi
 1.48974 -+
 1.48975 -+	    # Make a new name for the extract_expsyms_cmds to use
 1.48976 -+	    soroot="$soname"
 1.48977 -+	    func_basename "$soroot"
 1.48978 -+	    soname="$func_basename_result"
 1.48979 -+	    func_stripname 'lib' '.dll' "$soname"
 1.48980 -+	    newlib=libimp-$func_stripname_result.a
 1.48981 -+
 1.48982 -+	    # If the library has no export list, then create one now
 1.48983 -+	    if test -f "$output_objdir/$soname-def"; then :
 1.48984 -+	    else
 1.48985 -+	      func_echo "extracting exported symbol list from \`$soname'"
 1.48986 -+	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
 1.48987 -+	    fi
 1.48988 -+
 1.48989 -+	    # Create $newlib
 1.48990 -+	    if test -f "$output_objdir/$newlib"; then :; else
 1.48991 -+	      func_echo "generating import library for \`$soname'"
 1.48992 -+	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
 1.48993 -+	    fi
 1.48994 -+	    # make sure the library variables are pointing to the new library
 1.48995 -+	    dir=$output_objdir
 1.48996 -+	    linklib=$newlib
 1.48997 -+	  fi # test -n "$old_archive_from_expsyms_cmds"
 1.48998 -+
 1.48999 -+	  if test "$linkmode" = prog || test "$mode" != relink; then
 1.49000 -+	    add_shlibpath=
 1.49001 -+	    add_dir=
 1.49002 -+	    add=
 1.49003 -+	    lib_linked=yes
 1.49004 -+	    case $hardcode_action in
 1.49005 -+	    immediate | unsupported)
 1.49006 -+	      if test "$hardcode_direct" = no; then
 1.49007 -+		add="$dir/$linklib"
 1.49008 -+		case $host in
 1.49009 -+		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
 1.49010 -+		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
 1.49011 -+		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
 1.49012 -+		    *-*-unixware7*) add_dir="-L$dir" ;;
 1.49013 -+		  *-*-darwin* )
 1.49014 -+		    # if the lib is a (non-dlopened) module then we can not
 1.49015 -+		    # link against it, someone is ignoring the earlier warnings
 1.49016 -+		    if /usr/bin/file -L $add 2> /dev/null |
 1.49017 -+			 $GREP ": [^:]* bundle" >/dev/null ; then
 1.49018 -+		      if test "X$dlopenmodule" != "X$lib"; then
 1.49019 -+			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
 1.49020 -+			if test -z "$old_library" ; then
 1.49021 -+			  $ECHO
 1.49022 -+			  $ECHO "*** And there doesn't seem to be a static archive available"
 1.49023 -+			  $ECHO "*** The link will probably fail, sorry"
 1.49024 -+			else
 1.49025 -+			  add="$dir/$old_library"
 1.49026 -+			fi
 1.49027 -+		      elif test -n "$old_library"; then
 1.49028 -+			add="$dir/$old_library"
 1.49029 -+		      fi
 1.49030 -+		    fi
 1.49031 -+		esac
 1.49032 -+	      elif test "$hardcode_minus_L" = no; then
 1.49033 -+		case $host in
 1.49034 -+		*-*-sunos*) add_shlibpath="$dir" ;;
 1.49035 -+		esac
 1.49036 -+		add_dir="-L$dir"
 1.49037 -+		add="-l$name"
 1.49038 -+	      elif test "$hardcode_shlibpath_var" = no; then
 1.49039 -+		add_shlibpath="$dir"
 1.49040 -+		add="-l$name"
 1.49041 -+	      else
 1.49042 -+		lib_linked=no
 1.49043 -+	      fi
 1.49044 -+	      ;;
 1.49045 -+	    relink)
 1.49046 -+	      if test "$hardcode_direct" = yes &&
 1.49047 -+	         test "$hardcode_direct_absolute" = no; then
 1.49048 -+		add="$dir/$linklib"
 1.49049 -+	      elif test "$hardcode_minus_L" = yes; then
 1.49050 -+		add_dir="-L$dir"
 1.49051 -+		# Try looking first in the location we're being installed to.
 1.49052 -+		if test -n "$inst_prefix_dir"; then
 1.49053 -+		  case $libdir in
 1.49054 -+		    [\\/]*)
 1.49055 -+		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
 1.49056 -+		      ;;
 1.49057 -+		  esac
 1.49058 -+		fi
 1.49059 -+		add="-l$name"
 1.49060 -+	      elif test "$hardcode_shlibpath_var" = yes; then
 1.49061 -+		add_shlibpath="$dir"
 1.49062 -+		add="-l$name"
 1.49063 -+	      else
 1.49064 -+		lib_linked=no
 1.49065 -+	      fi
 1.49066 -+	      ;;
 1.49067 -+	    *) lib_linked=no ;;
 1.49068 -+	    esac
 1.49069 -+
 1.49070 -+	    if test "$lib_linked" != yes; then
 1.49071 -+	      func_fatal_configuration "unsupported hardcode properties"
 1.49072 -+	    fi
 1.49073 -+
 1.49074 -+	    if test -n "$add_shlibpath"; then
 1.49075 -+	      case :$compile_shlibpath: in
 1.49076 -+	      *":$add_shlibpath:"*) ;;
 1.49077 -+	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
 1.49078 -+	      esac
 1.49079 -+	    fi
 1.49080 -+	    if test "$linkmode" = prog; then
 1.49081 -+	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
 1.49082 -+	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
 1.49083 -+	    else
 1.49084 -+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
 1.49085 -+	      test -n "$add" && deplibs="$add $deplibs"
 1.49086 -+	      if test "$hardcode_direct" != yes &&
 1.49087 -+		 test "$hardcode_minus_L" != yes &&
 1.49088 -+		 test "$hardcode_shlibpath_var" = yes; then
 1.49089 -+		case :$finalize_shlibpath: in
 1.49090 -+		*":$libdir:"*) ;;
 1.49091 -+		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
 1.49092 -+		esac
 1.49093 -+	      fi
 1.49094 -+	    fi
 1.49095 -+	  fi
 1.49096 -+
 1.49097 -+	  if test "$linkmode" = prog || test "$mode" = relink; then
 1.49098 -+	    add_shlibpath=
 1.49099 -+	    add_dir=
 1.49100 -+	    add=
 1.49101 -+	    # Finalize command for both is simple: just hardcode it.
 1.49102 -+	    if test "$hardcode_direct" = yes &&
 1.49103 -+	       test "$hardcode_direct_absolute" = no; then
 1.49104 -+	      add="$libdir/$linklib"
 1.49105 -+	    elif test "$hardcode_minus_L" = yes; then
 1.49106 -+	      add_dir="-L$libdir"
 1.49107 -+	      add="-l$name"
 1.49108 -+	    elif test "$hardcode_shlibpath_var" = yes; then
 1.49109 -+	      case :$finalize_shlibpath: in
 1.49110 -+	      *":$libdir:"*) ;;
 1.49111 -+	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
 1.49112 -+	      esac
 1.49113 -+	      add="-l$name"
 1.49114 -+	    elif test "$hardcode_automatic" = yes; then
 1.49115 -+	      if test -n "$inst_prefix_dir" &&
 1.49116 -+		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
 1.49117 -+		add="$inst_prefix_dir$libdir/$linklib"
 1.49118 -+	      else
 1.49119 -+		add="$libdir/$linklib"
 1.49120 -+	      fi
 1.49121 -+	    else
 1.49122 -+	      # We cannot seem to hardcode it, guess we'll fake it.
 1.49123 -+	      add_dir="-L$libdir"
 1.49124 -+	      # Try looking first in the location we're being installed to.
 1.49125 -+	      if test -n "$inst_prefix_dir"; then
 1.49126 -+		case $libdir in
 1.49127 -+		  [\\/]*)
 1.49128 -+		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
 1.49129 -+		    ;;
 1.49130 -+		esac
 1.49131 -+	      fi
 1.49132 -+	      add="-l$name"
 1.49133 -+	    fi
 1.49134 -+
 1.49135 -+	    if test "$linkmode" = prog; then
 1.49136 -+	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
 1.49137 -+	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
 1.49138 -+	    else
 1.49139 -+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
 1.49140 -+	      test -n "$add" && deplibs="$add $deplibs"
 1.49141 -+	    fi
 1.49142 -+	  fi
 1.49143 -+	elif test "$linkmode" = prog; then
 1.49144 -+	  # Here we assume that one of hardcode_direct or hardcode_minus_L
 1.49145 -+	  # is not unsupported.  This is valid on all known static and
 1.49146 -+	  # shared platforms.
 1.49147 -+	  if test "$hardcode_direct" != unsupported; then
 1.49148 -+	    test -n "$old_library" && linklib="$old_library"
 1.49149 -+	    compile_deplibs="$dir/$linklib $compile_deplibs"
 1.49150 -+	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
 1.49151 -+	  else
 1.49152 -+	    compile_deplibs="-l$name -L$dir $compile_deplibs"
 1.49153 -+	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
 1.49154 -+	  fi
 1.49155 -+	elif test "$build_libtool_libs" = yes; then
 1.49156 -+	  # Not a shared library
 1.49157 -+	  if test "$deplibs_check_method" != pass_all; then
 1.49158 -+	    # We're trying link a shared library against a static one
 1.49159 -+	    # but the system doesn't support it.
 1.49160 -+
 1.49161 -+	    # Just print a warning and add the library to dependency_libs so
 1.49162 -+	    # that the program can be linked against the static library.
 1.49163 -+	    $ECHO
 1.49164 -+	    $ECHO "*** Warning: This system can not link to static lib archive $lib."
 1.49165 -+	    $ECHO "*** I have the capability to make that library automatically link in when"
 1.49166 -+	    $ECHO "*** you link to this library.  But I can only do this if you have a"
 1.49167 -+	    $ECHO "*** shared version of the library, which you do not appear to have."
 1.49168 -+	    if test "$module" = yes; then
 1.49169 -+	      $ECHO "*** But as you try to build a module library, libtool will still create "
 1.49170 -+	      $ECHO "*** a static module, that should work as long as the dlopening application"
 1.49171 -+	      $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
 1.49172 -+	      if test -z "$global_symbol_pipe"; then
 1.49173 -+		$ECHO
 1.49174 -+		$ECHO "*** However, this would only work if libtool was able to extract symbol"
 1.49175 -+		$ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
 1.49176 -+		$ECHO "*** not find such a program.  So, this module is probably useless."
 1.49177 -+		$ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
 1.49178 -+	      fi
 1.49179 -+	      if test "$build_old_libs" = no; then
 1.49180 -+		build_libtool_libs=module
 1.49181 -+		build_old_libs=yes
 1.49182 -+	      else
 1.49183 -+		build_libtool_libs=no
 1.49184 -+	      fi
 1.49185 -+	    fi
 1.49186 -+	  else
 1.49187 -+	    deplibs="$dir/$old_library $deplibs"
 1.49188 -+	    link_static=yes
 1.49189 -+	  fi
 1.49190 -+	fi # link shared/static library?
 1.49191 -+
 1.49192 -+	if test "$linkmode" = lib; then
 1.49193 -+	  if test -n "$dependency_libs" &&
 1.49194 -+	     { test "$hardcode_into_libs" != yes ||
 1.49195 -+	       test "$build_old_libs" = yes ||
 1.49196 -+	       test "$link_static" = yes; }; then
 1.49197 -+	    # Extract -R from dependency_libs
 1.49198 -+	    temp_deplibs=
 1.49199 -+	    for libdir in $dependency_libs; do
 1.49200 -+	      case $libdir in
 1.49201 -+	      -R*) func_stripname '-R' '' "$libdir"
 1.49202 -+	           temp_xrpath=$func_stripname_result
 1.49203 -+		   case " $xrpath " in
 1.49204 -+		   *" $temp_xrpath "*) ;;
 1.49205 -+		   *) xrpath="$xrpath $temp_xrpath";;
 1.49206 -+		   esac;;
 1.49207 -+	      *) temp_deplibs="$temp_deplibs $libdir";;
 1.49208 -+	      esac
 1.49209 -+	    done
 1.49210 -+	    dependency_libs="$temp_deplibs"
 1.49211 -+	  fi
 1.49212 -+
 1.49213 -+	  newlib_search_path="$newlib_search_path $absdir"
 1.49214 -+	  # Link against this library
 1.49215 -+	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
 1.49216 -+	  # ... and its dependency_libs
 1.49217 -+	  tmp_libs=
 1.49218 -+	  for deplib in $dependency_libs; do
 1.49219 -+	    newdependency_libs="$deplib $newdependency_libs"
 1.49220 -+	    if $opt_duplicate_deps ; then
 1.49221 -+	      case "$tmp_libs " in
 1.49222 -+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
 1.49223 -+	      esac
 1.49224 -+	    fi
 1.49225 -+	    tmp_libs="$tmp_libs $deplib"
 1.49226 -+	  done
 1.49227 -+
 1.49228 -+	  if test "$link_all_deplibs" != no; then
 1.49229 -+	    # Add the search paths of all dependency libraries
 1.49230 -+	    for deplib in $dependency_libs; do
 1.49231 -+	      case $deplib in
 1.49232 -+	      -L*) path="$deplib" ;;
 1.49233 -+	      *.la)
 1.49234 -+	        func_dirname "$deplib" "" "."
 1.49235 -+		dir="$func_dirname_result"
 1.49236 -+		# We need an absolute path.
 1.49237 -+		case $dir in
 1.49238 -+		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
 1.49239 -+		*)
 1.49240 -+		  absdir=`cd "$dir" && pwd`
 1.49241 -+		  if test -z "$absdir"; then
 1.49242 -+		    func_warning "cannot determine absolute directory name of \`$dir'"
 1.49243 -+		    absdir="$dir"
 1.49244 -+		  fi
 1.49245 -+		  ;;
 1.49246 -+		esac
 1.49247 -+		if $GREP "^installed=no" $deplib > /dev/null; then
 1.49248 -+		case $host in
 1.49249 -+		*-*-darwin*)
 1.49250 -+		  depdepl=
 1.49251 -+		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
 1.49252 -+		  if test -n "$deplibrary_names" ; then
 1.49253 -+		    for tmp in $deplibrary_names ; do
 1.49254 -+		      depdepl=$tmp
 1.49255 -+		    done
 1.49256 -+		    if test -f "$absdir/$objdir/$depdepl" ; then
 1.49257 -+		      depdepl="$absdir/$objdir/$depdepl"
 1.49258 -+		      darwin_install_name=`otool -L $depdepl | $SED -n -e '3q;2,2p' | $SED -e 's/(.*//'`
 1.49259 -+		      darwin_install_name=`$ECHO $darwin_install_name`
 1.49260 -+                      if test -z "$darwin_install_name"; then
 1.49261 -+                          darwin_install_name=`otool64 -L $depdepl | $SED -n -e '3q;2,2p' | $SED -e 's/(.*//'`
 1.49262 -+                          darwin_install_name=`$ECHO $darwin_install_name`
 1.49263 -+                      fi
 1.49264 -+		      compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
 1.49265 -+		      linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
 1.49266 -+		      path=
 1.49267 -+		    fi
 1.49268 -+		  fi
 1.49269 -+		  ;;
 1.49270 -+		*)
 1.49271 -+		  path="-L$absdir/$objdir"
 1.49272 -+		  ;;
 1.49273 -+		esac
 1.49274 -+		else
 1.49275 -+		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
 1.49276 -+		  test -z "$libdir" && \
 1.49277 -+		    func_fatal_error "\`$deplib' is not a valid libtool archive"
 1.49278 -+		  test "$absdir" != "$libdir" && \
 1.49279 -+		    func_warning "\`$deplib' seems to be moved"
 1.49280 -+
 1.49281 -+		  path="-L$absdir"
 1.49282 -+		fi
 1.49283 -+		;;
 1.49284 -+	      esac
 1.49285 -+	      case " $deplibs " in
 1.49286 -+	      *" $path "*) ;;
 1.49287 -+	      *) deplibs="$path $deplibs" ;;
 1.49288 -+	      esac
 1.49289 -+	    done
 1.49290 -+	  fi # link_all_deplibs != no
 1.49291 -+	fi # linkmode = lib
 1.49292 -+      done # for deplib in $libs
 1.49293 -+      dependency_libs="$newdependency_libs"
 1.49294 -+      if test "$pass" = dlpreopen; then
 1.49295 -+	# Link the dlpreopened libraries before other libraries
 1.49296 -+	for deplib in $save_deplibs; do
 1.49297 -+	  deplibs="$deplib $deplibs"
 1.49298 -+	done
 1.49299 -+      fi
 1.49300 -+      if test "$pass" != dlopen; then
 1.49301 -+	if test "$pass" != conv; then
 1.49302 -+	  # Make sure lib_search_path contains only unique directories.
 1.49303 -+	  lib_search_path=
 1.49304 -+	  for dir in $newlib_search_path; do
 1.49305 -+	    case "$lib_search_path " in
 1.49306 -+	    *" $dir "*) ;;
 1.49307 -+	    *) lib_search_path="$lib_search_path $dir" ;;
 1.49308 -+	    esac
 1.49309 -+	  done
 1.49310 -+	  newlib_search_path=
 1.49311 -+	fi
 1.49312 -+
 1.49313 -+	if test "$linkmode,$pass" != "prog,link"; then
 1.49314 -+	  vars="deplibs"
 1.49315 -+	else
 1.49316 -+	  vars="compile_deplibs finalize_deplibs"
 1.49317 -+	fi
 1.49318 -+	for var in $vars dependency_libs; do
 1.49319 -+	  # Add libraries to $var in reverse order
 1.49320 -+	  eval tmp_libs=\"\$$var\"
 1.49321 -+	  new_libs=
 1.49322 -+	  for deplib in $tmp_libs; do
 1.49323 -+	    # FIXME: Pedantically, this is the right thing to do, so
 1.49324 -+	    #        that some nasty dependency loop isn't accidentally
 1.49325 -+	    #        broken:
 1.49326 -+	    #new_libs="$deplib $new_libs"
 1.49327 -+	    # Pragmatically, this seems to cause very few problems in
 1.49328 -+	    # practice:
 1.49329 -+	    case $deplib in
 1.49330 -+	    -L*) new_libs="$deplib $new_libs" ;;
 1.49331 -+	    -R*) ;;
 1.49332 -+	    *)
 1.49333 -+	      # And here is the reason: when a library appears more
 1.49334 -+	      # than once as an explicit dependence of a library, or
 1.49335 -+	      # is implicitly linked in more than once by the
 1.49336 -+	      # compiler, it is considered special, and multiple
 1.49337 -+	      # occurrences thereof are not removed.  Compare this
 1.49338 -+	      # with having the same library being listed as a
 1.49339 -+	      # dependency of multiple other libraries: in this case,
 1.49340 -+	      # we know (pedantically, we assume) the library does not
 1.49341 -+	      # need to be listed more than once, so we keep only the
 1.49342 -+	      # last copy.  This is not always right, but it is rare
 1.49343 -+	      # enough that we require users that really mean to play
 1.49344 -+	      # such unportable linking tricks to link the library
 1.49345 -+	      # using -Wl,-lname, so that libtool does not consider it
 1.49346 -+	      # for duplicate removal.
 1.49347 -+	      case " $specialdeplibs " in
 1.49348 -+	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
 1.49349 -+	      *)
 1.49350 -+		case " $new_libs " in
 1.49351 -+		*" $deplib "*) ;;
 1.49352 -+		*) new_libs="$deplib $new_libs" ;;
 1.49353 -+		esac
 1.49354 -+		;;
 1.49355 -+	      esac
 1.49356 -+	      ;;
 1.49357 -+	    esac
 1.49358 -+	  done
 1.49359 -+	  tmp_libs=
 1.49360 -+	  for deplib in $new_libs; do
 1.49361 -+	    case $deplib in
 1.49362 -+	    -L*)
 1.49363 -+	      case " $tmp_libs " in
 1.49364 -+	      *" $deplib "*) ;;
 1.49365 -+	      *) tmp_libs="$tmp_libs $deplib" ;;
 1.49366 -+	      esac
 1.49367 -+	      ;;
 1.49368 -+	    *) tmp_libs="$tmp_libs $deplib" ;;
 1.49369 -+	    esac
 1.49370 -+	  done
 1.49371 -+	  eval $var=\"$tmp_libs\"
 1.49372 -+	done # for var
 1.49373 -+      fi
 1.49374 -+      # Last step: remove runtime libs from dependency_libs
 1.49375 -+      # (they stay in deplibs)
 1.49376 -+      tmp_libs=
 1.49377 -+      for i in $dependency_libs ; do
 1.49378 -+	case " $predeps $postdeps $compiler_lib_search_path " in
 1.49379 -+	*" $i "*)
 1.49380 -+	  i=""
 1.49381 -+	  ;;
 1.49382 -+	esac
 1.49383 -+	if test -n "$i" ; then
 1.49384 -+	  tmp_libs="$tmp_libs $i"
 1.49385 -+	fi
 1.49386 -+      done
 1.49387 -+      dependency_libs=$tmp_libs
 1.49388 -+    done # for pass
 1.49389 -+    if test "$linkmode" = prog; then
 1.49390 -+      dlfiles="$newdlfiles"
 1.49391 -+    fi
 1.49392 -+    if test "$linkmode" = prog || test "$linkmode" = lib; then
 1.49393 -+      dlprefiles="$newdlprefiles"
 1.49394 -+    fi
 1.49395 -+
 1.49396 -+    case $linkmode in
 1.49397 -+    oldlib)
 1.49398 -+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
 1.49399 -+	func_warning "\`-dlopen' is ignored for archives"
 1.49400 -+      fi
 1.49401 -+
 1.49402 -+      test -n "$deplibs" && \
 1.49403 -+	func_warning "\`-l' and \`-L' are ignored for archives"
 1.49404 -+
 1.49405 -+
 1.49406 -+      test -n "$rpath" && \
 1.49407 -+	func_warning "\`-rpath' is ignored for archives"
 1.49408 -+
 1.49409 -+      test -n "$xrpath" && \
 1.49410 -+	func_warning "\`-R' is ignored for archives"
 1.49411 -+
 1.49412 -+      test -n "$vinfo" && \
 1.49413 -+	func_warning "\`-version-info/-version-number' is ignored for archives"
 1.49414 -+
 1.49415 -+      test -n "$release" && \
 1.49416 -+	func_warning "\`-release' is ignored for archives"
 1.49417 -+
 1.49418 -+      test -n "$export_symbols$export_symbols_regex" && \
 1.49419 -+	func_warning "\`-export-symbols' is ignored for archives"
 1.49420 -+
 1.49421 -+      # Now set the variables for building old libraries.
 1.49422 -+      build_libtool_libs=no
 1.49423 -+      oldlibs="$output"
 1.49424 -+      objs="$objs$old_deplibs"
 1.49425 -+      ;;
 1.49426 -+
 1.49427 -+    lib)
 1.49428 -+      # Make sure we only generate libraries of the form `libNAME.la'.
 1.49429 -+      case $outputname in
 1.49430 -+      lib*)
 1.49431 -+	func_stripname 'lib' '.la' "$outputname"
 1.49432 -+	name=$func_stripname_result
 1.49433 -+	eval shared_ext=\"$shrext_cmds\"
 1.49434 -+	eval libname=\"$libname_spec\"
 1.49435 -+	;;
 1.49436 -+      *)
 1.49437 -+	test "$module" = no && \
 1.49438 -+	  func_fatal_help "libtool library \`$output' must begin with \`lib'"
 1.49439 -+
 1.49440 -+	if test "$need_lib_prefix" != no; then
 1.49441 -+	  # Add the "lib" prefix for modules if required
 1.49442 -+	  func_stripname '' '.la' "$outputname"
 1.49443 -+	  name=$func_stripname_result
 1.49444 -+	  eval shared_ext=\"$shrext_cmds\"
 1.49445 -+	  eval libname=\"$libname_spec\"
 1.49446 -+	else
 1.49447 -+	  func_stripname '' '.la' "$outputname"
 1.49448 -+	  libname=$func_stripname_result
 1.49449 -+	fi
 1.49450 -+	;;
 1.49451 -+      esac
 1.49452 -+
 1.49453 -+      if test -n "$objs"; then
 1.49454 -+	if test "$deplibs_check_method" != pass_all; then
 1.49455 -+	  func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
 1.49456 -+	else
 1.49457 -+	  $ECHO
 1.49458 -+	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
 1.49459 -+	  $ECHO "*** objects $objs is not portable!"
 1.49460 -+	  libobjs="$libobjs $objs"
 1.49461 -+	fi
 1.49462 -+      fi
 1.49463 -+
 1.49464 -+      test "$dlself" != no && \
 1.49465 -+	func_warning "\`-dlopen self' is ignored for libtool libraries"
 1.49466 -+
 1.49467 -+      set dummy $rpath
 1.49468 -+      shift
 1.49469 -+      test "$#" -gt 1 && \
 1.49470 -+	func_warning "ignoring multiple \`-rpath's for a libtool library"
 1.49471 -+
 1.49472 -+      install_libdir="$1"
 1.49473 -+
 1.49474 -+      oldlibs=
 1.49475 -+      if test -z "$rpath"; then
 1.49476 -+	if test "$build_libtool_libs" = yes; then
 1.49477 -+	  # Building a libtool convenience library.
 1.49478 -+	  # Some compilers have problems with a `.al' extension so
 1.49479 -+	  # convenience libraries should have the same extension an
 1.49480 -+	  # archive normally would.
 1.49481 -+	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
 1.49482 -+	  build_libtool_libs=convenience
 1.49483 -+	  build_old_libs=yes
 1.49484 -+	fi
 1.49485 -+
 1.49486 -+	test -n "$vinfo" && \
 1.49487 -+	  func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
 1.49488 -+
 1.49489 -+	test -n "$release" && \
 1.49490 -+	  func_warning "\`-release' is ignored for convenience libraries"
 1.49491 -+      else
 1.49492 -+
 1.49493 -+	# Parse the version information argument.
 1.49494 -+	save_ifs="$IFS"; IFS=':'
 1.49495 -+	set dummy $vinfo 0 0 0
 1.49496 -+	shift
 1.49497 -+	IFS="$save_ifs"
 1.49498 -+
 1.49499 -+	test -n "$7" && \
 1.49500 -+	  func_fatal_help "too many parameters to \`-version-info'"
 1.49501 -+
 1.49502 -+	# convert absolute version numbers to libtool ages
 1.49503 -+	# this retains compatibility with .la files and attempts
 1.49504 -+	# to make the code below a bit more comprehensible
 1.49505 -+
 1.49506 -+	case $vinfo_number in
 1.49507 -+	yes)
 1.49508 -+	  number_major="$1"
 1.49509 -+	  number_minor="$2"
 1.49510 -+	  number_revision="$3"
 1.49511 -+	  #
 1.49512 -+	  # There are really only two kinds -- those that
 1.49513 -+	  # use the current revision as the major version
 1.49514 -+	  # and those that subtract age and use age as
 1.49515 -+	  # a minor version.  But, then there is irix
 1.49516 -+	  # which has an extra 1 added just for fun
 1.49517 -+	  #
 1.49518 -+	  case $version_type in
 1.49519 -+	  darwin|linux|osf|windows|none)
 1.49520 -+	    current=`expr $number_major + $number_minor`
 1.49521 -+	    age="$number_minor"
 1.49522 -+	    revision="$number_revision"
 1.49523 -+	    ;;
 1.49524 -+	  freebsd-aout|freebsd-elf|sunos)
 1.49525 -+	    current="$number_major"
 1.49526 -+	    revision="$number_minor"
 1.49527 -+	    age="0"
 1.49528 -+	    ;;
 1.49529 -+	  irix|nonstopux)
 1.49530 -+	    current=`expr $number_major + $number_minor - 1`
 1.49531 -+	    age="$number_minor"
 1.49532 -+	    revision="$number_minor"
 1.49533 -+	    ;;
 1.49534 -+	  esac
 1.49535 -+	  ;;
 1.49536 -+	no)
 1.49537 -+	  current="$1"
 1.49538 -+	  revision="$2"
 1.49539 -+	  age="$3"
 1.49540 -+	  ;;
 1.49541 -+	esac
 1.49542 -+
 1.49543 -+	# Check that each of the things are valid numbers.
 1.49544 -+	case $current in
 1.49545 -+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
 1.49546 -+	*)
 1.49547 -+	  func_error "CURRENT \`$current' must be a nonnegative integer"
 1.49548 -+	  func_fatal_error "\`$vinfo' is not valid version information"
 1.49549 -+	  ;;
 1.49550 -+	esac
 1.49551 -+
 1.49552 -+	case $revision in
 1.49553 -+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
 1.49554 -+	*)
 1.49555 -+	  func_error "REVISION \`$revision' must be a nonnegative integer"
 1.49556 -+	  func_fatal_error "\`$vinfo' is not valid version information"
 1.49557 -+	  ;;
 1.49558 -+	esac
 1.49559 -+
 1.49560 -+	case $age in
 1.49561 -+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
 1.49562 -+	*)
 1.49563 -+	  func_error "AGE \`$age' must be a nonnegative integer"
 1.49564 -+	  func_fatal_error "\`$vinfo' is not valid version information"
 1.49565 -+	  ;;
 1.49566 -+	esac
 1.49567 -+
 1.49568 -+	if test "$age" -gt "$current"; then
 1.49569 -+	  func_error "AGE \`$age' is greater than the current interface number \`$current'"
 1.49570 -+	  func_fatal_error "\`$vinfo' is not valid version information"
 1.49571 -+	fi
 1.49572 -+
 1.49573 -+	# Calculate the version variables.
 1.49574 -+	major=
 1.49575 -+	versuffix=
 1.49576 -+	verstring=
 1.49577 -+	case $version_type in
 1.49578 -+	none) ;;
 1.49579 -+
 1.49580 -+	darwin)
 1.49581 -+	  # Like Linux, but with the current version available in
 1.49582 -+	  # verstring for coding it into the library header
 1.49583 -+	  major=.`expr $current - $age`
 1.49584 -+	  versuffix="$major.$age.$revision"
 1.49585 -+	  # Darwin ld doesn't like 0 for these options...
 1.49586 -+	  minor_current=`expr $current + 1`
 1.49587 -+	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
 1.49588 -+	  ;;
 1.49589 -+
 1.49590 -+	freebsd-aout)
 1.49591 -+	  major=".$current"
 1.49592 -+	  versuffix=".$current.$revision";
 1.49593 -+	  ;;
 1.49594 -+
 1.49595 -+	freebsd-elf)
 1.49596 -+	  major=".$current"
 1.49597 -+	  versuffix=".$current"
 1.49598 -+	  ;;
 1.49599 -+
 1.49600 -+	irix | nonstopux)
 1.49601 -+	  major=`expr $current - $age + 1`
 1.49602 -+
 1.49603 -+	  case $version_type in
 1.49604 -+	    nonstopux) verstring_prefix=nonstopux ;;
 1.49605 -+	    *)         verstring_prefix=sgi ;;
 1.49606 -+	  esac
 1.49607 -+	  verstring="$verstring_prefix$major.$revision"
 1.49608 -+
 1.49609 -+	  # Add in all the interfaces that we are compatible with.
 1.49610 -+	  loop=$revision
 1.49611 -+	  while test "$loop" -ne 0; do
 1.49612 -+	    iface=`expr $revision - $loop`
 1.49613 -+	    loop=`expr $loop - 1`
 1.49614 -+	    verstring="$verstring_prefix$major.$iface:$verstring"
 1.49615 -+	  done
 1.49616 -+
 1.49617 -+	  # Before this point, $major must not contain `.'.
 1.49618 -+	  major=.$major
 1.49619 -+	  versuffix="$major.$revision"
 1.49620 -+	  ;;
 1.49621 -+
 1.49622 -+	linux)
 1.49623 -+	  major=.`expr $current - $age`
 1.49624 -+	  versuffix="$major.$age.$revision"
 1.49625 -+	  ;;
 1.49626 -+
 1.49627 -+	osf)
 1.49628 -+	  major=.`expr $current - $age`
 1.49629 -+	  versuffix=".$current.$age.$revision"
 1.49630 -+	  verstring="$current.$age.$revision"
 1.49631 -+
 1.49632 -+	  # Add in all the interfaces that we are compatible with.
 1.49633 -+	  loop=$age
 1.49634 -+	  while test "$loop" -ne 0; do
 1.49635 -+	    iface=`expr $current - $loop`
 1.49636 -+	    loop=`expr $loop - 1`
 1.49637 -+	    verstring="$verstring:${iface}.0"
 1.49638 -+	  done
 1.49639 -+
 1.49640 -+	  # Make executables depend on our current version.
 1.49641 -+	  verstring="$verstring:${current}.0"
 1.49642 -+	  ;;
 1.49643 -+
 1.49644 -+	qnx)
 1.49645 -+	  major=".$current"
 1.49646 -+	  versuffix=".$current"
 1.49647 -+	  ;;
 1.49648 -+
 1.49649 -+	sunos)
 1.49650 -+	  major=".$current"
 1.49651 -+	  versuffix=".$current.$revision"
 1.49652 -+	  ;;
 1.49653 -+
 1.49654 -+	windows)
 1.49655 -+	  # Use '-' rather than '.', since we only want one
 1.49656 -+	  # extension on DOS 8.3 filesystems.
 1.49657 -+	  major=`expr $current - $age`
 1.49658 -+	  versuffix="-$major"
 1.49659 -+	  ;;
 1.49660 -+
 1.49661 -+	*)
 1.49662 -+	  func_fatal_configuration "unknown library version type \`$version_type'"
 1.49663 -+	  ;;
 1.49664 -+	esac
 1.49665 -+
 1.49666 -+	# Clear the version info if we defaulted, and they specified a release.
 1.49667 -+	if test -z "$vinfo" && test -n "$release"; then
 1.49668 -+	  major=
 1.49669 -+	  case $version_type in
 1.49670 -+	  darwin)
 1.49671 -+	    # we can't check for "0.0" in archive_cmds due to quoting
 1.49672 -+	    # problems, so we reset it completely
 1.49673 -+	    verstring=
 1.49674 -+	    ;;
 1.49675 -+	  *)
 1.49676 -+	    verstring="0.0"
 1.49677 -+	    ;;
 1.49678 -+	  esac
 1.49679 -+	  if test "$need_version" = no; then
 1.49680 -+	    versuffix=
 1.49681 -+	  else
 1.49682 -+	    versuffix=".0.0"
 1.49683 -+	  fi
 1.49684 -+	fi
 1.49685 -+
 1.49686 -+	# Remove version info from name if versioning should be avoided
 1.49687 -+	if test "$avoid_version" = yes && test "$need_version" = no; then
 1.49688 -+	  major=
 1.49689 -+	  versuffix=
 1.49690 -+	  verstring=""
 1.49691 -+	fi
 1.49692 -+
 1.49693 -+	# Check to see if the archive will have undefined symbols.
 1.49694 -+	if test "$allow_undefined" = yes; then
 1.49695 -+	  if test "$allow_undefined_flag" = unsupported; then
 1.49696 -+	    func_warning "undefined symbols not allowed in $host shared libraries"
 1.49697 -+	    build_libtool_libs=no
 1.49698 -+	    build_old_libs=yes
 1.49699 -+	  fi
 1.49700 -+	else
 1.49701 -+	  # Don't allow undefined symbols.
 1.49702 -+	  allow_undefined_flag="$no_undefined_flag"
 1.49703 -+	fi
 1.49704 -+
 1.49705 -+      fi
 1.49706 -+
 1.49707 -+      func_generate_dlsyms "$libname" "$libname" "yes"
 1.49708 -+      libobjs="$libobjs $symfileobj"
 1.49709 -+      test "X$libobjs" = "X " && libobjs=
 1.49710 -+
 1.49711 -+      if test "$mode" != relink; then
 1.49712 -+	# Remove our outputs, but don't remove object files since they
 1.49713 -+	# may have been created when compiling PIC objects.
 1.49714 -+	removelist=
 1.49715 -+	tempremovelist=`$ECHO "$output_objdir/*"`
 1.49716 -+	for p in $tempremovelist; do
 1.49717 -+	  case $p in
 1.49718 -+	    *.$objext)
 1.49719 -+	       ;;
 1.49720 -+	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
 1.49721 -+	       if test "X$precious_files_regex" != "X"; then
 1.49722 -+		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
 1.49723 -+		 then
 1.49724 -+		   continue
 1.49725 -+		 fi
 1.49726 -+	       fi
 1.49727 -+	       removelist="$removelist $p"
 1.49728 -+	       ;;
 1.49729 -+	    *) ;;
 1.49730 -+	  esac
 1.49731 -+	done
 1.49732 -+	test -n "$removelist" && \
 1.49733 -+	  func_show_eval "${RM}r \$removelist"
 1.49734 -+      fi
 1.49735 -+
 1.49736 -+      # Now set the variables for building old libraries.
 1.49737 -+      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
 1.49738 -+	oldlibs="$oldlibs $output_objdir/$libname.$libext"
 1.49739 -+
 1.49740 -+	# Transform .lo files to .o files.
 1.49741 -+	oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
 1.49742 -+      fi
 1.49743 -+
 1.49744 -+      # Eliminate all temporary directories.
 1.49745 -+      #for path in $notinst_path; do
 1.49746 -+      #	lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
 1.49747 -+      #	deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
 1.49748 -+      #	dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
 1.49749 -+      #done
 1.49750 -+
 1.49751 -+      if test -n "$xrpath"; then
 1.49752 -+	# If the user specified any rpath flags, then add them.
 1.49753 -+	temp_xrpath=
 1.49754 -+	for libdir in $xrpath; do
 1.49755 -+	  temp_xrpath="$temp_xrpath -R$libdir"
 1.49756 -+	  case "$finalize_rpath " in
 1.49757 -+	  *" $libdir "*) ;;
 1.49758 -+	  *) finalize_rpath="$finalize_rpath $libdir" ;;
 1.49759 -+	  esac
 1.49760 -+	done
 1.49761 -+	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
 1.49762 -+	  dependency_libs="$temp_xrpath $dependency_libs"
 1.49763 -+	fi
 1.49764 -+      fi
 1.49765 -+
 1.49766 -+      # Make sure dlfiles contains only unique files that won't be dlpreopened
 1.49767 -+      old_dlfiles="$dlfiles"
 1.49768 -+      dlfiles=
 1.49769 -+      for lib in $old_dlfiles; do
 1.49770 -+	case " $dlprefiles $dlfiles " in
 1.49771 -+	*" $lib "*) ;;
 1.49772 -+	*) dlfiles="$dlfiles $lib" ;;
 1.49773 -+	esac
 1.49774 -+      done
 1.49775 -+
 1.49776 -+      # Make sure dlprefiles contains only unique files
 1.49777 -+      old_dlprefiles="$dlprefiles"
 1.49778 -+      dlprefiles=
 1.49779 -+      for lib in $old_dlprefiles; do
 1.49780 -+	case "$dlprefiles " in
 1.49781 -+	*" $lib "*) ;;
 1.49782 -+	*) dlprefiles="$dlprefiles $lib" ;;
 1.49783 -+	esac
 1.49784 -+      done
 1.49785 -+
 1.49786 -+      if test "$build_libtool_libs" = yes; then
 1.49787 -+	if test -n "$rpath"; then
 1.49788 -+	  case $host in
 1.49789 -+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
 1.49790 -+	    # these systems don't actually have a c library (as such)!
 1.49791 -+	    ;;
 1.49792 -+	  *-*-rhapsody* | *-*-darwin1.[012])
 1.49793 -+	    # Rhapsody C library is in the System framework
 1.49794 -+	    deplibs="$deplibs System.ltframework"
 1.49795 -+	    ;;
 1.49796 -+	  *-*-netbsd*)
 1.49797 -+	    # Don't link with libc until the a.out ld.so is fixed.
 1.49798 -+	    ;;
 1.49799 -+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
 1.49800 -+	    # Do not include libc due to us having libc/libc_r.
 1.49801 -+	    ;;
 1.49802 -+	  *-*-sco3.2v5* | *-*-sco5v6*)
 1.49803 -+	    # Causes problems with __ctype
 1.49804 -+	    ;;
 1.49805 -+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
 1.49806 -+	    # Compiler inserts libc in the correct place for threads to work
 1.49807 -+ 	    ;;
 1.49808 -+ 	  *)
 1.49809 -+	    # Add libc to deplibs on all other systems if necessary.
 1.49810 -+	    if test "$build_libtool_need_lc" = "yes"; then
 1.49811 -+	      deplibs="$deplibs -lc"
 1.49812 -+	    fi
 1.49813 -+	    ;;
 1.49814 -+	  esac
 1.49815 -+	fi
 1.49816 -+
 1.49817 -+	# Transform deplibs into only deplibs that can be linked in shared.
 1.49818 -+	name_save=$name
 1.49819 -+	libname_save=$libname
 1.49820 -+	release_save=$release
 1.49821 -+	versuffix_save=$versuffix
 1.49822 -+	major_save=$major
 1.49823 -+	# I'm not sure if I'm treating the release correctly.  I think
 1.49824 -+	# release should show up in the -l (ie -lgmp5) so we don't want to
 1.49825 -+	# add it in twice.  Is that correct?
 1.49826 -+	release=""
 1.49827 -+	versuffix=""
 1.49828 -+	major=""
 1.49829 -+	newdeplibs=
 1.49830 -+	droppeddeps=no
 1.49831 -+	case $deplibs_check_method in
 1.49832 -+	pass_all)
 1.49833 -+	  # Don't check for shared/static.  Everything works.
 1.49834 -+	  # This might be a little naive.  We might want to check
 1.49835 -+	  # whether the library exists or not.  But this is on
 1.49836 -+	  # osf3 & osf4 and I'm not really sure... Just
 1.49837 -+	  # implementing what was already the behavior.
 1.49838 -+	  newdeplibs=$deplibs
 1.49839 -+	  ;;
 1.49840 -+	test_compile)
 1.49841 -+	  # This code stresses the "libraries are programs" paradigm to its
 1.49842 -+	  # limits. Maybe even breaks it.  We compile a program, linking it
 1.49843 -+	  # against the deplibs as a proxy for the library.  Then we can check
 1.49844 -+	  # whether they linked in statically or dynamically with ldd.
 1.49845 -+	  $opt_dry_run || $RM conftest.c
 1.49846 -+	  cat > conftest.c <<EOF
 1.49847 -+	  int main() { return 0; }
 1.49848 -+EOF
 1.49849 -+	  $opt_dry_run || $RM conftest
 1.49850 -+	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
 1.49851 -+	    ldd_output=`ldd conftest`
 1.49852 -+	    for i in $deplibs; do
 1.49853 -+	      name=`expr $i : '-l\(.*\)'`
 1.49854 -+	      # If $name is empty we are operating on a -L argument.
 1.49855 -+	      if test "$name" != "" && test "$name" != "0"; then
 1.49856 -+		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 1.49857 -+		  case " $predeps $postdeps " in
 1.49858 -+		  *" $i "*)
 1.49859 -+		    newdeplibs="$newdeplibs $i"
 1.49860 -+		    i=""
 1.49861 -+		    ;;
 1.49862 -+		  esac
 1.49863 -+		fi
 1.49864 -+		if test -n "$i" ; then
 1.49865 -+		  libname=`eval "\\$ECHO \"$libname_spec\""`
 1.49866 -+		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
 1.49867 -+		  set dummy $deplib_matches; shift
 1.49868 -+		  deplib_match=$1
 1.49869 -+		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
 1.49870 -+		    newdeplibs="$newdeplibs $i"
 1.49871 -+		  else
 1.49872 -+		    droppeddeps=yes
 1.49873 -+		    $ECHO
 1.49874 -+		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
 1.49875 -+		    $ECHO "*** I have the capability to make that library automatically link in when"
 1.49876 -+		    $ECHO "*** you link to this library.  But I can only do this if you have a"
 1.49877 -+		    $ECHO "*** shared version of the library, which I believe you do not have"
 1.49878 -+		    $ECHO "*** because a test_compile did reveal that the linker did not use it for"
 1.49879 -+		    $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
 1.49880 -+		  fi
 1.49881 -+		fi
 1.49882 -+	      else
 1.49883 -+		newdeplibs="$newdeplibs $i"
 1.49884 -+	      fi
 1.49885 -+	    done
 1.49886 -+	  else
 1.49887 -+	    # Error occurred in the first compile.  Let's try to salvage
 1.49888 -+	    # the situation: Compile a separate program for each library.
 1.49889 -+	    for i in $deplibs; do
 1.49890 -+	      name=`expr $i : '-l\(.*\)'`
 1.49891 -+	      # If $name is empty we are operating on a -L argument.
 1.49892 -+	      if test "$name" != "" && test "$name" != "0"; then
 1.49893 -+		$opt_dry_run || $RM conftest
 1.49894 -+		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
 1.49895 -+		  ldd_output=`ldd conftest`
 1.49896 -+		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 1.49897 -+		    case " $predeps $postdeps " in
 1.49898 -+		    *" $i "*)
 1.49899 -+		      newdeplibs="$newdeplibs $i"
 1.49900 -+		      i=""
 1.49901 -+		      ;;
 1.49902 -+		    esac
 1.49903 -+		  fi
 1.49904 -+		  if test -n "$i" ; then
 1.49905 -+		    libname=`eval "\\$ECHO \"$libname_spec\""`
 1.49906 -+		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
 1.49907 -+		    set dummy $deplib_matches; shift
 1.49908 -+		    deplib_match=$1
 1.49909 -+		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
 1.49910 -+		      newdeplibs="$newdeplibs $i"
 1.49911 -+		    else
 1.49912 -+		      droppeddeps=yes
 1.49913 -+		      $ECHO
 1.49914 -+		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
 1.49915 -+		      $ECHO "*** I have the capability to make that library automatically link in when"
 1.49916 -+		      $ECHO "*** you link to this library.  But I can only do this if you have a"
 1.49917 -+		      $ECHO "*** shared version of the library, which you do not appear to have"
 1.49918 -+		      $ECHO "*** because a test_compile did reveal that the linker did not use this one"
 1.49919 -+		      $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
 1.49920 -+		    fi
 1.49921 -+		  fi
 1.49922 -+		else
 1.49923 -+		  droppeddeps=yes
 1.49924 -+		  $ECHO
 1.49925 -+		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
 1.49926 -+		  $ECHO "*** make it link in!  You will probably need to install it or some"
 1.49927 -+		  $ECHO "*** library that it depends on before this library will be fully"
 1.49928 -+		  $ECHO "*** functional.  Installing it before continuing would be even better."
 1.49929 -+		fi
 1.49930 -+	      else
 1.49931 -+		newdeplibs="$newdeplibs $i"
 1.49932 -+	      fi
 1.49933 -+	    done
 1.49934 -+	  fi
 1.49935 -+	  ;;
 1.49936 -+	file_magic*)
 1.49937 -+	  set dummy $deplibs_check_method; shift
 1.49938 -+	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
 1.49939 -+	  for a_deplib in $deplibs; do
 1.49940 -+	    name=`expr $a_deplib : '-l\(.*\)'`
 1.49941 -+	    # If $name is empty we are operating on a -L argument.
 1.49942 -+	    if test "$name" != "" && test  "$name" != "0"; then
 1.49943 -+	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 1.49944 -+		case " $predeps $postdeps " in
 1.49945 -+		*" $a_deplib "*)
 1.49946 -+		  newdeplibs="$newdeplibs $a_deplib"
 1.49947 -+		  a_deplib=""
 1.49948 -+		  ;;
 1.49949 -+		esac
 1.49950 -+	      fi
 1.49951 -+	      if test -n "$a_deplib" ; then
 1.49952 -+		libname=`eval "\\$ECHO \"$libname_spec\""`
 1.49953 -+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
 1.49954 -+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
 1.49955 -+		  for potent_lib in $potential_libs; do
 1.49956 -+		      # Follow soft links.
 1.49957 -+		      if ls -lLd "$potent_lib" 2>/dev/null |
 1.49958 -+			 $GREP " -> " >/dev/null; then
 1.49959 -+			continue
 1.49960 -+		      fi
 1.49961 -+		      # The statement above tries to avoid entering an
 1.49962 -+		      # endless loop below, in case of cyclic links.
 1.49963 -+		      # We might still enter an endless loop, since a link
 1.49964 -+		      # loop can be closed while we follow links,
 1.49965 -+		      # but so what?
 1.49966 -+		      potlib="$potent_lib"
 1.49967 -+		      while test -h "$potlib" 2>/dev/null; do
 1.49968 -+			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
 1.49969 -+			case $potliblink in
 1.49970 -+			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
 1.49971 -+			*) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
 1.49972 -+			esac
 1.49973 -+		      done
 1.49974 -+		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
 1.49975 -+			 $SED -e 10q |
 1.49976 -+			 $EGREP "$file_magic_regex" > /dev/null; then
 1.49977 -+			newdeplibs="$newdeplibs $a_deplib"
 1.49978 -+			a_deplib=""
 1.49979 -+			break 2
 1.49980 -+		      fi
 1.49981 -+		  done
 1.49982 -+		done
 1.49983 -+	      fi
 1.49984 -+	      if test -n "$a_deplib" ; then
 1.49985 -+		droppeddeps=yes
 1.49986 -+		$ECHO
 1.49987 -+		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
 1.49988 -+		$ECHO "*** I have the capability to make that library automatically link in when"
 1.49989 -+		$ECHO "*** you link to this library.  But I can only do this if you have a"
 1.49990 -+		$ECHO "*** shared version of the library, which you do not appear to have"
 1.49991 -+		$ECHO "*** because I did check the linker path looking for a file starting"
 1.49992 -+		if test -z "$potlib" ; then
 1.49993 -+		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
 1.49994 -+		else
 1.49995 -+		  $ECHO "*** with $libname and none of the candidates passed a file format test"
 1.49996 -+		  $ECHO "*** using a file magic. Last file checked: $potlib"
 1.49997 -+		fi
 1.49998 -+	      fi
 1.49999 -+	    else
 1.50000 -+	      # Add a -L argument.
 1.50001 -+	      newdeplibs="$newdeplibs $a_deplib"
 1.50002 -+	    fi
 1.50003 -+	  done # Gone through all deplibs.
 1.50004 -+	  ;;
 1.50005 -+	match_pattern*)
 1.50006 -+	  set dummy $deplibs_check_method; shift
 1.50007 -+	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
 1.50008 -+	  for a_deplib in $deplibs; do
 1.50009 -+	    name=`expr $a_deplib : '-l\(.*\)'`
 1.50010 -+	    # If $name is empty we are operating on a -L argument.
 1.50011 -+	    if test -n "$name" && test "$name" != "0"; then
 1.50012 -+	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 1.50013 -+		case " $predeps $postdeps " in
 1.50014 -+		*" $a_deplib "*)
 1.50015 -+		  newdeplibs="$newdeplibs $a_deplib"
 1.50016 -+		  a_deplib=""
 1.50017 -+		  ;;
 1.50018 -+		esac
 1.50019 -+	      fi
 1.50020 -+	      if test -n "$a_deplib" ; then
 1.50021 -+		libname=`eval "\\$ECHO \"$libname_spec\""`
 1.50022 -+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
 1.50023 -+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
 1.50024 -+		  for potent_lib in $potential_libs; do
 1.50025 -+		    potlib="$potent_lib" # see symlink-check above in file_magic test
 1.50026 -+		    if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
 1.50027 -+		       $EGREP "$match_pattern_regex" > /dev/null; then
 1.50028 -+		      newdeplibs="$newdeplibs $a_deplib"
 1.50029 -+		      a_deplib=""
 1.50030 -+		      break 2
 1.50031 -+		    fi
 1.50032 -+		  done
 1.50033 -+		done
 1.50034 -+	      fi
 1.50035 -+	      if test -n "$a_deplib" ; then
 1.50036 -+		droppeddeps=yes
 1.50037 -+		$ECHO
 1.50038 -+		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
 1.50039 -+		$ECHO "*** I have the capability to make that library automatically link in when"
 1.50040 -+		$ECHO "*** you link to this library.  But I can only do this if you have a"
 1.50041 -+		$ECHO "*** shared version of the library, which you do not appear to have"
 1.50042 -+		$ECHO "*** because I did check the linker path looking for a file starting"
 1.50043 -+		if test -z "$potlib" ; then
 1.50044 -+		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
 1.50045 -+		else
 1.50046 -+		  $ECHO "*** with $libname and none of the candidates passed a file format test"
 1.50047 -+		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
 1.50048 -+		fi
 1.50049 -+	      fi
 1.50050 -+	    else
 1.50051 -+	      # Add a -L argument.
 1.50052 -+	      newdeplibs="$newdeplibs $a_deplib"
 1.50053 -+	    fi
 1.50054 -+	  done # Gone through all deplibs.
 1.50055 -+	  ;;
 1.50056 -+	none | unknown | *)
 1.50057 -+	  newdeplibs=""
 1.50058 -+	  tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
 1.50059 -+	      -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
 1.50060 -+	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 1.50061 -+	    for i in $predeps $postdeps ; do
 1.50062 -+	      # can't use Xsed below, because $i might contain '/'
 1.50063 -+	      tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
 1.50064 -+	    done
 1.50065 -+	  fi
 1.50066 -+	  if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ 	]//g' |
 1.50067 -+	     $GREP . >/dev/null; then
 1.50068 -+	    $ECHO
 1.50069 -+	    if test "X$deplibs_check_method" = "Xnone"; then
 1.50070 -+	      $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
 1.50071 -+	    else
 1.50072 -+	      $ECHO "*** Warning: inter-library dependencies are not known to be supported."
 1.50073 -+	    fi
 1.50074 -+	    $ECHO "*** All declared inter-library dependencies are being dropped."
 1.50075 -+	    droppeddeps=yes
 1.50076 -+	  fi
 1.50077 -+	  ;;
 1.50078 -+	esac
 1.50079 -+	versuffix=$versuffix_save
 1.50080 -+	major=$major_save
 1.50081 -+	release=$release_save
 1.50082 -+	libname=$libname_save
 1.50083 -+	name=$name_save
 1.50084 -+
 1.50085 -+	case $host in
 1.50086 -+	*-*-rhapsody* | *-*-darwin1.[012])
 1.50087 -+	  # On Rhapsody replace the C library with the System framework
 1.50088 -+	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
 1.50089 -+	  ;;
 1.50090 -+	esac
 1.50091 -+
 1.50092 -+	if test "$droppeddeps" = yes; then
 1.50093 -+	  if test "$module" = yes; then
 1.50094 -+	    $ECHO
 1.50095 -+	    $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
 1.50096 -+	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
 1.50097 -+	    $ECHO "*** a static module, that should work as long as the dlopening"
 1.50098 -+	    $ECHO "*** application is linked with the -dlopen flag."
 1.50099 -+	    if test -z "$global_symbol_pipe"; then
 1.50100 -+	      $ECHO
 1.50101 -+	      $ECHO "*** However, this would only work if libtool was able to extract symbol"
 1.50102 -+	      $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
 1.50103 -+	      $ECHO "*** not find such a program.  So, this module is probably useless."
 1.50104 -+	      $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
 1.50105 -+	    fi
 1.50106 -+	    if test "$build_old_libs" = no; then
 1.50107 -+	      oldlibs="$output_objdir/$libname.$libext"
 1.50108 -+	      build_libtool_libs=module
 1.50109 -+	      build_old_libs=yes
 1.50110 -+	    else
 1.50111 -+	      build_libtool_libs=no
 1.50112 -+	    fi
 1.50113 -+	  else
 1.50114 -+	    $ECHO "*** The inter-library dependencies that have been dropped here will be"
 1.50115 -+	    $ECHO "*** automatically added whenever a program is linked with this library"
 1.50116 -+	    $ECHO "*** or is declared to -dlopen it."
 1.50117 -+
 1.50118 -+	    if test "$allow_undefined" = no; then
 1.50119 -+	      $ECHO
 1.50120 -+	      $ECHO "*** Since this library must not contain undefined symbols,"
 1.50121 -+	      $ECHO "*** because either the platform does not support them or"
 1.50122 -+	      $ECHO "*** it was explicitly requested with -no-undefined,"
 1.50123 -+	      $ECHO "*** libtool will only create a static version of it."
 1.50124 -+	      if test "$build_old_libs" = no; then
 1.50125 -+		oldlibs="$output_objdir/$libname.$libext"
 1.50126 -+		build_libtool_libs=module
 1.50127 -+		build_old_libs=yes
 1.50128 -+	      else
 1.50129 -+		build_libtool_libs=no
 1.50130 -+	      fi
 1.50131 -+	    fi
 1.50132 -+	  fi
 1.50133 -+	fi
 1.50134 -+	# Done checking deplibs!
 1.50135 -+	deplibs=$newdeplibs
 1.50136 -+      fi
 1.50137 -+      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
 1.50138 -+      case $host in
 1.50139 -+	*-*-darwin*)
 1.50140 -+	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
 1.50141 -+	  new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
 1.50142 -+	  deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
 1.50143 -+	  ;;
 1.50144 -+      esac
 1.50145 -+
 1.50146 -+      # move library search paths that coincide with paths to not yet
 1.50147 -+      # installed libraries to the beginning of the library search list
 1.50148 -+      new_libs=
 1.50149 -+      for path in $notinst_path; do
 1.50150 -+	case " $new_libs " in
 1.50151 -+	*" -L$path/$objdir "*) ;;
 1.50152 -+	*)
 1.50153 -+	  case " $deplibs " in
 1.50154 -+	  *" -L$path/$objdir "*)
 1.50155 -+	    new_libs="$new_libs -L$path/$objdir" ;;
 1.50156 -+	  esac
 1.50157 -+	  ;;
 1.50158 -+	esac
 1.50159 -+      done
 1.50160 -+      for deplib in $deplibs; do
 1.50161 -+	case $deplib in
 1.50162 -+	-L*)
 1.50163 -+	  case " $new_libs " in
 1.50164 -+	  *" $deplib "*) ;;
 1.50165 -+	  *) new_libs="$new_libs $deplib" ;;
 1.50166 -+	  esac
 1.50167 -+	  ;;
 1.50168 -+	*) new_libs="$new_libs $deplib" ;;
 1.50169 -+	esac
 1.50170 -+      done
 1.50171 -+      deplibs="$new_libs"
 1.50172 -+
 1.50173 -+      # All the library-specific variables (install_libdir is set above).
 1.50174 -+      library_names=
 1.50175 -+      old_library=
 1.50176 -+      dlname=
 1.50177 -+
 1.50178 -+      # Test again, we may have decided not to build it any more
 1.50179 -+      if test "$build_libtool_libs" = yes; then
 1.50180 -+	if test "$hardcode_into_libs" = yes; then
 1.50181 -+	  # Hardcode the library paths
 1.50182 -+	  hardcode_libdirs=
 1.50183 -+	  dep_rpath=
 1.50184 -+	  rpath="$finalize_rpath"
 1.50185 -+	  test "$mode" != relink && rpath="$compile_rpath$rpath"
 1.50186 -+	  for libdir in $rpath; do
 1.50187 -+	    if test -n "$hardcode_libdir_flag_spec"; then
 1.50188 -+	      if test -n "$hardcode_libdir_separator"; then
 1.50189 -+		if test -z "$hardcode_libdirs"; then
 1.50190 -+		  hardcode_libdirs="$libdir"
 1.50191 -+		else
 1.50192 -+		  # Just accumulate the unique libdirs.
 1.50193 -+		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
 1.50194 -+		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
 1.50195 -+		    ;;
 1.50196 -+		  *)
 1.50197 -+		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
 1.50198 -+		    ;;
 1.50199 -+		  esac
 1.50200 -+		fi
 1.50201 -+	      else
 1.50202 -+		eval flag=\"$hardcode_libdir_flag_spec\"
 1.50203 -+		dep_rpath="$dep_rpath $flag"
 1.50204 -+	      fi
 1.50205 -+	    elif test -n "$runpath_var"; then
 1.50206 -+	      case "$perm_rpath " in
 1.50207 -+	      *" $libdir "*) ;;
 1.50208 -+	      *) perm_rpath="$perm_rpath $libdir" ;;
 1.50209 -+	      esac
 1.50210 -+	    fi
 1.50211 -+	  done
 1.50212 -+	  # Substitute the hardcoded libdirs into the rpath.
 1.50213 -+	  if test -n "$hardcode_libdir_separator" &&
 1.50214 -+	     test -n "$hardcode_libdirs"; then
 1.50215 -+	    libdir="$hardcode_libdirs"
 1.50216 -+	    if test -n "$hardcode_libdir_flag_spec_ld"; then
 1.50217 -+	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
 1.50218 -+	    else
 1.50219 -+	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
 1.50220 -+	    fi
 1.50221 -+	  fi
 1.50222 -+	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
 1.50223 -+	    # We should set the runpath_var.
 1.50224 -+	    rpath=
 1.50225 -+	    for dir in $perm_rpath; do
 1.50226 -+	      rpath="$rpath$dir:"
 1.50227 -+	    done
 1.50228 -+	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
 1.50229 -+	  fi
 1.50230 -+	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
 1.50231 -+	fi
 1.50232 -+
 1.50233 -+	shlibpath="$finalize_shlibpath"
 1.50234 -+	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
 1.50235 -+	if test -n "$shlibpath"; then
 1.50236 -+	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
 1.50237 -+	fi
 1.50238 -+
 1.50239 -+	# Get the real and link names of the library.
 1.50240 -+	eval shared_ext=\"$shrext_cmds\"
 1.50241 -+	eval library_names=\"$library_names_spec\"
 1.50242 -+	set dummy $library_names
 1.50243 -+	shift
 1.50244 -+	realname="$1"
 1.50245 -+	shift
 1.50246 -+
 1.50247 -+	if test -n "$soname_spec"; then
 1.50248 -+	  eval soname=\"$soname_spec\"
 1.50249 -+	else
 1.50250 -+	  soname="$realname"
 1.50251 -+	fi
 1.50252 -+	if test -z "$dlname"; then
 1.50253 -+	  dlname=$soname
 1.50254 -+	fi
 1.50255 -+
 1.50256 -+	lib="$output_objdir/$realname"
 1.50257 -+	linknames=
 1.50258 -+	for link
 1.50259 -+	do
 1.50260 -+	  linknames="$linknames $link"
 1.50261 -+	done
 1.50262 -+
 1.50263 -+	# Use standard objects if they are pic
 1.50264 -+	test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
 1.50265 -+	test "X$libobjs" = "X " && libobjs=
 1.50266 -+
 1.50267 -+	delfiles=
 1.50268 -+	if test -n "$export_symbols" && test -n "$include_expsyms"; then
 1.50269 -+	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
 1.50270 -+	  export_symbols="$output_objdir/$libname.uexp"
 1.50271 -+	  delfiles="$delfiles $export_symbols"
 1.50272 -+	fi
 1.50273 -+
 1.50274 -+	orig_export_symbols=
 1.50275 -+	case $host_os in
 1.50276 -+	cygwin* | mingw*)
 1.50277 -+	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
 1.50278 -+	    # exporting using user supplied symfile
 1.50279 -+	    if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
 1.50280 -+	      # and it's NOT already a .def file. Must figure out
 1.50281 -+	      # which of the given symbols are data symbols and tag
 1.50282 -+	      # them as such. So, trigger use of export_symbols_cmds.
 1.50283 -+	      # export_symbols gets reassigned inside the "prepare
 1.50284 -+	      # the list of exported symbols" if statement, so the
 1.50285 -+	      # include_expsyms logic still works.
 1.50286 -+	      orig_export_symbols="$export_symbols"
 1.50287 -+	      export_symbols=
 1.50288 -+	      always_export_symbols=yes
 1.50289 -+	    fi
 1.50290 -+	  fi
 1.50291 -+	  ;;
 1.50292 -+	esac
 1.50293 -+
 1.50294 -+	# Prepare the list of exported symbols
 1.50295 -+	if test -z "$export_symbols"; then
 1.50296 -+	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
 1.50297 -+	    func_echo "generating symbol list for \`$libname.la'"
 1.50298 -+	    export_symbols="$output_objdir/$libname.exp"
 1.50299 -+	    $opt_dry_run || $RM $export_symbols
 1.50300 -+	    cmds=$export_symbols_cmds
 1.50301 -+	    save_ifs="$IFS"; IFS='~'
 1.50302 -+	    for cmd in $cmds; do
 1.50303 -+	      IFS="$save_ifs"
 1.50304 -+	      eval cmd=\"$cmd\"
 1.50305 -+	      if len=`expr "X$cmd" : ".*"` &&
 1.50306 -+	       test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
 1.50307 -+		func_show_eval "$cmd" 'exit $?'
 1.50308 -+		skipped_export=false
 1.50309 -+	      else
 1.50310 -+		# The command line is too long to execute in one step.
 1.50311 -+		func_echo "using reloadable object file for export list..."
 1.50312 -+		skipped_export=:
 1.50313 -+		# Break out early, otherwise skipped_export may be
 1.50314 -+		# set to false by a later but shorter cmd.
 1.50315 -+		break
 1.50316 -+	      fi
 1.50317 -+	    done
 1.50318 -+	    IFS="$save_ifs"
 1.50319 -+	    if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
 1.50320 -+	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
 1.50321 -+	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
 1.50322 -+	    fi
 1.50323 -+	  fi
 1.50324 -+	fi
 1.50325 -+
 1.50326 -+	if test -n "$export_symbols" && test -n "$include_expsyms"; then
 1.50327 -+	  tmp_export_symbols="$export_symbols"
 1.50328 -+	  test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
 1.50329 -+	  $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
 1.50330 -+	fi
 1.50331 -+
 1.50332 -+	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
 1.50333 -+	  # The given exports_symbols file has to be filtered, so filter it.
 1.50334 -+	  func_echo "filter symbol list for \`$libname.la' to tag DATA exports"
 1.50335 -+	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
 1.50336 -+	  # 's' commands which not all seds can handle. GNU sed should be fine
 1.50337 -+	  # though. Also, the filter scales superlinearly with the number of
 1.50338 -+	  # global variables. join(1) would be nice here, but unfortunately
 1.50339 -+	  # isn't a blessed tool.
 1.50340 -+	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
 1.50341 -+	  delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
 1.50342 -+	  export_symbols=$output_objdir/$libname.def
 1.50343 -+	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
 1.50344 -+	fi
 1.50345 -+
 1.50346 -+	tmp_deplibs=
 1.50347 -+	for test_deplib in $deplibs; do
 1.50348 -+	  case " $convenience " in
 1.50349 -+	  *" $test_deplib "*) ;;
 1.50350 -+	  *)
 1.50351 -+	    tmp_deplibs="$tmp_deplibs $test_deplib"
 1.50352 -+	    ;;
 1.50353 -+	  esac
 1.50354 -+	done
 1.50355 -+	deplibs="$tmp_deplibs"
 1.50356 -+
 1.50357 -+	if test -n "$convenience"; then
 1.50358 -+	  if test -n "$whole_archive_flag_spec" &&
 1.50359 -+	    test "$compiler_needs_object" = yes &&
 1.50360 -+	    test -z "$libobjs"; then
 1.50361 -+	    # extract the archives, so we have objects to list.
 1.50362 -+	    # TODO: could optimize this to just extract one archive.
 1.50363 -+	    whole_archive_flag_spec=
 1.50364 -+	  fi
 1.50365 -+	  if test -n "$whole_archive_flag_spec"; then
 1.50366 -+	    save_libobjs=$libobjs
 1.50367 -+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
 1.50368 -+	    test "X$libobjs" = "X " && libobjs=
 1.50369 -+	  else
 1.50370 -+	    gentop="$output_objdir/${outputname}x"
 1.50371 -+	    generated="$generated $gentop"
 1.50372 -+
 1.50373 -+	    func_extract_archives $gentop $convenience
 1.50374 -+	    libobjs="$libobjs $func_extract_archives_result"
 1.50375 -+	    test "X$libobjs" = "X " && libobjs=
 1.50376 -+	  fi
 1.50377 -+	fi
 1.50378 -+
 1.50379 -+	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
 1.50380 -+	  eval flag=\"$thread_safe_flag_spec\"
 1.50381 -+	  linker_flags="$linker_flags $flag"
 1.50382 -+	fi
 1.50383 -+
 1.50384 -+	# Make a backup of the uninstalled library when relinking
 1.50385 -+	if test "$mode" = relink; then
 1.50386 -+	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
 1.50387 -+	fi
 1.50388 -+
 1.50389 -+	# Do each of the archive commands.
 1.50390 -+	if test "$module" = yes && test -n "$module_cmds" ; then
 1.50391 -+	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
 1.50392 -+	    eval test_cmds=\"$module_expsym_cmds\"
 1.50393 -+	    cmds=$module_expsym_cmds
 1.50394 -+	  else
 1.50395 -+	    eval test_cmds=\"$module_cmds\"
 1.50396 -+	    cmds=$module_cmds
 1.50397 -+	  fi
 1.50398 -+	else
 1.50399 -+	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
 1.50400 -+	    eval test_cmds=\"$archive_expsym_cmds\"
 1.50401 -+	    cmds=$archive_expsym_cmds
 1.50402 -+	  else
 1.50403 -+	    eval test_cmds=\"$archive_cmds\"
 1.50404 -+	    cmds=$archive_cmds
 1.50405 -+	  fi
 1.50406 -+	fi
 1.50407 -+
 1.50408 -+	if test "X$skipped_export" != "X:" &&
 1.50409 -+	   len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
 1.50410 -+	   test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
 1.50411 -+	  :
 1.50412 -+	else
 1.50413 -+	  # The command line is too long to link in one step, link piecewise
 1.50414 -+	  # or, if using GNU ld and skipped_export is not :, use a linker
 1.50415 -+	  # script.
 1.50416 -+
 1.50417 -+	  # Save the value of $output and $libobjs because we want to
 1.50418 -+	  # use them later.  If we have whole_archive_flag_spec, we
 1.50419 -+	  # want to use save_libobjs as it was before
 1.50420 -+	  # whole_archive_flag_spec was expanded, because we can't
 1.50421 -+	  # assume the linker understands whole_archive_flag_spec.
 1.50422 -+	  # This may have to be revisited, in case too many
 1.50423 -+	  # convenience libraries get linked in and end up exceeding
 1.50424 -+	  # the spec.
 1.50425 -+	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
 1.50426 -+	    save_libobjs=$libobjs
 1.50427 -+	  fi
 1.50428 -+	  save_output=$output
 1.50429 -+	  output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
 1.50430 -+
 1.50431 -+	  # Clear the reloadable object creation command queue and
 1.50432 -+	  # initialize k to one.
 1.50433 -+	  test_cmds=
 1.50434 -+	  concat_cmds=
 1.50435 -+	  objlist=
 1.50436 -+	  last_robj=
 1.50437 -+	  k=1
 1.50438 -+
 1.50439 -+	  if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
 1.50440 -+	    output=${output_objdir}/${output_la}.lnkscript
 1.50441 -+	    func_echo "creating GNU ld script: $output"
 1.50442 -+	    $ECHO 'INPUT (' > $output
 1.50443 -+	    for obj in $save_libobjs
 1.50444 -+	    do
 1.50445 -+	      $ECHO "$obj" >> $output
 1.50446 -+	    done
 1.50447 -+	    $ECHO ')' >> $output
 1.50448 -+	    delfiles="$delfiles $output"
 1.50449 -+	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
 1.50450 -+	    output=${output_objdir}/${output_la}.lnk
 1.50451 -+	    func_echo "creating linker input file list: $output"
 1.50452 -+	    : > $output
 1.50453 -+	    set x $save_libobjs
 1.50454 -+	    shift
 1.50455 -+	    firstobj=
 1.50456 -+	    if test "$compiler_needs_object" = yes; then
 1.50457 -+	      firstobj="$1 "
 1.50458 -+	      shift
 1.50459 -+	    fi
 1.50460 -+	    for obj
 1.50461 -+	    do
 1.50462 -+	      $ECHO "$obj" >> $output
 1.50463 -+	    done
 1.50464 -+	    delfiles="$delfiles $output"
 1.50465 -+	    output=$firstobj\"$file_list_spec$output\"
 1.50466 -+	  else
 1.50467 -+	    if test -n "$save_libobjs"; then
 1.50468 -+	      func_echo "creating reloadable object files..."
 1.50469 -+	      output=$output_objdir/$output_la-${k}.$objext
 1.50470 -+	      # Loop over the list of objects to be linked.
 1.50471 -+	      for obj in $save_libobjs
 1.50472 -+	      do
 1.50473 -+		eval test_cmds=\"$reload_cmds $objlist $last_robj\"
 1.50474 -+		if test "X$objlist" = X ||
 1.50475 -+		   { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
 1.50476 -+		     test "$len" -le "$max_cmd_len"; }; then
 1.50477 -+		  objlist="$objlist $obj"
 1.50478 -+		else
 1.50479 -+		  # The command $test_cmds is almost too long, add a
 1.50480 -+		  # command to the queue.
 1.50481 -+		  if test "$k" -eq 1 ; then
 1.50482 -+		    # The first file doesn't have a previous command to add.
 1.50483 -+		    eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
 1.50484 -+		  else
 1.50485 -+		    # All subsequent reloadable object files will link in
 1.50486 -+		    # the last one created.
 1.50487 -+		    eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
 1.50488 -+		  fi
 1.50489 -+		  last_robj=$output_objdir/$output_la-${k}.$objext
 1.50490 -+		  k=`expr $k + 1`
 1.50491 -+		  output=$output_objdir/$output_la-${k}.$objext
 1.50492 -+		  objlist=$obj
 1.50493 -+		  len=1
 1.50494 -+		fi
 1.50495 -+	      done
 1.50496 -+	      # Handle the remaining objects by creating one last
 1.50497 -+	      # reloadable object file.  All subsequent reloadable object
 1.50498 -+	      # files will link in the last one created.
 1.50499 -+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
 1.50500 -+	      eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
 1.50501 -+
 1.50502 -+	      # Set up a command to remove the reloadable object files
 1.50503 -+	      # after they are used.
 1.50504 -+	      i=0
 1.50505 -+	      while test "$i" -lt "$k"
 1.50506 -+	      do
 1.50507 -+		i=`expr $i + 1`
 1.50508 -+		delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
 1.50509 -+	      done
 1.50510 -+	    else
 1.50511 -+	      output=
 1.50512 -+	    fi
 1.50513 -+
 1.50514 -+	    if ${skipped_export-false}; then
 1.50515 -+	      func_echo "generating symbol list for \`$libname.la'"
 1.50516 -+	      export_symbols="$output_objdir/$libname.exp"
 1.50517 -+	      $opt_dry_run || $RM $export_symbols
 1.50518 -+	      libobjs=$output
 1.50519 -+	      # Append the command to create the export file.
 1.50520 -+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
 1.50521 -+	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
 1.50522 -+	    fi
 1.50523 -+
 1.50524 -+	    test -n "$save_libobjs" &&
 1.50525 -+	      func_echo "creating a temporary reloadable object file: $output"
 1.50526 -+
 1.50527 -+	    # Loop through the commands generated above and execute them.
 1.50528 -+	    save_ifs="$IFS"; IFS='~'
 1.50529 -+	    for cmd in $concat_cmds; do
 1.50530 -+	      IFS="$save_ifs"
 1.50531 -+	      $opt_silent || {
 1.50532 -+		  func_quote_for_expand "$cmd"
 1.50533 -+		  eval "func_echo $func_quote_for_expand_result"
 1.50534 -+	      }
 1.50535 -+	      $opt_dry_run || eval "$cmd" || {
 1.50536 -+		lt_exit=$?
 1.50537 -+
 1.50538 -+		# Restore the uninstalled library and exit
 1.50539 -+		if test "$mode" = relink; then
 1.50540 -+		  ( cd "$output_objdir" && \
 1.50541 -+		    $RM "${realname}T" && \
 1.50542 -+		    $MV "${realname}U" "$realname" )
 1.50543 -+		fi
 1.50544 -+
 1.50545 -+		exit $lt_exit
 1.50546 -+	      }
 1.50547 -+	    done
 1.50548 -+	    IFS="$save_ifs"
 1.50549 -+
 1.50550 -+	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
 1.50551 -+	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
 1.50552 -+	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
 1.50553 -+	    fi
 1.50554 -+	  fi
 1.50555 -+
 1.50556 -+          if ${skipped_export-false}; then
 1.50557 -+	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
 1.50558 -+	      tmp_export_symbols="$export_symbols"
 1.50559 -+	      test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
 1.50560 -+	      $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
 1.50561 -+	    fi
 1.50562 -+
 1.50563 -+	    if test -n "$orig_export_symbols"; then
 1.50564 -+	      # The given exports_symbols file has to be filtered, so filter it.
 1.50565 -+	      func_echo "filter symbol list for \`$libname.la' to tag DATA exports"
 1.50566 -+	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
 1.50567 -+	      # 's' commands which not all seds can handle. GNU sed should be fine
 1.50568 -+	      # though. Also, the filter scales superlinearly with the number of
 1.50569 -+	      # global variables. join(1) would be nice here, but unfortunately
 1.50570 -+	      # isn't a blessed tool.
 1.50571 -+	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
 1.50572 -+	      delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
 1.50573 -+	      export_symbols=$output_objdir/$libname.def
 1.50574 -+	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
 1.50575 -+	    fi
 1.50576 -+	  fi
 1.50577 -+
 1.50578 -+	  libobjs=$output
 1.50579 -+	  # Restore the value of output.
 1.50580 -+	  output=$save_output
 1.50581 -+
 1.50582 -+	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
 1.50583 -+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
 1.50584 -+	    test "X$libobjs" = "X " && libobjs=
 1.50585 -+	  fi
 1.50586 -+	  # Expand the library linking commands again to reset the
 1.50587 -+	  # value of $libobjs for piecewise linking.
 1.50588 -+
 1.50589 -+	  # Do each of the archive commands.
 1.50590 -+	  if test "$module" = yes && test -n "$module_cmds" ; then
 1.50591 -+	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
 1.50592 -+	      cmds=$module_expsym_cmds
 1.50593 -+	    else
 1.50594 -+	      cmds=$module_cmds
 1.50595 -+	    fi
 1.50596 -+	  else
 1.50597 -+	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
 1.50598 -+	      cmds=$archive_expsym_cmds
 1.50599 -+	    else
 1.50600 -+	      cmds=$archive_cmds
 1.50601 -+	    fi
 1.50602 -+	  fi
 1.50603 -+	fi
 1.50604 -+
 1.50605 -+	if test -n "$delfiles"; then
 1.50606 -+	  # Append the command to remove temporary files to $cmds.
 1.50607 -+	  eval cmds=\"\$cmds~\$RM $delfiles\"
 1.50608 -+	fi
 1.50609 -+
 1.50610 -+	# Add any objects from preloaded convenience libraries
 1.50611 -+	if test -n "$dlprefiles"; then
 1.50612 -+	  gentop="$output_objdir/${outputname}x"
 1.50613 -+	  generated="$generated $gentop"
 1.50614 -+
 1.50615 -+	  func_extract_archives $gentop $dlprefiles
 1.50616 -+	  libobjs="$libobjs $func_extract_archives_result"
 1.50617 -+	  test "X$libobjs" = "X " && libobjs=
 1.50618 -+	fi
 1.50619 -+
 1.50620 -+	save_ifs="$IFS"; IFS='~'
 1.50621 -+	for cmd in $cmds; do
 1.50622 -+	  IFS="$save_ifs"
 1.50623 -+	  eval cmd=\"$cmd\"
 1.50624 -+	  $opt_silent || {
 1.50625 -+	    func_quote_for_expand "$cmd"
 1.50626 -+	    eval "func_echo $func_quote_for_expand_result"
 1.50627 -+	  }
 1.50628 -+	  $opt_dry_run || eval "$cmd" || {
 1.50629 -+	    lt_exit=$?
 1.50630 -+
 1.50631 -+	    # Restore the uninstalled library and exit
 1.50632 -+	    if test "$mode" = relink; then
 1.50633 -+	      ( cd "$output_objdir" && \
 1.50634 -+	        $RM "${realname}T" && \
 1.50635 -+		$MV "${realname}U" "$realname" )
 1.50636 -+	    fi
 1.50637 -+
 1.50638 -+	    exit $lt_exit
 1.50639 -+	  }
 1.50640 -+	done
 1.50641 -+	IFS="$save_ifs"
 1.50642 -+
 1.50643 -+	# Restore the uninstalled library and exit
 1.50644 -+	if test "$mode" = relink; then
 1.50645 -+	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
 1.50646 -+
 1.50647 -+	  if test -n "$convenience"; then
 1.50648 -+	    if test -z "$whole_archive_flag_spec"; then
 1.50649 -+	      func_show_eval '${RM}r "$gentop"'
 1.50650 -+	    fi
 1.50651 -+	  fi
 1.50652 -+
 1.50653 -+	  exit $EXIT_SUCCESS
 1.50654 -+	fi
 1.50655 -+
 1.50656 -+	# Create links to the real library.
 1.50657 -+	for linkname in $linknames; do
 1.50658 -+	  if test "$realname" != "$linkname"; then
 1.50659 -+	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
 1.50660 -+	  fi
 1.50661 -+	done
 1.50662 -+
 1.50663 -+	# If -module or -export-dynamic was specified, set the dlname.
 1.50664 -+	if test "$module" = yes || test "$export_dynamic" = yes; then
 1.50665 -+	  # On all known operating systems, these are identical.
 1.50666 -+	  dlname="$soname"
 1.50667 -+	fi
 1.50668 -+      fi
 1.50669 -+      ;;
 1.50670 -+
 1.50671 -+    obj)
 1.50672 -+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
 1.50673 -+	func_warning "\`-dlopen' is ignored for objects"
 1.50674 -+      fi
 1.50675 -+
 1.50676 -+      test -n "$deplibs" && \
 1.50677 -+	func_warning "\`-l' and \`-L' are ignored for objects"
 1.50678 -+
 1.50679 -+      test -n "$rpath" && \
 1.50680 -+	func_warning "\`-rpath' is ignored for objects"
 1.50681 -+
 1.50682 -+      test -n "$xrpath" && \
 1.50683 -+	func_warning "\`-R' is ignored for objects"
 1.50684 -+
 1.50685 -+      test -n "$vinfo" && \
 1.50686 -+	func_warning "\`-version-info' is ignored for objects"
 1.50687 -+
 1.50688 -+      test -n "$release" && \
 1.50689 -+	func_warning "\`-release' is ignored for objects"
 1.50690 -+
 1.50691 -+      case $output in
 1.50692 -+      *.lo)
 1.50693 -+	test -n "$objs$old_deplibs" && \
 1.50694 -+	  func_fatal_error "cannot build library object \`$output' from non-libtool objects"
 1.50695 -+
 1.50696 -+	libobj=$output
 1.50697 -+	func_lo2o "$libobj"
 1.50698 -+	obj=$func_lo2o_result
 1.50699 -+	;;
 1.50700 -+      *)
 1.50701 -+	libobj=
 1.50702 -+	obj="$output"
 1.50703 -+	;;
 1.50704 -+      esac
 1.50705 -+
 1.50706 -+      # Delete the old objects.
 1.50707 -+      $opt_dry_run || $RM $obj $libobj
 1.50708 -+
 1.50709 -+      # Objects from convenience libraries.  This assumes
 1.50710 -+      # single-version convenience libraries.  Whenever we create
 1.50711 -+      # different ones for PIC/non-PIC, this we'll have to duplicate
 1.50712 -+      # the extraction.
 1.50713 -+      reload_conv_objs=
 1.50714 -+      gentop=
 1.50715 -+      # reload_cmds runs $LD directly, so let us get rid of
 1.50716 -+      # -Wl from whole_archive_flag_spec and hope we can get by with
 1.50717 -+      # turning comma into space..
 1.50718 -+      wl=
 1.50719 -+
 1.50720 -+      if test -n "$convenience"; then
 1.50721 -+	if test -n "$whole_archive_flag_spec"; then
 1.50722 -+	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
 1.50723 -+	  reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
 1.50724 -+	else
 1.50725 -+	  gentop="$output_objdir/${obj}x"
 1.50726 -+	  generated="$generated $gentop"
 1.50727 -+
 1.50728 -+	  func_extract_archives $gentop $convenience
 1.50729 -+	  reload_conv_objs="$reload_objs $func_extract_archives_result"
 1.50730 -+	fi
 1.50731 -+      fi
 1.50732 -+
 1.50733 -+      # Create the old-style object.
 1.50734 -+      reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
 1.50735 -+
 1.50736 -+      output="$obj"
 1.50737 -+      func_execute_cmds "$reload_cmds" 'exit $?'
 1.50738 -+
 1.50739 -+      # Exit if we aren't doing a library object file.
 1.50740 -+      if test -z "$libobj"; then
 1.50741 -+	if test -n "$gentop"; then
 1.50742 -+	  func_show_eval '${RM}r "$gentop"'
 1.50743 -+	fi
 1.50744 -+
 1.50745 -+	exit $EXIT_SUCCESS
 1.50746 -+      fi
 1.50747 -+
 1.50748 -+      if test "$build_libtool_libs" != yes; then
 1.50749 -+	if test -n "$gentop"; then
 1.50750 -+	  func_show_eval '${RM}r "$gentop"'
 1.50751 -+	fi
 1.50752 -+
 1.50753 -+	# Create an invalid libtool object if no PIC, so that we don't
 1.50754 -+	# accidentally link it into a program.
 1.50755 -+	# $show "echo timestamp > $libobj"
 1.50756 -+	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
 1.50757 -+	exit $EXIT_SUCCESS
 1.50758 -+      fi
 1.50759 -+
 1.50760 -+      if test -n "$pic_flag" || test "$pic_mode" != default; then
 1.50761 -+	# Only do commands if we really have different PIC objects.
 1.50762 -+	reload_objs="$libobjs $reload_conv_objs"
 1.50763 -+	output="$libobj"
 1.50764 -+	func_execute_cmds "$reload_cmds" 'exit $?'
 1.50765 -+      fi
 1.50766 -+
 1.50767 -+      if test -n "$gentop"; then
 1.50768 -+	func_show_eval '${RM}r "$gentop"'
 1.50769 -+      fi
 1.50770 -+
 1.50771 -+      exit $EXIT_SUCCESS
 1.50772 -+      ;;
 1.50773 -+
 1.50774 -+    prog)
 1.50775 -+      case $host in
 1.50776 -+	*cygwin*) func_stripname '' '.exe' "$output"
 1.50777 -+	          output=$func_stripname_result.exe;;
 1.50778 -+      esac
 1.50779 -+      test -n "$vinfo" && \
 1.50780 -+	func_warning "\`-version-info' is ignored for programs"
 1.50781 -+
 1.50782 -+      test -n "$release" && \
 1.50783 -+	func_warning "\`-release' is ignored for programs"
 1.50784 -+
 1.50785 -+      test "$preload" = yes \
 1.50786 -+        && test "$dlopen_support" = unknown \
 1.50787 -+	&& test "$dlopen_self" = unknown \
 1.50788 -+	&& test "$dlopen_self_static" = unknown && \
 1.50789 -+	  func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
 1.50790 -+
 1.50791 -+      case $host in
 1.50792 -+      *-*-rhapsody* | *-*-darwin1.[012])
 1.50793 -+	# On Rhapsody replace the C library is the System framework
 1.50794 -+	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
 1.50795 -+	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
 1.50796 -+	;;
 1.50797 -+      esac
 1.50798 -+
 1.50799 -+      case $host in
 1.50800 -+      *-*-darwin*)
 1.50801 -+	# Don't allow lazy linking, it breaks C++ global constructors
 1.50802 -+	# But is supposedly fixed on 10.4 or later (yay!).
 1.50803 -+	if test "$tagname" = CXX ; then
 1.50804 -+	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
 1.50805 -+	    10.[0123])
 1.50806 -+	      compile_command="$compile_command ${wl}-bind_at_load"
 1.50807 -+	      finalize_command="$finalize_command ${wl}-bind_at_load"
 1.50808 -+	    ;;
 1.50809 -+	  esac
 1.50810 -+	fi
 1.50811 -+	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
 1.50812 -+	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
 1.50813 -+	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
 1.50814 -+	;;
 1.50815 -+      esac
 1.50816 -+
 1.50817 -+
 1.50818 -+      # move library search paths that coincide with paths to not yet
 1.50819 -+      # installed libraries to the beginning of the library search list
 1.50820 -+      new_libs=
 1.50821 -+      for path in $notinst_path; do
 1.50822 -+	case " $new_libs " in
 1.50823 -+	*" -L$path/$objdir "*) ;;
 1.50824 -+	*)
 1.50825 -+	  case " $compile_deplibs " in
 1.50826 -+	  *" -L$path/$objdir "*)
 1.50827 -+	    new_libs="$new_libs -L$path/$objdir" ;;
 1.50828 -+	  esac
 1.50829 -+	  ;;
 1.50830 -+	esac
 1.50831 -+      done
 1.50832 -+      for deplib in $compile_deplibs; do
 1.50833 -+	case $deplib in
 1.50834 -+	-L*)
 1.50835 -+	  case " $new_libs " in
 1.50836 -+	  *" $deplib "*) ;;
 1.50837 -+	  *) new_libs="$new_libs $deplib" ;;
 1.50838 -+	  esac
 1.50839 -+	  ;;
 1.50840 -+	*) new_libs="$new_libs $deplib" ;;
 1.50841 -+	esac
 1.50842 -+      done
 1.50843 -+      compile_deplibs="$new_libs"
 1.50844 -+
 1.50845 -+
 1.50846 -+      compile_command="$compile_command $compile_deplibs"
 1.50847 -+      finalize_command="$finalize_command $finalize_deplibs"
 1.50848 -+
 1.50849 -+      if test -n "$rpath$xrpath"; then
 1.50850 -+	# If the user specified any rpath flags, then add them.
 1.50851 -+	for libdir in $rpath $xrpath; do
 1.50852 -+	  # This is the magic to use -rpath.
 1.50853 -+	  case "$finalize_rpath " in
 1.50854 -+	  *" $libdir "*) ;;
 1.50855 -+	  *) finalize_rpath="$finalize_rpath $libdir" ;;
 1.50856 -+	  esac
 1.50857 -+	done
 1.50858 -+      fi
 1.50859 -+
 1.50860 -+      # Now hardcode the library paths
 1.50861 -+      rpath=
 1.50862 -+      hardcode_libdirs=
 1.50863 -+      for libdir in $compile_rpath $finalize_rpath; do
 1.50864 -+	if test -n "$hardcode_libdir_flag_spec"; then
 1.50865 -+	  if test -n "$hardcode_libdir_separator"; then
 1.50866 -+	    if test -z "$hardcode_libdirs"; then
 1.50867 -+	      hardcode_libdirs="$libdir"
 1.50868 -+	    else
 1.50869 -+	      # Just accumulate the unique libdirs.
 1.50870 -+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
 1.50871 -+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
 1.50872 -+		;;
 1.50873 -+	      *)
 1.50874 -+		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
 1.50875 -+		;;
 1.50876 -+	      esac
 1.50877 -+	    fi
 1.50878 -+	  else
 1.50879 -+	    eval flag=\"$hardcode_libdir_flag_spec\"
 1.50880 -+	    rpath="$rpath $flag"
 1.50881 -+	  fi
 1.50882 -+	elif test -n "$runpath_var"; then
 1.50883 -+	  case "$perm_rpath " in
 1.50884 -+	  *" $libdir "*) ;;
 1.50885 -+	  *) perm_rpath="$perm_rpath $libdir" ;;
 1.50886 -+	  esac
 1.50887 -+	fi
 1.50888 -+	case $host in
 1.50889 -+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
 1.50890 -+	  testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
 1.50891 -+	  case :$dllsearchpath: in
 1.50892 -+	  *":$libdir:"*) ;;
 1.50893 -+	  *) dllsearchpath="$dllsearchpath:$libdir";;
 1.50894 -+	  esac
 1.50895 -+	  case :$dllsearchpath: in
 1.50896 -+	  *":$testbindir:"*) ;;
 1.50897 -+	  *) dllsearchpath="$dllsearchpath:$testbindir";;
 1.50898 -+	  esac
 1.50899 -+	  ;;
 1.50900 -+	esac
 1.50901 -+      done
 1.50902 -+      # Substitute the hardcoded libdirs into the rpath.
 1.50903 -+      if test -n "$hardcode_libdir_separator" &&
 1.50904 -+	 test -n "$hardcode_libdirs"; then
 1.50905 -+	libdir="$hardcode_libdirs"
 1.50906 -+	eval rpath=\" $hardcode_libdir_flag_spec\"
 1.50907 -+      fi
 1.50908 -+      compile_rpath="$rpath"
 1.50909 -+
 1.50910 -+      rpath=
 1.50911 -+      hardcode_libdirs=
 1.50912 -+      for libdir in $finalize_rpath; do
 1.50913 -+	if test -n "$hardcode_libdir_flag_spec"; then
 1.50914 -+	  if test -n "$hardcode_libdir_separator"; then
 1.50915 -+	    if test -z "$hardcode_libdirs"; then
 1.50916 -+	      hardcode_libdirs="$libdir"
 1.50917 -+	    else
 1.50918 -+	      # Just accumulate the unique libdirs.
 1.50919 -+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
 1.50920 -+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
 1.50921 -+		;;
 1.50922 -+	      *)
 1.50923 -+		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
 1.50924 -+		;;
 1.50925 -+	      esac
 1.50926 -+	    fi
 1.50927 -+	  else
 1.50928 -+	    eval flag=\"$hardcode_libdir_flag_spec\"
 1.50929 -+	    rpath="$rpath $flag"
 1.50930 -+	  fi
 1.50931 -+	elif test -n "$runpath_var"; then
 1.50932 -+	  case "$finalize_perm_rpath " in
 1.50933 -+	  *" $libdir "*) ;;
 1.50934 -+	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
 1.50935 -+	  esac
 1.50936 -+	fi
 1.50937 -+      done
 1.50938 -+      # Substitute the hardcoded libdirs into the rpath.
 1.50939 -+      if test -n "$hardcode_libdir_separator" &&
 1.50940 -+	 test -n "$hardcode_libdirs"; then
 1.50941 -+	libdir="$hardcode_libdirs"
 1.50942 -+	eval rpath=\" $hardcode_libdir_flag_spec\"
 1.50943 -+      fi
 1.50944 -+      finalize_rpath="$rpath"
 1.50945 -+
 1.50946 -+      if test -n "$libobjs" && test "$build_old_libs" = yes; then
 1.50947 -+	# Transform all the library objects into standard objects.
 1.50948 -+	compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
 1.50949 -+	finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
 1.50950 -+      fi
 1.50951 -+
 1.50952 -+      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
 1.50953 -+
 1.50954 -+      # template prelinking step
 1.50955 -+      if test -n "$prelink_cmds"; then
 1.50956 -+	func_execute_cmds "$prelink_cmds" 'exit $?'
 1.50957 -+      fi
 1.50958 -+
 1.50959 -+      wrappers_required=yes
 1.50960 -+      case $host in
 1.50961 -+      *cygwin* | *mingw* )
 1.50962 -+        if test "$build_libtool_libs" != yes; then
 1.50963 -+          wrappers_required=no
 1.50964 -+        fi
 1.50965 -+        ;;
 1.50966 -+      *)
 1.50967 -+        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
 1.50968 -+          wrappers_required=no
 1.50969 -+        fi
 1.50970 -+        ;;
 1.50971 -+      esac
 1.50972 -+      if test "$wrappers_required" = no; then
 1.50973 -+	# Replace the output file specification.
 1.50974 -+	compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
 1.50975 -+	link_command="$compile_command$compile_rpath"
 1.50976 -+
 1.50977 -+	# We have no uninstalled library dependencies, so finalize right now.
 1.50978 -+	exit_status=0
 1.50979 -+	func_show_eval "$link_command" 'exit_status=$?'
 1.50980 -+
 1.50981 -+	# Delete the generated files.
 1.50982 -+	if test -f "$output_objdir/${outputname}S.${objext}"; then
 1.50983 -+	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
 1.50984 -+	fi
 1.50985 -+
 1.50986 -+	exit $exit_status
 1.50987 -+      fi
 1.50988 -+
 1.50989 -+      if test -n "$compile_shlibpath$finalize_shlibpath"; then
 1.50990 -+	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
 1.50991 -+      fi
 1.50992 -+      if test -n "$finalize_shlibpath"; then
 1.50993 -+	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
 1.50994 -+      fi
 1.50995 -+
 1.50996 -+      compile_var=
 1.50997 -+      finalize_var=
 1.50998 -+      if test -n "$runpath_var"; then
 1.50999 -+	if test -n "$perm_rpath"; then
 1.51000 -+	  # We should set the runpath_var.
 1.51001 -+	  rpath=
 1.51002 -+	  for dir in $perm_rpath; do
 1.51003 -+	    rpath="$rpath$dir:"
 1.51004 -+	  done
 1.51005 -+	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
 1.51006 -+	fi
 1.51007 -+	if test -n "$finalize_perm_rpath"; then
 1.51008 -+	  # We should set the runpath_var.
 1.51009 -+	  rpath=
 1.51010 -+	  for dir in $finalize_perm_rpath; do
 1.51011 -+	    rpath="$rpath$dir:"
 1.51012 -+	  done
 1.51013 -+	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
 1.51014 -+	fi
 1.51015 -+      fi
 1.51016 -+
 1.51017 -+      if test "$no_install" = yes; then
 1.51018 -+	# We don't need to create a wrapper script.
 1.51019 -+	link_command="$compile_var$compile_command$compile_rpath"
 1.51020 -+	# Replace the output file specification.
 1.51021 -+	link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
 1.51022 -+	# Delete the old output file.
 1.51023 -+	$opt_dry_run || $RM $output
 1.51024 -+	# Link the executable and exit
 1.51025 -+	func_show_eval "$link_command" 'exit $?'
 1.51026 -+	exit $EXIT_SUCCESS
 1.51027 -+      fi
 1.51028 -+
 1.51029 -+      if test "$hardcode_action" = relink; then
 1.51030 -+	# Fast installation is not supported
 1.51031 -+	link_command="$compile_var$compile_command$compile_rpath"
 1.51032 -+	relink_command="$finalize_var$finalize_command$finalize_rpath"
 1.51033 -+
 1.51034 -+	func_warning "this platform does not like uninstalled shared libraries"
 1.51035 -+	func_warning "\`$output' will be relinked during installation"
 1.51036 -+      else
 1.51037 -+	if test "$fast_install" != no; then
 1.51038 -+	  link_command="$finalize_var$compile_command$finalize_rpath"
 1.51039 -+	  if test "$fast_install" = yes; then
 1.51040 -+	    relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
 1.51041 -+	  else
 1.51042 -+	    # fast_install is set to needless
 1.51043 -+	    relink_command=
 1.51044 -+	  fi
 1.51045 -+	else
 1.51046 -+	  link_command="$compile_var$compile_command$compile_rpath"
 1.51047 -+	  relink_command="$finalize_var$finalize_command$finalize_rpath"
 1.51048 -+	fi
 1.51049 -+      fi
 1.51050 -+
 1.51051 -+      # Replace the output file specification.
 1.51052 -+      link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
 1.51053 -+
 1.51054 -+      # Delete the old output files.
 1.51055 -+      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
 1.51056 -+
 1.51057 -+      func_show_eval "$link_command" 'exit $?'
 1.51058 -+
 1.51059 -+      # Now create the wrapper script.
 1.51060 -+      func_echo "creating $output"
 1.51061 -+
 1.51062 -+      # Quote the relink command for shipping.
 1.51063 -+      if test -n "$relink_command"; then
 1.51064 -+	# Preserve any variables that may affect compiler behavior
 1.51065 -+	for var in $variables_saved_for_relink; do
 1.51066 -+	  if eval test -z \"\${$var+set}\"; then
 1.51067 -+	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
 1.51068 -+	  elif eval var_value=\$$var; test -z "$var_value"; then
 1.51069 -+	    relink_command="$var=; export $var; $relink_command"
 1.51070 -+	  else
 1.51071 -+	    func_quote_for_eval "$var_value"
 1.51072 -+	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
 1.51073 -+	  fi
 1.51074 -+	done
 1.51075 -+	relink_command="(cd `pwd`; $relink_command)"
 1.51076 -+	relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
 1.51077 -+      fi
 1.51078 -+
 1.51079 -+      # Quote $ECHO for shipping.
 1.51080 -+      if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
 1.51081 -+	case $progpath in
 1.51082 -+	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
 1.51083 -+	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
 1.51084 -+	esac
 1.51085 -+	qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
 1.51086 -+      else
 1.51087 -+	qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
 1.51088 -+      fi
 1.51089 -+
 1.51090 -+      # Only actually do things if not in dry run mode.
 1.51091 -+      $opt_dry_run || {
 1.51092 -+	# win32 will think the script is a binary if it has
 1.51093 -+	# a .exe suffix, so we strip it off here.
 1.51094 -+	case $output in
 1.51095 -+	  *.exe) func_stripname '' '.exe' "$output"
 1.51096 -+	         output=$func_stripname_result ;;
 1.51097 -+	esac
 1.51098 -+	# test for cygwin because mv fails w/o .exe extensions
 1.51099 -+	case $host in
 1.51100 -+	  *cygwin*)
 1.51101 -+	    exeext=.exe
 1.51102 -+	    func_stripname '' '.exe' "$outputname"
 1.51103 -+	    outputname=$func_stripname_result ;;
 1.51104 -+	  *) exeext= ;;
 1.51105 -+	esac
 1.51106 -+	case $host in
 1.51107 -+	  *cygwin* | *mingw* )
 1.51108 -+	    output_name=`basename $output`
 1.51109 -+	    output_path=`dirname $output`
 1.51110 -+	    cwrappersource="$output_path/$objdir/lt-$output_name.c"
 1.51111 -+	    cwrapper="$output_path/$output_name.exe"
 1.51112 -+	    $RM $cwrappersource $cwrapper
 1.51113 -+	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
 1.51114 -+
 1.51115 -+	    cat > $cwrappersource <<EOF
 1.51116 -+
 1.51117 -+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
 1.51118 -+   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
 1.51119 -+
 1.51120 -+   The $output program cannot be directly executed until all the libtool
 1.51121 -+   libraries that it depends on are installed.
 1.51122 -+
 1.51123 -+   This wrapper executable should never be moved out of the build directory.
 1.51124 -+   If it is, it will not operate correctly.
 1.51125 -+
 1.51126 -+   Currently, it simply execs the wrapper *script* "/bin/sh $output",
 1.51127 -+   but could eventually absorb all of the scripts functionality and
 1.51128 -+   exec $objdir/$outputname directly.
 1.51129 -+*/
 1.51130 -+EOF
 1.51131 -+	    cat >> $cwrappersource<<"EOF"
 1.51132 -+#include <stdio.h>
 1.51133 -+#include <stdlib.h>
 1.51134 -+#include <unistd.h>
 1.51135 -+#include <malloc.h>
 1.51136 -+#include <stdarg.h>
 1.51137 -+#include <assert.h>
 1.51138 -+#include <string.h>
 1.51139 -+#include <ctype.h>
 1.51140 -+#include <sys/stat.h>
 1.51141 -+
 1.51142 -+#if defined(PATH_MAX)
 1.51143 -+# define LT_PATHMAX PATH_MAX
 1.51144 -+#elif defined(MAXPATHLEN)
 1.51145 -+# define LT_PATHMAX MAXPATHLEN
 1.51146 -+#else
 1.51147 -+# define LT_PATHMAX 1024
 1.51148 -+#endif
 1.51149 -+
 1.51150 -+#ifndef DIR_SEPARATOR
 1.51151 -+# define DIR_SEPARATOR '/'
 1.51152 -+# define PATH_SEPARATOR ':'
 1.51153 -+#endif
 1.51154 -+
 1.51155 -+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
 1.51156 -+  defined (__OS2__)
 1.51157 -+# define HAVE_DOS_BASED_FILE_SYSTEM
 1.51158 -+# ifndef DIR_SEPARATOR_2
 1.51159 -+#  define DIR_SEPARATOR_2 '\\'
 1.51160 -+# endif
 1.51161 -+# ifndef PATH_SEPARATOR_2
 1.51162 -+#  define PATH_SEPARATOR_2 ';'
 1.51163 -+# endif
 1.51164 -+#endif
 1.51165 -+
 1.51166 -+#ifndef DIR_SEPARATOR_2
 1.51167 -+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
 1.51168 -+#else /* DIR_SEPARATOR_2 */
 1.51169 -+# define IS_DIR_SEPARATOR(ch) \
 1.51170 -+	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
 1.51171 -+#endif /* DIR_SEPARATOR_2 */
 1.51172 -+
 1.51173 -+#ifndef PATH_SEPARATOR_2
 1.51174 -+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
 1.51175 -+#else /* PATH_SEPARATOR_2 */
 1.51176 -+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
 1.51177 -+#endif /* PATH_SEPARATOR_2 */
 1.51178 -+
 1.51179 -+#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
 1.51180 -+#define XFREE(stale) do { \
 1.51181 -+  if (stale) { free ((void *) stale); stale = 0; } \
 1.51182 -+} while (0)
 1.51183 -+
 1.51184 -+/* -DDEBUG is fairly common in CFLAGS.  */
 1.51185 -+#undef DEBUG
 1.51186 -+#if defined DEBUGWRAPPER
 1.51187 -+# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
 1.51188 -+#else
 1.51189 -+# define DEBUG(format, ...)
 1.51190 -+#endif
 1.51191 -+
 1.51192 -+const char *program_name = NULL;
 1.51193 -+
 1.51194 -+void * xmalloc (size_t num);
 1.51195 -+char * xstrdup (const char *string);
 1.51196 -+const char * base_name (const char *name);
 1.51197 -+char * find_executable(const char *wrapper);
 1.51198 -+int    check_executable(const char *path);
 1.51199 -+char * strendzap(char *str, const char *pat);
 1.51200 -+void lt_fatal (const char *message, ...);
 1.51201 -+
 1.51202 -+int
 1.51203 -+main (int argc, char *argv[])
 1.51204 -+{
 1.51205 -+  char **newargz;
 1.51206 -+  int i;
 1.51207 -+
 1.51208 -+  program_name = (char *) xstrdup (base_name (argv[0]));
 1.51209 -+  DEBUG("(main) argv[0]      : %s\n",argv[0]);
 1.51210 -+  DEBUG("(main) program_name : %s\n",program_name);
 1.51211 -+  newargz = XMALLOC(char *, argc+2);
 1.51212 -+EOF
 1.51213 -+
 1.51214 -+	    cat >> $cwrappersource <<EOF
 1.51215 -+  newargz[0] = (char *) xstrdup("$SHELL");
 1.51216 -+EOF
 1.51217 -+
 1.51218 -+	    cat >> $cwrappersource <<"EOF"
 1.51219 -+  newargz[1] = find_executable(argv[0]);
 1.51220 -+  if (newargz[1] == NULL)
 1.51221 -+    lt_fatal("Couldn't find %s", argv[0]);
 1.51222 -+  DEBUG("(main) found exe at : %s\n",newargz[1]);
 1.51223 -+  /* we know the script has the same name, without the .exe */
 1.51224 -+  /* so make sure newargz[1] doesn't end in .exe */
 1.51225 -+  strendzap(newargz[1],".exe");
 1.51226 -+  for (i = 1; i < argc; i++)
 1.51227 -+    newargz[i+1] = xstrdup(argv[i]);
 1.51228 -+  newargz[argc+1] = NULL;
 1.51229 -+
 1.51230 -+  for (i=0; i<argc+1; i++)
 1.51231 -+  {
 1.51232 -+    DEBUG("(main) newargz[%d]   : %s\n",i,newargz[i]);
 1.51233 -+    ;
 1.51234 -+  }
 1.51235 -+
 1.51236 -+EOF
 1.51237 -+
 1.51238 -+	    case $host_os in
 1.51239 -+	      mingw*)
 1.51240 -+		cat >> $cwrappersource <<EOF
 1.51241 -+  execv("$SHELL",(char const **)newargz);
 1.51242 -+EOF
 1.51243 -+	      ;;
 1.51244 -+	      *)
 1.51245 -+		cat >> $cwrappersource <<EOF
 1.51246 -+  execv("$SHELL",newargz);
 1.51247 -+EOF
 1.51248 -+	      ;;
 1.51249 -+	    esac
 1.51250 -+
 1.51251 -+	    cat >> $cwrappersource <<"EOF"
 1.51252 -+  return 127;
 1.51253 -+}
 1.51254 -+
 1.51255 -+void *
 1.51256 -+xmalloc (size_t num)
 1.51257 -+{
 1.51258 -+  void * p = (void *) malloc (num);
 1.51259 -+  if (!p)
 1.51260 -+    lt_fatal ("Memory exhausted");
 1.51261 -+
 1.51262 -+  return p;
 1.51263 -+}
 1.51264 -+
 1.51265 -+char *
 1.51266 -+xstrdup (const char *string)
 1.51267 -+{
 1.51268 -+  return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
 1.51269 -+;
 1.51270 -+}
 1.51271 -+
 1.51272 -+const char *
 1.51273 -+base_name (const char *name)
 1.51274 -+{
 1.51275 -+  const char *base;
 1.51276 -+
 1.51277 -+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
 1.51278 -+  /* Skip over the disk name in MSDOS pathnames. */
 1.51279 -+  if (isalpha ((unsigned char)name[0]) && name[1] == ':')
 1.51280 -+    name += 2;
 1.51281 -+#endif
 1.51282 -+
 1.51283 -+  for (base = name; *name; name++)
 1.51284 -+    if (IS_DIR_SEPARATOR (*name))
 1.51285 -+      base = name + 1;
 1.51286 -+  return base;
 1.51287 -+}
 1.51288 -+
 1.51289 -+int
 1.51290 -+check_executable(const char * path)
 1.51291 -+{
 1.51292 -+  struct stat st;
 1.51293 -+
 1.51294 -+  DEBUG("(check_executable)  : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
 1.51295 -+  if ((!path) || (!*path))
 1.51296 -+    return 0;
 1.51297 -+
 1.51298 -+  if ((stat (path, &st) >= 0) &&
 1.51299 -+      (
 1.51300 -+	/* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
 1.51301 -+#if defined (S_IXOTH)
 1.51302 -+       ((st.st_mode & S_IXOTH) == S_IXOTH) ||
 1.51303 -+#endif
 1.51304 -+#if defined (S_IXGRP)
 1.51305 -+       ((st.st_mode & S_IXGRP) == S_IXGRP) ||
 1.51306 -+#endif
 1.51307 -+       ((st.st_mode & S_IXUSR) == S_IXUSR))
 1.51308 -+      )
 1.51309 -+    return 1;
 1.51310 -+  else
 1.51311 -+    return 0;
 1.51312 -+}
 1.51313 -+
 1.51314 -+/* Searches for the full path of the wrapper.  Returns
 1.51315 -+   newly allocated full path name if found, NULL otherwise */
 1.51316 -+char *
 1.51317 -+find_executable (const char* wrapper)
 1.51318 -+{
 1.51319 -+  int has_slash = 0;
 1.51320 -+  const char* p;
 1.51321 -+  const char* p_next;
 1.51322 -+  /* static buffer for getcwd */
 1.51323 -+  char tmp[LT_PATHMAX + 1];
 1.51324 -+  int tmp_len;
 1.51325 -+  char* concat_name;
 1.51326 -+
 1.51327 -+  DEBUG("(find_executable)  : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
 1.51328 -+
 1.51329 -+  if ((wrapper == NULL) || (*wrapper == '\0'))
 1.51330 -+    return NULL;
 1.51331 -+
 1.51332 -+  /* Absolute path? */
 1.51333 -+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
 1.51334 -+  if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
 1.51335 -+  {
 1.51336 -+    concat_name = xstrdup (wrapper);
 1.51337 -+    if (check_executable(concat_name))
 1.51338 -+      return concat_name;
 1.51339 -+    XFREE(concat_name);
 1.51340 -+  }
 1.51341 -+  else
 1.51342 -+  {
 1.51343 -+#endif
 1.51344 -+    if (IS_DIR_SEPARATOR (wrapper[0]))
 1.51345 -+    {
 1.51346 -+      concat_name = xstrdup (wrapper);
 1.51347 -+      if (check_executable(concat_name))
 1.51348 -+	return concat_name;
 1.51349 -+      XFREE(concat_name);
 1.51350 -+    }
 1.51351 -+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
 1.51352 -+  }
 1.51353 -+#endif
 1.51354 -+
 1.51355 -+  for (p = wrapper; *p; p++)
 1.51356 -+    if (*p == '/')
 1.51357 -+    {
 1.51358 -+      has_slash = 1;
 1.51359 -+      break;
 1.51360 -+    }
 1.51361 -+  if (!has_slash)
 1.51362 -+  {
 1.51363 -+    /* no slashes; search PATH */
 1.51364 -+    const char* path = getenv ("PATH");
 1.51365 -+    if (path != NULL)
 1.51366 -+    {
 1.51367 -+      for (p = path; *p; p = p_next)
 1.51368 -+      {
 1.51369 -+	const char* q;
 1.51370 -+	size_t p_len;
 1.51371 -+	for (q = p; *q; q++)
 1.51372 -+	  if (IS_PATH_SEPARATOR(*q))
 1.51373 -+	    break;
 1.51374 -+	p_len = q - p;
 1.51375 -+	p_next = (*q == '\0' ? q : q + 1);
 1.51376 -+	if (p_len == 0)
 1.51377 -+	{
 1.51378 -+	  /* empty path: current directory */
 1.51379 -+	  if (getcwd (tmp, LT_PATHMAX) == NULL)
 1.51380 -+	    lt_fatal ("getcwd failed");
 1.51381 -+	  tmp_len = strlen(tmp);
 1.51382 -+	  concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
 1.51383 -+	  memcpy (concat_name, tmp, tmp_len);
 1.51384 -+	  concat_name[tmp_len] = '/';
 1.51385 -+	  strcpy (concat_name + tmp_len + 1, wrapper);
 1.51386 -+	}
 1.51387 -+	else
 1.51388 -+	{
 1.51389 -+	  concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
 1.51390 -+	  memcpy (concat_name, p, p_len);
 1.51391 -+	  concat_name[p_len] = '/';
 1.51392 -+	  strcpy (concat_name + p_len + 1, wrapper);
 1.51393 -+	}
 1.51394 -+	if (check_executable(concat_name))
 1.51395 -+	  return concat_name;
 1.51396 -+	XFREE(concat_name);
 1.51397 -+      }
 1.51398 -+    }
 1.51399 -+    /* not found in PATH; assume curdir */
 1.51400 -+  }
 1.51401 -+  /* Relative path | not found in path: prepend cwd */
 1.51402 -+  if (getcwd (tmp, LT_PATHMAX) == NULL)
 1.51403 -+    lt_fatal ("getcwd failed");
 1.51404 -+  tmp_len = strlen(tmp);
 1.51405 -+  concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
 1.51406 -+  memcpy (concat_name, tmp, tmp_len);
 1.51407 -+  concat_name[tmp_len] = '/';
 1.51408 -+  strcpy (concat_name + tmp_len + 1, wrapper);
 1.51409 -+
 1.51410 -+  if (check_executable(concat_name))
 1.51411 -+    return concat_name;
 1.51412 -+  XFREE(concat_name);
 1.51413 -+  return NULL;
 1.51414 -+}
 1.51415 -+
 1.51416 -+char *
 1.51417 -+strendzap(char *str, const char *pat)
 1.51418 -+{
 1.51419 -+  size_t len, patlen;
 1.51420 -+
 1.51421 -+  assert(str != NULL);
 1.51422 -+  assert(pat != NULL);
 1.51423 -+
 1.51424 -+  len = strlen(str);
 1.51425 -+  patlen = strlen(pat);
 1.51426 -+
 1.51427 -+  if (patlen <= len)
 1.51428 -+  {
 1.51429 -+    str += len - patlen;
 1.51430 -+    if (strcmp(str, pat) == 0)
 1.51431 -+      *str = '\0';
 1.51432 -+  }
 1.51433 -+  return str;
 1.51434 -+}
 1.51435 -+
 1.51436 -+static void
 1.51437 -+lt_error_core (int exit_status, const char * mode,
 1.51438 -+	  const char * message, va_list ap)
 1.51439 -+{
 1.51440 -+  fprintf (stderr, "%s: %s: ", program_name, mode);
 1.51441 -+  vfprintf (stderr, message, ap);
 1.51442 -+  fprintf (stderr, ".\n");
 1.51443 -+
 1.51444 -+  if (exit_status >= 0)
 1.51445 -+    exit (exit_status);
 1.51446 -+}
 1.51447 -+
 1.51448 -+void
 1.51449 -+lt_fatal (const char *message, ...)
 1.51450 -+{
 1.51451 -+  va_list ap;
 1.51452 -+  va_start (ap, message);
 1.51453 -+  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
 1.51454 -+  va_end (ap);
 1.51455 -+}
 1.51456 -+EOF
 1.51457 -+	  # we should really use a build-platform specific compiler
 1.51458 -+	  # here, but OTOH, the wrappers (shell script and this C one)
 1.51459 -+	  # are only useful if you want to execute the "real" binary.
 1.51460 -+	  # Since the "real" binary is built for $host, then this
 1.51461 -+	  # wrapper might as well be built for $host, too.
 1.51462 -+	  $opt_dry_run || $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
 1.51463 -+	  ;;
 1.51464 -+	esac
 1.51465 -+	$RM $output
 1.51466 -+	trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
 1.51467 -+
 1.51468 -+	$ECHO > $output "\
 1.51469 -+#! $SHELL
 1.51470 -+
 1.51471 -+# $output - temporary wrapper script for $objdir/$outputname
 1.51472 -+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
 1.51473 -+#
 1.51474 -+# The $output program cannot be directly executed until all the libtool
 1.51475 -+# libraries that it depends on are installed.
 1.51476 -+#
 1.51477 -+# This wrapper script should never be moved out of the build directory.
 1.51478 -+# If it is, it will not operate correctly.
 1.51479 -+
 1.51480 -+# Sed substitution that helps us do robust quoting.  It backslashifies
 1.51481 -+# metacharacters that are still active within double-quoted strings.
 1.51482 -+Xsed='${SED} -e 1s/^X//'
 1.51483 -+sed_quote_subst='$sed_quote_subst'
 1.51484 -+
 1.51485 -+# Be Bourne compatible
 1.51486 -+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
 1.51487 -+  emulate sh
 1.51488 -+  NULLCMD=:
 1.51489 -+  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
 1.51490 -+  # is contrary to our usage.  Disable this feature.
 1.51491 -+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
 1.51492 -+  setopt NO_GLOB_SUBST
 1.51493 -+else
 1.51494 -+  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
 1.51495 -+fi
 1.51496 -+BIN_SH=xpg4; export BIN_SH # for Tru64
 1.51497 -+DUALCASE=1; export DUALCASE # for MKS sh
 1.51498 -+
 1.51499 -+# The HP-UX ksh and POSIX shell print the target directory to stdout
 1.51500 -+# if CDPATH is set.
 1.51501 -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 1.51502 -+
 1.51503 -+relink_command=\"$relink_command\"
 1.51504 -+
 1.51505 -+# This environment variable determines our operation mode.
 1.51506 -+if test \"\$libtool_install_magic\" = \"$magic\"; then
 1.51507 -+  # install mode needs the following variables:
 1.51508 -+  generated_by_libtool_version='$macro_version'
 1.51509 -+  notinst_deplibs='$notinst_deplibs'
 1.51510 -+else
 1.51511 -+  # When we are sourced in execute mode, \$file and \$ECHO are already set.
 1.51512 -+  if test \"\$libtool_execute_magic\" != \"$magic\"; then
 1.51513 -+    ECHO=\"$qecho\"
 1.51514 -+    file=\"\$0\"
 1.51515 -+    # Make sure echo works.
 1.51516 -+    if test \"X\$1\" = X--no-reexec; then
 1.51517 -+      # Discard the --no-reexec flag, and continue.
 1.51518 -+      shift
 1.51519 -+    elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
 1.51520 -+      # Yippee, \$ECHO works!
 1.51521 -+      :
 1.51522 -+    else
 1.51523 -+      # Restart under the correct shell, and then maybe \$ECHO will work.
 1.51524 -+      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
 1.51525 -+    fi
 1.51526 -+  fi\
 1.51527 -+"
 1.51528 -+	$ECHO >> $output "\
 1.51529 -+
 1.51530 -+  # Find the directory that this script lives in.
 1.51531 -+  thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
 1.51532 -+  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
 1.51533 -+
 1.51534 -+  # Follow symbolic links until we get to the real thisdir.
 1.51535 -+  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
 1.51536 -+  while test -n \"\$file\"; do
 1.51537 -+    destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
 1.51538 -+
 1.51539 -+    # If there was a directory component, then change thisdir.
 1.51540 -+    if test \"x\$destdir\" != \"x\$file\"; then
 1.51541 -+      case \"\$destdir\" in
 1.51542 -+      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
 1.51543 -+      *) thisdir=\"\$thisdir/\$destdir\" ;;
 1.51544 -+      esac
 1.51545 -+    fi
 1.51546 -+
 1.51547 -+    file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
 1.51548 -+    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
 1.51549 -+  done
 1.51550 -+
 1.51551 -+  # Try to get the absolute directory name.
 1.51552 -+  absdir=\`cd \"\$thisdir\" && pwd\`
 1.51553 -+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
 1.51554 -+"
 1.51555 -+
 1.51556 -+	if test "$fast_install" = yes; then
 1.51557 -+	  $ECHO >> $output "\
 1.51558 -+  program=lt-'$outputname'$exeext
 1.51559 -+  progdir=\"\$thisdir/$objdir\"
 1.51560 -+
 1.51561 -+  if test ! -f \"\$progdir/\$program\" ||
 1.51562 -+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
 1.51563 -+       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
 1.51564 -+
 1.51565 -+    file=\"\$\$-\$program\"
 1.51566 -+
 1.51567 -+    if test ! -d \"\$progdir\"; then
 1.51568 -+      $MKDIR \"\$progdir\"
 1.51569 -+    else
 1.51570 -+      $RM \"\$progdir/\$file\"
 1.51571 -+    fi"
 1.51572 -+
 1.51573 -+	  $ECHO >> $output "\
 1.51574 -+
 1.51575 -+    # relink executable if necessary
 1.51576 -+    if test -n \"\$relink_command\"; then
 1.51577 -+      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
 1.51578 -+      else
 1.51579 -+	$ECHO \"\$relink_command_output\" >&2
 1.51580 -+	$RM \"\$progdir/\$file\"
 1.51581 -+	exit 1
 1.51582 -+      fi
 1.51583 -+    fi
 1.51584 -+
 1.51585 -+    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
 1.51586 -+    { $RM \"\$progdir/\$program\";
 1.51587 -+      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
 1.51588 -+    $RM \"\$progdir/\$file\"
 1.51589 -+  fi"
 1.51590 -+	else
 1.51591 -+	  $ECHO >> $output "\
 1.51592 -+  program='$outputname'
 1.51593 -+  progdir=\"\$thisdir/$objdir\"
 1.51594 -+"
 1.51595 -+	fi
 1.51596 -+
 1.51597 -+	$ECHO >> $output "\
 1.51598 -+
 1.51599 -+  if test -f \"\$progdir/\$program\"; then"
 1.51600 -+
 1.51601 -+	# Export our shlibpath_var if we have one.
 1.51602 -+	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
 1.51603 -+	  $ECHO >> $output "\
 1.51604 -+    # Add our own library path to $shlibpath_var
 1.51605 -+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
 1.51606 -+
 1.51607 -+    # Some systems cannot cope with colon-terminated $shlibpath_var
 1.51608 -+    # The second colon is a workaround for a bug in BeOS R4 sed
 1.51609 -+    $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
 1.51610 -+
 1.51611 -+    export $shlibpath_var
 1.51612 -+"
 1.51613 -+	fi
 1.51614 -+
 1.51615 -+	# fixup the dll searchpath if we need to.
 1.51616 -+	if test -n "$dllsearchpath"; then
 1.51617 -+	  $ECHO >> $output "\
 1.51618 -+    # Add the dll search path components to the executable PATH
 1.51619 -+    PATH=$dllsearchpath:\$PATH
 1.51620 -+"
 1.51621 -+	fi
 1.51622 -+
 1.51623 -+	$ECHO >> $output "\
 1.51624 -+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
 1.51625 -+      # Run the actual program with our arguments.
 1.51626 -+"
 1.51627 -+	case $host in
 1.51628 -+	# Backslashes separate directories on plain windows
 1.51629 -+	*-*-mingw | *-*-os2*)
 1.51630 -+	  $ECHO >> $output "\
 1.51631 -+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
 1.51632 -+"
 1.51633 -+	  ;;
 1.51634 -+
 1.51635 -+	*)
 1.51636 -+	  $ECHO >> $output "\
 1.51637 -+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
 1.51638 -+"
 1.51639 -+	  ;;
 1.51640 -+	esac
 1.51641 -+	$ECHO >> $output "\
 1.51642 -+      \$ECHO \"\$0: cannot exec \$program \$*\"
 1.51643 -+      exit 1
 1.51644 -+    fi
 1.51645 -+  else
 1.51646 -+    # The program doesn't exist.
 1.51647 -+    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
 1.51648 -+    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
 1.51649 -+    $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
 1.51650 -+    exit 1
 1.51651 -+  fi
 1.51652 -+fi\
 1.51653 -+"
 1.51654 -+	chmod +x $output
 1.51655 -+      }
 1.51656 -+      exit $EXIT_SUCCESS
 1.51657 -+      ;;
 1.51658 -+    esac
 1.51659 -+
 1.51660 -+    # See if we need to build an old-fashioned archive.
 1.51661 -+    for oldlib in $oldlibs; do
 1.51662 -+
 1.51663 -+      if test "$build_libtool_libs" = convenience; then
 1.51664 -+	oldobjs="$libobjs_save $symfileobj"
 1.51665 -+	addlibs="$convenience"
 1.51666 -+	build_libtool_libs=no
 1.51667 -+      else
 1.51668 -+	if test "$build_libtool_libs" = module; then
 1.51669 -+	  oldobjs="$libobjs_save"
 1.51670 -+	  build_libtool_libs=no
 1.51671 -+	else
 1.51672 -+	  oldobjs="$old_deplibs $non_pic_objects"
 1.51673 -+	  if test "$preload" = yes && test -f "$symfileobj"; then
 1.51674 -+	    oldobjs="$oldobjs $symfileobj"
 1.51675 -+	  fi
 1.51676 -+	fi
 1.51677 -+	addlibs="$old_convenience"
 1.51678 -+      fi
 1.51679 -+
 1.51680 -+      if test -n "$addlibs"; then
 1.51681 -+	gentop="$output_objdir/${outputname}x"
 1.51682 -+	generated="$generated $gentop"
 1.51683 -+
 1.51684 -+	func_extract_archives $gentop $addlibs
 1.51685 -+	oldobjs="$oldobjs $func_extract_archives_result"
 1.51686 -+      fi
 1.51687 -+
 1.51688 -+      # Do each command in the archive commands.
 1.51689 -+      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
 1.51690 -+	cmds=$old_archive_from_new_cmds
 1.51691 -+      else
 1.51692 -+
 1.51693 -+	# Add any objects from preloaded convenience libraries
 1.51694 -+	if test -n "$dlprefiles"; then
 1.51695 -+	  gentop="$output_objdir/${outputname}x"
 1.51696 -+	  generated="$generated $gentop"
 1.51697 -+
 1.51698 -+	  func_extract_archives $gentop $dlprefiles
 1.51699 -+	  oldobjs="$oldobjs $func_extract_archives_result"
 1.51700 -+	fi
 1.51701 -+
 1.51702 -+	# POSIX demands no paths to be encoded in archives.  We have
 1.51703 -+	# to avoid creating archives with duplicate basenames if we
 1.51704 -+	# might have to extract them afterwards, e.g., when creating a
 1.51705 -+	# static archive out of a convenience library, or when linking
 1.51706 -+	# the entirety of a libtool archive into another (currently
 1.51707 -+	# not supported by libtool).
 1.51708 -+	if (for obj in $oldobjs
 1.51709 -+	    do
 1.51710 -+	      func_basename "$obj"
 1.51711 -+	      $ECHO "$func_basename_result"
 1.51712 -+	    done | sort | sort -uc >/dev/null 2>&1); then
 1.51713 -+	  :
 1.51714 -+	else
 1.51715 -+	  $ECHO "copying selected object files to avoid basename conflicts..."
 1.51716 -+	  gentop="$output_objdir/${outputname}x"
 1.51717 -+	  generated="$generated $gentop"
 1.51718 -+	  func_mkdir_p "$gentop"
 1.51719 -+	  save_oldobjs=$oldobjs
 1.51720 -+	  oldobjs=
 1.51721 -+	  counter=1
 1.51722 -+	  for obj in $save_oldobjs
 1.51723 -+	  do
 1.51724 -+	    func_basename "$obj"
 1.51725 -+	    objbase="$func_basename_result"
 1.51726 -+	    case " $oldobjs " in
 1.51727 -+	    " ") oldobjs=$obj ;;
 1.51728 -+	    *[\ /]"$objbase "*)
 1.51729 -+	      while :; do
 1.51730 -+		# Make sure we don't pick an alternate name that also
 1.51731 -+		# overlaps.
 1.51732 -+		newobj=lt$counter-$objbase
 1.51733 -+		counter=`expr $counter + 1`
 1.51734 -+		case " $oldobjs " in
 1.51735 -+		*[\ /]"$newobj "*) ;;
 1.51736 -+		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
 1.51737 -+		esac
 1.51738 -+	      done
 1.51739 -+	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
 1.51740 -+	      oldobjs="$oldobjs $gentop/$newobj"
 1.51741 -+	      ;;
 1.51742 -+	    *) oldobjs="$oldobjs $obj" ;;
 1.51743 -+	    esac
 1.51744 -+	  done
 1.51745 -+	fi
 1.51746 -+	eval cmds=\"$old_archive_cmds\"
 1.51747 -+
 1.51748 -+	if len=`expr "X$cmds" : ".*" 2>/dev/null` &&
 1.51749 -+	   test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
 1.51750 -+	  cmds=$old_archive_cmds
 1.51751 -+	else
 1.51752 -+	  # the command line is too long to link in one step, link in parts
 1.51753 -+	  func_echo "using piecewise archive linking..."
 1.51754 -+	  save_RANLIB=$RANLIB
 1.51755 -+	  RANLIB=:
 1.51756 -+	  objlist=
 1.51757 -+	  concat_cmds=
 1.51758 -+	  save_oldobjs=$oldobjs
 1.51759 -+	  # Is there a better way of finding the last object in the list?
 1.51760 -+	  for obj in $save_oldobjs
 1.51761 -+	  do
 1.51762 -+	    last_oldobj=$obj
 1.51763 -+	  done
 1.51764 -+	  for obj in $save_oldobjs
 1.51765 -+	  do
 1.51766 -+	    oldobjs="$objlist $obj"
 1.51767 -+	    objlist="$objlist $obj"
 1.51768 -+	    eval test_cmds=\"$old_archive_cmds\"
 1.51769 -+	    if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
 1.51770 -+	       test "$len" -le "$max_cmd_len"; then
 1.51771 -+	      :
 1.51772 -+	    else
 1.51773 -+	      # the above command should be used before it gets too long
 1.51774 -+	      oldobjs=$objlist
 1.51775 -+	      if test "$obj" = "$last_oldobj" ; then
 1.51776 -+		RANLIB=$save_RANLIB
 1.51777 -+	      fi
 1.51778 -+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
 1.51779 -+	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
 1.51780 -+	      objlist=
 1.51781 -+	    fi
 1.51782 -+	  done
 1.51783 -+	  RANLIB=$save_RANLIB
 1.51784 -+	  oldobjs=$objlist
 1.51785 -+	  if test "X$oldobjs" = "X" ; then
 1.51786 -+	    eval cmds=\"\$concat_cmds\"
 1.51787 -+	  else
 1.51788 -+	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
 1.51789 -+	  fi
 1.51790 -+	fi
 1.51791 -+      fi
 1.51792 -+      func_execute_cmds "$cmds" 'exit $?'
 1.51793 -+    done
 1.51794 -+
 1.51795 -+    test -n "$generated" && \
 1.51796 -+      func_show_eval "${RM}r$generated"
 1.51797 -+
 1.51798 -+    # Now create the libtool archive.
 1.51799 -+    case $output in
 1.51800 -+    *.la)
 1.51801 -+      old_library=
 1.51802 -+      test "$build_old_libs" = yes && old_library="$libname.$libext"
 1.51803 -+      func_echo "creating $output"
 1.51804 -+
 1.51805 -+      # Preserve any variables that may affect compiler behavior
 1.51806 -+      for var in $variables_saved_for_relink; do
 1.51807 -+	if eval test -z \"\${$var+set}\"; then
 1.51808 -+	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
 1.51809 -+	elif eval var_value=\$$var; test -z "$var_value"; then
 1.51810 -+	  relink_command="$var=; export $var; $relink_command"
 1.51811 -+	else
 1.51812 -+	  func_quote_for_eval "$var_value"
 1.51813 -+	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
 1.51814 -+	fi
 1.51815 -+      done
 1.51816 -+      # Quote the link command for shipping.
 1.51817 -+      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
 1.51818 -+      relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
 1.51819 -+      if test "$hardcode_automatic" = yes ; then
 1.51820 -+	relink_command=
 1.51821 -+      fi
 1.51822 -+
 1.51823 -+      # Only create the output if not a dry run.
 1.51824 -+      $opt_dry_run || {
 1.51825 -+	for installed in no yes; do
 1.51826 -+	  if test "$installed" = yes; then
 1.51827 -+	    if test -z "$install_libdir"; then
 1.51828 -+	      break
 1.51829 -+	    fi
 1.51830 -+	    output="$output_objdir/$outputname"i
 1.51831 -+	    # Replace all uninstalled libtool libraries with the installed ones
 1.51832 -+	    newdependency_libs=
 1.51833 -+	    for deplib in $dependency_libs; do
 1.51834 -+	      case $deplib in
 1.51835 -+	      *.la)
 1.51836 -+		func_basename "$deplib"
 1.51837 -+		name="$func_basename_result"
 1.51838 -+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
 1.51839 -+		test -z "$libdir" && \
 1.51840 -+		  func_fatal_error "\`$deplib' is not a valid libtool archive"
 1.51841 -+		newdependency_libs="$newdependency_libs $libdir/$name"
 1.51842 -+		;;
 1.51843 -+	      *) newdependency_libs="$newdependency_libs $deplib" ;;
 1.51844 -+	      esac
 1.51845 -+	    done
 1.51846 -+	    dependency_libs="$newdependency_libs"
 1.51847 -+	    newdlfiles=
 1.51848 -+
 1.51849 -+	    for lib in $dlfiles; do
 1.51850 -+	      case $lib in
 1.51851 -+	      *.la)
 1.51852 -+	        func_basename "$lib"
 1.51853 -+		name="$func_basename_result"
 1.51854 -+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
 1.51855 -+		test -z "$libdir" && \
 1.51856 -+		  func_fatal_error "\`$lib' is not a valid libtool archive"
 1.51857 -+		newdlfiles="$newdlfiles $libdir/$name"
 1.51858 -+		;;
 1.51859 -+	      *) newdlfiles="$newdlfiles $lib" ;;
 1.51860 -+	      esac
 1.51861 -+	    done
 1.51862 -+	    dlfiles="$newdlfiles"
 1.51863 -+	    newdlprefiles=
 1.51864 -+	    for lib in $dlprefiles; do
 1.51865 -+	      case $lib in
 1.51866 -+	      *.la)
 1.51867 -+		# Only pass preopened files to the pseudo-archive (for
 1.51868 -+		# eventual linking with the app. that links it) if we
 1.51869 -+		# didn't already link the preopened objects directly into
 1.51870 -+		# the library:
 1.51871 -+		func_basename "$lib"
 1.51872 -+		name="$func_basename_result"
 1.51873 -+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
 1.51874 -+		test -z "$libdir" && \
 1.51875 -+		  func_fatal_error "\`$lib' is not a valid libtool archive"
 1.51876 -+		newdlprefiles="$newdlprefiles $libdir/$name"
 1.51877 -+		;;
 1.51878 -+	      esac
 1.51879 -+	    done
 1.51880 -+	    dlprefiles="$newdlprefiles"
 1.51881 -+	  else
 1.51882 -+	    newdlfiles=
 1.51883 -+	    for lib in $dlfiles; do
 1.51884 -+	      case $lib in
 1.51885 -+		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
 1.51886 -+		*) abs=`pwd`"/$lib" ;;
 1.51887 -+	      esac
 1.51888 -+	      newdlfiles="$newdlfiles $abs"
 1.51889 -+	    done
 1.51890 -+	    dlfiles="$newdlfiles"
 1.51891 -+	    newdlprefiles=
 1.51892 -+	    for lib in $dlprefiles; do
 1.51893 -+	      case $lib in
 1.51894 -+		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
 1.51895 -+		*) abs=`pwd`"/$lib" ;;
 1.51896 -+	      esac
 1.51897 -+	      newdlprefiles="$newdlprefiles $abs"
 1.51898 -+	    done
 1.51899 -+	    dlprefiles="$newdlprefiles"
 1.51900 -+	  fi
 1.51901 -+	  $RM $output
 1.51902 -+	  # place dlname in correct position for cygwin
 1.51903 -+	  tdlname=$dlname
 1.51904 -+	  case $host,$output,$installed,$module,$dlname in
 1.51905 -+	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
 1.51906 -+	  esac
 1.51907 -+	  $ECHO > $output "\
 1.51908 -+# $outputname - a libtool library file
 1.51909 -+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
 1.51910 -+#
 1.51911 -+# Please DO NOT delete this file!
 1.51912 -+# It is necessary for linking the library.
 1.51913 -+
 1.51914 -+# The name that we can dlopen(3).
 1.51915 -+dlname='$tdlname'
 1.51916 -+
 1.51917 -+# Names of this library.
 1.51918 -+library_names='$library_names'
 1.51919 -+
 1.51920 -+# The name of the static archive.
 1.51921 -+old_library='$old_library'
 1.51922 -+
 1.51923 -+# Linker flags that can not go in dependency_libs.
 1.51924 -+inherited_linker_flags='$new_inherited_linker_flags'
 1.51925 -+
 1.51926 -+# Libraries that this one depends upon.
 1.51927 -+dependency_libs='$dependency_libs'
 1.51928 -+
 1.51929 -+# Names of additional weak libraries provided by this library
 1.51930 -+weak_library_names='$weak_libs'
 1.51931 -+
 1.51932 -+# Version information for $libname.
 1.51933 -+current=$current
 1.51934 -+age=$age
 1.51935 -+revision=$revision
 1.51936 -+
 1.51937 -+# Is this an already installed library?
 1.51938 -+installed=$installed
 1.51939 -+
 1.51940 -+# Should we warn about portability when linking against -modules?
 1.51941 -+shouldnotlink=$module
 1.51942 -+
 1.51943 -+# Files to dlopen/dlpreopen
 1.51944 -+dlopen='$dlfiles'
 1.51945 -+dlpreopen='$dlprefiles'
 1.51946 -+
 1.51947 -+# Directory that this library needs to be installed in:
 1.51948 -+libdir='$install_libdir'"
 1.51949 -+	  if test "$installed" = no && test "$need_relink" = yes; then
 1.51950 -+	    $ECHO >> $output "\
 1.51951 -+relink_command=\"$relink_command\""
 1.51952 -+	  fi
 1.51953 -+	done
 1.51954 -+      }
 1.51955 -+
 1.51956 -+      # Do a symbolic link so that the libtool archive can be found in
 1.51957 -+      # LD_LIBRARY_PATH before the program is installed.
 1.51958 -+      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
 1.51959 -+      ;;
 1.51960 -+    esac
 1.51961 -+    exit $EXIT_SUCCESS
 1.51962 -+}
 1.51963 -+
 1.51964 -+{ test "$mode" = link || test "$mode" = relink; } &&
 1.51965 -+    func_mode_link ${1+"$@"}
 1.51966 -+
 1.51967 -+
 1.51968 -+# func_mode_uninstall arg...
 1.51969 -+func_mode_uninstall ()
 1.51970 -+{
 1.51971 -+    $opt_debug
 1.51972 -+    RM="$nonopt"
 1.51973 -+    files=
 1.51974 -+    rmforce=
 1.51975 -+    exit_status=0
 1.51976 -+
 1.51977 -+    # This variable tells wrapper scripts just to set variables rather
 1.51978 -+    # than running their programs.
 1.51979 -+    libtool_install_magic="$magic"
 1.51980 -+
 1.51981 -+    for arg
 1.51982 -+    do
 1.51983 -+      case $arg in
 1.51984 -+      -f) RM="$RM $arg"; rmforce=yes ;;
 1.51985 -+      -*) RM="$RM $arg" ;;
 1.51986 -+      *) files="$files $arg" ;;
 1.51987 -+      esac
 1.51988 -+    done
 1.51989 -+
 1.51990 -+    test -z "$RM" && \
 1.51991 -+      func_fatal_help "you must specify an RM program"
 1.51992 -+
 1.51993 -+    rmdirs=
 1.51994 -+
 1.51995 -+    origobjdir="$objdir"
 1.51996 -+    for file in $files; do
 1.51997 -+      func_dirname "$file" "" "."
 1.51998 -+      dir="$func_dirname_result"
 1.51999 -+      if test "X$dir" = X.; then
 1.52000 -+	objdir="$origobjdir"
 1.52001 -+      else
 1.52002 -+	objdir="$dir/$origobjdir"
 1.52003 -+      fi
 1.52004 -+      func_basename "$file"
 1.52005 -+      name="$func_basename_result"
 1.52006 -+      test "$mode" = uninstall && objdir="$dir"
 1.52007 -+
 1.52008 -+      # Remember objdir for removal later, being careful to avoid duplicates
 1.52009 -+      if test "$mode" = clean; then
 1.52010 -+	case " $rmdirs " in
 1.52011 -+	  *" $objdir "*) ;;
 1.52012 -+	  *) rmdirs="$rmdirs $objdir" ;;
 1.52013 -+	esac
 1.52014 -+      fi
 1.52015 -+
 1.52016 -+      # Don't error if the file doesn't exist and rm -f was used.
 1.52017 -+      if { test -L "$file"; } >/dev/null 2>&1 ||
 1.52018 -+	 { test -h "$file"; } >/dev/null 2>&1 ||
 1.52019 -+	 test -f "$file"; then
 1.52020 -+	:
 1.52021 -+      elif test -d "$file"; then
 1.52022 -+	exit_status=1
 1.52023 -+	continue
 1.52024 -+      elif test "$rmforce" = yes; then
 1.52025 -+	continue
 1.52026 -+      fi
 1.52027 -+
 1.52028 -+      rmfiles="$file"
 1.52029 -+
 1.52030 -+      case $name in
 1.52031 -+      *.la)
 1.52032 -+	# Possibly a libtool archive, so verify it.
 1.52033 -+	if func_lalib_p "$file"; then
 1.52034 -+	  func_source $dir/$name
 1.52035 -+
 1.52036 -+	  # Delete the libtool libraries and symlinks.
 1.52037 -+	  for n in $library_names; do
 1.52038 -+	    rmfiles="$rmfiles $objdir/$n"
 1.52039 -+	  done
 1.52040 -+	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
 1.52041 -+
 1.52042 -+	  case "$mode" in
 1.52043 -+	  clean)
 1.52044 -+	    case "  $library_names " in
 1.52045 -+	    # "  " in the beginning catches empty $dlname
 1.52046 -+	    *" $dlname "*) ;;
 1.52047 -+	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
 1.52048 -+	    esac
 1.52049 -+	    test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
 1.52050 -+	    ;;
 1.52051 -+	  uninstall)
 1.52052 -+	    if test -n "$library_names"; then
 1.52053 -+	      # Do each command in the postuninstall commands.
 1.52054 -+	      func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
 1.52055 -+	    fi
 1.52056 -+
 1.52057 -+	    if test -n "$old_library"; then
 1.52058 -+	      # Do each command in the old_postuninstall commands.
 1.52059 -+	      func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
 1.52060 -+	    fi
 1.52061 -+	    # FIXME: should reinstall the best remaining shared library.
 1.52062 -+	    ;;
 1.52063 -+	  esac
 1.52064 -+	fi
 1.52065 -+	;;
 1.52066 -+
 1.52067 -+      *.lo)
 1.52068 -+	# Possibly a libtool object, so verify it.
 1.52069 -+	if func_lalib_p "$file"; then
 1.52070 -+
 1.52071 -+	  # Read the .lo file
 1.52072 -+	  func_source $dir/$name
 1.52073 -+
 1.52074 -+	  # Add PIC object to the list of files to remove.
 1.52075 -+	  if test -n "$pic_object" &&
 1.52076 -+	     test "$pic_object" != none; then
 1.52077 -+	    rmfiles="$rmfiles $dir/$pic_object"
 1.52078 -+	  fi
 1.52079 -+
 1.52080 -+	  # Add non-PIC object to the list of files to remove.
 1.52081 -+	  if test -n "$non_pic_object" &&
 1.52082 -+	     test "$non_pic_object" != none; then
 1.52083 -+	    rmfiles="$rmfiles $dir/$non_pic_object"
 1.52084 -+	  fi
 1.52085 -+	fi
 1.52086 -+	;;
 1.52087 -+
 1.52088 -+      *)
 1.52089 -+	if test "$mode" = clean ; then
 1.52090 -+	  noexename=$name
 1.52091 -+	  case $file in
 1.52092 -+	  *.exe)
 1.52093 -+	    func_stripname '' '.exe' "$file"
 1.52094 -+	    file=$func_stripname_result
 1.52095 -+	    func_stripname '' '.exe' "$name"
 1.52096 -+	    noexename=$func_stripname_result
 1.52097 -+	    # $file with .exe has already been added to rmfiles,
 1.52098 -+	    # add $file without .exe
 1.52099 -+	    rmfiles="$rmfiles $file"
 1.52100 -+	    ;;
 1.52101 -+	  esac
 1.52102 -+	  # Do a test to see if this is a libtool program.
 1.52103 -+	  if func_ltwrapper_p "$file"; then
 1.52104 -+	    relink_command=
 1.52105 -+	    func_source $dir/$noexename
 1.52106 -+
 1.52107 -+	    # note $name still contains .exe if it was in $file originally
 1.52108 -+	    # as does the version of $file that was added into $rmfiles
 1.52109 -+	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
 1.52110 -+	    if test "$fast_install" = yes && test -n "$relink_command"; then
 1.52111 -+	      rmfiles="$rmfiles $objdir/lt-$name"
 1.52112 -+	    fi
 1.52113 -+	    if test "X$noexename" != "X$name" ; then
 1.52114 -+	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
 1.52115 -+	    fi
 1.52116 -+	  fi
 1.52117 -+	fi
 1.52118 -+	;;
 1.52119 -+      esac
 1.52120 -+      func_show_eval "$RM $rmfiles" 'exit_status=1'
 1.52121 -+    done
 1.52122 -+    objdir="$origobjdir"
 1.52123 -+
 1.52124 -+    # Try to remove the ${objdir}s in the directories where we deleted files
 1.52125 -+    for dir in $rmdirs; do
 1.52126 -+      if test -d "$dir"; then
 1.52127 -+	func_show_eval "rmdir $dir >/dev/null 2>&1"
 1.52128 -+      fi
 1.52129 -+    done
 1.52130 -+
 1.52131 -+    exit $exit_status
 1.52132 -+}
 1.52133 -+
 1.52134 -+{ test "$mode" = uninstall || test "$mode" = clean; } &&
 1.52135 -+    func_mode_uninstall ${1+"$@"}
 1.52136 -+
 1.52137 -+test -z "$mode" && {
 1.52138 -+  help="$generic_help"
 1.52139 -+  func_fatal_help "you must specify a MODE"
 1.52140 -+}
 1.52141 -+
 1.52142 -+test -z "$exec_cmd" && \
 1.52143 -+  func_fatal_help "invalid operation mode \`$mode'"
 1.52144 -+
 1.52145 -+if test -n "$exec_cmd"; then
 1.52146 -+  eval exec "$exec_cmd"
 1.52147 -+  exit $EXIT_FAILURE
 1.52148 -+fi
 1.52149 -+
 1.52150 -+exit $exit_status
 1.52151 -+
 1.52152 -+
 1.52153 -+# The TAGs below are defined such that we never get into a situation
 1.52154 -+# in which we disable both kinds of libraries.  Given conflicting
 1.52155 -+# choices, we go for a static library, that is the most portable,
 1.52156 -+# since we can't tell whether shared libraries were disabled because
 1.52157 -+# the user asked for that or because the platform doesn't support
 1.52158 -+# them.  This is particularly important on AIX, because we don't
 1.52159 -+# support having both static and shared libraries enabled at the same
 1.52160 -+# time on that platform, so we default to a shared-only configuration.
 1.52161 -+# If a disable-shared tag is given, we'll fallback to a static-only
 1.52162 -+# configuration.  But we'll never go from static-only to shared-only.
 1.52163 -+
 1.52164 -+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
 1.52165 -+build_libtool_libs=no
 1.52166 -+build_old_libs=yes
 1.52167 -+# ### END LIBTOOL TAG CONFIG: disable-shared
 1.52168 -+
 1.52169 -+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
 1.52170 -+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
 1.52171 -+# ### END LIBTOOL TAG CONFIG: disable-static
 1.52172 -+
 1.52173 -+# Local Variables:
 1.52174 -+# mode:shell-script
 1.52175 -+# sh-indentation:2
 1.52176 -+# End:
 1.52177 -+# vi:sw=2
 1.52178 ---- a/bfd/Makefile.in
 1.52179 -+++ b/bfd/Makefile.in
 1.52180 -@@ -312,6 +312,7 @@ ALL_MACHINES = \
 1.52181 - 	cpu-arc.lo \
 1.52182 - 	cpu-arm.lo \
 1.52183 - 	cpu-avr.lo \
 1.52184 -+	cpu-avr32.lo \
 1.52185 - 	cpu-bfin.lo \
 1.52186 - 	cpu-cr16.lo \
 1.52187 - 	cpu-cr16c.lo \
 1.52188 -@@ -493,6 +494,7 @@ BFD32_BACKENDS = \
 1.52189 - 	elf32-arc.lo \
 1.52190 - 	elf32-arm.lo \
 1.52191 - 	elf32-avr.lo \
 1.52192 -+	elf32-avr32.lo \
 1.52193 - 	elf32-bfin.lo \
 1.52194 - 	elf32-cr16.lo \
 1.52195 - 	elf32-cr16c.lo \
 1.52196 -@@ -1908,6 +1910,10 @@ elf32-cr16.lo: elf32-cr16.c $(INCDIR)/fi
 1.52197 -   $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h elf-bfd.h \
 1.52198 -   $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
 1.52199 -   $(INCDIR)/elf/cr16.h $(INCDIR)/elf/reloc-macros.h elf32-target.h
 1.52200 -+elf32-avr32.lo: elf32-avr32.c $(INCDIR)/filenames.h elf-bfd.h \
 1.52201 -+  $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
 1.52202 -+  $(INCDIR)/bfdlink.h $(INCDIR)/elf/avr32.h $(INCDIR)/elf/reloc-macros.h \
 1.52203 -+  elf32-target.h
 1.52204 - elf32-cr16c.lo: elf32-cr16c.c $(INCDIR)/filenames.h \
 1.52205 -   $(INCDIR)/hashtab.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/cr16c.h \
 1.52206 -   $(INCDIR)/elf/reloc-macros.h elf-bfd.h $(INCDIR)/elf/common.h \
 1.52207 ---- /dev/null
 1.52208 -+++ b/bfd/po/Makefile.in
 1.52209 -@@ -0,0 +1,297 @@
 1.52210 -+# Makefile for program source directory in GNU NLS utilities package.
 1.52211 -+# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
 1.52212 -+# Copyright 2001, 2003, 2006 Free Software Foundation, Inc.
 1.52213 -+#
 1.52214 -+# This file may be copied and used freely without restrictions.  It can
 1.52215 -+# be used in projects which are not available under the GNU Public License
 1.52216 -+# but which still want to provide support for the GNU gettext functionality.
 1.52217 -+# Please note that the actual code is *not* freely available.
 1.52218 -+
 1.52219 -+PACKAGE = bfd
 1.52220 -+VERSION = 2.18.atmel.1.0.1.avr32linux.1
 1.52221 -+
 1.52222 -+SHELL = /bin/sh
 1.52223 -+
 1.52224 -+
 1.52225 -+srcdir = .
 1.52226 -+top_srcdir = ..
 1.52227 -+
 1.52228 -+top_builddir = ..
 1.52229 -+
 1.52230 -+prefix = /usr
 1.52231 -+exec_prefix = ${prefix}
 1.52232 -+datadir = $(prefix)/share
 1.52233 -+localedir = $(datadir)/locale
 1.52234 -+gnulocaledir = $(prefix)/share/locale
 1.52235 -+gettextsrcdir = $(prefix)/share/gettext/po
 1.52236 -+subdir = po
 1.52237 -+
 1.52238 -+DESTDIR =
 1.52239 -+
 1.52240 -+INSTALL = /usr/bin/install -c
 1.52241 -+INSTALL_DATA = ${INSTALL} -m 644
 1.52242 -+MKINSTALLDIRS = $(top_builddir)/./../mkinstalldirs
 1.52243 -+
 1.52244 -+CC = gcc
 1.52245 -+GENCAT = gencat
 1.52246 -+GMSGFMT = PATH=../src:$$PATH /usr/bin/msgfmt
 1.52247 -+MSGFMT = /usr/bin/msgfmt
 1.52248 -+XGETTEXT = PATH=../src:$$PATH /usr/bin/xgettext
 1.52249 -+MSGMERGE = PATH=../src:$$PATH msgmerge
 1.52250 -+
 1.52251 -+DEFS = -DHAVE_CONFIG_H
 1.52252 -+CFLAGS = -g -O2
 1.52253 -+CPPFLAGS = 
 1.52254 -+
 1.52255 -+INCLUDES = -I.. -I$(top_srcdir)/intl
 1.52256 -+
 1.52257 -+COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
 1.52258 -+
 1.52259 -+SOURCES = cat-id-tbl.c
 1.52260 -+POFILES = @POFILES@
 1.52261 -+GMOFILES = @GMOFILES@
 1.52262 -+DISTFILES = ChangeLog Makefile.in.in SRC-POTFILES.in BLD-POTFILES.in $(PACKAGE).pot \
 1.52263 -+stamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES)
 1.52264 -+
 1.52265 -+# Note - the following line gets processed by bfd/configure and amended
 1.52266 -+# to contain the full list of source dir POTFILES.
 1.52267 -+SRC-POTFILES = \
 1.52268 -+
 1.52269 -+# Note - the following line gets processed by bfd/configure and amended
 1.52270 -+# to contain the full list of build dir POTFILES.
 1.52271 -+BLD-POTFILES = \
 1.52272 -+
 1.52273 -+CATALOGS =  da.gmo es.gmo fr.gmo ja.gmo ro.gmo rw.gmo sv.gmo tr.gmo vi.gmo zh_CN.gmo da.gmo es.gmo fr.gmo ja.gmo ro.gmo rw.gmo sv.gmo tr.gmo vi.gmo zh_CN.gmo
 1.52274 -+CATOBJEXT = .gmo
 1.52275 -+INSTOBJEXT = .mo
 1.52276 -+
 1.52277 -+.SUFFIXES:
 1.52278 -+.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat
 1.52279 -+
 1.52280 -+.c.o:
 1.52281 -+	$(COMPILE) $<
 1.52282 -+
 1.52283 -+.po.pox:
 1.52284 -+	$(MAKE) $(PACKAGE).pot
 1.52285 -+	$(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox
 1.52286 -+
 1.52287 -+.po.mo:
 1.52288 -+	$(MSGFMT) -o $@ $<
 1.52289 -+
 1.52290 -+.po.gmo:
 1.52291 -+	file=`echo $* | sed 's,.*/,,'`.gmo \
 1.52292 -+	  && rm -f $$file && $(GMSGFMT) -o $$file $<
 1.52293 -+
 1.52294 -+.po.cat:
 1.52295 -+	sed -f ../intl/po2msg.sed < $< > $*.msg \
 1.52296 -+	  && rm -f $@ && $(GENCAT) $@ $*.msg
 1.52297 -+
 1.52298 -+
 1.52299 -+all: all-yes
 1.52300 -+
 1.52301 -+all-yes: $(CATALOGS) # $(PACKAGE).pot
 1.52302 -+all-no:
 1.52303 -+
 1.52304 -+$(srcdir)/$(PACKAGE).pot: $(SRC-POTFILES) $(BLD-POTFILES)
 1.52305 -+	$(XGETTEXT) --default-domain=$(PACKAGE) \
 1.52306 -+	  --directory=$(top_srcdir) \
 1.52307 -+	  --add-comments --keyword=_ --keyword=N_ \
 1.52308 -+	  --msgid-bugs-address=bug-binutils@gnu.org \
 1.52309 -+	  --files-from=$(srcdir)/SRC-POTFILES.in 
 1.52310 -+	$(XGETTEXT) --default-domain=$(PACKAGE) \
 1.52311 -+	  --directory=.. \
 1.52312 -+	  --directory=. \
 1.52313 -+	  --add-comments --keyword=_ --keyword=N_ \
 1.52314 -+	  --join-existing \
 1.52315 -+	  --msgid-bugs-address=bug-binutils@gnu.org \
 1.52316 -+	  --files-from=$(srcdir)/BLD-POTFILES.in
 1.52317 -+	rm -f $(srcdir)/$(PACKAGE).pot
 1.52318 -+	mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot
 1.52319 -+
 1.52320 -+$(srcdir)/cat-id-tbl.c: stamp-cat-id; @:
 1.52321 -+$(srcdir)/stamp-cat-id: $(PACKAGE).pot
 1.52322 -+	rm -f cat-id-tbl.tmp
 1.52323 -+	sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \
 1.52324 -+		| sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp
 1.52325 -+	if cmp -s cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; then \
 1.52326 -+	  rm cat-id-tbl.tmp; \
 1.52327 -+	else \
 1.52328 -+	  echo cat-id-tbl.c changed; \
 1.52329 -+	  rm -f $(srcdir)/cat-id-tbl.c; \
 1.52330 -+	  mv cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; \
 1.52331 -+	fi
 1.52332 -+	cd $(srcdir) && rm -f stamp-cat-id && echo timestamp > stamp-cat-id
 1.52333 -+
 1.52334 -+
 1.52335 -+install: install-exec install-data
 1.52336 -+install-exec:
 1.52337 -+install-info:
 1.52338 -+install-html:
 1.52339 -+install-data: install-data-yes
 1.52340 -+install-data-no: all
 1.52341 -+install-data-yes: all
 1.52342 -+	if test -r $(MKINSTALLDIRS); then \
 1.52343 -+	  $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \
 1.52344 -+	else \
 1.52345 -+	  $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \
 1.52346 -+	fi
 1.52347 -+	@catalogs='$(CATALOGS)'; \
 1.52348 -+	for cat in $$catalogs; do \
 1.52349 -+	  cat=`basename $$cat`; \
 1.52350 -+	  case "$$cat" in \
 1.52351 -+	    *.gmo) destdir=$(gnulocaledir);; \
 1.52352 -+	    *)     destdir=$(localedir);; \
 1.52353 -+	  esac; \
 1.52354 -+	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
 1.52355 -+	  dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \
 1.52356 -+	  if test -r $(MKINSTALLDIRS); then \
 1.52357 -+	    $(MKINSTALLDIRS) $$dir; \
 1.52358 -+	  else \
 1.52359 -+	    $(top_srcdir)/mkinstalldirs $$dir; \
 1.52360 -+	  fi; \
 1.52361 -+	  if test -r $$cat; then \
 1.52362 -+	    $(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
 1.52363 -+	    echo "installing $$cat as $$dir/$(PACKAGE)$(INSTOBJEXT)"; \
 1.52364 -+	  else \
 1.52365 -+	    $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
 1.52366 -+	    echo "installing $(srcdir)/$$cat as" \
 1.52367 -+		 "$$dir/$(PACKAGE)$(INSTOBJEXT)"; \
 1.52368 -+	  fi; \
 1.52369 -+	  if test -r $$cat.m; then \
 1.52370 -+	    $(INSTALL_DATA) $$cat.m $$dir/$(PACKAGE)$(INSTOBJEXT).m; \
 1.52371 -+	    echo "installing $$cat.m as $$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
 1.52372 -+	  else \
 1.52373 -+	    if test -r $(srcdir)/$$cat.m ; then \
 1.52374 -+	      $(INSTALL_DATA) $(srcdir)/$$cat.m \
 1.52375 -+		$$dir/$(PACKAGE)$(INSTOBJEXT).m; \
 1.52376 -+	      echo "installing $(srcdir)/$$cat as" \
 1.52377 -+		   "$$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
 1.52378 -+	    else \
 1.52379 -+	      true; \
 1.52380 -+	    fi; \
 1.52381 -+	  fi; \
 1.52382 -+	done
 1.52383 -+	if test "$(PACKAGE)" = "gettext"; then \
 1.52384 -+	  if test -r $(MKINSTALLDIRS); then \
 1.52385 -+	    $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \
 1.52386 -+	  else \
 1.52387 -+	    $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \
 1.52388 -+	  fi; \
 1.52389 -+	  $(INSTALL_DATA) $(srcdir)/Makefile.in.in \
 1.52390 -+			  $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
 1.52391 -+	else \
 1.52392 -+	  : ; \
 1.52393 -+	fi
 1.52394 -+
 1.52395 -+# Define this as empty until I found a useful application.
 1.52396 -+installcheck:
 1.52397 -+
 1.52398 -+uninstall:
 1.52399 -+	catalogs='$(CATALOGS)'; \
 1.52400 -+	for cat in $$catalogs; do \
 1.52401 -+	  cat=`basename $$cat`; \
 1.52402 -+	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
 1.52403 -+	  rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
 1.52404 -+	  rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
 1.52405 -+	  rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
 1.52406 -+	  rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
 1.52407 -+	done
 1.52408 -+	rm -f $(DESTDIR)$(gettextsrcdir)/po-Makefile.in.in
 1.52409 -+
 1.52410 -+check: all
 1.52411 -+
 1.52412 -+cat-id-tbl.o: ../intl/libgettext.h
 1.52413 -+
 1.52414 -+html dvi pdf ps info tags TAGS ID:
 1.52415 -+
 1.52416 -+mostlyclean:
 1.52417 -+	rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp
 1.52418 -+	rm -fr *.o
 1.52419 -+
 1.52420 -+clean: mostlyclean
 1.52421 -+
 1.52422 -+distclean: clean
 1.52423 -+	rm -f Makefile Makefile.in *.mo *.msg *.cat *.cat.m
 1.52424 -+	rm -f SRC-POTFILES BLD-POTFILES 
 1.52425 -+
 1.52426 -+maintainer-clean: distclean
 1.52427 -+	@echo "This command is intended for maintainers to use;"
 1.52428 -+	@echo "it deletes files that may require special tools to rebuild."
 1.52429 -+	rm -f $(GMOFILES) SRC-POTFILES.in BLD-POTFILES.in
 1.52430 -+
 1.52431 -+distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
 1.52432 -+dist distdir: update-po $(DISTFILES)
 1.52433 -+	dists="$(DISTFILES)"; \
 1.52434 -+	for file in $$dists; do \
 1.52435 -+	  ln $(srcdir)/$$file $(distdir) 2> /dev/null \
 1.52436 -+	    || cp -p $(srcdir)/$$file $(distdir); \
 1.52437 -+	done
 1.52438 -+
 1.52439 -+update-po: Makefile
 1.52440 -+	$(MAKE) $(PACKAGE).pot
 1.52441 -+	PATH=`pwd`/../src:$$PATH; \
 1.52442 -+	cd $(srcdir); \
 1.52443 -+	catalogs='$(CATALOGS)'; \
 1.52444 -+	for cat in $$catalogs; do \
 1.52445 -+	  cat=`basename $$cat`; \
 1.52446 -+	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
 1.52447 -+	  mv $$lang.po $$lang.old.po; \
 1.52448 -+	  echo "$$lang:"; \
 1.52449 -+	  if $(MSGMERGE) $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \
 1.52450 -+	    rm -f $$lang.old.po; \
 1.52451 -+	  else \
 1.52452 -+	    echo "msgmerge for $$cat failed!"; \
 1.52453 -+	    rm -f $$lang.po; \
 1.52454 -+	    mv $$lang.old.po $$lang.po; \
 1.52455 -+	  fi; \
 1.52456 -+	done
 1.52457 -+
 1.52458 -+SRC-POTFILES: SRC-POTFILES.in
 1.52459 -+	( if test 'x$(srcdir)' != 'x.'; then \
 1.52460 -+	    posrcprefix='$(top_srcdir)/'; \
 1.52461 -+	  else \
 1.52462 -+	    posrcprefix="../"; \
 1.52463 -+	  fi; \
 1.52464 -+	  rm -f $@-t $@ \
 1.52465 -+	    && (sed -e '/^#/d' \
 1.52466 -+	            -e '/^[ 	]*$$/d' \
 1.52467 -+		    -e "s@.*@	$$posrcprefix& \\\\@" < $(srcdir)/$@.in \
 1.52468 -+		| sed -e '$$s/\\$$//') > $@-t \
 1.52469 -+	    && chmod a-w $@-t \
 1.52470 -+	    && mv $@-t $@ )
 1.52471 -+
 1.52472 -+BLD-POTFILES: BLD-POTFILES.in
 1.52473 -+	  ( rm -f $@-t $@ \
 1.52474 -+	    && (sed -e '/^#/d' \
 1.52475 -+	            -e '/^[ 	]*$$/d' \
 1.52476 -+		    -e "s@.*@	../& \\\\@" < $(srcdir)/$@.in \
 1.52477 -+		| sed -e '$$s/\\$$//') > $@-t \
 1.52478 -+	    && chmod a-w $@-t \
 1.52479 -+	    && mv $@-t $@ )
 1.52480 -+
 1.52481 -+SRC-POTFILES.in: # ../Makefile
 1.52482 -+	cd .. && $(MAKE) po/SRC-POTFILES.in
 1.52483 -+
 1.52484 -+BLD-POTFILES.in: # ../Makefile
 1.52485 -+	cd .. && $(MAKE) po/BLD-POTFILES.in
 1.52486 -+
 1.52487 -+# Note - The presence of SRC-POTFILES and BLD-POTFILES as dependencies
 1.52488 -+# here breaks the implementation of the 'distclean' rule for maintainers.
 1.52489 -+# This is because if 'make distclean' is run in the BFD directory, the
 1.52490 -+# Makefile there will be deleted before 'distclean' is made here, and so
 1.52491 -+# the dependency SRC-POTFILES -> SRC-POTFILES.in -> ../Makefile cannot
 1.52492 -+# be satisfied.
 1.52493 -+#
 1.52494 -+# The SRC-POTFILES and BLD-POTFILES dependencies cannot be removed,
 1.52495 -+# however since it is necessary that these files be built during
 1.52496 -+# *configure* time, so that configure can insert them into the
 1.52497 -+# po/Makefile that it is creating, so that the Makefile will have
 1.52498 -+# the correct dependencies.
 1.52499 -+Makefile: Make-in ../config.status SRC-POTFILES BLD-POTFILES
 1.52500 -+	cd .. \
 1.52501 -+	  && CONFIG_FILES=$(subdir)/Makefile.in:$(subdir)/Make-in \
 1.52502 -+	     CONFIG_HEADERS= $(SHELL) ./config.status
 1.52503 -+
 1.52504 -+# Tell versions [3.59,3.63) of GNU make not to export all variables.
 1.52505 -+# Otherwise a system limit (for SysV at least) may be exceeded.
 1.52506 -+.NOEXPORT:
 1.52507 ---- a/binutils/Makefile.in
 1.52508 -+++ b/binutils/Makefile.in
 1.52509 -@@ -1327,7 +1327,7 @@ readelf.o: readelf.c sysdep.h $(INCDIR)/
 1.52510 -   $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h bucomm.h dwarf.h \
 1.52511 -   $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h \
 1.52512 -   $(INCDIR)/elf/h8.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/elf/alpha.h \
 1.52513 --  $(INCDIR)/elf/arc.h $(INCDIR)/elf/arm.h $(INCDIR)/elf/avr.h \
 1.52514 -+  $(INCDIR)/elf/arc.h $(INCDIR)/elf/arm.h $(INCDIR)/elf/avr.h $(INCDIR)/elf/avr32.h\
 1.52515 -   $(INCDIR)/elf/bfin.h $(INCDIR)/elf/cris.h $(INCDIR)/elf/crx.h \
 1.52516 -   $(INCDIR)/elf/d10v.h $(INCDIR)/elf/d30v.h $(INCDIR)/elf/dlx.h \
 1.52517 -   $(INCDIR)/elf/fr30.h $(INCDIR)/elf/frv.h $(INCDIR)/elf/hppa.h \
 1.52518 ---- a/ld/Makefile.in
 1.52519 -+++ b/ld/Makefile.in
 1.52520 -@@ -384,7 +384,34 @@ ALL_EMULATIONS = \
 1.52521 - 	eavr3.o \
 1.52522 - 	eavr4.o \
 1.52523 - 	eavr5.o \
 1.52524 --	eavr6.o \
 1.52525 -+    eavr6.o \
 1.52526 -+	eavr32elf_ap7000.o \
 1.52527 -+	eavr32elf_ap7001.o \
 1.52528 -+	eavr32elf_ap7002.o \
 1.52529 -+	eavr32elf_ap7200.o \
 1.52530 -+	eavr32elf_uc3a0128.o \
 1.52531 -+	eavr32elf_uc3a0256.o \
 1.52532 -+	eavr32elf_uc3a0512.o \
 1.52533 -+	eavr32elf_uc3a0512es.o \
 1.52534 -+	eavr32elf_uc3a1128.o \
 1.52535 -+	eavr32elf_uc3a1256.o \
 1.52536 -+	eavr32elf_uc3a1512es.o \
 1.52537 -+	eavr32elf_uc3a1512.o \
 1.52538 -+	eavr32elf_uc3a364.o \
 1.52539 -+	eavr32elf_uc3a364s.o \
 1.52540 -+	eavr32elf_uc3a3128.o \
 1.52541 -+	eavr32elf_uc3a3128s.o \
 1.52542 -+	eavr32elf_uc3a3256.o \
 1.52543 -+	eavr32elf_uc3a3256s.o \
 1.52544 -+	eavr32elf_uc3b064.o \
 1.52545 -+	eavr32elf_uc3b0128.o \
 1.52546 -+	eavr32elf_uc3b0256es.o \
 1.52547 -+	eavr32elf_uc3b0256.o \
 1.52548 -+	eavr32elf_uc3b164.o \
 1.52549 -+	eavr32elf_uc3b1128.o \
 1.52550 -+	eavr32elf_uc3b1256es.o \
 1.52551 -+	eavr32elf_uc3b1256.o \
 1.52552 -+	eavr32linux.o \
 1.52553 - 	ecoff_i860.o \
 1.52554 - 	ecoff_sparc.o \
 1.52555 - 	eelf32_spu.o \
 1.52556 -@@ -1448,6 +1475,114 @@ eavr6.c: $(srcdir)/emulparams/avr6.sh $(
 1.52557 -   $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
 1.52558 -   ${GEN_DEPENDS}
 1.52559 - 	${GENSCRIPTS} avr6 "$(tdir_avr2)"
 1.52560 -+eavr32elf_ap7000.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52561 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52562 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52563 -+	${GENSCRIPTS} avr32elf_ap7000 "$(tdir_avr32)" avr32elf
 1.52564 -+eavr32elf_ap7001.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52565 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52566 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52567 -+	${GENSCRIPTS} avr32elf_ap7001 "$(tdir_avr32)" avr32elf
 1.52568 -+eavr32elf_ap7002.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52569 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52570 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52571 -+	${GENSCRIPTS} avr32elf_ap7002 "$(tdir_avr32)" avr32elf
 1.52572 -+eavr32elf_ap7200.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52573 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52574 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52575 -+	${GENSCRIPTS} avr32elf_ap7200 "$(tdir_avr32)" avr32elf
 1.52576 -+eavr32elf_uc3a0128.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52577 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52578 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52579 -+	${GENSCRIPTS} avr32elf_uc3a0128 "$(tdir_avr32)" avr32elf
 1.52580 -+eavr32elf_uc3a0256.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52581 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52582 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52583 -+	${GENSCRIPTS} avr32elf_uc3a0256 "$(tdir_avr32)" avr32elf
 1.52584 -+eavr32elf_uc3a0512.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52585 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52586 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52587 -+	${GENSCRIPTS} avr32elf_uc3a0512 "$(tdir_avr32)" avr32elf
 1.52588 -+eavr32elf_uc3a0512es.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52589 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52590 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52591 -+	${GENSCRIPTS} avr32elf_uc3a0512es "$(tdir_avr32)" avr32elf
 1.52592 -+eavr32elf_uc3a1128.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52593 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52594 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52595 -+	${GENSCRIPTS} avr32elf_uc3a1128 "$(tdir_avr32)" avr32elf
 1.52596 -+eavr32elf_uc3a1256.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52597 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52598 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52599 -+	${GENSCRIPTS} avr32elf_uc3a1256 "$(tdir_avr32)" avr32elf
 1.52600 -+eavr32elf_uc3a1512.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52601 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52602 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52603 -+	${GENSCRIPTS} avr32elf_uc3a1512 "$(tdir_avr32)" avr32elf
 1.52604 -+eavr32elf_uc3a1512es.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52605 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52606 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52607 -+	${GENSCRIPTS} avr32elf_uc3a1512es "$(tdir_avr32)" avr32elf
 1.52608 -+eavr32elf_uc3a364.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52609 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52610 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52611 -+	${GENSCRIPTS} avr32elf_uc3a364 "$(tdir_avr32)" avr32elf
 1.52612 -+eavr32elf_uc3a364s.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52613 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52614 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52615 -+	${GENSCRIPTS} avr32elf_uc3a364s "$(tdir_avr32)" avr32elf
 1.52616 -+eavr32elf_uc3a3128.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52617 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52618 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52619 -+	${GENSCRIPTS} avr32elf_uc3a3128 "$(tdir_avr32)" avr32elf
 1.52620 -+eavr32elf_uc3a3128s.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52621 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52622 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52623 -+	${GENSCRIPTS} avr32elf_uc3a3128s "$(tdir_avr32)" avr32elf
 1.52624 -+eavr32elf_uc3a3256.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52625 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52626 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52627 -+	${GENSCRIPTS} avr32elf_uc3a3256 "$(tdir_avr32)" avr32elf
 1.52628 -+eavr32elf_uc3a3256s.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52629 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52630 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52631 -+	${GENSCRIPTS} avr32elf_uc3a3256s "$(tdir_avr32)" avr32elf
 1.52632 -+eavr32elf_uc3b064.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52633 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52634 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52635 -+	${GENSCRIPTS} avr32elf_uc3b064 "$(tdir_avr32)" avr32elf
 1.52636 -+eavr32elf_uc3b0128.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52637 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52638 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52639 -+	${GENSCRIPTS} avr32elf_uc3b0128 "$(tdir_avr32)" avr32elf
 1.52640 -+eavr32elf_uc3b0256.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52641 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52642 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52643 -+	${GENSCRIPTS} avr32elf_uc3b0256 "$(tdir_avr32)" avr32elf
 1.52644 -+eavr32elf_uc3b0256es.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52645 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52646 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52647 -+	${GENSCRIPTS} avr32elf_uc3b0256es "$(tdir_avr32)" avr32elf
 1.52648 -+eavr32elf_uc3b164.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52649 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52650 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52651 -+	${GENSCRIPTS} avr32elf_uc3b164 "$(tdir_avr32)" avr32elf
 1.52652 -+eavr32elf_uc3b1128.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52653 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52654 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52655 -+	${GENSCRIPTS} avr32elf_uc3b1128 "$(tdir_avr32)" avr32elf
 1.52656 -+eavr32elf_uc3b1256.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52657 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52658 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52659 -+	${GENSCRIPTS} avr32elf_uc3b1256 "$(tdir_avr32)" avr32elf
 1.52660 -+eavr32elf_uc3b1256es.c: $(srcdir)/emulparams/avr32elf.sh \
 1.52661 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52662 -+  $(srcdir)/scripttempl/elf_xip.sc ${GEN_DEPENDS}
 1.52663 -+	${GENSCRIPTS} avr32elf_uc3b1256es "$(tdir_avr32)" avr32elf
 1.52664 -+eavr32linux.c: $(srcdir)/emulparams/avr32linux.sh \
 1.52665 -+  $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/avr32elf.em \
 1.52666 -+  $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 1.52667 -+	${GENSCRIPTS} avr32linux "$(tdir_avr32)"
 1.52668 - ecoff_i860.c: $(srcdir)/emulparams/coff_i860.sh \
 1.52669 -   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i860coff.sc ${GEN_DEPENDS}
 1.52670 - 	${GENSCRIPTS} coff_i860 "$(tdir_coff_i860)"
 1.52671 -@@ -2679,7 +2814,9 @@ install-exec-local: ld-new$(EXEEXT)
 1.52672 - 	  || $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
 1.52673 - 	fi
 1.52674 - 
 1.52675 --install-data-local:
 1.52676 -+# We want install to imply install-info as per GNU standards, despite the
 1.52677 -+# cygnus option.
 1.52678 -+install-data-local: install-info
 1.52679 - 	$(mkinstalldirs) $(DESTDIR)$(scriptdir)/ldscripts
 1.52680 - 	for f in ldscripts/*; do \
 1.52681 - 	  $(INSTALL_DATA) $$f $(DESTDIR)$(scriptdir)/$$f ; \
 1.52682 ---- /dev/null
 1.52683 -+++ b/libiberty/required-list
 1.52684 -@@ -0,0 +1 @@
 1.52685 -+./regex.o ./cplus-dem.o ./cp-demangle.o ./md5.o ./alloca.o ./argv.o ./choose-temp.o ./concat.o ./cp-demint.o ./dyn-string.o ./fdmatch.o ./fibheap.o ./filename_cmp.o ./floatformat.o ./fnmatch.o ./fopen_unlocked.o ./getopt.o ./getopt1.o ./getpwd.o ./getruntime.o ./hashtab.o ./hex.o ./lbasename.o ./lrealpath.o ./make-relative-prefix.o ./make-temp-file.o ./objalloc.o ./obstack.o ./partition.o ./pexecute.o ./physmem.o ./pex-common.o ./pex-one.o ./pex-unix.o ./safe-ctype.o ./sort.o ./spaces.o ./splay-tree.o ./strerror.o ./strsignal.o ./unlink-if-ordinary.o ./xatexit.o ./xexit.o ./xmalloc.o ./xmemdup.o ./xstrdup.o ./xstrerror.o ./xstrndup.o
 1.52686 ---- a/opcodes/configure
 1.52687 -+++ b/opcodes/configure
 1.52688 -@@ -11418,6 +11418,7 @@ if test x${all_targets} = xfalse ; then
 1.52689 - 	bfd_arc_arch)		ta="$ta arc-dis.lo arc-opc.lo arc-ext.lo" ;;
 1.52690 - 	bfd_arm_arch)		ta="$ta arm-dis.lo" ;;
 1.52691 - 	bfd_avr_arch)		ta="$ta avr-dis.lo" ;;
 1.52692 -+	bfd_avr32_arch)		ta="$ta avr32-asm.lo avr32-dis.lo avr32-opc.lo" ;;
 1.52693 - 	bfd_bfin_arch)		ta="$ta bfin-dis.lo" ;;
 1.52694 - 	bfd_cr16_arch)    	ta="$ta cr16-dis.lo cr16-opc.lo" ;;
 1.52695 - 	bfd_cris_arch)		ta="$ta cris-dis.lo cris-opc.lo cgen-bitset.lo" ;;
 1.52696 -@@ -11476,7 +11477,7 @@ if test x${all_targets} = xfalse ; then
 1.52697 - 				ta="$ta sh64-dis.lo sh64-opc.lo"
 1.52698 - 				archdefs="$archdefs -DINCLUDE_SHMEDIA"
 1.52699 - 				break;;
 1.52700 --	    esac;
 1.52701 -+	    esac
 1.52702 - 	  done
 1.52703 - 				ta="$ta sh-dis.lo cgen-bitset.lo" ;;
 1.52704 - 	bfd_sparc_arch)		ta="$ta sparc-dis.lo sparc-opc.lo" ;;
 1.52705 ---- a/opcodes/Makefile.in
 1.52706 -+++ b/opcodes/Makefile.in
 1.52707 -@@ -257,6 +257,7 @@ LIBIBERTY = ../libiberty/libiberty.a
 1.52708 - # Header files.
 1.52709 - HFILES = \
 1.52710 - 	cgen-ops.h cgen-types.h \
 1.52711 -+	avr32-asm.h avr32-opc.h \
 1.52712 - 	fr30-desc.h fr30-opc.h \
 1.52713 - 	frv-desc.h frv-opc.h \
 1.52714 - 	h8500-opc.h \
 1.52715 -@@ -291,6 +292,9 @@ CFILES = \
 1.52716 - 	arc-ext.c \
 1.52717 - 	arm-dis.c \
 1.52718 - 	avr-dis.c \
 1.52719 -+	avr32-asm.c \
 1.52720 -+	avr32-dis.c \
 1.52721 -+	avr32-opc.c \
 1.52722 - 	bfin-dis.c \
 1.52723 - 	cgen-asm.c \
 1.52724 - 	cgen-bitset.c \
 1.52725 -@@ -445,6 +449,9 @@ ALL_MACHINES = \
 1.52726 - 	arc-ext.lo \
 1.52727 - 	arm-dis.lo \
 1.52728 - 	avr-dis.lo \
 1.52729 -+	avr32-asm.lo \
 1.52730 -+	avr32-dis.lo \
 1.52731 -+	avr32-opc.lo \
 1.52732 - 	bfin-dis.lo \
 1.52733 - 	cgen-asm.lo \
 1.52734 - 	cgen-bitset.lo \
 1.52735 -@@ -1225,6 +1232,15 @@ avr-dis.lo: avr-dis.c sysdep.h config.h 
 1.52736 -   $(INCDIR)/dis-asm.h $(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \
 1.52737 -   opintl.h $(INCDIR)/libiberty.h $(INCDIR)/ansidecl.h \
 1.52738 -   $(INCDIR)/opcode/avr.h
 1.52739 -+avr32-asm.lo: avr32-asm.c sysdep.h config.h $(INCDIR)/ansidecl.h \
 1.52740 -+  $(BFD_H) $(INCDIR)/symcat.h avr32-opc.h opintl.h \
 1.52741 -+  $(INCDIR)/xregex.h $(INCDIR)/xregex2.h \
 1.52742 -+  $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
 1.52743 -+avr32-dis.lo: avr32-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \
 1.52744 -+  $(INCDIR)/dis-asm.h $(BFD_H) $(INCDIR)/symcat.h $(INCDIR)/libiberty.h \
 1.52745 -+  avr32-opc.h opintl.h
 1.52746 -+avr32-opc.lo: avr32-opc.c sysdep.h config.h $(INCDIR)/ansidecl.h \
 1.52747 -+  $(BFD_H) $(INCDIR)/symcat.h avr32-opc.h $(INCDIR)/libiberty.h
 1.52748 - bfin-dis.lo: bfin-dis.c $(INCDIR)/opcode/bfin.h $(INCDIR)/dis-asm.h \
 1.52749 -   $(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h
 1.52750 - cgen-asm.lo: cgen-asm.c sysdep.h config.h $(INCDIR)/ansidecl.h \