bsp sorting for acinclude.m4

Gedare Bloom gedare at rtems.org
Fri Mar 31 19:41:24 UTC 2017


On Fri, Mar 31, 2017 at 3:38 PM, Gedare Bloom <gedare at rtems.org> wrote:
> On Thu, Mar 30, 2017 at 10:56 PM, Chris Johns <chrisj at rtems.org> wrote:
>> On 31/03/2017 13:49, Joel Sherrill wrote:
>>>
>>> Sorry to top post. I am usually on CentOS 7 or whatever rtbf64c is
>>> running which is also CentOS 7 I think. I am not in a position to check
>>> that this evening.
>>>
>>> What do we need to check to narrow down the difference?
>>>
>>
>> The commands to test with are in this email. Please try them and post back
>> the results.
>>
>> Thanks
>> Chris
>>
>>> On Mar 30, 2017 7:15 PM, "Chris Johns" <chrisj at rtems.org
>>> <mailto:chrisj at rtems.org>> wrote:
>>>
>>>     On 31/03/2017 09:24, Chris Johns wrote:
>>>
>>>         I am getting this on master (4.12) after a bootstrap on FreeBSD
>>>         11.0 so
>>>         I am wondering if perl has changed something which effects us.
>>>
>>>
>>>     It is not perl or ampolish3 related so the subject has changed.
>>>
>>>     It is looking like a mismatch between a command line sort on some
>>>     hosts and python's sorted where the sb-bootstrap command is being run.
>>>
>>>     I have run the sb-bootstrap and the bootstrap script on FreeBSD 11.0
>>>     and I get the same results.
>>>
>>>
>>>         Anyone else seeing this?
>>>
>>>
>>>     Joel and Kevin?
>>>
>>>     What hosts and what commands did you use to create these patches?
>>>
>>>     It looks like the python based sb-bootstrap is doing a case
>>>     sensitive sort while some hosts are doing a case insensitive sort.
>>>
>>>     On FreeBSD 11.0 and 10.3 I get:
>>>
>>>     $ echo "bf537Stamp/bsp_specs
>>>     > TLL6527M/bsp_specs
>>>     > eZKit533/bsp_specs" | sort
>>>     TLL6527M/bsp_specs
>>>     bf537Stamp/bsp_specs
>>>     eZKit533/bsp_specs
>
> $ echo "bf537Stamp/bsp_specs
>> TLL6527M/bsp_specs
>> eZKit533/bsp_specs" | sort
> bf537Stamp/bsp_specs
> eZKit533/bsp_specs
> TLL6527M/bsp_specs
>

I found this out:
$ echo "bf537Stamp/bsp_specs
 TLL6527M/bsp_specs
 eZKit533/bsp_specs" | LC_ALL=C sort
 TLL6527M/bsp_specs
 eZKit533/bsp_specs
bf537Stamp/bsp_specs

So we can also tweak the bootstrap script to be more consistent. Patch
forthcoming.

>>>     $ python
>>>     Python 2.7.13 (default, Jan 12 2017, 01:19:30)
>>>     [GCC 4.2.1 Compatible FreeBSD Clang 3.8.0 (tags/RELEASE_380/final
>>>     262564)] on freebsd11
>>>     Type "help", "copyright", "credits" or "license" for more information.
>>>     >>> b=['bf537Stamp/bsp_specs', 'TLL6527M/bsp_specs',
>>>     'eZKit533/bsp_specs']
>>>     >>> sorted(b)
>>>     ['TLL6527M/bsp_specs', 'bf537Stamp/bsp_specs', 'eZKit533/bsp_specs']
>>>
>
>>>> sorted(b)
> ['TLL6527M/bsp_specs', 'bf537Stamp/bsp_specs', 'eZKit533/bsp_specs']
>
> My python and sort don't agree (on Ubuntu 16.04).
>
>>>     These results show the sort and python match.
>>>
>>>     I have looked into POSIX and sort and the sort order defaults are
>>>     locale related and the bootstrap script forces C so there looks like
>>>     a difference between FreeBSD and your hosts in what the defaults are.
>>>
>>>         I do not want to push a change if conflicts with other hosts.
>>>
>>>
>>>     Unless I hear back I think a patch to revert the acinclude.m4 change
>>>     is ok.
>>>
>
> Yes, we should prefer to use the output from sb-bootstrap as it is
> more consistent across hosts. And be diligent about not pushing
> patches that make these changes.
>
>>>
>>>         ruru rtems.git $ git diff
>>>         diff --git a/c/src/lib/libbsp/bfin/acinclude.m4
>>>         b/c/src/lib/libbsp/bfin/acinclude.m4
>>>         index 828fd894dd..ab6082ef47 100644
>>>         --- a/c/src/lib/libbsp/bfin/acinclude.m4
>>>         +++ b/c/src/lib/libbsp/bfin/acinclude.m4
>>>         @@ -2,12 +2,12 @@
>>>          AC_DEFUN([RTEMS_CHECK_BSPDIR],
>>>          [
>>>            case "$1" in
>>>         +  TLL6527M )
>>>         +    AC_CONFIG_SUBDIRS([TLL6527M]);;
>>>            bf537Stamp )
>>>              AC_CONFIG_SUBDIRS([bf537Stamp]);;
>>>            eZKit533 )
>>>              AC_CONFIG_SUBDIRS([eZKit533]);;
>>>         -  TLL6527M )
>>>         -    AC_CONFIG_SUBDIRS([TLL6527M]);;
>>>            *)
>>>              AC_MSG_ERROR([Invalid BSP]);;
>>>            esac
>>>
>>>
>>>     This change is hidden in the mega patch to remove texinfo ..
>>>
>>>
>>> https://git.rtems.org/rtems/commit/?id=48a7fa31f918a6fc88719b3c9393a9ba2829f42a
>>>
>>> <https://git.rtems.org/rtems/commit/?id=48a7fa31f918a6fc88719b3c9393a9ba2829f42a>
>>>
>>>         diff --git a/c/src/lib/libbsp/powerpc/acinclude.m4
>>>         b/c/src/lib/libbsp/powerpc/acinclude.m4
>>>         index edc67b5414..4c83475dd8 100644
>>>         --- a/c/src/lib/libbsp/powerpc/acinclude.m4
>>>         +++ b/c/src/lib/libbsp/powerpc/acinclude.m4
>>>         @@ -32,12 +32,12 @@ AC_DEFUN([RTEMS_CHECK_BSPDIR],
>>>              AC_CONFIG_SUBDIRS([t32mppc]);;
>>>            tqm8xx )
>>>              AC_CONFIG_SUBDIRS([tqm8xx]);;
>>>         +  virtex )
>>>         +    AC_CONFIG_SUBDIRS([virtex]);;
>>>            virtex4 )
>>>              AC_CONFIG_SUBDIRS([virtex4]);;
>>>            virtex5 )
>>>              AC_CONFIG_SUBDIRS([virtex5]);;
>>>         -  virtex )
>>>         -    AC_CONFIG_SUBDIRS([virtex]);;
>>>            *)
>>>              AC_MSG_ERROR([Invalid BSP]);;
>>>            esac
>>>
>>>
>>>     And in this patch from Kevin ...
>>>
>>>
>>> https://git.rtems.org/rtems/commit/?id=1c6926c11f2e5efcb166c668b097d64a0321d66e
>>>
>>> <https://git.rtems.org/rtems/commit/?id=1c6926c11f2e5efcb166c668b097d64a0321d66e>
>>>
>>>     Chris
>>>
>> _______________________________________________
>> devel mailing list
>> devel at rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list