aboutsummaryrefslogtreecommitdiff
path: root/toolchain/binutils
diff options
context:
space:
mode:
authorGravatar Mike Frysinger <vapier@gentoo.org>2006-01-04 04:52:34 +0000
committerGravatar Mike Frysinger <vapier@gentoo.org>2006-01-04 04:52:34 +0000
commite420a8870a36ba7bda42b5441dedd1e3cb7c2efd (patch)
tree7a6ee8a487f5ee6cdd7f1353254cd9ce8151ea31 /toolchain/binutils
parentb36f67cc85fe3eeb6296987fc0f79c2f62a84912 (diff)
downloadbuildroot-e420a8870a36ba7bda42b5441dedd1e3cb7c2efd.tar.gz
buildroot-e420a8870a36ba7bda42b5441dedd1e3cb7c2efd.tar.bz2
incorporate patches from marc in bug #273 to add support for nios2
Diffstat (limited to 'toolchain/binutils')
-rw-r--r--toolchain/binutils/2.15/700-nios2-2.15.patch38356
-rw-r--r--toolchain/binutils/Config.in10
2 files changed, 38366 insertions, 0 deletions
diff --git a/toolchain/binutils/2.15/700-nios2-2.15.patch b/toolchain/binutils/2.15/700-nios2-2.15.patch
new file mode 100644
index 0000000000..42655f306e
--- /dev/null
+++ b/toolchain/binutils/2.15/700-nios2-2.15.patch
@@ -0,0 +1,38356 @@
+--- binutils-2.15/bfd/Makefile.am 2004-05-17 21:35:56.000000000 +0200
++++ binutils-2.15-nios2/bfd/Makefile.am 2005-05-17 12:20:13.000000000 +0200
+@@ -82,6 +82,7 @@ ALL_MACHINES = \
+ cpu-mips.lo \
+ cpu-mmix.lo \
+ cpu-msp430.lo \
++ cpu-nios2.lo \
+ cpu-or32.lo \
+ cpu-ns32k.lo \
+ cpu-openrisc.lo \
+@@ -139,6 +140,7 @@ ALL_MACHINES_CFILES = \
+ cpu-msp430.c \
+ cpu-or32.c \
+ cpu-ns32k.c \
++ cpu-nios2.c \
+ cpu-openrisc.c \
+ cpu-pdp11.c \
+ cpu-pj.c \
+@@ -241,6 +243,7 @@ BFD32_BACKENDS = \
+ elfxx-mips.lo \
+ elf32-mips.lo \
+ elf32-msp430.lo \
++ elf32-nios2.lo \
+ elf32-openrisc.lo \
+ elf32-or32.lo \
+ elf32-pj.lo \
+@@ -405,6 +408,7 @@ BFD32_BACKENDS_CFILES = \
+ elfxx-mips.c \
+ elf32-mips.c \
+ elf32-msp430.c \
++ elf32-nios2.c \
+ elf32-openrisc.c \
+ elf32-or32.c \
+ elf32-pj.c \
+@@ -943,6 +947,7 @@ cpu-mcore.lo: cpu-mcore.c $(INCDIR)/file
+ cpu-mips.lo: cpu-mips.c $(INCDIR)/filenames.h
+ cpu-mmix.lo: cpu-mmix.c $(INCDIR)/filenames.h
+ cpu-msp430.lo: cpu-msp430.c $(INCDIR)/filenames.h
++cpu-nios2.lo: cpu-nios2.c $(INCDIR)/filenames.h
+ cpu-or32.lo: cpu-or32.c $(INCDIR)/filenames.h
+ cpu-ns32k.lo: cpu-ns32k.c $(INCDIR)/filenames.h ns32k.h
+ cpu-openrisc.lo: cpu-openrisc.c $(INCDIR)/filenames.h
+@@ -1250,6 +1255,10 @@ elf32-msp430.lo: elf32-msp430.c $(INCDIR
+ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
+ $(INCDIR)/elf/msp430.h $(INCDIR)/elf/reloc-macros.h \
+ elf32-target.h
++elf32-nios2.lo: elf32-nios2.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
++ genlink.h elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
++ $(INCDIR)/elf/external.h $(INCDIR)/elf/nios2.h \
++ $(INCDIR)/elf/reloc-macros.h elf32-target.h
+ elf32-openrisc.lo: elf32-openrisc.c $(INCDIR)/filenames.h \
+ elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
+ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/openrisc.h \
+--- binutils-2.15/bfd/Makefile.in 2004-05-17 21:35:56.000000000 +0200
++++ binutils-2.15-nios2/bfd/Makefile.in 2005-05-17 12:20:13.000000000 +0200
+@@ -210,6 +210,7 @@ ALL_MACHINES = \
+ cpu-mips.lo \
+ cpu-mmix.lo \
+ cpu-msp430.lo \
++ cpu-nios2.lo \
+ cpu-or32.lo \
+ cpu-ns32k.lo \
+ cpu-openrisc.lo \
+@@ -267,6 +268,7 @@ ALL_MACHINES_CFILES = \
+ cpu-mmix.c \
+ cpu-msp430.c \
+ cpu-or32.c \
++ cpu-nios2.c \
+ cpu-ns32k.c \
+ cpu-openrisc.c \
+ cpu-pdp11.c \
+@@ -371,6 +373,7 @@ BFD32_BACKENDS = \
+ elfxx-mips.lo \
+ elf32-mips.lo \
+ elf32-msp430.lo \
++ elf32-nios2.lo \
+ elf32-openrisc.lo \
+ elf32-or32.lo \
+ elf32-pj.lo \
+@@ -536,6 +539,7 @@ BFD32_BACKENDS_CFILES = \
+ elfxx-mips.c \
+ elf32-mips.c \
+ elf32-msp430.c \
++ elf32-nios2.c \
+ elf32-openrisc.c \
+ elf32-or32.c \
+ elf32-pj.c \
+@@ -1482,6 +1486,7 @@ cpu-mmix.lo: cpu-mmix.c $(INCDIR)/filena
+ cpu-msp430.lo: cpu-msp430.c $(INCDIR)/filenames.h
+ cpu-or32.lo: cpu-or32.c $(INCDIR)/filenames.h
+ cpu-ns32k.lo: cpu-ns32k.c $(INCDIR)/filenames.h ns32k.h
++cpu-nios2.lo: cpu-nios2.c $(INCDIR)/filenames.h
+ cpu-openrisc.lo: cpu-openrisc.c $(INCDIR)/filenames.h
+ cpu-pdp11.lo: cpu-pdp11.c $(INCDIR)/filenames.h
+ cpu-pj.lo: cpu-pj.c $(INCDIR)/filenames.h
+@@ -1787,6 +1792,10 @@ elf32-msp430.lo: elf32-msp430.c $(INCDIR
+ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
+ $(INCDIR)/elf/msp430.h $(INCDIR)/elf/reloc-macros.h \
+ elf32-target.h
++elf32-nios2.lo: elf32-nios2.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
++ genlink.h elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
++ $(INCDIR)/elf/external.h $(INCDIR)/elf/nios2.h \
++ $(INCDIR)/elf/reloc-macros.h elf32-target.h
+ elf32-openrisc.lo: elf32-openrisc.c $(INCDIR)/filenames.h \
+ elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
+ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/openrisc.h \
+--- binutils-2.15/bfd/archures.c 2003-12-03 18:38:48.000000000 +0100
++++ binutils-2.15-nios2/bfd/archures.c 2005-05-17 12:20:13.000000000 +0200
+@@ -330,6 +330,8 @@ DESCRIPTION
+ .#define bfd_mach_msp44 44
+ . bfd_arch_xtensa, {* Tensilica's Xtensa cores. *}
+ .#define bfd_mach_xtensa 1
++. bfd_arch_nios2,
++.#define bfd_mach_nios2 1
+ . bfd_arch_last
+ . };
+ */
+@@ -422,6 +424,7 @@ extern const bfd_arch_info_type bfd_w65_
+ extern const bfd_arch_info_type bfd_xstormy16_arch;
+ extern const bfd_arch_info_type bfd_xtensa_arch;
+ extern const bfd_arch_info_type bfd_z8k_arch;
++extern const bfd_arch_info_type bfd_nios2_arch;
+
+ static const bfd_arch_info_type * const bfd_archures_list[] =
+ {
+@@ -460,6 +463,7 @@ static const bfd_arch_info_type * const
+ &bfd_mn10200_arch,
+ &bfd_mn10300_arch,
+ &bfd_msp430_arch,
++ &bfd_nios2_arch,
+ &bfd_ns32k_arch,
+ &bfd_openrisc_arch,
+ &bfd_or32_arch,
+--- binutils-2.15/bfd/bfd-in2.h 2004-05-17 21:35:56.000000000 +0200
++++ binutils-2.15-nios2/bfd/bfd-in2.h 2005-05-17 12:20:13.000000000 +0200
+@@ -830,37 +830,48 @@ extern void bfd_elf64_ia64_after_parse
+ (int);
+
+ /* Extracted from init.c. */
+-void bfd_init (void);
++void
++bfd_init PARAMS ((void));
+
+ /* Extracted from opncls.c. */
+-bfd *bfd_openr (const char *filename, const char *target);
++bfd *
++bfd_openr PARAMS ((const char *filename, const char *target));
+
+-bfd *bfd_fdopenr (const char *filename, const char *target, int fd);
++bfd *
++bfd_fdopenr PARAMS ((const char *filename, const char *target, int fd));
+
+-bfd *bfd_openstreamr (const char *, const char *, void *);
++bfd *
++bfd_openstreamr PARAMS ((const char *, const char *, void *));
+
+-bfd *bfd_openw (const char *filename, const char *target);
++bfd *
++bfd_openw PARAMS ((const char *filename, const char *target));
+
+-bfd_boolean bfd_close (bfd *abfd);
++bfd_boolean
++bfd_close PARAMS ((bfd *abfd));
+
+-bfd_boolean bfd_close_all_done (bfd *);
++bfd_boolean
++bfd_close_all_done PARAMS ((bfd *));
+
+-bfd *bfd_create (const char *filename, bfd *templ);
++bfd *
++bfd_create PARAMS ((const char *filename, bfd *templ));
+
+-bfd_boolean bfd_make_writable (bfd *abfd);
++bfd_boolean
++bfd_make_writable PARAMS ((bfd *abfd));
+
+-bfd_boolean bfd_make_readable (bfd *abfd);
++bfd_boolean
++bfd_make_readable PARAMS ((bfd *abfd));
+
+-unsigned long bfd_calc_gnu_debuglink_crc32
+- (unsigned long crc, const unsigned char *buf, bfd_size_type len);
++unsigned long
++bfd_calc_gnu_debuglink_crc32 PARAMS ((unsigned long crc, const unsigned char *buf, bfd_size_type len));
+
+-char *bfd_follow_gnu_debuglink (bfd *abfd, const char *dir);
++char *
++bfd_follow_gnu_debuglink PARAMS ((bfd *abfd, const char *dir));
+
+-struct bfd_section *bfd_create_gnu_debuglink_section
+- (bfd *abfd, const char *filename);
++struct bfd_section *
++bfd_create_gnu_debuglink_section PARAMS ((bfd *abfd, const char *filename));
+
+-bfd_boolean bfd_fill_in_gnu_debuglink_section
+- (bfd *abfd, struct bfd_section *sect, const char *filename);
++bfd_boolean
++bfd_fill_in_gnu_debuglink_section PARAMS ((bfd *abfd, struct bfd_section *sect, const char *filename));
+
+ /* Extracted from libbfd.c. */
+
+@@ -976,9 +987,11 @@ bfd_boolean bfd_fill_in_gnu_debuglink_se
+
+
+ /* Extracted from bfdio.c. */
+-long bfd_get_mtime (bfd *abfd);
++long
++bfd_get_mtime PARAMS ((bfd *abfd));
+
+-long bfd_get_size (bfd *abfd);
++long
++bfd_get_size PARAMS ((bfd *abfd));
+
+ /* Extracted from bfdwin.c. */
+ /* Extracted from section.c. */
+@@ -1421,48 +1434,54 @@ extern const struct bfd_symbol * const b
+ } \
+ while (0)
+
+-void bfd_section_list_clear (bfd *);
++void
++bfd_section_list_clear PARAMS ((bfd *));
+
+-asection *bfd_get_section_by_name (bfd *abfd, const char *name);
++asection *
++bfd_get_section_by_name PARAMS ((bfd *abfd, const char *name));
+
+-char *bfd_get_unique_section_name
+- (bfd *abfd, const char *templat, int *count);
++char *
++bfd_get_unique_section_name PARAMS ((bfd *abfd, const char *templat, int *count));
+
+-asection *bfd_make_section_old_way (bfd *abfd, const char *name);
++asection *
++bfd_make_section_old_way PARAMS ((bfd *abfd, const char *name));
+
+-asection *bfd_make_section_anyway (bfd *abfd, const char *name);
++asection *
++bfd_make_section_anyway PARAMS ((bfd *abfd, const char *name));
+
+-asection *bfd_make_section (bfd *, const char *name);
++asection *
++bfd_make_section PARAMS ((bfd *, const char *name));
+
+-bfd_boolean bfd_set_section_flags
+- (bfd *abfd, asection *sec, flagword flags);
++bfd_boolean
++bfd_set_section_flags PARAMS ((bfd *abfd, asection *sec, flagword flags));
+
+-void bfd_map_over_sections
+- (bfd *abfd,
++void
++bfd_map_over_sections PARAMS ((bfd *abfd,
+ void (*func) (bfd *abfd, asection *sect, void *obj),
+- void *obj);
++ void *obj));
+
+-bfd_boolean bfd_set_section_size
+- (bfd *abfd, asection *sec, bfd_size_type val);
++bfd_boolean
++bfd_set_section_size PARAMS ((bfd *abfd, asection *sec, bfd_size_type val));
+
+-bfd_boolean bfd_set_section_contents
+- (bfd *abfd, asection *section, const void *data,
+- file_ptr offset, bfd_size_type count);
++bfd_boolean
++bfd_set_section_contents PARAMS ((bfd *abfd, asection *section, const void *data,
++ file_ptr offset, bfd_size_type count));
+
+-bfd_boolean bfd_get_section_contents
+- (bfd *abfd, asection *section, void *location, file_ptr offset,
+- bfd_size_type count);
++bfd_boolean
++bfd_get_section_contents PARAMS ((bfd *abfd, asection *section, void *location, file_ptr offset,
++ bfd_size_type count));
+
+-bfd_boolean bfd_copy_private_section_data
+- (bfd *ibfd, asection *isec, bfd *obfd, asection *osec);
++bfd_boolean
++bfd_copy_private_section_data PARAMS ((bfd *ibfd, asection *isec, bfd *obfd, asection *osec));
+
+ #define bfd_copy_private_section_data(ibfd, isection, obfd, osection) \
+ BFD_SEND (obfd, _bfd_copy_private_section_data, \
+ (ibfd, isection, obfd, osection))
+-void _bfd_strip_section_from_output
+- (struct bfd_link_info *info, asection *section);
++void
++_bfd_strip_section_from_output PARAMS ((struct bfd_link_info *info, asection *section));
+
+-bfd_boolean bfd_generic_discard_group (bfd *abfd, asection *group);
++bfd_boolean
++bfd_generic_discard_group PARAMS ((bfd *abfd, asection *group));
+
+ /* Extracted from archures.c. */
+ enum bfd_architecture
+@@ -1728,6 +1747,8 @@ enum bfd_architecture
+ #define bfd_mach_msp44 44
+ bfd_arch_xtensa, /* Tensilica's Xtensa cores. */
+ #define bfd_mach_xtensa 1
++ bfd_arch_nios2,
++#define bfd_mach_nios2 1
+ bfd_arch_last
+ };
+
+@@ -1754,37 +1775,47 @@ typedef struct bfd_arch_info
+ }
+ bfd_arch_info_type;
+
+-const char *bfd_printable_name (bfd *abfd);
++const char *
++bfd_printable_name PARAMS ((bfd *abfd));
+
+-const bfd_arch_info_type *bfd_scan_arch (const char *string);
++const bfd_arch_info_type *
++bfd_scan_arch PARAMS ((const char *string));
+
+-const char **bfd_arch_list (void);
++const char **
++bfd_arch_list PARAMS ((void));
+
+-const bfd_arch_info_type *bfd_arch_get_compatible
+- (const bfd *abfd, const bfd *bbfd, bfd_boolean accept_unknowns);
++const bfd_arch_info_type *
++bfd_arch_get_compatible PARAMS ((const bfd *abfd, const bfd *bbfd, bfd_boolean accept_unknowns));
+
+-void bfd_set_arch_info (bfd *abfd, const bfd_arch_info_type *arg);
++void
++bfd_set_arch_info PARAMS ((bfd *abfd, const bfd_arch_info_type *arg));
+
+-enum bfd_architecture bfd_get_arch (bfd *abfd);
++enum bfd_architecture
++bfd_get_arch PARAMS ((bfd *abfd));
+
+-unsigned long bfd_get_mach (bfd *abfd);
++unsigned long
++bfd_get_mach PARAMS ((bfd *abfd));
+
+-unsigned int bfd_arch_bits_per_byte (bfd *abfd);
++unsigned int
++bfd_arch_bits_per_byte PARAMS ((bfd *abfd));
+
+-unsigned int bfd_arch_bits_per_address (bfd *abfd);
++unsigned int
++bfd_arch_bits_per_address PARAMS ((bfd *abfd));
+
+-const bfd_arch_info_type *bfd_get_arch_info (bfd *abfd);
++const bfd_arch_info_type *
++bfd_get_arch_info PARAMS ((bfd *abfd));
+
+-const bfd_arch_info_type *bfd_lookup_arch
+- (enum bfd_architecture arch, unsigned long machine);
++const bfd_arch_info_type *
++bfd_lookup_arch PARAMS ((enum bfd_architecture arch, unsigned long machine));
+
+-const char *bfd_printable_arch_mach
+- (enum bfd_architecture arch, unsigned long machine);
++const char *
++bfd_printable_arch_mach PARAMS ((enum bfd_architecture arch, unsigned long machine));
+
+-unsigned int bfd_octets_per_byte (bfd *abfd);
++unsigned int
++bfd_octets_per_byte PARAMS ((bfd *abfd));
+
+-unsigned int bfd_arch_mach_octets_per_byte
+- (enum bfd_architecture arch, unsigned long machine);
++unsigned int
++bfd_arch_mach_octets_per_byte PARAMS ((enum bfd_architecture arch, unsigned long machine));
+
+ /* Extracted from reloc.c. */
+ typedef enum bfd_reloc_status
+@@ -1967,7 +1998,8 @@ struct reloc_howto_struct
+ } \
+ }
+
+-unsigned int bfd_get_reloc_size (reloc_howto_type *);
++unsigned int
++bfd_get_reloc_size PARAMS ((reloc_howto_type *));
+
+ typedef struct relent_chain
+ {
+@@ -1976,27 +2008,27 @@ typedef struct relent_chain
+ }
+ arelent_chain;
+
+-bfd_reloc_status_type bfd_check_overflow
+- (enum complain_overflow how,
++bfd_reloc_status_type
++bfd_check_overflow PARAMS ((enum complain_overflow how,
+ unsigned int bitsize,
+ unsigned int rightshift,
+ unsigned int addrsize,
+- bfd_vma relocation);
++ bfd_vma relocation));
+
+-bfd_reloc_status_type bfd_perform_relocation
+- (bfd *abfd,
++bfd_reloc_status_type
++bfd_perform_relocation PARAMS ((bfd *abfd,
+ arelent *reloc_entry,
+ void *data,
+ asection *input_section,
+ bfd *output_bfd,
+- char **error_message);
++ char **error_message));
+
+-bfd_reloc_status_type bfd_install_relocation
+- (bfd *abfd,
++bfd_reloc_status_type
++bfd_install_relocation PARAMS ((bfd *abfd,
+ arelent *reloc_entry,
+ void *data, bfd_vma data_start,
+ asection *input_section,
+- char **error_message);
++ char **error_message));
+
+ enum bfd_reloc_code_real {
+ _dummy_first_bfd_reloc_code_real,
+@@ -3439,6 +3471,23 @@ This is the 5 bits of a value. */
+ BFD_RELOC_MSP430_16_PCREL_BYTE,
+ BFD_RELOC_MSP430_16_BYTE,
+
++/* Relocations used by the Altera New Jersey core */
++ BFD_RELOC_NIOS2_S16,
++ BFD_RELOC_NIOS2_U16,
++ BFD_RELOC_NIOS2_CALL26,
++ BFD_RELOC_NIOS2_IMM5,
++ BFD_RELOC_NIOS2_CACHE_OPX,
++ BFD_RELOC_NIOS2_IMM6,
++ BFD_RELOC_NIOS2_IMM8,
++ BFD_RELOC_NIOS2_HI16,
++ BFD_RELOC_NIOS2_LO16,
++ BFD_RELOC_NIOS2_HIADJ16,
++ BFD_RELOC_NIOS2_GPREL,
++ BFD_RELOC_NIOS2_UJMP,
++ BFD_RELOC_NIOS2_CJMP,
++ BFD_RELOC_NIOS2_CALLR,
++ BFD_RELOC_NIOS2_ALIGN,
++
+ /* IQ2000 Relocations. */
+ BFD_RELOC_IQ2000_OFFSET_16,
+ BFD_RELOC_IQ2000_OFFSET_21,
+@@ -3477,10 +3526,11 @@ BFD_RELOC_XTENSA_ASM_EXPAND. */
+ BFD_RELOC_XTENSA_ASM_SIMPLIFY,
+ BFD_RELOC_UNUSED };
+ typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
+-reloc_howto_type *bfd_reloc_type_lookup
+- (bfd *abfd, bfd_reloc_code_real_type code);
++reloc_howto_type *
++bfd_reloc_type_lookup PARAMS ((bfd *abfd, bfd_reloc_code_real_type code));
+
+-const char *bfd_get_reloc_code_name (bfd_reloc_code_real_type code);
++const char *
++bfd_get_reloc_code_name PARAMS ((bfd_reloc_code_real_type code));
+
+ /* Extracted from syms.c. */
+
+@@ -3611,9 +3661,11 @@ asymbol;
+ #define bfd_get_symtab_upper_bound(abfd) \
+ BFD_SEND (abfd, _bfd_get_symtab_upper_bound, (abfd))
+
+-bfd_boolean bfd_is_local_label (bfd *abfd, asymbol *sym);
++bfd_boolean
++bfd_is_local_label PARAMS ((bfd *abfd, asymbol *sym));
+
+-bfd_boolean bfd_is_local_label_name (bfd *abfd, const char *name);
++bfd_boolean
++bfd_is_local_label_name PARAMS ((bfd *abfd, const char *name));
+
+ #define bfd_is_local_label_name(abfd, name) \
+ BFD_SEND (abfd, _bfd_is_local_label_name, (abfd, name))
+@@ -3621,27 +3673,32 @@ bfd_boolean bfd_is_local_label_name (bfd
+ #define bfd_canonicalize_symtab(abfd, location) \
+ BFD_SEND (abfd, _bfd_canonicalize_symtab, (abfd, location))
+
+-bfd_boolean bfd_set_symtab
+- (bfd *abfd, asymbol **location, unsigned int count);
++bfd_boolean
++bfd_set_symtab PARAMS ((bfd *abfd, asymbol **location, unsigned int count));
+
+-void bfd_print_symbol_vandf (bfd *abfd, void *file, asymbol *symbol);
++void
++bfd_print_symbol_vandf PARAMS ((bfd *abfd, void *file, asymbol *symbol));
+
+ #define bfd_make_empty_symbol(abfd) \
+ BFD_SEND (abfd, _bfd_make_empty_symbol, (abfd))
+
+-asymbol *_bfd_generic_make_empty_symbol (bfd *);
++asymbol *
++_bfd_generic_make_empty_symbol PARAMS ((bfd *));
+
+ #define bfd_make_debug_symbol(abfd,ptr,size) \
+ BFD_SEND (abfd, _bfd_make_debug_symbol, (abfd, ptr, size))
+
+-int bfd_decode_symclass (asymbol *symbol);
++int
++bfd_decode_symclass PARAMS ((asymbol *symbol));
+
+-bfd_boolean bfd_is_undefined_symclass (int symclass);
++bfd_boolean
++bfd_is_undefined_symclass PARAMS ((int symclass));
+
+-void bfd_symbol_info (asymbol *symbol, symbol_info *ret);
++void
++bfd_symbol_info PARAMS ((asymbol *symbol, symbol_info *ret));
+
+-bfd_boolean bfd_copy_private_symbol_data
+- (bfd *ibfd, asymbol *isym, bfd *obfd, asymbol *osym);
++bfd_boolean
++bfd_copy_private_symbol_data PARAMS ((bfd *ibfd, asymbol *isym, bfd *obfd, asymbol *osym));
+
+ #define bfd_copy_private_symbol_data(ibfd, isymbol, obfd, osymbol) \
+ BFD_SEND (obfd, _bfd_copy_private_symbol_data, \
+@@ -3840,57 +3897,76 @@ typedef enum bfd_error
+ }
+ bfd_error_type;
+
+-bfd_error_type bfd_get_error (void);
++bfd_error_type
++bfd_get_error PARAMS ((void));
+
+-void bfd_set_error (bfd_error_type error_tag);
++void
++bfd_set_error PARAMS ((bfd_error_type error_tag));
+
+-const char *bfd_errmsg (bfd_error_type error_tag);
++const char *
++bfd_errmsg PARAMS ((bfd_error_type error_tag));
+
+-void bfd_perror (const char *message);
++void
++bfd_perror PARAMS ((const char *message));
+
+ typedef void (*bfd_error_handler_type) (const char *, ...);
+
+-bfd_error_handler_type bfd_set_error_handler (bfd_error_handler_type);
++bfd_error_handler_type
++bfd_set_error_handler PARAMS ((bfd_error_handler_type));
+
+-void bfd_set_error_program_name (const char *);
++void
++bfd_set_error_program_name PARAMS ((const char *));
+
+-bfd_error_handler_type bfd_get_error_handler (void);
++bfd_error_handler_type
++bfd_get_error_handler PARAMS ((void));
+
+-const char *bfd_archive_filename (bfd *);
++const char *
++bfd_archive_filename PARAMS ((bfd *));
+
+-long bfd_get_reloc_upper_bound (bfd *abfd, asection *sect);
++long
++bfd_get_reloc_upper_bound PARAMS ((bfd *abfd, asection *sect));
+
+-long bfd_canonicalize_reloc
+- (bfd *abfd, asection *sec, arelent **loc, asymbol **syms);
++long
++bfd_canonicalize_reloc PARAMS ((bfd *abfd, asection *sec, arelent **loc, asymbol **syms));
+
+-void bfd_set_reloc
+- (bfd *abfd, asection *sec, arelent **rel, unsigned int count);
++void
++bfd_set_reloc PARAMS ((bfd *abfd, asection *sec, arelent **rel, unsigned int count));
+
+-bfd_boolean bfd_set_file_flags (bfd *abfd, flagword flags);
++bfd_boolean
++bfd_set_file_flags PARAMS ((bfd *abfd, flagword flags));
+
+-int bfd_get_arch_size (bfd *abfd);
++int
++bfd_get_arch_size PARAMS ((bfd *abfd));
+
+-int bfd_get_sign_extend_vma (bfd *abfd);
++int
++bfd_get_sign_extend_vma PARAMS ((bfd *abfd));
+
+-bfd_boolean bfd_set_start_address (bfd *abfd, bfd_vma vma);
++bfd_boolean
++bfd_set_start_address PARAMS ((bfd *abfd, bfd_vma vma));
+
+-unsigned int bfd_get_gp_size (bfd *abfd);
++unsigned int
++bfd_get_gp_size PARAMS ((bfd *abfd));
+
+-void bfd_set_gp_size (bfd *abfd, unsigned int i);
++void
++bfd_set_gp_size PARAMS ((bfd *abfd, unsigned int i));
+
+-bfd_vma bfd_scan_vma (const char *string, const char **end, int base);
++bfd_vma
++bfd_scan_vma PARAMS ((const char *string, const char **end, int base));
+
+-bfd_boolean bfd_copy_private_bfd_data (bfd *ibfd, bfd *obfd);
++bfd_boolean
++bfd_copy_private_bfd_data PARAMS ((bfd *ibfd, bfd *obfd));
+
+ #define bfd_copy_private_bfd_data(ibfd, obfd) \
+ BFD_SEND (obfd, _bfd_copy_private_bfd_data, \
+ (ibfd, obfd))
+-bfd_boolean bfd_merge_private_bfd_data (bfd *ibfd, bfd *obfd);
++bfd_boolean
++bfd_merge_private_bfd_data PARAMS ((bfd *ibfd, bfd *obfd));
+
+ #define bfd_merge_private_bfd_data(ibfd, obfd) \
+ BFD_SEND (obfd, _bfd_merge_private_bfd_data, \
+ (ibfd, obfd))
+-bfd_boolean bfd_set_private_flags (bfd *abfd, flagword flags);
++bfd_boolean
++bfd_set_private_flags PARAMS ((bfd *abfd, flagword flags));
+
+ #define bfd_set_private_flags(abfd, flags) \
+ BFD_SEND (abfd, _bfd_set_private_flags, (abfd, flags))
+@@ -3968,7 +4044,8 @@ extern bfd_byte *bfd_get_relocated_secti
+ (bfd *, struct bfd_link_info *, struct bfd_link_order *, bfd_byte *,
+ bfd_boolean, asymbol **);
+
+-bfd_boolean bfd_alt_mach_code (bfd *abfd, int alternative);
++bfd_boolean
++bfd_alt_mach_code PARAMS ((bfd *abfd, int alternative));
+
+ struct bfd_preserve
+ {
+@@ -3982,27 +4059,34 @@ struct bfd_preserve
+ struct bfd_hash_table section_htab;
+ };
+
+-bfd_boolean bfd_preserve_save (bfd *, struct bfd_preserve *);
++bfd_boolean
++bfd_preserve_save PARAMS ((bfd *, struct bfd_preserve *));
+
+-void bfd_preserve_restore (bfd *, struct bfd_preserve *);
++void
++bfd_preserve_restore PARAMS ((bfd *, struct bfd_preserve *));
+
+-void bfd_preserve_finish (bfd *, struct bfd_preserve *);
++void
++bfd_preserve_finish PARAMS ((bfd *, struct bfd_preserve *));
+
+ /* Extracted from archive.c. */
+-symindex bfd_get_next_mapent
+- (bfd *abfd, symindex previous, carsym **sym);
++symindex
++bfd_get_next_mapent PARAMS ((bfd *abfd, symindex previous, carsym **sym));
+
+-bfd_boolean bfd_set_archive_head (bfd *output, bfd *new_head);
++bfd_boolean
++bfd_set_archive_head PARAMS ((bfd *output, bfd *new_head));
+
+-bfd *bfd_openr_next_archived_file (bfd *archive, bfd *previous);
++bfd *
++bfd_openr_next_archived_file PARAMS ((bfd *archive, bfd *previous));
+
+ /* Extracted from corefile.c. */
+-const char *bfd_core_file_failing_command (bfd *abfd);
++const char *
++bfd_core_file_failing_command PARAMS ((bfd *abfd));
+
+-int bfd_core_file_failing_signal (bfd *abfd);
++int
++bfd_core_file_failing_signal PARAMS ((bfd *abfd));
+
+-bfd_boolean core_file_matches_executable_p
+- (bfd *core_bfd, bfd *exec_bfd);
++bfd_boolean
++core_file_matches_executable_p PARAMS ((bfd *core_bfd, bfd *exec_bfd));
+
+ /* Extracted from targets.c. */
+ #define BFD_SEND(bfd, message, arglist) \
+@@ -4362,35 +4446,42 @@ typedef struct bfd_target
+
+ } bfd_target;
+
+-bfd_boolean bfd_set_default_target (const char *name);
++bfd_boolean
++bfd_set_default_target PARAMS ((const char *name));
+
+-const bfd_target *bfd_find_target (const char *target_name, bfd *abfd);
++const bfd_target *
++bfd_find_target PARAMS ((const char *target_name, bfd *abfd));
+
+-const char ** bfd_target_list (void);
++const char **
++bfd_target_list PARAMS ((void));
+
+-const bfd_target *bfd_search_for_target
+- (int (*search_func) (const bfd_target *, void *),
+- void *);
++const bfd_target *
++bfd_search_for_target PARAMS ((int (*search_func) (const bfd_target *, void *),
++ void *));
+
+ /* Extracted from format.c. */
+-bfd_boolean bfd_check_format (bfd *abfd, bfd_format format);
++bfd_boolean
++bfd_check_format PARAMS ((bfd *abfd, bfd_format format));
+
+-bfd_boolean bfd_check_format_matches
+- (bfd *abfd, bfd_format format, char ***matching);
++bfd_boolean
++bfd_check_format_matches PARAMS ((bfd *abfd, bfd_format format, char ***matching));
+
+-bfd_boolean bfd_set_format (bfd *abfd, bfd_format format);
++bfd_boolean
++bfd_set_format PARAMS ((bfd *abfd, bfd_format format));
+
+-const char *bfd_format_string (bfd_format format);
++const char *
++bfd_format_string PARAMS ((bfd_format format));
+
+ /* Extracted from linker.c. */
+-bfd_boolean bfd_link_split_section (bfd *abfd, asection *sec);
++bfd_boolean
++bfd_link_split_section PARAMS ((bfd *abfd, asection *sec));
+
+ #define bfd_link_split_section(abfd, sec) \
+ BFD_SEND (abfd, _bfd_link_split_section, (abfd, sec))
+
+ /* Extracted from simple.c. */
+-bfd_byte *bfd_simple_get_relocated_section_contents
+- (bfd *abfd, asection *sec, bfd_byte *outbuf, asymbol **symbol_table);
++bfd_byte *
++bfd_simple_get_relocated_section_contents PARAMS ((bfd *abfd, asection *sec, bfd_byte *outbuf, asymbol **symbol_table));
+
+ #ifdef __cplusplus
+ }
+--- binutils-2.15/bfd/config.bfd 2004-05-17 21:35:56.000000000 +0200
++++ binutils-2.15-nios2/bfd/config.bfd 2005-05-17 12:20:13.000000000 +0200
+@@ -59,6 +59,7 @@ m6812*|m68hc12*) targ_archs="bfd_m68hc12
+ m68*) targ_archs=bfd_m68k_arch ;;
+ m88*) targ_archs=bfd_m88k_arch ;;
+ mips*) targ_archs=bfd_mips_arch ;;
++nios2*) targ_archs=bfd_nios2_arch ;;
+ or32*) targ_archs=bfd_or32_arch ;;
+ pdp11*) targ_archs=bfd_pdp11_arch ;;
+ pj*) targ_archs="bfd_pj_arch bfd_i386_arch";;
+@@ -874,6 +875,10 @@ case "${targ}" in
+ targ_underscore=yes
+ ;;
+
++ nios2-*-*)
++ targ_defvec=bfd_elf32_littlenios2_vec
++ ;;
++
+ openrisc-*-elf)
+ targ_defvec=bfd_elf32_openrisc_vec
+ ;;
+--- binutils-2.15/bfd/configure 2004-05-17 21:35:57.000000000 +0200
++++ binutils-2.15-nios2/bfd/configure 2005-05-17 12:20:13.000000000 +0200
+@@ -6322,6 +6322,7 @@ do
+ bfd_elf32_mcore_little_vec) tb="$tb elf32-mcore.lo elf32.lo $elf" ;;
+ bfd_elf32_mn10200_vec) tb="$tb elf-m10200.lo elf32.lo $elf" ;;
+ bfd_elf32_mn10300_vec) tb="$tb elf-m10300.lo elf32.lo $elf" ;;
++ bfd_elf32_littlenios2_vec) tb="$tb elf32-nios2.lo elf32.lo $elf" ;;
+ bfd_elf32_msp430_vec) tb="$tb elf32-msp430.lo elf32.lo $elf" ;;
+ bfd_elf32_nbigmips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
+ bfd_elf32_nlittlemips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
+--- binutils-2.15/bfd/configure.in 2004-05-17 21:35:57.000000000 +0200
++++ binutils-2.15-nios2/bfd/configure.in 2005-05-17 12:20:13.000000000 +0200
+@@ -631,6 +631,7 @@ do
+ bfd_elf32_mcore_little_vec) tb="$tb elf32-mcore.lo elf32.lo $elf" ;;
+ bfd_elf32_mn10200_vec) tb="$tb elf-m10200.lo elf32.lo $elf" ;;
+ bfd_elf32_mn10300_vec) tb="$tb elf-m10300.lo elf32.lo $elf" ;;
++ bfd_elf32_littlenios2_vec) tb="$tb elf32-nios2.lo elf32.lo $elf" ;;
+ bfd_elf32_msp430_vec) tb="$tb elf32-msp430.lo elf32.lo $elf" ;;
+ bfd_elf32_nbigmips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
+ bfd_elf32_nlittlemips_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;;
+--- binutils-2.15/bfd/cpu-nios2.c 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/bfd/cpu-nios2.c 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,70 @@
++/* bfd back-end for Altera Nios II support
++
++ Copyright (C) 2003
++ by Nigel Gray (ngray@altera.com).
++
++This file is part of BFD, the Binary File Descriptor library.
++
++This program is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 2 of the License, or
++(at your option) any later version.
++
++This program is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with this program; if not, write to the Free Software
++Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++
++#include "bfd.h"
++#include "sysdep.h"
++#include "libbfd.h"
++
++static const bfd_arch_info_type *nios2_compatible
++ (const bfd_arch_info_type *, const bfd_arch_info_type *);
++
++/* The default routine tests bits_per_word, which is wrong on mips as
++ mips word size doesn't correlate with reloc size. */
++
++static const bfd_arch_info_type *
++nios2_compatible (const bfd_arch_info_type *a, const bfd_arch_info_type *b)
++{
++ if (a->arch != b->arch)
++ return NULL;
++
++ /* Machine compatibility is checked in
++ _bfd_mips_elf_merge_private_bfd_data. */
++
++ return a;
++}
++
++#define N(BITS_WORD, BITS_ADDR, NUMBER, PRINT, DEFAULT, NEXT) \
++ { \
++ BITS_WORD, /* bits in a word */ \
++ BITS_ADDR, /* bits in an address */ \
++ 8, /* 8 bits in a byte */ \
++ bfd_arch_nios2, \
++ NUMBER, \
++ "nios2", \
++ PRINT, \
++ 3, \
++ DEFAULT, \
++ nios2_compatible, \
++ bfd_default_scan, \
++ NEXT, \
++ }
++
++#define NN(index) (&arch_info_struct[(index) + 1])
++
++static const bfd_arch_info_type arch_info_struct[] =
++{
++ N (32, 32, bfd_mach_nios2, "nios2", FALSE, 0),
++};
++
++/* There is only one architecture - but we give the default a machine number of 0
++ so the linker can distinguish it */
++const bfd_arch_info_type bfd_nios2_arch =
++N (32, 32, 0, "nios2", TRUE, &arch_info_struct[0]);
+--- binutils-2.15/bfd/elf.c 2004-05-17 21:35:57.000000000 +0200
++++ binutils-2.15-nios2/bfd/elf.c 2005-05-17 12:20:13.000000000 +0200
+@@ -3286,9 +3286,14 @@ map_sections_to_segments (bfd *abfd)
+ phdr_size = elf_tdata (abfd)->program_header_size;
+ if (phdr_size == 0)
+ phdr_size = get_elf_backend_data (abfd)->s->sizeof_phdr;
++
++ /* NG - for standalone embedded applications we don't want the program
++ headers or ELF header in the output memory map (cf CSP) */
+ if ((abfd->flags & D_PAGED) == 0
+ || sections[0]->lma < phdr_size
+- || sections[0]->lma % maxpagesize < phdr_size % maxpagesize)
++ || sections[0]->lma % maxpagesize < phdr_size % maxpagesize
++ || (elf_tdata (abfd)->elf_header[0].e_ident[EI_OSABI]
++ == ELFOSABI_STANDALONE))
+ phdr_in_segment = FALSE;
+ }
+
+--- binutils-2.15/bfd/elf32-nios2.c 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/bfd/elf32-nios2.c 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,2188 @@
++/* New Jersey-specific support for 32-bit ELF
++
++ Copyright (C) 2003
++ by Nigel Gray (ngray@altera.com).
++
++
++This file is part of BFD, the Binary File Descriptor library.
++
++This program is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 2 of the License, or
++(at your option) any later version.
++
++This program is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with this program; if not, write to the Free Software
++Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++
++/* This file handles Altera New Jersey ELF targets */
++
++#include "bfd.h"
++#include "sysdep.h"
++#include "libbfd.h"
++#include "bfdlink.h"
++#include "genlink.h"
++#include "elf-bfd.h"
++#include "elf/nios2.h"
++#include "opcode/nios2.h"
++
++/* use RELA relocations*/
++#ifndef USE_RELA
++#define USE_RELA
++#endif
++
++#ifdef USE_REL
++#undef USE_REL
++#endif
++
++/* Function prototypes */
++
++static reloc_howto_type *nios2_elf32_bfd_reloc_type_lookup
++ (bfd *, bfd_reloc_code_real_type);
++
++static bfd_boolean nios2_elf32_relax_section
++ (bfd *, asection *, struct bfd_link_info *, bfd_boolean *);
++
++static bfd_boolean nios2_elf32_relax_delete_bytes
++ (bfd *, asection *, bfd_vma, int);
++
++static reloc_howto_type *nios2_elf32_rtype_to_howto
++ (unsigned int r_type, bfd_boolean rela_p);
++
++static void nios2_elf32_info_to_howto
++ (bfd * abfd, arelent * cache_ptr, Elf_Internal_Rela * dst);
++
++static bfd_boolean nios2_elf32_relocate_section
++ (bfd * output_bfd, struct bfd_link_info * info, bfd * input_bfd,
++ asection * input_section, bfd_byte * contents,
++ Elf_Internal_Rela * relocs, Elf_Internal_Sym * local_syms,
++ asection ** local_sections);
++
++static reloc_howto_type *lookup_howto (unsigned int rtype);
++
++static bfd_reloc_status_type nios2_elf_final_gp
++ (bfd *, asymbol *, bfd_boolean, char **, bfd_vma *,
++ struct bfd_link_info *);
++
++static bfd_boolean nios2_elf_assign_gp
++ (bfd *, bfd_vma *, struct bfd_link_info *);
++
++static bfd_reloc_status_type nios2_elf32_ignore_reloc
++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
++
++static bfd_reloc_status_type nios2_elf32_hi16_relocate
++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
++
++static bfd_reloc_status_type nios2_elf32_lo16_relocate
++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
++
++static bfd_reloc_status_type nios2_elf32_hiadj16_relocate
++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
++
++static bfd_reloc_status_type nios2_elf32_pcrel16_relocate
++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
++
++static bfd_reloc_status_type nios2_elf32_call26_relocate
++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
++
++static bfd_reloc_status_type nios2_elf32_gprel_relocate
++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
++
++static bfd_reloc_status_type nios2_elf32_ujmp_relocate
++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
++
++static bfd_reloc_status_type nios2_elf32_cjmp_relocate
++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
++
++static bfd_reloc_status_type nios2_elf32_callr_relocate
++ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
++
++static bfd_reloc_status_type nios2_elf32_do_hi16_relocate
++ (bfd *, reloc_howto_type *, asection *,
++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma);
++
++static bfd_reloc_status_type nios2_elf32_do_lo16_relocate
++ (bfd *, reloc_howto_type *, asection *,
++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma);
++
++static bfd_reloc_status_type nios2_elf32_do_hiadj16_relocate
++ (bfd *, reloc_howto_type *, asection *,
++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma);
++
++static bfd_reloc_status_type nios2_elf32_do_pcrel16_relocate
++ (bfd *, reloc_howto_type *, asection *,
++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma);
++
++static bfd_reloc_status_type nios2_elf32_do_call26_relocate
++ (bfd *, reloc_howto_type *, asection *,
++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma);
++
++static bfd_reloc_status_type nios2_elf32_do_gprel_relocate
++ (bfd *, reloc_howto_type *, asection *,
++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma);
++
++static bfd_reloc_status_type nios2_elf32_do_ujmp_relocate
++ (bfd *, reloc_howto_type *, asection *,
++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma);
++
++static bfd_reloc_status_type nios2_elf32_do_cjmp_relocate
++ (bfd *, reloc_howto_type *, asection *,
++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma);
++
++static bfd_reloc_status_type nios2_elf32_do_callr_relocate
++ (bfd *, reloc_howto_type *, asection *,
++ bfd_byte *, bfd_vma, bfd_vma, bfd_vma);
++
++
++static void nios2_elf32_post_process_headers
++ (bfd *, struct bfd_link_info *);
++
++static bfd_boolean nios2_elf32_section_from_shdr
++ (bfd *, Elf_Internal_Shdr *, const char *name);
++
++static bfd_boolean nios2_elf32_section_flags
++ (flagword *, Elf_Internal_Shdr *);
++
++static bfd_boolean nios2_elf32_fake_sections
++ (bfd *, Elf_Internal_Shdr *, asection *);
++
++
++
++static bfd_boolean nios2_elf32_check_relocs
++ (bfd *, struct bfd_link_info *, asection *,
++ const Elf_Internal_Rela *);
++
++static asection *nios2_elf32_gc_mark_hook (asection * sec,
++ struct bfd_link_info *
++ info,
++ Elf_Internal_Rela * rel,
++ struct elf_link_hash_entry
++ * h,
++ Elf_Internal_Sym * sym);
++
++
++/* target vector */
++extern const bfd_target bfd_elf32_littlenios2_vec;
++
++/* The relocation table used for SHT_REL sections. */
++
++static reloc_howto_type elf_nios2_howto_table_rel[] = {
++ /* No relocation. */
++ HOWTO (R_NIOS2_NONE, /* type */
++ 0, /* rightshift */
++ 0, /* size (0 = byte, 1 = short, 2 = long) */
++ 0, /* bitsize */
++ FALSE, /* pc_relative */
++ 0, /* bitpos */
++ complain_overflow_dont, /* complain_on_overflow */
++ bfd_elf_generic_reloc, /* special_function */
++ "R_NIOS2_NONE", /* name */
++ FALSE, /* partial_inplace */
++ 0, /* src_mask */
++ 0, /* dst_mask */
++ FALSE), /* pcrel_offset */
++
++ /* 16-bit signed immediate relocation */
++ HOWTO (R_NIOS2_S16, /* type */
++ 0, /* rightshift */
++ 2, /* size (0 = byte, 1 = short, 2 = long) */
++ 16, /* bitsize */
++ FALSE, /* pc_relative */
++ 6, /* bitpos */
++ complain_overflow_signed, /* complain on overflow */
++ bfd_elf_generic_reloc, /* special function */
++ "R_NIOS2_S16", /* name */
++ FALSE, /* partial_inplace */
++ 0x003fffc0, /* src_mask */
++ 0x003fffc0, /* dest_mask */
++ FALSE), /* pcrel_offset */
++
++ /* 16-bit unsigned immediate relocation */
++ HOWTO (R_NIOS2_U16, /* type */
++ 0, /* rightshift */
++ 2, /* size (0 = byte, 1 = short, 2 = long) */
++ 16, /* bitsize */
++ FALSE, /* pc_relative */
++ 6, /* bitpos */
++ complain_overflow_unsigned, /* complain on overflow */
++ bfd_elf_generic_reloc, /* special function */
++ "R_NIOS2_U16", /* name */
++ FALSE, /* partial_inplace */
++ 0x003fffc0, /* src_mask */
++ 0x003fffc0, /* dest_mask */
++ FALSE), /* pcrel_offset */
++
++ HOWTO (R_NIOS2_PCREL16, /* type */
++ 0, /* rightshift */
++ 2, /* size (0 = byte, 1 = short, 2 = long) */
++ 16, /* bitsize */
++ TRUE, /* pc_relative */
++ 6, /* bitpos */
++ complain_overflow_signed, /* complain on overflow */
++ nios2_elf32_pcrel16_relocate, /* special function */
++ "R_NIOS2_PCREL16", /* name */
++ FALSE, /* partial_inplace */
++ 0x003fffc0, /* src_mask */
++ 0x003fffc0, /* dest_mask */
++ TRUE), /* pcrel_offset */
++
++ HOWTO (R_NIOS2_CALL26, /* type */
++ 2, /* rightshift */
++ 2, /* size (0 = byte, 1 = short, 2 = long) */
++ 26, /* bitsize */
++ FALSE, /* pc_relative */
++ 6, /* bitpos */
++ complain_overflow_dont, /* complain on overflow */
++ nios2_elf32_call26_relocate, /* special function */
++ "R_NIOS2_CALL26", /* name */
++ FALSE, /* partial_inplace */
++ 0xffffffc0, /* src_mask */
++ 0xffffffc0, /* dst_mask */
++ FALSE), /* pcrel_offset */
++
++ HOWTO (R_NIOS2_IMM5,
++ 0,
++ 2,
++ 5,
++ FALSE,
++ 6,
++ complain_overflow_bitfield,
++ bfd_elf_generic_reloc,
++ "R_NIOS2_IMM5",
++ FALSE,
++ 0x000007c0,
++ 0x000007c0,
++ FALSE),
++
++ HOWTO (R_NIOS2_CACHE_OPX,
++ 0,
++ 2,
++ 5,
++ FALSE,
++ 22,
++ complain_overflow_bitfield,
++ bfd_elf_generic_reloc,
++ "R_NIOS2_CACHE_OPX",
++ FALSE,
++ 0x07c00000,
++ 0x07c00000,
++ FALSE),
++
++ HOWTO (R_NIOS2_IMM6,
++ 0,
++ 2,
++ 6,
++ FALSE,
++ 6,
++ complain_overflow_bitfield,
++ bfd_elf_generic_reloc,
++ "R_NIOS2_IMM6",
++ FALSE,
++ 0x00000fc0,
++ 0x00000fc0,
++ FALSE),
++
++ HOWTO (R_NIOS2_IMM8,
++ 0,
++ 2,
++ 8,
++ FALSE,
++ 6,
++ complain_overflow_bitfield,
++ bfd_elf_generic_reloc,
++ "R_NIOS2_IMM8",
++ FALSE,
++ 0x00003fc0,
++ 0x00003fc0,
++ FALSE),
++
++ HOWTO (R_NIOS2_HI16,
++ 0,
++ 2,
++ 32,
++ FALSE,
++ 6,
++ complain_overflow_dont,
++ nios2_elf32_hi16_relocate,
++ "R_NIOS2_HI16",
++ FALSE,
++ 0x003fffc0,
++ 0x003fffc0,
++ FALSE),
++
++ HOWTO (R_NIOS2_LO16,
++ 0,
++ 2,
++ 32,
++ FALSE,
++ 6,
++ complain_overflow_dont,
++ nios2_elf32_lo16_relocate,
++ "R_NIOS2_LO16",
++ FALSE,
++ 0x003fffc0,
++ 0x003fffc0,
++ FALSE),
++
++ HOWTO (R_NIOS2_HIADJ16,
++ 0,
++ 2,
++ 32,
++ FALSE,
++ 6,
++ complain_overflow_dont,
++ nios2_elf32_hiadj16_relocate,
++ "R_NIOS2_HIADJ16",
++ FALSE,
++ 0x003fffc0,
++ 0x003fffc0,
++ FALSE),
++
++ HOWTO (R_NIOS2_BFD_RELOC_32,
++ 0,
++ 2, /* long */
++ 32,
++ FALSE,
++ 0,
++ complain_overflow_dont,
++ bfd_elf_generic_reloc,
++ "R_NIOS2_BFD_RELOC32",
++ FALSE,
++ 0xffffffff,
++ 0xffffffff,
++ FALSE),
++
++ HOWTO (R_NIOS2_BFD_RELOC_16,
++ 0,
++ 1, /* short */
++ 16,
++ FALSE,
++ 0,
++ complain_overflow_bitfield,
++ bfd_elf_generic_reloc,
++ "R_NIOS2_BFD_RELOC16",
++ FALSE,
++ 0x0000ffff,
++ 0x0000ffff,
++ FALSE),
++
++ HOWTO (R_NIOS2_BFD_RELOC_8,
++ 0,
++ 0, /* byte */
++ 8,
++ FALSE,
++ 0,
++ complain_overflow_bitfield,
++ bfd_elf_generic_reloc,
++ "R_NIOS2_BFD_RELOC8",
++ FALSE,
++ 0x000000ff,
++ 0x000000ff,
++ FALSE),
++
++ HOWTO (R_NIOS2_GPREL,
++ 0,
++ 2,
++ 32,
++ FALSE,
++ 6,
++ complain_overflow_dont,
++ nios2_elf32_gprel_relocate,
++ "R_NIOS2_GPREL",
++ FALSE,
++ 0x003fffc0,
++ 0x003fffc0,
++ FALSE),
++
++ HOWTO (R_NIOS2_GNU_VTINHERIT,
++ 0,
++ 2, /* short */
++ 0,
++ FALSE,
++ 0,
++ complain_overflow_dont,
++ NULL,
++ "R_NIOS2_GNU_VTINHERIT",
++ FALSE,
++ 0,
++ 0,
++ FALSE),
++
++ HOWTO (R_NIOS2_GNU_VTENTRY,
++ 0,
++ 2, /* byte */
++ 0,
++ FALSE,
++ 0,
++ complain_overflow_dont,
++ _bfd_elf_rel_vtable_reloc_fn,
++ "R_NIOS2_GNU_VTENTRY",
++ FALSE,
++ 0,
++ 0,
++ FALSE),
++
++ HOWTO (R_NIOS2_UJMP,
++ 0,
++ 2,
++ 32,
++ FALSE,
++ 6,
++ complain_overflow_dont,
++ nios2_elf32_ujmp_relocate,
++ "R_NIOS2_UJMP",
++ FALSE,
++ 0x003fffc0,
++ 0x003fffc0,
++ FALSE),
++
++ HOWTO (R_NIOS2_CJMP,
++ 0,
++ 2,
++ 32,
++ FALSE,
++ 6,
++ complain_overflow_dont,
++ nios2_elf32_cjmp_relocate,
++ "R_NIOS2_CJMP",
++ FALSE,
++ 0x003fffc0,
++ 0x003fffc0,
++ FALSE),
++
++ HOWTO (R_NIOS2_CALLR,
++ 0,
++ 2,
++ 32,
++ FALSE,
++ 6,
++ complain_overflow_dont,
++ nios2_elf32_callr_relocate,
++ "R_NIOS2_CALLR",
++ FALSE,
++ 0x003fffc0,
++ 0x003fffc0,
++ FALSE),
++
++ HOWTO (R_NIOS2_ALIGN,
++ 0,
++ 2,
++ 0,
++ FALSE,
++ 0,
++ complain_overflow_dont,
++ nios2_elf32_ignore_reloc,
++ "R_NIOS2_ALIGN",
++ FALSE,
++ 0,
++ 0,
++ TRUE),
++
++/* add other relocations here */
++};
++
++static unsigned char elf_code_to_howto_index[R_NIOS2_ILLEGAL + 1];
++
++static reloc_howto_type *
++lookup_howto (unsigned int rtype)
++{
++ static int initialized = 0;
++ int i;
++ int howto_tbl_size = (int) (sizeof (elf_nios2_howto_table_rel)
++ / sizeof (elf_nios2_howto_table_rel[0]));
++
++ if (!initialized)
++ {
++ initialized = 1;
++ memset (elf_code_to_howto_index, 0xff,
++ sizeof (elf_code_to_howto_index));
++ for (i = 0; i < howto_tbl_size; i++)
++ elf_code_to_howto_index[elf_nios2_howto_table_rel[i].type] = i;
++ }
++
++ BFD_ASSERT (rtype <= R_NIOS2_ILLEGAL);
++ i = elf_code_to_howto_index[rtype];
++ if (i >= howto_tbl_size)
++ return 0;
++ return elf_nios2_howto_table_rel + i;
++}
++
++/*
++ map for converting BFD reloc types to New Jersey
++ reloc types
++ */
++struct elf_reloc_map
++{
++ bfd_reloc_code_real_type bfd_val;
++ enum elf_nios2_reloc_type elf_val;
++};
++
++static const struct elf_reloc_map nios2_reloc_map[] = {
++ {BFD_RELOC_NIOS2_S16, R_NIOS2_S16},
++ {BFD_RELOC_NIOS2_U16, R_NIOS2_U16},
++ {BFD_RELOC_16_PCREL, R_NIOS2_PCREL16},
++ {BFD_RELOC_NIOS2_CALL26, R_NIOS2_CALL26},
++ {BFD_RELOC_NIOS2_IMM5, R_NIOS2_IMM5},
++ {BFD_RELOC_NIOS2_CACHE_OPX, R_NIOS2_CACHE_OPX},
++ {BFD_RELOC_NIOS2_IMM6, R_NIOS2_IMM6},
++ {BFD_RELOC_NIOS2_IMM8, R_NIOS2_IMM8},
++ {BFD_RELOC_NIOS2_HI16, R_NIOS2_HI16},
++ {BFD_RELOC_NIOS2_LO16, R_NIOS2_LO16},
++ {BFD_RELOC_NIOS2_HIADJ16, R_NIOS2_HIADJ16},
++ {BFD_RELOC_32, R_NIOS2_BFD_RELOC_32},
++ {BFD_RELOC_16, R_NIOS2_BFD_RELOC_16},
++ {BFD_RELOC_8, R_NIOS2_BFD_RELOC_8},
++ {BFD_RELOC_NIOS2_GPREL, R_NIOS2_GPREL},
++ {BFD_RELOC_VTABLE_INHERIT, R_NIOS2_GNU_VTINHERIT},
++ {BFD_RELOC_VTABLE_ENTRY, R_NIOS2_GNU_VTENTRY},
++ {BFD_RELOC_NIOS2_UJMP, R_NIOS2_UJMP},
++ {BFD_RELOC_NIOS2_CJMP, R_NIOS2_CJMP},
++ {BFD_RELOC_NIOS2_CALLR, R_NIOS2_CALLR},
++ {BFD_RELOC_NIOS2_ALIGN, R_NIOS2_ALIGN},
++};
++
++/* Given a BFD reloc type, return a howto structure. */
++
++static reloc_howto_type *
++nios2_elf32_bfd_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
++ bfd_reloc_code_real_type code)
++{
++ int i;
++ for (i = 0;
++ i < (int) (sizeof (nios2_reloc_map) / sizeof (struct elf_reloc_map));
++ ++i)
++ {
++ if (nios2_reloc_map[i].bfd_val == code)
++ return &elf_nios2_howto_table_rel[(int) nios2_reloc_map[i].elf_val];
++ }
++
++ return NULL;
++}
++
++/* Helper function for nios2_elf32_info_to_howto */
++
++static reloc_howto_type *
++nios2_elf32_rtype_to_howto (unsigned int r_type,
++ bfd_boolean rela_p ATTRIBUTE_UNUSED)
++{
++ BFD_ASSERT (r_type < R_NIOS2_ILLEGAL);
++ return &elf_nios2_howto_table_rel[r_type];
++}
++
++/* Given a ELF32 relocation, fill in a arelent structure */
++
++static void
++nios2_elf32_info_to_howto (bfd * abfd ATTRIBUTE_UNUSED, arelent * cache_ptr,
++ Elf_Internal_Rela * dst)
++{
++ unsigned int r_type;
++
++ r_type = ELF32_R_TYPE (dst->r_info);
++ cache_ptr->howto = nios2_elf32_rtype_to_howto (r_type, FALSE);
++
++ // FIXME - do we need to do anything else here???
++}
++
++/* The assembler has output long jmp/call sequences for all calls
++ * and pc-relative branches that it cannot guarantee are within
++ * range, so the linker must attempt to "relax" these sequences to
++ * short branches and calls if it can. We avoid having to re-relax by
++ * replacing redundant instructions with nops instead of deleting them.
++ *
++ *
++ **/
++static bfd_boolean
++nios2_elf32_relax_section (bfd * abfd,
++ asection * sec,
++ struct bfd_link_info *link_info, bfd_boolean * again)
++{
++ Elf_Internal_Shdr *symtab_hdr;
++ Elf_Internal_Rela *internal_relocs;
++ Elf_Internal_Rela *irel, *irelend;
++ bfd_byte *contents = NULL;
++ Elf_Internal_Sym *isymbuf = NULL;
++
++#define OP_MATCH_NOP 0x0001883a
++
++ /* Assume nothing changes. */
++ *again = FALSE;
++
++ /* We don't have to do anything for a relocatable link, if
++ this section does not have relocs, or if this is not a
++ code section. */
++ if (link_info->relocatable
++ || (sec->flags & SEC_RELOC) == 0
++ || sec->reloc_count == 0 || (sec->flags & SEC_CODE) == 0)
++ return TRUE;
++
++ /* If this is the first time we have been called for this section,
++ initialize the cooked size. */
++ if (sec->_cooked_size == 0)
++ sec->_cooked_size = sec->_raw_size;
++
++ symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
++
++ /* Get a copy of the native relocations. */
++ internal_relocs = (_bfd_elf_link_read_relocs
++ (abfd, sec, (void *) NULL, (Elf_Internal_Rela *) NULL,
++ link_info->keep_memory));
++ if (internal_relocs == NULL)
++ goto error_return;
++
++ /* Walk through them looking for relaxing opportunities. */
++ irelend = internal_relocs + sec->reloc_count;
++ for (irel = internal_relocs; irel < irelend; irel++)
++ {
++ bfd_vma symval;
++
++ /* If this isn't something that can be relaxed, then ignore
++ this reloc. */
++ if (ELF32_R_TYPE (irel->r_info) != (int) R_NIOS2_UJMP
++ && ELF32_R_TYPE (irel->r_info) != (int) R_NIOS2_CJMP
++ && ELF32_R_TYPE (irel->r_info) != (int) R_NIOS2_CALLR)
++ {
++ continue;
++ }
++
++ /* Get the section contents if we haven't done so already. */
++ if (contents == NULL)
++ {
++ /* Get cached copy if it exists. */
++ if (elf_section_data (sec)->this_hdr.contents != NULL)
++ contents = elf_section_data (sec)->this_hdr.contents;
++ else
++ {
++ /* Go get them off disk. */
++ contents = (bfd_byte *) bfd_malloc (sec->_raw_size);
++ if (contents == NULL)
++ goto error_return;
++
++ if (!bfd_get_section_contents (abfd, sec, contents,
++ (file_ptr) 0, sec->_raw_size))
++ goto error_return;
++ }
++ }
++
++ /* Read this BFD's local symbols if we haven't done so already. */
++ if (isymbuf == NULL && symtab_hdr->sh_info != 0)
++ {
++ isymbuf = (Elf_Internal_Sym *) symtab_hdr->contents;
++ if (isymbuf == NULL)
++ isymbuf = bfd_elf_get_elf_syms (abfd, symtab_hdr,
++ symtab_hdr->sh_info, 0,
++ NULL, NULL, NULL);
++ if (isymbuf == NULL)
++ goto error_return;
++ }
++
++ /* Get the value of the symbol referred to by the reloc. */
++ if (ELF32_R_SYM (irel->r_info) < symtab_hdr->sh_info)
++ {
++ /* A local symbol. */
++ Elf_Internal_Sym *isym;
++ asection *sym_sec;
++
++ isym = isymbuf + ELF32_R_SYM (irel->r_info);
++ if (isym->st_shndx == SHN_UNDEF)
++ sym_sec = bfd_und_section_ptr;
++ else if (isym->st_shndx == SHN_ABS)
++ sym_sec = bfd_abs_section_ptr;
++ else if (isym->st_shndx == SHN_COMMON)
++ sym_sec = bfd_com_section_ptr;
++ else
++ sym_sec = bfd_section_from_elf_index (abfd, isym->st_shndx);
++ symval = (isym->st_value
++ + sym_sec->output_section->vma + sym_sec->output_offset);
++ }
++ else
++ {
++ unsigned long indx;
++ struct elf_link_hash_entry *h;
++
++ /* An external symbol. */
++ indx = ELF32_R_SYM (irel->r_info) - symtab_hdr->sh_info;
++ h = elf_sym_hashes (abfd)[indx];
++ BFD_ASSERT (h != NULL);
++ if (h->root.type != bfd_link_hash_defined
++ && h->root.type != bfd_link_hash_defweak)
++ {
++ /* This appears to be a reference to an undefined
++ symbol. Just ignore it--it will be caught by the
++ regular reloc processing. */
++ continue;
++ }
++
++ symval = (h->root.u.def.value
++ + h->root.u.def.section->output_section->vma
++ + h->root.u.def.section->output_offset);
++ }
++
++ /* For simplicity of coding, we are going to modify the section
++ contents, the section relocs, and the BFD symbol table. We
++ must tell the rest of the code not to free up this
++ information. It would be possible to instead create a table
++ of changes which have to be made, as is done in coff-mips.c;
++ that would be more work, but would require less memory when
++ the linker is run. */
++
++ /* try to turn :
++ * movhi at, %hi(symbol)
++ * movui at, %lo(symbol)
++ * callr at
++ * into:
++ * call symbol
++ */
++ if (ELF32_R_TYPE (irel->r_info) == (int) R_NIOS2_CALLR)
++ {
++ bfd_vma targ_addr = symval + irel->r_addend;
++ bfd_vma curr_addr = (sec->output_section->vma + sec->output_offset);
++ bfd_vma targ_page, curr_page;
++ targ_page = targ_addr & 0xf0000000;
++ curr_page = curr_addr & 0xf0000000;
++
++ if (targ_page == curr_page)
++ {
++ /* change the opcode to a call */
++ bfd_put_32 (abfd, OP_MATCH_CALL, contents + irel->r_offset);
++ /* Note that we've changed the relocs, section contents, etc. */
++ elf_section_data (sec)->relocs = internal_relocs;
++ elf_section_data (sec)->this_hdr.contents = contents;
++ symtab_hdr->contents = (unsigned char *) isymbuf;
++
++ /* Fix the relocation's type. */
++ irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
++ R_NIOS2_CALL26);
++
++ /* replace next two instructions with nops */
++ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 4);
++ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 8);
++ }
++ }
++
++ /* try to turn :
++ * movhi at, %hi(symbol)
++ * movui at, %lo(symbol)
++ * jmp at
++ * into:
++ * br symbol
++ */
++ if (ELF32_R_TYPE (irel->r_info) == (int) R_NIOS2_UJMP)
++ {
++ bfd_vma pcrel_offset;
++ Elf_Internal_Rela *irelalign = NULL;
++ Elf_Internal_Rela *irela = elf_section_data (sec)->relocs;
++ Elf_Internal_Rela *irelend = irel + sec->reloc_count;
++
++ for (; irela < irelend; irela++)
++ {
++ if (ELF32_R_TYPE (irela->r_info) == (int) R_NIOS2_ALIGN
++ && irela->r_offset > irel->r_offset + 4
++ && 8 < (1 << irela->r_addend))
++ {
++ irelalign = irela;
++ break;
++ }
++ }
++
++ /* calculate the pcrelative offset from current location */
++ pcrel_offset = symval;
++ pcrel_offset -= (sec->output_section->vma + sec->output_offset);
++ pcrel_offset += irel->r_addend;
++
++ /* we need to compute the pcrel_offset from the next instruction */
++ pcrel_offset -= (irel->r_offset + 4);
++
++ /* does this value fit in 16 bits */
++ if ((irelalign == NULL && (long) pcrel_offset <= 0x8004
++ && (long) pcrel_offset >= -0x8000) || (irelalign != NULL
++ && (long) pcrel_offset
++ <= 0x7ffc
++ && (long) pcrel_offset
++ >= -0x8000))
++ {
++ /* change the opcode to an unconditional branch */
++ bfd_put_32 (abfd, OP_MATCH_BR, contents + irel->r_offset);
++ /* Note that we've changed the relocs, section contents, etc. */
++ elf_section_data (sec)->relocs = internal_relocs;
++ elf_section_data (sec)->this_hdr.contents = contents;
++ symtab_hdr->contents = (unsigned char *) isymbuf;
++
++ /* Fix the relocation's type. */
++ irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
++ R_NIOS2_PCREL16);
++
++ /* replace next two instructions with nops */
++ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 4);
++ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 8);
++ }
++ }
++
++ /* try to turn :
++ * b{cond} a, b skip
++ * movhi at, %hi(symbol)
++ * movui at, %lo(symbol)
++ * jmp at
++ * skip:
++ * ...
++ * into:
++ * br{opp_cond} a, b, symbol
++ */
++ if (ELF32_R_TYPE (irel->r_info) == (int) R_NIOS2_CJMP)
++ {
++ bfd_vma pcrel_offset;
++ Elf_Internal_Rela *irelalign = NULL;
++ Elf_Internal_Rela *irela = elf_section_data (sec)->relocs;
++ Elf_Internal_Rela *irelend = irel + sec->reloc_count;
++
++ for (; irela < irelend; irela++)
++ {
++ if (ELF32_R_TYPE (irela->r_info) == (int) R_NIOS2_ALIGN
++ && irela->r_offset > irel->r_offset + 4
++ && 8 < (1 << irela->r_addend))
++ {
++ irelalign = irela;
++ break;
++ }
++ }
++
++ /* calculate the pcrelative offset from current location */
++ pcrel_offset = symval;
++ pcrel_offset -= (sec->output_section->vma + sec->output_offset);
++ pcrel_offset += irel->r_addend;
++
++ /* we need to compute the pcrel_offset from this instruction
++ * ie the movhi */
++ pcrel_offset -= (irel->r_offset);
++
++ /* does this value fit in 16 bits */
++ if ((irelalign == NULL && (long) pcrel_offset <= 0x8008
++ && (long) pcrel_offset >= -0x8000) || (irelalign != NULL
++ && (long) pcrel_offset
++ <= 0x7ffc
++ && (long) pcrel_offset
++ >= -0x8000))
++ {
++ unsigned long opcode, op_a, op_b;
++ /* get the conditional branch opcode */
++ opcode = bfd_get_32 (abfd, contents + irel->r_offset - 4);
++ /* reverse the condition */
++ switch (opcode & OP_MASK_OP)
++ {
++ case OP_MATCH_BEQ:
++ opcode = (opcode & ~OP_MASK_OP) | OP_MATCH_BNE;
++ break;
++ case OP_MATCH_BNE:
++ opcode = (opcode & ~OP_MASK_OP) | OP_MATCH_BEQ;
++ break;
++ case OP_MATCH_BGE:
++ case OP_MATCH_BGEU:
++ case OP_MATCH_BLT:
++ case OP_MATCH_BLTU:
++ /* swap the operands */
++ op_a = (opcode & OP_MASK_RRT) << 5;
++ op_b = (opcode & OP_MASK_RRS) >> 5;
++ opcode =
++ (opcode & ~(OP_MASK_RRS | OP_MASK_RRT)) | op_a | op_b;
++ break;
++ default:
++ fprintf (stderr,
++ "relaxation error - expecting conditional branch, aborting\n");
++ abort ();
++ break;
++ }
++
++ /* we must set the branch target to zero so that the skip over the jmp doesn't get
++ * added to the jmp */
++ opcode = opcode & (~OP_MASK_IMM16);
++
++ /* change the opcode to the reversed conditional branch */
++ bfd_put_32 (abfd, opcode, contents + irel->r_offset - 4);
++ /* Note that we've changed the relocs, section contents, etc. */
++ elf_section_data (sec)->relocs = internal_relocs;
++ elf_section_data (sec)->this_hdr.contents = contents;
++ symtab_hdr->contents = (unsigned char *) isymbuf;
++
++ /* Fix the relocation's type. */
++ irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
++ R_NIOS2_PCREL16);
++
++ /* this relocation's offset has also been reduced by 4 bytes */
++ irel->r_offset -= 4;
++
++ /* replace next two instructions with nops */
++ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 4);
++ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 8);
++ bfd_put_32 (abfd, OP_MATCH_NOP, contents + irel->r_offset + 12);
++ }
++ }
++
++ /* otherwise, leave alone */
++ }
++
++ if (isymbuf != NULL && symtab_hdr->contents != (unsigned char *) isymbuf)
++ {
++ if (!link_info->keep_memory)
++ free (isymbuf);
++ else
++ {
++ /* Cache the symbols for elf_link_input_bfd. */
++ symtab_hdr->contents = (unsigned char *) isymbuf;
++ }
++ }
++
++ if (contents != NULL
++ && elf_section_data (sec)->this_hdr.contents != contents)
++ {
++ if (!link_info->keep_memory)
++ free (contents);
++ else
++ {
++ /* Cache the section contents for elf_link_input_bfd. */
++ elf_section_data (sec)->this_hdr.contents = contents;
++ }
++ }
++
++ if (internal_relocs != NULL
++ && elf_section_data (sec)->relocs != internal_relocs)
++ free (internal_relocs);
++
++
++ return TRUE;
++
++error_return:
++ if (isymbuf != NULL && symtab_hdr->contents != (unsigned char *) isymbuf)
++ free (isymbuf);
++ if (contents != NULL
++ && elf_section_data (sec)->this_hdr.contents != contents)
++ free (contents);
++ if (internal_relocs != NULL
++ && elf_section_data (sec)->relocs != internal_relocs)
++ free (internal_relocs);
++
++ return FALSE;
++}
++
++/* Delete some bytes from a section while relaxing.
++ * Copied from mn10200 port */
++
++static bfd_boolean
++nios2_elf32_relax_delete_bytes (bfd * abfd,
++ asection * sec, bfd_vma addr, int count)
++{
++ Elf_Internal_Shdr *symtab_hdr;
++ unsigned int sec_shndx;
++ bfd_byte *contents;
++ Elf_Internal_Rela *irel, *irelend;
++ Elf_Internal_Rela *irelalign;
++ bfd_vma toaddr;
++ Elf_Internal_Sym *isym;
++ Elf_Internal_Sym *isymend;
++ struct elf_link_hash_entry **sym_hashes;
++ struct elf_link_hash_entry **end_hashes;
++ unsigned int symcount;
++ asection *asec;
++
++ sec_shndx = _bfd_elf_section_from_bfd_section (abfd, sec);
++
++ contents = elf_section_data (sec)->this_hdr.contents;
++
++ /* The deletion must stop at the next ALIGN reloc for an aligment
++ power larger than the number of bytes we are deleting. */
++
++ irelalign = NULL;
++ /* +1 because we need to readjust symbols at end of section */
++ toaddr = sec->_cooked_size + 1;
++
++ irel = elf_section_data (sec)->relocs;
++ irelend = irel + sec->reloc_count;
++
++ for (; irel < irelend; irel++)
++ {
++ if (ELF32_R_TYPE (irel->r_info) == (int) R_NIOS2_ALIGN
++ && irel->r_offset > addr && count < (1 << irel->r_addend))
++ {
++ irelalign = irel;
++ /* +1 because we need to readjust symbols at end of section */
++ toaddr = irel->r_offset + 1;
++ break;
++ }
++ }
++
++
++ /* Actually delete the bytes. */
++ memmove (contents + addr, contents + addr + count,
++ (size_t) ((toaddr - 1) - addr - count));
++
++ if (irelalign == NULL)
++ sec->_cooked_size -= count;
++ else
++ {
++ int i;
++
++#define NOP_OPCODE (0x0001883a)
++
++ BFD_ASSERT ((count & 3) == 0);
++ for (i = 0; i < count; i += 4)
++ bfd_put_32 (abfd, (bfd_vma) NOP_OPCODE,
++ contents + (toaddr - 1) - count + i);
++ }
++
++ /* get the symbol table */
++ symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
++ isym = (Elf_Internal_Sym *) symtab_hdr->contents;
++
++ /* Adjust all the reloc offsets in this section. */
++ for (irel = elf_section_data (sec)->relocs; irel < irelend; irel++)
++ {
++ /* Get the new reloc address. */
++ if ((irel->r_offset > addr && irel->r_offset < toaddr))
++ irel->r_offset -= count;
++ }
++
++ /* Adjust relocations against targets in this section whose positions
++ * have moved as a result of the relaxation */
++
++ for (asec = abfd->sections; asec; asec = asec->next)
++ {
++ irelend = elf_section_data (asec)->relocs + asec->reloc_count;
++ for (irel = elf_section_data (asec)->relocs; irel < irelend; irel++)
++ {
++ Elf_Internal_Sym *sym;
++ /* if the symbol which this reloc is against doesn't change
++ * we need to change the reloc addend */
++
++ sym = isym + ELF32_R_SYM (irel->r_info);
++ if (sym->st_shndx == sec_shndx
++ && !(sym->st_value > addr && sym->st_value < toaddr)
++ && sym->st_value + irel->r_addend > addr
++ && sym->st_value + irel->r_addend < toaddr)
++ {
++ irel->r_addend -= count;
++ }
++
++ }
++ }
++
++ /* Adjust the local symbols defined in this section. */
++ for (isymend = isym + symtab_hdr->sh_info; isym < isymend; isym++)
++ {
++ if (isym->st_shndx == sec_shndx
++ && isym->st_value > addr && isym->st_value < toaddr)
++ isym->st_value -= count;
++
++
++ }
++
++ /* Now adjust the global symbols defined in this section. */
++ symcount = (symtab_hdr->sh_size / sizeof (Elf32_External_Sym)
++ - symtab_hdr->sh_info);
++ sym_hashes = elf_sym_hashes (abfd);
++ end_hashes = sym_hashes + symcount;
++ for (; sym_hashes < end_hashes; sym_hashes++)
++ {
++ struct elf_link_hash_entry *sym_hash = *sym_hashes;
++ if ((sym_hash->root.type == bfd_link_hash_defined
++ || sym_hash->root.type == bfd_link_hash_defweak)
++ && sym_hash->root.u.def.section == sec
++ && sym_hash->root.u.def.value > addr
++ && sym_hash->root.u.def.value < toaddr)
++ {
++ sym_hash->root.u.def.value -= count;
++ }
++ }
++
++ return TRUE;
++}
++
++struct bfd_link_info *nios2_link_info = NULL;
++
++void
++_bfd_set_link_info (info)
++ struct bfd_link_info *info;
++{
++ nios2_link_info = info;
++}
++
++bfd_boolean linker_force_make_executable = FALSE;
++
++void
++_bfd_set_force_make_executable (force)
++ bfd_boolean force;
++{
++ linker_force_make_executable = force;
++}
++
++/* Set the GP value for OUTPUT_BFD. Returns FALSE if this is a
++ dangerous relocation. */
++
++static bfd_boolean
++nios2_elf_assign_gp (bfd *output_bfd, bfd_vma *pgp, struct bfd_link_info *info)
++{
++
++ bfd_boolean gp_found;
++ struct bfd_hash_entry *h;
++ struct bfd_link_hash_entry *lh;
++
++ /* If we've already figured out what GP will be, just return it. */
++ *pgp = _bfd_get_gp_value (output_bfd);
++ if (*pgp)
++ return TRUE;
++
++ h = bfd_hash_lookup (&info->hash->table, "_gp", FALSE, FALSE);
++ lh = (struct bfd_link_hash_entry *) h;
++lookup:
++ if (lh)
++ {
++ switch (lh->type)
++ {
++ case bfd_link_hash_undefined:
++ case bfd_link_hash_undefweak:
++ case bfd_link_hash_common:
++ gp_found = FALSE;
++ break;
++ case bfd_link_hash_defined:
++ case bfd_link_hash_defweak:
++ gp_found = TRUE;
++ *pgp = lh->u.def.value;
++ break;
++ case bfd_link_hash_indirect:
++ case bfd_link_hash_warning:
++ lh = lh->u.i.link;
++ /* @@FIXME ignoring warning for now */
++ goto lookup;
++ case bfd_link_hash_new:
++ default:
++ abort ();
++ }
++ }
++ else
++ gp_found = FALSE;
++
++ if (!gp_found)
++ {
++ /* Only get the error once. */
++ *pgp = 4;
++ _bfd_set_gp_value (output_bfd, *pgp);
++ return FALSE;
++ }
++
++ _bfd_set_gp_value (output_bfd, *pgp);
++
++ return TRUE;
++}
++
++/* We have to figure out the gp value, so that we can adjust the
++ symbol value correctly. We look up the symbol _gp in the output
++ BFD. If we can't find it, we're stuck. We cache it in the ELF
++ target data. We don't need to adjust the symbol value for an
++ external symbol if we are producing relocatable output. */
++
++static bfd_reloc_status_type
++nios2_elf_final_gp (bfd *output_bfd, asymbol *symbol, bfd_boolean relocatable,
++ char **error_message, bfd_vma *pgp, struct bfd_link_info *info)
++{
++ if (bfd_is_und_section (symbol->section) && !relocatable)
++ {
++ *pgp = 0;
++ return bfd_reloc_undefined;
++ }
++
++ *pgp = _bfd_get_gp_value (output_bfd);
++ if (*pgp == 0 && (!relocatable || (symbol->flags & BSF_SECTION_SYM) != 0))
++ {
++ /* if this is called without link_info, then
++ we cannot be doing a final link */
++ if (info == NULL)
++ relocatable = TRUE;
++
++ if (relocatable)
++ {
++ /* Make up a value. */
++ *pgp = symbol->section->output_section->vma + 0x4000;
++ _bfd_set_gp_value (output_bfd, *pgp);
++ }
++ else if (!nios2_elf_assign_gp (output_bfd, pgp, info))
++ {
++ *error_message =
++ (char *)
++ _("global pointer relative relocation when _gp not defined");
++ return bfd_reloc_dangerous;
++ }
++ }
++
++ return bfd_reloc_ok;
++}
++
++
++/* Relocations that require special handling */
++
++/* This is for relocations used only when relaxing to ensure
++ * changes in size of section don't screw up .align */
++static bfd_reloc_status_type
++nios2_elf32_ignore_reloc (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc_entry,
++ asymbol *symbol ATTRIBUTE_UNUSED, void *data ATTRIBUTE_UNUSED,
++ asection *input_section, bfd *output_bfd, char **error_message ATTRIBUTE_UNUSED)
++{
++ if (output_bfd != NULL)
++ reloc_entry->address += input_section->output_offset;
++ return bfd_reloc_ok;
++}
++
++static bfd_reloc_status_type
++nios2_elf32_hi16_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol, void *data,
++ asection *input_section, bfd *output_bfd, char **error_message ATTRIBUTE_UNUSED)
++{
++ /* This part is from bfd_elf_generic_reloc. */
++ if (output_bfd != (bfd *) NULL
++ && (symbol->flags & BSF_SECTION_SYM) == 0
++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0))
++ {
++ reloc_entry->address += input_section->output_offset;
++ return bfd_reloc_ok;
++ }
++
++ if (output_bfd != NULL)
++ /* FIXME: See bfd_perform_relocation. Is this right? */
++ return bfd_reloc_ok;
++
++ return nios2_elf32_do_hi16_relocate (abfd, reloc_entry->howto,
++ input_section,
++ data, reloc_entry->address,
++ (symbol->value
++ + symbol->section->output_section->vma
++ + symbol->section->output_offset),
++ reloc_entry->addend);
++}
++
++static bfd_reloc_status_type
++nios2_elf32_lo16_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
++ void *data, asection *input_section, bfd *output_bfd, char **error_message ATTRIBUTE_UNUSED)
++{
++/* This part is from bfd_elf_generic_reloc. */
++ if (output_bfd != (bfd *) NULL
++ && (symbol->flags & BSF_SECTION_SYM) == 0
++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0))
++ {
++ reloc_entry->address += input_section->output_offset;
++ return bfd_reloc_ok;
++ }
++
++ if (output_bfd != NULL)
++ /* FIXME: See bfd_perform_relocation. Is this right? */
++ return bfd_reloc_ok;
++
++ return nios2_elf32_do_lo16_relocate (abfd, reloc_entry->howto,
++ input_section,
++ data, reloc_entry->address,
++ (symbol->value
++ + symbol->section->output_section->vma
++ + symbol->section->output_offset),
++ reloc_entry->addend);
++}
++
++static bfd_reloc_status_type
++nios2_elf32_hiadj16_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
++ void *data, asection *input_section, bfd *output_bfd,
++ char **error_message ATTRIBUTE_UNUSED)
++{
++/* This part is from bfd_elf_generic_reloc. */
++ if (output_bfd != (bfd *) NULL
++ && (symbol->flags & BSF_SECTION_SYM) == 0
++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0))
++ {
++ reloc_entry->address += input_section->output_offset;
++ return bfd_reloc_ok;
++ }
++
++ if (output_bfd != NULL)
++ /* FIXME: See bfd_perform_relocation. Is this right? */
++ return bfd_reloc_ok;
++
++ return nios2_elf32_do_hiadj16_relocate (abfd, reloc_entry->howto,
++ input_section,
++ data, reloc_entry->address,
++ (symbol->value
++ +
++ symbol->section->output_section->
++ vma +
++ symbol->section->output_offset),
++ reloc_entry->addend);
++}
++
++static bfd_reloc_status_type
++nios2_elf32_pcrel16_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
++ void *data, asection *input_section, bfd *output_bfd,
++ char **error_message ATTRIBUTE_UNUSED)
++{
++/* This part is from bfd_elf_generic_reloc. */
++ if (output_bfd != (bfd *) NULL
++ && (symbol->flags & BSF_SECTION_SYM) == 0
++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0))
++ {
++ reloc_entry->address += input_section->output_offset;
++ return bfd_reloc_ok;
++ }
++
++ if (output_bfd != NULL)
++ /* FIXME: See bfd_perform_relocation. Is this right? */
++ return bfd_reloc_ok;
++
++ return nios2_elf32_do_pcrel16_relocate (abfd, reloc_entry->howto,
++ input_section,
++ data, reloc_entry->address,
++ (symbol->value
++ +
++ symbol->section->output_section->
++ vma +
++ symbol->section->output_offset),
++ reloc_entry->addend);
++}
++
++static bfd_reloc_status_type
++nios2_elf32_call26_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
++ void *data, asection *input_section, bfd *output_bfd, char **error_message ATTRIBUTE_UNUSED)
++{
++/* This part is from bfd_elf_generic_reloc. */
++ if (output_bfd != (bfd *) NULL
++ && (symbol->flags & BSF_SECTION_SYM) == 0
++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0))
++ {
++ reloc_entry->address += input_section->output_offset;
++ return bfd_reloc_ok;
++ }
++
++ if (output_bfd != NULL)
++ /* FIXME: See bfd_perform_relocation. Is this right? */
++ return bfd_reloc_ok;
++
++ return nios2_elf32_do_call26_relocate (abfd, reloc_entry->howto,
++ input_section,
++ data, reloc_entry->address,
++ (symbol->value
++ +
++ symbol->section->output_section->
++ vma +
++ symbol->section->output_offset),
++ reloc_entry->addend);
++}
++
++static bfd_reloc_status_type
++nios2_elf32_gprel_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
++ void *data, asection *input_section, bfd *output_bfd, char **msg)
++{
++ bfd_vma relocation;
++ bfd_vma gp;
++ bfd_reloc_status_type r;
++
++
++/* This part is from bfd_elf_generic_reloc. */
++ if (output_bfd != (bfd *) NULL
++ && (symbol->flags & BSF_SECTION_SYM) == 0
++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0))
++ {
++ reloc_entry->address += input_section->output_offset;
++ return bfd_reloc_ok;
++ }
++
++ if (output_bfd != NULL)
++ /* FIXME: See bfd_perform_relocation. Is this right? */
++ return bfd_reloc_ok;
++
++ relocation = symbol->value
++ + symbol->section->output_section->vma + symbol->section->output_offset;
++
++ if ((r =
++ nios2_elf_final_gp (abfd, symbol, FALSE, msg, &gp,
++ nios2_link_info)) == bfd_reloc_ok)
++ {
++ relocation = relocation + reloc_entry->addend - gp;
++ reloc_entry->addend = 0;
++ if ((signed) relocation < -32768 || (signed) relocation > 32767)
++ {
++ *msg = _("global pointer relative address out of range");
++ r = bfd_reloc_outofrange;
++ }
++ else
++ {
++ r = nios2_elf32_do_gprel_relocate (abfd, reloc_entry->howto,
++ input_section,
++ data, reloc_entry->address,
++ relocation, reloc_entry->addend);
++ }
++ }
++
++ return r;
++}
++
++static bfd_reloc_status_type
++nios2_elf32_ujmp_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
++ void *data, asection *input_section, bfd *output_bfd, char **msg ATTRIBUTE_UNUSED)
++{
++ /* This part is from bfd_elf_generic_reloc. */
++ if (output_bfd != (bfd *) NULL
++ && (symbol->flags & BSF_SECTION_SYM) == 0
++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0))
++ {
++ reloc_entry->address += input_section->output_offset;
++ return bfd_reloc_ok;
++ }
++
++ if (output_bfd != NULL)
++ /* FIXME: See bfd_perform_relocation. Is this right? */
++ return bfd_reloc_ok;
++
++ return nios2_elf32_do_ujmp_relocate (abfd, reloc_entry->howto,
++ input_section,
++ data, reloc_entry->address,
++ (symbol->value
++ + symbol->section->output_section->vma
++ + symbol->section->output_offset),
++ reloc_entry->addend);
++}
++
++static bfd_reloc_status_type
++nios2_elf32_cjmp_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
++ void *data, asection *input_section, bfd *output_bfd, char **msg ATTRIBUTE_UNUSED)
++{
++ /* This part is from bfd_elf_generic_reloc. */
++ if (output_bfd != (bfd *) NULL
++ && (symbol->flags & BSF_SECTION_SYM) == 0
++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0))
++ {
++ reloc_entry->address += input_section->output_offset;
++ return bfd_reloc_ok;
++ }
++
++ if (output_bfd != NULL)
++ /* FIXME: See bfd_perform_relocation. Is this right? */
++ return bfd_reloc_ok;
++
++ return nios2_elf32_do_cjmp_relocate (abfd, reloc_entry->howto,
++ input_section,
++ data, reloc_entry->address,
++ (symbol->value
++ + symbol->section->output_section->vma
++ + symbol->section->output_offset),
++ reloc_entry->addend);
++}
++
++static bfd_reloc_status_type
++nios2_elf32_callr_relocate (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
++ void *data, asection *input_section, bfd *output_bfd, char **msg ATTRIBUTE_UNUSED)
++{
++ /* This part is from bfd_elf_generic_reloc. */
++ if (output_bfd != (bfd *) NULL
++ && (symbol->flags & BSF_SECTION_SYM) == 0
++ && (!reloc_entry->howto->partial_inplace || reloc_entry->addend == 0))
++ {
++ reloc_entry->address += input_section->output_offset;
++ return bfd_reloc_ok;
++ }
++
++ if (output_bfd != NULL)
++ /* FIXME: See bfd_perform_relocation. Is this right? */
++ return bfd_reloc_ok;
++
++
++ return nios2_elf32_do_callr_relocate (abfd, reloc_entry->howto,
++ input_section,
++ data, reloc_entry->address,
++ (symbol->value
++ +
++ symbol->section->output_section->
++ vma +
++ symbol->section->output_offset),
++ reloc_entry->addend);
++}
++
++/* Do the relocations which require special handling */
++
++static bfd_reloc_status_type
++nios2_elf32_do_hi16_relocate (bfd *abfd, reloc_howto_type *howto,
++ asection *input_section ATTRIBUTE_UNUSED, bfd_byte *data,
++ bfd_vma offset, bfd_vma symbol_value, bfd_vma addend)
++{
++ symbol_value = symbol_value + addend;
++ addend = 0;
++ symbol_value = (symbol_value >> 16) & 0xffff;
++ return _bfd_final_link_relocate (howto, abfd, input_section,
++ data, offset, symbol_value, addend);
++}
++
++
++static bfd_reloc_status_type
++nios2_elf32_do_lo16_relocate (bfd *abfd, reloc_howto_type *howto,
++ asection *input_section ATTRIBUTE_UNUSED, bfd_byte *data,
++ bfd_vma offset, bfd_vma symbol_value, bfd_vma addend)
++{
++ symbol_value = symbol_value + addend;
++ addend = 0;
++ symbol_value = symbol_value & 0xffff;
++ return _bfd_final_link_relocate (howto, abfd, input_section,
++ data, offset, symbol_value, addend);
++}
++
++static bfd_reloc_status_type
++nios2_elf32_do_hiadj16_relocate (bfd *abfd, reloc_howto_type *howto,
++ asection *input_section ATTRIBUTE_UNUSED, bfd_byte *data, bfd_vma offset,
++ bfd_vma symbol_value, bfd_vma addend)
++{
++ symbol_value = symbol_value + addend;
++ addend = 0;
++ symbol_value =
++ ((symbol_value >> 16) & 0xffff) + ((symbol_value >> 15) & 0x01);
++ return _bfd_final_link_relocate (howto, abfd, input_section, data, offset,
++ symbol_value, addend);
++}
++
++static bfd_reloc_status_type
++nios2_elf32_do_pcrel16_relocate (bfd *abfd, reloc_howto_type *howto,
++ asection *input_section ATTRIBUTE_UNUSED, bfd_byte *data,
++ bfd_vma offset, bfd_vma symbol_value, bfd_vma addend)
++{
++ // NIOS2 pc relative relocations are relative to the next 32-bit instruction so we need
++ // to subtract 4 before doing a final_link_relocate
++ symbol_value = symbol_value + addend - 4;
++ addend = 0;
++ return _bfd_final_link_relocate (howto, abfd, input_section,
++ data, offset, symbol_value, addend);
++}
++
++static bfd_reloc_status_type
++nios2_elf32_do_call26_relocate (bfd *abfd, reloc_howto_type *howto,
++ asection *input_section ATTRIBUTE_UNUSED, bfd_byte *data,
++ bfd_vma offset, bfd_vma symbol_value, bfd_vma addend)
++{
++ /* check that the relocation is in the same page as the current address */
++ if (((symbol_value + addend) & 0xf0000000)
++ != ((input_section->output_section->vma + offset) & 0xf0000000))
++ return bfd_reloc_overflow;
++
++ return _bfd_final_link_relocate (howto, abfd, input_section,
++ data, offset, symbol_value, addend);
++}
++
++
++static bfd_reloc_status_type
++nios2_elf32_do_gprel_relocate (bfd *abfd, reloc_howto_type *howto,
++ asection *input_section ATTRIBUTE_UNUSED, bfd_byte *data,
++ bfd_vma offset, bfd_vma symbol_value, bfd_vma addend)
++{
++ // because we need the output_bfd, the special handling is done
++ // in nios2_elf32_relocate_section or in nios2_elf32_gprel_relocate
++ return _bfd_final_link_relocate (howto, abfd, input_section,
++ data, offset, symbol_value, addend);
++}
++
++static bfd_reloc_status_type
++nios2_elf32_do_ujmp_relocate (bfd *abfd, reloc_howto_type *howto,
++ asection *input_section ATTRIBUTE_UNUSED, bfd_byte *data,
++ bfd_vma offset, bfd_vma symbol_value, bfd_vma addend)
++{
++ bfd_vma symbol_lo16, symbol_hi16;
++ bfd_reloc_status_type r;
++ symbol_value = symbol_value + addend;
++ addend = 0;
++ symbol_hi16 = (symbol_value >> 16) & 0xffff;
++ symbol_lo16 = symbol_value & 0xffff;
++
++ r = _bfd_final_link_relocate (howto, abfd, input_section,
++ data, offset, symbol_hi16, addend);
++
++ if (r == bfd_reloc_ok)
++ return _bfd_final_link_relocate (howto, abfd, input_section,
++ data, offset + 4, symbol_lo16, addend);
++
++ return r;
++}
++
++static bfd_reloc_status_type
++nios2_elf32_do_cjmp_relocate (bfd *abfd, reloc_howto_type *howto,
++ asection *input_section ATTRIBUTE_UNUSED, bfd_byte *data,
++ bfd_vma offset, bfd_vma symbol_value, bfd_vma addend)
++{
++ bfd_vma symbol_lo16, symbol_hi16;
++ bfd_reloc_status_type r;
++ symbol_value = symbol_value + addend;
++ addend = 0;
++ symbol_hi16 = (symbol_value >> 16) & 0xffff;
++ symbol_lo16 = symbol_value & 0xffff;
++
++ r = _bfd_final_link_relocate (howto, abfd, input_section,
++ data, offset, symbol_hi16, addend);
++
++ if (r == bfd_reloc_ok)
++ return _bfd_final_link_relocate (howto, abfd, input_section,
++ data, offset + 4, symbol_lo16, addend);
++
++ return r;
++}
++
++static bfd_reloc_status_type
++nios2_elf32_do_callr_relocate (bfd *abfd, reloc_howto_type *howto,
++ asection *input_section ATTRIBUTE_UNUSED, bfd_byte *data,
++ bfd_vma offset, bfd_vma symbol_value, bfd_vma addend)
++{
++ bfd_vma symbol_lo16, symbol_hi16;
++ bfd_reloc_status_type r;
++ symbol_value = symbol_value + addend;
++ addend = 0;
++ symbol_hi16 = (symbol_value >> 16) & 0xffff;
++ symbol_lo16 = symbol_value & 0xffff;
++
++ r = _bfd_final_link_relocate (howto, abfd, input_section,
++ data, offset, symbol_hi16, addend);
++
++ if (r == bfd_reloc_ok)
++ return _bfd_final_link_relocate (howto, abfd, input_section,
++ data, offset + 4, symbol_lo16, addend);
++
++ return r;
++}
++
++/*
++ The function nios2_elf32_relocate_section is used by the linker
++ to perform relocations
++*/
++static bfd_boolean
++nios2_elf32_relocate_section (bfd * output_bfd,
++ struct bfd_link_info *info,
++ bfd * input_bfd,
++ asection * input_section,
++ bfd_byte * contents,
++ Elf_Internal_Rela * relocs,
++ Elf_Internal_Sym * local_syms,
++ asection ** local_sections)
++{
++ Elf_Internal_Shdr *symtab_hdr;
++ struct elf_link_hash_entry **sym_hashes;
++ Elf_Internal_Rela *rel;
++ Elf_Internal_Rela *relend;
++
++ symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
++ sym_hashes = elf_sym_hashes (input_bfd);
++ relend = relocs + input_section->reloc_count;
++
++// size_t psymalloc = 0;
++// _bfd_generic_link_output_symbols(output_bfd, input_bfd, info, &psymalloc);
++ for (rel = relocs; rel < relend; rel++)
++ {
++ reloc_howto_type *howto;
++ unsigned long r_symndx;
++ Elf_Internal_Sym *sym;
++ asection *sec;
++ struct elf_link_hash_entry *h;
++ bfd_vma relocation;
++ bfd_vma gp;
++ bfd_vma reloc_address;
++ bfd_reloc_status_type r = bfd_reloc_ok;
++ const char *name = NULL;
++ int r_type;
++ const char *format;
++ char msgbuf[256];
++ const char* msg = (const char*) NULL;
++
++
++
++ r_type = ELF32_R_TYPE (rel->r_info);
++
++ r_symndx = ELF32_R_SYM (rel->r_info);
++
++ if (info->relocatable)
++ {
++ /* This is a relocatable link. We don't have to change
++ anything, unless the reloc is against a section symbol,
++ in which case we have to adjust according to where the
++ section symbol winds up in the output section. */
++ if (r_symndx < symtab_hdr->sh_info)
++ {
++ sym = local_syms + r_symndx;
++
++ if (ELF_ST_TYPE (sym->st_info) == STT_SECTION)
++ {
++ sec = local_sections[r_symndx];
++ rel->r_addend += sec->output_offset + sym->st_value;
++ }
++ }
++ continue;
++ }
++
++ /* This is a final link. */
++ howto = lookup_howto ((unsigned) ELF32_R_TYPE (rel->r_info));
++ h = NULL;
++ sym = NULL;
++ sec = NULL;
++
++ if (r_symndx < symtab_hdr->sh_info)
++ {
++ sym = local_syms + r_symndx;
++ sec = local_sections[r_symndx];
++
++ relocation = (sec->output_section->vma
++ + sec->output_offset + sym->st_value);
++
++ // this ensures that relocations against duplicated symbols
++ // in merged sections that have been removed are fixed up against
++ // the remaining symbol and not the one that has been removed
++ if ((sec->flags & SEC_MERGE)
++ && ELF_ST_TYPE (sym->st_info) == STT_SECTION)
++ {
++ rel->r_addend =
++ _bfd_elf_rel_local_sym (output_bfd, sym, &sec, rel->r_addend);
++ rel->r_addend -= relocation;
++ rel->r_addend += sec->output_section->vma + sec->output_offset;
++ }
++
++ name = bfd_elf_string_from_elf_section
++ (input_bfd, symtab_hdr->sh_link, sym->st_name);
++
++ name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
++ }
++ else
++ {
++ h = sym_hashes[r_symndx - symtab_hdr->sh_info];
++
++ while (h->root.type == bfd_link_hash_indirect
++ || h->root.type == bfd_link_hash_warning)
++ h = (struct elf_link_hash_entry *) h->root.u.i.link;
++
++ name = h->root.root.string;
++
++ if (h->root.type == bfd_link_hash_defined
++ || h->root.type == bfd_link_hash_defweak)
++ {
++ sec = h->root.u.def.section;
++
++ relocation = (h->root.u.def.value
++ + sec->output_section->vma + sec->output_offset);
++ }
++ else if (h->root.type == bfd_link_hash_undefweak)
++ {
++ relocation = 0;
++ }
++ else
++ {
++ if (!((*info->callbacks->undefined_symbol)
++ (info, h->root.root.string, input_bfd,
++ input_section, rel->r_offset, TRUE)))
++ return FALSE;
++ relocation = 0;
++ }
++ }
++
++ if (sec)
++ reloc_address = sec->output_section->vma + sec->output_offset + rel->r_offset;
++ else
++ reloc_address = 0;
++
++ if (howto != NULL)
++ {
++ switch (howto->type)
++ {
++ case R_NIOS2_HI16:
++ r =
++ nios2_elf32_do_hi16_relocate (input_bfd, howto, input_section,
++ contents, rel->r_offset,
++ relocation, rel->r_addend);
++ break;
++ case R_NIOS2_LO16:
++ r =
++ nios2_elf32_do_lo16_relocate (input_bfd, howto, input_section,
++ contents, rel->r_offset,
++ relocation, rel->r_addend);
++ break;
++ case R_NIOS2_HIADJ16:
++ r =
++ nios2_elf32_do_hiadj16_relocate (input_bfd, howto,
++ input_section, contents,
++ rel->r_offset, relocation,
++ rel->r_addend);
++ break;
++ case R_NIOS2_PCREL16:
++ r =
++ nios2_elf32_do_pcrel16_relocate (input_bfd, howto,
++ input_section, contents,
++ rel->r_offset, relocation,
++ rel->r_addend);
++ break;
++ case R_NIOS2_GPREL:
++ // turns an absolute address into a gp-relative address
++ if (!nios2_elf_assign_gp (output_bfd, &gp, info))
++ {
++ format = _("global pointer relative relocation at address 0x%08x when _gp not defined\n");
++ sprintf(msgbuf, format, reloc_address);
++ msg = msgbuf;
++ r = bfd_reloc_dangerous;
++ }
++ else
++ {
++ relocation = relocation + rel->r_addend - gp;
++ rel->r_addend = 0;
++ if ((signed) relocation < -32768
++ || (signed) relocation > 32767)
++ {
++ format = _("global pointer relative offset %d at address 0x%08x out of range -32678 to 32767\n");
++ sprintf(msgbuf, format, (signed)relocation, reloc_address);
++ msg = msgbuf;
++ r = bfd_reloc_outofrange;
++ }
++ else
++ {
++ r =
++ _bfd_final_link_relocate (howto, input_bfd,
++ input_section, contents,
++ rel->r_offset, relocation,
++ rel->r_addend);
++ }
++ }
++
++ break;
++ case R_NIOS2_UJMP:
++ r =
++ nios2_elf32_do_ujmp_relocate (input_bfd, howto, input_section,
++ contents, rel->r_offset,
++ relocation, rel->r_addend);
++ break;
++ case R_NIOS2_CJMP:
++ r =
++ nios2_elf32_do_cjmp_relocate (input_bfd, howto, input_section,
++ contents, rel->r_offset,
++ relocation, rel->r_addend);
++ break;
++ case R_NIOS2_CALLR:
++ r =
++ nios2_elf32_do_callr_relocate (input_bfd, howto,
++ input_section, contents,
++ rel->r_offset, relocation,
++ rel->r_addend);
++ break;
++ case R_NIOS2_CALL26:
++ r =
++ nios2_elf32_do_call26_relocate (input_bfd, howto,
++ input_section, contents,
++ rel->r_offset, relocation,
++ rel->r_addend);
++ break;
++ case R_NIOS2_ALIGN:
++ r = bfd_reloc_ok;
++ /* comment - for symmetry this would be
++ r = nios2_elf32_do_ignore_reloc (input_bfd, howto, input_section,
++ contents, rel->r_offset,
++ relocation, rel->r_addend);
++ but do_ignore_reloc would do no more than return bfd_reloc_ok */
++ break;
++ default:
++ r = _bfd_final_link_relocate (howto, input_bfd, input_section,
++ contents, rel->r_offset,
++ relocation, rel->r_addend);
++ break;
++ }
++ }
++ else
++ {
++ r = bfd_reloc_notsupported;
++ }
++
++ if (r != bfd_reloc_ok)
++ {
++ if (h != NULL)
++ name = h->root.root.string;
++ else
++ {
++ name = (bfd_elf_string_from_elf_section
++ (input_bfd, symtab_hdr->sh_link, sym->st_name));
++ if (name == NULL || *name == '\0')
++ name = bfd_section_name (input_bfd, sec);
++ }
++
++ switch (r)
++ {
++ case bfd_reloc_overflow:
++ r = info->callbacks->reloc_overflow
++ (info, name, howto->name, (bfd_vma) 0,
++ input_bfd, input_section, rel->r_offset);
++ break;
++
++ case bfd_reloc_undefined:
++ r = info->callbacks->undefined_symbol
++ (info, name, input_bfd, input_section, rel->r_offset, TRUE);
++ break;
++
++ case bfd_reloc_outofrange:
++ if (msg == NULL)
++ msg = _("relocation out of range");
++ break;
++
++ case bfd_reloc_notsupported:
++ if (msg == NULL)
++ msg = _("unsupported relocation");
++ break;
++
++ case bfd_reloc_dangerous:
++ if (msg == NULL)
++ msg = _("dangerous relocation");
++ break;
++
++ default:
++ if (msg == NULL)
++ msg = _("unknown error");
++ break;
++ }
++
++ if (msg)
++ {
++ r = info->callbacks->warning
++ (info, msg, name, input_bfd, input_section, rel->r_offset);
++ return linker_force_make_executable;
++ }
++ }
++ }
++ return TRUE;
++}
++
++
++
++/* Handle an NIOS2 specific section when reading an object file. This
++ is called when elfcode.h finds a section with an unknown type.
++ FIXME: We need to handle the SHF_NIOS2_GPREL flag */
++
++static bfd_boolean
++nios2_elf32_section_from_shdr (bfd *abfd,
++ Elf_Internal_Shdr *hdr, const char *name)
++{
++ asection *newsect;
++
++ /* NG - I'm keeping this code commented out at the moment
++ in case we add a .mdebug section */
++
++ /*
++ switch (hdr->sh_type)
++ {
++ case SHT_NIOS2_DEBUG:
++ if (strcmp (name, ".mdebug") != 0)
++ return FALSE;
++ break;
++ default:
++ return FALSE;
++ }
++ */
++
++ if (!_bfd_elf_make_section_from_shdr (abfd, hdr, name))
++ return FALSE;
++
++ newsect = hdr->bfd_section;
++
++ /* ditto */
++ /*
++ if (hdr->sh_type == SHT_NIOS2_DEBUG)
++ {
++ if (! bfd_set_section_flags (abfd, newsect,
++ (bfd_get_section_flags (abfd, newsect)
++ | SEC_DEBUGGING)))
++ return FALSE;
++ }
++ */
++ return TRUE;
++}
++
++/* Convert NIOS2 specific section flags to bfd internal section flags. */
++
++static bfd_boolean
++nios2_elf32_section_flags (flagword *flags, Elf_Internal_Shdr *hdr)
++{
++ if (hdr->sh_flags & SHF_NIOS2_GPREL)
++ *flags |= SEC_SMALL_DATA;
++
++ return TRUE;
++}
++
++/* Set the correct type for an NIOS2 ELF section. We do this by the
++ section name, which is a hack, but ought to work. */
++
++static bfd_boolean
++nios2_elf32_fake_sections (bfd *abfd ATTRIBUTE_UNUSED,
++ Elf_Internal_Shdr *hdr, asection *sec)
++{
++ register const char *name;
++
++ name = bfd_get_section_name (abfd, sec);
++
++ if (strcmp (name, ".mdebug") == 0)
++ {
++ /* we don't yet have an .mdebug section, but I'm leaving this here
++ in case we ever do
++ hdr->sh_type = SHT_NIOS2_DEBUG;
++
++ if ((abfd->flags & DYNAMIC) != 0 )
++ hdr->sh_entsize = 0;
++ else
++ hdr->sh_entsize = 1;
++ */
++ }
++ else if ((sec->flags & SEC_SMALL_DATA)
++ || strcmp (name, ".sdata") == 0
++ || strcmp (name, ".sbss") == 0
++ || strcmp (name, ".lit4") == 0 || strcmp (name, ".lit8") == 0)
++ hdr->sh_flags |= SHF_NIOS2_GPREL;
++
++ return TRUE;
++}
++
++/* Look through the relocs for a section during the first phase.
++ Since we don't do .gots or .plts, we just need to consider the
++ virtual table relocs for gc. */
++
++static bfd_boolean
++nios2_elf32_check_relocs (bfd *abfd, struct bfd_link_info *info,
++ asection *sec, const Elf_Internal_Rela *relocs)
++{
++ Elf_Internal_Shdr *symtab_hdr;
++ struct elf_link_hash_entry **sym_hashes, **sym_hashes_end;
++ const Elf_Internal_Rela *rel;
++ const Elf_Internal_Rela *rel_end;
++
++ if (info->relocatable)
++ return TRUE;
++
++ symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
++ sym_hashes = elf_sym_hashes (abfd);
++ sym_hashes_end =
++ sym_hashes + symtab_hdr->sh_size / sizeof (Elf32_External_Sym);
++ if (!elf_bad_symtab (abfd))
++ sym_hashes_end -= symtab_hdr->sh_info;
++
++ rel_end = relocs + sec->reloc_count;
++ for (rel = relocs; rel < rel_end; rel++)
++ {
++ struct elf_link_hash_entry *h;
++ unsigned long r_symndx;
++
++ r_symndx = ELF32_R_SYM (rel->r_info);
++ if (r_symndx < symtab_hdr->sh_info)
++ h = NULL;
++ else
++ h = sym_hashes[r_symndx - symtab_hdr->sh_info];
++
++ switch (ELF32_R_TYPE (rel->r_info))
++ {
++ /* This relocation describes the C++ object vtable hierarchy.
++ Reconstruct it for later use during GC. */
++ case R_NIOS2_GNU_VTINHERIT:
++ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
++ return FALSE;
++ break;
++
++ /* This relocation describes which C++ vtable entries are actually
++ used. Record for later use during GC. */
++ case R_NIOS2_GNU_VTENTRY:
++ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
++ return FALSE;
++ break;
++ }
++ }
++
++ return TRUE;
++}
++
++
++/* Return the section that should be marked against GC for a given
++ relocation. */
++
++asection *
++nios2_elf32_gc_mark_hook (asection *sec,
++ struct bfd_link_info *info ATTRIBUTE_UNUSED,
++ Elf_Internal_Rela *rel, struct elf_link_hash_entry *h,
++ Elf_Internal_Sym *sym)
++{
++ if (h != NULL)
++ {
++ switch (ELF32_R_TYPE (rel->r_info))
++ {
++ case R_NIOS2_GNU_VTINHERIT:
++ case R_NIOS2_GNU_VTENTRY:
++ break;
++
++ default:
++ switch (h->root.type)
++ {
++ case bfd_link_hash_defined:
++ case bfd_link_hash_defweak:
++ return h->root.u.def.section;
++
++ case bfd_link_hash_common:
++ return h->root.u.c.p->section;
++
++ default:
++ break;
++ }
++ }
++ }
++ else
++ return bfd_section_from_elf_index (sec->owner, sym->st_shndx);
++
++ return NULL;
++}
++
++/*
++ NG ??? I'm marking the sections as standalone ie. I'm linking for
++ standalone embedded applications, not for UNIX System V or any other
++ OS/ABI - this may need to change when we deal with embedded PIC or
++ dynamic linking
++*/
++
++static void
++nios2_elf32_post_process_headers (bfd *abfd,
++ struct bfd_link_info *link_info ATTRIBUTE_UNUSED)
++{
++ Elf_Internal_Ehdr *i_ehdrp; /* Elf file header, internal form */
++
++ i_ehdrp = elf_elfheader (abfd);
++ i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_STANDALONE;
++}
++
++#define ELF_ARCH bfd_arch_nios2
++#define ELF_MACHINE_CODE EM_ALTERA_NIOS2
++
++/* for now we just make this 1, as we have no MMU in New Jersey */
++
++#define ELF_MAXPAGESIZE 1
++
++/* relocation table lookup macros */
++
++#define bfd_elf32_bfd_reloc_type_lookup nios2_elf32_bfd_reloc_type_lookup
++
++/* JUMP_TABLE_LINK macros */
++
++#define bfd_elf32_bfd_relax_section nios2_elf32_relax_section
++
++/* elf_info_to_howto (using RELA relocations) */
++
++#define elf_info_to_howto nios2_elf32_info_to_howto
++
++/* elf backend functions */
++
++#define elf_backend_can_gc_sections 1
++
++#define elf_backend_relocate_section nios2_elf32_relocate_section
++#define elf_backend_section_from_shdr nios2_elf32_section_from_shdr
++#define elf_backend_section_flags nios2_elf32_section_flags
++#define elf_backend_fake_sections nios2_elf32_fake_sections
++#define elf_backend_post_process_headers nios2_elf32_post_process_headers
++#define elf_backend_check_relocs nios2_elf32_check_relocs
++
++#define elf_backend_gc_mark_hook nios2_elf32_gc_mark_hook
++
++
++
++/* Support for SGI-ish mips targets. */
++#define TARGET_LITTLE_SYM bfd_elf32_littlenios2_vec
++#define TARGET_LITTLE_NAME "elf32-littlenios2"
++//#define TARGET_BIG_SYM bfd_elf32_bignios2_vec
++//#define TARGET_BIG_NAME "elf32-bignios2"
++
++#include "elf32-target.h"
+--- binutils-2.15/bfd/libbfd.h 2004-02-12 00:23:20.000000000 +0100
++++ binutils-2.15-nios2/bfd/libbfd.h 2005-05-17 12:20:13.000000000 +0200
+@@ -652,9 +652,11 @@ extern bfd_boolean _bfd_sh_align_load_sp
+ #endif
+ /* Extracted from init.c. */
+ /* Extracted from libbfd.c. */
+-bfd_boolean bfd_write_bigendian_4byte_int (bfd *, unsigned int);
++bfd_boolean
++bfd_write_bigendian_4byte_int PARAMS ((bfd *, unsigned int));
+
+-unsigned int bfd_log2 (bfd_vma x);
++unsigned int
++bfd_log2 PARAMS ((bfd_vma x));
+
+ /* Extracted from bfdio.c. */
+ /* Extracted from bfdwin.c. */
+@@ -673,13 +675,17 @@ extern bfd *bfd_last_cache;
+ ((x)==bfd_last_cache? \
+ (FILE*) (bfd_last_cache->iostream): \
+ bfd_cache_lookup_worker(x))
+-bfd_boolean bfd_cache_init (bfd *abfd);
++bfd_boolean
++bfd_cache_init PARAMS ((bfd *abfd));
+
+-bfd_boolean bfd_cache_close (bfd *abfd);
++bfd_boolean
++bfd_cache_close PARAMS ((bfd *abfd));
+
+-FILE* bfd_open_file (bfd *abfd);
++FILE*
++bfd_open_file PARAMS ((bfd *abfd));
+
+-FILE *bfd_cache_lookup_worker (bfd *abfd);
++FILE *
++bfd_cache_lookup_worker PARAMS ((bfd *abfd));
+
+ /* Extracted from reloc.c. */
+ #ifdef _BFD_MAKE_TABLE_bfd_reloc_code_real
+@@ -1504,6 +1510,21 @@ static const char *const bfd_reloc_code_
+ "BFD_RELOC_MSP430_16",
+ "BFD_RELOC_MSP430_16_PCREL_BYTE",
+ "BFD_RELOC_MSP430_16_BYTE",
++ "BFD_RELOC_NIOS2_S16",
++ "BFD_RELOC_NIOS2_U16",
++ "BFD_RELOC_NIOS2_CALL26",
++ "BFD_RELOC_NIOS2_IMM5",
++ "BFD_RELOC_NIOS2_CACHE_OPX",
++ "BFD_RELOC_NIOS2_IMM6",
++ "BFD_RELOC_NIOS2_IMM8",
++ "BFD_RELOC_NIOS2_HI16",
++ "BFD_RELOC_NIOS2_LO16",
++ "BFD_RELOC_NIOS2_HIADJ16",
++ "BFD_RELOC_NIOS2_GPREL",
++ "BFD_RELOC_NIOS2_UJMP",
++ "BFD_RELOC_NIOS2_CJMP",
++ "BFD_RELOC_NIOS2_CALLR",
++ "BFD_RELOC_NIOS2_ALIGN",
+ "BFD_RELOC_IQ2000_OFFSET_16",
+ "BFD_RELOC_IQ2000_OFFSET_21",
+ "BFD_RELOC_IQ2000_UHI16",
+@@ -1521,40 +1542,41 @@ static const char *const bfd_reloc_code_
+ };
+ #endif
+
+-reloc_howto_type *bfd_default_reloc_type_lookup
+- (bfd *abfd, bfd_reloc_code_real_type code);
++reloc_howto_type *
++bfd_default_reloc_type_lookup PARAMS ((bfd *abfd, bfd_reloc_code_real_type code));
+
+-bfd_boolean bfd_generic_relax_section
+- (bfd *abfd,
++bfd_boolean
++bfd_generic_relax_section PARAMS ((bfd *abfd,
+ asection *section,
+ struct bfd_link_info *,
+- bfd_boolean *);
++ bfd_boolean *));
+
+-bfd_boolean bfd_generic_gc_sections
+- (bfd *, struct bfd_link_info *);
++bfd_boolean
++bfd_generic_gc_sections PARAMS ((bfd *, struct bfd_link_info *));
+
+-bfd_boolean bfd_generic_merge_sections
+- (bfd *, struct bfd_link_info *);
++bfd_boolean
++bfd_generic_merge_sections PARAMS ((bfd *, struct bfd_link_info *));
+
+-bfd_byte *bfd_generic_get_relocated_section_contents
+- (bfd *abfd,
++bfd_byte *
++bfd_generic_get_relocated_section_contents PARAMS ((bfd *abfd,
+ struct bfd_link_info *link_info,
+ struct bfd_link_order *link_order,
+ bfd_byte *data,
+ bfd_boolean relocatable,
+- asymbol **symbols);
++ asymbol **symbols));
+
+ /* Extracted from archures.c. */
+ extern const bfd_arch_info_type bfd_default_arch_struct;
+-bfd_boolean bfd_default_set_arch_mach
+- (bfd *abfd, enum bfd_architecture arch, unsigned long mach);
++bfd_boolean
++bfd_default_set_arch_mach PARAMS ((bfd *abfd, enum bfd_architecture arch, unsigned long mach));
+
+-const bfd_arch_info_type *bfd_default_compatible
+- (const bfd_arch_info_type *a, const bfd_arch_info_type *b);
++const bfd_arch_info_type *
++bfd_default_compatible PARAMS ((const bfd_arch_info_type *a, const bfd_arch_info_type *b));
+
+-bfd_boolean bfd_default_scan
+- (const struct bfd_arch_info *info, const char *string);
++bfd_boolean
++bfd_default_scan PARAMS ((const struct bfd_arch_info *info, const char *string));
+
+ /* Extracted from elf.c. */
+-struct elf_internal_shdr *bfd_elf_find_section (bfd *abfd, char *name);
++struct elf_internal_shdr *
++bfd_elf_find_section PARAMS ((bfd *abfd, char *name));
+
+--- binutils-2.15/bfd/reloc.c 2004-01-21 12:17:53.000000000 +0100
++++ binutils-2.15-nios2/bfd/reloc.c 2005-05-17 12:20:13.000000000 +0200
+@@ -3943,6 +3943,39 @@ ENUMDOC
+ msp430 specific relocation codes
+
+ ENUM
++ BFD_RELOC_NIOS2_S16
++ENUMX
++ BFD_RELOC_NIOS2_U16
++ENUMX
++ BFD_RELOC_NIOS2_CALL26
++ENUMX
++ BFD_RELOC_NIOS2_IMM5
++ENUMX
++ BFD_RELOC_NIOS2_CACHE_OPX
++ENUMX
++ BFD_RELOC_NIOS2_IMM6
++ENUMX
++ BFD_RELOC_NIOS2_IMM8
++ENUMX
++ BFD_RELOC_NIOS2_HI16
++ENUMX
++ BFD_RELOC_NIOS2_LO16
++ENUMX
++ BFD_RELOC_NIOS2_HIADJ16
++ENUMX
++ BFD_RELOC_NIOS2_GPREL
++ENUMX
++ BFD_RELOC_NIOS2_UJMP
++ENUMX
++ BFD_RELOC_NIOS2_CJMP
++ENUMX
++ BFD_RELOC_NIOS2_CALLR
++ENUMX
++ BFD_RELOC_NIOS2_ALIGN
++ENUMDOC
++ Relocations used by the Altera New Jersey core
++
++ENUM
+ BFD_RELOC_IQ2000_OFFSET_16
+ ENUMX
+ BFD_RELOC_IQ2000_OFFSET_21
+--- binutils-2.15/bfd/srec.c 2003-11-30 19:40:41.000000000 +0100
++++ binutils-2.15-nios2/bfd/srec.c 2005-05-17 12:20:13.000000000 +0200
+@@ -1009,9 +1009,14 @@ srec_write_header (abfd)
+ {
+ unsigned int len = strlen (abfd->filename);
+
+- /* I'll put an arbitrary 40 char limit on header size. */
+- if (len > 40)
+- len = 40;
++ /* validate Chunk for header */
++ if (Chunk == 0)
++ Chunk = 1;
++ else if (Chunk > MAXCHUNK - 2) /* S0 has 2 address bytes */
++ Chunk = MAXCHUNK - 2;
++
++ if (len > Chunk)
++ len = Chunk;
+
+ return srec_write_record (abfd, 0, (bfd_vma) 0,
+ abfd->filename, abfd->filename + len);
+--- binutils-2.15/bfd/targets.c 2004-05-17 21:36:04.000000000 +0200
++++ binutils-2.15-nios2/bfd/targets.c 2005-05-17 12:20:13.000000000 +0200
+@@ -559,6 +559,7 @@ extern const bfd_target bfd_elf32_nbigmi
+ extern const bfd_target bfd_elf32_nlittlemips_vec;
+ extern const bfd_target bfd_elf32_ntradbigmips_vec;
+ extern const bfd_target bfd_elf32_ntradlittlemips_vec;
++extern const bfd_target bfd_elf32_littlenios2_vec;
+ extern const bfd_target bfd_elf32_openrisc_vec;
+ extern const bfd_target bfd_elf32_or32_big_vec;
+ extern const bfd_target bfd_elf32_pj_vec;
+@@ -746,6 +747,7 @@ extern const bfd_target sco5_core_vec;
+ extern const bfd_target trad_core_vec;
+
+ extern const bfd_target bfd_elf32_am33lin_vec;
++extern const bfd_target bfd_elf32_littlenios2_vec;
+ static const bfd_target * const _bfd_target_vector[] = {
+
+ #ifdef SELECT_VECS
+@@ -854,6 +856,7 @@ static const bfd_target * const _bfd_tar
+ &bfd_elf32_ntradbigmips_vec,
+ &bfd_elf32_ntradlittlemips_vec,
+ #endif
++ &bfd_elf32_littlenios2_vec,
+ &bfd_elf32_openrisc_vec,
+ &bfd_elf32_or32_big_vec,
+ &bfd_elf32_pj_vec,
+--- binutils-2.15/binutils/nios2_binutils_xfail.lst 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/binutils/nios2_binutils_xfail.lst 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1 @@
++No xfails
+--- binutils-2.15/binutils/readelf.c 2004-05-17 21:35:52.000000000 +0200
++++ binutils-2.15-nios2/binutils/readelf.c 2005-05-17 12:20:13.000000000 +0200
+@@ -110,6 +110,8 @@
+
+ #include "aout/ar.h"
+
++#include "elf/nios2.h"
++
+ #include "bucomm.h"
+ #include "getopt.h"
+ #include "libiberty.h"
+@@ -668,6 +670,7 @@ guess_is_rela (unsigned long e_machine)
+ case EM_XTENSA:
+ case EM_XTENSA_OLD:
+ case EM_M32R:
++ case EM_ALTERA_NIOS2:
+ return TRUE;
+
+ case EM_MMA:
+@@ -1166,6 +1169,10 @@ dump_relocations (FILE *file,
+ case EM_XTENSA:
+ rtype = elf_xtensa_reloc_type (type);
+ break;
++
++ case EM_ALTERA_NIOS2:
++ rtype = elf_nios2_reloc_type (type);
++ break;
+ }
+
+ if (rtype == NULL)
+@@ -1649,6 +1656,7 @@ get_machine_name (unsigned e_machine)
+ case EM_IQ2000: return "Vitesse IQ2000";
+ case EM_XTENSA_OLD:
+ case EM_XTENSA: return "Tensilica Xtensa Processor";
++ case EM_ALTERA_NIOS2: return "Altera Nios II";
+ default:
+ sprintf (buff, _("<unknown>: %x"), e_machine);
+ return buff;
+--- binutils-2.15/binutils/testsuite/binutils-all/bintest.s 1999-05-03 09:29:11.000000000 +0200
++++ binutils-2.15-nios2/binutils/testsuite/binutils-all/bintest.s 2005-05-17 12:20:13.000000000 +0200
+@@ -1,5 +1,8 @@
+ .globl text_symbol
+ .text
++ # this is needed to get the readelf -s, -S and -r tests to work
++ # with nios2 as it has relaxation on by default
++ .set norelax
+ text_symbol:
+ static_text_symbol:
+ .long 1
+--- binutils-2.15/binutils-2.15_copied 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/binutils-2.15_copied 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1 @@
++timestamp
+--- binutils-2.15/binutils-2.15_untarred 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/binutils-2.15_untarred 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1 @@
++timestamp
+--- binutils-2.15/configure 2004-05-17 21:36:20.000000000 +0200
++++ binutils-2.15-nios2/configure 2005-05-17 12:20:13.000000000 +0200
+@@ -1434,6 +1434,10 @@ case "${target}" in
+ mips*-*-*)
+ noconfigdirs="$noconfigdirs gprof ${libgcj}"
+ ;;
++ nios2-*-*)
++ skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'`
++ noconfigdirs="$noconfigdirs"
++ ;;
+ romp-*-*)
+ noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
+ ;;
+--- binutils-2.15/configure.in 2004-05-17 21:40:54.000000000 +0200
++++ binutils-2.15-nios2/configure.in 2005-05-17 12:20:13.000000000 +0200
+@@ -18,6 +18,7 @@
+ ##############################################################################
+ ### WARNING: this file contains embedded tabs. Do not run untabify on this file.
+
++
+ AC_INIT(move-if-change)
+ AC_PREREQ(2.13)
+ AC_CANONICAL_SYSTEM
+@@ -667,6 +668,10 @@ case "${target}" in
+ mips*-*-*)
+ noconfigdirs="$noconfigdirs gprof ${libgcj}"
+ ;;
++ nios2-*-*)
++ skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'`
++ noconfigdirs="$noconfigdirs"
++ ;;
+ romp-*-*)
+ noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
+ ;;
+--- binutils-2.15/gas/Makefile.in 2004-05-17 21:36:07.000000000 +0200
++++ binutils-2.15-nios2/gas/Makefile.in 2005-05-17 12:20:13.000000000 +0200
+@@ -299,6 +299,7 @@ CPU_TYPES = \
+ mn10200 \
+ mn10300 \
+ msp430 \
++ nios2 \
+ ns32k \
+ openrisc \
+ or32 \
+@@ -493,6 +494,7 @@ TARGET_CPU_CFILES = \
+ config/tc-mn10200.c \
+ config/tc-mn10300.c \
+ config/tc-msp430.c \
++ config/tc-nios2.c \
+ config/tc-ns32k.c \
+ config/tc-openrisc.c \
+ config/tc-or32.c \
+@@ -545,6 +547,7 @@ TARGET_CPU_HFILES = \
+ config/tc-mn10200.h \
+ config/tc-mn10300.h \
+ config/tc-msp430.h \
++ config/tc-nios2.h \
+ config/tc-ns32k.h \
+ config/tc-openrisc.h \
+ config/tc-or32.h \
+@@ -1171,6 +1174,13 @@ DEPTC_msp430_elf = $(INCDIR)/symcat.h $(
+ subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/msp430.h \
+ $(INCDIR)/safe-ctype.h
+
++DEPTC_nios2_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
++ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
++ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-nios2.h \
++ subsegs.h $(INCDIR)/obstack.h $(INCDIR)/safe-ctype.h \
++ $(INCDIR)/opcode/nios2.h itbl-ops.h dwarf2dbg.h $(INCDIR)/elf/nios2.h \
++ $(INCDIR)/elf/reloc-macros.h
++
+ DEPTC_ns32k_aout = $(INCDIR)/symcat.h $(srcdir)/config/obj-aout.h \
+ $(srcdir)/config/tc-ns32k.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \
+ $(INCDIR)/opcode/ns32k.h $(INCDIR)/obstack.h
+@@ -1824,6 +1834,12 @@ DEPOBJ_msp430_elf = $(INCDIR)/symcat.h $
+ $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
+ struc-symbol.h dwarf2dbg.h $(INCDIR)/aout/aout64.h
+
++DEPOBJ_nios2_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
++ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
++ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-nios2.h \
++ $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \
++ $(INCDIR)/elf/nios2.h $(INCDIR)/elf/reloc-macros.h
++
+ DEPOBJ_ns32k_aout = $(INCDIR)/symcat.h $(srcdir)/config/obj-aout.h \
+ $(srcdir)/config/tc-ns32k.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \
+ $(INCDIR)/aout/aout64.h $(INCDIR)/obstack.h
+@@ -2349,6 +2365,10 @@ DEP_msp430_elf = $(srcdir)/config/obj-el
+ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
+ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-msp430.h
+
++DEP_nios2_elf = $(srcdir)/config/obj-elf.h $(INCDIR)/symcat.h \
++ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
++ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-nios2.h
++
+ DEP_ns32k_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-ns32k.h \
+ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h
+
+--- binutils-2.15/gas/config/obj-elf.c 2004-05-17 21:36:08.000000000 +0200
++++ binutils-2.15-nios2/gas/config/obj-elf.c 2005-05-17 12:20:13.000000000 +0200
+@@ -53,6 +53,10 @@
+ #include "elf/i370.h"
+ #endif
+
++#ifdef TC_NIOS2
++#include "elf/nios2.h"
++#endif
++
+ static void obj_elf_line (int);
+ static void obj_elf_size (int);
+ static void obj_elf_type (int);
+--- binutils-2.15/gas/config/tc-nios2.c 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/config/tc-nios2.c 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,2996 @@
++/* tc-nios2.c -- assemble code for a New Jersey processor.
++
++ Copyright (C) 2003
++ by Nigel Gray (ngray@altera.com).
++
++
++ This file is part of GAS.
++
++ GAS is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 2, or (at your option)
++ any later version.
++
++ GAS is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with GAS; see the file COPYING. If not, write to the Free
++ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
++ 02111-1307, USA. */
++
++
++#include <stdio.h>
++#include <limits.h>
++#include <string.h>
++#include <stdlib.h>
++#include "as.h"
++#include "opcode/nios2.h"
++#include "elf/nios2.h"
++#include "tc-nios2.h"
++#include "bfd.h"
++#include "dwarf2dbg.h"
++#include "subsegs.h"
++#include "safe-ctype.h"
++
++#ifndef OBJ_ELF
++ /* we are not supporting any other target
++ so we throw a compile time error */
++OBJ_ELF not defined
++#endif
++ typedef enum
++{
++ relax_section = 0,
++ relax_none,
++ relax_all
++}
++relax_optionT;
++
++
++/* struct contains all assembler options set with .set */
++struct
++{
++ /*
++ .set noat -> noat = 1 allows assembly code to use at without warning
++ and macro expansions will generate a warning.
++ .set at -> noat = 0, assembly code using at will warn
++ macro expansions will not generate warnings
++ */
++ bfd_boolean noat;
++
++ /*
++ .set nobreak -> nobreak = 1 allows assembly code to use ba,bt without warning
++ .set break -> nobreak = 0, assembly code using ba,bt will warn
++ */
++ bfd_boolean nobreak;
++
++ /*
++ .cmd line option -relax-all allows all branches and calls to be replaced
++ with longer versions
++ -no-relax inhibits branch/call conversion
++ default value is relax_section, which relaxes branches within a section
++ */
++ relax_optionT relax;
++
++}
++nios2_as_options =
++{
++FALSE, FALSE, relax_section};
++
++
++typedef struct nios2_insn_reloc
++{
++ /* any expression in the instruction is parsed into
++ this field which is passed to fix_new_exp() to
++ generate a fixup */
++ expressionS reloc_expression;
++
++ /* the type of the relocation to be applied */
++ bfd_reloc_code_real_type reloc_type;
++
++ /* pc relative */
++ unsigned int reloc_pcrel;
++
++ /* the next relocation to be applied to the instruction */
++ struct nios2_insn_reloc *reloc_next;
++}
++nios2_insn_relocS;
++
++
++/* ------------------------------------------------------------------
++ This struct is used by the functions in tc-nios2.c to assemble an
++ instruction
++ ------------------------------------------------------------------*/
++
++typedef struct nios2_insn_info
++{
++ /* assembled instruction */
++ unsigned long insn_code;
++ /* ptr to the relevant bit of the opcode table */
++ const struct nios2_opcode *insn_nios2_opcode;
++ /* after parsing ptrs to the tokens in the instruction fill this array
++ it is terminated with a null pointer ( hence the first +1
++ The second +1 is because in some parts of the code the opcode
++ is not counted as a token, but still placed in this array*/
++ const char *insn_tokens[NIOS2_MAX_INSN_TOKENS + 1 + 1];
++
++ /* this holds information used to generate fixups
++ and eventually relocations if it is not null */
++ nios2_insn_relocS *insn_reloc;
++}
++nios2_insn_infoS;
++
++
++/*
++ This struct associates an argument assemble function with
++ an argument syntax string. Used by the assembler to find out
++ how to parse and assemble a set of instruction operands and return the instruction
++ field values
++*/
++
++typedef struct nios2_arg_info
++{
++ const char *args;
++ void (*assemble_args_func) (nios2_insn_infoS * insn_info);
++}
++nios2_arg_infoS;
++
++/*
++ This struct is used to convert New Jersey pseudo-ops into the
++ corresponding real op
++ */
++typedef struct nios2_ps_insn_info
++{
++ const char *pseudo_insn;
++ const char *insn;
++ const char *arg_modifier;
++ void (*arg_modifer_func) (const char *arg, char **parsedArgs, int numArg,
++ int startIndex);
++ int num;
++ int index;
++}
++nios2_ps_insn_infoS;
++
++
++
++/* function prototypes */
++static void NIOS2_CHECK_ASSEMBLY (unsigned int opcode,
++ const char *exp_opcode);
++static void s_nios2_sdata (int);
++void nios2_assemble_args_dst (nios2_insn_infoS * insn_info);
++void nios2_assemble_args_tsi (nios2_insn_infoS * insn_info);
++void nios2_assemble_args_tsu (nios2_insn_infoS * insn_info);
++void nios2_assemble_args_o (nios2_insn_infoS * insn_info);
++void nios2_assemble_args_m (nios2_insn_infoS * insn_info);
++void nios2_assemble_args_s (nios2_insn_infoS * insn_info);
++void nios2_assemble_args_tis (nios2_insn_infoS * insn_info);
++void nios2_assemble_args_dc (nios2_insn_infoS * insn_info);
++void nios2_assemble_args_cs (nios2_insn_infoS * insn_info);
++void nios2_assemble_args_ldst (nios2_insn_infoS * insn_info);
++void nios2_assemble_args_none (nios2_insn_infoS * insn_info);
++void nios2_assemble_args_dsj (nios2_insn_infoS * insn_info);
++void nios2_assemble_args_is (nios2_insn_infoS * insn_info);
++void nios2_assemble_args_sto (nios2_insn_infoS * insn_info);
++void nios2_assemble_args_d (nios2_insn_infoS * insn_info);
++void nios2_assemble_args_b (nios2_insn_infoS * insn_info);
++
++nios2_insn_relocS *nios2_insn_reloc_new (bfd_reloc_code_real_type reloc_type,
++ unsigned int pcrel);
++void nios2_insn_reloc_destroy (nios2_insn_relocS * reloc);
++unsigned long nios2_assemble_expression (const char *exprstr,
++ nios2_insn_infoS * insn,
++ nios2_insn_relocS * prev_reloc,
++ bfd_reloc_code_real_type reloc_type,
++ unsigned int pcrel);
++char *nios2_consume_separator (char *argStr, const char *separator);
++char *nios2_consume_arg (char *argStr, const char *argType);
++void nios2_parse_args (char *argStr, const char *parseStr, char **parsedArgs);
++
++void nios2_modify_arg (const char *modifier, char **parsedArgs, int unused,
++ int index);
++void nios2_append_arg (const char *append, char **parsedArgs, int numAppend,
++ int startIndex);
++void nios2_insert_arg (const char *insert, char **parsedArgs, int numInsert,
++ int startIndex);
++void nios2_swap_args (const char *unused, char **parsedArgs, int index_1,
++ int index_2);
++void nios2_negate_arg (const char *modifier ATTRIBUTE_UNUSED,
++ char **parsedArgs, int unused ATTRIBUTE_UNUSED,
++ int index);
++void nios2_translate_pseudo_insn (nios2_insn_infoS * insn);
++valueT md_chars_to_number (char *buf, int n);
++void md_number_to_imm (char *buf, valueT val, int n);
++void md_number_to_disp (char *buf, valueT val, int n);
++void md_number_to_field (char *buf, valueT val, int n);
++static void nios2_align (int log_size, const char *pfill, symbolS * sym);
++static void s_nios2_ucons (int nbytes);
++static void s_nios2_set (int equiv);
++static void s_nios2_align (int ignore);
++static void s_nios2_text (int);
++static void s_nios2_data (int);
++static void s_nios2_section (int);
++static bfd_boolean nios2_coproc_reg (const char *reg_name);
++static void output_insn (void);
++static void output_ubranch (void);
++static void output_cbranch (void);
++static void output_call (void);
++static void output_movia (void);
++
++
++bfd_boolean nios2_check_overflow (valueT fixup, reloc_howto_type * howto);
++
++/* The known current alignment of the current section. */
++static int nios2_current_align;
++static segT nios2_current_align_seg;
++
++/* The last seen label in the current section. This is used to auto-align
++ labels preceeding instructions. */
++static symbolS *nios2_last_label;
++
++
++static int nios2_auto_align_on = 1;
++
++/* This array holds the chars that always start a comment. If the
++ pre-processor is disabled, these aren't very useful */
++const char comment_chars[] = "#";
++
++/* This array holds the chars that only start a comment at the beginning of
++ a line. If the line seems to have the form '# 123 filename'
++ .line and .file directives will appear in the pre-processed output */
++/* Note that input_file.c hand checks for '#' at the beginning of the
++ first line of the input file. This is because the compiler outputs
++ #NO_APP at the beginning of its output. */
++/* Also note that C style comments are always supported. */
++const char line_comment_chars[] = "#";
++
++/* This array holds machine specific line separator characters. */
++const char line_separator_chars[] = ";";
++
++/* Chars that can be used to separate mant from exp in floating point nums */
++const char EXP_CHARS[] = "eE";
++
++/* Chars that mean this number is a floating point constant */
++/* As in 0f12.456 */
++/* or 0d1.2345e12 */
++const char FLT_CHARS[] = "rRsSfFdDxXpP";
++
++/* Also be aware that MAXIMUM_NUMBER_OF_CHARS_FOR_FLOAT may have to be
++ changed in read.c . Ideally it shouldn't have to know about it at all,
++ but nothing is ideal around here.
++ */
++
++/* handle of the OPCODE hash table */
++static struct hash_control *nios2_opcode_hash = NULL;
++
++/* handle of the Register hash table */
++static struct hash_control *nios2_reg_hash = NULL;
++
++/* handle of the parse args hash table */
++static struct hash_control *nios2_arg_hash = NULL;
++
++/* pseudo-op hash table */
++static struct hash_control *nios2_ps_hash = NULL;
++
++/* mode of the assembler */
++typedef enum
++{
++ NIOS2_MODE_ASSEMBLE, // ordinary operation
++ NIOS2_MODE_TEST // hidden mode used for self testing
++}
++NIOS2_MODE;
++
++static NIOS2_MODE nios2_mode = NIOS2_MODE_ASSEMBLE;
++
++/* this function is used to in self-checking mode
++ to check the assembled instruction
++ opcode should be the assembled opcode, and exp_opcode
++ the parsed string representing the expected opcode */
++void
++NIOS2_CHECK_ASSEMBLY (unsigned int opcode, const char *exp_opcode)
++{
++ if (nios2_mode == NIOS2_MODE_TEST)
++ {
++ if ((exp_opcode) == NULL)
++ {
++ as_bad (_("expecting opcode string in self test mode"));
++ }
++ else if ((opcode) != strtoul ((exp_opcode), NULL, 16))
++ {
++ as_bad (_("assembly 0x%08x, expected %s"), (opcode), (exp_opcode));
++ }
++ }
++}
++
++/* Machine-dependent command-line options */
++
++const char *md_shortopts = "r";
++
++struct option md_longopts[] = {
++#define OPTION_RELAX_ALL (OPTION_MD_BASE + 0)
++ {"relax-all", no_argument, NULL, OPTION_RELAX_ALL},
++#define OPTION_NORELAX (OPTION_MD_BASE + 1)
++ {"no-relax", no_argument, NULL, OPTION_NORELAX},
++#define OPTION_RELAX_SECTION (OPTION_MD_BASE + 2)
++ {"relax-section", no_argument, NULL, OPTION_RELAX_SECTION}
++};
++
++size_t md_longopts_size = sizeof (md_longopts);
++
++/* Machine dependent pseudo-ops
++ These are actually assembler directives
++ format of each entry is
++
++ { "directive", handler_func, param }
++*/
++const pseudo_typeS md_pseudo_table[] = {
++ {"align", s_nios2_align, 0},
++ {"text", s_nios2_text, 0},
++ {"data", s_nios2_data, 0},
++ {"section", s_nios2_section, 0},
++ {"section.s", s_nios2_section, 0},
++ {"sect", s_nios2_section, 0},
++ {"sect.s", s_nios2_section, 0},
++ /* .dword and .half are included for
++ compatibility with MIPS */
++ {"dword", cons, 8},
++ {"half", cons, 2},
++ /* NIOS2 native word size is 4 bytes, so we override
++ the GAS default of 2 */
++ {"word", cons, 4},
++ /* explicitly unaligned directives */
++ {"2byte", s_nios2_ucons, 2},
++ {"4byte", s_nios2_ucons, 4},
++ {"8byte", s_nios2_ucons, 8},
++ {"16byte", s_nios2_ucons, 16},
++#ifdef OBJ_ELF
++ {"sdata", s_nios2_sdata, 0},
++#endif
++ {"set", s_nios2_set, 0},
++ {NULL, NULL, 0}
++};
++
++#define BYTE_F 32764
++#define BYTE_B -32768
++#define ABS (long)0xffffffff /* special value to indicate non-pc relative jmp */
++
++#define UBRANCH 1
++#define UJMP 2
++#define CBRANCH 3
++#define CJMP 4
++
++
++#define RELAX_MAX_SIZE(type) nios2_relax_table[nios2_relax_table[type].rlx_more].rlx_length
++#define RELAX_SIZE(type) nios2_relax_table[type].rlx_length
++#define RELAX_SUBSTATE(type) type
++
++/* machine dependent relaxations */
++struct relax_type nios2_relax_table[] = {
++ /* first entry unused (ends relaxation sequence) */
++ {1, 1, 0, 0},
++ /* unconditional branch */
++ {BYTE_F, BYTE_B, 4, 2}, /* br label (label is in range) */
++ /* unconditional jmp */
++ {ABS, ABS, 12, 0}, /* movhi at, %hi(label) ; ori at, %lo(label) ; jmp at */
++ /* conditional branch */
++ {BYTE_F, BYTE_B, 4, 4}, /* br{cond} label (label is in range) */
++ /* conditional jmp */
++ {ABS, ABS, 16, 0}, /* br{opp_cond} skip ; movhi at, %hi(label) ; ori at, %lo(label) ; jmp at ; skip: } */
++};
++
++
++/* this is just the generic relax_frag function but
++ amended to include absolute jmps in the relax table
++ */
++
++long
++nios2_relax_frag (segT segment, fragS * fragP, long stretch)
++{
++ const relax_typeS *this_type;
++ const relax_typeS *start_type;
++ relax_substateT next_state;
++ relax_substateT this_state;
++ long growth;
++ offsetT aim;
++ addressT target;
++ addressT address;
++ symbolS *symbolP;
++ const relax_typeS *table;
++
++ target = fragP->fr_offset;
++ address = fragP->fr_address;
++ table = nios2_relax_table;
++ this_state = fragP->fr_subtype;
++ start_type = this_type = table + this_state;
++ symbolP = fragP->fr_symbol;
++
++ if (symbolP)
++ {
++ fragS *sym_frag;
++
++ sym_frag = symbol_get_frag (symbolP);
++
++#ifndef DIFF_EXPR_OK
++#if !defined (MANY_SEGMENTS) && !defined (BFD_ASSEMBLER)
++ know ((S_GET_SEGMENT (symbolP) == SEG_ABSOLUTE)
++ || (S_GET_SEGMENT (symbolP) == SEG_DATA)
++ || (S_GET_SEGMENT (symbolP) == SEG_BSS)
++ || (S_GET_SEGMENT (symbolP) == SEG_TEXT));
++#endif
++ know (sym_frag != NULL);
++#endif
++ know (!(S_GET_SEGMENT (symbolP) == absolute_section)
++ || sym_frag == &zero_address_frag);
++ target += S_GET_VALUE (symbolP);
++
++ /* If frag has yet to be reached on this pass,
++ assume it will move by STRETCH just as we did.
++ If this is not so, it will be because some frag
++ between grows, and that will force another pass. */
++
++ if (stretch != 0
++ && sym_frag->relax_marker != fragP->relax_marker
++ && S_GET_SEGMENT (symbolP) == segment)
++ {
++ target += stretch;
++ }
++ }
++
++
++ /* NG we subtract 4 because all pc relative branches are
++ from the next instruction */
++ aim = target - address - fragP->fr_fix - 4;
++
++ if (aim < 0)
++ {
++ /* Look backwards. */
++ for (next_state = this_type->rlx_more; next_state;)
++ {
++ if (aim >= this_type->rlx_backward
++ || this_type->rlx_backward == ABS)
++ next_state = 0;
++ else
++ {
++ /* Grow to next state. */
++ this_state = next_state;
++ this_type = table + this_state;
++ next_state = this_type->rlx_more;
++ }
++ }
++ }
++ else
++ {
++ /* Look forwards. */
++
++ for (next_state = this_type->rlx_more; next_state;)
++ {
++ if (aim <= this_type->rlx_forward || this_type->rlx_forward == ABS)
++ next_state = 0;
++ else
++ {
++ /* Grow to next state. */
++ this_state = next_state;
++ this_type = table + this_state;
++ next_state = this_type->rlx_more;
++ }
++ }
++ }
++
++
++ growth = this_type->rlx_length - start_type->rlx_length;
++
++ if (growth != 0)
++ fragP->fr_subtype = this_state;
++
++ return growth;
++}
++
++/*--------------------------------------------------------------------------------
++ The next table associates pointers to functions which parse the arguments to an
++ instruction and fill in the relevant fields of the instruction
++ --------------------------------------------------------------------------------*/
++
++const nios2_arg_infoS nios2_arg_info_structs[] = {
++ /* args assemble_args_func */
++ {"d,s,t", nios2_assemble_args_dst},
++ {"d,s,t,E", nios2_assemble_args_dst},
++ {"t,s,i", nios2_assemble_args_tsi},
++ {"t,s,i,E", nios2_assemble_args_tsi},
++ {"t,s,u", nios2_assemble_args_tsu},
++ {"t,s,u,E", nios2_assemble_args_tsu},
++ {"s,t,o", nios2_assemble_args_sto},
++ {"s,t,o,E", nios2_assemble_args_sto},
++ {"o", nios2_assemble_args_o},
++ {"o,E", nios2_assemble_args_o},
++ {"s", nios2_assemble_args_s},
++ {"s,E", nios2_assemble_args_s},
++ {"", nios2_assemble_args_none},
++ {"E", nios2_assemble_args_none},
++ {"i(s)", nios2_assemble_args_is},
++ {"i(s)E", nios2_assemble_args_is},
++ {"m", nios2_assemble_args_m},
++ {"m,E", nios2_assemble_args_m},
++ {"t,i(s)", nios2_assemble_args_tis},
++ {"t,i(s)E", nios2_assemble_args_tis},
++ {"d,c", nios2_assemble_args_dc},
++ {"d,c,E", nios2_assemble_args_dc},
++ {"c,s", nios2_assemble_args_cs},
++ {"c,s,E", nios2_assemble_args_cs},
++ {"l,d,s,t", nios2_assemble_args_ldst},
++ {"l,d,s,t,E", nios2_assemble_args_ldst},
++ {"d,s,j", nios2_assemble_args_dsj},
++ {"d,s,j,E", nios2_assemble_args_dsj},
++ {"d", nios2_assemble_args_d},
++ {"d,E", nios2_assemble_args_d},
++ {"b", nios2_assemble_args_b},
++ {"b,E", nios2_assemble_args_b}
++};
++
++#define NIOS2_NUM_ARGS \
++ ((sizeof(nios2_arg_info_structs)/sizeof(nios2_arg_info_structs[0])))
++const int nios2_num_arg_info_structs = NIOS2_NUM_ARGS;
++
++
++const nios2_ps_insn_infoS nios2_ps_insn_info_structs[] = {
++ /* pseudo-op real-op arg arg_modifier_func num index */
++ {"mov", "add", "zero", nios2_append_arg, 1, 3},
++ {"movi", "addi", "zero", nios2_insert_arg, 1, 2},
++ {"movhi", "orhi", "zero", nios2_insert_arg, 1, 2},
++ {"movui", "ori", "zero", nios2_insert_arg, 1, 2},
++ {"movia", "orhi", "zero", nios2_insert_arg, 1, 2},
++ {"nop", "add", "zero", nios2_append_arg, 3, 1},
++ {"bgt", "blt", "", nios2_swap_args, 1, 2},
++ {"bgtu", "bltu", "", nios2_swap_args, 1, 2},
++ {"ble", "bge", "", nios2_swap_args, 1, 2},
++ {"bleu", "bgeu", "", nios2_swap_args, 1, 2},
++ {"cmpgt", "cmplt", "", nios2_swap_args, 2, 3},
++ {"cmpgtu", "cmpltu", "", nios2_swap_args, 2, 3},
++ {"cmple", "cmpge", "", nios2_swap_args, 2, 3},
++ {"cmpleu", "cmpgeu", "", nios2_swap_args, 2, 3},
++ {"cmpgti", "cmpgei", "+1", nios2_modify_arg, 0, 3},
++ {"cmpgtui", "cmpgeui", "+1", nios2_modify_arg, 0, 3},
++ {"cmplei", "cmplti", "+1", nios2_modify_arg, 0, 3},
++ {"cmpleui", "cmpltui", "+1", nios2_modify_arg, 0, 3},
++ {"subi", "addi", "", nios2_negate_arg, 0, 3}
++ /* add further pseudo-ops here */
++};
++
++#define NIOS2_NUM_PSEUDO_INSNS \
++ ((sizeof(nios2_ps_insn_info_structs)/sizeof(nios2_ps_insn_info_structs[0])))
++const int nios2_num_ps_insn_info_structs = NIOS2_NUM_PSEUDO_INSNS;
++
++/* special relocation directive strings */
++
++struct nios2_special_relocS
++{
++ const char *string;
++ bfd_reloc_code_real_type reloc_type;
++};
++
++struct nios2_special_relocS nios2_special_reloc[] = {
++ {"%hiadj", BFD_RELOC_NIOS2_HIADJ16},
++ {"%hi", BFD_RELOC_NIOS2_HI16},
++ {"%lo", BFD_RELOC_NIOS2_LO16},
++ {"%gprel", BFD_RELOC_NIOS2_GPREL}
++};
++
++#define NIOS2_NUM_SPECIAL_RELOCS \
++ (sizeof(nios2_special_reloc)/sizeof(nios2_special_reloc[0]))
++const int nios2_num_special_relocs = NIOS2_NUM_SPECIAL_RELOCS;
++
++/*
++ The function nios2_modify_arg appends the string modifier to the string contained
++ in the argument at index in the array parsedArgs[]
++*/
++void
++nios2_modify_arg (const char *modifier,
++ char **parsedArgs, int unused ATTRIBUTE_UNUSED, int index)
++{
++ assert (index < NIOS2_MAX_INSN_TOKENS);
++
++/*
++ we can't just strcat here because strcat will free the memory pointed to by the first
++ argument and allocate new memory - but at this stage, parsedArgs[index] may point into
++ the middle of a block of allocated memory, so trying to free it will cause a seg fault.
++
++ */
++ char *tmp = parsedArgs[index];
++ parsedArgs[index] =
++ (char *) malloc (strlen (parsedArgs[index]) + strlen (modifier) + 1);
++ strcpy (parsedArgs[index], tmp);
++ strcat (parsedArgs[index], modifier);
++}
++
++
++void
++nios2_negate_arg (const char *modifier ATTRIBUTE_UNUSED,
++ char **parsedArgs, int unused ATTRIBUTE_UNUSED, int index)
++{
++ char *tmp = parsedArgs[index];
++ parsedArgs[index] =
++ (char *) malloc (strlen ("~(") + strlen (parsedArgs[index]) +
++ strlen (")+1") + 1);
++
++ strcpy (parsedArgs[index], "~(");
++ strcat (parsedArgs[index], tmp);
++ strcat (parsedArgs[index], ")+1");
++}
++
++/*
++ The function nios2_swap_args swaps the pointers at indices index_1 and
++ index_2 in the array parsedArgs[] - this is used for operand swapping
++ for comparison operations
++ */
++void
++nios2_swap_args (const char *unused ATTRIBUTE_UNUSED,
++ char **parsedArgs, int index_1, int index_2)
++{
++ char *tmp;
++ assert (index_1 < NIOS2_MAX_INSN_TOKENS && index_2 < NIOS2_MAX_INSN_TOKENS);
++ tmp = parsedArgs[index_1];
++ parsedArgs[index_1] = parsedArgs[index_2];
++ parsedArgs[index_2] = tmp;
++}
++
++/*
++ This function appends the string append to the array of strings in
++ parsedArgs numAppend times starting at index startIndex in the array
++*/
++void
++nios2_append_arg (const char *append, char **parsedArgs, int numAppend,
++ int startIndex)
++{
++ int i, count;
++ char *tmp;
++
++ assert ((startIndex + numAppend) < NIOS2_MAX_INSN_TOKENS);
++ i = startIndex;
++ count = numAppend;
++
++ if (nios2_mode == NIOS2_MODE_TEST)
++ tmp = parsedArgs[startIndex];
++ else
++ tmp = NULL;
++
++ while (count > 0)
++ {
++ parsedArgs[i] = (char *) append;
++ ++i;
++ --count;
++ }
++
++ assert (i == (startIndex + numAppend));
++ parsedArgs[i] = tmp;
++ parsedArgs[i + 1] = NULL;
++}
++
++/* This function inserts the string insert numInsert times in the array parsedArgs,
++ starting at the index startIndex
++ */
++void
++nios2_insert_arg (const char *insert, char **parsedArgs, int numInsert,
++ int startIndex)
++{
++ int i, count, from, to;
++
++ assert ((startIndex + numInsert) < NIOS2_MAX_INSN_TOKENS);
++
++ to = startIndex + numInsert;
++ from = startIndex;
++
++ /* move the existing arguments up to create space */
++ i = NIOS2_MAX_INSN_TOKENS;
++ while ((i - numInsert) >= startIndex)
++ {
++ parsedArgs[i] = parsedArgs[i - numInsert];
++ --i;
++ }
++
++ i = startIndex;
++ count = numInsert;
++ while (count > 0)
++ {
++ parsedArgs[i] = (char *) insert;
++ ++i;
++ --count;
++ }
++}
++
++/*
++ This function swaps the pseudo-op for a real op
++ FIXME - only works for 1-to-1 correspondence
++ */
++void
++nios2_translate_pseudo_insn (nios2_insn_infoS * insn)
++{
++
++ nios2_ps_insn_infoS *ps_insn;
++
++ /* find which real insn the pseudo-op transates to and
++ switch the insn_info ptr to point to it */
++ ps_insn =
++ (nios2_ps_insn_infoS *) hash_find (nios2_ps_hash,
++ insn->insn_nios2_opcode->name);
++
++ if (ps_insn != NULL)
++ {
++ insn->insn_nios2_opcode =
++ (struct nios2_opcode *) hash_find (nios2_opcode_hash, ps_insn->insn);
++ insn->insn_tokens[0] = insn->insn_nios2_opcode->name;
++ // modify the args so they work with the real insn
++ ps_insn->arg_modifer_func (ps_insn->arg_modifier,
++ (char **) insn->insn_tokens, ps_insn->num,
++ ps_insn->index);
++ }
++ else
++ {
++ // we cannot recover from this
++ as_fatal (_("unrecognized pseudo-instruction %s"),
++ ps_insn->pseudo_insn);
++ }
++}
++
++/********************************************************************
++ The following functions are called by machine-independent parts of
++ the assembler
++ ********************************************************************/
++
++/*
++ Function : void md_parse_option
++ (char** option_ptr, int* argc_ptr, char*** argv_ptr)
++
++ Description :
++
++ */
++int
++md_parse_option (int c, char *arg ATTRIBUTE_UNUSED)
++{
++ switch (c)
++ {
++ case 'r':
++ /* hidden option for self-test mode */
++ nios2_mode = NIOS2_MODE_TEST;
++ break;
++ case OPTION_RELAX_ALL:
++ nios2_as_options.relax = relax_all;
++ break;
++ case OPTION_NORELAX:
++ nios2_as_options.relax = relax_none;
++ break;
++ case OPTION_RELAX_SECTION:
++ nios2_as_options.relax = relax_section;
++ break;
++ default:
++ return 0;
++ break;
++ }
++
++ return 1;
++}
++
++/*
++ Function : md_show_usage(FILE* stream)
++
++ Description : machine-dependent usage message
++*/
++void
++md_show_usage (FILE * stream)
++{
++ fprintf (stream, "\
++ NIOS2 options:\n\
++ -relax-all replace all branch and call instructions with jmp and callr sequences\n\
++ -relax-section replace identified out of range branches with jmp sequences (default)\n\
++ -no-relax do not replace any branches or calls\n");
++}
++
++/*
++ Function : void md_begin()
++
++ Description :
++ This function is called once, at assembler startup time.
++ It should set up all the tables, etc. that the MD part of the
++ assembler will need.
++*/
++void
++md_begin ()
++{
++ int i;
++ const char *inserted;
++
++ /* create and fill a hashtable for the New Jersey opcodes, registers and arguments */
++ nios2_opcode_hash = hash_new ();
++ nios2_reg_hash = hash_new ();
++ nios2_arg_hash = hash_new ();
++ nios2_ps_hash = hash_new ();
++
++ for (i = 0; i < NUMOPCODES; ++i)
++ {
++ inserted =
++ hash_insert (nios2_opcode_hash, nios2_opcodes[i].name,
++ (PTR) & nios2_opcodes[i]);
++ if (inserted != NULL)
++ {
++ fprintf (stderr, _("internal error: can't hash `%s': %s\n"),
++ nios2_opcodes[i].name, inserted);
++ /* Probably a memory allocation problem? Give up now. */
++ as_fatal (_("Broken assembler. No assembly attempted."));
++ }
++ }
++
++ for (i = 0; i < nios2_num_regs; ++i)
++ {
++ inserted =
++ hash_insert (nios2_reg_hash, nios2_regs[i].name,
++ (PTR) & nios2_regs[i]);
++ if (inserted != NULL)
++ {
++ fprintf (stderr, _("internal error: can't hash `%s': %s\n"),
++ nios2_regs[i].name, inserted);
++ /* Probably a memory allocation problem? Give up now. */
++ as_fatal (_("Broken assembler. No assembly attempted."));
++ }
++
++ }
++
++ for (i = 0; i < nios2_num_arg_info_structs; ++i)
++ {
++ inserted =
++ hash_insert (nios2_arg_hash, nios2_arg_info_structs[i].args,
++ (PTR) & nios2_arg_info_structs[i]);
++ if (inserted != NULL)
++ {
++ fprintf (stderr, _("internal error: can't hash `%s': %s\n"),
++ nios2_arg_info_structs[i].args, inserted);
++ /* Probably a memory allocation problem? Give up now. */
++ as_fatal (_("Broken assembler. No assembly attempted."));
++ }
++ }
++
++ for (i = 0; i < nios2_num_ps_insn_info_structs; ++i)
++ {
++ inserted =
++ hash_insert (nios2_ps_hash, nios2_ps_insn_info_structs[i].pseudo_insn,
++ (PTR) & nios2_ps_insn_info_structs[i]);
++ if (inserted != NULL)
++ {
++ fprintf (stderr, _("internal error: can't hash `%s': %s\n"),
++ nios2_ps_insn_info_structs[i].pseudo_insn, inserted);
++ /* Probably a memory allocation problem? Give up now. */
++ as_fatal (_("Broken assembler. No assembly attempted."));
++ }
++ }
++
++ /* assembler option defaults */
++ nios2_as_options.noat = FALSE;
++ nios2_as_options.nobreak = FALSE;
++
++ /* debug information is incompatible with relaxation */
++ if (debug_type != DEBUG_UNSPECIFIED)
++ {
++ nios2_as_options.relax = relax_none;
++ }
++
++ /* initialize the alignment data */
++ nios2_current_align_seg = now_seg;
++ nios2_last_label = NULL;
++ nios2_current_align = 0;
++}
++
++
++
++
++/* made this global to avoid changing one function prototype */
++nios2_insn_infoS insn;
++
++/*
++ Function: void md_assemble(char* op_str)
++
++ Description: assembles a single line of Nios II assembly
++ language
++ */
++void
++md_assemble (char *op_str)
++{
++ char *argstr;
++ char *op_strdup;
++ nios2_arg_infoS *arg_info;
++ unsigned long saved_pinfo = 0;
++
++ /* make sure we are aligned on a 4-byte boundary */
++ if (nios2_current_align < 2)
++ nios2_align (2, NULL, nios2_last_label);
++ else if (nios2_current_align > 2)
++ nios2_current_align = 2;
++ nios2_last_label = NULL;
++
++
++ /* we don't want to clobber to op_str
++ because we want to be able to use it in messages */
++ op_strdup = strdup (op_str);
++
++ insn.insn_tokens[0] = strtok (op_strdup, " ");
++ argstr = strtok (NULL, "");
++
++ /* assemble the opcode */
++ insn.insn_nios2_opcode =
++ (struct nios2_opcode *) hash_find (nios2_opcode_hash,
++ insn.insn_tokens[0]);
++ insn.insn_reloc = NULL;
++
++ if (insn.insn_nios2_opcode != NULL)
++ {
++ /* set the opcode for the instruction */
++ insn.insn_code = insn.insn_nios2_opcode->match;
++
++ /* parse the arguments pointed to by argstr */
++ if (nios2_mode == NIOS2_MODE_ASSEMBLE)
++ {
++ nios2_parse_args (argstr, insn.insn_nios2_opcode->args,
++ (char **) &insn.insn_tokens[1]);
++ }
++ else
++ {
++ nios2_parse_args (argstr, insn.insn_nios2_opcode->args_test,
++ (char **) &insn.insn_tokens[1]);
++ }
++
++ /* we need to preserve the MOVIA macro as this is clobbered by translate_pseudo_insn */
++ if (insn.insn_nios2_opcode->pinfo == NIOS2_INSN_MACRO_MOVIA)
++ {
++ saved_pinfo = NIOS2_INSN_MACRO_MOVIA;
++ }
++ /* if the instruction is an pseudo-instruction, we want to replace it with its
++ real equivalent, and then continue */
++ if ((insn.insn_nios2_opcode->pinfo & NIOS2_INSN_MACRO) ==
++ NIOS2_INSN_MACRO)
++ {
++ nios2_translate_pseudo_insn (&insn);
++ }
++
++ /* find the assemble function, and call it */
++ arg_info =
++ (nios2_arg_infoS *) hash_find (nios2_arg_hash,
++ insn.insn_nios2_opcode->args);
++ if (arg_info != NULL)
++ {
++ arg_info->assemble_args_func (&insn);
++
++ if (nios2_as_options.relax != relax_none
++ && insn.insn_nios2_opcode->pinfo & NIOS2_INSN_UBRANCH)
++ output_ubranch ();
++ else if (nios2_as_options.relax != relax_none
++ && insn.insn_nios2_opcode->pinfo & NIOS2_INSN_CBRANCH)
++ output_cbranch ();
++ else if (nios2_as_options.relax == relax_all
++ && insn.insn_nios2_opcode->pinfo & NIOS2_INSN_CALL)
++ output_call ();
++ else if (saved_pinfo == NIOS2_INSN_MACRO_MOVIA)
++ output_movia ();
++ else
++ output_insn ();
++ }
++ else
++ {
++ /* the assembler is broken */
++ fprintf (stderr,
++ _("internal error: %s is not a valid argument syntax\n"),
++ insn.insn_nios2_opcode->args);
++ /* Probably a memory allocation problem? Give up now. */
++ as_fatal (_("Broken assembler. No assembly attempted."));
++ }
++ }
++ else
++ {
++ /* unrecognised instruction - error */
++ as_bad (_("unrecognised instruction %s"), insn.insn_tokens[0]);
++ }
++}
++
++/* output a normal instruction */
++static void
++output_insn ()
++{
++ char *f;
++ nios2_insn_relocS *reloc;
++
++ f = frag_more (4);
++ /* this allocates enough space for the instruction
++ and puts it in the current frag */
++ md_number_to_chars (f, insn.insn_code, 4);
++ /* emit debug info */
++ dwarf2_emit_insn (4);
++ /* create any fixups */
++ reloc = insn.insn_reloc;
++ while (reloc != NULL)
++ {
++ /* this creates any fixups to be acted on later */
++ fix_new_exp (frag_now, f - frag_now->fr_literal, 4,
++ &reloc->reloc_expression, reloc->reloc_pcrel,
++ reloc->reloc_type);
++ reloc = reloc->reloc_next;
++ }
++}
++
++/* output an unconditional branch */
++static void
++output_ubranch ()
++{
++ char *f;
++ nios2_insn_relocS *reloc;
++ symbolS *symp;
++ offsetT offset;
++
++ reloc = insn.insn_reloc;
++
++ /* if the reloc is NULL, there was an error assembling the branch */
++ if (reloc != NULL)
++ {
++
++ symp = reloc->reloc_expression.X_add_symbol;
++ offset = reloc->reloc_expression.X_add_number;
++
++ /* we must tag debug info here since we can't do it after
++ calling frag_var */
++ dwarf2_emit_insn (4);
++
++ /* we create a machine dependent frag which can grow
++ to accommodate the largest possible instruction sequence
++ this may generate */
++ f = frag_var (rs_machine_dependent,
++ RELAX_MAX_SIZE (UBRANCH),
++ RELAX_SIZE (UBRANCH),
++ RELAX_SUBSTATE (UBRANCH), symp, offset, NULL);
++
++ md_number_to_chars (f, insn.insn_code, 4);
++
++ /* we leave fixup generation to md_convert_frag */
++ }
++}
++
++/* output a conditional branch */
++static void
++output_cbranch ()
++{
++ char *f;
++ nios2_insn_relocS *reloc;
++ symbolS *symp;
++ offsetT offset;
++
++ reloc = insn.insn_reloc;
++
++ /* if the reloc is NULL, there was an error assembling the branch */
++ if (reloc != NULL)
++ {
++
++ symp = reloc->reloc_expression.X_add_symbol;
++ offset = reloc->reloc_expression.X_add_number;
++
++ /* we must tag debug info here since we can't do it after
++ calling frag_var */
++ dwarf2_emit_insn (4);
++
++ /* we create a machine dependent frag which can grow
++ to accommodate the largest possible instruction sequence
++ this may generate */
++ f = frag_var (rs_machine_dependent,
++ RELAX_MAX_SIZE (CBRANCH),
++ RELAX_SIZE (CBRANCH),
++ RELAX_SUBSTATE (CBRANCH), symp, offset, NULL);
++
++ md_number_to_chars (f, insn.insn_code, 4);
++
++
++ /* we leave fixup generation to md_convert_frag */
++ }
++}
++
++/* Output a call sequence. Since calls are not pc-relative for NIOS2,
++ but are page-relative, we cannot tell at any stage in assembly
++ whether a call will be out of range since a section may be linked
++ at any address. So if we are relaxing, we convert all call instructions
++ to long call sequences, and rely on the linker to relax them back to
++ short calls */
++static void
++output_call ()
++{
++ char *f;
++ nios2_insn_relocS *reloc;
++ f = frag_more (12);
++ /* this allocates enough space for the instruction
++ and puts it in the current frag */
++ reloc = insn.insn_reloc;
++
++ /* if the reloc is NULL, there was an error assembling the branch */
++ if (reloc != NULL)
++ {
++ md_number_to_chars (f, OP_MATCH_ORHI | 0x00400000, 4);
++ dwarf2_emit_insn (4);
++ md_number_to_chars (f + 4, OP_MATCH_ORI | 0x08400000, 4);
++ dwarf2_emit_insn (4);
++ md_number_to_chars (f + 8, OP_MATCH_CALLR | 0x08000000, 4);
++ dwarf2_emit_insn (4);
++ fix_new (frag_now, f - frag_now->fr_literal, 4,
++ reloc->reloc_expression.X_add_symbol,
++ reloc->reloc_expression.X_add_number, 0,
++ BFD_RELOC_NIOS2_CALLR);
++
++
++ }
++}
++
++/* output a movhi/addi pair for the movia pseudo-op */
++static void
++output_movia ()
++{
++ char *f;
++ nios2_insn_relocS *reloc;
++ f = frag_more (8);
++ unsigned long reg_index = GET_INSN_FIELD (IRT, insn.insn_code);
++
++ /* this allocates enough space for the instruction
++ and puts it in the current frag */
++ reloc = insn.insn_reloc;
++
++ /* if the reloc is NULL, there was an error assembling the movia */
++ if (reloc != NULL)
++ {
++ md_number_to_chars (f, insn.insn_code, 4);
++ dwarf2_emit_insn (4);
++ md_number_to_chars (f + 4,
++ OP_MATCH_ADDI | (reg_index << OP_SH_IRT) |
++ (reg_index << OP_SH_IRS), 4);
++ dwarf2_emit_insn (4);
++ fix_new (frag_now, f - frag_now->fr_literal, 4,
++ reloc->reloc_expression.X_add_symbol,
++ reloc->reloc_expression.X_add_number, 0,
++ BFD_RELOC_NIOS2_HIADJ16);
++ fix_new (frag_now, f + 4 - frag_now->fr_literal, 4,
++ reloc->reloc_expression.X_add_symbol,
++ reloc->reloc_expression.X_add_number, 0, BFD_RELOC_NIOS2_LO16);
++
++ }
++}
++
++/*
++ Function md_chars_to_number takes the sequence of
++ bytes in bug and returns the corresponding value
++ in an int. n must be 1, 2 or 4.
++ */
++valueT
++md_chars_to_number (char *buf, int n)
++{
++ // this assumes little endian format
++ int i;
++ valueT val;
++
++ assert (n == 1 || n == 2 || n == 4);
++
++ val = 0;
++ for (i = 0; i < n; ++i)
++ {
++ val = val | ((buf[i] & 0xff) << 8 * i);
++ }
++ return val;
++}
++
++
++/*
++ Function : void md_number_to_chars(char *buf, valueT val, int n)
++
++ Description : this function turns a C long int, short int or char
++ into the series of bytes that represent the number
++ on the target machine
++ */
++void
++md_number_to_chars (char *buf, valueT val, int n)
++{
++ /* this assumes little endian format */
++ int i;
++ assert (n == 1 || n == 2 || n == 4);
++ for (i = 0; i < n; ++i)
++ {
++ buf[i] = val & 0xFF;
++ val >>= 8;
++ }
++}
++
++/*
++ Function : void md_number_to_imm(char *buf, valueT val, int n)
++
++ Description : this function is identical to md_number_to_chars
++ */
++void
++md_number_to_imm (char *buf, valueT val, int n)
++{
++ md_number_to_chars (buf, val, n);
++}
++
++/*
++ Function : void md_number_to_disp(char *buf, valueT val, int n)
++
++ Description : this function is identical to md_number_to_chars
++ */
++void
++md_number_to_disp (char *buf, valueT val, int n)
++{
++ md_number_to_chars (buf, val, n);
++}
++
++/*
++ Function : void md_number_to_field(char *buf, valueT val, int n)
++
++ Description : this function is identical to md_number_to_chars
++ */
++void
++md_number_to_field (char *buf, valueT val, int n)
++{
++ md_number_to_chars (buf, val, n);
++}
++
++/*
++
++ Function : char * md_atof(int type, char *litP,int *sizeP)
++
++ Description :
++ Turn a string in input_line_pointer into a floating point constant
++ of type TYPE, and store the appropriate bytes in *LITP. The number
++ of LITTLENUMS emitted is stored in *SIZEP. An error message is
++ returned, or NULL on OK.
++
++ */
++
++char *
++md_atof (int type, char *litP, int *sizeP)
++{
++ int prec;
++ LITTLENUM_TYPE words[4];
++ char *t;
++ int i;
++
++ switch (type)
++ {
++ case 'f':
++ prec = 2;
++ break;
++ case 'd':
++ prec = 4;
++ break;
++ default:
++ *sizeP = 0;
++ return _("bad call to md_atof");
++ }
++
++ t = atof_ieee (input_line_pointer, type, words);
++ if (t)
++ input_line_pointer = t;
++
++ *sizeP = prec * 2;
++
++ /* little endian target */
++ for (i = prec - 1; i >= 0; i--)
++ {
++ md_number_to_chars (litP, (valueT) words[i], 2);
++ litP += 2;
++ }
++
++ return NULL;
++}
++
++
++
++int md_short_jump_size;
++int md_long_jump_size;
++
++void
++md_create_short_jump (char *result_ptr ATTRIBUTE_UNUSED,
++ addressT from_addr ATTRIBUTE_UNUSED,
++ addressT to_addr ATTRIBUTE_UNUSED,
++ fragS * frag ATTRIBUTE_UNUSED,
++ symbolS * to_symbol ATTRIBUTE_UNUSED)
++{
++ abort ();
++}
++
++void
++md_create_long_jump (char *ptr ATTRIBUTE_UNUSED,
++ addressT from_addr ATTRIBUTE_UNUSED,
++ addressT to_addr ATTRIBUTE_UNUSED,
++ fragS * frag ATTRIBUTE_UNUSED,
++ symbolS * to_symbol ATTRIBUTE_UNUSED)
++{
++ abort ();
++}
++
++int
++md_estimate_size_before_relax (fragS * fragp, segT segment ATTRIBUTE_UNUSED)
++{
++ /* we only support ELF targets */
++
++ switch (nios2_as_options.relax)
++ {
++ case relax_none:
++ case relax_section:
++ break;
++ case relax_all:
++ /* The NIOS2 linker performs relaxation so the assembler
++ always assumes the worst case, so that the linker can
++ replace with a better case if possible - this way, linker
++ relaxation can never cause a short branch to be out of range
++ */
++ while (nios2_relax_table[fragp->fr_subtype].rlx_more != 0)
++ fragp->fr_subtype = nios2_relax_table[fragp->fr_subtype].rlx_more;
++ break;
++ default:
++ abort ();
++ break;
++ }
++
++ /* return the estimated size of the frag */
++ return nios2_relax_table[fragp->fr_subtype].rlx_length;
++}
++
++
++void
++md_convert_frag (bfd * headers ATTRIBUTE_UNUSED, segT seg ATTRIBUTE_UNUSED,
++ fragS * fragp)
++{
++ unsigned char *buffer = fragp->fr_literal + fragp->fr_fix;
++ relax_substateT subtype = fragp->fr_subtype;
++ unsigned int growth = RELAX_SIZE (subtype);
++ unsigned int br_opcode, br_op_a, br_op_b;
++
++ switch (subtype)
++ {
++ case UBRANCH:
++ /* we just need to generate the fixup for the symbol and offset */
++ fix_new (fragp, fragp->fr_fix, 4, fragp->fr_symbol, fragp->fr_offset, 1,
++ BFD_RELOC_16_PCREL);
++ break;
++ case UJMP:
++ /* replace ubranch at fr_fix with :
++ movhi at, %hi(symbol+offset)
++ ori at, %lo(symbol+offset)
++ jmp at
++ */
++ md_number_to_chars (buffer, OP_MATCH_ORHI | 0x00400000, 4);
++ md_number_to_chars (buffer + 4, OP_MATCH_ORI | 0x08400000, 4);
++ md_number_to_chars (buffer + 8, OP_MATCH_JMP | 0x08000000, 4);
++ fix_new (fragp, fragp->fr_fix, 4, fragp->fr_symbol, fragp->fr_offset, 0,
++ BFD_RELOC_NIOS2_UJMP);
++ break;
++ case CBRANCH:
++ /* we just need to generate the fixup for the symbol and offset */
++ fix_new (fragp, fragp->fr_fix, 4, fragp->fr_symbol, fragp->fr_offset, 1,
++ BFD_RELOC_16_PCREL);
++ break;
++ case CJMP:
++ /* replace cbranch at fr_fix with :
++ b(opposite condition) r, s, skip
++ movhi at, %hi(symbol+offset)
++ ori at, %lo(symbol+offset)
++ jmp at
++ skip:
++ ...
++ */
++ br_opcode = md_chars_to_number (buffer, 4);
++
++ switch (br_opcode & OP_MASK_OP)
++ {
++ case OP_MATCH_BEQ:
++ br_opcode =
++ (br_opcode & ~OP_MASK_OP) | OP_MATCH_BNE | (12 << OP_SH_IMM16);
++ break;
++ case OP_MATCH_BNE:
++ br_opcode =
++ (br_opcode & ~OP_MASK_OP) | OP_MATCH_BEQ | (12 << OP_SH_IMM16);
++ break;
++ case OP_MATCH_BGE:
++ case OP_MATCH_BGEU:
++ case OP_MATCH_BLT:
++ case OP_MATCH_BLTU:
++ /* swap the operands */
++ br_op_a = (br_opcode & OP_MASK_RRT) << 5;
++ br_op_b = (br_opcode & OP_MASK_RRS) >> 5;
++ br_opcode =
++ (br_opcode & ~(OP_MASK_RRS | OP_MASK_RRT)) | br_op_a | br_op_b |
++ (12 << OP_SH_IMM16);
++ break;
++ default:
++ as_bad_where (fragp->fr_file, fragp->fr_line,
++ _("expecting conditional branch for relaxation\n"));
++ abort ();
++ }
++
++ md_number_to_chars (buffer, br_opcode, 4);
++ md_number_to_chars (buffer + 4, OP_MATCH_ORHI | 0x00400000, 4);
++ md_number_to_chars (buffer + 8, OP_MATCH_ORI | 0x08400000, 4);
++ md_number_to_chars (buffer + 12, OP_MATCH_JMP | 0x08000000, 4);
++ fix_new (fragp, fragp->fr_fix + 4, 4, fragp->fr_symbol,
++ fragp->fr_offset, 0, BFD_RELOC_NIOS2_CJMP);
++ break;
++ default:
++ as_bad_where (fragp->fr_file, fragp->fr_line,
++ _("can't relax instruction\n"));
++ abort ();
++ break;
++ }
++
++ fragp->fr_fix += growth;
++}
++
++
++/* round up section size */
++valueT
++md_section_align (asection * seg ATTRIBUTE_UNUSED, valueT size)
++{
++ /* I think byte alignment is fine here */
++ return size;
++}
++
++
++int
++nios2_force_relocation (fixS * fixp)
++{
++ if (fixp->fx_r_type == BFD_RELOC_VTABLE_INHERIT
++ || fixp->fx_r_type == BFD_RELOC_VTABLE_ENTRY
++ || fixp->fx_r_type == BFD_RELOC_NIOS2_ALIGN)
++ return 1;
++
++ return 0;
++}
++
++/* nios2_fix_adjustable is called to see whether a reloc against a defined symbol
++ should be converted into a reloc against a section. */
++
++int
++nios2_fix_adjustable (fixS * fixp)
++{
++#ifdef OBJ_ELF
++ /* Prevent all adjustments to global symbols. */
++ if (OUTPUT_FLAVOR == bfd_target_elf_flavour
++ && (S_IS_EXTERN (fixp->fx_addsy) || S_IS_WEAK (fixp->fx_addsy)))
++ return 0;
++#endif
++ if (fixp->fx_r_type == BFD_RELOC_VTABLE_INHERIT
++ || fixp->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
++ return 0;
++
++ return 1;
++}
++
++/*
++ nios2_frob_symbol is called in adjust_reloc_syms through the macro
++ tc_frob_symbol - it is used to remove *ABS* references from the
++ symbol table
++ */
++int
++nios2_frob_symbol (symbolS * symp)
++{
++ if ((OUTPUT_FLAVOR == bfd_target_elf_flavour
++ && (symp) == section_symbol (absolute_section))
++ || !S_IS_DEFINED (symp))
++ return 1;
++ else
++ return 0;
++}
++
++/*
++ The function tc_gen_reloc creates a relocation structure for the
++ fixup fixp, and returns a pointer to it. This structure is passed
++ to bfd_install_relocation so that it can be written to the object
++ file for linking
++*/
++arelent *
++tc_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp)
++{
++ arelent *reloc;
++ reloc = (arelent *) xmalloc (sizeof (arelent));
++ reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
++ *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
++
++ reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
++ reloc->addend = fixp->fx_addnumber;
++ reloc->howto = bfd_reloc_type_lookup (stdoutput, fixp->fx_r_type);
++ if (reloc->howto == NULL)
++ {
++ as_bad_where (fixp->fx_file, fixp->fx_line,
++ _("can't represent relocation type %s"),
++ bfd_get_reloc_code_name (fixp->fx_r_type));
++
++ /* Set howto to a garbage value so that we can keep going. */
++ reloc->howto = bfd_reloc_type_lookup (stdoutput, BFD_RELOC_32);
++ assert (reloc->howto != NULL);
++ }
++ return reloc;
++}
++
++long
++md_pcrel_from (fixS * fixP ATTRIBUTE_UNUSED)
++{
++ return 0;
++}
++
++
++/* Apply a fixup to the object file. */
++void
++md_apply_fix3 (fixS * fixP, valueT * valP, segT seg ATTRIBUTE_UNUSED)
++{
++ const struct nios2_opcode *opcode;
++ enum overflow_type overflow_msg_type;
++ bfd_boolean overflowed = FALSE;
++ valueT fixup = 0;
++
++ /* assert that the fixup is one we can handle */
++ assert (fixP != NULL && valP != NULL &&
++ (fixP->fx_r_type == BFD_RELOC_8 ||
++ fixP->fx_r_type == BFD_RELOC_16 ||
++ fixP->fx_r_type == BFD_RELOC_32 ||
++ fixP->fx_r_type == BFD_RELOC_NIOS2_S16 ||
++ fixP->fx_r_type == BFD_RELOC_NIOS2_U16 ||
++ fixP->fx_r_type == BFD_RELOC_16_PCREL ||
++ fixP->fx_r_type == BFD_RELOC_NIOS2_CALL26 ||
++ fixP->fx_r_type == BFD_RELOC_NIOS2_IMM5 ||
++ fixP->fx_r_type == BFD_RELOC_NIOS2_CACHE_OPX ||
++ fixP->fx_r_type == BFD_RELOC_NIOS2_IMM6 ||
++ fixP->fx_r_type == BFD_RELOC_NIOS2_IMM8 ||
++ fixP->fx_r_type == BFD_RELOC_NIOS2_HI16 ||
++ fixP->fx_r_type == BFD_RELOC_NIOS2_LO16 ||
++ fixP->fx_r_type == BFD_RELOC_NIOS2_HIADJ16 ||
++ fixP->fx_r_type == BFD_RELOC_NIOS2_GPREL ||
++ fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT ||
++ fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY ||
++ fixP->fx_r_type == BFD_RELOC_NIOS2_UJMP ||
++ fixP->fx_r_type == BFD_RELOC_NIOS2_CJMP ||
++ fixP->fx_r_type == BFD_RELOC_NIOS2_CALLR ||
++ fixP->fx_r_type == BFD_RELOC_NIOS2_ALIGN
++ // add other relocs here as we generate them
++ ));
++
++
++ /* The value passed in valP can be the value of a fully
++ resolved expression, or it can be the value of a partially
++ resolved expression. In the former case, both fixP->fx_addsy
++ and fixP->fx_subsy are NULL, and fixP->fx_offset == *valP, and
++ we can fix up the instruction that fixP relates to.
++ In the latter case, one or both of fixP->fx_addsy and
++ fixP->fx_subsy are not NULL, and fixP->fx_offset may or may not
++ equal *valP. We don't need to check for fixP->fx_subsy being null
++ because the generic part of the assembler generates an error if
++ it is not an absolute symbol */
++
++ if (fixP->fx_addsy != NULL)
++ {
++ fixP->fx_addnumber = fixP->fx_offset;
++ fixP->fx_done = 0;
++ }
++ else
++ {
++ valueT value;
++
++ char *buf;
++ reloc_howto_type *howto;
++ howto = bfd_reloc_type_lookup (stdoutput, fixP->fx_r_type);
++
++ if (howto == NULL)
++ {
++ as_bad_where (fixP->fx_file, fixP->fx_line,
++ _("relocation is not supported"));
++ }
++ else
++ {
++ fixup += *valP;
++
++ /* If this is a pc-relative relocation, we need to
++ subtract the current offset within the object file
++ FIXME : for some reason fixP->fx_pcrel isn't 1 when it should be
++ so I'm using the howto structure instead to determine this */
++ if (howto->pc_relative == 1)
++ fixup = fixup - (fixP->fx_frag->fr_address + fixP->fx_where + 4);
++
++
++
++ /* Get the instruction to be fixed up */
++ buf = fixP->fx_frag->fr_literal + fixP->fx_where;
++ value = md_chars_to_number (buf, 4);
++
++ /* What opcode is the instruction? This will determine
++ whether we check for overflow in immediate values
++ and what error message we get */
++ opcode = nios2_find_opcode_hash (value);
++ overflow_msg_type = opcode->overflow_msg;
++
++ overflowed = nios2_check_overflow (fixup, howto);
++
++
++ if (overflowed)
++ {
++ unsigned int range_min;
++ unsigned int range_max;
++ unsigned int address;
++ switch (overflow_msg_type)
++ {
++ case call_target_overflow:
++ range_min =
++ ((fixP->fx_frag->fr_address +
++ fixP->fx_where) & 0xf0000000);
++ range_max = range_min + 0x0fffffff;
++ address = fixup | range_min;
++
++ as_bad_where (fixP->fx_file, fixP->fx_line,
++ _(overflow_msgs[call_target_overflow]),
++ address, range_min, range_max);
++ break;
++ case branch_target_overflow:
++ as_bad_where (fixP->fx_file, fixP->fx_line,
++ _(overflow_msgs[branch_target_overflow]),
++ fixup, BYTE_B, BYTE_F);
++ break;
++ case address_offset_overflow:
++ as_bad_where (fixP->fx_file, fixP->fx_line,
++ _(overflow_msgs[address_offset_overflow]),
++ opcode->name, fixup, -32768, 32767);
++ break;
++ case signed_immed16_overflow:
++ as_bad_where (fixP->fx_file, fixP->fx_line,
++ _(overflow_msgs[signed_immed16_overflow]),
++ fixup, -32768, 32767);
++ break;
++ case unsigned_immed16_overflow:
++ as_bad_where (fixP->fx_file, fixP->fx_line,
++ _(overflow_msgs[unsigned_immed16_overflow]),
++ fixup, 0, 65535);
++ break;
++ case unsigned_immed5_overflow:
++ as_bad_where (fixP->fx_file, fixP->fx_line,
++ _(overflow_msgs[unsigned_immed5_overflow]),
++ fixup, 0, 31);
++ break;
++ case custom_opcode_overflow:
++ as_bad_where (fixP->fx_file, fixP->fx_line,
++ _(overflow_msgs[custom_opcode_overflow]),
++ fixup, 0, 255);
++ break;
++ default:
++ as_bad_where (fixP->fx_file, fixP->fx_line,
++ _
++ ("unspecified overflow in immediate argument"));
++ break;
++ }
++ }
++
++
++ /* apply the rightshift */
++ (signed) fixup >>= howto->rightshift;
++
++ /* truncate the fixup to right size */
++ switch (fixP->fx_r_type)
++ {
++ case BFD_RELOC_NIOS2_HI16:
++ fixup = (fixup >> 16) & 0xFFFF;
++ break;
++ case BFD_RELOC_NIOS2_LO16:
++ fixup = fixup & 0xFFFF;
++ break;
++ case BFD_RELOC_NIOS2_HIADJ16:
++ fixup = ((fixup >> 16) & 0xFFFF) + ((fixup >> 15) & 0x01);
++ break;
++ default:
++ fixup =
++ (fixup << (32 - howto->bitsize)) >> (32 - howto->bitsize);
++ break;
++ }
++
++ /* fixup the instruction */
++ value = (value & ~howto->dst_mask) | (fixup << howto->bitpos);
++ md_number_to_chars (buf, value, 4);
++ }
++
++ fixP->fx_done = 1;
++ }
++
++ if (fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT)
++ {
++ fixP->fx_done = 0;
++ if (fixP->fx_addsy
++ && !S_IS_DEFINED (fixP->fx_addsy) && !S_IS_WEAK (fixP->fx_addsy))
++ S_SET_WEAK (fixP->fx_addsy);
++ }
++ else if (fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
++ {
++ fixP->fx_done = 0;
++ }
++}
++
++bfd_boolean
++nios2_check_overflow (valueT fixup, reloc_howto_type * howto)
++{
++ /* apply the rightshift before checking for overflow */
++ (signed) fixup >>= howto->rightshift;
++
++ /* check for overflow - return TRUE if overflow, FALSE if not */
++ switch (howto->complain_on_overflow)
++ {
++ case complain_overflow_dont:
++ break;
++ case complain_overflow_bitfield:
++ if ((fixup >> howto->bitsize) != 0)
++ return TRUE;
++ break;
++ case complain_overflow_signed:
++ if ((fixup & 0x80000000) > 0)
++ {
++ /* check for negative overflow */
++ if ((signed) fixup < ((signed) 0x80000000 >> howto->bitsize))
++ return TRUE;
++ }
++ else
++ {
++ /* check for positive overflow */
++ if (fixup >= ((unsigned) 1 << (howto->bitsize - 1)))
++ return TRUE;
++ }
++ break;
++ case complain_overflow_unsigned:
++ if ((fixup >> howto->bitsize) != 0)
++ return TRUE;
++ break;
++ default:
++ as_bad (_("error checking for overflow - broken assembler"));
++ break;
++ }
++
++ return FALSE;
++}
++
++/*
++ Function : void md_end()
++ Description : Called just before the assembler exits
++ */
++void
++md_end ()
++{
++ /* FIXME - not yet implemented */
++}
++
++
++/*
++ Creates a new nios2_insn_relocS and returns a pointer to it
++*/
++nios2_insn_relocS *
++nios2_insn_reloc_new (bfd_reloc_code_real_type reloc_type, unsigned int pcrel)
++{
++ nios2_insn_relocS *retval;
++ retval = (nios2_insn_relocS *) malloc (sizeof (nios2_insn_relocS));
++ if (retval == NULL)
++ {
++ as_bad (_("can't create relocation"));
++ abort ();
++ }
++
++ /* fill out the fields with default values */
++ retval->reloc_next = NULL;
++ retval->reloc_type = reloc_type;
++ retval->reloc_pcrel = pcrel;
++ return retval;
++}
++
++/*
++ Frees up memory previously allocated by nios2_insn_reloc_new()
++ */
++void
++nios2_insn_reloc_destroy (nios2_insn_relocS * reloc)
++{
++ assert (reloc != NULL);
++ free (reloc);
++}
++
++/*
++ Function : nios2_assemble_expression(char* exprstr)
++
++ Description : The various nios2_assemble_* functions call this
++ function to generate an expression from a
++ string representing an expression
++ It then tries to evaluate the expression, and
++ if it can, returns its value.
++ If not, it creates a new nios2_insn_relocS
++ and stores the expression and reloc_type
++ for future use
++ */
++unsigned long
++nios2_assemble_expression (const char *exprstr,
++ nios2_insn_infoS * insn,
++ nios2_insn_relocS * prev_reloc,
++ bfd_reloc_code_real_type reloc_type,
++ unsigned int pcrel)
++{
++ nios2_insn_relocS *reloc;
++ char *saved_line_ptr;
++ unsigned short value;
++ int i;
++
++ assert (exprstr != NULL);
++ assert (insn != NULL);
++
++ /* check for %gprel, %hi, %lo or %hiadj
++ change the relocation type
++ and advance the ptr to the start of
++ the expression proper */
++ for (i = 0; i < nios2_num_special_relocs; i++)
++ {
++ if (strstr (exprstr, nios2_special_reloc[i].string) != NULL)
++ {
++ reloc_type = nios2_special_reloc[i].reloc_type;
++ exprstr += strlen (nios2_special_reloc[i].string) + 1;
++ break;
++ }
++ }
++
++ /* we potentially have a relocation */
++ reloc = nios2_insn_reloc_new (reloc_type, pcrel);
++ if (prev_reloc != NULL)
++ prev_reloc->reloc_next = reloc;
++ else
++ insn->insn_reloc = reloc;
++
++ /* parse the expression string */
++ saved_line_ptr = input_line_pointer;
++ input_line_pointer = (char *) exprstr;
++ expression (&reloc->reloc_expression);
++ input_line_pointer = saved_line_ptr;
++
++ /* this is redundant as the fixup will put this into
++ the instruction, but it is included here so that
++ self-test mode (-r) works */
++ value = 0;
++ if (nios2_mode == NIOS2_MODE_TEST)
++ {
++ if (reloc->reloc_expression.X_op == O_constant)
++ value = reloc->reloc_expression.X_add_number;
++ }
++
++ return (unsigned long) value;
++}
++
++/*
++ The function consume_separate takes a pointer into a string
++ of instruction tokens (args) and a pointer into a string representing
++ the expected sequence of tokens and separators. It finds the first
++ instance of the character pointed to by separator in argStr, and
++ returns a pointer to the next element of argStr, which is the
++ following token in the sequence.
++ */
++char *
++nios2_consume_separator (char *argStr, const char *separator)
++{
++ char *argPtr;
++
++ /* if we have a opcode reg, expr(reg) type instruction, and
++ * we are separating the expr from the (reg), we find the last
++ * (, just in case the expression has brackets */
++
++ if (*separator == '(')
++ argPtr = strrchr (argStr, *separator);
++ else
++ argPtr = strchr (argStr, *separator);
++
++ if (argPtr != NULL)
++ *argPtr++ = 0;
++ else
++ as_bad (_("expecting %c near %s"), *separator, argStr);
++ return argPtr;
++}
++
++/*
++ The function consume_arg takes a pointer into a string
++ of instruction tokens (args) and a pointer into a string
++ representing the expected sequence of tokens and separators.
++ It checks whether the first argument in argStr is of the
++ expected type, throwing an error if it is not, and returns
++ the pointer argStr.
++ */
++char *
++nios2_consume_arg (char *argStr, const char *argType)
++{
++ char *temp;
++ int regno = -1;
++
++ switch (*argType)
++ {
++ case 'c':
++ if (strncmp (argStr, "ctl", strlen ("ctl")) != 0
++ && strncmp (argStr, "status", strlen ("status")) != 0
++ && strncmp (argStr, "estatus", strlen ("estatus")) != 0
++ && strncmp (argStr, "bstatus", strlen ("bstatus")) != 0
++ && strncmp (argStr, "ienable", strlen ("ienable")) != 0
++ && strncmp (argStr, "ipending", strlen ("ipending")) != 0)
++ {
++ as_bad (_("expecting control register"));
++ }
++ break;
++ case 'd':
++ case 's':
++ case 't':
++
++ /* we check to make sure we don't have a control register */
++ if (strncmp (argStr, "ctl", strlen ("ctl")) == 0
++ || strncmp (argStr, "status", strlen ("status")) == 0
++ || strncmp (argStr, "estatus", strlen ("estatus")) == 0
++ || strncmp (argStr, "bstatus", strlen ("bstatus")) == 0
++ || strncmp (argStr, "ienable", strlen ("ienable")) == 0
++ || strncmp (argStr, "ipending", strlen ("ipending")) == 0)
++ {
++ as_bad (_("illegal use of control register"));
++ }
++
++ /* and whether coprocessor registers are valid here */
++ if (nios2_coproc_reg (argStr)
++ && insn.insn_nios2_opcode->match != OP_MATCH_CUSTOM)
++ {
++ as_bad (_("illegal use of coprocessor register\n"));
++ }
++
++
++ /* extract a register number if the register is of the
++ form r[0-9]+, if it is a normal register, set
++ regno to its number (0-31), else set regno to -1 */
++ if (argStr[0] == 'r' && ISDIGIT (argStr[1]))
++ {
++ char *p = argStr;
++
++ ++p;
++ regno = 0;
++ do
++ {
++ regno *= 10;
++ regno += *p - '0';
++ ++p;
++ }
++ while (ISDIGIT (*p));
++ }
++ else
++ {
++ regno = -1;
++ }
++
++ /* and whether we are using at */
++ if (!nios2_as_options.noat
++ && (regno == 1
++ || strncmp (argStr, "at", strlen ("at")) == 0))
++ {
++ as_warn (_("Register at (r1) can sometimes be corrupted by assembler optimizations.\n"
++ "Use .set noat to turn off those optimizations (and this warning)."));
++ }
++
++ /* and whether we are using oci registers */
++ if (!nios2_as_options.nobreak
++ && (regno == 25
++ || strncmp (argStr, "bt", strlen ("bt")) == 0))
++ {
++ as_warn (_("The debugger will corrupt bt (r25). If you don't need to debug this\n"
++ "code then use .set nobreak to turn off this warning."));
++ }
++
++ if (!nios2_as_options.nobreak
++ && (regno == 30
++ || strncmp (argStr, "ba", strlen ("ba")) == 0))
++ {
++ as_warn (_("The debugger will corrupt ba (r30). If you don't need to debug this\n"
++ "code then use .set nobreak to turn off this warning."));
++ }
++ break;
++ case 'i':
++ case 'u':
++ if (*argStr == '%')
++ {
++ if (strstr (argStr, "%hi(") || strstr (argStr, "%lo(")
++ || strstr (argStr, "%hiadj(") || strstr (argStr, "%gprel("))
++ {
++ // we zap the brackets because we don't want them confused with separators
++ temp = strchr (argStr, '(');
++ if (temp != NULL)
++ *temp = ' ';
++ temp = strchr (argStr, ')');
++ if (temp != NULL)
++ *temp = ' ';
++ }
++ else
++ {
++ as_bad (_("badly formed expression near %s"), argStr);
++ }
++ }
++ break;
++ case 'm':
++ case 'j':
++ case 'k':
++ case 'l':
++ case 'b':
++ /* we can't have %hi, %lo or %hiadj here */
++ if (*argStr == '%')
++ as_bad (_("badly formed expression near %s"), argStr);
++ break;
++ default:
++ break;
++ }
++ return argStr;
++}
++
++/*
++ The principal argument parsing function which takes a string
++ representing the instruction arguments, and extracts the argument
++ tokens
++ */
++void
++nios2_parse_args (char *argStr, const char *parseStr, char **parsedArgs)
++{
++ char *p;
++ char *end = NULL;
++ int i;
++ p = argStr;
++ i = 0;
++ bfd_boolean terminate = FALSE;
++
++ /* This rest of this function is it too fragile and it mostly works,
++ therefore special case this one */
++ if (*parseStr == 0 && argStr != 0)
++ {
++ as_bad (_("too many arguments"));
++ parsedArgs[0] = NULL;
++ return;
++ }
++
++
++ while (p != NULL && !terminate && i < NIOS2_MAX_INSN_TOKENS)
++ {
++ parsedArgs[i] = nios2_consume_arg (p, parseStr);
++ ++parseStr;
++ if (*parseStr != '\0')
++ {
++ p = nios2_consume_separator (p, parseStr);
++ ++parseStr;
++ }
++ else
++ {
++ /* check that the argument string has no trailing arguments */
++ /* if we've got a %lo etc relocation, we've zapped the brackets with spaces */
++ if (strstr (p, "%lo") == p || strstr (p, "%hi") == p
++ || strstr (p, "%hiadj") == p || strstr (p, "%gprel") == p)
++ end = strpbrk (p, ",");
++ else
++ end = strpbrk (p, " ,");
++
++ if (end != NULL)
++ as_bad (_("too many arguments"));
++ }
++
++ if (*parseStr == '\0' || (p != NULL && *p == '\0'))
++ {
++ terminate = TRUE;
++ }
++ ++i;
++ }
++
++ parsedArgs[i] = NULL;
++
++ if (*parseStr != '\0' && insn.insn_nios2_opcode->match != OP_MATCH_BREAK)
++ as_bad (_("missing argument"));
++
++}
++
++
++/* checks whether the register name is a coprocessor
++ register - returns TRUE if it is, FALSE otherwise */
++
++static bfd_boolean
++nios2_coproc_reg (const char *reg_name)
++{
++ assert (reg_name != NULL);
++
++/* check that we do have a valid register name and that it is a
++ * coprocessor register
++ * it must begin with c, not be a control register, and be a valid
++ * register name */
++
++ if (strncmp (reg_name, "c", 1) == 0 &&
++ strncmp (reg_name, "ctl", strlen ("ctl")) != 0 &&
++ hash_find (nios2_reg_hash, reg_name) != NULL)
++ return TRUE;
++ else
++ return FALSE;
++}
++
++
++/*********************************************************************
++ Argument assemble functions
++
++ Description : All take an instruction argument string, and a pointer
++ to an instruction opcode. Upon return the insn_opcode
++ has the relevant fields filled in to represent the arg
++ string. The return value is NULL if successful, or
++ an error message if an error was detected
++ *********************************************************************/
++
++/* assembles register arguments "dst, src1, src2" */
++void
++nios2_assemble_args_dst (nios2_insn_infoS * insn_info)
++{
++ struct nios2_reg *dst, *src1, *src2;
++
++ if (insn_info->insn_tokens[1] != NULL &&
++ insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL)
++ {
++ dst =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[1]);
++ src1 =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[2]);
++ src2 =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[3]);
++
++ if (dst == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]);
++ else
++ SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index);
++
++ if (src1 == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]);
++ else
++ SET_INSN_FIELD (RRS, insn_info->insn_code, src1->index);
++
++ if (src2 == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[3]);
++ else
++ SET_INSN_FIELD (RRT, insn_info->insn_code, src2->index);
++
++
++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[4]);
++ }
++}
++
++
++/* assembles arguments successfully parsed by nios2_parse_args_tsi */
++void
++nios2_assemble_args_tsi (nios2_insn_infoS * insn_info)
++{
++ struct nios2_reg *dst, *src1;
++ unsigned int src2;
++
++ if (insn_info->insn_tokens[1] != NULL &&
++ insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL)
++ {
++ dst =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[1]);
++ src1 =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[2]);
++ src2 =
++ nios2_assemble_expression (insn_info->insn_tokens[3], insn_info,
++ insn_info->insn_reloc, BFD_RELOC_NIOS2_S16,
++ 0);
++
++ if (dst == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]);
++ else
++ SET_INSN_FIELD (IRT, insn_info->insn_code, dst->index);
++
++ if (src1 == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]);
++ else
++ SET_INSN_FIELD (IRS, insn_info->insn_code, src1->index);
++
++ SET_INSN_FIELD (IMM16, insn_info->insn_code, src2);
++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[4]);
++
++ SET_INSN_FIELD (IMM16, insn_info->insn_code, 0);
++ }
++}
++
++
++/* assembles args successfully parsed by nios2_parse_args_tsu */
++void
++nios2_assemble_args_tsu (nios2_insn_infoS * insn_info)
++{
++ struct nios2_reg *dst, *src1;
++ unsigned int src2;
++
++ if (insn_info->insn_tokens[1] != NULL &&
++ insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL)
++ {
++ dst =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[1]);
++ src1 =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[2]);
++ src2 =
++ nios2_assemble_expression (insn_info->insn_tokens[3], insn_info,
++ insn_info->insn_reloc, BFD_RELOC_NIOS2_U16,
++ 0);
++
++ if (dst == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]);
++ else
++ SET_INSN_FIELD (IRT, insn_info->insn_code, dst->index);
++
++ if (src1 == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]);
++ else
++ SET_INSN_FIELD (IRS, insn_info->insn_code, src1->index);
++
++ SET_INSN_FIELD (IMM16, insn_info->insn_code, src2);
++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[4]);
++
++ SET_INSN_FIELD (IMM16, insn_info->insn_code, 0);
++ }
++}
++
++
++/* assembles args successfully parsed by nios2_parse_args_sti */
++void
++nios2_assemble_args_sto (nios2_insn_infoS * insn_info)
++{
++ struct nios2_reg *dst, *src1;
++ unsigned int src2;
++
++ if (insn_info->insn_tokens[1] != NULL &&
++ insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL)
++ {
++ dst =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[1]);
++ src1 =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[2]);
++ src2 =
++ nios2_assemble_expression (insn_info->insn_tokens[3], insn_info,
++ insn_info->insn_reloc, BFD_RELOC_16_PCREL,
++ 1);
++
++ if (dst == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]);
++ else
++ SET_INSN_FIELD (IRS, insn_info->insn_code, dst->index);
++
++ if (src1 == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]);
++ else
++ SET_INSN_FIELD (IRT, insn_info->insn_code, src1->index);
++
++ SET_INSN_FIELD (IMM16, insn_info->insn_code, src2);
++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[4]);
++
++ SET_INSN_FIELD (IMM16, insn_info->insn_code, 0);
++ }
++}
++
++
++void
++nios2_assemble_args_o (nios2_insn_infoS * insn_info)
++{
++ unsigned long immed;
++
++ if (insn_info->insn_tokens[1] != NULL)
++ {
++ immed =
++ nios2_assemble_expression (insn_info->insn_tokens[1], insn_info,
++ insn_info->insn_reloc, BFD_RELOC_16_PCREL,
++ 1);
++ SET_INSN_FIELD (IMM16, insn_info->insn_code, immed);
++
++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[2]);
++
++ SET_INSN_FIELD (IMM16, insn_info->insn_code, 0);
++ }
++}
++
++
++void
++nios2_assemble_args_is (nios2_insn_infoS * insn_info)
++{
++ struct nios2_reg *addr_src;
++ unsigned long immed;
++
++ if (insn_info->insn_tokens[1] != NULL && insn_info->insn_tokens[2] != NULL)
++ {
++ addr_src =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[2]);
++
++ immed =
++ nios2_assemble_expression (insn_info->insn_tokens[1], insn_info,
++ insn_info->insn_reloc, BFD_RELOC_NIOS2_S16,
++ 0);
++
++ SET_INSN_FIELD (IMM16, insn_info->insn_code, immed);
++
++ if (addr_src == NULL)
++ as_bad (_("unknown base register %s"), insn_info->insn_tokens[2]);
++ else
++ SET_INSN_FIELD (RRS, insn_info->insn_code, addr_src->index);
++
++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[3]);
++
++ SET_INSN_FIELD (IMM16, insn_info->insn_code, 0);
++ }
++}
++
++
++void
++nios2_assemble_args_m (nios2_insn_infoS * insn_info)
++{
++ unsigned long immed;
++ if (insn_info->insn_tokens[1] != NULL)
++ {
++ immed =
++ nios2_assemble_expression (insn_info->insn_tokens[1], insn_info,
++ insn_info->insn_reloc,
++ BFD_RELOC_NIOS2_CALL26, 0);
++
++ SET_INSN_FIELD (IMM26, insn_info->insn_code, immed);
++
++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[2]);
++
++ SET_INSN_FIELD (IMM26, insn_info->insn_code, 0);
++ }
++}
++
++
++void
++nios2_assemble_args_s (nios2_insn_infoS * insn_info)
++{
++ struct nios2_reg *src;
++
++ if (insn_info->insn_tokens[1] != NULL)
++ {
++ src =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[1]);
++
++ if (src == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]);
++ else
++ SET_INSN_FIELD (RRS, insn_info->insn_code, src->index);
++
++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[2]);
++ }
++}
++
++
++void
++nios2_assemble_args_tis (nios2_insn_infoS * insn_info)
++{
++ struct nios2_reg *addr_src, *dst;
++ unsigned long immed;
++
++ if (insn_info->insn_tokens[1] != NULL &&
++ insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL)
++ {
++
++ dst =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[1]);
++ addr_src =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[3]);
++ immed =
++ nios2_assemble_expression (insn_info->insn_tokens[2], insn_info,
++ insn_info->insn_reloc, BFD_RELOC_NIOS2_S16,
++ 0);
++
++
++ if (addr_src == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[3]);
++ else
++ SET_INSN_FIELD (RRS, insn_info->insn_code, addr_src->index);
++
++ if (dst == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]);
++ else
++ SET_INSN_FIELD (RRT, insn_info->insn_code, dst->index);
++
++ SET_INSN_FIELD (IMM16, insn_info->insn_code, immed);
++
++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[4]);
++
++ SET_INSN_FIELD (IMM16, insn_info->insn_code, 0);
++ }
++}
++
++
++/* assemble rdctl dst, ctl */
++void
++nios2_assemble_args_dc (nios2_insn_infoS * insn_info)
++{
++ struct nios2_reg *dst, *ctl;
++
++ if (insn_info->insn_tokens[1] != NULL && insn_info->insn_tokens[2] != NULL)
++ {
++ ctl =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[2]);
++ dst =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[1]);
++
++ if (ctl == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]);
++ else
++ SET_INSN_FIELD (RCTL, insn_info->insn_code, ctl->index);
++
++ if (dst == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]);
++ else
++ SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index);
++
++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[3]);
++ }
++}
++
++
++/* assemble wrctl ctl, src */
++void
++nios2_assemble_args_cs (nios2_insn_infoS * insn_info)
++{
++ struct nios2_reg *src, *ctl;
++
++ if (insn_info->insn_tokens[1] != NULL && insn_info->insn_tokens[2] != NULL)
++ {
++ ctl =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[1]);
++ src =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[2]);
++
++ if (ctl == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]);
++ else if (ctl->index == 4)
++ as_bad (_("ipending control register (ctl4) is read-only\n"));
++ else
++ SET_INSN_FIELD (RCTL, insn_info->insn_code, ctl->index);
++
++ if (src == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]);
++ else
++ SET_INSN_FIELD (RRS, insn_info->insn_code, src->index);
++
++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[3]);
++ }
++}
++
++
++
++void
++nios2_assemble_args_ldst (nios2_insn_infoS * insn_info)
++{
++ struct nios2_reg *dst, *src1, *src2;
++ unsigned long custom_n;
++
++ if (insn_info->insn_tokens[1] != NULL &&
++ insn_info->insn_tokens[2] != NULL &&
++ insn_info->insn_tokens[3] != NULL && insn_info->insn_tokens[4] != NULL)
++ {
++#if 0 /* ??? Unused/half commented out code */
++ char *end_p;
++ /* custom_n = nios2_strtoul(insn_info->insn_tokens[1], &end_p); */
++#endif
++ custom_n =
++ nios2_assemble_expression (insn_info->insn_tokens[1], insn_info,
++ insn_info->insn_reloc,
++ BFD_RELOC_NIOS2_IMM8, 0);
++
++ dst =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[2]);
++ src1 =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[3]);
++ src2 =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[4]);
++
++ SET_INSN_FIELD (CUSTOM_N, insn_info->insn_code, custom_n);
++
++ if (dst == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]);
++ else
++ SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index);
++
++ if (src1 == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[3]);
++ else
++ SET_INSN_FIELD (RRS, insn_info->insn_code, src1->index);
++
++ if (src2 == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[4]);
++ else
++ SET_INSN_FIELD (RRT, insn_info->insn_code, src2->index);
++
++ /* set or clear the bits to indicate whether coprocessor registers are used */
++ if (nios2_coproc_reg (insn_info->insn_tokens[2]))
++ SET_INSN_FIELD (CUSTOM_C, insn_info->insn_code, 0);
++ else
++ SET_INSN_FIELD (CUSTOM_C, insn_info->insn_code, 1);
++
++ if (nios2_coproc_reg (insn_info->insn_tokens[3]))
++ SET_INSN_FIELD (CUSTOM_A, insn_info->insn_code, 0);
++ else
++ SET_INSN_FIELD (CUSTOM_A, insn_info->insn_code, 1);
++
++ if (nios2_coproc_reg (insn_info->insn_tokens[4]))
++ SET_INSN_FIELD (CUSTOM_B, insn_info->insn_code, 0);
++ else
++ SET_INSN_FIELD (CUSTOM_B, insn_info->insn_code, 1);
++
++
++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[5]);
++ }
++}
++
++
++void
++nios2_assemble_args_none (nios2_insn_infoS * insn_info ATTRIBUTE_UNUSED)
++{
++ // nothing to do
++}
++
++
++void
++nios2_assemble_args_dsj (nios2_insn_infoS * insn_info)
++{
++ struct nios2_reg *dst, *src1;
++ unsigned int src2;
++
++ if (insn_info->insn_tokens[1] != NULL &&
++ insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL)
++ {
++ dst =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[1]);
++ src1 =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[2]);
++
++ // a 5-bit constant expression
++ src2 =
++ nios2_assemble_expression (insn_info->insn_tokens[3], insn_info,
++ insn_info->insn_reloc,
++ BFD_RELOC_NIOS2_IMM5, 0);
++
++ if (dst == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]);
++ else
++ SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index);
++
++ if (src1 == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[2]);
++ else
++ SET_INSN_FIELD (RRS, insn_info->insn_code, src1->index);
++
++ SET_INSN_FIELD (IMM5, insn_info->insn_code, src2);
++
++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[4]);
++
++ SET_INSN_FIELD (IMM5, insn_info->insn_code, 0);
++ }
++}
++
++
++/* assembles register arguments "dst" */
++void
++nios2_assemble_args_d (nios2_insn_infoS * insn_info)
++{
++ struct nios2_reg *dst;
++
++ if (insn_info->insn_tokens[1] != NULL)
++ {
++ dst =
++ (struct nios2_reg *) hash_find (nios2_reg_hash,
++ insn_info->insn_tokens[1]);
++
++ if (dst == NULL)
++ as_bad (_("unknown register %s"), insn_info->insn_tokens[1]);
++ else
++ SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index);
++
++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[2]);
++ }
++}
++
++/* assemble break op */
++void
++nios2_assemble_args_b (nios2_insn_infoS * insn_info)
++{
++ unsigned int imm5 = 0;
++
++ if (insn_info->insn_tokens[1] != NULL)
++ {
++ // a 5-bit constant expression
++ imm5 =
++ nios2_assemble_expression (insn_info->insn_tokens[1], insn_info,
++ insn_info->insn_reloc,
++ BFD_RELOC_NIOS2_IMM5, 0);
++
++ SET_INSN_FIELD (TRAP_IMM5, insn_info->insn_code, imm5);
++
++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[2]);
++ }
++
++ SET_INSN_FIELD (TRAP_IMM5, insn_info->insn_code, imm5);
++
++ NIOS2_CHECK_ASSEMBLY (insn_info->insn_code, insn_info->insn_tokens[2]);
++}
++
++/* Machine-dependent assembler directive handling follows */
++
++/*
++ .set sets assembler options eg noat/at and is also used
++ to set symbol values (.equ, .equiv )
++*/
++void
++s_nios2_set (int equiv)
++{
++ char *directive = input_line_pointer;
++ char delim = get_symbol_end ();
++ char *endline;
++ endline = input_line_pointer;
++ *endline = delim;
++
++ /* we only want to handle ".set XXX" if the
++ user has tried ".set XXX, YYY" they are not
++ trying a directive. This prevents
++ us from polluting the name space */
++
++ SKIP_WHITESPACE ();
++
++ if (is_end_of_line[(unsigned char) *input_line_pointer])
++ {
++ bfd_boolean done = FALSE;
++ *endline = 0;
++
++ if (!strcmp (directive, "noat"))
++ {
++ done = TRUE;
++ nios2_as_options.noat = TRUE;
++ }
++
++ if (!strcmp (directive, "at"))
++ {
++ done = TRUE;
++ nios2_as_options.noat = FALSE;
++ }
++
++ if (!strcmp (directive, "nobreak"))
++ {
++ done = TRUE;
++ nios2_as_options.nobreak = TRUE;
++ }
++
++ if (!strcmp (directive, "break"))
++ {
++ done = TRUE;
++ nios2_as_options.nobreak = FALSE;
++ }
++
++ if (!strcmp (directive, "norelax"))
++ {
++ done = TRUE;
++ nios2_as_options.relax = relax_none;
++ }
++ else if (!strcmp (directive, "relaxsection"))
++ {
++ done = TRUE;
++ nios2_as_options.relax = relax_section;
++ }
++ else if (!strcmp (directive, "relaxall"))
++ {
++ done = TRUE;
++ nios2_as_options.relax = relax_all;
++ }
++
++
++ if (done)
++ {
++ *endline = delim;
++ demand_empty_rest_of_line ();
++ return;
++ }
++ }
++
++
++ /* If we fall through to here, either we have ".set XXX, YYY"
++ or we have ".set XXX" where XXX is unknown or we have
++ a syntax error */
++ input_line_pointer = directive;
++ *endline = delim;
++ s_set (equiv);
++}
++
++/* nop fill pattern for text section */
++static char const nop[4] = { 0x3a, 0x88, 0x01, 0x00 };
++
++/* nios2_frob_label() is called when after a label is recognized. */
++
++void
++nios2_frob_label (symbolS * lab)
++{
++ /* Update the label's address with the current output pointer. */
++ symbol_set_frag (lab, frag_now);
++ S_SET_VALUE (lab, (valueT) frag_now_fix ());
++
++ /* Record this label for future adjustment after we find out what
++ kind of data it references, and the required alignment therewith. */
++ nios2_last_label = lab;
++}
++
++
++
++/* Hook into cons for auto-alignment. */
++
++void
++nios2_cons_align (int size)
++{
++ int log_size;
++ const char *pfill = NULL;
++
++ log_size = 0;
++ while ((size >>= 1) != 0)
++ ++log_size;
++
++ if (subseg_text_p (now_seg))
++ {
++ pfill = (const char *) &nop;
++ }
++ else
++ pfill = NULL;
++
++ if (nios2_auto_align_on)
++ nios2_align (log_size, pfill, NULL);
++
++ nios2_last_label = NULL;
++}
++
++static void
++s_nios2_sdata (int ignore ATTRIBUTE_UNUSED)
++{
++ int temp;
++
++ temp = get_absolute_expression ();
++ subseg_new (".sdata", 0);
++ demand_empty_rest_of_line ();
++}
++
++/* Map 's' to SHF_NIOS2_GPREL. */
++/* this is from the Alpha code tc-alpha.c */
++int
++nios2_elf_section_letter (int letter, char **ptr_msg)
++{
++ if (letter == 's')
++ return SHF_NIOS2_GPREL;
++
++ *ptr_msg = _("Bad .section directive: want a,s,w,x,M,S,G,T in string");
++ return 0;
++}
++
++/* Map SHF_ALPHA_GPREL to SEC_SMALL_DATA. */
++/* this is from the Alpha code tc-alpha.c */
++flagword
++nios2_elf_section_flags (flagword flags, int attr, int type ATTRIBUTE_UNUSED)
++{
++ if (attr & SHF_NIOS2_GPREL)
++ flags |= SEC_SMALL_DATA;
++ return flags;
++}
++
++/* explicitly unaligned cons */
++
++static void
++s_nios2_ucons (int nbytes)
++{
++ int hold;
++ hold = nios2_auto_align_on;
++ nios2_auto_align_on = 0;
++ cons (nbytes);
++ nios2_auto_align_on = hold;
++}
++
++/* Handles all machine-dependent alignment needs */
++static void
++nios2_align (int log_size, const char *pfill, symbolS * label)
++{
++ int align;
++ long max_alignment = 15;
++
++ /* The front end is prone to changing segments out from under us
++ temporarily when -g is in effect. */
++ int switched_seg_p = (nios2_current_align_seg != now_seg);
++
++ align = log_size;
++ if (align > max_alignment)
++ {
++ align = max_alignment;
++ as_bad (_("Alignment too large: %d. assumed"), align);
++ }
++ else if (align < 0)
++ {
++ as_warn (_("Alignment negative: 0 assumed"));
++ align = 0;
++ }
++
++ if (align != 0)
++ {
++ if (subseg_text_p (now_seg) && align >= 2)
++ {
++ /* First, make sure we're on a four-byte boundary, in case
++ someone has been putting .byte values the text section. */
++ if (nios2_current_align < 2 || switched_seg_p)
++ frag_align (2, 0, 0);
++
++ /* now fill in the alignment pattern */
++ if (pfill != NULL)
++ frag_align_pattern (align, pfill, sizeof nop, 0);
++ else
++ frag_align (align, 0, 0);
++ }
++ else
++ {
++ frag_align (align, 0, 0);
++ }
++
++ if (!switched_seg_p)
++ nios2_current_align = align;
++
++ /* If the last label was in a different section we can't align it */
++ if (label != NULL && !switched_seg_p)
++ {
++ symbolS *sym;
++ int label_seen = FALSE;
++ struct frag *old_frag;
++ valueT old_value;
++ valueT new_value;
++
++ assert (S_GET_SEGMENT (label) == now_seg);
++
++ old_frag = symbol_get_frag (label);
++ old_value = S_GET_VALUE (label);
++ new_value = (valueT) frag_now_fix ();
++
++ /* It is possible to have more than one label at a particular
++ address, especially if debugging is enabled, so we must
++ take care to adjust all the labels at this address in this
++ fragment. To save time we search from the end of the symbol
++ list, backwards, since the symbols we are interested in are
++ almost certainly the ones that were most recently added.
++ Also to save time we stop searching once we have seen at least
++ one matching label, and we encounter a label that is no longer
++ in the target fragment. Note, this search is guaranteed to
++ find at least one match when sym == label, so no special case
++ code is necessary. */
++ for (sym = symbol_lastP; sym != NULL; sym = symbol_previous (sym))
++ {
++ if (symbol_get_frag (sym) == old_frag
++ && S_GET_VALUE (sym) == old_value)
++ {
++ label_seen = TRUE;
++ symbol_set_frag (sym, frag_now);
++ S_SET_VALUE (sym, new_value);
++ }
++ else if (label_seen && symbol_get_frag (sym) != old_frag)
++ break;
++ }
++ }
++ record_alignment (now_seg, align);
++ }
++}
++
++/* This is called from HANDLE_ALIGN in tc-nios2.h. */
++
++void
++nios2_handle_align (fragS * fragp)
++{
++ /* If we are expecting to relax in the linker, then we must output a relocation
++ * to tell the linker we are aligning code */
++ if (nios2_as_options.relax == relax_all
++ && (fragp->fr_type == rs_align
++ || fragp->fr_type == rs_align_code)
++ && fragp->fr_address + fragp->fr_fix > 0
++ && fragp->fr_offset > 1 && now_seg != bss_section)
++ fix_new (fragp, fragp->fr_fix, 4, &abs_symbol, fragp->fr_offset, 0,
++ BFD_RELOC_NIOS2_ALIGN);
++
++}
++
++/* Handle the .align pseudo-op. This aligns to a power of two. It
++ also adjusts any current instruction label. We treat this the same
++ way the MIPS port does: .align 0 turns off auto alignment. */
++
++static void
++s_nios2_align (int ignore ATTRIBUTE_UNUSED)
++{
++ int align;
++ char fill;
++ const char *pfill = NULL;
++ long max_alignment = 15;
++
++
++ align = get_absolute_expression ();
++ if (align > max_alignment)
++ {
++ align = max_alignment;
++ as_bad (_("Alignment too large: %d. assumed"), align);
++ }
++ else if (align < 0)
++ {
++ as_warn (_("Alignment negative: 0 assumed"));
++ align = 0;
++ }
++
++ if (*input_line_pointer == ',')
++ {
++ input_line_pointer++;
++ fill = get_absolute_expression ();
++ pfill = (const char *) &fill;
++ }
++ else if (subseg_text_p (now_seg))
++ {
++ pfill = (const char *) &nop;
++ }
++ else
++ {
++ pfill = NULL;
++ nios2_last_label = NULL;
++ }
++
++ if (align != 0)
++ {
++ nios2_auto_align_on = 1;
++ nios2_align (align, pfill, nios2_last_label);
++ nios2_last_label = NULL;
++ }
++ else
++ {
++ nios2_auto_align_on = 0;
++ }
++
++ demand_empty_rest_of_line ();
++}
++
++
++/* Handle the .text pseudo-op. This is like the usual one, but it
++ clears the saved last label and resets known alignment. */
++
++static void
++s_nios2_text (int i)
++{
++ s_text (i);
++ nios2_last_label = NULL;
++ nios2_current_align = 0;
++ nios2_current_align_seg = now_seg;
++}
++
++/* Handle the .data pseudo-op. This is like the usual one, but it
++ clears the saved last label and resets known alignment. */
++
++static void
++s_nios2_data (int i)
++{
++ s_data (i);
++ nios2_last_label = NULL;
++ nios2_current_align = 0;
++ nios2_current_align_seg = now_seg;
++}
++
++/* Handle the .section pseudo-op. This is like the usual one, but it
++ clears the saved last label and resets known alignment. */
++
++static void
++s_nios2_section (int ignore)
++{
++ obj_elf_section (ignore);
++ nios2_last_label = NULL;
++ nios2_current_align = 0;
++ nios2_current_align_seg = now_seg;
++}
+--- binutils-2.15/gas/config/tc-nios2.h 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/config/tc-nios2.h 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,98 @@
++/* tc-nios2.h -- header file for tc-nios2.c.
++
++ Copyright (C) 2003
++ by Nigel Gray (ngray@altera.com).
++
++ This file is part of GAS.
++
++ GAS is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 2, or (at your option)
++ any later version.
++
++ GAS is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with GAS; see the file COPYING. If not, write to the Free
++ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
++ 02111-1307, USA. */
++
++#ifndef TC_NIOS2
++#define TC_NIOS2
++
++
++#define TARGET_BYTES_BIG_ENDIAN 0
++
++#ifdef OBJ_ELF
++#define TARGET_FORMAT "elf32-littlenios2"
++#define TARGET_ARCH bfd_arch_nios2
++#endif
++
++/* An NIOS2 instruction consists of tokens and separator characters
++// the tokens are things like the instruction name (add, or jmp etc),
++// the register indices ($5, $7 etc), and constant expressions. The
++// separator characters are commas, brackets and space.
++// The instruction name is always separated from other tokens by a space
++// The maximum number of tokens in an instruction is 5 (the instruction name,
++// 3 arguments, and a 4th string representing the expected instructin opcode
++// after assembly. The latter is only used when the assemble is running in
++// self test mode, otherwise its presence will generate an error. */
++#define NIOS2_MAX_INSN_TOKENS 6
++
++/* There are no machine-specific operands so we #define this to nothing */
++#define md_operand(x)
++
++/* NG this may need to change when we look at implementing symbols */
++#define md_undefined_symbol(name) (0)
++
++/* function prototypes exported to rest of GAS */
++extern void md_assemble (char *op_str);
++extern void md_end (void);
++extern void md_begin (void);
++
++#define TC_FORCE_RELOCATION(fixp) nios2_force_relocation (fixp)
++extern int nios2_force_relocation (struct fix *);
++
++#define tc_fix_adjustable(fixp) nios2_fix_adjustable (fixp)
++extern int nios2_fix_adjustable (struct fix *);
++
++#define tc_frob_label(lab) nios2_frob_label(lab)
++extern void nios2_frob_label (symbolS *);
++
++#define tc_frob_symbol(symp, punt) punt = nios2_frob_symbol(symp) ? 1 : punt
++extern int nios2_frob_symbol (symbolS * symp);
++
++#define md_cons_align(nbytes) nios2_cons_align (nbytes)
++extern void nios2_cons_align (int);
++
++extern void md_convert_frag (bfd * headers, segT sec, fragS * fragP);
++
++/* When relaxing, we need to generate relocations for alignment
++ directives. */
++#define HANDLE_ALIGN(frag) nios2_handle_align (frag)
++extern void nios2_handle_align (fragS *);
++
++
++#define md_relax_frag nios2_relax_frag
++extern long nios2_relax_frag
++ (segT segment, fragS * fragP, long stretch);
++
++#ifdef OBJ_ELF
++#define ELF_TC_SPECIAL_SECTIONS \
++ { ".sdata", SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_NIOS2_GPREL }, \
++ { ".sbss", SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_NIOS2_GPREL }, \
++ { ".lit4", SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_NIOS2_GPREL }, \
++ { ".lit8", SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_NIOS2_GPREL },
++
++/* Processor specific section directives */
++#define md_elf_section_letter nios2_elf_section_letter
++extern int nios2_elf_section_letter (int, char **);
++#define md_elf_section_flags nios2_elf_section_flags
++extern flagword nios2_elf_section_flags (flagword, int, int);
++#endif
++
++
++#endif // TC_NIOS2
+--- binutils-2.15/gas/configure 2004-05-17 21:36:07.000000000 +0200
++++ binutils-2.15-nios2/gas/configure 2005-05-17 12:20:13.000000000 +0200
+@@ -4173,6 +4173,7 @@ for this_target in $target $canon_target
+ m8*) cpu_type=m88k ;;
+ mips*el) cpu_type=mips endian=little ;;
+ mips*) cpu_type=mips endian=big ;;
++ nios2*|nios2*) cpu_type=nios2 ;;
+ or32*) cpu_type=or32 endian=big ;;
+ pjl*) cpu_type=pj endian=little ;;
+ pj*) cpu_type=pj endian=big ;;
+@@ -4439,6 +4440,7 @@ echo "$as_me: error: Unknown vendor for
+ mn10200-*-*) fmt=elf ;;
+ mn10300-*-*) fmt=elf ;;
+ msp430-*-*) fmt=elf ;;
++ nios2-*-*) fmt=elf ;;
+ openrisc-*-*) fmt=elf ;;
+ or32-*-rtems*) fmt=elf ;;
+ or32-*-coff) fmt=coff ;;
+@@ -4589,7 +4591,7 @@ _ACEOF
+ fi
+
+ case ${cpu_type}-${fmt} in
+- alpha*-* | arm-* | i386-* | ia64*-* | mips-* | ns32k-* \
++ alpha*-* | arm-* | i386-* | ia64*-* | mips-* | nios2-* | ns32k-* \
+ | pdp11-* | ppc-* | sparc-* | strongarm-* | xscale-* \
+ | *-elf | *-ecoff | *-som)
+ bfd_gas=yes ;;
+--- binutils-2.15/gas/configure.in 2004-05-17 21:36:07.000000000 +0200
++++ binutils-2.15-nios2/gas/configure.in 2005-05-17 12:20:13.000000000 +0200
+@@ -143,6 +143,7 @@ changequote([,])dnl
+ m8*) cpu_type=m88k ;;
+ mips*el) cpu_type=mips endian=little ;;
+ mips*) cpu_type=mips endian=big ;;
++ nios2*|nios2*) cpu_type=nios2 ;;
+ or32*) cpu_type=or32 endian=big ;;
+ pjl*) cpu_type=pj endian=little ;;
+ pj*) cpu_type=pj endian=big ;;
+@@ -400,6 +401,7 @@ changequote([,])dnl
+ mn10200-*-*) fmt=elf ;;
+ mn10300-*-*) fmt=elf ;;
+ msp430-*-*) fmt=elf ;;
++ nios2-*-*) fmt=elf ;;
+ openrisc-*-*) fmt=elf ;;
+ or32-*-rtems*) fmt=elf ;;
+ or32-*-coff) fmt=coff ;;
+@@ -539,7 +541,7 @@ changequote([,])dnl
+ fi
+
+ case ${cpu_type}-${fmt} in
+- alpha*-* | arm-* | i386-* | ia64*-* | mips-* | ns32k-* \
++ alpha*-* | arm-* | i386-* | ia64*-* | mips-* | nios2-* | ns32k-* \
+ | pdp11-* | ppc-* | sparc-* | strongarm-* | xscale-* \
+ | *-elf | *-ecoff | *-som)
+ bfd_gas=yes ;;
+--- binutils-2.15/gas/doc/Makefile.am 2004-01-05 23:16:05.000000000 +0100
++++ binutils-2.15-nios2/gas/doc/Makefile.am 2005-05-17 12:20:13.000000000 +0200
+@@ -24,6 +24,7 @@ asconfig.texi: $(CONFIG).texi
+ || cp $(srcdir)/$(CONFIG).texi ./asconfig.texi
+
+ CPU_DOCS = \
++ c-nios2.texi \
+ c-a29k.texi \
+ c-alpha.texi \
+ c-arc.texi \
+--- binutils-2.15/gas/doc/Makefile.in 2004-05-17 21:36:11.000000000 +0200
++++ binutils-2.15-nios2/gas/doc/Makefile.in 2005-05-17 12:20:13.000000000 +0200
+@@ -213,6 +213,7 @@ POD2MAN = pod2man --center="GNU Developm
+ man_MANS = as.1
+ info_TEXINFOS = as.texinfo
+ CPU_DOCS = \
++ c-nios2.texi \
+ c-a29k.texi \
+ c-alpha.texi \
+ c-arc.texi \
+--- binutils-2.15/gas/doc/all.texi 2003-04-01 17:50:30.000000000 +0200
++++ binutils-2.15-nios2/gas/doc/all.texi 2005-05-17 12:20:13.000000000 +0200
+@@ -26,6 +26,7 @@
+
+ @c CPUs of interest
+ @c ================
++@set NIOSII
+ @set A29K
+ @set ALPHA
+ @set ARC
+--- binutils-2.15/gas/doc/as.texinfo 2004-01-09 03:34:04.000000000 +0100
++++ binutils-2.15-nios2/gas/doc/as.texinfo 2005-05-17 12:20:13.000000000 +0200
+@@ -238,6 +238,15 @@ gcc(1), ld(1), and the Info entries for
+ @c
+ @c Target dependent options are listed below. Keep the list sorted.
+ @c Add an empty line for separation.
++
++
++@ifset NIOSII
++@emph{Target Altera Nios II options:}
++ [@b{-relax-all}]
++ [@b{-relax-section}]
++ [@b{-no-relax}]
++@end ifset
++
+ @ifset A29K
+ @c am29k has no machine-dependent assembler options
+ @end ifset
+@@ -577,6 +586,21 @@ Standard input, or source files to assem
+
+ @end table
+
++@ifset NIOSII
++The following options are available when @value{AS} is configured for
++an Altera Nios II processor.
++
++@table @gcctabopt
++@item -relax-all
++Replace all branch and call instructions with @code{jmp} and @code{callr} sequences
++@item -relax-section
++Replace identified out of range branches with @code{jmp} sequences (default)
++@item -no-relax
++Do not replace any branches or calls
++@end table
++@end ifset
++
++
+ @ifset ARC
+ The following options are available when @value{AS} is configured for
+ an ARC processor.
+@@ -2035,6 +2059,9 @@ This means you may not nest these commen
+ @cindex line comment character
+ Anything from the @dfn{line comment} character to the next newline
+ is considered a comment and is ignored. The line comment character is
++@ifset NIOSII
++@samp{#} for the Altera Nios II family;
++@end ifset
+ @ifset A29K
+ @samp{;} for the AMD 29K family;
+ @end ifset
+@@ -3876,7 +3903,7 @@ is already a multiple of 8, no change is
+ first expression is the alignment request in words.
+
+ For other systems, including the i386 using a.out format, and the arm and
+-strongarm, it is the
++strongarm, and the Altera Nios II, it is the
+ number of low-order zero bits the location counter must have after
+ advancement. For example @samp{.align 3} advances the location
+ counter until it a multiple of 8. If the location counter is already a
+@@ -5864,6 +5891,9 @@ include details on any machine's instruc
+ subject, see the hardware manufacturer's manual.
+
+ @menu
++@ifset NIOSII
++* NiosII-Dependent:: Altera Nios II Dependent Features
++@end ifset
+ @ifset A29K
+ * AMD29K-Dependent:: AMD 29K Dependent Features
+ @end ifset
+@@ -5974,6 +6004,11 @@ subject, see the hardware manufacturer's
+ @c node and sectioning commands; hence the repetition of @chapter BLAH
+ @c in both conditional blocks.
+
++
++@ifset NIOSII
++@include c-nios2.texi
++@end ifset
++
+ @ifset A29K
+ @include c-a29k.texi
+ @end ifset
+--- binutils-2.15/gas/doc/c-nios2.texi 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/doc/c-nios2.texi 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,214 @@
++@c Copyright 2004
++@c This is part of the GAS manual.
++@c For copying conditions, see the file as.texinfo.
++@ifset GENERIC
++@page
++@node NiosII-Dependent
++@chapter Altera Nios II Dependent Features
++@end ifset
++@ifclear GENERIC
++@node Machine Dependencies
++@chapter ltera Nios II Dependent Features
++@end ifclear
++
++@cindex Altera Nios II support
++@cindex Nios support
++@cindex Nios II support
++@menu
++* Nios II Options:: Options
++* Nios II Syntax:: Syntax
++* Nios II Relocations:: Relocations
++* Nios II Directives:: Nios II Machine Directives
++* Nios II Opcodes:: Opcodes
++@end menu
++
++@node Nios II Options
++@section Options
++@cindex Nios II options
++@cindex options for Nios II
++
++@table @code
++
++@cindex @code{relax-all} command line option, Nios II
++@item -relax-all
++Replace all branch and call instructions with @code{jmp} and @code{callr} sequences
++
++@cindex @code{relax-section} command line option, Nios II
++@item -relax-section
++Replace identified out of range branches with @code{jmp} sequences (default)
++
++@cindex @code{no-relax} command line option, Nios II
++@item -no-relax
++Do not replace any branches or calls
++
++@end table
++
++
++@node Nios II Syntax
++@section Syntax
++@menu
++* Nios II Chars:: Special Characters
++@end menu
++
++
++@node Nios II Chars
++@subsection Special Characters
++
++@cindex line comment character, Nios II
++@cindex Nios II line comment character
++@samp{#} is the line comment character.
++
++@cindex line separator character, Nios II
++@cindex Nios II line separator character
++@samp{;} is the line separator character.
++
++
++@node Nios II Relocations
++@section Nios II Machine Relocations
++
++@cindex machine relocations, Nios II
++@cindex Nios II machine relocations
++
++@table @code
++@cindex @code{hiadj} directive, Nios II
++@item %hiadj(@var{expression})
++Extract the upper 16-bits of @var{expression} and add
++one if the 15th bit is set.
++
++The value of %hiadj is:
++((@var{expression} >> 16) & 0xffff) + ((@var{expression} >> 15) & 0x01).
++
++The intention of the @code{%hiadj} relocation is to be used with
++an @code{addi}, @code{ld} or @code{st} instructions
++along with a @code{%lo}.
++
++@smallexample
++movhi r2, %hiadj(symbol)
++addi r2, r2, %lo(symbol)
++@end smallexample
++
++@cindex @code{hi} directive, Nios II
++@item %hi(@var{expression})
++Extract the upper 16-bits of @var{expression}.
++
++
++@cindex @code{lo} directive, Nios II
++@item %lo(@var{expression})
++Extract the lower 16-bits of @var{expression}.
++
++
++@cindex @code{gprel} directive, Nios II
++@item %gprel(@var{expression})
++Subtract the value of the symbol @code{_gp} from
++@var{expression}.
++
++The intention of the @code{%gprel} relocation is
++to have a fast small area of memory which only
++takes a 16-bit immediate to access.
++
++@smallexample
++ .section .sdata
++fastint:
++ .int 123
++ .section .text
++ ldw r4, %gprel(fastint)(gp)
++@end smallexample
++
++
++@end table
++
++
++@node Nios II Directives
++@section Nios II Machine Directives
++
++@cindex machine directives, Nios II
++@cindex Nios II machine directives
++
++@table @code
++
++@cindex @code{align} directive, Nios II
++@item .align @var{expression} [, @var{expression}]
++This is the generic @var{.align} directive, however
++this aligns to a power of two.
++
++@cindex @code{half} directive, Nios II
++@item .half @var{expression}
++Create an aligned constant 2-bytes in size
++
++@cindex @code{word} directive, Nios II
++@item .word @var{expression}
++Create an aligned constant 4-bytes in size
++
++@cindex @code{dword} directive, Nios II
++@item .dword @var{expression}
++Create an aligned constant 8-bytes in size
++
++@cindex @code{2byte} directive, Nios II
++@item .2byte @var{expression}
++Create an un-aligned constant 2-bytes in size
++
++@cindex @code{4byte} directive, Nios II
++@item .4byte @var{expression}
++Create an un-aligned constant 4-bytes in size
++
++@cindex @code{8byte} directive, Nios II
++@item .8byte @var{expression}
++Create an un-aligned constant 8-bytes in size
++
++@cindex @code{16byte} directive, Nios II
++@item .16byte @var{expression}
++Create an un-aligned constant 16-bytes in size
++
++@cindex @code{set noat} directive, Nios II
++@item .set noat
++Allows assembly code to use @code{at} register without
++warning and macro or relaxation expansions will
++generate a warning.
++
++@cindex @code{set at} directive, Nios II
++@item .set at
++Assembly code using @code{at} register will generate
++warnings, and macro expansion and relaxation will be
++enabled.
++
++@cindex @code{set nobreak} directive, Nios II
++@item .set nobreak
++Allows assembly code to use @code{ba}, @code{bt},
++registers without warning.
++
++@cindex @code{set break} directive, Nios II
++@item .set break
++Turns warnings back on for using @code{ba}, @code{bt}
++registers.
++
++@cindex @code{set norelax} directive, Nios II
++@item .set norelax
++Do not replace any branches or calls.
++
++@cindex @code{set relaxsection} directive, Nios II
++@item .set relaxsection
++Replace identified out of range branches with
++@code{jmp} sequences (default).
++
++@cindex @code{set relaxall} directive, Nios II
++@item .set relaxsection
++Replace all branch and call instructions with
++@code{jmp} and @code{callr} sequences.
++
++@cindex @code{set} directive, Nios II
++@item .set @dots{}
++All other @code{.set} are the normal use.
++
++@end table
++
++@node Nios II Opcodes
++@section Opcodes
++
++@cindex Nios II opcodes
++@cindex opcodes for Nios II
++@code{@value{AS}} implements all the standard Nios II opcodes. No
++additional pseudo-instructions are needed on this family.
++
++For information on the Nios II machine instruction set, see the @cite{Nios II
++User's Manual}
++
+--- binutils-2.15/gas/testsuite/gas/macros/irp.s 1999-06-10 15:48:35.000000000 +0200
++++ binutils-2.15-nios2/gas/testsuite/gas/macros/irp.s 2005-05-17 12:20:13.000000000 +0200
+@@ -1,3 +1,4 @@
++ .set norelax
+ .irp param,1,2,3
+ .long foo\param
+ .endr
+--- binutils-2.15/gas/testsuite/gas/macros/rept.s 1999-06-10 15:48:39.000000000 +0200
++++ binutils-2.15-nios2/gas/testsuite/gas/macros/rept.s 2005-05-17 12:20:13.000000000 +0200
+@@ -1,3 +1,4 @@
++ .set norelax
+ .rept 3
+ .long foo1
+ .endr
+--- binutils-2.15/gas/testsuite/gas/macros/test2.s 2004-02-06 17:00:21.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/macros/test2.s 2005-05-17 12:20:13.000000000 +0200
+@@ -1,3 +1,4 @@
++ .set norelax
+ .macro m arg1 arg2 arg3
+ .long \arg1
+ .ifc ,\arg2\arg3
+--- binutils-2.15/gas/testsuite/gas/macros/test3.s 1999-06-10 15:48:44.000000000 +0200
++++ binutils-2.15-nios2/gas/testsuite/gas/macros/test3.s 2005-05-17 12:20:13.000000000 +0200
+@@ -1,3 +1,4 @@
++ .set norelax
+ .macro m arg1 arg2
+ \arg1
+ .exitm
+--- binutils-2.15/gas/testsuite/gas/nios2/add.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/add.d 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,16 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 add
++
++# Test the add instruction
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> add r4,r4,r4
++0+0004 <[^>]*> addi r4,r4,32767
++0+0008 <[^>]*> addi r4,r4,-32768
++0+000c <[^>]*> addi r4,r4,0
++0+0010 <[^>]*> addi r4,r4,-1
++0+0014 <[^>]*> addi r4,r4,-1
++0+0018 <[^>]*> addi r4,r4,13398
++0+001c <[^>]*> nop
+--- binutils-2.15/gas/testsuite/gas/nios2/add.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/add.s 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,13 @@
++# Source file used to test the add and addi instructions.
++
++foo:
++ add r4,r4,r4
++ addi r4,r4,0x7fff
++ addi r4,r4,-0x8000
++ addi r4,r4,0x0
++ addi r4,r4,-0x01
++ subi r4,r4,0x01
++ addi r4,r4,0x3456
++
++# should disassemble to add r0,0,r0
++ nop
+--- binutils-2.15/gas/testsuite/gas/nios2/align_fill.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/align_fill.d 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,23 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 align_fill
++
++# Test the and macro.
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> addi sp,sp,-8
++0+0004 <[^>]*> stw fp,4\(sp\)
++0+0008 <[^>]*> mov fp,sp
++0+000c <[^>]*> mov r3,zero
++0+0010 <[^>]*> nop
++0+0014 <[^>]*> nop
++0+0018 <[^>]*> nop
++0+001c <[^>]*> nop
++0+0020 <[^>]*> addi r3,r3,1
++0+0024 <[^>]*> cmplti r2,r3,100
++0+0028 <[^>]*> bne r2,zero,0+0020 <[^>*]*>
++0+002c <[^>]*> ldw fp,4\(sp\)
++0+0030 <[^>]*> addi sp,sp,8
++0+0034 <[^>]*> ret
++ ...
+--- binutils-2.15/gas/testsuite/gas/nios2/align_fill.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/align_fill.s 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,20 @@
++ .file "a.c"
++ .section .text
++ .align 3
++ .global x
++ .type x, @function
++x:
++ addi sp, sp, -8
++ stw fp, 4(sp)
++ mov fp, sp
++ mov r3, zero
++ .align 5
++.L6:
++ addi r3, r3, 1
++ cmplti r2, r3, 100
++ bne r2, zero, .L6
++ ldw fp, 4(sp)
++ addi sp, sp, 8
++ ret
++ .size x, .-x
++ .ident "GCC: (GNU) 3.3.3 (Altera Nios II 1.0 b302)"
+--- binutils-2.15/gas/testsuite/gas/nios2/align_text.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/align_text.d 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,22 @@
++#objdump: -dr
++#name: NIOS2 align_test
++
++# Test alignment in text sections.
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++00000000 <label-0x20>:
++ 0: 00000000 call 0 <label-0x20>
++ 4: 0001883a nop
++ 8: 0001883a nop
++ c: 0001883a nop
++ 10: 0001883a nop
++ 14: 0001883a nop
++ 18: 0001883a nop
++ 1c: 0001883a nop
++
++00000020 <label>:
++ 20: 0001883a nop
++00000024 <label2>:
++ ...
+\ No newline at end of file
+--- binutils-2.15/gas/testsuite/gas/nios2/align_text.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/align_text.s 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,15 @@
++ .asciz "" # empty string
++ .align 2
++
++ nop
++ nop
++ label:
++ .align 5
++ nop
++ label2:
++ .section mysection
++ .align 2
++
++
++
++
+--- binutils-2.15/gas/testsuite/gas/nios2/and.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/and.d 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,17 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 and
++
++# Test the and macro.
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> and r4,r4,r4
++0+0004 <[^>]*> andi r4,r4,32767
++0+0008 <[^>]*> andi r4,r4,32768
++0+000c <[^>]*> andi r4,r4,65535
++0+0010 <[^>]*> andi r4,r4,0
++0+0014 <[^>]*> andhi r4,r4,32767
++0+0018 <[^>]*> andhi r4,r4,32768
++0+001c <[^>]*> andhi r4,r4,65535
++0+0020 <[^>]*> andhi r4,r4,0
+--- binutils-2.15/gas/testsuite/gas/nios2/and.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/and.s 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,13 @@
++# Source file used to test the and, andhi and andi instructions
++
++foo:
++ and r4,r4,r4
++ andi r4,r4,0x7fff
++ andi r4,r4,0x8000
++ andi r4,r4,0xffff
++ andi r4,r4,0x0
++ andhi r4,r4,0x7fff
++ andhi r4,r4,0x8000
++ andhi r4,r4,0xffff
++ andhi r4,r4,0x0
++
+\ No newline at end of file
+--- binutils-2.15/gas/testsuite/gas/nios2/blt.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/blt.d 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1 @@
++This file is obsolete
+\ No newline at end of file
+--- binutils-2.15/gas/testsuite/gas/nios2/blt.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/blt.s 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1 @@
++This file is obsolete
+\ No newline at end of file
+--- binutils-2.15/gas/testsuite/gas/nios2/branch.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/branch.d 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,16 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 branch
++
++# Test the branch instructions.
++dump.o: file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> beq r4,r5,00000000 <text_label>
++0+0004 <[^>]*> bge r4,r5,00000000 <text_label>
++0+0008 <[^>]*> bgeu r4,r5,00000000 <text_label>
++0+000c <[^>]*> blt r4,r5,00000000 <text_label>
++0+0010 <[^>]*> bltu r4,r5,00000000 <text_label>
++0+0014 <[^>]*> bne r4,r5,00000000 <text_label>
++0+0018 <[^>]*> br 0000001c <text_label\+0x1c>
++[ ]*18: R_NIOS2_PCREL16 external_label
++
+--- binutils-2.15/gas/testsuite/gas/nios2/branch.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/branch.s 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,15 @@
++# Source file used to test the beq macro.
++ .globl text_label
++ .text
++.set norelax
++text_label:
++ beq r4,r5,text_label
++ bge r4,r5,text_label
++ bgeu r4,r5,text_label
++ blt r4,r5,text_label
++ bltu r4,r5,text_label
++ bne r4,r5,text_label
++
++# Branch to an external label.
++ br external_label
++
+--- binutils-2.15/gas/testsuite/gas/nios2/break.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/break.d 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,12 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 break
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> break 0
++0+0004 <[^>]*> break 0
++0+0008 <[^>]*> break 31
++0+000c <[^>]*> break 14
++
++
+--- binutils-2.15/gas/testsuite/gas/nios2/break.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/break.s 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,8 @@
++# Source file used to test the 20-bit break instructions
++foo:
++ break
++ break 0
++ break 31
++ break 14
++
++
+--- binutils-2.15/gas/testsuite/gas/nios2/bret.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/bret.d 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,8 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 bret
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> bret
++
+--- binutils-2.15/gas/testsuite/gas/nios2/bret.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/bret.s 2005-05-17 12:20:13.000000000 +0200
+@@ -0,0 +1,5 @@
++# Source file used to test the bret instructions
++foo:
++ bret
++
++
+--- binutils-2.15/gas/testsuite/gas/nios2/cache.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/cache.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,17 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 cache
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> flushd -32768\(r6\)
++0+0004 <[^>]*> flushd 32767\(r6\)
++0+0008 <[^>]*> flushd 0\(r6\)
++0+000c <[^>]*> flushd -1\(r6\)
++0+0010 <[^>]*> flushd 0\(r6\)
++[ ]*10: R_NIOS2_S16 .text
++0+0014 <[^>]*> flushd 0\(r6\)
++[ ]*14: R_NIOS2_S16 external
++0+0018 <[^>]*> flushi r2
++0+001c <[^>]*> flushp
++
+--- binutils-2.15/gas/testsuite/gas/nios2/cache.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/cache.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,21 @@
++# Source file used to test the cache instruction
++foo:
++ flushd -0x8000(r6)
++ flushd 0x7fff(r6)
++ flushd 0x0(r6)
++ flushd -0x0001(r6)
++
++# use symbol for offset
++ flushd foo(r6)
++
++# use external symbol
++ .global external
++ flushd external(r6)
++
++# flushi
++ flushi r2
++
++#flushp
++ flushp
++
++
+--- binutils-2.15/gas/testsuite/gas/nios2/call.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/call.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,11 @@
++# objdump: -dr --prefix-addresses
++#name: NIOS2 call
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> call 00000000 <foo>
++[ ]*0: R_NIOS2_CALL26 .text\+0xc
++0+0004 <[^>]*> callr r10
++0+0008 <[^>]*> call 00000000 <foo>
++[ ]*8: R_NIOS2_CALL26 external
+--- binutils-2.15/gas/testsuite/gas/nios2/call.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/call.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,13 @@
++# Source file used to test the call and callr instructions
++.text
++.set norelax
++foo:
++ call func1
++ callr r10
++# use external symbol
++ .global external
++ call external
++func1:
++
++
++
+--- binutils-2.15/gas/testsuite/gas/nios2/cmp.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/cmp.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,24 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 cmp
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> cmpeq r11,r2,r3
++0+0004 <[^>]*> cmpge r11,r2,r3
++0+0008 <[^>]*> cmpgeu r11,r2,r3
++0+000c <[^>]*> cmplt r11,r2,r3
++0+0010 <[^>]*> cmpltu r11,r2,r3
++0+0014 <[^>]*> cmpne r11,r2,r3
++0+0018 <[^>]*> cmpgei r11,r2,0
++[ ]*18: R_NIOS2_S16 value
++0+001c <[^>]*> cmpgeui r11,r2,0
++[ ]*1c: R_NIOS2_U16 value\+0x200
++0+0020 <[^>]*> cmplti r11,r2,0
++[ ]*20: R_NIOS2_S16 value
++0+0024 <[^>]*> cmpltui r11,r2,0
++[ ]*24: R_NIOS2_U16 value\+0x200
++0+0028 <[^>]*> cmpgei r11,r2,32767
++0+002c <[^>]*> cmpgeui r11,r2,32768
++0+0030 <[^>]*> cmplti r11,r2,-32768
++0+0034 <[^>]*> cmpltui r11,r2,65535
+\ No newline at end of file
+--- binutils-2.15/gas/testsuite/gas/nios2/cmp.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/cmp.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,22 @@
++# Source file used to test the compare instructions
++foo:
++ cmpeq r11,r2,r3
++ cmpge r11,r2,r3
++ cmpgeu r11,r2,r3
++ cmplt r11,r2,r3
++ cmpltu r11,r2,r3
++ cmpne r11,r2,r3
++# test that cmp generates relocations correctly
++ cmpgei r11,r2,value
++ cmpgeui r11,r2,value+0x200
++ cmplti r11,r2,value
++ cmpltui r11,r2,value+0x200
++
++ cmpgei r11,r2,0x7fff
++ cmpgeui r11,r2,0x8000
++ cmplti r11,r2,-0x8000
++ cmpltui r11,r2,0xFFFF
++.global value
++
++
++
+--- binutils-2.15/gas/testsuite/gas/nios2/comments.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/comments.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,26 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 comments
++
++# Test the add instruction
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> br 0000001c <start>
++0+0004 <[^>]*> br 00000008 <abort>
++0+0008 <[^>]*> movui r3,0
++0+000c <[^>]*> movui r2,1
++0+0010 <[^>]*> movui r3,0
++0+0014 <[^>]*> movui r2,0
++0+0018 <[^>]*> br 00000044 <exit>
++0+001c <[^>]*> addi r2,r2,-4
++0+0020 <[^>]*> movui r11,1
++0+0024 <[^>]*> movui r5,0
++0+0028 <[^>]*> movui r6,0
++0+002c <[^>]*> br 00000030 <ldst>
++0+0030 <[^>]*> movui r2,61452
++0+0034 <[^>]*> movui r20,64206
++0+0038 <[^>]*> stw r20,0\(r2\)
++0+003c <[^>]*> ldw r21,0\(r2\)
++0+0040 <[^>]*> br 00000010 <end>
++0+0044 <[^>]*> br 00000044 <exit>
+--- binutils-2.15/gas/testsuite/gas/nios2/comments.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/comments.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,28 @@
++.set norelax
++_main: br start
++trap:
++ br abort
++.globl _main
++abort: movui r3, 0x0
++ movui r2, 0x1
++
++end: movui r3, 0x0
++ movui r2, 0x0
++ br exit
++
++start:
++ addi r2, r2, -4 # test for ve numbers
++ movui r11, 0x1
++ ori r5, r0, %lo(0x0) # r5 = 0x0
++ ori r6, r0, %lo(0x0) # r6 = 0x0
++ br ldst
++
++ldst:
++ movui r2, 0xF00C
++ movui r20, 0xFACE
++ stw r20,(r2)
++ ldw r21, (r2)
++ br end
++
++
++exit: br exit
+--- binutils-2.15/gas/testsuite/gas/nios2/complex.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/complex.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,12 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 complex
++
++# Test complex expression parsing
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> ldw r2,-1\(r3\)
++0+0004 <[^>]*> ldw r2,1\(r3\)
++0+0008 <[^>]*> ldw r2,0\(r3\)
++ 8: R_NIOS2_S16 stack_top\+0xffffffff
+--- binutils-2.15/gas/testsuite/gas/nios2/complex.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/complex.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,5 @@
++foo:
++ ldw r2, (2-3)(r3)
++ ldw r2, 2 + (2-3)(r3)
++ ldw r2, 2 + (stack_top-3)(r3)
++
+--- binutils-2.15/gas/testsuite/gas/nios2/ctl.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/ctl.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,20 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 ctl
++
++# Test the ctl instructions
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> rdctl r8,ctl31
++0+0004 <[^>]*> rdctl r8,ctl30
++0+0008 <[^>]*> rdctl r8,ctl29
++0+000c <[^>]*> rdctl r8,status
++0+0010 <[^>]*> rdctl r8,bstatus
++0+0014 <[^>]*> rdctl r8,estatus
++0+0018 <[^>]*> wrctl ctl31,r8
++0+001c <[^>]*> wrctl ctl30,r8
++0+0020 <[^>]*> wrctl ctl29,r8
++0+0024 <[^>]*> wrctl status,r8
++0+0028 <[^>]*> wrctl bstatus,r8
++0+002c <[^>]*> wrctl estatus,r8
+--- binutils-2.15/gas/testsuite/gas/nios2/ctl.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/ctl.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,18 @@
++# Source file used to test the nor instruction
++
++foo:
++ rdctl r8,ctl31
++ rdctl r8,ctl30
++ rdctl r8,ctl29
++ rdctl r8,status
++ rdctl r8,bstatus
++ rdctl r8,estatus
++ wrctl ctl31,r8
++ wrctl ctl30,r8
++ wrctl ctl29,r8
++ wrctl status,r8
++ wrctl bstatus,r8
++ wrctl estatus,r8
++
++
++
+--- binutils-2.15/gas/testsuite/gas/nios2/custom.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/custom.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,13 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 custom
++
++# Test the custom instruction
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> custom 0,r11,r2,r3
++0+0004 <[^>]*> custom 255,r11,r2,r3
++0+0008 <[^>]*> custom 150,c1,r2,r3
++0+000c <[^>]*> custom 24,c1,c2,r3
++0+0010 <[^>]*> custom 56,c1,c2,c3
+--- binutils-2.15/gas/testsuite/gas/nios2/custom.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/custom.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,8 @@
++# test progam for assembling user instructions
++
++foo:
++ custom 0, r11, r2, r3
++ custom 255, r11, r2, r3
++ custom 150, c1, r2, r3
++ custom 0x18, c1, c2, r3
++ custom 070, c1, c2, c3
+--- binutils-2.15/gas/testsuite/gas/nios2/etbt.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/etbt.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,10 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 etbt
++
++# Test the et, bt registers
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> add et,bt,r6
++0+0004 <[^>]*> add et,bt,r6
+--- binutils-2.15/gas/testsuite/gas/nios2/etbt.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/etbt.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,4 @@
++.set nobreak
++foo:
++ add r24, r25, r6
++ add et, bt, r6
+--- binutils-2.15/gas/testsuite/gas/nios2/hilo_symbol.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/hilo_symbol.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,3 @@
++.global long_symbol
++.set long_symbol, 0xDEADBEEF
++
+--- binutils-2.15/gas/testsuite/gas/nios2/illegal.l 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/illegal.l 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,14 @@
++.*illegal.s: Assembler messages:
++.*illegal.s:5: Error: unknown register r56
++.*illegal.s:8: Error: expecting \( near 0x1000
++.*illegal.s:8: Error: missing argument
++.*illegal.s:9: Error: expecting \) near r5
++.*illegal.s:10: Error: expecting \( near 0x1000r5\)
++.*illegal.s:10: Error: missing argument
++.*illegal.s:11: Error: expecting \( near 0x1000,r5
++.*illegal.s:11: Error: missing argument
++.*illegal.s:12: Error: unknown register 0x1000
++.*illegal.s:14: Error: unrecognised instruction fop
++.*illegal.s:16: Error: too many arguments
++.*illegal.s:17: Error: too many arguments
++.*illegal.s:17: Error: unknown register r2,r4
+--- binutils-2.15/gas/testsuite/gas/nios2/illegal.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/illegal.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,17 @@
++# Source file used to test illegal operands.
++
++foo:
++# Illegal registers
++ add r3,r4,r56
++ add r4,r0,r2
++# Illegal syntax
++ ldw r4,0x1000
++ ldw r4,0x1000(r5
++ ldw r4,0x1000r5)
++ ldw r4,0x1000,r5
++ ldw r4,(0x1000)r5
++# Illegal opcodes
++ fop r3,r4,r5
++# Extra operands
++ nop Crapola
++ add r2, r2, r2, r4
+--- binutils-2.15/gas/testsuite/gas/nios2/imm5_symbol.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/imm5_symbol.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,4 @@
++.global imm5
++.text
++.byte imm5
++.set imm5, 31
+--- binutils-2.15/gas/testsuite/gas/nios2/jmp.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/jmp.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,10 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 jmp
++
++# Test the jmp instruction.
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> jmp bt
++
+--- binutils-2.15/gas/testsuite/gas/nios2/jmp.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/jmp.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,6 @@
++# Source file used to test the jmp instruction.
++.text
++.set nobreak
++foo:
++ jmp r25
++
+--- binutils-2.15/gas/testsuite/gas/nios2/ldb.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/ldb.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,196 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 ldb
++
++# Test the ld instruction
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> ldb r4,0\(zero\)
++0+0004 <[^>]*> ldb r4,4\(zero\)
++0+0008 <[^>]*> ldb r4,32764\(zero\)
++0+000c <[^>]*> ldb r4,-32768\(zero\)
++0+0010 <[^>]*> ldb r4,0\(r5\)
++0+0014 <[^>]*> ldb r4,4\(r5\)
++0+0018 <[^>]*> ldb r4,32764\(r5\)
++0+001c <[^>]*> ldb r4,-32768\(r5\)
++0+0020 <[^>]*> ldb r4,0\(zero\)
++[ ]*20: R_NIOS2_S16 .data
++0+0024 <[^>]*> ldb r4,0\(zero\)
++[ ]*24: R_NIOS2_S16 big_external_data_label
++0+0028 <[^>]*> ldb r4,0\(zero\)
++[ ]*28: R_NIOS2_S16 small_external_data_label
++0+002c <[^>]*> ldb r4,0\(zero\)
++[ ]*2c: R_NIOS2_S16 big_external_common
++0+0030 <[^>]*> ldb r4,0\(zero\)
++[ ]*30: R_NIOS2_S16 small_external_common
++0+0034 <[^>]*> ldb r4,0\(zero\)
++[ ]*34: R_NIOS2_S16 .bss
++0+0038 <[^>]*> ldb r4,0\(zero\)
++[ ]*38: R_NIOS2_S16 .bss\+0x4000
++0+003c <[^>]*> ldb r4,0\(zero\)
++[ ]*3c: R_NIOS2_S16 .data\+0x4
++0+0040 <[^>]*> ldb r4,0\(zero\)
++[ ]*40: R_NIOS2_S16 big_external_data_label\+0x4
++0+0044 <[^>]*> ldb r4,0\(zero\)
++[ ]*44: R_NIOS2_S16 small_external_data_label\+0x4
++0+0048 <[^>]*> ldb r4,0\(zero\)
++[ ]*48: R_NIOS2_S16 big_external_common\+0x4
++0+004c <[^>]*> ldb r4,0\(zero\)
++[ ]*4c: R_NIOS2_S16 small_external_common\+0x4
++0+0050 <[^>]*> ldb r4,0\(zero\)
++[ ]*50: R_NIOS2_S16 .bss\+0x4
++0+0054 <[^>]*> ldb r4,0\(zero\)
++[ ]*54: R_NIOS2_S16 .bss\+0x4004
++0+0058 <[^>]*> ldb r4,0\(zero\)
++[ ]*58: R_NIOS2_S16 .data\+0xffff8000
++0+005c <[^>]*> ldb r4,0\(zero\)
++[ ]*5c: R_NIOS2_S16 big_external_data_label\+0xffff8000
++0+0060 <[^>]*> ldb r4,0\(zero\)
++[ ]*60: R_NIOS2_S16 small_external_data_label\+0xffff8000
++0+0064 <[^>]*> ldb r4,0\(zero\)
++[ ]*64: R_NIOS2_S16 big_external_common\+0xffff8000
++0+0068 <[^>]*> ldb r4,0\(zero\)
++[ ]*68: R_NIOS2_S16 small_external_common\+0xffff8000
++0+006c <[^>]*> ldb r4,0\(zero\)
++[ ]*6c: R_NIOS2_S16 .bss\+0xffff8000
++0+0070 <[^>]*> ldb r4,0\(zero\)
++[ ]*70: R_NIOS2_S16 .bss\+0xffffc000
++0+0074 <[^>]*> ldb r4,0\(zero\)
++[ ]*74: R_NIOS2_S16 .data\+0x10000
++0+0078 <[^>]*> ldb r4,0\(r5\)
++[ ]*78: R_NIOS2_S16 .data
++0+007c <[^>]*> ldb r4,0\(r5\)
++[ ]*7c: R_NIOS2_S16 big_external_data_label
++0+0080 <[^>]*> ldb r4,0\(r5\)
++[ ]*80: R_NIOS2_S16 small_external_data_label
++0+0084 <[^>]*> ldb r4,0\(r5\)
++[ ]*84: R_NIOS2_S16 big_external_common
++0+0088 <[^>]*> ldb r4,0\(r5\)
++[ ]*88: R_NIOS2_S16 small_external_common
++0+008c <[^>]*> ldb r4,0\(r5\)
++[ ]*8c: R_NIOS2_S16 .bss
++0+0090 <[^>]*> ldb r4,0\(r5\)
++[ ]*90: R_NIOS2_S16 .bss\+0x4000
++0+0094 <[^>]*> ldb r4,0\(r5\)
++[ ]*94: R_NIOS2_S16 .data\+0x4
++0+0098 <[^>]*> ldb r4,0\(r5\)
++[ ]*98: R_NIOS2_S16 big_external_data_label\+0x4
++0+009c <[^>]*> ldb r4,0\(r5\)
++[ ]*9c: R_NIOS2_S16 small_external_data_label\+0x4
++0+00a0 <[^>]*> ldb r4,0\(r5\)
++[ ]*a0: R_NIOS2_S16 big_external_common\+0x4
++0+00a4 <[^>]*> ldb r4,0\(r5\)
++[ ]*a4: R_NIOS2_S16 small_external_common\+0x4
++0+00a8 <[^>]*> ldb r4,0\(r5\)
++[ ]*a8: R_NIOS2_S16 .bss\+0x4
++0+00ac <[^>]*> ldb r4,0\(r5\)
++[ ]*ac: R_NIOS2_S16 .bss\+0x4004
++0+00b0 <[^>]*> ldb r4,0\(r5\)
++[ ]*b0: R_NIOS2_S16 .data\+0xffff8000
++0+00b4 <[^>]*> ldb r4,0\(r5\)
++[ ]*b4: R_NIOS2_S16 big_external_data_label\+0xffff8000
++0+00b8 <[^>]*> ldb r4,0\(r5\)
++[ ]*b8: R_NIOS2_S16 small_external_data_label\+0xffff8000
++0+00bc <[^>]*> ldb r4,0\(r5\)
++[ ]*bc: R_NIOS2_S16 big_external_common\+0xffff8000
++0+00c0 <[^>]*> ldb r4,0\(r5\)
++[ ]*c0: R_NIOS2_S16 small_external_common\+0xffff8000
++0+00c4 <[^>]*> ldb r4,0\(r5\)
++[ ]*c4: R_NIOS2_S16 .bss\+0xffff8000
++0+00c8 <[^>]*> ldb r4,0\(r5\)
++[ ]*c8: R_NIOS2_S16 .bss\+0xffffc000
++0+00cc <[^>]*> ldbio r4,0\(zero\)
++0+00d0 <[^>]*> ldbio r4,4\(zero\)
++0+00d4 <[^>]*> ldbio r4,32764\(zero\)
++0+00d8 <[^>]*> ldbio r4,-32768\(zero\)
++0+00dc <[^>]*> ldbio r4,0\(r5\)
++0+00e0 <[^>]*> ldbio r4,4\(r5\)
++0+00e4 <[^>]*> ldbio r4,32764\(r5\)
++0+00e8 <[^>]*> ldbio r4,-32768\(r5\)
++0+00ec <[^>]*> ldbio r4,0\(zero\)
++[ ]*ec: R_NIOS2_S16 .data
++0+00f0 <[^>]*> ldbio r4,0\(zero\)
++[ ]*f0: R_NIOS2_S16 big_external_data_label
++0+00f4 <[^>]*> ldbio r4,0\(zero\)
++[ ]*f4: R_NIOS2_S16 small_external_data_label
++0+00f8 <[^>]*> ldbio r4,0\(zero\)
++[ ]*f8: R_NIOS2_S16 big_external_common
++0+00fc <[^>]*> ldbio r4,0\(zero\)
++[ ]*fc: R_NIOS2_S16 small_external_common
++0+0100 <[^>]*> ldbio r4,0\(zero\)
++[ ]*100: R_NIOS2_S16 .bss
++0+0104 <[^>]*> ldbio r4,0\(zero\)
++[ ]*104: R_NIOS2_S16 .bss\+0x4000
++0+0108 <[^>]*> ldbio r4,0\(zero\)
++[ ]*108: R_NIOS2_S16 .data\+0x4
++0+010c <[^>]*> ldbio r4,0\(zero\)
++[ ]*10c: R_NIOS2_S16 big_external_data_label\+0x4
++0+0110 <[^>]*> ldbio r4,0\(zero\)
++[ ]*110: R_NIOS2_S16 small_external_data_label\+0x4
++0+0114 <[^>]*> ldbio r4,0\(zero\)
++[ ]*114: R_NIOS2_S16 big_external_common\+0x4
++0+0118 <[^>]*> ldbio r4,0\(zero\)
++[ ]*118: R_NIOS2_S16 small_external_common\+0x4
++0+011c <[^>]*> ldbio r4,0\(zero\)
++[ ]*11c: R_NIOS2_S16 .bss\+0x4
++0+0120 <[^>]*> ldbio r4,0\(zero\)
++[ ]*120: R_NIOS2_S16 .bss\+0x4004
++0+0124 <[^>]*> ldbio r4,0\(zero\)
++[ ]*124: R_NIOS2_S16 .data\+0xffff8000
++0+0128 <[^>]*> ldbio r4,0\(zero\)
++[ ]*128: R_NIOS2_S16 big_external_data_label\+0xffff8000
++0+012c <[^>]*> ldbio r4,0\(zero\)
++[ ]*12c: R_NIOS2_S16 small_external_data_label\+0xffff8000
++0+0130 <[^>]*> ldbio r4,0\(zero\)
++[ ]*130: R_NIOS2_S16 big_external_common\+0xffff8000
++0+0134 <[^>]*> ldbio r4,0\(zero\)
++[ ]*134: R_NIOS2_S16 small_external_common\+0xffff8000
++0+0138 <[^>]*> ldbio r4,0\(zero\)
++[ ]*138: R_NIOS2_S16 .bss\+0xffff8000
++0+013c <[^>]*> ldbio r4,0\(zero\)
++[ ]*13c: R_NIOS2_S16 .bss\+0xffffc000
++0+0140 <[^>]*> ldbio r4,0\(zero\)
++[ ]*140: R_NIOS2_S16 .data\+0x10000
++0+0144 <[^>]*> ldbio r4,0\(r5\)
++[ ]*144: R_NIOS2_S16 .data
++0+0148 <[^>]*> ldbio r4,0\(r5\)
++[ ]*148: R_NIOS2_S16 big_external_data_label
++0+014c <[^>]*> ldbio r4,0\(r5\)
++[ ]*14c: R_NIOS2_S16 small_external_data_label
++0+0150 <[^>]*> ldbio r4,0\(r5\)
++[ ]*150: R_NIOS2_S16 big_external_common
++0+0154 <[^>]*> ldbio r4,0\(r5\)
++[ ]*154: R_NIOS2_S16 small_external_common
++0+0158 <[^>]*> ldbio r4,0\(r5\)
++[ ]*158: R_NIOS2_S16 .bss
++0+015c <[^>]*> ldbio r4,0\(r5\)
++[ ]*15c: R_NIOS2_S16 .bss\+0x4000
++0+0160 <[^>]*> ldbio r4,0\(r5\)
++[ ]*160: R_NIOS2_S16 .data\+0x4
++0+0164 <[^>]*> ldbio r4,0\(r5\)
++[ ]*164: R_NIOS2_S16 big_external_data_label\+0x4
++0+0168 <[^>]*> ldbio r4,0\(r5\)
++[ ]*168: R_NIOS2_S16 small_external_data_label\+0x4
++0+016c <[^>]*> ldbio r4,0\(r5\)
++[ ]*16c: R_NIOS2_S16 big_external_common\+0x4
++0+0170 <[^>]*> ldbio r4,0\(r5\)
++[ ]*170: R_NIOS2_S16 small_external_common\+0x4
++0+0174 <[^>]*> ldbio r4,0\(r5\)
++[ ]*174: R_NIOS2_S16 .bss\+0x4
++0+0178 <[^>]*> ldbio r4,0\(r5\)
++[ ]*178: R_NIOS2_S16 .bss\+0x4004
++0+017c <[^>]*> ldbio r4,0\(r5\)
++[ ]*17c: R_NIOS2_S16 .data\+0xffff8000
++0+0180 <[^>]*> ldbio r4,0\(r5\)
++[ ]*180: R_NIOS2_S16 big_external_data_label\+0xffff8000
++0+0184 <[^>]*> ldbio r4,0\(r5\)
++[ ]*184: R_NIOS2_S16 small_external_data_label\+0xffff8000
++0+0188 <[^>]*> ldbio r4,0\(r5\)
++[ ]*188: R_NIOS2_S16 big_external_common\+0xffff8000
++0+018c <[^>]*> ldbio r4,0\(r5\)
++[ ]*18c: R_NIOS2_S16 small_external_common\+0xffff8000
++0+0190 <[^>]*> ldbio r4,0\(r5\)
++[ ]*190: R_NIOS2_S16 .bss\+0xffff8000
++0+0194 <[^>]*> ldbio r4,0\(r5\)
++[ ]*194: R_NIOS2_S16 .bss\+0xffffc000
+--- binutils-2.15/gas/testsuite/gas/nios2/ldb.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/ldb.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,117 @@
++ .data
++data_label:
++ .extern big_external_data_label,0x4000
++ .extern small_external_data_label,4
++ .comm big_external_common,0x4000
++ .comm small_external_common,4
++ .lcomm big_local_common,0x4000
++ .lcomm small_local_common,4
++
++# the small symbols should have space allocated in the sbss section
++# but this is not yet supported in the assembler, so space is allocated
++# in the .bss section and the relocations are not gp-relative. this will
++# be updated when gp-relative relocations are added
++ .text
++ ldb r4,0(r0)
++ ldb r4,4(r0)
++ ldb r4,0x7ffc(r0)
++ ldb r4,-0x8000(r0)
++ ldb r4,0(r5)
++ ldb r4,4(r5)
++ ldb r4,0x7ffc(r5)
++ ldb r4,-0x8000(r5)
++ ldb r4,data_label(r0)
++ ldb r4,big_external_data_label(r0)
++ ldb r4,small_external_data_label(r0)
++ ldb r4,big_external_common(r0)
++ ldb r4,small_external_common(r0)
++ ldb r4,big_local_common(r0)
++ ldb r4,small_local_common(r0)
++ ldb r4,data_label+4(r0)
++ ldb r4,big_external_data_label+4(r0)
++ ldb r4,small_external_data_label+4(r0)
++ ldb r4,big_external_common+4(r0)
++ ldb r4,small_external_common+4(r0)
++ ldb r4,big_local_common+4(r0)
++ ldb r4,small_local_common+4(r0)
++ ldb r4,data_label-0x8000(r0)
++ ldb r4,big_external_data_label-0x8000(r0)
++ ldb r4,small_external_data_label-0x8000(r0)
++ ldb r4,big_external_common-0x8000(r0)
++ ldb r4,small_external_common-0x8000(r0)
++ ldb r4,big_local_common-0x8000(r0)
++ ldb r4,small_local_common-0x8000(r0)
++ ldb r4,data_label+0x10000(r0)
++ ldb r4,data_label(r5)
++ ldb r4,big_external_data_label(r5)
++ ldb r4,small_external_data_label(r5)
++ ldb r4,big_external_common(r5)
++ ldb r4,small_external_common(r5)
++ ldb r4,big_local_common(r5)
++ ldb r4,small_local_common(r5)
++ ldb r4,data_label+4(r5)
++ ldb r4,big_external_data_label+4(r5)
++ ldb r4,small_external_data_label+4(r5)
++ ldb r4,big_external_common+4(r5)
++ ldb r4,small_external_common+4(r5)
++ ldb r4,big_local_common+4(r5)
++ ldb r4,small_local_common+4(r5)
++ ldb r4,data_label-0x8000(r5)
++ ldb r4,big_external_data_label-0x8000(r5)
++ ldb r4,small_external_data_label-0x8000(r5)
++ ldb r4,big_external_common-0x8000(r5)
++ ldb r4,small_external_common-0x8000(r5)
++ ldb r4,big_local_common-0x8000(r5)
++ ldb r4,small_local_common-0x8000(r5)
++
++ ldbio r4,0(r0)
++ ldbio r4,4(r0)
++ ldbio r4,0x7ffc(r0)
++ ldbio r4,-0x8000(r0)
++ ldbio r4,0(r5)
++ ldbio r4,4(r5)
++ ldbio r4,0x7ffc(r5)
++ ldbio r4,-0x8000(r5)
++ ldbio r4,data_label(r0)
++ ldbio r4,big_external_data_label(r0)
++ ldbio r4,small_external_data_label(r0)
++ ldbio r4,big_external_common(r0)
++ ldbio r4,small_external_common(r0)
++ ldbio r4,big_local_common(r0)
++ ldbio r4,small_local_common(r0)
++ ldbio r4,data_label+4(r0)
++ ldbio r4,big_external_data_label+4(r0)
++ ldbio r4,small_external_data_label+4(r0)
++ ldbio r4,big_external_common+4(r0)
++ ldbio r4,small_external_common+4(r0)
++ ldbio r4,big_local_common+4(r0)
++ ldbio r4,small_local_common+4(r0)
++ ldbio r4,data_label-0x8000(r0)
++ ldbio r4,big_external_data_label-0x8000(r0)
++ ldbio r4,small_external_data_label-0x8000(r0)
++ ldbio r4,big_external_common-0x8000(r0)
++ ldbio r4,small_external_common-0x8000(r0)
++ ldbio r4,big_local_common-0x8000(r0)
++ ldbio r4,small_local_common-0x8000(r0)
++ ldbio r4,data_label+0x10000(r0)
++ ldbio r4,data_label(r5)
++ ldbio r4,big_external_data_label(r5)
++ ldbio r4,small_external_data_label(r5)
++ ldbio r4,big_external_common(r5)
++ ldbio r4,small_external_common(r5)
++ ldbio r4,big_local_common(r5)
++ ldbio r4,small_local_common(r5)
++ ldbio r4,data_label+4(r5)
++ ldbio r4,big_external_data_label+4(r5)
++ ldbio r4,small_external_data_label+4(r5)
++ ldbio r4,big_external_common+4(r5)
++ ldbio r4,small_external_common+4(r5)
++ ldbio r4,big_local_common+4(r5)
++ ldbio r4,small_local_common+4(r5)
++ ldbio r4,data_label-0x8000(r5)
++ ldbio r4,big_external_data_label-0x8000(r5)
++ ldbio r4,small_external_data_label-0x8000(r5)
++ ldbio r4,big_external_common-0x8000(r5)
++ ldbio r4,small_external_common-0x8000(r5)
++ ldbio r4,big_local_common-0x8000(r5)
++ ldbio r4,small_local_common-0x8000(r5)
+--- binutils-2.15/gas/testsuite/gas/nios2/ldh.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/ldh.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,196 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 ldh
++
++# Test the ld instruction
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> ldh r4,0\(zero\)
++0+0004 <[^>]*> ldh r4,4\(zero\)
++0+0008 <[^>]*> ldh r4,32764\(zero\)
++0+000c <[^>]*> ldh r4,-32768\(zero\)
++0+0010 <[^>]*> ldh r4,0\(r5\)
++0+0014 <[^>]*> ldh r4,4\(r5\)
++0+0018 <[^>]*> ldh r4,32764\(r5\)
++0+001c <[^>]*> ldh r4,-32768\(r5\)
++0+0020 <[^>]*> ldh r4,0\(zero\)
++[ ]*20: R_NIOS2_S16 .data
++0+0024 <[^>]*> ldh r4,0\(zero\)
++[ ]*24: R_NIOS2_S16 big_external_data_label
++0+0028 <[^>]*> ldh r4,0\(zero\)
++[ ]*28: R_NIOS2_S16 small_external_data_label
++0+002c <[^>]*> ldh r4,0\(zero\)
++[ ]*2c: R_NIOS2_S16 big_external_common
++0+0030 <[^>]*> ldh r4,0\(zero\)
++[ ]*30: R_NIOS2_S16 small_external_common
++0+0034 <[^>]*> ldh r4,0\(zero\)
++[ ]*34: R_NIOS2_S16 .bss
++0+0038 <[^>]*> ldh r4,0\(zero\)
++[ ]*38: R_NIOS2_S16 .bss\+0x4000
++0+003c <[^>]*> ldh r4,0\(zero\)
++[ ]*3c: R_NIOS2_S16 .data\+0x4
++0+0040 <[^>]*> ldh r4,0\(zero\)
++[ ]*40: R_NIOS2_S16 big_external_data_label\+0x4
++0+0044 <[^>]*> ldh r4,0\(zero\)
++[ ]*44: R_NIOS2_S16 small_external_data_label\+0x4
++0+0048 <[^>]*> ldh r4,0\(zero\)
++[ ]*48: R_NIOS2_S16 big_external_common\+0x4
++0+004c <[^>]*> ldh r4,0\(zero\)
++[ ]*4c: R_NIOS2_S16 small_external_common\+0x4
++0+0050 <[^>]*> ldh r4,0\(zero\)
++[ ]*50: R_NIOS2_S16 .bss\+0x4
++0+0054 <[^>]*> ldh r4,0\(zero\)
++[ ]*54: R_NIOS2_S16 .bss\+0x4004
++0+0058 <[^>]*> ldh r4,0\(zero\)
++[ ]*58: R_NIOS2_S16 .data\+0xffff8000
++0+005c <[^>]*> ldh r4,0\(zero\)
++[ ]*5c: R_NIOS2_S16 big_external_data_label\+0xffff8000
++0+0060 <[^>]*> ldh r4,0\(zero\)
++[ ]*60: R_NIOS2_S16 small_external_data_label\+0xffff8000
++0+0064 <[^>]*> ldh r4,0\(zero\)
++[ ]*64: R_NIOS2_S16 big_external_common\+0xffff8000
++0+0068 <[^>]*> ldh r4,0\(zero\)
++[ ]*68: R_NIOS2_S16 small_external_common\+0xffff8000
++0+006c <[^>]*> ldh r4,0\(zero\)
++[ ]*6c: R_NIOS2_S16 .bss\+0xffff8000
++0+0070 <[^>]*> ldh r4,0\(zero\)
++[ ]*70: R_NIOS2_S16 .bss\+0xffffc000
++0+0074 <[^>]*> ldh r4,0\(zero\)
++[ ]*74: R_NIOS2_S16 .data\+0x10000
++0+0078 <[^>]*> ldh r4,0\(r5\)
++[ ]*78: R_NIOS2_S16 .data
++0+007c <[^>]*> ldh r4,0\(r5\)
++[ ]*7c: R_NIOS2_S16 big_external_data_label
++0+0080 <[^>]*> ldh r4,0\(r5\)
++[ ]*80: R_NIOS2_S16 small_external_data_label
++0+0084 <[^>]*> ldh r4,0\(r5\)
++[ ]*84: R_NIOS2_S16 big_external_common
++0+0088 <[^>]*> ldh r4,0\(r5\)
++[ ]*88: R_NIOS2_S16 small_external_common
++0+008c <[^>]*> ldh r4,0\(r5\)
++[ ]*8c: R_NIOS2_S16 .bss
++0+0090 <[^>]*> ldh r4,0\(r5\)
++[ ]*90: R_NIOS2_S16 .bss\+0x4000
++0+0094 <[^>]*> ldh r4,0\(r5\)
++[ ]*94: R_NIOS2_S16 .data\+0x4
++0+0098 <[^>]*> ldh r4,0\(r5\)
++[ ]*98: R_NIOS2_S16 big_external_data_label\+0x4
++0+009c <[^>]*> ldh r4,0\(r5\)
++[ ]*9c: R_NIOS2_S16 small_external_data_label\+0x4
++0+00a0 <[^>]*> ldh r4,0\(r5\)
++[ ]*a0: R_NIOS2_S16 big_external_common\+0x4
++0+00a4 <[^>]*> ldh r4,0\(r5\)
++[ ]*a4: R_NIOS2_S16 small_external_common\+0x4
++0+00a8 <[^>]*> ldh r4,0\(r5\)
++[ ]*a8: R_NIOS2_S16 .bss\+0x4
++0+00ac <[^>]*> ldh r4,0\(r5\)
++[ ]*ac: R_NIOS2_S16 .bss\+0x4004
++0+00b0 <[^>]*> ldh r4,0\(r5\)
++[ ]*b0: R_NIOS2_S16 .data\+0xffff8000
++0+00b4 <[^>]*> ldh r4,0\(r5\)
++[ ]*b4: R_NIOS2_S16 big_external_data_label\+0xffff8000
++0+00b8 <[^>]*> ldh r4,0\(r5\)
++[ ]*b8: R_NIOS2_S16 small_external_data_label\+0xffff8000
++0+00bc <[^>]*> ldh r4,0\(r5\)
++[ ]*bc: R_NIOS2_S16 big_external_common\+0xffff8000
++0+00c0 <[^>]*> ldh r4,0\(r5\)
++[ ]*c0: R_NIOS2_S16 small_external_common\+0xffff8000
++0+00c4 <[^>]*> ldh r4,0\(r5\)
++[ ]*c4: R_NIOS2_S16 .bss\+0xffff8000
++0+00c8 <[^>]*> ldh r4,0\(r5\)
++[ ]*c8: R_NIOS2_S16 .bss\+0xffffc000
++0+00cc <[^>]*> ldhio r4,0\(zero\)
++0+00d0 <[^>]*> ldhio r4,4\(zero\)
++0+00d4 <[^>]*> ldhio r4,32764\(zero\)
++0+00d8 <[^>]*> ldhio r4,-32768\(zero\)
++0+00dc <[^>]*> ldhio r4,0\(r5\)
++0+00e0 <[^>]*> ldhio r4,4\(r5\)
++0+00e4 <[^>]*> ldhio r4,32764\(r5\)
++0+00e8 <[^>]*> ldhio r4,-32768\(r5\)
++0+00ec <[^>]*> ldhio r4,0\(zero\)
++[ ]*ec: R_NIOS2_S16 .data
++0+00f0 <[^>]*> ldhio r4,0\(zero\)
++[ ]*f0: R_NIOS2_S16 big_external_data_label
++0+00f4 <[^>]*> ldhio r4,0\(zero\)
++[ ]*f4: R_NIOS2_S16 small_external_data_label
++0+00f8 <[^>]*> ldhio r4,0\(zero\)
++[ ]*f8: R_NIOS2_S16 big_external_common
++0+00fc <[^>]*> ldhio r4,0\(zero\)
++[ ]*fc: R_NIOS2_S16 small_external_common
++0+0100 <[^>]*> ldhio r4,0\(zero\)
++[ ]*100: R_NIOS2_S16 .bss
++0+0104 <[^>]*> ldhio r4,0\(zero\)
++[ ]*104: R_NIOS2_S16 .bss\+0x4000
++0+0108 <[^>]*> ldhio r4,0\(zero\)
++[ ]*108: R_NIOS2_S16 .data\+0x4
++0+010c <[^>]*> ldhio r4,0\(zero\)
++[ ]*10c: R_NIOS2_S16 big_external_data_label\+0x4
++0+0110 <[^>]*> ldhio r4,0\(zero\)
++[ ]*110: R_NIOS2_S16 small_external_data_label\+0x4
++0+0114 <[^>]*> ldhio r4,0\(zero\)
++[ ]*114: R_NIOS2_S16 big_external_common\+0x4
++0+0118 <[^>]*> ldhio r4,0\(zero\)
++[ ]*118: R_NIOS2_S16 small_external_common\+0x4
++0+011c <[^>]*> ldhio r4,0\(zero\)
++[ ]*11c: R_NIOS2_S16 .bss\+0x4
++0+0120 <[^>]*> ldhio r4,0\(zero\)
++[ ]*120: R_NIOS2_S16 .bss\+0x4004
++0+0124 <[^>]*> ldhio r4,0\(zero\)
++[ ]*124: R_NIOS2_S16 .data\+0xffff8000
++0+0128 <[^>]*> ldhio r4,0\(zero\)
++[ ]*128: R_NIOS2_S16 big_external_data_label\+0xffff8000
++0+012c <[^>]*> ldhio r4,0\(zero\)
++[ ]*12c: R_NIOS2_S16 small_external_data_label\+0xffff8000
++0+0130 <[^>]*> ldhio r4,0\(zero\)
++[ ]*130: R_NIOS2_S16 big_external_common\+0xffff8000
++0+0134 <[^>]*> ldhio r4,0\(zero\)
++[ ]*134: R_NIOS2_S16 small_external_common\+0xffff8000
++0+0138 <[^>]*> ldhio r4,0\(zero\)
++[ ]*138: R_NIOS2_S16 .bss\+0xffff8000
++0+013c <[^>]*> ldhio r4,0\(zero\)
++[ ]*13c: R_NIOS2_S16 .bss\+0xffffc000
++0+0140 <[^>]*> ldhio r4,0\(zero\)
++[ ]*140: R_NIOS2_S16 .data\+0x10000
++0+0144 <[^>]*> ldhio r4,0\(r5\)
++[ ]*144: R_NIOS2_S16 .data
++0+0148 <[^>]*> ldhio r4,0\(r5\)
++[ ]*148: R_NIOS2_S16 big_external_data_label
++0+014c <[^>]*> ldhio r4,0\(r5\)
++[ ]*14c: R_NIOS2_S16 small_external_data_label
++0+0150 <[^>]*> ldhio r4,0\(r5\)
++[ ]*150: R_NIOS2_S16 big_external_common
++0+0154 <[^>]*> ldhio r4,0\(r5\)
++[ ]*154: R_NIOS2_S16 small_external_common
++0+0158 <[^>]*> ldhio r4,0\(r5\)
++[ ]*158: R_NIOS2_S16 .bss
++0+015c <[^>]*> ldhio r4,0\(r5\)
++[ ]*15c: R_NIOS2_S16 .bss\+0x4000
++0+0160 <[^>]*> ldhio r4,0\(r5\)
++[ ]*160: R_NIOS2_S16 .data\+0x4
++0+0164 <[^>]*> ldhio r4,0\(r5\)
++[ ]*164: R_NIOS2_S16 big_external_data_label\+0x4
++0+0168 <[^>]*> ldhio r4,0\(r5\)
++[ ]*168: R_NIOS2_S16 small_external_data_label\+0x4
++0+016c <[^>]*> ldhio r4,0\(r5\)
++[ ]*16c: R_NIOS2_S16 big_external_common\+0x4
++0+0170 <[^>]*> ldhio r4,0\(r5\)
++[ ]*170: R_NIOS2_S16 small_external_common\+0x4
++0+0174 <[^>]*> ldhio r4,0\(r5\)
++[ ]*174: R_NIOS2_S16 .bss\+0x4
++0+0178 <[^>]*> ldhio r4,0\(r5\)
++[ ]*178: R_NIOS2_S16 .bss\+0x4004
++0+017c <[^>]*> ldhio r4,0\(r5\)
++[ ]*17c: R_NIOS2_S16 .data\+0xffff8000
++0+0180 <[^>]*> ldhio r4,0\(r5\)
++[ ]*180: R_NIOS2_S16 big_external_data_label\+0xffff8000
++0+0184 <[^>]*> ldhio r4,0\(r5\)
++[ ]*184: R_NIOS2_S16 small_external_data_label\+0xffff8000
++0+0188 <[^>]*> ldhio r4,0\(r5\)
++[ ]*188: R_NIOS2_S16 big_external_common\+0xffff8000
++0+018c <[^>]*> ldhio r4,0\(r5\)
++[ ]*18c: R_NIOS2_S16 small_external_common\+0xffff8000
++0+0190 <[^>]*> ldhio r4,0\(r5\)
++[ ]*190: R_NIOS2_S16 .bss\+0xffff8000
++0+0194 <[^>]*> ldhio r4,0\(r5\)
++[ ]*194: R_NIOS2_S16 .bss\+0xffffc000
+--- binutils-2.15/gas/testsuite/gas/nios2/ldh.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/ldh.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,117 @@
++ .data
++data_label:
++ .extern big_external_data_label,0x4000
++ .extern small_external_data_label,4
++ .comm big_external_common,0x4000
++ .comm small_external_common,4
++ .lcomm big_local_common,0x4000
++ .lcomm small_local_common,4
++
++# the small symbols should have space allocated in the sbss section
++# but this is not yet supported in the assembler, so space is allocated
++# in the .bss section and the relocations are not gp-relative. this will
++# be updated when gp-relative relocations are added
++ .text
++ ldh r4,0(r0)
++ ldh r4,4(r0)
++ ldh r4,0x7ffc(r0)
++ ldh r4,-0x8000(r0)
++ ldh r4,0(r5)
++ ldh r4,4(r5)
++ ldh r4,0x7ffc(r5)
++ ldh r4,-0x8000(r5)
++ ldh r4,data_label(r0)
++ ldh r4,big_external_data_label(r0)
++ ldh r4,small_external_data_label(r0)
++ ldh r4,big_external_common(r0)
++ ldh r4,small_external_common(r0)
++ ldh r4,big_local_common(r0)
++ ldh r4,small_local_common(r0)
++ ldh r4,data_label+4(r0)
++ ldh r4,big_external_data_label+4(r0)
++ ldh r4,small_external_data_label+4(r0)
++ ldh r4,big_external_common+4(r0)
++ ldh r4,small_external_common+4(r0)
++ ldh r4,big_local_common+4(r0)
++ ldh r4,small_local_common+4(r0)
++ ldh r4,data_label-0x8000(r0)
++ ldh r4,big_external_data_label-0x8000(r0)
++ ldh r4,small_external_data_label-0x8000(r0)
++ ldh r4,big_external_common-0x8000(r0)
++ ldh r4,small_external_common-0x8000(r0)
++ ldh r4,big_local_common-0x8000(r0)
++ ldh r4,small_local_common-0x8000(r0)
++ ldh r4,data_label+0x10000(r0)
++ ldh r4,data_label(r5)
++ ldh r4,big_external_data_label(r5)
++ ldh r4,small_external_data_label(r5)
++ ldh r4,big_external_common(r5)
++ ldh r4,small_external_common(r5)
++ ldh r4,big_local_common(r5)
++ ldh r4,small_local_common(r5)
++ ldh r4,data_label+4(r5)
++ ldh r4,big_external_data_label+4(r5)
++ ldh r4,small_external_data_label+4(r5)
++ ldh r4,big_external_common+4(r5)
++ ldh r4,small_external_common+4(r5)
++ ldh r4,big_local_common+4(r5)
++ ldh r4,small_local_common+4(r5)
++ ldh r4,data_label-0x8000(r5)
++ ldh r4,big_external_data_label-0x8000(r5)
++ ldh r4,small_external_data_label-0x8000(r5)
++ ldh r4,big_external_common-0x8000(r5)
++ ldh r4,small_external_common-0x8000(r5)
++ ldh r4,big_local_common-0x8000(r5)
++ ldh r4,small_local_common-0x8000(r5)
++
++ ldhio r4,0(r0)
++ ldhio r4,4(r0)
++ ldhio r4,0x7ffc(r0)
++ ldhio r4,-0x8000(r0)
++ ldhio r4,0(r5)
++ ldhio r4,4(r5)
++ ldhio r4,0x7ffc(r5)
++ ldhio r4,-0x8000(r5)
++ ldhio r4,data_label(r0)
++ ldhio r4,big_external_data_label(r0)
++ ldhio r4,small_external_data_label(r0)
++ ldhio r4,big_external_common(r0)
++ ldhio r4,small_external_common(r0)
++ ldhio r4,big_local_common(r0)
++ ldhio r4,small_local_common(r0)
++ ldhio r4,data_label+4(r0)
++ ldhio r4,big_external_data_label+4(r0)
++ ldhio r4,small_external_data_label+4(r0)
++ ldhio r4,big_external_common+4(r0)
++ ldhio r4,small_external_common+4(r0)
++ ldhio r4,big_local_common+4(r0)
++ ldhio r4,small_local_common+4(r0)
++ ldhio r4,data_label-0x8000(r0)
++ ldhio r4,big_external_data_label-0x8000(r0)
++ ldhio r4,small_external_data_label-0x8000(r0)
++ ldhio r4,big_external_common-0x8000(r0)
++ ldhio r4,small_external_common-0x8000(r0)
++ ldhio r4,big_local_common-0x8000(r0)
++ ldhio r4,small_local_common-0x8000(r0)
++ ldhio r4,data_label+0x10000(r0)
++ ldhio r4,data_label(r5)
++ ldhio r4,big_external_data_label(r5)
++ ldhio r4,small_external_data_label(r5)
++ ldhio r4,big_external_common(r5)
++ ldhio r4,small_external_common(r5)
++ ldhio r4,big_local_common(r5)
++ ldhio r4,small_local_common(r5)
++ ldhio r4,data_label+4(r5)
++ ldhio r4,big_external_data_label+4(r5)
++ ldhio r4,small_external_data_label+4(r5)
++ ldhio r4,big_external_common+4(r5)
++ ldhio r4,small_external_common+4(r5)
++ ldhio r4,big_local_common+4(r5)
++ ldhio r4,small_local_common+4(r5)
++ ldhio r4,data_label-0x8000(r5)
++ ldhio r4,big_external_data_label-0x8000(r5)
++ ldhio r4,small_external_data_label-0x8000(r5)
++ ldhio r4,big_external_common-0x8000(r5)
++ ldhio r4,small_external_common-0x8000(r5)
++ ldhio r4,big_local_common-0x8000(r5)
++ ldhio r4,small_local_common-0x8000(r5)
+--- binutils-2.15/gas/testsuite/gas/nios2/ldw.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/ldw.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,196 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 ldw
++
++# Test the ld instruction
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> ldw r4,0\(zero\)
++0+0004 <[^>]*> ldw r4,4\(zero\)
++0+0008 <[^>]*> ldw r4,32764\(zero\)
++0+000c <[^>]*> ldw r4,-32768\(zero\)
++0+0010 <[^>]*> ldw r4,0\(r5\)
++0+0014 <[^>]*> ldw r4,4\(r5\)
++0+0018 <[^>]*> ldw r4,32764\(r5\)
++0+001c <[^>]*> ldw r4,-32768\(r5\)
++0+0020 <[^>]*> ldw r4,0\(zero\)
++[ ]*20: R_NIOS2_S16 .data
++0+0024 <[^>]*> ldw r4,0\(zero\)
++[ ]*24: R_NIOS2_S16 big_external_data_label
++0+0028 <[^>]*> ldw r4,0\(zero\)
++[ ]*28: R_NIOS2_S16 small_external_data_label
++0+002c <[^>]*> ldw r4,0\(zero\)
++[ ]*2c: R_NIOS2_S16 big_external_common
++0+0030 <[^>]*> ldw r4,0\(zero\)
++[ ]*30: R_NIOS2_S16 small_external_common
++0+0034 <[^>]*> ldw r4,0\(zero\)
++[ ]*34: R_NIOS2_S16 .bss
++0+0038 <[^>]*> ldw r4,0\(zero\)
++[ ]*38: R_NIOS2_S16 .bss\+0x4000
++0+003c <[^>]*> ldw r4,0\(zero\)
++[ ]*3c: R_NIOS2_S16 .data\+0x4
++0+0040 <[^>]*> ldw r4,0\(zero\)
++[ ]*40: R_NIOS2_S16 big_external_data_label\+0x4
++0+0044 <[^>]*> ldw r4,0\(zero\)
++[ ]*44: R_NIOS2_S16 small_external_data_label\+0x4
++0+0048 <[^>]*> ldw r4,0\(zero\)
++[ ]*48: R_NIOS2_S16 big_external_common\+0x4
++0+004c <[^>]*> ldw r4,0\(zero\)
++[ ]*4c: R_NIOS2_S16 small_external_common\+0x4
++0+0050 <[^>]*> ldw r4,0\(zero\)
++[ ]*50: R_NIOS2_S16 .bss\+0x4
++0+0054 <[^>]*> ldw r4,0\(zero\)
++[ ]*54: R_NIOS2_S16 .bss\+0x4004
++0+0058 <[^>]*> ldw r4,0\(zero\)
++[ ]*58: R_NIOS2_S16 .data\+0xffff8000
++0+005c <[^>]*> ldw r4,0\(zero\)
++[ ]*5c: R_NIOS2_S16 big_external_data_label\+0xffff8000
++0+0060 <[^>]*> ldw r4,0\(zero\)
++[ ]*60: R_NIOS2_S16 small_external_data_label\+0xffff8000
++0+0064 <[^>]*> ldw r4,0\(zero\)
++[ ]*64: R_NIOS2_S16 big_external_common\+0xffff8000
++0+0068 <[^>]*> ldw r4,0\(zero\)
++[ ]*68: R_NIOS2_S16 small_external_common\+0xffff8000
++0+006c <[^>]*> ldw r4,0\(zero\)
++[ ]*6c: R_NIOS2_S16 .bss\+0xffff8000
++0+0070 <[^>]*> ldw r4,0\(zero\)
++[ ]*70: R_NIOS2_S16 .bss\+0xffffc000
++0+0074 <[^>]*> ldw r4,0\(zero\)
++[ ]*74: R_NIOS2_S16 .data\+0x10000
++0+0078 <[^>]*> ldw r4,0\(r5\)
++[ ]*78: R_NIOS2_S16 .data
++0+007c <[^>]*> ldw r4,0\(r5\)
++[ ]*7c: R_NIOS2_S16 big_external_data_label
++0+0080 <[^>]*> ldw r4,0\(r5\)
++[ ]*80: R_NIOS2_S16 small_external_data_label
++0+0084 <[^>]*> ldw r4,0\(r5\)
++[ ]*84: R_NIOS2_S16 big_external_common
++0+0088 <[^>]*> ldw r4,0\(r5\)
++[ ]*88: R_NIOS2_S16 small_external_common
++0+008c <[^>]*> ldw r4,0\(r5\)
++[ ]*8c: R_NIOS2_S16 .bss
++0+0090 <[^>]*> ldw r4,0\(r5\)
++[ ]*90: R_NIOS2_S16 .bss\+0x4000
++0+0094 <[^>]*> ldw r4,0\(r5\)
++[ ]*94: R_NIOS2_S16 .data\+0x4
++0+0098 <[^>]*> ldw r4,0\(r5\)
++[ ]*98: R_NIOS2_S16 big_external_data_label\+0x4
++0+009c <[^>]*> ldw r4,0\(r5\)
++[ ]*9c: R_NIOS2_S16 small_external_data_label\+0x4
++0+00a0 <[^>]*> ldw r4,0\(r5\)
++[ ]*a0: R_NIOS2_S16 big_external_common\+0x4
++0+00a4 <[^>]*> ldw r4,0\(r5\)
++[ ]*a4: R_NIOS2_S16 small_external_common\+0x4
++0+00a8 <[^>]*> ldw r4,0\(r5\)
++[ ]*a8: R_NIOS2_S16 .bss\+0x4
++0+00ac <[^>]*> ldw r4,0\(r5\)
++[ ]*ac: R_NIOS2_S16 .bss\+0x4004
++0+00b0 <[^>]*> ldw r4,0\(r5\)
++[ ]*b0: R_NIOS2_S16 .data\+0xffff8000
++0+00b4 <[^>]*> ldw r4,0\(r5\)
++[ ]*b4: R_NIOS2_S16 big_external_data_label\+0xffff8000
++0+00b8 <[^>]*> ldw r4,0\(r5\)
++[ ]*b8: R_NIOS2_S16 small_external_data_label\+0xffff8000
++0+00bc <[^>]*> ldw r4,0\(r5\)
++[ ]*bc: R_NIOS2_S16 big_external_common\+0xffff8000
++0+00c0 <[^>]*> ldw r4,0\(r5\)
++[ ]*c0: R_NIOS2_S16 small_external_common\+0xffff8000
++0+00c4 <[^>]*> ldw r4,0\(r5\)
++[ ]*c4: R_NIOS2_S16 .bss\+0xffff8000
++0+00c8 <[^>]*> ldw r4,0\(r5\)
++[ ]*c8: R_NIOS2_S16 .bss\+0xffffc000
++0+00cc <[^>]*> ldwio r4,0\(zero\)
++0+00d0 <[^>]*> ldwio r4,4\(zero\)
++0+00d4 <[^>]*> ldwio r4,32764\(zero\)
++0+00d8 <[^>]*> ldwio r4,-32768\(zero\)
++0+00dc <[^>]*> ldwio r4,0\(r5\)
++0+00e0 <[^>]*> ldwio r4,4\(r5\)
++0+00e4 <[^>]*> ldwio r4,32764\(r5\)
++0+00e8 <[^>]*> ldwio r4,-32768\(r5\)
++0+00ec <[^>]*> ldwio r4,0\(zero\)
++[ ]*ec: R_NIOS2_S16 .data
++0+00f0 <[^>]*> ldwio r4,0\(zero\)
++[ ]*f0: R_NIOS2_S16 big_external_data_label
++0+00f4 <[^>]*> ldwio r4,0\(zero\)
++[ ]*f4: R_NIOS2_S16 small_external_data_label
++0+00f8 <[^>]*> ldwio r4,0\(zero\)
++[ ]*f8: R_NIOS2_S16 big_external_common
++0+00fc <[^>]*> ldwio r4,0\(zero\)
++[ ]*fc: R_NIOS2_S16 small_external_common
++0+0100 <[^>]*> ldwio r4,0\(zero\)
++[ ]*100: R_NIOS2_S16 .bss
++0+0104 <[^>]*> ldwio r4,0\(zero\)
++[ ]*104: R_NIOS2_S16 .bss\+0x4000
++0+0108 <[^>]*> ldwio r4,0\(zero\)
++[ ]*108: R_NIOS2_S16 .data\+0x4
++0+010c <[^>]*> ldwio r4,0\(zero\)
++[ ]*10c: R_NIOS2_S16 big_external_data_label\+0x4
++0+0110 <[^>]*> ldwio r4,0\(zero\)
++[ ]*110: R_NIOS2_S16 small_external_data_label\+0x4
++0+0114 <[^>]*> ldwio r4,0\(zero\)
++[ ]*114: R_NIOS2_S16 big_external_common\+0x4
++0+0118 <[^>]*> ldwio r4,0\(zero\)
++[ ]*118: R_NIOS2_S16 small_external_common\+0x4
++0+011c <[^>]*> ldwio r4,0\(zero\)
++[ ]*11c: R_NIOS2_S16 .bss\+0x4
++0+0120 <[^>]*> ldwio r4,0\(zero\)
++[ ]*120: R_NIOS2_S16 .bss\+0x4004
++0+0124 <[^>]*> ldwio r4,0\(zero\)
++[ ]*124: R_NIOS2_S16 .data\+0xffff8000
++0+0128 <[^>]*> ldwio r4,0\(zero\)
++[ ]*128: R_NIOS2_S16 big_external_data_label\+0xffff8000
++0+012c <[^>]*> ldwio r4,0\(zero\)
++[ ]*12c: R_NIOS2_S16 small_external_data_label\+0xffff8000
++0+0130 <[^>]*> ldwio r4,0\(zero\)
++[ ]*130: R_NIOS2_S16 big_external_common\+0xffff8000
++0+0134 <[^>]*> ldwio r4,0\(zero\)
++[ ]*134: R_NIOS2_S16 small_external_common\+0xffff8000
++0+0138 <[^>]*> ldwio r4,0\(zero\)
++[ ]*138: R_NIOS2_S16 .bss\+0xffff8000
++0+013c <[^>]*> ldwio r4,0\(zero\)
++[ ]*13c: R_NIOS2_S16 .bss\+0xffffc000
++0+0140 <[^>]*> ldwio r4,0\(zero\)
++[ ]*140: R_NIOS2_S16 .data\+0x10000
++0+0144 <[^>]*> ldwio r4,0\(r5\)
++[ ]*144: R_NIOS2_S16 .data
++0+0148 <[^>]*> ldwio r4,0\(r5\)
++[ ]*148: R_NIOS2_S16 big_external_data_label
++0+014c <[^>]*> ldwio r4,0\(r5\)
++[ ]*14c: R_NIOS2_S16 small_external_data_label
++0+0150 <[^>]*> ldwio r4,0\(r5\)
++[ ]*150: R_NIOS2_S16 big_external_common
++0+0154 <[^>]*> ldwio r4,0\(r5\)
++[ ]*154: R_NIOS2_S16 small_external_common
++0+0158 <[^>]*> ldwio r4,0\(r5\)
++[ ]*158: R_NIOS2_S16 .bss
++0+015c <[^>]*> ldwio r4,0\(r5\)
++[ ]*15c: R_NIOS2_S16 .bss\+0x4000
++0+0160 <[^>]*> ldwio r4,0\(r5\)
++[ ]*160: R_NIOS2_S16 .data\+0x4
++0+0164 <[^>]*> ldwio r4,0\(r5\)
++[ ]*164: R_NIOS2_S16 big_external_data_label\+0x4
++0+0168 <[^>]*> ldwio r4,0\(r5\)
++[ ]*168: R_NIOS2_S16 small_external_data_label\+0x4
++0+016c <[^>]*> ldwio r4,0\(r5\)
++[ ]*16c: R_NIOS2_S16 big_external_common\+0x4
++0+0170 <[^>]*> ldwio r4,0\(r5\)
++[ ]*170: R_NIOS2_S16 small_external_common\+0x4
++0+0174 <[^>]*> ldwio r4,0\(r5\)
++[ ]*174: R_NIOS2_S16 .bss\+0x4
++0+0178 <[^>]*> ldwio r4,0\(r5\)
++[ ]*178: R_NIOS2_S16 .bss\+0x4004
++0+017c <[^>]*> ldwio r4,0\(r5\)
++[ ]*17c: R_NIOS2_S16 .data\+0xffff8000
++0+0180 <[^>]*> ldwio r4,0\(r5\)
++[ ]*180: R_NIOS2_S16 big_external_data_label\+0xffff8000
++0+0184 <[^>]*> ldwio r4,0\(r5\)
++[ ]*184: R_NIOS2_S16 small_external_data_label\+0xffff8000
++0+0188 <[^>]*> ldwio r4,0\(r5\)
++[ ]*188: R_NIOS2_S16 big_external_common\+0xffff8000
++0+018c <[^>]*> ldwio r4,0\(r5\)
++[ ]*18c: R_NIOS2_S16 small_external_common\+0xffff8000
++0+0190 <[^>]*> ldwio r4,0\(r5\)
++[ ]*190: R_NIOS2_S16 .bss\+0xffff8000
++0+0194 <[^>]*> ldwio r4,0\(r5\)
++[ ]*194: R_NIOS2_S16 .bss\+0xffffc000
+--- binutils-2.15/gas/testsuite/gas/nios2/ldw.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/ldw.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,117 @@
++ .data
++data_label:
++ .extern big_external_data_label,0x4000
++ .extern small_external_data_label,4
++ .comm big_external_common,0x4000
++ .comm small_external_common,4
++ .lcomm big_local_common,0x4000
++ .lcomm small_local_common,4
++
++# the small symbols should have space allocated in the sbss section
++# but this is not yet supported in the assembler, so space is allocated
++# in the .bss section and the relocations are not gp-relative. this will
++# be updated when gp-relative relocations are added
++ .text
++ ldw r4,0(r0)
++ ldw r4,4(r0)
++ ldw r4,0x7ffc(r0)
++ ldw r4,-0x8000(r0)
++ ldw r4,0(r5)
++ ldw r4,4(r5)
++ ldw r4,0x7ffc(r5)
++ ldw r4,-0x8000(r5)
++ ldw r4,data_label(r0)
++ ldw r4,big_external_data_label(r0)
++ ldw r4,small_external_data_label(r0)
++ ldw r4,big_external_common(r0)
++ ldw r4,small_external_common(r0)
++ ldw r4,big_local_common(r0)
++ ldw r4,small_local_common(r0)
++ ldw r4,data_label+4(r0)
++ ldw r4,big_external_data_label+4(r0)
++ ldw r4,small_external_data_label+4(r0)
++ ldw r4,big_external_common+4(r0)
++ ldw r4,small_external_common+4(r0)
++ ldw r4,big_local_common+4(r0)
++ ldw r4,small_local_common+4(r0)
++ ldw r4,data_label-0x8000(r0)
++ ldw r4,big_external_data_label-0x8000(r0)
++ ldw r4,small_external_data_label-0x8000(r0)
++ ldw r4,big_external_common-0x8000(r0)
++ ldw r4,small_external_common-0x8000(r0)
++ ldw r4,big_local_common-0x8000(r0)
++ ldw r4,small_local_common-0x8000(r0)
++ ldw r4,data_label+0x10000(r0)
++ ldw r4,data_label(r5)
++ ldw r4,big_external_data_label(r5)
++ ldw r4,small_external_data_label(r5)
++ ldw r4,big_external_common(r5)
++ ldw r4,small_external_common(r5)
++ ldw r4,big_local_common(r5)
++ ldw r4,small_local_common(r5)
++ ldw r4,data_label+4(r5)
++ ldw r4,big_external_data_label+4(r5)
++ ldw r4,small_external_data_label+4(r5)
++ ldw r4,big_external_common+4(r5)
++ ldw r4,small_external_common+4(r5)
++ ldw r4,big_local_common+4(r5)
++ ldw r4,small_local_common+4(r5)
++ ldw r4,data_label-0x8000(r5)
++ ldw r4,big_external_data_label-0x8000(r5)
++ ldw r4,small_external_data_label-0x8000(r5)
++ ldw r4,big_external_common-0x8000(r5)
++ ldw r4,small_external_common-0x8000(r5)
++ ldw r4,big_local_common-0x8000(r5)
++ ldw r4,small_local_common-0x8000(r5)
++
++ ldwio r4,0(r0)
++ ldwio r4,4(r0)
++ ldwio r4,0x7ffc(r0)
++ ldwio r4,-0x8000(r0)
++ ldwio r4,0(r5)
++ ldwio r4,4(r5)
++ ldwio r4,0x7ffc(r5)
++ ldwio r4,-0x8000(r5)
++ ldwio r4,data_label(r0)
++ ldwio r4,big_external_data_label(r0)
++ ldwio r4,small_external_data_label(r0)
++ ldwio r4,big_external_common(r0)
++ ldwio r4,small_external_common(r0)
++ ldwio r4,big_local_common(r0)
++ ldwio r4,small_local_common(r0)
++ ldwio r4,data_label+4(r0)
++ ldwio r4,big_external_data_label+4(r0)
++ ldwio r4,small_external_data_label+4(r0)
++ ldwio r4,big_external_common+4(r0)
++ ldwio r4,small_external_common+4(r0)
++ ldwio r4,big_local_common+4(r0)
++ ldwio r4,small_local_common+4(r0)
++ ldwio r4,data_label-0x8000(r0)
++ ldwio r4,big_external_data_label-0x8000(r0)
++ ldwio r4,small_external_data_label-0x8000(r0)
++ ldwio r4,big_external_common-0x8000(r0)
++ ldwio r4,small_external_common-0x8000(r0)
++ ldwio r4,big_local_common-0x8000(r0)
++ ldwio r4,small_local_common-0x8000(r0)
++ ldwio r4,data_label+0x10000(r0)
++ ldwio r4,data_label(r5)
++ ldwio r4,big_external_data_label(r5)
++ ldwio r4,small_external_data_label(r5)
++ ldwio r4,big_external_common(r5)
++ ldwio r4,small_external_common(r5)
++ ldwio r4,big_local_common(r5)
++ ldwio r4,small_local_common(r5)
++ ldwio r4,data_label+4(r5)
++ ldwio r4,big_external_data_label+4(r5)
++ ldwio r4,small_external_data_label+4(r5)
++ ldwio r4,big_external_common+4(r5)
++ ldwio r4,small_external_common+4(r5)
++ ldwio r4,big_local_common+4(r5)
++ ldwio r4,small_local_common+4(r5)
++ ldwio r4,data_label-0x8000(r5)
++ ldwio r4,big_external_data_label-0x8000(r5)
++ ldwio r4,small_external_data_label-0x8000(r5)
++ ldwio r4,big_external_common-0x8000(r5)
++ ldwio r4,small_external_common-0x8000(r5)
++ ldwio r4,big_local_common-0x8000(r5)
++ ldwio r4,small_local_common-0x8000(r5)
+--- binutils-2.15/gas/testsuite/gas/nios2/lineseparator.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/lineseparator.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,10 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 lineseparator
++
++# Test the add instruction
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0x0+0000 mov r5,r4
++0x0+0004 mov r4,r5
+--- binutils-2.15/gas/testsuite/gas/nios2/lineseparator.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/lineseparator.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,4 @@
++mov r5, r4 ; mov r4, r5
++
++
++
+--- binutils-2.15/gas/testsuite/gas/nios2/link1.lds 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/link1.lds 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,11 @@
++/* Simple script for testing relaxation */
++
++OUTPUT_FORMAT("elf32-littlenios2", "elf32-littlenios2", "elf32-littlenios2")
++OUTPUT_ARCH(nios2)
++ENTRY(_start)
++SECTIONS
++{
++ _start = .;
++ text2 0 : { *(text2) }
++ text1 0x8000 : { *(text1) }
++}
+--- binutils-2.15/gas/testsuite/gas/nios2/link2.lds 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/link2.lds 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,11 @@
++/* Simple script for testing relaxation */
++
++OUTPUT_FORMAT("elf32-littlenios2", "elf32-littlenios2", "elf32-littlenios2")
++OUTPUT_ARCH(nios2)
++ENTRY(_start)
++SECTIONS
++{
++ _start = .;
++ text1 0 : { *(text1) }
++ text2 0x80000000 : { *(text2) }
++}
+--- binutils-2.15/gas/testsuite/gas/nios2/link3.lds 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/link3.lds 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,11 @@
++/* Simple script for testing relaxation */
++
++OUTPUT_FORMAT("elf32-littlenios2", "elf32-littlenios2", "elf32-littlenios2")
++OUTPUT_ARCH(nios2)
++ENTRY(_start)
++SECTIONS
++{
++ _start = .;
++ text1 0 : { *(text1) }
++ text2 0x08000000 : { *(text2) }
++}
+--- binutils-2.15/gas/testsuite/gas/nios2/mov.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/mov.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,11 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 mov
++
++# Test the mov instruction
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> movz \$4,\$5,\$6
++0+0004 <[^>]*> movnz \$4,\$5,\$6
++
+--- binutils-2.15/gas/testsuite/gas/nios2/mov.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/mov.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,5 @@
++# Source file used to test the movz and movnz instructions
++
++foo:
++ movz $4,$5,$6
++ movnz $4,$5,$6
+--- binutils-2.15/gas/testsuite/gas/nios2/movi.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/movi.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,13 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 movi
++
++# Test implicit conversion of movi/movhi etc
++.*: file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> movi r2,32
++0+0004 <[^>]*> movhi r2,8192
++0+0008 <[^>]*> movhi r2,65535
++0+000c <[^>]*> orhi r2,r5,65535
++0+0010 <[^>]*> xorhi r2,r10,65535
++0+0014 <[^>]*> andhi r2,r15,65535
+--- binutils-2.15/gas/testsuite/gas/nios2/movi.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/movi.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,21 @@
++# Source file used to test silent conversion of
++# movi to orhi etc
++
++foo:
++# this doesn't get converted
++movi r2, 0x20
++
++# this does
++movi r2, 0x20000000
++
++# addi should convert only if the source register is r0
++addi r2, r0, 0xffff0000
++# but we can't test for non-conversion because the value would
++# be out of range
++
++# logical ops should convert for any register
++ori r2, r5, 0xffff0000
++xori r2, r10, 0xffff0000
++andi r2, r15, 0xffff0000
++
++
+--- binutils-2.15/gas/testsuite/gas/nios2/movia.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/movia.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,18 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 movia
++
++# Test the movia instruction
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> movhi r2,32897
++0+0004 <[^>]*> addi r2,r2,-32640
++0+0008 <[^>]*> movhi r3,0
++ 8: R_NIOS2_HIADJ16 sym\+0x80000000
++0+000c <[^>]*> addi r3,r3,0
++ c: R_NIOS2_LO16 sym\+0x80000000
++0+0010 <[^>]*> movhi r4,0
++ 10: R_NIOS2_HIADJ16 sym\+0x80000001
++0+0014 <[^>]*> addi r4,r4,0
++ 14: R_NIOS2_LO16 sym\+0x80000001
+--- binutils-2.15/gas/testsuite/gas/nios2/movia.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/movia.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,6 @@
++# Test program for movia reg, immed32 macro
++
++foo:
++ movia r2, 0x80808080
++ movia r3, sym + 0x80000000
++ movia r4, sym - 0x7fffffff
+--- binutils-2.15/gas/testsuite/gas/nios2/mul.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/mul.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,19 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 mul
++
++# Test the mul macro.
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> mul r4,r5,r6
++0+0004 <[^>]*> muli r4,r5,0
++0+0008 <[^>]*> muli r4,r5,1
++0+000c <[^>]*> muli r4,r5,-32768
++0+0010 <[^>]*> muli r4,r5,32767
++0+0014 <[^>]*> muli r4,r5,0
++[ ]*14: R_NIOS2_S16 undefined_symbol
++0+0018 <[^>]*> muli r4,r5,16448
++0+001c <[^>]*> mulxss r4,r5,r6
++0+0020 <[^>]*> mulxsu r4,r5,r6
++0+0024 <[^>]*> mulxuu r4,r5,r6
+--- binutils-2.15/gas/testsuite/gas/nios2/mul.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/mul.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,15 @@
++# Source file used to test the mul macro.
++
++foo:
++ mul r4,r5,r6
++ muli r4,r5,0
++ muli r4,r5,1
++ muli r4,r5,-0x8000
++ muli r4,r5,0x7fff
++ muli r4,r5,undefined_symbol
++ muli r4,r5,defined_symbol
++ mulxss r4,r5,r6
++ mulxsu r4,r5,r6
++ mulxuu r4,r5,r6
++.data
++.set defined_symbol, 0x4040
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-merged_strings.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-merged_strings.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,17 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 reloc against merged strings
++
++# Test the merged duplicate strings
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> addi r2,r2,32
++0+0004 <[^>]*> addi r3,r3,63
++0+0008 <[^>]*> addi r4,r4,70
++0+000c <[^>]*> call 00000000 <func1>
++0+0010 <[^>]*> addi r2,r2,101
++0+0014 <[^>]*> addi r3,r3,63
++0+0018 <[^>]*> addi r4,r4,132
++0+001c <[^>]*> call 00000000 <func1>
++
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-merged_strings.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-merged_strings.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,21 @@
++ .section .rodata.str1.1,"aMS",@progbits,1
++.LC0:
++ .string "DHRYSTONE PROGRAM, 1'ST STRING"
++.LC1:
++ .string "COMMON"
++.LC2:
++ .string "DHRYSTONE PROGRAM, 2'ND STRING"
++
++ .section .text
++ .align 3
++ .global func1
++ .type func1, @function
++func1:
++ #movhi $2, %hiadj(.LC0)
++ addi r2, r2, .LC0
++ #movhi $3, %hiadj(.LC1)
++ addi r3, r3, .LC1
++ #movhi $4, %hiadj(.LC2)
++ addi r4, r4, .LC2
++ .size func1, .-func1
++
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-bfd-reloc-xx.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-bfd-reloc-xx.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,8 @@
++#objdump: -s
++#name: NIOS2 R_NIOS2_BFD_RELOC_XX
++
++# Test the branch instructions.
++.*: +file format elf32-littlenios2
++
++Contents of section .text:
++ 0000 fa00cefa efbeadde facefaef beadde00 ................
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-bfd-reloc-xx.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-bfd-reloc-xx.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,9 @@
++# Test for New Jersey 32-bit, 16 and 8-bit relocations
++
++.global byte_sym
++.global short_sym
++.global long_sym
++
++.set byte_sym, 0xFA
++.set short_sym, 0xFACE
++.set long_sym, 0xDEADBEEF
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-cache-opx.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-cache-opx.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,10 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 R_NIOS2_CACHE_OPX
++
++# Test the cache opx relocation
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> cache 0x1f,0x1000\(\$1\)
++0+0004 <[^>]*> Address 0x4 is out of bounds.
++
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-cache-opx.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-cache-opx.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,6 @@
++# Test the imm5 relocation
++
++.text
++ cache imm5, 0x1000($1)
++
++
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-call26.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-call26.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,76 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 nios2-reloc-r-nios2-call26
++
++# Test the branch instructions.
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++[ ]*\.\.\.
++[ ]*0: R_NIOS2_CALL26 .text\+0x100
++[ ]*4: R_NIOS2_CALL26 globalfunc
++0+0008 <[^>]*> nop
++0+000c <[^>]*> nop
++0+0010 <[^>]*> nop
++0+0014 <[^>]*> nop
++0+0018 <[^>]*> nop
++0+001c <[^>]*> nop
++0+0020 <[^>]*> nop
++0+0024 <[^>]*> nop
++0+0028 <[^>]*> nop
++0+002c <[^>]*> nop
++0+0030 <[^>]*> nop
++0+0034 <[^>]*> nop
++0+0038 <[^>]*> nop
++0+003c <[^>]*> nop
++0+0040 <[^>]*> nop
++0+0044 <[^>]*> nop
++0+0048 <[^>]*> nop
++0+004c <[^>]*> nop
++0+0050 <[^>]*> nop
++0+0054 <[^>]*> nop
++0+0058 <[^>]*> nop
++0+005c <[^>]*> nop
++0+0060 <[^>]*> nop
++0+0064 <[^>]*> nop
++0+0068 <[^>]*> nop
++0+006c <[^>]*> nop
++0+0070 <[^>]*> nop
++0+0074 <[^>]*> nop
++0+0078 <[^>]*> nop
++0+007c <[^>]*> nop
++0+0080 <[^>]*> nop
++0+0084 <[^>]*> nop
++0+0088 <[^>]*> nop
++0+008c <[^>]*> nop
++0+0090 <[^>]*> nop
++0+0094 <[^>]*> nop
++0+0098 <[^>]*> nop
++0+009c <[^>]*> nop
++0+00a0 <[^>]*> nop
++0+00a4 <[^>]*> nop
++0+00a8 <[^>]*> nop
++0+00ac <[^>]*> nop
++0+00b0 <[^>]*> nop
++0+00b4 <[^>]*> nop
++0+00b8 <[^>]*> nop
++0+00bc <[^>]*> nop
++0+00c0 <[^>]*> nop
++0+00c4 <[^>]*> nop
++0+00c8 <[^>]*> nop
++0+00cc <[^>]*> nop
++0+00d0 <[^>]*> nop
++0+00d4 <[^>]*> nop
++0+00d8 <[^>]*> nop
++0+00dc <[^>]*> nop
++0+00e0 <[^>]*> nop
++0+00e4 <[^>]*> nop
++0+00e8 <[^>]*> nop
++0+00ec <[^>]*> nop
++0+00f0 <[^>]*> nop
++0+00f4 <[^>]*> nop
++0+00f8 <[^>]*> nop
++0+00fc <[^>]*> nop
++0+0100 <[^>]*> nop
++ ...
++
++
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-call26.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-call26.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,12 @@
++# Test for New Jersey 32-bit relocations
++
++.global globalfunc
++.text
++.set norelax
++start:
++ call localfunc
++ call globalfunc
++
++.align 8
++localfunc:
++ nop
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-gprel.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-gprel.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,15 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 gp-relative relocations
++
++# Test the %gprel macro.
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> movui gp,32784
++0+0004 <[^>]*> ldw at,-32756\(gp\)
++0+0008 <[^>]*> ldw r2,-32752\(gp\)
++0+000c <[^>]*> ldb r3,-32748\(gp\)
++0+0010 <[^>]*> ldw at,-32744\(gp\)
++0+0014 <[^>]*> ldw r2,-32740\(gp\)
++0+0018 <[^>]*> ldb r3,-32736\(gp\)
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-gprel.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-gprel.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,24 @@
++.sdata
++sym1:
++.long 0xdead
++sym2:
++.long 0xbeef
++sym3:
++.byte 0x7f
++
++.section sdata1, "s"
++sym4:
++.long 0xdead
++sym5:
++.long 0xbeef
++sym6:
++.byte 0x7f
++
++.text
++ movui gp, _gp
++ ldw r1, %gprel(sym1)(gp)
++ ldw r2, %gprel(sym2)(gp)
++ ldb r3, %gprel(sym3)(gp)
++ ldw r1, %gprel(sym4)(gp)
++ ldw r2, %gprel(sym5)(gp)
++ ldb r3, %gprel(sym6)(gp)
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-hilo16.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-hilo16.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,10 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 R_NIOS2_HI16,LO16,HIADJ16
++
++# Test the %hi, %lo and %hiadi relocations
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> addi at,at,-8531
++0+0004 <[^>]*> addi at,at,-16657
++0+0008 <[^>]*> addi at,at,-8530
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-hilo16.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-hilo16.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,6 @@
++# Test the %hi, lo and %hiadj relocations
++
++.text
++ addi r1, r1, %hi(long_symbol)
++ addi r1, r1, %lo(long_symbol)
++ addi r1, r1, %hiadj(long_symbol)
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-imm5.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-imm5.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,10 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 R_NIOS2_IMM5
++
++# Test the branch instructions.
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> roli at,at,31
++0+0004 <.[^>]*> Address 0x4 is out of bounds.
++
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-imm5.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-imm5.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,6 @@
++# Test the imm5 relocation
++
++.text
++ roli r1, r1, imm5
++
++
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-pcrel16.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-pcrel16.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,12 @@
++#objdump: -s
++#name: NIOS2 R_NIOS2_PCREL16
++
++# Test the relative branch relocations.
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++
++0+0000 <[^>]*> br 00000008 <ext_label>
++0+0004 <[^>]*> br 00000018 <__bss_start\+0x8>
++0+0008 <[^>]*> nop
++0+000c <[^>]*> nop
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-pcrel16.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-pcrel16.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,6 @@
++# Test for pc-relative relocations
++.set norelax
++.text
++ br ext_label
++ br ext_label + 16
++
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,8 @@
++
++a.exe: file format elf32-littlenios2
++
++Contents of section .text:
++ 0000 04004408 04006008 c4ff5f08 44004808 ..D...`..._.D.H.
++ 0010 44004008 D.@.
++Contents of section .data:
++Contents of section .sbss:
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s16.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s16.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,9 @@
++#objdump: -s
++#name: NIOS2 R_NIOS2_S16
++
++# Test the signed 16-bit relocations.
++.*: +file format elf32-littlenios2
++
++Contents of section .text:
++ 0000 04004408 04006008 c4ff5f08 44004808 ..D...`..._.D.H.
++ 0010 44004008 D.@.
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s16.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-s16.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,13 @@
++# Test for New Jersey 32-bit, 16 and 8-bit relocations
++
++.set some_other_sym, 0x1000
++.text
++# signed 16-bit relocation
++ addi r1, r1, some_sym
++ addi r1, r1, min
++ addi r1, r1, max
++ addi r1, r1, some_sym + some_other_sym + 1
++ addi r1, r1, some_sym - some_other_sym + 1
++
++
++
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-u16.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-u16.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,9 @@
++#objdump: -s
++#name: NIOS2 R_NIOS2_U16
++
++# Test the unsigned 16-bit relocations.
++.*: +file format elf32-littlenios2
++
++Contents of section .text:
++ 0000 0c004408 0c004008 ccff7f08 4c004808 ..D...@.....L.H.
++ 0010 4c004008 L.@.
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-u16.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2-reloc-r-nios2-u16.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,13 @@
++# Test for New Jersey 32-bit, 16 and 8-bit relocations
++
++.set some_other_sym, 0x1000
++.text
++# signed 16-bit relocation
++ andi r1, r1, some_sym
++ andi r1, r1, min
++ andi r1, r1, max
++ andi r1, r1, some_sym + some_other_sym + 1
++ andi r1, r1, some_sym - some_other_sym + 1
++
++
++
+--- binutils-2.15/gas/testsuite/gas/nios2/nios2.exp 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nios2.exp 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,200 @@
++#
++# Some generic New Jersey tests
++#
++
++# "LOSE" marks information about tests which fail at a particular point
++# in time, but which are not XFAILed. Either they used to pass
++# and indicate either regressions or the need to tweak the tests to keep
++# up the with code, or they are new tests and it is unknown whether or not
++# they should pass as-is for the given object formats.
++
++if ![info exists LD] then {
++ set LD [findfile $base_dir/../../ld/ld-new]
++}
++
++proc run_list_test { name } {
++ global srcdir subdir
++ set testname "NIOS2 $name"
++ set file $srcdir/$subdir/$name
++ gas_run ${name}.s "" ">&dump.out"
++ if { [regexp_diff "dump.out" "${file}.l"] } then {
++ fail $testname
++ verbose "output is [file_contents "dump.out"]" 2
++ return
++ }
++ pass $testname
++}
++
++proc ld_run { obj0 obj1 opts } {
++ global LD
++ global comp_output
++ global srcdir
++ global subdir
++ global host_triplet
++
++ verbose "Executing $srcdir/lib/run $LD $obj0 $obj1 $opts"
++ catch "exec $srcdir/lib/run $LD $obj0 $obj1 $opts" comp_output
++ set comp_output [prune_warnings $comp_output]
++ verbose "output was $comp_output"
++ return [list $comp_output ""];
++}
++
++proc objdump_run { prog opts redir } {
++ global OBJDUMP
++ global comp_output
++ global srcdir
++ global subdir
++ global host_triplet
++
++ verbose "Executing $srcdir/lib/run $OBJDUMP -s $prog"
++ catch "exec $srcdir/lib/run $OBJDUMP $opts $prog $redir" comp_output
++ set comp_output [prune_warnings $comp_output]
++ verbose "output was $comp_output"
++ return [list $comp_output ""];
++}
++
++proc run_reloc_test { name other objdump_opts} {
++ global LD OBJDUMP AS
++ global srcdir subdir
++ set testname "NIOS2 $name"
++ set file $srcdir/$subdir/$name
++ set file1 $srcdir/$subdir/$other
++ gas_run ${name}.s "-o ${name}.o" ""
++ gas_run ${other}.s "-o ${other}.o" ""
++ ld_run ${name}.o ${other}.o "-o ${name}.exe"
++ objdump_run ${name}.exe ${objdump_opts} ">&dump.out"
++ if { [regexp_diff "dump.out" "${file}.d"] } then {
++ fail $testname
++ verbose "output is [file_contents "dump.out"]" 2
++ return
++ }
++ pass $testname
++}
++
++proc run_gpreloc_test { name objdump_opts} {
++ global LD OBJDUMP AS
++ global srcdir subdir
++ set testname "NIOS2 $name"
++ set file $srcdir/$subdir/$name
++ gas_run ${name}.s "-o ${name}.o" ""
++ ld_run ${name}.o "" "-o ${name}.exe"
++ objdump_run ${name}.exe ${objdump_opts} ">&dump.out"
++ if { [regexp_diff "dump.out" "${file}.d"] } then {
++ fail $testname
++ verbose "output is [file_contents "dump.out"]" 2
++ return
++ }
++ pass $testname
++}
++
++proc run_relax_test { name asm_opts link_opts objdump_opts} {
++ global LD OBJDUMP AS
++ global srcdir subdir
++ set testname "NIOS2 $name"
++ set file $srcdir/$subdir/$name
++ gas_run ${name}.s "-o ${name}.o" ${asm_opts}
++ ld_run ${name}.o "" "-o ${name}.exe -T${srcdir}/${subdir}/${link_opts} --relax"
++ objdump_run ${name}.exe ${objdump_opts} ">&dump.out"
++ if { [regexp_diff "dump.out" "${file}.d"] } then {
++ fail $testname
++ verbose "output is [file_contents "dump.out"]" 2
++ return
++ }
++ pass $testname
++}
++
++proc run_relax_section_test { name asm_opts objdump_opts} {
++ global LD OBJDUMP AS
++ global srcdir subdir
++ set testname "NIOS2 $name"
++ set file $srcdir/$subdir/$name
++ gas_run ${name}.s "-o ${name}.o" ${asm_opts}
++ ld_run ${name}.o "" "-o ${name}.exe"
++ objdump_run ${name}.exe ${objdump_opts} ">&dump.out"
++ if { [regexp_diff "dump.out" "${file}.d"] } then {
++ fail $testname
++ verbose "output is [file_contents "dump.out"]" 2
++ return
++ }
++ pass $testname
++}
++
++if { [istarget nios2-*-elf] } then {
++ set elf 1
++
++ run_dump_test "add"
++ run_dump_test "and"
++ run_dump_test "align_fill"
++ run_dump_test "align_text"
++
++ run_dump_test "branch"
++
++
++ run_dump_test "break"
++ run_dump_test "bret"
++ run_dump_test "cache"
++
++ run_dump_test "call"
++
++
++ run_dump_test "cmp"
++
++
++ run_dump_test "jmp"
++ run_dump_test "ldw"
++ run_dump_test "ldh"
++ run_dump_test "ldb"
++
++
++ run_dump_test "mul"
++
++ run_dump_test "nor"
++ run_dump_test "or"
++
++ run_dump_test "ctl"
++ run_dump_test "ret"
++ run_dump_test "rotate"
++
++ run_dump_test "stw"
++ run_dump_test "sth"
++ run_dump_test "stb"
++
++ run_dump_test "sub"
++ run_dump_test "sync"
++ run_dump_test "trap"
++ run_dump_test "tret"
++
++ run_dump_test "custom"
++ run_dump_test "xor"
++ run_dump_test "movia"
++
++ run_dump_test "complex"
++ run_dump_test "comments"
++ run_dump_test "etbt"
++ run_dump_test "lineseparator"
++ run_dump_test "movi"
++
++ run_list_test "illegal"
++ run_list_test "warn_nobreak"
++ run_list_test "warn_noat"
++
++
++# now lets make sure that the assembler generates all the relocations
++# that it should correctly, and that the linker links them correctly
++
++ run_reloc_test "nios2-reloc-r-nios2-bfd-reloc-xx" "reloc_symbols" "-s"
++ run_reloc_test "nios2-reloc-r-nios2-s16" "s16_symbol" "-s"
++ run_reloc_test "nios2-reloc-r-nios2-u16" "u16_symbol" "-s"
++ run_reloc_test "nios2-reloc-r-nios2-pcrel16" "pcrel_label" "-dr --prefix-addresses"
++ run_reloc_test "nios2-reloc-r-nios2-hilo16" "hilo_symbol" "-dr --prefix-addresses"
++ run_dump_test "nios2-reloc-r-nios2-call26"
++ run_reloc_test "nios2-reloc-r-nios2-imm5" "imm5_symbol" "-dr --prefix-addresses"
++ run_reloc_test "nios2-reloc-merged_strings" "str2" "-dr --prefix-addresses"
++ run_gpreloc_test "nios2-reloc-r-nios2-gprel" "-dr --prefix-addresses"
++
++# relaxation tests
++ run_relax_test "relax_ujmp" "-relax-all" "link1.lds" "-dr --prefix-addresses"
++ run_relax_test "relax_cjmp" "-relax-all" "link1.lds" "-dr --prefix-addresses"
++ run_relax_test "relax_callr" "-relax-all" "link3.lds" "-dr --prefix-addresses"
++ run_relax_section_test "relax_section" "-relax-section" "-dr --prefix-addresses"
++}
+--- binutils-2.15/gas/testsuite/gas/nios2/nor.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nor.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,9 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 nor
++
++# Test the nor instruction
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> nor r6,r8,r10
+--- binutils-2.15/gas/testsuite/gas/nios2/nor.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/nor.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,5 @@
++# Source file used to test the nor instruction
++
++foo:
++ nor r6,r8,r10
++
+--- binutils-2.15/gas/testsuite/gas/nios2/or.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/or.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,11 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 or
++
++# Test the nor instruction
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> or r6,r8,r10
++0+0004 <[^>]*> orhi r6,r7,65535
++0+0008 <[^>]*> ori r6,r7,65535
+--- binutils-2.15/gas/testsuite/gas/nios2/or.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/or.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,7 @@
++# Source file used to test the nor instruction
++
++foo:
++ or r6,r8,r10
++ orhi r6,r7,0xffff
++ ori r6,r7,0xffff
++
+--- binutils-2.15/gas/testsuite/gas/nios2/pcrel_label.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/pcrel_label.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,5 @@
++.text
++ext_label:
++ nop
++ nop
++.global ext_label
+--- binutils-2.15/gas/testsuite/gas/nios2/relax_callr.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/relax_callr.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,22 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 relax_callr
++# Test relaxation of callr
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section text1:
++00000000 <[^>]*> call 08000000 <func>
++00000004 <[^>]*> nop
++00000008 <[^>]*> nop
++0000000c <[^>]*> call 0800001c <func1>
++00000010 <[^>]*> nop
++00000014 <[^>]*> nop
++Disassembly of section text2:
++08000000 <[^>]*> nop
++08000004 <[^>]*> br 0800001c <func1>
++08000008 <[^>]*> nop
++0800000c <[^>]*> nop
++08000010 <[^>]*> nop
++08000014 <[^>]*> nop
++08000018 <[^>]*> nop
++0800001c <[^>]*> nop
+--- binutils-2.15/gas/testsuite/gas/nios2/relax_callr.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/relax_callr.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,17 @@
++# relaxation test for callr
++
++.globl text1
++.section text1, "ax", @progbits
++
++ call func
++ call func1
++
++.section text2, "ax", @progbits
++func:
++ nop
++ br func1
++ nop
++ nop
++ nop
++func1:
++ nop
+--- binutils-2.15/gas/testsuite/gas/nios2/relax_cjmp.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/relax_cjmp.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,8227 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 relax_cjmp
++
++# Test relaxation of conditional jumps
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section text2:
++00000000 <[^>]*> bge r2,r3,00008000 <[^>]*>
++00000004 <[^>]*> nop
++00000008 <[^>]*> nop
++0000000c <[^>]*> nop
++00000010 <[^>]*> blt r3,r2,00000020 <[^>]*>
++00000014 <[^>]*> movhi at,1
++00000018 <[^>]*> ori at,at,36
++0000001c <[^>]*> jmp at
++00000020 <[^>]*> bge r3,r2,00000038 <[^>]*>
++00000024 <[^>]*> nop
++00000028 <[^>]*> nop
++0000002c <[^>]*> nop
++00000030 <[^>]*> nop
++00000034 <[^>]*> nop
++00000038 <[^>]*> nop
++Disassembly of section text1:
++00008000 <[^>]*> beq r2,r3,00010000 <[^>]*>
++00008004 <[^>]*> nop
++00008008 <[^>]*> nop
++0000800c <[^>]*> nop
++00008010 <[^>]*> bne r2,r3,00008020 <[^>]*>
++00008014 <[^>]*> movhi at,1
++00008018 <[^>]*> ori at,at,36
++0000801c <[^>]*> jmp at
++00008020 <[^>]*> nop
++00008024 <[^>]*> nop
++00008028 <[^>]*> nop
++0000802c <[^>]*> nop
++00008030 <[^>]*> nop
++00008034 <[^>]*> nop
++00008038 <[^>]*> nop
++0000803c <[^>]*> nop
++00008040 <[^>]*> nop
++00008044 <[^>]*> nop
++00008048 <[^>]*> nop
++0000804c <[^>]*> nop
++00008050 <[^>]*> nop
++00008054 <[^>]*> nop
++00008058 <[^>]*> nop
++0000805c <[^>]*> nop
++00008060 <[^>]*> nop
++00008064 <[^>]*> nop
++00008068 <[^>]*> nop
++0000806c <[^>]*> nop
++00008070 <[^>]*> nop
++00008074 <[^>]*> nop
++00008078 <[^>]*> nop
++0000807c <[^>]*> nop
++00008080 <[^>]*> nop
++00008084 <[^>]*> nop
++00008088 <[^>]*> nop
++0000808c <[^>]*> nop
++00008090 <[^>]*> nop
++00008094 <[^>]*> nop
++00008098 <[^>]*> nop
++0000809c <[^>]*> nop
++000080a0 <[^>]*> nop
++000080a4 <[^>]*> nop
++000080a8 <[^>]*> nop
++000080ac <[^>]*> nop
++000080b0 <[^>]*> nop
++000080b4 <[^>]*> nop
++000080b8 <[^>]*> nop
++000080bc <[^>]*> nop
++000080c0 <[^>]*> nop
++000080c4 <[^>]*> nop
++000080c8 <[^>]*> nop
++000080cc <[^>]*> nop
++000080d0 <[^>]*> nop
++000080d4 <[^>]*> nop
++000080d8 <[^>]*> nop
++000080dc <[^>]*> nop
++000080e0 <[^>]*> nop
++000080e4 <[^>]*> nop
++000080e8 <[^>]*> nop
++000080ec <[^>]*> nop
++000080f0 <[^>]*> nop
++000080f4 <[^>]*> nop
++000080f8 <[^>]*> nop
++000080fc <[^>]*> nop
++00008100 <[^>]*> nop
++00008104 <[^>]*> nop
++00008108 <[^>]*> nop
++0000810c <[^>]*> nop
++00008110 <[^>]*> nop
++00008114 <[^>]*> nop
++00008118 <[^>]*> nop
++0000811c <[^>]*> nop
++00008120 <[^>]*> nop
++00008124 <[^>]*> nop
++00008128 <[^>]*> nop
++0000812c <[^>]*> nop
++00008130 <[^>]*> nop
++00008134 <[^>]*> nop
++00008138 <[^>]*> nop
++0000813c <[^>]*> nop
++00008140 <[^>]*> nop
++00008144 <[^>]*> nop
++00008148 <[^>]*> nop
++0000814c <[^>]*> nop
++00008150 <[^>]*> nop
++00008154 <[^>]*> nop
++00008158 <[^>]*> nop
++0000815c <[^>]*> nop
++00008160 <[^>]*> nop
++00008164 <[^>]*> nop
++00008168 <[^>]*> nop
++0000816c <[^>]*> nop
++00008170 <[^>]*> nop
++00008174 <[^>]*> nop
++00008178 <[^>]*> nop
++0000817c <[^>]*> nop
++00008180 <[^>]*> nop
++00008184 <[^>]*> nop
++00008188 <[^>]*> nop
++0000818c <[^>]*> nop
++00008190 <[^>]*> nop
++00008194 <[^>]*> nop
++00008198 <[^>]*> nop
++0000819c <[^>]*> nop
++000081a0 <[^>]*> nop
++000081a4 <[^>]*> nop
++000081a8 <[^>]*> nop
++000081ac <[^>]*> nop
++000081b0 <[^>]*> nop
++000081b4 <[^>]*> nop
++000081b8 <[^>]*> nop
++000081bc <[^>]*> nop
++000081c0 <[^>]*> nop
++000081c4 <[^>]*> nop
++000081c8 <[^>]*> nop
++000081cc <[^>]*> nop
++000081d0 <[^>]*> nop
++000081d4 <[^>]*> nop
++000081d8 <[^>]*> nop
++000081dc <[^>]*> nop
++000081e0 <[^>]*> nop
++000081e4 <[^>]*> nop
++000081e8 <[^>]*> nop
++000081ec <[^>]*> nop
++000081f0 <[^>]*> nop
++000081f4 <[^>]*> nop
++000081f8 <[^>]*> nop
++000081fc <[^>]*> nop
++00008200 <[^>]*> nop
++00008204 <[^>]*> nop
++00008208 <[^>]*> nop
++0000820c <[^>]*> nop
++00008210 <[^>]*> nop
++00008214 <[^>]*> nop
++00008218 <[^>]*> nop
++0000821c <[^>]*> nop
++00008220 <[^>]*> nop
++00008224 <[^>]*> nop
++00008228 <[^>]*> nop
++0000822c <[^>]*> nop
++00008230 <[^>]*> nop
++00008234 <[^>]*> nop
++00008238 <[^>]*> nop
++0000823c <[^>]*> nop
++00008240 <[^>]*> nop
++00008244 <[^>]*> nop
++00008248 <[^>]*> nop
++0000824c <[^>]*> nop
++00008250 <[^>]*> nop
++00008254 <[^>]*> nop
++00008258 <[^>]*> nop
++0000825c <[^>]*> nop
++00008260 <[^>]*> nop
++00008264 <[^>]*> nop
++00008268 <[^>]*> nop
++0000826c <[^>]*> nop
++00008270 <[^>]*> nop
++00008274 <[^>]*> nop
++00008278 <[^>]*> nop
++0000827c <[^>]*> nop
++00008280 <[^>]*> nop
++00008284 <[^>]*> nop
++00008288 <[^>]*> nop
++0000828c <[^>]*> nop
++00008290 <[^>]*> nop
++00008294 <[^>]*> nop
++00008298 <[^>]*> nop
++0000829c <[^>]*> nop
++000082a0 <[^>]*> nop
++000082a4 <[^>]*> nop
++000082a8 <[^>]*> nop
++000082ac <[^>]*> nop
++000082b0 <[^>]*> nop
++000082b4 <[^>]*> nop
++000082b8 <[^>]*> nop
++000082bc <[^>]*> nop
++000082c0 <[^>]*> nop
++000082c4 <[^>]*> nop
++000082c8 <[^>]*> nop
++000082cc <[^>]*> nop
++000082d0 <[^>]*> nop
++000082d4 <[^>]*> nop
++000082d8 <[^>]*> nop
++000082dc <[^>]*> nop
++000082e0 <[^>]*> nop
++000082e4 <[^>]*> nop
++000082e8 <[^>]*> nop
++000082ec <[^>]*> nop
++000082f0 <[^>]*> nop
++000082f4 <[^>]*> nop
++000082f8 <[^>]*> nop
++000082fc <[^>]*> nop
++00008300 <[^>]*> nop
++00008304 <[^>]*> nop
++00008308 <[^>]*> nop
++0000830c <[^>]*> nop
++00008310 <[^>]*> nop
++00008314 <[^>]*> nop
++00008318 <[^>]*> nop
++0000831c <[^>]*> nop
++00008320 <[^>]*> nop
++00008324 <[^>]*> nop
++00008328 <[^>]*> nop
++0000832c <[^>]*> nop
++00008330 <[^>]*> nop
++00008334 <[^>]*> nop
++00008338 <[^>]*> nop
++0000833c <[^>]*> nop
++00008340 <[^>]*> nop
++00008344 <[^>]*> nop
++00008348 <[^>]*> nop
++0000834c <[^>]*> nop
++00008350 <[^>]*> nop
++00008354 <[^>]*> nop
++00008358 <[^>]*> nop
++0000835c <[^>]*> nop
++00008360 <[^>]*> nop
++00008364 <[^>]*> nop
++00008368 <[^>]*> nop
++0000836c <[^>]*> nop
++00008370 <[^>]*> nop
++00008374 <[^>]*> nop
++00008378 <[^>]*> nop
++0000837c <[^>]*> nop
++00008380 <[^>]*> nop
++00008384 <[^>]*> nop
++00008388 <[^>]*> nop
++0000838c <[^>]*> nop
++00008390 <[^>]*> nop
++00008394 <[^>]*> nop
++00008398 <[^>]*> nop
++0000839c <[^>]*> nop
++000083a0 <[^>]*> nop
++000083a4 <[^>]*> nop
++000083a8 <[^>]*> nop
++000083ac <[^>]*> nop
++000083b0 <[^>]*> nop
++000083b4 <[^>]*> nop
++000083b8 <[^>]*> nop
++000083bc <[^>]*> nop
++000083c0 <[^>]*> nop
++000083c4 <[^>]*> nop
++000083c8 <[^>]*> nop
++000083cc <[^>]*> nop
++000083d0 <[^>]*> nop
++000083d4 <[^>]*> nop
++000083d8 <[^>]*> nop
++000083dc <[^>]*> nop
++000083e0 <[^>]*> nop
++000083e4 <[^>]*> nop
++000083e8 <[^>]*> nop
++000083ec <[^>]*> nop
++000083f0 <[^>]*> nop
++000083f4 <[^>]*> nop
++000083f8 <[^>]*> nop
++000083fc <[^>]*> nop
++00008400 <[^>]*> nop
++00008404 <[^>]*> nop
++00008408 <[^>]*> nop
++0000840c <[^>]*> nop
++00008410 <[^>]*> nop
++00008414 <[^>]*> nop
++00008418 <[^>]*> nop
++0000841c <[^>]*> nop
++00008420 <[^>]*> nop
++00008424 <[^>]*> nop
++00008428 <[^>]*> nop
++0000842c <[^>]*> nop
++00008430 <[^>]*> nop
++00008434 <[^>]*> nop
++00008438 <[^>]*> nop
++0000843c <[^>]*> nop
++00008440 <[^>]*> nop
++00008444 <[^>]*> nop
++00008448 <[^>]*> nop
++0000844c <[^>]*> nop
++00008450 <[^>]*> nop
++00008454 <[^>]*> nop
++00008458 <[^>]*> nop
++0000845c <[^>]*> nop
++00008460 <[^>]*> nop
++00008464 <[^>]*> nop
++00008468 <[^>]*> nop
++0000846c <[^>]*> nop
++00008470 <[^>]*> nop
++00008474 <[^>]*> nop
++00008478 <[^>]*> nop
++0000847c <[^>]*> nop
++00008480 <[^>]*> nop
++00008484 <[^>]*> nop
++00008488 <[^>]*> nop
++0000848c <[^>]*> nop
++00008490 <[^>]*> nop
++00008494 <[^>]*> nop
++00008498 <[^>]*> nop
++0000849c <[^>]*> nop
++000084a0 <[^>]*> nop
++000084a4 <[^>]*> nop
++000084a8 <[^>]*> nop
++000084ac <[^>]*> nop
++000084b0 <[^>]*> nop
++000084b4 <[^>]*> nop
++000084b8 <[^>]*> nop
++000084bc <[^>]*> nop
++000084c0 <[^>]*> nop
++000084c4 <[^>]*> nop
++000084c8 <[^>]*> nop
++000084cc <[^>]*> nop
++000084d0 <[^>]*> nop
++000084d4 <[^>]*> nop
++000084d8 <[^>]*> nop
++000084dc <[^>]*> nop
++000084e0 <[^>]*> nop
++000084e4 <[^>]*> nop
++000084e8 <[^>]*> nop
++000084ec <[^>]*> nop
++000084f0 <[^>]*> nop
++000084f4 <[^>]*> nop
++000084f8 <[^>]*> nop
++000084fc <[^>]*> nop
++00008500 <[^>]*> nop
++00008504 <[^>]*> nop
++00008508 <[^>]*> nop
++0000850c <[^>]*> nop
++00008510 <[^>]*> nop
++00008514 <[^>]*> nop
++00008518 <[^>]*> nop
++0000851c <[^>]*> nop
++00008520 <[^>]*> nop
++00008524 <[^>]*> nop
++00008528 <[^>]*> nop
++0000852c <[^>]*> nop
++00008530 <[^>]*> nop
++00008534 <[^>]*> nop
++00008538 <[^>]*> nop
++0000853c <[^>]*> nop
++00008540 <[^>]*> nop
++00008544 <[^>]*> nop
++00008548 <[^>]*> nop
++0000854c <[^>]*> nop
++00008550 <[^>]*> nop
++00008554 <[^>]*> nop
++00008558 <[^>]*> nop
++0000855c <[^>]*> nop
++00008560 <[^>]*> nop
++00008564 <[^>]*> nop
++00008568 <[^>]*> nop
++0000856c <[^>]*> nop
++00008570 <[^>]*> nop
++00008574 <[^>]*> nop
++00008578 <[^>]*> nop
++0000857c <[^>]*> nop
++00008580 <[^>]*> nop
++00008584 <[^>]*> nop
++00008588 <[^>]*> nop
++0000858c <[^>]*> nop
++00008590 <[^>]*> nop
++00008594 <[^>]*> nop
++00008598 <[^>]*> nop
++0000859c <[^>]*> nop
++000085a0 <[^>]*> nop
++000085a4 <[^>]*> nop
++000085a8 <[^>]*> nop
++000085ac <[^>]*> nop
++000085b0 <[^>]*> nop
++000085b4 <[^>]*> nop
++000085b8 <[^>]*> nop
++000085bc <[^>]*> nop
++000085c0 <[^>]*> nop
++000085c4 <[^>]*> nop
++000085c8 <[^>]*> nop
++000085cc <[^>]*> nop
++000085d0 <[^>]*> nop
++000085d4 <[^>]*> nop
++000085d8 <[^>]*> nop
++000085dc <[^>]*> nop
++000085e0 <[^>]*> nop
++000085e4 <[^>]*> nop
++000085e8 <[^>]*> nop
++000085ec <[^>]*> nop
++000085f0 <[^>]*> nop
++000085f4 <[^>]*> nop
++000085f8 <[^>]*> nop
++000085fc <[^>]*> nop
++00008600 <[^>]*> nop
++00008604 <[^>]*> nop
++00008608 <[^>]*> nop
++0000860c <[^>]*> nop
++00008610 <[^>]*> nop
++00008614 <[^>]*> nop
++00008618 <[^>]*> nop
++0000861c <[^>]*> nop
++00008620 <[^>]*> nop
++00008624 <[^>]*> nop
++00008628 <[^>]*> nop
++0000862c <[^>]*> nop
++00008630 <[^>]*> nop
++00008634 <[^>]*> nop
++00008638 <[^>]*> nop
++0000863c <[^>]*> nop
++00008640 <[^>]*> nop
++00008644 <[^>]*> nop
++00008648 <[^>]*> nop
++0000864c <[^>]*> nop
++00008650 <[^>]*> nop
++00008654 <[^>]*> nop
++00008658 <[^>]*> nop
++0000865c <[^>]*> nop
++00008660 <[^>]*> nop
++00008664 <[^>]*> nop
++00008668 <[^>]*> nop
++0000866c <[^>]*> nop
++00008670 <[^>]*> nop
++00008674 <[^>]*> nop
++00008678 <[^>]*> nop
++0000867c <[^>]*> nop
++00008680 <[^>]*> nop
++00008684 <[^>]*> nop
++00008688 <[^>]*> nop
++0000868c <[^>]*> nop
++00008690 <[^>]*> nop
++00008694 <[^>]*> nop
++00008698 <[^>]*> nop
++0000869c <[^>]*> nop
++000086a0 <[^>]*> nop
++000086a4 <[^>]*> nop
++000086a8 <[^>]*> nop
++000086ac <[^>]*> nop
++000086b0 <[^>]*> nop
++000086b4 <[^>]*> nop
++000086b8 <[^>]*> nop
++000086bc <[^>]*> nop
++000086c0 <[^>]*> nop
++000086c4 <[^>]*> nop
++000086c8 <[^>]*> nop
++000086cc <[^>]*> nop
++000086d0 <[^>]*> nop
++000086d4 <[^>]*> nop
++000086d8 <[^>]*> nop
++000086dc <[^>]*> nop
++000086e0 <[^>]*> nop
++000086e4 <[^>]*> nop
++000086e8 <[^>]*> nop
++000086ec <[^>]*> nop
++000086f0 <[^>]*> nop
++000086f4 <[^>]*> nop
++000086f8 <[^>]*> nop
++000086fc <[^>]*> nop
++00008700 <[^>]*> nop
++00008704 <[^>]*> nop
++00008708 <[^>]*> nop
++0000870c <[^>]*> nop
++00008710 <[^>]*> nop
++00008714 <[^>]*> nop
++00008718 <[^>]*> nop
++0000871c <[^>]*> nop
++00008720 <[^>]*> nop
++00008724 <[^>]*> nop
++00008728 <[^>]*> nop
++0000872c <[^>]*> nop
++00008730 <[^>]*> nop
++00008734 <[^>]*> nop
++00008738 <[^>]*> nop
++0000873c <[^>]*> nop
++00008740 <[^>]*> nop
++00008744 <[^>]*> nop
++00008748 <[^>]*> nop
++0000874c <[^>]*> nop
++00008750 <[^>]*> nop
++00008754 <[^>]*> nop
++00008758 <[^>]*> nop
++0000875c <[^>]*> nop
++00008760 <[^>]*> nop
++00008764 <[^>]*> nop
++00008768 <[^>]*> nop
++0000876c <[^>]*> nop
++00008770 <[^>]*> nop
++00008774 <[^>]*> nop
++00008778 <[^>]*> nop
++0000877c <[^>]*> nop
++00008780 <[^>]*> nop
++00008784 <[^>]*> nop
++00008788 <[^>]*> nop
++0000878c <[^>]*> nop
++00008790 <[^>]*> nop
++00008794 <[^>]*> nop
++00008798 <[^>]*> nop
++0000879c <[^>]*> nop
++000087a0 <[^>]*> nop
++000087a4 <[^>]*> nop
++000087a8 <[^>]*> nop
++000087ac <[^>]*> nop
++000087b0 <[^>]*> nop
++000087b4 <[^>]*> nop
++000087b8 <[^>]*> nop
++000087bc <[^>]*> nop
++000087c0 <[^>]*> nop
++000087c4 <[^>]*> nop
++000087c8 <[^>]*> nop
++000087cc <[^>]*> nop
++000087d0 <[^>]*> nop
++000087d4 <[^>]*> nop
++000087d8 <[^>]*> nop
++000087dc <[^>]*> nop
++000087e0 <[^>]*> nop
++000087e4 <[^>]*> nop
++000087e8 <[^>]*> nop
++000087ec <[^>]*> nop
++000087f0 <[^>]*> nop
++000087f4 <[^>]*> nop
++000087f8 <[^>]*> nop
++000087fc <[^>]*> nop
++00008800 <[^>]*> nop
++00008804 <[^>]*> nop
++00008808 <[^>]*> nop
++0000880c <[^>]*> nop
++00008810 <[^>]*> nop
++00008814 <[^>]*> nop
++00008818 <[^>]*> nop
++0000881c <[^>]*> nop
++00008820 <[^>]*> nop
++00008824 <[^>]*> nop
++00008828 <[^>]*> nop
++0000882c <[^>]*> nop
++00008830 <[^>]*> nop
++00008834 <[^>]*> nop
++00008838 <[^>]*> nop
++0000883c <[^>]*> nop
++00008840 <[^>]*> nop
++00008844 <[^>]*> nop
++00008848 <[^>]*> nop
++0000884c <[^>]*> nop
++00008850 <[^>]*> nop
++00008854 <[^>]*> nop
++00008858 <[^>]*> nop
++0000885c <[^>]*> nop
++00008860 <[^>]*> nop
++00008864 <[^>]*> nop
++00008868 <[^>]*> nop
++0000886c <[^>]*> nop
++00008870 <[^>]*> nop
++00008874 <[^>]*> nop
++00008878 <[^>]*> nop
++0000887c <[^>]*> nop
++00008880 <[^>]*> nop
++00008884 <[^>]*> nop
++00008888 <[^>]*> nop
++0000888c <[^>]*> nop
++00008890 <[^>]*> nop
++00008894 <[^>]*> nop
++00008898 <[^>]*> nop
++0000889c <[^>]*> nop
++000088a0 <[^>]*> nop
++000088a4 <[^>]*> nop
++000088a8 <[^>]*> nop
++000088ac <[^>]*> nop
++000088b0 <[^>]*> nop
++000088b4 <[^>]*> nop
++000088b8 <[^>]*> nop
++000088bc <[^>]*> nop
++000088c0 <[^>]*> nop
++000088c4 <[^>]*> nop
++000088c8 <[^>]*> nop
++000088cc <[^>]*> nop
++000088d0 <[^>]*> nop
++000088d4 <[^>]*> nop
++000088d8 <[^>]*> nop
++000088dc <[^>]*> nop
++000088e0 <[^>]*> nop
++000088e4 <[^>]*> nop
++000088e8 <[^>]*> nop
++000088ec <[^>]*> nop
++000088f0 <[^>]*> nop
++000088f4 <[^>]*> nop
++000088f8 <[^>]*> nop
++000088fc <[^>]*> nop
++00008900 <[^>]*> nop
++00008904 <[^>]*> nop
++00008908 <[^>]*> nop
++0000890c <[^>]*> nop
++00008910 <[^>]*> nop
++00008914 <[^>]*> nop
++00008918 <[^>]*> nop
++0000891c <[^>]*> nop
++00008920 <[^>]*> nop
++00008924 <[^>]*> nop
++00008928 <[^>]*> nop
++0000892c <[^>]*> nop
++00008930 <[^>]*> nop
++00008934 <[^>]*> nop
++00008938 <[^>]*> nop
++0000893c <[^>]*> nop
++00008940 <[^>]*> nop
++00008944 <[^>]*> nop
++00008948 <[^>]*> nop
++0000894c <[^>]*> nop
++00008950 <[^>]*> nop
++00008954 <[^>]*> nop
++00008958 <[^>]*> nop
++0000895c <[^>]*> nop
++00008960 <[^>]*> nop
++00008964 <[^>]*> nop
++00008968 <[^>]*> nop
++0000896c <[^>]*> nop
++00008970 <[^>]*> nop
++00008974 <[^>]*> nop
++00008978 <[^>]*> nop
++0000897c <[^>]*> nop
++00008980 <[^>]*> nop
++00008984 <[^>]*> nop
++00008988 <[^>]*> nop
++0000898c <[^>]*> nop
++00008990 <[^>]*> nop
++00008994 <[^>]*> nop
++00008998 <[^>]*> nop
++0000899c <[^>]*> nop
++000089a0 <[^>]*> nop
++000089a4 <[^>]*> nop
++000089a8 <[^>]*> nop
++000089ac <[^>]*> nop
++000089b0 <[^>]*> nop
++000089b4 <[^>]*> nop
++000089b8 <[^>]*> nop
++000089bc <[^>]*> nop
++000089c0 <[^>]*> nop
++000089c4 <[^>]*> nop
++000089c8 <[^>]*> nop
++000089cc <[^>]*> nop
++000089d0 <[^>]*> nop
++000089d4 <[^>]*> nop
++000089d8 <[^>]*> nop
++000089dc <[^>]*> nop
++000089e0 <[^>]*> nop
++000089e4 <[^>]*> nop
++000089e8 <[^>]*> nop
++000089ec <[^>]*> nop
++000089f0 <[^>]*> nop
++000089f4 <[^>]*> nop
++000089f8 <[^>]*> nop
++000089fc <[^>]*> nop
++00008a00 <[^>]*> nop
++00008a04 <[^>]*> nop
++00008a08 <[^>]*> nop
++00008a0c <[^>]*> nop
++00008a10 <[^>]*> nop
++00008a14 <[^>]*> nop
++00008a18 <[^>]*> nop
++00008a1c <[^>]*> nop
++00008a20 <[^>]*> nop
++00008a24 <[^>]*> nop
++00008a28 <[^>]*> nop
++00008a2c <[^>]*> nop
++00008a30 <[^>]*> nop
++00008a34 <[^>]*> nop
++00008a38 <[^>]*> nop
++00008a3c <[^>]*> nop
++00008a40 <[^>]*> nop
++00008a44 <[^>]*> nop
++00008a48 <[^>]*> nop
++00008a4c <[^>]*> nop
++00008a50 <[^>]*> nop
++00008a54 <[^>]*> nop
++00008a58 <[^>]*> nop
++00008a5c <[^>]*> nop
++00008a60 <[^>]*> nop
++00008a64 <[^>]*> nop
++00008a68 <[^>]*> nop
++00008a6c <[^>]*> nop
++00008a70 <[^>]*> nop
++00008a74 <[^>]*> nop
++00008a78 <[^>]*> nop
++00008a7c <[^>]*> nop
++00008a80 <[^>]*> nop
++00008a84 <[^>]*> nop
++00008a88 <[^>]*> nop
++00008a8c <[^>]*> nop
++00008a90 <[^>]*> nop
++00008a94 <[^>]*> nop
++00008a98 <[^>]*> nop
++00008a9c <[^>]*> nop
++00008aa0 <[^>]*> nop
++00008aa4 <[^>]*> nop
++00008aa8 <[^>]*> nop
++00008aac <[^>]*> nop
++00008ab0 <[^>]*> nop
++00008ab4 <[^>]*> nop
++00008ab8 <[^>]*> nop
++00008abc <[^>]*> nop
++00008ac0 <[^>]*> nop
++00008ac4 <[^>]*> nop
++00008ac8 <[^>]*> nop
++00008acc <[^>]*> nop
++00008ad0 <[^>]*> nop
++00008ad4 <[^>]*> nop
++00008ad8 <[^>]*> nop
++00008adc <[^>]*> nop
++00008ae0 <[^>]*> nop
++00008ae4 <[^>]*> nop
++00008ae8 <[^>]*> nop
++00008aec <[^>]*> nop
++00008af0 <[^>]*> nop
++00008af4 <[^>]*> nop
++00008af8 <[^>]*> nop
++00008afc <[^>]*> nop
++00008b00 <[^>]*> nop
++00008b04 <[^>]*> nop
++00008b08 <[^>]*> nop
++00008b0c <[^>]*> nop
++00008b10 <[^>]*> nop
++00008b14 <[^>]*> nop
++00008b18 <[^>]*> nop
++00008b1c <[^>]*> nop
++00008b20 <[^>]*> nop
++00008b24 <[^>]*> nop
++00008b28 <[^>]*> nop
++00008b2c <[^>]*> nop
++00008b30 <[^>]*> nop
++00008b34 <[^>]*> nop
++00008b38 <[^>]*> nop
++00008b3c <[^>]*> nop
++00008b40 <[^>]*> nop
++00008b44 <[^>]*> nop
++00008b48 <[^>]*> nop
++00008b4c <[^>]*> nop
++00008b50 <[^>]*> nop
++00008b54 <[^>]*> nop
++00008b58 <[^>]*> nop
++00008b5c <[^>]*> nop
++00008b60 <[^>]*> nop
++00008b64 <[^>]*> nop
++00008b68 <[^>]*> nop
++00008b6c <[^>]*> nop
++00008b70 <[^>]*> nop
++00008b74 <[^>]*> nop
++00008b78 <[^>]*> nop
++00008b7c <[^>]*> nop
++00008b80 <[^>]*> nop
++00008b84 <[^>]*> nop
++00008b88 <[^>]*> nop
++00008b8c <[^>]*> nop
++00008b90 <[^>]*> nop
++00008b94 <[^>]*> nop
++00008b98 <[^>]*> nop
++00008b9c <[^>]*> nop
++00008ba0 <[^>]*> nop
++00008ba4 <[^>]*> nop
++00008ba8 <[^>]*> nop
++00008bac <[^>]*> nop
++00008bb0 <[^>]*> nop
++00008bb4 <[^>]*> nop
++00008bb8 <[^>]*> nop
++00008bbc <[^>]*> nop
++00008bc0 <[^>]*> nop
++00008bc4 <[^>]*> nop
++00008bc8 <[^>]*> nop
++00008bcc <[^>]*> nop
++00008bd0 <[^>]*> nop
++00008bd4 <[^>]*> nop
++00008bd8 <[^>]*> nop
++00008bdc <[^>]*> nop
++00008be0 <[^>]*> nop
++00008be4 <[^>]*> nop
++00008be8 <[^>]*> nop
++00008bec <[^>]*> nop
++00008bf0 <[^>]*> nop
++00008bf4 <[^>]*> nop
++00008bf8 <[^>]*> nop
++00008bfc <[^>]*> nop
++00008c00 <[^>]*> nop
++00008c04 <[^>]*> nop
++00008c08 <[^>]*> nop
++00008c0c <[^>]*> nop
++00008c10 <[^>]*> nop
++00008c14 <[^>]*> nop
++00008c18 <[^>]*> nop
++00008c1c <[^>]*> nop
++00008c20 <[^>]*> nop
++00008c24 <[^>]*> nop
++00008c28 <[^>]*> nop
++00008c2c <[^>]*> nop
++00008c30 <[^>]*> nop
++00008c34 <[^>]*> nop
++00008c38 <[^>]*> nop
++00008c3c <[^>]*> nop
++00008c40 <[^>]*> nop
++00008c44 <[^>]*> nop
++00008c48 <[^>]*> nop
++00008c4c <[^>]*> nop
++00008c50 <[^>]*> nop
++00008c54 <[^>]*> nop
++00008c58 <[^>]*> nop
++00008c5c <[^>]*> nop
++00008c60 <[^>]*> nop
++00008c64 <[^>]*> nop
++00008c68 <[^>]*> nop
++00008c6c <[^>]*> nop
++00008c70 <[^>]*> nop
++00008c74 <[^>]*> nop
++00008c78 <[^>]*> nop
++00008c7c <[^>]*> nop
++00008c80 <[^>]*> nop
++00008c84 <[^>]*> nop
++00008c88 <[^>]*> nop
++00008c8c <[^>]*> nop
++00008c90 <[^>]*> nop
++00008c94 <[^>]*> nop
++00008c98 <[^>]*> nop
++00008c9c <[^>]*> nop
++00008ca0 <[^>]*> nop
++00008ca4 <[^>]*> nop
++00008ca8 <[^>]*> nop
++00008cac <[^>]*> nop
++00008cb0 <[^>]*> nop
++00008cb4 <[^>]*> nop
++00008cb8 <[^>]*> nop
++00008cbc <[^>]*> nop
++00008cc0 <[^>]*> nop
++00008cc4 <[^>]*> nop
++00008cc8 <[^>]*> nop
++00008ccc <[^>]*> nop
++00008cd0 <[^>]*> nop
++00008cd4 <[^>]*> nop
++00008cd8 <[^>]*> nop
++00008cdc <[^>]*> nop
++00008ce0 <[^>]*> nop
++00008ce4 <[^>]*> nop
++00008ce8 <[^>]*> nop
++00008cec <[^>]*> nop
++00008cf0 <[^>]*> nop
++00008cf4 <[^>]*> nop
++00008cf8 <[^>]*> nop
++00008cfc <[^>]*> nop
++00008d00 <[^>]*> nop
++00008d04 <[^>]*> nop
++00008d08 <[^>]*> nop
++00008d0c <[^>]*> nop
++00008d10 <[^>]*> nop
++00008d14 <[^>]*> nop
++00008d18 <[^>]*> nop
++00008d1c <[^>]*> nop
++00008d20 <[^>]*> nop
++00008d24 <[^>]*> nop
++00008d28 <[^>]*> nop
++00008d2c <[^>]*> nop
++00008d30 <[^>]*> nop
++00008d34 <[^>]*> nop
++00008d38 <[^>]*> nop
++00008d3c <[^>]*> nop
++00008d40 <[^>]*> nop
++00008d44 <[^>]*> nop
++00008d48 <[^>]*> nop
++00008d4c <[^>]*> nop
++00008d50 <[^>]*> nop
++00008d54 <[^>]*> nop
++00008d58 <[^>]*> nop
++00008d5c <[^>]*> nop
++00008d60 <[^>]*> nop
++00008d64 <[^>]*> nop
++00008d68 <[^>]*> nop
++00008d6c <[^>]*> nop
++00008d70 <[^>]*> nop
++00008d74 <[^>]*> nop
++00008d78 <[^>]*> nop
++00008d7c <[^>]*> nop
++00008d80 <[^>]*> nop
++00008d84 <[^>]*> nop
++00008d88 <[^>]*> nop
++00008d8c <[^>]*> nop
++00008d90 <[^>]*> nop
++00008d94 <[^>]*> nop
++00008d98 <[^>]*> nop
++00008d9c <[^>]*> nop
++00008da0 <[^>]*> nop
++00008da4 <[^>]*> nop
++00008da8 <[^>]*> nop
++00008dac <[^>]*> nop
++00008db0 <[^>]*> nop
++00008db4 <[^>]*> nop
++00008db8 <[^>]*> nop
++00008dbc <[^>]*> nop
++00008dc0 <[^>]*> nop
++00008dc4 <[^>]*> nop
++00008dc8 <[^>]*> nop
++00008dcc <[^>]*> nop
++00008dd0 <[^>]*> nop
++00008dd4 <[^>]*> nop
++00008dd8 <[^>]*> nop
++00008ddc <[^>]*> nop
++00008de0 <[^>]*> nop
++00008de4 <[^>]*> nop
++00008de8 <[^>]*> nop
++00008dec <[^>]*> nop
++00008df0 <[^>]*> nop
++00008df4 <[^>]*> nop
++00008df8 <[^>]*> nop
++00008dfc <[^>]*> nop
++00008e00 <[^>]*> nop
++00008e04 <[^>]*> nop
++00008e08 <[^>]*> nop
++00008e0c <[^>]*> nop
++00008e10 <[^>]*> nop
++00008e14 <[^>]*> nop
++00008e18 <[^>]*> nop
++00008e1c <[^>]*> nop
++00008e20 <[^>]*> nop
++00008e24 <[^>]*> nop
++00008e28 <[^>]*> nop
++00008e2c <[^>]*> nop
++00008e30 <[^>]*> nop
++00008e34 <[^>]*> nop
++00008e38 <[^>]*> nop
++00008e3c <[^>]*> nop
++00008e40 <[^>]*> nop
++00008e44 <[^>]*> nop
++00008e48 <[^>]*> nop
++00008e4c <[^>]*> nop
++00008e50 <[^>]*> nop
++00008e54 <[^>]*> nop
++00008e58 <[^>]*> nop
++00008e5c <[^>]*> nop
++00008e60 <[^>]*> nop
++00008e64 <[^>]*> nop
++00008e68 <[^>]*> nop
++00008e6c <[^>]*> nop
++00008e70 <[^>]*> nop
++00008e74 <[^>]*> nop
++00008e78 <[^>]*> nop
++00008e7c <[^>]*> nop
++00008e80 <[^>]*> nop
++00008e84 <[^>]*> nop
++00008e88 <[^>]*> nop
++00008e8c <[^>]*> nop
++00008e90 <[^>]*> nop
++00008e94 <[^>]*> nop
++00008e98 <[^>]*> nop
++00008e9c <[^>]*> nop
++00008ea0 <[^>]*> nop
++00008ea4 <[^>]*> nop
++00008ea8 <[^>]*> nop
++00008eac <[^>]*> nop
++00008eb0 <[^>]*> nop
++00008eb4 <[^>]*> nop
++00008eb8 <[^>]*> nop
++00008ebc <[^>]*> nop
++00008ec0 <[^>]*> nop
++00008ec4 <[^>]*> nop
++00008ec8 <[^>]*> nop
++00008ecc <[^>]*> nop
++00008ed0 <[^>]*> nop
++00008ed4 <[^>]*> nop
++00008ed8 <[^>]*> nop
++00008edc <[^>]*> nop
++00008ee0 <[^>]*> nop
++00008ee4 <[^>]*> nop
++00008ee8 <[^>]*> nop
++00008eec <[^>]*> nop
++00008ef0 <[^>]*> nop
++00008ef4 <[^>]*> nop
++00008ef8 <[^>]*> nop
++00008efc <[^>]*> nop
++00008f00 <[^>]*> nop
++00008f04 <[^>]*> nop
++00008f08 <[^>]*> nop
++00008f0c <[^>]*> nop
++00008f10 <[^>]*> nop
++00008f14 <[^>]*> nop
++00008f18 <[^>]*> nop
++00008f1c <[^>]*> nop
++00008f20 <[^>]*> nop
++00008f24 <[^>]*> nop
++00008f28 <[^>]*> nop
++00008f2c <[^>]*> nop
++00008f30 <[^>]*> nop
++00008f34 <[^>]*> nop
++00008f38 <[^>]*> nop
++00008f3c <[^>]*> nop
++00008f40 <[^>]*> nop
++00008f44 <[^>]*> nop
++00008f48 <[^>]*> nop
++00008f4c <[^>]*> nop
++00008f50 <[^>]*> nop
++00008f54 <[^>]*> nop
++00008f58 <[^>]*> nop
++00008f5c <[^>]*> nop
++00008f60 <[^>]*> nop
++00008f64 <[^>]*> nop
++00008f68 <[^>]*> nop
++00008f6c <[^>]*> nop
++00008f70 <[^>]*> nop
++00008f74 <[^>]*> nop
++00008f78 <[^>]*> nop
++00008f7c <[^>]*> nop
++00008f80 <[^>]*> nop
++00008f84 <[^>]*> nop
++00008f88 <[^>]*> nop
++00008f8c <[^>]*> nop
++00008f90 <[^>]*> nop
++00008f94 <[^>]*> nop
++00008f98 <[^>]*> nop
++00008f9c <[^>]*> nop
++00008fa0 <[^>]*> nop
++00008fa4 <[^>]*> nop
++00008fa8 <[^>]*> nop
++00008fac <[^>]*> nop
++00008fb0 <[^>]*> nop
++00008fb4 <[^>]*> nop
++00008fb8 <[^>]*> nop
++00008fbc <[^>]*> nop
++00008fc0 <[^>]*> nop
++00008fc4 <[^>]*> nop
++00008fc8 <[^>]*> nop
++00008fcc <[^>]*> nop
++00008fd0 <[^>]*> nop
++00008fd4 <[^>]*> nop
++00008fd8 <[^>]*> nop
++00008fdc <[^>]*> nop
++00008fe0 <[^>]*> nop
++00008fe4 <[^>]*> nop
++00008fe8 <[^>]*> nop
++00008fec <[^>]*> nop
++00008ff0 <[^>]*> nop
++00008ff4 <[^>]*> nop
++00008ff8 <[^>]*> nop
++00008ffc <[^>]*> nop
++00009000 <[^>]*> nop
++00009004 <[^>]*> nop
++00009008 <[^>]*> nop
++0000900c <[^>]*> nop
++00009010 <[^>]*> nop
++00009014 <[^>]*> nop
++00009018 <[^>]*> nop
++0000901c <[^>]*> nop
++00009020 <[^>]*> nop
++00009024 <[^>]*> nop
++00009028 <[^>]*> nop
++0000902c <[^>]*> nop
++00009030 <[^>]*> nop
++00009034 <[^>]*> nop
++00009038 <[^>]*> nop
++0000903c <[^>]*> nop
++00009040 <[^>]*> nop
++00009044 <[^>]*> nop
++00009048 <[^>]*> nop
++0000904c <[^>]*> nop
++00009050 <[^>]*> nop
++00009054 <[^>]*> nop
++00009058 <[^>]*> nop
++0000905c <[^>]*> nop
++00009060 <[^>]*> nop
++00009064 <[^>]*> nop
++00009068 <[^>]*> nop
++0000906c <[^>]*> nop
++00009070 <[^>]*> nop
++00009074 <[^>]*> nop
++00009078 <[^>]*> nop
++0000907c <[^>]*> nop
++00009080 <[^>]*> nop
++00009084 <[^>]*> nop
++00009088 <[^>]*> nop
++0000908c <[^>]*> nop
++00009090 <[^>]*> nop
++00009094 <[^>]*> nop
++00009098 <[^>]*> nop
++0000909c <[^>]*> nop
++000090a0 <[^>]*> nop
++000090a4 <[^>]*> nop
++000090a8 <[^>]*> nop
++000090ac <[^>]*> nop
++000090b0 <[^>]*> nop
++000090b4 <[^>]*> nop
++000090b8 <[^>]*> nop
++000090bc <[^>]*> nop
++000090c0 <[^>]*> nop
++000090c4 <[^>]*> nop
++000090c8 <[^>]*> nop
++000090cc <[^>]*> nop
++000090d0 <[^>]*> nop
++000090d4 <[^>]*> nop
++000090d8 <[^>]*> nop
++000090dc <[^>]*> nop
++000090e0 <[^>]*> nop
++000090e4 <[^>]*> nop
++000090e8 <[^>]*> nop
++000090ec <[^>]*> nop
++000090f0 <[^>]*> nop
++000090f4 <[^>]*> nop
++000090f8 <[^>]*> nop
++000090fc <[^>]*> nop
++00009100 <[^>]*> nop
++00009104 <[^>]*> nop
++00009108 <[^>]*> nop
++0000910c <[^>]*> nop
++00009110 <[^>]*> nop
++00009114 <[^>]*> nop
++00009118 <[^>]*> nop
++0000911c <[^>]*> nop
++00009120 <[^>]*> nop
++00009124 <[^>]*> nop
++00009128 <[^>]*> nop
++0000912c <[^>]*> nop
++00009130 <[^>]*> nop
++00009134 <[^>]*> nop
++00009138 <[^>]*> nop
++0000913c <[^>]*> nop
++00009140 <[^>]*> nop
++00009144 <[^>]*> nop
++00009148 <[^>]*> nop
++0000914c <[^>]*> nop
++00009150 <[^>]*> nop
++00009154 <[^>]*> nop
++00009158 <[^>]*> nop
++0000915c <[^>]*> nop
++00009160 <[^>]*> nop
++00009164 <[^>]*> nop
++00009168 <[^>]*> nop
++0000916c <[^>]*> nop
++00009170 <[^>]*> nop
++00009174 <[^>]*> nop
++00009178 <[^>]*> nop
++0000917c <[^>]*> nop
++00009180 <[^>]*> nop
++00009184 <[^>]*> nop
++00009188 <[^>]*> nop
++0000918c <[^>]*> nop
++00009190 <[^>]*> nop
++00009194 <[^>]*> nop
++00009198 <[^>]*> nop
++0000919c <[^>]*> nop
++000091a0 <[^>]*> nop
++000091a4 <[^>]*> nop
++000091a8 <[^>]*> nop
++000091ac <[^>]*> nop
++000091b0 <[^>]*> nop
++000091b4 <[^>]*> nop
++000091b8 <[^>]*> nop
++000091bc <[^>]*> nop
++000091c0 <[^>]*> nop
++000091c4 <[^>]*> nop
++000091c8 <[^>]*> nop
++000091cc <[^>]*> nop
++000091d0 <[^>]*> nop
++000091d4 <[^>]*> nop
++000091d8 <[^>]*> nop
++000091dc <[^>]*> nop
++000091e0 <[^>]*> nop
++000091e4 <[^>]*> nop
++000091e8 <[^>]*> nop
++000091ec <[^>]*> nop
++000091f0 <[^>]*> nop
++000091f4 <[^>]*> nop
++000091f8 <[^>]*> nop
++000091fc <[^>]*> nop
++00009200 <[^>]*> nop
++00009204 <[^>]*> nop
++00009208 <[^>]*> nop
++0000920c <[^>]*> nop
++00009210 <[^>]*> nop
++00009214 <[^>]*> nop
++00009218 <[^>]*> nop
++0000921c <[^>]*> nop
++00009220 <[^>]*> nop
++00009224 <[^>]*> nop
++00009228 <[^>]*> nop
++0000922c <[^>]*> nop
++00009230 <[^>]*> nop
++00009234 <[^>]*> nop
++00009238 <[^>]*> nop
++0000923c <[^>]*> nop
++00009240 <[^>]*> nop
++00009244 <[^>]*> nop
++00009248 <[^>]*> nop
++0000924c <[^>]*> nop
++00009250 <[^>]*> nop
++00009254 <[^>]*> nop
++00009258 <[^>]*> nop
++0000925c <[^>]*> nop
++00009260 <[^>]*> nop
++00009264 <[^>]*> nop
++00009268 <[^>]*> nop
++0000926c <[^>]*> nop
++00009270 <[^>]*> nop
++00009274 <[^>]*> nop
++00009278 <[^>]*> nop
++0000927c <[^>]*> nop
++00009280 <[^>]*> nop
++00009284 <[^>]*> nop
++00009288 <[^>]*> nop
++0000928c <[^>]*> nop
++00009290 <[^>]*> nop
++00009294 <[^>]*> nop
++00009298 <[^>]*> nop
++0000929c <[^>]*> nop
++000092a0 <[^>]*> nop
++000092a4 <[^>]*> nop
++000092a8 <[^>]*> nop
++000092ac <[^>]*> nop
++000092b0 <[^>]*> nop
++000092b4 <[^>]*> nop
++000092b8 <[^>]*> nop
++000092bc <[^>]*> nop
++000092c0 <[^>]*> nop
++000092c4 <[^>]*> nop
++000092c8 <[^>]*> nop
++000092cc <[^>]*> nop
++000092d0 <[^>]*> nop
++000092d4 <[^>]*> nop
++000092d8 <[^>]*> nop
++000092dc <[^>]*> nop
++000092e0 <[^>]*> nop
++000092e4 <[^>]*> nop
++000092e8 <[^>]*> nop
++000092ec <[^>]*> nop
++000092f0 <[^>]*> nop
++000092f4 <[^>]*> nop
++000092f8 <[^>]*> nop
++000092fc <[^>]*> nop
++00009300 <[^>]*> nop
++00009304 <[^>]*> nop
++00009308 <[^>]*> nop
++0000930c <[^>]*> nop
++00009310 <[^>]*> nop
++00009314 <[^>]*> nop
++00009318 <[^>]*> nop
++0000931c <[^>]*> nop
++00009320 <[^>]*> nop
++00009324 <[^>]*> nop
++00009328 <[^>]*> nop
++0000932c <[^>]*> nop
++00009330 <[^>]*> nop
++00009334 <[^>]*> nop
++00009338 <[^>]*> nop
++0000933c <[^>]*> nop
++00009340 <[^>]*> nop
++00009344 <[^>]*> nop
++00009348 <[^>]*> nop
++0000934c <[^>]*> nop
++00009350 <[^>]*> nop
++00009354 <[^>]*> nop
++00009358 <[^>]*> nop
++0000935c <[^>]*> nop
++00009360 <[^>]*> nop
++00009364 <[^>]*> nop
++00009368 <[^>]*> nop
++0000936c <[^>]*> nop
++00009370 <[^>]*> nop
++00009374 <[^>]*> nop
++00009378 <[^>]*> nop
++0000937c <[^>]*> nop
++00009380 <[^>]*> nop
++00009384 <[^>]*> nop
++00009388 <[^>]*> nop
++0000938c <[^>]*> nop
++00009390 <[^>]*> nop
++00009394 <[^>]*> nop
++00009398 <[^>]*> nop
++0000939c <[^>]*> nop
++000093a0 <[^>]*> nop
++000093a4 <[^>]*> nop
++000093a8 <[^>]*> nop
++000093ac <[^>]*> nop
++000093b0 <[^>]*> nop
++000093b4 <[^>]*> nop
++000093b8 <[^>]*> nop
++000093bc <[^>]*> nop
++000093c0 <[^>]*> nop
++000093c4 <[^>]*> nop
++000093c8 <[^>]*> nop
++000093cc <[^>]*> nop
++000093d0 <[^>]*> nop
++000093d4 <[^>]*> nop
++000093d8 <[^>]*> nop
++000093dc <[^>]*> nop
++000093e0 <[^>]*> nop
++000093e4 <[^>]*> nop
++000093e8 <[^>]*> nop
++000093ec <[^>]*> nop
++000093f0 <[^>]*> nop
++000093f4 <[^>]*> nop
++000093f8 <[^>]*> nop
++000093fc <[^>]*> nop
++00009400 <[^>]*> nop
++00009404 <[^>]*> nop
++00009408 <[^>]*> nop
++0000940c <[^>]*> nop
++00009410 <[^>]*> nop
++00009414 <[^>]*> nop
++00009418 <[^>]*> nop
++0000941c <[^>]*> nop
++00009420 <[^>]*> nop
++00009424 <[^>]*> nop
++00009428 <[^>]*> nop
++0000942c <[^>]*> nop
++00009430 <[^>]*> nop
++00009434 <[^>]*> nop
++00009438 <[^>]*> nop
++0000943c <[^>]*> nop
++00009440 <[^>]*> nop
++00009444 <[^>]*> nop
++00009448 <[^>]*> nop
++0000944c <[^>]*> nop
++00009450 <[^>]*> nop
++00009454 <[^>]*> nop
++00009458 <[^>]*> nop
++0000945c <[^>]*> nop
++00009460 <[^>]*> nop
++00009464 <[^>]*> nop
++00009468 <[^>]*> nop
++0000946c <[^>]*> nop
++00009470 <[^>]*> nop
++00009474 <[^>]*> nop
++00009478 <[^>]*> nop
++0000947c <[^>]*> nop
++00009480 <[^>]*> nop
++00009484 <[^>]*> nop
++00009488 <[^>]*> nop
++0000948c <[^>]*> nop
++00009490 <[^>]*> nop
++00009494 <[^>]*> nop
++00009498 <[^>]*> nop
++0000949c <[^>]*> nop
++000094a0 <[^>]*> nop
++000094a4 <[^>]*> nop
++000094a8 <[^>]*> nop
++000094ac <[^>]*> nop
++000094b0 <[^>]*> nop
++000094b4 <[^>]*> nop
++000094b8 <[^>]*> nop
++000094bc <[^>]*> nop
++000094c0 <[^>]*> nop
++000094c4 <[^>]*> nop
++000094c8 <[^>]*> nop
++000094cc <[^>]*> nop
++000094d0 <[^>]*> nop
++000094d4 <[^>]*> nop
++000094d8 <[^>]*> nop
++000094dc <[^>]*> nop
++000094e0 <[^>]*> nop
++000094e4 <[^>]*> nop
++000094e8 <[^>]*> nop
++000094ec <[^>]*> nop
++000094f0 <[^>]*> nop
++000094f4 <[^>]*> nop
++000094f8 <[^>]*> nop
++000094fc <[^>]*> nop
++00009500 <[^>]*> nop
++00009504 <[^>]*> nop
++00009508 <[^>]*> nop
++0000950c <[^>]*> nop
++00009510 <[^>]*> nop
++00009514 <[^>]*> nop
++00009518 <[^>]*> nop
++0000951c <[^>]*> nop
++00009520 <[^>]*> nop
++00009524 <[^>]*> nop
++00009528 <[^>]*> nop
++0000952c <[^>]*> nop
++00009530 <[^>]*> nop
++00009534 <[^>]*> nop
++00009538 <[^>]*> nop
++0000953c <[^>]*> nop
++00009540 <[^>]*> nop
++00009544 <[^>]*> nop
++00009548 <[^>]*> nop
++0000954c <[^>]*> nop
++00009550 <[^>]*> nop
++00009554 <[^>]*> nop
++00009558 <[^>]*> nop
++0000955c <[^>]*> nop
++00009560 <[^>]*> nop
++00009564 <[^>]*> nop
++00009568 <[^>]*> nop
++0000956c <[^>]*> nop
++00009570 <[^>]*> nop
++00009574 <[^>]*> nop
++00009578 <[^>]*> nop
++0000957c <[^>]*> nop
++00009580 <[^>]*> nop
++00009584 <[^>]*> nop
++00009588 <[^>]*> nop
++0000958c <[^>]*> nop
++00009590 <[^>]*> nop
++00009594 <[^>]*> nop
++00009598 <[^>]*> nop
++0000959c <[^>]*> nop
++000095a0 <[^>]*> nop
++000095a4 <[^>]*> nop
++000095a8 <[^>]*> nop
++000095ac <[^>]*> nop
++000095b0 <[^>]*> nop
++000095b4 <[^>]*> nop
++000095b8 <[^>]*> nop
++000095bc <[^>]*> nop
++000095c0 <[^>]*> nop
++000095c4 <[^>]*> nop
++000095c8 <[^>]*> nop
++000095cc <[^>]*> nop
++000095d0 <[^>]*> nop
++000095d4 <[^>]*> nop
++000095d8 <[^>]*> nop
++000095dc <[^>]*> nop
++000095e0 <[^>]*> nop
++000095e4 <[^>]*> nop
++000095e8 <[^>]*> nop
++000095ec <[^>]*> nop
++000095f0 <[^>]*> nop
++000095f4 <[^>]*> nop
++000095f8 <[^>]*> nop
++000095fc <[^>]*> nop
++00009600 <[^>]*> nop
++00009604 <[^>]*> nop
++00009608 <[^>]*> nop
++0000960c <[^>]*> nop
++00009610 <[^>]*> nop
++00009614 <[^>]*> nop
++00009618 <[^>]*> nop
++0000961c <[^>]*> nop
++00009620 <[^>]*> nop
++00009624 <[^>]*> nop
++00009628 <[^>]*> nop
++0000962c <[^>]*> nop
++00009630 <[^>]*> nop
++00009634 <[^>]*> nop
++00009638 <[^>]*> nop
++0000963c <[^>]*> nop
++00009640 <[^>]*> nop
++00009644 <[^>]*> nop
++00009648 <[^>]*> nop
++0000964c <[^>]*> nop
++00009650 <[^>]*> nop
++00009654 <[^>]*> nop
++00009658 <[^>]*> nop
++0000965c <[^>]*> nop
++00009660 <[^>]*> nop
++00009664 <[^>]*> nop
++00009668 <[^>]*> nop
++0000966c <[^>]*> nop
++00009670 <[^>]*> nop
++00009674 <[^>]*> nop
++00009678 <[^>]*> nop
++0000967c <[^>]*> nop
++00009680 <[^>]*> nop
++00009684 <[^>]*> nop
++00009688 <[^>]*> nop
++0000968c <[^>]*> nop
++00009690 <[^>]*> nop
++00009694 <[^>]*> nop
++00009698 <[^>]*> nop
++0000969c <[^>]*> nop
++000096a0 <[^>]*> nop
++000096a4 <[^>]*> nop
++000096a8 <[^>]*> nop
++000096ac <[^>]*> nop
++000096b0 <[^>]*> nop
++000096b4 <[^>]*> nop
++000096b8 <[^>]*> nop
++000096bc <[^>]*> nop
++000096c0 <[^>]*> nop
++000096c4 <[^>]*> nop
++000096c8 <[^>]*> nop
++000096cc <[^>]*> nop
++000096d0 <[^>]*> nop
++000096d4 <[^>]*> nop
++000096d8 <[^>]*> nop
++000096dc <[^>]*> nop
++000096e0 <[^>]*> nop
++000096e4 <[^>]*> nop
++000096e8 <[^>]*> nop
++000096ec <[^>]*> nop
++000096f0 <[^>]*> nop
++000096f4 <[^>]*> nop
++000096f8 <[^>]*> nop
++000096fc <[^>]*> nop
++00009700 <[^>]*> nop
++00009704 <[^>]*> nop
++00009708 <[^>]*> nop
++0000970c <[^>]*> nop
++00009710 <[^>]*> nop
++00009714 <[^>]*> nop
++00009718 <[^>]*> nop
++0000971c <[^>]*> nop
++00009720 <[^>]*> nop
++00009724 <[^>]*> nop
++00009728 <[^>]*> nop
++0000972c <[^>]*> nop
++00009730 <[^>]*> nop
++00009734 <[^>]*> nop
++00009738 <[^>]*> nop
++0000973c <[^>]*> nop
++00009740 <[^>]*> nop
++00009744 <[^>]*> nop
++00009748 <[^>]*> nop
++0000974c <[^>]*> nop
++00009750 <[^>]*> nop
++00009754 <[^>]*> nop
++00009758 <[^>]*> nop
++0000975c <[^>]*> nop
++00009760 <[^>]*> nop
++00009764 <[^>]*> nop
++00009768 <[^>]*> nop
++0000976c <[^>]*> nop
++00009770 <[^>]*> nop
++00009774 <[^>]*> nop
++00009778 <[^>]*> nop
++0000977c <[^>]*> nop
++00009780 <[^>]*> nop
++00009784 <[^>]*> nop
++00009788 <[^>]*> nop
++0000978c <[^>]*> nop
++00009790 <[^>]*> nop
++00009794 <[^>]*> nop
++00009798 <[^>]*> nop
++0000979c <[^>]*> nop
++000097a0 <[^>]*> nop
++000097a4 <[^>]*> nop
++000097a8 <[^>]*> nop
++000097ac <[^>]*> nop
++000097b0 <[^>]*> nop
++000097b4 <[^>]*> nop
++000097b8 <[^>]*> nop
++000097bc <[^>]*> nop
++000097c0 <[^>]*> nop
++000097c4 <[^>]*> nop
++000097c8 <[^>]*> nop
++000097cc <[^>]*> nop
++000097d0 <[^>]*> nop
++000097d4 <[^>]*> nop
++000097d8 <[^>]*> nop
++000097dc <[^>]*> nop
++000097e0 <[^>]*> nop
++000097e4 <[^>]*> nop
++000097e8 <[^>]*> nop
++000097ec <[^>]*> nop
++000097f0 <[^>]*> nop
++000097f4 <[^>]*> nop
++000097f8 <[^>]*> nop
++000097fc <[^>]*> nop
++00009800 <[^>]*> nop
++00009804 <[^>]*> nop
++00009808 <[^>]*> nop
++0000980c <[^>]*> nop
++00009810 <[^>]*> nop
++00009814 <[^>]*> nop
++00009818 <[^>]*> nop
++0000981c <[^>]*> nop
++00009820 <[^>]*> nop
++00009824 <[^>]*> nop
++00009828 <[^>]*> nop
++0000982c <[^>]*> nop
++00009830 <[^>]*> nop
++00009834 <[^>]*> nop
++00009838 <[^>]*> nop
++0000983c <[^>]*> nop
++00009840 <[^>]*> nop
++00009844 <[^>]*> nop
++00009848 <[^>]*> nop
++0000984c <[^>]*> nop
++00009850 <[^>]*> nop
++00009854 <[^>]*> nop
++00009858 <[^>]*> nop
++0000985c <[^>]*> nop
++00009860 <[^>]*> nop
++00009864 <[^>]*> nop
++00009868 <[^>]*> nop
++0000986c <[^>]*> nop
++00009870 <[^>]*> nop
++00009874 <[^>]*> nop
++00009878 <[^>]*> nop
++0000987c <[^>]*> nop
++00009880 <[^>]*> nop
++00009884 <[^>]*> nop
++00009888 <[^>]*> nop
++0000988c <[^>]*> nop
++00009890 <[^>]*> nop
++00009894 <[^>]*> nop
++00009898 <[^>]*> nop
++0000989c <[^>]*> nop
++000098a0 <[^>]*> nop
++000098a4 <[^>]*> nop
++000098a8 <[^>]*> nop
++000098ac <[^>]*> nop
++000098b0 <[^>]*> nop
++000098b4 <[^>]*> nop
++000098b8 <[^>]*> nop
++000098bc <[^>]*> nop
++000098c0 <[^>]*> nop
++000098c4 <[^>]*> nop
++000098c8 <[^>]*> nop
++000098cc <[^>]*> nop
++000098d0 <[^>]*> nop
++000098d4 <[^>]*> nop
++000098d8 <[^>]*> nop
++000098dc <[^>]*> nop
++000098e0 <[^>]*> nop
++000098e4 <[^>]*> nop
++000098e8 <[^>]*> nop
++000098ec <[^>]*> nop
++000098f0 <[^>]*> nop
++000098f4 <[^>]*> nop
++000098f8 <[^>]*> nop
++000098fc <[^>]*> nop
++00009900 <[^>]*> nop
++00009904 <[^>]*> nop
++00009908 <[^>]*> nop
++0000990c <[^>]*> nop
++00009910 <[^>]*> nop
++00009914 <[^>]*> nop
++00009918 <[^>]*> nop
++0000991c <[^>]*> nop
++00009920 <[^>]*> nop
++00009924 <[^>]*> nop
++00009928 <[^>]*> nop
++0000992c <[^>]*> nop
++00009930 <[^>]*> nop
++00009934 <[^>]*> nop
++00009938 <[^>]*> nop
++0000993c <[^>]*> nop
++00009940 <[^>]*> nop
++00009944 <[^>]*> nop
++00009948 <[^>]*> nop
++0000994c <[^>]*> nop
++00009950 <[^>]*> nop
++00009954 <[^>]*> nop
++00009958 <[^>]*> nop
++0000995c <[^>]*> nop
++00009960 <[^>]*> nop
++00009964 <[^>]*> nop
++00009968 <[^>]*> nop
++0000996c <[^>]*> nop
++00009970 <[^>]*> nop
++00009974 <[^>]*> nop
++00009978 <[^>]*> nop
++0000997c <[^>]*> nop
++00009980 <[^>]*> nop
++00009984 <[^>]*> nop
++00009988 <[^>]*> nop
++0000998c <[^>]*> nop
++00009990 <[^>]*> nop
++00009994 <[^>]*> nop
++00009998 <[^>]*> nop
++0000999c <[^>]*> nop
++000099a0 <[^>]*> nop
++000099a4 <[^>]*> nop
++000099a8 <[^>]*> nop
++000099ac <[^>]*> nop
++000099b0 <[^>]*> nop
++000099b4 <[^>]*> nop
++000099b8 <[^>]*> nop
++000099bc <[^>]*> nop
++000099c0 <[^>]*> nop
++000099c4 <[^>]*> nop
++000099c8 <[^>]*> nop
++000099cc <[^>]*> nop
++000099d0 <[^>]*> nop
++000099d4 <[^>]*> nop
++000099d8 <[^>]*> nop
++000099dc <[^>]*> nop
++000099e0 <[^>]*> nop
++000099e4 <[^>]*> nop
++000099e8 <[^>]*> nop
++000099ec <[^>]*> nop
++000099f0 <[^>]*> nop
++000099f4 <[^>]*> nop
++000099f8 <[^>]*> nop
++000099fc <[^>]*> nop
++00009a00 <[^>]*> nop
++00009a04 <[^>]*> nop
++00009a08 <[^>]*> nop
++00009a0c <[^>]*> nop
++00009a10 <[^>]*> nop
++00009a14 <[^>]*> nop
++00009a18 <[^>]*> nop
++00009a1c <[^>]*> nop
++00009a20 <[^>]*> nop
++00009a24 <[^>]*> nop
++00009a28 <[^>]*> nop
++00009a2c <[^>]*> nop
++00009a30 <[^>]*> nop
++00009a34 <[^>]*> nop
++00009a38 <[^>]*> nop
++00009a3c <[^>]*> nop
++00009a40 <[^>]*> nop
++00009a44 <[^>]*> nop
++00009a48 <[^>]*> nop
++00009a4c <[^>]*> nop
++00009a50 <[^>]*> nop
++00009a54 <[^>]*> nop
++00009a58 <[^>]*> nop
++00009a5c <[^>]*> nop
++00009a60 <[^>]*> nop
++00009a64 <[^>]*> nop
++00009a68 <[^>]*> nop
++00009a6c <[^>]*> nop
++00009a70 <[^>]*> nop
++00009a74 <[^>]*> nop
++00009a78 <[^>]*> nop
++00009a7c <[^>]*> nop
++00009a80 <[^>]*> nop
++00009a84 <[^>]*> nop
++00009a88 <[^>]*> nop
++00009a8c <[^>]*> nop
++00009a90 <[^>]*> nop
++00009a94 <[^>]*> nop
++00009a98 <[^>]*> nop
++00009a9c <[^>]*> nop
++00009aa0 <[^>]*> nop
++00009aa4 <[^>]*> nop
++00009aa8 <[^>]*> nop
++00009aac <[^>]*> nop
++00009ab0 <[^>]*> nop
++00009ab4 <[^>]*> nop
++00009ab8 <[^>]*> nop
++00009abc <[^>]*> nop
++00009ac0 <[^>]*> nop
++00009ac4 <[^>]*> nop
++00009ac8 <[^>]*> nop
++00009acc <[^>]*> nop
++00009ad0 <[^>]*> nop
++00009ad4 <[^>]*> nop
++00009ad8 <[^>]*> nop
++00009adc <[^>]*> nop
++00009ae0 <[^>]*> nop
++00009ae4 <[^>]*> nop
++00009ae8 <[^>]*> nop
++00009aec <[^>]*> nop
++00009af0 <[^>]*> nop
++00009af4 <[^>]*> nop
++00009af8 <[^>]*> nop
++00009afc <[^>]*> nop
++00009b00 <[^>]*> nop
++00009b04 <[^>]*> nop
++00009b08 <[^>]*> nop
++00009b0c <[^>]*> nop
++00009b10 <[^>]*> nop
++00009b14 <[^>]*> nop
++00009b18 <[^>]*> nop
++00009b1c <[^>]*> nop
++00009b20 <[^>]*> nop
++00009b24 <[^>]*> nop
++00009b28 <[^>]*> nop
++00009b2c <[^>]*> nop
++00009b30 <[^>]*> nop
++00009b34 <[^>]*> nop
++00009b38 <[^>]*> nop
++00009b3c <[^>]*> nop
++00009b40 <[^>]*> nop
++00009b44 <[^>]*> nop
++00009b48 <[^>]*> nop
++00009b4c <[^>]*> nop
++00009b50 <[^>]*> nop
++00009b54 <[^>]*> nop
++00009b58 <[^>]*> nop
++00009b5c <[^>]*> nop
++00009b60 <[^>]*> nop
++00009b64 <[^>]*> nop
++00009b68 <[^>]*> nop
++00009b6c <[^>]*> nop
++00009b70 <[^>]*> nop
++00009b74 <[^>]*> nop
++00009b78 <[^>]*> nop
++00009b7c <[^>]*> nop
++00009b80 <[^>]*> nop
++00009b84 <[^>]*> nop
++00009b88 <[^>]*> nop
++00009b8c <[^>]*> nop
++00009b90 <[^>]*> nop
++00009b94 <[^>]*> nop
++00009b98 <[^>]*> nop
++00009b9c <[^>]*> nop
++00009ba0 <[^>]*> nop
++00009ba4 <[^>]*> nop
++00009ba8 <[^>]*> nop
++00009bac <[^>]*> nop
++00009bb0 <[^>]*> nop
++00009bb4 <[^>]*> nop
++00009bb8 <[^>]*> nop
++00009bbc <[^>]*> nop
++00009bc0 <[^>]*> nop
++00009bc4 <[^>]*> nop
++00009bc8 <[^>]*> nop
++00009bcc <[^>]*> nop
++00009bd0 <[^>]*> nop
++00009bd4 <[^>]*> nop
++00009bd8 <[^>]*> nop
++00009bdc <[^>]*> nop
++00009be0 <[^>]*> nop
++00009be4 <[^>]*> nop
++00009be8 <[^>]*> nop
++00009bec <[^>]*> nop
++00009bf0 <[^>]*> nop
++00009bf4 <[^>]*> nop
++00009bf8 <[^>]*> nop
++00009bfc <[^>]*> nop
++00009c00 <[^>]*> nop
++00009c04 <[^>]*> nop
++00009c08 <[^>]*> nop
++00009c0c <[^>]*> nop
++00009c10 <[^>]*> nop
++00009c14 <[^>]*> nop
++00009c18 <[^>]*> nop
++00009c1c <[^>]*> nop
++00009c20 <[^>]*> nop
++00009c24 <[^>]*> nop
++00009c28 <[^>]*> nop
++00009c2c <[^>]*> nop
++00009c30 <[^>]*> nop
++00009c34 <[^>]*> nop
++00009c38 <[^>]*> nop
++00009c3c <[^>]*> nop
++00009c40 <[^>]*> nop
++00009c44 <[^>]*> nop
++00009c48 <[^>]*> nop
++00009c4c <[^>]*> nop
++00009c50 <[^>]*> nop
++00009c54 <[^>]*> nop
++00009c58 <[^>]*> nop
++00009c5c <[^>]*> nop
++00009c60 <[^>]*> nop
++00009c64 <[^>]*> nop
++00009c68 <[^>]*> nop
++00009c6c <[^>]*> nop
++00009c70 <[^>]*> nop
++00009c74 <[^>]*> nop
++00009c78 <[^>]*> nop
++00009c7c <[^>]*> nop
++00009c80 <[^>]*> nop
++00009c84 <[^>]*> nop
++00009c88 <[^>]*> nop
++00009c8c <[^>]*> nop
++00009c90 <[^>]*> nop
++00009c94 <[^>]*> nop
++00009c98 <[^>]*> nop
++00009c9c <[^>]*> nop
++00009ca0 <[^>]*> nop
++00009ca4 <[^>]*> nop
++00009ca8 <[^>]*> nop
++00009cac <[^>]*> nop
++00009cb0 <[^>]*> nop
++00009cb4 <[^>]*> nop
++00009cb8 <[^>]*> nop
++00009cbc <[^>]*> nop
++00009cc0 <[^>]*> nop
++00009cc4 <[^>]*> nop
++00009cc8 <[^>]*> nop
++00009ccc <[^>]*> nop
++00009cd0 <[^>]*> nop
++00009cd4 <[^>]*> nop
++00009cd8 <[^>]*> nop
++00009cdc <[^>]*> nop
++00009ce0 <[^>]*> nop
++00009ce4 <[^>]*> nop
++00009ce8 <[^>]*> nop
++00009cec <[^>]*> nop
++00009cf0 <[^>]*> nop
++00009cf4 <[^>]*> nop
++00009cf8 <[^>]*> nop
++00009cfc <[^>]*> nop
++00009d00 <[^>]*> nop
++00009d04 <[^>]*> nop
++00009d08 <[^>]*> nop
++00009d0c <[^>]*> nop
++00009d10 <[^>]*> nop
++00009d14 <[^>]*> nop
++00009d18 <[^>]*> nop
++00009d1c <[^>]*> nop
++00009d20 <[^>]*> nop
++00009d24 <[^>]*> nop
++00009d28 <[^>]*> nop
++00009d2c <[^>]*> nop
++00009d30 <[^>]*> nop
++00009d34 <[^>]*> nop
++00009d38 <[^>]*> nop
++00009d3c <[^>]*> nop
++00009d40 <[^>]*> nop
++00009d44 <[^>]*> nop
++00009d48 <[^>]*> nop
++00009d4c <[^>]*> nop
++00009d50 <[^>]*> nop
++00009d54 <[^>]*> nop
++00009d58 <[^>]*> nop
++00009d5c <[^>]*> nop
++00009d60 <[^>]*> nop
++00009d64 <[^>]*> nop
++00009d68 <[^>]*> nop
++00009d6c <[^>]*> nop
++00009d70 <[^>]*> nop
++00009d74 <[^>]*> nop
++00009d78 <[^>]*> nop
++00009d7c <[^>]*> nop
++00009d80 <[^>]*> nop
++00009d84 <[^>]*> nop
++00009d88 <[^>]*> nop
++00009d8c <[^>]*> nop
++00009d90 <[^>]*> nop
++00009d94 <[^>]*> nop
++00009d98 <[^>]*> nop
++00009d9c <[^>]*> nop
++00009da0 <[^>]*> nop
++00009da4 <[^>]*> nop
++00009da8 <[^>]*> nop
++00009dac <[^>]*> nop
++00009db0 <[^>]*> nop
++00009db4 <[^>]*> nop
++00009db8 <[^>]*> nop
++00009dbc <[^>]*> nop
++00009dc0 <[^>]*> nop
++00009dc4 <[^>]*> nop
++00009dc8 <[^>]*> nop
++00009dcc <[^>]*> nop
++00009dd0 <[^>]*> nop
++00009dd4 <[^>]*> nop
++00009dd8 <[^>]*> nop
++00009ddc <[^>]*> nop
++00009de0 <[^>]*> nop
++00009de4 <[^>]*> nop
++00009de8 <[^>]*> nop
++00009dec <[^>]*> nop
++00009df0 <[^>]*> nop
++00009df4 <[^>]*> nop
++00009df8 <[^>]*> nop
++00009dfc <[^>]*> nop
++00009e00 <[^>]*> nop
++00009e04 <[^>]*> nop
++00009e08 <[^>]*> nop
++00009e0c <[^>]*> nop
++00009e10 <[^>]*> nop
++00009e14 <[^>]*> nop
++00009e18 <[^>]*> nop
++00009e1c <[^>]*> nop
++00009e20 <[^>]*> nop
++00009e24 <[^>]*> nop
++00009e28 <[^>]*> nop
++00009e2c <[^>]*> nop
++00009e30 <[^>]*> nop
++00009e34 <[^>]*> nop
++00009e38 <[^>]*> nop
++00009e3c <[^>]*> nop
++00009e40 <[^>]*> nop
++00009e44 <[^>]*> nop
++00009e48 <[^>]*> nop
++00009e4c <[^>]*> nop
++00009e50 <[^>]*> nop
++00009e54 <[^>]*> nop
++00009e58 <[^>]*> nop
++00009e5c <[^>]*> nop
++00009e60 <[^>]*> nop
++00009e64 <[^>]*> nop
++00009e68 <[^>]*> nop
++00009e6c <[^>]*> nop
++00009e70 <[^>]*> nop
++00009e74 <[^>]*> nop
++00009e78 <[^>]*> nop
++00009e7c <[^>]*> nop
++00009e80 <[^>]*> nop
++00009e84 <[^>]*> nop
++00009e88 <[^>]*> nop
++00009e8c <[^>]*> nop
++00009e90 <[^>]*> nop
++00009e94 <[^>]*> nop
++00009e98 <[^>]*> nop
++00009e9c <[^>]*> nop
++00009ea0 <[^>]*> nop
++00009ea4 <[^>]*> nop
++00009ea8 <[^>]*> nop
++00009eac <[^>]*> nop
++00009eb0 <[^>]*> nop
++00009eb4 <[^>]*> nop
++00009eb8 <[^>]*> nop
++00009ebc <[^>]*> nop
++00009ec0 <[^>]*> nop
++00009ec4 <[^>]*> nop
++00009ec8 <[^>]*> nop
++00009ecc <[^>]*> nop
++00009ed0 <[^>]*> nop
++00009ed4 <[^>]*> nop
++00009ed8 <[^>]*> nop
++00009edc <[^>]*> nop
++00009ee0 <[^>]*> nop
++00009ee4 <[^>]*> nop
++00009ee8 <[^>]*> nop
++00009eec <[^>]*> nop
++00009ef0 <[^>]*> nop
++00009ef4 <[^>]*> nop
++00009ef8 <[^>]*> nop
++00009efc <[^>]*> nop
++00009f00 <[^>]*> nop
++00009f04 <[^>]*> nop
++00009f08 <[^>]*> nop
++00009f0c <[^>]*> nop
++00009f10 <[^>]*> nop
++00009f14 <[^>]*> nop
++00009f18 <[^>]*> nop
++00009f1c <[^>]*> nop
++00009f20 <[^>]*> nop
++00009f24 <[^>]*> nop
++00009f28 <[^>]*> nop
++00009f2c <[^>]*> nop
++00009f30 <[^>]*> nop
++00009f34 <[^>]*> nop
++00009f38 <[^>]*> nop
++00009f3c <[^>]*> nop
++00009f40 <[^>]*> nop
++00009f44 <[^>]*> nop
++00009f48 <[^>]*> nop
++00009f4c <[^>]*> nop
++00009f50 <[^>]*> nop
++00009f54 <[^>]*> nop
++00009f58 <[^>]*> nop
++00009f5c <[^>]*> nop
++00009f60 <[^>]*> nop
++00009f64 <[^>]*> nop
++00009f68 <[^>]*> nop
++00009f6c <[^>]*> nop
++00009f70 <[^>]*> nop
++00009f74 <[^>]*> nop
++00009f78 <[^>]*> nop
++00009f7c <[^>]*> nop
++00009f80 <[^>]*> nop
++00009f84 <[^>]*> nop
++00009f88 <[^>]*> nop
++00009f8c <[^>]*> nop
++00009f90 <[^>]*> nop
++00009f94 <[^>]*> nop
++00009f98 <[^>]*> nop
++00009f9c <[^>]*> nop
++00009fa0 <[^>]*> nop
++00009fa4 <[^>]*> nop
++00009fa8 <[^>]*> nop
++00009fac <[^>]*> nop
++00009fb0 <[^>]*> nop
++00009fb4 <[^>]*> nop
++00009fb8 <[^>]*> nop
++00009fbc <[^>]*> nop
++00009fc0 <[^>]*> nop
++00009fc4 <[^>]*> nop
++00009fc8 <[^>]*> nop
++00009fcc <[^>]*> nop
++00009fd0 <[^>]*> nop
++00009fd4 <[^>]*> nop
++00009fd8 <[^>]*> nop
++00009fdc <[^>]*> nop
++00009fe0 <[^>]*> nop
++00009fe4 <[^>]*> nop
++00009fe8 <[^>]*> nop
++00009fec <[^>]*> nop
++00009ff0 <[^>]*> nop
++00009ff4 <[^>]*> nop
++00009ff8 <[^>]*> nop
++00009ffc <[^>]*> nop
++0000a000 <[^>]*> nop
++0000a004 <[^>]*> nop
++0000a008 <[^>]*> nop
++0000a00c <[^>]*> nop
++0000a010 <[^>]*> nop
++0000a014 <[^>]*> nop
++0000a018 <[^>]*> nop
++0000a01c <[^>]*> nop
++0000a020 <[^>]*> nop
++0000a024 <[^>]*> nop
++0000a028 <[^>]*> nop
++0000a02c <[^>]*> nop
++0000a030 <[^>]*> nop
++0000a034 <[^>]*> nop
++0000a038 <[^>]*> nop
++0000a03c <[^>]*> nop
++0000a040 <[^>]*> nop
++0000a044 <[^>]*> nop
++0000a048 <[^>]*> nop
++0000a04c <[^>]*> nop
++0000a050 <[^>]*> nop
++0000a054 <[^>]*> nop
++0000a058 <[^>]*> nop
++0000a05c <[^>]*> nop
++0000a060 <[^>]*> nop
++0000a064 <[^>]*> nop
++0000a068 <[^>]*> nop
++0000a06c <[^>]*> nop
++0000a070 <[^>]*> nop
++0000a074 <[^>]*> nop
++0000a078 <[^>]*> nop
++0000a07c <[^>]*> nop
++0000a080 <[^>]*> nop
++0000a084 <[^>]*> nop
++0000a088 <[^>]*> nop
++0000a08c <[^>]*> nop
++0000a090 <[^>]*> nop
++0000a094 <[^>]*> nop
++0000a098 <[^>]*> nop
++0000a09c <[^>]*> nop
++0000a0a0 <[^>]*> nop
++0000a0a4 <[^>]*> nop
++0000a0a8 <[^>]*> nop
++0000a0ac <[^>]*> nop
++0000a0b0 <[^>]*> nop
++0000a0b4 <[^>]*> nop
++0000a0b8 <[^>]*> nop
++0000a0bc <[^>]*> nop
++0000a0c0 <[^>]*> nop
++0000a0c4 <[^>]*> nop
++0000a0c8 <[^>]*> nop
++0000a0cc <[^>]*> nop
++0000a0d0 <[^>]*> nop
++0000a0d4 <[^>]*> nop
++0000a0d8 <[^>]*> nop
++0000a0dc <[^>]*> nop
++0000a0e0 <[^>]*> nop
++0000a0e4 <[^>]*> nop
++0000a0e8 <[^>]*> nop
++0000a0ec <[^>]*> nop
++0000a0f0 <[^>]*> nop
++0000a0f4 <[^>]*> nop
++0000a0f8 <[^>]*> nop
++0000a0fc <[^>]*> nop
++0000a100 <[^>]*> nop
++0000a104 <[^>]*> nop
++0000a108 <[^>]*> nop
++0000a10c <[^>]*> nop
++0000a110 <[^>]*> nop
++0000a114 <[^>]*> nop
++0000a118 <[^>]*> nop
++0000a11c <[^>]*> nop
++0000a120 <[^>]*> nop
++0000a124 <[^>]*> nop
++0000a128 <[^>]*> nop
++0000a12c <[^>]*> nop
++0000a130 <[^>]*> nop
++0000a134 <[^>]*> nop
++0000a138 <[^>]*> nop
++0000a13c <[^>]*> nop
++0000a140 <[^>]*> nop
++0000a144 <[^>]*> nop
++0000a148 <[^>]*> nop
++0000a14c <[^>]*> nop
++0000a150 <[^>]*> nop
++0000a154 <[^>]*> nop
++0000a158 <[^>]*> nop
++0000a15c <[^>]*> nop
++0000a160 <[^>]*> nop
++0000a164 <[^>]*> nop
++0000a168 <[^>]*> nop
++0000a16c <[^>]*> nop
++0000a170 <[^>]*> nop
++0000a174 <[^>]*> nop
++0000a178 <[^>]*> nop
++0000a17c <[^>]*> nop
++0000a180 <[^>]*> nop
++0000a184 <[^>]*> nop
++0000a188 <[^>]*> nop
++0000a18c <[^>]*> nop
++0000a190 <[^>]*> nop
++0000a194 <[^>]*> nop
++0000a198 <[^>]*> nop
++0000a19c <[^>]*> nop
++0000a1a0 <[^>]*> nop
++0000a1a4 <[^>]*> nop
++0000a1a8 <[^>]*> nop
++0000a1ac <[^>]*> nop
++0000a1b0 <[^>]*> nop
++0000a1b4 <[^>]*> nop
++0000a1b8 <[^>]*> nop
++0000a1bc <[^>]*> nop
++0000a1c0 <[^>]*> nop
++0000a1c4 <[^>]*> nop
++0000a1c8 <[^>]*> nop
++0000a1cc <[^>]*> nop
++0000a1d0 <[^>]*> nop
++0000a1d4 <[^>]*> nop
++0000a1d8 <[^>]*> nop
++0000a1dc <[^>]*> nop
++0000a1e0 <[^>]*> nop
++0000a1e4 <[^>]*> nop
++0000a1e8 <[^>]*> nop
++0000a1ec <[^>]*> nop
++0000a1f0 <[^>]*> nop
++0000a1f4 <[^>]*> nop
++0000a1f8 <[^>]*> nop
++0000a1fc <[^>]*> nop
++0000a200 <[^>]*> nop
++0000a204 <[^>]*> nop
++0000a208 <[^>]*> nop
++0000a20c <[^>]*> nop
++0000a210 <[^>]*> nop
++0000a214 <[^>]*> nop
++0000a218 <[^>]*> nop
++0000a21c <[^>]*> nop
++0000a220 <[^>]*> nop
++0000a224 <[^>]*> nop
++0000a228 <[^>]*> nop
++0000a22c <[^>]*> nop
++0000a230 <[^>]*> nop
++0000a234 <[^>]*> nop
++0000a238 <[^>]*> nop
++0000a23c <[^>]*> nop
++0000a240 <[^>]*> nop
++0000a244 <[^>]*> nop
++0000a248 <[^>]*> nop
++0000a24c <[^>]*> nop
++0000a250 <[^>]*> nop
++0000a254 <[^>]*> nop
++0000a258 <[^>]*> nop
++0000a25c <[^>]*> nop
++0000a260 <[^>]*> nop
++0000a264 <[^>]*> nop
++0000a268 <[^>]*> nop
++0000a26c <[^>]*> nop
++0000a270 <[^>]*> nop
++0000a274 <[^>]*> nop
++0000a278 <[^>]*> nop
++0000a27c <[^>]*> nop
++0000a280 <[^>]*> nop
++0000a284 <[^>]*> nop
++0000a288 <[^>]*> nop
++0000a28c <[^>]*> nop
++0000a290 <[^>]*> nop
++0000a294 <[^>]*> nop
++0000a298 <[^>]*> nop
++0000a29c <[^>]*> nop
++0000a2a0 <[^>]*> nop
++0000a2a4 <[^>]*> nop
++0000a2a8 <[^>]*> nop
++0000a2ac <[^>]*> nop
++0000a2b0 <[^>]*> nop
++0000a2b4 <[^>]*> nop
++0000a2b8 <[^>]*> nop
++0000a2bc <[^>]*> nop
++0000a2c0 <[^>]*> nop
++0000a2c4 <[^>]*> nop
++0000a2c8 <[^>]*> nop
++0000a2cc <[^>]*> nop
++0000a2d0 <[^>]*> nop
++0000a2d4 <[^>]*> nop
++0000a2d8 <[^>]*> nop
++0000a2dc <[^>]*> nop
++0000a2e0 <[^>]*> nop
++0000a2e4 <[^>]*> nop
++0000a2e8 <[^>]*> nop
++0000a2ec <[^>]*> nop
++0000a2f0 <[^>]*> nop
++0000a2f4 <[^>]*> nop
++0000a2f8 <[^>]*> nop
++0000a2fc <[^>]*> nop
++0000a300 <[^>]*> nop
++0000a304 <[^>]*> nop
++0000a308 <[^>]*> nop
++0000a30c <[^>]*> nop
++0000a310 <[^>]*> nop
++0000a314 <[^>]*> nop
++0000a318 <[^>]*> nop
++0000a31c <[^>]*> nop
++0000a320 <[^>]*> nop
++0000a324 <[^>]*> nop
++0000a328 <[^>]*> nop
++0000a32c <[^>]*> nop
++0000a330 <[^>]*> nop
++0000a334 <[^>]*> nop
++0000a338 <[^>]*> nop
++0000a33c <[^>]*> nop
++0000a340 <[^>]*> nop
++0000a344 <[^>]*> nop
++0000a348 <[^>]*> nop
++0000a34c <[^>]*> nop
++0000a350 <[^>]*> nop
++0000a354 <[^>]*> nop
++0000a358 <[^>]*> nop
++0000a35c <[^>]*> nop
++0000a360 <[^>]*> nop
++0000a364 <[^>]*> nop
++0000a368 <[^>]*> nop
++0000a36c <[^>]*> nop
++0000a370 <[^>]*> nop
++0000a374 <[^>]*> nop
++0000a378 <[^>]*> nop
++0000a37c <[^>]*> nop
++0000a380 <[^>]*> nop
++0000a384 <[^>]*> nop
++0000a388 <[^>]*> nop
++0000a38c <[^>]*> nop
++0000a390 <[^>]*> nop
++0000a394 <[^>]*> nop
++0000a398 <[^>]*> nop
++0000a39c <[^>]*> nop
++0000a3a0 <[^>]*> nop
++0000a3a4 <[^>]*> nop
++0000a3a8 <[^>]*> nop
++0000a3ac <[^>]*> nop
++0000a3b0 <[^>]*> nop
++0000a3b4 <[^>]*> nop
++0000a3b8 <[^>]*> nop
++0000a3bc <[^>]*> nop
++0000a3c0 <[^>]*> nop
++0000a3c4 <[^>]*> nop
++0000a3c8 <[^>]*> nop
++0000a3cc <[^>]*> nop
++0000a3d0 <[^>]*> nop
++0000a3d4 <[^>]*> nop
++0000a3d8 <[^>]*> nop
++0000a3dc <[^>]*> nop
++0000a3e0 <[^>]*> nop
++0000a3e4 <[^>]*> nop
++0000a3e8 <[^>]*> nop
++0000a3ec <[^>]*> nop
++0000a3f0 <[^>]*> nop
++0000a3f4 <[^>]*> nop
++0000a3f8 <[^>]*> nop
++0000a3fc <[^>]*> nop
++0000a400 <[^>]*> nop
++0000a404 <[^>]*> nop
++0000a408 <[^>]*> nop
++0000a40c <[^>]*> nop
++0000a410 <[^>]*> nop
++0000a414 <[^>]*> nop
++0000a418 <[^>]*> nop
++0000a41c <[^>]*> nop
++0000a420 <[^>]*> nop
++0000a424 <[^>]*> nop
++0000a428 <[^>]*> nop
++0000a42c <[^>]*> nop
++0000a430 <[^>]*> nop
++0000a434 <[^>]*> nop
++0000a438 <[^>]*> nop
++0000a43c <[^>]*> nop
++0000a440 <[^>]*> nop
++0000a444 <[^>]*> nop
++0000a448 <[^>]*> nop
++0000a44c <[^>]*> nop
++0000a450 <[^>]*> nop
++0000a454 <[^>]*> nop
++0000a458 <[^>]*> nop
++0000a45c <[^>]*> nop
++0000a460 <[^>]*> nop
++0000a464 <[^>]*> nop
++0000a468 <[^>]*> nop
++0000a46c <[^>]*> nop
++0000a470 <[^>]*> nop
++0000a474 <[^>]*> nop
++0000a478 <[^>]*> nop
++0000a47c <[^>]*> nop
++0000a480 <[^>]*> nop
++0000a484 <[^>]*> nop
++0000a488 <[^>]*> nop
++0000a48c <[^>]*> nop
++0000a490 <[^>]*> nop
++0000a494 <[^>]*> nop
++0000a498 <[^>]*> nop
++0000a49c <[^>]*> nop
++0000a4a0 <[^>]*> nop
++0000a4a4 <[^>]*> nop
++0000a4a8 <[^>]*> nop
++0000a4ac <[^>]*> nop
++0000a4b0 <[^>]*> nop
++0000a4b4 <[^>]*> nop
++0000a4b8 <[^>]*> nop
++0000a4bc <[^>]*> nop
++0000a4c0 <[^>]*> nop
++0000a4c4 <[^>]*> nop
++0000a4c8 <[^>]*> nop
++0000a4cc <[^>]*> nop
++0000a4d0 <[^>]*> nop
++0000a4d4 <[^>]*> nop
++0000a4d8 <[^>]*> nop
++0000a4dc <[^>]*> nop
++0000a4e0 <[^>]*> nop
++0000a4e4 <[^>]*> nop
++0000a4e8 <[^>]*> nop
++0000a4ec <[^>]*> nop
++0000a4f0 <[^>]*> nop
++0000a4f4 <[^>]*> nop
++0000a4f8 <[^>]*> nop
++0000a4fc <[^>]*> nop
++0000a500 <[^>]*> nop
++0000a504 <[^>]*> nop
++0000a508 <[^>]*> nop
++0000a50c <[^>]*> nop
++0000a510 <[^>]*> nop
++0000a514 <[^>]*> nop
++0000a518 <[^>]*> nop
++0000a51c <[^>]*> nop
++0000a520 <[^>]*> nop
++0000a524 <[^>]*> nop
++0000a528 <[^>]*> nop
++0000a52c <[^>]*> nop
++0000a530 <[^>]*> nop
++0000a534 <[^>]*> nop
++0000a538 <[^>]*> nop
++0000a53c <[^>]*> nop
++0000a540 <[^>]*> nop
++0000a544 <[^>]*> nop
++0000a548 <[^>]*> nop
++0000a54c <[^>]*> nop
++0000a550 <[^>]*> nop
++0000a554 <[^>]*> nop
++0000a558 <[^>]*> nop
++0000a55c <[^>]*> nop
++0000a560 <[^>]*> nop
++0000a564 <[^>]*> nop
++0000a568 <[^>]*> nop
++0000a56c <[^>]*> nop
++0000a570 <[^>]*> nop
++0000a574 <[^>]*> nop
++0000a578 <[^>]*> nop
++0000a57c <[^>]*> nop
++0000a580 <[^>]*> nop
++0000a584 <[^>]*> nop
++0000a588 <[^>]*> nop
++0000a58c <[^>]*> nop
++0000a590 <[^>]*> nop
++0000a594 <[^>]*> nop
++0000a598 <[^>]*> nop
++0000a59c <[^>]*> nop
++0000a5a0 <[^>]*> nop
++0000a5a4 <[^>]*> nop
++0000a5a8 <[^>]*> nop
++0000a5ac <[^>]*> nop
++0000a5b0 <[^>]*> nop
++0000a5b4 <[^>]*> nop
++0000a5b8 <[^>]*> nop
++0000a5bc <[^>]*> nop
++0000a5c0 <[^>]*> nop
++0000a5c4 <[^>]*> nop
++0000a5c8 <[^>]*> nop
++0000a5cc <[^>]*> nop
++0000a5d0 <[^>]*> nop
++0000a5d4 <[^>]*> nop
++0000a5d8 <[^>]*> nop
++0000a5dc <[^>]*> nop
++0000a5e0 <[^>]*> nop
++0000a5e4 <[^>]*> nop
++0000a5e8 <[^>]*> nop
++0000a5ec <[^>]*> nop
++0000a5f0 <[^>]*> nop
++0000a5f4 <[^>]*> nop
++0000a5f8 <[^>]*> nop
++0000a5fc <[^>]*> nop
++0000a600 <[^>]*> nop
++0000a604 <[^>]*> nop
++0000a608 <[^>]*> nop
++0000a60c <[^>]*> nop
++0000a610 <[^>]*> nop
++0000a614 <[^>]*> nop
++0000a618 <[^>]*> nop
++0000a61c <[^>]*> nop
++0000a620 <[^>]*> nop
++0000a624 <[^>]*> nop
++0000a628 <[^>]*> nop
++0000a62c <[^>]*> nop
++0000a630 <[^>]*> nop
++0000a634 <[^>]*> nop
++0000a638 <[^>]*> nop
++0000a63c <[^>]*> nop
++0000a640 <[^>]*> nop
++0000a644 <[^>]*> nop
++0000a648 <[^>]*> nop
++0000a64c <[^>]*> nop
++0000a650 <[^>]*> nop
++0000a654 <[^>]*> nop
++0000a658 <[^>]*> nop
++0000a65c <[^>]*> nop
++0000a660 <[^>]*> nop
++0000a664 <[^>]*> nop
++0000a668 <[^>]*> nop
++0000a66c <[^>]*> nop
++0000a670 <[^>]*> nop
++0000a674 <[^>]*> nop
++0000a678 <[^>]*> nop
++0000a67c <[^>]*> nop
++0000a680 <[^>]*> nop
++0000a684 <[^>]*> nop
++0000a688 <[^>]*> nop
++0000a68c <[^>]*> nop
++0000a690 <[^>]*> nop
++0000a694 <[^>]*> nop
++0000a698 <[^>]*> nop
++0000a69c <[^>]*> nop
++0000a6a0 <[^>]*> nop
++0000a6a4 <[^>]*> nop
++0000a6a8 <[^>]*> nop
++0000a6ac <[^>]*> nop
++0000a6b0 <[^>]*> nop
++0000a6b4 <[^>]*> nop
++0000a6b8 <[^>]*> nop
++0000a6bc <[^>]*> nop
++0000a6c0 <[^>]*> nop
++0000a6c4 <[^>]*> nop
++0000a6c8 <[^>]*> nop
++0000a6cc <[^>]*> nop
++0000a6d0 <[^>]*> nop
++0000a6d4 <[^>]*> nop
++0000a6d8 <[^>]*> nop
++0000a6dc <[^>]*> nop
++0000a6e0 <[^>]*> nop
++0000a6e4 <[^>]*> nop
++0000a6e8 <[^>]*> nop
++0000a6ec <[^>]*> nop
++0000a6f0 <[^>]*> nop
++0000a6f4 <[^>]*> nop
++0000a6f8 <[^>]*> nop
++0000a6fc <[^>]*> nop
++0000a700 <[^>]*> nop
++0000a704 <[^>]*> nop
++0000a708 <[^>]*> nop
++0000a70c <[^>]*> nop
++0000a710 <[^>]*> nop
++0000a714 <[^>]*> nop
++0000a718 <[^>]*> nop
++0000a71c <[^>]*> nop
++0000a720 <[^>]*> nop
++0000a724 <[^>]*> nop
++0000a728 <[^>]*> nop
++0000a72c <[^>]*> nop
++0000a730 <[^>]*> nop
++0000a734 <[^>]*> nop
++0000a738 <[^>]*> nop
++0000a73c <[^>]*> nop
++0000a740 <[^>]*> nop
++0000a744 <[^>]*> nop
++0000a748 <[^>]*> nop
++0000a74c <[^>]*> nop
++0000a750 <[^>]*> nop
++0000a754 <[^>]*> nop
++0000a758 <[^>]*> nop
++0000a75c <[^>]*> nop
++0000a760 <[^>]*> nop
++0000a764 <[^>]*> nop
++0000a768 <[^>]*> nop
++0000a76c <[^>]*> nop
++0000a770 <[^>]*> nop
++0000a774 <[^>]*> nop
++0000a778 <[^>]*> nop
++0000a77c <[^>]*> nop
++0000a780 <[^>]*> nop
++0000a784 <[^>]*> nop
++0000a788 <[^>]*> nop
++0000a78c <[^>]*> nop
++0000a790 <[^>]*> nop
++0000a794 <[^>]*> nop
++0000a798 <[^>]*> nop
++0000a79c <[^>]*> nop
++0000a7a0 <[^>]*> nop
++0000a7a4 <[^>]*> nop
++0000a7a8 <[^>]*> nop
++0000a7ac <[^>]*> nop
++0000a7b0 <[^>]*> nop
++0000a7b4 <[^>]*> nop
++0000a7b8 <[^>]*> nop
++0000a7bc <[^>]*> nop
++0000a7c0 <[^>]*> nop
++0000a7c4 <[^>]*> nop
++0000a7c8 <[^>]*> nop
++0000a7cc <[^>]*> nop
++0000a7d0 <[^>]*> nop
++0000a7d4 <[^>]*> nop
++0000a7d8 <[^>]*> nop
++0000a7dc <[^>]*> nop
++0000a7e0 <[^>]*> nop
++0000a7e4 <[^>]*> nop
++0000a7e8 <[^>]*> nop
++0000a7ec <[^>]*> nop
++0000a7f0 <[^>]*> nop
++0000a7f4 <[^>]*> nop
++0000a7f8 <[^>]*> nop
++0000a7fc <[^>]*> nop
++0000a800 <[^>]*> nop
++0000a804 <[^>]*> nop
++0000a808 <[^>]*> nop
++0000a80c <[^>]*> nop
++0000a810 <[^>]*> nop
++0000a814 <[^>]*> nop
++0000a818 <[^>]*> nop
++0000a81c <[^>]*> nop
++0000a820 <[^>]*> nop
++0000a824 <[^>]*> nop
++0000a828 <[^>]*> nop
++0000a82c <[^>]*> nop
++0000a830 <[^>]*> nop
++0000a834 <[^>]*> nop
++0000a838 <[^>]*> nop
++0000a83c <[^>]*> nop
++0000a840 <[^>]*> nop
++0000a844 <[^>]*> nop
++0000a848 <[^>]*> nop
++0000a84c <[^>]*> nop
++0000a850 <[^>]*> nop
++0000a854 <[^>]*> nop
++0000a858 <[^>]*> nop
++0000a85c <[^>]*> nop
++0000a860 <[^>]*> nop
++0000a864 <[^>]*> nop
++0000a868 <[^>]*> nop
++0000a86c <[^>]*> nop
++0000a870 <[^>]*> nop
++0000a874 <[^>]*> nop
++0000a878 <[^>]*> nop
++0000a87c <[^>]*> nop
++0000a880 <[^>]*> nop
++0000a884 <[^>]*> nop
++0000a888 <[^>]*> nop
++0000a88c <[^>]*> nop
++0000a890 <[^>]*> nop
++0000a894 <[^>]*> nop
++0000a898 <[^>]*> nop
++0000a89c <[^>]*> nop
++0000a8a0 <[^>]*> nop
++0000a8a4 <[^>]*> nop
++0000a8a8 <[^>]*> nop
++0000a8ac <[^>]*> nop
++0000a8b0 <[^>]*> nop
++0000a8b4 <[^>]*> nop
++0000a8b8 <[^>]*> nop
++0000a8bc <[^>]*> nop
++0000a8c0 <[^>]*> nop
++0000a8c4 <[^>]*> nop
++0000a8c8 <[^>]*> nop
++0000a8cc <[^>]*> nop
++0000a8d0 <[^>]*> nop
++0000a8d4 <[^>]*> nop
++0000a8d8 <[^>]*> nop
++0000a8dc <[^>]*> nop
++0000a8e0 <[^>]*> nop
++0000a8e4 <[^>]*> nop
++0000a8e8 <[^>]*> nop
++0000a8ec <[^>]*> nop
++0000a8f0 <[^>]*> nop
++0000a8f4 <[^>]*> nop
++0000a8f8 <[^>]*> nop
++0000a8fc <[^>]*> nop
++0000a900 <[^>]*> nop
++0000a904 <[^>]*> nop
++0000a908 <[^>]*> nop
++0000a90c <[^>]*> nop
++0000a910 <[^>]*> nop
++0000a914 <[^>]*> nop
++0000a918 <[^>]*> nop
++0000a91c <[^>]*> nop
++0000a920 <[^>]*> nop
++0000a924 <[^>]*> nop
++0000a928 <[^>]*> nop
++0000a92c <[^>]*> nop
++0000a930 <[^>]*> nop
++0000a934 <[^>]*> nop
++0000a938 <[^>]*> nop
++0000a93c <[^>]*> nop
++0000a940 <[^>]*> nop
++0000a944 <[^>]*> nop
++0000a948 <[^>]*> nop
++0000a94c <[^>]*> nop
++0000a950 <[^>]*> nop
++0000a954 <[^>]*> nop
++0000a958 <[^>]*> nop
++0000a95c <[^>]*> nop
++0000a960 <[^>]*> nop
++0000a964 <[^>]*> nop
++0000a968 <[^>]*> nop
++0000a96c <[^>]*> nop
++0000a970 <[^>]*> nop
++0000a974 <[^>]*> nop
++0000a978 <[^>]*> nop
++0000a97c <[^>]*> nop
++0000a980 <[^>]*> nop
++0000a984 <[^>]*> nop
++0000a988 <[^>]*> nop
++0000a98c <[^>]*> nop
++0000a990 <[^>]*> nop
++0000a994 <[^>]*> nop
++0000a998 <[^>]*> nop
++0000a99c <[^>]*> nop
++0000a9a0 <[^>]*> nop
++0000a9a4 <[^>]*> nop
++0000a9a8 <[^>]*> nop
++0000a9ac <[^>]*> nop
++0000a9b0 <[^>]*> nop
++0000a9b4 <[^>]*> nop
++0000a9b8 <[^>]*> nop
++0000a9bc <[^>]*> nop
++0000a9c0 <[^>]*> nop
++0000a9c4 <[^>]*> nop
++0000a9c8 <[^>]*> nop
++0000a9cc <[^>]*> nop
++0000a9d0 <[^>]*> nop
++0000a9d4 <[^>]*> nop
++0000a9d8 <[^>]*> nop
++0000a9dc <[^>]*> nop
++0000a9e0 <[^>]*> nop
++0000a9e4 <[^>]*> nop
++0000a9e8 <[^>]*> nop
++0000a9ec <[^>]*> nop
++0000a9f0 <[^>]*> nop
++0000a9f4 <[^>]*> nop
++0000a9f8 <[^>]*> nop
++0000a9fc <[^>]*> nop
++0000aa00 <[^>]*> nop
++0000aa04 <[^>]*> nop
++0000aa08 <[^>]*> nop
++0000aa0c <[^>]*> nop
++0000aa10 <[^>]*> nop
++0000aa14 <[^>]*> nop
++0000aa18 <[^>]*> nop
++0000aa1c <[^>]*> nop
++0000aa20 <[^>]*> nop
++0000aa24 <[^>]*> nop
++0000aa28 <[^>]*> nop
++0000aa2c <[^>]*> nop
++0000aa30 <[^>]*> nop
++0000aa34 <[^>]*> nop
++0000aa38 <[^>]*> nop
++0000aa3c <[^>]*> nop
++0000aa40 <[^>]*> nop
++0000aa44 <[^>]*> nop
++0000aa48 <[^>]*> nop
++0000aa4c <[^>]*> nop
++0000aa50 <[^>]*> nop
++0000aa54 <[^>]*> nop
++0000aa58 <[^>]*> nop
++0000aa5c <[^>]*> nop
++0000aa60 <[^>]*> nop
++0000aa64 <[^>]*> nop
++0000aa68 <[^>]*> nop
++0000aa6c <[^>]*> nop
++0000aa70 <[^>]*> nop
++0000aa74 <[^>]*> nop
++0000aa78 <[^>]*> nop
++0000aa7c <[^>]*> nop
++0000aa80 <[^>]*> nop
++0000aa84 <[^>]*> nop
++0000aa88 <[^>]*> nop
++0000aa8c <[^>]*> nop
++0000aa90 <[^>]*> nop
++0000aa94 <[^>]*> nop
++0000aa98 <[^>]*> nop
++0000aa9c <[^>]*> nop
++0000aaa0 <[^>]*> nop
++0000aaa4 <[^>]*> nop
++0000aaa8 <[^>]*> nop
++0000aaac <[^>]*> nop
++0000aab0 <[^>]*> nop
++0000aab4 <[^>]*> nop
++0000aab8 <[^>]*> nop
++0000aabc <[^>]*> nop
++0000aac0 <[^>]*> nop
++0000aac4 <[^>]*> nop
++0000aac8 <[^>]*> nop
++0000aacc <[^>]*> nop
++0000aad0 <[^>]*> nop
++0000aad4 <[^>]*> nop
++0000aad8 <[^>]*> nop
++0000aadc <[^>]*> nop
++0000aae0 <[^>]*> nop
++0000aae4 <[^>]*> nop
++0000aae8 <[^>]*> nop
++0000aaec <[^>]*> nop
++0000aaf0 <[^>]*> nop
++0000aaf4 <[^>]*> nop
++0000aaf8 <[^>]*> nop
++0000aafc <[^>]*> nop
++0000ab00 <[^>]*> nop
++0000ab04 <[^>]*> nop
++0000ab08 <[^>]*> nop
++0000ab0c <[^>]*> nop
++0000ab10 <[^>]*> nop
++0000ab14 <[^>]*> nop
++0000ab18 <[^>]*> nop
++0000ab1c <[^>]*> nop
++0000ab20 <[^>]*> nop
++0000ab24 <[^>]*> nop
++0000ab28 <[^>]*> nop
++0000ab2c <[^>]*> nop
++0000ab30 <[^>]*> nop
++0000ab34 <[^>]*> nop
++0000ab38 <[^>]*> nop
++0000ab3c <[^>]*> nop
++0000ab40 <[^>]*> nop
++0000ab44 <[^>]*> nop
++0000ab48 <[^>]*> nop
++0000ab4c <[^>]*> nop
++0000ab50 <[^>]*> nop
++0000ab54 <[^>]*> nop
++0000ab58 <[^>]*> nop
++0000ab5c <[^>]*> nop
++0000ab60 <[^>]*> nop
++0000ab64 <[^>]*> nop
++0000ab68 <[^>]*> nop
++0000ab6c <[^>]*> nop
++0000ab70 <[^>]*> nop
++0000ab74 <[^>]*> nop
++0000ab78 <[^>]*> nop
++0000ab7c <[^>]*> nop
++0000ab80 <[^>]*> nop
++0000ab84 <[^>]*> nop
++0000ab88 <[^>]*> nop
++0000ab8c <[^>]*> nop
++0000ab90 <[^>]*> nop
++0000ab94 <[^>]*> nop
++0000ab98 <[^>]*> nop
++0000ab9c <[^>]*> nop
++0000aba0 <[^>]*> nop
++0000aba4 <[^>]*> nop
++0000aba8 <[^>]*> nop
++0000abac <[^>]*> nop
++0000abb0 <[^>]*> nop
++0000abb4 <[^>]*> nop
++0000abb8 <[^>]*> nop
++0000abbc <[^>]*> nop
++0000abc0 <[^>]*> nop
++0000abc4 <[^>]*> nop
++0000abc8 <[^>]*> nop
++0000abcc <[^>]*> nop
++0000abd0 <[^>]*> nop
++0000abd4 <[^>]*> nop
++0000abd8 <[^>]*> nop
++0000abdc <[^>]*> nop
++0000abe0 <[^>]*> nop
++0000abe4 <[^>]*> nop
++0000abe8 <[^>]*> nop
++0000abec <[^>]*> nop
++0000abf0 <[^>]*> nop
++0000abf4 <[^>]*> nop
++0000abf8 <[^>]*> nop
++0000abfc <[^>]*> nop
++0000ac00 <[^>]*> nop
++0000ac04 <[^>]*> nop
++0000ac08 <[^>]*> nop
++0000ac0c <[^>]*> nop
++0000ac10 <[^>]*> nop
++0000ac14 <[^>]*> nop
++0000ac18 <[^>]*> nop
++0000ac1c <[^>]*> nop
++0000ac20 <[^>]*> nop
++0000ac24 <[^>]*> nop
++0000ac28 <[^>]*> nop
++0000ac2c <[^>]*> nop
++0000ac30 <[^>]*> nop
++0000ac34 <[^>]*> nop
++0000ac38 <[^>]*> nop
++0000ac3c <[^>]*> nop
++0000ac40 <[^>]*> nop
++0000ac44 <[^>]*> nop
++0000ac48 <[^>]*> nop
++0000ac4c <[^>]*> nop
++0000ac50 <[^>]*> nop
++0000ac54 <[^>]*> nop
++0000ac58 <[^>]*> nop
++0000ac5c <[^>]*> nop
++0000ac60 <[^>]*> nop
++0000ac64 <[^>]*> nop
++0000ac68 <[^>]*> nop
++0000ac6c <[^>]*> nop
++0000ac70 <[^>]*> nop
++0000ac74 <[^>]*> nop
++0000ac78 <[^>]*> nop
++0000ac7c <[^>]*> nop
++0000ac80 <[^>]*> nop
++0000ac84 <[^>]*> nop
++0000ac88 <[^>]*> nop
++0000ac8c <[^>]*> nop
++0000ac90 <[^>]*> nop
++0000ac94 <[^>]*> nop
++0000ac98 <[^>]*> nop
++0000ac9c <[^>]*> nop
++0000aca0 <[^>]*> nop
++0000aca4 <[^>]*> nop
++0000aca8 <[^>]*> nop
++0000acac <[^>]*> nop
++0000acb0 <[^>]*> nop
++0000acb4 <[^>]*> nop
++0000acb8 <[^>]*> nop
++0000acbc <[^>]*> nop
++0000acc0 <[^>]*> nop
++0000acc4 <[^>]*> nop
++0000acc8 <[^>]*> nop
++0000accc <[^>]*> nop
++0000acd0 <[^>]*> nop
++0000acd4 <[^>]*> nop
++0000acd8 <[^>]*> nop
++0000acdc <[^>]*> nop
++0000ace0 <[^>]*> nop
++0000ace4 <[^>]*> nop
++0000ace8 <[^>]*> nop
++0000acec <[^>]*> nop
++0000acf0 <[^>]*> nop
++0000acf4 <[^>]*> nop
++0000acf8 <[^>]*> nop
++0000acfc <[^>]*> nop
++0000ad00 <[^>]*> nop
++0000ad04 <[^>]*> nop
++0000ad08 <[^>]*> nop
++0000ad0c <[^>]*> nop
++0000ad10 <[^>]*> nop
++0000ad14 <[^>]*> nop
++0000ad18 <[^>]*> nop
++0000ad1c <[^>]*> nop
++0000ad20 <[^>]*> nop
++0000ad24 <[^>]*> nop
++0000ad28 <[^>]*> nop
++0000ad2c <[^>]*> nop
++0000ad30 <[^>]*> nop
++0000ad34 <[^>]*> nop
++0000ad38 <[^>]*> nop
++0000ad3c <[^>]*> nop
++0000ad40 <[^>]*> nop
++0000ad44 <[^>]*> nop
++0000ad48 <[^>]*> nop
++0000ad4c <[^>]*> nop
++0000ad50 <[^>]*> nop
++0000ad54 <[^>]*> nop
++0000ad58 <[^>]*> nop
++0000ad5c <[^>]*> nop
++0000ad60 <[^>]*> nop
++0000ad64 <[^>]*> nop
++0000ad68 <[^>]*> nop
++0000ad6c <[^>]*> nop
++0000ad70 <[^>]*> nop
++0000ad74 <[^>]*> nop
++0000ad78 <[^>]*> nop
++0000ad7c <[^>]*> nop
++0000ad80 <[^>]*> nop
++0000ad84 <[^>]*> nop
++0000ad88 <[^>]*> nop
++0000ad8c <[^>]*> nop
++0000ad90 <[^>]*> nop
++0000ad94 <[^>]*> nop
++0000ad98 <[^>]*> nop
++0000ad9c <[^>]*> nop
++0000ada0 <[^>]*> nop
++0000ada4 <[^>]*> nop
++0000ada8 <[^>]*> nop
++0000adac <[^>]*> nop
++0000adb0 <[^>]*> nop
++0000adb4 <[^>]*> nop
++0000adb8 <[^>]*> nop
++0000adbc <[^>]*> nop
++0000adc0 <[^>]*> nop
++0000adc4 <[^>]*> nop
++0000adc8 <[^>]*> nop
++0000adcc <[^>]*> nop
++0000add0 <[^>]*> nop
++0000add4 <[^>]*> nop
++0000add8 <[^>]*> nop
++0000addc <[^>]*> nop
++0000ade0 <[^>]*> nop
++0000ade4 <[^>]*> nop
++0000ade8 <[^>]*> nop
++0000adec <[^>]*> nop
++0000adf0 <[^>]*> nop
++0000adf4 <[^>]*> nop
++0000adf8 <[^>]*> nop
++0000adfc <[^>]*> nop
++0000ae00 <[^>]*> nop
++0000ae04 <[^>]*> nop
++0000ae08 <[^>]*> nop
++0000ae0c <[^>]*> nop
++0000ae10 <[^>]*> nop
++0000ae14 <[^>]*> nop
++0000ae18 <[^>]*> nop
++0000ae1c <[^>]*> nop
++0000ae20 <[^>]*> nop
++0000ae24 <[^>]*> nop
++0000ae28 <[^>]*> nop
++0000ae2c <[^>]*> nop
++0000ae30 <[^>]*> nop
++0000ae34 <[^>]*> nop
++0000ae38 <[^>]*> nop
++0000ae3c <[^>]*> nop
++0000ae40 <[^>]*> nop
++0000ae44 <[^>]*> nop
++0000ae48 <[^>]*> nop
++0000ae4c <[^>]*> nop
++0000ae50 <[^>]*> nop
++0000ae54 <[^>]*> nop
++0000ae58 <[^>]*> nop
++0000ae5c <[^>]*> nop
++0000ae60 <[^>]*> nop
++0000ae64 <[^>]*> nop
++0000ae68 <[^>]*> nop
++0000ae6c <[^>]*> nop
++0000ae70 <[^>]*> nop
++0000ae74 <[^>]*> nop
++0000ae78 <[^>]*> nop
++0000ae7c <[^>]*> nop
++0000ae80 <[^>]*> nop
++0000ae84 <[^>]*> nop
++0000ae88 <[^>]*> nop
++0000ae8c <[^>]*> nop
++0000ae90 <[^>]*> nop
++0000ae94 <[^>]*> nop
++0000ae98 <[^>]*> nop
++0000ae9c <[^>]*> nop
++0000aea0 <[^>]*> nop
++0000aea4 <[^>]*> nop
++0000aea8 <[^>]*> nop
++0000aeac <[^>]*> nop
++0000aeb0 <[^>]*> nop
++0000aeb4 <[^>]*> nop
++0000aeb8 <[^>]*> nop
++0000aebc <[^>]*> nop
++0000aec0 <[^>]*> nop
++0000aec4 <[^>]*> nop
++0000aec8 <[^>]*> nop
++0000aecc <[^>]*> nop
++0000aed0 <[^>]*> nop
++0000aed4 <[^>]*> nop
++0000aed8 <[^>]*> nop
++0000aedc <[^>]*> nop
++0000aee0 <[^>]*> nop
++0000aee4 <[^>]*> nop
++0000aee8 <[^>]*> nop
++0000aeec <[^>]*> nop
++0000aef0 <[^>]*> nop
++0000aef4 <[^>]*> nop
++0000aef8 <[^>]*> nop
++0000aefc <[^>]*> nop
++0000af00 <[^>]*> nop
++0000af04 <[^>]*> nop
++0000af08 <[^>]*> nop
++0000af0c <[^>]*> nop
++0000af10 <[^>]*> nop
++0000af14 <[^>]*> nop
++0000af18 <[^>]*> nop
++0000af1c <[^>]*> nop
++0000af20 <[^>]*> nop
++0000af24 <[^>]*> nop
++0000af28 <[^>]*> nop
++0000af2c <[^>]*> nop
++0000af30 <[^>]*> nop
++0000af34 <[^>]*> nop
++0000af38 <[^>]*> nop
++0000af3c <[^>]*> nop
++0000af40 <[^>]*> nop
++0000af44 <[^>]*> nop
++0000af48 <[^>]*> nop
++0000af4c <[^>]*> nop
++0000af50 <[^>]*> nop
++0000af54 <[^>]*> nop
++0000af58 <[^>]*> nop
++0000af5c <[^>]*> nop
++0000af60 <[^>]*> nop
++0000af64 <[^>]*> nop
++0000af68 <[^>]*> nop
++0000af6c <[^>]*> nop
++0000af70 <[^>]*> nop
++0000af74 <[^>]*> nop
++0000af78 <[^>]*> nop
++0000af7c <[^>]*> nop
++0000af80 <[^>]*> nop
++0000af84 <[^>]*> nop
++0000af88 <[^>]*> nop
++0000af8c <[^>]*> nop
++0000af90 <[^>]*> nop
++0000af94 <[^>]*> nop
++0000af98 <[^>]*> nop
++0000af9c <[^>]*> nop
++0000afa0 <[^>]*> nop
++0000afa4 <[^>]*> nop
++0000afa8 <[^>]*> nop
++0000afac <[^>]*> nop
++0000afb0 <[^>]*> nop
++0000afb4 <[^>]*> nop
++0000afb8 <[^>]*> nop
++0000afbc <[^>]*> nop
++0000afc0 <[^>]*> nop
++0000afc4 <[^>]*> nop
++0000afc8 <[^>]*> nop
++0000afcc <[^>]*> nop
++0000afd0 <[^>]*> nop
++0000afd4 <[^>]*> nop
++0000afd8 <[^>]*> nop
++0000afdc <[^>]*> nop
++0000afe0 <[^>]*> nop
++0000afe4 <[^>]*> nop
++0000afe8 <[^>]*> nop
++0000afec <[^>]*> nop
++0000aff0 <[^>]*> nop
++0000aff4 <[^>]*> nop
++0000aff8 <[^>]*> nop
++0000affc <[^>]*> nop
++0000b000 <[^>]*> nop
++0000b004 <[^>]*> nop
++0000b008 <[^>]*> nop
++0000b00c <[^>]*> nop
++0000b010 <[^>]*> nop
++0000b014 <[^>]*> nop
++0000b018 <[^>]*> nop
++0000b01c <[^>]*> nop
++0000b020 <[^>]*> nop
++0000b024 <[^>]*> nop
++0000b028 <[^>]*> nop
++0000b02c <[^>]*> nop
++0000b030 <[^>]*> nop
++0000b034 <[^>]*> nop
++0000b038 <[^>]*> nop
++0000b03c <[^>]*> nop
++0000b040 <[^>]*> nop
++0000b044 <[^>]*> nop
++0000b048 <[^>]*> nop
++0000b04c <[^>]*> nop
++0000b050 <[^>]*> nop
++0000b054 <[^>]*> nop
++0000b058 <[^>]*> nop
++0000b05c <[^>]*> nop
++0000b060 <[^>]*> nop
++0000b064 <[^>]*> nop
++0000b068 <[^>]*> nop
++0000b06c <[^>]*> nop
++0000b070 <[^>]*> nop
++0000b074 <[^>]*> nop
++0000b078 <[^>]*> nop
++0000b07c <[^>]*> nop
++0000b080 <[^>]*> nop
++0000b084 <[^>]*> nop
++0000b088 <[^>]*> nop
++0000b08c <[^>]*> nop
++0000b090 <[^>]*> nop
++0000b094 <[^>]*> nop
++0000b098 <[^>]*> nop
++0000b09c <[^>]*> nop
++0000b0a0 <[^>]*> nop
++0000b0a4 <[^>]*> nop
++0000b0a8 <[^>]*> nop
++0000b0ac <[^>]*> nop
++0000b0b0 <[^>]*> nop
++0000b0b4 <[^>]*> nop
++0000b0b8 <[^>]*> nop
++0000b0bc <[^>]*> nop
++0000b0c0 <[^>]*> nop
++0000b0c4 <[^>]*> nop
++0000b0c8 <[^>]*> nop
++0000b0cc <[^>]*> nop
++0000b0d0 <[^>]*> nop
++0000b0d4 <[^>]*> nop
++0000b0d8 <[^>]*> nop
++0000b0dc <[^>]*> nop
++0000b0e0 <[^>]*> nop
++0000b0e4 <[^>]*> nop
++0000b0e8 <[^>]*> nop
++0000b0ec <[^>]*> nop
++0000b0f0 <[^>]*> nop
++0000b0f4 <[^>]*> nop
++0000b0f8 <[^>]*> nop
++0000b0fc <[^>]*> nop
++0000b100 <[^>]*> nop
++0000b104 <[^>]*> nop
++0000b108 <[^>]*> nop
++0000b10c <[^>]*> nop
++0000b110 <[^>]*> nop
++0000b114 <[^>]*> nop
++0000b118 <[^>]*> nop
++0000b11c <[^>]*> nop
++0000b120 <[^>]*> nop
++0000b124 <[^>]*> nop
++0000b128 <[^>]*> nop
++0000b12c <[^>]*> nop
++0000b130 <[^>]*> nop
++0000b134 <[^>]*> nop
++0000b138 <[^>]*> nop
++0000b13c <[^>]*> nop
++0000b140 <[^>]*> nop
++0000b144 <[^>]*> nop
++0000b148 <[^>]*> nop
++0000b14c <[^>]*> nop
++0000b150 <[^>]*> nop
++0000b154 <[^>]*> nop
++0000b158 <[^>]*> nop
++0000b15c <[^>]*> nop
++0000b160 <[^>]*> nop
++0000b164 <[^>]*> nop
++0000b168 <[^>]*> nop
++0000b16c <[^>]*> nop
++0000b170 <[^>]*> nop
++0000b174 <[^>]*> nop
++0000b178 <[^>]*> nop
++0000b17c <[^>]*> nop
++0000b180 <[^>]*> nop
++0000b184 <[^>]*> nop
++0000b188 <[^>]*> nop
++0000b18c <[^>]*> nop
++0000b190 <[^>]*> nop
++0000b194 <[^>]*> nop
++0000b198 <[^>]*> nop
++0000b19c <[^>]*> nop
++0000b1a0 <[^>]*> nop
++0000b1a4 <[^>]*> nop
++0000b1a8 <[^>]*> nop
++0000b1ac <[^>]*> nop
++0000b1b0 <[^>]*> nop
++0000b1b4 <[^>]*> nop
++0000b1b8 <[^>]*> nop
++0000b1bc <[^>]*> nop
++0000b1c0 <[^>]*> nop
++0000b1c4 <[^>]*> nop
++0000b1c8 <[^>]*> nop
++0000b1cc <[^>]*> nop
++0000b1d0 <[^>]*> nop
++0000b1d4 <[^>]*> nop
++0000b1d8 <[^>]*> nop
++0000b1dc <[^>]*> nop
++0000b1e0 <[^>]*> nop
++0000b1e4 <[^>]*> nop
++0000b1e8 <[^>]*> nop
++0000b1ec <[^>]*> nop
++0000b1f0 <[^>]*> nop
++0000b1f4 <[^>]*> nop
++0000b1f8 <[^>]*> nop
++0000b1fc <[^>]*> nop
++0000b200 <[^>]*> nop
++0000b204 <[^>]*> nop
++0000b208 <[^>]*> nop
++0000b20c <[^>]*> nop
++0000b210 <[^>]*> nop
++0000b214 <[^>]*> nop
++0000b218 <[^>]*> nop
++0000b21c <[^>]*> nop
++0000b220 <[^>]*> nop
++0000b224 <[^>]*> nop
++0000b228 <[^>]*> nop
++0000b22c <[^>]*> nop
++0000b230 <[^>]*> nop
++0000b234 <[^>]*> nop
++0000b238 <[^>]*> nop
++0000b23c <[^>]*> nop
++0000b240 <[^>]*> nop
++0000b244 <[^>]*> nop
++0000b248 <[^>]*> nop
++0000b24c <[^>]*> nop
++0000b250 <[^>]*> nop
++0000b254 <[^>]*> nop
++0000b258 <[^>]*> nop
++0000b25c <[^>]*> nop
++0000b260 <[^>]*> nop
++0000b264 <[^>]*> nop
++0000b268 <[^>]*> nop
++0000b26c <[^>]*> nop
++0000b270 <[^>]*> nop
++0000b274 <[^>]*> nop
++0000b278 <[^>]*> nop
++0000b27c <[^>]*> nop
++0000b280 <[^>]*> nop
++0000b284 <[^>]*> nop
++0000b288 <[^>]*> nop
++0000b28c <[^>]*> nop
++0000b290 <[^>]*> nop
++0000b294 <[^>]*> nop
++0000b298 <[^>]*> nop
++0000b29c <[^>]*> nop
++0000b2a0 <[^>]*> nop
++0000b2a4 <[^>]*> nop
++0000b2a8 <[^>]*> nop
++0000b2ac <[^>]*> nop
++0000b2b0 <[^>]*> nop
++0000b2b4 <[^>]*> nop
++0000b2b8 <[^>]*> nop
++0000b2bc <[^>]*> nop
++0000b2c0 <[^>]*> nop
++0000b2c4 <[^>]*> nop
++0000b2c8 <[^>]*> nop
++0000b2cc <[^>]*> nop
++0000b2d0 <[^>]*> nop
++0000b2d4 <[^>]*> nop
++0000b2d8 <[^>]*> nop
++0000b2dc <[^>]*> nop
++0000b2e0 <[^>]*> nop
++0000b2e4 <[^>]*> nop
++0000b2e8 <[^>]*> nop
++0000b2ec <[^>]*> nop
++0000b2f0 <[^>]*> nop
++0000b2f4 <[^>]*> nop
++0000b2f8 <[^>]*> nop
++0000b2fc <[^>]*> nop
++0000b300 <[^>]*> nop
++0000b304 <[^>]*> nop
++0000b308 <[^>]*> nop
++0000b30c <[^>]*> nop
++0000b310 <[^>]*> nop
++0000b314 <[^>]*> nop
++0000b318 <[^>]*> nop
++0000b31c <[^>]*> nop
++0000b320 <[^>]*> nop
++0000b324 <[^>]*> nop
++0000b328 <[^>]*> nop
++0000b32c <[^>]*> nop
++0000b330 <[^>]*> nop
++0000b334 <[^>]*> nop
++0000b338 <[^>]*> nop
++0000b33c <[^>]*> nop
++0000b340 <[^>]*> nop
++0000b344 <[^>]*> nop
++0000b348 <[^>]*> nop
++0000b34c <[^>]*> nop
++0000b350 <[^>]*> nop
++0000b354 <[^>]*> nop
++0000b358 <[^>]*> nop
++0000b35c <[^>]*> nop
++0000b360 <[^>]*> nop
++0000b364 <[^>]*> nop
++0000b368 <[^>]*> nop
++0000b36c <[^>]*> nop
++0000b370 <[^>]*> nop
++0000b374 <[^>]*> nop
++0000b378 <[^>]*> nop
++0000b37c <[^>]*> nop
++0000b380 <[^>]*> nop
++0000b384 <[^>]*> nop
++0000b388 <[^>]*> nop
++0000b38c <[^>]*> nop
++0000b390 <[^>]*> nop
++0000b394 <[^>]*> nop
++0000b398 <[^>]*> nop
++0000b39c <[^>]*> nop
++0000b3a0 <[^>]*> nop
++0000b3a4 <[^>]*> nop
++0000b3a8 <[^>]*> nop
++0000b3ac <[^>]*> nop
++0000b3b0 <[^>]*> nop
++0000b3b4 <[^>]*> nop
++0000b3b8 <[^>]*> nop
++0000b3bc <[^>]*> nop
++0000b3c0 <[^>]*> nop
++0000b3c4 <[^>]*> nop
++0000b3c8 <[^>]*> nop
++0000b3cc <[^>]*> nop
++0000b3d0 <[^>]*> nop
++0000b3d4 <[^>]*> nop
++0000b3d8 <[^>]*> nop
++0000b3dc <[^>]*> nop
++0000b3e0 <[^>]*> nop
++0000b3e4 <[^>]*> nop
++0000b3e8 <[^>]*> nop
++0000b3ec <[^>]*> nop
++0000b3f0 <[^>]*> nop
++0000b3f4 <[^>]*> nop
++0000b3f8 <[^>]*> nop
++0000b3fc <[^>]*> nop
++0000b400 <[^>]*> nop
++0000b404 <[^>]*> nop
++0000b408 <[^>]*> nop
++0000b40c <[^>]*> nop
++0000b410 <[^>]*> nop
++0000b414 <[^>]*> nop
++0000b418 <[^>]*> nop
++0000b41c <[^>]*> nop
++0000b420 <[^>]*> nop
++0000b424 <[^>]*> nop
++0000b428 <[^>]*> nop
++0000b42c <[^>]*> nop
++0000b430 <[^>]*> nop
++0000b434 <[^>]*> nop
++0000b438 <[^>]*> nop
++0000b43c <[^>]*> nop
++0000b440 <[^>]*> nop
++0000b444 <[^>]*> nop
++0000b448 <[^>]*> nop
++0000b44c <[^>]*> nop
++0000b450 <[^>]*> nop
++0000b454 <[^>]*> nop
++0000b458 <[^>]*> nop
++0000b45c <[^>]*> nop
++0000b460 <[^>]*> nop
++0000b464 <[^>]*> nop
++0000b468 <[^>]*> nop
++0000b46c <[^>]*> nop
++0000b470 <[^>]*> nop
++0000b474 <[^>]*> nop
++0000b478 <[^>]*> nop
++0000b47c <[^>]*> nop
++0000b480 <[^>]*> nop
++0000b484 <[^>]*> nop
++0000b488 <[^>]*> nop
++0000b48c <[^>]*> nop
++0000b490 <[^>]*> nop
++0000b494 <[^>]*> nop
++0000b498 <[^>]*> nop
++0000b49c <[^>]*> nop
++0000b4a0 <[^>]*> nop
++0000b4a4 <[^>]*> nop
++0000b4a8 <[^>]*> nop
++0000b4ac <[^>]*> nop
++0000b4b0 <[^>]*> nop
++0000b4b4 <[^>]*> nop
++0000b4b8 <[^>]*> nop
++0000b4bc <[^>]*> nop
++0000b4c0 <[^>]*> nop
++0000b4c4 <[^>]*> nop
++0000b4c8 <[^>]*> nop
++0000b4cc <[^>]*> nop
++0000b4d0 <[^>]*> nop
++0000b4d4 <[^>]*> nop
++0000b4d8 <[^>]*> nop
++0000b4dc <[^>]*> nop
++0000b4e0 <[^>]*> nop
++0000b4e4 <[^>]*> nop
++0000b4e8 <[^>]*> nop
++0000b4ec <[^>]*> nop
++0000b4f0 <[^>]*> nop
++0000b4f4 <[^>]*> nop
++0000b4f8 <[^>]*> nop
++0000b4fc <[^>]*> nop
++0000b500 <[^>]*> nop
++0000b504 <[^>]*> nop
++0000b508 <[^>]*> nop
++0000b50c <[^>]*> nop
++0000b510 <[^>]*> nop
++0000b514 <[^>]*> nop
++0000b518 <[^>]*> nop
++0000b51c <[^>]*> nop
++0000b520 <[^>]*> nop
++0000b524 <[^>]*> nop
++0000b528 <[^>]*> nop
++0000b52c <[^>]*> nop
++0000b530 <[^>]*> nop
++0000b534 <[^>]*> nop
++0000b538 <[^>]*> nop
++0000b53c <[^>]*> nop
++0000b540 <[^>]*> nop
++0000b544 <[^>]*> nop
++0000b548 <[^>]*> nop
++0000b54c <[^>]*> nop
++0000b550 <[^>]*> nop
++0000b554 <[^>]*> nop
++0000b558 <[^>]*> nop
++0000b55c <[^>]*> nop
++0000b560 <[^>]*> nop
++0000b564 <[^>]*> nop
++0000b568 <[^>]*> nop
++0000b56c <[^>]*> nop
++0000b570 <[^>]*> nop
++0000b574 <[^>]*> nop
++0000b578 <[^>]*> nop
++0000b57c <[^>]*> nop
++0000b580 <[^>]*> nop
++0000b584 <[^>]*> nop
++0000b588 <[^>]*> nop
++0000b58c <[^>]*> nop
++0000b590 <[^>]*> nop
++0000b594 <[^>]*> nop
++0000b598 <[^>]*> nop
++0000b59c <[^>]*> nop
++0000b5a0 <[^>]*> nop
++0000b5a4 <[^>]*> nop
++0000b5a8 <[^>]*> nop
++0000b5ac <[^>]*> nop
++0000b5b0 <[^>]*> nop
++0000b5b4 <[^>]*> nop
++0000b5b8 <[^>]*> nop
++0000b5bc <[^>]*> nop
++0000b5c0 <[^>]*> nop
++0000b5c4 <[^>]*> nop
++0000b5c8 <[^>]*> nop
++0000b5cc <[^>]*> nop
++0000b5d0 <[^>]*> nop
++0000b5d4 <[^>]*> nop
++0000b5d8 <[^>]*> nop
++0000b5dc <[^>]*> nop
++0000b5e0 <[^>]*> nop
++0000b5e4 <[^>]*> nop
++0000b5e8 <[^>]*> nop
++0000b5ec <[^>]*> nop
++0000b5f0 <[^>]*> nop
++0000b5f4 <[^>]*> nop
++0000b5f8 <[^>]*> nop
++0000b5fc <[^>]*> nop
++0000b600 <[^>]*> nop
++0000b604 <[^>]*> nop
++0000b608 <[^>]*> nop
++0000b60c <[^>]*> nop
++0000b610 <[^>]*> nop
++0000b614 <[^>]*> nop
++0000b618 <[^>]*> nop
++0000b61c <[^>]*> nop
++0000b620 <[^>]*> nop
++0000b624 <[^>]*> nop
++0000b628 <[^>]*> nop
++0000b62c <[^>]*> nop
++0000b630 <[^>]*> nop
++0000b634 <[^>]*> nop
++0000b638 <[^>]*> nop
++0000b63c <[^>]*> nop
++0000b640 <[^>]*> nop
++0000b644 <[^>]*> nop
++0000b648 <[^>]*> nop
++0000b64c <[^>]*> nop
++0000b650 <[^>]*> nop
++0000b654 <[^>]*> nop
++0000b658 <[^>]*> nop
++0000b65c <[^>]*> nop
++0000b660 <[^>]*> nop
++0000b664 <[^>]*> nop
++0000b668 <[^>]*> nop
++0000b66c <[^>]*> nop
++0000b670 <[^>]*> nop
++0000b674 <[^>]*> nop
++0000b678 <[^>]*> nop
++0000b67c <[^>]*> nop
++0000b680 <[^>]*> nop
++0000b684 <[^>]*> nop
++0000b688 <[^>]*> nop
++0000b68c <[^>]*> nop
++0000b690 <[^>]*> nop
++0000b694 <[^>]*> nop
++0000b698 <[^>]*> nop
++0000b69c <[^>]*> nop
++0000b6a0 <[^>]*> nop
++0000b6a4 <[^>]*> nop
++0000b6a8 <[^>]*> nop
++0000b6ac <[^>]*> nop
++0000b6b0 <[^>]*> nop
++0000b6b4 <[^>]*> nop
++0000b6b8 <[^>]*> nop
++0000b6bc <[^>]*> nop
++0000b6c0 <[^>]*> nop
++0000b6c4 <[^>]*> nop
++0000b6c8 <[^>]*> nop
++0000b6cc <[^>]*> nop
++0000b6d0 <[^>]*> nop
++0000b6d4 <[^>]*> nop
++0000b6d8 <[^>]*> nop
++0000b6dc <[^>]*> nop
++0000b6e0 <[^>]*> nop
++0000b6e4 <[^>]*> nop
++0000b6e8 <[^>]*> nop
++0000b6ec <[^>]*> nop
++0000b6f0 <[^>]*> nop
++0000b6f4 <[^>]*> nop
++0000b6f8 <[^>]*> nop
++0000b6fc <[^>]*> nop
++0000b700 <[^>]*> nop
++0000b704 <[^>]*> nop
++0000b708 <[^>]*> nop
++0000b70c <[^>]*> nop
++0000b710 <[^>]*> nop
++0000b714 <[^>]*> nop
++0000b718 <[^>]*> nop
++0000b71c <[^>]*> nop
++0000b720 <[^>]*> nop
++0000b724 <[^>]*> nop
++0000b728 <[^>]*> nop
++0000b72c <[^>]*> nop
++0000b730 <[^>]*> nop
++0000b734 <[^>]*> nop
++0000b738 <[^>]*> nop
++0000b73c <[^>]*> nop
++0000b740 <[^>]*> nop
++0000b744 <[^>]*> nop
++0000b748 <[^>]*> nop
++0000b74c <[^>]*> nop
++0000b750 <[^>]*> nop
++0000b754 <[^>]*> nop
++0000b758 <[^>]*> nop
++0000b75c <[^>]*> nop
++0000b760 <[^>]*> nop
++0000b764 <[^>]*> nop
++0000b768 <[^>]*> nop
++0000b76c <[^>]*> nop
++0000b770 <[^>]*> nop
++0000b774 <[^>]*> nop
++0000b778 <[^>]*> nop
++0000b77c <[^>]*> nop
++0000b780 <[^>]*> nop
++0000b784 <[^>]*> nop
++0000b788 <[^>]*> nop
++0000b78c <[^>]*> nop
++0000b790 <[^>]*> nop
++0000b794 <[^>]*> nop
++0000b798 <[^>]*> nop
++0000b79c <[^>]*> nop
++0000b7a0 <[^>]*> nop
++0000b7a4 <[^>]*> nop
++0000b7a8 <[^>]*> nop
++0000b7ac <[^>]*> nop
++0000b7b0 <[^>]*> nop
++0000b7b4 <[^>]*> nop
++0000b7b8 <[^>]*> nop
++0000b7bc <[^>]*> nop
++0000b7c0 <[^>]*> nop
++0000b7c4 <[^>]*> nop
++0000b7c8 <[^>]*> nop
++0000b7cc <[^>]*> nop
++0000b7d0 <[^>]*> nop
++0000b7d4 <[^>]*> nop
++0000b7d8 <[^>]*> nop
++0000b7dc <[^>]*> nop
++0000b7e0 <[^>]*> nop
++0000b7e4 <[^>]*> nop
++0000b7e8 <[^>]*> nop
++0000b7ec <[^>]*> nop
++0000b7f0 <[^>]*> nop
++0000b7f4 <[^>]*> nop
++0000b7f8 <[^>]*> nop
++0000b7fc <[^>]*> nop
++0000b800 <[^>]*> nop
++0000b804 <[^>]*> nop
++0000b808 <[^>]*> nop
++0000b80c <[^>]*> nop
++0000b810 <[^>]*> nop
++0000b814 <[^>]*> nop
++0000b818 <[^>]*> nop
++0000b81c <[^>]*> nop
++0000b820 <[^>]*> nop
++0000b824 <[^>]*> nop
++0000b828 <[^>]*> nop
++0000b82c <[^>]*> nop
++0000b830 <[^>]*> nop
++0000b834 <[^>]*> nop
++0000b838 <[^>]*> nop
++0000b83c <[^>]*> nop
++0000b840 <[^>]*> nop
++0000b844 <[^>]*> nop
++0000b848 <[^>]*> nop
++0000b84c <[^>]*> nop
++0000b850 <[^>]*> nop
++0000b854 <[^>]*> nop
++0000b858 <[^>]*> nop
++0000b85c <[^>]*> nop
++0000b860 <[^>]*> nop
++0000b864 <[^>]*> nop
++0000b868 <[^>]*> nop
++0000b86c <[^>]*> nop
++0000b870 <[^>]*> nop
++0000b874 <[^>]*> nop
++0000b878 <[^>]*> nop
++0000b87c <[^>]*> nop
++0000b880 <[^>]*> nop
++0000b884 <[^>]*> nop
++0000b888 <[^>]*> nop
++0000b88c <[^>]*> nop
++0000b890 <[^>]*> nop
++0000b894 <[^>]*> nop
++0000b898 <[^>]*> nop
++0000b89c <[^>]*> nop
++0000b8a0 <[^>]*> nop
++0000b8a4 <[^>]*> nop
++0000b8a8 <[^>]*> nop
++0000b8ac <[^>]*> nop
++0000b8b0 <[^>]*> nop
++0000b8b4 <[^>]*> nop
++0000b8b8 <[^>]*> nop
++0000b8bc <[^>]*> nop
++0000b8c0 <[^>]*> nop
++0000b8c4 <[^>]*> nop
++0000b8c8 <[^>]*> nop
++0000b8cc <[^>]*> nop
++0000b8d0 <[^>]*> nop
++0000b8d4 <[^>]*> nop
++0000b8d8 <[^>]*> nop
++0000b8dc <[^>]*> nop
++0000b8e0 <[^>]*> nop
++0000b8e4 <[^>]*> nop
++0000b8e8 <[^>]*> nop
++0000b8ec <[^>]*> nop
++0000b8f0 <[^>]*> nop
++0000b8f4 <[^>]*> nop
++0000b8f8 <[^>]*> nop
++0000b8fc <[^>]*> nop
++0000b900 <[^>]*> nop
++0000b904 <[^>]*> nop
++0000b908 <[^>]*> nop
++0000b90c <[^>]*> nop
++0000b910 <[^>]*> nop
++0000b914 <[^>]*> nop
++0000b918 <[^>]*> nop
++0000b91c <[^>]*> nop
++0000b920 <[^>]*> nop
++0000b924 <[^>]*> nop
++0000b928 <[^>]*> nop
++0000b92c <[^>]*> nop
++0000b930 <[^>]*> nop
++0000b934 <[^>]*> nop
++0000b938 <[^>]*> nop
++0000b93c <[^>]*> nop
++0000b940 <[^>]*> nop
++0000b944 <[^>]*> nop
++0000b948 <[^>]*> nop
++0000b94c <[^>]*> nop
++0000b950 <[^>]*> nop
++0000b954 <[^>]*> nop
++0000b958 <[^>]*> nop
++0000b95c <[^>]*> nop
++0000b960 <[^>]*> nop
++0000b964 <[^>]*> nop
++0000b968 <[^>]*> nop
++0000b96c <[^>]*> nop
++0000b970 <[^>]*> nop
++0000b974 <[^>]*> nop
++0000b978 <[^>]*> nop
++0000b97c <[^>]*> nop
++0000b980 <[^>]*> nop
++0000b984 <[^>]*> nop
++0000b988 <[^>]*> nop
++0000b98c <[^>]*> nop
++0000b990 <[^>]*> nop
++0000b994 <[^>]*> nop
++0000b998 <[^>]*> nop
++0000b99c <[^>]*> nop
++0000b9a0 <[^>]*> nop
++0000b9a4 <[^>]*> nop
++0000b9a8 <[^>]*> nop
++0000b9ac <[^>]*> nop
++0000b9b0 <[^>]*> nop
++0000b9b4 <[^>]*> nop
++0000b9b8 <[^>]*> nop
++0000b9bc <[^>]*> nop
++0000b9c0 <[^>]*> nop
++0000b9c4 <[^>]*> nop
++0000b9c8 <[^>]*> nop
++0000b9cc <[^>]*> nop
++0000b9d0 <[^>]*> nop
++0000b9d4 <[^>]*> nop
++0000b9d8 <[^>]*> nop
++0000b9dc <[^>]*> nop
++0000b9e0 <[^>]*> nop
++0000b9e4 <[^>]*> nop
++0000b9e8 <[^>]*> nop
++0000b9ec <[^>]*> nop
++0000b9f0 <[^>]*> nop
++0000b9f4 <[^>]*> nop
++0000b9f8 <[^>]*> nop
++0000b9fc <[^>]*> nop
++0000ba00 <[^>]*> nop
++0000ba04 <[^>]*> nop
++0000ba08 <[^>]*> nop
++0000ba0c <[^>]*> nop
++0000ba10 <[^>]*> nop
++0000ba14 <[^>]*> nop
++0000ba18 <[^>]*> nop
++0000ba1c <[^>]*> nop
++0000ba20 <[^>]*> nop
++0000ba24 <[^>]*> nop
++0000ba28 <[^>]*> nop
++0000ba2c <[^>]*> nop
++0000ba30 <[^>]*> nop
++0000ba34 <[^>]*> nop
++0000ba38 <[^>]*> nop
++0000ba3c <[^>]*> nop
++0000ba40 <[^>]*> nop
++0000ba44 <[^>]*> nop
++0000ba48 <[^>]*> nop
++0000ba4c <[^>]*> nop
++0000ba50 <[^>]*> nop
++0000ba54 <[^>]*> nop
++0000ba58 <[^>]*> nop
++0000ba5c <[^>]*> nop
++0000ba60 <[^>]*> nop
++0000ba64 <[^>]*> nop
++0000ba68 <[^>]*> nop
++0000ba6c <[^>]*> nop
++0000ba70 <[^>]*> nop
++0000ba74 <[^>]*> nop
++0000ba78 <[^>]*> nop
++0000ba7c <[^>]*> nop
++0000ba80 <[^>]*> nop
++0000ba84 <[^>]*> nop
++0000ba88 <[^>]*> nop
++0000ba8c <[^>]*> nop
++0000ba90 <[^>]*> nop
++0000ba94 <[^>]*> nop
++0000ba98 <[^>]*> nop
++0000ba9c <[^>]*> nop
++0000baa0 <[^>]*> nop
++0000baa4 <[^>]*> nop
++0000baa8 <[^>]*> nop
++0000baac <[^>]*> nop
++0000bab0 <[^>]*> nop
++0000bab4 <[^>]*> nop
++0000bab8 <[^>]*> nop
++0000babc <[^>]*> nop
++0000bac0 <[^>]*> nop
++0000bac4 <[^>]*> nop
++0000bac8 <[^>]*> nop
++0000bacc <[^>]*> nop
++0000bad0 <[^>]*> nop
++0000bad4 <[^>]*> nop
++0000bad8 <[^>]*> nop
++0000badc <[^>]*> nop
++0000bae0 <[^>]*> nop
++0000bae4 <[^>]*> nop
++0000bae8 <[^>]*> nop
++0000baec <[^>]*> nop
++0000baf0 <[^>]*> nop
++0000baf4 <[^>]*> nop
++0000baf8 <[^>]*> nop
++0000bafc <[^>]*> nop
++0000bb00 <[^>]*> nop
++0000bb04 <[^>]*> nop
++0000bb08 <[^>]*> nop
++0000bb0c <[^>]*> nop
++0000bb10 <[^>]*> nop
++0000bb14 <[^>]*> nop
++0000bb18 <[^>]*> nop
++0000bb1c <[^>]*> nop
++0000bb20 <[^>]*> nop
++0000bb24 <[^>]*> nop
++0000bb28 <[^>]*> nop
++0000bb2c <[^>]*> nop
++0000bb30 <[^>]*> nop
++0000bb34 <[^>]*> nop
++0000bb38 <[^>]*> nop
++0000bb3c <[^>]*> nop
++0000bb40 <[^>]*> nop
++0000bb44 <[^>]*> nop
++0000bb48 <[^>]*> nop
++0000bb4c <[^>]*> nop
++0000bb50 <[^>]*> nop
++0000bb54 <[^>]*> nop
++0000bb58 <[^>]*> nop
++0000bb5c <[^>]*> nop
++0000bb60 <[^>]*> nop
++0000bb64 <[^>]*> nop
++0000bb68 <[^>]*> nop
++0000bb6c <[^>]*> nop
++0000bb70 <[^>]*> nop
++0000bb74 <[^>]*> nop
++0000bb78 <[^>]*> nop
++0000bb7c <[^>]*> nop
++0000bb80 <[^>]*> nop
++0000bb84 <[^>]*> nop
++0000bb88 <[^>]*> nop
++0000bb8c <[^>]*> nop
++0000bb90 <[^>]*> nop
++0000bb94 <[^>]*> nop
++0000bb98 <[^>]*> nop
++0000bb9c <[^>]*> nop
++0000bba0 <[^>]*> nop
++0000bba4 <[^>]*> nop
++0000bba8 <[^>]*> nop
++0000bbac <[^>]*> nop
++0000bbb0 <[^>]*> nop
++0000bbb4 <[^>]*> nop
++0000bbb8 <[^>]*> nop
++0000bbbc <[^>]*> nop
++0000bbc0 <[^>]*> nop
++0000bbc4 <[^>]*> nop
++0000bbc8 <[^>]*> nop
++0000bbcc <[^>]*> nop
++0000bbd0 <[^>]*> nop
++0000bbd4 <[^>]*> nop
++0000bbd8 <[^>]*> nop
++0000bbdc <[^>]*> nop
++0000bbe0 <[^>]*> nop
++0000bbe4 <[^>]*> nop
++0000bbe8 <[^>]*> nop
++0000bbec <[^>]*> nop
++0000bbf0 <[^>]*> nop
++0000bbf4 <[^>]*> nop
++0000bbf8 <[^>]*> nop
++0000bbfc <[^>]*> nop
++0000bc00 <[^>]*> nop
++0000bc04 <[^>]*> nop
++0000bc08 <[^>]*> nop
++0000bc0c <[^>]*> nop
++0000bc10 <[^>]*> nop
++0000bc14 <[^>]*> nop
++0000bc18 <[^>]*> nop
++0000bc1c <[^>]*> nop
++0000bc20 <[^>]*> nop
++0000bc24 <[^>]*> nop
++0000bc28 <[^>]*> nop
++0000bc2c <[^>]*> nop
++0000bc30 <[^>]*> nop
++0000bc34 <[^>]*> nop
++0000bc38 <[^>]*> nop
++0000bc3c <[^>]*> nop
++0000bc40 <[^>]*> nop
++0000bc44 <[^>]*> nop
++0000bc48 <[^>]*> nop
++0000bc4c <[^>]*> nop
++0000bc50 <[^>]*> nop
++0000bc54 <[^>]*> nop
++0000bc58 <[^>]*> nop
++0000bc5c <[^>]*> nop
++0000bc60 <[^>]*> nop
++0000bc64 <[^>]*> nop
++0000bc68 <[^>]*> nop
++0000bc6c <[^>]*> nop
++0000bc70 <[^>]*> nop
++0000bc74 <[^>]*> nop
++0000bc78 <[^>]*> nop
++0000bc7c <[^>]*> nop
++0000bc80 <[^>]*> nop
++0000bc84 <[^>]*> nop
++0000bc88 <[^>]*> nop
++0000bc8c <[^>]*> nop
++0000bc90 <[^>]*> nop
++0000bc94 <[^>]*> nop
++0000bc98 <[^>]*> nop
++0000bc9c <[^>]*> nop
++0000bca0 <[^>]*> nop
++0000bca4 <[^>]*> nop
++0000bca8 <[^>]*> nop
++0000bcac <[^>]*> nop
++0000bcb0 <[^>]*> nop
++0000bcb4 <[^>]*> nop
++0000bcb8 <[^>]*> nop
++0000bcbc <[^>]*> nop
++0000bcc0 <[^>]*> nop
++0000bcc4 <[^>]*> nop
++0000bcc8 <[^>]*> nop
++0000bccc <[^>]*> nop
++0000bcd0 <[^>]*> nop
++0000bcd4 <[^>]*> nop
++0000bcd8 <[^>]*> nop
++0000bcdc <[^>]*> nop
++0000bce0 <[^>]*> nop
++0000bce4 <[^>]*> nop
++0000bce8 <[^>]*> nop
++0000bcec <[^>]*> nop
++0000bcf0 <[^>]*> nop
++0000bcf4 <[^>]*> nop
++0000bcf8 <[^>]*> nop
++0000bcfc <[^>]*> nop
++0000bd00 <[^>]*> nop
++0000bd04 <[^>]*> nop
++0000bd08 <[^>]*> nop
++0000bd0c <[^>]*> nop
++0000bd10 <[^>]*> nop
++0000bd14 <[^>]*> nop
++0000bd18 <[^>]*> nop
++0000bd1c <[^>]*> nop
++0000bd20 <[^>]*> nop
++0000bd24 <[^>]*> nop
++0000bd28 <[^>]*> nop
++0000bd2c <[^>]*> nop
++0000bd30 <[^>]*> nop
++0000bd34 <[^>]*> nop
++0000bd38 <[^>]*> nop
++0000bd3c <[^>]*> nop
++0000bd40 <[^>]*> nop
++0000bd44 <[^>]*> nop
++0000bd48 <[^>]*> nop
++0000bd4c <[^>]*> nop
++0000bd50 <[^>]*> nop
++0000bd54 <[^>]*> nop
++0000bd58 <[^>]*> nop
++0000bd5c <[^>]*> nop
++0000bd60 <[^>]*> nop
++0000bd64 <[^>]*> nop
++0000bd68 <[^>]*> nop
++0000bd6c <[^>]*> nop
++0000bd70 <[^>]*> nop
++0000bd74 <[^>]*> nop
++0000bd78 <[^>]*> nop
++0000bd7c <[^>]*> nop
++0000bd80 <[^>]*> nop
++0000bd84 <[^>]*> nop
++0000bd88 <[^>]*> nop
++0000bd8c <[^>]*> nop
++0000bd90 <[^>]*> nop
++0000bd94 <[^>]*> nop
++0000bd98 <[^>]*> nop
++0000bd9c <[^>]*> nop
++0000bda0 <[^>]*> nop
++0000bda4 <[^>]*> nop
++0000bda8 <[^>]*> nop
++0000bdac <[^>]*> nop
++0000bdb0 <[^>]*> nop
++0000bdb4 <[^>]*> nop
++0000bdb8 <[^>]*> nop
++0000bdbc <[^>]*> nop
++0000bdc0 <[^>]*> nop
++0000bdc4 <[^>]*> nop
++0000bdc8 <[^>]*> nop
++0000bdcc <[^>]*> nop
++0000bdd0 <[^>]*> nop
++0000bdd4 <[^>]*> nop
++0000bdd8 <[^>]*> nop
++0000bddc <[^>]*> nop
++0000bde0 <[^>]*> nop
++0000bde4 <[^>]*> nop
++0000bde8 <[^>]*> nop
++0000bdec <[^>]*> nop
++0000bdf0 <[^>]*> nop
++0000bdf4 <[^>]*> nop
++0000bdf8 <[^>]*> nop
++0000bdfc <[^>]*> nop
++0000be00 <[^>]*> nop
++0000be04 <[^>]*> nop
++0000be08 <[^>]*> nop
++0000be0c <[^>]*> nop
++0000be10 <[^>]*> nop
++0000be14 <[^>]*> nop
++0000be18 <[^>]*> nop
++0000be1c <[^>]*> nop
++0000be20 <[^>]*> nop
++0000be24 <[^>]*> nop
++0000be28 <[^>]*> nop
++0000be2c <[^>]*> nop
++0000be30 <[^>]*> nop
++0000be34 <[^>]*> nop
++0000be38 <[^>]*> nop
++0000be3c <[^>]*> nop
++0000be40 <[^>]*> nop
++0000be44 <[^>]*> nop
++0000be48 <[^>]*> nop
++0000be4c <[^>]*> nop
++0000be50 <[^>]*> nop
++0000be54 <[^>]*> nop
++0000be58 <[^>]*> nop
++0000be5c <[^>]*> nop
++0000be60 <[^>]*> nop
++0000be64 <[^>]*> nop
++0000be68 <[^>]*> nop
++0000be6c <[^>]*> nop
++0000be70 <[^>]*> nop
++0000be74 <[^>]*> nop
++0000be78 <[^>]*> nop
++0000be7c <[^>]*> nop
++0000be80 <[^>]*> nop
++0000be84 <[^>]*> nop
++0000be88 <[^>]*> nop
++0000be8c <[^>]*> nop
++0000be90 <[^>]*> nop
++0000be94 <[^>]*> nop
++0000be98 <[^>]*> nop
++0000be9c <[^>]*> nop
++0000bea0 <[^>]*> nop
++0000bea4 <[^>]*> nop
++0000bea8 <[^>]*> nop
++0000beac <[^>]*> nop
++0000beb0 <[^>]*> nop
++0000beb4 <[^>]*> nop
++0000beb8 <[^>]*> nop
++0000bebc <[^>]*> nop
++0000bec0 <[^>]*> nop
++0000bec4 <[^>]*> nop
++0000bec8 <[^>]*> nop
++0000becc <[^>]*> nop
++0000bed0 <[^>]*> nop
++0000bed4 <[^>]*> nop
++0000bed8 <[^>]*> nop
++0000bedc <[^>]*> nop
++0000bee0 <[^>]*> nop
++0000bee4 <[^>]*> nop
++0000bee8 <[^>]*> nop
++0000beec <[^>]*> nop
++0000bef0 <[^>]*> nop
++0000bef4 <[^>]*> nop
++0000bef8 <[^>]*> nop
++0000befc <[^>]*> nop
++0000bf00 <[^>]*> nop
++0000bf04 <[^>]*> nop
++0000bf08 <[^>]*> nop
++0000bf0c <[^>]*> nop
++0000bf10 <[^>]*> nop
++0000bf14 <[^>]*> nop
++0000bf18 <[^>]*> nop
++0000bf1c <[^>]*> nop
++0000bf20 <[^>]*> nop
++0000bf24 <[^>]*> nop
++0000bf28 <[^>]*> nop
++0000bf2c <[^>]*> nop
++0000bf30 <[^>]*> nop
++0000bf34 <[^>]*> nop
++0000bf38 <[^>]*> nop
++0000bf3c <[^>]*> nop
++0000bf40 <[^>]*> nop
++0000bf44 <[^>]*> nop
++0000bf48 <[^>]*> nop
++0000bf4c <[^>]*> nop
++0000bf50 <[^>]*> nop
++0000bf54 <[^>]*> nop
++0000bf58 <[^>]*> nop
++0000bf5c <[^>]*> nop
++0000bf60 <[^>]*> nop
++0000bf64 <[^>]*> nop
++0000bf68 <[^>]*> nop
++0000bf6c <[^>]*> nop
++0000bf70 <[^>]*> nop
++0000bf74 <[^>]*> nop
++0000bf78 <[^>]*> nop
++0000bf7c <[^>]*> nop
++0000bf80 <[^>]*> nop
++0000bf84 <[^>]*> nop
++0000bf88 <[^>]*> nop
++0000bf8c <[^>]*> nop
++0000bf90 <[^>]*> nop
++0000bf94 <[^>]*> nop
++0000bf98 <[^>]*> nop
++0000bf9c <[^>]*> nop
++0000bfa0 <[^>]*> nop
++0000bfa4 <[^>]*> nop
++0000bfa8 <[^>]*> nop
++0000bfac <[^>]*> nop
++0000bfb0 <[^>]*> nop
++0000bfb4 <[^>]*> nop
++0000bfb8 <[^>]*> nop
++0000bfbc <[^>]*> nop
++0000bfc0 <[^>]*> nop
++0000bfc4 <[^>]*> nop
++0000bfc8 <[^>]*> nop
++0000bfcc <[^>]*> nop
++0000bfd0 <[^>]*> nop
++0000bfd4 <[^>]*> nop
++0000bfd8 <[^>]*> nop
++0000bfdc <[^>]*> nop
++0000bfe0 <[^>]*> nop
++0000bfe4 <[^>]*> nop
++0000bfe8 <[^>]*> nop
++0000bfec <[^>]*> nop
++0000bff0 <[^>]*> nop
++0000bff4 <[^>]*> nop
++0000bff8 <[^>]*> nop
++0000bffc <[^>]*> nop
++0000c000 <[^>]*> nop
++0000c004 <[^>]*> nop
++0000c008 <[^>]*> nop
++0000c00c <[^>]*> nop
++0000c010 <[^>]*> nop
++0000c014 <[^>]*> nop
++0000c018 <[^>]*> nop
++0000c01c <[^>]*> nop
++0000c020 <[^>]*> nop
++0000c024 <[^>]*> nop
++0000c028 <[^>]*> nop
++0000c02c <[^>]*> nop
++0000c030 <[^>]*> nop
++0000c034 <[^>]*> nop
++0000c038 <[^>]*> nop
++0000c03c <[^>]*> nop
++0000c040 <[^>]*> nop
++0000c044 <[^>]*> nop
++0000c048 <[^>]*> nop
++0000c04c <[^>]*> nop
++0000c050 <[^>]*> nop
++0000c054 <[^>]*> nop
++0000c058 <[^>]*> nop
++0000c05c <[^>]*> nop
++0000c060 <[^>]*> nop
++0000c064 <[^>]*> nop
++0000c068 <[^>]*> nop
++0000c06c <[^>]*> nop
++0000c070 <[^>]*> nop
++0000c074 <[^>]*> nop
++0000c078 <[^>]*> nop
++0000c07c <[^>]*> nop
++0000c080 <[^>]*> nop
++0000c084 <[^>]*> nop
++0000c088 <[^>]*> nop
++0000c08c <[^>]*> nop
++0000c090 <[^>]*> nop
++0000c094 <[^>]*> nop
++0000c098 <[^>]*> nop
++0000c09c <[^>]*> nop
++0000c0a0 <[^>]*> nop
++0000c0a4 <[^>]*> nop
++0000c0a8 <[^>]*> nop
++0000c0ac <[^>]*> nop
++0000c0b0 <[^>]*> nop
++0000c0b4 <[^>]*> nop
++0000c0b8 <[^>]*> nop
++0000c0bc <[^>]*> nop
++0000c0c0 <[^>]*> nop
++0000c0c4 <[^>]*> nop
++0000c0c8 <[^>]*> nop
++0000c0cc <[^>]*> nop
++0000c0d0 <[^>]*> nop
++0000c0d4 <[^>]*> nop
++0000c0d8 <[^>]*> nop
++0000c0dc <[^>]*> nop
++0000c0e0 <[^>]*> nop
++0000c0e4 <[^>]*> nop
++0000c0e8 <[^>]*> nop
++0000c0ec <[^>]*> nop
++0000c0f0 <[^>]*> nop
++0000c0f4 <[^>]*> nop
++0000c0f8 <[^>]*> nop
++0000c0fc <[^>]*> nop
++0000c100 <[^>]*> nop
++0000c104 <[^>]*> nop
++0000c108 <[^>]*> nop
++0000c10c <[^>]*> nop
++0000c110 <[^>]*> nop
++0000c114 <[^>]*> nop
++0000c118 <[^>]*> nop
++0000c11c <[^>]*> nop
++0000c120 <[^>]*> nop
++0000c124 <[^>]*> nop
++0000c128 <[^>]*> nop
++0000c12c <[^>]*> nop
++0000c130 <[^>]*> nop
++0000c134 <[^>]*> nop
++0000c138 <[^>]*> nop
++0000c13c <[^>]*> nop
++0000c140 <[^>]*> nop
++0000c144 <[^>]*> nop
++0000c148 <[^>]*> nop
++0000c14c <[^>]*> nop
++0000c150 <[^>]*> nop
++0000c154 <[^>]*> nop
++0000c158 <[^>]*> nop
++0000c15c <[^>]*> nop
++0000c160 <[^>]*> nop
++0000c164 <[^>]*> nop
++0000c168 <[^>]*> nop
++0000c16c <[^>]*> nop
++0000c170 <[^>]*> nop
++0000c174 <[^>]*> nop
++0000c178 <[^>]*> nop
++0000c17c <[^>]*> nop
++0000c180 <[^>]*> nop
++0000c184 <[^>]*> nop
++0000c188 <[^>]*> nop
++0000c18c <[^>]*> nop
++0000c190 <[^>]*> nop
++0000c194 <[^>]*> nop
++0000c198 <[^>]*> nop
++0000c19c <[^>]*> nop
++0000c1a0 <[^>]*> nop
++0000c1a4 <[^>]*> nop
++0000c1a8 <[^>]*> nop
++0000c1ac <[^>]*> nop
++0000c1b0 <[^>]*> nop
++0000c1b4 <[^>]*> nop
++0000c1b8 <[^>]*> nop
++0000c1bc <[^>]*> nop
++0000c1c0 <[^>]*> nop
++0000c1c4 <[^>]*> nop
++0000c1c8 <[^>]*> nop
++0000c1cc <[^>]*> nop
++0000c1d0 <[^>]*> nop
++0000c1d4 <[^>]*> nop
++0000c1d8 <[^>]*> nop
++0000c1dc <[^>]*> nop
++0000c1e0 <[^>]*> nop
++0000c1e4 <[^>]*> nop
++0000c1e8 <[^>]*> nop
++0000c1ec <[^>]*> nop
++0000c1f0 <[^>]*> nop
++0000c1f4 <[^>]*> nop
++0000c1f8 <[^>]*> nop
++0000c1fc <[^>]*> nop
++0000c200 <[^>]*> nop
++0000c204 <[^>]*> nop
++0000c208 <[^>]*> nop
++0000c20c <[^>]*> nop
++0000c210 <[^>]*> nop
++0000c214 <[^>]*> nop
++0000c218 <[^>]*> nop
++0000c21c <[^>]*> nop
++0000c220 <[^>]*> nop
++0000c224 <[^>]*> nop
++0000c228 <[^>]*> nop
++0000c22c <[^>]*> nop
++0000c230 <[^>]*> nop
++0000c234 <[^>]*> nop
++0000c238 <[^>]*> nop
++0000c23c <[^>]*> nop
++0000c240 <[^>]*> nop
++0000c244 <[^>]*> nop
++0000c248 <[^>]*> nop
++0000c24c <[^>]*> nop
++0000c250 <[^>]*> nop
++0000c254 <[^>]*> nop
++0000c258 <[^>]*> nop
++0000c25c <[^>]*> nop
++0000c260 <[^>]*> nop
++0000c264 <[^>]*> nop
++0000c268 <[^>]*> nop
++0000c26c <[^>]*> nop
++0000c270 <[^>]*> nop
++0000c274 <[^>]*> nop
++0000c278 <[^>]*> nop
++0000c27c <[^>]*> nop
++0000c280 <[^>]*> nop
++0000c284 <[^>]*> nop
++0000c288 <[^>]*> nop
++0000c28c <[^>]*> nop
++0000c290 <[^>]*> nop
++0000c294 <[^>]*> nop
++0000c298 <[^>]*> nop
++0000c29c <[^>]*> nop
++0000c2a0 <[^>]*> nop
++0000c2a4 <[^>]*> nop
++0000c2a8 <[^>]*> nop
++0000c2ac <[^>]*> nop
++0000c2b0 <[^>]*> nop
++0000c2b4 <[^>]*> nop
++0000c2b8 <[^>]*> nop
++0000c2bc <[^>]*> nop
++0000c2c0 <[^>]*> nop
++0000c2c4 <[^>]*> nop
++0000c2c8 <[^>]*> nop
++0000c2cc <[^>]*> nop
++0000c2d0 <[^>]*> nop
++0000c2d4 <[^>]*> nop
++0000c2d8 <[^>]*> nop
++0000c2dc <[^>]*> nop
++0000c2e0 <[^>]*> nop
++0000c2e4 <[^>]*> nop
++0000c2e8 <[^>]*> nop
++0000c2ec <[^>]*> nop
++0000c2f0 <[^>]*> nop
++0000c2f4 <[^>]*> nop
++0000c2f8 <[^>]*> nop
++0000c2fc <[^>]*> nop
++0000c300 <[^>]*> nop
++0000c304 <[^>]*> nop
++0000c308 <[^>]*> nop
++0000c30c <[^>]*> nop
++0000c310 <[^>]*> nop
++0000c314 <[^>]*> nop
++0000c318 <[^>]*> nop
++0000c31c <[^>]*> nop
++0000c320 <[^>]*> nop
++0000c324 <[^>]*> nop
++0000c328 <[^>]*> nop
++0000c32c <[^>]*> nop
++0000c330 <[^>]*> nop
++0000c334 <[^>]*> nop
++0000c338 <[^>]*> nop
++0000c33c <[^>]*> nop
++0000c340 <[^>]*> nop
++0000c344 <[^>]*> nop
++0000c348 <[^>]*> nop
++0000c34c <[^>]*> nop
++0000c350 <[^>]*> nop
++0000c354 <[^>]*> nop
++0000c358 <[^>]*> nop
++0000c35c <[^>]*> nop
++0000c360 <[^>]*> nop
++0000c364 <[^>]*> nop
++0000c368 <[^>]*> nop
++0000c36c <[^>]*> nop
++0000c370 <[^>]*> nop
++0000c374 <[^>]*> nop
++0000c378 <[^>]*> nop
++0000c37c <[^>]*> nop
++0000c380 <[^>]*> nop
++0000c384 <[^>]*> nop
++0000c388 <[^>]*> nop
++0000c38c <[^>]*> nop
++0000c390 <[^>]*> nop
++0000c394 <[^>]*> nop
++0000c398 <[^>]*> nop
++0000c39c <[^>]*> nop
++0000c3a0 <[^>]*> nop
++0000c3a4 <[^>]*> nop
++0000c3a8 <[^>]*> nop
++0000c3ac <[^>]*> nop
++0000c3b0 <[^>]*> nop
++0000c3b4 <[^>]*> nop
++0000c3b8 <[^>]*> nop
++0000c3bc <[^>]*> nop
++0000c3c0 <[^>]*> nop
++0000c3c4 <[^>]*> nop
++0000c3c8 <[^>]*> nop
++0000c3cc <[^>]*> nop
++0000c3d0 <[^>]*> nop
++0000c3d4 <[^>]*> nop
++0000c3d8 <[^>]*> nop
++0000c3dc <[^>]*> nop
++0000c3e0 <[^>]*> nop
++0000c3e4 <[^>]*> nop
++0000c3e8 <[^>]*> nop
++0000c3ec <[^>]*> nop
++0000c3f0 <[^>]*> nop
++0000c3f4 <[^>]*> nop
++0000c3f8 <[^>]*> nop
++0000c3fc <[^>]*> nop
++0000c400 <[^>]*> nop
++0000c404 <[^>]*> nop
++0000c408 <[^>]*> nop
++0000c40c <[^>]*> nop
++0000c410 <[^>]*> nop
++0000c414 <[^>]*> nop
++0000c418 <[^>]*> nop
++0000c41c <[^>]*> nop
++0000c420 <[^>]*> nop
++0000c424 <[^>]*> nop
++0000c428 <[^>]*> nop
++0000c42c <[^>]*> nop
++0000c430 <[^>]*> nop
++0000c434 <[^>]*> nop
++0000c438 <[^>]*> nop
++0000c43c <[^>]*> nop
++0000c440 <[^>]*> nop
++0000c444 <[^>]*> nop
++0000c448 <[^>]*> nop
++0000c44c <[^>]*> nop
++0000c450 <[^>]*> nop
++0000c454 <[^>]*> nop
++0000c458 <[^>]*> nop
++0000c45c <[^>]*> nop
++0000c460 <[^>]*> nop
++0000c464 <[^>]*> nop
++0000c468 <[^>]*> nop
++0000c46c <[^>]*> nop
++0000c470 <[^>]*> nop
++0000c474 <[^>]*> nop
++0000c478 <[^>]*> nop
++0000c47c <[^>]*> nop
++0000c480 <[^>]*> nop
++0000c484 <[^>]*> nop
++0000c488 <[^>]*> nop
++0000c48c <[^>]*> nop
++0000c490 <[^>]*> nop
++0000c494 <[^>]*> nop
++0000c498 <[^>]*> nop
++0000c49c <[^>]*> nop
++0000c4a0 <[^>]*> nop
++0000c4a4 <[^>]*> nop
++0000c4a8 <[^>]*> nop
++0000c4ac <[^>]*> nop
++0000c4b0 <[^>]*> nop
++0000c4b4 <[^>]*> nop
++0000c4b8 <[^>]*> nop
++0000c4bc <[^>]*> nop
++0000c4c0 <[^>]*> nop
++0000c4c4 <[^>]*> nop
++0000c4c8 <[^>]*> nop
++0000c4cc <[^>]*> nop
++0000c4d0 <[^>]*> nop
++0000c4d4 <[^>]*> nop
++0000c4d8 <[^>]*> nop
++0000c4dc <[^>]*> nop
++0000c4e0 <[^>]*> nop
++0000c4e4 <[^>]*> nop
++0000c4e8 <[^>]*> nop
++0000c4ec <[^>]*> nop
++0000c4f0 <[^>]*> nop
++0000c4f4 <[^>]*> nop
++0000c4f8 <[^>]*> nop
++0000c4fc <[^>]*> nop
++0000c500 <[^>]*> nop
++0000c504 <[^>]*> nop
++0000c508 <[^>]*> nop
++0000c50c <[^>]*> nop
++0000c510 <[^>]*> nop
++0000c514 <[^>]*> nop
++0000c518 <[^>]*> nop
++0000c51c <[^>]*> nop
++0000c520 <[^>]*> nop
++0000c524 <[^>]*> nop
++0000c528 <[^>]*> nop
++0000c52c <[^>]*> nop
++0000c530 <[^>]*> nop
++0000c534 <[^>]*> nop
++0000c538 <[^>]*> nop
++0000c53c <[^>]*> nop
++0000c540 <[^>]*> nop
++0000c544 <[^>]*> nop
++0000c548 <[^>]*> nop
++0000c54c <[^>]*> nop
++0000c550 <[^>]*> nop
++0000c554 <[^>]*> nop
++0000c558 <[^>]*> nop
++0000c55c <[^>]*> nop
++0000c560 <[^>]*> nop
++0000c564 <[^>]*> nop
++0000c568 <[^>]*> nop
++0000c56c <[^>]*> nop
++0000c570 <[^>]*> nop
++0000c574 <[^>]*> nop
++0000c578 <[^>]*> nop
++0000c57c <[^>]*> nop
++0000c580 <[^>]*> nop
++0000c584 <[^>]*> nop
++0000c588 <[^>]*> nop
++0000c58c <[^>]*> nop
++0000c590 <[^>]*> nop
++0000c594 <[^>]*> nop
++0000c598 <[^>]*> nop
++0000c59c <[^>]*> nop
++0000c5a0 <[^>]*> nop
++0000c5a4 <[^>]*> nop
++0000c5a8 <[^>]*> nop
++0000c5ac <[^>]*> nop
++0000c5b0 <[^>]*> nop
++0000c5b4 <[^>]*> nop
++0000c5b8 <[^>]*> nop
++0000c5bc <[^>]*> nop
++0000c5c0 <[^>]*> nop
++0000c5c4 <[^>]*> nop
++0000c5c8 <[^>]*> nop
++0000c5cc <[^>]*> nop
++0000c5d0 <[^>]*> nop
++0000c5d4 <[^>]*> nop
++0000c5d8 <[^>]*> nop
++0000c5dc <[^>]*> nop
++0000c5e0 <[^>]*> nop
++0000c5e4 <[^>]*> nop
++0000c5e8 <[^>]*> nop
++0000c5ec <[^>]*> nop
++0000c5f0 <[^>]*> nop
++0000c5f4 <[^>]*> nop
++0000c5f8 <[^>]*> nop
++0000c5fc <[^>]*> nop
++0000c600 <[^>]*> nop
++0000c604 <[^>]*> nop
++0000c608 <[^>]*> nop
++0000c60c <[^>]*> nop
++0000c610 <[^>]*> nop
++0000c614 <[^>]*> nop
++0000c618 <[^>]*> nop
++0000c61c <[^>]*> nop
++0000c620 <[^>]*> nop
++0000c624 <[^>]*> nop
++0000c628 <[^>]*> nop
++0000c62c <[^>]*> nop
++0000c630 <[^>]*> nop
++0000c634 <[^>]*> nop
++0000c638 <[^>]*> nop
++0000c63c <[^>]*> nop
++0000c640 <[^>]*> nop
++0000c644 <[^>]*> nop
++0000c648 <[^>]*> nop
++0000c64c <[^>]*> nop
++0000c650 <[^>]*> nop
++0000c654 <[^>]*> nop
++0000c658 <[^>]*> nop
++0000c65c <[^>]*> nop
++0000c660 <[^>]*> nop
++0000c664 <[^>]*> nop
++0000c668 <[^>]*> nop
++0000c66c <[^>]*> nop
++0000c670 <[^>]*> nop
++0000c674 <[^>]*> nop
++0000c678 <[^>]*> nop
++0000c67c <[^>]*> nop
++0000c680 <[^>]*> nop
++0000c684 <[^>]*> nop
++0000c688 <[^>]*> nop
++0000c68c <[^>]*> nop
++0000c690 <[^>]*> nop
++0000c694 <[^>]*> nop
++0000c698 <[^>]*> nop
++0000c69c <[^>]*> nop
++0000c6a0 <[^>]*> nop
++0000c6a4 <[^>]*> nop
++0000c6a8 <[^>]*> nop
++0000c6ac <[^>]*> nop
++0000c6b0 <[^>]*> nop
++0000c6b4 <[^>]*> nop
++0000c6b8 <[^>]*> nop
++0000c6bc <[^>]*> nop
++0000c6c0 <[^>]*> nop
++0000c6c4 <[^>]*> nop
++0000c6c8 <[^>]*> nop
++0000c6cc <[^>]*> nop
++0000c6d0 <[^>]*> nop
++0000c6d4 <[^>]*> nop
++0000c6d8 <[^>]*> nop
++0000c6dc <[^>]*> nop
++0000c6e0 <[^>]*> nop
++0000c6e4 <[^>]*> nop
++0000c6e8 <[^>]*> nop
++0000c6ec <[^>]*> nop
++0000c6f0 <[^>]*> nop
++0000c6f4 <[^>]*> nop
++0000c6f8 <[^>]*> nop
++0000c6fc <[^>]*> nop
++0000c700 <[^>]*> nop
++0000c704 <[^>]*> nop
++0000c708 <[^>]*> nop
++0000c70c <[^>]*> nop
++0000c710 <[^>]*> nop
++0000c714 <[^>]*> nop
++0000c718 <[^>]*> nop
++0000c71c <[^>]*> nop
++0000c720 <[^>]*> nop
++0000c724 <[^>]*> nop
++0000c728 <[^>]*> nop
++0000c72c <[^>]*> nop
++0000c730 <[^>]*> nop
++0000c734 <[^>]*> nop
++0000c738 <[^>]*> nop
++0000c73c <[^>]*> nop
++0000c740 <[^>]*> nop
++0000c744 <[^>]*> nop
++0000c748 <[^>]*> nop
++0000c74c <[^>]*> nop
++0000c750 <[^>]*> nop
++0000c754 <[^>]*> nop
++0000c758 <[^>]*> nop
++0000c75c <[^>]*> nop
++0000c760 <[^>]*> nop
++0000c764 <[^>]*> nop
++0000c768 <[^>]*> nop
++0000c76c <[^>]*> nop
++0000c770 <[^>]*> nop
++0000c774 <[^>]*> nop
++0000c778 <[^>]*> nop
++0000c77c <[^>]*> nop
++0000c780 <[^>]*> nop
++0000c784 <[^>]*> nop
++0000c788 <[^>]*> nop
++0000c78c <[^>]*> nop
++0000c790 <[^>]*> nop
++0000c794 <[^>]*> nop
++0000c798 <[^>]*> nop
++0000c79c <[^>]*> nop
++0000c7a0 <[^>]*> nop
++0000c7a4 <[^>]*> nop
++0000c7a8 <[^>]*> nop
++0000c7ac <[^>]*> nop
++0000c7b0 <[^>]*> nop
++0000c7b4 <[^>]*> nop
++0000c7b8 <[^>]*> nop
++0000c7bc <[^>]*> nop
++0000c7c0 <[^>]*> nop
++0000c7c4 <[^>]*> nop
++0000c7c8 <[^>]*> nop
++0000c7cc <[^>]*> nop
++0000c7d0 <[^>]*> nop
++0000c7d4 <[^>]*> nop
++0000c7d8 <[^>]*> nop
++0000c7dc <[^>]*> nop
++0000c7e0 <[^>]*> nop
++0000c7e4 <[^>]*> nop
++0000c7e8 <[^>]*> nop
++0000c7ec <[^>]*> nop
++0000c7f0 <[^>]*> nop
++0000c7f4 <[^>]*> nop
++0000c7f8 <[^>]*> nop
++0000c7fc <[^>]*> nop
++0000c800 <[^>]*> nop
++0000c804 <[^>]*> nop
++0000c808 <[^>]*> nop
++0000c80c <[^>]*> nop
++0000c810 <[^>]*> nop
++0000c814 <[^>]*> nop
++0000c818 <[^>]*> nop
++0000c81c <[^>]*> nop
++0000c820 <[^>]*> nop
++0000c824 <[^>]*> nop
++0000c828 <[^>]*> nop
++0000c82c <[^>]*> nop
++0000c830 <[^>]*> nop
++0000c834 <[^>]*> nop
++0000c838 <[^>]*> nop
++0000c83c <[^>]*> nop
++0000c840 <[^>]*> nop
++0000c844 <[^>]*> nop
++0000c848 <[^>]*> nop
++0000c84c <[^>]*> nop
++0000c850 <[^>]*> nop
++0000c854 <[^>]*> nop
++0000c858 <[^>]*> nop
++0000c85c <[^>]*> nop
++0000c860 <[^>]*> nop
++0000c864 <[^>]*> nop
++0000c868 <[^>]*> nop
++0000c86c <[^>]*> nop
++0000c870 <[^>]*> nop
++0000c874 <[^>]*> nop
++0000c878 <[^>]*> nop
++0000c87c <[^>]*> nop
++0000c880 <[^>]*> nop
++0000c884 <[^>]*> nop
++0000c888 <[^>]*> nop
++0000c88c <[^>]*> nop
++0000c890 <[^>]*> nop
++0000c894 <[^>]*> nop
++0000c898 <[^>]*> nop
++0000c89c <[^>]*> nop
++0000c8a0 <[^>]*> nop
++0000c8a4 <[^>]*> nop
++0000c8a8 <[^>]*> nop
++0000c8ac <[^>]*> nop
++0000c8b0 <[^>]*> nop
++0000c8b4 <[^>]*> nop
++0000c8b8 <[^>]*> nop
++0000c8bc <[^>]*> nop
++0000c8c0 <[^>]*> nop
++0000c8c4 <[^>]*> nop
++0000c8c8 <[^>]*> nop
++0000c8cc <[^>]*> nop
++0000c8d0 <[^>]*> nop
++0000c8d4 <[^>]*> nop
++0000c8d8 <[^>]*> nop
++0000c8dc <[^>]*> nop
++0000c8e0 <[^>]*> nop
++0000c8e4 <[^>]*> nop
++0000c8e8 <[^>]*> nop
++0000c8ec <[^>]*> nop
++0000c8f0 <[^>]*> nop
++0000c8f4 <[^>]*> nop
++0000c8f8 <[^>]*> nop
++0000c8fc <[^>]*> nop
++0000c900 <[^>]*> nop
++0000c904 <[^>]*> nop
++0000c908 <[^>]*> nop
++0000c90c <[^>]*> nop
++0000c910 <[^>]*> nop
++0000c914 <[^>]*> nop
++0000c918 <[^>]*> nop
++0000c91c <[^>]*> nop
++0000c920 <[^>]*> nop
++0000c924 <[^>]*> nop
++0000c928 <[^>]*> nop
++0000c92c <[^>]*> nop
++0000c930 <[^>]*> nop
++0000c934 <[^>]*> nop
++0000c938 <[^>]*> nop
++0000c93c <[^>]*> nop
++0000c940 <[^>]*> nop
++0000c944 <[^>]*> nop
++0000c948 <[^>]*> nop
++0000c94c <[^>]*> nop
++0000c950 <[^>]*> nop
++0000c954 <[^>]*> nop
++0000c958 <[^>]*> nop
++0000c95c <[^>]*> nop
++0000c960 <[^>]*> nop
++0000c964 <[^>]*> nop
++0000c968 <[^>]*> nop
++0000c96c <[^>]*> nop
++0000c970 <[^>]*> nop
++0000c974 <[^>]*> nop
++0000c978 <[^>]*> nop
++0000c97c <[^>]*> nop
++0000c980 <[^>]*> nop
++0000c984 <[^>]*> nop
++0000c988 <[^>]*> nop
++0000c98c <[^>]*> nop
++0000c990 <[^>]*> nop
++0000c994 <[^>]*> nop
++0000c998 <[^>]*> nop
++0000c99c <[^>]*> nop
++0000c9a0 <[^>]*> nop
++0000c9a4 <[^>]*> nop
++0000c9a8 <[^>]*> nop
++0000c9ac <[^>]*> nop
++0000c9b0 <[^>]*> nop
++0000c9b4 <[^>]*> nop
++0000c9b8 <[^>]*> nop
++0000c9bc <[^>]*> nop
++0000c9c0 <[^>]*> nop
++0000c9c4 <[^>]*> nop
++0000c9c8 <[^>]*> nop
++0000c9cc <[^>]*> nop
++0000c9d0 <[^>]*> nop
++0000c9d4 <[^>]*> nop
++0000c9d8 <[^>]*> nop
++0000c9dc <[^>]*> nop
++0000c9e0 <[^>]*> nop
++0000c9e4 <[^>]*> nop
++0000c9e8 <[^>]*> nop
++0000c9ec <[^>]*> nop
++0000c9f0 <[^>]*> nop
++0000c9f4 <[^>]*> nop
++0000c9f8 <[^>]*> nop
++0000c9fc <[^>]*> nop
++0000ca00 <[^>]*> nop
++0000ca04 <[^>]*> nop
++0000ca08 <[^>]*> nop
++0000ca0c <[^>]*> nop
++0000ca10 <[^>]*> nop
++0000ca14 <[^>]*> nop
++0000ca18 <[^>]*> nop
++0000ca1c <[^>]*> nop
++0000ca20 <[^>]*> nop
++0000ca24 <[^>]*> nop
++0000ca28 <[^>]*> nop
++0000ca2c <[^>]*> nop
++0000ca30 <[^>]*> nop
++0000ca34 <[^>]*> nop
++0000ca38 <[^>]*> nop
++0000ca3c <[^>]*> nop
++0000ca40 <[^>]*> nop
++0000ca44 <[^>]*> nop
++0000ca48 <[^>]*> nop
++0000ca4c <[^>]*> nop
++0000ca50 <[^>]*> nop
++0000ca54 <[^>]*> nop
++0000ca58 <[^>]*> nop
++0000ca5c <[^>]*> nop
++0000ca60 <[^>]*> nop
++0000ca64 <[^>]*> nop
++0000ca68 <[^>]*> nop
++0000ca6c <[^>]*> nop
++0000ca70 <[^>]*> nop
++0000ca74 <[^>]*> nop
++0000ca78 <[^>]*> nop
++0000ca7c <[^>]*> nop
++0000ca80 <[^>]*> nop
++0000ca84 <[^>]*> nop
++0000ca88 <[^>]*> nop
++0000ca8c <[^>]*> nop
++0000ca90 <[^>]*> nop
++0000ca94 <[^>]*> nop
++0000ca98 <[^>]*> nop
++0000ca9c <[^>]*> nop
++0000caa0 <[^>]*> nop
++0000caa4 <[^>]*> nop
++0000caa8 <[^>]*> nop
++0000caac <[^>]*> nop
++0000cab0 <[^>]*> nop
++0000cab4 <[^>]*> nop
++0000cab8 <[^>]*> nop
++0000cabc <[^>]*> nop
++0000cac0 <[^>]*> nop
++0000cac4 <[^>]*> nop
++0000cac8 <[^>]*> nop
++0000cacc <[^>]*> nop
++0000cad0 <[^>]*> nop
++0000cad4 <[^>]*> nop
++0000cad8 <[^>]*> nop
++0000cadc <[^>]*> nop
++0000cae0 <[^>]*> nop
++0000cae4 <[^>]*> nop
++0000cae8 <[^>]*> nop
++0000caec <[^>]*> nop
++0000caf0 <[^>]*> nop
++0000caf4 <[^>]*> nop
++0000caf8 <[^>]*> nop
++0000cafc <[^>]*> nop
++0000cb00 <[^>]*> nop
++0000cb04 <[^>]*> nop
++0000cb08 <[^>]*> nop
++0000cb0c <[^>]*> nop
++0000cb10 <[^>]*> nop
++0000cb14 <[^>]*> nop
++0000cb18 <[^>]*> nop
++0000cb1c <[^>]*> nop
++0000cb20 <[^>]*> nop
++0000cb24 <[^>]*> nop
++0000cb28 <[^>]*> nop
++0000cb2c <[^>]*> nop
++0000cb30 <[^>]*> nop
++0000cb34 <[^>]*> nop
++0000cb38 <[^>]*> nop
++0000cb3c <[^>]*> nop
++0000cb40 <[^>]*> nop
++0000cb44 <[^>]*> nop
++0000cb48 <[^>]*> nop
++0000cb4c <[^>]*> nop
++0000cb50 <[^>]*> nop
++0000cb54 <[^>]*> nop
++0000cb58 <[^>]*> nop
++0000cb5c <[^>]*> nop
++0000cb60 <[^>]*> nop
++0000cb64 <[^>]*> nop
++0000cb68 <[^>]*> nop
++0000cb6c <[^>]*> nop
++0000cb70 <[^>]*> nop
++0000cb74 <[^>]*> nop
++0000cb78 <[^>]*> nop
++0000cb7c <[^>]*> nop
++0000cb80 <[^>]*> nop
++0000cb84 <[^>]*> nop
++0000cb88 <[^>]*> nop
++0000cb8c <[^>]*> nop
++0000cb90 <[^>]*> nop
++0000cb94 <[^>]*> nop
++0000cb98 <[^>]*> nop
++0000cb9c <[^>]*> nop
++0000cba0 <[^>]*> nop
++0000cba4 <[^>]*> nop
++0000cba8 <[^>]*> nop
++0000cbac <[^>]*> nop
++0000cbb0 <[^>]*> nop
++0000cbb4 <[^>]*> nop
++0000cbb8 <[^>]*> nop
++0000cbbc <[^>]*> nop
++0000cbc0 <[^>]*> nop
++0000cbc4 <[^>]*> nop
++0000cbc8 <[^>]*> nop
++0000cbcc <[^>]*> nop
++0000cbd0 <[^>]*> nop
++0000cbd4 <[^>]*> nop
++0000cbd8 <[^>]*> nop
++0000cbdc <[^>]*> nop
++0000cbe0 <[^>]*> nop
++0000cbe4 <[^>]*> nop
++0000cbe8 <[^>]*> nop
++0000cbec <[^>]*> nop
++0000cbf0 <[^>]*> nop
++0000cbf4 <[^>]*> nop
++0000cbf8 <[^>]*> nop
++0000cbfc <[^>]*> nop
++0000cc00 <[^>]*> nop
++0000cc04 <[^>]*> nop
++0000cc08 <[^>]*> nop
++0000cc0c <[^>]*> nop
++0000cc10 <[^>]*> nop
++0000cc14 <[^>]*> nop
++0000cc18 <[^>]*> nop
++0000cc1c <[^>]*> nop
++0000cc20 <[^>]*> nop
++0000cc24 <[^>]*> nop
++0000cc28 <[^>]*> nop
++0000cc2c <[^>]*> nop
++0000cc30 <[^>]*> nop
++0000cc34 <[^>]*> nop
++0000cc38 <[^>]*> nop
++0000cc3c <[^>]*> nop
++0000cc40 <[^>]*> nop
++0000cc44 <[^>]*> nop
++0000cc48 <[^>]*> nop
++0000cc4c <[^>]*> nop
++0000cc50 <[^>]*> nop
++0000cc54 <[^>]*> nop
++0000cc58 <[^>]*> nop
++0000cc5c <[^>]*> nop
++0000cc60 <[^>]*> nop
++0000cc64 <[^>]*> nop
++0000cc68 <[^>]*> nop
++0000cc6c <[^>]*> nop
++0000cc70 <[^>]*> nop
++0000cc74 <[^>]*> nop
++0000cc78 <[^>]*> nop
++0000cc7c <[^>]*> nop
++0000cc80 <[^>]*> nop
++0000cc84 <[^>]*> nop
++0000cc88 <[^>]*> nop
++0000cc8c <[^>]*> nop
++0000cc90 <[^>]*> nop
++0000cc94 <[^>]*> nop
++0000cc98 <[^>]*> nop
++0000cc9c <[^>]*> nop
++0000cca0 <[^>]*> nop
++0000cca4 <[^>]*> nop
++0000cca8 <[^>]*> nop
++0000ccac <[^>]*> nop
++0000ccb0 <[^>]*> nop
++0000ccb4 <[^>]*> nop
++0000ccb8 <[^>]*> nop
++0000ccbc <[^>]*> nop
++0000ccc0 <[^>]*> nop
++0000ccc4 <[^>]*> nop
++0000ccc8 <[^>]*> nop
++0000cccc <[^>]*> nop
++0000ccd0 <[^>]*> nop
++0000ccd4 <[^>]*> nop
++0000ccd8 <[^>]*> nop
++0000ccdc <[^>]*> nop
++0000cce0 <[^>]*> nop
++0000cce4 <[^>]*> nop
++0000cce8 <[^>]*> nop
++0000ccec <[^>]*> nop
++0000ccf0 <[^>]*> nop
++0000ccf4 <[^>]*> nop
++0000ccf8 <[^>]*> nop
++0000ccfc <[^>]*> nop
++0000cd00 <[^>]*> nop
++0000cd04 <[^>]*> nop
++0000cd08 <[^>]*> nop
++0000cd0c <[^>]*> nop
++0000cd10 <[^>]*> nop
++0000cd14 <[^>]*> nop
++0000cd18 <[^>]*> nop
++0000cd1c <[^>]*> nop
++0000cd20 <[^>]*> nop
++0000cd24 <[^>]*> nop
++0000cd28 <[^>]*> nop
++0000cd2c <[^>]*> nop
++0000cd30 <[^>]*> nop
++0000cd34 <[^>]*> nop
++0000cd38 <[^>]*> nop
++0000cd3c <[^>]*> nop
++0000cd40 <[^>]*> nop
++0000cd44 <[^>]*> nop
++0000cd48 <[^>]*> nop
++0000cd4c <[^>]*> nop
++0000cd50 <[^>]*> nop
++0000cd54 <[^>]*> nop
++0000cd58 <[^>]*> nop
++0000cd5c <[^>]*> nop
++0000cd60 <[^>]*> nop
++0000cd64 <[^>]*> nop
++0000cd68 <[^>]*> nop
++0000cd6c <[^>]*> nop
++0000cd70 <[^>]*> nop
++0000cd74 <[^>]*> nop
++0000cd78 <[^>]*> nop
++0000cd7c <[^>]*> nop
++0000cd80 <[^>]*> nop
++0000cd84 <[^>]*> nop
++0000cd88 <[^>]*> nop
++0000cd8c <[^>]*> nop
++0000cd90 <[^>]*> nop
++0000cd94 <[^>]*> nop
++0000cd98 <[^>]*> nop
++0000cd9c <[^>]*> nop
++0000cda0 <[^>]*> nop
++0000cda4 <[^>]*> nop
++0000cda8 <[^>]*> nop
++0000cdac <[^>]*> nop
++0000cdb0 <[^>]*> nop
++0000cdb4 <[^>]*> nop
++0000cdb8 <[^>]*> nop
++0000cdbc <[^>]*> nop
++0000cdc0 <[^>]*> nop
++0000cdc4 <[^>]*> nop
++0000cdc8 <[^>]*> nop
++0000cdcc <[^>]*> nop
++0000cdd0 <[^>]*> nop
++0000cdd4 <[^>]*> nop
++0000cdd8 <[^>]*> nop
++0000cddc <[^>]*> nop
++0000cde0 <[^>]*> nop
++0000cde4 <[^>]*> nop
++0000cde8 <[^>]*> nop
++0000cdec <[^>]*> nop
++0000cdf0 <[^>]*> nop
++0000cdf4 <[^>]*> nop
++0000cdf8 <[^>]*> nop
++0000cdfc <[^>]*> nop
++0000ce00 <[^>]*> nop
++0000ce04 <[^>]*> nop
++0000ce08 <[^>]*> nop
++0000ce0c <[^>]*> nop
++0000ce10 <[^>]*> nop
++0000ce14 <[^>]*> nop
++0000ce18 <[^>]*> nop
++0000ce1c <[^>]*> nop
++0000ce20 <[^>]*> nop
++0000ce24 <[^>]*> nop
++0000ce28 <[^>]*> nop
++0000ce2c <[^>]*> nop
++0000ce30 <[^>]*> nop
++0000ce34 <[^>]*> nop
++0000ce38 <[^>]*> nop
++0000ce3c <[^>]*> nop
++0000ce40 <[^>]*> nop
++0000ce44 <[^>]*> nop
++0000ce48 <[^>]*> nop
++0000ce4c <[^>]*> nop
++0000ce50 <[^>]*> nop
++0000ce54 <[^>]*> nop
++0000ce58 <[^>]*> nop
++0000ce5c <[^>]*> nop
++0000ce60 <[^>]*> nop
++0000ce64 <[^>]*> nop
++0000ce68 <[^>]*> nop
++0000ce6c <[^>]*> nop
++0000ce70 <[^>]*> nop
++0000ce74 <[^>]*> nop
++0000ce78 <[^>]*> nop
++0000ce7c <[^>]*> nop
++0000ce80 <[^>]*> nop
++0000ce84 <[^>]*> nop
++0000ce88 <[^>]*> nop
++0000ce8c <[^>]*> nop
++0000ce90 <[^>]*> nop
++0000ce94 <[^>]*> nop
++0000ce98 <[^>]*> nop
++0000ce9c <[^>]*> nop
++0000cea0 <[^>]*> nop
++0000cea4 <[^>]*> nop
++0000cea8 <[^>]*> nop
++0000ceac <[^>]*> nop
++0000ceb0 <[^>]*> nop
++0000ceb4 <[^>]*> nop
++0000ceb8 <[^>]*> nop
++0000cebc <[^>]*> nop
++0000cec0 <[^>]*> nop
++0000cec4 <[^>]*> nop
++0000cec8 <[^>]*> nop
++0000cecc <[^>]*> nop
++0000ced0 <[^>]*> nop
++0000ced4 <[^>]*> nop
++0000ced8 <[^>]*> nop
++0000cedc <[^>]*> nop
++0000cee0 <[^>]*> nop
++0000cee4 <[^>]*> nop
++0000cee8 <[^>]*> nop
++0000ceec <[^>]*> nop
++0000cef0 <[^>]*> nop
++0000cef4 <[^>]*> nop
++0000cef8 <[^>]*> nop
++0000cefc <[^>]*> nop
++0000cf00 <[^>]*> nop
++0000cf04 <[^>]*> nop
++0000cf08 <[^>]*> nop
++0000cf0c <[^>]*> nop
++0000cf10 <[^>]*> nop
++0000cf14 <[^>]*> nop
++0000cf18 <[^>]*> nop
++0000cf1c <[^>]*> nop
++0000cf20 <[^>]*> nop
++0000cf24 <[^>]*> nop
++0000cf28 <[^>]*> nop
++0000cf2c <[^>]*> nop
++0000cf30 <[^>]*> nop
++0000cf34 <[^>]*> nop
++0000cf38 <[^>]*> nop
++0000cf3c <[^>]*> nop
++0000cf40 <[^>]*> nop
++0000cf44 <[^>]*> nop
++0000cf48 <[^>]*> nop
++0000cf4c <[^>]*> nop
++0000cf50 <[^>]*> nop
++0000cf54 <[^>]*> nop
++0000cf58 <[^>]*> nop
++0000cf5c <[^>]*> nop
++0000cf60 <[^>]*> nop
++0000cf64 <[^>]*> nop
++0000cf68 <[^>]*> nop
++0000cf6c <[^>]*> nop
++0000cf70 <[^>]*> nop
++0000cf74 <[^>]*> nop
++0000cf78 <[^>]*> nop
++0000cf7c <[^>]*> nop
++0000cf80 <[^>]*> nop
++0000cf84 <[^>]*> nop
++0000cf88 <[^>]*> nop
++0000cf8c <[^>]*> nop
++0000cf90 <[^>]*> nop
++0000cf94 <[^>]*> nop
++0000cf98 <[^>]*> nop
++0000cf9c <[^>]*> nop
++0000cfa0 <[^>]*> nop
++0000cfa4 <[^>]*> nop
++0000cfa8 <[^>]*> nop
++0000cfac <[^>]*> nop
++0000cfb0 <[^>]*> nop
++0000cfb4 <[^>]*> nop
++0000cfb8 <[^>]*> nop
++0000cfbc <[^>]*> nop
++0000cfc0 <[^>]*> nop
++0000cfc4 <[^>]*> nop
++0000cfc8 <[^>]*> nop
++0000cfcc <[^>]*> nop
++0000cfd0 <[^>]*> nop
++0000cfd4 <[^>]*> nop
++0000cfd8 <[^>]*> nop
++0000cfdc <[^>]*> nop
++0000cfe0 <[^>]*> nop
++0000cfe4 <[^>]*> nop
++0000cfe8 <[^>]*> nop
++0000cfec <[^>]*> nop
++0000cff0 <[^>]*> nop
++0000cff4 <[^>]*> nop
++0000cff8 <[^>]*> nop
++0000cffc <[^>]*> nop
++0000d000 <[^>]*> nop
++0000d004 <[^>]*> nop
++0000d008 <[^>]*> nop
++0000d00c <[^>]*> nop
++0000d010 <[^>]*> nop
++0000d014 <[^>]*> nop
++0000d018 <[^>]*> nop
++0000d01c <[^>]*> nop
++0000d020 <[^>]*> nop
++0000d024 <[^>]*> nop
++0000d028 <[^>]*> nop
++0000d02c <[^>]*> nop
++0000d030 <[^>]*> nop
++0000d034 <[^>]*> nop
++0000d038 <[^>]*> nop
++0000d03c <[^>]*> nop
++0000d040 <[^>]*> nop
++0000d044 <[^>]*> nop
++0000d048 <[^>]*> nop
++0000d04c <[^>]*> nop
++0000d050 <[^>]*> nop
++0000d054 <[^>]*> nop
++0000d058 <[^>]*> nop
++0000d05c <[^>]*> nop
++0000d060 <[^>]*> nop
++0000d064 <[^>]*> nop
++0000d068 <[^>]*> nop
++0000d06c <[^>]*> nop
++0000d070 <[^>]*> nop
++0000d074 <[^>]*> nop
++0000d078 <[^>]*> nop
++0000d07c <[^>]*> nop
++0000d080 <[^>]*> nop
++0000d084 <[^>]*> nop
++0000d088 <[^>]*> nop
++0000d08c <[^>]*> nop
++0000d090 <[^>]*> nop
++0000d094 <[^>]*> nop
++0000d098 <[^>]*> nop
++0000d09c <[^>]*> nop
++0000d0a0 <[^>]*> nop
++0000d0a4 <[^>]*> nop
++0000d0a8 <[^>]*> nop
++0000d0ac <[^>]*> nop
++0000d0b0 <[^>]*> nop
++0000d0b4 <[^>]*> nop
++0000d0b8 <[^>]*> nop
++0000d0bc <[^>]*> nop
++0000d0c0 <[^>]*> nop
++0000d0c4 <[^>]*> nop
++0000d0c8 <[^>]*> nop
++0000d0cc <[^>]*> nop
++0000d0d0 <[^>]*> nop
++0000d0d4 <[^>]*> nop
++0000d0d8 <[^>]*> nop
++0000d0dc <[^>]*> nop
++0000d0e0 <[^>]*> nop
++0000d0e4 <[^>]*> nop
++0000d0e8 <[^>]*> nop
++0000d0ec <[^>]*> nop
++0000d0f0 <[^>]*> nop
++0000d0f4 <[^>]*> nop
++0000d0f8 <[^>]*> nop
++0000d0fc <[^>]*> nop
++0000d100 <[^>]*> nop
++0000d104 <[^>]*> nop
++0000d108 <[^>]*> nop
++0000d10c <[^>]*> nop
++0000d110 <[^>]*> nop
++0000d114 <[^>]*> nop
++0000d118 <[^>]*> nop
++0000d11c <[^>]*> nop
++0000d120 <[^>]*> nop
++0000d124 <[^>]*> nop
++0000d128 <[^>]*> nop
++0000d12c <[^>]*> nop
++0000d130 <[^>]*> nop
++0000d134 <[^>]*> nop
++0000d138 <[^>]*> nop
++0000d13c <[^>]*> nop
++0000d140 <[^>]*> nop
++0000d144 <[^>]*> nop
++0000d148 <[^>]*> nop
++0000d14c <[^>]*> nop
++0000d150 <[^>]*> nop
++0000d154 <[^>]*> nop
++0000d158 <[^>]*> nop
++0000d15c <[^>]*> nop
++0000d160 <[^>]*> nop
++0000d164 <[^>]*> nop
++0000d168 <[^>]*> nop
++0000d16c <[^>]*> nop
++0000d170 <[^>]*> nop
++0000d174 <[^>]*> nop
++0000d178 <[^>]*> nop
++0000d17c <[^>]*> nop
++0000d180 <[^>]*> nop
++0000d184 <[^>]*> nop
++0000d188 <[^>]*> nop
++0000d18c <[^>]*> nop
++0000d190 <[^>]*> nop
++0000d194 <[^>]*> nop
++0000d198 <[^>]*> nop
++0000d19c <[^>]*> nop
++0000d1a0 <[^>]*> nop
++0000d1a4 <[^>]*> nop
++0000d1a8 <[^>]*> nop
++0000d1ac <[^>]*> nop
++0000d1b0 <[^>]*> nop
++0000d1b4 <[^>]*> nop
++0000d1b8 <[^>]*> nop
++0000d1bc <[^>]*> nop
++0000d1c0 <[^>]*> nop
++0000d1c4 <[^>]*> nop
++0000d1c8 <[^>]*> nop
++0000d1cc <[^>]*> nop
++0000d1d0 <[^>]*> nop
++0000d1d4 <[^>]*> nop
++0000d1d8 <[^>]*> nop
++0000d1dc <[^>]*> nop
++0000d1e0 <[^>]*> nop
++0000d1e4 <[^>]*> nop
++0000d1e8 <[^>]*> nop
++0000d1ec <[^>]*> nop
++0000d1f0 <[^>]*> nop
++0000d1f4 <[^>]*> nop
++0000d1f8 <[^>]*> nop
++0000d1fc <[^>]*> nop
++0000d200 <[^>]*> nop
++0000d204 <[^>]*> nop
++0000d208 <[^>]*> nop
++0000d20c <[^>]*> nop
++0000d210 <[^>]*> nop
++0000d214 <[^>]*> nop
++0000d218 <[^>]*> nop
++0000d21c <[^>]*> nop
++0000d220 <[^>]*> nop
++0000d224 <[^>]*> nop
++0000d228 <[^>]*> nop
++0000d22c <[^>]*> nop
++0000d230 <[^>]*> nop
++0000d234 <[^>]*> nop
++0000d238 <[^>]*> nop
++0000d23c <[^>]*> nop
++0000d240 <[^>]*> nop
++0000d244 <[^>]*> nop
++0000d248 <[^>]*> nop
++0000d24c <[^>]*> nop
++0000d250 <[^>]*> nop
++0000d254 <[^>]*> nop
++0000d258 <[^>]*> nop
++0000d25c <[^>]*> nop
++0000d260 <[^>]*> nop
++0000d264 <[^>]*> nop
++0000d268 <[^>]*> nop
++0000d26c <[^>]*> nop
++0000d270 <[^>]*> nop
++0000d274 <[^>]*> nop
++0000d278 <[^>]*> nop
++0000d27c <[^>]*> nop
++0000d280 <[^>]*> nop
++0000d284 <[^>]*> nop
++0000d288 <[^>]*> nop
++0000d28c <[^>]*> nop
++0000d290 <[^>]*> nop
++0000d294 <[^>]*> nop
++0000d298 <[^>]*> nop
++0000d29c <[^>]*> nop
++0000d2a0 <[^>]*> nop
++0000d2a4 <[^>]*> nop
++0000d2a8 <[^>]*> nop
++0000d2ac <[^>]*> nop
++0000d2b0 <[^>]*> nop
++0000d2b4 <[^>]*> nop
++0000d2b8 <[^>]*> nop
++0000d2bc <[^>]*> nop
++0000d2c0 <[^>]*> nop
++0000d2c4 <[^>]*> nop
++0000d2c8 <[^>]*> nop
++0000d2cc <[^>]*> nop
++0000d2d0 <[^>]*> nop
++0000d2d4 <[^>]*> nop
++0000d2d8 <[^>]*> nop
++0000d2dc <[^>]*> nop
++0000d2e0 <[^>]*> nop
++0000d2e4 <[^>]*> nop
++0000d2e8 <[^>]*> nop
++0000d2ec <[^>]*> nop
++0000d2f0 <[^>]*> nop
++0000d2f4 <[^>]*> nop
++0000d2f8 <[^>]*> nop
++0000d2fc <[^>]*> nop
++0000d300 <[^>]*> nop
++0000d304 <[^>]*> nop
++0000d308 <[^>]*> nop
++0000d30c <[^>]*> nop
++0000d310 <[^>]*> nop
++0000d314 <[^>]*> nop
++0000d318 <[^>]*> nop
++0000d31c <[^>]*> nop
++0000d320 <[^>]*> nop
++0000d324 <[^>]*> nop
++0000d328 <[^>]*> nop
++0000d32c <[^>]*> nop
++0000d330 <[^>]*> nop
++0000d334 <[^>]*> nop
++0000d338 <[^>]*> nop
++0000d33c <[^>]*> nop
++0000d340 <[^>]*> nop
++0000d344 <[^>]*> nop
++0000d348 <[^>]*> nop
++0000d34c <[^>]*> nop
++0000d350 <[^>]*> nop
++0000d354 <[^>]*> nop
++0000d358 <[^>]*> nop
++0000d35c <[^>]*> nop
++0000d360 <[^>]*> nop
++0000d364 <[^>]*> nop
++0000d368 <[^>]*> nop
++0000d36c <[^>]*> nop
++0000d370 <[^>]*> nop
++0000d374 <[^>]*> nop
++0000d378 <[^>]*> nop
++0000d37c <[^>]*> nop
++0000d380 <[^>]*> nop
++0000d384 <[^>]*> nop
++0000d388 <[^>]*> nop
++0000d38c <[^>]*> nop
++0000d390 <[^>]*> nop
++0000d394 <[^>]*> nop
++0000d398 <[^>]*> nop
++0000d39c <[^>]*> nop
++0000d3a0 <[^>]*> nop
++0000d3a4 <[^>]*> nop
++0000d3a8 <[^>]*> nop
++0000d3ac <[^>]*> nop
++0000d3b0 <[^>]*> nop
++0000d3b4 <[^>]*> nop
++0000d3b8 <[^>]*> nop
++0000d3bc <[^>]*> nop
++0000d3c0 <[^>]*> nop
++0000d3c4 <[^>]*> nop
++0000d3c8 <[^>]*> nop
++0000d3cc <[^>]*> nop
++0000d3d0 <[^>]*> nop
++0000d3d4 <[^>]*> nop
++0000d3d8 <[^>]*> nop
++0000d3dc <[^>]*> nop
++0000d3e0 <[^>]*> nop
++0000d3e4 <[^>]*> nop
++0000d3e8 <[^>]*> nop
++0000d3ec <[^>]*> nop
++0000d3f0 <[^>]*> nop
++0000d3f4 <[^>]*> nop
++0000d3f8 <[^>]*> nop
++0000d3fc <[^>]*> nop
++0000d400 <[^>]*> nop
++0000d404 <[^>]*> nop
++0000d408 <[^>]*> nop
++0000d40c <[^>]*> nop
++0000d410 <[^>]*> nop
++0000d414 <[^>]*> nop
++0000d418 <[^>]*> nop
++0000d41c <[^>]*> nop
++0000d420 <[^>]*> nop
++0000d424 <[^>]*> nop
++0000d428 <[^>]*> nop
++0000d42c <[^>]*> nop
++0000d430 <[^>]*> nop
++0000d434 <[^>]*> nop
++0000d438 <[^>]*> nop
++0000d43c <[^>]*> nop
++0000d440 <[^>]*> nop
++0000d444 <[^>]*> nop
++0000d448 <[^>]*> nop
++0000d44c <[^>]*> nop
++0000d450 <[^>]*> nop
++0000d454 <[^>]*> nop
++0000d458 <[^>]*> nop
++0000d45c <[^>]*> nop
++0000d460 <[^>]*> nop
++0000d464 <[^>]*> nop
++0000d468 <[^>]*> nop
++0000d46c <[^>]*> nop
++0000d470 <[^>]*> nop
++0000d474 <[^>]*> nop
++0000d478 <[^>]*> nop
++0000d47c <[^>]*> nop
++0000d480 <[^>]*> nop
++0000d484 <[^>]*> nop
++0000d488 <[^>]*> nop
++0000d48c <[^>]*> nop
++0000d490 <[^>]*> nop
++0000d494 <[^>]*> nop
++0000d498 <[^>]*> nop
++0000d49c <[^>]*> nop
++0000d4a0 <[^>]*> nop
++0000d4a4 <[^>]*> nop
++0000d4a8 <[^>]*> nop
++0000d4ac <[^>]*> nop
++0000d4b0 <[^>]*> nop
++0000d4b4 <[^>]*> nop
++0000d4b8 <[^>]*> nop
++0000d4bc <[^>]*> nop
++0000d4c0 <[^>]*> nop
++0000d4c4 <[^>]*> nop
++0000d4c8 <[^>]*> nop
++0000d4cc <[^>]*> nop
++0000d4d0 <[^>]*> nop
++0000d4d4 <[^>]*> nop
++0000d4d8 <[^>]*> nop
++0000d4dc <[^>]*> nop
++0000d4e0 <[^>]*> nop
++0000d4e4 <[^>]*> nop
++0000d4e8 <[^>]*> nop
++0000d4ec <[^>]*> nop
++0000d4f0 <[^>]*> nop
++0000d4f4 <[^>]*> nop
++0000d4f8 <[^>]*> nop
++0000d4fc <[^>]*> nop
++0000d500 <[^>]*> nop
++0000d504 <[^>]*> nop
++0000d508 <[^>]*> nop
++0000d50c <[^>]*> nop
++0000d510 <[^>]*> nop
++0000d514 <[^>]*> nop
++0000d518 <[^>]*> nop
++0000d51c <[^>]*> nop
++0000d520 <[^>]*> nop
++0000d524 <[^>]*> nop
++0000d528 <[^>]*> nop
++0000d52c <[^>]*> nop
++0000d530 <[^>]*> nop
++0000d534 <[^>]*> nop
++0000d538 <[^>]*> nop
++0000d53c <[^>]*> nop
++0000d540 <[^>]*> nop
++0000d544 <[^>]*> nop
++0000d548 <[^>]*> nop
++0000d54c <[^>]*> nop
++0000d550 <[^>]*> nop
++0000d554 <[^>]*> nop
++0000d558 <[^>]*> nop
++0000d55c <[^>]*> nop
++0000d560 <[^>]*> nop
++0000d564 <[^>]*> nop
++0000d568 <[^>]*> nop
++0000d56c <[^>]*> nop
++0000d570 <[^>]*> nop
++0000d574 <[^>]*> nop
++0000d578 <[^>]*> nop
++0000d57c <[^>]*> nop
++0000d580 <[^>]*> nop
++0000d584 <[^>]*> nop
++0000d588 <[^>]*> nop
++0000d58c <[^>]*> nop
++0000d590 <[^>]*> nop
++0000d594 <[^>]*> nop
++0000d598 <[^>]*> nop
++0000d59c <[^>]*> nop
++0000d5a0 <[^>]*> nop
++0000d5a4 <[^>]*> nop
++0000d5a8 <[^>]*> nop
++0000d5ac <[^>]*> nop
++0000d5b0 <[^>]*> nop
++0000d5b4 <[^>]*> nop
++0000d5b8 <[^>]*> nop
++0000d5bc <[^>]*> nop
++0000d5c0 <[^>]*> nop
++0000d5c4 <[^>]*> nop
++0000d5c8 <[^>]*> nop
++0000d5cc <[^>]*> nop
++0000d5d0 <[^>]*> nop
++0000d5d4 <[^>]*> nop
++0000d5d8 <[^>]*> nop
++0000d5dc <[^>]*> nop
++0000d5e0 <[^>]*> nop
++0000d5e4 <[^>]*> nop
++0000d5e8 <[^>]*> nop
++0000d5ec <[^>]*> nop
++0000d5f0 <[^>]*> nop
++0000d5f4 <[^>]*> nop
++0000d5f8 <[^>]*> nop
++0000d5fc <[^>]*> nop
++0000d600 <[^>]*> nop
++0000d604 <[^>]*> nop
++0000d608 <[^>]*> nop
++0000d60c <[^>]*> nop
++0000d610 <[^>]*> nop
++0000d614 <[^>]*> nop
++0000d618 <[^>]*> nop
++0000d61c <[^>]*> nop
++0000d620 <[^>]*> nop
++0000d624 <[^>]*> nop
++0000d628 <[^>]*> nop
++0000d62c <[^>]*> nop
++0000d630 <[^>]*> nop
++0000d634 <[^>]*> nop
++0000d638 <[^>]*> nop
++0000d63c <[^>]*> nop
++0000d640 <[^>]*> nop
++0000d644 <[^>]*> nop
++0000d648 <[^>]*> nop
++0000d64c <[^>]*> nop
++0000d650 <[^>]*> nop
++0000d654 <[^>]*> nop
++0000d658 <[^>]*> nop
++0000d65c <[^>]*> nop
++0000d660 <[^>]*> nop
++0000d664 <[^>]*> nop
++0000d668 <[^>]*> nop
++0000d66c <[^>]*> nop
++0000d670 <[^>]*> nop
++0000d674 <[^>]*> nop
++0000d678 <[^>]*> nop
++0000d67c <[^>]*> nop
++0000d680 <[^>]*> nop
++0000d684 <[^>]*> nop
++0000d688 <[^>]*> nop
++0000d68c <[^>]*> nop
++0000d690 <[^>]*> nop
++0000d694 <[^>]*> nop
++0000d698 <[^>]*> nop
++0000d69c <[^>]*> nop
++0000d6a0 <[^>]*> nop
++0000d6a4 <[^>]*> nop
++0000d6a8 <[^>]*> nop
++0000d6ac <[^>]*> nop
++0000d6b0 <[^>]*> nop
++0000d6b4 <[^>]*> nop
++0000d6b8 <[^>]*> nop
++0000d6bc <[^>]*> nop
++0000d6c0 <[^>]*> nop
++0000d6c4 <[^>]*> nop
++0000d6c8 <[^>]*> nop
++0000d6cc <[^>]*> nop
++0000d6d0 <[^>]*> nop
++0000d6d4 <[^>]*> nop
++0000d6d8 <[^>]*> nop
++0000d6dc <[^>]*> nop
++0000d6e0 <[^>]*> nop
++0000d6e4 <[^>]*> nop
++0000d6e8 <[^>]*> nop
++0000d6ec <[^>]*> nop
++0000d6f0 <[^>]*> nop
++0000d6f4 <[^>]*> nop
++0000d6f8 <[^>]*> nop
++0000d6fc <[^>]*> nop
++0000d700 <[^>]*> nop
++0000d704 <[^>]*> nop
++0000d708 <[^>]*> nop
++0000d70c <[^>]*> nop
++0000d710 <[^>]*> nop
++0000d714 <[^>]*> nop
++0000d718 <[^>]*> nop
++0000d71c <[^>]*> nop
++0000d720 <[^>]*> nop
++0000d724 <[^>]*> nop
++0000d728 <[^>]*> nop
++0000d72c <[^>]*> nop
++0000d730 <[^>]*> nop
++0000d734 <[^>]*> nop
++0000d738 <[^>]*> nop
++0000d73c <[^>]*> nop
++0000d740 <[^>]*> nop
++0000d744 <[^>]*> nop
++0000d748 <[^>]*> nop
++0000d74c <[^>]*> nop
++0000d750 <[^>]*> nop
++0000d754 <[^>]*> nop
++0000d758 <[^>]*> nop
++0000d75c <[^>]*> nop
++0000d760 <[^>]*> nop
++0000d764 <[^>]*> nop
++0000d768 <[^>]*> nop
++0000d76c <[^>]*> nop
++0000d770 <[^>]*> nop
++0000d774 <[^>]*> nop
++0000d778 <[^>]*> nop
++0000d77c <[^>]*> nop
++0000d780 <[^>]*> nop
++0000d784 <[^>]*> nop
++0000d788 <[^>]*> nop
++0000d78c <[^>]*> nop
++0000d790 <[^>]*> nop
++0000d794 <[^>]*> nop
++0000d798 <[^>]*> nop
++0000d79c <[^>]*> nop
++0000d7a0 <[^>]*> nop
++0000d7a4 <[^>]*> nop
++0000d7a8 <[^>]*> nop
++0000d7ac <[^>]*> nop
++0000d7b0 <[^>]*> nop
++0000d7b4 <[^>]*> nop
++0000d7b8 <[^>]*> nop
++0000d7bc <[^>]*> nop
++0000d7c0 <[^>]*> nop
++0000d7c4 <[^>]*> nop
++0000d7c8 <[^>]*> nop
++0000d7cc <[^>]*> nop
++0000d7d0 <[^>]*> nop
++0000d7d4 <[^>]*> nop
++0000d7d8 <[^>]*> nop
++0000d7dc <[^>]*> nop
++0000d7e0 <[^>]*> nop
++0000d7e4 <[^>]*> nop
++0000d7e8 <[^>]*> nop
++0000d7ec <[^>]*> nop
++0000d7f0 <[^>]*> nop
++0000d7f4 <[^>]*> nop
++0000d7f8 <[^>]*> nop
++0000d7fc <[^>]*> nop
++0000d800 <[^>]*> nop
++0000d804 <[^>]*> nop
++0000d808 <[^>]*> nop
++0000d80c <[^>]*> nop
++0000d810 <[^>]*> nop
++0000d814 <[^>]*> nop
++0000d818 <[^>]*> nop
++0000d81c <[^>]*> nop
++0000d820 <[^>]*> nop
++0000d824 <[^>]*> nop
++0000d828 <[^>]*> nop
++0000d82c <[^>]*> nop
++0000d830 <[^>]*> nop
++0000d834 <[^>]*> nop
++0000d838 <[^>]*> nop
++0000d83c <[^>]*> nop
++0000d840 <[^>]*> nop
++0000d844 <[^>]*> nop
++0000d848 <[^>]*> nop
++0000d84c <[^>]*> nop
++0000d850 <[^>]*> nop
++0000d854 <[^>]*> nop
++0000d858 <[^>]*> nop
++0000d85c <[^>]*> nop
++0000d860 <[^>]*> nop
++0000d864 <[^>]*> nop
++0000d868 <[^>]*> nop
++0000d86c <[^>]*> nop
++0000d870 <[^>]*> nop
++0000d874 <[^>]*> nop
++0000d878 <[^>]*> nop
++0000d87c <[^>]*> nop
++0000d880 <[^>]*> nop
++0000d884 <[^>]*> nop
++0000d888 <[^>]*> nop
++0000d88c <[^>]*> nop
++0000d890 <[^>]*> nop
++0000d894 <[^>]*> nop
++0000d898 <[^>]*> nop
++0000d89c <[^>]*> nop
++0000d8a0 <[^>]*> nop
++0000d8a4 <[^>]*> nop
++0000d8a8 <[^>]*> nop
++0000d8ac <[^>]*> nop
++0000d8b0 <[^>]*> nop
++0000d8b4 <[^>]*> nop
++0000d8b8 <[^>]*> nop
++0000d8bc <[^>]*> nop
++0000d8c0 <[^>]*> nop
++0000d8c4 <[^>]*> nop
++0000d8c8 <[^>]*> nop
++0000d8cc <[^>]*> nop
++0000d8d0 <[^>]*> nop
++0000d8d4 <[^>]*> nop
++0000d8d8 <[^>]*> nop
++0000d8dc <[^>]*> nop
++0000d8e0 <[^>]*> nop
++0000d8e4 <[^>]*> nop
++0000d8e8 <[^>]*> nop
++0000d8ec <[^>]*> nop
++0000d8f0 <[^>]*> nop
++0000d8f4 <[^>]*> nop
++0000d8f8 <[^>]*> nop
++0000d8fc <[^>]*> nop
++0000d900 <[^>]*> nop
++0000d904 <[^>]*> nop
++0000d908 <[^>]*> nop
++0000d90c <[^>]*> nop
++0000d910 <[^>]*> nop
++0000d914 <[^>]*> nop
++0000d918 <[^>]*> nop
++0000d91c <[^>]*> nop
++0000d920 <[^>]*> nop
++0000d924 <[^>]*> nop
++0000d928 <[^>]*> nop
++0000d92c <[^>]*> nop
++0000d930 <[^>]*> nop
++0000d934 <[^>]*> nop
++0000d938 <[^>]*> nop
++0000d93c <[^>]*> nop
++0000d940 <[^>]*> nop
++0000d944 <[^>]*> nop
++0000d948 <[^>]*> nop
++0000d94c <[^>]*> nop
++0000d950 <[^>]*> nop
++0000d954 <[^>]*> nop
++0000d958 <[^>]*> nop
++0000d95c <[^>]*> nop
++0000d960 <[^>]*> nop
++0000d964 <[^>]*> nop
++0000d968 <[^>]*> nop
++0000d96c <[^>]*> nop
++0000d970 <[^>]*> nop
++0000d974 <[^>]*> nop
++0000d978 <[^>]*> nop
++0000d97c <[^>]*> nop
++0000d980 <[^>]*> nop
++0000d984 <[^>]*> nop
++0000d988 <[^>]*> nop
++0000d98c <[^>]*> nop
++0000d990 <[^>]*> nop
++0000d994 <[^>]*> nop
++0000d998 <[^>]*> nop
++0000d99c <[^>]*> nop
++0000d9a0 <[^>]*> nop
++0000d9a4 <[^>]*> nop
++0000d9a8 <[^>]*> nop
++0000d9ac <[^>]*> nop
++0000d9b0 <[^>]*> nop
++0000d9b4 <[^>]*> nop
++0000d9b8 <[^>]*> nop
++0000d9bc <[^>]*> nop
++0000d9c0 <[^>]*> nop
++0000d9c4 <[^>]*> nop
++0000d9c8 <[^>]*> nop
++0000d9cc <[^>]*> nop
++0000d9d0 <[^>]*> nop
++0000d9d4 <[^>]*> nop
++0000d9d8 <[^>]*> nop
++0000d9dc <[^>]*> nop
++0000d9e0 <[^>]*> nop
++0000d9e4 <[^>]*> nop
++0000d9e8 <[^>]*> nop
++0000d9ec <[^>]*> nop
++0000d9f0 <[^>]*> nop
++0000d9f4 <[^>]*> nop
++0000d9f8 <[^>]*> nop
++0000d9fc <[^>]*> nop
++0000da00 <[^>]*> nop
++0000da04 <[^>]*> nop
++0000da08 <[^>]*> nop
++0000da0c <[^>]*> nop
++0000da10 <[^>]*> nop
++0000da14 <[^>]*> nop
++0000da18 <[^>]*> nop
++0000da1c <[^>]*> nop
++0000da20 <[^>]*> nop
++0000da24 <[^>]*> nop
++0000da28 <[^>]*> nop
++0000da2c <[^>]*> nop
++0000da30 <[^>]*> nop
++0000da34 <[^>]*> nop
++0000da38 <[^>]*> nop
++0000da3c <[^>]*> nop
++0000da40 <[^>]*> nop
++0000da44 <[^>]*> nop
++0000da48 <[^>]*> nop
++0000da4c <[^>]*> nop
++0000da50 <[^>]*> nop
++0000da54 <[^>]*> nop
++0000da58 <[^>]*> nop
++0000da5c <[^>]*> nop
++0000da60 <[^>]*> nop
++0000da64 <[^>]*> nop
++0000da68 <[^>]*> nop
++0000da6c <[^>]*> nop
++0000da70 <[^>]*> nop
++0000da74 <[^>]*> nop
++0000da78 <[^>]*> nop
++0000da7c <[^>]*> nop
++0000da80 <[^>]*> nop
++0000da84 <[^>]*> nop
++0000da88 <[^>]*> nop
++0000da8c <[^>]*> nop
++0000da90 <[^>]*> nop
++0000da94 <[^>]*> nop
++0000da98 <[^>]*> nop
++0000da9c <[^>]*> nop
++0000daa0 <[^>]*> nop
++0000daa4 <[^>]*> nop
++0000daa8 <[^>]*> nop
++0000daac <[^>]*> nop
++0000dab0 <[^>]*> nop
++0000dab4 <[^>]*> nop
++0000dab8 <[^>]*> nop
++0000dabc <[^>]*> nop
++0000dac0 <[^>]*> nop
++0000dac4 <[^>]*> nop
++0000dac8 <[^>]*> nop
++0000dacc <[^>]*> nop
++0000dad0 <[^>]*> nop
++0000dad4 <[^>]*> nop
++0000dad8 <[^>]*> nop
++0000dadc <[^>]*> nop
++0000dae0 <[^>]*> nop
++0000dae4 <[^>]*> nop
++0000dae8 <[^>]*> nop
++0000daec <[^>]*> nop
++0000daf0 <[^>]*> nop
++0000daf4 <[^>]*> nop
++0000daf8 <[^>]*> nop
++0000dafc <[^>]*> nop
++0000db00 <[^>]*> nop
++0000db04 <[^>]*> nop
++0000db08 <[^>]*> nop
++0000db0c <[^>]*> nop
++0000db10 <[^>]*> nop
++0000db14 <[^>]*> nop
++0000db18 <[^>]*> nop
++0000db1c <[^>]*> nop
++0000db20 <[^>]*> nop
++0000db24 <[^>]*> nop
++0000db28 <[^>]*> nop
++0000db2c <[^>]*> nop
++0000db30 <[^>]*> nop
++0000db34 <[^>]*> nop
++0000db38 <[^>]*> nop
++0000db3c <[^>]*> nop
++0000db40 <[^>]*> nop
++0000db44 <[^>]*> nop
++0000db48 <[^>]*> nop
++0000db4c <[^>]*> nop
++0000db50 <[^>]*> nop
++0000db54 <[^>]*> nop
++0000db58 <[^>]*> nop
++0000db5c <[^>]*> nop
++0000db60 <[^>]*> nop
++0000db64 <[^>]*> nop
++0000db68 <[^>]*> nop
++0000db6c <[^>]*> nop
++0000db70 <[^>]*> nop
++0000db74 <[^>]*> nop
++0000db78 <[^>]*> nop
++0000db7c <[^>]*> nop
++0000db80 <[^>]*> nop
++0000db84 <[^>]*> nop
++0000db88 <[^>]*> nop
++0000db8c <[^>]*> nop
++0000db90 <[^>]*> nop
++0000db94 <[^>]*> nop
++0000db98 <[^>]*> nop
++0000db9c <[^>]*> nop
++0000dba0 <[^>]*> nop
++0000dba4 <[^>]*> nop
++0000dba8 <[^>]*> nop
++0000dbac <[^>]*> nop
++0000dbb0 <[^>]*> nop
++0000dbb4 <[^>]*> nop
++0000dbb8 <[^>]*> nop
++0000dbbc <[^>]*> nop
++0000dbc0 <[^>]*> nop
++0000dbc4 <[^>]*> nop
++0000dbc8 <[^>]*> nop
++0000dbcc <[^>]*> nop
++0000dbd0 <[^>]*> nop
++0000dbd4 <[^>]*> nop
++0000dbd8 <[^>]*> nop
++0000dbdc <[^>]*> nop
++0000dbe0 <[^>]*> nop
++0000dbe4 <[^>]*> nop
++0000dbe8 <[^>]*> nop
++0000dbec <[^>]*> nop
++0000dbf0 <[^>]*> nop
++0000dbf4 <[^>]*> nop
++0000dbf8 <[^>]*> nop
++0000dbfc <[^>]*> nop
++0000dc00 <[^>]*> nop
++0000dc04 <[^>]*> nop
++0000dc08 <[^>]*> nop
++0000dc0c <[^>]*> nop
++0000dc10 <[^>]*> nop
++0000dc14 <[^>]*> nop
++0000dc18 <[^>]*> nop
++0000dc1c <[^>]*> nop
++0000dc20 <[^>]*> nop
++0000dc24 <[^>]*> nop
++0000dc28 <[^>]*> nop
++0000dc2c <[^>]*> nop
++0000dc30 <[^>]*> nop
++0000dc34 <[^>]*> nop
++0000dc38 <[^>]*> nop
++0000dc3c <[^>]*> nop
++0000dc40 <[^>]*> nop
++0000dc44 <[^>]*> nop
++0000dc48 <[^>]*> nop
++0000dc4c <[^>]*> nop
++0000dc50 <[^>]*> nop
++0000dc54 <[^>]*> nop
++0000dc58 <[^>]*> nop
++0000dc5c <[^>]*> nop
++0000dc60 <[^>]*> nop
++0000dc64 <[^>]*> nop
++0000dc68 <[^>]*> nop
++0000dc6c <[^>]*> nop
++0000dc70 <[^>]*> nop
++0000dc74 <[^>]*> nop
++0000dc78 <[^>]*> nop
++0000dc7c <[^>]*> nop
++0000dc80 <[^>]*> nop
++0000dc84 <[^>]*> nop
++0000dc88 <[^>]*> nop
++0000dc8c <[^>]*> nop
++0000dc90 <[^>]*> nop
++0000dc94 <[^>]*> nop
++0000dc98 <[^>]*> nop
++0000dc9c <[^>]*> nop
++0000dca0 <[^>]*> nop
++0000dca4 <[^>]*> nop
++0000dca8 <[^>]*> nop
++0000dcac <[^>]*> nop
++0000dcb0 <[^>]*> nop
++0000dcb4 <[^>]*> nop
++0000dcb8 <[^>]*> nop
++0000dcbc <[^>]*> nop
++0000dcc0 <[^>]*> nop
++0000dcc4 <[^>]*> nop
++0000dcc8 <[^>]*> nop
++0000dccc <[^>]*> nop
++0000dcd0 <[^>]*> nop
++0000dcd4 <[^>]*> nop
++0000dcd8 <[^>]*> nop
++0000dcdc <[^>]*> nop
++0000dce0 <[^>]*> nop
++0000dce4 <[^>]*> nop
++0000dce8 <[^>]*> nop
++0000dcec <[^>]*> nop
++0000dcf0 <[^>]*> nop
++0000dcf4 <[^>]*> nop
++0000dcf8 <[^>]*> nop
++0000dcfc <[^>]*> nop
++0000dd00 <[^>]*> nop
++0000dd04 <[^>]*> nop
++0000dd08 <[^>]*> nop
++0000dd0c <[^>]*> nop
++0000dd10 <[^>]*> nop
++0000dd14 <[^>]*> nop
++0000dd18 <[^>]*> nop
++0000dd1c <[^>]*> nop
++0000dd20 <[^>]*> nop
++0000dd24 <[^>]*> nop
++0000dd28 <[^>]*> nop
++0000dd2c <[^>]*> nop
++0000dd30 <[^>]*> nop
++0000dd34 <[^>]*> nop
++0000dd38 <[^>]*> nop
++0000dd3c <[^>]*> nop
++0000dd40 <[^>]*> nop
++0000dd44 <[^>]*> nop
++0000dd48 <[^>]*> nop
++0000dd4c <[^>]*> nop
++0000dd50 <[^>]*> nop
++0000dd54 <[^>]*> nop
++0000dd58 <[^>]*> nop
++0000dd5c <[^>]*> nop
++0000dd60 <[^>]*> nop
++0000dd64 <[^>]*> nop
++0000dd68 <[^>]*> nop
++0000dd6c <[^>]*> nop
++0000dd70 <[^>]*> nop
++0000dd74 <[^>]*> nop
++0000dd78 <[^>]*> nop
++0000dd7c <[^>]*> nop
++0000dd80 <[^>]*> nop
++0000dd84 <[^>]*> nop
++0000dd88 <[^>]*> nop
++0000dd8c <[^>]*> nop
++0000dd90 <[^>]*> nop
++0000dd94 <[^>]*> nop
++0000dd98 <[^>]*> nop
++0000dd9c <[^>]*> nop
++0000dda0 <[^>]*> nop
++0000dda4 <[^>]*> nop
++0000dda8 <[^>]*> nop
++0000ddac <[^>]*> nop
++0000ddb0 <[^>]*> nop
++0000ddb4 <[^>]*> nop
++0000ddb8 <[^>]*> nop
++0000ddbc <[^>]*> nop
++0000ddc0 <[^>]*> nop
++0000ddc4 <[^>]*> nop
++0000ddc8 <[^>]*> nop
++0000ddcc <[^>]*> nop
++0000ddd0 <[^>]*> nop
++0000ddd4 <[^>]*> nop
++0000ddd8 <[^>]*> nop
++0000dddc <[^>]*> nop
++0000dde0 <[^>]*> nop
++0000dde4 <[^>]*> nop
++0000dde8 <[^>]*> nop
++0000ddec <[^>]*> nop
++0000ddf0 <[^>]*> nop
++0000ddf4 <[^>]*> nop
++0000ddf8 <[^>]*> nop
++0000ddfc <[^>]*> nop
++0000de00 <[^>]*> nop
++0000de04 <[^>]*> nop
++0000de08 <[^>]*> nop
++0000de0c <[^>]*> nop
++0000de10 <[^>]*> nop
++0000de14 <[^>]*> nop
++0000de18 <[^>]*> nop
++0000de1c <[^>]*> nop
++0000de20 <[^>]*> nop
++0000de24 <[^>]*> nop
++0000de28 <[^>]*> nop
++0000de2c <[^>]*> nop
++0000de30 <[^>]*> nop
++0000de34 <[^>]*> nop
++0000de38 <[^>]*> nop
++0000de3c <[^>]*> nop
++0000de40 <[^>]*> nop
++0000de44 <[^>]*> nop
++0000de48 <[^>]*> nop
++0000de4c <[^>]*> nop
++0000de50 <[^>]*> nop
++0000de54 <[^>]*> nop
++0000de58 <[^>]*> nop
++0000de5c <[^>]*> nop
++0000de60 <[^>]*> nop
++0000de64 <[^>]*> nop
++0000de68 <[^>]*> nop
++0000de6c <[^>]*> nop
++0000de70 <[^>]*> nop
++0000de74 <[^>]*> nop
++0000de78 <[^>]*> nop
++0000de7c <[^>]*> nop
++0000de80 <[^>]*> nop
++0000de84 <[^>]*> nop
++0000de88 <[^>]*> nop
++0000de8c <[^>]*> nop
++0000de90 <[^>]*> nop
++0000de94 <[^>]*> nop
++0000de98 <[^>]*> nop
++0000de9c <[^>]*> nop
++0000dea0 <[^>]*> nop
++0000dea4 <[^>]*> nop
++0000dea8 <[^>]*> nop
++0000deac <[^>]*> nop
++0000deb0 <[^>]*> nop
++0000deb4 <[^>]*> nop
++0000deb8 <[^>]*> nop
++0000debc <[^>]*> nop
++0000dec0 <[^>]*> nop
++0000dec4 <[^>]*> nop
++0000dec8 <[^>]*> nop
++0000decc <[^>]*> nop
++0000ded0 <[^>]*> nop
++0000ded4 <[^>]*> nop
++0000ded8 <[^>]*> nop
++0000dedc <[^>]*> nop
++0000dee0 <[^>]*> nop
++0000dee4 <[^>]*> nop
++0000dee8 <[^>]*> nop
++0000deec <[^>]*> nop
++0000def0 <[^>]*> nop
++0000def4 <[^>]*> nop
++0000def8 <[^>]*> nop
++0000defc <[^>]*> nop
++0000df00 <[^>]*> nop
++0000df04 <[^>]*> nop
++0000df08 <[^>]*> nop
++0000df0c <[^>]*> nop
++0000df10 <[^>]*> nop
++0000df14 <[^>]*> nop
++0000df18 <[^>]*> nop
++0000df1c <[^>]*> nop
++0000df20 <[^>]*> nop
++0000df24 <[^>]*> nop
++0000df28 <[^>]*> nop
++0000df2c <[^>]*> nop
++0000df30 <[^>]*> nop
++0000df34 <[^>]*> nop
++0000df38 <[^>]*> nop
++0000df3c <[^>]*> nop
++0000df40 <[^>]*> nop
++0000df44 <[^>]*> nop
++0000df48 <[^>]*> nop
++0000df4c <[^>]*> nop
++0000df50 <[^>]*> nop
++0000df54 <[^>]*> nop
++0000df58 <[^>]*> nop
++0000df5c <[^>]*> nop
++0000df60 <[^>]*> nop
++0000df64 <[^>]*> nop
++0000df68 <[^>]*> nop
++0000df6c <[^>]*> nop
++0000df70 <[^>]*> nop
++0000df74 <[^>]*> nop
++0000df78 <[^>]*> nop
++0000df7c <[^>]*> nop
++0000df80 <[^>]*> nop
++0000df84 <[^>]*> nop
++0000df88 <[^>]*> nop
++0000df8c <[^>]*> nop
++0000df90 <[^>]*> nop
++0000df94 <[^>]*> nop
++0000df98 <[^>]*> nop
++0000df9c <[^>]*> nop
++0000dfa0 <[^>]*> nop
++0000dfa4 <[^>]*> nop
++0000dfa8 <[^>]*> nop
++0000dfac <[^>]*> nop
++0000dfb0 <[^>]*> nop
++0000dfb4 <[^>]*> nop
++0000dfb8 <[^>]*> nop
++0000dfbc <[^>]*> nop
++0000dfc0 <[^>]*> nop
++0000dfc4 <[^>]*> nop
++0000dfc8 <[^>]*> nop
++0000dfcc <[^>]*> nop
++0000dfd0 <[^>]*> nop
++0000dfd4 <[^>]*> nop
++0000dfd8 <[^>]*> nop
++0000dfdc <[^>]*> nop
++0000dfe0 <[^>]*> nop
++0000dfe4 <[^>]*> nop
++0000dfe8 <[^>]*> nop
++0000dfec <[^>]*> nop
++0000dff0 <[^>]*> nop
++0000dff4 <[^>]*> nop
++0000dff8 <[^>]*> nop
++0000dffc <[^>]*> nop
++0000e000 <[^>]*> nop
++0000e004 <[^>]*> nop
++0000e008 <[^>]*> nop
++0000e00c <[^>]*> nop
++0000e010 <[^>]*> nop
++0000e014 <[^>]*> nop
++0000e018 <[^>]*> nop
++0000e01c <[^>]*> nop
++0000e020 <[^>]*> nop
++0000e024 <[^>]*> nop
++0000e028 <[^>]*> nop
++0000e02c <[^>]*> nop
++0000e030 <[^>]*> nop
++0000e034 <[^>]*> nop
++0000e038 <[^>]*> nop
++0000e03c <[^>]*> nop
++0000e040 <[^>]*> nop
++0000e044 <[^>]*> nop
++0000e048 <[^>]*> nop
++0000e04c <[^>]*> nop
++0000e050 <[^>]*> nop
++0000e054 <[^>]*> nop
++0000e058 <[^>]*> nop
++0000e05c <[^>]*> nop
++0000e060 <[^>]*> nop
++0000e064 <[^>]*> nop
++0000e068 <[^>]*> nop
++0000e06c <[^>]*> nop
++0000e070 <[^>]*> nop
++0000e074 <[^>]*> nop
++0000e078 <[^>]*> nop
++0000e07c <[^>]*> nop
++0000e080 <[^>]*> nop
++0000e084 <[^>]*> nop
++0000e088 <[^>]*> nop
++0000e08c <[^>]*> nop
++0000e090 <[^>]*> nop
++0000e094 <[^>]*> nop
++0000e098 <[^>]*> nop
++0000e09c <[^>]*> nop
++0000e0a0 <[^>]*> nop
++0000e0a4 <[^>]*> nop
++0000e0a8 <[^>]*> nop
++0000e0ac <[^>]*> nop
++0000e0b0 <[^>]*> nop
++0000e0b4 <[^>]*> nop
++0000e0b8 <[^>]*> nop
++0000e0bc <[^>]*> nop
++0000e0c0 <[^>]*> nop
++0000e0c4 <[^>]*> nop
++0000e0c8 <[^>]*> nop
++0000e0cc <[^>]*> nop
++0000e0d0 <[^>]*> nop
++0000e0d4 <[^>]*> nop
++0000e0d8 <[^>]*> nop
++0000e0dc <[^>]*> nop
++0000e0e0 <[^>]*> nop
++0000e0e4 <[^>]*> nop
++0000e0e8 <[^>]*> nop
++0000e0ec <[^>]*> nop
++0000e0f0 <[^>]*> nop
++0000e0f4 <[^>]*> nop
++0000e0f8 <[^>]*> nop
++0000e0fc <[^>]*> nop
++0000e100 <[^>]*> nop
++0000e104 <[^>]*> nop
++0000e108 <[^>]*> nop
++0000e10c <[^>]*> nop
++0000e110 <[^>]*> nop
++0000e114 <[^>]*> nop
++0000e118 <[^>]*> nop
++0000e11c <[^>]*> nop
++0000e120 <[^>]*> nop
++0000e124 <[^>]*> nop
++0000e128 <[^>]*> nop
++0000e12c <[^>]*> nop
++0000e130 <[^>]*> nop
++0000e134 <[^>]*> nop
++0000e138 <[^>]*> nop
++0000e13c <[^>]*> nop
++0000e140 <[^>]*> nop
++0000e144 <[^>]*> nop
++0000e148 <[^>]*> nop
++0000e14c <[^>]*> nop
++0000e150 <[^>]*> nop
++0000e154 <[^>]*> nop
++0000e158 <[^>]*> nop
++0000e15c <[^>]*> nop
++0000e160 <[^>]*> nop
++0000e164 <[^>]*> nop
++0000e168 <[^>]*> nop
++0000e16c <[^>]*> nop
++0000e170 <[^>]*> nop
++0000e174 <[^>]*> nop
++0000e178 <[^>]*> nop
++0000e17c <[^>]*> nop
++0000e180 <[^>]*> nop
++0000e184 <[^>]*> nop
++0000e188 <[^>]*> nop
++0000e18c <[^>]*> nop
++0000e190 <[^>]*> nop
++0000e194 <[^>]*> nop
++0000e198 <[^>]*> nop
++0000e19c <[^>]*> nop
++0000e1a0 <[^>]*> nop
++0000e1a4 <[^>]*> nop
++0000e1a8 <[^>]*> nop
++0000e1ac <[^>]*> nop
++0000e1b0 <[^>]*> nop
++0000e1b4 <[^>]*> nop
++0000e1b8 <[^>]*> nop
++0000e1bc <[^>]*> nop
++0000e1c0 <[^>]*> nop
++0000e1c4 <[^>]*> nop
++0000e1c8 <[^>]*> nop
++0000e1cc <[^>]*> nop
++0000e1d0 <[^>]*> nop
++0000e1d4 <[^>]*> nop
++0000e1d8 <[^>]*> nop
++0000e1dc <[^>]*> nop
++0000e1e0 <[^>]*> nop
++0000e1e4 <[^>]*> nop
++0000e1e8 <[^>]*> nop
++0000e1ec <[^>]*> nop
++0000e1f0 <[^>]*> nop
++0000e1f4 <[^>]*> nop
++0000e1f8 <[^>]*> nop
++0000e1fc <[^>]*> nop
++0000e200 <[^>]*> nop
++0000e204 <[^>]*> nop
++0000e208 <[^>]*> nop
++0000e20c <[^>]*> nop
++0000e210 <[^>]*> nop
++0000e214 <[^>]*> nop
++0000e218 <[^>]*> nop
++0000e21c <[^>]*> nop
++0000e220 <[^>]*> nop
++0000e224 <[^>]*> nop
++0000e228 <[^>]*> nop
++0000e22c <[^>]*> nop
++0000e230 <[^>]*> nop
++0000e234 <[^>]*> nop
++0000e238 <[^>]*> nop
++0000e23c <[^>]*> nop
++0000e240 <[^>]*> nop
++0000e244 <[^>]*> nop
++0000e248 <[^>]*> nop
++0000e24c <[^>]*> nop
++0000e250 <[^>]*> nop
++0000e254 <[^>]*> nop
++0000e258 <[^>]*> nop
++0000e25c <[^>]*> nop
++0000e260 <[^>]*> nop
++0000e264 <[^>]*> nop
++0000e268 <[^>]*> nop
++0000e26c <[^>]*> nop
++0000e270 <[^>]*> nop
++0000e274 <[^>]*> nop
++0000e278 <[^>]*> nop
++0000e27c <[^>]*> nop
++0000e280 <[^>]*> nop
++0000e284 <[^>]*> nop
++0000e288 <[^>]*> nop
++0000e28c <[^>]*> nop
++0000e290 <[^>]*> nop
++0000e294 <[^>]*> nop
++0000e298 <[^>]*> nop
++0000e29c <[^>]*> nop
++0000e2a0 <[^>]*> nop
++0000e2a4 <[^>]*> nop
++0000e2a8 <[^>]*> nop
++0000e2ac <[^>]*> nop
++0000e2b0 <[^>]*> nop
++0000e2b4 <[^>]*> nop
++0000e2b8 <[^>]*> nop
++0000e2bc <[^>]*> nop
++0000e2c0 <[^>]*> nop
++0000e2c4 <[^>]*> nop
++0000e2c8 <[^>]*> nop
++0000e2cc <[^>]*> nop
++0000e2d0 <[^>]*> nop
++0000e2d4 <[^>]*> nop
++0000e2d8 <[^>]*> nop
++0000e2dc <[^>]*> nop
++0000e2e0 <[^>]*> nop
++0000e2e4 <[^>]*> nop
++0000e2e8 <[^>]*> nop
++0000e2ec <[^>]*> nop
++0000e2f0 <[^>]*> nop
++0000e2f4 <[^>]*> nop
++0000e2f8 <[^>]*> nop
++0000e2fc <[^>]*> nop
++0000e300 <[^>]*> nop
++0000e304 <[^>]*> nop
++0000e308 <[^>]*> nop
++0000e30c <[^>]*> nop
++0000e310 <[^>]*> nop
++0000e314 <[^>]*> nop
++0000e318 <[^>]*> nop
++0000e31c <[^>]*> nop
++0000e320 <[^>]*> nop
++0000e324 <[^>]*> nop
++0000e328 <[^>]*> nop
++0000e32c <[^>]*> nop
++0000e330 <[^>]*> nop
++0000e334 <[^>]*> nop
++0000e338 <[^>]*> nop
++0000e33c <[^>]*> nop
++0000e340 <[^>]*> nop
++0000e344 <[^>]*> nop
++0000e348 <[^>]*> nop
++0000e34c <[^>]*> nop
++0000e350 <[^>]*> nop
++0000e354 <[^>]*> nop
++0000e358 <[^>]*> nop
++0000e35c <[^>]*> nop
++0000e360 <[^>]*> nop
++0000e364 <[^>]*> nop
++0000e368 <[^>]*> nop
++0000e36c <[^>]*> nop
++0000e370 <[^>]*> nop
++0000e374 <[^>]*> nop
++0000e378 <[^>]*> nop
++0000e37c <[^>]*> nop
++0000e380 <[^>]*> nop
++0000e384 <[^>]*> nop
++0000e388 <[^>]*> nop
++0000e38c <[^>]*> nop
++0000e390 <[^>]*> nop
++0000e394 <[^>]*> nop
++0000e398 <[^>]*> nop
++0000e39c <[^>]*> nop
++0000e3a0 <[^>]*> nop
++0000e3a4 <[^>]*> nop
++0000e3a8 <[^>]*> nop
++0000e3ac <[^>]*> nop
++0000e3b0 <[^>]*> nop
++0000e3b4 <[^>]*> nop
++0000e3b8 <[^>]*> nop
++0000e3bc <[^>]*> nop
++0000e3c0 <[^>]*> nop
++0000e3c4 <[^>]*> nop
++0000e3c8 <[^>]*> nop
++0000e3cc <[^>]*> nop
++0000e3d0 <[^>]*> nop
++0000e3d4 <[^>]*> nop
++0000e3d8 <[^>]*> nop
++0000e3dc <[^>]*> nop
++0000e3e0 <[^>]*> nop
++0000e3e4 <[^>]*> nop
++0000e3e8 <[^>]*> nop
++0000e3ec <[^>]*> nop
++0000e3f0 <[^>]*> nop
++0000e3f4 <[^>]*> nop
++0000e3f8 <[^>]*> nop
++0000e3fc <[^>]*> nop
++0000e400 <[^>]*> nop
++0000e404 <[^>]*> nop
++0000e408 <[^>]*> nop
++0000e40c <[^>]*> nop
++0000e410 <[^>]*> nop
++0000e414 <[^>]*> nop
++0000e418 <[^>]*> nop
++0000e41c <[^>]*> nop
++0000e420 <[^>]*> nop
++0000e424 <[^>]*> nop
++0000e428 <[^>]*> nop
++0000e42c <[^>]*> nop
++0000e430 <[^>]*> nop
++0000e434 <[^>]*> nop
++0000e438 <[^>]*> nop
++0000e43c <[^>]*> nop
++0000e440 <[^>]*> nop
++0000e444 <[^>]*> nop
++0000e448 <[^>]*> nop
++0000e44c <[^>]*> nop
++0000e450 <[^>]*> nop
++0000e454 <[^>]*> nop
++0000e458 <[^>]*> nop
++0000e45c <[^>]*> nop
++0000e460 <[^>]*> nop
++0000e464 <[^>]*> nop
++0000e468 <[^>]*> nop
++0000e46c <[^>]*> nop
++0000e470 <[^>]*> nop
++0000e474 <[^>]*> nop
++0000e478 <[^>]*> nop
++0000e47c <[^>]*> nop
++0000e480 <[^>]*> nop
++0000e484 <[^>]*> nop
++0000e488 <[^>]*> nop
++0000e48c <[^>]*> nop
++0000e490 <[^>]*> nop
++0000e494 <[^>]*> nop
++0000e498 <[^>]*> nop
++0000e49c <[^>]*> nop
++0000e4a0 <[^>]*> nop
++0000e4a4 <[^>]*> nop
++0000e4a8 <[^>]*> nop
++0000e4ac <[^>]*> nop
++0000e4b0 <[^>]*> nop
++0000e4b4 <[^>]*> nop
++0000e4b8 <[^>]*> nop
++0000e4bc <[^>]*> nop
++0000e4c0 <[^>]*> nop
++0000e4c4 <[^>]*> nop
++0000e4c8 <[^>]*> nop
++0000e4cc <[^>]*> nop
++0000e4d0 <[^>]*> nop
++0000e4d4 <[^>]*> nop
++0000e4d8 <[^>]*> nop
++0000e4dc <[^>]*> nop
++0000e4e0 <[^>]*> nop
++0000e4e4 <[^>]*> nop
++0000e4e8 <[^>]*> nop
++0000e4ec <[^>]*> nop
++0000e4f0 <[^>]*> nop
++0000e4f4 <[^>]*> nop
++0000e4f8 <[^>]*> nop
++0000e4fc <[^>]*> nop
++0000e500 <[^>]*> nop
++0000e504 <[^>]*> nop
++0000e508 <[^>]*> nop
++0000e50c <[^>]*> nop
++0000e510 <[^>]*> nop
++0000e514 <[^>]*> nop
++0000e518 <[^>]*> nop
++0000e51c <[^>]*> nop
++0000e520 <[^>]*> nop
++0000e524 <[^>]*> nop
++0000e528 <[^>]*> nop
++0000e52c <[^>]*> nop
++0000e530 <[^>]*> nop
++0000e534 <[^>]*> nop
++0000e538 <[^>]*> nop
++0000e53c <[^>]*> nop
++0000e540 <[^>]*> nop
++0000e544 <[^>]*> nop
++0000e548 <[^>]*> nop
++0000e54c <[^>]*> nop
++0000e550 <[^>]*> nop
++0000e554 <[^>]*> nop
++0000e558 <[^>]*> nop
++0000e55c <[^>]*> nop
++0000e560 <[^>]*> nop
++0000e564 <[^>]*> nop
++0000e568 <[^>]*> nop
++0000e56c <[^>]*> nop
++0000e570 <[^>]*> nop
++0000e574 <[^>]*> nop
++0000e578 <[^>]*> nop
++0000e57c <[^>]*> nop
++0000e580 <[^>]*> nop
++0000e584 <[^>]*> nop
++0000e588 <[^>]*> nop
++0000e58c <[^>]*> nop
++0000e590 <[^>]*> nop
++0000e594 <[^>]*> nop
++0000e598 <[^>]*> nop
++0000e59c <[^>]*> nop
++0000e5a0 <[^>]*> nop
++0000e5a4 <[^>]*> nop
++0000e5a8 <[^>]*> nop
++0000e5ac <[^>]*> nop
++0000e5b0 <[^>]*> nop
++0000e5b4 <[^>]*> nop
++0000e5b8 <[^>]*> nop
++0000e5bc <[^>]*> nop
++0000e5c0 <[^>]*> nop
++0000e5c4 <[^>]*> nop
++0000e5c8 <[^>]*> nop
++0000e5cc <[^>]*> nop
++0000e5d0 <[^>]*> nop
++0000e5d4 <[^>]*> nop
++0000e5d8 <[^>]*> nop
++0000e5dc <[^>]*> nop
++0000e5e0 <[^>]*> nop
++0000e5e4 <[^>]*> nop
++0000e5e8 <[^>]*> nop
++0000e5ec <[^>]*> nop
++0000e5f0 <[^>]*> nop
++0000e5f4 <[^>]*> nop
++0000e5f8 <[^>]*> nop
++0000e5fc <[^>]*> nop
++0000e600 <[^>]*> nop
++0000e604 <[^>]*> nop
++0000e608 <[^>]*> nop
++0000e60c <[^>]*> nop
++0000e610 <[^>]*> nop
++0000e614 <[^>]*> nop
++0000e618 <[^>]*> nop
++0000e61c <[^>]*> nop
++0000e620 <[^>]*> nop
++0000e624 <[^>]*> nop
++0000e628 <[^>]*> nop
++0000e62c <[^>]*> nop
++0000e630 <[^>]*> nop
++0000e634 <[^>]*> nop
++0000e638 <[^>]*> nop
++0000e63c <[^>]*> nop
++0000e640 <[^>]*> nop
++0000e644 <[^>]*> nop
++0000e648 <[^>]*> nop
++0000e64c <[^>]*> nop
++0000e650 <[^>]*> nop
++0000e654 <[^>]*> nop
++0000e658 <[^>]*> nop
++0000e65c <[^>]*> nop
++0000e660 <[^>]*> nop
++0000e664 <[^>]*> nop
++0000e668 <[^>]*> nop
++0000e66c <[^>]*> nop
++0000e670 <[^>]*> nop
++0000e674 <[^>]*> nop
++0000e678 <[^>]*> nop
++0000e67c <[^>]*> nop
++0000e680 <[^>]*> nop
++0000e684 <[^>]*> nop
++0000e688 <[^>]*> nop
++0000e68c <[^>]*> nop
++0000e690 <[^>]*> nop
++0000e694 <[^>]*> nop
++0000e698 <[^>]*> nop
++0000e69c <[^>]*> nop
++0000e6a0 <[^>]*> nop
++0000e6a4 <[^>]*> nop
++0000e6a8 <[^>]*> nop
++0000e6ac <[^>]*> nop
++0000e6b0 <[^>]*> nop
++0000e6b4 <[^>]*> nop
++0000e6b8 <[^>]*> nop
++0000e6bc <[^>]*> nop
++0000e6c0 <[^>]*> nop
++0000e6c4 <[^>]*> nop
++0000e6c8 <[^>]*> nop
++0000e6cc <[^>]*> nop
++0000e6d0 <[^>]*> nop
++0000e6d4 <[^>]*> nop
++0000e6d8 <[^>]*> nop
++0000e6dc <[^>]*> nop
++0000e6e0 <[^>]*> nop
++0000e6e4 <[^>]*> nop
++0000e6e8 <[^>]*> nop
++0000e6ec <[^>]*> nop
++0000e6f0 <[^>]*> nop
++0000e6f4 <[^>]*> nop
++0000e6f8 <[^>]*> nop
++0000e6fc <[^>]*> nop
++0000e700 <[^>]*> nop
++0000e704 <[^>]*> nop
++0000e708 <[^>]*> nop
++0000e70c <[^>]*> nop
++0000e710 <[^>]*> nop
++0000e714 <[^>]*> nop
++0000e718 <[^>]*> nop
++0000e71c <[^>]*> nop
++0000e720 <[^>]*> nop
++0000e724 <[^>]*> nop
++0000e728 <[^>]*> nop
++0000e72c <[^>]*> nop
++0000e730 <[^>]*> nop
++0000e734 <[^>]*> nop
++0000e738 <[^>]*> nop
++0000e73c <[^>]*> nop
++0000e740 <[^>]*> nop
++0000e744 <[^>]*> nop
++0000e748 <[^>]*> nop
++0000e74c <[^>]*> nop
++0000e750 <[^>]*> nop
++0000e754 <[^>]*> nop
++0000e758 <[^>]*> nop
++0000e75c <[^>]*> nop
++0000e760 <[^>]*> nop
++0000e764 <[^>]*> nop
++0000e768 <[^>]*> nop
++0000e76c <[^>]*> nop
++0000e770 <[^>]*> nop
++0000e774 <[^>]*> nop
++0000e778 <[^>]*> nop
++0000e77c <[^>]*> nop
++0000e780 <[^>]*> nop
++0000e784 <[^>]*> nop
++0000e788 <[^>]*> nop
++0000e78c <[^>]*> nop
++0000e790 <[^>]*> nop
++0000e794 <[^>]*> nop
++0000e798 <[^>]*> nop
++0000e79c <[^>]*> nop
++0000e7a0 <[^>]*> nop
++0000e7a4 <[^>]*> nop
++0000e7a8 <[^>]*> nop
++0000e7ac <[^>]*> nop
++0000e7b0 <[^>]*> nop
++0000e7b4 <[^>]*> nop
++0000e7b8 <[^>]*> nop
++0000e7bc <[^>]*> nop
++0000e7c0 <[^>]*> nop
++0000e7c4 <[^>]*> nop
++0000e7c8 <[^>]*> nop
++0000e7cc <[^>]*> nop
++0000e7d0 <[^>]*> nop
++0000e7d4 <[^>]*> nop
++0000e7d8 <[^>]*> nop
++0000e7dc <[^>]*> nop
++0000e7e0 <[^>]*> nop
++0000e7e4 <[^>]*> nop
++0000e7e8 <[^>]*> nop
++0000e7ec <[^>]*> nop
++0000e7f0 <[^>]*> nop
++0000e7f4 <[^>]*> nop
++0000e7f8 <[^>]*> nop
++0000e7fc <[^>]*> nop
++0000e800 <[^>]*> nop
++0000e804 <[^>]*> nop
++0000e808 <[^>]*> nop
++0000e80c <[^>]*> nop
++0000e810 <[^>]*> nop
++0000e814 <[^>]*> nop
++0000e818 <[^>]*> nop
++0000e81c <[^>]*> nop
++0000e820 <[^>]*> nop
++0000e824 <[^>]*> nop
++0000e828 <[^>]*> nop
++0000e82c <[^>]*> nop
++0000e830 <[^>]*> nop
++0000e834 <[^>]*> nop
++0000e838 <[^>]*> nop
++0000e83c <[^>]*> nop
++0000e840 <[^>]*> nop
++0000e844 <[^>]*> nop
++0000e848 <[^>]*> nop
++0000e84c <[^>]*> nop
++0000e850 <[^>]*> nop
++0000e854 <[^>]*> nop
++0000e858 <[^>]*> nop
++0000e85c <[^>]*> nop
++0000e860 <[^>]*> nop
++0000e864 <[^>]*> nop
++0000e868 <[^>]*> nop
++0000e86c <[^>]*> nop
++0000e870 <[^>]*> nop
++0000e874 <[^>]*> nop
++0000e878 <[^>]*> nop
++0000e87c <[^>]*> nop
++0000e880 <[^>]*> nop
++0000e884 <[^>]*> nop
++0000e888 <[^>]*> nop
++0000e88c <[^>]*> nop
++0000e890 <[^>]*> nop
++0000e894 <[^>]*> nop
++0000e898 <[^>]*> nop
++0000e89c <[^>]*> nop
++0000e8a0 <[^>]*> nop
++0000e8a4 <[^>]*> nop
++0000e8a8 <[^>]*> nop
++0000e8ac <[^>]*> nop
++0000e8b0 <[^>]*> nop
++0000e8b4 <[^>]*> nop
++0000e8b8 <[^>]*> nop
++0000e8bc <[^>]*> nop
++0000e8c0 <[^>]*> nop
++0000e8c4 <[^>]*> nop
++0000e8c8 <[^>]*> nop
++0000e8cc <[^>]*> nop
++0000e8d0 <[^>]*> nop
++0000e8d4 <[^>]*> nop
++0000e8d8 <[^>]*> nop
++0000e8dc <[^>]*> nop
++0000e8e0 <[^>]*> nop
++0000e8e4 <[^>]*> nop
++0000e8e8 <[^>]*> nop
++0000e8ec <[^>]*> nop
++0000e8f0 <[^>]*> nop
++0000e8f4 <[^>]*> nop
++0000e8f8 <[^>]*> nop
++0000e8fc <[^>]*> nop
++0000e900 <[^>]*> nop
++0000e904 <[^>]*> nop
++0000e908 <[^>]*> nop
++0000e90c <[^>]*> nop
++0000e910 <[^>]*> nop
++0000e914 <[^>]*> nop
++0000e918 <[^>]*> nop
++0000e91c <[^>]*> nop
++0000e920 <[^>]*> nop
++0000e924 <[^>]*> nop
++0000e928 <[^>]*> nop
++0000e92c <[^>]*> nop
++0000e930 <[^>]*> nop
++0000e934 <[^>]*> nop
++0000e938 <[^>]*> nop
++0000e93c <[^>]*> nop
++0000e940 <[^>]*> nop
++0000e944 <[^>]*> nop
++0000e948 <[^>]*> nop
++0000e94c <[^>]*> nop
++0000e950 <[^>]*> nop
++0000e954 <[^>]*> nop
++0000e958 <[^>]*> nop
++0000e95c <[^>]*> nop
++0000e960 <[^>]*> nop
++0000e964 <[^>]*> nop
++0000e968 <[^>]*> nop
++0000e96c <[^>]*> nop
++0000e970 <[^>]*> nop
++0000e974 <[^>]*> nop
++0000e978 <[^>]*> nop
++0000e97c <[^>]*> nop
++0000e980 <[^>]*> nop
++0000e984 <[^>]*> nop
++0000e988 <[^>]*> nop
++0000e98c <[^>]*> nop
++0000e990 <[^>]*> nop
++0000e994 <[^>]*> nop
++0000e998 <[^>]*> nop
++0000e99c <[^>]*> nop
++0000e9a0 <[^>]*> nop
++0000e9a4 <[^>]*> nop
++0000e9a8 <[^>]*> nop
++0000e9ac <[^>]*> nop
++0000e9b0 <[^>]*> nop
++0000e9b4 <[^>]*> nop
++0000e9b8 <[^>]*> nop
++0000e9bc <[^>]*> nop
++0000e9c0 <[^>]*> nop
++0000e9c4 <[^>]*> nop
++0000e9c8 <[^>]*> nop
++0000e9cc <[^>]*> nop
++0000e9d0 <[^>]*> nop
++0000e9d4 <[^>]*> nop
++0000e9d8 <[^>]*> nop
++0000e9dc <[^>]*> nop
++0000e9e0 <[^>]*> nop
++0000e9e4 <[^>]*> nop
++0000e9e8 <[^>]*> nop
++0000e9ec <[^>]*> nop
++0000e9f0 <[^>]*> nop
++0000e9f4 <[^>]*> nop
++0000e9f8 <[^>]*> nop
++0000e9fc <[^>]*> nop
++0000ea00 <[^>]*> nop
++0000ea04 <[^>]*> nop
++0000ea08 <[^>]*> nop
++0000ea0c <[^>]*> nop
++0000ea10 <[^>]*> nop
++0000ea14 <[^>]*> nop
++0000ea18 <[^>]*> nop
++0000ea1c <[^>]*> nop
++0000ea20 <[^>]*> nop
++0000ea24 <[^>]*> nop
++0000ea28 <[^>]*> nop
++0000ea2c <[^>]*> nop
++0000ea30 <[^>]*> nop
++0000ea34 <[^>]*> nop
++0000ea38 <[^>]*> nop
++0000ea3c <[^>]*> nop
++0000ea40 <[^>]*> nop
++0000ea44 <[^>]*> nop
++0000ea48 <[^>]*> nop
++0000ea4c <[^>]*> nop
++0000ea50 <[^>]*> nop
++0000ea54 <[^>]*> nop
++0000ea58 <[^>]*> nop
++0000ea5c <[^>]*> nop
++0000ea60 <[^>]*> nop
++0000ea64 <[^>]*> nop
++0000ea68 <[^>]*> nop
++0000ea6c <[^>]*> nop
++0000ea70 <[^>]*> nop
++0000ea74 <[^>]*> nop
++0000ea78 <[^>]*> nop
++0000ea7c <[^>]*> nop
++0000ea80 <[^>]*> nop
++0000ea84 <[^>]*> nop
++0000ea88 <[^>]*> nop
++0000ea8c <[^>]*> nop
++0000ea90 <[^>]*> nop
++0000ea94 <[^>]*> nop
++0000ea98 <[^>]*> nop
++0000ea9c <[^>]*> nop
++0000eaa0 <[^>]*> nop
++0000eaa4 <[^>]*> nop
++0000eaa8 <[^>]*> nop
++0000eaac <[^>]*> nop
++0000eab0 <[^>]*> nop
++0000eab4 <[^>]*> nop
++0000eab8 <[^>]*> nop
++0000eabc <[^>]*> nop
++0000eac0 <[^>]*> nop
++0000eac4 <[^>]*> nop
++0000eac8 <[^>]*> nop
++0000eacc <[^>]*> nop
++0000ead0 <[^>]*> nop
++0000ead4 <[^>]*> nop
++0000ead8 <[^>]*> nop
++0000eadc <[^>]*> nop
++0000eae0 <[^>]*> nop
++0000eae4 <[^>]*> nop
++0000eae8 <[^>]*> nop
++0000eaec <[^>]*> nop
++0000eaf0 <[^>]*> nop
++0000eaf4 <[^>]*> nop
++0000eaf8 <[^>]*> nop
++0000eafc <[^>]*> nop
++0000eb00 <[^>]*> nop
++0000eb04 <[^>]*> nop
++0000eb08 <[^>]*> nop
++0000eb0c <[^>]*> nop
++0000eb10 <[^>]*> nop
++0000eb14 <[^>]*> nop
++0000eb18 <[^>]*> nop
++0000eb1c <[^>]*> nop
++0000eb20 <[^>]*> nop
++0000eb24 <[^>]*> nop
++0000eb28 <[^>]*> nop
++0000eb2c <[^>]*> nop
++0000eb30 <[^>]*> nop
++0000eb34 <[^>]*> nop
++0000eb38 <[^>]*> nop
++0000eb3c <[^>]*> nop
++0000eb40 <[^>]*> nop
++0000eb44 <[^>]*> nop
++0000eb48 <[^>]*> nop
++0000eb4c <[^>]*> nop
++0000eb50 <[^>]*> nop
++0000eb54 <[^>]*> nop
++0000eb58 <[^>]*> nop
++0000eb5c <[^>]*> nop
++0000eb60 <[^>]*> nop
++0000eb64 <[^>]*> nop
++0000eb68 <[^>]*> nop
++0000eb6c <[^>]*> nop
++0000eb70 <[^>]*> nop
++0000eb74 <[^>]*> nop
++0000eb78 <[^>]*> nop
++0000eb7c <[^>]*> nop
++0000eb80 <[^>]*> nop
++0000eb84 <[^>]*> nop
++0000eb88 <[^>]*> nop
++0000eb8c <[^>]*> nop
++0000eb90 <[^>]*> nop
++0000eb94 <[^>]*> nop
++0000eb98 <[^>]*> nop
++0000eb9c <[^>]*> nop
++0000eba0 <[^>]*> nop
++0000eba4 <[^>]*> nop
++0000eba8 <[^>]*> nop
++0000ebac <[^>]*> nop
++0000ebb0 <[^>]*> nop
++0000ebb4 <[^>]*> nop
++0000ebb8 <[^>]*> nop
++0000ebbc <[^>]*> nop
++0000ebc0 <[^>]*> nop
++0000ebc4 <[^>]*> nop
++0000ebc8 <[^>]*> nop
++0000ebcc <[^>]*> nop
++0000ebd0 <[^>]*> nop
++0000ebd4 <[^>]*> nop
++0000ebd8 <[^>]*> nop
++0000ebdc <[^>]*> nop
++0000ebe0 <[^>]*> nop
++0000ebe4 <[^>]*> nop
++0000ebe8 <[^>]*> nop
++0000ebec <[^>]*> nop
++0000ebf0 <[^>]*> nop
++0000ebf4 <[^>]*> nop
++0000ebf8 <[^>]*> nop
++0000ebfc <[^>]*> nop
++0000ec00 <[^>]*> nop
++0000ec04 <[^>]*> nop
++0000ec08 <[^>]*> nop
++0000ec0c <[^>]*> nop
++0000ec10 <[^>]*> nop
++0000ec14 <[^>]*> nop
++0000ec18 <[^>]*> nop
++0000ec1c <[^>]*> nop
++0000ec20 <[^>]*> nop
++0000ec24 <[^>]*> nop
++0000ec28 <[^>]*> nop
++0000ec2c <[^>]*> nop
++0000ec30 <[^>]*> nop
++0000ec34 <[^>]*> nop
++0000ec38 <[^>]*> nop
++0000ec3c <[^>]*> nop
++0000ec40 <[^>]*> nop
++0000ec44 <[^>]*> nop
++0000ec48 <[^>]*> nop
++0000ec4c <[^>]*> nop
++0000ec50 <[^>]*> nop
++0000ec54 <[^>]*> nop
++0000ec58 <[^>]*> nop
++0000ec5c <[^>]*> nop
++0000ec60 <[^>]*> nop
++0000ec64 <[^>]*> nop
++0000ec68 <[^>]*> nop
++0000ec6c <[^>]*> nop
++0000ec70 <[^>]*> nop
++0000ec74 <[^>]*> nop
++0000ec78 <[^>]*> nop
++0000ec7c <[^>]*> nop
++0000ec80 <[^>]*> nop
++0000ec84 <[^>]*> nop
++0000ec88 <[^>]*> nop
++0000ec8c <[^>]*> nop
++0000ec90 <[^>]*> nop
++0000ec94 <[^>]*> nop
++0000ec98 <[^>]*> nop
++0000ec9c <[^>]*> nop
++0000eca0 <[^>]*> nop
++0000eca4 <[^>]*> nop
++0000eca8 <[^>]*> nop
++0000ecac <[^>]*> nop
++0000ecb0 <[^>]*> nop
++0000ecb4 <[^>]*> nop
++0000ecb8 <[^>]*> nop
++0000ecbc <[^>]*> nop
++0000ecc0 <[^>]*> nop
++0000ecc4 <[^>]*> nop
++0000ecc8 <[^>]*> nop
++0000eccc <[^>]*> nop
++0000ecd0 <[^>]*> nop
++0000ecd4 <[^>]*> nop
++0000ecd8 <[^>]*> nop
++0000ecdc <[^>]*> nop
++0000ece0 <[^>]*> nop
++0000ece4 <[^>]*> nop
++0000ece8 <[^>]*> nop
++0000ecec <[^>]*> nop
++0000ecf0 <[^>]*> nop
++0000ecf4 <[^>]*> nop
++0000ecf8 <[^>]*> nop
++0000ecfc <[^>]*> nop
++0000ed00 <[^>]*> nop
++0000ed04 <[^>]*> nop
++0000ed08 <[^>]*> nop
++0000ed0c <[^>]*> nop
++0000ed10 <[^>]*> nop
++0000ed14 <[^>]*> nop
++0000ed18 <[^>]*> nop
++0000ed1c <[^>]*> nop
++0000ed20 <[^>]*> nop
++0000ed24 <[^>]*> nop
++0000ed28 <[^>]*> nop
++0000ed2c <[^>]*> nop
++0000ed30 <[^>]*> nop
++0000ed34 <[^>]*> nop
++0000ed38 <[^>]*> nop
++0000ed3c <[^>]*> nop
++0000ed40 <[^>]*> nop
++0000ed44 <[^>]*> nop
++0000ed48 <[^>]*> nop
++0000ed4c <[^>]*> nop
++0000ed50 <[^>]*> nop
++0000ed54 <[^>]*> nop
++0000ed58 <[^>]*> nop
++0000ed5c <[^>]*> nop
++0000ed60 <[^>]*> nop
++0000ed64 <[^>]*> nop
++0000ed68 <[^>]*> nop
++0000ed6c <[^>]*> nop
++0000ed70 <[^>]*> nop
++0000ed74 <[^>]*> nop
++0000ed78 <[^>]*> nop
++0000ed7c <[^>]*> nop
++0000ed80 <[^>]*> nop
++0000ed84 <[^>]*> nop
++0000ed88 <[^>]*> nop
++0000ed8c <[^>]*> nop
++0000ed90 <[^>]*> nop
++0000ed94 <[^>]*> nop
++0000ed98 <[^>]*> nop
++0000ed9c <[^>]*> nop
++0000eda0 <[^>]*> nop
++0000eda4 <[^>]*> nop
++0000eda8 <[^>]*> nop
++0000edac <[^>]*> nop
++0000edb0 <[^>]*> nop
++0000edb4 <[^>]*> nop
++0000edb8 <[^>]*> nop
++0000edbc <[^>]*> nop
++0000edc0 <[^>]*> nop
++0000edc4 <[^>]*> nop
++0000edc8 <[^>]*> nop
++0000edcc <[^>]*> nop
++0000edd0 <[^>]*> nop
++0000edd4 <[^>]*> nop
++0000edd8 <[^>]*> nop
++0000eddc <[^>]*> nop
++0000ede0 <[^>]*> nop
++0000ede4 <[^>]*> nop
++0000ede8 <[^>]*> nop
++0000edec <[^>]*> nop
++0000edf0 <[^>]*> nop
++0000edf4 <[^>]*> nop
++0000edf8 <[^>]*> nop
++0000edfc <[^>]*> nop
++0000ee00 <[^>]*> nop
++0000ee04 <[^>]*> nop
++0000ee08 <[^>]*> nop
++0000ee0c <[^>]*> nop
++0000ee10 <[^>]*> nop
++0000ee14 <[^>]*> nop
++0000ee18 <[^>]*> nop
++0000ee1c <[^>]*> nop
++0000ee20 <[^>]*> nop
++0000ee24 <[^>]*> nop
++0000ee28 <[^>]*> nop
++0000ee2c <[^>]*> nop
++0000ee30 <[^>]*> nop
++0000ee34 <[^>]*> nop
++0000ee38 <[^>]*> nop
++0000ee3c <[^>]*> nop
++0000ee40 <[^>]*> nop
++0000ee44 <[^>]*> nop
++0000ee48 <[^>]*> nop
++0000ee4c <[^>]*> nop
++0000ee50 <[^>]*> nop
++0000ee54 <[^>]*> nop
++0000ee58 <[^>]*> nop
++0000ee5c <[^>]*> nop
++0000ee60 <[^>]*> nop
++0000ee64 <[^>]*> nop
++0000ee68 <[^>]*> nop
++0000ee6c <[^>]*> nop
++0000ee70 <[^>]*> nop
++0000ee74 <[^>]*> nop
++0000ee78 <[^>]*> nop
++0000ee7c <[^>]*> nop
++0000ee80 <[^>]*> nop
++0000ee84 <[^>]*> nop
++0000ee88 <[^>]*> nop
++0000ee8c <[^>]*> nop
++0000ee90 <[^>]*> nop
++0000ee94 <[^>]*> nop
++0000ee98 <[^>]*> nop
++0000ee9c <[^>]*> nop
++0000eea0 <[^>]*> nop
++0000eea4 <[^>]*> nop
++0000eea8 <[^>]*> nop
++0000eeac <[^>]*> nop
++0000eeb0 <[^>]*> nop
++0000eeb4 <[^>]*> nop
++0000eeb8 <[^>]*> nop
++0000eebc <[^>]*> nop
++0000eec0 <[^>]*> nop
++0000eec4 <[^>]*> nop
++0000eec8 <[^>]*> nop
++0000eecc <[^>]*> nop
++0000eed0 <[^>]*> nop
++0000eed4 <[^>]*> nop
++0000eed8 <[^>]*> nop
++0000eedc <[^>]*> nop
++0000eee0 <[^>]*> nop
++0000eee4 <[^>]*> nop
++0000eee8 <[^>]*> nop
++0000eeec <[^>]*> nop
++0000eef0 <[^>]*> nop
++0000eef4 <[^>]*> nop
++0000eef8 <[^>]*> nop
++0000eefc <[^>]*> nop
++0000ef00 <[^>]*> nop
++0000ef04 <[^>]*> nop
++0000ef08 <[^>]*> nop
++0000ef0c <[^>]*> nop
++0000ef10 <[^>]*> nop
++0000ef14 <[^>]*> nop
++0000ef18 <[^>]*> nop
++0000ef1c <[^>]*> nop
++0000ef20 <[^>]*> nop
++0000ef24 <[^>]*> nop
++0000ef28 <[^>]*> nop
++0000ef2c <[^>]*> nop
++0000ef30 <[^>]*> nop
++0000ef34 <[^>]*> nop
++0000ef38 <[^>]*> nop
++0000ef3c <[^>]*> nop
++0000ef40 <[^>]*> nop
++0000ef44 <[^>]*> nop
++0000ef48 <[^>]*> nop
++0000ef4c <[^>]*> nop
++0000ef50 <[^>]*> nop
++0000ef54 <[^>]*> nop
++0000ef58 <[^>]*> nop
++0000ef5c <[^>]*> nop
++0000ef60 <[^>]*> nop
++0000ef64 <[^>]*> nop
++0000ef68 <[^>]*> nop
++0000ef6c <[^>]*> nop
++0000ef70 <[^>]*> nop
++0000ef74 <[^>]*> nop
++0000ef78 <[^>]*> nop
++0000ef7c <[^>]*> nop
++0000ef80 <[^>]*> nop
++0000ef84 <[^>]*> nop
++0000ef88 <[^>]*> nop
++0000ef8c <[^>]*> nop
++0000ef90 <[^>]*> nop
++0000ef94 <[^>]*> nop
++0000ef98 <[^>]*> nop
++0000ef9c <[^>]*> nop
++0000efa0 <[^>]*> nop
++0000efa4 <[^>]*> nop
++0000efa8 <[^>]*> nop
++0000efac <[^>]*> nop
++0000efb0 <[^>]*> nop
++0000efb4 <[^>]*> nop
++0000efb8 <[^>]*> nop
++0000efbc <[^>]*> nop
++0000efc0 <[^>]*> nop
++0000efc4 <[^>]*> nop
++0000efc8 <[^>]*> nop
++0000efcc <[^>]*> nop
++0000efd0 <[^>]*> nop
++0000efd4 <[^>]*> nop
++0000efd8 <[^>]*> nop
++0000efdc <[^>]*> nop
++0000efe0 <[^>]*> nop
++0000efe4 <[^>]*> nop
++0000efe8 <[^>]*> nop
++0000efec <[^>]*> nop
++0000eff0 <[^>]*> nop
++0000eff4 <[^>]*> nop
++0000eff8 <[^>]*> nop
++0000effc <[^>]*> nop
++0000f000 <[^>]*> nop
++0000f004 <[^>]*> nop
++0000f008 <[^>]*> nop
++0000f00c <[^>]*> nop
++0000f010 <[^>]*> nop
++0000f014 <[^>]*> nop
++0000f018 <[^>]*> nop
++0000f01c <[^>]*> nop
++0000f020 <[^>]*> nop
++0000f024 <[^>]*> nop
++0000f028 <[^>]*> nop
++0000f02c <[^>]*> nop
++0000f030 <[^>]*> nop
++0000f034 <[^>]*> nop
++0000f038 <[^>]*> nop
++0000f03c <[^>]*> nop
++0000f040 <[^>]*> nop
++0000f044 <[^>]*> nop
++0000f048 <[^>]*> nop
++0000f04c <[^>]*> nop
++0000f050 <[^>]*> nop
++0000f054 <[^>]*> nop
++0000f058 <[^>]*> nop
++0000f05c <[^>]*> nop
++0000f060 <[^>]*> nop
++0000f064 <[^>]*> nop
++0000f068 <[^>]*> nop
++0000f06c <[^>]*> nop
++0000f070 <[^>]*> nop
++0000f074 <[^>]*> nop
++0000f078 <[^>]*> nop
++0000f07c <[^>]*> nop
++0000f080 <[^>]*> nop
++0000f084 <[^>]*> nop
++0000f088 <[^>]*> nop
++0000f08c <[^>]*> nop
++0000f090 <[^>]*> nop
++0000f094 <[^>]*> nop
++0000f098 <[^>]*> nop
++0000f09c <[^>]*> nop
++0000f0a0 <[^>]*> nop
++0000f0a4 <[^>]*> nop
++0000f0a8 <[^>]*> nop
++0000f0ac <[^>]*> nop
++0000f0b0 <[^>]*> nop
++0000f0b4 <[^>]*> nop
++0000f0b8 <[^>]*> nop
++0000f0bc <[^>]*> nop
++0000f0c0 <[^>]*> nop
++0000f0c4 <[^>]*> nop
++0000f0c8 <[^>]*> nop
++0000f0cc <[^>]*> nop
++0000f0d0 <[^>]*> nop
++0000f0d4 <[^>]*> nop
++0000f0d8 <[^>]*> nop
++0000f0dc <[^>]*> nop
++0000f0e0 <[^>]*> nop
++0000f0e4 <[^>]*> nop
++0000f0e8 <[^>]*> nop
++0000f0ec <[^>]*> nop
++0000f0f0 <[^>]*> nop
++0000f0f4 <[^>]*> nop
++0000f0f8 <[^>]*> nop
++0000f0fc <[^>]*> nop
++0000f100 <[^>]*> nop
++0000f104 <[^>]*> nop
++0000f108 <[^>]*> nop
++0000f10c <[^>]*> nop
++0000f110 <[^>]*> nop
++0000f114 <[^>]*> nop
++0000f118 <[^>]*> nop
++0000f11c <[^>]*> nop
++0000f120 <[^>]*> nop
++0000f124 <[^>]*> nop
++0000f128 <[^>]*> nop
++0000f12c <[^>]*> nop
++0000f130 <[^>]*> nop
++0000f134 <[^>]*> nop
++0000f138 <[^>]*> nop
++0000f13c <[^>]*> nop
++0000f140 <[^>]*> nop
++0000f144 <[^>]*> nop
++0000f148 <[^>]*> nop
++0000f14c <[^>]*> nop
++0000f150 <[^>]*> nop
++0000f154 <[^>]*> nop
++0000f158 <[^>]*> nop
++0000f15c <[^>]*> nop
++0000f160 <[^>]*> nop
++0000f164 <[^>]*> nop
++0000f168 <[^>]*> nop
++0000f16c <[^>]*> nop
++0000f170 <[^>]*> nop
++0000f174 <[^>]*> nop
++0000f178 <[^>]*> nop
++0000f17c <[^>]*> nop
++0000f180 <[^>]*> nop
++0000f184 <[^>]*> nop
++0000f188 <[^>]*> nop
++0000f18c <[^>]*> nop
++0000f190 <[^>]*> nop
++0000f194 <[^>]*> nop
++0000f198 <[^>]*> nop
++0000f19c <[^>]*> nop
++0000f1a0 <[^>]*> nop
++0000f1a4 <[^>]*> nop
++0000f1a8 <[^>]*> nop
++0000f1ac <[^>]*> nop
++0000f1b0 <[^>]*> nop
++0000f1b4 <[^>]*> nop
++0000f1b8 <[^>]*> nop
++0000f1bc <[^>]*> nop
++0000f1c0 <[^>]*> nop
++0000f1c4 <[^>]*> nop
++0000f1c8 <[^>]*> nop
++0000f1cc <[^>]*> nop
++0000f1d0 <[^>]*> nop
++0000f1d4 <[^>]*> nop
++0000f1d8 <[^>]*> nop
++0000f1dc <[^>]*> nop
++0000f1e0 <[^>]*> nop
++0000f1e4 <[^>]*> nop
++0000f1e8 <[^>]*> nop
++0000f1ec <[^>]*> nop
++0000f1f0 <[^>]*> nop
++0000f1f4 <[^>]*> nop
++0000f1f8 <[^>]*> nop
++0000f1fc <[^>]*> nop
++0000f200 <[^>]*> nop
++0000f204 <[^>]*> nop
++0000f208 <[^>]*> nop
++0000f20c <[^>]*> nop
++0000f210 <[^>]*> nop
++0000f214 <[^>]*> nop
++0000f218 <[^>]*> nop
++0000f21c <[^>]*> nop
++0000f220 <[^>]*> nop
++0000f224 <[^>]*> nop
++0000f228 <[^>]*> nop
++0000f22c <[^>]*> nop
++0000f230 <[^>]*> nop
++0000f234 <[^>]*> nop
++0000f238 <[^>]*> nop
++0000f23c <[^>]*> nop
++0000f240 <[^>]*> nop
++0000f244 <[^>]*> nop
++0000f248 <[^>]*> nop
++0000f24c <[^>]*> nop
++0000f250 <[^>]*> nop
++0000f254 <[^>]*> nop
++0000f258 <[^>]*> nop
++0000f25c <[^>]*> nop
++0000f260 <[^>]*> nop
++0000f264 <[^>]*> nop
++0000f268 <[^>]*> nop
++0000f26c <[^>]*> nop
++0000f270 <[^>]*> nop
++0000f274 <[^>]*> nop
++0000f278 <[^>]*> nop
++0000f27c <[^>]*> nop
++0000f280 <[^>]*> nop
++0000f284 <[^>]*> nop
++0000f288 <[^>]*> nop
++0000f28c <[^>]*> nop
++0000f290 <[^>]*> nop
++0000f294 <[^>]*> nop
++0000f298 <[^>]*> nop
++0000f29c <[^>]*> nop
++0000f2a0 <[^>]*> nop
++0000f2a4 <[^>]*> nop
++0000f2a8 <[^>]*> nop
++0000f2ac <[^>]*> nop
++0000f2b0 <[^>]*> nop
++0000f2b4 <[^>]*> nop
++0000f2b8 <[^>]*> nop
++0000f2bc <[^>]*> nop
++0000f2c0 <[^>]*> nop
++0000f2c4 <[^>]*> nop
++0000f2c8 <[^>]*> nop
++0000f2cc <[^>]*> nop
++0000f2d0 <[^>]*> nop
++0000f2d4 <[^>]*> nop
++0000f2d8 <[^>]*> nop
++0000f2dc <[^>]*> nop
++0000f2e0 <[^>]*> nop
++0000f2e4 <[^>]*> nop
++0000f2e8 <[^>]*> nop
++0000f2ec <[^>]*> nop
++0000f2f0 <[^>]*> nop
++0000f2f4 <[^>]*> nop
++0000f2f8 <[^>]*> nop
++0000f2fc <[^>]*> nop
++0000f300 <[^>]*> nop
++0000f304 <[^>]*> nop
++0000f308 <[^>]*> nop
++0000f30c <[^>]*> nop
++0000f310 <[^>]*> nop
++0000f314 <[^>]*> nop
++0000f318 <[^>]*> nop
++0000f31c <[^>]*> nop
++0000f320 <[^>]*> nop
++0000f324 <[^>]*> nop
++0000f328 <[^>]*> nop
++0000f32c <[^>]*> nop
++0000f330 <[^>]*> nop
++0000f334 <[^>]*> nop
++0000f338 <[^>]*> nop
++0000f33c <[^>]*> nop
++0000f340 <[^>]*> nop
++0000f344 <[^>]*> nop
++0000f348 <[^>]*> nop
++0000f34c <[^>]*> nop
++0000f350 <[^>]*> nop
++0000f354 <[^>]*> nop
++0000f358 <[^>]*> nop
++0000f35c <[^>]*> nop
++0000f360 <[^>]*> nop
++0000f364 <[^>]*> nop
++0000f368 <[^>]*> nop
++0000f36c <[^>]*> nop
++0000f370 <[^>]*> nop
++0000f374 <[^>]*> nop
++0000f378 <[^>]*> nop
++0000f37c <[^>]*> nop
++0000f380 <[^>]*> nop
++0000f384 <[^>]*> nop
++0000f388 <[^>]*> nop
++0000f38c <[^>]*> nop
++0000f390 <[^>]*> nop
++0000f394 <[^>]*> nop
++0000f398 <[^>]*> nop
++0000f39c <[^>]*> nop
++0000f3a0 <[^>]*> nop
++0000f3a4 <[^>]*> nop
++0000f3a8 <[^>]*> nop
++0000f3ac <[^>]*> nop
++0000f3b0 <[^>]*> nop
++0000f3b4 <[^>]*> nop
++0000f3b8 <[^>]*> nop
++0000f3bc <[^>]*> nop
++0000f3c0 <[^>]*> nop
++0000f3c4 <[^>]*> nop
++0000f3c8 <[^>]*> nop
++0000f3cc <[^>]*> nop
++0000f3d0 <[^>]*> nop
++0000f3d4 <[^>]*> nop
++0000f3d8 <[^>]*> nop
++0000f3dc <[^>]*> nop
++0000f3e0 <[^>]*> nop
++0000f3e4 <[^>]*> nop
++0000f3e8 <[^>]*> nop
++0000f3ec <[^>]*> nop
++0000f3f0 <[^>]*> nop
++0000f3f4 <[^>]*> nop
++0000f3f8 <[^>]*> nop
++0000f3fc <[^>]*> nop
++0000f400 <[^>]*> nop
++0000f404 <[^>]*> nop
++0000f408 <[^>]*> nop
++0000f40c <[^>]*> nop
++0000f410 <[^>]*> nop
++0000f414 <[^>]*> nop
++0000f418 <[^>]*> nop
++0000f41c <[^>]*> nop
++0000f420 <[^>]*> nop
++0000f424 <[^>]*> nop
++0000f428 <[^>]*> nop
++0000f42c <[^>]*> nop
++0000f430 <[^>]*> nop
++0000f434 <[^>]*> nop
++0000f438 <[^>]*> nop
++0000f43c <[^>]*> nop
++0000f440 <[^>]*> nop
++0000f444 <[^>]*> nop
++0000f448 <[^>]*> nop
++0000f44c <[^>]*> nop
++0000f450 <[^>]*> nop
++0000f454 <[^>]*> nop
++0000f458 <[^>]*> nop
++0000f45c <[^>]*> nop
++0000f460 <[^>]*> nop
++0000f464 <[^>]*> nop
++0000f468 <[^>]*> nop
++0000f46c <[^>]*> nop
++0000f470 <[^>]*> nop
++0000f474 <[^>]*> nop
++0000f478 <[^>]*> nop
++0000f47c <[^>]*> nop
++0000f480 <[^>]*> nop
++0000f484 <[^>]*> nop
++0000f488 <[^>]*> nop
++0000f48c <[^>]*> nop
++0000f490 <[^>]*> nop
++0000f494 <[^>]*> nop
++0000f498 <[^>]*> nop
++0000f49c <[^>]*> nop
++0000f4a0 <[^>]*> nop
++0000f4a4 <[^>]*> nop
++0000f4a8 <[^>]*> nop
++0000f4ac <[^>]*> nop
++0000f4b0 <[^>]*> nop
++0000f4b4 <[^>]*> nop
++0000f4b8 <[^>]*> nop
++0000f4bc <[^>]*> nop
++0000f4c0 <[^>]*> nop
++0000f4c4 <[^>]*> nop
++0000f4c8 <[^>]*> nop
++0000f4cc <[^>]*> nop
++0000f4d0 <[^>]*> nop
++0000f4d4 <[^>]*> nop
++0000f4d8 <[^>]*> nop
++0000f4dc <[^>]*> nop
++0000f4e0 <[^>]*> nop
++0000f4e4 <[^>]*> nop
++0000f4e8 <[^>]*> nop
++0000f4ec <[^>]*> nop
++0000f4f0 <[^>]*> nop
++0000f4f4 <[^>]*> nop
++0000f4f8 <[^>]*> nop
++0000f4fc <[^>]*> nop
++0000f500 <[^>]*> nop
++0000f504 <[^>]*> nop
++0000f508 <[^>]*> nop
++0000f50c <[^>]*> nop
++0000f510 <[^>]*> nop
++0000f514 <[^>]*> nop
++0000f518 <[^>]*> nop
++0000f51c <[^>]*> nop
++0000f520 <[^>]*> nop
++0000f524 <[^>]*> nop
++0000f528 <[^>]*> nop
++0000f52c <[^>]*> nop
++0000f530 <[^>]*> nop
++0000f534 <[^>]*> nop
++0000f538 <[^>]*> nop
++0000f53c <[^>]*> nop
++0000f540 <[^>]*> nop
++0000f544 <[^>]*> nop
++0000f548 <[^>]*> nop
++0000f54c <[^>]*> nop
++0000f550 <[^>]*> nop
++0000f554 <[^>]*> nop
++0000f558 <[^>]*> nop
++0000f55c <[^>]*> nop
++0000f560 <[^>]*> nop
++0000f564 <[^>]*> nop
++0000f568 <[^>]*> nop
++0000f56c <[^>]*> nop
++0000f570 <[^>]*> nop
++0000f574 <[^>]*> nop
++0000f578 <[^>]*> nop
++0000f57c <[^>]*> nop
++0000f580 <[^>]*> nop
++0000f584 <[^>]*> nop
++0000f588 <[^>]*> nop
++0000f58c <[^>]*> nop
++0000f590 <[^>]*> nop
++0000f594 <[^>]*> nop
++0000f598 <[^>]*> nop
++0000f59c <[^>]*> nop
++0000f5a0 <[^>]*> nop
++0000f5a4 <[^>]*> nop
++0000f5a8 <[^>]*> nop
++0000f5ac <[^>]*> nop
++0000f5b0 <[^>]*> nop
++0000f5b4 <[^>]*> nop
++0000f5b8 <[^>]*> nop
++0000f5bc <[^>]*> nop
++0000f5c0 <[^>]*> nop
++0000f5c4 <[^>]*> nop
++0000f5c8 <[^>]*> nop
++0000f5cc <[^>]*> nop
++0000f5d0 <[^>]*> nop
++0000f5d4 <[^>]*> nop
++0000f5d8 <[^>]*> nop
++0000f5dc <[^>]*> nop
++0000f5e0 <[^>]*> nop
++0000f5e4 <[^>]*> nop
++0000f5e8 <[^>]*> nop
++0000f5ec <[^>]*> nop
++0000f5f0 <[^>]*> nop
++0000f5f4 <[^>]*> nop
++0000f5f8 <[^>]*> nop
++0000f5fc <[^>]*> nop
++0000f600 <[^>]*> nop
++0000f604 <[^>]*> nop
++0000f608 <[^>]*> nop
++0000f60c <[^>]*> nop
++0000f610 <[^>]*> nop
++0000f614 <[^>]*> nop
++0000f618 <[^>]*> nop
++0000f61c <[^>]*> nop
++0000f620 <[^>]*> nop
++0000f624 <[^>]*> nop
++0000f628 <[^>]*> nop
++0000f62c <[^>]*> nop
++0000f630 <[^>]*> nop
++0000f634 <[^>]*> nop
++0000f638 <[^>]*> nop
++0000f63c <[^>]*> nop
++0000f640 <[^>]*> nop
++0000f644 <[^>]*> nop
++0000f648 <[^>]*> nop
++0000f64c <[^>]*> nop
++0000f650 <[^>]*> nop
++0000f654 <[^>]*> nop
++0000f658 <[^>]*> nop
++0000f65c <[^>]*> nop
++0000f660 <[^>]*> nop
++0000f664 <[^>]*> nop
++0000f668 <[^>]*> nop
++0000f66c <[^>]*> nop
++0000f670 <[^>]*> nop
++0000f674 <[^>]*> nop
++0000f678 <[^>]*> nop
++0000f67c <[^>]*> nop
++0000f680 <[^>]*> nop
++0000f684 <[^>]*> nop
++0000f688 <[^>]*> nop
++0000f68c <[^>]*> nop
++0000f690 <[^>]*> nop
++0000f694 <[^>]*> nop
++0000f698 <[^>]*> nop
++0000f69c <[^>]*> nop
++0000f6a0 <[^>]*> nop
++0000f6a4 <[^>]*> nop
++0000f6a8 <[^>]*> nop
++0000f6ac <[^>]*> nop
++0000f6b0 <[^>]*> nop
++0000f6b4 <[^>]*> nop
++0000f6b8 <[^>]*> nop
++0000f6bc <[^>]*> nop
++0000f6c0 <[^>]*> nop
++0000f6c4 <[^>]*> nop
++0000f6c8 <[^>]*> nop
++0000f6cc <[^>]*> nop
++0000f6d0 <[^>]*> nop
++0000f6d4 <[^>]*> nop
++0000f6d8 <[^>]*> nop
++0000f6dc <[^>]*> nop
++0000f6e0 <[^>]*> nop
++0000f6e4 <[^>]*> nop
++0000f6e8 <[^>]*> nop
++0000f6ec <[^>]*> nop
++0000f6f0 <[^>]*> nop
++0000f6f4 <[^>]*> nop
++0000f6f8 <[^>]*> nop
++0000f6fc <[^>]*> nop
++0000f700 <[^>]*> nop
++0000f704 <[^>]*> nop
++0000f708 <[^>]*> nop
++0000f70c <[^>]*> nop
++0000f710 <[^>]*> nop
++0000f714 <[^>]*> nop
++0000f718 <[^>]*> nop
++0000f71c <[^>]*> nop
++0000f720 <[^>]*> nop
++0000f724 <[^>]*> nop
++0000f728 <[^>]*> nop
++0000f72c <[^>]*> nop
++0000f730 <[^>]*> nop
++0000f734 <[^>]*> nop
++0000f738 <[^>]*> nop
++0000f73c <[^>]*> nop
++0000f740 <[^>]*> nop
++0000f744 <[^>]*> nop
++0000f748 <[^>]*> nop
++0000f74c <[^>]*> nop
++0000f750 <[^>]*> nop
++0000f754 <[^>]*> nop
++0000f758 <[^>]*> nop
++0000f75c <[^>]*> nop
++0000f760 <[^>]*> nop
++0000f764 <[^>]*> nop
++0000f768 <[^>]*> nop
++0000f76c <[^>]*> nop
++0000f770 <[^>]*> nop
++0000f774 <[^>]*> nop
++0000f778 <[^>]*> nop
++0000f77c <[^>]*> nop
++0000f780 <[^>]*> nop
++0000f784 <[^>]*> nop
++0000f788 <[^>]*> nop
++0000f78c <[^>]*> nop
++0000f790 <[^>]*> nop
++0000f794 <[^>]*> nop
++0000f798 <[^>]*> nop
++0000f79c <[^>]*> nop
++0000f7a0 <[^>]*> nop
++0000f7a4 <[^>]*> nop
++0000f7a8 <[^>]*> nop
++0000f7ac <[^>]*> nop
++0000f7b0 <[^>]*> nop
++0000f7b4 <[^>]*> nop
++0000f7b8 <[^>]*> nop
++0000f7bc <[^>]*> nop
++0000f7c0 <[^>]*> nop
++0000f7c4 <[^>]*> nop
++0000f7c8 <[^>]*> nop
++0000f7cc <[^>]*> nop
++0000f7d0 <[^>]*> nop
++0000f7d4 <[^>]*> nop
++0000f7d8 <[^>]*> nop
++0000f7dc <[^>]*> nop
++0000f7e0 <[^>]*> nop
++0000f7e4 <[^>]*> nop
++0000f7e8 <[^>]*> nop
++0000f7ec <[^>]*> nop
++0000f7f0 <[^>]*> nop
++0000f7f4 <[^>]*> nop
++0000f7f8 <[^>]*> nop
++0000f7fc <[^>]*> nop
++0000f800 <[^>]*> nop
++0000f804 <[^>]*> nop
++0000f808 <[^>]*> nop
++0000f80c <[^>]*> nop
++0000f810 <[^>]*> nop
++0000f814 <[^>]*> nop
++0000f818 <[^>]*> nop
++0000f81c <[^>]*> nop
++0000f820 <[^>]*> nop
++0000f824 <[^>]*> nop
++0000f828 <[^>]*> nop
++0000f82c <[^>]*> nop
++0000f830 <[^>]*> nop
++0000f834 <[^>]*> nop
++0000f838 <[^>]*> nop
++0000f83c <[^>]*> nop
++0000f840 <[^>]*> nop
++0000f844 <[^>]*> nop
++0000f848 <[^>]*> nop
++0000f84c <[^>]*> nop
++0000f850 <[^>]*> nop
++0000f854 <[^>]*> nop
++0000f858 <[^>]*> nop
++0000f85c <[^>]*> nop
++0000f860 <[^>]*> nop
++0000f864 <[^>]*> nop
++0000f868 <[^>]*> nop
++0000f86c <[^>]*> nop
++0000f870 <[^>]*> nop
++0000f874 <[^>]*> nop
++0000f878 <[^>]*> nop
++0000f87c <[^>]*> nop
++0000f880 <[^>]*> nop
++0000f884 <[^>]*> nop
++0000f888 <[^>]*> nop
++0000f88c <[^>]*> nop
++0000f890 <[^>]*> nop
++0000f894 <[^>]*> nop
++0000f898 <[^>]*> nop
++0000f89c <[^>]*> nop
++0000f8a0 <[^>]*> nop
++0000f8a4 <[^>]*> nop
++0000f8a8 <[^>]*> nop
++0000f8ac <[^>]*> nop
++0000f8b0 <[^>]*> nop
++0000f8b4 <[^>]*> nop
++0000f8b8 <[^>]*> nop
++0000f8bc <[^>]*> nop
++0000f8c0 <[^>]*> nop
++0000f8c4 <[^>]*> nop
++0000f8c8 <[^>]*> nop
++0000f8cc <[^>]*> nop
++0000f8d0 <[^>]*> nop
++0000f8d4 <[^>]*> nop
++0000f8d8 <[^>]*> nop
++0000f8dc <[^>]*> nop
++0000f8e0 <[^>]*> nop
++0000f8e4 <[^>]*> nop
++0000f8e8 <[^>]*> nop
++0000f8ec <[^>]*> nop
++0000f8f0 <[^>]*> nop
++0000f8f4 <[^>]*> nop
++0000f8f8 <[^>]*> nop
++0000f8fc <[^>]*> nop
++0000f900 <[^>]*> nop
++0000f904 <[^>]*> nop
++0000f908 <[^>]*> nop
++0000f90c <[^>]*> nop
++0000f910 <[^>]*> nop
++0000f914 <[^>]*> nop
++0000f918 <[^>]*> nop
++0000f91c <[^>]*> nop
++0000f920 <[^>]*> nop
++0000f924 <[^>]*> nop
++0000f928 <[^>]*> nop
++0000f92c <[^>]*> nop
++0000f930 <[^>]*> nop
++0000f934 <[^>]*> nop
++0000f938 <[^>]*> nop
++0000f93c <[^>]*> nop
++0000f940 <[^>]*> nop
++0000f944 <[^>]*> nop
++0000f948 <[^>]*> nop
++0000f94c <[^>]*> nop
++0000f950 <[^>]*> nop
++0000f954 <[^>]*> nop
++0000f958 <[^>]*> nop
++0000f95c <[^>]*> nop
++0000f960 <[^>]*> nop
++0000f964 <[^>]*> nop
++0000f968 <[^>]*> nop
++0000f96c <[^>]*> nop
++0000f970 <[^>]*> nop
++0000f974 <[^>]*> nop
++0000f978 <[^>]*> nop
++0000f97c <[^>]*> nop
++0000f980 <[^>]*> nop
++0000f984 <[^>]*> nop
++0000f988 <[^>]*> nop
++0000f98c <[^>]*> nop
++0000f990 <[^>]*> nop
++0000f994 <[^>]*> nop
++0000f998 <[^>]*> nop
++0000f99c <[^>]*> nop
++0000f9a0 <[^>]*> nop
++0000f9a4 <[^>]*> nop
++0000f9a8 <[^>]*> nop
++0000f9ac <[^>]*> nop
++0000f9b0 <[^>]*> nop
++0000f9b4 <[^>]*> nop
++0000f9b8 <[^>]*> nop
++0000f9bc <[^>]*> nop
++0000f9c0 <[^>]*> nop
++0000f9c4 <[^>]*> nop
++0000f9c8 <[^>]*> nop
++0000f9cc <[^>]*> nop
++0000f9d0 <[^>]*> nop
++0000f9d4 <[^>]*> nop
++0000f9d8 <[^>]*> nop
++0000f9dc <[^>]*> nop
++0000f9e0 <[^>]*> nop
++0000f9e4 <[^>]*> nop
++0000f9e8 <[^>]*> nop
++0000f9ec <[^>]*> nop
++0000f9f0 <[^>]*> nop
++0000f9f4 <[^>]*> nop
++0000f9f8 <[^>]*> nop
++0000f9fc <[^>]*> nop
++0000fa00 <[^>]*> nop
++0000fa04 <[^>]*> nop
++0000fa08 <[^>]*> nop
++0000fa0c <[^>]*> nop
++0000fa10 <[^>]*> nop
++0000fa14 <[^>]*> nop
++0000fa18 <[^>]*> nop
++0000fa1c <[^>]*> nop
++0000fa20 <[^>]*> nop
++0000fa24 <[^>]*> nop
++0000fa28 <[^>]*> nop
++0000fa2c <[^>]*> nop
++0000fa30 <[^>]*> nop
++0000fa34 <[^>]*> nop
++0000fa38 <[^>]*> nop
++0000fa3c <[^>]*> nop
++0000fa40 <[^>]*> nop
++0000fa44 <[^>]*> nop
++0000fa48 <[^>]*> nop
++0000fa4c <[^>]*> nop
++0000fa50 <[^>]*> nop
++0000fa54 <[^>]*> nop
++0000fa58 <[^>]*> nop
++0000fa5c <[^>]*> nop
++0000fa60 <[^>]*> nop
++0000fa64 <[^>]*> nop
++0000fa68 <[^>]*> nop
++0000fa6c <[^>]*> nop
++0000fa70 <[^>]*> nop
++0000fa74 <[^>]*> nop
++0000fa78 <[^>]*> nop
++0000fa7c <[^>]*> nop
++0000fa80 <[^>]*> nop
++0000fa84 <[^>]*> nop
++0000fa88 <[^>]*> nop
++0000fa8c <[^>]*> nop
++0000fa90 <[^>]*> nop
++0000fa94 <[^>]*> nop
++0000fa98 <[^>]*> nop
++0000fa9c <[^>]*> nop
++0000faa0 <[^>]*> nop
++0000faa4 <[^>]*> nop
++0000faa8 <[^>]*> nop
++0000faac <[^>]*> nop
++0000fab0 <[^>]*> nop
++0000fab4 <[^>]*> nop
++0000fab8 <[^>]*> nop
++0000fabc <[^>]*> nop
++0000fac0 <[^>]*> nop
++0000fac4 <[^>]*> nop
++0000fac8 <[^>]*> nop
++0000facc <[^>]*> nop
++0000fad0 <[^>]*> nop
++0000fad4 <[^>]*> nop
++0000fad8 <[^>]*> nop
++0000fadc <[^>]*> nop
++0000fae0 <[^>]*> nop
++0000fae4 <[^>]*> nop
++0000fae8 <[^>]*> nop
++0000faec <[^>]*> nop
++0000faf0 <[^>]*> nop
++0000faf4 <[^>]*> nop
++0000faf8 <[^>]*> nop
++0000fafc <[^>]*> nop
++0000fb00 <[^>]*> nop
++0000fb04 <[^>]*> nop
++0000fb08 <[^>]*> nop
++0000fb0c <[^>]*> nop
++0000fb10 <[^>]*> nop
++0000fb14 <[^>]*> nop
++0000fb18 <[^>]*> nop
++0000fb1c <[^>]*> nop
++0000fb20 <[^>]*> nop
++0000fb24 <[^>]*> nop
++0000fb28 <[^>]*> nop
++0000fb2c <[^>]*> nop
++0000fb30 <[^>]*> nop
++0000fb34 <[^>]*> nop
++0000fb38 <[^>]*> nop
++0000fb3c <[^>]*> nop
++0000fb40 <[^>]*> nop
++0000fb44 <[^>]*> nop
++0000fb48 <[^>]*> nop
++0000fb4c <[^>]*> nop
++0000fb50 <[^>]*> nop
++0000fb54 <[^>]*> nop
++0000fb58 <[^>]*> nop
++0000fb5c <[^>]*> nop
++0000fb60 <[^>]*> nop
++0000fb64 <[^>]*> nop
++0000fb68 <[^>]*> nop
++0000fb6c <[^>]*> nop
++0000fb70 <[^>]*> nop
++0000fb74 <[^>]*> nop
++0000fb78 <[^>]*> nop
++0000fb7c <[^>]*> nop
++0000fb80 <[^>]*> nop
++0000fb84 <[^>]*> nop
++0000fb88 <[^>]*> nop
++0000fb8c <[^>]*> nop
++0000fb90 <[^>]*> nop
++0000fb94 <[^>]*> nop
++0000fb98 <[^>]*> nop
++0000fb9c <[^>]*> nop
++0000fba0 <[^>]*> nop
++0000fba4 <[^>]*> nop
++0000fba8 <[^>]*> nop
++0000fbac <[^>]*> nop
++0000fbb0 <[^>]*> nop
++0000fbb4 <[^>]*> nop
++0000fbb8 <[^>]*> nop
++0000fbbc <[^>]*> nop
++0000fbc0 <[^>]*> nop
++0000fbc4 <[^>]*> nop
++0000fbc8 <[^>]*> nop
++0000fbcc <[^>]*> nop
++0000fbd0 <[^>]*> nop
++0000fbd4 <[^>]*> nop
++0000fbd8 <[^>]*> nop
++0000fbdc <[^>]*> nop
++0000fbe0 <[^>]*> nop
++0000fbe4 <[^>]*> nop
++0000fbe8 <[^>]*> nop
++0000fbec <[^>]*> nop
++0000fbf0 <[^>]*> nop
++0000fbf4 <[^>]*> nop
++0000fbf8 <[^>]*> nop
++0000fbfc <[^>]*> nop
++0000fc00 <[^>]*> nop
++0000fc04 <[^>]*> nop
++0000fc08 <[^>]*> nop
++0000fc0c <[^>]*> nop
++0000fc10 <[^>]*> nop
++0000fc14 <[^>]*> nop
++0000fc18 <[^>]*> nop
++0000fc1c <[^>]*> nop
++0000fc20 <[^>]*> nop
++0000fc24 <[^>]*> nop
++0000fc28 <[^>]*> nop
++0000fc2c <[^>]*> nop
++0000fc30 <[^>]*> nop
++0000fc34 <[^>]*> nop
++0000fc38 <[^>]*> nop
++0000fc3c <[^>]*> nop
++0000fc40 <[^>]*> nop
++0000fc44 <[^>]*> nop
++0000fc48 <[^>]*> nop
++0000fc4c <[^>]*> nop
++0000fc50 <[^>]*> nop
++0000fc54 <[^>]*> nop
++0000fc58 <[^>]*> nop
++0000fc5c <[^>]*> nop
++0000fc60 <[^>]*> nop
++0000fc64 <[^>]*> nop
++0000fc68 <[^>]*> nop
++0000fc6c <[^>]*> nop
++0000fc70 <[^>]*> nop
++0000fc74 <[^>]*> nop
++0000fc78 <[^>]*> nop
++0000fc7c <[^>]*> nop
++0000fc80 <[^>]*> nop
++0000fc84 <[^>]*> nop
++0000fc88 <[^>]*> nop
++0000fc8c <[^>]*> nop
++0000fc90 <[^>]*> nop
++0000fc94 <[^>]*> nop
++0000fc98 <[^>]*> nop
++0000fc9c <[^>]*> nop
++0000fca0 <[^>]*> nop
++0000fca4 <[^>]*> nop
++0000fca8 <[^>]*> nop
++0000fcac <[^>]*> nop
++0000fcb0 <[^>]*> nop
++0000fcb4 <[^>]*> nop
++0000fcb8 <[^>]*> nop
++0000fcbc <[^>]*> nop
++0000fcc0 <[^>]*> nop
++0000fcc4 <[^>]*> nop
++0000fcc8 <[^>]*> nop
++0000fccc <[^>]*> nop
++0000fcd0 <[^>]*> nop
++0000fcd4 <[^>]*> nop
++0000fcd8 <[^>]*> nop
++0000fcdc <[^>]*> nop
++0000fce0 <[^>]*> nop
++0000fce4 <[^>]*> nop
++0000fce8 <[^>]*> nop
++0000fcec <[^>]*> nop
++0000fcf0 <[^>]*> nop
++0000fcf4 <[^>]*> nop
++0000fcf8 <[^>]*> nop
++0000fcfc <[^>]*> nop
++0000fd00 <[^>]*> nop
++0000fd04 <[^>]*> nop
++0000fd08 <[^>]*> nop
++0000fd0c <[^>]*> nop
++0000fd10 <[^>]*> nop
++0000fd14 <[^>]*> nop
++0000fd18 <[^>]*> nop
++0000fd1c <[^>]*> nop
++0000fd20 <[^>]*> nop
++0000fd24 <[^>]*> nop
++0000fd28 <[^>]*> nop
++0000fd2c <[^>]*> nop
++0000fd30 <[^>]*> nop
++0000fd34 <[^>]*> nop
++0000fd38 <[^>]*> nop
++0000fd3c <[^>]*> nop
++0000fd40 <[^>]*> nop
++0000fd44 <[^>]*> nop
++0000fd48 <[^>]*> nop
++0000fd4c <[^>]*> nop
++0000fd50 <[^>]*> nop
++0000fd54 <[^>]*> nop
++0000fd58 <[^>]*> nop
++0000fd5c <[^>]*> nop
++0000fd60 <[^>]*> nop
++0000fd64 <[^>]*> nop
++0000fd68 <[^>]*> nop
++0000fd6c <[^>]*> nop
++0000fd70 <[^>]*> nop
++0000fd74 <[^>]*> nop
++0000fd78 <[^>]*> nop
++0000fd7c <[^>]*> nop
++0000fd80 <[^>]*> nop
++0000fd84 <[^>]*> nop
++0000fd88 <[^>]*> nop
++0000fd8c <[^>]*> nop
++0000fd90 <[^>]*> nop
++0000fd94 <[^>]*> nop
++0000fd98 <[^>]*> nop
++0000fd9c <[^>]*> nop
++0000fda0 <[^>]*> nop
++0000fda4 <[^>]*> nop
++0000fda8 <[^>]*> nop
++0000fdac <[^>]*> nop
++0000fdb0 <[^>]*> nop
++0000fdb4 <[^>]*> nop
++0000fdb8 <[^>]*> nop
++0000fdbc <[^>]*> nop
++0000fdc0 <[^>]*> nop
++0000fdc4 <[^>]*> nop
++0000fdc8 <[^>]*> nop
++0000fdcc <[^>]*> nop
++0000fdd0 <[^>]*> nop
++0000fdd4 <[^>]*> nop
++0000fdd8 <[^>]*> nop
++0000fddc <[^>]*> nop
++0000fde0 <[^>]*> nop
++0000fde4 <[^>]*> nop
++0000fde8 <[^>]*> nop
++0000fdec <[^>]*> nop
++0000fdf0 <[^>]*> nop
++0000fdf4 <[^>]*> nop
++0000fdf8 <[^>]*> nop
++0000fdfc <[^>]*> nop
++0000fe00 <[^>]*> nop
++0000fe04 <[^>]*> nop
++0000fe08 <[^>]*> nop
++0000fe0c <[^>]*> nop
++0000fe10 <[^>]*> nop
++0000fe14 <[^>]*> nop
++0000fe18 <[^>]*> nop
++0000fe1c <[^>]*> nop
++0000fe20 <[^>]*> nop
++0000fe24 <[^>]*> nop
++0000fe28 <[^>]*> nop
++0000fe2c <[^>]*> nop
++0000fe30 <[^>]*> nop
++0000fe34 <[^>]*> nop
++0000fe38 <[^>]*> nop
++0000fe3c <[^>]*> nop
++0000fe40 <[^>]*> nop
++0000fe44 <[^>]*> nop
++0000fe48 <[^>]*> nop
++0000fe4c <[^>]*> nop
++0000fe50 <[^>]*> nop
++0000fe54 <[^>]*> nop
++0000fe58 <[^>]*> nop
++0000fe5c <[^>]*> nop
++0000fe60 <[^>]*> nop
++0000fe64 <[^>]*> nop
++0000fe68 <[^>]*> nop
++0000fe6c <[^>]*> nop
++0000fe70 <[^>]*> nop
++0000fe74 <[^>]*> nop
++0000fe78 <[^>]*> nop
++0000fe7c <[^>]*> nop
++0000fe80 <[^>]*> nop
++0000fe84 <[^>]*> nop
++0000fe88 <[^>]*> nop
++0000fe8c <[^>]*> nop
++0000fe90 <[^>]*> nop
++0000fe94 <[^>]*> nop
++0000fe98 <[^>]*> nop
++0000fe9c <[^>]*> nop
++0000fea0 <[^>]*> nop
++0000fea4 <[^>]*> nop
++0000fea8 <[^>]*> nop
++0000feac <[^>]*> nop
++0000feb0 <[^>]*> nop
++0000feb4 <[^>]*> nop
++0000feb8 <[^>]*> nop
++0000febc <[^>]*> nop
++0000fec0 <[^>]*> nop
++0000fec4 <[^>]*> nop
++0000fec8 <[^>]*> nop
++0000fecc <[^>]*> nop
++0000fed0 <[^>]*> nop
++0000fed4 <[^>]*> nop
++0000fed8 <[^>]*> nop
++0000fedc <[^>]*> nop
++0000fee0 <[^>]*> nop
++0000fee4 <[^>]*> nop
++0000fee8 <[^>]*> nop
++0000feec <[^>]*> nop
++0000fef0 <[^>]*> nop
++0000fef4 <[^>]*> nop
++0000fef8 <[^>]*> nop
++0000fefc <[^>]*> nop
++0000ff00 <[^>]*> nop
++0000ff04 <[^>]*> nop
++0000ff08 <[^>]*> nop
++0000ff0c <[^>]*> nop
++0000ff10 <[^>]*> nop
++0000ff14 <[^>]*> nop
++0000ff18 <[^>]*> nop
++0000ff1c <[^>]*> nop
++0000ff20 <[^>]*> nop
++0000ff24 <[^>]*> nop
++0000ff28 <[^>]*> nop
++0000ff2c <[^>]*> nop
++0000ff30 <[^>]*> nop
++0000ff34 <[^>]*> nop
++0000ff38 <[^>]*> nop
++0000ff3c <[^>]*> nop
++0000ff40 <[^>]*> nop
++0000ff44 <[^>]*> nop
++0000ff48 <[^>]*> nop
++0000ff4c <[^>]*> nop
++0000ff50 <[^>]*> nop
++0000ff54 <[^>]*> nop
++0000ff58 <[^>]*> nop
++0000ff5c <[^>]*> nop
++0000ff60 <[^>]*> nop
++0000ff64 <[^>]*> nop
++0000ff68 <[^>]*> nop
++0000ff6c <[^>]*> nop
++0000ff70 <[^>]*> nop
++0000ff74 <[^>]*> nop
++0000ff78 <[^>]*> nop
++0000ff7c <[^>]*> nop
++0000ff80 <[^>]*> nop
++0000ff84 <[^>]*> nop
++0000ff88 <[^>]*> nop
++0000ff8c <[^>]*> nop
++0000ff90 <[^>]*> nop
++0000ff94 <[^>]*> nop
++0000ff98 <[^>]*> nop
++0000ff9c <[^>]*> nop
++0000ffa0 <[^>]*> nop
++0000ffa4 <[^>]*> nop
++0000ffa8 <[^>]*> nop
++0000ffac <[^>]*> nop
++0000ffb0 <[^>]*> nop
++0000ffb4 <[^>]*> nop
++0000ffb8 <[^>]*> nop
++0000ffbc <[^>]*> nop
++0000ffc0 <[^>]*> nop
++0000ffc4 <[^>]*> nop
++0000ffc8 <[^>]*> nop
++0000ffcc <[^>]*> nop
++0000ffd0 <[^>]*> nop
++0000ffd4 <[^>]*> nop
++0000ffd8 <[^>]*> nop
++0000ffdc <[^>]*> nop
++0000ffe0 <[^>]*> nop
++0000ffe4 <[^>]*> nop
++0000ffe8 <[^>]*> nop
++0000ffec <[^>]*> nop
++0000fff0 <[^>]*> nop
++0000fff4 <[^>]*> nop
++0000fff8 <[^>]*> nop
++0000fffc <[^>]*> nop
++00010000 <[^>]*> bne r2,r3,00010024 <[^>]*>
++00010004 <[^>]*> nop
++00010008 <[^>]*> nop
++0001000c <[^>]*> nop
++00010010 <[^>]*> nop
++00010014 <[^>]*> nop
++00010018 <[^>]*> nop
++0001001c <[^>]*> nop
++00010020 <[^>]*> nop
++00010024 <[^>]*> nop
++ ...
+--- binutils-2.15/gas/testsuite/gas/nios2/relax_cjmp.s 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/relax_cjmp.s 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,37 @@
++# relaxing unconditional jumps
++
++.globl text1
++.section text1, "ax", @progbits
++
++ beq r2, r3, on_border
++ beq r2, r3, out_of_range
++ nop
++ nop
++
++
++.align 15
++ #nop
++ #nop
++ #nop
++on_border:
++ bne r2, r3, in_range
++ nop
++ nop
++ nop
++ nop
++ nop
++out_of_range:
++in_range:
++ nop
++
++.globl text2
++.section text2, "ax", @progbits
++
++ bge r2, r3, text1
++ blt r2, r3, out_of_range
++ ble r2, r3, sym
++ nop
++ nop
++sym:
++ nop
++
+--- binutils-2.15/gas/testsuite/gas/nios2/relax_section.d 1970-01-01 01:00:00.000000000 +0100
++++ binutils-2.15-nios2/gas/testsuite/gas/nios2/relax_section.d 2005-05-17 12:20:14.000000000 +0200
+@@ -0,0 +1,8206 @@
++#objdump: -dr --prefix-addresses
++#name: NIOS2 relax_section
++
++# Test relaxation of section
++
++.*: +file format elf32-littlenios2
++
++Disassembly of section .text:
++0+0000 <[^>]*> bne r2,r3,00000010 <in_range-0xc>
++0+0004 <[^>]*> movhi at,0
++0+0008 <[^>]*> ori at,at,32780
++0+000c <[^>]*> jmp at
++0+0010 <[^>]*> bne r2,r3,0000001c <in_range>
++0+0014 <[^>]*> nop
++0+0018 <[^>]*> nop
++0+001c <[^>]*> nop
++0+0020 <[^>]*> nop
++0+0024 <[^>]*> nop
++0+0028 <[^>]*> nop
++0+002c <[^>]*> nop
++0+0030 <[^>]*> nop
++0+0034 <[^>]*> nop
++0+0038 <[^>]*> nop
++0+003c <[^>]*> nop
++0+0040 <[^>]*> nop
++0+0044 <[^>]*> nop
++0+0048 <[^>]*> nop
++0+004c <[^>]*> nop
++0+0050 <[^>]*> nop
++0+0054 <[^>]*> nop
++0+0058 <[^>]*> nop
++0+005c <[^>]*> nop
++0+0060 <[^>]*> nop
++0+0064 <[^>]*> nop
++0+0068 <[^>]*> nop
++0+006c <[^>]*> nop
++0+0070 <[^>]*> nop
++0+0074 <[^>]*> nop
++0+0078 <[^>]*> nop
++0+007c <[^>]*> nop
++0+0080 <[^>]*> nop
++0+0084 <[^>]*> nop
++0+0088 <[^>]*> nop
++0+008c <[^>]*> nop
++0+0090 <[^>]*> nop
++0+0094 <[^>]*> nop
++0+0098 <[^>]*> nop
++0+009c <[^>]*> nop
++0+00a0 <[^>]*> nop
++0+00a4 <[^>]*> nop
++0+00a8 <[^>]*> nop
++0+00ac <[^>]*> nop
++0+00b0 <[^>]*> nop
++0+00b4 <[^>]*> nop
++0+00b8 <[^>]*> nop
++0+00bc <[^>]*> nop
++0+00c0 <[^>]*> nop
++0+00c4 <[^>]*> nop
++0+00c8 <[^>]*> nop
++0+00cc <[^>]*> nop
++0+00d0 <[^>]*> nop
++0+00d4 <[^>]*> nop
++0+00d8 <[^>]*> nop
++0+00dc <[^>]*> nop
++0+00e0 <[^>]*> nop
++0+00e4 <[^>]*> nop
++0+00e8 <[^>]*> nop
++0+00ec <[^>]*> nop
++0+00f0 <[^>]*> nop
++0+00f4 <[^>]*> nop
++0+00f8 <[^>]*> nop
++0+00fc <[^>]*> nop
++0+0100 <[^>]*> nop
++0+0104 <[^>]*> nop
++0+0108 <[^>]*> nop
++0+010c <[^>]*> nop
++0+0110 <[^>]*> nop
++0+0114 <[^>]*> nop
++0+0118 <[^>]*> nop
++0+011c <[^>]*> nop
++0+0120 <[^>]*> nop
++0+0124 <[^>]*> nop
++0+0128 <[^>]*> nop
++0+012c <[^>]*> nop
++0+0130 <[^>]*> nop
++0+0134 <[^>]*> nop
++0+0138 <[^>]*> nop
++0+013c <[^>]*> nop
++0+0140 <[^>]*> nop
++0+0144 <[^>]*> nop
++0+0148 <[^>]*> nop
++0+014c <[^>]*> nop
++0+0150 <[^>]*> nop
++0+0154 <[^>]*> nop
++0+0158 <[^>]*> nop
++0+015c <[^>]*> nop
++0+0160 <[^>]*> nop
++0+0164 <[^>]*> nop
++0+0168 <[^>]*> nop
++0+016c <[^>]*> nop
++0+0170 <[^>]*> nop
++0+0174 <[^>]*> nop
++0+0178 <[^>]*> nop
++0+017c <[^>]*> nop
++0+0180 <[^>]*> nop
++0+0184 <[^>]*> nop
++0+0188 <[^>]*> nop
++0+018c <[^>]*> nop
++0+0190 <[^>]*> nop
++0+0194 <[^>]*> nop
++0+0198 <[^>]*> nop
++0+019c <[^>]*> nop
++0+01a0 <[^>]*> nop
++0+01a4 <[^>]*> nop
++0+01a8 <[^>]*> nop
++0+01ac <[^>]*> nop
++0+01b0 <[^>]*> nop
++0+01b4 <[^>]*> nop
++0+01b8 <[^>]*> nop
++0+01bc <[^>]*> nop
++0+01c0 <[^>]*> nop
++0+01c4 <[^>]*> nop
++0+01c8 <[^>]*> nop
++0+01cc <[^>]*> nop
++0+01d0 <[^>]*> nop
++0+01d4 <[^>]*> nop
++0+01d8 <[^>]*> nop
++0+01dc <[^>]*> nop
++0+01e0 <[^>]*> nop
++0+01e4 <[^>]*> nop
++0+01e8 <[^>]*> nop
++0+01ec <[^>]*> nop
++0+01f0 <[^>]*> nop
++0+01f4 <[^>]*> nop
++0+01f8 <[^>]*> nop
++0+01fc <[^>]*> nop
++0+0200 <[^>]*> nop
++0+0204 <[^>]*> nop
++0+0208 <[^>]*> nop
++0+020c <[^>]*> nop
++0+0210 <[^>]*> nop
++0+0214 <[^>]*> nop
++0+0218 <[^>]*> nop
++0+021c <[^>]*> nop
++0+0220 <[^>]*> nop
++0+0224 <[^>]*> nop
++0+0228 <[^>]*> nop
++0+022c <[^>]*> nop
++0+0230 <[^>]*> nop
++0+0234 <[^>]*> nop
++0+0238 <[^>]*> nop
++0+023c <[^>]*> nop
++0+0240 <[^>]*> nop
++0+0244 <[^>]*> nop
++0+0248 <[^>]*> nop
++0+024c <[^>]*> nop
++0+0250 <[^>]*> nop
++0+0254 <[^>]*> nop
++0+0258 <[^>]*> nop
++0+025c <[^>]*> nop
++0+0260 <[^>]*> nop
++0+0264 <[^>]*> nop
++0+0268 <[^>]*> nop
++0+026c <[^>]*> nop
++0+0270 <[^>]*> nop
++0+0274 <[^>]*> nop
++0+0278 <[^>]*> nop
++0+027c <[^>]*> nop
++0+0280 <[^>]*> nop
++0+0284 <[^>]*> nop
++0+0288 <[^>]*> nop
++0+028c <[^>]*> nop
++0+0290 <[^>]*> nop
++0+0294 <[^>]*> nop
++0+0298 <[^>]*> nop
++0+029c <[^>]*> nop
++0+02a0 <[^>]*> nop
++0+02a4 <[^>]*> nop
++0+02a8 <[^>]*> nop
++0+02ac <[^>]*> nop
++0+02b0 <[^>]*> nop
++0+02b4 <[^>]*> nop
++0+02b8 <[^>]*> nop
++0+02bc <[^>]*> nop
++0+02c0 <[^>]*> nop
++0+02c4 <[^>]*> nop
++0+02c8 <[^>]*> nop
++0+02cc <[^>]*> nop
++0+02d0 <[^>]*> nop
++0+02d4 <[^>]*> nop
++0+02d8 <[^>]*> nop
++0+02dc <[^>]*> nop
++0+02e0 <[^>]*> nop
++0+02e4 <[^>]*> nop
++0+02e8 <[^>]*> nop
++0+02ec <[^>]*> nop
++0+02f0 <[^>]*> nop
++0+02f4 <[^>]*> nop
++0+02f8 <[^>]*> nop
++0+02fc <[^>]*> nop
++0+0300 <[^>]*> nop
++0+0304 <[^>]*> nop
++0+0308 <[^>]*> nop
++0+030c <[^>]*> nop
++0+0310 <[^>]*> nop
++0+0314 <[^>]*> nop
++0+0318 <[^>]*> nop
++0+031c <[^>]*> nop
++0+0320 <[^>]*> nop
++0+0324 <[^>]*> nop
++0+0328 <[^>]*> nop
++0+032c <[^>]*> nop
++0+0330 <[^>]*> nop
++0+0334 <[^>]*> nop
++0+0338 <[^>]*> nop
++0+033c <[^>]*> nop
++0+0340 <[^>]*> nop
++0+0344 <[^>]*> nop
++0+0348 <[^>]*> nop
++0+034c <[^>]*> nop
++0+0350 <[^>]*> nop
++0+0354 <[^>]*> nop
++0+0358 <[^>]*> nop
++0+035c <[^>]*> nop
++0+0360 <[^>]*> nop
++0+0364 <[^>]*> nop
++0+0368 <[^>]*> nop
++0+036c <[^>]*> nop
++0+0370 <[^>]*> nop
++0+0374 <[^>]*> nop
++0+0378 <[^>]*> nop
++0+037c <[^>]*> nop
++0+0380 <[^>]*> nop
++0+0384 <[^>]*> nop
++0+0388 <[^>]*> nop
++0+038c <[^>]*> nop
++0+0390 <[^>]*> nop
++0+0394 <[^>]*> nop
++0+0398 <[^>]*> nop
++0+039c <[^>]*> nop
++0+03a0 <[^>]*> nop
++0+03a4 <[^>]*> nop
++0+03a8 <[^>]*> nop
++0+03ac <[^>]*> nop
++0+03b0 <[^>]*> nop
++0+03b4 <[^>]*> nop
++0+03b8 <[^>]*> nop
++0+03bc <[^>]*> nop
++0+03c0 <[^>]*> nop
++0+03c4 <[^>]*> nop
++0+03c8 <[^>]*> nop
++0+03cc <[^>]*> nop
++0+03d0 <[^>]*> nop
++0+03d4 <[^>]*> nop
++0+03d8 <[^>]*> nop
++0+03dc <[^>]*> nop
++0+03e0 <[^>]*> nop
++0+03e4 <[^>]*> nop
++0+03e8 <[^>]*> nop
++0+03ec <[^>]*> nop
++0+03f0 <[^>]*> nop
++0+03f4 <[^>]*> nop
++0+03f8 <[^>]*> nop
++0+03fc <[^>]*> nop
++0+0400 <[^>]*> nop
++0+0404 <[^>]*> nop
++0+0408 <[^>]*> nop
++0+040c <[^>]*> nop
++0+0410 <[^>]*> nop
++0+0414 <[^>]*> nop
++0+0418 <[^>]*> nop
++0+041c <[^>]*> nop
++0+0420 <[^>]*> nop
++0+0424 <[^>]*> nop
++0+0428 <[^>]*> nop
++0+042c <[^>]*> nop
++0+0430 <[^>]*> nop
++0+0434 <[^>]*> nop
++0+0438 <[^>]*> nop
++0+043c <[^>]*> nop
++0+0440 <[^>]*> nop
++0+0444 <[^>]*> nop
++0+0448 <[^>]*> nop
++0+044c <[^>]*> nop
++0+0450 <[^>]*> nop
++0+0454 <[^>]*> nop
++0+0458 <[^>]*> nop
++0+045c <[^>]*> nop
++0+0460 <[^>]*> nop
++0+0464 <[^>]*> nop
++0+0468 <[^>]*> nop
++0+046c <[^>]*> nop
++0+0470 <[^>]*> nop
++0+0474 <[^>]*> nop
++0+0478 <[^>]*> nop
++0+047c <[^>]*> nop
++0+0480 <[^>]*> nop
++0+0484 <[^>]*> nop
++0+0488 <[^>]*> nop
++0+048c <[^>]*> nop
++0+0490 <[^>]*> nop
++0+0494 <[^>]*> nop
++0+0498 <[^>]*> nop
++0+049c <[^>]*> nop
++0+04a0 <[^>]*> nop
++0+04a4 <[^>]*> nop
++0+04a8 <[^>]*> nop
++0+04ac <[^>]*> nop
++0+04b0 <[^>]*> nop
++0+04b4 <[^>]*> nop
++0+04b8 <[^>]*> nop
++0+04bc <[^>]*> nop
++0+04c0 <[^>]*> nop
++0+04c4 <[^>]*> nop
++0+04c8 <[^>]*> nop
++0+04cc <[^>]*> nop
++0+04d0 <[^>]*> nop
++0+04d4 <[^>]*> nop
++0+04d8 <[^>]*> nop
++0+04dc <[^>]*> nop
++0+04e0 <[^>]*> nop
++0+04e4 <[^>]*> nop
++0+04e8 <[^>]*> nop
++0+04ec <[^>]*> nop
++0+04f0 <[^>]*> nop
++0+04f4 <[^>]*> nop
++0+04f8 <[^>]*> nop
++0+04fc <[^>]*> nop
++0+0500 <[^>]*> nop
++0+0504 <[^>]*> nop
++0+0508 <[^>]*> nop
++0+050c <[^>]*> nop
++0+0510 <[^>]*> nop
++0+0514 <[^>]*> nop
++0+0518 <[^>]*> nop
++0+051c <[^>]*> nop
++0+0520 <[^>]*> nop
++0+0524 <[^>]*> nop
++0+0528 <[^>]*> nop
++0+052c <[^>]*> nop
++0+0530 <[^>]*> nop
++0+0534 <[^>]*> nop
++0+0538 <[^>]*> nop
++0+053c <[^>]*> nop
++0+0540 <[^>]*> nop
++0+0544 <[^>]*> nop
++0+0548 <[^>]*> nop
++0+054c <[^>]*> nop
++0+0550 <[^>]*> nop
++0+0554 <[^>]*> nop
++0+0558 <[^>]*> nop
++0+055c <[^>]*> nop
++0+0560 <[^>]*> nop
++0+0564 <[^>]*> nop
++0+0568 <[^>]*> nop
++0+056c <[^>]*> nop
++0+0570 <[^>]*> nop
++0+0574 <[^>]*> nop
++0+0578 <[^>]*> nop
++0+057c <[^>]*> nop
++0+0580 <[^>]*> nop
++0+0584 <[^>]*> nop
++0+0588 <[^>]*> nop
++0+058c <[^>]*> nop
++0+0590 <[^>]*> nop
++0+0594 <[^>]*> nop
++0+0598 <[^>]*> nop
++0+059c <[^>]*> nop
++0+05a0 <[^>]*> nop
++0+05a4 <[^>]*> nop
++0+05a8 <[^>]*> nop
++0+05ac <[^>]*> nop
++0+05b0 <[^>]*> nop
++0+05b4 <[^>]*> nop
++0+05b8 <[^>]*> nop
++0+05bc <[^>]*> nop
++0+05c0 <[^>]*> nop
++0+05c4 <[^>]*> nop
++0+05c8 <[^>]*> nop
++0+05cc <[^>]*> nop
++0+05d0 <[^>]*> nop
++0+05d4 <[^>]*> nop
++0+05d8 <[^>]*> nop
++0+05dc <[^>]*> nop
++0+05e0 <[^>]*> nop
++0+05e4 <[^>]*> nop
++0+05e8 <[^>]*> nop
++0+05ec <[^>]*> nop
++0+05f0 <[^>]*> nop
++0+05f4 <[^>]*> nop
++0+05f8 <[^>]*> nop
++0+05fc <[^>]*> nop
++0+0600 <[^>]*> nop
++0+0604 <[^>]*> nop
++0+0608 <[^>]*> nop
++0+060c <[^>]*> nop
++0+0610 <[^>]*> nop
++0+0614 <[^>]*> nop
++0+0618 <[^>]*> nop
++0+061c <[^>]*> nop
++0+0620 <[^>]*> nop
++0+0624 <[^>]*> nop
++0+0628 <[^>]*> nop
++0+062c <[^>]*> nop
++0+0630 <[^>]*> nop
++0+0634 <[^>]*> nop
++0+0638 <[^>]*> nop
++0+063c <[^>]*> nop
++0+0640 <[^>]*> nop
++0+0644 <[^>]*> nop
++0+0648 <[^>]*> nop
++0+064c <[^>]*> nop
++0+0650 <[^>]*> nop
++0+0654 <[^>]*> nop
++0+0658 <[^>]*> nop
++0+065c <[^>]*> nop
++0+0660 <[^>]*> nop
++0+0664 <[^>]*> nop
++0+0668 <[^>]*> nop
++0+066c <[^>]*> nop
++0+0670 <[^>]*> nop
++0+0674 <[^>]*> nop
++0+0678 <[^>]*> nop
++0+067c <[^>]*> nop
++0+0680 <[^>]*> nop
++0+0684 <[^>]*> nop
++0+0688 <[^>]*> nop
++0+068c <[^>]*> nop
++0+0690 <[^>]*> nop
++0+0694 <[^>]*> nop
++0+0698 <[^>]*> nop
++0+069c <[^>]*> nop
++0+06a0 <[^>]*> nop
++0+06a4 <[^>]*> nop
++0+06a8 <[^>]*> nop
++0+06ac <[^>]*> nop
++0+06b0 <[^>]*> nop
++0+06b4 <[^>]*> nop
++0+06b8 <[^>]*> nop
++0+06bc <[^>]*> nop
++0+06c0 <[^>]*> nop
++0+06c4 <[^>]*> nop
++0+06c8 <[^>]*> nop
++0+06cc <[^>]*> nop
++0+06d0 <[^>]*> nop
++0+06d4 <[^>]*> nop
++0+06d8 <[^>]*> nop
++0+06dc <[^>]*> nop
++0+06e0 <[^>]*> nop
++0+06e4 <[^>]*> nop
++0+06e8 <[^>]*> nop
++0+06ec <[^>]*> nop
++0+06f0 <[^>]*> nop
++0+06f4 <[^>]*> nop
++0+06f8 <[^>]*> nop
++0+06fc <[^>]*> nop
++0+0700 <[^>]*> nop
++0+0704 <[^>]*> nop
++0+0708 <[^>]*> nop
++0+070c <[^>]*> nop
++0+0710 <[^>]*> nop
++0+0714 <[^>]*> nop
++0+0718 <[^>]*> nop
++0+071c <[^>]*> nop
++0+0720 <[^>]*> nop
++0+0724 <[^>]*> nop
++0+0728 <[^>]*> nop
++0+072c <[^>]*> nop
++0+0730 <[^>]*> nop
++0+0734 <[^>]*> nop
++0+0738 <[^>]*> nop
++0+073c <[^>]*> nop
++0+0740 <[^>]*> nop
++0+0744 <[^>]*> nop
++0+0748 <[^>]*> nop
++0+074c <[^>]*> nop
++0+0750 <[^>]*> nop
++0+0754 <[^>]*> nop
++0+0758 <[^>]*> nop
++0+075c <[^>]*> nop
++0+0760 <[^>]*> nop
++0+0764 <[^>]*> nop
++0+0768 <[^>]*> nop
++0+076c <[^>]*> nop
++0+0770 <[^>]*> nop
++0+0774 <[^>]*> nop
++0+0778 <[^>]*> nop
++0+077c <[^>]*> nop
++0+0780 <[^>]*> nop
++0+0784 <[^>]*> nop
++0+0788 <[^>]*> nop
++0+078c <[^>]*> nop
++0+0790 <[^>]*> nop
++0+0794 <[^>]*> nop
++0+0798 <[^>]*> nop
++0+079c <[^>]*> nop
++0+07a0 <[^>]*> nop
++0+07a4 <[^>]*> nop
++0+07a8 <[^>]*> nop
++0+07ac <[^>]*> nop
++0+07b0 <[^>]*> nop
++0+07b4 <[^>]*> nop
++0+07b8 <[^>]*> nop
++0+07bc <[^>]*> nop
++0+07c0 <[^>]*> nop
++0+07c4 <[^>]*> nop
++0+07c8 <[^>]*> nop
++0+07cc <[^>]*> nop
++0+07d0 <[^>]*> nop
++0+07d4 <[^>]*> nop
++0+07d8 <[^>]*> nop
++0+07dc <[^>]*> nop
++0+07e0 <[^>]*> nop
++0+07e4 <[^>]*> nop
++0+07e8 <[^>]*> nop
++0+07ec <[^>]*> nop
++0+07f0 <[^>]*> nop
++0+07f4 <[^>]*> nop
++0+07f8 <[^>]*> nop
++0+07fc <[^>]*> nop
++0+0800 <[^>]*> nop
++0+0804 <[^>]*> nop
++0+0808 <[^>]*> nop
++0+080c <[^>]*> nop
++0+0810 <[^>]*> nop
++0+0814 <[^>]*> nop
++0+0818 <[^>]*> nop
++0+081c <[^>]*> nop
++0+0820 <[^>]*> nop
++0+0824 <[^>]*> nop
++0+0828 <[^>]*> nop
++0+082c <[^>]*> nop
++0+0830 <[^>]*> nop
++0+0834 <[^>]*> nop
++0+0838 <[^>]*> nop
++0+083c <[^>]*> nop
++0+0840 <[^>]*> nop
++0+0844 <[^>]*> nop
++0+0848 <[^>]*> nop
++0+084c <[^>]*> nop
++0+0850 <[^>]*> nop
++0+0854 <[^>]*> nop
++0+0858 <[^>]*> nop
++0+085c <[^>]*> nop
++0+0860 <[^>]*> nop
++0+0864 <[^>]*> nop
++0+0868 <[^>]*> nop
++0+086c <[^>]*> nop
++0+0870 <[^>]*> nop
++0+0874 <[^>]*> nop
++0+0878 <[^>]*> nop
++0+087c <[^>]*> nop
++0+0880 <[^>]*> nop
++0+0884 <[^>]*> nop
++0+0888 <[^>]*> nop
++0+088c <[^>]*> nop
++0+0890 <[^>]*> nop
++0+0894 <[^>]*> nop
++0+0898 <[^>]*> nop
++0+089c <[^>]*> nop
++0+08a0 <[^>]*> nop
++0+08a4 <[^>]*> nop
++0+08a8 <[^>]*> nop
++0+08ac <[^>]*> nop
++0+08b0 <[^>]*> nop
++0+08b4 <[^>]*> nop
++0+08b8 <[^>]*> nop
++0+08bc <[^>]*> nop
++0+08c0 <[^>]*> nop
++0+08c4 <[^>]*> nop
++0+08c8 <[^>]*> nop
++0+08cc <[^>]*> nop
++0+08d0 <[^>]*> nop
++0+08d4 <[^>]*> nop
++0+08d8 <[^>]*> nop
++0+08dc <[^>]*> nop
++0+08e0 <[^>]*> nop
++0+08e4 <[^>]*> nop
++0+08e8 <[^>]*> nop
++0+08ec <[^>]*> nop
++0+08f0 <[^>]*> nop
++0+08f4 <[^>]*> nop
++0+08f8 <[^>]*> nop
++0+08fc <[^>]*> nop
++0+0900 <[^>]*> nop
++0+0904 <[^>]*> nop
++0+0908 <[^>]*> nop
++0+090c <[^>]*> nop
++0+0910 <[^>]*> nop
++0+0914 <[^>]*> nop
++0+0918 <[^>]*> nop
++0+091c <[^>]*> nop
++0+0920 <[^>]*> nop
++0+0924 <[^>]*> nop
++0+0928 <[^>]*> nop
++0+092c <[^>]*> nop
++0+0930 <[^>]*> nop
++0+0934 <[^>]*> nop
++0+0938 <[^>]*> nop
++0+093c <[^>]*> nop
++0+0940 <[^>]*> nop
++0+0944 <[^>]*> nop
++0+0948 <[^>]*> nop
++0+094c <[^>]*> nop
++0+0950 <[^>]*> nop
++0+0954 <[^>]*> nop
++0+0958 <[^>]*> nop
++0+095c <[^>]*> nop
++0+0960 <[^>]*> nop
++0+0964 <[^>]*> nop
++0+0968 <[^>]*> nop
++0+096c <[^>]*> nop
++0+0970 <[^>]*> nop
++0+0974 <[^>]*> nop
++0+0978 <[^>]*> nop
++0+097c <[^>]*> nop
++0+0980 <[^>]*> nop
++0+0984 <[^>]*> nop
++0+0988 <[^>]*> nop
++0+098c <[^>]*> nop
++0+0990 <[^>]*> nop
++0+0994 <[^>]*> nop
++0+0998 <[^>]*> nop
++0+099c <[^>]*> nop
++0+09a0 <[^>]*> nop
++0+09a4 <[^>]*> nop
++0+09a8 <[^>]*> nop
++0+09ac <[^>]*> nop
++0+09b0 <[^>]*> nop
++0+09b4 <[^>]*> nop
++0+09b8 <[^>]*> nop
++0+09bc <[^>]*> nop
++0+09c0 <[^>]*> nop
++0+09c4 <[^>]*> nop
++0+09c8 <[^>]*> nop
++0+09cc <[^>]*> nop
++0+09d0 <[^>]*> nop
++0+09d4 <[^>]*> nop
++0+09d8 <[^>]*> nop
++0+09dc <[^>]*> nop
++0+09e0 <[^>]*> nop
++0+09e4 <[^>]*> nop
++0+09e8 <[^>]*> nop
++0+09ec <[^>]*> nop
++0+09f0 <[^>]*> nop
++0+09f4 <[^>]*> nop
++0+09f8 <[^>]*> nop
++0+09fc <[^>]*> nop
++0+0a00 <[^>]*> nop
++0+0a04 <[^>]*> nop
++0+0a08 <[^>]*> nop
++0+0a0c <[^>]*> nop
++0+0a10 <[^>]*> nop
++0+0a14 <[^>]*> nop
++0+0a18 <[^>]*> nop
++0+0a1c <[^>]*> nop
++0+0a20 <[^>]*> nop
++0+0a24 <[^>]*> nop
++0+0a28 <[^>]*> nop
++0+0a2c <[^>]*> nop
++0+0a30 <[^>]*> nop
++0+0a34 <[^>]*> nop
++0+0a38 <[^>]*> nop
++0+0a3c <[^>]*> nop
++0+0a40 <[^>]*> nop
++0+0a44 <[^>]*> nop
++0+0a48 <[^>]*> nop
++0+0a4c <[^>]*> nop
++0+0a50 <[^>]*> nop
++0+0a54 <[^>]*> nop
++0+0a58 <[^>]*> nop
++0+0a5c <[^>]*> nop
++0+0a60 <[^>]*> nop
++0+0a64 <[^>]*> nop
++0+0a68 <[^>]*> nop
++0+0a6c <[^>]*> nop
++0+0a70 <[^>]*> nop
++0+0a74 <[^>]*> nop
++0+0a78 <[^>]*> nop
++0+0a7c <[^>]*> nop
++0+0a80 <[^>]*> nop
++0+0a84 <[^>]*> nop
++0+0a88 <[^>]*> nop
++0+0a8c <[^>]*> nop
++0+0a90 <[^>]*> nop
++0+0a94 <[^>]*> nop
++0+0a98 <[^>]*> nop
++0+0a9c <[^>]*> nop
++0+0aa0 <[^>]*> nop
++0+0aa4 <[^>]*> nop
++0+0aa8 <[^>]*> nop
++0+0aac <[^>]*> nop
++0+0ab0 <[^>]*> nop
++0+0ab4 <[^>]*> nop
++0+0ab8 <[^>]*> nop
++0+0abc <[^>]*> nop
++0+0ac0 <[^>]*> nop
++0+0ac4 <[^>]*> nop
++0+0ac8 <[^>]*> nop
++0+0acc <[^>]*> nop
++0+0ad0 <[^>]*> nop
++0+0ad4 <[^>]*> nop
++0+0ad8 <[^>]*> nop
++0+0adc <[^>]*> nop
++0+0ae0 <[^>]*> nop
++0+0ae4 <[^>]*> nop
++0+0ae8 <[^>]*> nop
++0+0aec <[^>]*> nop
++0+0af0 <[^>]*> nop
++0+0af4 <[^>]*> nop
++0+0af8 <[^>]*> nop
++0+0afc <[^>]*> nop
++0+0b00 <[^>]*> nop
++0+0b04 <[^>]*> nop
++0+0b08 <[^>]*> nop
++0+0b0c <[^>]*> nop
++0+0b10 <[^>]*> nop
++0+0b14 <[^>]*> nop
++0+0b18 <[^>]*> nop
++0+0b1c <[^>]*> nop
++0+0b20 <[^>]*> nop
++0+0b24 <[^>]*> nop
++0+0b28 <[^>]*> nop
++0+0b2c <[^>]*> nop
++0+0b30 <[^>]*> nop
++0+0b34 <[^>]*> nop
++0+0b38 <[^>]*> nop
++0+0b3c <[^>]*> nop
++0+0b40 <[^>]*> nop
++0+0b44 <[^>]*> nop
++0+0b48 <[^>]*> nop
++0+0b4c <[^>]*> nop
++0+0b50 <[^>]*> nop
++0+0b54 <[^>]*> nop
++0+0b58 <[^>]*> nop
++0+0b5c <[^>]*> nop
++0+0b60 <[^>]*> nop
++0+0b64 <[^>]*> nop
++0+0b68 <[^>]*> nop
++0+0b6c <[^>]*> nop
++0+0b70 <[^>]*> nop
++0+0b74 <[^>]*> nop
++0+0b78 <[^>]*> nop
++0+0b7c <[^>]*> nop
++0+0b80 <[^>]*> nop
++0+0b84 <[^>]*> nop
++0+0b88 <[^>]*> nop
++0+0b8c <[^>]*> nop
++0+0b90 <[^>]*> nop
++0+0b94 <[^>]*> nop
++0+0b98 <[^>]*> nop
++0+0b9c <[^>]*> nop
++0+0ba0 <[^>]*> nop
++0+0ba4 <[^>]*> nop
++0+0ba8 <[^>]*> nop
++0+0bac <[^>]*> nop
++0+0bb0 <[^>]*> nop
++0+0bb4 <[^>]*> nop
++0+0bb8 <[^>]*> nop
++0+0bbc <[^>]*> nop
++0+0bc0 <[^>]*> nop
++0+0bc4 <[^>]*> nop
++0+0bc8 <[^>]*> nop
++0+0bcc <[^>]*> nop
++0+0bd0 <[^>]*> nop
++0+0bd4 <[^>]*> nop
++0+0bd8 <[^>]*> nop
++0+0bdc <[^>]*> nop
++0+0be0 <[^>]*> nop
++0+0be4 <[^>]*> nop
++0+0be8 <[^>]*> nop
++0+0bec <[^>]*> nop
++0+0bf0 <[^>]*> nop
++0+0bf4 <[^>]*> nop
++0+0bf8 <[^>]*> nop
++0+0bfc <[^>]*> nop
++0+0c00 <[^>]*> nop
++0+0c04 <[^>]*> nop
++0+0c08 <[^>]*> nop
++0+0c0c <[^>]*> nop
++0+0c10 <[^>]*> nop
++0+0c14 <[^>]*> nop
++0+0c18 <[^>]*> nop
++0+0c1c <[^>]*> nop
++0+0c20 <[^>]*> nop
++0+0c24 <[^>]*> nop
++0+0c28 <[^>]*> nop
++0+0c2c <[^>]*> nop
++0+0c30 <[^>]*> nop
++0+0c34 <[^>]*> nop
++0+0c38 <[^>]*> nop
++0+0c3c <[^>]*> nop
++0+0c40 <[^>]*> nop
++0+0c44 <[^>]*> nop
++0+0c48 <[^>]*> nop
++0+0c4c <[^>]*> nop
++0+0c50 <[^>]*> nop
++0+0c54 <[^>]*> nop
++0+0c58 <[^>]*> nop
++0+0c5c <[^>]*> nop
++0+0c60 <[^>]*> nop
++0+0c64 <[^>]*> nop
++0+0c68 <[^>]*> nop
++0+0c6c <[^>]*> nop
++0+0c70 <[^>]*> nop
++0+0c74 <[^>]*> nop
++0+0c78 <[^>]*> nop
++0+0c7c <[^>]*> nop
++0+0c80 <[^>]*> nop
++0+0c84 <[^>]*> nop
++0+0c88 <[^>]*> nop
++0+0c8c <[^>]*> nop
++0+0c90 <[^>]*> nop
++0+0c94 <[^>]*> nop
++0+0c98 <[^>]*> nop
++0+0c9c <[^>]*> nop
++0+0ca0 <[^>]*> nop
++0+0ca4 <[^>]*> nop
++0+0ca8 <[^>]*> nop
++0+0cac <[^>]*> nop
++0+0cb0 <[^>]*> nop
++0+0cb4 <[^>]*> nop
++0+0cb8 <[^>]*> nop
++0+0cbc <[^>]*> nop
++0+0cc0 <[^>]*> nop
++0+0cc4 <[^>]*> nop
++0+0cc8 <[^>]*> nop
++0+0ccc <[^>]*> nop
++0+0cd0 <[^>]*> nop
++0+0cd4 <[^>]*> nop
++0+0cd8 <[^>]*> nop
++0+0cdc <[^>]*> nop
++0+0ce0 <[^>]*> nop
++0+0ce4 <[^>]*> nop
++0+0ce8 <[^>]*> nop
++0+0cec <[^>]*> nop
++0+0cf0 <[^>]*> nop
++0+0cf4 <[^>]*> nop
++0+0cf8 <[^>]*> nop
++0+0cfc <[^>]*> nop
++0+0d00 <[^>]*> nop
++0+0d04 <[^>]*> nop
++0+0d08 <[^>]*> nop
++0+0d0c <[^>]*> nop
++0+0d10 <[^>]*> nop
++0+0d14 <[^>]*> nop
++0+0d18 <[^>]*> nop
++0+0d1c <[^>]*> nop
++0+0d20 <[^>]*> nop
++0+0d24 <[^>]*> nop
++0+0d28 <[^>]*> nop
++0+0d2c <[^>]*> nop
++0+0d30 <[^>]*> nop
++0+0d34 <[^>]*> nop
++0+0d38 <[^>]*> nop
++0+0d3c <[^>]*> nop
++0+0d40 <[^>]*> nop
++0+0d44 <[^>]*> nop
++0+0d48 <[^>]*> nop
++0+0d4c <[^>]*> nop
++0+0d50 <[^>]*> nop
++0+0d54 <[^>]*> nop
++0+0d58 <[^>]*> nop
++0+0d5c <[^>]*> nop
++0+0d60 <[^>]*> nop
++0+0d64 <[^>]*> nop
++0+0d68 <[^>]*> nop
++0+0d6c <[^>]*> nop
++0+0d70 <[^>]*> nop
++0+0d74 <[^>]*> nop
++0+0d78 <[^>]*> nop
++0+0d7c <[^>]*> nop
++0+0d80 <[^>]*> nop
++0+0d84 <[^>]*> nop
++0+0d88 <[^>]*> nop
++0+0d8c <[^>]*> nop
++0+0d90 <[^>]*> nop
++0+0d94 <[^>]*> nop
++0+0d98 <[^>]*> nop
++0+0d9c <[^>]*> nop
++0+0da0 <[^>]*> nop
++0+0da4 <[^>]*> nop
++0+0da8 <[^>]*> nop
++0+0dac <[^>]*> nop
++0+0db0 <[^>]*> nop
++0+0db4 <[^>]*> nop
++0+0db8 <[^>]*> nop
++0+0dbc <[^>]*> nop
++0+0dc0 <[^>]*> nop
++0+0dc4 <[^>]*> nop
++0+0dc8 <[^>]*> nop
++0+0dcc <[^>]*> nop
++0+0dd0 <[^>]*> nop
++0+0dd4 <[^>]*> nop
++0+0dd8 <[^>]*> nop
++0+0ddc <[^>]*> nop
++0+0de0 <[^>]*> nop
++0+0de4 <[^>]*> nop
++0+0de8 <[^>]*> nop
++0+0dec <[^>]*> nop
++0+0df0 <[^>]*> nop
++0+0df4 <[^>]*> nop
++0+0df8 <[^>]*> nop
++0+0dfc <[^>]*> nop
++0+0e00 <[^>]*> nop
++0+0e04 <[^>]*> nop
++0+0e08 <[^>]*> nop
++0+0e0c <[^>]*> nop
++0+0e10 <[^>]*> nop
++0+0e14 <[^>]*> nop
++0+0e18 <[^>]*> nop
++0+0e1c <[^>]*> nop
++0+0e20 <[^>]*> nop
++0+0e24 <[^>]*> nop
++0+0e28 <[^>]*> nop
++0+0e2c <[^>]*> nop
++0+0e30 <[^>]*> nop
++0+0e34 <[^>]*> nop
++0+0e38 <[^>]*> nop
++0+0e3c <[^>]*> nop
++0+0e40 <[^>]*> nop
++0+0e44 <[^>]*> nop
++0+0e48 <[^>]*> nop
++0+0e4c <[^>]*> nop
++0+0e50 <[^>]*> nop
++0+0e54 <[^>]*> nop
++0+0e58 <[^>]*> nop
++0+0e5c <[^>]*> nop
++0+0e60 <[^>]*> nop
++0+0e64 <[^>]*> nop
++0+0e68 <[^>]*> nop
++0+0e6c <[^>]*> nop
++0+0e70 <[^>]*> nop
++0+0e74 <[^>]*> nop
++0+0e78 <[^>]*> nop
++0+0e7c <[^>]*> nop
++0+0e80 <[^>]*> nop
++0+0e84 <[^>]*> nop
++0+0e88 <[^>]*> nop
++0+0e8c <[^>]*> nop
++0+0e90 <[^>]*> nop
++0+0e94 <[^>]*> nop
++0+0e98 <[^>]*> nop
++0+0e9c <[^>]*> nop
++0+0ea0 <[^>]*> nop
++0+0ea4 <[^>]*> nop
++0+0ea8 <[^>]*> nop
++0+0eac <[^>]*> nop
++0+0eb0 <[^>]*> nop
++0+0eb4 <[^>]*> nop
++0+0eb8 <[^>]*> nop
++0+0ebc <[^>]*> nop
++0+0ec0 <[^>]*> nop
++0+0ec4 <[^>]*> nop
++0+0ec8 <[^>]*> nop
++0+0ecc <[^>]*> nop
++0+0ed0 <[^>]*> nop
++0+0ed4 <[^>]*> nop
++0+0ed8 <[^>]*> nop
++0+0edc <[^>]*> nop
++0+0ee0 <[^>]*> nop
++0+0ee4 <[^>]*> nop
++0+0ee8 <[^>]*> nop
++0+0eec <[^>]*> nop
++0+0ef0 <[^>]*> nop
++0+0ef4 <[^>]*> nop
++0+0ef8 <[^>]*> nop
++0+0efc <[^>]*> nop
++0+0f00 <[^>]*> nop
++0+0f04 <[^>]*> nop
++0+0f08 <[^>]*> nop
++0+0f0c <[^>]*> nop
++0+0f10 <[^>]*> nop
++0+0f14 <[^>]*> nop
++0+0f18 <[^>]*> nop
++0+0f1c <[^>]*> nop
++0+0f20 <[^>]*> nop
++0+0f24 <[^>]*> nop
++0+0f28 <[^>]*> nop
++0+0f2c <[^>]*> nop
++0+0f30 <[^>]*> nop
++0+0f34 <[^>]*> nop
++0+0f38 <[^>]*> nop
++0+0f3c <[^>]*> nop
++0+0f40 <[^>]*> nop
++0+0f44 <[^>]*> nop
++0+0f48 <[^>]*> nop
++0+0f4c <[^>]*> nop
++0+0f50 <[^>]*> nop
++0+0f54 <[^>]*> nop
++0+0f58 <[^>]*> nop
++0+0f5c <[^>]*> nop
++0+0f60 <[^>]*> nop
++0+0f64 <[^>]*> nop
++0+0f68 <[^>]*> nop
++0+0f6c <[^>]*> nop
++0+0f70 <[^>]*> nop
++0+0f74 <[^>]*> nop
++0+0f78 <[^>]*> nop
++0+0f7c <[^>]*> nop
++0+0f80 <[^>]*> nop
++0+0f84 <[^>]*> nop
++0+0f88 <[^>]*> nop
++0+0f8c <[^>]*> nop
++0+0f90 <[^>]*> nop
++0+0f94 <[^>]*> nop
++0+0f98 <[^>]*> nop
++0+0f9c <[^>]*> nop
++0+0fa0 <[^>]*> nop
++0+0fa4 <[^>]*> nop
++0+0fa8 <[^>]*> nop
++0+0fac <[^>]*> nop
++0+0fb0 <[^>]*> nop
++0+0fb4 <[^>]*> nop
++0+0fb8 <[^>]*> nop
++0+0fbc <[^>]*> nop
++0+0fc0 <[^>]*> nop
++0+0fc4 <[^>]*> nop
++0+0fc8 <[^>]*> nop
++0+0fcc <[^>]*> nop
++0+0fd0 <[^>]*> nop
++0+0fd4 <[^>]*> nop
++0+0fd8 <[^>]*> nop
++0+0fdc <[^>]*> nop
++0+0fe0 <[^>]*> nop
++0+0fe4 <[^>]*> nop
++0+0fe8 <[^>]*> nop
++0+0fec <[^>]*> nop
++0+0ff0 <[^>]*> nop
++0+0ff4 <[^>]*> nop
++0+0ff8 <[^>]*> nop
++0+0ffc <[^>]*> nop
++0+1000 <[^>]*> nop
++0+1004 <[^>]*> nop
++0+1008 <[^>]*> nop
++0+100c <[^>]*> nop
++0+1010 <[^>]*> nop
++0+1014 <[^>]*> nop
++0+1018 <[^>]*> nop
++0+101c <[^>]*> nop
++0+1020 <[^>]*> nop
++0+1024 <[^>]*> nop
++0+1028 <[^>]*> nop
++0+102c <[^>]*> nop
++0+1030 <[^>]*> nop
++0+1034 <[^>]*> nop
++0+1038 <[^>]*> nop
++0+103c <[^>]*> nop
++0+1040 <[^>]*> nop
++0+1044 <[^>]*> nop
++0+1048 <[^>]*> nop
++0+104c <[^>]*> nop
++0+1050 <[^>]*> nop
++0+1054 <[^>]*> nop
++0+1058 <[^>]*> nop
++0+105c <[^>]*> nop
++0+1060 <[^>]*> nop
++0+1064 <[^>]*> nop
++0+1068 <[^>]*> nop
++0+106c <[^>]*> nop
++0+1070 <[^>]*> nop
++0+1074 <[^>]*> nop
++0+1078 <[^>]*> nop
++0+107c <[^>]*> nop
++0+1080 <[^>]*> nop
++0+1084 <[^>]*> nop
++0+1088 <[^>]*> nop
++0+108c <[^>]*> nop
++0+1090 <[^>]*> nop
++0+1094 <[^>]*> nop
++0+1098 <[^>]*> nop
++0+109c <[^>]*> nop
++0+10a0 <[^>]*> nop
++0+10a4 <[^>]*> nop
++0+10a8 <[^>]*> nop
++0+10ac <[^>]*> nop
++0+10b0 <[^>]*> nop
++0+10b4 <[^>]*> nop
++0+10b8 <[^>]*> nop
++0+10bc <[^>]*> nop
++0+10c0 <[^>]*> nop
++0+10c4 <[^>]*> nop
++0+10c8 <[^>]*> nop
++0+10cc <[^>]*> nop
++0+10d0 <[^>]*> nop
++0+10d4 <[^>]*> nop
++0+10d8 <[^>]*> nop
++0+10dc <[^>]*> nop
++0+10e0 <[^>]*> nop
++0+10e4 <[^>]*> nop
++0+10e8 <[^>]*> nop
++0+10ec <[^>]*> nop
++0+10f0 <[^>]*> nop
++0+10f4 <[^>]*> nop
++0+10f8 <[^>]*> nop
++0+10fc <[^>]*> nop
++0+1100 <[^>]*> nop
++0+1104 <[^>]*> nop
++0+1108 <[^>]*> nop
++0+110c <[^>]*> nop
++0+1110 <[^>]*> nop
++0+1114 <[^>]*> nop
++0+1118 <[^>]*> nop
++0+111c <[^>]*> nop
++0+1120 <[^>]*> nop
++0+1124 <[^>]*> nop
++0+1128 <[^>]*> nop
++0+112c <[^>]*> nop
++0+1130 <[^>]*> nop
++0+1134 <[^>]*> nop
++0+1138 <[^>]*> nop
++0+113c <[^>]*> nop
++0+1140 <[^>]*> nop
++0+1144 <[^>]*> nop
++0+1148 <[^>]*> nop
++0+114c <[^>]*> nop
++0+1150 <[^>]*> nop
++0+1154 <[^>]*> nop
++0+1158 <[^>]*> nop
++0+115c <[^>]*> nop
++0+1160 <[^>]*> nop
++0+1164 <[^>]*> nop
++0+1168 <[^>]*> nop
++0+116c <[^>]*> nop
++0+1170 <[^>]*> nop
++0+1174 <[^>]*> nop
++0+1178 <[^>]*> nop
++0+117c <[^>]*> nop
++0+1180 <[^>]*> nop
++0+1184 <[^>]*> nop
++0+1188 <[^>]*> nop
++0+118c <[^>]*> nop
++0+1190 <[^>]*> nop
++0+1194 <[^>]*> nop
++0+1198 <[^>]*> nop
++0+119c <[^>]*> nop
++0+11a0 <[^>]*> nop
++0+11a4 <[^>]*> nop
++0+11a8 <[^>]*> nop
++0+11ac <[^>]*> nop
++0+11b0 <[^>]*> nop
++0+11b4 <[^>]*> nop
++0+11b8 <[^>]*> nop
++0+11bc <[^>]*> nop
++0+11c0 <[^>]*> nop
++0+11c4 <[^>]*> nop
++0+11c8 <[^>]*> nop
++0+11cc <[^>]*> nop
++0+11d0 <[^>]*> nop
++0+11d4 <[^>]*> nop
++0+11d8 <[^>]*> nop
++0+11dc <[^>]*> nop
++0+11e0 <[^>]*> nop
++0+11e4 <[^>]*> nop
++0+11e8 <[^>]*> nop
++0+11ec <[^>]*> nop
++0+11f0 <[^>]*> nop
++0+11f4 <[^>]*> nop
++0+11f8 <[^>]*> nop
++0+11fc <[^>]*> nop
++0+1200 <[^>]*> nop
++0+1204 <[^>]*> nop
++0+1208 <[^>]*> nop
++0+120c <[^>]*> nop
++0+1210 <[^>]*> nop
++0+1214 <[^>]*> nop
++0+1218 <[^>]*> nop
++0+121c <[^>]*> nop
++0+1220 <[^>]*> nop
++0+1224 <[^>]*> nop
++0+1228 <[^>]*> nop
++0+122c <[^>]*> nop
++0+1230 <[^>]*> nop
++0+1234 <[^>]*> nop
++0+1238 <[^>]*> nop
++0+123c <[^>]*> nop
++0+1240 <[^>]*> nop
++0+1244 <[^>]*> nop
++0+1248 <[^>]*> nop
++0+124c <[^>]*> nop
++0+1250 <[^>]*> nop
++0+1254 <[^>]*> nop
++0+1258 <[^>]*> nop
++0+125c <[^>]*> nop
++0+1260 <[^>]*> nop
++0+1264 <[^>]*> nop
++0+1268 <[^>]*> nop
++0+126c <[^>]*> nop
++0+1270 <[^>]*> nop
++0+1274 <[^>]*> nop
++0+1278 <[^>]*> nop
++0+127c <[^>]*> nop
++0+1280 <[^>]*> nop
++0+1284 <[^>]*> nop
++0+1288 <[^>]*> nop
++0+128c <[^>]*> nop
++0+1290 <[^>]*> nop
++0+1294 <[^>]*> nop
++0+1298 <[^>]*> nop
++0+129c <[^>]*> nop
++0+12a0 <[^>]*> nop
++0+12a4 <[^>]*> nop
++0+12a8 <[^>]*> nop
++0+12ac <[^>]*> nop
++0+12b0 <[^>]*> nop
++0+12b4 <[^>]*> nop
++0+12b8 <[^>]*> nop
++0+12bc <[^>]*> nop
++0+12c0 <[^>]*> nop
++0+12c4 <[^>]*> nop
++0+12c8 <[^>]*> nop
++0+12cc <[^>]*> nop
++0+12d0 <[^>]*> nop
++0+12d4 <[^>]*> nop
++0+12d8 <[^>]*> nop
++0+12dc <[^>]*> nop
++0+12e0 <[^>]*> nop
++0+12e4 <[^>]*> nop
++0+12e8 <[^>]*> nop
++0+12ec <[^>]*> nop
++0+12f0 <[^>]*> nop
++0+12f4 <[^>]*> nop
++0+12f8 <[^>]*> nop
++0+12fc <[^>]*> nop
++0+1300 <[^>]*> nop
++0+1304 <[^>]*> nop
++0+1308 <[^>]*> nop
++0+130c <[^>]*> nop
++0+1310 <[^>]*> nop
++0+1314 <[^>]*> nop
++0+1318 <[^>]*> nop
++0+131c <[^>]*> nop
++0+1320 <[^>]*> nop
++0+1324 <[^>]*> nop
++0+1328 <[^>]*> nop
++0+132c <[^>]*> nop
++0+1330 <[^>]*> nop
++0+1334 <[^>]*> nop
++0+1338 <[^>]*> nop
++0+133c <[^>]*> nop
++0+1340 <[^>]*> nop
++0+1344 <[^>]*> nop
++0+1348 <[^>]*> nop
++0+134c <[^>]*> nop
++0+1350 <[^>]*> nop
++0+1354 <[^>]*> nop
++0+1358 <[^>]*> nop
++0+135c <[^>]*> nop
++0+1360 <[^>]*> nop
++0+1364 <[^>]*> nop
++0+1368 <[^>]*> nop
++0+136c <[^>]*> nop
++0+1370 <[^>]*> nop
++0+1374 <[^>]*> nop
++0+1378 <[^>]*> nop
++0+137c <[^>]*> nop
++0+1380 <[^>]*> nop
++0+1384 <[^>]*> nop
++0+1388 <[^>]*> nop
++0+138c <[^>]*> nop
++0+1390 <[^>]*> nop
++0+1394 <[^>]*> nop
++0+1398 <[^>]*> nop
++0+139c <[^>]*> nop
++0+13a0 <[^>]*> nop
++0+13a4 <[^>]*> nop
++0+13a8 <[^>]*> nop
++0+13ac <[^>]*> nop
++0+13b0 <[^>]*> nop
++0+13b4 <[^>]*> nop
++0+13b8 <[^>]*> nop
++0+13bc <[^>]*> nop
++0+13c0 <[^>]*> nop
++0+13c4 <[^>]*> nop
++0+13c8 <[^>]*> nop
++0+13cc <[^>]*> nop
++0+13d0 <[^>]*> nop
++0+13d4 <[^>]*> nop
++0+13d8 <[^>]*> nop
++0+13dc <[^>]*> nop
++0+13e0 <[^>]*> nop
++0+13e4 <[^>]*> nop
++0+13e8 <[^>]*> nop
++0+13ec <[^>]*> nop
++0+13f0 <[^>]*> nop
++0+13f4 <[^>]*> nop
++0+13f8 <[^>]*> nop
++0+13fc <[^>]*> nop
++0+1400 <[^>]*> nop
++0+1404 <[^>]*> nop
++0+1408 <[^>]*> nop
++0+140c <[^>]*> nop
++0+1410 <[^>]*> nop
++0+1414 <[^>]*> nop
++0+1418 <[^>]*> nop
++0+141c <[^>]*> nop
++0+1420 <[^>]*> nop
++0+1424 <[^>]*> nop
++0+1428 <[^>]*> nop
++0+142c <[^>]*> nop
++0+1430 <[^>]*> nop
++0+1434 <[^>]*> nop
++0+1438 <[^>]*> nop
++0+143c <[^>]*> nop
++0+1440 <[^>]*> nop
++0+1444 <[^>]*> nop
++0+1448 <[^>]*> nop
++0+144c <[^>]*> nop
++0+1450 <[^>]*> nop
++0+1454 <[^>]*> nop
++0+1458 <[^>]*> nop
++0+145c <[^>]*> nop
++0+1460 <[^>]*> nop
++0+1464 <[^>]*> nop
++0+1468 <[^>]*> nop
++0+146c <[^>]*> nop
++0+1470 <[^>]*> nop
++0+1474 <[^>]*> nop
++0+1478 <[^>]*> nop
++0+147c <[^>]*> nop
++0+1480 <[^>]*> nop
++0+1484 <[^>]*> nop
++0+1488 <[^>]*> nop
++0+148c <[^>]*> nop
++0+1490 <[^>]*> nop
++0+1494 <[^>]*> nop
++0+1498 <[^>]*> nop
++0+149c <[^>]*> nop
++0+14a0 <[^>]*> nop
++0+14a4 <[^>]*> nop
++0+14a8 <[^>]*> nop
++0+14ac <[^>]*> nop
++0+14b0 <[^>]*> nop
++0+14b4 <[^>]*> nop
++0+14b8 <[^>]*> nop
++0+14bc <[^>]*> nop
++0+14c0 <[^>]*> nop
++0+14c4 <[^>]*> nop
++0+14c8 <[^>]*> nop
++0+14cc <[^>]*> nop
++0+14d0 <[^>]*> nop
++0+14d4 <[^>]*> nop
++0+14d8 <[^>]*> nop
++0+14dc <[^>]*> nop
++0+14e0 <[^>]*> nop
++0+14e4 <[^>]*> nop
++0+14e8 <[^>]*> nop
++0+14ec <[^>]*> nop
++0+14f0 <[^>]*> nop
++0+14f4 <[^>]*> nop
++0+14f8 <[^>]*> nop
++0+14fc <[^>]*> nop
++0+1500 <[^>]*> nop
++0+1504 <[^>]*> nop
++0+1508 <[^>]*> nop
++0+150c <[^>]*> nop
++0+1510 <[^>]*> nop
++0+1514 <[^>]*> nop
++0+1518 <[^>]*> nop
++0+151c <[^>]*> nop
++0+1520 <[^>]*> nop
++0+1524 <[^>]*> nop
++0+1528 <[^>]*> nop
++0+152c <[^>]*> nop
++0+1530 <[^>]*> nop
++0+1534 <[^>]*> nop
++0+1538 <[^>]*> nop
++0+153c <[^>]*> nop
++0+1540 <[^>]*> nop
++0+1544 <[^>]*> nop
++0+1548 <[^>]*> nop
++0+154c <[^>]*> nop
++0+1550 <[^>]*> nop
++0+1554 <[^>]*> nop
++0+1558 <[^>]*> nop
++0+155c <[^>]*> nop
++0+1560 <[^>]*> nop
++0+1564 <[^>]*> nop
++0+1568 <[^>]*> nop
++0+156c <[^>]*> nop
++0+1570 <[^>]*> nop
++0+1574 <[^>]*> nop
++0+1578 <[^>]*> nop
++0+157c <[^>]*> nop
++0+1580 <[^>]*> nop
++0+1584 <[^>]*> nop
++0+1588 <[^>]*> nop
++0+158c <[^>]*> nop
++0+1590 <[^>]*> nop
++0+1594 <[^>]*> nop
++0+1598 <[^>]*> nop
++0+159c <[^>]*> nop
++0+15a0 <[^>]*> nop
++0+15a4 <[^>]*> nop
++0+15a8 <[^>]*> nop
++0+15ac <[^>]*> nop
++0+15b0 <[^>]*> nop
++0+15b4 <[^>]*> nop
++0+15b8 <[^>]*> nop
++0+15bc <[^>]*> nop
++0+15c0 <[^>]*> nop
++0+15c4 <[^>]*> nop
++0+15c8 <[^>]*> nop
++0+15cc <[^>]*> nop
++0+15d0 <[^>]*> nop
++0+15d4 <[^>]*> nop
++0+15d8 <[^>]*> nop
++0+15dc <[^>]*> nop
++0+15e0 <[^>]*> nop
++0+15e4 <[^>]*> nop
++0+15e8 <[^>]*> nop
++0+15ec <[^>]*> nop
++0+15f0 <[^>]*> nop
++0+15f4 <[^>]*> nop
++0+15f8 <[^>]*> nop
++0+15fc <[^>]*> nop
++0+1600 <[^>]*> nop
++0+1604 <[^>]*> nop
++0+1608 <[^>]*> nop
++0+160c <[^>]*> nop
++0+1610 <[^>]*> nop
++0+1614 <[^>]*> nop
++0+1618 <[^>]*> nop
++0+161c <[^>]*> nop
++0+1620 <[^>]*> nop
++0+1624 <[^>]*> nop
++0+1628 <[^>]*> nop
++0+162c <[^>]*> nop
++0+1630 <[^>]*> nop
++0+1634 <[^>]*> nop
++0+1638 <[^>]*> nop
++0+163c <[^>]*> nop
++0+1640 <[^>]*> nop
++0+1644 <[^>]*> nop
++0+1648 <[^>]*> nop
++0+164c <[^>]*> nop
++0+1650 <[^>]*> nop
++0+1654 <[^>]*> nop
++0+1658 <[^>]*> nop
++0+165c <[^>]*> nop
++0+1660 <[^>]*> nop
++0+1664 <[^>]*> nop
++0+1668 <[^>]*> nop
++0+166c <[^>]*> nop
++0+1670 <[^>]*> nop
++0+1674 <[^>]*> nop
++0+1678 <[^>]*> nop
++0+167c <[^>]*> nop
++0+1680 <[^>]*> nop
++0+1684 <[^>]*> nop
++0+1688 <[^>]*> nop
++0+168c <[^>]*> nop
++0+1690 <[^>]*> nop
++0+1694 <[^>]*> nop
++0+1698 <[^>]*> nop
++0+169c <[^>]*> nop
++0+16a0 <[^>]*> nop
++0+16a4 <[^>]*> nop
++0+16a8 <[^>]*> nop
++0+16ac <[^>]*> nop
++0+16b0 <[^>]*> nop
++0+16b4 <[^>]*> nop
++0+16b8 <[^>]*> nop
++0+16bc <[^>]*> nop
++0+16c0 <[^>]*> nop
++0+16c4 <[^>]*> nop
++0+16c8 <[^>]*> nop
++0+16cc <[^>]*> nop
++0+16d0 <[^>]*> nop
++0+16d4 <[^>]*> nop
++0+16d8 <[^>]*> nop
++0+16dc <[^>]*> nop
++0+16e0 <[^>]*> nop
++0+16e4 <[^>]*> nop
++0+16e8 <[^>]*> nop
++0+16ec <[^>]*> nop
++0+16f0 <[^>]*> nop
++0+16f4 <[^>]*> nop
++0+16f8 <[^>]*> nop
++0+16fc <[^>]*> nop
++0+1700 <[^>]*> nop
++0+1704 <[^>]*> nop
++0+1708 <[^>]*> nop
++0+170c <[^>]*> nop
++0+1710 <[^>]*> nop
++0+1714 <[^>]*> nop
++0+1718 <[^>]*> nop
++0+171c <[^>]*> nop
++0+1720 <[^>]*> nop
++0+1724 <[^>]*> nop
++0+1728 <[^>]*> nop
++0+172c <[^>]*> nop
++0+1730 <[^>]*> nop
++0+1734 <[^>]*> nop
++0+1738 <[^>]*> nop
++0+173c <[^>]*> nop
++0+1740 <[^>]*> nop
++0+1744 <[^>]*> nop
++0+1748 <[^>]*> nop
++0+174c <[^>]*> nop
++0+1750 <[^>]*> nop
++0+1754 <[^>]*> nop
++0+1758 <[^>]*> nop
++0+175c <[^>]*> nop
++0+1760 <[^>]*> nop
++0+1764 <[^>]*> nop
++0+1768 <[^>]*> nop
++0+176c <[^>]*> nop
++0+1770 <[^>]*> nop
++0+1774 <[^>]*> nop
++0+1778 <[^>]*> nop
++0+177c <[^>]*> nop
++0+1780 <[^>]*> nop
++0+1784 <[^>]*> nop
++0+1788 <[^>]*> nop
++0+178c <[^>]*> nop
++0+1790 <[^>]*> nop
++0+1794 <[^>]*> nop
++0+1798 <[^>]*> nop
++0+179c <[^>]*> nop
++0+17a0 <[^>]*> nop
++0+17a4 <[^>]*> nop
++0+17a8 <[^>]*> nop
++0+17ac <[^>]*> nop
++0+17b0 <[^>]*> nop
++0+17b4 <[^>]*> nop
++0+17b8 <[^>]*> nop
++0+17bc <[^>]*> nop
++0+17c0 <[^>]*> nop
++0+17c4 <[^>]*> nop
++0+17c8 <[^>]*> nop
++0+17cc <[^>]*> nop
++0+17d0 <[^>]*> nop
++0+17d4 <[^>]*> nop
++0+17d8 <[^>]*> nop
++0+17dc <[^>]*> nop
++0+17e0 <[^>]*> nop
++0+17e4 <[^>]*> nop
++0+17e8 <[^>]*> nop
++0+17ec <[^>]*> nop
++0+17f0 <[^>]*> nop
++0+17f4 <[^>]*> nop
++0+17f8 <[^>]*> nop
++0+17fc <[^>]*> nop
++0+1800 <[^>]*> nop
++0+1804 <[^>]*> nop
++0+1808 <[^>]*> nop
++0+180c <[^>]*> nop
++0+1810 <[^>]*> nop
++0+1814 <[^>]*> nop
++0+1818