diff options
Diffstat (limited to 'main/gcc/086_all_gcc5-pie-copy-relocs-pr65780.patch')
-rw-r--r-- | main/gcc/086_all_gcc5-pie-copy-relocs-pr65780.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/main/gcc/086_all_gcc5-pie-copy-relocs-pr65780.patch b/main/gcc/086_all_gcc5-pie-copy-relocs-pr65780.patch new file mode 100644 index 0000000000..3e6b8b5bd1 --- /dev/null +++ b/main/gcc/086_all_gcc5-pie-copy-relocs-pr65780.patch @@ -0,0 +1,48 @@ +https://gcc.gnu.org/PR65780 + +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. + +--- a/gcc/config/s390/linux.h.jj 2015-01-05 13:07:16.000000000 +0100 ++++ b/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 +--- a/gcc/config/arm/linux-elf.h.jj 2015-01-05 13:07:16.000000000 +0100 ++++ b/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 +--- a/gcc/config/aarch64/aarch64-linux.h.jj 2015-01-05 13:07:17.000000000 +0100 ++++ b/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 */ |