Skip to content

Commit

Permalink
[llvm-objcopy] - Stop using Inputs/alloc-symtab.o
Browse files Browse the repository at this point in the history
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
  • Loading branch information
George Rimar committed Jul 30, 2019
1 parent 0b99518 commit 29a3a50
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 19 deletions.
Binary file not shown.
14 changes: 13 additions & 1 deletion llvm/test/tools/llvm-objcopy/ELF/binary-out-error.test
@@ -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 ]
34 changes: 20 additions & 14 deletions llvm/test/tools/llvm-objcopy/ELF/invalid-preserve-dates.test
@@ -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
15 changes: 12 additions & 3 deletions llvm/test/tools/llvm-objcopy/ELF/standard-streams.test
@@ -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
2 changes: 1 addition & 1 deletion llvm/test/tools/llvm-objcopy/ELF/strict-no-add.test
Expand Up @@ -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
Expand Down

0 comments on commit 29a3a50

Please sign in to comment.