[llvm] r336072 - Add an entry for rodata constant merge sections to the default

Eric Christopher via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 30 14:49:35 PDT 2018


Hi Sam,

IIRC I have a couple of follow on patches in the thread, but I can do that
if it's causing you problems for sure. Otherwise I've got a fix I'm
planning on landing tomorrow at the latest.

-eric

On Thu, Jul 26, 2018 at 3:35 AM Sam Clegg <sbc at google.com> wrote:

> Should we revert this change and reland with the fix when its ready?
>
> Bug is here: https://bugs.llvm.org/show_bug.cgi?id=38165
> On Tue, Jul 17, 2018 at 2:20 PM Eric Christopher <echristo at gmail.com>
> wrote:
> >
> > Looking. Thanks :)
> >
> > On Fri, Jul 13, 2018 at 3:10 PM Sam Clegg <sbc at google.com> wrote:
> >>
> >> I believe this change causes previously valid .S files to fail to
> compile.
> >>
> >> The error I'm seeing is on the following line:
> >> .section    .rodata.cst8,"a", at progbits
> >>
> >> This generates:
> >> amd64.S:728:44: error: expected the entry size
> >>         .section .rodata.cst8,"a", at progbits
> >>
> >> I guess the entry size here was previously implied by the "cst8" name?
> >>
> >> The file in question is part of ocaml source:
> >> https://github.com/ocaml/ocaml/blob/trunk/runtime/amd64.S#L727
> >> On Sun, Jul 1, 2018 at 5:21 PM Eric Christopher via llvm-commits
> >> <llvm-commits at lists.llvm.org> wrote:
> >> >
> >> > Author: echristo
> >> > Date: Sun Jul  1 17:16:39 2018
> >> > New Revision: 336072
> >> >
> >> > URL: http://llvm.org/viewvc/llvm-project?rev=336072&view=rev
> >> > Log:
> >> > Add an entry for rodata constant merge sections to the default
> >> > section flags in the ELF assembler. This matches the defaults
> >> > given in the rest of MC.
> >> >
> >> > Fixes PR37997 where we couldn't assemble our own assembly output
> >> > without warnings.
> >> >
> >> > Modified:
> >> >     llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp
> >> >     llvm/trunk/test/MC/ELF/extra-section-flags.s
> >> >
> >> > Modified: llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp
> >> > URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp?rev=336072&r1=336071&r2=336072&view=diff
> >> >
> ==============================================================================
> >> > --- llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp (original)
> >> > +++ llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp Sun Jul  1 17:16:39
> 2018
> >> > @@ -486,6 +486,9 @@ static bool hasPrefix(StringRef SectionN
> >> >  // defaults.
> >> >  static unsigned defaultSectionFlags(StringRef SectionName) {
> >> >
> >> > +  if (hasPrefix(SectionName, ".rodata.cst"))
> >> > +    return ELF::SHF_ALLOC | ELF::SHF_MERGE;
> >> > +
> >> >    if (hasPrefix(SectionName, ".rodata.") || SectionName ==
> ".rodata1")
> >> >      return ELF::SHF_ALLOC;
> >> >
> >> >
> >> > Modified: llvm/trunk/test/MC/ELF/extra-section-flags.s
> >> > URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/extra-section-flags.s?rev=336072&r1=336071&r2=336072&view=diff
> >> >
> ==============================================================================
> >> > --- llvm/trunk/test/MC/ELF/extra-section-flags.s (original)
> >> > +++ llvm/trunk/test/MC/ELF/extra-section-flags.s Sun Jul  1 17:16:39
> 2018
> >> > @@ -1,10 +1,12 @@
> >> >  # RUN: llvm-mc -triple x86_64-unknown-unknown -filetype=obj %s -o
> /dev/null 2>&1 | FileCheck %s
> >> > -
> >> > +
> >> >  .section .rodata, "ax"
> >> >  # CHECK: warning: setting incorrect section attributes for .rodata
> >> >  nop
> >> >
> >> >  .section .rodata, "a"
> >> > -# CHECK-NOT: warning:
> >> >  nop
> >> > +.section .rodata.cst4, "aM", at progbits,8
> >> > +nop
> >> > +# CHECK-NOT: warning:
> >> >
> >> >
> >> >
> >> > _______________________________________________
> >> > llvm-commits mailing list
> >> > llvm-commits at lists.llvm.org
> >> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180730/fe8b3837/attachment.html>


More information about the llvm-commits mailing list