RTEMS patch sweep 3
Jeff Johnston
jjohnstn@redhat.com
Thu Dec 17 19:26:00 GMT 2009
On 17/12/09 02:19 PM, Jeff Johnston wrote:
> On 17/12/09 11:55 AM, Ralf Corsepius wrote:
>> On 12/17/2009 05:34 PM, Jeff Johnston wrote:
>>> On 16/12/09 10:42 PM, Ralf Corsepius wrote:
>>>> On 12/16/2009 07:45 PM, Jeff Johnston wrote:
>>>>> On 16/12/09 12:53 PM, Ralf Corsepius wrote:
>>>>>> On 12/16/2009 06:50 PM, Ralf Corsepius wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> ... and another one.
>>>>>>>
>>>>>>> This patch aims at making some parts of newlib more posix compliant.
>>>>>>>
>>>>>>> One part is #ifdef'ed __rtems__, because it relies on (POSIX) types
>>>>>>> which (AFAICT) newlib currently are only supplies for RTEMS
>>>>>>> (blksize_t,
>>>>>>> blkcnt_t) and because we haven't tested it in other configurations
>>>>>>> but
>>>>>>> in RTEMS configurations.
>>>>>>>
>>>>>>> Ralf
>>>>>>
>>>>>> Oops, fingers faster than brains - The attachment containing the
>>>>>> patch
>>>>>> was missing ;)
>>>>>>
>>>>>> Ralf
>>>>>
>>>>> Shouldn't the added #endif be after the long st_spare4[]? Otherwise,
>>>>> you
>>>>> are changing the struct for the #if before it which normally wouldn't
>>>>> have included this field.
>>>>
>>>> I am not sure. It would depend upon which purpose st_spare4 was
>>>> intended
>>>> to be used for, IMO.
>>>>
>>>> Probably it was only "having 2 longs in reserve" to void breaking
>>>> backward compatibility, in case should one want to extend "struct
>>>> stat".
>>>>
>>>>
>>>> As we consider newlib-version upgrades to be "not ABI/API-preserving"
>>>> and utilize newlib-version upgrades to deliberately break API/ABIs,
>>>> this
>>>> point is not of much importance to us.
>>>>
>>>> The only effect keeping st_spare4 should have on RTEMS would be
>>>> "wasting
>>>> 2 longs" on "struct stat" and keeping this field available should
>>>> newlib
>>>> start using it internally.
>>>>
>>>> That said, I don't have a problem with moving the #endif, such that
>>>> st_spare4 stays also preserved on RTEMS.
>>>>
>>>> Below is an updated patch, now with st_spare4 kept for RTEMS.
>>>>
>>>> Ralf
>>>
>>> Actually, I am referring to the fact that the
>>>
>>> #if defined(__svr4__) && !defined(__PPC__) && !defined(__sun__)
>>>
>>> did not previously get the spare fields prior to your change. Now they
>>> do. I believe that both #endifs belong after the spare fields.
>> Ah, now I see! Yes, this wasn't intended. I had wanted to preserve the
>> previous state for the non-rtems targets.
>>
>> Can you change this or shall I submit another patch?
>>
>> Ralf
>>
>
> I'll fix it. Just wanted to make sure what was intended.
>
> -- Jeff J.
Done with modification.
-- Jeff J.
More information about the Newlib
mailing list