mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	scripts/gdb: add get_target_endianness helper
Parse the target endianness from the output of "show endian" and cache the result to return it via the new helper get_target_endiannes. We will need it for reading integers from buffers that contain target memory. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Jason Wessel <jason.wessel@windriver.com> Cc: Andi Kleen <andi@firstfloor.org> Cc: Ben Widawsky <ben@bwidawsk.net> Cc: Borislav Petkov <bp@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									7b599ef535
								
							
						
					
					
						commit
						7f99496374
					
				
					 1 changed files with 18 additions and 0 deletions
				
			
		| 
						 | 
					@ -67,3 +67,21 @@ Note that TYPE and ELEMENT have to be quoted as strings."""
 | 
				
			||||||
                            elementname.string())
 | 
					                            elementname.string())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ContainerOf()
 | 
					ContainerOf()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BIG_ENDIAN = 0
 | 
				
			||||||
 | 
					LITTLE_ENDIAN = 1
 | 
				
			||||||
 | 
					target_endianness = None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def get_target_endianness():
 | 
				
			||||||
 | 
					    global target_endianness
 | 
				
			||||||
 | 
					    if target_endianness is None:
 | 
				
			||||||
 | 
					        endian = gdb.execute("show endian", to_string=True)
 | 
				
			||||||
 | 
					        if "little endian" in endian:
 | 
				
			||||||
 | 
					            target_endianness = LITTLE_ENDIAN
 | 
				
			||||||
 | 
					        elif "big endian" in endian:
 | 
				
			||||||
 | 
					            target_endianness = BIG_ENDIAN
 | 
				
			||||||
 | 
					        else:
 | 
				
			||||||
 | 
					            raise gdb.GdgError("unknown endianness '{0}'".format(endian))
 | 
				
			||||||
 | 
					    return target_endianness
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue