diff options
-rw-r--r-- | ld/ChangeLog | 5 | ||||
-rw-r--r-- | ld/emultempl/ppc64elf.em | 16 |
2 files changed, 20 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 219869d..8f2ee6f 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,10 @@ 2003-06-19 Alan Modra <amodra@bigpond.net.au> + * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Dump out + statistics from ppc64_elf_build_stubs. + +2003-06-19 Alan Modra <amodra@bigpond.net.au> + * emultempl/ppc64elf.em (build_section_lists): Check return status from ppc64_elf_next_input_section. diff --git a/ld/emultempl/ppc64elf.em b/ld/emultempl/ppc64elf.em index c440752..da50ba1 100644 --- a/ld/emultempl/ppc64elf.em +++ b/ld/emultempl/ppc64elf.em @@ -387,8 +387,22 @@ gld${EMULATION_NAME}_finish () if (stub_file != NULL && stub_file->the_bfd->sections != NULL) { - if (!ppc64_elf_build_stubs (emit_stub_syms, &link_info)) + char *msg = NULL; + char *line, *endline; + + if (!ppc64_elf_build_stubs (emit_stub_syms, &link_info, + config.stats ? &msg : NULL)) einfo ("%X%P: can not build stubs: %E\n"); + + for (line = msg; line != NULL; line = endline) + { + endline = strchr (line, '\n'); + if (endline != NULL) + *endline++ = '\0'; + fprintf (stderr, "%s: %s\n", program_name, line); + } + if (msg != NULL) + free (msg); } } |