On 16.01.23 09:36, Zhu Zhongjie wrote:
From: Zhongjie Zhu <zhongjiez...@gmail.com>
there are different cases for _ISR_lock_ISR_disable() and _ISR_lock_ISR_enable()
in the case RTEMS_SMP is defined or RTEMS_PROFILING is defined, so remove the
related code.
../../../cpukit/include/rtems/score/threaddispatch.h: In function
'_Thread_Dispatch_disable':
../../../cpukit/include/rtems/score/threaddispatch.h:231:14: warning:
'lock_context' may be used uninitialized [-Wmaybe-uninitialized]
231 | cpu_self = _Thread_Dispatch_disable_critical( &lock_context );
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../cpukit/include/rtems/score/threaddispatch.h:210:32: note: by argument
1 of type 'const ISR_lock_Context *' to '_Thread_Dispatch_disable_critical'
declared here
210 | static inline Per_CPU_Control *_Thread_Dispatch_disable_critical(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../cpukit/include/rtems/score/threaddispatch.h:225:21: note:
'lock_context' declared here
225 | ISR_lock_Context lock_context;
| ^~~~~~~~~~~~
---
cpukit/include/rtems/score/threaddispatch.h | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/cpukit/include/rtems/score/threaddispatch.h
b/cpukit/include/rtems/score/threaddispatch.h
index 589935823f..b06ebe8fec 100644
--- a/cpukit/include/rtems/score/threaddispatch.h
+++ b/cpukit/include/rtems/score/threaddispatch.h
@@ -222,16 +222,17 @@ static inline Per_CPU_Control
*_Thread_Dispatch_disable_critical(
static inline Per_CPU_Control *_Thread_Dispatch_disable( void )
{
Per_CPU_Control *cpu_self;
- ISR_lock_Context lock_context;
#if defined( RTEMS_SMP ) || defined( RTEMS_PROFILING )
+ ISR_lock_Context lock_context;
+
_ISR_lock_ISR_disable( &lock_context );
-#endif
cpu_self = _Thread_Dispatch_disable_critical( &lock_context );
-#if defined( RTEMS_SMP ) || defined( RTEMS_PROFILING )
_ISR_lock_ISR_enable( &lock_context );
+#else
+ cpu_self = _Thread_Dispatch_disable_critical( NULL );
#endif
return cpu_self;
I doubt that this patch compiles if RTEMS_SMP or RTEMS_PROFILING is not
defined.
The problem with the warning is that _Thread_Dispatch_disable_critical()
takes a const pointer to lock_context and nobody writes to this
structure before it is handed over.
--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@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/
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel