mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-26 13:56:22 +08:00

This is the first step of splitting dwarf2_per_objfile in two, one structure for objfile-independent data (dwarf2_per_bfd) and one for objfile-dependent data (dwarf2_per_objfile). The existing dwarf2_per_objfile is renamed dwarf2_per_bfd, and a new dwarf2_per_objfile type is introduced, which sits "in between" the objfile and dwarf2_per_bfd. So where we had this before: objfile -> dwarf2_per_objfile (*) we now have this: objfile -> dwarf2_per_objfile -> dwarf2_per_bfd (*) (*) Note that the dwarf2_per_objfile in the former corresponds to the dwarf2_per_bfd in the latter. I've done the minimal amount of changes in this patch: following patches will incrementally move things that are not actually shareable between objfiles from dwarf2_per_bfd to dwarf2_per_objfile. Most references to dwarf2_per_objfile objects are changed to dwarf2_per_objfile->per_bfd. To avoid many of these replacements, which would have to be reverted later anyway, I've moved right away the objfile backlink to the new dwarf2_per_objfile structure in this patch. I've also moved the read_line_string method, since it references the objfile backlink, and it's actually not difficult to move. Once the moves are completed, multiple dwarf2_per_objfile sharing the same BFD will point to the same single instance of dwarf2_per_bfd (as long as they don't require relocation). dwarf2_has_info, where we create these objects, is updated to the new architecture. I've had to change the get_gdb_index_contents_ftype typedef and related functions. The parameter type was changed from dwarf2_per_objfile to dwarf2_per_bfd, otherwise the template wouldn't work. Please excuse the terse ChangeLog entry, I have not listed all the functions where dwarf2_per_objfile has been changed to dwarf2_per_objfile->per_bfd. It would take a considerable amount of time and would not really be useful in the end. gdb/ChangeLog: * dwarf2/read.h (dwarf2_per_objfile): Rename to dwarf2_per_bfd, then introduce a new dwarf2_per_objfile type. <read_line_string>: Move to the new dwarf2_per_objfile type. <objfile>: Likewise. (dwarf2_per_bfd): Rename dwarf2_per_objfile to this. * dwarf2/read.c: Replace references to dwarf2_per_objfile with dwarf2_per_objfile->per_bfd. (dwarf2_per_objfile::dwarf2_per_objfile): Rename to... (dwarf2_per_bfd::dwarf2_per_bfd): ... this. (dwarf2_per_objfile::free_cached_comp_units): Rename to... (dwarf2_per_bfd::free_cached_comp_units): ... this. (dwarf2_has_info): Allocate dwarf2_per_bfd. (dwarf2_per_objfile::locate_sections): Rename to... (dwarf2_per_bfd::locate_sections): ... this. (dwarf2_per_objfile::get_cutu): Rename to... (dwarf2_per_bfd::get_cutu): ... this. (dwarf2_per_objfile::get_cu): Rename to... (dwarf2_per_bfd::get_cu): ... this. (dwarf2_per_objfile::get_tu): Rename to... (dwarf2_per_bfd::get_tu): ... this. (dwarf2_per_objfile::allocate_per_cu): Rename to... (dwarf2_per_bfd::allocate_per_cu): ... this. (dwarf2_per_objfile::allocate_signatured_type): Rename to... (dwarf2_per_bfd::allocate_signatured_type): ... this. (get_gdb_index_contents_ftype): Change parameter from dwarf2_per_objfile to dwarf2_per_bfd. * dwarf2/macro.c, dwarf2/index-write.c: Replace references to dwarf2_per_objfile with dwarf2_per_objfile->per_bfd. Change-Id: I7de7b5d1ce7494aa73bfcf15f719d3c5c46e138c
…
…
…
…
…
…
…
…
…
…
README for GNU development tools This directory contains various GNU compilers, assemblers, linkers, debuggers, etc., plus their support routines, definitions, and documentation. If you are receiving this as part of a GDB release, see the file gdb/README. If with a binutils release, see binutils/README; if with a libg++ release, see libg++/README, etc. That'll give you info about this package -- supported targets, how to use it, how to report bugs, etc. It is now possible to automatically configure and build a variety of tools with one command. To build all of the tools contained herein, run the ``configure'' script here, e.g.: ./configure make To install them (by default in /usr/local/bin, /usr/local/lib, etc), then do: make install (If the configure script can't determine your type of computer, give it the name as an argument, for instance ``./configure sun4''. You can use the script ``config.sub'' to test whether a name is recognized; if it is, config.sub translates it to a triplet specifying CPU, vendor, and OS.) If you have more than one compiler on your system, it is often best to explicitly set CC in the environment before running configure, and to also set CC when running make. For example (assuming sh/bash/ksh): CC=gcc ./configure make A similar example using csh: setenv CC gcc ./configure make Much of the code and documentation enclosed is copyright by the Free Software Foundation, Inc. See the file COPYING or COPYING.LIB in the various directories, for a description of the GNU General Public License terms under which you can copy the files. REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info on where and how to report problems.
Description
Languages
C
51.8%
Makefile
22.4%
Assembly
12.3%
C++
6%
Roff
1.4%
Other
5.4%