On 09/04/2016 02:14 PM, Eric Botcazou wrote:
These are the individual back-end changes. Only the architectures for which
native platforms are available are changed for now. The changes were tested
at AdaCore over the years for every architecture and I'll retest them if they
are accepted, except for those I cannot access any more (Alpha, MIPS, PA).
2016-07-04 Eric Botcazou <ebotca...@adacore.com>
* config/aarch64/aarch64.h(TARGET_CUSTOM_FUNCTION_DESCRIPTORS):Define
* config/alpha/alpha.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS):Likewise.
* config/arm/arm.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise.
* config/arm/arm.c (arm_function_ok_for_sibcall): Return false for an
indirect call by descriptor if all the argument registers are used.
(arm_relayout_function): Use FUNCTION_ALIGNMENT.
* config/i386/i386.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define.
* config/ia64/ia64.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise.
* config/mips/mips.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise.
* config/pa/pa.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise.
* config/rs6000/rs6000.h(TARGET_CUSTOM_FUNCTION_DESCRIPTORS):Likewise
* config/sparc/sparc.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS):Likewise.
I'm going to let the target maintainers own this.
Hell, I can't even remember if the PA port exclusively uses procedure
descriptors. It certainly did for 32bit SOM, but there's the 32bit
portable runtime, fast-indirect-calls and the 64bit runtimes to ponder.
John probably remember this stuff far better than I.
Jeff