From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com [IPv6:2607:f8b0:4864:20::1036]) by sourceware.org (Postfix) with ESMTPS id 4E1963857B9B for ; Wed, 21 Dec 2022 07:29:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4E1963857B9B Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pj1-x1036.google.com with SMTP id o8-20020a17090a9f8800b00223de0364beso1319639pjp.4 for ; Tue, 20 Dec 2022 23:29:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-disposition:mime-version:message-id:subject:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=pMuOwvAT94R0cAa7tfnwpHzoQJnoCkJ/92zamYWZokw=; b=JDI1ibOr1pWQIG+KoFUg5lxSxoHaf8JwFSDH9yOxFCZm3RuzKSK0ggyd1rVYzrVG/e xT/8/Qo8n73VwLXbWU16MqZljVNZNxpvv3j8fb/gEf/PbZc6tuYF+O+5kbiIGhwIdM61 ehiqbIMfcuZ3XCew9s6/q6lgBSvdQDxfdsoFxGiu4a1AtUCKLmRn9TixN1Euy5PapQMc 4gxgMqmvoIKWr3M+Dp/o41Ahk18VJLIIa9MXfn1f+R1MnCGt7iJMULHe6qD4v2b31WCQ fzCUWldGMDoUKn4zR+on5eZGK+LNj7FC/iz3BAR/L8FC0V6gix0KjhQ7eSgyX2zRsBEu 7Olg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-disposition:mime-version:message-id:subject:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=pMuOwvAT94R0cAa7tfnwpHzoQJnoCkJ/92zamYWZokw=; b=R/WPp0Iyu4v9uEiGYid95edJawJkqsLNF1Yys6hFIKVaP9qmPuOU0ffYdzzgoKEy53 RyGKxOb+/1jIDPeYGLPfgHJugo5Eo3B6gTZ1bibZZt2zvzee0WjAlCkyADHnavYN0wWD 9Ysnx09pMM8qOv5ilsPvDxT7SdzgZc1UfZPgbuTN9JeHbjzXGFoPNaeNV/fmMcEhsE3/ CmccGzuMBGejEdDh9l7/3SFtWj2ACYJZ7suqcr9aRWxroR+L31GABO+WPFdNl/cQwO6X AagEtB2Ec/gjYUC/gSAjlx7t+oyRdA9en4qfpsr5V3qdOlK1axpabjm0TIh0ptwbeD7v DXPw== X-Gm-Message-State: AFqh2kpjx3jg1QV3+zHUvnglLTmf9GNwXzBHTEpyXGzchgk+MkywJS52 9b6Z//V4dNE7lIT8D2Q3y2Pqz0K586g= X-Google-Smtp-Source: AMrXdXtHu0ruZjCZwml+faMzy87QXQtO4MJBVx5yIQFzAJVZ9261Y06uv1IHGnYXez+zD+SMyzWQ6A== X-Received: by 2002:a17:90a:4210:b0:219:49c6:538b with SMTP id o16-20020a17090a421000b0021949c6538bmr16121102pjg.33.1671607791810; Tue, 20 Dec 2022 23:29:51 -0800 (PST) Received: from squeak.grove.modra.org (158.106.96.58.static.exetel.com.au. [58.96.106.158]) by smtp.gmail.com with ESMTPSA id 8-20020a17090a0f0800b0021952b5e9bcsm682493pjy.53.2022.12.20.23.29.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Dec 2022 23:29:51 -0800 (PST) Received: by squeak.grove.modra.org (Postfix, from userid 1000) id E64A61142D66; Wed, 21 Dec 2022 17:59:48 +1030 (ACDT) Date: Wed, 21 Dec 2022 17:59:48 +1030 From: Alan Modra To: binutils@sourceware.org Subject: enable-non-contiguous-regions warnings Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-3035.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: The warning about discarded sections in elf_link_input_bfd doesn't belong there since the code is dealing with symbols. Multiple symbols in a discarded section will result in multiple identical warnings about the section. Move the warning to a new function in ldlang.c. The patch also tidies the warning quoting of section and file names, consistently using `%pA' and `%pB'. I'm no stickler for one style of section and file name quoting, but they ought to be consistent within a warning, eg. see the first one fixed in ldlang.c, and when a warning is emitted for multiple targets they all ought to use exactly the same format string to reduce translation work. elf64-ppc.c loses the build_one_stub errors since we won't get there before hitting the fatal errors in size_one_stub. bfd/ * elflink.c (elf_link_input_bfd): Don't warn here about discarded sections. * elf32-arm.c (arm_build_one_stub): Use consistent style in --enable-non-contiguous-regions error. * elf32-csky.c (csky_build_one_stub): Likewise. * elf32-hppa.c (hppa_build_one_stub): Likewise. * elf32-m68hc11.c (m68hc11_elf_build_one_stub): Likewise. * elf32-m68hc12.c (m68hc12_elf_build_one_stub): Likewise. * elf32-metag.c (metag_build_one_stub): Likewise. * elf32-nios2.c (nios2_build_one_stub): Likewise. * elfnn-aarch64.c (aarch64_build_one_stub): Likewise. * xcofflink.c (xcoff_build_one_stub): Likewise. * elf64-ppc.c (ppc_size_one_stub): Likewise. (ppc_build_one_stub): Delete dead code. ld/ * ldlang.c (lang_add_section): Use consistent style in --enable-non-contiguous-regions warnings. (size_input_section): Likewise. (warn_non_contiguous_discards): New function. (lang_process): Call it. * testsuite/ld-arm/non-contiguous-arm.d: Update. * testsuite/ld-arm/non-contiguous-arm4.d: Update. * testsuite/ld-arm/non-contiguous-arm7.d: Add --enable-non-contiguous-regions-warnings. * testsuite/ld-arm/non-contiguous-arm7.err: New. * testsuite/ld-powerpc/non-contiguous-powerpc.d: Update. * testsuite/ld-powerpc/non-contiguous-powerpc64.d: Update. diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 86cc961f73a..3e262d707c7 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -5053,7 +5053,7 @@ arm_build_one_stub (struct bfd_hash_entry *gen_entry, section. The user should fix his linker script. */ if (stub_entry->target_section->output_section == NULL && info->non_contiguous_regions) - info->callbacks->einfo (_("%F%P: Could not assign '%pA' to an output section. " + info->callbacks->einfo (_("%F%P: Could not assign `%pA' to an output section. " "Retry without --enable-non-contiguous-regions.\n"), stub_entry->target_section); diff --git a/bfd/elf32-csky.c b/bfd/elf32-csky.c index 3333eec9e7f..d0c7c751209 100644 --- a/bfd/elf32-csky.c +++ b/bfd/elf32-csky.c @@ -3739,7 +3739,7 @@ csky_build_one_stub (struct bfd_hash_entry *gen_entry, section. The user should fix his linker script. */ if (stub_entry->target_section->output_section == NULL && info->non_contiguous_regions) - info->callbacks->einfo (_("%F%P: Could not assign '%pA' to an output section. " + info->callbacks->einfo (_("%F%P: Could not assign `%pA' to an output section. " "Retry without --enable-non-contiguous-regions.\n"), stub_entry->target_section); diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c index 153a3ce11e1..82e7e0de80b 100644 --- a/bfd/elf32-hppa.c +++ b/bfd/elf32-hppa.c @@ -729,7 +729,7 @@ hppa_build_one_stub (struct bfd_hash_entry *bh, void *in_arg) section. The user should fix his linker script. */ if (hsh->target_section->output_section == NULL && info->non_contiguous_regions) - info->callbacks->einfo (_("%F%P: Could not assign '%pA' to an output " + info->callbacks->einfo (_("%F%P: Could not assign `%pA' to an output " "section. Retry without " "--enable-non-contiguous-regions.\n"), hsh->target_section); @@ -758,7 +758,7 @@ hppa_build_one_stub (struct bfd_hash_entry *bh, void *in_arg) section. The user should fix his linker script. */ if (hsh->target_section->output_section == NULL && info->non_contiguous_regions) - info->callbacks->einfo (_("%F%P: Could not assign %pA to an output " + info->callbacks->einfo (_("%F%P: Could not assign `%pA' to an output " "section. Retry without " "--enable-non-contiguous-regions.\n"), hsh->target_section); @@ -839,7 +839,7 @@ hppa_build_one_stub (struct bfd_hash_entry *bh, void *in_arg) section. The user should fix his linker script. */ if (hsh->target_section->output_section == NULL && info->non_contiguous_regions) - info->callbacks->einfo (_("%F%P: Could not assign %pA to an output " + info->callbacks->einfo (_("%F%P: Could not assign `%pA' to an output " "section. Retry without " "--enable-non-contiguous-regions.\n"), hsh->target_section); diff --git a/bfd/elf32-m68hc11.c b/bfd/elf32-m68hc11.c index 21e7a11499a..b812ad4d676 100644 --- a/bfd/elf32-m68hc11.c +++ b/bfd/elf32-m68hc11.c @@ -419,7 +419,7 @@ m68hc11_elf_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) section. The user should fix his linker script. */ if (stub_entry->target_section->output_section == NULL && info->non_contiguous_regions) - info->callbacks->einfo (_("%F%P: Could not assign '%pA' to an output section. " + info->callbacks->einfo (_("%F%P: Could not assign `%pA' to an output section. " "Retry without --enable-non-contiguous-regions.\n"), stub_entry->target_section); diff --git a/bfd/elf32-m68hc12.c b/bfd/elf32-m68hc12.c index 3a4458d3fe9..efd440eabae 100644 --- a/bfd/elf32-m68hc12.c +++ b/bfd/elf32-m68hc12.c @@ -539,7 +539,7 @@ m68hc12_elf_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) section. The user should fix his linker script. */ if (stub_entry->target_section->output_section == NULL && info->non_contiguous_regions) - info->callbacks->einfo (_("%F%P: Could not assign '%pA' to an output section. " + info->callbacks->einfo (_("%F%P: Could not assign `%pA' to an output section. " "Retry without --enable-non-contiguous-regions.\n"), stub_entry->target_section); diff --git a/bfd/elf32-metag.c b/bfd/elf32-metag.c index 5099e8fc6c1..fd19c339c43 100644 --- a/bfd/elf32-metag.c +++ b/bfd/elf32-metag.c @@ -3342,7 +3342,7 @@ metag_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) section. The user should fix his linker script. */ if (hsh->target_section->output_section == NULL && info->non_contiguous_regions) - info->callbacks->einfo (_("%F%P: Could not assign '%pA' to an output section. " + info->callbacks->einfo (_("%F%P: Could not assign `%pA' to an output section. " "Retry without --enable-non-contiguous-regions.\n"), hsh->target_section); diff --git a/bfd/elf32-nios2.c b/bfd/elf32-nios2.c index 806ec314c82..5ca64824de5 100644 --- a/bfd/elf32-nios2.c +++ b/bfd/elf32-nios2.c @@ -2491,7 +2491,7 @@ nios2_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg ATTRIBUTE_U section. The user should fix his linker script. */ if (hsh->target_section->output_section == NULL && info->non_contiguous_regions) - info->callbacks->einfo (_("%F%P: Could not assign '%pA' to an output section. " + info->callbacks->einfo (_("%F%P: Could not assign `%pA' to an output section. " "Retry without --enable-non-contiguous-regions.\n"), hsh->target_section); diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 5329bb64afb..a6c12a44234 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -11701,25 +11701,6 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) stub_entry = (struct ppc_stub_hash_entry *) gen_entry; info = in_arg; - /* Fail if the target section could not be assigned to an output - section. The user should fix his linker script. */ - if (stub_entry->target_section != NULL - && stub_entry->target_section->output_section == NULL - && info->non_contiguous_regions) - info->callbacks->einfo (_("%F%P: Could not assign '%pA' to an output section. " - "Retry without --enable-non-contiguous-regions.\n"), - stub_entry->target_section); - - /* Same for the group. */ - if (stub_entry->group->stub_sec != NULL - && stub_entry->group->stub_sec->output_section == NULL - && info->non_contiguous_regions) - info->callbacks->einfo (_("%F%P: Could not assign group %pA target %pA to an " - "output section. Retry without " - "--enable-non-contiguous-regions.\n"), - stub_entry->group->stub_sec, - stub_entry->target_section); - htab = ppc_hash_table (info); if (htab == NULL) return false; @@ -12254,7 +12235,7 @@ ppc_size_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) if (stub_entry->target_section != NULL && stub_entry->target_section->output_section == NULL && info->non_contiguous_regions) - info->callbacks->einfo (_("%F%P: Could not assign %pA to an output section. " + info->callbacks->einfo (_("%F%P: Could not assign `%pA' to an output section. " "Retry without --enable-non-contiguous-regions.\n"), stub_entry->target_section); @@ -12262,11 +12243,9 @@ ppc_size_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) if (stub_entry->group->stub_sec != NULL && stub_entry->group->stub_sec->output_section == NULL && info->non_contiguous_regions) - info->callbacks->einfo (_("%F%P: Could not assign group %pA target %pA to an " - "output section. Retry without " - "--enable-non-contiguous-regions.\n"), - stub_entry->group->stub_sec, - stub_entry->target_section); + info->callbacks->einfo (_("%F%P: Could not assign `%pA' to an output section. " + "Retry without --enable-non-contiguous-regions.\n"), + stub_entry->group->stub_sec); /* Make a note of the offset within the stubs for this entry. */ stub_offset = stub_entry->group->stub_sec->size; diff --git a/bfd/elflink.c b/bfd/elflink.c index 0368256970b..e15b683cc07 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -11151,22 +11151,10 @@ elf_link_input_bfd (struct elf_final_link_info *flinfo, bfd *input_bfd) /* If this symbol is defined in a section which we are discarding, we don't need to keep it. */ - if (isym->st_shndx != SHN_UNDEF - && isym->st_shndx < SHN_LORESERVE - && isec->output_section == NULL - && flinfo->info->non_contiguous_regions) - { - if (flinfo->info->non_contiguous_regions_warnings) - _bfd_error_handler (_("warning: --enable-non-contiguous-regions " - "discards section `%s' from '%s'\n"), - isec->name, bfd_get_filename (isec->owner)); - continue; - } - - if (isym->st_shndx != SHN_UNDEF - && isym->st_shndx < SHN_LORESERVE - && bfd_section_removed_from_list (output_bfd, - isec->output_section)) + if (isym->st_shndx < SHN_LORESERVE + && (isec->output_section == NULL + || bfd_section_removed_from_list (output_bfd, + isec->output_section))) continue; /* Get the name of the symbol. */ diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index a9fefbd44a9..e1dc1103252 100644 --- a/bfd/elfnn-aarch64.c +++ b/bfd/elfnn-aarch64.c @@ -3264,7 +3264,7 @@ aarch64_build_one_stub (struct bfd_hash_entry *gen_entry, section. The user should fix his linker script. */ if (stub_entry->target_section->output_section == NULL && info->non_contiguous_regions) - info->callbacks->einfo (_("%F%P: Could not assign '%pA' to an output section. " + info->callbacks->einfo (_("%F%P: Could not assign `%pA' to an output section. " "Retry without " "--enable-non-contiguous-regions.\n"), stub_entry->target_section); diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c index 83469775208..ec6bc5d310d 100644 --- a/bfd/xcofflink.c +++ b/bfd/xcofflink.c @@ -4690,7 +4690,7 @@ xcoff_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) if (hstub->target_section != NULL && hstub->target_section->output_section == NULL && info->non_contiguous_regions) - info->callbacks->einfo (_("%F%P: Could not assign '%pA' to an output section. " + info->callbacks->einfo (_("%F%P: Could not assign `%pA' to an output section. " "Retry without --enable-non-contiguous-regions.\n"), hstub->target_section); diff --git a/ld/ldlang.c b/ld/ldlang.c index 7829f86dfec..315b916b366 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -2539,7 +2539,7 @@ lang_add_section (lang_statement_list_type *ptr, } else if (link_info.non_contiguous_regions_warnings) einfo (_("%P:%pS: warning: --enable-non-contiguous-regions makes " - "section `%pA' from '%pB' match /DISCARD/ clause.\n"), + "section `%pA' from `%pB' match /DISCARD/ clause.\n"), NULL, section, section->owner); return; @@ -2572,7 +2572,7 @@ lang_add_section (lang_statement_list_type *ptr, if (link_info.non_contiguous_regions_warnings && output->bfd_section) einfo (_("%P:%pS: warning: --enable-non-contiguous-regions may " - "change behaviour for section `%pA' from '%pB' (assigned to " + "change behaviour for section `%pA' from `%pB' (assigned to " "%pA, but additional match: %pA)\n"), NULL, section, section->owner, section->output_section, output->bfd_section); @@ -5252,15 +5252,15 @@ size_input_section if (dot + TO_ADDR (i->size) > end) { if (i->flags & SEC_LINKER_CREATED) - einfo (_("%F%P: Output section '%s' not large enough for the " - "linker-created stubs section '%s'.\n"), - i->output_section->name, i->name); + einfo (_("%F%P: Output section `%pA' not large enough for " + "the linker-created stubs section `%pA'.\n"), + i->output_section, i); if (i->rawsize && i->rawsize != i->size) einfo (_("%F%P: Relaxation not supported with " - "--enable-non-contiguous-regions (section '%s' " - "would overflow '%s' after it changed size).\n"), - i->name, i->output_section->name); + "--enable-non-contiguous-regions (section `%pA' " + "would overflow `%pA' after it changed size).\n"), + i, i->output_section); *removed = 1; dot = end; @@ -7850,6 +7850,24 @@ lang_propagate_lma_regions (void) } } +static void +warn_non_contiguous_discards (void) +{ + LANG_FOR_EACH_INPUT_STATEMENT (file) + { + if ((file->the_bfd->flags & (BFD_LINKER_CREATED | DYNAMIC)) != 0 + || file->flags.just_syms) + continue; + + for (asection *s = file->the_bfd->sections; s != NULL; s = s->next) + if (s->output_section == NULL + && (s->flags & SEC_LINKER_CREATED) == 0) + einfo (_("%P: warning: --enable-non-contiguous-regions " + "discards section `%pA' from `%pB'\n"), + s, file->the_bfd); + } +} + static void reset_one_wild (lang_statement_union_type *statement) { @@ -8191,6 +8209,10 @@ lang_process (void) if (command_line.check_section_addresses) lang_check_section_addresses (); + if (link_info.non_contiguous_regions + && link_info.non_contiguous_regions_warnings) + warn_non_contiguous_discards (); + /* Check any required symbols are known. */ ldlang_check_require_defined_symbols (); diff --git a/ld/testsuite/ld-arm/non-contiguous-arm.d b/ld/testsuite/ld-arm/non-contiguous-arm.d index d0e5fabeb56..3479778991e 100644 --- a/ld/testsuite/ld-arm/non-contiguous-arm.d +++ b/ld/testsuite/ld-arm/non-contiguous-arm.d @@ -1,4 +1,4 @@ #name: non-contiguous-arm #source: non-contiguous-arm.s #ld: --enable-non-contiguous-regions -T non-contiguous-arm.ld -# error: \A.*Could not assign '.code.4' to an output section. Retry without --enable-non-contiguous-regions.*\Z +# error: .*Could not assign .?\.code\.4.? to an output section. Retry without --enable-non-contiguous-regions\. diff --git a/ld/testsuite/ld-arm/non-contiguous-arm4.d b/ld/testsuite/ld-arm/non-contiguous-arm4.d index a55e8d6e45f..a8e9d66caca 100644 --- a/ld/testsuite/ld-arm/non-contiguous-arm4.d +++ b/ld/testsuite/ld-arm/non-contiguous-arm4.d @@ -1,4 +1,4 @@ #name: non-contiguous-arm4 #source: non-contiguous-arm.s #ld: --enable-non-contiguous-regions -T non-contiguous-arm4.ld -# error: \A.*Output section '.ramu' not large enough for the linker-created stubs section '.code.3.__stub'.*\Z +# error: .*Output section .?\.ramu.? not large enough for the linker-created stubs section .?\.code\.3\.__stub.\.? diff --git a/ld/testsuite/ld-arm/non-contiguous-arm7.d b/ld/testsuite/ld-arm/non-contiguous-arm7.d index b8f08d4661d..94e9757e931 100644 --- a/ld/testsuite/ld-arm/non-contiguous-arm7.d +++ b/ld/testsuite/ld-arm/non-contiguous-arm7.d @@ -1,4 +1,4 @@ #name: non-contiguous-arm7 #source: non-contiguous-arm7.s -#ld: --enable-non-contiguous-regions -T non-contiguous-arm7.ld -#error: \A.*unresolvable R_ARM_ABS32 relocation against symbol .MY_BUF..*\Z +#ld: --enable-non-contiguous-regions --enable-non-contiguous-regions-warnings -T non-contiguous-arm7.ld +#error_output: non-contiguous-arm7.err diff --git a/ld/testsuite/ld-arm/non-contiguous-arm7.err b/ld/testsuite/ld-arm/non-contiguous-arm7.err new file mode 100644 index 00000000000..3185ef58ffc --- /dev/null +++ b/ld/testsuite/ld-arm/non-contiguous-arm7.err @@ -0,0 +1,4 @@ +.* may change behaviour for section .?\.bss.? from .* +.* may change behaviour for section .?\.bss\.MY_BUF.? from .* +.* discards section .?\.bss\.MY_BUF.? from .* +.* unresolvable R_ARM_ABS32 relocation against symbol .?MY_BUF.? diff --git a/ld/testsuite/ld-powerpc/non-contiguous-powerpc.d b/ld/testsuite/ld-powerpc/non-contiguous-powerpc.d index c0618dba0d3..ea41e0d102a 100644 --- a/ld/testsuite/ld-powerpc/non-contiguous-powerpc.d +++ b/ld/testsuite/ld-powerpc/non-contiguous-powerpc.d @@ -1,5 +1,5 @@ #name: non-contiguous-powerpc #source: non-contiguous-powerpc.s #ld: --enable-non-contiguous-regions -T non-contiguous-powerpc.ld -#error: \A.*Relaxation not supported with --enable-non-contiguous-regions.* +#error: .*Relaxation not supported with --enable-non-contiguous-regions.* #skip: powerpc64*-* diff --git a/ld/testsuite/ld-powerpc/non-contiguous-powerpc64.d b/ld/testsuite/ld-powerpc/non-contiguous-powerpc64.d index ff0e3fc3f8b..9f903bbea35 100644 --- a/ld/testsuite/ld-powerpc/non-contiguous-powerpc64.d +++ b/ld/testsuite/ld-powerpc/non-contiguous-powerpc64.d @@ -2,4 +2,4 @@ #source: non-contiguous-powerpc.s #as: -a64 #ld: -melf64ppc --enable-non-contiguous-regions -T non-contiguous-powerpc.ld -#error: .*Could not assign group.* +#error: .*Could not assign .?\.text\.one\.stub.? to an output section\. Retry without --enable-non-contiguous-regions\. -- Alan Modra Australia Development Lab, IBM