[systemd-devel] [PATCH] architecture: Add support for the RISC-V architecture.
Richard W.M. Jones
rjones at redhat.com
Fri Feb 10 12:45:51 UTC 2017
On Fri, Sep 30, 2016 at 04:45:01PM +0100, Richard W.M. Jones wrote:
> Signed-off-by: Richard W.M. Jones <rjones at redhat.com>
> ---
> src/basic/architecture.c | 14 ++++++++++++++
> src/basic/architecture.h | 16 ++++++++++++++++
> 2 files changed, 30 insertions(+)
>
> diff --git a/src/basic/architecture.c b/src/basic/architecture.c
> index b1c8e91..e1412be 100644
> --- a/src/basic/architecture.c
> +++ b/src/basic/architecture.c
> @@ -123,6 +123,17 @@ int uname_architecture(void) {
> { "crisv32", ARCHITECTURE_CRIS },
> #elif defined(__nios2__)
> { "nios2", ARCHITECTURE_NIOS2 },
> +#elif defined(__riscv__)
> + { "riscv32", ARCHITECTURE_RISCV32 },
> + { "riscv64", ARCHITECTURE_RISCV64 },
> + { "riscv128", ARCHITECTURE_RISCV128 },
> +# if __SIZEOF_POINTER__ == 4
> + { "riscv", ARCHITECTURE_RISCV32 },
> +# elif __SIZEOF_POINTER__ == 8
> + { "riscv", ARCHITECTURE_RISCV64 },
> +# elif __SIZEOF_POINTER__ == 16
> + { "riscv", ARCHITECTURE_RISCV128 },
> +# endif
I just want to say that after this change, RISC-V unilaterally removed
__riscv__ (and __riscv64 etc which other projects were using). I'm
very annoyed about that as it breaks many patches that I sent upstream
including to systemd.
GCC changes for RISC-V have subsequently been accepted upstream, so
they cannot do this again.
The change is simply s/__riscv__/__riscv/g ie:
> -#elif defined(__riscv__)
> +#elif defined(__riscv)
As we will need to rebuild the whole of Fedora/RISC-V to cope with
this and other changes, I don't currently have a working GCC (and less
still a working systemd) so I can't submit a formal patch right now.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html
More information about the systemd-devel
mailing list