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

Sebastian Huber sebastian.huber at embedded-brains.de
Tue Jul 25 15:23:49 UTC 2023


On 25.07.23 16:20, Karel Gardas wrote:
> 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.

I guess that the contributions to the origin of the work do not count as 
redistributions, but I am not a license expert.

> 
> 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...

Ideally, the guidelines would be in the RTEMS Software Engineering 
manual before we added the Apache 2.0 files. We should avoid that every 
contributor has to figure out what to do. I you think that this 
__rtems__ stuff is enough, then just document it. Zephyr for example has 
a clear process to add new licenses:

https://docs.zephyrproject.org/latest/contribute/external.html

-- 
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/


More information about the devel mailing list