[lld] r298964 - Remove a comment that is taken from gdb man page.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 28 17:09:40 PDT 2017


Author: ruiu
Date: Tue Mar 28 19:09:40 2017
New Revision: 298964

URL: http://llvm.org/viewvc/llvm-project?rev=298964&view=rev
Log:
Remove a comment that is taken from gdb man page.

This is not an original comment but taken from gdb man page, so
a pointer to the original document should suffice.

Modified:
    lld/trunk/ELF/GdbIndex.cpp

Modified: lld/trunk/ELF/GdbIndex.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/GdbIndex.cpp?rev=298964&r1=298963&r2=298964&view=diff
==============================================================================
--- lld/trunk/ELF/GdbIndex.cpp (original)
+++ lld/trunk/ELF/GdbIndex.cpp Tue Mar 28 19:09:40 2017
@@ -7,55 +7,11 @@
 //
 //===----------------------------------------------------------------------===//
 //
-// File contains classes for implementation of --gdb-index command line option.
+// The -gdb-index option instructs the linker to emit a .gdb_index section.
+// The section contains information to make gdb startup faster.
+// The format of the section is described at
+// https://sourceware.org/gdb/onlinedocs/gdb/Index-Section-Format.html.
 //
-// If that option is used, linker should emit a .gdb_index section that allows
-// debugger to locate and read .dwo files, containing neccessary debug
-// information.
-// More information about implementation can be found in DWARF specification,
-// latest version is available at http://dwarfstd.org.
-//
-// .gdb_index section format:
-//  (Information is based on/taken from
-//  https://sourceware.org/gdb/onlinedocs/gdb/Index-Section-Format.html (*))
-//
-// A mapped index consists of several areas, laid out in order:
-// 1) The file header.
-// 2) "The CU (compilation unit) list. This is a sequence of pairs of 64-bit
-//    little-endian values, sorted by the CU offset. The first element in each
-//    pair is the offset of a CU in the .debug_info section. The second element
-//    in each pair is the length of that CU. References to a CU elsewhere in the
-//    map are done using a CU index, which is just the 0-based index into this
-//    table. Note that if there are type CUs, then conceptually CUs and type CUs
-//    form a single list for the purposes of CU indices."(*)
-// 3) The types CU list. Depricated as .debug_types does not appear in the DWARF
-//    v5 specification.
-// 4) The address area. The address area is a sequence of address
-//    entries, where each entrie contains low address, high address and CU
-//    index.
-// 5) "The symbol table. This is an open-addressed hash table. The size of the
-//    hash table is always a power of 2. Each slot in the hash table consists of
-//    a pair of offset_type values. The first value is the offset of the
-//    symbol's name in the constant pool. The second value is the offset of the
-//    CU vector in the constant pool."(*)
-// 6) "The constant pool. This is simply a bunch of bytes. It is organized so
-//    that alignment is correct: CU vectors are stored first, followed by
-//    strings." (*)
-//
-// For constructing the .gdb_index section following steps should be performed:
-// 1) For file header nothing special should be done. It contains the offsets to
-//    the areas below.
-// 2) Scan the compilation unit headers of the .debug_info sections to build a
-//    list of compilation units.
-// 3) CU Types are no longer needed as DWARF skeleton type units never made it
-//    into the standard. lld does nothing to support parsing of .debug_types
-//    and generates empty types CU area in .gdb_index section.
-// 4) Address area entries are extracted from DW_TAG_compile_unit DIEs of
-//   .debug_info sections.
-// 5) For building the symbol table linker extracts the public names from the
-//   .debug_gnu_pubnames and .debug_gnu_pubtypes sections. Then it builds the
-//   hashtable in according to .gdb_index format specification.
-// 6) Constant pool is populated at the same time as symbol table.
 //===----------------------------------------------------------------------===//
 
 #include "GdbIndex.h"




More information about the llvm-commits mailing list