gas/testsuite/ChangeLog
authorAlan Modra <amodra@gmail.com>
Fri, 21 Jan 2000 10:18:33 +0000 (10:18 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 21 Jan 2000 10:18:33 +0000 (10:18 +0000)
* gas/i386/general.{s,l}: Move 16 bit jmp and call tests from here
* gas/i386/jump16.{s,d}: To here.
* gas/i386/jump.{s,d}: New files.  Duplicate 32 bit jmp and call
tests in general.s so that objdump is exercised.

* gas/i386/i386.exp: Call new tests.

gas/testsuite/ChangeLog
gas/testsuite/gas/i386/general.l
gas/testsuite/gas/i386/general.s
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/jump.d [new file with mode: 0644]
gas/testsuite/gas/i386/jump.s [new file with mode: 0644]
gas/testsuite/gas/i386/jump16.d [new file with mode: 0644]
gas/testsuite/gas/i386/jump16.s [new file with mode: 0644]

index c6c1e82fc2a0fbeb5c96811615ce3866654e549b..e63162684347ec2fab68866e3c616ea1e3b1d03b 100644 (file)
@@ -1,3 +1,12 @@
+2000-01-21  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+       * gas/i386/general.{s,l}: Move 16 bit jmp and call tests from here
+       * gas/i386/jump16.{s,d}: To here.
+       * gas/i386/jump.{s,d}: New files.  Duplicate 32 bit jmp and call
+       tests in general.s so that objdump is exercised.
+
+       * gas/i386/i386.exp: Call new tests.
+
 2000-01-15  Alan Modra  <alan@spri.levels.unisa.edu.au>
 
        * gas/i386/general.{s,l}: Add jmp and call tests for .code16gcc,
index 4e0fb0a3e794523f0214b793195c66cd1b9e620f..bbb59efc17e82c654a5630c309f561322c5034a8 100644 (file)
 .*:180: Warning:.*
 .*:182: Warning:.*
 .*:184: Warning:.*
-.*:191: Warning:.*
-.*:193: Warning:.*
-.*:195: Warning:.*
-.*:197: Warning:.*
-.*:199: Warning:.*
-.*:205: Warning:.*
-.*:207: Warning:.*
-.*:209: Warning:.*
-.*:211: Warning:.*
-.*:213: Warning:.*
-.*:220: Warning:.*
-.*:222: Warning:.*
-.*:224: Warning:.*
-.*:226: Warning:.*
-.*:228: Warning:.*
-.*:234: Warning:.*
-.*:236: Warning:.*
-.*:238: Warning:.*
-.*:240: Warning:.*
-.*:242: Warning:.*
    1                           .psize 0
    2                           .text
    3                           # test various segment reg insns
  156 0160 67668984 248C0000            movl    %eax,140\(%esp\)
  156      00
  157                           
- 158                           .extern xxx
+ 158                           .code32
  159 0169 EB98                         jmp     1b
- 160 016b E9FEFF                       jmp     xxx
- 161 016e FF260000                     jmp     \*xxx
- 162 0172 FF260000                     jmp     xxx\(,1\)
+ 160 016b E9FCFFFF FF                  jmp     xxx
+ 161 0170 FF250000 0000                jmp     \*xxx
+ 162 0176 FF250000 0000                jmp     xxx\(,1\)
 .*Warning:.*
- 163 0176 66FFE7                       jmp     \*%edi
- 164 0179 66FFE7                       jmp     %edi
+ 163 017c FFE7                         jmp     \*%edi
+ 164 017e FFE7                         jmp     %edi
 .*Warning:.*
- 165 017c 67FF27                       jmp     \*\(%edi\)
- 166 017f 67FF27                       jmp     \(%edi\)
+ 165 0180 FF27                         jmp     \*\(%edi\)
+ 166 0182 FF27                         jmp     \(%edi\)
 .*Warning:.*
- 167 0182 67FFAF00 000000              ljmp    \*xxx\(%edi\)
- 168 0189 67FFAF00 000000              ljmp    xxx\(%edi\)
+ 167 0184 FF2CBD00 000000              ljmp    \*xxx\(,%edi,4\)
+ 168 018b FF2CBD00 000000              ljmp    xxx\(,%edi,4\)
 .*Warning:.*
- 169 0190 FF2E0000                     ljmp    \*xxx
- 170 0194 FF2E0000                     ljmp    xxx\(,1\)
+ 169 0192 FF2D0000 0000                ljmp    \*xxx
+ 170 0198 FF2D0000 0000                ljmp    xxx\(,1\)
 .*Warning:.*
- 171 0198 EA000034 12                  ljmp    \$0x1234,\$xxx
+ 171 019e EA000000 003412              ljmp    \$0x1234,\$xxx
  172                           
- 173 019d 66E860FF FFFF                call    1b
- 174 01a3 66E8FCFF FFFF                call    xxx
- 175 01a9 66FF1600 00                  call    \*xxx
- 176 01ae 66FF1600 00                  call    xxx\(,1\)
+ 173 01a5 E859FFFF FF                  call    1b
+ 174 01aa E8FCFFFF FF                  call    xxx
+ 175 01af FF150000 0000                call    \*xxx
+ 176 01b5 FF150000 0000                call    xxx\(,1\)
 .*Warning:.*
- 177 01b3 66FFD7                       call    \*%edi
- 178 01b6 66FFD7                       call    %edi
+ 177 01bb FFD7                         call    \*%edi
+ 178 01bd FFD7                         call    %edi
 .*Warning:.*
- 179 01b9 6766FF17                     call    \*\(%edi\)
- 180 01bd 6766FF17                     call    \(%edi\)
+ 179 01bf FF17                         call    \*\(%edi\)
+ 180 01c1 FF17                         call    \(%edi\)
 .*Warning:.*
- 181 01c1 6766FF9F 00000000            lcall   \*xxx\(%edi\)
- 182 01c9 6766FF9F 00000000            lcall   xxx\(%edi\)
+ 181 01c3 FF1CBD00 000000              lcall   \*xxx\(,%edi,4\)
+ 182 01ca FF1CBD00 000000              lcall   xxx\(,%edi,4\)
 .*Warning:.*
- 183 01d1 66FF1E00 00                  lcall   \*xxx
- 184 01d6 66FF1E00 00                  lcall   xxx\(,1\)
+ 183 01d1 FF1D0000 0000                lcall   \*xxx
+ 184 01d7 FF1D0000 0000                lcall   xxx\(,1\)
 .*Warning:.*
- 185 01db 669A0000 00003412            lcall   \$0x1234,\$xxx
+ 185 01dd 9A000000 003412              lcall   \$0x1234,\$xxx
  186                           
- 187                           .code16
- 188 01e3 E91DFF                       jmp     1b
- 189 01e6 E9FEFF                       jmp     xxx
- 190 01e9 FF260000                     jmp     \*xxx
- 191 01ed FF260000                     jmp     xxx\(,1\)
-.*Warning:.*
- 192 01f1 FFE7                         jmp     \*%di
- 193 01f3 FFE7                         jmp     %di
-.*Warning:.*
- 194 01f5 FF25                         jmp     \*\(%di\)
- 195 01f7 FF25                         jmp     \(%di\)
-.*Warning:.*
- 196 01f9 FFAD0000                     ljmp    \*xxx\(%di\)
- 197 01fd FFAD0000                     ljmp    xxx\(%di\)
-.*Warning:.*
- 198 0201 FF2E0000                     ljmp    \*xxx
- 199 0205 FF2E0000                     ljmp    xxx\(,1\)
-.*Warning:.*
- 200 0209 EA000034 12                  ljmp    \$0x1234,\$xxx
- 201                           
- 202 020e E8F2FE                       call    1b
- 203 0211 E8FEFF                       call    xxx
- 204 0214 FF160000                     call    \*xxx
- 205 0218 FF160000                     call    xxx\(,1\)
-.*Warning:.*
- 206 021c FFD7                         call    \*%di
- 207 021e FFD7                         call    %di
-.*Warning:.*
- 208 0220 FF15                         call    \*\(%di\)
- 209 0222 FF15                         call    \(%di\)
-.*Warning:.*
- 210 0224 FF9D0000                     lcall   \*xxx\(%di\)
- 211 0228 FF9D0000                     lcall   xxx\(%di\)
-.*Warning:.*
- 212 022c FF1E0000                     lcall   \*xxx
- 213 0230 FF1E0000                     lcall   xxx\(,1\)
-.*Warning:.*
- 214 0234 9A000034 12                  lcall   \$0x1234,\$xxx
- 215                           
- 216                           .code32
- 217 0239 E9C5FEFF FF                  jmp     1b
- 218 023e E9FCFFFF FF                  jmp     xxx
- 219 0243 FF250000 0000                jmp     \*xxx
- 220 0249 FF250000 0000                jmp     xxx\(,1\)
-.*Warning:.*
- 221 024f FFE7                         jmp     \*%edi
- 222 0251 FFE7                         jmp     %edi
-.*Warning:.*
- 223 0253 FF27                         jmp     \*\(%edi\)
- 224 0255 FF27                         jmp     \(%edi\)
-.*Warning:.*
- 225 0257 FF2CBD00 000000              ljmp    \*xxx\(,%edi,4\)
- 226 025e FF2CBD00 000000              ljmp    xxx\(,%edi,4\)
-.*Warning:.*
- 227 0265 FF2D0000 0000                ljmp    \*xxx
- 228 026b FF2D0000 0000                ljmp    xxx\(,1\)
-.*Warning:.*
- 229 0271 EA000000 003412              ljmp    \$0x1234,\$xxx
- 230                           
- 231 0278 E886FEFF FF                  call    1b
- 232 027d E8FCFFFF FF                  call    xxx
- 233 0282 FF150000 0000                call    \*xxx
- 234 0288 FF150000 0000                call    xxx\(,1\)
-.*Warning:.*
- 235 028e FFD7                         call    \*%edi
- 236 0290 FFD7                         call    %edi
-.*Warning:.*
- 237 0292 FF17                         call    \*\(%edi\)
- 238 0294 FF17                         call    \(%edi\)
-.*Warning:.*
- 239 0296 FF1CBD00 000000              lcall   \*xxx\(,%edi,4\)
- 240 029d FF1CBD00 000000              lcall   xxx\(,%edi,4\)
-.*Warning:.*
- 241 02a4 FF1D0000 0000                lcall   \*xxx
- 242 02aa FF1D0000 0000                lcall   xxx\(,1\)
-.*Warning:.*
- 243 02b0 9A000000 003412              lcall   \$0x1234,\$xxx
- 244                           
- 245                                   # Force a good alignment.
- 246 02b7 00000000 00000000            .p2align        4,0
- 246      00
+ 187                                   # Force a good alignment.
+ 188 01e4 00000000 00000000            .p2align        4,0
+ 188      00000000 
index d8be9373e74f27db9ee3f7e2185afef30de74aeb..c794157c89de9eb5bfce3263fdc68c6897504b7b 100644 (file)
        leal    -1760(%ebp),%ebx
        movl    %eax,140(%esp)
 
-.extern xxx
-       jmp     1b
-       jmp     xxx
-       jmp     *xxx
-       jmp     xxx(,1)
-       jmp     *%edi
-       jmp     %edi
-       jmp     *(%edi)
-       jmp     (%edi)
-       ljmp    *xxx(%edi)
-       ljmp    xxx(%edi)
-       ljmp    *xxx
-       ljmp    xxx(,1)
-       ljmp    $0x1234,$xxx
-
-       call    1b
-       call    xxx
-       call    *xxx
-       call    xxx(,1)
-       call    *%edi
-       call    %edi
-       call    *(%edi)
-       call    (%edi)
-       lcall   *xxx(%edi)
-       lcall   xxx(%edi)
-       lcall   *xxx
-       lcall   xxx(,1)
-       lcall   $0x1234,$xxx
-
-.code16
-       jmp     1b
-       jmp     xxx
-       jmp     *xxx
-       jmp     xxx(,1)
-       jmp     *%di
-       jmp     %di
-       jmp     *(%di)
-       jmp     (%di)
-       ljmp    *xxx(%di)
-       ljmp    xxx(%di)
-       ljmp    *xxx
-       ljmp    xxx(,1)
-       ljmp    $0x1234,$xxx
-
-       call    1b
-       call    xxx
-       call    *xxx
-       call    xxx(,1)
-       call    *%di
-       call    %di
-       call    *(%di)
-       call    (%di)
-       lcall   *xxx(%di)
-       lcall   xxx(%di)
-       lcall   *xxx
-       lcall   xxx(,1)
-       lcall   $0x1234,$xxx
-
 .code32
        jmp     1b
        jmp     xxx
index 94011364a6eaee12e52dfbb1aaed9996f5afa2a5..a431bb6cd61c0ccbd26fb59f4cf168d2b4856de6 100644 (file)
@@ -26,11 +26,13 @@ if [istarget "i*86-*-*"] then {
     run_dump_test "prefix"
     run_dump_test "amd"
     run_dump_test "katmai"
+    run_dump_test "jump"
 
-    # The reloc and white tests require support for 8 and 16 bit
-    # relocs, so we only run them for ELF and COFF targets.
+    # These tests require support for 8 and 16 bit relocs,
+    # so we only run them for ELF and COFF targets.
     if {[istarget "*-*-elf*"] || [istarget "*-*-linux*"] || [istarget "*-*-coff*"]} then {
        run_dump_test "reloc"
+       run_dump_test "jump16"
        run_list_test "white" "-al --listing-lhs-width=3"
     }
 }
diff --git a/gas/testsuite/gas/i386/jump.d b/gas/testsuite/gas/i386/jump.d
new file mode 100644 (file)
index 0000000..90e893e
--- /dev/null
@@ -0,0 +1,26 @@
+#name: i386 jump
+#objdump: -drw
+
+.*: +file format .*i386.*
+
+Disassembly of section .text:
+
+0+000 <.text>:
+   0:  eb fe [         ]*jmp    (0x0|0 <.text>)
+   2:  e9 (fc|f9) ff ff ff [   ]*jmp    (0x3|0 <.text>)        3: (R_386_PC)?(DISP)?32 xxx
+   7:  ff 25 00 00 00 00 [     ]*jmp    \*0x0  9: (R_386_)?(dir)?32    xxx
+   d:  ff e7 [         ]*jmp    \*%edi
+   f:  ff 27 [         ]*jmp    \*\(%edi\)
+  11:  ff 2c bd 00 00 00 00 [  ]*ljmp   \*0x0\(,%edi,4\)       14: (R_386_)?(dir)?32   xxx
+  18:  ff 2d 00 00 00 00 [     ]*ljmp   \*0x0  1a: (R_386_)?(dir)?32   xxx
+  1e:  ea 00 00 00 00 34 12 [  ]*ljmp   \$0x1234,\$0x0 1f: (R_386_)?(dir)?32   xxx
+  25:  e8 d6 ff ff ff [        ]*call   (0x0|0 <.text>)
+  2a:  e8 (fc|d1) ff ff ff [   ]*call   (0x2b|0 <.text>)       2b: (R_386_PC)?(DISP)?32        xxx
+  2f:  ff 15 00 00 00 00 [     ]*call   \*0x0  31: (R_386_)?(dir)?32   xxx
+  35:  ff d7 [         ]*call   \*%edi
+  37:  ff 17 [         ]*call   \*\(%edi\)
+  39:  ff 1c bd 00 00 00 00 [  ]*lcall  \*0x0\(,%edi,4\)       3c: (R_386_)?(dir)?32   xxx
+  40:  ff 1d 00 00 00 00 [     ]*lcall  \*0x0  42: (R_386_)?(dir)?32   xxx
+  46:  9a 00 00 00 00 34 12 [  ]*lcall  \$0x1234,\$0x0 47: (R_386_)?(dir)?32   xxx
+  4d:.*
+.*
diff --git a/gas/testsuite/gas/i386/jump.s b/gas/testsuite/gas/i386/jump.s
new file mode 100644 (file)
index 0000000..1f11cd3
--- /dev/null
@@ -0,0 +1,24 @@
+.psize 0
+.text
+.extern xxx
+
+1:     jmp     1b
+       jmp     xxx
+       jmp     *xxx
+       jmp     *%edi
+       jmp     *(%edi)
+       ljmp    *xxx(,%edi,4)
+       ljmp    *xxx
+       ljmp    $0x1234,$xxx
+
+       call    1b
+       call    xxx
+       call    *xxx
+       call    *%edi
+       call    *(%edi)
+       lcall   *xxx(,%edi,4)
+       lcall   *xxx
+       lcall   $0x1234,$xxx
+
+       # Force a good alignment.
+       .p2align        4,0
diff --git a/gas/testsuite/gas/i386/jump16.d b/gas/testsuite/gas/i386/jump16.d
new file mode 100644 (file)
index 0000000..4513e4a
--- /dev/null
@@ -0,0 +1,40 @@
+#name: i386 jump16
+#objdump: -drw -mi8086
+
+.*:     file format .*i386.*
+
+Disassembly of section .text:
+
+0+000 <.text>:
+   0:  eb fe [         ]*jmp    (0x0|0 <.text>)
+   2:  e9 (fe|fb) ff [         ]*jmp    (0x3|0 <.text>)        3: (R_386_PC)?(DISP)?16 xxx
+   5:  ff 26 00 00 [   ]*jmp    \*0    7: (R_386_)?(dir)?16    xxx
+   9:  66 ff e7 [      ]*jmpl   \*%edi
+   c:  67 ff 27 [      ]*addr32 jmp \*\(%edi\)
+   f:  67 ff af 00 00 00 00 [  ]*addr32 ljmp \*0x0\(%edi\)     12: (R_386_)?(dir)?32   xxx
+  16:  ff 2e 00 00 [   ]*ljmp   \*0    18: (R_386_)?(dir)?16   xxx
+  1a:  ea 00 00 34 12 [        ]*ljmp   \$0x1234,\$0x0 1b: (R_386_)?(dir)?16   xxx
+  1f:  66 e8 db ff ff ff [     ]*calll  (0x0|0 <.text>)
+  25:  66 e8 (fc|d5) ff ff ff [        ]*calll  (0x27|0 <.text>)       27: (R_386_PC)?(DISP)?32        xxx
+  2b:  66 ff 16 00 00 [        ]*calll  \*0    2e: (R_386_)?(dir)?16   xxx
+  30:  66 ff d7 [      ]*calll  \*%edi
+  33:  67 66 ff 17 [   ]*addr32 calll \*\(%edi\)
+  37:  67 66 ff 9f 00 00 00 00 [       ]*addr32 lcalll \*0x0\(%edi\)   3b: (R_386_)?(dir)?32   xxx
+  3f:  66 ff 1e 00 00 [        ]*lcalll \*0    42: (R_386_)?(dir)?16   xxx
+  44:  66 9a 00 00 00 00 34 12 [       ]*lcalll \$0x1234,\$0x0 46: (R_386_)?(dir)?32   xxx
+  4c:  eb b2 [         ]*jmp    (0x0|0 <.text>)
+  4e:  ff 26 00 00 [   ]*jmp    \*0    50: (R_386_)?(dir)?16   xxx
+  52:  ff e7 [         ]*jmp    \*%di
+  54:  ff 25 [         ]*jmp    \*\(%di\)
+  56:  ff ad 00 00 [   ]*ljmp   \*0\(%di\)     58: (R_386_)?(dir)?16   xxx
+  5a:  ff 2e 00 00 [   ]*ljmp   \*0    5c: (R_386_)?(dir)?16   xxx
+  5e:  ea 00 00 34 12 [        ]*ljmp   \$0x1234,\$0x0 5f: (R_386_)?(dir)?16   xxx
+  63:  e8 9a ff [      ]*call   (0x0|0 <.text>)
+  66:  e8 (fe|97) ff [         ]*call   (0x67|0 <.text>)       67: (R_386_PC)?(DISP)?16        xxx
+  69:  ff 16 00 00 [   ]*call   \*0    6b: (R_386_)?(dir)?16   xxx
+  6d:  ff d7 [         ]*call   \*%di
+  6f:  ff 15 [         ]*call   \*\(%di\)
+  71:  ff 9d 00 00 [   ]*lcall  \*0\(%di\)     73: (R_386_)?(dir)?16   xxx
+  75:  ff 1e 00 00 [   ]*lcall  \*0    77: (R_386_)?(dir)?16   xxx
+  79:  9a 00 00 34 12 [        ]*lcall  \$0x1234,\$0x0 7a: (R_386_)?(dir)?16   xxx
+       ...
diff --git a/gas/testsuite/gas/i386/jump16.s b/gas/testsuite/gas/i386/jump16.s
new file mode 100644 (file)
index 0000000..1eee242
--- /dev/null
@@ -0,0 +1,43 @@
+.psize 0
+.text
+.extern xxx
+
+.code16gcc
+1:     jmp     1b
+       jmp     xxx
+       jmp     *xxx
+       jmp     *%edi
+       jmp     *(%edi)
+       ljmp    *xxx(%edi)
+       ljmp    *xxx
+       ljmp    $0x1234,$xxx
+
+       call    1b
+       call    xxx
+       call    *xxx
+       call    *%edi
+       call    *(%edi)
+       lcall   *xxx(%edi)
+       lcall   *xxx
+       lcall   $0x1234,$xxx
+
+.code16
+       jmp     1b
+       jmp     *xxx
+       jmp     *%di
+       jmp     *(%di)
+       ljmp    *xxx(%di)
+       ljmp    *xxx
+       ljmp    $0x1234,$xxx
+
+       call    1b
+       call    xxx
+       call    *xxx
+       call    *%di
+       call    *(%di)
+       lcall   *xxx(%di)
+       lcall   *xxx
+       lcall   $0x1234,$xxx
+
+       # Force a good alignment.
+       .p2align        4,0