[llvm] r328400 - Allow FDE references outside the +/-2GB range supported by PC relative

Eric Christopher via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 23 19:28:35 PDT 2018


Yeah. I was afk, I'll get it. Thanks. Sorry about that. The test didn't
have any requires in it.

On Fri, Mar 23, 2018, 6:59 PM <douglas.yung at sony.com> wrote:

> Hi Eric,
>
> The added run lines to the test here are causing the PS4 bots to fail on
> the test because they do not include the powerpc64le backend. Could you
> take a look?
>
>
> http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/27264
> :
>
> FAIL: LLVM :: MC/ELF/cfi-large-model.s (30728 of 39175)
> ******************** TEST 'LLVM :: MC/ELF/cfi-large-model.s' FAILED
> ********************
> Script:
> --
> /home/buildslave/ps4-buildslave4/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/llvm.obj/bin/llvm-mc
> -filetype=obj -triple x86_64-pc-linux-gnu -large-code-model
> /home/buildslave/ps4-buildslave4/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/llvm.src/test/MC/ELF/cfi-large-model.s
>   -o - |
> /home/buildslave/ps4-buildslave4/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/llvm.obj/bin/llvm-readobj
> -s -sd |
> /home/buildslave/ps4-buildslave4/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/llvm.obj/bin/FileCheck
> --check-prefix=CHECK-X86
> /home/buildslave/ps4-buildslave4/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/llvm.src/test/MC/ELF/cfi-large-model.s
> /home/buildslave/ps4-buildslave4/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/llvm.obj/bin/llvm-mc
> -filetype=obj -triple powerpc64le-linux-gnu -large-code-model
> /home/buildslave/ps4-buildslave4/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/llvm.src/test/MC/ELF/cfi-large-model.s
>   -o - |
> /home/buildslave/ps4-buildslave4/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/llvm.obj/bin/llvm-readobj
> -s -sd |
> /home/buildslave/ps4-buildslave4/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/llvm.obj/bin/FileCheck
> --check-prefix=CHECK-PPC
> /home/buildslave/ps4-buildslave4/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/llvm.src/test/MC/ELF/cfi-large-model.s
> --
> Exit Code: 2
>
> Command Output (stderr):
> --
> /home/buildslave/ps4-buildslave4/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/llvm.obj/bin/llvm-mc:
> : error: unable to get target for 'powerpc64le--linux-gnu', see --version
> and --triple.
>
>
> http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/16090
> :
>
> $
> "C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.obj\bin\llvm-mc.EXE"
> "-filetype=obj" "-triple" "powerpc64le-linux-gnu" "-large-code-model"
> "C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\test\MC\ELF\cfi-large-model.s"
> "-o" "-"
> # command stderr:
> C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.obj\bin\llvm-mc.EXE:
> : error: unable to get target for 'powerpc64le--linux-gnu', see --version
> and --triple.
>
>
> Douglas Yung
>
> > -----Original Message-----
> > From: llvm-commits [mailto:llvm-commits-bounces at lists.llvm.org] On
> Behalf Of
> > Eric Christopher via llvm-commits
> > Sent: Friday, March 23, 2018 17:08
> > To: llvm-commits at lists.llvm.org
> > Subject: [llvm] r328400 - Allow FDE references outside the +/-2GB range
> > supported by PC relative
> >
> > Author: echristo
> > Date: Fri Mar 23 17:07:38 2018
> > New Revision: 328400
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=328400&view=rev
> > Log:
> > Allow FDE references outside the +/-2GB range supported by PC relative
> offsets
> > for code models other than small/medium. For JIT application, memory
> layout is
> > less controlled and can result in truncations otherwise.
> >
> > Patch based on one by Olexa Bilaniuk!
> >
> > Modified:
> >     llvm/trunk/lib/MC/MCObjectFileInfo.cpp
> >     llvm/trunk/test/MC/ELF/cfi-large-model.s
> >
> > Modified: llvm/trunk/lib/MC/MCObjectFileInfo.cpp
> > URL: http://llvm.org/viewvc/llvm-
> >
> project/llvm/trunk/lib/MC/MCObjectFileInfo.cpp?rev=328400&r1=328399&r2=328400&
> > view=diff
> >
> ==============================================================================
> > --- llvm/trunk/lib/MC/MCObjectFileInfo.cpp (original)
> > +++ llvm/trunk/lib/MC/MCObjectFileInfo.cpp Fri Mar 23 17:07:38 2018
> > @@ -292,6 +292,8 @@ void MCObjectFileInfo::initELFMCObjectFi
> >    case Triple::mips64el:
> >      FDECFIEncoding = dwarf::DW_EH_PE_sdata8;
> >      break;
> > +  case Triple::ppc64:
> > +  case Triple::ppc64le:
> >    case Triple::x86_64:
> >      FDECFIEncoding = dwarf::DW_EH_PE_pcrel |
> >                       (Large ? dwarf::DW_EH_PE_sdata8 :
> > dwarf::DW_EH_PE_sdata4);
> >
> > Modified: llvm/trunk/test/MC/ELF/cfi-large-model.s
> > URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/cfi-large-
> > model.s?rev=328400&r1=328399&r2=328400&view=diff
> >
> ==============================================================================
> > --- llvm/trunk/test/MC/ELF/cfi-large-model.s (original)
> > +++ llvm/trunk/test/MC/ELF/cfi-large-model.s Fri Mar 23 17:07:38 2018
> > @@ -1,26 +1,49 @@
> >  // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu
> -large-code-model
> > %s \
> > -// RUN:   -o - | llvm-readobj -s -sd | FileCheck %s
> > +// RUN:   -o - | llvm-readobj -s -sd | FileCheck
> --check-prefix=CHECK-X86 %s
> > +// RUN: llvm-mc -filetype=obj -triple powerpc64le-linux-gnu
> -large-code-model
> > %s \
> > +// RUN:   -o - | llvm-readobj -s -sd | FileCheck
> --check-prefix=CHECK-PPC %s
> >
> > -// CHECK:      Section {
> > -// CHECK:        Index:
> > -// CHECK:        Name: .eh_frame
> > -// CHECK-NEXT:   Type: SHT_X86_64_UNWIND
> > -// CHECK-NEXT:   Flags [
> > -// CHECK-NEXT:     SHF_ALLOC
> > -// CHECK-NEXT:   ]
> > -// CHECK-NEXT:   Address: 0x0
> > -// CHECK-NEXT:   Offset: 0x40
> > -// CHECK-NEXT:   Size: 56
> > -// CHECK-NEXT:   Link: 0
> > -// CHECK-NEXT:   Info: 0
> > -// CHECK-NEXT:   AddressAlignment: 8
> > -// CHECK-NEXT:   EntrySize: 0
> > -// CHECK-NEXT:   SectionData (
> > -// CHECK-NEXT:     0000: 14000000 00000000 017A5200 01781001
> > |.........zR..x..|
> > -// CHECK-NEXT:     0010: 1C0C0708 90010000 1C000000 1C000000
> > |................|
> > -// CHECK-NEXT:     0020: 00000000 00000000 00000000 00000000
> > |................|
> > -// CHECK-NEXT:     0030: 00000000 00000000                    |........|
> > -// CHECK-NEXT:   )
> > +// CHECK-X86:      Section {
> > +// CHECK-X86:        Index:
> > +// CHECK-X86:        Name: .eh_frame
> > +// CHECK-X86-NEXT:   Type: SHT_X86_64_UNWIND
> > +// CHECK-X86-NEXT:   Flags [
> > +// CHECK-X86-NEXT:     SHF_ALLOC
> > +// CHECK-X86-NEXT:   ]
> > +// CHECK-X86-NEXT:   Address: 0x0
> > +// CHECK-X86-NEXT:   Offset: 0x40
> > +// CHECK-X86-NEXT:   Size: 56
> > +// CHECK-X86-NEXT:   Link: 0
> > +// CHECK-X86-NEXT:   Info: 0
> > +// CHECK-X86-NEXT:   AddressAlignment: 8
> > +// CHECK-X86-NEXT:   EntrySize: 0
> > +// CHECK-X86-NEXT:   SectionData (
> > +// CHECK-X86-NEXT:     0000: 14000000 00000000 017A5200 01781001
> > |.........zR..x..|
> > +// CHECK-X86-NEXT:     0010: 1C0C0708 90010000 1C000000 1C000000
> > |................|
> > +// CHECK-X86-NEXT:     0020: 00000000 00000000 00000000 00000000
> > |................|
> > +// CHECK-X86-NEXT:     0030: 00000000 00000000
> |........|
> > +// CHECK-X86-NEXT:   )
> > +
> > +// CHECK-PPC: Section {
> > +// CHECK-PPC:  Index:
> > +// CHECK-PPC:  Name: .eh_frame
> > +// CHECK-PPC-NEXT:   Type: SHT_PROGBITS
> > +// CHECK-PPC-NEXT:   Flags [
> > +// CHECK-PPC-NEXT:     SHF_ALLOC
> > +// CHECK-PPC-NEXT:   ]
> > +// CHECK-PPC-NEXT:   Address: 0x0
> > +// CHECK-PPC-NEXT:   Offset: 0x40
> > +// CHECK-PPC-NEXT:   Size: 48
> > +// CHECK-PPC-NEXT:   Link: 0
> > +// CHECK-PPC-NEXT:   Info: 0
> > +// CHECK-PPC-NEXT:   AddressAlignment: 8
> > +// CHECK-PPC-NEXT:   EntrySize: 0
> > +// CHECK-PPC-NEXT:   SectionData (
> > +// CHECK-PPC-NEXT:     0000: 10000000 00000000 017A5200 04784101
> > |.........zR..xA.|
> > +// CHECK-PPC-NEXT:     0010: 1C0C0100 18000000 18000000 00000000
> > |................|
> > +// CHECK-PPC-NEXT:     0020: 00000000 00000000 00000000 00000000
> > |................|
> > +// CHECK-PPC-NEXT:   )
> > +// CHECK-PPC-NEXT: }
> >
> >  f:
> >      .cfi_startproc
> >
> >
> > _______________________________________________
> > 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/20180324/58b6672e/attachment.html>


More information about the llvm-commits mailing list