[PATCH] bsps/arm: fix nested extern decl. warnings brought by CMSIS files update

Karel Gardas karel at functional.vision
Tue Jul 25 14:20:54 UTC 2023


On 7/25/23 15:32, Sebastian Huber wrote:
> 
> 
> On 21.07.23 17:37, Karel Gardas wrote:
>> ---
>>   bsps/arm/include/cmsis_gcc.h | 4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/bsps/arm/include/cmsis_gcc.h b/bsps/arm/include/cmsis_gcc.h
>> index 4f0762d6dc..9e867348d2 100644
>> --- a/bsps/arm/include/cmsis_gcc.h
>> +++ b/bsps/arm/include/cmsis_gcc.h
>> @@ -30,7 +30,9 @@
>>   #pragma GCC diagnostic ignored "-Wsign-conversion"
>>   #pragma GCC diagnostic ignored "-Wconversion"
>>   #pragma GCC diagnostic ignored "-Wunused-parameter"
>> -
>> +#ifdef __rtems__
>> +#pragma GCC diagnostic ignored "-Wnested-externs"
>> +#endif /* __rtems__ */
>>   /* Fallback for __has_builtin */
>>   #ifndef __has_builtin
>>     #define __has_builtin(x) (0)
> 
> I would disable this warning only in __cmsis_start() with a push/pop 
> pragma.

Will look into it. The way it was done was to reuse as much as possible 
of the current file infrastructure.

> I think you have to add also a
> 
>   * Modifications Copyright (C) Karel Gardas
> 
> if you change the file, see also:

It's a shame to need to copyright single liners. IMHO license does not 
require that precisely. What about to just add:

/* The file was modified for the purposes of RTEMS project */

right at the beginning (1st line) of file?

> https://softwareengineering.stackexchange.com/questions/220068/file-with-apache-2-0-and-my-modifications
> 
> In general, some advice for dealing with Apache 2.0 files in the RTEMS 
> Software Engineering manual would be nice.

That would be great to have, but who would do that? Or perhaps we may 
distill right behavioral patterns from our competitors: Zephyr/NuttX?

E.g. 
https://github.com/apache/nuttx/commits/master/net/tcp/tcp_getsockopt.c 
-- file modified by several persons and none is mentioned (do all of 
them have signed contributor agreement with ASF?)

and

https://github.com/zephyrproject-rtos/zephyr/commits/main/kernel/paging/statistics.c 
-- file modified by jfisher-no (from Nordic Semiconductor) and yet, file 
clearly copyrighted by Intel and no message about modification by anyone 
else.

Another idea my be to go with what Joel suggested in the original 
CMSISv5 inclusion thread: put any modification into #ifdef __rtems__ / 
#endif and make that clearly visible that file was changed this way. 
Nothing more needed...

Thanks!
Karel


More information about the devel mailing list