src/gdb ChangeLog Makefile.in block.c block.h ...

jimb@sourceware.org jimb@sourceware.org
Tue Dec 4 23:43:00 GMT 2007


CVSROOT:	/cvs/src
Module name:	src
Changes by:	jimb@sourceware.org	2007-12-04 23:43:57

Modified files:
	gdb            : ChangeLog Makefile.in block.c block.h 
	                 breakpoint.c buildsym.c buildsym.h defs.h 
	                 dwarf2read.c objfiles.c stack.c 
Added files:
	gdb            : addrmap.c addrmap.h 

Log message:
	Support lexical blocks and function bodies that occupy
	non-contiguous address ranges.
	* addrmap.c, addrmap.h: New files.
	* block.h (struct addrmap): New forward declaration.
	(struct blockvector): New member, 'map'.
	(BLOCKVECTOR_MAP): New accessor macro.
	* block.c: #include "addrmap.h"
	(blockvector_for_pc_sect): If the blockvector we've found has
	an address map, use it instead of searching the blocks.
	* buildsym.c: #include "addrmap.h"
	(pending_addrmap_obstack, pending_addrmap_interesting): New static
	variables.
	(really_free_pendings): If we have a pending addrmap, free it too.
	(record_block_range): New function.
	(make_blockvector): If we have an interesting pending addrmap,
	record it in the new blockvector.
	(start_symtab, buildsym_init): Assert that there is no pending
	addrmap now; we should have cleaned up any addrmaps we'd built
	previously.
	(end_symtab): If there is a pending addrmap left over that didn't
	get included in the blockvector, free it.
	* buildsym.h (struct addrmap): New forward declaration.
	(record_block_range): New prototype.
	* objfiles.c: #include "addrmap.h".
	(objfile_relocate): Relocate the blockvector's address map, if
	present.
	* dwarf2read.c (dwarf2_record_block_ranges): New function.
	(read_func_scope, read_lexical_block_scope): Call it.
	* Makefile.in (SFILES): Add addrmap.c.
	(addrmap_h): New header dependency variable.
	(COMMON_OBS): Add addrmap.o.
	(addrmap.o): New rule.l
	(block.o, objfiles.o, buildsym.o): Depend on $(addrmap_h).
	
	* block.c (blockvector_for_pc, blockvector_for_pc_sect): Return a
	pointer to the block, not its index in the blockvector.
	(block_for_pc_sect): Use the returned block, instead of looking it
	up ourselves.
	* block.h (blockvector_for_pc, blockvector_for_pc_sect): Update
	declarations.
	* breakpoint.c (resolve_sal_pc): Use returned block, instead of
	looking it up ourselves.
	* stack.c (print_frame_label_vars): Disable function, which
	depends on the block's index.
	
	* buildsym.c (finish_block): Return the block we've built.
	* buildsym.h (finish_block): Update prototype.
	
	* defs.h (CORE_ADDR_MAX): New constant.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/addrmap.c.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/addrmap.h.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ChangeLog.diff?cvsroot=src&r1=1.8971&r2=1.8972
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/Makefile.in.diff?cvsroot=src&r1=1.963&r2=1.964
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/block.c.diff?cvsroot=src&r1=1.13&r2=1.14
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/block.h.diff?cvsroot=src&r1=1.14&r2=1.15
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/breakpoint.c.diff?cvsroot=src&r1=1.287&r2=1.288
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/buildsym.c.diff?cvsroot=src&r1=1.57&r2=1.58
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/buildsym.h.diff?cvsroot=src&r1=1.18&r2=1.19
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/defs.h.diff?cvsroot=src&r1=1.212&r2=1.213
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/dwarf2read.c.diff?cvsroot=src&r1=1.238&r2=1.239
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/objfiles.c.diff?cvsroot=src&r1=1.68&r2=1.69
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/stack.c.diff?cvsroot=src&r1=1.159&r2=1.160



More information about the Gdb-cvs mailing list