Hello,
While happily hacking for amd64, I started to wonder
if my RAID code (thesis) will run on other architectures,
mostly 32-bit ones, since I happen to use `_Atomic uint64_t'.
So far I have tried:
- ia32: success
- arm32_raspberrypi: success
- arm32_integratorcp: failure
[...] undefined reference to `__atomic_load_8'
[...] undefined reference to `__atomic_store_8'
which were more expected than:
[...] undefined reference to `__atomic_compare_exchange_1'
With `compare_exchange', `_Atomic bool' is used - that
can be easily fixed with "manual promotion" to `_Atomic int',
because `compare_exchange' for `int's is apparently supported.
Is there a way to fix these problems without having to try to
compile for all possible targets and trying to adhere to what
they support? I thought about either:
a) not including my RAID server in build for these
architectures
b) somehow forcing the compiler to use locks around
the atomic ops
I would like to keep that `_Atomic uint64_t' as it very nicely
fits in, using locks for that would be a pitty.
Take care.
--
mc
_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/listinfo/helenos-devel