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 |