This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[patch] constify symfile.h section_offsets, section_addr_info
- From: Doug Evans <dje at google dot com>
- To: gdb-patches at sourceware dot org
- Date: Mon, 06 May 2013 09:52:25 -0700
- Subject: [patch] constify symfile.h section_offsets, section_addr_info
Hi.
While researching the bfd section count bug,
I found some things a bit confusing: some parameters seemed to be just for
input but weren't marked with const (thus I had to dig deeper than I might
otherwise have had to).
Thus I've gone through and constified a few things.
I will commit this in a few days if there are no objections.
2013-05-05 Doug Evans <dje@sebabeach.org>
* dbxread.c (process_one_symbol): Constify section_offsets parameter.
* stabsread.h (process_one_symbol): Update declaration.
* dwarf2read.c (dw2_relocate): Constify new_offsets, delta parameters.
* elfread.c (elf_symfile_relocate_probe): Ditto.
* psymtab.c (relocate_psymtabs): Ditto.
* objfiles.c (objfile_relocate1): Constify new_offsets parameter.
(objfile_relocate): Ditto.
* objfiles.h (objfile_relocate): Update declaration.
* symfile.c (relative_addr_info_to_section_offsets): Constify
addrs parameter.
(default_symfile_offsets): Ditto.
(syms_from_objfile_1): Constify offsets parameter.
(syms_from_objfile): Ditto.
(symbol_file_add_with_addrs_or_offsets): Ditto.
(symfile_map_offsets_to_segments): Constify data parameter.
* symfile.h (struct quick_symbol_functions): Constify new_offsets,
delta parameters of member relocate.
(struct sym_probe_fns): Constify new_offsets,
delta parameters of member sym_relocate_probe.
(struct sym_fns): Constify section_addr_info parameter of member
sym_offsets.
(relative_addr_info_to_section_offsets): Update declaration.
(default_symfile_offsets): Ditto.
(syms_from_objfile): Ditto.
(symfile_map_offsets_to_segments): Ditto.
Index: dbxread.c
===================================================================
RCS file: /cvs/src/src/gdb/dbxread.c,v
retrieving revision 1.145
diff -u -p -r1.145 dbxread.c
--- dbxread.c 8 Apr 2013 20:13:21 -0000 1.145
+++ dbxread.c 6 May 2013 05:10:46 -0000
@@ -2717,7 +2717,7 @@ cp_set_block_scope (const struct symbol
void
process_one_symbol (int type, int desc, CORE_ADDR valu, char *name,
- struct section_offsets *section_offsets,
+ const struct section_offsets *section_offsets,
struct objfile *objfile)
{
struct gdbarch *gdbarch = get_objfile_arch (objfile);
Index: dwarf2read.c
===================================================================
RCS file: /cvs/src/src/gdb/dwarf2read.c,v
retrieving revision 1.793
diff -u -p -r1.793 dwarf2read.c
--- dwarf2read.c 30 Apr 2013 23:19:41 -0000 1.793
+++ dwarf2read.c 6 May 2013 05:10:47 -0000
@@ -3311,8 +3311,9 @@ dw2_dump (struct objfile *objfile)
}
static void
-dw2_relocate (struct objfile *objfile, struct section_offsets *new_offsets,
- struct section_offsets *delta)
+dw2_relocate (struct objfile *objfile,
+ const struct section_offsets *new_offsets,
+ const struct section_offsets *delta)
{
/* There's nothing to relocate here. */
}
Index: elfread.c
===================================================================
RCS file: /cvs/src/src/gdb/elfread.c,v
retrieving revision 1.154
diff -u -p -r1.154 elfread.c
--- elfread.c 15 Apr 2013 17:31:17 -0000 1.154
+++ elfread.c 6 May 2013 05:10:47 -0000
@@ -1667,8 +1667,8 @@ elf_compile_to_ax (struct probe *probe,
static void
elf_symfile_relocate_probe (struct objfile *objfile,
- struct section_offsets *new_offsets,
- struct section_offsets *delta)
+ const struct section_offsets *new_offsets,
+ const struct section_offsets *delta)
{
int ix;
VEC (probe_p) *probes = objfile_data (objfile, probe_key);
Index: objfiles.c
===================================================================
RCS file: /cvs/src/src/gdb/objfiles.c,v
retrieving revision 1.159
diff -u -p -r1.159 objfiles.c
--- objfiles.c 4 May 2013 06:19:31 -0000 1.159
+++ objfiles.c 6 May 2013 05:10:47 -0000
@@ -709,7 +709,7 @@ relocate_one_symbol (struct symbol *sym,
static int
objfile_relocate1 (struct objfile *objfile,
- struct section_offsets *new_offsets)
+ const struct section_offsets *new_offsets)
{
struct obj_section *s;
struct section_offsets *delta =
@@ -856,7 +856,8 @@ objfile_relocate1 (struct objfile *objfi
files. */
void
-objfile_relocate (struct objfile *objfile, struct section_offsets *new_offsets)
+objfile_relocate (struct objfile *objfile,
+ const struct section_offsets *new_offsets)
{
struct objfile *debug_objfile;
int changed = 0;
Index: objfiles.h
===================================================================
RCS file: /cvs/src/src/gdb/objfiles.h,v
retrieving revision 1.105
diff -u -p -r1.105 objfiles.h
--- objfiles.h 8 Apr 2013 20:04:42 -0000 1.105
+++ objfiles.h 6 May 2013 05:10:47 -0000
@@ -467,7 +467,7 @@ extern struct cleanup *make_cleanup_free
extern void free_all_objfiles (void);
-extern void objfile_relocate (struct objfile *, struct section_offsets *);
+extern void objfile_relocate (struct objfile *, const struct section_offsets *);
extern void objfile_rebase (struct objfile *, CORE_ADDR);
extern int objfile_has_partial_symbols (struct objfile *objfile);
Index: psymtab.c
===================================================================
RCS file: /cvs/src/src/gdb/psymtab.c,v
retrieving revision 1.73
diff -u -p -r1.73 psymtab.c
--- psymtab.c 8 Apr 2013 20:18:11 -0000 1.73
+++ psymtab.c 6 May 2013 05:10:47 -0000
@@ -785,8 +785,8 @@ psymtab_to_symtab (struct objfile *objfi
static void
relocate_psymtabs (struct objfile *objfile,
- struct section_offsets *new_offsets,
- struct section_offsets *delta)
+ const struct section_offsets *new_offsets,
+ const struct section_offsets *delta)
{
struct partial_symbol **psym;
struct partial_symtab *p;
Index: stabsread.h
===================================================================
RCS file: /cvs/src/src/gdb/stabsread.h,v
retrieving revision 1.32
diff -u -p -r1.32 stabsread.h
--- stabsread.h 1 Jan 2013 06:32:51 -0000 1.32
+++ stabsread.h 6 May 2013 05:10:47 -0000
@@ -172,7 +172,8 @@ extern struct partial_symtab *end_psymta
int textlow_not_set);
extern void process_one_symbol (int, int, CORE_ADDR, char *,
- struct section_offsets *, struct objfile *);
+ const struct section_offsets *,
+ struct objfile *);
extern void elfstab_build_psymtabs (struct objfile *objfile,
asection *stabsect,
Index: symfile.c
===================================================================
RCS file: /cvs/src/src/gdb/symfile.c,v
retrieving revision 1.372
diff -u -p -r1.372 symfile.c
--- symfile.c 5 May 2013 16:54:26 -0000 1.372
+++ symfile.c 6 May 2013 05:10:47 -0000
@@ -445,7 +445,7 @@ place_section (bfd *abfd, asection *sect
void
relative_addr_info_to_section_offsets (struct section_offsets *section_offsets,
int num_sections,
- struct section_addr_info *addrs)
+ const struct section_addr_info *addrs)
{
int i;
@@ -454,7 +454,7 @@ relative_addr_info_to_section_offsets (s
/* Now calculate offsets for section that were specified by the caller. */
for (i = 0; i < addrs->num_sections; i++)
{
- struct other_sections *osp;
+ const struct other_sections *osp;
osp = &addrs->other[i];
if (osp->sectindex == -1)
@@ -676,7 +676,7 @@ addr_info_make_relative (struct section_
void
default_symfile_offsets (struct objfile *objfile,
- struct section_addr_info *addrs)
+ const struct section_addr_info *addrs)
{
objfile->num_sections = gdb_bfd_count_sections (objfile->obfd);
objfile->section_offsets = (struct section_offsets *)
@@ -932,7 +932,7 @@ init_entry_point_info (struct objfile *o
static void
syms_from_objfile_1 (struct objfile *objfile,
struct section_addr_info *addrs,
- struct section_offsets *offsets,
+ const struct section_offsets *offsets,
int num_offsets,
int add_flags)
{
@@ -1042,7 +1042,7 @@ syms_from_objfile_1 (struct objfile *obj
void
syms_from_objfile (struct objfile *objfile,
struct section_addr_info *addrs,
- struct section_offsets *offsets,
+ const struct section_offsets *offsets,
int num_offsets,
int add_flags)
{
@@ -1099,7 +1099,7 @@ static struct objfile *
symbol_file_add_with_addrs_or_offsets (bfd *abfd,
int add_flags,
struct section_addr_info *addrs,
- struct section_offsets *offsets,
+ const struct section_offsets *offsets,
int num_offsets,
int flags, struct objfile *parent)
{
@@ -3672,7 +3672,8 @@ free_symfile_segment_data (struct symfil
not be able to distinguish between an empty data segment and a
missing data segment; a missing text segment is less plausible. */
int
-symfile_map_offsets_to_segments (bfd *abfd, struct symfile_segment_data *data,
+symfile_map_offsets_to_segments (bfd *abfd,
+ const struct symfile_segment_data *data,
struct section_offsets *offsets,
int num_segment_bases,
const CORE_ADDR *segment_bases)
Index: symfile.h
===================================================================
RCS file: /cvs/src/src/gdb/symfile.h,v
retrieving revision 1.125
diff -u -p -r1.125 symfile.h
--- symfile.h 12 Apr 2013 14:55:28 -0000 1.125
+++ symfile.h 6 May 2013 05:10:47 -0000
@@ -201,8 +201,8 @@ struct quick_symbol_functions
/* This is called by objfile_relocate to relocate any indices loaded
for OBJFILE. */
void (*relocate) (struct objfile *objfile,
- struct section_offsets *new_offsets,
- struct section_offsets *delta);
+ const struct section_offsets *new_offsets,
+ const struct section_offsets *delta);
/* Find all the symbols in OBJFILE named FUNC_NAME, and ensure that
the corresponding symbol tables are loaded. */
@@ -337,8 +337,8 @@ struct sym_probe_fns
/* Relocate the probe section of OBJFILE. */
void (*sym_relocate_probe) (struct objfile *objfile,
- struct section_offsets *new_offsets,
- struct section_offsets *delta);
+ const struct section_offsets *new_offsets,
+ const struct section_offsets *delta);
};
/* Structure to keep track of symbol reading functions for various
@@ -391,7 +391,7 @@ struct sym_fns
probably be changed to a string, where NULL means the default,
and others are parsed in a file dependent way. */
- void (*sym_offsets) (struct objfile *, struct section_addr_info *);
+ void (*sym_offsets) (struct objfile *, const struct section_addr_info *);
/* This function produces a format-independent description of
the segments of ABFD. Each segment is a unit of the file
@@ -425,7 +425,7 @@ extern struct section_addr_info *
extern void relative_addr_info_to_section_offsets
(struct section_offsets *section_offsets, int num_sections,
- struct section_addr_info *addrs);
+ const struct section_addr_info *addrs);
extern void addr_info_make_relative (struct section_addr_info *addrs,
bfd *abfd);
@@ -434,7 +434,7 @@ extern void addr_info_make_relative (str
do anything special. */
extern void default_symfile_offsets (struct objfile *objfile,
- struct section_addr_info *);
+ const struct section_addr_info *);
/* The default version of sym_fns.sym_segments for readers that don't
do anything special. */
@@ -474,7 +474,7 @@ enum symfile_add_flags
extern void syms_from_objfile (struct objfile *,
struct section_addr_info *,
- struct section_offsets *, int, int);
+ const struct section_offsets *, int, int);
extern void new_symfile_objfile (struct objfile *, int);
@@ -585,7 +585,7 @@ extern bfd_byte *symfile_relocate_debug_
bfd_byte *);
extern int symfile_map_offsets_to_segments (bfd *,
- struct symfile_segment_data *,
+ const struct symfile_segment_data *,
struct section_offsets *,
int, const CORE_ADDR *);
struct symfile_segment_data *get_symfile_segment_data (bfd *abfd);