From 40ea67af0aaeb1b71fc977a1328730192b2c679a Mon Sep 17 00:00:00 2001
From: Eric Botcazou <ebotcazou@gcc.gnu.org>
Date: Wed, 22 Sep 2010 21:14:50 +0000
Subject: [PATCH] re PR java/44095 (massive java failures due to
 -findirect-dispatch breakage on sparc64-linux)

	PR java/44095
	* config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch
	is specified and the suffix of the file isn't ".c".
	* config/sparc/linux64.h (ASM_SPEC): Likewise.

From-SVN: r164534
---
 gcc/ChangeLog              | 9 ++++++++-
 gcc/config/sparc/linux.h   | 3 ++-
 gcc/config/sparc/linux64.h | 3 ++-
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 688f0ede846f..b1ded0db5483 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,4 +1,11 @@
-2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+2010-09-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR java/44095
+	* config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch
+	is specified and the suffix of the file isn't ".c".
+	* config/sparc/linux64.h (ASM_SPEC): Likewise.
+
+2010-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
 	* doc/contrib.texi (Contributors): Allow URL to wrap in PDF
 	output.
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
index 530a6ae7065d..1272d2aba7d4 100644
--- a/gcc/config/sparc/linux.h
+++ b/gcc/config/sparc/linux.h
@@ -107,7 +107,8 @@ along with GCC; see the file COPYING3.  If not see
 %{Ym,*} \
 %{Wa,*:%*} \
 -s \
-%{fpic|fPIC|fpie|fPIE|findirect-dispatch:-K PIC} \
+%{fpic|fPIC|fpie|fPIE:-K PIC} \
+%{!.c:%{findirect-dispatch:-K PIC}} \
 %(asm_cpu) %(asm_relax)"
 
 #undef ASM_OUTPUT_ALIGNED_LOCAL
diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
index 369c13c8e3cb..d8a242758dd4 100644
--- a/gcc/config/sparc/linux64.h
+++ b/gcc/config/sparc/linux64.h
@@ -236,7 +236,8 @@ along with GCC; see the file COPYING3.  If not see
 %{Ym,*} \
 %{Wa,*:%*} \
 -s \
-%{fpic|fPIC|fpie|fPIE|findirect-dispatch:-K PIC} \
+%{fpic|fPIC|fpie|fPIE:-K PIC} \
+%{!.c:%{findirect-dispatch:-K PIC}} \
 %{mlittle-endian:-EL} \
 %(asm_cpu) %(asm_arch) %(asm_relax)"
 
-- 
GitLab