]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
propagate from branch 'com.redhat.elfutils.roland.pending' (head 6b4ecd4bacd23aaea492...
authorUlrich Drepper <drepper@redhat.com>
Tue, 22 Jan 2008 06:02:31 +0000 (06:02 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 22 Jan 2008 06:02:31 +0000 (06:02 +0000)
            to branch 'com.redhat.elfutils' (head 80a9de86977a1031c60888fe4072688434a961be)

libcpu/ChangeLog
libcpu/defs/i386
libcpu/i386_disasm.c
tests/ChangeLog
tests/testfile45.S.bz2
tests/testfile45.expect.bz2

index 4b225af8b7a5f44ba779cd58819a4807d5df48e1..ff642de153251dc61658da99c962f2ee9cc621c3 100644 (file)
@@ -1,5 +1,8 @@
 2008-01-21  Roland McGrath  <roland@redhat.com>
 
+       * defs/i386: Fix typo in comment.
+       * i386_disasm.c (i386_disasm): Handle cltq, cqto.
+
        * i386_parse.y: Add sanity check for NMNES macro value.
        * Makefile.am (i386_parse.o): Fix target in dependency rule.
        (i386_parse.h): New target with empty commands.
index 1b4bbb4a507800f3cfb762a41e7a45a5b0cc2332..4abbc261bb2a347144669a514d8b69865658d1e7 100644 (file)
@@ -116,7 +116,7 @@ ifdef(`i386',
 11111111,{mod}011{64r_m}:lcall{W} *{mod}{64r_m}
 # SPECIAL 10011000:[{rex.w}?cltq:{dpfx}?cbtw:cwtl]
 10011000:INVALID
-# SPECIAL 10011001:[{rew.w}?cqto:{dpfx}?cltd:cwtd]
+# SPECIAL 10011001:[{rex.w}?cqto:{dpfx}?cltd:cwtd]
 10011001:INVALID
 11111000:clc
 11111100:cld
index d8bcf9b3261d917b4d50ce2b4978575d2cdadb34..9024571c99c5b2c82ad7bf38f24b8c02497d69ad 100644 (file)
@@ -589,12 +589,22 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr,
 #endif
 
                        case 0x98:
+                         if (prefixes == (has_rex_w | has_rex))
+                           {
+                             str = "cltq";
+                             break;
+                           }
                          if (prefixes & ~has_data16)
                            goto print_prefix;
                          str = prefixes & has_data16 ? "cbtw" : "cwtl";
                          break;
 
                        case 0x99:
+                         if (prefixes == (has_rex_w | has_rex))
+                           {
+                             str = "cqto";
+                             break;
+                           }
                          if (prefixes & ~has_data16)
                            goto print_prefix;
                          str = prefixes & has_data16 ? "cwtd" : "cltd";
index 10417266572040599f0f27663858b9af8f0626f2..319b784977e671df142f5e76ef89b0456d4ea9a9 100644 (file)
@@ -1,3 +1,8 @@
+2008-01-21  Roland McGrath  <roland@redhat.com>
+
+       * testfile45.S.bz2: Add tests for cltq, cqto.
+       * testfile45.expect.bz2: Adjust.
+
 2008-01-14  Ulrich Drepper  <drepper@redhat.com>
 
        * testfile45.S.bz2: Add more tests.
index 2d44ed8f3fc99180d0f9c36e38f2276e82486a9c..91b47955993aa159e6fcd754fc4e34115e61871f 100644 (file)
Binary files a/tests/testfile45.S.bz2 and b/tests/testfile45.S.bz2 differ
index f571afd1d64b63558a819edbe3c8b6a958bcc21c..06b4d9bd251c31bc3b8f58136a65bb63d4341b18 100644 (file)
Binary files a/tests/testfile45.expect.bz2 and b/tests/testfile45.expect.bz2 differ