[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] [WIP] Port feature/native-comp to Windows.

From: Andrea Corallo
Subject: Re: [PATCH] [WIP] Port feature/native-comp to Windows.
Date: Sun, 10 May 2020 12:24:32 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Eli Zaretskii <address@hidden> writes:

>> From: Andrea Corallo <address@hidden>
>> Cc: address@hidden, address@hidden
>> Date: Sun, 10 May 2020 11:54:05 -0700
>> The embedde driver is just some code some code in libgccjit that act as
>> the original gcc executable so has not need to be located.  For the
>> support libraries is the linker that does that conventionally.
>> You can even log the ld invocation done by the embedded drive is nothing
>> magical.  Finally the linker is just the system one.
> But the linker doesn't usually know where to find the libraries,
> because the libraries are part of the GCC installation, not of the
> Binutils installation.  That's why gcc always tells the linker where
> to find the libraries, via the -L switch.  Try compiling a trivial
> program with "gcc -v", and you will see how the linker is invoked: gcc
> spoon-feeds it with all the directories on the library search path
> (you can see those directories if you invoke "gcc -print-search-paths").
>> > Sure, but it sounds like knowing what those parameters are is not a
>> > simple job.  Although I still don't seem to understand why, silly me.
>> Me too I do not understand why ld is not doing the expected job
> See above.  What _I_ don't understand is why cannot libgccjit feed the
> linker with the same -L switches that gcc does.

To complete, I think it does: here the ouput of the libgccjit driver
running -v (this is a local build).


Target: x86_64-pc-linux-gnu
Configured with: ../configure --disable-bootstrap --enable-checking=release 
--enable-host-shared --prefix=/home/akrl --enable-languages=c,c++,jit
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.0.1 20200331 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-m64' '-shared' '-o' '/tmp/libgccjit-nQRJfi/fake.so' 
'-fno-use-linker-plugin' '-v' '-mtune=generic' '-march=x86-64'
 as -v --64 -o /tmp/ccG1nTa8.o /tmp/libgccjit-nQRJfi/fake.s
GNU assembler version 2.30 (x86_64-linux-gnu) using BFD version (GNU Binutils 
for Ubuntu) 2.30
COLLECT_GCC_OPTIONS='-m64' '-shared' '-o' '/tmp/libgccjit-nQRJfi/fake.so' 
'-fno-use-linker-plugin' '-v' '-mtune=generic' '-march=x86-64'
 /home/akrl/libexec/gcc/x86_64-pc-linux-gnu/10.0.1/collect2 --eh-frame-hdr -m 
elf_x86_64 -shared -o /tmp/libgccjit-nQRJfi/fake.so 
-L/home/akrl/lib/../lib64 -L/home/akrl/lib/gcc/x86_64-pc-linux-gnu/10.0.1 
-L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu 
-L/usr/lib/../lib64 -L/home/akrl/lib -L. 
-L/home/akrl/lib/gcc/x86_64-pc-linux-gnu/10.0.1/../../.. /tmp/ccG1nTa8.o -lgcc 
--push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed 
-lgcc_s --pop-state /home/akrl/lib/gcc/x86_64-pc-linux-gnu/10.0.1/crtendS.o 
COLLECT_GCC_OPTIONS='-m64' '-shared' '-o' '/tmp/libgccjit-nQRJfi/fake.so' 
'-fno-use-linker-plugin' '-v' '-mtune=generic' '-march=x86-64'

reply via email to

[Prev in Thread] Current Thread [Next in Thread]