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

Dan Horák dan at danny.cz
Thu Jul 3 05:12:24 PDT 2014


On Thu, 3 Jul 2014 13:09:02 +0200
Lennart Poettering <lennart at poettering.net> wrote:

> 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

the logical tuple is ppc64le-linux-gnu, also understood by the autotools
scripts, but AFAIK Debian is using ppc64el following the mipsel example
I guess (https://wiki.debian.org/ppc64el/)

>           ppcle

my understanding is that the PowerPC little endian ABI (or rather called
version 2 ELF ABI) is defined only for 64 bits

>           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

$ gcc -dumpmachine
ppc64le-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).)


		Dan


More information about the systemd-devel mailing list