summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/gold/gold.cc
diff options
context:
space:
mode:
authorRong Xu <xur@google.com>2015-02-18 11:19:21 -0800
committerRong Xu <xur@google.com>2015-02-18 11:19:21 -0800
commitaff326d7fffe9111be0900d433c6de6661c48af3 (patch)
treebe2a526d4f321842e461c514d5e07cbea7a04fdb /binutils-2.25/gold/gold.cc
parent51d71fd2cc99f309cb792cc48ae910baeb92b2a0 (diff)
downloadtoolchain_binutils-aff326d7fffe9111be0900d433c6de6661c48af3.tar.gz
toolchain_binutils-aff326d7fffe9111be0900d433c6de6661c48af3.tar.bz2
toolchain_binutils-aff326d7fffe9111be0900d433c6de6661c48af3.zip
[2.24][2.25] Fix race condition causing assert
Backport trunk commit 635aa that fixes race condition causing assert in Eh_frame_hdr::do_sized_write(). 2014-09-23 Taiju Tsuiki <tzik@google.com> Cary Coutant <ccoutant@google.com> gold/ * gold.cc (queue_final_tasks): Add Write_sections_task as a * blocker on input_sections_blocker. * layout.cc (Write_sections_task::locks): Unblock input_sections_blocker_. * layout.h (Write_sections_task::Write_sections_task): Add input_sections_blocker. * testsuite/Makefile.am (exception_x86_64_bnd_test): Add * gcctestdir/ld to DEPENDENCIES. * testsuite/Makefile.in: Regenerate. Change-Id: I17a0f2aaf565b775f92f4806c4abcbea5d2dd803
Diffstat (limited to 'binutils-2.25/gold/gold.cc')
-rw-r--r--binutils-2.25/gold/gold.cc3
1 files changed, 0 insertions, 3 deletions
diff --git a/binutils-2.25/gold/gold.cc b/binutils-2.25/gold/gold.cc
index bdfb33d9..4833aec7 100644
--- a/binutils-2.25/gold/gold.cc
+++ b/binutils-2.25/gold/gold.cc
@@ -808,8 +808,6 @@ queue_final_tasks(const General_options& options,
if (!any_postprocessing_sections)
{
input_sections_blocker = new Task_token(true);
- // Write_symbols_task, Relocate_tasks.
- input_sections_blocker->add_blocker();
input_sections_blocker->add_blockers(input_objects->number_of_relobjs());
}
@@ -838,7 +836,6 @@ queue_final_tasks(const General_options& options,
// Queue a task to write out the output sections.
workqueue->queue(new Write_sections_task(layout, of, output_sections_blocker,
- input_sections_blocker,
final_blocker));
// Queue a task to write out everything else.