From f82d3edb57e99aea886ed313547fa024ee5c1df3062825438acd71ff4fde0376 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Li=C5=A1ka?= Date: Mon, 18 Jan 2021 10:16:40 +0000 Subject: [PATCH] Rebase gcc10-amdgcn-llvm-as.patch patch. OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc11?expand=0&rev=234 --- gcc10-amdgcn-llvm-as.patch | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/gcc10-amdgcn-llvm-as.patch b/gcc10-amdgcn-llvm-as.patch index 9554403..3a1e77f 100644 --- a/gcc10-amdgcn-llvm-as.patch +++ b/gcc10-amdgcn-llvm-as.patch @@ -9,21 +9,23 @@ gcc/ * varasm.c (default_elf_asm_named_section): Always output all flags if SECTION_MERGE, even if already declared before. -diff --git a/gcc/varasm.c b/gcc/varasm.c -index ada99940f65..51a507393a8 100644 ---- a/gcc/varasm.c -+++ b/gcc/varasm.c -@@ -6738,9 +6738,11 @@ default_elf_asm_named_section (const char *name, unsigned int flags, - /* If we have already declared this section, we can use an - abbreviated form to switch back to it -- unless this section is - part of a COMDAT groups, in which case GAS requires the full -- declaration every time. */ -+ declaration every time. LLVM's MC linker requires that the -+ flags are identical, thus avoid the abbreviated form with MERGE. */ - if (!(HAVE_COMDAT_GROUP && (flags & SECTION_LINKONCE)) -- && (flags & SECTION_DECLARED)) -+ && (flags & SECTION_DECLARED) -+ && !(flags & SECTION_MERGE)) - { - fprintf (asm_out_file, "\t.section\t%s\n", name); - return; +diff --git a/gcc/varasm.c b/gcc/varasm.c +index 21be03aeba2..9cb46885aa5 100644 +--- a/gcc/varasm.c ++++ b/gcc/varasm.c +@@ -6792,10 +6792,13 @@ default_elf_asm_named_section (const char *name, unsigned int flags, + /* If we have already declared this section, we can use an + abbreviated form to switch back to it -- unless this section is + part of a COMDAT groups or with SHF_GNU_RETAIN or with SHF_LINK_ORDER, +- in which case GAS requires the full declaration every time. */ ++ in which case GAS requires the full declaration every time. ++ LLVM's MC linker requires that the ++ flags are identical, thus avoid the abbreviated form with MERGE. */ + if (!(HAVE_COMDAT_GROUP && (flags & SECTION_LINKONCE)) + && !(flags & (SECTION_RETAIN | SECTION_LINK_ORDER)) +- && (flags & SECTION_DECLARED)) ++ && (flags & SECTION_DECLARED) ++ && !(flags & SECTION_MERGE)) + { + fprintf (asm_out_file, "\t.section\t%s\n", name); + return;