Bug 5260 - stepping through a plt (on x86-64?)
Summary: stepping through a plt (on x86-64?)
Status: RESOLVED FIXED
Alias: None
Product: frysk
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Mike Cvet
URL:
Keywords:
Depends on: 5259
Blocks: 2246 5292
  Show dependency treegraph
 
Reported: 2007-11-02 16:26 UTC by Andrew Cagney
Modified: 2008-01-15 02:25 UTC (History)
0 users

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Cagney 2007-11-02 16:26:29 UTC
For instance,

42       void
43*      print(char *what) {
44         while (*what != '\0') {
45           write(1, what, 1);
(fhpd) step
Task stopped at line 56 in file
/home/mark/src/git/frysk-obj/frysk-core/../../frysk/frysk-core/frysk/pkglibdir/funit-hello.c
(fhpd) where                            
#0 0x08048455 in __i686.get_pc_thunk.bx () from
/home/mark/src/git/frysk-obj/frysk-core/frysk/pkglibdir/funit-hello

it should do something more sensible such as step through the plt, or step over
the called library function.

Note that there's an unwinder bug lurking here.
Comment 1 Mike Cvet 2008-01-15 02:25:55 UTC
Date:   Mon Jan 14 21:13:47 2008 -0500

    frysk-core/frysk/dwfl:
    2008-01-14  Mike Cvet  <mcvet@redhat.com>
    
    	* ElfSectionCache.java: Added.
    	* TestElfSectionCache.java: Added.
    
    frysk-core/frysk/pkglibdir:
    2007-01-14  Mike Cvet  <mcvet@redhat.com>
    
    	* funit-libcall.c: Added.
    
    frysk-core/frysk/stepping:
    2008-01-14  Mike Cvet  <mcvet@redhat.com>
    	* InstructionStepThroughState.java: Added, fixing #5260.
    	* InstructionStepState.java (handleUpdate): Added code to
    	check if the PC is inside a PLT section, and then defer work to
    	above State. Fixes #5260.
    	* TestStepping.java (testInstructionStepThroughSection): Added.
    	* SteppingEngine.java (stepOut): Now requires Frames instead of
    	DebugInfoFrames.
    	(stepOut): Added, taking a State parameter for use from State classes.