Subject: Re: [boost] Problem cross-compiling boost.context for Raspberry Pi (2)
From: Vladimir Prus (vladimir.prus_at_[hidden])
Date: 2015-06-16 04:12:09
On 6/16/2015 10:48 AM, Oliver Kowalke wrote:
> 2015-06-16 9:28 GMT+02:00 Vladimir Prus <vladimir.prus_at_[hidden]>:
> Depends on what value is correct. If the check can be formulated as
>> compiling some
>> source, or running some tools, then it can be done.
> AFAIK it is very hard or nearly impossible for code to detect for which ABI
> and/or binary format it is compiled for.
> ABI/binary format are set/specified by flags in the compiler command line.
> The address model can be detected over pointer size - but ABI ...?!
Right, at least GDB appear to have APCS vs AAPCS as a user option.
>> However, unless I am mistaken, all ARM variants use <abi>aapcs - so maybe
>> does not need to be detected at all, and can be removed from conditions?
> For ARM this is true but not for the other architectures (MIPS for instance
> has 4 different ABIs).
Correct, but we're talking about ARM right now - there, adding <abi> to condition
appears unnecessary and problematic. There is no chance of ambiguity between ARM
and MIPs variants. Do you see any issues if <abi> property is removed from
condition for all ARM variants?
> boost.context determines the default values for ABI/binary-format on the
> values returned by 'os.name' and 'os.platform'.
> I don't know another way for reliable ABI/binary-format detection in
For avoidance of doubt, do you mean "boost.build" specifically? From your first
observation, it appears that it's hard to detect ABI in any build system not
using mind reading technology?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk