AArch64: Enable build on 64-bit AArch64 platform
Changes include
[x] Addition of a new function lstrtosize_t
Since size_t is not the same size as an unsigned int in
AArch64, a new function lstrtosize_t has been devised for
use in the shared/src/SessionTypeImpl.c and
srec/Recognizer/src/RecognizerImpl.c modules in place
of the lstrtoui function (which is for unsigned integers).
lstrtosize_t is implemented in the portable/src/LCHAR.c
module and declared in portable/include/LCHAR.h header file.
It makes use of the LSTRTOULL macro defined in the
portable/include/ptypes.h header file, indicating the
function to be used to convert an unsigned long long to a
string.
[x] Changes in srec/cfront/sh_down.h header file
This is because the value of LONG_MAX is different on
__LP64__ with 64-bit longs, and the function converts to
an int, not to a long.
[x] Changes to the srec/test/SRecTest/src/SRecTest.c
and srec/test/SRecTestAudio/src/SRecTestAudio.c modules
These changes correct the parameter types for the call to
SR_RecognizerPutAudio and pfread to be the expected size_t,
again because size_t is not the same as unsigned int in __LP64__.
[x] Rest of the changes are related to general conversion from
32-bit to 64-bit including proper casts of pointers, changes
from int to long, jint to jlong.
Change-Id: I3cc7d3a89161ab098a4bd133ea96b1158630b0e1
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
22 files changed