This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Add gcc-4.9 libgomp symbols requiring --plt-thread-safe for power7
- From: Alan Modra <amodra at gmail dot com>
- To: binutils at sourceware dot org
- Date: Tue, 21 Oct 2014 17:23:00 +1030
- Subject: Add gcc-4.9 libgomp symbols requiring --plt-thread-safe for power7
- Authentication-results: sourceware.org; auth=none
Found when investigating some intermittent mainline gcc libgomp test
failures.
powerpc64 ld builds plt call stubs with a read barrier to provide
thread safety on lazy plt updates, necessary on multi-threaded apps
with power7 or later, weakly ordered memory. gcc-4.9 libgomp
introduced more functions that could call pthread_create, which means
we have more functions that if referenced in an executable should
cause a default of --plt-thread-safe.
* elf64-ppc.c (ppc64_elf_size_stubs): Add gcc-4.9 libgomp functions
to thread_starter.
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index efd86a2..e3c06eb 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -11964,11 +11964,17 @@ ppc64_elf_size_stubs (struct bfd_link_info *info)
/* libanl */
"getaddrinfo_a",
/* libgomp */
+ "GOMP_parallel",
"GOMP_parallel_start",
+ "GOMP_parallel_loop_static",
"GOMP_parallel_loop_static_start",
+ "GOMP_parallel_loop_dynamic",
"GOMP_parallel_loop_dynamic_start",
+ "GOMP_parallel_loop_guided",
"GOMP_parallel_loop_guided_start",
+ "GOMP_parallel_loop_runtime",
"GOMP_parallel_loop_runtime_start",
+ "GOMP_parallel_sections",
"GOMP_parallel_sections_start",
};
unsigned i;
--
Alan Modra
Australia Development Lab, IBM