Bug 4830

Summary: testGlobalAfterNested(frysk.rt.TestSymbol)junit.framework.ComparisonFailure: symbol global_outer expected:<global_outer> but was:<local_st_size_0>
Product: frysk Reporter: Andrew Cagney <cagney>
Component: generalAssignee: Unassigned <frysk-bugzilla>
Status: NEW ---    
Severity: normal    
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:
Bug Depends on:    
Bug Blocks: 2785    

Description Andrew Cagney 2007-07-23 17:00:40 UTC
1) testGlobalAfterNested(frysk.rt.TestSymbol)junit.framework.ComparisonFailure:
symbol global_outer expected:<global_outer> but was:<local_st_size_0>
  at frysk.rt.TestSymbol.symbolTest(TestRunner)
  at frysk.rt.TestSymbol.testGlobalAfterNested(TestRunner)
  at frysk.junit.Runner.runCases(TestRunner)
  at frysk.junit.Runner.runArchCases(TestRunner)
  at frysk.junit.Runner.runTestCases(TestRunner)
  at TestRunner.main(TestRunner)
2) testLocalAfterNested(frysk.rt.TestSymbol)junit.framework.ComparisonFailure:
symbol local_outer expected:<...outer> but was:<...st_size_0>
  at frysk.rt.TestSymbol.symbolTest(TestRunner)
  at frysk.rt.TestSymbol.testLocalAfterNested(TestRunner)
  at frysk.junit.Runner.runCases(TestRunner)
  at frysk.junit.Runner.runArchCases(TestRunner)
  at frysk.junit.Runner.runTestCases(TestRunner)
  at TestRunner.main(TestRunner)

These two are effectively the same.  The layout is:

   local_st_size_0: // this symbol has no size

   global_outer:
       nop
       local_in_global:
         nop
         .size local_in_global, .-local_in_global
      nop
      <<you-are-here>>
      .size global_outer, .-global_outer

that is global_outer contains a nested symbol but the "pc" is beyond that back
in the outer/global symbol.

I'm guessing that "global_outer" should be returned.  Currently local_st_size_0
is returned :-(