[PATCH] Turn on gnu-indirect-function by default on PowerPC servers
Michael Meissner
meissner@linux.vnet.ibm.com
Thu Nov 24 00:51:00 GMT 2016
This patch changes the default on 64-bit PowerPC Linux systems for the
--enable-gnu-indirect-function configuration option (i.e. support for the ifunc
attribute) to mirror the x86_64/i386/s390x systems that assume the use of
glibcs that support it.
Since some of the embedded hosts use powerpc-*-linux<whatever>, I only set the
default if the target is a 64-bit PowerPC system. I tested the compiler
manually to verify that ifunc support was enabled, and it was. I did a
boostrap build/check cycle on a little endian power8 system and there were
regressions. Can I install the patch on the trunk?
Note, the documentation for the --enable-gnu-indirect-option does not list
which systems current enable the option, so I did not modify the
documentation.
2016-11-23 Michael Meissner <meissner@linux.vnet.ibm.com>
* config.gcc (powerpc*-*-linux*): Set gnu-indirect-function by
default on Power server linux systems.
--
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA
email: meissner@linux.vnet.ibm.com, phone: +1 (978) 899-4797
-------------- next part --------------
Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc (revision 242797)
+++ gcc/config.gcc (working copy)
@@ -2443,6 +2443,15 @@ powerpc*-*-linux*)
if test x${enable_secureplt} = xyes; then
tm_file="rs6000/secureplt.h ${tm_file}"
fi
+ # Assume modern glibc if not targeting Android nor uclibc and
+ # generating code for a Power server (64-bit) environment
+ case ${target} in
+ *-*-*android*|*-*-*uclibc*|*-*-*musl*)
+ ;;
+ powerpc64*)
+ default_gnu_indirect_function=yes
+ ;;
+ esac
;;
powerpc-wrs-vxworks|powerpc-wrs-vxworksae|powerpc-wrs-vxworksmils)
tm_file="${tm_file} elfos.h freebsd-spec.h rs6000/sysv4.h"
More information about the Gcc-patches
mailing list