Re: [PATCH 2/5] build: Use CSafeLoader if available

2023-05-21 Thread Chris Johns
On 19/5/2023 4:46 pm, Sebastian Huber wrote:
> On 15.05.23 01:44, Chris Johns wrote:
>> On 5/5/2023 8:16 pm, Sebastian Huber wrote:
>>> On 05.05.23 01:38, Chris Johns wrote:
> When I install it
> through pip, I get the CSafeLoader on my machine. I don't have a libyaml
> development package installed.
 This is what I was not understanding. If it can be loaded in a python.org
 install on a N2 MacOS with a virtual env then I think we are close to a
 resolution.
>>> I tried to understand how the PyYAML package is built. It seems that 
>>> libyaml and
>>> its header files need to be installed to use the C bindings.
>> This is what I thought happened with this package. It depends on the base OS
>> packaging system. The documentation at
>> https://pyyaml.org/wiki/PyYAMLDocumentation  says:
>>
>>   $ python setup.py install
>>
>>   If you want to use LibYAML bindings, which are much faster than the pure
>>   Python version, you need to download and install LibYAML. Then you may
>>   build and install the bindings by executing
>>
>>   $ python setup.py --with-libyaml install
>>
>> I cannot see if pip has any further detail on the nature of the build it
>> contains so this is not looking good. This leaves building and installing 
>> when
>> the tools are built by the RSB.
> 
> The current approach with the pickle cache works reasonably fine and requires
> not extra packages. I don't think this implementation should be removed in any
> case. 

Agreed.

> The support for the CSafeLoader is just about 60 lines of additional code.
> It would be a nice improvement for systems supporting this feature. I don't 
> have
> time to work on adding PyYAML with libyaml to the RTEMS Tools right now and I
> think this would open another maintenance issues. If someone would be unable 
> to
> get a yaml module with a CSafeLoader, then he would be no longer able to build
> RTEMS.

It is not about the size of the implementation, it is about making 2 classes of
performance, those with and those without csafe. I am a firm believer all
developers and especially core developers need to be using the exact same tools
and code our community users are using. We did not always do this and it
resulted in the developers being disconnected from the user experience and I
decided I would do what I could to avoid this happening again.

In regards to PyYAML there are a few basic issues with it that I am not sure
about. The package can be built without support for the C library even if it is
installed. I cannot tell if a pip installed version is using the C YAML package
or not. I would like more certainty across our supported hosts before agreeing
to us using it.

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH rtems-source-builder] rtems-gcc-*-newlib-head.cfg: Update to include true long double math

2023-05-21 Thread Chris Johns
OK

Thanks
Chris

On 20/5/2023 12:54 am, Joel Sherrill wrote:
> Previously newlib only had long double math functions when the
> sizeof(double) was equal to sizeof(long double). Newlib now includes
> support for true long double on x86, x86_64, and aarch64.
> 
> These files were not included in the previous commit.
> ---
>  rtems/config/tools/rtems-gcc-10-newlib-head.cfg   | 4 ++--
>  rtems/config/tools/rtems-gcc-10.4-newlib-head.cfg | 4 ++--
>  rtems/config/tools/rtems-gcc-head-newlib-head.cfg | 4 ++--
>  3 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/rtems/config/tools/rtems-gcc-10-newlib-head.cfg 
> b/rtems/config/tools/rtems-gcc-10-newlib-head.cfg
> index a06bfe9..39b97a5 100644
> --- a/rtems/config/tools/rtems-gcc-10-newlib-head.cfg
> +++ b/rtems/config/tools/rtems-gcc-10-newlib-head.cfg
> @@ -17,12 +17,12 @@
>  %patch add newlib -p1 
> https://devel.rtems.org/raw-attachment/ticket/4510/0001-aarch64-Add-ILP32-ABI-support-in-assembly-v2.patch
>  %hash sha512 0001-aarch64-Add-ILP32-ABI-support-in-assembly-v2.patch 
> 7ca237eabfd5b382713186e1fc290dfc999a353315795ecb8dd0d22fcd1ab7f5bf31f4329954adab91ad04c100dcac0e86d406fdbce8f82cf9dc23842c88caf6
>  
> -%define newlib_version c3798a2
> +%define newlib_version 9ae9eef
>  %define newlib_external 1
>  %define newlib_expand_name sourceware-mirror-newlib-cygwin-%{newlib_version}
>  %source set newlib --rsb-file=newlib-%{newlib_version}.tar.gz 
> https://codeload.github.com/RTEMS/sourceware-mirror-newlib-cygwin/tar.gz/%{newlib_version}
>  %hash sha512 newlib-%{newlib_version}.tar.gz \
> -  
> 8qSfmZdAuDUgRX8WFyuMDGgEf+6CPbfo6bxOsBgrPHR++9QzunlFhMEnc1bV46pnCZUmcCWTXPH/+A7TSN4n4A==
> +  
> fV58RABHBBWQudHD0a/B0FLN75Uoy0NiieV1q/83OcP61p484DT2oLp41MlLcVMw8YOXxG+gfJ9KcRlw87A4GQ==
>  
>  %define with_threads 1
>  %define with_plugin 0
> diff --git a/rtems/config/tools/rtems-gcc-10.4-newlib-head.cfg 
> b/rtems/config/tools/rtems-gcc-10.4-newlib-head.cfg
> index b83abeb..84b5223 100644
> --- a/rtems/config/tools/rtems-gcc-10.4-newlib-head.cfg
> +++ b/rtems/config/tools/rtems-gcc-10.4-newlib-head.cfg
> @@ -20,12 +20,12 @@
>  %patch add newlib -p1 
> https://devel.rtems.org/raw-attachment/ticket/4510/0001-aarch64-Add-ILP32-ABI-support-in-assembly-v2.patch
>  %hash sha512 0001-aarch64-Add-ILP32-ABI-support-in-assembly-v2.patch 
> 7ca237eabfd5b382713186e1fc290dfc999a353315795ecb8dd0d22fcd1ab7f5bf31f4329954adab91ad04c100dcac0e86d406fdbce8f82cf9dc23842c88caf6
>  
> -%define newlib_version c3798a2
> +%define newlib_version 9ae9eef
>  %define newlib_external 1
>  %define newlib_expand_name sourceware-mirror-newlib-cygwin-%{newlib_version}
>  %source set newlib --rsb-file=newlib-%{newlib_version}.tar.gz 
> https://codeload.github.com/RTEMS/sourceware-mirror-newlib-cygwin/tar.gz/%{newlib_version}
>  %hash sha512 newlib-%{newlib_version}.tar.gz \
> -  
> 8qSfmZdAuDUgRX8WFyuMDGgEf+6CPbfo6bxOsBgrPHR++9QzunlFhMEnc1bV46pnCZUmcCWTXPH/+A7TSN4n4A==
> +  
> fV58RABHBBWQudHD0a/B0FLN75Uoy0NiieV1q/83OcP61p484DT2oLp41MlLcVMw8YOXxG+gfJ9KcRlw87A4GQ==
>  
>  %define with_threads 1
>  %define with_plugin 0
> diff --git a/rtems/config/tools/rtems-gcc-head-newlib-head.cfg 
> b/rtems/config/tools/rtems-gcc-head-newlib-head.cfg
> index d98fe88..d39a0b5 100644
> --- a/rtems/config/tools/rtems-gcc-head-newlib-head.cfg
> +++ b/rtems/config/tools/rtems-gcc-head-newlib-head.cfg
> @@ -8,12 +8,12 @@
>  %hash sha512 %{gcc_expand_name}.tar.gz \
>
> E5KKObrZDIF1nEAFmZ6zGstL/VAPGCR+FIkCVW3akyTmAPITsmlaNErGHESHjG8PRmCO8zkCHkjkAv6MaHsWvQ==
>  
> -%define newlib_version c3798a2
> +%define newlib_version 9ae9eef
>  %define newlib_external 1
>  %define newlib_expand_name sourceware-mirror-newlib-cygwin-%{newlib_version}
>  %source set newlib --rsb-file=newlib-%{newlib_version}.tar.gz 
> https://codeload.github.com/RTEMS/sourceware-mirror-newlib-cygwin/tar.gz/%{newlib_version}
>  %hash sha512 newlib-%{newlib_version}.tar.gz \
> -  
> 8qSfmZdAuDUgRX8WFyuMDGgEf+6CPbfo6bxOsBgrPHR++9QzunlFhMEnc1bV46pnCZUmcCWTXPH/+A7TSN4n4A==
> +  
> fV58RABHBBWQudHD0a/B0FLN75Uoy0NiieV1q/83OcP61p484DT2oLp41MlLcVMw8YOXxG+gfJ9KcRlw87A4GQ==
>  
>  %patch add newlib -p1 
> https://devel.rtems.org/raw-attachment/ticket/4510/0001-aarch64-Add-ILP32-ABI-support-in-assembly-v2.patch
>  %hash sha512 0001-aarch64-Add-ILP32-ABI-support-in-assembly-v2.patch 
> 7ca237eabfd5b382713186e1fc290dfc999a353315795ecb8dd0d22fcd1ab7f5bf31f4329954adab91ad04c100dcac0e86d406fdbce8f82cf9dc23842c88caf6
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: [PATCH] libdl: Add support for LDST128_ABS_LO12_NC

2023-05-21 Thread Chris Johns
OK

Chris

On 20/5/2023 5:16 am, Kinsey Moore wrote:
> ---
>  cpukit/libdl/rtl-mdreloc-aarch64.c | 4 
>  1 file changed, 4 insertions(+)
> 
> diff --git a/cpukit/libdl/rtl-mdreloc-aarch64.c 
> b/cpukit/libdl/rtl-mdreloc-aarch64.c
> index 25057ce9d7..46f87e9178 100644
> --- a/cpukit/libdl/rtl-mdreloc-aarch64.c
> +++ b/cpukit/libdl/rtl-mdreloc-aarch64.c
> @@ -329,6 +329,7 @@ rtems_rtl_elf_reloc_rela (rtems_rtl_obj*obj,
>  case R_AARCH_LDST16_ABS_LO12_NC:
>  case R_AARCH_LDST32_ABS_LO12_NC:
>  case R_AARCH_LDST64_ABS_LO12_NC:
> +case R_AARCH64_LDST128_ABS_LO12_NC:
>switch (ELF_R_TYPE(rela->r_info)) {
>  case R_AARCH64_ADD_ABS_LO12_NC:
>  case R_AARCH64_LDST8_ABS_LO12_NC:
> @@ -343,6 +344,9 @@ rtems_rtl_elf_reloc_rela (rtems_rtl_obj*obj,
>  case R_AARCH_LDST64_ABS_LO12_NC:
>shift = 3;
>break;
> +case R_AARCH64_LDST128_ABS_LO12_NC:
> +  shift = 4;
> +  break;
>  default:
>printf("illegal rtype: %" PRIu64 "\n", ELF_R_TYPE(rela->r_info));
>break;
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel