aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@bell.net>2014-09-22 20:54:50 -0400
committerBen Hutchings <ben@decadent.org.uk>2014-11-05 20:27:45 +0000
commitcfda98930d53d1b6090c263b80c6a3e5cc2f2fe1 (patch)
tree5407e983b36e837c5c75557d91c566557d2275f9
parent918b21603271ee284f25329580b06164b24b7805 (diff)
downloadkernel_samsung_smdk4412-cfda98930d53d1b6090c263b80c6a3e5cc2f2fe1.zip
kernel_samsung_smdk4412-cfda98930d53d1b6090c263b80c6a3e5cc2f2fe1.tar.gz
kernel_samsung_smdk4412-cfda98930d53d1b6090c263b80c6a3e5cc2f2fe1.tar.bz2
parisc: Only use -mfast-indirect-calls option for 32-bit kernel builds
commit d26a7730b5874a5fa6779c62f4ad7c5065a94723 upstream. In spite of what the GCC manual says, the -mfast-indirect-calls has never been supported in the 64-bit parisc compiler. Indirect calls have always been done using function descriptors irrespective of the -mfast-indirect-calls option. Recently, it was noticed that a function descriptor was always requested when the -mfast-indirect-calls option was specified. This caused problems when the option was used in application code and doesn't make any sense because the whole point of the option is to avoid using a function descriptor for indirect calls. Fixing this broke 64-bit kernel builds. I will fix GCC but for now we need the attached change. This results in the same kernel code as before. Signed-off-by: John David Anglin <dave.anglin@bell.net> Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r--arch/parisc/Makefile7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile
index 55cca1d..75947e0 100644
--- a/arch/parisc/Makefile
+++ b/arch/parisc/Makefile
@@ -47,7 +47,12 @@ cflags-y := -pipe
# These flags should be implied by an hppa-linux configuration, but they
# are not in gcc 3.2.
-cflags-y += -mno-space-regs -mfast-indirect-calls
+cflags-y += -mno-space-regs
+
+# -mfast-indirect-calls is only relevant for 32-bit kernels.
+ifndef CONFIG_64BIT
+cflags-y += -mfast-indirect-calls
+endif
# Currently we save and restore fpregs on all kernel entry/interruption paths.
# If that gets optimized, we might need to disable the use of fpregs in the