From e1fa0163505af867009ea73fc5f705162120e795 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Mon, 21 Mar 2016 16:31:46 +0000 Subject: 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. --- ld/emultempl/msp430.em | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'ld/emultempl') diff --git a/ld/emultempl/msp430.em b/ld/emultempl/msp430.em index 8a4ad56..22e7c42 100644 --- a/ld/emultempl/msp430.em +++ b/ld/emultempl/msp430.em @@ -171,6 +171,7 @@ gld${EMULATION_NAME}_place_orphan (asection * s, char * lower_name; char * upper_name; char * name; + char * buf = NULL; lang_output_section_statement_type * lower; lang_output_section_statement_type * upper; lang_output_section_statement_type * os; @@ -197,15 +198,15 @@ gld${EMULATION_NAME}_place_orphan (asection * s, only use the part of the name before the second dot. */ if (strchr (secname + 1, '.') != NULL) { - name = ACONCAT ((secname, NULL)); + buf = name = xstrdup (secname); * strchr (name + 1, '.') = 0; } else name = (char *) secname; - lower_name = ACONCAT ((".lower", name, NULL)); - upper_name = ACONCAT ((".upper", name, NULL)); + lower_name = concat (".lower", name, NULL); + upper_name = concat (".upper", name, NULL); /* Find the corresponding lower and upper sections. */ lower = lang_output_section_find (lower_name); @@ -220,7 +221,7 @@ gld${EMULATION_NAME}_place_orphan (asection * s, if (upper == NULL) { einfo ("%P: error: no section named %s or %s in linker script\n", lower_name, upper_name); - return NULL; + goto end; } } else if (upper == NULL) @@ -255,6 +256,11 @@ gld${EMULATION_NAME}_place_orphan (asection * s, } lang_add_section (& os->children, s, NULL, os); + end: + free (upper_name); + free (lower_name); + if (buf) + free (buf); return os; } EOF -- cgit v1.1