comparison STATUS @ 289:f2f7f4dff6d7

STATUS: analysis complete
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 19 Mar 2017 23:41:49 +0000
parents 595cdc5ff4e5
children 7ad882cbce4c
comparison
equal deleted inserted replaced
288:595cdc5ff4e5 289:f2f7f4dff6d7
4 l1_async.obj: perfect match 4 l1_async.obj: perfect match
5 l1_cmplx.obj: perfect match to 20070608 version except line number points 5 l1_cmplx.obj: perfect match to 20070608 version except line number points
6 l1_init.obj: perfect match 6 l1_init.obj: perfect match
7 l1_pwmgr.obj: perfect match 7 l1_pwmgr.obj: perfect match
8 l1_small.obj: perfect match 8 l1_small.obj: perfect match
9 l1_sync.obj: not exact, needs review 9 l1_sync.obj: not exact, see explanation below
10 l1_trace.obj: bits match perfectly, diff only in symbolic metadata 10 l1_trace.obj: bits match perfectly, diff only in symbolic metadata
11 11
12 l1_dyn_dwl_afunc.obj: perfect match 12 l1_dyn_dwl_afunc.obj: perfect match
13 l1_dyn_dwl_apihisr.obj: perfect match 13 l1_dyn_dwl_apihisr.obj: perfect match
14 l1_dyn_dwl_async.obj: perfect match 14 l1_dyn_dwl_async.obj: perfect match
35 l1_cmplx_intram.obj: perfect match to 20070608 version 35 l1_cmplx_intram.obj: perfect match to 20070608 version
36 l1_ctl.obj: perfect match to 20070608 version 36 l1_ctl.obj: perfect match to 20070608 version
37 l1_drive.obj: perfect match 37 l1_drive.obj: perfect match
38 l1_func.obj: perfect match 38 l1_func.obj: perfect match
39 l1_mfmgr.obj: perfect match 39 l1_mfmgr.obj: perfect match
40 l1_sync_intram.obj: not exact, needs review 40 l1_sync_intram.obj: not exact, see explanation below
41 41
42 l1audio_func.obj: perfect match 42 l1audio_func.obj: perfect match
43 l1audio_sync.obj: perfect match 43 l1audio_sync.obj: perfect match
44 44
45 Objects in l1_custom_ext.lib: 45 Objects in l1_custom_ext.lib:
77 in the original, but no such local var exists in the LoCosto version. 77 in the original, but no such local var exists in the LoCosto version.
78 The TSM30 version was of no help as it is entirely different there. 78 The TSM30 version was of no help as it is entirely different there.
79 79
80 See g23m/objdiff/l1_ext/l1_afunc.notes for further info. 80 See g23m/objdiff/l1_ext/l1_afunc.notes for further info.
81 81
82 l1_sync.obj: needs further review 82 l1_sync.obj:
83 l1_sync_intram.obj: ditto 83
84 The last function in this module is l1s_dedicated_mode_manager();
85 the two preceding functions match perfectly, but for this last function
86 when the reconstructed code is recompiled, the compiler's register
87 allocator makes different picks for reasons that could not be
88 successfully reversed. Because the code is compiled in Thumb mode
89 and the compiler made a different choice between low and high registers
90 in some places, the instructions do not line perfectly. The logic match
91 has instead been verified by manual comparison.
92
93 l1_sync_intram.obj:
94
95 Similar situation in the l1s_schedule_tasks() function: the function
96 is huge, there is an unknown set of factors determining what the
97 compiler's register allocator will do, and in this case there is even
98 a difference in the choice of register vs. stack for some temporaries.
99 As a result, the code does not line up and the logic had to be verified
100 manually. All other functions (preceding and following) match
101 perfectly.
84 102
85 dl1_com.obj: 103 dl1_com.obj:
86 104
87 The reconstruction of this module is not exact, but the logic has 105 The reconstruction of this module is not exact, but the logic has
88 been verified to be an exact match except for the removal of some 106 been verified to be an exact match except for the removal of some