diff options
author | Alan Modra <amodra@gmail.com> | 2024-10-21 12:16:31 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2024-10-24 17:58:00 +1030 |
commit | 86b26b453f65404b29ce035a2eb3d62671aa0612 (patch) | |
tree | 97309863b4b131ebbb0915a6bc943e9aad681ef4 | |
parent | 8b5a212495371fbc9bea7f4ce6d632df3763723b (diff) | |
download | gdb-86b26b453f65404b29ce035a2eb3d62671aa0612.zip gdb-86b26b453f65404b29ce035a2eb3d62671aa0612.tar.gz gdb-86b26b453f65404b29ce035a2eb3d62671aa0612.tar.bz2 |
Replace uses of asprintf with xasprintf
xasprintf has a nicer interface and behaves like xmalloc as far as
memory is concerned, ie. no need to check a return status and the
program exits with an error on OOM.
binutils/
* dwarf.c (load_debug_sup_file): Replace asprintf with xasprintf.
* nm.c (get_elf_symbol_type, get_coff_symbol_type): Likewise.
* objdump.c (dump_ctf_indent_lines): Likewise.
* readelf.c (display_lto_symtab, dump_ctf_indent_lines): Likewise.
* windres.c (main): Likewise.
* configure.ac: Remove asprintf from AC_CHECK_DECLS.
* config.in: Regenerate.
* configure: Regenerate.
gas/
* config/tc-kvx.c (kvx_emit_single_noop): Simplify.
* config/tc-riscv.c (md_assemblef): Replace asprintf with xasprintf.
* read.c (s_nop, do_s_func): Likewise.
* stabs.c (stabs_generate_asm_func): Likewise.
(stabs_generate_asm_endfunc): Likewise.
* configure.ac: Remove asprintf from AC_CHECK_DECLS.
* config.in: Regenerate.
* configure: Regenerate.
ld/
* ldlang.c (lang_leave_overlay_section): Replace xmalloc+sprintf
with xasprintf. Localise vars.
* lexsup.c (parse_args): Replace asprintf with xasprintf.
* pe-dll.c (make_head, make_tail, make_one): Likewise.
(make_singleton_name_thunk, make_import_fixup_entry): Likewise.
(make_runtime_pseudo_reloc): Likewise.
(pe_create_runtime_relocator_reference): Likewise.
* configure.ac: Remove asprintf from AC_CHECK_DECLS.
* config.in: Regenerate.
* configure: Regenerate.
-rw-r--r-- | binutils/config.in | 4 | ||||
-rwxr-xr-x | binutils/configure | 10 | ||||
-rw-r--r-- | binutils/configure.ac | 2 | ||||
-rw-r--r-- | binutils/dwarf.c | 28 | ||||
-rw-r--r-- | binutils/nm.c | 14 | ||||
-rw-r--r-- | binutils/objdump.c | 6 | ||||
-rw-r--r-- | binutils/readelf.c | 19 | ||||
-rw-r--r-- | binutils/windres.c | 5 | ||||
-rw-r--r-- | gas/config.in | 4 | ||||
-rw-r--r-- | gas/config/tc-kvx.c | 12 | ||||
-rw-r--r-- | gas/config/tc-riscv.c | 9 | ||||
-rwxr-xr-x | gas/configure | 10 | ||||
-rw-r--r-- | gas/configure.ac | 2 | ||||
-rw-r--r-- | gas/read.c | 13 | ||||
-rw-r--r-- | gas/stabs.c | 10 | ||||
-rw-r--r-- | ld/config.in | 4 | ||||
-rwxr-xr-x | ld/configure | 10 | ||||
-rw-r--r-- | ld/configure.ac | 2 | ||||
-rw-r--r-- | ld/ldlang.c | 19 | ||||
-rw-r--r-- | ld/lexsup.c | 23 | ||||
-rw-r--r-- | ld/pe-dll.c | 49 |
21 files changed, 49 insertions, 206 deletions
diff --git a/binutils/config.in b/binutils/config.in index ee148c7..93ff046 100644 --- a/binutils/config.in +++ b/binutils/config.in @@ -50,10 +50,6 @@ */ #undef HAVE_DCGETTEXT -/* Define to 1 if you have the declaration of `asprintf', and to 0 if you - don't. */ -#undef HAVE_DECL_ASPRINTF - /* Define to 1 if you have the declaration of `environ', and to 0 if you don't. */ #undef HAVE_DECL_ENVIRON diff --git a/binutils/configure b/binutils/configure index ac3de5e..41e41c6 100755 --- a/binutils/configure +++ b/binutils/configure @@ -15708,16 +15708,6 @@ $as_echo "#define HAVE_GOOD_UTIME_H 1" >>confdefs.h fi -ac_fn_c_check_decl "$LINENO" "asprintf" "ac_cv_have_decl_asprintf" "$ac_includes_default" -if test "x$ac_cv_have_decl_asprintf" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_ASPRINTF $ac_have_decl -_ACEOF ac_fn_c_check_decl "$LINENO" "environ" "ac_cv_have_decl_environ" "$ac_includes_default" if test "x$ac_cv_have_decl_environ" = xyes; then : ac_have_decl=1 diff --git a/binutils/configure.ac b/binutils/configure.ac index 06c88e0..31fab69 100644 --- a/binutils/configure.ac +++ b/binutils/configure.ac @@ -279,7 +279,7 @@ if test $bu_cv_header_utime_h = yes; then AC_DEFINE(HAVE_GOOD_UTIME_H, 1, [Does <utime.h> define struct utimbuf?]) fi -AC_CHECK_DECLS([asprintf, environ, getc_unlocked, stpcpy, strnlen]) +AC_CHECK_DECLS([environ, getc_unlocked, stpcpy, strnlen]) # Link in zlib/zstd if we can. This allows us to read compressed debug # sections. This is used only by readelf.c (objdump uses bfd for diff --git a/binutils/dwarf.c b/binutils/dwarf.c index 424353c..4b46100 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -12318,34 +12318,14 @@ load_debug_sup_file (const char * main_filename, void * file) } if (filename[0] != '/' && strchr (main_filename, '/')) - { - char * new_name; - int new_len; - - new_len = asprintf (& new_name, "%.*s/%s", + filename = xasprintf ("%.*s/%s", (int) (strrchr (main_filename, '/') - main_filename), main_filename, filename); - if (new_len < 3) - { - warn (_("unable to construct path for supplementary debug file\n")); - if (new_len > -1) - free (new_name); - return; - } - filename = new_name; - } else - { - /* PR 27796: Make sure that we pass a filename that can be free'd to - add_separate_debug_file(). */ - filename = strdup (filename); - if (filename == NULL) - { - warn (_("out of memory constructing filename for .debug_sup link\n")); - return; - } - } + /* PR 27796: Make sure that we pass a filename that can be free'd to + add_separate_debug_file(). */ + filename = xstrdup (filename); void * handle = open_debug_file (filename); if (handle == NULL) diff --git a/binutils/nm.c b/binutils/nm.c index 7acf9a2..2546dc5 100644 --- a/binutils/nm.c +++ b/binutils/nm.c @@ -433,7 +433,6 @@ static const char * get_elf_symbol_type (unsigned int type) { static char *bufp; - int n; switch (type) { @@ -448,13 +447,11 @@ get_elf_symbol_type (unsigned int type) free (bufp); if (type >= STT_LOPROC && type <= STT_HIPROC) - n = asprintf (&bufp, _("<processor specific>: %d"), type); + bufp = xasprintf (_("<processor specific>: %d"), type); else if (type >= STT_LOOS && type <= STT_HIOS) - n = asprintf (&bufp, _("<OS specific>: %d"), type); + bufp = xasprintf (_("<OS specific>: %d"), type); else - n = asprintf (&bufp, _("<unknown>: %d"), type); - if (n < 0) - fatal ("%s", xstrerror (errno)); + bufp = xasprintf (_("<unknown>: %d"), type); return bufp; } @@ -462,7 +459,6 @@ static const char * get_coff_symbol_type (const struct internal_syment *sym) { static char *bufp; - int n; switch (sym->n_sclass) { @@ -482,9 +478,7 @@ get_coff_symbol_type (const struct internal_syment *sym) } free (bufp); - n = asprintf (&bufp, _("<unknown>: %d/%d"), sym->n_sclass, sym->n_type); - if (n < 0) - fatal ("%s", xstrerror (errno)); + bufp = xasprintf (_("<unknown>: %d/%d"), sym->n_sclass, sym->n_type); return bufp; } diff --git a/binutils/objdump.c b/binutils/objdump.c index 3242546..4980929 100644 --- a/binutils/objdump.c +++ b/binutils/objdump.c @@ -4769,11 +4769,7 @@ dump_ctf_indent_lines (ctf_sect_names_t sect ATTRIBUTE_UNUSED, char *s, void *arg) { const char *blanks = arg; - char *new_s; - - if (asprintf (&new_s, "%s%s", blanks, s) < 0) - return s; - return new_s; + return xasprintf ("%s%s", blanks, s); } /* Make a ctfsect suitable for ctf_bfdopen_ctfsect(). */ diff --git a/binutils/readelf.c b/binutils/readelf.c index 0f8dc1b..73163e0 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -14421,17 +14421,14 @@ display_lto_symtab (Filedata * filedata, return false; /* Look for extended data for the symbol table. */ - Elf_Internal_Shdr * ext = NULL; void * ext_data_orig = NULL; char * ext_data = NULL; char * ext_data_end = NULL; - char * ext_name = NULL; - - if (asprintf (& ext_name, ".gnu.lto_.ext_symtab.%s", - (section_name (filedata, section) - + sizeof (".gnu.lto_.symtab.") - 1)) > 0 - && ext_name != NULL /* Paranoia. */ - && (ext = find_section (filedata, ext_name)) != NULL) + char *ext_name = xasprintf (".gnu.lto_.ext_symtab.%s", + (section_name (filedata, section) + + sizeof (".gnu.lto_.symtab."))); + Elf_Internal_Shdr *ext = find_section (filedata, ext_name); + if (ext != NULL) { if (ext->sh_size < 3) error (_("LTO Symbol extension table '%s' is empty!\n"), @@ -16871,11 +16868,7 @@ dump_ctf_indent_lines (ctf_sect_names_t sect ATTRIBUTE_UNUSED, char *s, void *arg) { const char *blanks = arg; - char *new_s; - - if (asprintf (&new_s, "%s%s", blanks, s) < 0) - return s; - return new_s; + return xasprintf ("%s%s", blanks, s); } /* Dump CTF errors/warnings. */ diff --git a/binutils/windres.c b/binutils/windres.c index 3f691d3..f0f6433 100644 --- a/binutils/windres.c +++ b/binutils/windres.c @@ -885,10 +885,7 @@ main (int argc, char **argv) case OPTION_PREPROCESSOR: if (strchr (optarg, ' ')) - { - if (asprintf (& preprocessor, "\"%s\"", optarg) == -1) - preprocessor = optarg; - } + preprocessor = xasprintf ("\"%s\"", optarg); else preprocessor = optarg; break; diff --git a/gas/config.in b/gas/config.in index c32b46b..bb89624 100644 --- a/gas/config.in +++ b/gas/config.in @@ -89,10 +89,6 @@ */ #undef HAVE_DCGETTEXT -/* Define to 1 if you have the declaration of `asprintf', and to 0 if you - don't. */ -#undef HAVE_DECL_ASPRINTF - /* Is the prototype for getopt in <unistd.h> in the expected format? */ #undef HAVE_DECL_GETOPT diff --git a/gas/config/tc-kvx.c b/gas/config/tc-kvx.c index b864b95..e0860c0 100644 --- a/gas/config/tc-kvx.c +++ b/gas/config/tc-kvx.c @@ -2107,21 +2107,13 @@ kvx_check_label (symbolS *sym) void kvx_emit_single_noop (void) { - char *nop; - char *end_of_bundle; - - if (asprintf (&nop, "nop") < 0) - as_fatal ("%s", xstrerror (errno)); - - if (asprintf (&end_of_bundle, "be") < 0) - as_fatal ("%s", xstrerror (errno)); + char nop[] = "nop"; + char end_of_bundle[] = "be"; char *saved_ilp = input_line_pointer; md_assemble (nop); md_assemble (end_of_bundle); input_line_pointer = saved_ilp; - free (nop); - free (end_of_bundle); } /* edit out some syntactic sugar that confuses GAS */ diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c index ef455e4..4e804ff 100644 --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -2107,17 +2107,12 @@ macro_build (expressionS *ep, const char *name, const char *fmt, ...) static void md_assemblef (const char *format, ...) { - char *buf = NULL; + char *buf; va_list ap; - int r; va_start (ap, format); - r = vasprintf (&buf, format, ap); - - if (r < 0) - as_fatal (_("internal: vasprintf failed")); - + buf = xvasprintf (format, ap); md_assemble (buf); free(buf); diff --git a/gas/configure b/gas/configure index 47c43c0..5d10ec5 100755 --- a/gas/configure +++ b/gas/configure @@ -15871,16 +15871,6 @@ $as_echo "#define NEED_DECLARATION_FFS 1" >>confdefs.h fi -ac_fn_c_check_decl "$LINENO" "asprintf" "ac_cv_have_decl_asprintf" "$ac_includes_default" -if test "x$ac_cv_have_decl_asprintf" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_ASPRINTF $ac_have_decl -_ACEOF ac_fn_c_check_decl "$LINENO" "mempcpy" "ac_cv_have_decl_mempcpy" "$ac_includes_default" if test "x$ac_cv_have_decl_mempcpy" = xyes; then : ac_have_decl=1 diff --git a/gas/configure.ac b/gas/configure.ac index ab1d0e0..997966d 100644 --- a/gas/configure.ac +++ b/gas/configure.ac @@ -1002,7 +1002,7 @@ fi GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers) GAS_CHECK_DECL_NEEDED(ffs, f, int (*f)(int), $gas_test_headers) -AC_CHECK_DECLS([asprintf, mempcpy, stpcpy]) +AC_CHECK_DECLS([mempcpy, stpcpy]) BFD_BINARY_FOPEN @@ -3604,8 +3604,7 @@ s_nop (int ignore ATTRIBUTE_UNUSED) #endif /* md_assemble might modify its argument, so we must pass it a string that is writable. */ - if (asprintf (&nop, "%s", md_single_noop_insn) < 0) - as_fatal ("%s", xstrerror (errno)); + nop = xasprintf ("%s", md_single_noop_insn); /* Some targets assume that they can update input_line_pointer inside md_assemble, and, worse, that they can leave it @@ -6533,20 +6532,14 @@ do_s_func (int end_p, const char *default_prefix) if (*input_line_pointer != ',') { if (default_prefix) - { - if (asprintf (&label, "%s%s", default_prefix, name) == -1) - as_fatal ("%s", xstrerror (errno)); - } + label = xasprintf ("%s%s", default_prefix, name); else { char leading_char = bfd_get_symbol_leading_char (stdoutput); /* Missing entry point, use function's name with the leading char prepended. */ if (leading_char) - { - if (asprintf (&label, "%c%s", leading_char, name) == -1) - as_fatal ("%s", xstrerror (errno)); - } + label = xasprintf ("%c%s", leading_char, name); else label = xstrdup (name); } diff --git a/gas/stabs.c b/gas/stabs.c index 6542e71..da7fb47 100644 --- a/gas/stabs.c +++ b/gas/stabs.c @@ -644,10 +644,8 @@ stabs_generate_asm_func (const char *funcname, const char *startlabname) } as_where (&lineno); - if (asprintf (&buf, "\"%s:F1\",%d,0,%d,%s", - funcname, N_FUN, lineno + 1, startlabname) == -1) - as_fatal ("%s", xstrerror (errno)); - + buf = xasprintf ("\"%s:F1\",%d,0,%d,%s", + funcname, N_FUN, lineno + 1, startlabname); temp_ilp (buf); s_stab ('s'); restore_ilp (); @@ -670,9 +668,7 @@ stabs_generate_asm_endfunc (const char *funcname ATTRIBUTE_UNUSED, ++endfunc_label_count; colon (sym); - if (asprintf (&buf, "\"\",%d,0,0,%s-%s", N_FUN, sym, startlabname) == -1) - as_fatal ("%s", xstrerror (errno)); - + buf = xasprintf ("\"\",%d,0,0,%s-%s", N_FUN, sym, startlabname); temp_ilp (buf); s_stab ('s'); restore_ilp (); diff --git a/ld/config.in b/ld/config.in index f2aaf0a..633105a 100644 --- a/ld/config.in +++ b/ld/config.in @@ -95,10 +95,6 @@ */ #undef HAVE_DCGETTEXT -/* Define to 1 if you have the declaration of `asprintf', and to 0 if you - don't. */ -#undef HAVE_DECL_ASPRINTF - /* Define to 1 if you have the declaration of `environ', and to 0 if you don't. */ #undef HAVE_DECL_ENVIRON diff --git a/ld/configure b/ld/configure index d905f1c..0b4197d 100755 --- a/ld/configure +++ b/ld/configure @@ -18761,16 +18761,6 @@ $as_echo "#define USE_BINARY_FOPEN 1" >>confdefs.h ;; esac -ac_fn_c_check_decl "$LINENO" "asprintf" "ac_cv_have_decl_asprintf" "$ac_includes_default" -if test "x$ac_cv_have_decl_asprintf" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_ASPRINTF $ac_have_decl -_ACEOF ac_fn_c_check_decl "$LINENO" "environ" "ac_cv_have_decl_environ" "$ac_includes_default" if test "x$ac_cv_have_decl_environ" = xyes; then : ac_have_decl=1 diff --git a/ld/configure.ac b/ld/configure.ac index 5d10b38..3ac2b46 100644 --- a/ld/configure.ac +++ b/ld/configure.ac @@ -408,7 +408,7 @@ AC_CHECK_FUNCS(close glob lseek mkstemp open realpath waitpid) BFD_BINARY_FOPEN -AC_CHECK_DECLS([asprintf, environ, stpcpy]) +AC_CHECK_DECLS([environ, stpcpy]) GCC_AC_FUNC_MMAP diff --git a/ld/ldlang.c b/ld/ldlang.c index 00b2144..6335e1f 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -9195,12 +9195,7 @@ void lang_leave_overlay_section (fill_type *fill, lang_output_section_phdr_list *phdrs) { - const char *name; - char *clean, *s2; - const char *s1; - char *buf; - - name = current_section->name; + const char *name = current_section->name;; /* For now, assume that DEFAULT_MEMORY_REGION is the run-time memory region and that no load-time region has been specified. It doesn't @@ -9210,21 +9205,19 @@ lang_leave_overlay_section (fill_type *fill, /* Define the magic symbols. */ - clean = (char *) xmalloc (strlen (name) + 1); - s2 = clean; - for (s1 = name; *s1 != '\0'; s1++) + char *clean = xmalloc (strlen (name) + 1); + char *s2 = clean; + for (const char *s1 = name; *s1 != '\0'; s1++) if (ISALNUM (*s1) || *s1 == '_') *s2++ = *s1; *s2 = '\0'; - buf = (char *) xmalloc (strlen (clean) + sizeof "__load_start_"); - sprintf (buf, "__load_start_%s", clean); + char *buf = xasprintf ("__load_start_%s", clean); lang_add_assignment (exp_provide (buf, exp_nameop (LOADADDR, name), false)); - buf = (char *) xmalloc (strlen (clean) + sizeof "__load_stop_"); - sprintf (buf, "__load_stop_%s", clean); + buf = xasprintf ("__load_stop_%s", clean); lang_add_assignment (exp_provide (buf, exp_binop ('+', exp_nameop (LOADADDR, name), diff --git a/ld/lexsup.c b/ld/lexsup.c index 8982073..92a12fe 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c @@ -1868,7 +1868,6 @@ parse_args (unsigned argc, char **argv) { char * new_name = NULL; char * percent; - int res = 0; if (config.map_filename[0] == 0) { @@ -1885,9 +1884,9 @@ parse_args (unsigned argc, char **argv) output filename. If the % character was the last character in the original map filename then add a .map extension. */ percent[0] = 0; - res = asprintf (&new_name, "%s%s%s", config.map_filename, - output_filename, - percent[1] ? percent + 1 : ".map"); + new_name = xasprintf ("%s%s%s", config.map_filename, + output_filename, + percent[1] ? percent + 1 : ".map"); /* FIXME: Should we ensure that any directory components in new_name exist ? */ } @@ -1905,10 +1904,9 @@ parse_args (unsigned argc, char **argv) else if (S_ISDIR (s.st_mode)) { char lastc = config.map_filename[strlen (config.map_filename) - 1]; - res = asprintf (&new_name, "%s%s%s.map", - config.map_filename, - IS_DIR_SEPARATOR (lastc) ? "" : "/", - lbasename (output_filename)); + new_name = xasprintf ("%s%s%s.map", config.map_filename, + IS_DIR_SEPARATOR (lastc) ? "" : "/", + lbasename (output_filename)); } else if (! S_ISREG (s.st_mode)) { @@ -1918,14 +1916,7 @@ parse_args (unsigned argc, char **argv) /* else FIXME: Check write permission ? */ } - if (res < 0) - { - /* If the asprintf failed then something is probably very - wrong. Better to halt now rather than continue on - into more problems. */ - einfo (_("%P%F: cannot create name for linker map file: %E\n")); - } - else if (new_name != NULL) + if (new_name != NULL) { /* This is a trivial memory leak. */ config.map_filename = new_name; diff --git a/ld/pe-dll.c b/ld/pe-dll.c index 93229e0..c2ccf98 100644 --- a/ld/pe-dll.c +++ b/ld/pe-dll.c @@ -2125,12 +2125,7 @@ make_head (bfd *parent) char *oname; bfd *abfd; - if (asprintf (&oname, "%s_d%06d.o", dll_symname, tmp_seq) < 4) - /* In theory we should return NULL here at let our caller decide what to - do. But currently the return value is not checked, just used, and - besides, this condition only happens when the system has run out of - memory. So just give up. */ - exit (EXIT_FAILURE); + oname = xasprintf ("%s_d%06d.o", dll_symname, tmp_seq); tmp_seq++; abfd = bfd_create (oname, parent); @@ -2219,12 +2214,7 @@ make_tail (bfd *parent) char *oname; bfd *abfd; - if (asprintf (&oname, "%s_d%06d.o", dll_symname, tmp_seq) < 4) - /* In theory we should return NULL here at let our caller decide what to - do. But currently the return value is not checked, just used, and - besides, this condition only happens when the system has run out of - memory. So just give up. */ - exit (EXIT_FAILURE); + oname = xasprintf ("%s_d%06d.o", dll_symname, tmp_seq); tmp_seq++; abfd = bfd_create (oname, parent); @@ -2412,12 +2402,7 @@ make_one (def_file_export *exp, bfd *parent, bool include_jmp_stub) } } - if (asprintf (&oname, "%s_d%06d.o", dll_symname, tmp_seq) < 4) - /* In theory we should return NULL here at let our caller decide what to - do. But currently the return value is not checked, just used, and - besides, this condition only happens when the system has run out of - memory. So just give up. */ - exit (EXIT_FAILURE); + oname = xasprintf ("%s_d%06d.o", dll_symname, tmp_seq); tmp_seq++; abfd = bfd_create (oname, parent); @@ -2600,12 +2585,7 @@ make_singleton_name_thunk (const char *import, bfd *parent) char *oname; bfd *abfd; - if (asprintf (&oname, "%s_nmth%06d.o", dll_symname, tmp_seq) < 4) - /* In theory we should return NULL here at let our caller decide what to - do. But currently the return value is not checked, just used, and - besides, this condition only happens when the system has run out of - memory. So just give up. */ - exit (EXIT_FAILURE); + oname = xasprintf ("%s_nmth%06d.o", dll_symname, tmp_seq); tmp_seq++; abfd = bfd_create (oname, parent); @@ -2681,12 +2661,7 @@ make_import_fixup_entry (const char *name, char *oname; bfd *abfd; - if (asprintf (&oname, "%s_fu%06d.o", dll_symname, tmp_seq) < 4) - /* In theory we should return NULL here at let our caller decide what to - do. But currently the return value is not checked, just used, and - besides, this condition only happens when the system has run out of - memory. So just give up. */ - exit (EXIT_FAILURE); + oname = xasprintf ("%s_fu%06d.o", dll_symname, tmp_seq); tmp_seq++; abfd = bfd_create (oname, parent); @@ -2740,12 +2715,7 @@ make_runtime_pseudo_reloc (const char *name ATTRIBUTE_UNUSED, bfd *abfd; bfd_size_type size; - if (asprintf (&oname, "%s_rtr%06d.o", dll_symname, tmp_seq) < 4) - /* In theory we should return NULL here at let our caller decide what to - do. But currently the return value is not checked, just used, and - besides, this condition only happens when the system has run out of - memory. So just give up. */ - exit (EXIT_FAILURE); + oname = xasprintf ("%s_rtr%06d.o", dll_symname, tmp_seq); tmp_seq++; abfd = bfd_create (oname, parent); @@ -2833,12 +2803,7 @@ pe_create_runtime_relocator_reference (bfd *parent) char *oname; bfd *abfd; - if (asprintf (&oname, "%s_ertr%06d.o", dll_symname, tmp_seq) < 4) - /* In theory we should return NULL here at let our caller decide what to - do. But currently the return value is not checked, just used, and - besides, this condition only happens when the system has run out of - memory. So just give up. */ - exit (EXIT_FAILURE); + oname = xasprintf ("%s_ertr%06d.o", dll_symname, tmp_seq); tmp_seq++; abfd = bfd_create (oname, parent); |