Fix case where IR file provides symbol visibility but replacement file does not.
[deliverable/binutils-gdb.git] / gold / ChangeLog
CommitLineData
0b7a4aa6
CC
12018-03-26 Cary Coutant <ccoutant@gmail.com>
2
3gold/
4 PR gold/22868
5 * plugin.cc (Sized_pluginobj::do_add_symbols): Use a real section
6 index instead of SHN_ABS for defined symbols.
7 * testsuite/Makefile.am (plugin_pr22868): New test case.
8 * testsuite/Makefile.in: Regenerate
9 * testsuite/plugin_pr22868.sh: New test script.
10 * testsuite/plugin_pr22868_a.c: New source file.
11 * testsuite/plugin_pr22868_b.c: New source file.
12
8da9a904
CC
132018-03-23 Cary Coutant <ccoutant@gmail.com>
14
15 * plugin.cc (link_or_copy_file): Remove newlines from warning messages.
16 Add pedantic check for return value from ::write.
17
3215deaa
CC
182018-03-23 Cary Coutant <ccoutant@gmail.com>
19
20 * debug.h (DEBUG_PLUGIN): New constant.
21 (DEBUG_ALL): Add DEBUG_PLUGIN.
22 (debug_string_to_enum): Likewise.
23 * plugin.cc (make_sized_plugin_object): Add filename parameter.
24 (Plugin_recorder): New class.
25 (Plugin_manager::~Plugin_manager): Delete recorder_.
26 (Plugin_manager::load_plugins): Create and initialize recorder_.
27 (Plugin_manager::claim_file): Record claimed and unclaimed files.
28 (Plugin_manager::make_plugin_object): Use object name as name for
29 plugin object, if available.
30 (Plugin_manager::add_input_file): Record replacement files.
31 (Sized_pluginobj::do_add_symbols): Record plugin symbols.
32 (Plugin_finish::run): Call Plugin_recorder::finish().
33 (make_sized_plugin_object): Add filename parameter and pass to
34 Sized_pluginobj constructor.
35 * plugin.h (Plugin::filename): New method.
36 (Plugin::recorder): New method.
37 (Plugin::recorder_): New data member.
38
779bdadb
ST
392018-03-07 Sriraman Tallam <tmsriram@google.com>
40
41 * layout.cc (Layout::default_section_order): Check for text section
42 prefixes.
43 (Layout::text_section_name_mapping): New static member.
44 (Layout::text_section_name_mapping_count): New static member.
45 (Layout::match_section_name): New static function.
46 (Layout::output_section_name): Check for text section prefixes.
47 * layout.h (Output_section_order::ORDER_TEXT_HOT): New enum value.
48 (Output_section_order::ORDER_TEXT_STARTUP): New enum value.
49 (Output_section_order::ORDER_TEXT_EXIT): New enum value.
50 (Output_section_order::ORDER_TEXT_UNLIKELY): New enum value.
51 (Layout::text_section_name_mapping): New static member.
52 (Layout::text_section_name_mapping_count): New static member.
53 (Layout::match_section_name): New static function.
54 * options.h (keep_text_section_prefix): New -z option.
55 * testsuite/Makefile.am (keep_text_section_prefix): New test.
56 * testsuite/Makefile.in: Regenerate.
57 * testsuite/keep_text_section_prefix.cc: New test source.
58 * testsuite/keep_text_section_prefix.sh: New test script.
59
0b65c07b
ST
602018-02-22 Sriraman Tallam <tmsriram@google.com>
61
62 * plugin.cc (get_wrap_symbols): New plugin interface.
63 (load): Add get_wrap_symbols to transfer vector.
64 * plugin-api.h (ld_plugin_get_wrap_symbols): New plugin interface.
65 * testsuite/plugin_test.c (onload): Call and check get_wrap_symbols
66 interface.
67 * testsuite/plugin_test_wrap_symbols.sh: New test script.
68 * testsuite/plugin_test_wrap_symbols_1.cc: New file.
69 * testsuite/plugin_test_wrap_symbols_2.cc: New file.
70 * testsuite/Makefile.am (plugin_test_wrap_symbols): New test.
71 * testsuite/Makefile.in: Regenerate.
72
3281b315
ST
732018-02-07 Sriraman Tallam <tmsriram@google.com>
74
75 * expression.cc (Symbol_expression::set_expr_sym_in_real_elf):
76 New method.
77 (Unary_expression::set_expr_sym_in_real_elf): New method.
78 (Binary_expression::set_expr_sym_in_real_elf): New method.
79 (Trinary_expression::set_expr_sym_in_real_elf): New method.
80 * plugin.cc (get_symbol_resolution_info): Fix symbol resolution if
81 defined or used in defsyms.
82 * plugin.h (Plugin_manager::is_defsym_def): New method.
83 (Plugin_manager::Plugin_manager): Initialize defsym_defines_set_.
84 (Plugin_manager::defsym_defines_set_): New member.
85 (Plugin_manager::Defsym_defines_set): New typedef.
86 * script.cc (Script_options::set_defsym_uses_in_real_elf): New method.
87 (Script_options::find_defsym_defs): New method.
88 * script.h (Expression::set_expr_sym_in_real_elf): New method.
89 (Symbol_assignment::is_defsym): New method.
90 (Symbol_assignment::value): New method.
91 (Script_options::find_defsym_defs): New method.
92 (Script_options::set_defsym_uses_in_real_elf): New method.
93 * testsuite/Makefile.am (plugin_test_defsym): New test.
94 * testsuite/Makefile.in: Regenerate.
95 * testsuite/plugin_test.c: Check for new symbol resolution.
96 * testsuite/plugin_test_defsym.sh: New script.
97 * testsuite/plugin_test_defsym.c: New test source.
98
407aa07c
AM
992018-02-07 Alan Modra <amodra@gmail.com>
100
101 Revert 2018-01-17 Alan Modra <amodra@gmail.com>
102 * options.h: Remove --speculate-indirect-jumps support.
103 * powerpc.cc: Likewise.
104
c8334458
CC
1052018-02-02 Cary Coutant <ccoutant@gmail.com>
106
107 * PR gold/22776
108 * dwarf_reader.cc (Sized_dwarf_line_info::read_header_prolog): Add
109 support for DWARF-4 line number tables.
110 * dwarf_reader.h (Sized_dwarf_line_info::max_ops_per_insn): New field.
111
691d2e9a
AM
1122018-01-18 Alan Modra <amodra@gmail.com>
113
114 * powerpc.cc (param_plt_align): New function supplying default
115 --plt-align values. Use it..
116 (Stub_table::plt_call_align): ..here, and..
117 (Output_data_glink::global_entry_align): ..here.
118 (Stub_table::stub_align): Correct 32-bit minimum alignment.
119
1be5d8d3
AM
1202018-01-17 Alan Modra <amodra@gmail.com>
121
122 * options.h (speculate_indirect_jumps): New option.
123 * powerpc.cc (beqctrm, beqctrlm, crseteq): New insn constants.
124 (output_bctr): New function.
125 (Stub_table::plt_call_size): Add space for speculation barrier.
126 (Stub_table::branch_stub_size): Likewise.
127 (Output_data_glink::pltresolve_size): Likewise.
128 (Stub_table::do_write): Output speculation barriers.
129
9e390558
AM
1302018-01-17 Alan Modra <amodra@gmail.com>
131
132 * options.h (plt_align): Support for PowerPC32 too.
133 * powerpc.cc (Stub_table::stub_align): Heed --plt-align for 32-bit.
134 (Stub_table::plt_call_size, branch_stub_size): Tidy.
135 (Stub_table::plt_call_align): Implement using stub_align.
136 (Output_data_glink::global_entry_align): New function.
137 (Output_data_glink::global_entry_off): New function.
138 (Output_data_glink::global_entry_address): Use global_entry_off.
139 (Output_data_glink::pltresolve_size): New function, replacing
140 pltresolve_size_ constant. Update all uses.
141 (Output_data_glink::add_global_entry): Align offset.
142 (Output_data_glink::set_final_data_size): Use global_entry_align.
143 (Stub_table::do_write): Don't pad __glink_PLTrelsolve with nops.
144 Tidy stub output. Use global_entry_off.
145
930b5f8b
CC
1462018-01-15 Cary Coutant <ccoutant@gmail.com>
147
148 PR gold/22694
149 * options.h (-fuse-ld): Add correct helparg.
150
616dcb87
NC
1512018-01-15 Nick Clifton <nickc@redhat.com>
152
153 * po/uk.po: Updated Ukranian translation.
154
3957a496
NC
1552018-01-13 Nick Clifton <nickc@redhat.com>
156
157 * po/gold.pot: Regenerated.
158
faf766e3
NC
1592018-01-13 Nick Clifton <nickc@redhat.com>
160
161 2.30 branch created.
162
27f7b092
CC
1632018-01-12 Cary Coutant <ccoutant@gmail.com>
164
165 * NEWS: Add new features in 1.15.
166 * version.cc (version_string): Bump to 1.15.
167
1682018-01-12 Sterling Augustine <saugustine@google.com>
b4b07ef1
EC
169
170 * cref.cc (Cref_inputs::Cref_table_compare::operator): Add
171 conditionals and calls to is_forwarder.
172
219d1afa
AM
1732018-01-03 Alan Modra <amodra@gmail.com>
174
175 Update year range in copyright notice of all files.
176
1e563868 177For older changes see ChangeLog-2017
3499769a 178\f
1e563868 179Copyright (C) 2018 Free Software Foundation, Inc.
3499769a
AM
180
181Copying and distribution of this file, with or without modification,
182are permitted in any medium without royalty provided the copyright
183notice and this notice are preserved.
184
185Local Variables:
186mode: change-log
187left-margin: 8
188fill-column: 74
189version-control: never
190End:
This page took 0.120484 seconds and 4 git commands to generate.