Cary Coutant <ccout...@google.com> writes: >>> Isn't this something that should be expressed in DWARF with >>> DW_AT_ranges? See DWARF4, section 2.17, >>> >>> Does GCC generate such ranges? >> >> GCC does generate these ranges. However, according to Cary many tools >> do not rely on dwarf info for locating the corresponding function >> name, they just look at the symbols to identify what function an >> address resides in. Nor would we want tools such as objdump and >> profilers to rely on dwarf for locating the function names as this >> would not work for binaries that were generated without -g options or >> had their debug info stripped. > > Yes, while the information needed is in the DWARF info, I don't think > it's a good idea to depend on having debug info in all binaries. It's > quite common to need to symbolize binaries that don't have debug info, > and without a symbol such as Sri and Teresa are proposing, the result > will be not just an address that didn't get symbolized, but an address > that gets symbolized incorrectly (in a way that will often be quite > misleading).
+1 FWIW. Another reason is that on MIPS, we could be throwing cold MIPS and MIPS16/microMIPS code into the same section. Tools like objdump rely on symbols to figure out which ISA mode is being used where. Thanks, Richard