Plans for usage of LLVM's linker were just discussed on BSDNow
(from toolchain mailing list):

http://www.bsdnow.tv/episodes/2016_08_24-the_fresh_bsd_experience

https://lists.freebsd.org/pipermail/freebsd-toolchain/2016-August/002240.html

  - Eric

On Wednesday, August 31, 2016, Fernando Herrero Carrón <elfe...@gmail.com>
wrote:

> That's great news! Thanks a lot!
>
> Excuse me if I drift off-topic, how about -flto? LTO requires both
> compiler and linker support, however clang3? from ports still calls the
> system linker 'ld'. LLVM has its own linker, 'lld', but it is not
> straightforward, AFAIK, to make clang3? call it.
>
> My trick up to now is to create a symbolic link in the current directory
> and have '.' in the PATH before anything else.
>
> ln -s /usr/local/llvm37/bin/lld ./ld
> clang37 -flto ...
>
> Am I missing something or is there a chance for improvement here?
>
> 2016-08-31 3:17 GMT+02:00 K. Macy <km...@freebsd.org
> <javascript:_e(%7B%7D,'cvml','km...@freebsd.org');>>:
>
>> On Tue, Aug 30, 2016 at 10:39 AM, Eric A. Borisch <ebori...@gmail.com
>> <javascript:_e(%7B%7D,'cvml','ebori...@gmail.com');>> wrote:
>> > FWIW, in MacPorts, we patch clang such that it can find the (MacPorts
>> > provided) libomp headers and library. This lets -fopenmp "just work,"
>> > and configure scripts can do their job. The libomp headers and lib in
>> > dedicated sub-directories to minimize the impact of -fopenmp adding
>> > them to the include and link paths.
>> >
>> > It is a fairly minor patch, and shouldn't (tm) have any impact on
>> > clang executions without an openmp flag:
>> > https://trac.macports.org/browser/trunk/dports/lang/llvm-3.
>> 8/files/openmp-locations.patch
>> >
>> > To get a simple OpenMP test script to compile on FreeBSD, I currently
>> > need to pass (note I'm not the one using -lm):
>> >
>> >   clang38 -fopenmp -o test test.c -L /usr/local/llvm38/lib  -lm
>> >
>> > instead of (~ what configure will try)
>> >
>> >   clang38 -fopenmp -o test test.c
>> >
>> > (11.0RC2 w/ llvm38 installed via pkg)
>> >
>> > I'd love to see base include llvm's OpenMP support, but failing that,
>> > the one from ports should be made to work as configure scripts expect.
>> >
>> > And who knows, if it is there, maybe some items in base will start to
>> > use it. We've got a chicken-and-egg problem right now.
>>
>> Thanks for the patch. Johannes Dieterich hacked the llvm38 port in my
>> graphics branch and:
>>
>>
>> mmacy@armageddon [~|18:13|81] clang++ omp.cpp -fopenmp
>> mmacy@armageddon [~|18:13|81] cat omp.cpp
>> #include <string>
>> #include <iostream>
>> using namespace std;
>> int main(int argc, char** argv) {
>>
>>
>> #pragma omp parallel for default(shared)
>> for(int i = 0; i < 100; ++i){
>> #ifdef _OPENMP
>> cout << "WITH OPENMP " << i << endl;
>> #else
>> cout << "WITHOUT OPENMP " << i << endl;
>> #endif
>> }
>> return 0;
>> }
>> mmacy@armageddon [~|18:13|82] clang++38 omp.cpp -fopenmp
>> mmacy@armageddon [~|18:13|83] ./a.out| head -5
>> WITH OPENMP WITH OPENMP 84WITH OPENMP 92WITH OPENMP
>> 44
>> WITH OPENMP WITH OPENMP 9352WITH OPENMP
>> 76WITH OPENMP WITH OPENMP 0
>> WITH OPENMP
>>
>>
>>
>> Fingers crossed that this can get propagated to master and the
>> defaults for openblas, FFTW, and others can be made more sensible.
>>
>> -M
>> _______________________________________________
>> freebsd-stable@freebsd.org
>> <javascript:_e(%7B%7D,'cvml','freebsd-stable@freebsd.org');> mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-stable
>> To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org
>> <javascript:_e(%7B%7D,'cvml','freebsd-stable-unsubscr...@freebsd.org');>"
>>
>
>
_______________________________________________
freebsd-stable@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to