Hi All,
A significant update was pushed today that was the result of a
broad-based "scrub" of code to reliably support
various combinations of 32 and 64 bit systems. With stronger discipline
of integer data types and typedefs, and explicitly
error-checked truncations, we hope to be able to build the code base for
several combinations of memory address spaces,
bus address spaces, sizeof(size_t), sizeof(void*) etc. (32/32, 32/64,
64/32, 64/64 etc.).
This effort was motivated in part by targeting, through cross-building,
a 32 bit OMAP/ARM system running a particular linux,
that was a pure 32 bit environment.
This resulted in API changes where several places in RCC workers and C++
control API external ports, we now use "size_t" rather than "uint32_t".
We can now build the tree with the -Wconversion warning turned on to
find all implicit truncations (there are none in our code now).
Imported code from other sources is not necessarily warning-free in this
case.
We use the scripts/filter_warnings.sh on fresh builds to see what "real"
warnings exist, mostly
to filter out warnings from code we didn't write and will be refreshing
from other sources.
The reason why these packages are imported/refreshed in code rather then
established as dependencies,
has to do with cross building and porting to non-linux systems.
Cheers,
Jim
_______________________________________________
opencpi_dev mailing list
[email protected]
http://lists.opencpi.org/listinfo.cgi/opencpi_dev-opencpi.org