OLD | NEW |
1 /* Target-dependent code for NaCl. | 1 /* Target-dependent code for NaCl. |
2 | 2 |
3 Copyright (C) 2001, 2003-2012 Free Software Foundation, Inc. | 3 Copyright (C) 2001, 2003-2012 Free Software Foundation, Inc. |
4 | 4 |
5 This file is part of GDB. | 5 This file is part of GDB. |
6 | 6 |
7 This program is free software; you can redistribute it and/or modify | 7 This program is free software; you can redistribute it and/or modify |
8 it under the terms of the GNU General Public License as published by | 8 it under the terms of the GNU General Public License as published by |
9 the Free Software Foundation; either version 3 of the License, or | 9 the Free Software Foundation; either version 3 of the License, or |
10 (at your option) any later version. | 10 (at your option) any later version. |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 | 125 |
126 static int | 126 static int |
127 amd64_nacl_software_single_step (struct frame_info *frame) | 127 amd64_nacl_software_single_step (struct frame_info *frame) |
128 { | 128 { |
129 struct gdbarch *gdbarch; | 129 struct gdbarch *gdbarch; |
130 CORE_ADDR pc; | 130 CORE_ADDR pc; |
131 CORE_ADDR bp_pc; | 131 CORE_ADDR bp_pc; |
132 | 132 |
133 gdbarch = get_frame_arch (frame); | 133 gdbarch = get_frame_arch (frame); |
134 pc = get_frame_register_unsigned (frame, gdbarch_pc_regnum (gdbarch)); | 134 pc = get_frame_register_unsigned (frame, gdbarch_pc_regnum (gdbarch)); |
| 135 pc = amd64_nacl_addr_bits_remove (gdbarch, pc); |
135 | 136 |
136 /* Check if next instruction is rsp sandboxing. If yes, assume current | 137 /* Check if next instruction is rsp sandboxing. If yes, assume current |
137 instruction is rsp modification. */ | 138 instruction is rsp modification. */ |
138 pc += gdb_insn_length (gdbarch, pc); | 139 pc += gdb_insn_length (gdbarch, pc); |
139 bp_pc = amd64_nacl_skip_rsp_sandboxing (pc); | 140 bp_pc = amd64_nacl_skip_rsp_sandboxing (pc); |
140 if (bp_pc != pc) | 141 if (bp_pc != pc) |
141 { | 142 { |
142 insert_single_step_breakpoint (gdbarch, | 143 insert_single_step_breakpoint (gdbarch, |
143 get_frame_address_space (frame), | 144 get_frame_address_space (frame), |
144 bp_pc); | 145 bp_pc); |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
191 | 192 |
192 void | 193 void |
193 _initialize_nacl_tdep (void) | 194 _initialize_nacl_tdep (void) |
194 { | 195 { |
195 gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x86_64, | 196 gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x86_64, |
196 GDB_OSABI_NACL, amd64_nacl_init_abi); | 197 GDB_OSABI_NACL, amd64_nacl_init_abi); |
197 | 198 |
198 gdbarch_register_osabi (bfd_arch_i386, 0, | 199 gdbarch_register_osabi (bfd_arch_i386, 0, |
199 GDB_OSABI_NACL, i386_nacl_init_abi); | 200 GDB_OSABI_NACL, i386_nacl_init_abi); |
200 } | 201 } |
OLD | NEW |