[llvm-objcopy] - Stop using Inputs/alloc-symtab.o
authorGeorge Rimar <grimar@accesssoftek.com>
Tue, 30 Jul 2019 13:37:02 +0000 (13:37 +0000)
committerGeorge Rimar <grimar@accesssoftek.com>
Tue, 30 Jul 2019 13:37:02 +0000 (13:37 +0000)
Initially Inputs/alloc-symtab.o was added in D42222.
It contains an allocatable .symtab section. Today
we are able to create such sections using yaml2obj.

Later people started using this input for no solid reason in their tests.
Now multiple of tests are using it.
(And those tests do not need such a specific case actually).

In this patch I removed this binary and rewrote the few tests.

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

llvm-svn: 367310

llvm/test/tools/llvm-objcopy/ELF/Inputs/alloc-symtab.o [deleted file]
llvm/test/tools/llvm-objcopy/ELF/binary-out-error.test
llvm/test/tools/llvm-objcopy/ELF/invalid-preserve-dates.test
llvm/test/tools/llvm-objcopy/ELF/standard-streams.test
llvm/test/tools/llvm-objcopy/ELF/strict-no-add.test

diff --git a/llvm/test/tools/llvm-objcopy/ELF/Inputs/alloc-symtab.o b/llvm/test/tools/llvm-objcopy/ELF/Inputs/alloc-symtab.o
deleted file mode 100644 (file)
index 0ba4566..0000000
Binary files a/llvm/test/tools/llvm-objcopy/ELF/Inputs/alloc-symtab.o and /dev/null differ
index 36caa3f..69d71a7 100644 (file)
@@ -1,2 +1,14 @@
-# RUN: not llvm-objcopy -O binary %p/Inputs/alloc-symtab.o %t2 2>&1 >/dev/null | FileCheck %s --check-prefix=SYMTAB
+# RUN: yaml2obj %s -o %t
+# RUN: not llvm-objcopy -O binary %t - 2>&1 | FileCheck %s --check-prefix=SYMTAB
 # SYMTAB: cannot write symbol table '.symtab' out to binary
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_DYN
+  Machine: EM_X86_64
+Sections:
+  - Name: .symtab
+    Type: SHT_SYMTAB
+    Flags: [ SHF_ALLOC ]
index ff2c2e9..5b3e2e7 100644 (file)
@@ -1,23 +1,29 @@
-## This tests for an expected error when --preserve dates is
+## This tests for an expected error when --preserve-dates is
 ## specified at the same time as using stdin or stdout as input or
 ## output files.
 
+# RUN: yaml2obj %s -o %t.foo
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_DYN
+  Machine: EM_X86_64
+...
+
 # RUN: not llvm-objcopy --preserve-dates - %t 2>&1 | FileCheck %s
-# RUN: not llvm-objcopy --preserve-dates %p/Inputs/alloc-symtab.o - 2>&1 | FileCheck %s
+# RUN: not llvm-objcopy --preserve-dates %t.foo - 2>&1 | FileCheck %s
 
-## Testing N args.
-# RUN: not llvm-strip --preserve-dates - < %p/Inputs/alloc-symtab.o 2>&1 | FileCheck %s
-# RUN: not llvm-strip --preserve-dates %p/Inputs/alloc-symtab.o - < \
-# RUN:      %p/Inputs/alloc-symtab.o 2>&1 | FileCheck %s
-# RUN: not llvm-strip --preserve-dates - %p/Inputs/alloc-symtab.o < \
-# RUN:      %p/Inputs/alloc-symtab.o 2>&1 | FileCheck %s
-# RUN: not llvm-strip --preserve-dates %p/Inputs/alloc-symtab.o - \
-# RUN:      %p/Inputs/alloc-symtab.o < %p/Inputs/alloc-symtab.o 2>&1 | FileCheck %s
+## Test that llvm-strip reports a proper error when --preserve-dates is specified
+## with one or more inputs, where one of them is stdin.
+# RUN: not llvm-strip --preserve-dates - < %t.foo 2>&1 | FileCheck %s
+# RUN: not llvm-strip --preserve-dates %t.foo - < %t.foo 2>&1 | FileCheck %s
+# RUN: not llvm-strip --preserve-dates - %t.foo < %t.foo 2>&1 | FileCheck %s
+# RUN: not llvm-strip --preserve-dates %t.foo - %t.foo < %t.foo 2>&1 | FileCheck %s
 
 ## Testing -o.
-# RUN: not llvm-strip --preserve-dates - -o %p/Inputs/alloc-symtab.o < \
-# RUN:      %p/Inputs/alloc-symtab.o 2>&1 | FileCheck %s
-# RUN: not llvm-strip --preserve-dates %p/Inputs/alloc-symtab.o -o - < \
-# RUN:      %p/Inputs/alloc-symtab.o 2>&1 | FileCheck %s
+# RUN: not llvm-strip --preserve-dates - -o %t.foo < %t.foo 2>&1 | FileCheck %s
+# RUN: not llvm-strip --preserve-dates %t.foo -o - < %t.foo 2>&1 | FileCheck %s
 
 # CHECK: error: --preserve-dates requires a file
index 85b120b..8588fc9 100644 (file)
@@ -1,6 +1,15 @@
-# RUN: llvm-objcopy - %t < %p/Inputs/alloc-symtab.o
-# RUN: llvm-objcopy %p/Inputs/alloc-symtab.o %t1
+# RUN: yaml2obj %s -o %t.foo
+
+# RUN: llvm-objcopy - %t < %t.foo
+# RUN: llvm-objcopy %t.foo %t1
 # RUN: cmp %t %t1
 
-# RUN: llvm-objcopy %p/Inputs/alloc-symtab.o - > %t2
+# RUN: llvm-objcopy %t.foo - > %t2
 # RUN: cmp %t1 %t2
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_DYN
+  Machine: EM_X86_64
index 348ab7c..c1d9440 100644 (file)
@@ -2,7 +2,7 @@
 # defined in them don't trigger the creation of a large index table.
 
 RUN: %python %p/../Inputs/ungzip.py %p/Inputs/many-sections.o.gz > %t.0
-RUN: cat %p/Inputs/alloc-symtab.o > %t
+RUN: echo 'foo' > %t
 RUN: llvm-objcopy -R .text -R s0 -R s1 -R s2 -R s3 -R s4 -R s5 -R s6 %t.0 %t2
 RUN: llvm-objcopy --add-section=.s0=%t --add-section=.s1=%t --add-section=.s2=%t %t2 %t2
 RUN: llvm-readobj --sections %t2 | FileCheck --check-prefix=SECS %s