mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-26 19:44:11 +08:00
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.
This commit is contained in:
parent
8b5a212495
commit
86b26b453f
@ -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
|
||||
|
10
binutils/configure
vendored
10
binutils/configure
vendored
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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(). */
|
||||
|
@ -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. */
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
||||
|
@ -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 */
|
||||
|
@ -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);
|
||||
|
||||
|
10
gas/configure
vendored
10
gas/configure
vendored
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
13
gas/read.c
13
gas/read.c
@ -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);
|
||||
}
|
||||
|
10
gas/stabs.c
10
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 ();
|
||||
|
@ -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
|
||||
|
10
ld/configure
vendored
10
ld/configure
vendored
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
19
ld/ldlang.c
19
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),
|
||||
|
23
ld/lexsup.c
23
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;
|
||||
|
49
ld/pe-dll.c
49
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);
|
||||
|
Loading…
Reference in New Issue
Block a user