OLD | NEW |
1 /* Target-dependent code for Analog Devices Blackfin processor, for GDB. | 1 /* Target-dependent code for Analog Devices Blackfin processor, for GDB. |
2 | 2 |
3 Copyright (C) 2005-2012 Free Software Foundation, Inc. | 3 Copyright (C) 2005-2012 Free Software Foundation, Inc. |
4 | 4 |
5 Contributed by Analog Devices, Inc. | 5 Contributed by Analog Devices, Inc. |
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 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 static void | 96 static void |
97 bfin_linux_sigframe_init (const struct tramp_frame *self, | 97 bfin_linux_sigframe_init (const struct tramp_frame *self, |
98 struct frame_info *this_frame, | 98 struct frame_info *this_frame, |
99 struct trad_frame_cache *this_cache, | 99 struct trad_frame_cache *this_cache, |
100 CORE_ADDR func) | 100 CORE_ADDR func) |
101 { | 101 { |
102 struct gdbarch *gdbarch = get_frame_arch (this_frame); | 102 struct gdbarch *gdbarch = get_frame_arch (this_frame); |
103 CORE_ADDR sp = get_frame_sp (this_frame); | 103 CORE_ADDR sp = get_frame_sp (this_frame); |
104 CORE_ADDR pc = get_frame_pc (this_frame); | 104 CORE_ADDR pc = get_frame_pc (this_frame); |
105 CORE_ADDR sigcontext = sp + SIGCONTEXT_OFFSET; | 105 CORE_ADDR sigcontext = sp + SIGCONTEXT_OFFSET; |
106 struct frame_id this_id; | |
107 const int *reg_offset = bfin_linux_sigcontext_reg_offset; | 106 const int *reg_offset = bfin_linux_sigcontext_reg_offset; |
108 int i; | 107 int i; |
109 | 108 |
110 for (i = 0; i < BFIN_NUM_REGS; i++) | 109 for (i = 0; i < BFIN_NUM_REGS; i++) |
111 if (reg_offset[i] != -1) | 110 if (reg_offset[i] != -1) |
112 trad_frame_set_reg_addr (this_cache, i, sigcontext + reg_offset[i]); | 111 trad_frame_set_reg_addr (this_cache, i, sigcontext + reg_offset[i]); |
113 | 112 |
114 /* This would come after the LINK instruction in the ret_from_signal | 113 /* This would come after the LINK instruction in the ret_from_signal |
115 function, hence the frame id would be SP + 8. */ | 114 function, hence the frame id would be SP + 8. */ |
116 trad_frame_set_id (this_cache, frame_id_build (sp + 8, pc)); | 115 trad_frame_set_id (this_cache, frame_id_build (sp + 8, pc)); |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 | 164 |
166 /* Provide a prototype to silence -Wmissing-prototypes. */ | 165 /* Provide a prototype to silence -Wmissing-prototypes. */ |
167 extern initialize_file_ftype _initialize_bfin_linux_tdep; | 166 extern initialize_file_ftype _initialize_bfin_linux_tdep; |
168 | 167 |
169 void | 168 void |
170 _initialize_bfin_linux_tdep (void) | 169 _initialize_bfin_linux_tdep (void) |
171 { | 170 { |
172 gdbarch_register_osabi (bfd_arch_bfin, 0, GDB_OSABI_LINUX, | 171 gdbarch_register_osabi (bfd_arch_bfin, 0, GDB_OSABI_LINUX, |
173 bfin_linux_init_abi); | 172 bfin_linux_init_abi); |
174 } | 173 } |
OLD | NEW |