[rtems-source-builder commit] 5: Update to Binutils 2.30
Chris Johns
chrisj at rtems.org
Tue Jan 30 23:01:49 UTC 2018
On 30/01/2018 17:42, Sebastian Huber wrote:
> On 29/01/18 22:40, Chris Johns wrote:
>> Hi Sebastian,
>>
>> Can you please post RSB patches to the devel list so I can review them?
>
> Since this was a minor follow up patch of
>
> https://lists.rtems.org/pipermail/devel/2018-January/020072.html
>
Thanks for the link and for posting for review. I missed this.
> and Joel already announced the Binutils 2.30 release I thought that it is ok to
> check this in without review.
Yes and that is normally fine.
>
>>
>> On 30/1/18 12:00 am, Sebastian Huber wrote:
>>> Module: rtems-source-builder
>>> Branch: master
>>> Commit: 6d9c77c77d271d1fc2dfe8493d6713930b52a6dd
>>> Changeset:
>>> http://git.rtems.org/rtems-source-builder/commit/?id=6d9c77c77d271d1fc2dfe8493d6713930b52a6dd
>>>
>>>
>>> Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
>>> Date: Mon Jan 29 07:23:54 2018 +0100
>>>
>>> 5: Update to Binutils 2.30
>>>
>>> ---
>>>
>>> rtems/config/5/rtems-default.bset | 2 +-
>>> rtems/config/5/rtems-epiphany.bset | 2 +-
>>> rtems/config/5/rtems-m32c.bset | 2 +-
>>> rtems/config/5/rtems-or1k.bset | 2 +-
>>> rtems/config/5/rtems-riscv32.bset | 2 +-
>>> rtems/config/5/rtems-riscv64.bset | 2 +-
>>> rtems/config/tools/rtems-binutils.cfg | 27 +++++++++++++++++++++++++++
>>> 7 files changed, 33 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/rtems/config/5/rtems-default.bset
>>> b/rtems/config/5/rtems-default.bset
>>> index 1056e2c..bb1a123 100644
>>> --- a/rtems/config/5/rtems-default.bset
>>> +++ b/rtems/config/5/rtems-default.bset
>>> @@ -10,7 +10,7 @@
>>> 5/rtems-autotools
>>> devel/expat-2.1.0-1
>>> -tools/rtems-binutils-2.29-1
>>> +tools/rtems-binutils
>> I am confused or there is some confusion. I agreed to changing
>> 'tools/rtems-binutils-2.29-1' to 'tools/rtems-binutils-2.29', that is removing
>> the RSB revision number but not the version of the tool set. I appreciate the
>> drive to a "single definition" however the cost/benefit trade off is subjective
>> and I do not think it is there in this last change.
>
> Ok, then I misinterpreted:
>
> https://lists.rtems.org/pipermail/devel/2018-January/020020.html
>
I think this was just a mix up. I was only partially concentrating and _I_
missed the patch for review.
>>
>> I cannot see a way around needing the 'tools/*' files with archs on different
>> versions of tools. The design is for bsets files to change and not 'tools/*'
>> with the patchs and hashes as this data is fixed for the version of the tools.
>>
>> This change means I need to check in 3 places and 2 directions for a version. To
>> check a version I now need to check to the bset file to see if it is on the
>> 'defaults', then the default is the "nominal" version and then the "nominal"
>> file.
>>
>> It has also introduced consistency in the file naming and usage. I understand
>> you want a single place to make a change but this approach breaks down when all
>> arch's are not in the same version, you need specific specific tool/* file
>> versions as we have and this means the approach is inconsistent and I favor
>> consistency.
>>
>>
>>> tools/rtems-gcc
>> I must have missed this change as well.
>>
>> I prefer and would like to maintain the versions of the tool in the 'tool/*
>> name. We have never had all archs on the same set of tools.
>>
>> Sorry, I do not agree with these name changes.
>
> Now you have to edit
>
> tools/rtems-binutils.cfg
>
> if you want to update the Binutils. For GCC you have to update
>
> tools/rtems-gcc.cfg
>
I understand.
> or very unlikely
>
> tools/rtems-gcc-m32c.cfg
> tools/rtems-gcc-or1k.cfg
>
> For Newlib you have to update
>
> tools/rtems-gcc.cfg
> tools/rtems-gcc-m32c.cfg
> tools/rtems-gcc-or1k.cfg
>
> You don't have to touch the *.bset files.
>
> If we go back to the versions in the file names then we have to update also the
> *.bset files and we create orphan files with each version update.
Yes, this is a pain overtime.
> I don't really
> care which variant we use since the frequency of these changes is quite low.
> What should I do now? Add the versions to the files and adjust the *.bset files
> accordingly?
>
Both approaches have advantages and disadvantages. I currently cannot see an
optimal solution.
The advantage for your approach checked into git is a single place to change a
version of a tool and you could even argue the tools file is not needed to save
a file. It assumes the various packages will build for all archs and hosts and
if this does not happen it becomes awkward to handle. The disadvantage I see is
the way it changes the layering and ownership of the definition and so you could
argue there is a case to remove the rtems/tools directory. Also this approach
currently requires more work to figure out that a version is.
The previous approach was about "recipes" where a tools file was "the" recipe
for a specific package and the bset files call up that package. It follows the
model of a version matrix where each row is an arch and each column is a version
of RTEMS. I cannot us being able to move away from this model. The disadvantage
is the need to create a new tools file for each release and to update the bset
files or default file.
I am OK with some orphaned files on master as things can move. I often need to
switch versions to play with newer build errors on some hosts.
I still tend to favour the versions files with out the RSB release number, the
'-1' at the end.
Again, I do apologise over any confusion.
Chris
More information about the devel
mailing list