mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-26 17:18:55 +00:00
Remove use of alloca.
bfd * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144 * configure: Regenerate. * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of alloca with call to xmalloc. * elf32-nds32.c: Likewise. * elf64-hppa.c: Likewise. * elfxx-mips.c: Likewise. * pef.c: Likewise. * pei-x86_64.c: Likewise. * som.c: Likewise. * xsym.c: Likewise. binutils * dlltool.c: Replace use of alloca with call to xmalloc. * dllwrap.c: Likewise. * nlmconv.c: Likewise. * objdump.c: Likewise. * resrc.c: Likewise. * winduni.c: Likewise. * configure: Regenerate. gas * atof-generic.c: Replace use of alloca with call to xmalloc. * cgen.c: Likewise. * dwarf2dbg.c: Likewise. * macro.c: Likewise. * remap.c: Likewise. * stabs.c: Likewise. * symbols.c: Likewise. * config/obj-elf.c: Likewise. * config/tc-aarch64.c: Likewise. * config/tc-arc.c: Likewise. * config/tc-arm.c: Likewise. * config/tc-avr.c: Likewise. * config/tc-ia64.c: Likewise. * config/tc-mips.c: Likewise. * config/tc-msp430.c: Likewise. * config/tc-nds32.c: Likewise. * config/tc-ppc.c: Likewise. * config/tc-sh.c: Likewise. * config/tc-tic30.c: Likewise. * config/tc-tic54x.c: Likewise. * config/tc-xstormy16.c: Likewise. * config/te-vms.c: Likewise. * configure: Regenerate. ld * emultempl/msp430.em: Replace use of alloca with call to xmalloc. * plugin.c: Likewise. * pe-dll.c: Likewise.
This commit is contained in:
@@ -1348,6 +1348,7 @@ show_line (bfd *abfd, asection *section, bfd_vma addr_offset)
|
||||
unsigned int linenumber;
|
||||
unsigned int discriminator;
|
||||
bfd_boolean reloc;
|
||||
char *path = NULL;
|
||||
|
||||
if (! with_line_numbers && ! with_source_code)
|
||||
return;
|
||||
@@ -1368,20 +1369,21 @@ show_line (bfd *abfd, asection *section, bfd_vma addr_offset)
|
||||
{
|
||||
char *path_up;
|
||||
const char *fname = filename;
|
||||
char *path = (char *) alloca (prefix_length + PATH_MAX + 1);
|
||||
|
||||
path = xmalloc (prefix_length + PATH_MAX + 1);
|
||||
|
||||
if (prefix_length)
|
||||
memcpy (path, prefix, prefix_length);
|
||||
path_up = path + prefix_length;
|
||||
|
||||
/* Build relocated filename, stripping off leading directories
|
||||
from the initial filename if requested. */
|
||||
from the initial filename if requested. */
|
||||
if (prefix_strip > 0)
|
||||
{
|
||||
int level = 0;
|
||||
const char *s;
|
||||
|
||||
/* Skip selected directory levels. */
|
||||
/* Skip selected directory levels. */
|
||||
for (s = fname + 1; *s != '\0' && level < prefix_strip; s++)
|
||||
if (IS_DIR_SEPARATOR(*s))
|
||||
{
|
||||
@@ -1390,7 +1392,7 @@ show_line (bfd *abfd, asection *section, bfd_vma addr_offset)
|
||||
}
|
||||
}
|
||||
|
||||
/* Update complete filename. */
|
||||
/* Update complete filename. */
|
||||
strncpy (path_up, fname, PATH_MAX);
|
||||
path_up[PATH_MAX] = '\0';
|
||||
|
||||
@@ -1469,6 +1471,9 @@ show_line (bfd *abfd, asection *section, bfd_vma addr_offset)
|
||||
|
||||
if (discriminator != prev_discriminator)
|
||||
prev_discriminator = discriminator;
|
||||
|
||||
if (path)
|
||||
free (path);
|
||||
}
|
||||
|
||||
/* Pseudo FILE object for strings. */
|
||||
|
||||
Reference in New Issue
Block a user