This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

src/gdb rs6000-aix-tdep.c ChangeLog


CVSROOT:	/cvs/src
Module name:	src
Changes by:	brobecke@sourceware.org	2010-04-20 22:38:54

Modified files:
	gdb            : rs6000-aix-tdep.c ChangeLog 

Log message:
	[AIX] Memory error while checking if pointer is descriptor.
	
	A long time ago (Oct 2009), I noticed a problem on AIX, where something
	failed with an error while the debugger was checking whether an address
	was a descriptor or not.  Unfortunately, like an idiot, I forgot to write
	notes about the scenario where the problem occured - I am usually pretty
	meticulous about that because my memory of these things is really bad.
	I hope you'll forgive me for not providing a solid testcase - if it's
	any consolation, I've searched for a long time before giving up :-(.
	
	Based on the testsuite reports that I have, I think that this happened
	while inserting a breakpoint, as follow:
	
	(gdb) break x
	Cannot access memory at address 0x200093b4
	
	What happened is that rs6000_convert_from_func_ptr_addr tried to read
	the memory at the given address, and fail because of an exception.
	It seems pretty clear that, if the address was in fact a descriptor,
	GDB would have been able to read the target memory region.
	
	So this patch protects the memory-read against exceptions, and treats
	such exceptions as an indication that our address is not a descriptor.
	
	gdb/ChangeLog:
	
	* rs6000-aix-tdep.c: #include exceptions.h.
	(rs6000_convert_from_func_ptr_addr): If an exception is thrown
	while reading the memory at ADDR, then ADDR cannot be a function
	descriptor.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/rs6000-aix-tdep.c.diff?cvsroot=src&r1=1.16&r2=1.17
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ChangeLog.diff?cvsroot=src&r1=1.11655&r2=1.11656


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]