+2021-05-07  Alan Modra  <amodra@gmail.com>
+
+       * ldexp.c (update_definedness): Don't return false for absolute
+       symbols.
+       * ldmain.c (multiple_definition): Print "warning: " in message
+       when not a hard error.
+
 2021-05-07  Alan Modra  <amodra@gmail.com>
 
        * testsuite/ld-elf/pr27825-1.d: Correct xfail.
 
       defentry->by_object = 1;
       if (h->type == bfd_link_hash_defined
          && h->u.def.section->output_section != NULL
+         && !bfd_is_abs_section (h->u.def.section)
          && !h->linker_def)
        ret = false;
     }
 
       nval = oval;
       obfd = NULL;
     }
-  if (!info->warn_multiple_definition)
-    einfo ("%X");
-  einfo (_("%P: %C: multiple definition of `%pT'"),
-        nbfd, nsec, nval, name);
+  if (info->warn_multiple_definition)
+    einfo (_("%P: %C: warning: multiple definition of `%pT'"),
+          nbfd, nsec, nval, name);
+  else
+    einfo (_("%X%P: %C: multiple definition of `%pT'"),
+          nbfd, nsec, nval, name);
   if (obfd != NULL)
     einfo (_("; %D: first defined here"), obfd, osec, oval);
   einfo ("\n");