From: Ulrich Drepper Date: Tue, 22 Jan 2008 06:02:31 +0000 (+0000) Subject: propagate from branch 'com.redhat.elfutils.roland.pending' (head 6b4ecd4bacd23aaea492... X-Git-Tag: elfutils-0.133~19 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4d8bc811506292938ab66120e51c9810e1d21c3d;p=thirdparty%2Felfutils.git propagate from branch 'com.redhat.elfutils.roland.pending' (head 6b4ecd4bacd23aaea4922adc10aab7908c45d23e) to branch 'com.redhat.elfutils' (head 80a9de86977a1031c60888fe4072688434a961be) --- diff --git a/libcpu/ChangeLog b/libcpu/ChangeLog index 4b225af8b..ff642de15 100644 --- a/libcpu/ChangeLog +++ b/libcpu/ChangeLog @@ -1,5 +1,8 @@ 2008-01-21 Roland McGrath + * 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. diff --git a/libcpu/defs/i386 b/libcpu/defs/i386 index 1b4bbb4a5..4abbc261b 100644 --- a/libcpu/defs/i386 +++ b/libcpu/defs/i386 @@ -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 diff --git a/libcpu/i386_disasm.c b/libcpu/i386_disasm.c index d8bcf9b32..9024571c9 100644 --- a/libcpu/i386_disasm.c +++ b/libcpu/i386_disasm.c @@ -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"; diff --git a/tests/ChangeLog b/tests/ChangeLog index 104172665..319b78497 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,8 @@ +2008-01-21 Roland McGrath + + * testfile45.S.bz2: Add tests for cltq, cqto. + * testfile45.expect.bz2: Adjust. + 2008-01-14 Ulrich Drepper * testfile45.S.bz2: Add more tests. diff --git a/tests/testfile45.S.bz2 b/tests/testfile45.S.bz2 index 2d44ed8f3..91b479559 100644 Binary files a/tests/testfile45.S.bz2 and b/tests/testfile45.S.bz2 differ diff --git a/tests/testfile45.expect.bz2 b/tests/testfile45.expect.bz2 index f571afd1d..06b4d9bd2 100644 Binary files a/tests/testfile45.expect.bz2 and b/tests/testfile45.expect.bz2 differ