67 lines
2.2 KiB
Diff
67 lines
2.2 KiB
Diff
From 4fa0cf03678f849917dcc3d149989b7fecdbe276 Mon Sep 17 00:00:00 2001
|
|
From: Khem Raj <raj.khem@gmail.com>
|
|
Date: Tue, 2 Feb 2016 21:10:00 -0800
|
|
Subject: [PATCH 50/51] powerpc pass --secure-plt to the linker
|
|
|
|
Secure-plt when enabled does not pass right options to linker
|
|
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
---
|
|
Upstream-Status: Pending
|
|
gcc/config/rs6000/linux64.h | 4 ++++
|
|
gcc/config/rs6000/sysv4.h | 2 ++
|
|
2 files changed, 6 insertions(+)
|
|
|
|
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
|
|
index 679da4b..3ca7cd7 100644
|
|
--- a/gcc/config/rs6000/linux64.h
|
|
+++ b/gcc/config/rs6000/linux64.h
|
|
@@ -174,20 +174,24 @@ extern int dot_symbols;
|
|
#undef ASM_DEFAULT_SPEC
|
|
#undef ASM_SPEC
|
|
#undef LINK_OS_LINUX_SPEC
|
|
+#undef LINK_SECURE_PLT_SPEC
|
|
|
|
#ifndef RS6000_BI_ARCH
|
|
#define ASM_DEFAULT_SPEC "-mppc64"
|
|
#define ASM_SPEC "%(asm_spec64) %(asm_spec_common)"
|
|
#define LINK_OS_LINUX_SPEC "%(link_os_linux_spec64)"
|
|
+#define LINK_SECURE_PLT_SPEC ""
|
|
#else
|
|
#if DEFAULT_ARCH64_P
|
|
#define ASM_DEFAULT_SPEC "-mppc%{!m32:64}"
|
|
#define ASM_SPEC "%{m32:%(asm_spec32)}%{!m32:%(asm_spec64)} %(asm_spec_common)"
|
|
#define LINK_OS_LINUX_SPEC "%{m32:%(link_os_linux_spec32)}%{!m32:%(link_os_linux_spec64)}"
|
|
+#define LINK_SECURE_PLT_SPEC "%{m32: " LINK_SECURE_PLT_DEFAULT_SPEC "}"
|
|
#else
|
|
#define ASM_DEFAULT_SPEC "-mppc%{m64:64}"
|
|
#define ASM_SPEC "%{!m64:%(asm_spec32)}%{m64:%(asm_spec64)} %(asm_spec_common)"
|
|
#define LINK_OS_LINUX_SPEC "%{!m64:%(link_os_linux_spec32)}%{m64:%(link_os_linux_spec64)}"
|
|
+#define LINK_SECURE_PLT_SPEC "%{!m64: " LINK_SECURE_PLT_DEFAULT_SPEC "}"
|
|
#endif
|
|
#endif
|
|
|
|
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
|
|
index 8794fa5..0835551 100644
|
|
--- a/gcc/config/rs6000/sysv4.h
|
|
+++ b/gcc/config/rs6000/sysv4.h
|
|
@@ -571,6 +571,7 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
|
: %(link_start_default) }"
|
|
|
|
#define LINK_START_DEFAULT_SPEC ""
|
|
+#define LINK_SECURE_PLT_SPEC LINK_SECURE_PLT_DEFAULT_SPEC
|
|
|
|
#undef LINK_SPEC
|
|
#define LINK_SPEC "\
|
|
@@ -578,6 +579,7 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
|
%{R*} \
|
|
%(link_shlib) \
|
|
%{!T*: %(link_start) } \
|
|
+%{!static: %{!mbss-plt: %(link_secure_plt_default)}} \
|
|
%(link_os)"
|
|
|
|
/* Shared libraries are not default. */
|
|
--
|
|
2.7.0
|
|
|