leo2moko's str2ind

Mychaela Falconia falcon at ivan.Harhan.ORG
Sat Dec 19 18:10:48 CET 2015


Hi DS,

> I've noted however some small inconsistencies, for example
> in pb_read_sim_record() calls vso_i_func_itrace, with its
> name as first argument; however in the disassembled leo2moko
> the particular integer, 851, leads to a completely different
> string in str2ind.tab.

The function in question belongs to the ACI component which is
compiled from source, not a frozen binary blob.  You can find its
source in g23m/condat/ms/src/aci/phb.c.  You should be able to see
that the usual call to the TRACE_FUNCTION macro with the function name
as the argument (no function source ever calls vsi_o_func_itrace and
so forth: the macros expand to vsi_o_func_ttrace and so forth, and
only str2ind changes them from ttrace to itrace) is commented out in
this function source, and the only TRACE_FUNCTION macro calls in this
function that aren't commented out have "Used rcd full!" and
"Memory full" as their string arguments.  The "Used rcd full!" string
got turned into index 851 as you have observed.

> So I'm thinking something is wrong
> somewhere, perhaps someone can shed some light on this?

Well, for one thing, the use of TRACE_FUNCTION macros for trace output
other than function names in pb_read_sim_record() in phb.c deviates
from Condat's usual coding standard, so it may have been a source of
some confusion.  There is also a source module named phb_aci.c which
includes a different implementation of pb_read_sim_record() (as a
LOCAL or static function this time), but this module is not compiled -
there are a number of such extraneous C files in the source tree that
are never a part of any actual firmware build - abandoned coding
branches or other remnants.

M~


More information about the Community mailing list