MdePkg/BaseLib: add ASSERT in ARM* SetJump implementations
The SetJump comment header states that: If JumpBuffer is NULL, then ASSERT(). However, this was not currently done. Add a call to InternalAssertJumpBuffer. Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
This commit is contained in:
		
				
					committed by
					
						
						mergify[bot]
					
				
			
			
				
	
			
			
			
						parent
						
							cbf0e4f5b3
						
					
				
				
					commit
					80bbea192a
				
			@@ -46,6 +46,14 @@ GCC_ASM_EXPORT(InternalLongJump)
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
ASM_PFX(SetJump):
 | 
					ASM_PFX(SetJump):
 | 
				
			||||||
        AARCH64_BTI(c)
 | 
					        AARCH64_BTI(c)
 | 
				
			||||||
 | 
					#ifndef MDEPKG_NDEBUG
 | 
				
			||||||
 | 
					        stp     x29, x30, [sp, #-32]!
 | 
				
			||||||
 | 
					        mov     x29, sp
 | 
				
			||||||
 | 
					        str     x0, [sp, #16]
 | 
				
			||||||
 | 
					        bl      InternalAssertJumpBuffer
 | 
				
			||||||
 | 
					        ldr     x0, [sp, #16]
 | 
				
			||||||
 | 
					        ldp     x29, x30, [sp], #32
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
        mov     x16, sp // use IP0 so save SP
 | 
					        mov     x16, sp // use IP0 so save SP
 | 
				
			||||||
#define REG_PAIR(REG1, REG2, OFFS)      stp REG1, REG2, [x0, OFFS]
 | 
					#define REG_PAIR(REG1, REG2, OFFS)      stp REG1, REG2, [x0, OFFS]
 | 
				
			||||||
#define REG_ONE(REG1, OFFS)             str REG1, [x0, OFFS]
 | 
					#define REG_ONE(REG1, OFFS)             str REG1, [x0, OFFS]
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -44,6 +44,14 @@
 | 
				
			|||||||
;  );
 | 
					;  );
 | 
				
			||||||
;
 | 
					;
 | 
				
			||||||
SetJump
 | 
					SetJump
 | 
				
			||||||
 | 
					#ifndef MDEPKG_NDEBUG
 | 
				
			||||||
 | 
					        stp     x29, x30, [sp, #-32]!
 | 
				
			||||||
 | 
					        mov     x29, sp
 | 
				
			||||||
 | 
					        str     x0, [sp, #16]
 | 
				
			||||||
 | 
					        bl      InternalAssertJumpBuffer
 | 
				
			||||||
 | 
					        ldr     x0, [sp, #16]
 | 
				
			||||||
 | 
					        ldp     x29, x30, [sp], #32
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
        mov     x16, sp // use IP0 so save SP
 | 
					        mov     x16, sp // use IP0 so save SP
 | 
				
			||||||
#define REG_PAIR(REG1, REG2, OFFS)      stp REG1, REG2, [x0, OFFS]
 | 
					#define REG_PAIR(REG1, REG2, OFFS)      stp REG1, REG2, [x0, OFFS]
 | 
				
			||||||
#define REG_ONE(REG1, OFFS)             str REG1, [x0, OFFS]
 | 
					#define REG_ONE(REG1, OFFS)             str REG1, [x0, OFFS]
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user