OLD | NEW |
(Empty) | |
| 1 diff --git a/gold/gold.cc b/gold/gold.cc |
| 2 index 4833aec..bdfb33d 100644 |
| 3 --- a/gold/gold.cc |
| 4 +++ b/gold/gold.cc |
| 5 @@ -808,6 +808,8 @@ queue_final_tasks(const General_options& options, |
| 6 if (!any_postprocessing_sections) |
| 7 { |
| 8 input_sections_blocker = new Task_token(true); |
| 9 + // Write_symbols_task, Relocate_tasks. |
| 10 + input_sections_blocker->add_blocker(); |
| 11 input_sections_blocker->add_blockers(input_objects->number_of_relobjs()); |
| 12 } |
| 13 |
| 14 @@ -836,6 +838,7 @@ queue_final_tasks(const General_options& options, |
| 15 |
| 16 // Queue a task to write out the output sections. |
| 17 workqueue->queue(new Write_sections_task(layout, of, output_sections_blocker, |
| 18 + input_sections_blocker, |
| 19 final_blocker)); |
| 20 |
| 21 // Queue a task to write out everything else. |
| 22 diff --git a/gold/layout.cc b/gold/layout.cc |
| 23 index 82db775..ef0a879 100644 |
| 24 --- a/gold/layout.cc |
| 25 +++ b/gold/layout.cc |
| 26 @@ -5532,6 +5532,8 @@ void |
| 27 Write_sections_task::locks(Task_locker* tl) |
| 28 { |
| 29 tl->add(this, this->output_sections_blocker_); |
| 30 + if (this->input_sections_blocker_ != NULL) |
| 31 + tl->add(this, this->input_sections_blocker_); |
| 32 tl->add(this, this->final_blocker_); |
| 33 } |
| 34 |
| 35 diff --git a/gold/layout.h b/gold/layout.h |
| 36 index 7c0113c..032f5f3 100644 |
| 37 --- a/gold/layout.h |
| 38 +++ b/gold/layout.h |
| 39 @@ -1454,9 +1454,11 @@ class Write_sections_task : public Task |
| 40 public: |
| 41 Write_sections_task(const Layout* layout, Output_file* of, |
| 42 Task_token* output_sections_blocker, |
| 43 + Task_token* input_sections_blocker, |
| 44 Task_token* final_blocker) |
| 45 : layout_(layout), of_(of), |
| 46 output_sections_blocker_(output_sections_blocker), |
| 47 + input_sections_blocker_(input_sections_blocker), |
| 48 final_blocker_(final_blocker) |
| 49 { } |
| 50 |
| 51 @@ -1481,6 +1483,7 @@ class Write_sections_task : public Task |
| 52 const Layout* layout_; |
| 53 Output_file* of_; |
| 54 Task_token* output_sections_blocker_; |
| 55 + Task_token* input_sections_blocker_; |
| 56 Task_token* final_blocker_; |
| 57 }; |
| 58 |
| 59 diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am |
| 60 index dd06d5f..35cd013 100644 |
| 61 --- a/gold/testsuite/Makefile.am |
| 62 +++ b/gold/testsuite/Makefile.am |
| 63 @@ -2380,10 +2380,9 @@ endif DEFAULT_TARGET_X86_64 |
| 64 if DEFAULT_TARGET_X86_64 |
| 65 check_PROGRAMS += exception_x86_64_bnd_test |
| 66 exception_x86_64_bnd_test_SOURCES = exception_test_main.cc |
| 67 -exception_x86_64_bnd_test_DEPENDENCIES = exception_x86_64_bnd_1.o \ |
| 68 - exception_x86_64_bnd_2.o |
| 69 +exception_x86_64_bnd_test_DEPENDENCIES = gcctestdir/ld exception_x86_64_bnd_1.o
exception_x86_64_bnd_2.o |
| 70 exception_x86_64_bnd_test_LDFLAGS = $(exception_test_LDFLAGS) |
| 71 -exception_x86_64_bnd_test_LDADD = $(exception_x86_64_bnd_test_DEPENDENCIES) |
| 72 +exception_x86_64_bnd_test_LDADD = exception_x86_64_bnd_1.o exception_x86_64_bnd
_2.o |
| 73 exception_x86_64_bnd_1.o: exception_test_1.cc gcctestdir/as |
| 74 $(CXXCOMPILE) -c -fpic -Bgcctestdir/ -Wa,-madd-bnd-prefix -o $@ $< |
| 75 exception_x86_64_bnd_2.o: exception_test_2.cc gcctestdir/as |
| 76 diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in |
| 77 index fed610f..8fbb644 100644 |
| 78 --- a/gold/testsuite/Makefile.in |
| 79 +++ b/gold/testsuite/Makefile.in |
| 80 @@ -2732,11 +2732,9 @@ LDADD = libgoldtest.a ../libgold.a ../../libiberty/libibe
rty.a $(LIBINTL) \ |
| 81 @GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_5_LDFLAGS = -Bgcctestdir/ |
| 82 @GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_5_LDADD = |
| 83 @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_x86_64_bnd_
test_SOURCES = exception_test_main.cc |
| 84 -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_x86_64_bnd_
test_DEPENDENCIES = exception_x86_64_bnd_1.o \ |
| 85 -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@
exception_x86_64_bnd_2.o |
| 86 - |
| 87 +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_x86_64_bnd_
test_DEPENDENCIES = gcctestdir/ld exception_x86_64_bnd_1.o exception_x86_64_bnd_
2.o |
| 88 @DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_x86_64_bnd_
test_LDFLAGS = $(exception_test_LDFLAGS) |
| 89 -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_x86_64_bnd_
test_LDADD = $(exception_x86_64_bnd_test_DEPENDENCIES) |
| 90 +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_x86_64_bnd_
test_LDADD = exception_x86_64_bnd_1.o exception_x86_64_bnd_2.o |
| 91 @DEFAULT_TARGET_I386_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@SPLIT_DEFSYMS = --defsym
__morestack=0x100 --defsym __morestack_non_split=0x200 |
| 92 @DEFAULT_TARGET_X86_64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@SPLIT_DEFSYMS = --defs
ym __morestack=0x100 --defsym __morestack_non_split=0x200 |
| 93 all: $(BUILT_SOURCES) |
| 94 -- |
| 95 1.7.1 |
| 96 |
OLD | NEW |