<div dir="ltr">Hello,<div>For my GSoC project, I need to set/unset the memory attributes of the thread stacks on each context switch. </div><div>Right now I am making changes to the CPU-specific context switch assembly code. The arm/../cpu.h file has the Context_Control structure, which is used to store the relevant registers at each context switch.</div><div> I have been trying to add the stack attributes to this structure from the 'rtems/score/stackmanagement.h' header (This header has been defined by me and has the stack attributes structure).</div><div> After that, I would initialize the stack attributes in _CPU_Context_Initialize.</div><div> For unsetting stack memories, I plan on making changes to _CPU_Context_Switch(). </div><div>The problem is when I try to include the header in cpu.h it breaks the build with the following error - </div><div><br></div><div>'.......</div><div>........</div><div>/home/utkarsh/sandbox/rtems/5/arm-rtems5/include/machine/_default_types.h: Assembler messages:<br></div><div>/home/utkarsh/sandbox/rtems/cpukit/include/rtems/score/stackmanagement.h:42: Error: junk at end of line, first unrecognized character is `}'<br></div><div>/home/utkarsh/sandbox/rtems/cpukit/include/rtems/score/stackmanagement.h:44: Error: bad instruction `typedef struct stack_attr_prot'<br>/home/utkarsh/sandbox/rtems/cpukit/include/rtems/score/stackmanagement.h:45: Error: junk at end of line, first unrecognized character is `{'<br>/home/utkarsh/sandbox/rtems/cpukit/include/rtems/score/stackmanagement.h:46: Error: bad instruction `stack_attr_shared *shared_stacks'<br>/home/utkarsh/sandbox/rtems/cpukit/include/rtems/score/stackmanagement.h:47: Error: bad instruction `stack_attr Base'<br>/home/utkarsh/sandbox/rtems/cpukit/include/rtems/score/stackmanagement.h:48: Error: bad instruction `_bool current_stack'<br>{standard input}: Error: invalid operands (*UND* and *ABS* sections) for `*' when setting `iter'<br>Makefile:11563: recipe for target 'score/cpu/arm/arm-context-validate.o' failed<br>make[4]: *** [score/cpu/arm/arm-context-validate.o] Error 1<br></div><div>'</div><div>I have defined the stackmanagement.h header in the cpukit/<a href="http://headers.am">headers.am</a> and this is obviously an assembler error.  Can someone point out what is it that I am doing wrong?</div><div><br></div><div>I also would like to verify if the above way of handling context switching is the appropriate way to proceed.</div></div>