+2019-04-24  Nick Clifton  <nickc@redhat.com>
+
+       * objcopy.c (strip_main): Do not enable note merging by default if
+       just stripping debug or dwo information.
+       * doc/binutils.texi (strip): Update documentation.
+
 2019-04-23  Nick Clifton  <nickc@redhat.com>
 
        * README-how-to-make-a-release: Add note to update the symbolic
 
 @itemx --no-merge-notes
 For ELF files, attempt (or do not attempt) to reduce the size of any
 SHT_NOTE type sections by removing duplicate notes.  The default is to
-attempt this reduction.
+attempt this reduction unless stripping debug or DWO information.
 
 @item -N @var{symbolname}
 @itemx --strip-symbol=@var{symbolname}
 
   int c;
   int i;
   char *output_file = NULL;
-
-  merge_notes = TRUE;
+  bfd_boolean merge_notes_set = FALSE;
 
   while ((c = getopt_long (argc, argv, "I:O:F:K:MN:R:o:sSpdgxXHhVvwDU",
                           strip_options, (int *) 0)) != EOF)
          break;
        case 'M':
          merge_notes = TRUE;
+         merge_notes_set = TRUE;
          break;
        case OPTION_NO_MERGE_NOTES:
          merge_notes = FALSE;
+         merge_notes_set = TRUE;
          break;
        case 'N':
          add_specific_symbol (optarg, strip_specific_htab);
        }
     }
 
+  /* If the user has not expressly chosen to merge/not-merge ELF notes
+     then enable the merging unless we are stripping debug or dwo info.  */
+  if (! merge_notes_set
+      && (strip_symbols == STRIP_UNDEF
+         || strip_symbols == STRIP_ALL
+         || strip_symbols == STRIP_UNNEEDED
+         || strip_symbols == STRIP_NONDEBUG
+         || strip_symbols == STRIP_NONDWO))
+    merge_notes = TRUE;
+
   if (formats_info)
     {
       display_info ();