[PATCH] Use a hash file for GCC only

Chris Johns chrisj at rtems.org
Thu Mar 2 21:38:53 UTC 2017


On 03/03/2017 02:37, Gedare Bloom wrote:
> On Thu, Mar 2, 2017 at 10:26 AM, Sebastian Huber
> <sebastian.huber at embedded-brains.de> wrote:
>> On 02/03/17 16:23, Gedare Bloom wrote:
>>>
>>> In a way, I do like that this shows the different gcc-newlib versions
>>> we use. It might be nice to add a bit of organization to this hashes
>>> file and/or documentation of the procedure for adding/removing
>>> entries.
>>>
>>> Maybe it makes more sense to have a separate file for each version
>>> being used, e.g. a gcc-4.8.3 hash file, gcc-4.9.3, gcc-6.0.1, etc?
>>> That should make it easier to maintain the hashes.
>>>
>>> I'll leave it to Chris to decide if this is a suitable compromise.
>>
>>
>> I don't know why this hash stuff caused such an uproar. The hashes are
>> invariants of the files. If they ever change something is seriously wrong.
>> Things that never change should be defined exactly once in a system.
>>
> It seems that you stumbled over an unwritten design philosophy.

Yes this is true and given the limited doco and time to create it I 
apologize for this not being clearer. I feel reviews will help avoid 
this situation.

This is an architectural change and my experience with the RSB is 
changes like this always end up having 2 side. I have been caught before 
implementing what I thought was a good and spending lots of time 
cleaning it up or fixing side effects. For example hashes was a simple 
addition to add a hash next to the specified file, what could be simpler.

> I'm
> not picking sides on this, but I do think it is a good idea to
> organize the hashes into include files to reduce the copy-paste.

The configurations need to be self contained and adding unrelated 
information in a single place makes it harder to remove and clean up. 
Yes the hashes are invariant as Sebastian points out and adding them is 
easy however removing them is awkward and time consuming when you need 
to determine where they may be used. Removing a configuration needs to 
be simple and specific to the configuration and spreading fingers into 
global lists would not help.

> I
> also think my suggestion of putting them in version-based files
> alleviates the "horizontal integration" concern.

What would you call the hashes file? Is it any different to the actual 
configuration file?

Should we split newlib out from gcc and have the higher level include 
each file to create the pair?

Chris



More information about the devel mailing list