[systemd-devel] [PATCH] arch: add crisv32

Lennart Poettering lennart at poettering.net
Thu Jul 3 04:09:02 PDT 2014


On Thu, 03.07.14 09:54, Umut Tezduyar Lindskog (umut.tezduyar at axis.com) wrote:

> ---
>  src/shared/architecture.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/src/shared/architecture.c b/src/shared/architecture.c
> index 9e0c3ef..7dd049a 100644
> --- a/src/shared/architecture.c
> +++ b/src/shared/architecture.c
> @@ -116,6 +116,7 @@ Architecture uname_architecture(void) {
>                  { "tilegx",     ARCHITECTURE_TILEGX   },
>  #elif defined(__cris__)
>                  { "cris",       ARCHITECTURE_CRIS     },
> +                { "crisv32",    ARCHITECTURE_CRIS     },
>  #else
>  #error "Please register your architecture here!"
>  #endif

Applied, thanks!

This makes me wonder though, was the "cris" identifier ever used by
uname? Or was that simply incorrect cruft? If so, I'd prefer removing
it?

One more thing though: in context of the file-hierarchy(7) man page I
added to systemd I added support for querying various system paths via
the new "systemd-path" tool. This tool wants to know the arch "tuple"
used for the specific ABI, building on what Debian is using:

   https://wiki.debian.org/Multiarch/Tuples

I added support for detecting these ABIs to architecture.h, however, I
couldn't fill in quite a number of them, becuase DEbian either didn't
know these archs yet, and hence didn't list any tuple, or because I
couldn't figure out how to detect the variety of ABIs used on the same
architecture with just #ifdefs. For these architectures I currently
added a "#error" line, which means the builds are broken on these archs,
in the hope that people will quickly send me the appropriate patches. 

Currently the following archs are broken in this regard:

          ppc64le
          ppcle
          hppa64
          mips64
          mips64le
          32bit ARM (yay, at least 4 ABIs to choose from, well done!)
          sh64
          tilegx
          cris

Or with other words, systemd git will not build on your architecture,
Umut!

I figure most of these archs don't have many fans who care, but I am
pretty sure cris, tilegx and especially ARM is something people care
about!

Hence, please, send me a patch that tries to figure out a
debian-compatible ABI tuple simply with C #ifdefs! (which I really hopen
is even possible on those fucked up archs like ARM!) Otherwise 215 will
not compile on your arch!

Note that different Linux distributions tend to use different
triplets. For example, on FEdora: 

   $ gcc -dumpmachine 
   x86_64-redhat-linux

I am mostly interested in the Debian-version of the tuples, as they
don't bake any company or distro name into the string.

(Why this all? Well, in the long run I kinda hope we can bring some
cross-distro sanity back to the library logic, and as the DEbian scheme
of splitting per-arch library dirs up into tuple directories appears the
most sensible, this is what we document in file-hierarchy(7).)

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list