ld: Report error reason when a library cannot be found
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 27 Jul 2021 18:59:03 +0000 (11:59 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 28 Jul 2021 13:01:10 +0000 (06:01 -0700)
With "ulimit -n 20", report:

ld: cannot find -lgcc: Too many open files

instead of

ld: cannot find -lgcc

* ldfile.c (ldfile_open_file): Rport error reason when a library
cannot be found.

ld/ldfile.c

index 9d0af06f1f6eb94eb6d735a6824a7d7ebb5d86d9..43b1116b1d56eb0f730f441f6bd3805406a311a7 100644 (file)
@@ -491,11 +491,11 @@ ldfile_open_file (lang_input_statement_type *entry)
                }
              else /* We ignore the return status of the script
                      and always print the error message.  */
-               einfo (_("%P: cannot find %s\n"), entry->local_sym_name);
+               einfo (_("%P: cannot find %s: %E\n"), entry->local_sym_name);
            }
 #endif
          else
-           einfo (_("%P: cannot find %s\n"), entry->local_sym_name);
+           einfo (_("%P: cannot find %s: %E\n"), entry->local_sym_name);
 
          /* PR 25747: Be kind to users who forgot to add the
             "lib" prefix to their library when it was created.  */