From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 547 invoked by alias); 6 May 2013 16:52:29 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 536 invoked by uid 89); 6 May 2013 16:52:29 -0000 X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=AWL,BAYES_00,KAM_STOCKTIP,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,RP_MATCHES_RCVD,SPF_PASS,TW_BJ,TW_FN,TW_YM autolearn=no version=3.3.1 Received: from mail-yh0-f73.google.com (HELO mail-yh0-f73.google.com) (209.85.213.73) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Mon, 06 May 2013 16:52:28 +0000 Received: by mail-yh0-f73.google.com with SMTP id a41so399415yho.4 for ; Mon, 06 May 2013 09:52:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:date:message-id:from:to:subject:x-gm-message-state; bh=kGpAzCOkUV1R8Kj7T4m0nNqjLL281knr/4BC1btKlNU=; b=GLa6sz822AqrCuZPqz07gbXsjCq7gdzwPaOrRb6XPVDgAk86TRtZPb6ZKBjSUgaA6S 501f1smmByECyBwCJ0rMVxVLetCrPzE+5OxB1emN1VaSvlDxfXgn4XKFzDycuB1Fizbu iJDecdCDxLzaP1OuG5INgVjXalfyzGi6pAczpOfyxMxpP6HF/+VNQN8Qur+ZqUVQYbt1 CBtudlBTOhIfjA5/EahbOAMsmNR7SzOmc4FVxklsa9PtNWT/Q+F0JaO3kJ7vSp4gD8AX 1IHGKknltwA5j28rbGcTNTPdhl2LwrTBCcyVS2AU5gyb5wltW5qjw5Sqs3xAK7Pm2WlI WmHg== X-Received: by 10.236.143.177 with SMTP id l37mr17000997yhj.9.1367859146666; Mon, 06 May 2013 09:52:26 -0700 (PDT) Received: from corp2gmr1-2.hot.corp.google.com (corp2gmr1-2.hot.corp.google.com [172.24.189.93]) by gmr-mx.google.com with ESMTPS id n78si2475290yhh.1.2013.05.06.09.52.26 for (version=TLSv1.1 cipher=AES128-SHA bits=128/128); Mon, 06 May 2013 09:52:26 -0700 (PDT) Received: from ruffy2.mtv.corp.google.com (ruffy2.mtv.corp.google.com [172.17.128.107]) by corp2gmr1-2.hot.corp.google.com (Postfix) with ESMTP id 49FD35A41E8 for ; Mon, 6 May 2013 09:52:26 -0700 (PDT) Date: Mon, 06 May 2013 16:52:00 -0000 Message-Id: From: Doug Evans To: gdb-patches@sourceware.org Subject: [patch] constify symfile.h section_offsets, section_addr_info X-Gm-Message-State: ALoCoQksOPd/7Wj7hBEhoLjEOk20BlNyonE4aCKIDm+oGEqpiwjldpCVWftRXEcfxpMI9KSsmtT1pAh5AduNhi2fTwTMSnCOFoQYNcYtyE5en7Bn50TfBPS3kohgt89U9qlpG13706juQ/Y8CBp3WtDgVZ3IVf4hAllCIr9jmaYUqiAdzGgIwAPCwBJNxKUsMgZ49sHABFiXFrCff2CDuMSFcT3kOGj8xanvZRosfCci7g557fgf0h0= X-SW-Source: 2013-05/txt/msg00125.txt.bz2 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 * 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);