Target configuration with ct-ng and configurability of the resulting toolchain (regarding target)
Erik Leunissen <[email protected]>
| Newsgroups | gmane.comp.gcc.cross-compiling |
|---|---|
| Message-ID | <[email protected]> |
Hi,
Can someone please enlighten me about how the choices in ct-ng regarding
target options, affect the targets or architectures that the resulting
toolchain can generate code for?
Context: I'm in the process of making a toolchain that supports arm
architectures as generically as possible, while still being able to
generate code that is tuned for a specific cpu, by make choices that
deviate from the ct-ng configuration when invoking the compiler (using
options like -march -m32/64 -mtune, -mcpu, -mfpu). At the very least I'd
like to generate code specifically tuned/optimised for cortex-a53 and
cortex-a8.
Examples:
Suppose I configure the target as "arm", and specify "cortex-a53" for
"Emit assembly for CPU" (in the category "toolchain optimisations"). Can
I still use the resulting toolchain to generate code for cortex-a8 by
specifying "-march=cortex-a8" on the compiler command line?
Likewise:
Suppose I configure the toolchain for 64-Bitness. Can I still use the
resulting toolchain to generate code for 32-bit architectures by
specifying "-m32" on the command line? And how about the converse case?
Again, likewise:
Suppose I configure the toolchain for software floating point
("softfp"). Can I still use the resulting toolchain to generate code
using hardware fp by specifying "-mfpu=neon-vfpv3" on the command line?
Thanks in advance for any insights or pointers,
Erik Leunissen.