This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap 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]

[Bug translator/13486] pass-4 error (frame_base undeclared), inlined function argument


http://sourceware.org/bugzilla/show_bug.cgi?id=13486

Mark Wielaard <mjw at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mjw at redhat dot com

--- Comment #3 from Mark Wielaard <mjw at redhat dot com> 2012-09-27 08:06:34 UTC ---
Just because I was curious what was going on. In the case you found (the ht
variable inside an inlined function seen_triple in df), the DW_AT_location is
expressed as an GNU_implicit_pointer. The GNU_implicit_pointer is expressed as
the location of another DIE (plus some offset). And in this case that DIE has
as location fbreg -240. So, that then does need the frame_base.

I think your patch handles this correctly. But you could consider moving the
check up into the for (l = loc; l != NULL; l = l->next) loop just above it that
checks the types. You can probably just check whether to output the frame_base
at the same time instead of looping through the location chain twice. Although
the chains aren't very deep, so it probably doesn't matter.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


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