[meta-xilinx] [PATCH] xilinx-versions: Change default main version

Manjukumar Harthikote Matha manjukumar.harthikote-matha at xilinx.com
Mon Dec 21 10:19:30 PST 2015



On 12/20/2015 08:17 PM, Nathan Rossi wrote:
> On Sat, Dec 19, 2015 at 11:21 AM, Manjukumar Matha
> <manjukumar.harthikote-matha at xilinx.com> wrote:
>> Allow CSL_VER_MAIN to be defined in local.conf.
>> Fetch libc version correctly from toolchain path
>
> This should be split into two patches. Please also provide a bit more
> info in the commit message for the reasons for these changes.
>
Ok will separate patches

>>
>> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha at xilinx.com>
>> ---
>
> What is the exact reason for this other than just allowing it to be
> defined in local.conf? If you are trying to support toolchains which
> have a version that cannot be detected by
> csl_get_version/csl_get_main_version, please update those functions
> instead so it can just auto detect the different scheme. If this is
> really only needed for obscure testing scenarios it would be simpler
> to manually override the PV of the recipe (since that is the instance
> where CSL_VER_MAIN is used), that can easily be done in local.conf
> with something like 'PV_pn-external-xilinx-toolchain = "<version>"'.
>

Xilinx toolchain currently does not provide the version info (like 
v2015.4 etc). This scheme will allow to define the version of the 
toolchain till we get a function which can report Xilinx toolchain version.

> Also this change causes breakages when CSL_VER_MAIN is not set in local.conf:
>

It is defined in the glibc-xlnx.bb. I didnt see this error while 
building the master branch for core-image-minimal.

>>   def xilinx_get_libc_version(d):
>> +       import fnmatch
>> +
>>          syspath = d.expand('${EXTERNAL_TOOLCHAIN_SYSROOT}')
>>          if not syspath:
>>                  return 'UNKNOWN'
>> @@ -51,9 +54,9 @@ def xilinx_get_libc_version(d):
>>                  libpath = syspath + '/sgxx-glibc/lib/'
>>
>>          if os.path.exists(libpath):
>> -               for file in os.listdir(libpath):
>> -                       if file.find('libc-') == 0:
>> -                               return file[5:-3]
>> +               for root,dirs,files in os.walk(libpath):
>> +                       for filename in fnmatch.filter(files,'libc-*.so'):
>> +                               return filename[5:-3]
>
> Same here, what is the reason? if libc-*.so is not in <sys-root>/lib/
> then isn't the rest of the toolchain recipe broken also? since it
> won't be able to find it and populate it into the packages/oe sysroot.
>

aarch64 toolchain libc-* is under a different directory under 
<sys-root>/lib/. This change will fix getting the version number instead 
of returning it as UKNOWN.

> Regards,
> Nathan
>
>>          return 'UNKNOWN'
>>
>>   def xilinx_get_kernel_version(d):
>> --
>> 2.1.4
>>
>> --
>> _______________________________________________
>> meta-xilinx mailing list
>> meta-xilinx at yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/meta-xilinx



More information about the meta-xilinx mailing list