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 :-(