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

Eric Christopher via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 5 07:25:48 PDT 2018


I've gone ahead and reverted here:

echristo at athyra ~/s/llvm> git svn dcommit
Committing to https://llvm.org/svn/llvm-project/llvm/trunk ...
D test/MC/ELF/extra-section-flags.s
M lib/MC/MCParser/ELFAsmParser.cpp
Committed r338968

for now. I'll see if I can spot all of the edge cases when I recommit.

On Wed, Aug 1, 2018 at 7:55 AM Sam Clegg <sbc at google.com> wrote:

> Ok, cool thanks.
>
> On Mon, Jul 30, 2018 at 2:49 PM Eric Christopher <echristo at gmail.com>
> wrote:
> >
> > 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/20180805/1858beee/attachment.html>


More information about the llvm-commits mailing list