[llvm-bugs] [Bug 26604] New: check-cdi-and-supported failures when System Integrity Protection enabled on El Capitan

via llvm-bugs llvm-bugs at lists.llvm.org
Sat Feb 13 18:31:47 PST 2016


https://llvm.org/bugs/show_bug.cgi?id=26604

            Bug ID: 26604
           Summary: check-cdi-and-supported failures when System Integrity
                    Protection enabled on El Capitan
           Product: compiler-rt
           Version: unspecified
          Hardware: Macintosh
                OS: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: compiler-rt
          Assignee: unassignedbugs at nondot.org
          Reporter: howarth.mailing.lists at gmail.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

On x86_64-apple-darwin15 with the default System Integrity Protection enabled,
the check-cdi-and-supports tests in compiler-rt produce the unexpected
regressions...

Failing Tests (12):
    cfi :: anon-namespace.cpp
    cfi :: bad-cast.cpp
    cfi :: base-derived-destructor.cpp
    cfi :: icall/bad-signature.c
    cfi :: multiple-inheritance.cpp
    cfi :: nvcall.cpp
    cfi :: overwrite.cpp
    cfi :: simple-fail.cpp
    cfi :: simple-pass.cpp
    cfi :: stats.cpp
    cfi :: target_uninstrumented.cpp
    cfi :: vdtor.cpp

  Expected Failures  : 2
  Unsupported Tests  : 10
  Unexpected Failures: 12

due to their usage of DYLD_LIBRARY_PATH to load the built libLTO.dylib.

ld: could not process llvm bitcode object file, because
/sw/src/fink.build/llvm39-3.9.0-1/build/stage3/./lib/libLTO.dylib could not be
loaded file
'/var/folders/t6/cbdr5_h90fdcnzxp1wlrkppw0000kr/T/bad-signature-a4a39b.o' for
architecture x86_64
clang-3.9: error: linker command failed with exit code 1 (use -v to see
invocation)

These failures only occur for the -DBUILD_SHARED_LIBS:BOOL=ON and
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON builds but not for the stock static build. The
main difference here is that for the -DBUILD_SHARED_LIBS:BOOL=ON, libLTO.dylib
shows the linkage...

$ otool -L libLTO.dylib
libLTO.dylib:
    @rpath/libLTO.dylib (compatibility version 1.0.0, current version 3.9.0)
    @rpath/libLLVMX86CodeGen.dylib (compatibility version 0.0.0, current
version 0.0.0)
    @rpath/libLLVMX86AsmPrinter.dylib (compatibility version 0.0.0, current
version 0.0.0)
    @rpath/libLLVMX86AsmParser.dylib (compatibility version 0.0.0, current
version 0.0.0)
    @rpath/libLLVMX86Desc.dylib (compatibility version 0.0.0, current version
0.0.0)
    @rpath/libLLVMX86Info.dylib (compatibility version 0.0.0, current version
0.0.0)
    @rpath/libLLVMX86Disassembler.dylib (compatibility version 0.0.0, current
version 0.0.0)
    @rpath/libLLVMPowerPCCodeGen.dylib (compatibility version 0.0.0, current
version 0.0.0)
    @rpath/libLLVMPowerPCAsmPrinter.dylib (compatibility version 0.0.0, current
version 0.0.0)
    @rpath/libLLVMPowerPCAsmParser.dylib (compatibility version 0.0.0, current
version 0.0.0)
    @rpath/libLLVMPowerPCDesc.dylib (compatibility version 0.0.0, current
version 0.0.0)
    @rpath/libLLVMPowerPCInfo.dylib (compatibility version 0.0.0, current
version 0.0.0)
    @rpath/libLLVMPowerPCDisassembler.dylib (compatibility version 0.0.0,
current version 0.0.0)
    @rpath/libLLVMARMCodeGen.dylib (compatibility version 0.0.0, current
version 0.0.0)
    @rpath/libLLVMARMAsmPrinter.dylib (compatibility version 0.0.0, current
version 0.0.0)
    @rpath/libLLVMARMAsmParser.dylib (compatibility version 0.0.0, current
version 0.0.0)
    @rpath/libLLVMARMDesc.dylib (compatibility version 0.0.0, current version
0.0.0)
    @rpath/libLLVMARMInfo.dylib (compatibility version 0.0.0, current version
0.0.0)
    @rpath/libLLVMARMDisassembler.dylib (compatibility version 0.0.0, current
version 0.0.0)
    @rpath/libLLVMCore.dylib (compatibility version 0.0.0, current version
0.0.0)
    @rpath/libLLVMLTO.dylib (compatibility version 0.0.0, current version
0.0.0)
    @rpath/libLLVMMC.dylib (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libLLVMMCDisassembler.dylib (compatibility version 0.0.0, current
version 0.0.0)
    @rpath/libLLVMSupport.dylib (compatibility version 0.0.0, current version
0.0.0)
    @rpath/libLLVMTarget.dylib (compatibility version 0.0.0, current version
0.0.0)
    @rpath/libc++.1.dylib (compatibility version 1.0.0, current version 1.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version
1226.10.1)

and for the -DLLVM_LINK_LLVM_DYLIB:BOOL=ON build...

$ otool -L libLTO.dylib
libLTO.dylib:
    @rpath/libLTO.dylib (compatibility version 1.0.0, current version 3.9.0)
    @rpath/libLLVM.dylib (compatibility version 1.0.0, current version 3.9.0)
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version
120.1.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version
1226.10.1)

compared to the static build...

$ otool -L libLTO.dylib
libLTO.dylib:
    @rpath/libLTO.dylib (compatibility version 1.0.0, current version 3.9.0)
    /sw/lib/ncurses/libncurses.5.dylib (compatibility version 5.0.0, current
version 5.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version
1226.10.1)
    /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
    @rpath/libc++.1.dylib (compatibility version 1.0.0, current version 1.0.0)

I assume that the underlying error here is the inability of these tests to load
the component or unified LLVM shared libraries required by the loaded
libLTO.dylib in the first two cases.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160214/ac28c3b7/attachment.html>


More information about the llvm-bugs mailing list