diff options
| -rw-r--r-- | lldb/lit/Modules/ELF/load-from-dynsym-alone.test | 2 | ||||
| -rw-r--r-- | lldb/lit/Modules/ELF/load-symtab-and-dynsym.test | 2 | ||||
| -rw-r--r-- | lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp | 11 | 
3 files changed, 7 insertions, 8 deletions
diff --git a/lldb/lit/Modules/ELF/load-from-dynsym-alone.test b/lldb/lit/Modules/ELF/load-from-dynsym-alone.test index 74560abcc72..8647c521e4a 100644 --- a/lldb/lit/Modules/ELF/load-from-dynsym-alone.test +++ b/lldb/lit/Modules/ELF/load-from-dynsym-alone.test @@ -11,7 +11,7 @@  #        2: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND __gmon_start__  #        3: 0000000000401110    13 FUNC    GLOBAL DEFAULT   10 functionInDynsym -# We want to keep the symbol "functionInDynsym" in the .dynamic section and not +# We want to keep the symbol "functionInDynsym" in the .dynsym section and not  # have it put the default .symtab section.  # RUN: echo "{functionInDynsym;};" > %T/dynmic-symbols.txt  # RUN: %clang -Wl,--dynamic-list=%T/dynmic-symbols.txt -g -o %t.binary %p/Inputs/load-from-dynsym-alone.c diff --git a/lldb/lit/Modules/ELF/load-symtab-and-dynsym.test b/lldb/lit/Modules/ELF/load-symtab-and-dynsym.test index ff2ef86b24a..3700211763b 100644 --- a/lldb/lit/Modules/ELF/load-symtab-and-dynsym.test +++ b/lldb/lit/Modules/ELF/load-symtab-and-dynsym.test @@ -16,7 +16,7 @@  #     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND   #     1: 0000000000401110    15 FUNC    GLOBAL DEFAULT   10 functionInSymtab -# We want to keep the symbol "functionInDynsym" in the .dynamic section and not +# We want to keep the symbol "functionInDynsym" in the .dynsym section and not  # have it put the default .symtab section.  # RUN: echo "{functionInDynsym;};" > %T/dynmic-symbols.txt  # RUN: %clang -Wl,--dynamic-list=%T/dynmic-symbols.txt -g -o %t.binary %p/Inputs/load-symtab-and-dynsym.c diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp index 20e26f033d1..e1f08ffaa18 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp @@ -2644,12 +2644,11 @@ Symtab *ObjectFileELF::GetSymtab() {      // Sharable objects and dynamic executables usually have 2 distinct symbol      // tables, one named ".symtab", and the other ".dynsym". The dynsym is a -    // smaller version of the symtab that only contains global symbols. The -    // information found in the dynsym is therefore also found in the symtab, -    // while the reverse is not necessarily true. -    // One exception to the above rule is when we have minidebuginfo embedded -    // into a compressed .gnu_debugdata section. This section contains a .symtab -    // from which all symbols already contained in the .dynsym are stripped. +    // smaller version of the symtab that only contains global symbols. +    // Information in the dynsym section is *usually* also found in the symtab, +    // but this is not required as symtab entries can be removed after linking. +    // The minidebuginfo format makes use of this facility to create smaller +    // symbol tables.      Section *symtab =          section_list->FindSectionByType(eSectionTypeELFSymbolTable, true).get();      if (symtab) {  | 

