From: George Rimar Date: Fri, 22 Mar 2019 12:14:04 +0000 (+0000) Subject: Revert r356738 "[llvm-objcopy] - Implement replaceSectionReferences for GroupSection... X-Git-Tag: android-x86-9.0-r1~5622 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=acb922e7f8056aa2002417cb6495ee7204a8c215;p=android-x86%2Fexternal-llvm.git Revert r356738 "[llvm-objcopy] - Implement replaceSectionReferences for GroupSection class." Seems this broke ubsan bot: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap-ubsan/builds/11760 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356745 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/tools/llvm-objcopy/ELF/Inputs/compress-debug-sections.yaml b/test/tools/llvm-objcopy/ELF/Inputs/compress-debug-sections.yaml index 15fb7fdf58c..a3c607cc72b 100644 --- a/test/tools/llvm-objcopy/ELF/Inputs/compress-debug-sections.yaml +++ b/test/tools/llvm-objcopy/ELF/Inputs/compress-debug-sections.yaml @@ -25,23 +25,6 @@ Sections: - Name: .debug_bar Type: SHT_PROGBITS Content: 0000000000000000 - - Name: .group - Type: SHT_GROUP - Link: .symtab - EntSize: 0x0000000000000004 - Info: groupname - Members: - - SectionOrType: GRP_COMDAT - - SectionOrType: .text.in.group - - SectionOrType: .debug_in_group - - Name: .text.in.group - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR, SHF_GROUP ] - Content: '00' - - Name: .debug_in_group - Type: SHT_PROGBITS - Flags: [ SHF_GROUP ] - Content: '00' Symbols: Global: - Name: .debug_foo @@ -52,6 +35,4 @@ Symbols: Section: .notdebug_foo - Name: .Linfo_string0 Section: .debug_bar - - Name: groupname - Section: .group ... diff --git a/test/tools/llvm-objcopy/ELF/compress-debug-sections-groups.test b/test/tools/llvm-objcopy/ELF/compress-debug-sections-groups.test deleted file mode 100644 index a72ecbfc04c..00000000000 --- a/test/tools/llvm-objcopy/ELF/compress-debug-sections-groups.test +++ /dev/null @@ -1,53 +0,0 @@ -# REQUIRES: zlib - -## In this test, we check how llvm-objcopy handles compression/decompression -## of debug sections included in a COMDAT group. - -# RUN: yaml2obj %p/Inputs/compress-debug-sections.yaml -o %t.o - -## Check compression of debug sections. -# RUN: llvm-objcopy --compress-debug-sections %t.o %t-compressed.o -# RUN: llvm-readobj -s -elf-section-groups %t-compressed.o | \ -# RUN: FileCheck %s --check-prefixes=CHECK,COMPRESS - -## Check zlib-gnu compression of debug sections. -# RUN: llvm-objcopy --compress-debug-sections=zlib-gnu %t.o %t-compressed-gnu.o -# RUN: llvm-readobj -s -elf-section-groups %t-compressed-gnu.o | \ -# RUN: FileCheck %s --check-prefixes=CHECK,COMPRESSZLIB - -## Check decompression of debug sections. -# RUN: llvm-objcopy --decompress-debug-sections %t-compressed.o %t-decompressed.o -# RUN: llvm-readobj -elf-section-groups %t-decompressed.o | \ -# RUN: FileCheck %s --check-prefixes=CHECK,DECOMPRESS - -## Check decompression of zlib-gnu debug sections. -# RUN: llvm-objcopy --decompress-debug-sections %t-compressed-gnu.o %t-decompressed-gnu.o -# RUN: llvm-readobj -elf-section-groups %t-decompressed-gnu.o | \ -# RUN: FileCheck %s --check-prefixes=CHECK,DECOMPRESS - -# COMPRESSZLIB: Name: .zdebug_in_group -# COMPRESSZLIB-NEXT: Type: SHT_PROGBITS -# COMPRESSZLIB-NEXT: Flags [ -# COMPRESSZLIB-NEXT: SHF_GROUP -# COMPRESSZLIB-NEXT: ] - -# COMPRESS: Name: .debug_in_group -# COMPRESS-NEXT: Type: SHT_PROGBITS -# COMPRESS-NEXT: Flags [ -# COMPRESS-NEXT: SHF_COMPRESSED -# COMPRESS-NEXT: SHF_GROUP -# COMPRESS-NEXT: ] - -# CHECK: Group { -# CHECK-NEXT: Name: .group -# CHECK-NEXT: Index: -# CHECK-NEXT: Link: -# CHECK-NEXT: Info: -# CHECK-NEXT: Type: COMDAT -# CHECK-NEXT: Signature: groupname -# CHECK-NEXT: Section(s) in group [ -# CHECK-NEXT: .text.in.group -# COMPRESSZLIB-NEXT: .zdebug_in_group -# COMPRESS-NEXT: .debug_in_group -# DECOMPRESS-NEXT: .debug_in_group -# CHECK-NEXT: ] diff --git a/tools/llvm-objcopy/ELF/Object.cpp b/tools/llvm-objcopy/ELF/Object.cpp index 38cf3ad50a5..ccc6efa5dbd 100644 --- a/tools/llvm-objcopy/ELF/Object.cpp +++ b/tools/llvm-objcopy/ELF/Object.cpp @@ -689,13 +689,6 @@ void GroupSection::markSymbols() { Sym->Referenced = true; } -void GroupSection::replaceSectionReferences( - const DenseMap &FromTo) { - for (SectionBase *&Sec : GroupMembers) - if (SectionBase *To = FromTo.lookup(Sec)) - Sec = To; -} - void Section::initialize(SectionTableRef SecTable) { if (Link != ELF::SHN_UNDEF) { LinkSection = diff --git a/tools/llvm-objcopy/ELF/Object.h b/tools/llvm-objcopy/ELF/Object.h index e892d066a6c..732ff898ed5 100644 --- a/tools/llvm-objcopy/ELF/Object.h +++ b/tools/llvm-objcopy/ELF/Object.h @@ -633,8 +633,6 @@ public: void finalize() override; Error removeSymbols(function_ref ToRemove) override; void markSymbols() override; - void replaceSectionReferences( - const DenseMap &FromTo) override; static bool classof(const SectionBase *S) { return S->Type == ELF::SHT_GROUP;