Segher and I are planning to remove the machinery supporting
RS6000_CALL_GLUE.  In the AIX ABI, used by AIX, PowerOpen, PPC64 Linux
and mcall-aixdesc, direct calls to named functions that may be
external are followed by a special no-op instruction that the linker
can replace with an instruction to restore the TOC addressibility
register.  This no-op instruction changed over time prior to the
PowerPC architecture: initially "cror 15,15,15", then "cror 31,31,31"
and finally settling on the PowerPC "nop" instruction.

PPC64 Linux only has ever used the PowerPC "nop" instruction.  All
versions of AIX targeting PowerPC use the PowerPC "nop" instruction.
All current configurations of GCC targeting PPC64 Linux and AIX only
generate the "nop" instruction.  The machinery is not used for the
PPC32 SVR4 ABI and eABI.

With the recent removal of support for the original POWER instruction
set from GCC, we propose to remove the machinery to control the no-op
instruction emitted by GCC. The linkers will continue to handle the
older no-op instructions in any old object files.

However, the default value of RS6000_CALL_GLUE, which almost all
targets override, is "cror 31,31,31".  The only place this potentially
still could be used is in the old mcall-aixdesc "embedded" mode
originally designed by Cygnus for a customer who desired an embedded
mode with AIX compatibility.  We do not believe there are any
remaining users of this option, but we want to distribute this
announcement widely to ensure that anyone affected has an opportunity
to comment.

http://gcc.gnu.org/ml/gcc-patches/2012-08/msg01849.html

As the saying goes: "Speak now, or forever hold your peace."

Thanks, David

Reply via email to