From 30dbd24ea2b23e54e86bd3aaea9698e402baf7a1 Mon Sep 17 00:00:00 2001 From: George Rimar Date: Mon, 24 Jun 2019 08:29:54 +0000 Subject: [PATCH] [llvm-readobj/llvm-readelf] - Eliminate the elf-groups.x86_64 precompiled binary from the inputs. We do not need the elf-groups.x86_64. In one of the tests, it was used for no solid reason, and for the second test case we can use YAML input with SHT_GROUP sections. The patch performs a cleanup of one of the test cases, removes another one completely (since during the review was found out it actually duplicates one of the existent tests) and removes the precompiled binary. Differential revision: https://reviews.llvm.org/D63647 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364167 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../llvm-readobj/Inputs/elf-groups.x86_64 | Bin 4384 -> 0 bytes test/tools/llvm-readobj/elf-groups.test | 134 +++++++++++------- test/tools/llvm-readobj/print-section.test | 8 -- 3 files changed, 80 insertions(+), 62 deletions(-) delete mode 100644 test/tools/llvm-readobj/Inputs/elf-groups.x86_64 delete mode 100644 test/tools/llvm-readobj/print-section.test diff --git a/test/tools/llvm-readobj/Inputs/elf-groups.x86_64 b/test/tools/llvm-readobj/Inputs/elf-groups.x86_64 deleted file mode 100644 index 29628ca09b023655dbacef36796901f61602fd4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4384 zcmcIn-ES0C6rXKTssgPb2tvXJAN)u@6I{h+uPa1_;Hdu=iJ}< zym#)Nx%-|o@_I+1&}lIhtXHjqOfvkw=6&CNbgynn&H_I=NVyTH~+{M~N_QnszBdq))R z*CHvCrn8d8n;^2g_kWDlFz*@#kLmEoLzC7?E9bQYtAmaa~LPOy6<#d{qsf2?KWqZy07ns zH0Lb2b8eS=^*g*5w|Q#uSG>kGoB)y+FWjAo<6@K)Exd4{pyF32i!)(8iQ;N;z&>L4 z6`xQ2$>iV}XT&*HcD#WjeFrC^s$Y45e4b*z&UepPg+@|@<9__1w0 zA9f6HeUwD#27wU`;9=;-fDwgw7`hrTqCDNrOl6${H~c!w#*c>L79mLbqVU>jOB+(RhlKS=Za?P?Q z>oHh0PDA^|=-FOU1n;nAIOR>$DW+v7Q%PD+{c)0nUzt|(OMdF>fxYts^vX(+Gc)Gp z-~riTPTGs`cK#!9BGUc0(_H+7xAQ-zye+GX zIr8tw@jpx$ehoN(I$h+6I)|E~N0TA;(U4kn)gYQ85%eJBhn>`evkv;02J){pW`IN= zWo*OK%ypbB5VM^>V(Vo3kCHNP{hzSYTe>sJ=K4#7nK9uq#p|EPgb3?Lo#y({?p6K{ z5_ICi)$duu&HVTlsQiZiGUs1lU*tzSGxOgfEH8iUZ|47${PXhP?j{A%f_i4_$5}S> z<4ot}|B3Ufp2ac1%=Q1s{x4}Z5PNw)^cD`B!>)0hdu)|?eg@fJ>V+@JoFiV|`)_ce za?Y{;fW%+$mkC3RJ{md=aei9|NjB>bG)y4&an<)OW{`Uzp_Z}{N4E~IXMrQr!6K3r&KgTcrHY<@2{nyNYld!z}J-FNv z9WW9a)66L6`59rGtlw8n)pY_osEX69P~TmWFVZMjn;C7rrKdx#4}UiEw0;P_7D+5gZ6@1TP6?7wPbUv7hc z(+0QNUE~Nar-Ml?MGD# zJ64J)+NC7+ru^!qN~khbl2SSC?+>OZa$5JJG${p+bB3@1T16CiG2Qw?f4UTmc~1GT zclu81#=7`b!0RPQ!6p1(#n8&Qt5xoZY?Pf_Ai%hS=l0 zfMCB%N!jCBmd!Z58op1nKf*HN@1-H}xs9p#=)poFBYx}GU|EtEanLg*4*t`CU@tXe zeiRQP*zcer_6|TIGtS8jR&kJ5I?tPooA&yCO3g5pU;IC*{~68&_J7wesZb}@dYXYE mbF5eP0MIKM{s_xp=QR8=4No;(_6pFvhRZhw&=(r6*Yg*1ZS1N5 diff --git a/test/tools/llvm-readobj/elf-groups.test b/test/tools/llvm-readobj/elf-groups.test index a698eb7337e..4e165311ecf 100644 --- a/test/tools/llvm-readobj/elf-groups.test +++ b/test/tools/llvm-readobj/elf-groups.test @@ -1,56 +1,82 @@ -# Source file compiled: -##include -# #include -#template -#void foo(A variable) { -# std::cout << "foo is " << typeid(A).name() << "\n"; -#} -#int main () { -# char x = 'x'; -# int y = 1; -# foo(x); -# foo(y); -# return 0; -#} +## Check that llvm-readelf and llvm-readobj can +## dump SHT_GROUP sections properly. -RUN: llvm-readobj -g %p/Inputs/elf-groups.x86_64 \ -RUN: | FileCheck %s -RUN: llvm-readelf -g %p/Inputs/elf-groups.x86_64 \ -RUN: | FileCheck --check-prefix="GNU" %s -CHECK: Groups { -CHECK-NEXT: Group { -CHECK-NEXT: Name: .group (92) -CHECK-NEXT: Index: 1 -CHECK-NEXT: Link: 23 -CHECK-NEXT: Info: 17 -CHECK-NEXT: Type: COMDAT (0x1) -CHECK-NEXT: Signature: _Z3fooIcEvT_ -CHECK-NEXT: Section(s) in group [ -CHECK-NEXT: .text._Z3fooIcEvT_ (10) -CHECK-NEXT: .rela.text._Z3fooIcEvT_ (11) -CHECK-NEXT: ] -CHECK-NEXT: } -CHECK-NEXT: Group { -CHECK-NEXT: Name: .group (92) -CHECK-NEXT: Index: 2 -CHECK-NEXT: Link: 23 -CHECK-NEXT: Info: 18 -CHECK-NEXT: Type: COMDAT (0x1) -CHECK-NEXT: Signature: _Z3fooIiEvT_ -CHECK-NEXT: Section(s) in group [ -CHECK-NEXT: .text._Z3fooIiEvT_ (12) -CHECK-NEXT: .rela.text._Z3fooIiEvT_ (13) -CHECK-NEXT: ] -CHECK-NEXT: } +# RUN: yaml2obj %s -o %t.o +# RUN: llvm-readobj -g %t.o | FileCheck %s +# RUN: llvm-readelf -g %t.o | FileCheck --check-prefix=GNU %s -GNU:COMDAT group section [ 1] `.group' [_Z3fooIcEvT_] contains 2 sections: -GNU-NEXT: [Index] Name -GNU-NEXT: [ 10] .text._Z3fooIcEvT_ -GNU-NEXT: [ 11] .rela.text._Z3fooIcEvT_ -GNU:COMDAT group section [ 2] `.group' [_Z3fooIiEvT_] contains 2 sections: -GNU-NEXT: [Index] Name -GNU-NEXT: [ 12] .text._Z3fooIiEvT_ -GNU-NEXT: [ 13] .rela.text._Z3fooIiEvT_ -GNU:COMDAT group section [ 3] `.group' [_ZNKSt9type_info4nameEv] contains 1 sections: -GNU-NEXT: [Index] Name -GNU-NEXT: [ 14] .text._ZNKSt9type_info4nameEv +# CHECK: Groups { +# CHECK-NEXT: Group { +# CHECK-NEXT: Name: .group +# CHECK-NEXT: Index: 1 +# CHECK-NEXT: Link: 7 +# CHECK-NEXT: Info: 1 +# CHECK-NEXT: Type: COMDAT +# CHECK-NEXT: Signature: foo +# CHECK-NEXT: Section(s) in group [ +# CHECK-NEXT: .text.foo +# CHECK-NEXT: .rela.text.foo +# CHECK-NEXT: ] +# CHECK-NEXT: } +# CHECK-NEXT: Group { +# CHECK-NEXT: Name: .group1 +# CHECK-NEXT: Index: 2 +# CHECK-NEXT: Link: 7 +# CHECK-NEXT: Info: 2 +# CHECK-NEXT: Type: COMDAT +# CHECK-NEXT: Signature: bar +# CHECK-NEXT: Section(s) in group [ +# CHECK-NEXT: .text.bar +# CHECK-NEXT: .rela.text.bar +# CHECK-NEXT: ] +# CHECK-NEXT: } + +# GNU: COMDAT group section [ 1] `.group' [foo] contains 2 sections: +# GNU-NEXT: [Index] Name +# GNU-NEXT: [ 3] .text.foo +# GNU-NEXT: [ 4] .rela.text.foo +# GNU: COMDAT group section [ 2] `.group1' [bar] contains 2 sections: +# GNU-NEXT: [Index] Name +# GNU-NEXT: [ 5] .text.bar +# GNU-NEXT: [ 6] .rela.text.bar + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 +Sections: + - Name: .group + Type: SHT_GROUP + Link: .symtab + Info: foo + Members: + - SectionOrType: GRP_COMDAT + - SectionOrType: .text.foo + - SectionOrType: .rela.text.foo + - Name: .group1 + Type: SHT_GROUP + Link: .symtab + Info: bar + Members: + - SectionOrType: GRP_COMDAT + - SectionOrType: .text.bar + - SectionOrType: .rela.text.bar + - Name: .text.foo + Type: SHT_PROGBITS + - Name: .rela.text.foo + Type: SHT_RELA + Link: .symtab + Info: .text.foo + - Name: .text.bar + Type: SHT_PROGBITS + - Name: .rela.text.bar + Type: SHT_RELA + Link: .symtab + Info: .text.bar +Symbols: + - Name: foo + Section: .text.foo + - Name: bar + Section: .text.bar diff --git a/test/tools/llvm-readobj/print-section.test b/test/tools/llvm-readobj/print-section.test deleted file mode 100644 index 9f2601bbc6d..00000000000 --- a/test/tools/llvm-readobj/print-section.test +++ /dev/null @@ -1,8 +0,0 @@ -RUN: llvm-readobj -p .text %p/Inputs/elf-groups.x86_64 \ -RUN: | FileCheck %s - -CHECK: [ 0] UH..H....E. -CHECK: [ f] .E.x.E.. -CHECK: [ 1a] ..}.. -CHECK: [ 23] .}.. -CHECK: [ 2b] 1.H...]. -- 2.40.0