Re: G++ driver missing option when sending to collect2

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

 



Hi Jim,
Thanks your advice. It helps me a lot.

Best Regard,
Yeting Kuo

Jim Wilson <jimw@xxxxxxxxxx> 於 2021年2月27日 週六 上午3:16寫道:

> On Wed, Feb 24, 2021 at 6:13 PM Yeting Kuo via Gcc-help <
> gcc-help@xxxxxxxxxxx> wrote:
>
>> $ riscv32-unknown-elf-g++ test.o -Wl,--start-group x.o -lc -Wl,--end-group
>> -v
>>
>
> If you make all of the options linker options instead of compiler options,
> then the compiler won't re-sort them.  E.g. this works
>     riscv32-unknown-elf-g++ test.o -Wl,--start-group -Wl,x.o -Wl,-lc
> -Wl,--end-group -v
>
> However, if you have some special library that requires special treatment,
> it is probably better to encode that in the specs.  If this is for a
> special target triplet, then you can modify the LINK_SPEC for the target in
> the gcc sources.  Otherwise, you can try using a modified specs file.  You
> can use
>     riscv32-unknown-elf-gcc -dumpspecs > specs
> to see the default specs file.  You can provide an incremental specs file
> to modify lib or link_command or whatever is appropriate for your target.
> You can then specify the specs file when linking with -specs=yourspecfile.
> Or you can modify the default specs file and then copy it into the same dir
> where cc1 lives if you want it used for all compilers.  You can find an
> example of how to do this incrementally in libgloss.
>
> https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=libgloss/riscv/nano.specs;h=e12e31384241c58a5a07341a0f7cebc4fac9ed20;hb=HEAD
> When using riscv-gnu-toolchain and adding -specs=nano.specs we link with
> -lc_nano instead of -lc.  A simpler example might just be appending an
> extra library to lib.
>
> Jim
>
>




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux