diff --git a/test/Object/Inputs/COFF/i386.yaml b/test/Object/Inputs/COFF/i386.yaml
index aec7a58..7c34806 100644
--- a/test/Object/Inputs/COFF/i386.yaml
+++ b/test/Object/Inputs/COFF/i386.yaml
@@ -38,7 +38,7 @@
     ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
     StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
     NumberOfAuxSymbols: 1
-    AuxillaryData:  !hex "240000000300000000000000010000000000" # |$.................|
+    AuxiliaryData:  !hex "240000000300000000000000010000000000" # |$.................|
 
   - !Symbol
     Name: .data
@@ -48,7 +48,7 @@
     ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
     StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
     NumberOfAuxSymbols: 1
-    AuxillaryData:  !hex "0D0000000000000000000000020000000000" # |..................|
+    AuxiliaryData:  !hex "0D0000000000000000000000020000000000" # |..................|
 
   - !Symbol
     Name: _main
diff --git a/test/Object/Inputs/COFF/x86-64.yaml b/test/Object/Inputs/COFF/x86-64.yaml
index 0b1265f..837663b 100644
--- a/test/Object/Inputs/COFF/x86-64.yaml
+++ b/test/Object/Inputs/COFF/x86-64.yaml
@@ -37,7 +37,7 @@
     ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
     StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
     NumberOfAuxSymbols: 1
-    AuxillaryData:  !hex "260000000300000000000000010000000000" # |&.................|
+    AuxiliaryData:  !hex "260000000300000000000000010000000000" # |&.................|
 
   - !Symbol
     Name: .data
@@ -47,7 +47,7 @@
     ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
     StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
     NumberOfAuxSymbols: 1
-    AuxillaryData:  !hex "0D0000000000000000000000020000000000" # |..................|
+    AuxiliaryData:  !hex "0D0000000000000000000000020000000000" # |..................|
 
   - !Symbol
     Name: main
diff --git a/tools/yaml2obj/yaml2obj.cpp b/tools/yaml2obj/yaml2obj.cpp
index d132f1c..2185b4f 100644
--- a/tools/yaml2obj/yaml2obj.cpp
+++ b/tools/yaml2obj/yaml2obj.cpp
@@ -128,7 +128,7 @@
     COFF::symbol Header;
     COFF::SymbolBaseType SimpleType;
     COFF::SymbolComplexType ComplexType;
-    StringRef AuxillaryData;
+    StringRef AuxiliaryData;
     StringRef Name;
     Symbol() {
       memset(&Header, 0, sizeof(COFF::symbol));
@@ -270,9 +270,9 @@
   for (std::vector<COFFYAML::Symbol>::iterator i = CP.Obj.Symbols.begin(),
                                                e = CP.Obj.Symbols.end();
                                                i != e; ++i) {
-    unsigned AuxBytes = i->AuxillaryData.size() / 2;
+    unsigned AuxBytes = i->AuxiliaryData.size() / 2;
     if (AuxBytes % COFF::SymbolSize != 0) {
-      errs() << "AuxillaryData size not a multiple of symbol size!\n";
+      errs() << "AuxiliaryData size not a multiple of symbol size!\n";
       return false;
     }
     i->Header.NumberOfAuxSymbols = AuxBytes / COFF::SymbolSize;
@@ -368,10 +368,10 @@
        << binary_le(i->Header.Type)
        << binary_le(i->Header.StorageClass)
        << binary_le(i->Header.NumberOfAuxSymbols);
-    if (!i->AuxillaryData.empty()) {
+    if (!i->AuxiliaryData.empty()) {
       std::vector<uint8_t> AuxSymbols;
-      if (!hexStringToByteArray(i->AuxillaryData, AuxSymbols)) {
-        errs() << "AuxillaryData must be a collection of pairs of hex bytes";
+      if (!hexStringToByteArray(i->AuxiliaryData, AuxSymbols)) {
+        errs() << "AuxiliaryData must be a collection of pairs of hex bytes";
         return false;
       }
 
@@ -622,7 +622,7 @@
     IO.mapOptional("NumberOfAuxSymbols", S.Header.NumberOfAuxSymbols);
     IO.mapRequired("Name", S.Name);
     IO.mapRequired("StorageClass", NS->StorageClass);
-    IO.mapOptional("AuxillaryData", S.AuxillaryData); // FIXME: typo
+    IO.mapOptional("AuxiliaryData", S.AuxiliaryData);
     IO.mapRequired("ComplexType", S.ComplexType);
     IO.mapRequired("Value", S.Header.Value);
     IO.mapRequired("SectionNumber", S.Header.SectionNumber);
