Cross compiler riscv64 building
David Brown
david@westcontrol.com
Thu Feb 9 13:28:15 GMT 2023
On 09/02/2023 12:20, Sagar Acharya via Gcc-help wrote:
> I built binutils. Installed it at /usr/local/riscv64-unknown-elf directory
>
> Now, I tried building gcc with
> ./configure --host=riscv64-unknown-elf
> make
>
> However, the gcc directory within gcc-12.2.0 has no Makefile made during configure command. So it enters gcc-12.2.0/gcc dir, sees no Makefile prepared, exits with error.
>
> How do I solve this?
>
You are mixing up "host" and "target". "Host" is the computer that runs
the compiler, "target" is the computer that runs the compiled code. So
"host" for you will be an ARM system since you are doing your builds on
an ARM computer, while "target" will be RISCV.
If you really want to make your own cross-toolchain, you are going to
have to spend a good amount of time reading about it and trying things
out. It is an educational process, but it takes work. You can't expect
to do it based on asking a few questions on a mailing list, any more
than you can expect to learn C programming by asking questions in a C
newsgroup.
Again - I strongly suggest you use pre-built packages. Even if you
later decide that a DIY toolchain will be fun, having the pre-built
packages for comparison will make things much easier.
mvh.,
David
> Thanking you
> Sagar Acharya
> https://designman.org
>
>
>
> 8 Feb 2023, 16:48 by jwakely.gcc@gmail.com:
>
>> On Wed, 8 Feb 2023 at 11:12, Sagar Acharya via Gcc-help
>> <gcc-help@gcc.gnu.org> wrote:
>>
>>>
>>> How do I configure and build a cross compiler for target riscv64 of latest gcc on aarch64 musl based void linux.
>>>
>>> I have it's default gcc installed which I want to use for compiling.
>>>
>>
>> See https://wiki.osdev.org/GCC_Cross-Compiler
>>
>> In summary:
>> Download the gcc and binutils source.
>> Configure binutils with --prefix=$DIR --target=riscv64-unknown-elf for
>> some $DIR.
>> Run make && make install.
>> Configure gcc with the same --prefix and --target options.
>> Run make && make install.
>>
>> If you want a hosted target like riscv64-unknown-linux-gnu for
>> compiling user-space programs, then you'll need to have a copy of the
>> target headers and libraries available, and point GCC to them with the
>> --sysroot option.
>> See https://wiki.osdev.org/Hosted_GCC_Cross-Compiler
>>
>
More information about the Gcc-help
mailing list