foonathan/memory

Is container_node_sizes_impl.hpp platform related?

changyp6 opened this issue · 6 comments

Sorry for posting my question in issue section.
I find that file container_node_sizes_impl.hpp is generated during build process by nodesize_dbg.
Is this file platform related ?

I mean are the files different if one is generated by nodesize_dbg on Cortex-A76 and the other one is generated on Cortex-A53?

Yes, it is. They need to be generated on the actual platform you're using.

Yes, it is. They need to be generated on the actual platform you're using.

Thank you for your answer.
What do I need to do if I have to cross-compile this library?
For example, what parameters do I need to set if I have to run nodesize_dbg in an emulator?

I know nothing about cross-compling, sorry.

@changyp6 Starting with #60, nodesize_dbg is automatically run on the emulator defined by CMAKE_CROSSCOMPILING_EMULATOR.

The last contribution to the generation of container_node_sizes_impl.hpp has been #129, which changed the way the file is generated to some CMake and static_assert machinery.

So, depending on whether you are using main or release 0.7-1 you may need setting CMAKE_CROSSCOMPILING_EMULATOR

@changyp6

If you are cross-compiling main branch, then you don't need to do anything (the compiler and the tricks introduced by #129 in CMake will take care of generating the correct file).

If you are cross-compiling any version from 2021 or older, then you'll need a toolchain file similar to the one here