| OLD | NEW |
| 1 /* Target-dependent code for AMD64. | 1 /* Target-dependent code for AMD64. |
| 2 | 2 |
| 3 Copyright (C) 2001-2012 Free Software Foundation, Inc. | 3 Copyright (C) 2001-2012 Free Software Foundation, Inc. |
| 4 | 4 |
| 5 Contributed by Jiri Smid, SuSE Labs. | 5 Contributed by Jiri Smid, SuSE Labs. |
| 6 | 6 |
| 7 This file is part of GDB. | 7 This file is part of GDB. |
| 8 | 8 |
| 9 This program is free software; you can redistribute it and/or modify | 9 This program is free software; you can redistribute it and/or modify |
| 10 it under the terms of the GNU General Public License as published by | 10 it under the terms of the GNU General Public License as published by |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 #include "regset.h" | 36 #include "regset.h" |
| 37 #include "symfile.h" | 37 #include "symfile.h" |
| 38 #include "disasm.h" | 38 #include "disasm.h" |
| 39 #include "gdb_assert.h" | 39 #include "gdb_assert.h" |
| 40 #include "exceptions.h" | 40 #include "exceptions.h" |
| 41 #include "amd64-tdep.h" | 41 #include "amd64-tdep.h" |
| 42 #include "i387-tdep.h" | 42 #include "i387-tdep.h" |
| 43 | 43 |
| 44 #include "features/i386/amd64.c" | 44 #include "features/i386/amd64.c" |
| 45 #include "features/i386/amd64-avx.c" | 45 #include "features/i386/amd64-avx.c" |
| 46 #include "features/i386/x32.c" |
| 47 #include "features/i386/x32-avx.c" |
| 46 | 48 |
| 47 #include "ax.h" | 49 #include "ax.h" |
| 48 #include "ax-gdb.h" | 50 #include "ax-gdb.h" |
| 49 | 51 |
| 50 /* Note that the AMD64 architecture was previously known as x86-64. | 52 /* Note that the AMD64 architecture was previously known as x86-64. |
| 51 The latter is (forever) engraved into the canonical system name as | 53 The latter is (forever) engraved into the canonical system name as |
| 52 returned by config.guess, and used as the name for the AMD64 port | 54 returned by config.guess, and used as the name for the AMD64 port |
| 53 of GNU/Linux. The BSD's have renamed their ports to amd64; they | 55 of GNU/Linux. The BSD's have renamed their ports to amd64; they |
| 54 don't like to shout. For GDB we prefer the amd64_-prefix over the | 56 don't like to shout. For GDB we prefer the amd64_-prefix over the |
| 55 x86_64_-prefix since it's so much easier to type. */ | 57 x86_64_-prefix since it's so much easier to type. */ |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 { | 251 { |
| 250 "ax", "bx", "cx", "dx", "si", "di", "bp", "", | 252 "ax", "bx", "cx", "dx", "si", "di", "bp", "", |
| 251 "r8w", "r9w", "r10w", "r11w", "r12w", "r13w", "r14w", "r15w" | 253 "r8w", "r9w", "r10w", "r11w", "r12w", "r13w", "r14w", "r15w" |
| 252 }; | 254 }; |
| 253 | 255 |
| 254 /* Register names for dword pseudo-registers. */ | 256 /* Register names for dword pseudo-registers. */ |
| 255 | 257 |
| 256 static const char *amd64_dword_names[] = | 258 static const char *amd64_dword_names[] = |
| 257 { | 259 { |
| 258 "eax", "ebx", "ecx", "edx", "esi", "edi", "ebp", "esp", | 260 "eax", "ebx", "ecx", "edx", "esi", "edi", "ebp", "esp", |
| 259 "r8d", "r9d", "r10d", "r11d", "r12d", "r13d", "r14d", "r15d" | 261 "r8d", "r9d", "r10d", "r11d", "r12d", "r13d", "r14d", "r15d", |
| 262 "eip" |
| 260 }; | 263 }; |
| 261 | 264 |
| 262 /* Return the name of register REGNUM. */ | 265 /* Return the name of register REGNUM. */ |
| 263 | 266 |
| 264 static const char * | 267 static const char * |
| 265 amd64_pseudo_register_name (struct gdbarch *gdbarch, int regnum) | 268 amd64_pseudo_register_name (struct gdbarch *gdbarch, int regnum) |
| 266 { | 269 { |
| 267 struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); | 270 struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); |
| 268 if (i386_byte_regnum_p (gdbarch, regnum)) | 271 if (i386_byte_regnum_p (gdbarch, regnum)) |
| 269 return amd64_byte_names[regnum - tdep->al_regnum]; | 272 return amd64_byte_names[regnum - tdep->al_regnum]; |
| (...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 582 /* The 64-bit mantissa of arguments of type long double belongs to | 585 /* The 64-bit mantissa of arguments of type long double belongs to |
| 583 class X87, the 16-bit exponent plus 6 bytes of padding belongs to | 586 class X87, the 16-bit exponent plus 6 bytes of padding belongs to |
| 584 class X87UP. */ | 587 class X87UP. */ |
| 585 else if (code == TYPE_CODE_FLT && len == 16) | 588 else if (code == TYPE_CODE_FLT && len == 16) |
| 586 /* Class X87 and X87UP. */ | 589 /* Class X87 and X87UP. */ |
| 587 class[0] = AMD64_X87, class[1] = AMD64_X87UP; | 590 class[0] = AMD64_X87, class[1] = AMD64_X87UP; |
| 588 | 591 |
| 589 /* Aggregates. */ | 592 /* Aggregates. */ |
| 590 else if (code == TYPE_CODE_ARRAY || code == TYPE_CODE_STRUCT | 593 else if (code == TYPE_CODE_ARRAY || code == TYPE_CODE_STRUCT |
| 591 || code == TYPE_CODE_UNION) | 594 || code == TYPE_CODE_UNION) |
error: old chunk mismatch |
None
| OLD | NEW |