aboutsummaryrefslogtreecommitdiff
path: root/src/libmach/symdwarf.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2004-04-21 02:03:00 +0000
committerrsc <devnull@localhost>2004-04-21 02:03:00 +0000
commit95f57b01e21feb457e79eaf52d593422c318024f (patch)
treef562eff8530b44bb1a02ecb60d8203beb1bcc800 /src/libmach/symdwarf.c
parent87a478a361877db7c4f904da527cb72d4eff6de2 (diff)
downloadplan9port-95f57b01e21feb457e79eaf52d593422c318024f.tar.gz
plan9port-95f57b01e21feb457e79eaf52d593422c318024f.tar.bz2
plan9port-95f57b01e21feb457e79eaf52d593422c318024f.zip
Clean up the dwarf code.
Diffstat (limited to 'src/libmach/symdwarf.c')
-rw-r--r--src/libmach/symdwarf.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/libmach/symdwarf.c b/src/libmach/symdwarf.c
index 8ced09f4..8c41d127 100644
--- a/src/libmach/symdwarf.c
+++ b/src/libmach/symdwarf.c
@@ -119,7 +119,7 @@ dwarflenum(Fhdr *fhdr, Symbol *p, char *name, uint j, Loc l, Symbol *s)
depth = 1;
bpoff = 8;
- while(dwarfnextsym(fhdr->dwarf, &ds, 1) == 1 && depth < ds.depth){
+ while(dwarfnextsym(fhdr->dwarf, &ds) == 1 && depth < ds.depth){
if(ds.attrs.tag != TagVariable){
if(ds.attrs.tag != TagFormalParameter
&& ds.attrs.tag != TagUnspecifiedParameters)
@@ -200,9 +200,8 @@ dwarfsyminit(Fhdr *fp)
if(dwarfenum(d, &s) < 0)
return;
- while(dwarfnextsym(d, &s, s.depth!=1) == 1){
- if(s.depth != 1)
- continue;
+ dwarfnextsymat(d, &s, 0);
+ while(dwarfnextsymat(d, &s, 1) == 1){
if(s.attrs.name == nil)
continue;
switch(s.attrs.tag){