[llvm-bugs] [Bug 31300] New: Pass arch-specific library name to the linker instead of just '-lomp', '-lgomp' etc.

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Dec 6 14:54:41 PST 2016


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

            Bug ID: 31300
           Summary: Pass arch-specific library name to the linker instead
                    of just '-lomp', '-lgomp' etc.
           Product: OpenMP
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Clang Compiler Support
          Assignee: unassignedclangbugs at nondot.org
          Reporter: pirama at google.com
                CC: danalbert at google.com, llvm-bugs at lists.llvm.org,
                    srhines at google.com
    Classification: Unclassified

Currently, '-fopenmp' just gets translated to the corresponding runtime library
(-lomp, -lgomp, -lipmp5) during the link step.  However, this precludes a
multilib toolchain from finding the right library based on the target
architecture without extra support from the build system.  The sanitizers, for
instance, use libclang_rt.<sanitizer>-<arch>.{so,a}.

To do something similar for OpenMP, we need to
1. change the driver to pass the extended name to the linker.
2. change the CMake build rules to use the extended name instead of libomp.so.

My questions:
1. What is the preferred "full" name?  libomp-<arch>.so sounds reasonable to
me.
2. Is the existing behavior preferable to avoid breaking existing code or to
support OpenMP runtimes from outside of this project?  If so, I can make the
above changes fire only for Android triples.  In this case, we don't need to
immediately update CMake build rules.

-- 
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/20161206/5397653d/attachment.html>


More information about the llvm-bugs mailing list