diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp
index 7ccc67b..d4feda4 100644
--- a/llvm/tools/llvm-readobj/llvm-readobj.cpp
+++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp
@@ -49,7 +49,7 @@
     cl::desc("<input object files>"),
     cl::ZeroOrMore);
 
-  // -all, -a
+  // --all, -a
   cl::opt<bool>
       All("all",
           cl::desc("Equivalent to setting: --file-headers, --program-headers, "
@@ -66,7 +66,7 @@
   cl::alias HeadersShort("e", cl::desc("Alias for --headers"),
      cl::aliasopt(Headers));
 
-  // -wide, -W
+  // --wide, -W
   cl::opt<bool>
       WideOutput("wide", cl::desc("Ignored for compatibility with GNU readelf"),
                  cl::Hidden);
@@ -74,7 +74,7 @@
     cl::desc("Alias for --wide"),
     cl::aliasopt(WideOutput));
 
-  // -file-headers, -file-header, -h
+  // --file-headers, --file-header, -h
   cl::opt<bool> FileHeaders("file-headers",
     cl::desc("Display file headers "));
   cl::alias FileHeadersShort("h", cl::desc("Alias for --file-headers"),
@@ -83,7 +83,7 @@
                                 cl::desc("Alias for --file-headers"),
                                 cl::aliasopt(FileHeaders));
 
-  // -section-headers, -sections, -S
+  // --section-headers, --sections, -S
   // Also -s in llvm-readobj mode.
   cl::opt<bool> SectionHeaders("section-headers",
                                cl::desc("Display all section headers."));
@@ -93,27 +93,27 @@
                                 cl::desc("Alias for --section-headers"),
                                 cl::aliasopt(SectionHeaders), cl::NotHidden);
 
-  // -section-relocations
-  // Also -sr in llvm-readobj mode.
+  // --section-relocations
+  // Also --sr in llvm-readobj mode.
   cl::opt<bool> SectionRelocations("section-relocations",
     cl::desc("Display relocations for each section shown."));
 
-  // -section-symbols
-  // Also -st in llvm-readobj mode.
+  // --section-symbols
+  // Also --st in llvm-readobj mode.
   cl::opt<bool> SectionSymbols("section-symbols",
     cl::desc("Display symbols for each section shown."));
 
-  // -section-data
-  // Also -sd in llvm-readobj mode.
+  // --section-data
+  // Also --sd in llvm-readobj mode.
   cl::opt<bool> SectionData("section-data",
     cl::desc("Display section data for each section shown."));
 
-  // -section-mapping
+  // --section-mapping
   cl::opt<cl::boolOrDefault>
       SectionMapping("section-mapping",
                      cl::desc("Display the section to segment mapping."));
 
-  // -relocations, -relocs, -r
+  // --relocations, --relocs, -r
   cl::opt<bool> Relocations("relocations",
     cl::desc("Display the relocation entries in the file"));
   cl::alias RelocationsShort("r", cl::desc("Alias for --relocations"),
@@ -121,15 +121,15 @@
   cl::alias RelocationsGNU("relocs", cl::desc("Alias for --relocations"),
                            cl::aliasopt(Relocations));
 
-  // -notes, -n
+  // --notes, -n
   cl::opt<bool> Notes("notes", cl::desc("Display the ELF notes in the file"));
   cl::alias NotesShort("n", cl::desc("Alias for --notes"), cl::aliasopt(Notes));
 
-  // -dyn-relocations
+  // --dyn-relocations
   cl::opt<bool> DynRelocs("dyn-relocations",
     cl::desc("Display the dynamic relocation entries in the file"));
 
-  // -symbols
+  // --symbols
   // Also -s in llvm-readelf mode, or -t in llvm-readobj mode.
   cl::opt<bool>
       Symbols("symbols",
@@ -138,26 +138,26 @@
   cl::alias SymbolsGNU("syms", cl::desc("Alias for --symbols"),
                        cl::aliasopt(Symbols));
 
-  // -dyn-symbols, -dyn-syms
-  // Also -dt in llvm-readobj mode.
+  // --dyn-symbols, --dyn-syms
+  // Also --dt in llvm-readobj mode.
   cl::opt<bool> DynamicSymbols("dyn-symbols",
     cl::desc("Display the dynamic symbol table"));
   cl::alias DynSymsGNU("dyn-syms", cl::desc("Alias for --dyn-symbols"),
                        cl::aliasopt(DynamicSymbols));
 
-  // -hash-symbols
+  // --hash-symbols
   cl::opt<bool> HashSymbols(
       "hash-symbols",
       cl::desc("Display the dynamic symbols derived from the hash section"));
 
-  // -unwind, -u
+  // --unwind, -u
   cl::opt<bool> UnwindInfo("unwind",
     cl::desc("Display unwind information"));
   cl::alias UnwindInfoShort("u",
     cl::desc("Alias for --unwind"),
     cl::aliasopt(UnwindInfo));
 
-  // -dynamic-table, -dynamic, -d
+  // --dynamic-table, --dynamic, -d
   cl::opt<bool> DynamicTable("dynamic-table",
     cl::desc("Display the ELF .dynamic section table"));
   cl::alias DynamicTableShort("d", cl::desc("Alias for --dynamic-table"),
@@ -165,11 +165,11 @@
   cl::alias DynamicTableAlias("dynamic", cl::desc("Alias for --dynamic-table"),
                               cl::aliasopt(DynamicTable));
 
-  // -needed-libs
+  // --needed-libs
   cl::opt<bool> NeededLibraries("needed-libs",
     cl::desc("Display the needed libraries"));
 
-  // -program-headers, -segments, -l
+  // --program-headers, --segments, -l
   cl::opt<bool> ProgramHeaders("program-headers",
     cl::desc("Display ELF program headers"));
   cl::alias ProgramHeadersShort("l", cl::desc("Alias for --program-headers"),
@@ -177,161 +177,161 @@
   cl::alias SegmentsAlias("segments", cl::desc("Alias for --program-headers"),
                           cl::aliasopt(ProgramHeaders));
 
-  // -string-dump, -p
+  // --string-dump, -p
   cl::list<std::string> StringDump("string-dump", cl::desc("<number|name>"),
                                    cl::ZeroOrMore);
   cl::alias StringDumpShort("p", cl::desc("Alias for --string-dump"),
                             cl::aliasopt(StringDump), cl::Prefix);
 
-  // -hex-dump, -x
+  // --hex-dump, -x
   cl::list<std::string> HexDump("hex-dump", cl::desc("<number|name>"),
                                 cl::ZeroOrMore);
   cl::alias HexDumpShort("x", cl::desc("Alias for --hex-dump"),
                          cl::aliasopt(HexDump), cl::Prefix);
 
-  // -demangle, -C
+  // --demangle, -C
   cl::opt<bool> Demangle("demangle",
                          cl::desc("Demangle symbol names in output"));
   cl::alias DemangleShort("C", cl::desc("Alias for --demangle"),
                           cl::aliasopt(Demangle), cl::NotHidden);
 
-  // -hash-table
+  // --hash-table
   cl::opt<bool> HashTable("hash-table",
     cl::desc("Display ELF hash table"));
 
-  // -gnu-hash-table
+  // --gnu-hash-table
   cl::opt<bool> GnuHashTable("gnu-hash-table",
     cl::desc("Display ELF .gnu.hash section"));
 
-  // -expand-relocs
+  // --expand-relocs
   cl::opt<bool> ExpandRelocs("expand-relocs",
     cl::desc("Expand each shown relocation to multiple lines"));
 
-  // -raw-relr
+  // --raw-relr
   cl::opt<bool> RawRelr("raw-relr",
     cl::desc("Do not decode relocations in SHT_RELR section, display raw contents"));
 
-  // -codeview
+  // --codeview
   cl::opt<bool> CodeView("codeview",
                          cl::desc("Display CodeView debug information"));
 
-  // -codeview-merged-types
+  // --codeview-merged-types
   cl::opt<bool>
       CodeViewMergedTypes("codeview-merged-types",
                           cl::desc("Display the merged CodeView type stream"));
 
-  // -codeview-ghash
+  // --codeview-ghash
   cl::opt<bool> CodeViewEnableGHash(
       "codeview-ghash",
       cl::desc(
           "Enable global hashing for CodeView type stream de-duplication"));
 
-  // -codeview-subsection-bytes
+  // --codeview-subsection-bytes
   cl::opt<bool> CodeViewSubsectionBytes(
       "codeview-subsection-bytes",
       cl::desc("Dump raw contents of codeview debug sections and records"));
 
-  // -arm-attributes
+  // --arm-attributes
   cl::opt<bool> ARMAttributes("arm-attributes",
                               cl::desc("Display the ARM attributes section"));
 
-  // -mips-plt-got
+  // --mips-plt-got
   cl::opt<bool>
   MipsPLTGOT("mips-plt-got",
              cl::desc("Display the MIPS GOT and PLT GOT sections"));
 
-  // -mips-abi-flags
+  // --mips-abi-flags
   cl::opt<bool> MipsABIFlags("mips-abi-flags",
                              cl::desc("Display the MIPS.abiflags section"));
 
-  // -mips-reginfo
+  // --mips-reginfo
   cl::opt<bool> MipsReginfo("mips-reginfo",
                             cl::desc("Display the MIPS .reginfo section"));
 
-  // -mips-options
+  // --mips-options
   cl::opt<bool> MipsOptions("mips-options",
                             cl::desc("Display the MIPS .MIPS.options section"));
 
-  // -coff-imports
+  // --coff-imports
   cl::opt<bool>
   COFFImports("coff-imports", cl::desc("Display the PE/COFF import table"));
 
-  // -coff-exports
+  // --coff-exports
   cl::opt<bool>
   COFFExports("coff-exports", cl::desc("Display the PE/COFF export table"));
 
-  // -coff-directives
+  // --coff-directives
   cl::opt<bool>
   COFFDirectives("coff-directives",
                  cl::desc("Display the PE/COFF .drectve section"));
 
-  // -coff-basereloc
+  // --coff-basereloc
   cl::opt<bool>
   COFFBaseRelocs("coff-basereloc",
                  cl::desc("Display the PE/COFF .reloc section"));
 
-  // -coff-debug-directory
+  // --coff-debug-directory
   cl::opt<bool>
   COFFDebugDirectory("coff-debug-directory",
                      cl::desc("Display the PE/COFF debug directory"));
 
-  // -coff-resources
+  // --coff-resources
   cl::opt<bool> COFFResources("coff-resources",
                               cl::desc("Display the PE/COFF .rsrc section"));
 
-  // -coff-load-config
+  // --coff-load-config
   cl::opt<bool>
   COFFLoadConfig("coff-load-config",
                  cl::desc("Display the PE/COFF load config"));
 
-  // -elf-linker-options
+  // --elf-linker-options
   cl::opt<bool>
   ELFLinkerOptions("elf-linker-options",
                    cl::desc("Display the ELF .linker-options section"));
 
-  // -macho-data-in-code
+  // --macho-data-in-code
   cl::opt<bool>
   MachODataInCode("macho-data-in-code",
                   cl::desc("Display MachO Data in Code command"));
 
-  // -macho-indirect-symbols
+  // --macho-indirect-symbols
   cl::opt<bool>
   MachOIndirectSymbols("macho-indirect-symbols",
                   cl::desc("Display MachO indirect symbols"));
 
-  // -macho-linker-options
+  // --macho-linker-options
   cl::opt<bool>
   MachOLinkerOptions("macho-linker-options",
                   cl::desc("Display MachO linker options"));
 
-  // -macho-segment
+  // --macho-segment
   cl::opt<bool>
   MachOSegment("macho-segment",
                   cl::desc("Display MachO Segment command"));
 
-  // -macho-version-min
+  // --macho-version-min
   cl::opt<bool>
   MachOVersionMin("macho-version-min",
                   cl::desc("Display MachO version min command"));
 
-  // -macho-dysymtab
+  // --macho-dysymtab
   cl::opt<bool>
   MachODysymtab("macho-dysymtab",
                   cl::desc("Display MachO Dysymtab command"));
 
-  // -stackmap
+  // --stackmap
   cl::opt<bool>
   PrintStackMap("stackmap",
                 cl::desc("Display contents of stackmap section"));
 
-  // -version-info, -V
+  // --version-info, -V
   cl::opt<bool>
       VersionInfo("version-info",
                   cl::desc("Display ELF version sections (if present)"));
   cl::alias VersionInfoShort("V", cl::desc("Alias for -version-info"),
                              cl::aliasopt(VersionInfo));
 
-  // -elf-section-groups, -section-groups, -g
+  // --elf-section-groups, --section-groups, -g
   cl::opt<bool> SectionGroups("elf-section-groups",
                               cl::desc("Display ELF section group contents"));
   cl::alias SectionGroupsAlias("section-groups",
@@ -340,7 +340,7 @@
   cl::alias SectionGroupsShort("g", cl::desc("Alias for -elf-sections-groups"),
                                cl::aliasopt(SectionGroups));
 
-  // -elf-hash-histogram, -histogram, -I
+  // --elf-hash-histogram, --histogram, -I
   cl::opt<bool> HashHistogram(
       "elf-hash-histogram",
       cl::desc("Display bucket list histogram for hash sections"));
@@ -350,7 +350,7 @@
                            cl::desc("Alias for --elf-hash-histogram"),
                            cl::aliasopt(HashHistogram));
 
-  // -elf-cg-profile
+  // --elf-cg-profile
   cl::opt<bool> CGProfile("elf-cg-profile", cl::desc("Display callgraph profile section"));
 
   // -addrsig
