This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
build failure on the branch (Re: ld output_section_statment related tidy)
- From: Matthias Klose <doko at ubuntu dot com>
- To: binutils <binutils at sourceware dot org>
- Date: Mon, 08 Sep 2008 16:39:09 +0200
- Subject: build failure on the branch (Re: ld output_section_statment related tidy)
- References: <48B41673.4020106@linux.intel.com> <48B41919.6080800@redhat.com> <48B42354.50306@linux.intel.com> <48B42A54.4020809@redhat.com> <48B42B90.9070709@linux.intel.com> <48B43034.9070204@redhat.com> <48B43287.7030808@linux.intel.com> <20080826191933.GA7838@caradoc.them.org> <6dc9ffc80808261245y30d8b0e8u8c5cdaffada33aac@mail.gmail.com> <20080827002101.GA4989@bubble.grove.modra.org> <20080907040432.GB4700@bubble.grove.modra.org>
looks like these two chunks are not mentioned in the ChangeLog, and not applied
(at least on the 2.19 branch):
gcc -DHAVE_CONFIG_H -I. -I../../ld -I. -I. -I../../ld -I../bfd -I../../ld/../bfd
-I../../ld/../include -g -O2 -Wno-format-security
-DLOCALEDIR="\"/usr/share/locale\"" -W -Wall -Wstrict-prototypes
-Wmissing-prototypes -Werror -g -O2 -Wno-format-security -c esun4.c
esun4.c: In function 'gldsun4_before_allocation':
esun4.c:644: error: too few arguments to function
'lang_output_section_statement_lookup'
make[5]: *** [esun4.o] Error 1
Matthias
Alan Modra schrieb:
> This patch started off as one to allow INSERT to add a new output
> section statement before or after an existing output statement with
> the same section name, but ended up just being a cleanup. The
> trouble with allowing an INSERT of the same output section name is
> simply that we'd need to allow duplicate output section statements of
> the same name, which we don't support currently. That isn't a
> particularly difficult thing to do, but I think it would be safer to
> leave that change until we've branched.
>
> * ldlang.h (lang_output_section_find): Define.
> (lang_output_section_statement_lookup): Update prototype.
> * ldlang.c (lang_output_section_find,
> lang_output_section_statement_lookup_1): Merge into..
> (lang_output_section_statement_lookup): ..here. Update all callers.
> (process_insert_statements): Set constraint negative
> for output section statements we might be inserting. Make error
> fatal on not finding insertion section.
> (lang_output_section_find): Rather than comparing
> output_section_statement.constraint against -1, test whether
> it is postive.
> (lang_output_section_statement_lookup_1): Likewise.
> (output_prev_sec_find, strip_excluded_output_sections): Likewise.
> (lang_record_phdrs): Likewise.
> * emultempl/elf32.em (output_rel_find): Likewise.
> * NEWS: Mention INSERT.
> Index: ld/emultempl/beos.em
> ===================================================================
> RCS file: /cvs/src/src/ld/emultempl/beos.em,v
> retrieving revision 1.39
> diff -u -p -r1.39 beos.em
> --- ld/emultempl/beos.em 15 Feb 2008 03:35:53 -0000 1.39
> +++ ld/emultempl/beos.em 6 Sep 2008 00:04:55 -0000
> @@ -697,7 +697,7 @@ gld${EMULATION_NAME}_place_orphan (asect
> output_secname = xstrdup (secname);
> ps = strchr (output_secname + 1, '\$');
> *ps = 0;
> - os = lang_output_section_statement_lookup (output_secname);
> + os = lang_output_section_statement_lookup (output_secname, 0, TRUE);
>
> /* Find the '\$' wild statement for this section. We currently require the
> linker script to explicitly mention "*(.foo\$)".
> Index: ld/emultempl/sunos.em
> ===================================================================
> RCS file: /cvs/src/src/ld/emultempl/sunos.em,v
> retrieving revision 1.30
> diff -u -p -r1.30 sunos.em
> --- ld/emultempl/sunos.em 15 Feb 2008 03:35:53 -0000 1.30
> +++ ld/emultempl/sunos.em 6 Sep 2008 00:04:56 -0000
> @@ -698,7 +698,7 @@ gld${EMULATION_NAME}_before_allocation (
>
> /* Set the .text section to start at 0x20, not 0x2020. FIXME:
> This is too magical. */
> - os = lang_output_section_statement_lookup (".text");
> + os = lang_output_section_statement_lookup (".text", 0, TRUE);
> if (os->addr_tree == NULL)
> os->addr_tree = exp_intop (0x20);
> }
>