From 8a99a385a72553a657a1238d310f94bafad182be Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 4 Oct 2008 06:08:59 +0000 Subject: * ldemul.c (ldemul_place_orphan): Add "constraint" param. * ldemul.h (ldemul_place_orphan): Update prototype. (struct ld_emulation_xfer_struct ): Likewise add param. * ldlang.c (unique_section_p): Make static. (lang_output_section_statement_lookup): Optimise creation of SPECIAL sections. (lang_insert_orphan): Add "constraint" param. Pass to lang_enter_output_section_statement. (init_os): Don't use an existing bfd section for SPECIAL sections. (lang_place_orphans): Don't rename unique output sections, instead mark their output section statements SPECIAL. * ldlang.h (lang_insert_orphan): Update prototype. (unique_section_p): Delete. * emultempl/beos.em (place_orphan): Add "constraint" param. * emultempl/elf32.em (place_orphan): Likewise. Don't match existing output sections if set. * emultempl/pe.em (place_orphan): Likewise. * emultempl/pep.em (place_orphan): Likewise. * emultempl/mmo.em (mmo_place_orphan): Update. * emultempl/spuelf.em (spu_place_special_section): Update. --- ld/emultempl/beos.em | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'ld/emultempl/beos.em') diff --git a/ld/emultempl/beos.em b/ld/emultempl/beos.em index 997f3a6..2777be8 100644 --- a/ld/emultempl/beos.em +++ b/ld/emultempl/beos.em @@ -665,7 +665,9 @@ gld_${EMULATION_NAME}_before_allocation (void) which are not mentioned in the linker script. */ static bfd_boolean -gld${EMULATION_NAME}_place_orphan (asection *s, const char *secname) +gld${EMULATION_NAME}_place_orphan (asection *s, + const char *secname, + int constraint) { char *output_secname, *ps; lang_output_section_statement_type *os; @@ -694,7 +696,7 @@ gld${EMULATION_NAME}_place_orphan (asection *s, const char *secname) output_secname = xstrdup (secname); ps = strchr (output_secname + 1, '\$'); *ps = 0; - os = lang_output_section_statement_lookup (output_secname, 0, TRUE); + os = lang_output_section_statement_lookup (output_secname, constraint, TRUE); /* Find the '\$' wild statement for this section. We currently require the linker script to explicitly mention "*(.foo\$)". -- cgit v1.1