summaryrefslogtreecommitdiff
path: root/gas/testsuite/gas/cris
diff options
context:
space:
mode:
authornobody <>2009-01-03 17:43:47 +0000
committernobody <>2009-01-03 17:43:47 +0000
commit98efba94c8d14ffea399e9a1859a6ced1e4869dc (patch)
tree03a93ec394427860fa23e131b4c834b417c614bf /gas/testsuite/gas/cris
parente7c73f57df961ee3db9b81f5dec5b3c5d9c3d288 (diff)
downloadbinutils-gdb-98efba94c8d14ffea399e9a1859a6ced1e4869dc.tar.gz
This commit was manufactured by cvs2svn to create branchbinutils-arc-20081103-branchpointarc-20081103-branchpointarc-20081103-branch
'arc-20081103-branch'. Sprout from binutils-2_19-branch 2008-09-08 08:56:58 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'binutils-' Cherrypick from binutils-2_19-branch 2009-01-03 17:43:46 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'binutils-': gas/testsuite/gas/ppc/common.d gas/testsuite/gas/ppc/common.s ld/testsuite/ld-powerpc/attr-gnu-12-1.s ld/testsuite/ld-powerpc/attr-gnu-12-11.d ld/testsuite/ld-powerpc/attr-gnu-12-2.s ld/testsuite/ld-powerpc/attr-gnu-12-21.d Cherrypick from binutils-2_19-branch 2008-09-11 09:06:56 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'binutils-': gprof/po/ro.po Cherrypick from binutils-2_19-branch 2008-09-26 07:02:45 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'binutils-': gas/config/te-solaris.h Cherrypick from master 2008-11-02 23:59:45 UTC Alan Modra <amodra@gmail.com> 'daily update': ChangeLog Makefile.def Makefile.in Makefile.tpl bfd/ChangeLog bfd/Makefile.am bfd/Makefile.in bfd/aclocal.m4 bfd/bfd-in2.h bfd/cache.c bfd/coff64-rs6000.c bfd/coffgen.c bfd/cofflink.c bfd/config.in bfd/configure bfd/configure.in bfd/doc/Makefile.in bfd/dwarf2.c bfd/elf-bfd.h bfd/elf-eh-frame.c bfd/elf.c bfd/elf32-cris.c bfd/elf32-ppc.c bfd/elf32-sh-symbian.c bfd/elf32-spu.c bfd/elf32-xtensa.c bfd/elf64-ppc.c bfd/elflink.c bfd/elfxx-mips.c bfd/libbfd.h bfd/linker.c bfd/po/id.po bfd/po/vi.po bfd/reloc.c bfd/version.h binutils/BRANCHES binutils/ChangeLog binutils/Makefile.in binutils/aclocal.m4 binutils/config.in binutils/configure binutils/configure.in binutils/dlltool.c binutils/doc/Makefile.in binutils/dwarf.c binutils/embedspu.sh binutils/objcopy.c binutils/po/id.po binutils/po/sv.po binutils/readelf.c binutils/stabs.c binutils/testsuite/ChangeLog binutils/testsuite/binutils-all/group-2.s binutils/testsuite/binutils-all/group-3.s binutils/testsuite/binutils-all/group-4.s binutils/testsuite/binutils-all/group.s binutils/testsuite/binutils-all/objcopy.exp binutils/testsuite/binutils-all/objdump.W binutils/testsuite/binutils-all/strip-4.d binutils/testsuite/binutils-all/strip-5.d binutils/testsuite/binutils-all/strip-6.d binutils/testsuite/binutils-all/strip-7.d binutils/testsuite/binutils-all/strip-8.d binutils/testsuite/binutils-all/strip-9.d binutils/windmc.c binutils/windres.c configure configure.ac gas/ChangeLog gas/Makefile.am gas/Makefile.in gas/NEWS gas/aclocal.m4 gas/app.c gas/config.in gas/config/bfin-parse.y gas/config/tc-bfin.c gas/config/tc-cris.c gas/config/tc-frv.c gas/config/tc-frv.h gas/config/tc-hppa.c gas/config/tc-hppa.h gas/config/tc-i386.c gas/config/tc-i386.h gas/config/tc-m68k.c gas/config/tc-mips.c gas/config/tc-mmix.c gas/config/tc-mmix.h gas/config/tc-mn10300.h gas/config/tc-ns32k.c gas/config/tc-ppc.c gas/config/tc-sh.h gas/config/tc-sh64.h gas/config/tc-tic4x.c gas/config/tc-xtensa.c gas/config/tc-xtensa.h gas/config/tc-z80.c gas/configure gas/configure.in gas/configure.tgt gas/doc/Makefile.in gas/doc/as.texinfo gas/doc/internals.texi gas/dw2gencfi.c gas/frags.c gas/hash.c gas/listing.c gas/po/id.po gas/read.c gas/symbols.c gas/testsuite/ChangeLog gas/testsuite/gas/all/gas.exp gas/testsuite/gas/cfi/cfi-alpha-1.d gas/testsuite/gas/cfi/cfi-alpha-3.d gas/testsuite/gas/cfi/cfi-arm-1.d gas/testsuite/gas/cfi/cfi-common-1.d gas/testsuite/gas/cfi/cfi-common-2.d gas/testsuite/gas/cfi/cfi-common-3.d gas/testsuite/gas/cfi/cfi-common-4.d gas/testsuite/gas/cfi/cfi-common-5.d gas/testsuite/gas/cfi/cfi-common-6.d gas/testsuite/gas/cfi/cfi-hppa-1.d gas/testsuite/gas/cfi/cfi-i386-2.d gas/testsuite/gas/cfi/cfi-i386.d gas/testsuite/gas/cfi/cfi-m68k.d gas/testsuite/gas/cfi/cfi-mips-1.d gas/testsuite/gas/cfi/cfi-ppc-1.d gas/testsuite/gas/cfi/cfi-s390-1.d gas/testsuite/gas/cfi/cfi-s390x-1.d gas/testsuite/gas/cfi/cfi-sh-1.d gas/testsuite/gas/cfi/cfi-sparc-1.d gas/testsuite/gas/cfi/cfi-sparc64-1.d gas/testsuite/gas/cfi/cfi-x86_64.d gas/testsuite/gas/cris/rd-tls-1.d gas/testsuite/gas/cris/rd-tls-1.s gas/testsuite/gas/cris/rd-tls-2.d gas/testsuite/gas/cris/rd-tls-2.s gas/testsuite/gas/cris/tls-err-1.s gas/testsuite/gas/cris/tls-err-2.s gas/testsuite/gas/cris/tls-err-3.s gas/testsuite/gas/elf/elf.exp gas/testsuite/gas/i386/i386.exp gas/testsuite/gas/i386/nops-5-i686.d gas/testsuite/gas/i386/nops-5.d gas/testsuite/gas/i386/nops-5.s gas/testsuite/gas/i386/sse2avx.d gas/testsuite/gas/i386/sse2avx.s gas/testsuite/gas/i386/x86-64-nops-5-k8.d gas/testsuite/gas/i386/x86-64-nops-5.d gas/testsuite/gas/i386/x86-64-sse2avx.d gas/testsuite/gas/i386/x86-64-sse2avx.s gas/testsuite/gas/ppc/power4_32.d gas/testsuite/gas/ppc/power4_32.s gas/testsuite/gas/ppc/power6.d gas/testsuite/gas/ppc/power6.s gas/testsuite/gas/ppc/ppc.exp gas/testsuite/gas/s390/esa-g5.d gas/testsuite/gas/s390/esa-g5.s gas/testsuite/gas/s390/esa-z990.d gas/testsuite/gas/s390/esa-z990.s gas/testsuite/gas/s390/zarch-z900.d gas/testsuite/gas/s390/zarch-z900.s gas/testsuite/gas/s390/zarch-z990.d gas/testsuite/gas/s390/zarch-z990.s gas/testsuite/gas/z80/arith.d gas/testsuite/gas/z80/arith.s gas/testsuite/gas/z80/bit.d gas/testsuite/gas/z80/bit.s gas/testsuite/gas/z80/block.d gas/testsuite/gas/z80/block.s gas/testsuite/gas/z80/branch.d gas/testsuite/gas/z80/branch.s gas/testsuite/gas/z80/inout.d gas/testsuite/gas/z80/inout.s gas/testsuite/gas/z80/ld-group.d gas/testsuite/gas/z80/ld-group.s gas/testsuite/gas/z80/misc.d gas/testsuite/gas/z80/misc.s gas/testsuite/gas/z80/rotate.d gas/testsuite/gas/z80/rotate.s gas/testsuite/gas/z80/z80.exp gas/write.c gold/ChangeLog gold/Makefile.am gold/Makefile.in gold/archive.cc gold/archive.h gold/config.in gold/configure gold/configure.ac gold/descriptors.cc gold/descriptors.h gold/fileread.cc gold/fileread.h gold/gold.cc gold/i386.cc gold/layout.cc gold/main.cc gold/mapfile.cc gold/object.cc gold/object.h gold/options.cc gold/options.h gold/output.cc gold/output.h gold/plugin.cc gold/plugin.h gold/powerpc.cc gold/readsyms.cc gold/reloc.cc gold/resolve.cc gold/sparc.cc gold/symtab.cc gold/symtab.h gold/target-reloc.h gold/target.h gold/testsuite/Makefile.am gold/testsuite/Makefile.in gold/testsuite/plugin_test.c gold/testsuite/plugin_test_1.sh gold/testsuite/plugin_test_2.sh gold/testsuite/thin_archive_main.cc gold/testsuite/thin_archive_test_1.cc gold/testsuite/thin_archive_test_2.cc gold/testsuite/thin_archive_test_3.cc gold/testsuite/thin_archive_test_4.cc gold/x86_64.cc gprof/ChangeLog gprof/Makefile.in gprof/aclocal.m4 gprof/configure gprof/configure.in gprof/gconfig.in gprof/po/vi.po include/ChangeLog include/demangle.h include/elf/ChangeLog include/elf/cris.h include/elf/dwarf2.h include/elf/ppc.h include/obstack.h include/plugin-api.h ld/ChangeLog ld/Makefile.am ld/Makefile.in ld/aclocal.m4 ld/config.in ld/configure ld/configure.in ld/emulparams/arcelf.sh ld/emulparams/criself.sh ld/emulparams/crislinux.sh ld/emulparams/elf32_i860.sh ld/emulparams/elf32_i960.sh ld/emulparams/elf32_sparc.sh ld/emulparams/elf32_spu.sh ld/emulparams/elf32am33lin.sh ld/emulparams/elf32fr30.sh ld/emulparams/elf32ip2k.sh ld/emulparams/elf32mcore.sh ld/emulparams/elf32openrisc.sh ld/emulparams/elf32ppccommon.sh ld/emulparams/elf32ppcwindiss.sh ld/emulparams/elf32vax.sh ld/emulparams/elf64_s390.sh ld/emulparams/elf64_sparc.sh ld/emulparams/elf64alpha.sh ld/emulparams/elf64mmix.sh ld/emulparams/elf64ppc.sh ld/emulparams/elf_i386.sh ld/emulparams/elf_i386_be.sh ld/emulparams/elf_i386_ldso.sh ld/emulparams/elf_i386_vxworks.sh ld/emulparams/elf_s390.sh ld/emulparams/elf_x86_64.sh ld/emulparams/h8300elf.sh ld/emulparams/hppa64linux.sh ld/emulparams/hppalinux.sh ld/emulparams/i386lynx.sh ld/emulparams/i386moss.sh ld/emulparams/i386nto.sh ld/emulparams/m68kelf.sh ld/emulparams/mn10200.sh ld/emulparams/or32elf.sh ld/emulparams/pjelf.sh ld/emulparams/ppclynx.sh ld/emulparams/scoreelf.sh ld/emulparams/shelf.sh ld/emulparams/shelf32.sh ld/emulparams/shelf_nto.sh ld/emulparams/shelf_vxworks.sh ld/emulparams/shlelf32_linux.sh ld/emulparams/shlelf_linux.sh ld/emulparams/shlelf_nto.sh ld/emultempl/armelf.em ld/emultempl/beos.em ld/emultempl/elf32.em ld/emultempl/genelf.em ld/emultempl/mmo.em ld/emultempl/pe.em ld/emultempl/pep.em ld/emultempl/spuelf.em ld/emultempl/sunos.em ld/ldemul.c ld/ldemul.h ld/ldexp.c ld/ldlang.c ld/ldlang.h ld/pe-dll.c ld/po/id.po ld/po/vi.po ld/scripttempl/avr.sc ld/scripttempl/elf.sc ld/testsuite/ChangeLog ld/testsuite/ld-elf/comm1.c ld/testsuite/ld-elf/eh-frame-hdr.d ld/testsuite/ld-elf/eh-group.exp ld/testsuite/ld-elf/eh-group1.s ld/testsuite/ld-elf/eh-group2.s ld/testsuite/ld-elf/eh1.d ld/testsuite/ld-elf/eh2.d ld/testsuite/ld-elf/eh3.d ld/testsuite/ld-elf/eh4.d ld/testsuite/ld-elf/eh5.d ld/testsuite/ld-elf/eh5b.s ld/testsuite/ld-elf/eh6.d ld/testsuite/ld-elf/extract-symbol-1sec.d ld/testsuite/ld-elf/func1.c ld/testsuite/ld-elf/group4.d ld/testsuite/ld-elf/group5.d ld/testsuite/ld-elf/group6.d ld/testsuite/ld-elf/group7.d ld/testsuite/ld-elf/shared.exp ld/testsuite/ld-elf/stab.d ld/testsuite/ld-elfcomm/common1b.c ld/testsuite/ld-gc/gc.c ld/testsuite/ld-ia64/tlsbin.rd ld/testsuite/ld-ia64/tlspic.rd ld/testsuite/ld-mips-elf/eh-frame1-n32.d ld/testsuite/ld-mips-elf/eh-frame1-n64.d ld/testsuite/ld-mips-elf/eh-frame2-n32.d ld/testsuite/ld-mips-elf/eh-frame2-n64.d ld/testsuite/ld-mips-elf/eh-frame3.d ld/testsuite/ld-mips-elf/eh-frame4.d ld/testsuite/ld-mips-elf/reloc-estimate-1.d ld/testsuite/ld-powerpc/powerpc.exp ld/testsuite/ld-powerpc/vxworks1-lib.rd ld/testsuite/ld-shared/main.c ld/testsuite/lib/ld-lib.exp libiberty/ChangeLog libiberty/Makefile.in libiberty/config.in libiberty/configure libiberty/configure.ac libiberty/cp-demangle.c libiberty/cp-demangle.h libiberty/testsuite/demangle-expected libiberty/xstrdup.c libtool.m4 ltgcc.m4 ltmain.sh ltoptions.m4 ltsugar.m4 ltversion.m4 lt~obsolete.m4 opcodes/ChangeLog opcodes/Makefile.am opcodes/Makefile.in opcodes/aclocal.m4 opcodes/configure opcodes/configure.in opcodes/i386-gen.c opcodes/i386-opc.tbl opcodes/i386-tbl.h opcodes/po/fr.po opcodes/po/vi.po opcodes/s390-opc.c opcodes/s390-opc.txt opcodes/z80-dis.c
Diffstat (limited to 'gas/testsuite/gas/cris')
-rw-r--r--gas/testsuite/gas/cris/rd-tls-1.d28
-rw-r--r--gas/testsuite/gas/cris/rd-tls-1.s16
-rw-r--r--gas/testsuite/gas/cris/rd-tls-2.d48
-rw-r--r--gas/testsuite/gas/cris/rd-tls-2.s26
-rw-r--r--gas/testsuite/gas/cris/tls-err-1.s16
-rw-r--r--gas/testsuite/gas/cris/tls-err-2.s19
-rw-r--r--gas/testsuite/gas/cris/tls-err-3.s14
7 files changed, 167 insertions, 0 deletions
diff --git a/gas/testsuite/gas/cris/rd-tls-1.d b/gas/testsuite/gas/cris/rd-tls-1.d
new file mode 100644
index 00000000000..db2c8f9f7a7
--- /dev/null
+++ b/gas/testsuite/gas/cris/rd-tls-1.d
@@ -0,0 +1,28 @@
+#objdump: -dr
+#as: --em=criself
+#name: TLS non-PIC relocs.
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+
+0+ <start>:
+[ ]+0:[ ]+af1e 0000 0000[ ]+sub\.d 0 <start>,\$?r1
+[ ]+2:[ ]+R_CRIS_32_GD \.text
+[ ]+6:[ ]+2f9e 0000 0000[ ]+add\.d 0 <start>,\$?r9
+[ ]+8:[ ]+R_CRIS_32_GD extsym2
+[ ]+c:[ ]+6f3d 0000 0000 6aaa[ ]+move\.d \[\$?r3\+0 <start>\],\$?r10
+[ ]+e:[ ]+R_CRIS_32_TPREL extsym
+[ ]+14:[ ]+5fae 0000[ ]+move\.w 0x0,\$?r10
+[ ]+16:[ ]+R_CRIS_16_TPREL extsym14\+0x4d
+[ ]+18:[ ]+af9e 0000 0000[ ]+sub\.d 0 <start>,\$?r9
+[ ]+1a:[ ]+R_CRIS_32_GD extsym4\+0x2a
+[ ]+1e:[ ]+af3e 0000 0000[ ]+sub\.d 0 <start>,\$?r3
+[ ]+20:[ ]+R_CRIS_32_GD extsym4\+0xffffffa0
+[ ]+24:[ ]+6f3d 0000 0000 67de[ ]+move\.d \[\$?r7=\$?r3\+0 <start>\],\$?r13
+[ ]+26:[ ]+R_CRIS_32_GD extsym10\+0xfffffeb6
+[ ]+2c:[ ]+5fbd 0000 699a[ ]+move\.d \[\$?r11\+0\],\$?r9
+[ ]+2e:[ ]+R_CRIS_16_TPREL extsym14\+0xffffff00
+[ ]+32:[ ]+6fad 0000 0000 287a[ ]+add\.d \[\$?r10\+0 <start>\],\$?r7,\$?r8
+[ ]+34:[ ]+R_CRIS_32_TPREL extsym3\+0x38
+[ ]+\.\.\.
diff --git a/gas/testsuite/gas/cris/rd-tls-1.s b/gas/testsuite/gas/cris/rd-tls-1.s
new file mode 100644
index 00000000000..05bbefa5a01
--- /dev/null
+++ b/gas/testsuite/gas/cris/rd-tls-1.s
@@ -0,0 +1,16 @@
+; Check that non-PIC TLS operands get their right relocation type.
+; First some expected uses, similar to what GCC will emit.
+ .text
+ .syntax no_register_prefix
+start:
+ sub.d .:GD,r1
+ add.d extsym2:GD,r9
+ move.d [r3+extsym:TPOFF],r10
+ move.w extsym14:TPOFF16+77,r10
+
+; Other for GAS valid operands (some with questionable PIC semantics).
+ sub.d extsym4:GD+42,r9
+ sub.d extsym4:GD-96,r3
+ move.d [r7=r3+extsym10:GD-330],r13
+ move.d [r11+extsym14:TPOFF16-256],r9
+ add.d [r10+extsym3:TPOFF+56],r7,r8
diff --git a/gas/testsuite/gas/cris/rd-tls-2.d b/gas/testsuite/gas/cris/rd-tls-2.d
new file mode 100644
index 00000000000..a5f8647eab2
--- /dev/null
+++ b/gas/testsuite/gas/cris/rd-tls-2.d
@@ -0,0 +1,48 @@
+#objdump: -dr
+#as: --em=criself --pic
+#name: TLS PIC relocs.
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+
+0+ <start>:
+[ ]+0: 6f3d 0000 0000 6aaa[ ]+move\.d \[\$?r3\+0 <start>\],\$?r10
+[ ]+2: R_CRIS_32_GOT_TPREL extsym
+[ ]+8: 6f8e 0000 0000[ ]+move\.d 0 <start>,\$?r8
+[ ]+a: R_CRIS_32_GOT_TPREL extsym5
+[ ]+e: 5f8e 0000[ ]+move\.w 0x0,\$?r8
+[ ]+10: R_CRIS_16_GOT_TPREL extsym9
+[ ]+12: 6f3d 0000 0000 6aaa[ ]+move\.d \[\$?r3\+0 <start>\],\$?r10
+[ ]+14: R_CRIS_32_GOT_GD extsym
+[ ]+1a: 5fdd 0000 6aaa[ ]+move\.d \[\$?r13\+0\],\$?r10
+[ ]+1c: R_CRIS_16_GOT_TPREL extsym13
+[ ]+20: 5fae 0000[ ]+move\.w 0x0,\$?r10
+[ ]+22: R_CRIS_16_GOT_GD extsym14
+[ ]+24: af9e 0000 0000[ ]+sub\.d 0 <start>,\$?r9
+[ ]+26: R_CRIS_32_DTPREL extsym4\+0x16
+[ ]+2a: 9f3e 0000[ ]+sub\.w 0x0,\$?r3
+[ ]+2c: R_CRIS_16_DTPREL extsym4\+0xffffffaa
+[ ]+2e: 6f3d 0000 0000 aa4a[ ]+sub\.d \[\$?r3\+0 <start>\],\$?r4,\$?r10
+[ ]+30: R_CRIS_32_GOT_TPREL extsym3
+[ ]+36: af9e 0000 0000[ ]+sub\.d 0 <start>,\$?r9
+[ ]+38: R_CRIS_32_GOT_GD extsym4\+0x2a
+[ ]+3c: af3e 0000 0000[ ]+sub\.d 0 <start>,\$?r3
+[ ]+3e: R_CRIS_32_GOT_TPREL extsym4\+0xffffffa0
+[ ]+42: 6fad 0000 0000 287a[ ]+add\.d \[\$?r10\+0 <start>\],\$?r7,\$?r8
+[ ]+44: R_CRIS_32_GOT_TPREL extsym3\+0x38
+[ ]+4a: 6f5d 0000 0000 611a[ ]+move\.d \[\$?r5\+0 <start>\],\$?r1
+[ ]+4c: R_CRIS_32_GOT_TPREL extsym6\+0xa
+[ ]+52: 6fad 0000 0000 284a[ ]+add\.d \[\$?r10\+0 <start>\],\$?r4,\$?r8
+[ ]+54: R_CRIS_32_GOT_TPREL extsym3\+0xfffffdd0
+[ ]+5a: 6f5d 0000 0000 6cca[ ]+move\.d \[\$?r5\+0 <start>\],\$?r12
+[ ]+5c: R_CRIS_32_GOT_TPREL extsym6\+0xffffff92
+[ ]+62: 6f5d 0000 0000 69ce[ ]+move\.d \[\$?r9=\$?r5\+0 <start>\],\$?r12
+[ ]+64: R_CRIS_32_GOT_TPREL extsym6\+0xffffff24
+[ ]+6a: 5fcd 0000 a89a[ ]+sub\.d \[\$?r12\+0\],\$?r9,\$?r8
+[ ]+6c: R_CRIS_16_GOT_TPREL extsym3\+0xffffff64
+[ ]+70: 5fbd 0000 699a[ ]+move\.d \[\$?r11\+0\],\$?r9
+[ ]+72: R_CRIS_16_GOT_GD extsym14\+0xffffff00
+[ ]+76: 6fad 0000 0000 287a[ ]+add\.d \[\$?r10\+0 <start>\],\$?r7,\$?r8
+[ ]+78: R_CRIS_32_GOT_GD extsym3\+0x38
+[ ]+\.\.\.
diff --git a/gas/testsuite/gas/cris/rd-tls-2.s b/gas/testsuite/gas/cris/rd-tls-2.s
new file mode 100644
index 00000000000..b1bc557c9d7
--- /dev/null
+++ b/gas/testsuite/gas/cris/rd-tls-2.s
@@ -0,0 +1,26 @@
+; Check that TLS PIC operands get their right relocation type.
+; First some expected uses, similar to what GCC will emit.
+ .text
+ .syntax no_register_prefix
+start:
+ move.d [r3+extsym:TPOFFGOT],r10
+ move.d extsym5:TPOFFGOT,r8
+ move.w extsym9:TPOFFGOT16,r8
+ move.d [r3+extsym:GDGOTREL],r10
+ move.d [r13+extsym13:TPOFFGOT16],r10
+ move.w extsym14:GDGOTREL16,r10
+ sub.d extsym4:DTPREL+22,r9
+ sub.w extsym4:DTPREL16-86,r3
+
+; Other for GAS valid operands (some with questionable PIC semantics).
+ sub.d [r3+extsym3:TPOFFGOT],r4,r10
+ sub.d extsym4:GDGOTREL+42,r9
+ sub.d extsym4:TPOFFGOT-96,r3
+ add.d [r10+extsym3:TPOFFGOT+56],r7,r8
+ move.d [r5+extsym6:TPOFFGOT+10],r1
+ add.d [r10+extsym3:TPOFFGOT-560],r4,r8
+ move.d [r5+extsym6:TPOFFGOT-110],r12
+ move.d [r9=r5+extsym6:TPOFFGOT-220],r12
+ sub.d [r12+extsym3:TPOFFGOT16-156],r9,r8
+ move.d [r11+extsym14:GDGOTREL16-256],r9
+ add.d [r10+extsym3:GDGOTREL+56],r7,r8
diff --git a/gas/testsuite/gas/cris/tls-err-1.s b/gas/testsuite/gas/cris/tls-err-1.s
new file mode 100644
index 00000000000..5a6e9cd2bd3
--- /dev/null
+++ b/gas/testsuite/gas/cris/tls-err-1.s
@@ -0,0 +1,16 @@
+; Like pic-err-1.s but for non-pic TLS suffixes.
+
+; { dg-do assemble }
+; { dg-options "--no-underscore --em=criself" }
+
+ .syntax no_register_prefix
+ .text
+start:
+ move.b extsym:TPOFF16,r4 ; { dg-error "TLS relocation size does not match" "" { xfail *-*-* } }
+ move.b extsym12:TPOFF,r5 ; { dg-error "TLS relocation size does not match" }
+ move.w extsym2:TPOFF,r5 ; { dg-error "TLS relocation size does not match" }
+ move.d extsym3:TPOFF16,r6 ; { dg-error "TLS relocation size does not match" }
+ move extsym4:TPOFF16,srp ; { dg-error "TLS relocation size does not match" }
+ move.b extsym15:GD,r7 ; { dg-error "TLS relocation size does not match" }
+ move.w extsym6:GD,r5 ; { dg-error "TLS relocation size does not match" }
+ move extsym8:TPOFF16,srp ; { dg-error "TLS relocation size does not match" }
diff --git a/gas/testsuite/gas/cris/tls-err-2.s b/gas/testsuite/gas/cris/tls-err-2.s
new file mode 100644
index 00000000000..d320651421a
--- /dev/null
+++ b/gas/testsuite/gas/cris/tls-err-2.s
@@ -0,0 +1,19 @@
+; Like tls-err-1.s but for PIC TLS suffixes.
+
+; { dg-do assemble }
+; { dg-options "--pic --no-underscore --em=criself" }
+
+ .syntax no_register_prefix
+ .text
+start:
+ move.b extsym:GDGOTREL16,r4 ; { dg-error "PIC relocation size does not match" "" { xfail *-*-* } }
+ move.b extsym12:GDGOTREL,r5 ; { dg-error "PIC relocation size does not match" }
+ move.w extsym2:GDGOTREL,r5 ; { dg-error "PIC relocation size does not match" }
+ move.d extsym3:GDGOTREL16,r6 ; { dg-error "PIC relocation size does not match" }
+ move extsym4:GDGOTREL16,srp ; { dg-error "PIC relocation size does not match" }
+ move.b extsym5:TPOFFGOT16,r4 ; { dg-error "PIC relocation size does not match" "" { xfail *-*-* } }
+ move.b extsym15:TPOFFGOT,r7 ; { dg-error "PIC relocation size does not match" }
+ move.w extsym6:DTPREL,r5 ; { dg-error "PIC relocation size does not match" }
+ move.d extsym7:DTPREL16,r6 ; { dg-error "PIC relocation size does not match" }
+ move.d extsym7:TPOFFGOT16,r6 ; { dg-error "PIC relocation size does not match" }
+ move extsym8:TPOFFGOT16,srp ; { dg-error "PIC relocation size does not match" }
diff --git a/gas/testsuite/gas/cris/tls-err-3.s b/gas/testsuite/gas/cris/tls-err-3.s
new file mode 100644
index 00000000000..cbc2b5da513
--- /dev/null
+++ b/gas/testsuite/gas/cris/tls-err-3.s
@@ -0,0 +1,14 @@
+; Check that TLS PIC suffixes aren't accepted when non-PIC.
+
+; { dg-do assemble }
+; { dg-options "--no-underscore --em=criself" }
+
+ .syntax no_register_prefix
+ .text
+start:
+ move.d extsym2:GDGOTREL,r5 ; { dg-error "operand" }
+ move.w extsym2:GDGOTREL16,r5 ; { dg-error "operand" }
+ move.d extsym1:DTPREL,r4 ; { dg-error "operand" }
+ move.w extsym3:DTPREL16,r6 ; { dg-error "operand" }
+ move.w extsym13:TPOFFGOT16,r10 ; { dg-error "operand" }
+ move extsym4:TPOFFGOT,srp ; { dg-error "operand" }