2011-04-11 15:23:09 +00:00
|
|
|
|
2011-04-11 Dan McDonald <dan@wellkeeper.com>
|
|
|
|
|
|
|
|
|
|
PR gas/12296
|
|
|
|
|
* gas/arm/arch7.s: Add SVC insn.
|
|
|
|
|
* gas/arm/arch7.d: Add disassembly of SVC insn.
|
|
|
|
|
* gas/arm/attr-march-armv7.d: Add arch profile tag.
|
|
|
|
|
|
bfd:
* config.bfd (thumb-*-oabi): Don't handle in list of obsolete
targets.
(strongarm*, thumb*, xscale*): Remove architectures.
(strongarm-*-kaos*, thumb-*-coff, thumb-*-elf, thumb-epoc-pe*,
thumb-*-pe*, strongarm-*-elf, strongarm-*-coff, xscale-*-elf,
xscale-*-coff): Remove targets.
binutils:
* configure.in (thumb-*-pe*): Remove.
* configure: Regenerate.
binutils/testsuite:
* binutils-all/objcopy.exp (*arm*-*-coff): Change to arm*-*-coff.
(xscale-*-coff, thumb*-*-coff, thumb*-*-pe): Don't handle.
gas:
* configure.tgt (strongarm*be, strongarm*b, strongarm*,
xscale*be|xscale*b, xscale*): Remove architectures.
(thumb-*-coff, thumb-*-rtems*, thumb-*-elf, thumb-epoc-pe,
thumb-*-pe, xscale-*-coff, xscale-*-elf): Remove targets.
gas/testsuite:
* gas/all/gas.exp (*arm*-*-coff): Change to arm*-*-coff.
(thumb*-*-coff, thumb*-*-pe*): Don;t handle.
* gas/arm/arm.exp (*arm*-*-*): Change to arm*-*-*.
(*xscale*-*-*): Don't handle.
* gas/cfi/cfi.exp (xscale*-*): Don't handle.
* gas/elf/elf.exp (*arm*-*-*): Change to arm*-*-*.
(xscale*-*-*): Don't handle.
ld:
* configure.tgt (thumb-*-linux-* | thumb-*-uclinux*,
strongarm-*-coff, strongarm-*-elf, strongarm-*-kaos*,
thumb-*-coff, thumb-*-elf, thumb-epoc-pe, thumb-*-pe,
xscale-*-coff, xscale-*-elf): Remove targets.
ld/testsuite:
* ld-selective/selective.exp (xscale-*-*): Don't handle.
* ld-srec/srec.exp (strongarm*-*-*, xscale*-*-*, thumb-*-*): Don't
handle.
(*arm*-*-*): Change to arm*-*-*.
(strongarm*-*-coff, xscale*-*-coff, thumb-*-coff*, thumb-*-pe*,
thumb-*-elf*, strongarm*-*-*, thumb-*-*): Remove xfails.
* ld-undefined/undefined.exp (thumb*-*-pe*, thumb*-*-pe*): Remove
commented-out xfails.
(thumb-elf): Remove reference in comment.
* lib/ld-lib.exp (strongarm*-*-*, xscale*-*-*, thumb-*-*): Don't
handle.
2011-04-06 17:09:56 +00:00
|
|
|
|
2011-04-06 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gas/all/gas.exp (*arm*-*-coff): Change to arm*-*-coff.
|
|
|
|
|
(thumb*-*-coff, thumb*-*-pe*): Don;t handle.
|
|
|
|
|
* gas/arm/arm.exp (*arm*-*-*): Change to arm*-*-*.
|
|
|
|
|
(*xscale*-*-*): Don't handle.
|
|
|
|
|
* gas/cfi/cfi.exp (xscale*-*): Don't handle.
|
|
|
|
|
* gas/elf/elf.exp (*arm*-*-*): Change to arm*-*-*.
|
|
|
|
|
(xscale*-*-*): Don't handle.
|
|
|
|
|
|
include/elf/
* tic6x.h (R_C6000_JUMP_SPLOT, R_C6000_EHTYPE,
R_C6000_PCR_H16, R_C6000_PCR_L16): New relocs.
(SHN_TIC6X_SCOMMON): Define.
bfd/
* elf32-tic6x.h (struct elf32_tic6x_params): New.
(elf32_tic6x_setup): Declare.
* elf32-tic6x.c: Include <limits.h>.
(ELF_DYNAMIC_LINKER, DEFAULT_STACK_SIZE, PLT_ENTRY_SIZE): Define.
(struct elf32_tic6x_link_hash_table, struct elf32_link_hash_entry):
New structures.
(elf32_tic6x_link_hash_table, is_tic6x_elf): New macros.
(tic6x_elf_scom_section, tic6x_elf_scom_symbol,
tic6x_elf_scom_symbol_ptr): New static variables.
(elf32_tic6x_howto_table, elf32_tic6x_howto_table_rel,
elf32_tic6x_reloc_map): Add R_C6000_JUMP_SLOT, R_C6000_EHTYPE,
R_C6000_PCR_H16 and R_C6000_PCR_L16.
(elf32_tic6x_link_hash_newfunc, elf32_tic6x_link_hash_table_create,
elf32_tic6x_link_hash_table_free, elf32_tic6x_setup,
elf32_tic6x_using_dsbt, elf32_tic6x_install_rela,
elf32_tic6x_create_dynamic_sections, elf32_tic6x_make_got_dynreloc,
elf32_tic6x_finish_dynamic_symbol, elf32_tic6x_gc_sweep_hook,
elf32_tic6x_adjust_dynamic_symbol): New static functions.
(elf32_tic6x_relocate_section): For R_C6000_PCR_S21, convert branches
to weak symbols as required by the ABI.
Handle GOT and DSBT_INDEX relocs, and copy relocs to the output file
as needed when generating DSBT output.
(elf32_tic6x_check_relocs, elf32_tic6x_add_symbol_hook,
elf32_tic6x_symbol_processing, elf32_tic6x_section_from_bfd_section,
elf32_tic6x_allocate_dynrelocs, elf32_tic6x_size_dynamic_sections,
elf32_tic6x_always_size_sections, elf32_tic6x_modify_program_headers,
elf32_tic6x_finish_dynamic_sections, elf32_tic6x_plt_sym_val,
elf32_tic6x_copy_private_data, elf32_tic6x_link_omit_section_dynsym):
New static functions.
(ELF_MAXPAGESIZE): Define to 0x1000.
(bfd_elf32_bfd_copy_private_bfd_data,
bfd_elf32_bfd_link_hash_table_create,
bfd_elf32_bfd_link_hash_table_free, elf_backend_can_refcount,
elf_backend_want_got_plt, elf_backend_want_dynbss,
elf_backend_plt_readonly, elf_backend_got_header_size,
elf_backend_gc_sweep_hook, elf_backend_modify_program_headers,
elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol,
elf_backend_check_relocs, elf_backend_add_symbol_hook,
elf_backend_symbol_processing, elf_backend_link_output_symbol_hook,
elf_backend_section_from_bfd_section,
elf_backend_finish_dynamic_symbol, elf_backend_always_size_sections,
elf32_tic6x_size_dynamic_sections, elf_backend_finish_dynamic_sections,
elf_backend_omit_section_dynsym, elf_backend_plt_sym_val): Define.
* bfd/reloc.c (BFD_RELOC_C6000_JUMP_SLOT, BFD_RELOC_C6000_EHTYPE,
BFD_RELOC_C6000_PCR_H16, BFD_RELOC_C6000_PCR_S16): Add.
* bfd/bfd-in2.h: Regenerate.
* bfd/libbfd.h: Regenerate.
* config.bfd: Accept tic6x-*-* instead of tic6x-*-elf.
gas/
* config/tc-tic6x.c (sbss_section, scom_section, scom_symbol): New
static variables.
(md_begin): Initialize them.
(s_tic6x_scomm): New static function.
(md_pseudo_table): Add "scomm".
(tc_gen_reloc): Really undo all adjustments made by
bfd_install_relocation.
* doc/c-tic6x.texi: Document the .scomm directive.
gas/testsuite/
* gas/tic6x/scomm-directive-1.s: New test.
* gas/tic6x/scomm-directive-1.d: New test.
* gas/tic6x/scomm-directive-2.s: New test.
* gas/tic6x/scomm-directive-2.d: New test.
* gas/tic6x/scomm-directive-3.s: New test.
* gas/tic6x/scomm-directive-3.d: New test.
* gas/tic6x/scomm-directive-4.s: New test.
* gas/tic6x/scomm-directive-4.d: New test.
* gas/tic6x/scomm-directive-5.s: New test.
* gas/tic6x/scomm-directive-5.d: New test.
* gas/tic6x/scomm-directive-6.s: New test.
* gas/tic6x/scomm-directive-6.d: New test.
* gas/tic6x/scomm-directive-7.s: New test.
* gas/tic6x/scomm-directive-7.d: New test.
* gas/tic6x/scomm-directive-8.s: New test.
* gas/tic6x/scomm-directive-8.d: New test.
ld/
* emulparams/elf32_tic6x_le.sh (BIG_OUTPUT_FORMAT, EXTRA_EM_FILE,
GENERATE_SHLIB_SCRIPT): New defines.
(TEXT_START_ADDR): Define differently depending on target.
(.got): Redefine to include "*(.dsbt)".
(SDATA_START_SYMBOLS): Remove, replace with
(OTHER_GOT_SYMBOLS): New.
(OTHER_BSS_SECTIONS): Define only for ELF targets.
* emultempl/tic6xdsbt.em: New file.
* gen-doc.texi: Set C6X.
* ld.texinfo: Likewise.
(Options specific to C6X uClinux targets): New section.
binutils/
* readelf.c (get_symbol_index_type): Handle SCOM for TIC6X.
(dump_relocations): Likewise.
binutils/testsuite/
* lib/binutils-common.exp (is_elf_format): Accept tic6x*-*-uclinux*.
ld/testsuite/
* ld-scripts/crossref.exp: Add CFLAGS for tic6x*-*-*.
* ld-elf/sec-to-seg.exp: Remove tic6x from list of targets defining
pagesize to 1.
* ld-tic6x/tic6x.exp: Add support for DSBT shared library/executable
linking tests.
* ld-tic6x/dsbt.ld: New linker script.
* ld-tic6x/dsbt-be.ld: New linker script.
* ld-tic6x/dsbt-overflow.ld: New linker script.
* ld-tic6x/dsbt-inrange.ld: New linker script.
* ld-tic6x/shlib-1.s: New test.
* ld-tic6x/shlib-2.s: New test.
* ld-tic6x/shlib-app-1r.s: New test.
* ld-tic6x/shlib-app-1.s: New test.
* ld-tic6x/shlib-1.sd: New test.
* ld-tic6x/shlib-1.dd: New test.
* ld-tic6x/shlib-app-1.rd: New test.
* ld-tic6x/shlib-app-1rb.rd: New test.
* ld-tic6x/shlib-app-1.sd: New test.
* ld-tic6x/static-app-1rb.od: New test.
* ld-tic6x/shlib-app-1.dd: New test.
* ld-tic6x/shlib-app-1rb.sd: New test.
* ld-tic6x/static-app-1b.od: New test.
* ld-tic6x/static-app-1r.od: New test.
* ld-tic6x/shlib-1rb.rd: New test.
* ld-tic6x/shlib-app-1rb.dd: New test.
* ld-tic6x/shlib-1rb.sd: New test.
* ld-tic6x/shlib-1rb.dd: New test.
* ld-tic6x/shlib-app-1b.od: New test.
* ld-tic6x/tic6x.exp: New test.
* ld-tic6x/static-app-1rb.rd: New test.
* ld-tic6x/shlib-app-1r.od: New test.
* ld-tic6x/static-app-1.od: New test.
* ld-tic6x/static-app-1b.rd: New test.
* ld-tic6x/static-app-1r.rd: New test.
* ld-tic6x/static-app-1rb.sd: New test.
* ld-tic6x/static-app-1b.sd: New test.
* ld-tic6x/static-app-1rb.dd: New test.
* ld-tic6x/static-app-1r.sd: New test.
* ld-tic6x/static-app-1b.dd: New test.
* ld-tic6x/shlib-1b.rd: New test.
* ld-tic6x/static-app-1r.dd: New test.
* ld-tic6x/shlib-app-1b.rd: New test.
* ld-tic6x/shlib-1r.rd: New test.
* ld-tic6x/shlib-app-1r.rd: New test.
* ld-tic6x/shlib-1b.sd: New test.
* ld-tic6x/static-app-1.rd: New test.
* ld-tic6x/shlib-app-1b.sd: New test.
* ld-tic6x/shlib-1r.sd: New test.
* ld-tic6x/shlib-1b.dd: New test.
* ld-tic6x/shlib-app-1r.sd: New test.
* ld-tic6x/shlib-app-1b.dd: New test.
* ld-tic6x/shlib-1r.dd: New test.
* ld-tic6x/static-app-1.sd: New test.
* ld-tic6x/shlib-app-1r.dd: New test.
* ld-tic6x/static-app-1.dd: New test.
* ld-tic6x/shlib-noindex.rd: New test.
* ld-tic6x/shlib-noindex.dd: New test.
* ld-tic6x/shlib-noindex.sd: New test.
* ld-tic6x/got-reloc-local-1.s: New test.
* ld-tic6x/got-reloc-local-2.s: New test.
* ld-tic6x/got-reloc-local-r.d: New test.
* ld-tic6x/got-reloc-global.s: New test.
* ld-tic6x/got-reloc-global-addend-1.d: New test.
* ld-tic6x/got-reloc-global-addend-1.s: New test.
* ld-tic6x/got-reloc-global-addend-2.d: New test.
* ld-tic6x/got-reloc-inrange.d: New test.
* ld-tic6x/got-reloc-overflow.d: New test.
* ld-tic6x/got-reloc-global-addend-2.s: New test.
* ld-tic6x/dsbt-index-error.d: New test.
* ld-tic6x/dsbt-index.d: New test.
* ld-tic6x/dsbt-index.s: New test.
* ld-tic6x/shlib-app-1.od: New test.
* ld-tic6x/shlib-app-1rb.od: New test.
* ld-tic6x/shlib-1.rd: New test.
* ld-tic6x/weak.d: New test.
* ld-tic6x/weak-be.d: New test.
* ld-tic6x/weak.s: New test.
* ld-tic6x/weak-data.d: New test.
* ld-tic6x/common.d: New test.
* ld-tic6x/common.ld: New test.
* ld-tic6x/common.s: New test.
2011-03-31 08:58:28 +00:00
|
|
|
|
2011-03-31 Bernd Schmidt <bernds@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gas/tic6x/scomm-directive-1.s: New test.
|
|
|
|
|
* gas/tic6x/scomm-directive-1.d: New test.
|
|
|
|
|
* gas/tic6x/scomm-directive-2.s: New test.
|
|
|
|
|
* gas/tic6x/scomm-directive-2.d: New test.
|
|
|
|
|
* gas/tic6x/scomm-directive-3.s: New test.
|
|
|
|
|
* gas/tic6x/scomm-directive-3.d: New test.
|
|
|
|
|
* gas/tic6x/scomm-directive-4.s: New test.
|
|
|
|
|
* gas/tic6x/scomm-directive-4.d: New test.
|
|
|
|
|
* gas/tic6x/scomm-directive-5.s: New test.
|
|
|
|
|
* gas/tic6x/scomm-directive-5.d: New test.
|
|
|
|
|
* gas/tic6x/scomm-directive-6.s: New test.
|
|
|
|
|
* gas/tic6x/scomm-directive-6.d: New test.
|
|
|
|
|
* gas/tic6x/scomm-directive-7.s: New test.
|
|
|
|
|
* gas/tic6x/scomm-directive-7.d: New test.
|
|
|
|
|
* gas/tic6x/scomm-directive-8.s: New test.
|
|
|
|
|
* gas/tic6x/scomm-directive-8.d: New test.
|
|
|
|
|
|
2011-03-29 12:40:51 +00:00
|
|
|
|
2011-03-29 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* gas/i386/ilp32/quad.d: Add tests for multiple operands.
|
|
|
|
|
* gas/i386/ilp32/quad.s: Likewise.
|
|
|
|
|
|
2011-03-29 05:54:41 +00:00
|
|
|
|
2011-03-29 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* gas/bfin/expected_errors.s: Add invalid BYTEUNPACK insn tests.
|
|
|
|
|
* gas/bfin/expected_errors.l: Add new error messages.
|
|
|
|
|
|
2011-03-29 05:51:22 +00:00
|
|
|
|
2011-03-29 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* gas/bfin/expected_errors.s: Add invalid BYTEOP16M insn tests.
|
|
|
|
|
* gas/bfin/expected_errors.l: Add new error messages.
|
|
|
|
|
|
2011-03-29 05:44:56 +00:00
|
|
|
|
2011-03-29 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* gas/bfin/expected_errors.s: Add invalid BYTEOP16P insn tests.
|
|
|
|
|
* gas/bfin/expected_errors.l: Add new error messages.
|
|
|
|
|
|
2011-03-29 01:25:13 +00:00
|
|
|
|
2011-03-28 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* gas/bfin/expected_errors.s: Add invalid 16bit acc add insn tests.
|
|
|
|
|
* gas/bfin/expected_errors.l: Add new error messages.
|
|
|
|
|
* testsuite/gas/bfin/video2.s: Drop invalid 16bit acc add insn.
|
|
|
|
|
* testsuite/gas/bfin/video2.d: Updated disassembly output.
|
|
|
|
|
|
2011-03-28 22:47:59 +00:00
|
|
|
|
2011-03-28 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* gas/i386/ilp32/inval.s: Remove .quad.
|
|
|
|
|
* gas/i386/ilp32/inval.l: Updated.
|
|
|
|
|
|
|
|
|
|
* gas/i386/ilp32/quad.d: New.
|
|
|
|
|
* gas/i386/ilp32/quad.s: Likewise.
|
|
|
|
|
|
2011-03-24 06:17:47 +00:00
|
|
|
|
2011-03-24 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* gas/bfin/expected_errors.s: Add invalid vector add/sub insn tests.
|
|
|
|
|
* gas/bfin/expected_errors.l: Add new error messages.
|
|
|
|
|
|
2011-03-24 04:34:33 +00:00
|
|
|
|
2011-03-24 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* gas/bfin/16bit_illegals.d, gas/bfin/16bit_illegals.s: Delete.
|
|
|
|
|
* gas/bfin/allinsn16.d, gas/bfin/allinsn16.s: New files.
|
|
|
|
|
* gas/bfin/bfin.exp: Change 16bit_illegals to allinsn16.
|
|
|
|
|
|
2011-03-24 04:25:25 +00:00
|
|
|
|
2011-03-24 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* gas/bfin/expected_errors.s: Add invalid dsp mult insn tests.
|
|
|
|
|
* gas/bfin/expected_errors.l: Add new error messages.
|
|
|
|
|
|
2011-03-24 04:20:10 +00:00
|
|
|
|
2011-03-23 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* gas/bfin/expected_errors.s: Add invalid SEARCH/BITMUX insns.
|
|
|
|
|
* gas/bfin/expected_errors.l: Add expected errors.
|
|
|
|
|
|
2011-03-18 11:16:28 +00:00
|
|
|
|
2011-03-18 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* gas/elf/bad-size.err: Adjust expected error.
|
|
|
|
|
* gas/i386/bad-size.warn: Likewise.
|
|
|
|
|
* gas/i386/inval-equ-2.l: Likewise.
|
|
|
|
|
* gas/symver/symver2.l: Likewise.
|
|
|
|
|
|
2011-03-17 13:16:44 +00:00
|
|
|
|
2011-03-17 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR gas/12589
|
|
|
|
|
* gas/i386/pr12589-1.d: New.
|
|
|
|
|
* gas/i386/pr12589-1.s: Likewise.
|
|
|
|
|
|
|
|
|
|
* gas/i386/i386.exp: Run pr12589-1.
|
|
|
|
|
|
2011-03-16 12:58:26 +00:00
|
|
|
|
2011-03-16 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* gas/i386/bad-size.d: New.
|
|
|
|
|
* gas/i386/bad-size.s: Likewise.
|
|
|
|
|
* gas/i386/bad-size.warn: Likewise.
|
|
|
|
|
|
|
|
|
|
* gas/i386/i386.exp: Run bad-size for ELF targets.
|
|
|
|
|
|
2011-03-07 05:42:53 +00:00
|
|
|
|
2011-03-06 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* gas/elf/bad-size.err: Revert the last change.
|
|
|
|
|
|
2011-03-06 14:05:25 +00:00
|
|
|
|
2011-03-05 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* gas/elf/bad-size.err: Updated.
|
|
|
|
|
|
2011-02-28 16:34:39 +00:00
|
|
|
|
2011-02-28 Maciej W. Rozycki <macro@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gas/mips/alnv_ps-swap.d: New test for ALNV.PS instruction
|
|
|
|
|
branch swapping.
|
|
|
|
|
* gas/mips/alnv_ps-swap.s: Source for the new test.
|
|
|
|
|
* gas/mips/mips.exp: Run the new test.
|
|
|
|
|
|
2011-02-28 16:26:46 +00:00
|
|
|
|
2011-02-28 Maciej W. Rozycki <macro@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gas/mips/relax-bposge.l: New test for DSP branch relaxation.
|
|
|
|
|
* gas/mips/relax-bposge.s: Source for the new test.
|
|
|
|
|
* gas/mips/mips.exp: Run the new test.
|
|
|
|
|
|
2011-02-28 15:52:26 +00:00
|
|
|
|
2011-02-28 Maciej W. Rozycki <macro@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gas/mips/relax-at.d: New test for branch relaxation with .set
|
|
|
|
|
at.
|
|
|
|
|
* gas/mips/relax.s: Update to support the new test.
|
|
|
|
|
* gas/mips/relax.l: Update accordingly.
|
|
|
|
|
* gas/mips/relax.d: Update for multi-arch invocation.
|
|
|
|
|
* gas/mips/mips.exp: Run the new test. Adjust to run "relax"
|
|
|
|
|
across all applicable architectures.
|
|
|
|
|
|
2011-02-28 15:44:53 +00:00
|
|
|
|
2011-02-28 Maciej W. Rozycki <macro@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gas/mips/branch-misc-2.d: Adjust for relocation change.
|
|
|
|
|
* gas/mips/branch-misc-2pic.d: Likewise.
|
|
|
|
|
* gas/mips/branch-misc-4.d: New test for PC-relative relocation
|
|
|
|
|
overflow.
|
|
|
|
|
* gas/mips/branch-misc-4-64.d: Likewise.
|
|
|
|
|
* gas/mips/branch-misc-4.s: Source for the new tests.
|
|
|
|
|
* testsuite/gas/mips/mips.exp: Run the new tests.
|
|
|
|
|
|
2011-02-28 15:33:25 +00:00
|
|
|
|
2011-02-28 Maciej W. Rozycki <macro@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gas/mips/relax-swap1.l: Adjust for message capitalization
|
|
|
|
|
correction.
|
|
|
|
|
* gas/mips/relax-swap2.l: Likewise.
|
|
|
|
|
* gas/mips/relax.l: Likewise.
|
|
|
|
|
|
2011-02-25 19:19:45 +00:00
|
|
|
|
2011-02-25 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* gas/i386/ilp32/ilp32.exp: Run reloc64.
|
|
|
|
|
|
|
|
|
|
* gas/i386/ilp32/reloc64.s: Allow TLS relocations with 32bit
|
|
|
|
|
register destinations.
|
|
|
|
|
* gas/i386/ilp32/reloc64.d: Updated.
|
|
|
|
|
|
|
|
|
|
* gas/i386/ilp32/reloc64.l: New.
|
|
|
|
|
|
2011-02-25 17:00:30 +00:00
|
|
|
|
2011-02-25 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR gas/12519
|
|
|
|
|
* gas/elf/bad-size.d: New.
|
|
|
|
|
* gas/elf/bad-size.err: Likewise.
|
|
|
|
|
* gas/elf/bad-size.s: Likewise.
|
|
|
|
|
|
|
|
|
|
* gas/elf/elf.exp: Run bad-size.
|
|
|
|
|
|
2011-02-13 18:55:22 +00:00
|
|
|
|
2011-02-13 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* gas/bfin/arithmetic.d, gas/bfin/parallel.d: Change A0 to A1.
|
|
|
|
|
|
2011-02-13 18:54:49 +00:00
|
|
|
|
2011-02-13 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* gas/bfin/arithmetic.d, gas/bfin/parallel.d, gas/bfin/parallel3.d,
|
|
|
|
|
gas/bfin/vector.d, gas/bfin/vector2.d: Add ".L" to dsp mult insns.
|
|
|
|
|
|
|
|
|
|
2011-02-13 Mike Frysinger <vapier@gentoo.org>
|
2011-02-13 18:53:16 +00:00
|
|
|
|
|
|
|
|
|
* gas/bfin/video.d, gas/bfin/video.s, gas/bfin/video2.d,
|
|
|
|
|
gas/bfin/video2.s: Remove BYTEOP2M insns.
|
|
|
|
|
|
2011-02-10 17:06:44 +00:00
|
|
|
|
2011-02-10 Kai Tietz <kai.tietz@onevision.com>
|
|
|
|
|
|
|
|
|
|
* gas/cfi/cfi-x86_64.d: Adjust for x64 PE+.
|
|
|
|
|
|
2011-02-10 08:43:27 +00:00
|
|
|
|
2011-02-10 Vincent Rivière <vincent.riviere@freesbee.fr>
|
|
|
|
|
|
|
|
|
|
* gas/m68k/cpu32.d: Set explicit architecture for objdump.
|
|
|
|
|
* gas/m68k/mcf-coproc.d: Likewise.
|
|
|
|
|
* gas/m68k/mcf-wdebug.d: Likewise.
|
|
|
|
|
|
2011-02-10 05:06:19 +00:00
|
|
|
|
2011-02-10 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* gas/elf/dwarf2-4.s: Don't use @.
|
|
|
|
|
|
2011-02-08 20:21:26 +00:00
|
|
|
|
2011-02-08 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR gas/6957
|
|
|
|
|
* gas/i386/nops-1-i686.d: Updated.
|
|
|
|
|
* gas/i386/nops-3-i686.d: Likewise.
|
|
|
|
|
* gas/i386/nops-4-i686.d: Likewise.
|
|
|
|
|
|
2011-02-08 18:12:25 +00:00
|
|
|
|
2011-02-08 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* gas/i386/i386.exp: Run nops-4a-i686 and nops-6.
|
|
|
|
|
|
|
|
|
|
* gas/i386/nops-4a-i686.d: New.
|
|
|
|
|
* gas/i386/nops-6.d: Likewise.
|
|
|
|
|
* gas/i386/nops-6.s: Likewise.
|
|
|
|
|
|
2011-02-07 00:04:09 +00:00
|
|
|
|
2011-02-07 Vincent Riviere <vincent.riviere@freesbee.fr>
|
|
|
|
|
|
|
|
|
|
PR gas/3041
|
|
|
|
|
* gas/m68k/p3041pcrel.s, * gas/m68k/p3041pcrel.d: New test.
|
|
|
|
|
* gas/m68k/all.exp: Add "p3041pcrel" and enable p3041 tests for
|
|
|
|
|
all m68k-aout targets.
|
|
|
|
|
|
2011-02-03 23:20:26 +00:00
|
|
|
|
2011-02-04 Bernd Schmidt <bernds@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gas/tic6x/dir-junk.l: Remove tests for .atomic and .noatomic.
|
|
|
|
|
* gas/tic6x/dir-junk.s: Likewise.
|
|
|
|
|
* gas/tic6x/insns-c674x-bad.d: Remove test.
|
|
|
|
|
* gas/tic6x/insns-c674x-bad.l: Likewise.
|
|
|
|
|
* gas/tic6x/insns-c674x-bad.s: Likewise.
|
|
|
|
|
* gas/tic6x/insns-atomic.d: Remove "-matomic" switch.
|
|
|
|
|
|
2011-01-31 16:43:15 +00:00
|
|
|
|
2011-01-31 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* gas/all/align.d: Skip for the RX.
|
|
|
|
|
* gas/elf/group1a.d: Likewise.
|
|
|
|
|
* gas/elf/groupautoa.d: Likewise.
|
|
|
|
|
* gas/elf/elf.exp: Do not run section5 test for the RX port.
|
|
|
|
|
* gas/elf/section4.d: Likewise.
|
|
|
|
|
* gas/elf/section7.d: Likewise.
|
|
|
|
|
* gas/macros/semi.s: Fill with a non-zero pattern.
|
|
|
|
|
* gas/macros/semi.d: Expect non-zero fill value.
|
|
|
|
|
* gas/rx/bcnd.d: Update expected disassembly.
|
|
|
|
|
* gas/rx/bra.d: Likewise.
|
|
|
|
|
* gas/rx/macros.inc: Add reg1 macro.
|
|
|
|
|
* gas/rx/max.sm: Use reg1 macro to avoid generating illegal NOP
|
|
|
|
|
instruction.
|
|
|
|
|
* gas/rx/mov.sm: Likewise.
|
|
|
|
|
* gas/rx/max.d: Update expected disassembly.
|
|
|
|
|
* gas/rx/mov.d: Likewise.
|
|
|
|
|
* gas/rx/rx-asm-good.s: Use Renesas section names.
|
|
|
|
|
* gas/rx/rx-asm-good.d: Update expected disassembly.
|
|
|
|
|
|
2011-01-18 18:55:59 +00:00
|
|
|
|
2011-01-18 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR gas/12409
|
|
|
|
|
* gas/elf/dwarf2-4.d: New.
|
|
|
|
|
* gas/elf/dwarf2-4.s: Likewise.
|
|
|
|
|
|
|
|
|
|
* gas/elf/elf.exp: Run dwarf2-4.
|
|
|
|
|
|
2011-01-18 17:08:13 +00:00
|
|
|
|
2011-01-18 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* gas/i386/intel.d: Updated.
|
|
|
|
|
* gas/i386/opcode-intel.d: Likewise.
|
|
|
|
|
* gas/i386/opcode-suffix.d: Likewise.
|
|
|
|
|
* gas/i386/opcode.d: Likewise.
|
|
|
|
|
|
2011-01-18 16:39:50 +00:00
|
|
|
|
2011-01-18 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* gas/i386/ilp32/x86-64-arch-2.d: Add tbm flag and TBM instruction
|
|
|
|
|
pattern.
|
|
|
|
|
|
Add support for TBM instructions.
gas/
2011-01-17 Quentin Neill <quentin.neill@amd.com>
* config/tc-i386.c (cpu_arch): Add CPU_TBM_FLAGS.
* doc/c-i386.texi (i386-TBM): New section.
opcodes/
2011-01-17 Quentin Neill <quentin.neill@amd.com>
* i386-dis.c (REG_XOP_TBM_01): New.
(REG_XOP_TBM_02): New.
(reg_table): Add REG_XOP_TBM_01 and REG_XOP_TBM_02 tables.
(xop_table): Redirect to REG_XOP_TBM_01 and REG_XOP_TBM_02
entries, and add bextr instruction.
* i386-gen.c (cpu_flag_init): Add CPU_TBM_FLAGS, CpuTBM.
(cpu_flags): Add CpuTBM.
* i386-opc.h (CpuTBM) New.
(i386_cpu_flags): Add bit cputbm.
* i386-opc.tbl: Add bextr, blcfill, blci, blcic, blcmsk,
blcs, blsfill, blsic, t1mskc, and tzmsk.
* i386-init.h: Regenerated.
* i386-tbl.h: Regenerated
gas/testsuite
2011-01-17 Quentin Neill <quentin.neill@amd.com>
* gas/i386/tbm.s: New.
* gas/i386/tbm.d: New.
* gas/i386/tbm-intel.d: New.
* gas/i386/x86-64-tbm.s: New.
* gas/i386/x86-64-tbm.d: New.
* gas/i386/x86-64-tbm-intel.d: New.
* gas/i386/arch-10.d: Add tbm flag and TBM instruction pattern.
* gas/i386/arch-10.s: Add a TBM instruction.
* gas/i386/arch-10-1.l: Add TBM instruction pattern.
* gas/i386/arch-10-2.l: Likewise.
* gas/i386/arch-10-3.l: Likewise.
* gas/i386/arch-10-4.l: Likewise.
* gas/i386/x86-64-arch-2.s: Likewise.
* gas/i386/x86-64-arch-2.d: Likewise.
2011-01-17 18:40:36 +00:00
|
|
|
|
2011-01-17 Quentin Neill <quentin.neill@amd.com>
|
|
|
|
|
|
|
|
|
|
* gas/i386/tbm.s: New.
|
|
|
|
|
* gas/i386/tbm.d: New.
|
|
|
|
|
* gas/i386/tbm-intel.d: New.
|
|
|
|
|
* gas/i386/x86-64-tbm.s: New.
|
|
|
|
|
* gas/i386/x86-64-tbm.d: New.
|
|
|
|
|
* gas/i386/x86-64-tbm-intel.d: New.
|
|
|
|
|
* gas/i386/arch-10.d: Add tbm flag and TBM instruction pattern.
|
|
|
|
|
* gas/i386/arch-10.s: Add a TBM instruction.
|
|
|
|
|
* gas/i386/arch-10-1.l: Add TBM instruction pattern.
|
|
|
|
|
* gas/i386/arch-10-2.l: Likewise.
|
|
|
|
|
* gas/i386/arch-10-3.l: Likewise.
|
|
|
|
|
* gas/i386/arch-10-4.l: Likewise.
|
|
|
|
|
* gas/i386/x86-64-arch-2.s: Likewise.
|
|
|
|
|
* gas/i386/x86-64-arch-2.d: Likewise.
|
|
|
|
|
|
2011-01-16 17:06:12 +00:00
|
|
|
|
2011-01-16 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* gas/i386/ilp32/immed64.s: New.
|
|
|
|
|
* gas/i386/ilp32/reloc64.s: Likewise.
|
|
|
|
|
* gas/i386/ilp32/x86-64-pcrel.s: Likewise.
|
|
|
|
|
|
|
|
|
|
* gas/i386/ilp32/inval.s: Add more tests.
|
|
|
|
|
|
|
|
|
|
* gas/i386/ilp32/immed64.d: Updated.
|
|
|
|
|
* gas/i386/ilp32/inval.l: Likewise.
|
|
|
|
|
* gas/i386/ilp32/reloc64.d: Likewise.
|
|
|
|
|
* gas/i386/ilp32/x86-64-pcrel.d: Likewise.
|
|
|
|
|
|
2011-01-15 15:48:02 +00:00
|
|
|
|
2011-01-15 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* gas/i386/ilp32/ilp32.exp: Run inval.
|
|
|
|
|
|
|
|
|
|
* gas/i386/ilp32/inval.l: New.
|
|
|
|
|
* gas/i386/ilp32/inval.s: Likewise.
|
|
|
|
|
* gas/i386/ilp32/x86-64.s: Likewise.
|
|
|
|
|
|
|
|
|
|
* gas/i386/ilp32/x86-64.d: Don't use ../x86_64.s. Updated.
|
|
|
|
|
|
2011-01-14 23:07:11 +00:00
|
|
|
|
2011-01-14 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* gas/i386/ilp32/cfi/ilp32.exp: Replace --n32 with --x32.
|
|
|
|
|
* gas/i386/ilp32/elf/ilp32.exp: Likewise.
|
|
|
|
|
* gas/i386/ilp32/ilp32.exp: Likewise.
|
|
|
|
|
* gas/i386/ilp32/lns/ilp32.exp: Likewise.
|
|
|
|
|
|
2011-01-11 07:22:09 +00:00
|
|
|
|
2011-01-11 Mingjie Xing <mingjie.xing@gmail.com>
|
|
|
|
|
|
|
|
|
|
* mips/loongson-3a-2.s, mips/loongson-3a-2.d: Use the real offset
|
|
|
|
|
value in assembly.
|
|
|
|
|
|
bfd/
* reloc.c (BFD_RELOC_ARM_TLS_GOTDESC, BFD_RELOC_ARM_TLS_CALL,
BFD_RELOC_ARM_THM_TLS_CALL, BFD_RELOC_ARM_TLS_DESCSEQ,
BFD_RELOC_ARM_THM_TLS_DESCSEQ, BFD_RELOC_ARM_TLS_DESC): New
relocations.
* libbfd.h: Rebuilt.
* bfd-in2.h: Rebuilt.
* elf32-arm.c (elf32_arm_howto_table_1): Add new relocations.
(elf32_arm_reloc_map): Likewise.
(tls_trampoline, dl_tlsdesc_lazy_trampoline): New PLT templates.
(elf32_arm_stub_long_branch_any_tls_pic,
elf32_arm_stub_long_branch_v4t_thumb_tls_pic): New stub templates.
(DEF_STUBS): Add new stubs.
(struct_elf_arm_obj_data): Add local_tlsdesc_gotent field.
(elf32_arm_local_tlsdesc_gotent): New.
(GOT_TLS_GDESC): New mask.
(GOT_TLS_GD_ANY): Define.
(struct elf32_arm_link_hash_entry): Add tlsdesc_got field.
(elf32_arm_compute_jump_table_size): New.
(struct elf32_arm_link_hash_table): Add next_tls_desc_index,
num_tls_desc, dt_tlsdesc_plt, dt_tlsdesc_got, tls_trampoline,
sgotplt_jump_table_size fields.
(elf32_arm_link_hash_newfunc): Initialize tlsdesc_got field.
(elf32_arm_link_hash_table_create): Initialize new fields.
(arm_type_of_stub): Check TLS desc relocs too.
(elf32_arm_stub_name): TLS desc relocs can be shared.
(elf32_arm_tls_transition): Determine relaxation.
(arm_stub_required_alignment): Add tls stubs.
(elf32_arm_size_stubs): Likewise.
(elf32_arm_tls_relax): Perform TLS relaxing.
(elf32_arm_final_link_relocate): Process TLS DESC relocations.
(IS_ARM_TLS_GNU_RELOC): New.
(IS_ARM_TLS_RELOC): Use it.
(elf32_arm_relocate_section): Perform TLS relaxing.
(elf32_arm_check_relocs): Anticipate TLS relaxing, process tls
desc relocations.
(allocate_dynrelocs): Allocate tls desc relcoations.
(elf32_arm_output_arch_local_syms): Emit tls trampoline mapping
symbols.
(elf32_arm_size_dynamic_sections): Allocate tls trampolines and
got slots.
(elf32_arm_always_size_sections): New. Create _TLS_MODULE_BASE
symbol.
(elf32_arm_finish_dynamic_symbol): Adjust.
(arm_put_trampoline): New.
(elf32_arm_finish_dynamic_sections): Emit new dynamic tags and tls
trampolines.
(elf_backend_always_size_sections): Define.
include/elf/
* arm.h (R_ARM_TLS_DESC, R_ARM_TLS_GOTDESC, R_ARM_TLS_CALL,
R_ARM_TLS_DESCSEQ, T_ARM_THM_TLS_CALL, R_ARM_THM_TLS_DESCSEQ): New
relocations.
gas/
* doc/c-arm.texi: Document TLSDESC and TLSCALL relocations, and
.tlsdescseq directive.
* config/tc-arm.c (arm_typed_reg_parse): Check for potential reloc
following a symbol.
(s_arm_tls_descseq): New directive.
(md_pseudo_table): Add it.
(encode_branch): Allow TLS_CALL relocs too.
(do_t_blx, do_t_branch23): Use encode_branch.
(reloc_names): Add tlsdesc and tlscall.
(md_apply_fix): Process tls desc relocations.
(tc_gen_reloc): Likewise.
(arm_fix_adjustable): Likewise.
gas/testsuite/
* gas/arm/tls.s: Add tlsdesc tests.
* gas/arm/tls.d: Adjust.
ld/testsuite/
* ld-arm/arm-elf.exp: Added tests for new TLS handling
relocations.
* ld-arm/tls-descrelax-be32.d: New.
* ld-arm/tls-descrelax-be32.s: New.
* ld-arm/tls-descrelax-be8.d: New.
* ld-arm/tls-descrelax-be8.s: New.
* ld-arm/tls-descrelax-v7.d: New.
* ld-arm/tls-descrelax-v7.s: New.
* ld-arm/tls-descrelax.d: New.
* ld-arm/tls-descrelax.s: New.
* ld-arm/tls-descseq.d: New.
* ld-arm/tls-descseq.r: New.
* ld-arm/tls-descseq.s: New.
* ld-arm/tls-gdesc-got.d: New.
* ld-arm/tls-gdesc-got.s: New.
* ld-arm/tls-gdesc-nlazy.g: New.
* ld-arm/tls-gdesc-nlazy.s: New.
* ld-arm/tls-gdesc.d: New.
* ld-arm/tls-gdesc.r: New.
* ld-arm/tls-gdesc.s: New.
* ld-arm/tls-gdierelax.d: New.
* ld-arm/tls-gdierelax.s: New.
* ld-arm/tls-gdierelax2.d: New.
* ld-arm/tls-gdierelax2.s: New.
* ld-arm/tls-gdlerelax.d: New.
* ld-arm/tls-gdlerelax.s: New.
* ld-arm/tls-lib-loc.d: New.
* ld-arm/tls-lib-loc.r: New.
* ld-arm/tls-lib-loc.s: New.
* ld-arm/tls-longplt-lib.d: New.
* ld-arm/tls-longplt-lib.s: New.
* ld-arm/tls-longplt.d: New.
* ld-arm/tls-longplt.s: New.
* ld-arm/tls-mixed.r: New.
* ld-arm/tls-mixed.s: New.
* ld-arm/tls-thumb1.d: New.
* ld-arm/tls-thumb1.s: New.
* ld-arm/arm-elf.exp: New.
2011-01-10 08:40:19 +00:00
|
|
|
|
2011-01-10 Nathan Sidwell <nathan@codesourcery.com>
|
|
|
|
|
Glauber de Oliveira Costa <glommer@gmail.com>
|
|
|
|
|
|
|
|
|
|
* gas/arm/tls.s: Add tlsdesc tests.
|
|
|
|
|
* gas/arm/tls.d: Adjust.
|
|
|
|
|
|
2011-01-07 23:26:59 +00:00
|
|
|
|
2011-01-07 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* gas/i386/ilp32/x86-64-arch-2.d: Add bmi flag and BMI instruction
|
|
|
|
|
pattern.
|
|
|
|
|
|
2011-01-07 17:44:30 +00:00
|
|
|
|
2011-01-07 Quentin Neill <quentin.neill@amd.com>
|
|
|
|
|
|
|
|
|
|
* gas/i386/arch-10.s: Add a BMI instruction.
|
|
|
|
|
* gas/i386/x86-64-arch-2.s: Likewise.
|
|
|
|
|
* gas/i386/arch-10.d: Add bmi flag and BMI instruction pattern.
|
|
|
|
|
* gas/i386/x86-64-arch-2.d: Likewise.
|
|
|
|
|
* gas/i386/arch-10-1.l: Add BMI instruction pattern.
|
|
|
|
|
* gas/i386/arch-10-2.l: Likewise.
|
|
|
|
|
* gas/i386/arch-10-3.l: Likewise.
|
|
|
|
|
* gas/i386/arch-10-4.l: Likewise.
|
|
|
|
|
|
2011-01-07 01:51:45 +00:00
|
|
|
|
2011-01-06 Paul Koning <ni1d@arrl.net>
|
|
|
|
|
|
|
|
|
|
* gas/pdp11/pdp11.exp: Add run of absreloc.
|
|
|
|
|
|
2011-01-06 16:41:35 +00:00
|
|
|
|
2011-01-06 Paul Koning <ni1d@arrl.net>
|
|
|
|
|
|
|
|
|
|
* gas/pdp11/absreloc.s: New.
|
|
|
|
|
* gas/pdp11/absreloc.d: New.
|
|
|
|
|
|
2011-01-06 16:31:39 +00:00
|
|
|
|
2011-01-06 Paul Koning <ni1d@arrl.net>
|
|
|
|
|
|
|
|
|
|
* gas/pdp11/opcode.d: Fix expected output for sec instruction.
|
|
|
|
|
|
2011-01-06 14:30:43 +00:00
|
|
|
|
2011-01-05 Nathan Sidwell <nathan@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gas/arm/blx-bad.s: New.
|
|
|
|
|
* gas/arm/blx-bad.d: New.
|
|
|
|
|
|
2011-01-05 00:16:57 +00:00
|
|
|
|
2011-01-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* gas/i386/bmi-intel.d: New.
|
|
|
|
|
* gas/i386/bmi.d: Likewise.
|
|
|
|
|
* gas/i386/bmi.s: Likewise.
|
|
|
|
|
* gas/i386/x86-64-bmi-intel.d: Likewise.
|
|
|
|
|
* gas/i386/x86-64-bmi.d: Likewise.
|
|
|
|
|
* gas/i386/x86-64-bmi.s: Likewise.
|
|
|
|
|
|
|
|
|
|
* gas/i386/i386.exp: Run bmi, bmi-intel, x86-64-bmi and
|
|
|
|
|
x86-64-bmi-intel.
|
|
|
|
|
|
2011-01-01 19:27:52 +00:00
|
|
|
|
2011-01-01 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* gas/i386/ilp32/lns/lns-common-1.d: Also expect .zdebug in
|
|
|
|
|
section name.
|
|
|
|
|
* gas/i386/ilp32/lns/lns-duplicate.d: Likewise.
|
|
|
|
|
|
2011-01-01 16:44:48 +00:00
|
|
|
|
For older changes see ChangeLog-2010
|
2004-01-02 11:16:21 +00:00
|
|
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
|
mode: change-log
|
|
|
|
|
left-margin: 8
|
|
|
|
|
fill-column: 74
|
|
|
|
|
version-control: never
|
|
|
|
|
End:
|