[Beremiz-devel] [Beremiz][matiec][issue][IEC_TIMESPEC]

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[Beremiz-devel] [Beremiz][matiec][issue][IEC_TIMESPEC]

Beremiz-Devel mailing list
Hi, Beremiz developers!

I've found one more issue regarding IEC_TIMESPEC:

1. As you know, this is the only base type in IEC standart library,
which don't have "fixed" size. So it is platform defined whether it has 32 or 64 bit fields.

2. As you know there is y2038 problem which will affect 32bit systems.

3. I've found one more issue regarding IEC_TIMESPEC, the issue is "32/64bit host/target"

As we know sizeof(long int) is not the same on different targets.

If we try to use Beremiz on 64bit linux host with 32bit target or 32bit host with 64bit target, then we'll have the situation when Beremiz on the host side and runtime on the target side have different sizeof(long int).

In such case we will encounter a big problem with in Beremiz debuger: we don't exactly know how to handle time related types in typemapping.py.

If we try to debug some project containing DT or similar variables, then data integrity will be broken with undefined behaviour on host and/or target side.

In my case I'd tried to debug this project and got Beremiz crash...

So, I think, y2038 and related problems should be revisited..

Best regards,
Paul Beltyukov

Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Beremiz-devel mailing list
[hidden email]