This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
src/bfd ChangeLog Makefile.am Makefile.in dwar ...
- From: nickc at sourceware dot org
- To: binutils-cvs at sourceware dot org
- Date: 21 Sep 2007 16:16:18 -0000
- Subject: src/bfd ChangeLog Makefile.am Makefile.in dwar ...
CVSROOT: /cvs/src
Module name: src
Changes by: nickc@sourceware.org 2007-09-21 16:16:18
Modified files:
bfd : ChangeLog Makefile.am Makefile.in dwarf2.c
bfd/doc : Makefile.in
Added files:
bfd : arange-set.c arange-set.h
Log message:
* Makefile.am (BFD32_LIBS): Add arange-set.lo.
(BFD32_LIBS_CFILES): Add arange-set.c.
(SOURCE_HFILES): Add arange-set.h
(dwarf2.lo): Add dependency upon arange-set.h.
(arange-set.lo): New target.
* Makefile.in: Regenerate.
* arange-set.c: New file.
* arange-set.h: New file.
* dwarf2.c: Include arange-set.h.
(struct dwarf2_debug) Add new fields comp_unit_count and comp_unit_arange_set.
(struct comp_unit) Replace field arange with a new field arange_set.
(dwarf2_arange_set_allocate, dwarf2_arange_set_deallocate,
(dwarf2_combine_arange_value, dwarf2_arange_set_new,
(dwarf2_arange_set_with_value_new, dwarf2_comp_unit_arange_add): New
functions to utilize arange set in dwarf2.c.
(arange_add): Formatting change for a line longer than 80 characters.
(decode_line_info): Replace call target arange_add with
(dwarf2_comp_unit_arange_add.
(read_rangelist_insert_arange_list,
(read_rangelist_comp_unit_arange_add): New functions used as callbacks
for read_rangelist.
(read_rangelist): Change interface to accept a callback and data to
allow caller to select the action peformed on a new range list read.
(scan_unit_for_symbols): Use new interface of read_rangelist.
(parse_comp_unit): Create an arange set for each new comp unit. Use new
interface of read_rangelist. Replace call to arange_add with that to
dwarf2_comp_unit_arange_add.
(comp_unit_contains_address): Replace sequential search with a call to
arange_set_lookup_address, which can handles large set efficiently.
(stash_copy_local_aranges, stash_maybe_enable_arange_set,
(stash_find_nearest_line_fast): New functions maintaining and using a
valued global arange set for all compilation units to speed up
bfd_dwarf2_find_nearest_line.
(find_line): Use global arange set. Replace sequential search over all
compilation units with a call to stash_find_nearest_line_fast. Add
book keeping to count number of compilation units. Replace empty
arange list test with a call to arange_set_empty_p.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/arange-set.c.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/arange-set.h.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/ChangeLog.diff?cvsroot=src&r1=1.4008&r2=1.4009
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/Makefile.am.diff?cvsroot=src&r1=1.204&r2=1.205
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/Makefile.in.diff?cvsroot=src&r1=1.225&r2=1.226
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/dwarf2.c.diff?cvsroot=src&r1=1.101&r2=1.102
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/doc/Makefile.in.diff?cvsroot=src&r1=1.84&r2=1.85