[llvm] 63f0f54 - [yaml2obj][test] Move tests to binary format specific subdirectories

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 18 09:06:29 PST 2019


Author: Fangrui Song
Date: 2019-11-18T09:06:14-08:00
New Revision: 63f0f54c89fba0dec12d4e169313d4b527348b52

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

LOG: [yaml2obj][test] Move tests to binary format specific subdirectories

Create COFF/, ELF/, and Minidump and move tests there.

Also

* Rename `*.test` to `*.yaml`
* For yaml2obj RUN lines, use `-o %t` instead of `> %t` for consistency.
  We still have tests that check stdout is the default output, e.g.
  multi-doc.test
* Update tests to consistently use `##` for comments.
  `#` is for RUN and CHECK lines.
* Merge symboless-relocation.yaml and invalid-symboless-relocation.yaml to ELF/relocation-implicit-symbol-index.test

Reviewed By: grimar, jhenderson

Differential Revision: https://reviews.llvm.org/D70264

Added: 
    llvm/test/tools/yaml2obj/COFF/basic-arm64.yaml
    llvm/test/tools/yaml2obj/COFF/invalid-alignment.yaml
    llvm/test/tools/yaml2obj/COFF/symbol-index.yaml
    llvm/test/tools/yaml2obj/ELF/abiversion.yaml
    llvm/test/tools/yaml2obj/ELF/class-endianness.yaml
    llvm/test/tools/yaml2obj/ELF/comdat-broken-info.yaml
    llvm/test/tools/yaml2obj/ELF/comdat-broken-members.yaml
    llvm/test/tools/yaml2obj/ELF/comdat-broken.yaml
    llvm/test/tools/yaml2obj/ELF/custom-fill.yaml
    llvm/test/tools/yaml2obj/ELF/custom-null-section.yaml
    llvm/test/tools/yaml2obj/ELF/duplicate-section-names.yaml
    llvm/test/tools/yaml2obj/ELF/duplicate-symbol-names.yaml
    llvm/test/tools/yaml2obj/ELF/dynamic-relocations.yaml
    llvm/test/tools/yaml2obj/ELF/dynamic-section-i386.yaml
    llvm/test/tools/yaml2obj/ELF/dynamic-section-raw-content.yaml
    llvm/test/tools/yaml2obj/ELF/dynamic-section.yaml
    llvm/test/tools/yaml2obj/ELF/dynamic-symbols.yaml
    llvm/test/tools/yaml2obj/ELF/dynsymtab-implicit-sections-size-content.yaml
    llvm/test/tools/yaml2obj/ELF/dynsymtab-shlink.yaml
    llvm/test/tools/yaml2obj/ELF/emachine.yaml
    llvm/test/tools/yaml2obj/ELF/empty-symbols.yaml
    llvm/test/tools/yaml2obj/ELF/ent-size.yaml
    llvm/test/tools/yaml2obj/ELF/explicit-dynsym-no-dynstr.yaml
    llvm/test/tools/yaml2obj/ELF/gnu-hash-section.yaml
    llvm/test/tools/yaml2obj/ELF/gnu-unique-symbols.yaml
    llvm/test/tools/yaml2obj/ELF/hash-section.yaml
    llvm/test/tools/yaml2obj/ELF/header-elfdatanone.yaml
    llvm/test/tools/yaml2obj/ELF/header-sh-fields.yaml
    llvm/test/tools/yaml2obj/ELF/implicit-sections-addr.yaml
    llvm/test/tools/yaml2obj/ELF/implicit-sections-info.yaml
    llvm/test/tools/yaml2obj/ELF/implicit-sections-types.yaml
    llvm/test/tools/yaml2obj/ELF/implicit-sections.yaml
    llvm/test/tools/yaml2obj/ELF/invalid-docnum.yaml
    llvm/test/tools/yaml2obj/ELF/linker-options.yaml
    llvm/test/tools/yaml2obj/ELF/llvm-addrsig-section.yaml
    llvm/test/tools/yaml2obj/ELF/local-symbols.yaml
    llvm/test/tools/yaml2obj/ELF/no-phdrs.yaml
    llvm/test/tools/yaml2obj/ELF/override-shname.yaml
    llvm/test/tools/yaml2obj/ELF/override-shoffset.yaml
    llvm/test/tools/yaml2obj/ELF/override-shsize.yaml
    llvm/test/tools/yaml2obj/ELF/program-header-align.yaml
    llvm/test/tools/yaml2obj/ELF/program-header-nobits.yaml
    llvm/test/tools/yaml2obj/ELF/program-header-size-offset.yaml
    llvm/test/tools/yaml2obj/ELF/program-header.yaml
    llvm/test/tools/yaml2obj/ELF/reloc-sec-info.yaml
    llvm/test/tools/yaml2obj/ELF/relocation-explicit-symbol-index.yaml
    llvm/test/tools/yaml2obj/ELF/relocation-implicit-symbol-index.yaml
    llvm/test/tools/yaml2obj/ELF/relocation-missing-symbol.yaml
    llvm/test/tools/yaml2obj/ELF/relocation-unsupported-machine.yaml
    llvm/test/tools/yaml2obj/ELF/section-link.yaml
    llvm/test/tools/yaml2obj/ELF/section-ordering.yaml
    llvm/test/tools/yaml2obj/ELF/section-size-content.yaml
    llvm/test/tools/yaml2obj/ELF/section-type.yaml
    llvm/test/tools/yaml2obj/ELF/section-unnamed.yaml
    llvm/test/tools/yaml2obj/ELF/sh-addralign.yaml
    llvm/test/tools/yaml2obj/ELF/sht-symtab-shndx.yaml
    llvm/test/tools/yaml2obj/ELF/stack-sizes.yaml
    llvm/test/tools/yaml2obj/ELF/strtab-implicit-sections-flags.yaml
    llvm/test/tools/yaml2obj/ELF/strtab-implicit-sections-size-content.yaml
    llvm/test/tools/yaml2obj/ELF/symbol-binding.yaml
    llvm/test/tools/yaml2obj/ELF/symbol-index-invalid.yaml
    llvm/test/tools/yaml2obj/ELF/symbol-index.yaml
    llvm/test/tools/yaml2obj/ELF/symbol-name.yaml
    llvm/test/tools/yaml2obj/ELF/symbol-stother.yaml
    llvm/test/tools/yaml2obj/ELF/symbol-type.yaml
    llvm/test/tools/yaml2obj/ELF/symbol-visibility.yaml
    llvm/test/tools/yaml2obj/ELF/symbols-binding-order.yaml
    llvm/test/tools/yaml2obj/ELF/symtab-implicit-sections-flags.yaml
    llvm/test/tools/yaml2obj/ELF/symtab-implicit-sections-size-content.yaml
    llvm/test/tools/yaml2obj/ELF/symtab-shinfo.yaml
    llvm/test/tools/yaml2obj/ELF/symtab-shlink.yaml
    llvm/test/tools/yaml2obj/ELF/symtab-shtype.yaml
    llvm/test/tools/yaml2obj/ELF/verdef-section.yaml
    llvm/test/tools/yaml2obj/ELF/verneed-section.yaml
    llvm/test/tools/yaml2obj/ELF/versym-section.yaml
    llvm/test/tools/yaml2obj/Minidump/exception-missing-parameter.yaml
    llvm/test/tools/yaml2obj/Minidump/raw-stream-small-size.yaml
    llvm/test/tools/yaml2obj/Minidump/systeminfo-other-long.yaml
    llvm/test/tools/yaml2obj/Minidump/systeminfo-other-not-hex.yaml
    llvm/test/tools/yaml2obj/Minidump/systeminfo-other-short.yaml
    llvm/test/tools/yaml2obj/Minidump/systeminfo-x86-long.yaml
    llvm/test/tools/yaml2obj/Minidump/systeminfo-x86-short.yaml
    llvm/test/tools/yaml2obj/invalid-output-file.yaml
    llvm/test/tools/yaml2obj/multi-doc.yaml

Modified: 
    

Removed: 
    llvm/test/tools/yaml2obj/coff-arm64.yaml
    llvm/test/tools/yaml2obj/coff-invalid-alignment.test
    llvm/test/tools/yaml2obj/coff-symbol-index.yaml
    llvm/test/tools/yaml2obj/custom-fill.yaml
    llvm/test/tools/yaml2obj/duplicate-section-names.test
    llvm/test/tools/yaml2obj/duplicate-symbol-names.test
    llvm/test/tools/yaml2obj/dynamic-relocations.yaml
    llvm/test/tools/yaml2obj/dynamic-section-i386.test
    llvm/test/tools/yaml2obj/dynamic-section-raw-content.yaml
    llvm/test/tools/yaml2obj/dynamic-section.yaml
    llvm/test/tools/yaml2obj/dynamic-symbols.yaml
    llvm/test/tools/yaml2obj/dynsymtab-implicit-sections-size-content.yaml
    llvm/test/tools/yaml2obj/dynsymtab-shlink.yaml
    llvm/test/tools/yaml2obj/elf-abiversion.yaml
    llvm/test/tools/yaml2obj/elf-class-endianness.test
    llvm/test/tools/yaml2obj/elf-comdat-broken-info.yaml
    llvm/test/tools/yaml2obj/elf-comdat-broken-members.yaml
    llvm/test/tools/yaml2obj/elf-comdat-broken.yaml
    llvm/test/tools/yaml2obj/elf-custom-null-section.yaml
    llvm/test/tools/yaml2obj/elf-emachine.yaml
    llvm/test/tools/yaml2obj/elf-ent-size.yaml
    llvm/test/tools/yaml2obj/elf-gnu-hash-section.yaml
    llvm/test/tools/yaml2obj/elf-gnu-unique-symbols.yaml
    llvm/test/tools/yaml2obj/elf-hash-section.yaml
    llvm/test/tools/yaml2obj/elf-header-elfdatanone.yaml
    llvm/test/tools/yaml2obj/elf-header-sh-fields.yaml
    llvm/test/tools/yaml2obj/elf-llvm-addrsig-section.yaml
    llvm/test/tools/yaml2obj/elf-no-phdrs.yaml
    llvm/test/tools/yaml2obj/elf-override-shname.yaml
    llvm/test/tools/yaml2obj/elf-override-shoffset.yaml
    llvm/test/tools/yaml2obj/elf-override-shsize.yaml
    llvm/test/tools/yaml2obj/elf-sh-addralign.yaml
    llvm/test/tools/yaml2obj/elf-sht-symtab-shndx.yaml
    llvm/test/tools/yaml2obj/elf-stack-sizes.yaml
    llvm/test/tools/yaml2obj/elf-symbol-binding.yaml
    llvm/test/tools/yaml2obj/elf-symbol-stother.yaml
    llvm/test/tools/yaml2obj/elf-symbol-visibility.yaml
    llvm/test/tools/yaml2obj/elf-symbols-binding-order.yaml
    llvm/test/tools/yaml2obj/elf-symtab-shinfo.yaml
    llvm/test/tools/yaml2obj/elf-symtab-shtype.yaml
    llvm/test/tools/yaml2obj/empty-symbols.yaml
    llvm/test/tools/yaml2obj/explicit-dynsym-no-dynstr.yaml
    llvm/test/tools/yaml2obj/implicit-sections-addr.yaml
    llvm/test/tools/yaml2obj/implicit-sections-info.yaml
    llvm/test/tools/yaml2obj/implicit-sections-types.test
    llvm/test/tools/yaml2obj/implicit-sections.test
    llvm/test/tools/yaml2obj/invalid-docnum.test
    llvm/test/tools/yaml2obj/invalid-symboless-relocation.yaml
    llvm/test/tools/yaml2obj/invalid_output_file.test
    llvm/test/tools/yaml2obj/linker-options.yaml
    llvm/test/tools/yaml2obj/local-symbols.yaml
    llvm/test/tools/yaml2obj/minidump-exception-missing-parameter.yaml
    llvm/test/tools/yaml2obj/minidump-raw-stream-small-size.yaml
    llvm/test/tools/yaml2obj/minidump-systeminfo-other-long.yaml
    llvm/test/tools/yaml2obj/minidump-systeminfo-other-not-hex.yaml
    llvm/test/tools/yaml2obj/minidump-systeminfo-other-short.yaml
    llvm/test/tools/yaml2obj/minidump-systeminfo-x86-long.yaml
    llvm/test/tools/yaml2obj/minidump-systeminfo-x86-short.yaml
    llvm/test/tools/yaml2obj/multi-doc.test
    llvm/test/tools/yaml2obj/program-header-align.yaml
    llvm/test/tools/yaml2obj/program-header-nobits.yaml
    llvm/test/tools/yaml2obj/program-header-size-offset.yaml
    llvm/test/tools/yaml2obj/program-header.yaml
    llvm/test/tools/yaml2obj/reloc-sec-info.yaml
    llvm/test/tools/yaml2obj/relocation-explicit-symbol-index.yaml
    llvm/test/tools/yaml2obj/relocation-missing-symbol.yaml
    llvm/test/tools/yaml2obj/relocation-unsupported-machine.yaml
    llvm/test/tools/yaml2obj/section-link.yaml
    llvm/test/tools/yaml2obj/section-ordering.yaml
    llvm/test/tools/yaml2obj/section-size-content.yaml
    llvm/test/tools/yaml2obj/section-type.yaml
    llvm/test/tools/yaml2obj/strtab-implicit-sections-flags.yaml
    llvm/test/tools/yaml2obj/strtab-implicit-sections-size-content.yaml
    llvm/test/tools/yaml2obj/symbol-index-invalid.yaml
    llvm/test/tools/yaml2obj/symbol-index.yaml
    llvm/test/tools/yaml2obj/symbol-name.yaml
    llvm/test/tools/yaml2obj/symbol-type.yaml
    llvm/test/tools/yaml2obj/symboless-relocation.yaml
    llvm/test/tools/yaml2obj/symtab-implicit-sections-flags.yaml
    llvm/test/tools/yaml2obj/symtab-implicit-sections-size-content.yaml
    llvm/test/tools/yaml2obj/symtab-shlink.yaml
    llvm/test/tools/yaml2obj/unnamed-section.yaml
    llvm/test/tools/yaml2obj/verdef-section.yaml
    llvm/test/tools/yaml2obj/verneed-section.yaml
    llvm/test/tools/yaml2obj/versym-section.yaml


################################################################################
diff  --git a/llvm/test/tools/yaml2obj/coff-arm64.yaml b/llvm/test/tools/yaml2obj/COFF/basic-arm64.yaml
similarity index 86%
rename from llvm/test/tools/yaml2obj/coff-arm64.yaml
rename to llvm/test/tools/yaml2obj/COFF/basic-arm64.yaml
index 5bb9939f1fc3..c6889777fd49 100644
--- a/llvm/test/tools/yaml2obj/coff-arm64.yaml
+++ b/llvm/test/tools/yaml2obj/COFF/basic-arm64.yaml
@@ -9,7 +9,7 @@
 # ROUNDTRIP: VirtualAddress:  12288
 
 --- !COFF
-OptionalHeader:  
+OptionalHeader:
   AddressOfEntryPoint: 4096
   ImageBase:       1073741824
   SectionAlignment: 4096
@@ -26,55 +26,55 @@ OptionalHeader:
   SizeOfStackCommit: 4096
   SizeOfHeapReserve: 1048576
   SizeOfHeapCommit: 4096
-  ExportTable:     
+  ExportTable:
     RelativeVirtualAddress: 0
     Size:            0
-  ImportTable:     
+  ImportTable:
     RelativeVirtualAddress: 0
     Size:            0
-  ResourceTable:   
+  ResourceTable:
     RelativeVirtualAddress: 0
     Size:            0
-  ExceptionTable:  
+  ExceptionTable:
     RelativeVirtualAddress: 12288
     Size:            8
-  CertificateTable: 
+  CertificateTable:
     RelativeVirtualAddress: 0
     Size:            0
-  BaseRelocationTable: 
+  BaseRelocationTable:
     RelativeVirtualAddress: 0
     Size:            0
-  Debug:           
+  Debug:
     RelativeVirtualAddress: 0
     Size:            0
-  Architecture:    
+  Architecture:
     RelativeVirtualAddress: 0
     Size:            0
-  GlobalPtr:       
+  GlobalPtr:
     RelativeVirtualAddress: 0
     Size:            0
-  TlsTable:        
+  TlsTable:
     RelativeVirtualAddress: 0
     Size:            0
-  LoadConfigTable: 
+  LoadConfigTable:
     RelativeVirtualAddress: 0
     Size:            0
-  BoundImport:     
+  BoundImport:
     RelativeVirtualAddress: 0
     Size:            0
-  IAT:             
+  IAT:
     RelativeVirtualAddress: 0
     Size:            0
-  DelayImportDescriptor: 
+  DelayImportDescriptor:
     RelativeVirtualAddress: 0
     Size:            0
-  ClrRuntimeHeader: 
+  ClrRuntimeHeader:
     RelativeVirtualAddress: 0
     Size:            0
-header:          
+header:
   Machine:         IMAGE_FILE_MACHINE_ARM64
   Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE ]
-sections:        
+sections:
   - Name:            .text
     Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
     VirtualAddress:  4096

diff  --git a/llvm/test/tools/yaml2obj/coff-invalid-alignment.test b/llvm/test/tools/yaml2obj/COFF/invalid-alignment.yaml
similarity index 96%
rename from llvm/test/tools/yaml2obj/coff-invalid-alignment.test
rename to llvm/test/tools/yaml2obj/COFF/invalid-alignment.yaml
index 3a3d8a84ad1c..213d5adf1d90 100644
--- a/llvm/test/tools/yaml2obj/coff-invalid-alignment.test
+++ b/llvm/test/tools/yaml2obj/COFF/invalid-alignment.yaml
@@ -11,4 +11,4 @@ sections:
     Characteristics: []
     SectionData:     00
     Alignment:       16384
-symbols:
+symbols: []

diff  --git a/llvm/test/tools/yaml2obj/coff-symbol-index.yaml b/llvm/test/tools/yaml2obj/COFF/symbol-index.yaml
similarity index 89%
rename from llvm/test/tools/yaml2obj/coff-symbol-index.yaml
rename to llvm/test/tools/yaml2obj/COFF/symbol-index.yaml
index 7973b2558c50..39d41f36500e 100644
--- a/llvm/test/tools/yaml2obj/coff-symbol-index.yaml
+++ b/llvm/test/tools/yaml2obj/COFF/symbol-index.yaml
@@ -10,11 +10,11 @@
 # RELOCS-NEXT:   }
 # RELOCS-NEXT: ]
 
-# Check that we usually output relocations with SymbolName.
-# For relocations with a non-unique symbol name, output
-# SymbolTableIndex instead.
+## Check that we usually output relocations with SymbolName.
+## For relocations with a non-unique symbol name, output
+## SymbolTableIndex instead.
 
-# YAML:          Relocations:     
+# YAML:          Relocations:
 # YAML-NEXT:       - VirtualAddress:  3
 # YAML-NEXT:         SymbolTableIndex: 0
 # YAML-NEXT:         Type:            IMAGE_REL_AMD64_REL32
@@ -26,15 +26,15 @@
 # YAML-NEXT:         Type:            IMAGE_REL_AMD64_REL32
 
 --- !COFF
-header:          
+header:
   Machine:         IMAGE_FILE_MACHINE_AMD64
   Characteristics: [  ]
-sections:        
+sections:
   - Name:            .text
     Characteristics: [  ]
     Alignment:       4
     SectionData:     488B0500000000488B0500000000488B0500000000
-    Relocations:     
+    Relocations:
       - VirtualAddress:  3
         SymbolTableIndex: 0
         Type:            IMAGE_REL_AMD64_REL32
@@ -52,7 +52,7 @@ sections:
     Characteristics: [  ]
     Alignment:       1
     SectionData:     '01'
-symbols:         
+symbols:
   - Name:            .rdata
     Value:           0
     SectionNumber:   2

diff  --git a/llvm/test/tools/yaml2obj/elf-abiversion.yaml b/llvm/test/tools/yaml2obj/ELF/abiversion.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-abiversion.yaml
rename to llvm/test/tools/yaml2obj/ELF/abiversion.yaml
index 0aab621d2579..b7ffcd379d53 100644
--- a/llvm/test/tools/yaml2obj/elf-abiversion.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/abiversion.yaml
@@ -1,9 +1,9 @@
+## Check we are able to parse/emit the ABI version with yaml2obj/obj2yaml.
+
 # RUN: yaml2obj %s -o %t
 # RUN: llvm-readobj --file-headers %t | FileCheck %s --check-prefix=FROMYAML
 # RUN: obj2yaml %t | FileCheck %s --check-prefix=TOYAML
 
-## Check we are able to parse/emit the ABI version with yaml2obj/obj2yaml.
-
 # FROMYAML: ABIVersion: 5
 # TOYAML:   ABIVersion: 0x05
 

diff  --git a/llvm/test/tools/yaml2obj/elf-class-endianness.test b/llvm/test/tools/yaml2obj/ELF/class-endianness.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-class-endianness.test
rename to llvm/test/tools/yaml2obj/ELF/class-endianness.yaml

diff  --git a/llvm/test/tools/yaml2obj/elf-comdat-broken-info.yaml b/llvm/test/tools/yaml2obj/ELF/comdat-broken-info.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-comdat-broken-info.yaml
rename to llvm/test/tools/yaml2obj/ELF/comdat-broken-info.yaml

diff  --git a/llvm/test/tools/yaml2obj/elf-comdat-broken-members.yaml b/llvm/test/tools/yaml2obj/ELF/comdat-broken-members.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-comdat-broken-members.yaml
rename to llvm/test/tools/yaml2obj/ELF/comdat-broken-members.yaml

diff  --git a/llvm/test/tools/yaml2obj/elf-comdat-broken.yaml b/llvm/test/tools/yaml2obj/ELF/comdat-broken.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-comdat-broken.yaml
rename to llvm/test/tools/yaml2obj/ELF/comdat-broken.yaml

diff  --git a/llvm/test/tools/yaml2obj/custom-fill.yaml b/llvm/test/tools/yaml2obj/ELF/custom-fill.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/custom-fill.yaml
rename to llvm/test/tools/yaml2obj/ELF/custom-fill.yaml

diff  --git a/llvm/test/tools/yaml2obj/elf-custom-null-section.yaml b/llvm/test/tools/yaml2obj/ELF/custom-null-section.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-custom-null-section.yaml
rename to llvm/test/tools/yaml2obj/ELF/custom-null-section.yaml

diff  --git a/llvm/test/tools/yaml2obj/duplicate-section-names.test b/llvm/test/tools/yaml2obj/ELF/duplicate-section-names.yaml
similarity index 99%
rename from llvm/test/tools/yaml2obj/duplicate-section-names.test
rename to llvm/test/tools/yaml2obj/ELF/duplicate-section-names.yaml
index 8b21511a281f..e681ff1d1a48 100644
--- a/llvm/test/tools/yaml2obj/duplicate-section-names.test
+++ b/llvm/test/tools/yaml2obj/ELF/duplicate-section-names.yaml
@@ -159,7 +159,7 @@ Sections:
   - Name: '.group [1]'
     Type: SHT_GROUP
     Info: 'foo [1]'
-    Members:         
+    Members:
       - SectionOrType: GRP_COMDAT
       - SectionOrType: '.text.foo [1]'
   - Name: '.text.foo [1]'

diff  --git a/llvm/test/tools/yaml2obj/duplicate-symbol-names.test b/llvm/test/tools/yaml2obj/ELF/duplicate-symbol-names.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/duplicate-symbol-names.test
rename to llvm/test/tools/yaml2obj/ELF/duplicate-symbol-names.yaml

diff  --git a/llvm/test/tools/yaml2obj/dynamic-relocations.yaml b/llvm/test/tools/yaml2obj/ELF/dynamic-relocations.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/dynamic-relocations.yaml
rename to llvm/test/tools/yaml2obj/ELF/dynamic-relocations.yaml

diff  --git a/llvm/test/tools/yaml2obj/dynamic-section-i386.test b/llvm/test/tools/yaml2obj/ELF/dynamic-section-i386.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/dynamic-section-i386.test
rename to llvm/test/tools/yaml2obj/ELF/dynamic-section-i386.yaml

diff  --git a/llvm/test/tools/yaml2obj/dynamic-section-raw-content.yaml b/llvm/test/tools/yaml2obj/ELF/dynamic-section-raw-content.yaml
similarity index 88%
rename from llvm/test/tools/yaml2obj/dynamic-section-raw-content.yaml
rename to llvm/test/tools/yaml2obj/ELF/dynamic-section-raw-content.yaml
index b7f9b7774840..feb979df9494 100644
--- a/llvm/test/tools/yaml2obj/dynamic-section-raw-content.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/dynamic-section-raw-content.yaml
@@ -1,5 +1,5 @@
-# Show that yaml2obj can handle a dynamic section with raw content instead of
-# entries. Also show that it rejects raw content when entries are also provided.
+## Show that yaml2obj can handle a dynamic section with raw content instead of
+## entries. Also show that it rejects raw content when entries are also provided.
 
 # RUN: yaml2obj --docnum=1 %s -o %t1
 # RUN: llvm-readobj -x .dynamic --sections %t1 | FileCheck %s --check-prefix=RAW

diff  --git a/llvm/test/tools/yaml2obj/dynamic-section.yaml b/llvm/test/tools/yaml2obj/ELF/dynamic-section.yaml
similarity index 85%
rename from llvm/test/tools/yaml2obj/dynamic-section.yaml
rename to llvm/test/tools/yaml2obj/ELF/dynamic-section.yaml
index 2480810d33bc..035d97094dfe 100644
--- a/llvm/test/tools/yaml2obj/dynamic-section.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/dynamic-section.yaml
@@ -1,4 +1,5 @@
-# Ensures that dynamic section has sh_entsize correctly set
+## Ensures that dynamic section has sh_entsize correctly set.
+
 # RUN: yaml2obj %s -o %t
 # RUN: llvm-readobj --sections %t | FileCheck %s --check-prefix=SECTION
 

diff  --git a/llvm/test/tools/yaml2obj/dynamic-symbols.yaml b/llvm/test/tools/yaml2obj/ELF/dynamic-symbols.yaml
similarity index 98%
rename from llvm/test/tools/yaml2obj/dynamic-symbols.yaml
rename to llvm/test/tools/yaml2obj/ELF/dynamic-symbols.yaml
index c088a1199be4..e42ff1e66eed 100644
--- a/llvm/test/tools/yaml2obj/dynamic-symbols.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/dynamic-symbols.yaml
@@ -51,12 +51,12 @@ DynamicSymbols:
 # NUM-SAME: .data (0x1)
 
 # NUM:      Name: bar
-# NUM:      Section: 
+# NUM:      Section:
 # NUM-SAME: .strtab (0x2)
 
 # NUM:      Name: zed
 # NUM: warning: '[[FILE]]': invalid section index: 255
-# NUM:      Section: 
+# NUM:      Section:
 # NUM-SAME: <?> (0xFF)
 
 --- !ELF

diff  --git a/llvm/test/tools/yaml2obj/dynsymtab-implicit-sections-size-content.yaml b/llvm/test/tools/yaml2obj/ELF/dynsymtab-implicit-sections-size-content.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/dynsymtab-implicit-sections-size-content.yaml
rename to llvm/test/tools/yaml2obj/ELF/dynsymtab-implicit-sections-size-content.yaml

diff  --git a/llvm/test/tools/yaml2obj/dynsymtab-shlink.yaml b/llvm/test/tools/yaml2obj/ELF/dynsymtab-shlink.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/dynsymtab-shlink.yaml
rename to llvm/test/tools/yaml2obj/ELF/dynsymtab-shlink.yaml

diff  --git a/llvm/test/tools/yaml2obj/elf-emachine.yaml b/llvm/test/tools/yaml2obj/ELF/emachine.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-emachine.yaml
rename to llvm/test/tools/yaml2obj/ELF/emachine.yaml

diff  --git a/llvm/test/tools/yaml2obj/ELF/empty-symbols.yaml b/llvm/test/tools/yaml2obj/ELF/empty-symbols.yaml
new file mode 100644
index 000000000000..00c16f62c6c6
--- /dev/null
+++ b/llvm/test/tools/yaml2obj/ELF/empty-symbols.yaml
@@ -0,0 +1,12 @@
+## Ensure yaml2obj doesn't error on empty optional mappings, such as Symbols
+# RUN: yaml2obj %s -o /dev/null
+
+!ELF
+FileHeader:
+  Class:           ELFCLASS64
+  Data:            ELFDATA2LSB
+  Type:            ET_DYN
+  Machine:         EM_X86_64
+## We usually express this as `Symbols: []`, but here we show that the value
+## can be omitted.
+Symbols:

diff  --git a/llvm/test/tools/yaml2obj/elf-ent-size.yaml b/llvm/test/tools/yaml2obj/ELF/ent-size.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-ent-size.yaml
rename to llvm/test/tools/yaml2obj/ELF/ent-size.yaml

diff  --git a/llvm/test/tools/yaml2obj/explicit-dynsym-no-dynstr.yaml b/llvm/test/tools/yaml2obj/ELF/explicit-dynsym-no-dynstr.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/explicit-dynsym-no-dynstr.yaml
rename to llvm/test/tools/yaml2obj/ELF/explicit-dynsym-no-dynstr.yaml

diff  --git a/llvm/test/tools/yaml2obj/elf-gnu-hash-section.yaml b/llvm/test/tools/yaml2obj/ELF/gnu-hash-section.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-gnu-hash-section.yaml
rename to llvm/test/tools/yaml2obj/ELF/gnu-hash-section.yaml

diff  --git a/llvm/test/tools/yaml2obj/elf-gnu-unique-symbols.yaml b/llvm/test/tools/yaml2obj/ELF/gnu-unique-symbols.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-gnu-unique-symbols.yaml
rename to llvm/test/tools/yaml2obj/ELF/gnu-unique-symbols.yaml

diff  --git a/llvm/test/tools/yaml2obj/elf-hash-section.yaml b/llvm/test/tools/yaml2obj/ELF/hash-section.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-hash-section.yaml
rename to llvm/test/tools/yaml2obj/ELF/hash-section.yaml

diff  --git a/llvm/test/tools/yaml2obj/elf-header-elfdatanone.yaml b/llvm/test/tools/yaml2obj/ELF/header-elfdatanone.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-header-elfdatanone.yaml
rename to llvm/test/tools/yaml2obj/ELF/header-elfdatanone.yaml

diff  --git a/llvm/test/tools/yaml2obj/elf-header-sh-fields.yaml b/llvm/test/tools/yaml2obj/ELF/header-sh-fields.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-header-sh-fields.yaml
rename to llvm/test/tools/yaml2obj/ELF/header-sh-fields.yaml

diff  --git a/llvm/test/tools/yaml2obj/implicit-sections-addr.yaml b/llvm/test/tools/yaml2obj/ELF/implicit-sections-addr.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/implicit-sections-addr.yaml
rename to llvm/test/tools/yaml2obj/ELF/implicit-sections-addr.yaml

diff  --git a/llvm/test/tools/yaml2obj/implicit-sections-info.yaml b/llvm/test/tools/yaml2obj/ELF/implicit-sections-info.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/implicit-sections-info.yaml
rename to llvm/test/tools/yaml2obj/ELF/implicit-sections-info.yaml

diff  --git a/llvm/test/tools/yaml2obj/implicit-sections-types.test b/llvm/test/tools/yaml2obj/ELF/implicit-sections-types.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/implicit-sections-types.test
rename to llvm/test/tools/yaml2obj/ELF/implicit-sections-types.yaml

diff  --git a/llvm/test/tools/yaml2obj/implicit-sections.test b/llvm/test/tools/yaml2obj/ELF/implicit-sections.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/implicit-sections.test
rename to llvm/test/tools/yaml2obj/ELF/implicit-sections.yaml

diff  --git a/llvm/test/tools/yaml2obj/invalid-docnum.test b/llvm/test/tools/yaml2obj/ELF/invalid-docnum.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/invalid-docnum.test
rename to llvm/test/tools/yaml2obj/ELF/invalid-docnum.yaml

diff  --git a/llvm/test/tools/yaml2obj/linker-options.yaml b/llvm/test/tools/yaml2obj/ELF/linker-options.yaml
similarity index 99%
rename from llvm/test/tools/yaml2obj/linker-options.yaml
rename to llvm/test/tools/yaml2obj/ELF/linker-options.yaml
index 2082e4945344..79a645c2aaa0 100644
--- a/llvm/test/tools/yaml2obj/linker-options.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/linker-options.yaml
@@ -86,7 +86,7 @@ Sections:
 # RUN: not yaml2obj %s --docnum=4 2>&1 | FileCheck %s --check-prefix=BOTH
 
 # BOTH: error: "Options" and "Content" can't be used together
- 
+
 --- !ELF
 FileHeader:
   Class:   ELFCLASS64

diff  --git a/llvm/test/tools/yaml2obj/elf-llvm-addrsig-section.yaml b/llvm/test/tools/yaml2obj/ELF/llvm-addrsig-section.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-llvm-addrsig-section.yaml
rename to llvm/test/tools/yaml2obj/ELF/llvm-addrsig-section.yaml

diff  --git a/llvm/test/tools/yaml2obj/local-symbols.yaml b/llvm/test/tools/yaml2obj/ELF/local-symbols.yaml
similarity index 79%
rename from llvm/test/tools/yaml2obj/local-symbols.yaml
rename to llvm/test/tools/yaml2obj/ELF/local-symbols.yaml
index fa82a90923d9..4c1800ea4c19 100644
--- a/llvm/test/tools/yaml2obj/local-symbols.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/local-symbols.yaml
@@ -1,6 +1,6 @@
-# Check we correctly set the sh_info field of .symtab section.
-# A symbol table section's sh_info section header member holds
-# the symbol table index for the first non-local symbol.
+## Check we correctly set the sh_info field of .symtab section.
+## A symbol table section's sh_info section header member holds
+## the symbol table index for the first non-local symbol.
 
 # RUN: yaml2obj -docnum=1 %s -o %t
 # RUN: llvm-readobj --sections %t | FileCheck %s --check-prefix=ONE

diff  --git a/llvm/test/tools/yaml2obj/elf-no-phdrs.yaml b/llvm/test/tools/yaml2obj/ELF/no-phdrs.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-no-phdrs.yaml
rename to llvm/test/tools/yaml2obj/ELF/no-phdrs.yaml

diff  --git a/llvm/test/tools/yaml2obj/elf-override-shname.yaml b/llvm/test/tools/yaml2obj/ELF/override-shname.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-override-shname.yaml
rename to llvm/test/tools/yaml2obj/ELF/override-shname.yaml

diff  --git a/llvm/test/tools/yaml2obj/elf-override-shoffset.yaml b/llvm/test/tools/yaml2obj/ELF/override-shoffset.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-override-shoffset.yaml
rename to llvm/test/tools/yaml2obj/ELF/override-shoffset.yaml

diff  --git a/llvm/test/tools/yaml2obj/elf-override-shsize.yaml b/llvm/test/tools/yaml2obj/ELF/override-shsize.yaml
similarity index 99%
rename from llvm/test/tools/yaml2obj/elf-override-shsize.yaml
rename to llvm/test/tools/yaml2obj/ELF/override-shsize.yaml
index 4470ae22002f..ebbb3c3d24e5 100644
--- a/llvm/test/tools/yaml2obj/elf-override-shsize.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/override-shsize.yaml
@@ -5,7 +5,7 @@
 # RUN: llvm-readelf --sections %t1 | FileCheck %s --check-prefix=CASE1
 
 # CASE1:      Section Headers:
-# CASE1-NEXT:  [Nr] Name           Type     Address          Off    Size  
+# CASE1-NEXT:  [Nr] Name           Type     Address          Off    Size
 # CASE1-NEXT:  [ 0]                NULL     0000000000000000 000000 000000
 # CASE1-NEXT:  [ 1] .dynsym        DYNSYM   0000000000000000 000040 000001
 # CASE1-NEXT:  [ 2] .symtab        SYMTAB   0000000000000000 000058 000002

diff  --git a/llvm/test/tools/yaml2obj/program-header-align.yaml b/llvm/test/tools/yaml2obj/ELF/program-header-align.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/program-header-align.yaml
rename to llvm/test/tools/yaml2obj/ELF/program-header-align.yaml

diff  --git a/llvm/test/tools/yaml2obj/program-header-nobits.yaml b/llvm/test/tools/yaml2obj/ELF/program-header-nobits.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/program-header-nobits.yaml
rename to llvm/test/tools/yaml2obj/ELF/program-header-nobits.yaml

diff  --git a/llvm/test/tools/yaml2obj/program-header-size-offset.yaml b/llvm/test/tools/yaml2obj/ELF/program-header-size-offset.yaml
similarity index 95%
rename from llvm/test/tools/yaml2obj/program-header-size-offset.yaml
rename to llvm/test/tools/yaml2obj/ELF/program-header-size-offset.yaml
index 2cfddd2daa60..a2f727dab5fd 100644
--- a/llvm/test/tools/yaml2obj/program-header-size-offset.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/program-header-size-offset.yaml
@@ -1,5 +1,5 @@
-# Show that yaml2obj properly emits program headers with explicit file size,
-# memory size and offset parameters.
+## Show that yaml2obj properly emits program headers with explicit file size,
+## memory size and offset parameters.
 
 # RUN: yaml2obj %s -o %t
 # RUN: llvm-readobj %t --program-headers | FileCheck %s

diff  --git a/llvm/test/tools/yaml2obj/program-header.yaml b/llvm/test/tools/yaml2obj/ELF/program-header.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/program-header.yaml
rename to llvm/test/tools/yaml2obj/ELF/program-header.yaml

diff  --git a/llvm/test/tools/yaml2obj/reloc-sec-info.yaml b/llvm/test/tools/yaml2obj/ELF/reloc-sec-info.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/reloc-sec-info.yaml
rename to llvm/test/tools/yaml2obj/ELF/reloc-sec-info.yaml

diff  --git a/llvm/test/tools/yaml2obj/relocation-explicit-symbol-index.yaml b/llvm/test/tools/yaml2obj/ELF/relocation-explicit-symbol-index.yaml
similarity index 77%
rename from llvm/test/tools/yaml2obj/relocation-explicit-symbol-index.yaml
rename to llvm/test/tools/yaml2obj/ELF/relocation-explicit-symbol-index.yaml
index 1a3470fe098f..f4078dfc0ad6 100644
--- a/llvm/test/tools/yaml2obj/relocation-explicit-symbol-index.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/relocation-explicit-symbol-index.yaml
@@ -1,7 +1,8 @@
-# Test that a relocation's symbol can be an integer.
-# RUN: yaml2obj %s > %t
-# LLVM tools (both llvm-readobj and llvm-objdump) reject relocations with
-# invalid symbol indexes, so inspect the hex contents instead.
+## Test that a relocation's symbol can be an integer (symbol index).
+
+# RUN: yaml2obj %s -o %t
+## LLVM tools (both llvm-readobj and llvm-objdump) reject relocations with
+## invalid symbol indexes, so inspect the hex contents instead.
 # RUN: llvm-readobj -x .rela.text %t | FileCheck %s
 
 # CHECK:      Hex dump of section '.rela.text':

diff  --git a/llvm/test/tools/yaml2obj/invalid-symboless-relocation.yaml b/llvm/test/tools/yaml2obj/ELF/relocation-implicit-symbol-index.yaml
similarity index 52%
rename from llvm/test/tools/yaml2obj/invalid-symboless-relocation.yaml
rename to llvm/test/tools/yaml2obj/ELF/relocation-implicit-symbol-index.yaml
index 9ec956fcf8c8..b8e7c6d0c40e 100644
--- a/llvm/test/tools/yaml2obj/invalid-symboless-relocation.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/relocation-implicit-symbol-index.yaml
@@ -1,8 +1,15 @@
-# This test succeeds but produces an invalid relocation. This test
-# documents this behavoir.
-# RUN: yaml2obj %s > %t
+## If "Symbol" is not specified for a relocation, the symbol index is assumed to be 0.
+
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-readobj -r %t | FileCheck %s
 
+# CHECK:     Relocations [
+# CHECK-NEXT:  Section (2) .rel.text {
+# CHECK-NEXT:    0x1000 R_X86_64_RELATIVE - 0x0
+# CHECK-NEXT:    0x1001 R_X86_64_PC32 - 0x0
+# CHECK-NEXT:  }
+# CHECK-NEXT:]
+
 !ELF
 FileHeader:
   Class:           ELFCLASS64
@@ -19,10 +26,7 @@ Sections:
     Info:            .text
     Relocations:
       - Offset: 0x1000
+        Type:   R_X86_64_RELATIVE
+      ## R_X86_64_PC32 should have a non-zero symbol index but we don't error.
+      - Offset: 0x1001
         Type:   R_X86_64_PC32
-
-#CHECK:     Relocations [
-#CHECK-NEXT:  Section (2) .rel.text {
-#CHECK-NEXT:    0x1000 R_X86_64_PC32 - 0x0
-#CHECK-NEXT:  }
-#CHECK-NEXT:]

diff  --git a/llvm/test/tools/yaml2obj/relocation-missing-symbol.yaml b/llvm/test/tools/yaml2obj/ELF/relocation-missing-symbol.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/relocation-missing-symbol.yaml
rename to llvm/test/tools/yaml2obj/ELF/relocation-missing-symbol.yaml

diff  --git a/llvm/test/tools/yaml2obj/relocation-unsupported-machine.yaml b/llvm/test/tools/yaml2obj/ELF/relocation-unsupported-machine.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/relocation-unsupported-machine.yaml
rename to llvm/test/tools/yaml2obj/ELF/relocation-unsupported-machine.yaml

diff  --git a/llvm/test/tools/yaml2obj/section-link.yaml b/llvm/test/tools/yaml2obj/ELF/section-link.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/section-link.yaml
rename to llvm/test/tools/yaml2obj/ELF/section-link.yaml

diff  --git a/llvm/test/tools/yaml2obj/section-ordering.yaml b/llvm/test/tools/yaml2obj/ELF/section-ordering.yaml
similarity index 90%
rename from llvm/test/tools/yaml2obj/section-ordering.yaml
rename to llvm/test/tools/yaml2obj/ELF/section-ordering.yaml
index 5595f9379e99..47d87af347c6 100644
--- a/llvm/test/tools/yaml2obj/section-ordering.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/section-ordering.yaml
@@ -1,4 +1,5 @@
-# Ensures that implicitly added sections can be ordered within Sections.
+## Ensures that implicitly added sections can be ordered within Sections.
+
 # RUN: yaml2obj %s -o %t
 # RUN: llvm-readobj --sections %t | FileCheck %s
 

diff  --git a/llvm/test/tools/yaml2obj/section-size-content.yaml b/llvm/test/tools/yaml2obj/ELF/section-size-content.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/section-size-content.yaml
rename to llvm/test/tools/yaml2obj/ELF/section-size-content.yaml

diff  --git a/llvm/test/tools/yaml2obj/section-type.yaml b/llvm/test/tools/yaml2obj/ELF/section-type.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/section-type.yaml
rename to llvm/test/tools/yaml2obj/ELF/section-type.yaml

diff  --git a/llvm/test/tools/yaml2obj/unnamed-section.yaml b/llvm/test/tools/yaml2obj/ELF/section-unnamed.yaml
similarity index 90%
rename from llvm/test/tools/yaml2obj/unnamed-section.yaml
rename to llvm/test/tools/yaml2obj/ELF/section-unnamed.yaml
index e0d664e06d4f..ae5f2d29cf2e 100644
--- a/llvm/test/tools/yaml2obj/unnamed-section.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/section-unnamed.yaml
@@ -1,4 +1,5 @@
-# Ensure yaml2obj doesn't crash on unnamed sections
+## Check that "Name" defaults to an empty string.
+
 # RUN: yaml2obj %s -o %t
 # RUN: llvm-readobj --sections %t | FileCheck %s
 

diff  --git a/llvm/test/tools/yaml2obj/elf-sh-addralign.yaml b/llvm/test/tools/yaml2obj/ELF/sh-addralign.yaml
similarity index 96%
rename from llvm/test/tools/yaml2obj/elf-sh-addralign.yaml
rename to llvm/test/tools/yaml2obj/ELF/sh-addralign.yaml
index fa057ecf4113..100155e30682 100644
--- a/llvm/test/tools/yaml2obj/elf-sh-addralign.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/sh-addralign.yaml
@@ -1,6 +1,6 @@
 ## Check that yaml2obj takes in account section AddressAlign field.
 
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-readobj -S %t | FileCheck %s
 
 # CHECK:      Section {

diff  --git a/llvm/test/tools/yaml2obj/elf-sht-symtab-shndx.yaml b/llvm/test/tools/yaml2obj/ELF/sht-symtab-shndx.yaml
similarity index 99%
rename from llvm/test/tools/yaml2obj/elf-sht-symtab-shndx.yaml
rename to llvm/test/tools/yaml2obj/ELF/sht-symtab-shndx.yaml
index 7175f465a668..9e74a9b0cf54 100644
--- a/llvm/test/tools/yaml2obj/elf-sht-symtab-shndx.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/sht-symtab-shndx.yaml
@@ -21,7 +21,7 @@ Symbols:
     Index: SHN_XINDEX
 
 ## Check that yaml2obj keeps the SHT_SYMTAB_SHNDX section in the output
-## even when symbol's section index value is low enough to not require the extended symtab. 
+## even when symbol's section index value is low enough to not require the extended symtab.
 ## Also, check that symbols in .symtab still have the SHN_XINDEX index.
 
 # RUN: yaml2obj --docnum=2 %s -o %t2

diff  --git a/llvm/test/tools/yaml2obj/elf-stack-sizes.yaml b/llvm/test/tools/yaml2obj/ELF/stack-sizes.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-stack-sizes.yaml
rename to llvm/test/tools/yaml2obj/ELF/stack-sizes.yaml

diff  --git a/llvm/test/tools/yaml2obj/strtab-implicit-sections-flags.yaml b/llvm/test/tools/yaml2obj/ELF/strtab-implicit-sections-flags.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/strtab-implicit-sections-flags.yaml
rename to llvm/test/tools/yaml2obj/ELF/strtab-implicit-sections-flags.yaml

diff  --git a/llvm/test/tools/yaml2obj/strtab-implicit-sections-size-content.yaml b/llvm/test/tools/yaml2obj/ELF/strtab-implicit-sections-size-content.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/strtab-implicit-sections-size-content.yaml
rename to llvm/test/tools/yaml2obj/ELF/strtab-implicit-sections-size-content.yaml

diff  --git a/llvm/test/tools/yaml2obj/elf-symbol-binding.yaml b/llvm/test/tools/yaml2obj/ELF/symbol-binding.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-symbol-binding.yaml
rename to llvm/test/tools/yaml2obj/ELF/symbol-binding.yaml

diff  --git a/llvm/test/tools/yaml2obj/symbol-index-invalid.yaml b/llvm/test/tools/yaml2obj/ELF/symbol-index-invalid.yaml
similarity index 85%
rename from llvm/test/tools/yaml2obj/symbol-index-invalid.yaml
rename to llvm/test/tools/yaml2obj/ELF/symbol-index-invalid.yaml
index 06ef1b51a267..5072623624ec 100644
--- a/llvm/test/tools/yaml2obj/symbol-index-invalid.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/symbol-index-invalid.yaml
@@ -1,4 +1,5 @@
-# This test insures that the user cannot have both an Index and a Section field.
+## Check that "Index" and "Section" cannot be used together in a symbol.
+
 # RUN: not yaml2obj %s
 
 !ELF

diff  --git a/llvm/test/tools/yaml2obj/symbol-index.yaml b/llvm/test/tools/yaml2obj/ELF/symbol-index.yaml
similarity index 94%
rename from llvm/test/tools/yaml2obj/symbol-index.yaml
rename to llvm/test/tools/yaml2obj/ELF/symbol-index.yaml
index 0530fa43a39b..a053c94dd245 100644
--- a/llvm/test/tools/yaml2obj/symbol-index.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/symbol-index.yaml
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-readelf -s %t | FileCheck %s
 
 !ELF
@@ -21,10 +21,10 @@ Symbols:
     Binding:  STB_GLOBAL
   - Name:     common1
     Index:    SHN_COMMON
-    Binding:  STB_GLOBAL 
+    Binding:  STB_GLOBAL
   - Name:     common2
     Index:    0xfff2
-    Binding:  STB_GLOBAL 
+    Binding:  STB_GLOBAL
   - Name:     good
     Index:    0x1
     Binding:  STB_GLOBAL

diff  --git a/llvm/test/tools/yaml2obj/symbol-name.yaml b/llvm/test/tools/yaml2obj/ELF/symbol-name.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/symbol-name.yaml
rename to llvm/test/tools/yaml2obj/ELF/symbol-name.yaml

diff  --git a/llvm/test/tools/yaml2obj/elf-symbol-stother.yaml b/llvm/test/tools/yaml2obj/ELF/symbol-stother.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-symbol-stother.yaml
rename to llvm/test/tools/yaml2obj/ELF/symbol-stother.yaml

diff  --git a/llvm/test/tools/yaml2obj/symbol-type.yaml b/llvm/test/tools/yaml2obj/ELF/symbol-type.yaml
similarity index 95%
rename from llvm/test/tools/yaml2obj/symbol-type.yaml
rename to llvm/test/tools/yaml2obj/ELF/symbol-type.yaml
index 2eec6a46fd86..d74b1cbf7879 100644
--- a/llvm/test/tools/yaml2obj/symbol-type.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/symbol-type.yaml
@@ -1,4 +1,4 @@
-# RUN: yaml2obj %s > %t
+# RUN: yaml2obj %s -o %t
 # RUN: llvm-readobj --symbols %t | FileCheck %s
 
 # CHECK: Name: notype
@@ -30,7 +30,7 @@ Sections:
 Symbols:
   - Name:    notype
     Type:    STT_NOTYPE
-    Binding: STB_GLOBAL 
+    Binding: STB_GLOBAL
   - Name:    normal_type
     Type:    STT_OBJECT
     Binding: STB_GLOBAL

diff  --git a/llvm/test/tools/yaml2obj/elf-symbol-visibility.yaml b/llvm/test/tools/yaml2obj/ELF/symbol-visibility.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-symbol-visibility.yaml
rename to llvm/test/tools/yaml2obj/ELF/symbol-visibility.yaml

diff  --git a/llvm/test/tools/yaml2obj/elf-symbols-binding-order.yaml b/llvm/test/tools/yaml2obj/ELF/symbols-binding-order.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-symbols-binding-order.yaml
rename to llvm/test/tools/yaml2obj/ELF/symbols-binding-order.yaml

diff  --git a/llvm/test/tools/yaml2obj/symtab-implicit-sections-flags.yaml b/llvm/test/tools/yaml2obj/ELF/symtab-implicit-sections-flags.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/symtab-implicit-sections-flags.yaml
rename to llvm/test/tools/yaml2obj/ELF/symtab-implicit-sections-flags.yaml

diff  --git a/llvm/test/tools/yaml2obj/symtab-implicit-sections-size-content.yaml b/llvm/test/tools/yaml2obj/ELF/symtab-implicit-sections-size-content.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/symtab-implicit-sections-size-content.yaml
rename to llvm/test/tools/yaml2obj/ELF/symtab-implicit-sections-size-content.yaml

diff  --git a/llvm/test/tools/yaml2obj/elf-symtab-shinfo.yaml b/llvm/test/tools/yaml2obj/ELF/symtab-shinfo.yaml
similarity index 99%
rename from llvm/test/tools/yaml2obj/elf-symtab-shinfo.yaml
rename to llvm/test/tools/yaml2obj/ELF/symtab-shinfo.yaml
index 98ab4ac30db8..fadc19686bb5 100644
--- a/llvm/test/tools/yaml2obj/elf-symtab-shinfo.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/symtab-shinfo.yaml
@@ -21,7 +21,7 @@
 # CHECK-NEXT: Size:
 # CHECK-NEXT: Link:
 # CHECK-NEXT: Info: 26
- 
+
 --- !ELF
 FileHeader:
   Class:   ELFCLASS64

diff  --git a/llvm/test/tools/yaml2obj/symtab-shlink.yaml b/llvm/test/tools/yaml2obj/ELF/symtab-shlink.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/symtab-shlink.yaml
rename to llvm/test/tools/yaml2obj/ELF/symtab-shlink.yaml

diff  --git a/llvm/test/tools/yaml2obj/elf-symtab-shtype.yaml b/llvm/test/tools/yaml2obj/ELF/symtab-shtype.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/elf-symtab-shtype.yaml
rename to llvm/test/tools/yaml2obj/ELF/symtab-shtype.yaml

diff  --git a/llvm/test/tools/yaml2obj/verdef-section.yaml b/llvm/test/tools/yaml2obj/ELF/verdef-section.yaml
similarity index 96%
rename from llvm/test/tools/yaml2obj/verdef-section.yaml
rename to llvm/test/tools/yaml2obj/ELF/verdef-section.yaml
index f26e7d168e89..f6ddbf3d25d6 100644
--- a/llvm/test/tools/yaml2obj/verdef-section.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/verdef-section.yaml
@@ -1,8 +1,8 @@
+## Check we are able to handle SHT_GNU_verdef sections.
+
 # RUN: yaml2obj %s -o %t
 # RUN: llvm-readobj -V %t | FileCheck %s
 
-# Check we are able to handle the SHT_GNU_verdef sections.
-
 # CHECK:      VersionDefinitions [
 # CHECK-NEXT:   Definition {
 # CHECK-NEXT:     Version: 1

diff  --git a/llvm/test/tools/yaml2obj/verneed-section.yaml b/llvm/test/tools/yaml2obj/ELF/verneed-section.yaml
similarity index 97%
rename from llvm/test/tools/yaml2obj/verneed-section.yaml
rename to llvm/test/tools/yaml2obj/ELF/verneed-section.yaml
index 9d7d722a9c24..e9dbe1c65fde 100644
--- a/llvm/test/tools/yaml2obj/verneed-section.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/verneed-section.yaml
@@ -1,8 +1,8 @@
+## Check we are able to handle SHT_GNU_verneed sections.
+
 # RUN: yaml2obj %s -o %t
 # RUN: llvm-readobj -V %t | FileCheck %s
 
-# Check we are able to handle the SHT_GNU_verneed sections.
-
 # CHECK:      VersionRequirements [
 # CHECK-NEXT:   Dependency {
 # CHECK-NEXT:     Version: 1

diff  --git a/llvm/test/tools/yaml2obj/versym-section.yaml b/llvm/test/tools/yaml2obj/ELF/versym-section.yaml
similarity index 99%
rename from llvm/test/tools/yaml2obj/versym-section.yaml
rename to llvm/test/tools/yaml2obj/ELF/versym-section.yaml
index 7c7c6513419b..fa5f5c9a8b3f 100644
--- a/llvm/test/tools/yaml2obj/versym-section.yaml
+++ b/llvm/test/tools/yaml2obj/ELF/versym-section.yaml
@@ -68,7 +68,7 @@ Sections:
     Dependencies:
       - Version:         1
         File:            dso.so.0
-        Entries:         
+        Entries:
           - Name:            v1
             Hash:            1937
             Flags:           0

diff  --git a/llvm/test/tools/yaml2obj/minidump-exception-missing-parameter.yaml b/llvm/test/tools/yaml2obj/Minidump/exception-missing-parameter.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/minidump-exception-missing-parameter.yaml
rename to llvm/test/tools/yaml2obj/Minidump/exception-missing-parameter.yaml

diff  --git a/llvm/test/tools/yaml2obj/minidump-raw-stream-small-size.yaml b/llvm/test/tools/yaml2obj/Minidump/raw-stream-small-size.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/minidump-raw-stream-small-size.yaml
rename to llvm/test/tools/yaml2obj/Minidump/raw-stream-small-size.yaml

diff  --git a/llvm/test/tools/yaml2obj/minidump-systeminfo-other-long.yaml b/llvm/test/tools/yaml2obj/Minidump/systeminfo-other-long.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/minidump-systeminfo-other-long.yaml
rename to llvm/test/tools/yaml2obj/Minidump/systeminfo-other-long.yaml

diff  --git a/llvm/test/tools/yaml2obj/minidump-systeminfo-other-not-hex.yaml b/llvm/test/tools/yaml2obj/Minidump/systeminfo-other-not-hex.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/minidump-systeminfo-other-not-hex.yaml
rename to llvm/test/tools/yaml2obj/Minidump/systeminfo-other-not-hex.yaml

diff  --git a/llvm/test/tools/yaml2obj/minidump-systeminfo-other-short.yaml b/llvm/test/tools/yaml2obj/Minidump/systeminfo-other-short.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/minidump-systeminfo-other-short.yaml
rename to llvm/test/tools/yaml2obj/Minidump/systeminfo-other-short.yaml

diff  --git a/llvm/test/tools/yaml2obj/minidump-systeminfo-x86-long.yaml b/llvm/test/tools/yaml2obj/Minidump/systeminfo-x86-long.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/minidump-systeminfo-x86-long.yaml
rename to llvm/test/tools/yaml2obj/Minidump/systeminfo-x86-long.yaml

diff  --git a/llvm/test/tools/yaml2obj/minidump-systeminfo-x86-short.yaml b/llvm/test/tools/yaml2obj/Minidump/systeminfo-x86-short.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/minidump-systeminfo-x86-short.yaml
rename to llvm/test/tools/yaml2obj/Minidump/systeminfo-x86-short.yaml

diff  --git a/llvm/test/tools/yaml2obj/empty-symbols.yaml b/llvm/test/tools/yaml2obj/empty-symbols.yaml
deleted file mode 100644
index 1ba37add3c07..000000000000
--- a/llvm/test/tools/yaml2obj/empty-symbols.yaml
+++ /dev/null
@@ -1,10 +0,0 @@
-# Ensure yaml2obj doesn't error on empty optional mappings, such as Symbols
-# RUN: yaml2obj %s -o %t
-
-!ELF
-FileHeader:
-  Class:           ELFCLASS64
-  Data:            ELFDATA2LSB
-  Type:            ET_DYN
-  Machine:         EM_X86_64
-Symbols:

diff  --git a/llvm/test/tools/yaml2obj/invalid_output_file.test b/llvm/test/tools/yaml2obj/invalid-output-file.yaml
similarity index 67%
rename from llvm/test/tools/yaml2obj/invalid_output_file.test
rename to llvm/test/tools/yaml2obj/invalid-output-file.yaml
index 1124b49d18cc..7b76fe1c1a0e 100644
--- a/llvm/test/tools/yaml2obj/invalid_output_file.test
+++ b/llvm/test/tools/yaml2obj/invalid-output-file.yaml
@@ -1,4 +1,4 @@
 # RUN: not yaml2obj -o %p/path/does/not/exist 2>&1 | FileCheck %s
 
-# Don't check the OS-dependent message "No such file or directory".
+## Don't check the OS-dependent message "No such file or directory".
 # CHECK: yaml2obj: error: failed to open '{{.*}}/path/does/not/exist': {{.*}}

diff  --git a/llvm/test/tools/yaml2obj/multi-doc.test b/llvm/test/tools/yaml2obj/multi-doc.yaml
similarity index 100%
rename from llvm/test/tools/yaml2obj/multi-doc.test
rename to llvm/test/tools/yaml2obj/multi-doc.yaml

diff  --git a/llvm/test/tools/yaml2obj/symboless-relocation.yaml b/llvm/test/tools/yaml2obj/symboless-relocation.yaml
deleted file mode 100644
index 680e03e5c146..000000000000
--- a/llvm/test/tools/yaml2obj/symboless-relocation.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-# Just make sure this isn't an error even though it has no Symbol
-# RUN: yaml2obj %s
-
-!ELF
-FileHeader:
-  Class:           ELFCLASS64
-  Data:            ELFDATA2LSB
-  Type:            ET_EXEC
-  Machine:         EM_X86_64
-Sections:
-  - Name:            .text
-    Type:            SHT_PROGBITS
-    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
-    Content:         "00000000"
-  - Name:            .rel.text
-    Type:            SHT_REL
-    Info:            .text
-    Relocations:
-      - Offset: 0x1000
-        Type:   R_X86_64_RELATIVE


        


More information about the llvm-commits mailing list