[llvm] cff7c14 - [llvm-readobj][test] - Remove --symbols --dyn-syms part from Object/readobj-shared-object.test.

Georgii Rymar via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 28 01:36:54 PST 2020


Author: Georgii Rymar
Date: 2020-01-28T12:36:29+03:00
New Revision: cff7c149def2e9f9f4032254be0f4fd4492750d9

URL: https://github.com/llvm/llvm-project/commit/cff7c149def2e9f9f4032254be0f4fd4492750d9
DIFF: https://github.com/llvm/llvm-project/commit/cff7c149def2e9f9f4032254be0f4fd4492750d9.diff

LOG: [llvm-readobj][test] - Remove --symbols --dyn-syms part from Object/readobj-shared-object.test.

The intention of Object/readobj-shared-object.test was to check the
general output for shared object.

I've added a case for testing dynamic objects to ELF/symbols.test.
Also we already test dynamic symbols printing in ELF/dyn-symbols.test +
I've added a case for `--dyn-syms` alias in D73164.

Hence we can remove this piece from Object/readobj-shared-object.test.

Differential revision: https://reviews.llvm.org/D73175

Added: 
    

Modified: 
    llvm/test/Object/readobj-shared-object.test
    llvm/test/tools/llvm-readobj/ELF/symbols.test

Removed: 
    


################################################################################
diff  --git a/llvm/test/Object/readobj-shared-object.test b/llvm/test/Object/readobj-shared-object.test
index 32b84e9f7780..64f916987069 100644
--- a/llvm/test/Object/readobj-shared-object.test
+++ b/llvm/test/Object/readobj-shared-object.test
@@ -1,7 +1,7 @@
-# RUN: llvm-readobj --sections --symbols --dyn-syms \
+# RUN: llvm-readobj --sections \
 # RUN:   %p/Inputs/shared-object-test.elf-i386 | FileCheck %s
 
-# RUN: llvm-readobj --sections --symbols --dyn-syms \
+# RUN: llvm-readobj --sections \
 # RUN:   %p/Inputs/shared-object-test.elf-x86-64 | FileCheck %s
 
 # CHECK:   Sections [
@@ -107,177 +107,3 @@
 # CHECK:     ]
 # CHECK:   }
 # CHECK: ]
-
-# CHECK:   Symbols [
-# CHECK:   Symbol {
-# CHECK:     Name: .hash (0)
-# CHECK:     Binding: Local
-# CHECK:     Type: Section
-# CHECK:     Section: .hash
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: .dynsym (0)
-# CHECK:     Binding: Local
-# CHECK:     Type: Section
-# CHECK:     Section: .dynsym
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: .dynstr (0)
-# CHECK:     Binding: Local
-# CHECK:     Type: Section
-# CHECK:     Section: .dynstr
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: .text (0)
-# CHECK:     Binding: Local
-# CHECK:     Type: Section
-# CHECK:     Section: .text
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: .eh_frame (0)
-# CHECK:     Binding: Local
-# CHECK:     Type: Section
-# CHECK:     Section: .eh_frame
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: .tdata (0)
-# CHECK:     Binding: Local
-# CHECK:     Type: Section
-# CHECK:     Section: .tdata
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: .dynamic (0)
-# CHECK:     Binding: Local
-# CHECK:     Type: Section
-# CHECK:     Section: .dynamic
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: .got.plt (0)
-# CHECK:     Binding: Local
-# CHECK:     Type: Section
-# CHECK:     Section: .got.plt
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: .data (0)
-# CHECK:     Binding: Local
-# CHECK:     Type: Section
-# CHECK:     Section: .data
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: .bss (0)
-# CHECK:     Binding: Local
-# CHECK:     Type: Section
-# CHECK:     Section: .bss
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: shared.ll
-# CHECK:     Binding: Local
-# CHECK:     Type: File
-# CHECK:     Section: Absolute (0xFFF1)
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: local_func
-# CHECK:     Binding: Local
-# CHECK:     Type: Function
-# CHECK:     Section: .text
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: _GLOBAL_OFFSET_TABLE_
-# CHECK:     Binding: Local
-# CHECK:     Type: Object
-# CHECK:     Section: Absolute (0xFFF1)
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: _DYNAMIC
-# CHECK:     Binding: Local
-# CHECK:     Type: Object
-# CHECK:     Section: Absolute (0xFFF1)
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: common_sym
-# CHECK:     Binding: Global
-# CHECK:     Type: Object
-# CHECK:     Section: .bss
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: tls_sym
-# CHECK:     Binding: Global
-# CHECK:     Type: TLS
-# CHECK:     Section: .tdata
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: defined_sym
-# CHECK:     Binding: Global
-# CHECK:     Type: Object
-# CHECK:     Section: .data
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: __bss_start
-# CHECK:     Binding: Global
-# CHECK:     Type: None
-# CHECK:     Section: Absolute (0xFFF1)
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: _end
-# CHECK:     Binding: Global
-# CHECK:     Type: None
-# CHECK:     Section: Absolute (0xFFF1)
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: global_func
-# CHECK:     Binding: Global
-# CHECK:     Type: Function
-# CHECK:     Section: .text
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: _edata
-# CHECK:     Binding: Global
-# CHECK:     Type: None
-# CHECK:     Section: Absolute (0xFFF1)
-# CHECK:   }
-# CHECK: ]
-
-# CHECK: DynamicSymbols [
-# CHECK:   Symbol {
-# CHECK:     Name: common_sym
-# CHECK:     Binding: Global
-# CHECK:     Type: Object
-# CHECK:     Section: .bss
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: tls_sym
-# CHECK:     Binding: Global
-# CHECK:     Type: TLS
-# CHECK:     Section: .tdata
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: defined_sym
-# CHECK:     Binding: Global
-# CHECK:     Type: Object
-# CHECK:     Section: .data
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: __bss_start
-# CHECK:     Binding: Global
-# CHECK:     Type: None
-# CHECK:     Section: Absolute (0xFFF1)
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: _end
-# CHECK:     Binding: Global
-# CHECK:     Type: None
-# CHECK:     Section: Absolute (0xFFF1)
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: global_func
-# CHECK:     Binding: Global
-# CHECK:     Type: Function
-# CHECK:     Section: .text
-# CHECK:   }
-# CHECK:   Symbol {
-# CHECK:     Name: _edata
-# CHECK:     Binding: Global
-# CHECK:     Type: None
-# CHECK:     Section: Absolute (0xFFF1)
-# CHECK:   }
-# CHECK: ]

diff  --git a/llvm/test/tools/llvm-readobj/ELF/symbols.test b/llvm/test/tools/llvm-readobj/ELF/symbols.test
index e6d7ba0eed7f..a8feaba97c30 100644
--- a/llvm/test/tools/llvm-readobj/ELF/symbols.test
+++ b/llvm/test/tools/llvm-readobj/ELF/symbols.test
@@ -1,13 +1,28 @@
 ## This is a general test for --symbols option and its aliases.
 ## There are also other symbols* tests that check specific things.
 
+## For testing and behavior documenting purposes we are using ET_REL and ET_DYN inputs.
+## Relocatable ELF objects are very 
diff erent by nature from executables and dynamic libraries.
+## They might never have dynamic symbols normally, for example, though we still want
+## to document the --dyn-symbols behavior.
+## There is no need to check ET_EXEC inputs because for dumpers there is no 
diff erence
+## between them and ET_DYN inputs in the context of this test.
+
 ## Case 1: Test how llvm-readobj and llvm-readelf dumps symbols.
+## a) Check relocatable objects.
 # RUN: yaml2obj %s --docnum=1 -o %t64
 # RUN: llvm-readobj --symbols %t64 | FileCheck %s --match-full-lines --strict-whitespace --check-prefix=SYMBOLS-LLVM
 # RUN: llvm-readelf --symbols %t64 | FileCheck %s --match-full-lines --strict-whitespace --check-prefix=SYMBOLS-GNU64
 # RUN: yaml2obj %s --docnum=2 -o %t32
 # RUN: llvm-readobj --symbols %t32 | FileCheck %s --match-full-lines --strict-whitespace --check-prefix=SYMBOLS-LLVM
 # RUN: llvm-readelf --symbols %t32 | FileCheck %s --match-full-lines --strict-whitespace --check-prefix=SYMBOLS-GNU32
+## b) Check dynamic objects.
+# RUN: yaml2obj %s --docnum=3 -o %t64.so
+# RUN: llvm-readobj --symbols %t64.so | FileCheck %s --match-full-lines --strict-whitespace --check-prefix=SYMBOLS-LLVM
+# RUN: llvm-readelf --symbols %t64.so | FileCheck %s --match-full-lines --strict-whitespace --check-prefix=SYMBOLS-GNU64
+# RUN: yaml2obj %s --docnum=4 -o %t32.so
+# RUN: llvm-readobj --symbols %t32.so | FileCheck %s --match-full-lines --strict-whitespace --check-prefix=SYMBOLS-LLVM
+# RUN: llvm-readelf --symbols %t32.so | FileCheck %s --match-full-lines --strict-whitespace --check-prefix=SYMBOLS-GNU32
 
 #      SYMBOLS-LLVM:Symbols [
 # SYMBOLS-LLVM-NEXT:  Symbol {
@@ -115,3 +130,31 @@ Symbols:
     Value: 0x2
 DynamicSymbols:
   - Name:  zed
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_DYN
+  Machine: EM_X86_64
+Symbols:
+  - Name:  foo
+    Value: 0x1
+  - Name:  bar
+    Value: 0x2
+DynamicSymbols:
+  - Name:  zed
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS32
+  Data:    ELFDATA2LSB
+  Type:    ET_DYN
+  Machine: EM_386
+Symbols:
+  - Name:  foo
+    Value: 0x1
+  - Name:  bar
+    Value: 0x2
+DynamicSymbols:
+  - Name:  zed


        


More information about the llvm-commits mailing list