diff options
| -rw-r--r-- | lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp | 3 | ||||
| -rw-r--r-- | lld/test/elf/abs-dup.objtxt | 19 | 
2 files changed, 21 insertions, 1 deletions
diff --git a/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp b/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp index fab9e9100fc..f5cb351e229 100644 --- a/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp +++ b/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp @@ -96,7 +96,8 @@ public:        buildDuplicateNameMap(*shlibAtom);      }      for (const lld::AbsoluteAtom *absAtom : file.absolute()) { -      buildDuplicateNameMap(*absAtom); +      if (!absAtom->name().empty()) +        buildDuplicateNameMap(*absAtom);      }    } diff --git a/lld/test/elf/abs-dup.objtxt b/lld/test/elf/abs-dup.objtxt new file mode 100644 index 00000000000..7340a29b0f0 --- /dev/null +++ b/lld/test/elf/abs-dup.objtxt @@ -0,0 +1,19 @@ +# Tests handling an absolute symbol with no name +# RUN: lld -flavor gnu -target x86_64 -r %s \ +# RUN:     --output-filetype=yaml | FileCheck %s + +absolute-atoms: +  - name:            abs +    scope:           static +    value:           0x10 +  - name:            '' +    scope:           static +    value:           0x15 + +# CHECK: absolute-atoms: +# CHECK:   - name:            abs +# CHECK:     scope:           static +# CHECK:     value:           0x0000000000000010 +# CHECK:   - name:            '' +# CHECK:     scope:           static +# CHECK:     value:           0x0000000000000015  | 

