From: Alan Modra Date: Tue, 21 Oct 2014 06:36:01 +0000 (+1030) Subject: Add gcc-4.9 libgomp symbols requiring --plt-thread-safe for power7 X-Git-Tag: binutils-2_25~114 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=334efb9a97018d8b2f508e5c22e5acb7b824cc76;p=thirdparty%2Fbinutils-gdb.git Add gcc-4.9 libgomp symbols requiring --plt-thread-safe for power7 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. bfd/ * elf64-ppc.c (ppc64_elf_size_stubs): Add gcc-4.9 libgomp functions to thread_starter. gold/ * powerpc.cc (do_relax): Add gcc-4.9 libgomp functions to thread_starter. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9e32bc616da..35cc99142c3 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,6 +1,10 @@ 2014-10-28 Alan Modra Apply trunk patches + 2014-10-21 Alan Modra + * elf64-ppc.c (ppc64_elf_size_stubs): Add gcc-4.9 libgomp functions + to thread_starter. + 2014-10-18 Alan Modra * elf64-ppc.c (ppc64_elf_add_symbol_hook): If function code section for function symbols defined in .opd is discarded, let diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index efd86a2ac75..e3c06eb00b4 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; diff --git a/gold/ChangeLog b/gold/ChangeLog index f636afa890b..88dd58f5d1e 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,10 @@ +2014-10-28 Alan Modra + + Apply trunk patches + 2014-10-22 Alan Modra + * powerpc.cc (do_relax): Add gcc-4.9 libgomp functions to + thread_starter. + 2014-09-30 Cary Coutant PR gold/17432 diff --git a/gold/powerpc.cc b/gold/powerpc.cc index 0a9ab7d0d5c..828bc1674c3 100644 --- a/gold/powerpc.cc +++ b/gold/powerpc.cc @@ -2708,11 +2708,17 @@ Target_powerpc::do_relax(int pass, /* 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", };