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 |