aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2009-12-07 23:31:01 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2009-12-07 23:31:01 +0000
commit1141be7e561b8a157cf4c72e84a675329e29174f (patch)
tree05942c1da91cfb7f1869f25828783697a40b3f11
parent74e12783a3dbd31f56a44678ad9af5a14f0bbf1a (diff)
downloadgcc-1141be7e561b8a157cf4c72e84a675329e29174f.zip
gcc-1141be7e561b8a157cf4c72e84a675329e29174f.tar.gz
gcc-1141be7e561b8a157cf4c72e84a675329e29174f.tar.bz2
linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch.
* config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch. * config/sparc/linux64.h (ASM_SPEC): Likewise. From-SVN: r155065
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/sparc/linux.h14
-rw-r--r--gcc/config/sparc/linux64.h3
3 files changed, 18 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a10b288..b91b638 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2009-12-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch.
+ * config/sparc/linux64.h (ASM_SPEC): Likewise.
+
2009-12-07 Richard Henderson <rth@redhat.com>
PR debug/42299
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
index 6dcce78..b12c881 100644
--- a/gcc/config/sparc/linux.h
+++ b/gcc/config/sparc/linux.h
@@ -98,9 +98,17 @@ along with GCC; see the file COPYING3. If not see
/* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
It's safe to pass -s always, even if -g is not used. */
#undef ASM_SPEC
-#define ASM_SPEC \
- "%{V} %{v:%{!V:-V}} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Wa,*:%*} -s \
- %{fpic|fPIC|fpie|fPIE:-K PIC} %(asm_cpu) %(asm_relax)"
+#define ASM_SPEC "\
+%{V} \
+%{v:%{!V:-V}} \
+%{!Qn:-Qy} \
+%{n} \
+%{T} \
+%{Ym,*} \
+%{Wa,*:%*} \
+-s \
+%{fpic|fPIC|fpie|fPIE|findirect-dispatch:-K PIC} \
+%(asm_cpu) %(asm_relax)"
#undef ASM_OUTPUT_ALIGNED_LOCAL
#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \
diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
index 9d0799f..c2e78d7 100644
--- a/gcc/config/sparc/linux64.h
+++ b/gcc/config/sparc/linux64.h
@@ -235,7 +235,8 @@ along with GCC; see the file COPYING3. If not see
%{T} \
%{Ym,*} \
%{Wa,*:%*} \
--s %{fpic|fPIC|fpie|fPIE:-K PIC} \
+-s \
+%{fpic|fPIC|fpie|fPIE|findirect-dispatch:-K PIC} \
%{mlittle-endian:-EL} \
%(asm_cpu) %(asm_arch) %(asm_relax)"