Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(216)

Side by Side Diff: gdb/solist.h

Issue 124383005: GDB 7.6.50 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@upstream
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gdb/solib-target.c ('k') | gdb/somread.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* Shared library declarations for GDB, the GNU Debugger. 1 /* Shared library declarations for GDB, the GNU Debugger.
2 Copyright (C) 1990-1996, 1998-2001, 2007-2012 Free Software 2 Copyright (C) 1990-2013 Free Software Foundation, Inc.
3 Foundation, Inc.
4 3
5 This file is part of GDB. 4 This file is part of GDB.
6 5
7 This program is free software; you can redistribute it and/or modify 6 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 7 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 8 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version. 9 (at your option) any later version.
11 10
12 This program is distributed in the hope that it will be useful, 11 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 { 81 {
83 /* Adjust the section binding addresses by the base address at 82 /* Adjust the section binding addresses by the base address at
84 which the object was actually mapped. */ 83 which the object was actually mapped. */
85 void (*relocate_section_addresses) (struct so_list *so, 84 void (*relocate_section_addresses) (struct so_list *so,
86 struct target_section *); 85 struct target_section *);
87 86
88 /* Free the link map info and any other private data structures 87 /* Free the link map info and any other private data structures
89 associated with a so_list entry. */ 88 associated with a so_list entry. */
90 void (*free_so) (struct so_list *so); 89 void (*free_so) (struct so_list *so);
91 90
91 /* Reset private data structures associated with SO.
92 This is called when SO is about to be reloaded.
93 It is also called before free_so when SO is about to be freed. */
94 void (*clear_so) (struct so_list *so);
95
92 /* Reset or free private data structures not associated with 96 /* Reset or free private data structures not associated with
93 so_list entries. */ 97 so_list entries. */
94 void (*clear_solib) (void); 98 void (*clear_solib) (void);
95 99
96 /* Target dependent code to run after child process fork. */ 100 /* Target dependent code to run after child process fork. */
97 void (*solib_create_inferior_hook) (int from_tty); 101 void (*solib_create_inferior_hook) (int from_tty);
98 102
99 /* Do additional symbol handling, lookup, etc. after symbols for a 103 /* Do additional symbol handling, lookup, etc. after symbols for a
100 shared object have been loaded in the usual way. This is 104 shared object have been loaded in the usual way. This is
101 called to do any system specific symbol handling that might be 105 called to do any system specific symbol handling that might be
(...skipping 16 matching lines...) Expand all
118 catch_errors requires a pointer argument. */ 122 catch_errors requires a pointer argument. */
119 int (*open_symbol_file_object) (void *from_ttyp); 123 int (*open_symbol_file_object) (void *from_ttyp);
120 124
121 /* Determine if PC lies in the dynamic symbol resolution code of 125 /* Determine if PC lies in the dynamic symbol resolution code of
122 the run time loader. */ 126 the run time loader. */
123 int (*in_dynsym_resolve_code) (CORE_ADDR pc); 127 int (*in_dynsym_resolve_code) (CORE_ADDR pc);
124 128
125 /* Find and open shared library binary file. */ 129 /* Find and open shared library binary file. */
126 bfd *(*bfd_open) (char *pathname); 130 bfd *(*bfd_open) (char *pathname);
127 131
128 /* Extra hook for finding and opening a solib. 132 /* Optional extra hook for finding and opening a solib.
129 Convenience function for remote debuggers finding host libs. */ 133 If TEMP_PATHNAME is non-NULL: If the file is successfully opened a
134 pointer to a malloc'd and realpath'd copy of SONAME is stored there,
135 otherwise NULL is stored there. */
130 int (*find_and_open_solib) (char *soname, 136 int (*find_and_open_solib) (char *soname,
131 unsigned o_flags, char **temp_pathname); 137 unsigned o_flags, char **temp_pathname);
132 138
133 /* Hook for looking up global symbols in a library-specific way. */ 139 /* Hook for looking up global symbols in a library-specific way. */
134 struct symbol * (*lookup_lib_global_symbol) (const struct objfile *objfile, 140 struct symbol * (*lookup_lib_global_symbol) (const struct objfile *objfile,
135 const char *name, 141 const char *name,
136 const domain_enum domain); 142 const domain_enum domain);
137 143
138 /* Given two so_list objects, one from the GDB thread list 144 /* Given two so_list objects, one from the GDB thread list
139 and another from the list returned by current_sos, return 1 145 and another from the list returned by current_sos, return 1
140 if they represent the same library. 146 if they represent the same library.
141 Falls back to using strcmp on so_original_name field when set 147 Falls back to using strcmp on so_original_name field when set
142 to NULL. */ 148 to NULL. */
143 int (*same) (struct so_list *gdb, struct so_list *inferior); 149 int (*same) (struct so_list *gdb, struct so_list *inferior);
144 150
145 /* Return whether a region of memory must be kept in a core file 151 /* Return whether a region of memory must be kept in a core file
146 for shared libraries loaded before "gcore" is used to be 152 for shared libraries loaded before "gcore" is used to be
147 handled correctly when the core file is loaded. This only 153 handled correctly when the core file is loaded. This only
148 applies when the section would otherwise not be kept in the 154 applies when the section would otherwise not be kept in the
149 core file (in particular, for readonly sections). */ 155 core file (in particular, for readonly sections). */
150 int (*keep_data_in_core) (CORE_ADDR vaddr, 156 int (*keep_data_in_core) (CORE_ADDR vaddr,
151 unsigned long size); 157 unsigned long size);
158
159 /* Enable or disable optional solib event breakpoints as
160 appropriate. This should be called whenever
161 stop_on_solib_events is changed. This pointer can be
162 NULL, in which case no enabling or disabling is necessary
163 for this target. */
164 void (*update_breakpoints) (void);
165
166 /* Target-specific processing of solib events that will be
167 performed before solib_add is called. This pointer can be
168 NULL, in which case no specific preprocessing is necessary
169 for this target. */
170 void (*handle_event) (void);
152 }; 171 };
153 172
154 /* Free the memory associated with a (so_list *). */ 173 /* Free the memory associated with a (so_list *). */
155 void free_so (struct so_list *so); 174 void free_so (struct so_list *so);
156 175
157 /* Return address of first so_list entry in master shared object list. */ 176 /* Return address of first so_list entry in master shared object list. */
158 struct so_list *master_so_list (void); 177 struct so_list *master_so_list (void);
159 178
160 /* Find shared library binary file. */ 179 /* Find shared library binary file. */
161 extern char *solib_find (char *in_pathname, int *fd); 180 extern char *solib_find (char *in_pathname, int *fd);
162 181
163 /* Open BFD for shared library file. */ 182 /* Open BFD for shared library file. */
164 extern bfd *solib_bfd_fopen (char *pathname, int fd); 183 extern bfd *solib_bfd_fopen (char *pathname, int fd);
165 184
166 /* Find solib binary file and open it. */ 185 /* Find solib binary file and open it. */
167 extern bfd *solib_bfd_open (char *in_pathname); 186 extern bfd *solib_bfd_open (char *in_pathname);
168 187
169 /* FIXME: gdbarch needs to control this variable. */ 188 /* FIXME: gdbarch needs to control this variable. */
170 extern struct target_so_ops *current_target_so_ops; 189 extern struct target_so_ops *current_target_so_ops;
171 190
172 /* Handler for library-specific global symbol lookup in solib.c. */ 191 /* Handler for library-specific global symbol lookup in solib.c. */
173 struct symbol *solib_global_lookup (const struct objfile *objfile, 192 struct symbol *solib_global_lookup (const struct objfile *objfile,
174 const char *name, 193 const char *name,
175 const domain_enum domain); 194 const domain_enum domain);
176 195
177 #endif 196 #endif
OLDNEW
« no previous file with comments | « gdb/solib-target.c ('k') | gdb/somread.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698