summaryrefslogtreecommitdiff
path: root/gold/gold.cc
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2013-04-26 21:38:57 +0000
committerCary Coutant <ccoutant@google.com>2013-04-26 21:38:57 +0000
commite7c5ea405fd863a9fcf85d49694e0f69fd5511ec (patch)
treeb0f6073044c3fcf77b5cfba088ef59bc3ccf052c /gold/gold.cc
parentee441d9a9a2df27e795cfdbf80048f42bb1504cc (diff)
downloadbinutils-gdb-e7c5ea405fd863a9fcf85d49694e0f69fd5511ec.tar.gz
2013-04-26 Geoff Pike <gpike@chromium.org>
gold/ * gold.cc (queue_final_tasks): invoke layout->queue_build_id_tasks(). * layout.cc (Hash_task): New class. (Layout::queue_build_id_tasks): New function. (Layout::write_build_id): Handle single-thread portion of build ID computation. (In some cases, all of it is single-threaded.) Replace {sha1,md5}_process_bytes with {sha1,md5}_buffer to get the same functionality in fewer lines of code. * layout.h (Layout::queue_build_id_tasks): New function declaration. * options.h (General_options): make "--build-id" default to tree rather than sha1. Add two new options related to --build-id=tree: --build-id-chunk-size-for-treehash and --build-id-min-file-size-for-treehash. * Makefile.am: add testing of --build-id=tree and related new options (these tests will be invoked by "make check"). * Makefile.in: Regenerate.
Diffstat (limited to 'gold/gold.cc')
-rw-r--r--gold/gold.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/gold/gold.cc b/gold/gold.cc
index d26dc2e6f5e..4de9289b4d6 100644
--- a/gold/gold.cc
+++ b/gold/gold.cc
@@ -874,6 +874,9 @@ queue_final_tasks(const General_options& options,
final_blocker = new_final_blocker;
}
+ // Create tasks for tree-style build ID computation, if necessary.
+ final_blocker = layout->queue_build_id_tasks(workqueue, final_blocker, of);
+
// Queue a task to close the output file. This will be blocked by
// FINAL_BLOCKER.
workqueue->queue(new Task_function(new Close_task_runner(&options, layout,