[llvm] r356133 - Revert r356129 due to greendragon bot failures
James Henderson via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 14 04:23:05 PDT 2019
Author: jhenderson
Date: Thu Mar 14 04:23:04 2019
New Revision: 356133
URL: http://llvm.org/viewvc/llvm-project?rev=356133&view=rev
Log:
Revert r356129 due to greendragon bot failures
Removed:
llvm/trunk/test/tools/llvm-objcopy/ELF/remove-section-in-segment.test
Modified:
llvm/trunk/test/tools/llvm-objcopy/ELF/strip-all-gnu.test
llvm/trunk/test/tools/llvm-objcopy/ELF/strip-all.test
llvm/trunk/test/tools/llvm-objcopy/ELF/strip-non-alloc.test
llvm/trunk/test/tools/llvm-objcopy/ELF/strip-sections.test
llvm/trunk/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
llvm/trunk/tools/llvm-objcopy/ObjcopyOpts.td
llvm/trunk/tools/llvm-objcopy/StripOpts.td
Removed: llvm/trunk/test/tools/llvm-objcopy/ELF/remove-section-in-segment.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-objcopy/ELF/remove-section-in-segment.test?rev=356132&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-objcopy/ELF/remove-section-in-segment.test (original)
+++ llvm/trunk/test/tools/llvm-objcopy/ELF/remove-section-in-segment.test (removed)
@@ -1,47 +0,0 @@
-# Show that --remove-section removes sections in segments.
-
-# RUN: yaml2obj %s -o %t
-
-# Validate the offsets for the later parts of the test.
-# RUN: llvm-objcopy %t %t.copy
-# Skip to the start of the sections, which should be immediately after the
-# program header table (i.e. sizeof(Elf64_Ehdr) + sizeof(Elf64_Phdr) == 120).
-# RUN: od %t.copy -t x1 -N 16 -j 120 | FileCheck %s --check-prefix=COPY
-
-# COPY: 11 22 33 44 55 66 77 88
-
-# RUN: llvm-objcopy --remove-section non_alloc %t %t.nonalloc
-# RUN: llvm-readelf --sections %t.nonalloc | FileCheck %s --check-prefix=NONALLOC-SHDRS
-# RUN: od %t.nonalloc -t x1 -N 16 -j 120 | FileCheck %s --check-prefix=NONALLOC-BYTES
-
-# NONALLOC-SHDRS-NOT: non_alloc
-# NONALLOC-BYTES: 11 22 33 44 00 00 00 00
-
-# RUN: llvm-objcopy --remove-section shf_alloc %t %t.alloc
-# RUN: llvm-readelf --sections %t.alloc | FileCheck %s --check-prefix=ALLOC-SHDRS
-# RUN: od %t.alloc -t x1 -N 16 -j 120 | FileCheck %s --check-prefix=ALLOC-BYTES
-
-# ALLOC-SHDRS-NOT: shf_alloc
-# ALLOC-BYTES: 00 00 00 00 55 66 77 88
-
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_EXEC
- Machine: EM_X86_64
-Sections:
- - Name: shf_alloc
- Type: SHT_PROGBITS
- Flags: [SHF_ALLOC]
- Content: '11223344'
- - Name: non_alloc
- Type: SHT_PROGBITS
- Flags: []
- Content: '55667788'
-ProgramHeaders:
- # Use an arbitrary segment type to show that the segment type is unimportant.
- - Type: 0x61234567
- Sections:
- - Section: shf_alloc
- - Section: non_alloc
Modified: llvm/trunk/test/tools/llvm-objcopy/ELF/strip-all-gnu.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-objcopy/ELF/strip-all-gnu.test?rev=356133&r1=356132&r2=356133&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-objcopy/ELF/strip-all-gnu.test (original)
+++ llvm/trunk/test/tools/llvm-objcopy/ELF/strip-all-gnu.test Thu Mar 14 04:23:04 2019
@@ -1,15 +1,10 @@
# RUN: yaml2obj %s > %t
+# RUN: cp %t %t1
# RUN: llvm-objcopy --strip-all-gnu %t %t2
# RUN: llvm-strip --strip-all-gnu %t -o %t3
# RUN: llvm-readobj --file-headers --sections %t2 | FileCheck %s
# RUN: cmp %t2 %t3
-# Show that the debug section in a segment was removed, to match GNU.
-# First validate that the offset in use is correct.
-# RUN: llvm-objcopy %t %t4
-# RUN: od %t4 -t x1 -N 4 -j 120 | FileCheck %s --check-prefix=COPY-BYTES
-# RUN: od %t2 -t x1 -N 4 -j 120 | FileCheck %s --check-prefix=STRIP-BYTES
-
!ELF
FileHeader:
Class: ELFCLASS64
@@ -17,10 +12,6 @@ FileHeader:
Type: ET_REL
Machine: EM_X86_64
Sections:
- - Name: .debug_in_segment
- Type: SHT_PROGBITS
- Flags: [ ]
- Content: "deadbeef"
- Name: .dynstr
Type: SHT_STRTAB
Flags: [ SHF_ALLOC ]
@@ -54,11 +45,6 @@ Sections:
- Name: .rela.text
Type: SHT_RELA
Info: .text
-ProgramHeaders:
- # Use an arbitrary segment type to show that the segment type is unimportant.
- - Type: 0x61234567
- Sections:
- - Section: .debug_in_segment
# CHECK: SectionHeaderCount: 8
@@ -69,6 +55,3 @@ ProgramHeaders:
# CHECK: Name: .comment
# CHECK: Name: .random_section_name
# CHECK: Name: .shstrtab
-
-# COPY-BYTES: de ad be ef
-# STRIP-BYTES: 00 00 00 00
Modified: llvm/trunk/test/tools/llvm-objcopy/ELF/strip-all.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-objcopy/ELF/strip-all.test?rev=356133&r1=356132&r2=356133&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-objcopy/ELF/strip-all.test (original)
+++ llvm/trunk/test/tools/llvm-objcopy/ELF/strip-all.test Thu Mar 14 04:23:04 2019
@@ -57,10 +57,6 @@ FileHeader:
Type: ET_REL
Machine: EM_X86_64
Sections:
- - Name: non_alloc_in_segment
- Type: SHT_PROGBITS
- Flags: [ ]
- Size: 4
- Name: .bss
Type: SHT_NOBITS
Flags: [ SHF_ALLOC ]
@@ -72,15 +68,9 @@ Sections:
Flags: [ ]
- Name: .gnu.warning.foo
Type: SHT_PROGBITS
-ProgramHeaders:
- # Use an arbitrary segment type to show that the segment type is unimportant.
- - Type: 0x61234567
- Sections:
- - Section: non_alloc_in_segment
-# CHECK: SectionHeaderCount: 6
+# CHECK: SectionHeaderCount: 5
-# CHECK: Name: non_alloc_in_segment
# CHECK: Name: .bss
# CHECK: Name: .text
# CHECK: Name: .gnu.warning.foo
Modified: llvm/trunk/test/tools/llvm-objcopy/ELF/strip-non-alloc.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-objcopy/ELF/strip-non-alloc.test?rev=356133&r1=356132&r2=356133&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-objcopy/ELF/strip-non-alloc.test (original)
+++ llvm/trunk/test/tools/llvm-objcopy/ELF/strip-non-alloc.test Thu Mar 14 04:23:04 2019
@@ -9,10 +9,6 @@ FileHeader:
Type: ET_REL
Machine: EM_X86_64
Sections:
- - Name: non_alloc_in_segment
- Type: SHT_PROGBITS
- Flags: [ ]
- Size: 4
- Name: .bss
Type: SHT_NOBITS
Flags: [ SHF_ALLOC ]
@@ -22,15 +18,9 @@ Sections:
- Name: .blarg
Type: SHT_PROGBITS
Flags: [ ]
-ProgramHeaders:
- # Use an arbitrary segment type to show that the segment type is unimportant.
- - Type: 0x61234567
- Sections:
- - Section: non_alloc_in_segment
-# CHECK: SectionHeaderCount: 5
+# CHECK: SectionHeaderCount: 4
-# CHECK: Name: non_alloc_in_segment
# CHECK: Name: .bss
# CHECK: Name: .text
# CHECK: Name: .shstrtab
Modified: llvm/trunk/test/tools/llvm-objcopy/ELF/strip-sections.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-objcopy/ELF/strip-sections.test?rev=356133&r1=356132&r2=356133&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-objcopy/ELF/strip-sections.test (original)
+++ llvm/trunk/test/tools/llvm-objcopy/ELF/strip-sections.test Thu Mar 14 04:23:04 2019
@@ -15,18 +15,13 @@ Sections:
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
AddressAlign: 0x0000000000001000
Content: "DEADBEEF"
- - Name: .non_alloc_in_segment
- Type: SHT_PROGBITS
- Flags: [ ]
- Content: "CAFEBABE"
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_X, PF_R ]
Sections:
- Section: .text
- - Section: .non_alloc_in_segment
-#DATA: 0010000 de ad be ef ca fe ba be
+#DATA: 0010000 de ad be ef
#CHECK: ElfHeader {
#CHECK-NEXT: Ident {
@@ -60,8 +55,8 @@ ProgramHeaders:
#CHECK-NEXT: Offset: 0x1000
#CHECK-NEXT: VirtualAddress: 0x0
#CHECK-NEXT: PhysicalAddress: 0x0
-#CHECK-NEXT: FileSize: 8
-#CHECK-NEXT: MemSize: 8
+#CHECK-NEXT: FileSize: 4
+#CHECK-NEXT: MemSize: 4
#CHECK-NEXT: Flags [ (0x5)
#CHECK-NEXT: PF_R (0x4)
#CHECK-NEXT: PF_X (0x1)
Modified: llvm/trunk/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objcopy/ELF/ELFObjcopy.cpp?rev=356133&r1=356132&r2=356133&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-objcopy/ELF/ELFObjcopy.cpp (original)
+++ llvm/trunk/tools/llvm-objcopy/ELF/ELFObjcopy.cpp Thu Mar 14 04:23:04 2019
@@ -403,7 +403,7 @@ static Error handleArgs(const CopyConfig
if (Config.StripSections) {
RemovePred = [RemovePred](const SectionBase &Sec) {
- return RemovePred(Sec) || Sec.ParentSegment == nullptr;
+ return RemovePred(Sec) || (Sec.Flags & SHF_ALLOC) == 0;
};
}
@@ -419,7 +419,7 @@ static Error handleArgs(const CopyConfig
return true;
if (&Sec == Obj.SectionNames)
return false;
- return (Sec.Flags & SHF_ALLOC) == 0 && Sec.ParentSegment == nullptr;
+ return (Sec.Flags & SHF_ALLOC) == 0;
};
if (Config.StripAll)
@@ -430,8 +430,6 @@ static Error handleArgs(const CopyConfig
return false;
if (StringRef(Sec.Name).startswith(".gnu.warning"))
return false;
- if (Sec.ParentSegment != nullptr)
- return false;
return (Sec.Flags & SHF_ALLOC) == 0;
};
Modified: llvm/trunk/tools/llvm-objcopy/ObjcopyOpts.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objcopy/ObjcopyOpts.td?rev=356133&r1=356132&r2=356133&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-objcopy/ObjcopyOpts.td (original)
+++ llvm/trunk/tools/llvm-objcopy/ObjcopyOpts.td Thu Mar 14 04:23:04 2019
@@ -103,9 +103,10 @@ defm set_section_flags
"rom, share, contents, merge, strings.">,
MetaVarName<"section=flag1[,flag2,...]">;
-def strip_all : Flag<["-", "--"], "strip-all">,
- HelpText<"Remove non-allocated sections outside segments. "
- ".gnu.warning* sections are not removed">;
+def strip_all
+ : Flag<["-", "--"], "strip-all">,
+ HelpText<
+ "Remove non-allocated sections other than .gnu.warning* sections">;
def S : Flag<["-"], "S">, Alias<strip_all>;
def strip_all_gnu : Flag<["-", "--"], "strip-all-gnu">,
HelpText<"Compatible with GNU objcopy's --strip-all">;
@@ -115,15 +116,13 @@ def g : Flag<["-"], "g">, Alias<strip_de
HelpText<"Alias for --strip-debug">;
def strip_dwo : Flag<["-", "--"], "strip-dwo">,
HelpText<"Remove all DWARF .dwo sections from file">;
-def strip_sections
- : Flag<["-", "--"], "strip-sections">,
- HelpText<"Remove all section headers and all sections not in segments">;
-def strip_non_alloc
- : Flag<["-", "--"], "strip-non-alloc">,
- HelpText<"Remove all non-allocated sections outside segments">;
+def strip_sections : Flag<["-", "--"], "strip-sections">,
+ HelpText<"Remove all section headers">;
+def strip_non_alloc : Flag<["-", "--"], "strip-non-alloc">,
+ HelpText<"Remove all non-allocated sections">;
def strip_unneeded : Flag<["-", "--"], "strip-unneeded">,
HelpText<"Remove all symbols not needed by relocations">;
-defm strip_unneeded_symbol
+defm strip_unneeded_symbol
: Eq<"strip-unneeded-symbol",
"Remove symbol <symbol> if it is not needed by relocations">,
MetaVarName<"symbol">;
Modified: llvm/trunk/tools/llvm-objcopy/StripOpts.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objcopy/StripOpts.td?rev=356133&r1=356132&r2=356133&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-objcopy/StripOpts.td (original)
+++ llvm/trunk/tools/llvm-objcopy/StripOpts.td Thu Mar 14 04:23:04 2019
@@ -31,9 +31,10 @@ def preserve_dates : Flag<["-", "--"], "
HelpText<"Preserve access and modification timestamps">;
def p : Flag<["-"], "p">, Alias<preserve_dates>;
-def strip_all : Flag<["-", "--"], "strip-all">,
- HelpText<"Remove non-allocated sections outside segments. "
- ".gnu.warning* sections are not removed">;
+def strip_all
+ : Flag<["-", "--"], "strip-all">,
+ HelpText<
+ "Remove non-allocated sections other than .gnu.warning* sections">;
def s : Flag<["-"], "s">, Alias<strip_all>;
def strip_all_gnu : Flag<["-", "--"], "strip-all-gnu">,
More information about the llvm-commits
mailing list