From b6534f3047d080914bc052dc8bcd1b6f3197ab1d Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 24 Feb 2025 16:56:18 -0600 Subject: [PATCH] testsuites/validation/tc-score-thread.c: Fix warning on assignment GCC 14 is much pickier and turns some warnings into errors. This is one example that cross BSPs and architectures. --- cpukit/libmisc/stackchk/check.c | 2 +- cpukit/score/cpu/aarch64/include/rtems/score/cpu.h | 2 +- cpukit/score/cpu/arm/include/rtems/score/cpu.h | 2 +- cpukit/score/cpu/m68k/include/rtems/score/cpu.h | 2 +- cpukit/score/cpu/microblaze/include/rtems/score/cpu.h | 2 +- cpukit/score/cpu/moxie/include/rtems/score/cpu.h | 2 +- cpukit/score/cpu/nios2/include/rtems/score/cpu.h | 2 +- cpukit/score/cpu/no_cpu/include/rtems/score/cpu.h | 6 ++++-- cpukit/score/cpu/or1k/include/rtems/score/cpu.h | 2 +- cpukit/score/cpu/powerpc/include/rtems/score/cpu.h | 2 +- cpukit/score/cpu/riscv/include/rtems/score/cpu.h | 2 +- cpukit/score/cpu/sparc/include/rtems/score/cpu.h | 2 +- cpukit/score/cpu/x86_64/include/rtems/score/cpu.h | 2 +- 13 files changed, 16 insertions(+), 14 deletions(-) diff --git a/cpukit/libmisc/stackchk/check.c b/cpukit/libmisc/stackchk/check.c index f1a25e93ba..57e0594643 100644 --- a/cpukit/libmisc/stackchk/check.c +++ b/cpukit/libmisc/stackchk/check.c @@ -477,7 +477,7 @@ static bool Stack_check_Visit_thread( { Stack_check_Visitor *visitor; char name[ 22 ]; - uintptr_t sp = (uintptr_t) _CPU_Context_Get_SP( &the_thread->Registers ); + uintptr_t sp = _CPU_Context_Get_SP( &the_thread->Registers ); visitor = arg; _Thread_Get_name( the_thread, name, sizeof( name ) ); diff --git a/cpukit/score/cpu/aarch64/include/rtems/score/cpu.h b/cpukit/score/cpu/aarch64/include/rtems/score/cpu.h index dd81cb6f4c..195919bac2 100644 --- a/cpukit/score/cpu/aarch64/include/rtems/score/cpu.h +++ b/cpukit/score/cpu/aarch64/include/rtems/score/cpu.h @@ -280,7 +280,7 @@ void _CPU_Context_Initialize( ); #define _CPU_Context_Get_SP( _context ) \ - (_context)->register_sp + (uintptr_t)(_context)->register_sp #ifdef RTEMS_SMP static inline bool _CPU_Context_Get_is_executing( diff --git a/cpukit/score/cpu/arm/include/rtems/score/cpu.h b/cpukit/score/cpu/arm/include/rtems/score/cpu.h index 71e129e963..3aa4331ee8 100644 --- a/cpukit/score/cpu/arm/include/rtems/score/cpu.h +++ b/cpukit/score/cpu/arm/include/rtems/score/cpu.h @@ -433,7 +433,7 @@ void _CPU_Context_Initialize( ); #define _CPU_Context_Get_SP( _context ) \ - (_context)->register_sp + (uintptr_t)(_context)->register_sp #ifdef RTEMS_SMP static inline bool _CPU_Context_Get_is_executing( diff --git a/cpukit/score/cpu/m68k/include/rtems/score/cpu.h b/cpukit/score/cpu/m68k/include/rtems/score/cpu.h index 6359a5f1c9..ea59be5864 100644 --- a/cpukit/score/cpu/m68k/include/rtems/score/cpu.h +++ b/cpukit/score/cpu/m68k/include/rtems/score/cpu.h @@ -149,7 +149,7 @@ typedef struct { } Context_Control; #define _CPU_Context_Get_SP( _context ) \ - (_context)->a7_msp + (uintptr_t)(_context)->a7_msp /* * Floating point context areas and support routines diff --git a/cpukit/score/cpu/microblaze/include/rtems/score/cpu.h b/cpukit/score/cpu/microblaze/include/rtems/score/cpu.h index 458bdf3442..2dfd281fcf 100644 --- a/cpukit/score/cpu/microblaze/include/rtems/score/cpu.h +++ b/cpukit/score/cpu/microblaze/include/rtems/score/cpu.h @@ -150,7 +150,7 @@ typedef struct { * @return This method returns the stack pointer. */ #define _CPU_Context_Get_SP( _context ) \ - (_context)->r1 + (uintptr_t)(_context)->r1 #define CPU_MPCI_RECEIVE_SERVER_EXTRA_STACK 0 diff --git a/cpukit/score/cpu/moxie/include/rtems/score/cpu.h b/cpukit/score/cpu/moxie/include/rtems/score/cpu.h index d2270572f0..69222937c9 100644 --- a/cpukit/score/cpu/moxie/include/rtems/score/cpu.h +++ b/cpukit/score/cpu/moxie/include/rtems/score/cpu.h @@ -185,7 +185,7 @@ typedef struct { } Context_Control; #define _CPU_Context_Get_SP( _context ) \ - (_context)->sp + (uintptr_t)(_context)->sp typedef struct { uint32_t special_interrupt_register; diff --git a/cpukit/score/cpu/nios2/include/rtems/score/cpu.h b/cpukit/score/cpu/nios2/include/rtems/score/cpu.h index 4e4705dcd2..18d6bdf05d 100644 --- a/cpukit/score/cpu/nios2/include/rtems/score/cpu.h +++ b/cpukit/score/cpu/nios2/include/rtems/score/cpu.h @@ -152,7 +152,7 @@ typedef struct { } Context_Control; #define _CPU_Context_Get_SP( _context ) \ - (_context)->sp + (uintptr_t)(_context)->sp typedef void CPU_Interrupt_frame; diff --git a/cpukit/score/cpu/no_cpu/include/rtems/score/cpu.h b/cpukit/score/cpu/no_cpu/include/rtems/score/cpu.h index a1beafd116..7748beb0c7 100644 --- a/cpukit/score/cpu/no_cpu/include/rtems/score/cpu.h +++ b/cpukit/score/cpu/no_cpu/include/rtems/score/cpu.h @@ -418,13 +418,15 @@ typedef struct { * @addtogroup Management * * This macro returns the stack pointer associated with @a _context. + * The stack pointer returned is of type uintptr_t to support the + * use cases. * * @param[in] _context is the thread context area to access * - * @return This method returns the stack pointer. + * @return This method returns the stack pointer as a uintptr_t. */ #define _CPU_Context_Get_SP( _context ) \ - (_context)->stack_pointer + (uintptr_t)(_context)->stack_pointer /** * @addtogroup Management diff --git a/cpukit/score/cpu/or1k/include/rtems/score/cpu.h b/cpukit/score/cpu/or1k/include/rtems/score/cpu.h index 305833ae64..7a6ac004fd 100644 --- a/cpukit/score/cpu/or1k/include/rtems/score/cpu.h +++ b/cpukit/score/cpu/or1k/include/rtems/score/cpu.h @@ -189,7 +189,7 @@ typedef struct { } Context_Control; #define _CPU_Context_Get_SP( _context ) \ - (_context)->r1 + (uintptr_t)(_context)->r1 typedef Context_Control CPU_Interrupt_frame; diff --git a/cpukit/score/cpu/powerpc/include/rtems/score/cpu.h b/cpukit/score/cpu/powerpc/include/rtems/score/cpu.h index 1c92ae5227..a72ce4e596 100644 --- a/cpukit/score/cpu/powerpc/include/rtems/score/cpu.h +++ b/cpukit/score/cpu/powerpc/include/rtems/score/cpu.h @@ -329,7 +329,7 @@ static inline ppc_context *ppc_get_context( const Context_Control *context ) } #define _CPU_Context_Get_SP( _context ) \ - ppc_get_context(_context)->gpr1 + (uintptr_t)ppc_get_context(_context)->gpr1 #ifdef RTEMS_SMP static inline bool _CPU_Context_Get_is_executing( diff --git a/cpukit/score/cpu/riscv/include/rtems/score/cpu.h b/cpukit/score/cpu/riscv/include/rtems/score/cpu.h index 3ff4da85d3..eed59f93d5 100644 --- a/cpukit/score/cpu/riscv/include/rtems/score/cpu.h +++ b/cpukit/score/cpu/riscv/include/rtems/score/cpu.h @@ -141,7 +141,7 @@ typedef struct { } Context_Control; #define _CPU_Context_Get_SP( _context ) \ - (_context)->sp + (uintptr_t)(_context)->sp #define CPU_MPCI_RECEIVE_SERVER_EXTRA_STACK 0 diff --git a/cpukit/score/cpu/sparc/include/rtems/score/cpu.h b/cpukit/score/cpu/sparc/include/rtems/score/cpu.h index 6e9bc687ce..4857a9dda8 100644 --- a/cpukit/score/cpu/sparc/include/rtems/score/cpu.h +++ b/cpukit/score/cpu/sparc/include/rtems/score/cpu.h @@ -410,7 +410,7 @@ typedef struct { * CPU architecture dependent. */ #define _CPU_Context_Get_SP( _context ) \ - (_context)->o6_sp + (uintptr_t)(_context)->o6_sp #ifdef RTEMS_SMP static inline bool _CPU_Context_Get_is_executing( diff --git a/cpukit/score/cpu/x86_64/include/rtems/score/cpu.h b/cpukit/score/cpu/x86_64/include/rtems/score/cpu.h index 5b4b0395d7..32fb9ea722 100644 --- a/cpukit/score/cpu/x86_64/include/rtems/score/cpu.h +++ b/cpukit/score/cpu/x86_64/include/rtems/score/cpu.h @@ -116,7 +116,7 @@ typedef struct { } Context_Control_fp; #define _CPU_Context_Get_SP( _context ) \ - (_context)->rsp + (uintptr_t)(_context)->rsp #endif /* !ASM */