src/gdb ChangeLog findvar.c testsuite/ChangeLo ...

brobecke@sourceware.org brobecke@sourceware.org
Thu Nov 10 17:14:00 GMT 2011


CVSROOT:	/cvs/src
Module name:	src
Changes by:	brobecke@sourceware.org	2011-11-10 17:14:42

Modified files:
	gdb            : ChangeLog findvar.c 
	gdb/testsuite  : ChangeLog 
Added files:
	gdb/testsuite/gdb.ada: small_reg_param.exp 
	gdb/testsuite/gdb.ada/small_reg_param: foo.adb pck.adb pck.ads 

Log message:
	read_frame_register_value and big endian arches
	
	The read_frame_register_value function as it was implemented introduced
	a regression on big-endian targets. The problem appears when trying to
	get the value of an entity stored inside a register, and when the size
	of the entity is smaller than the size of the register. In that case,
	we were always reading the first N bytes of the register, which is wrong
	for big-endian architectures, where we need to read the last N bytes of
	the register.
	
	gdb/ChangeLog:
	
	* findvar.c (read_frame_register_value): Read correct bytes from
	register on big-endian architectures.
	
	gdb/testsuite/ChangeLog:
	
	* gdb.ada/small_reg_param: New testcase.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ChangeLog.diff?cvsroot=src&r1=1.13499&r2=1.13500
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/findvar.c.diff?cvsroot=src&r1=1.138&r2=1.139
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/ChangeLog.diff?cvsroot=src&r1=1.2929&r2=1.2930
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.ada/small_reg_param.exp.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.ada/small_reg_param/foo.adb.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.ada/small_reg_param/pck.adb.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.ada/small_reg_param/pck.ads.diff?cvsroot=src&r1=NONE&r2=1.1



More information about the Gdb-cvs mailing list