AW: [PATCH v3 2/3] amd64: Add to build
Jan.Sommer at dlr.de
Jan.Sommer at dlr.de
Tue Feb 11 14:58:58 UTC 2020
> -----Ursprüngliche Nachricht-----
> Von: Joel Sherrill [mailto:joel at rtems.org]
> Gesendet: Dienstag, 11. Februar 2020 14:29
> An: Sommer, Jan
> Cc: Sebastian Huber; rtems-devel at rtems.org
> Betreff: Re: [PATCH v3 2/3] amd64: Add to build
>
>
>
> On Tue, Feb 11, 2020, 7:21 AM <Jan.Sommer at dlr.de> wrote:
>
>
>
>
> > -----Ursprüngliche Nachricht-----
> > Von: Sebastian Huber [mailto:sebastian.huber at embedded-brains.de]
> > Gesendet: Dienstag, 11. Februar 2020 13:22
> > An: Sommer, Jan; devel at rtems.org
> > Betreff: Re: [PATCH v3 2/3] amd64: Add to build
> >
> > On 11/02/2020 13:06, Jan Sommer wrote:
> >
> > > diff --git a/waf_libbsd.py b/waf_libbsd.py
> > > index 84f22b76..3b1f2d16 100644
> > > --- a/waf_libbsd.py
> > > +++ b/waf_libbsd.py
> > > @@ -197,6 +197,10 @@ class Builder(builder.ModuleManager):
> > > if 'cpu-include-paths' in config:
> > > cpu = bld.get_env()['RTEMS_ARCH']
> > > if cpu == "i386":
> > > + cpu = 'i386'
> > What is the purpose of this assignment?
>
> Sorry, I deleted this, but must have recovered it when preparing the
> patchset.
>
> > > + includes += ['freebsd/sys/x86/include']
> > > + if cpu == "x86_64":
> > > + cpu = 'amd64'
> > > includes += ['freebsd/sys/x86/include']
> > > for i in config['cpu-include-paths']:
> > > includes += [i.replace('@CPU@', cpu)]
> > I am not sure what this should do. Here cpu x86_64 seems to be
> renamed
> > to amd64? Should it be named amd64 in general?
>
> The problem is that the RTEMS_ARCH and the compiler prefix is
> x86_64, however in FreeBSD the related files are in amd64 subdirectories.
> libbsd.py uses @CPU@ to create the architecture specific include
> directories which then yields sys/x86_64/include for example, but should create
> sys/amd64/include.
>
> Before my last patch set, cpu was overridden to x86 for i386, so I
> thought doing something similar saves me the trouble with the include
> directories here.
> Do you maybe have a more elegant solution?
>
>
>
> The GNU target for the toolchain is x86_64 for 64 but tools. I didn't invent that.
> This looks like a reasonable accommodation.
>
> I want to make sure I understand. This is still the 32 bit pcx86 BSP and toolchain
> but it has to use the amd64 Freebsd directory for some support code in libbsd.
Sorry for the confusion. No, this is a patch for the rtems-libbsd library for the RTEMS amd64 BSP.
Of course, given that the amd64 BSP is currently in a very rudimentary state, the created binaries won't run.
I just had some time over the Christmas break and followed the guide to setup a development toolchain for the amd64 BSP and played around with rtems-libbsd.
So I thought it would be a waste to wait until I have forgotten everything again, hence this patch set.
The previous patch set for i386 is the one which is targeted for the pcx86 BSP family and should be a bit more relevant.
Figuring out the include directory situation of FreeBSD was a bit tricky a first as it collects shared files for i386 and x86_64 in "x86" subdirectories, but once this worked for i386 getting support for amd64 was then quite straight forward.
For me it was also a tutorial to get familiar with rtems-libbsd.
> This sounds like the same type of unfortunate hack required if we integrated
> code that use x86 or ppc for directory names.
>
> --joel
>
>
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
More information about the devel
mailing list