gcc/gcc5-pr65780.patch

47 lines
1.9 KiB
Diff

2015-04-22 Jakub Jelinek <jakub@redhat.com>
PR target/65780
* config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to
default_binds_local_p_2.
* config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise.
* config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise.
--- gcc/config/s390/linux.h.jj 2015-01-05 13:07:16.000000000 +0100
+++ gcc/config/s390/linux.h 2015-04-22 17:39:38.880273650 +0200
@@ -90,4 +90,10 @@ along with GCC; see the file COPYING3.
#undef TARGET_LIBC_HAS_FUNCTION
#define TARGET_LIBC_HAS_FUNCTION gnu_libc_has_function
+/* Uninitialized common symbols in non-PIE executables, even with
+ strong definitions in dependent shared libraries, will resolve
+ to COPY relocated symbol in the executable. See PR65780. */
+#undef TARGET_BINDS_LOCAL_P
+#define TARGET_BINDS_LOCAL_P default_binds_local_p_2
+
#endif
--- gcc/config/arm/linux-elf.h.jj 2015-01-05 13:07:16.000000000 +0100
+++ gcc/config/arm/linux-elf.h 2015-04-22 17:42:35.979420149 +0200
@@ -118,3 +118,9 @@
/* Add .note.GNU-stack. */
#undef NEED_INDICATE_EXEC_STACK
#define NEED_INDICATE_EXEC_STACK 1
+
+/* Uninitialized common symbols in non-PIE executables, even with
+ strong definitions in dependent shared libraries, will resolve
+ to COPY relocated symbol in the executable. See PR65780. */
+#undef TARGET_BINDS_LOCAL_P
+#define TARGET_BINDS_LOCAL_P default_binds_local_p_2
--- gcc/config/aarch64/aarch64-linux.h.jj 2015-01-05 13:07:17.000000000 +0100
+++ gcc/config/aarch64/aarch64-linux.h 2015-04-22 17:40:46.395185820 +0200
@@ -69,4 +69,10 @@
#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
+/* Uninitialized common symbols in non-PIE executables, even with
+ strong definitions in dependent shared libraries, will resolve
+ to COPY relocated symbol in the executable. See PR65780. */
+#undef TARGET_BINDS_LOCAL_P
+#define TARGET_BINDS_LOCAL_P default_binds_local_p_2
+
#endif /* GCC_AARCH64_LINUX_H */