12019-11-26 Martin Liska <mliska@suse.cz> 2 3 * layout.cc (Layout::special_ordering_of_input_section): 4 Add ".text.sorted". 5 * output.cc: Special case ".text.sorted". 6 * testsuite/section_sorting_name.cc: Cover also .text.sorted 7 subsections. 8 * testsuite/section_sorting_name.sh: Likewise. 9 102019-11-19 Alan Modra <amodra@gmail.com> 11 12 PR 24853 13 * symtab.h (set_has_gnu_output, has_gnu_output_): New. 14 * symtab.cc (Symbol_table::Symbol_table): Init has_gnu_output_. 15 (Symbol_table::finalize): Set ELFOSABI_GNU when has_gnu_output_. 16 (Symbol_table::set_dynsym_indexes, Symbol_table::sized_finalize): 17 Call set_has_gnu_output for STT_GNU_IFUNC and STB_GNU_UNIQUE globals. 18 * object.cc (Sized_relobj_file::do_finalize_local_symbols): Call 19 set_has_gnu_output when STT_GNU_IFUNC locals will be output. 20 212019-11-11 Miguel Saldivar <saldivarcher@gmail.com> 22 23 PR 24996 24 * expression.cc (Trinary_expression::arg2_value): Use correct integer 25 expression when calling "eval_maybe_dot" method. 26 (Trinary_expression::arg3_value): Likewise. 27 282019-09-28 Alan Modra <amodra@gmail.com> 29 30 PR 16794 31 * i386.cc (Target_i386::Relocate::relocate <R_386_GOTOFF>): Don't 32 ignore addend, apply using pcrel32. 33 * x86_64.cc (Target_x86_64::Relocate::relocate <R_X86_64_GOTOFF64>): 34 Similarly use pcrel64. 35 362019-09-24 Nick Clifton <nickc@redhat.com> 37 38 * descriptors.cc: Include <string> 39 402019-09-23 Alan Modra <amodra@gmail.com> 41 42 * testsuite/plugin_new_section_layout.c (new_input_hook): Correct 43 return status enum values. 44 452019-09-20 Alan Modra <amodra@gmail.com> 46 47 PR 24768 48 * layout.cc (Layout::Layout): Init lto_slim_object_. 49 * object.cc (Sized_relobj_file::do_layout): Wrap overlong line. 50 Don't use C cast. Validate section size. Don't copy contents. 51 522019-09-20 Alan Modra <amodra@gmail.com> 53 54 * powerpc.cc (Target_powerpc::Scan::check_non_pic): Move REL24 55 to 32-bit supported. 56 572019-09-18 Simon Marchi <simon.marchi@polymtl.ca> 58 59 * testsuite/Makefile.in: Re-generate. 60 612019-09-09 Phil Blundell <pb@pbcl.net> 62 63 binutils 2.33 branch created. 64 652019-08-16 Martin Liska <mliska@suse.cz> 66 67 PR ld/24912 68 * object.cc (big_endian>::do_layout): Do not report error, 69 but only set a flag. 70 (big_endian>::do_add_symbols): Report error only for when 71 relocatable. 72 732019-08-02 Alan Modra <amodra@gmail.com> 74 75 * powerpc.cc (Target_powerpc::Scan::get_reference_flags): Set 76 flags for new relocations, and some missing older relocs. 77 (Target_powerpc::Scan::local): Handle new pcrel tls relocs. 78 Call set_has_static_tls for tprel relocs. 79 (Target_powerpc::Scan::global): Likewise. 80 (Target_powerpc::Relocate::relocate): Handle new pcrel tls relocs. 81 822019-08-02 Alan Modra <amodra@gmail.com> 83 84 * powerpc.cc (Powerpc_relocate_functions::rela, rela_ua): Perform 85 signed right shift for signed overflow check. 86 872019-07-29 Martin Liska <mliska@suse.cz> 88 89 PR 24768 90 * layout.h (class Layout): Add is_lto_slim_object and 91 set_lto_slim_object. 92 * object.cc (struct lto_section): Add lto_slim_object_. 93 (big_endian>::do_layout): Parse content of 94 .gnu_lto_.lto section. 95 (big_endian>::do_add_symbols): Report error for a missing 96 LTO plugin. 97 982019-07-13 Alan Modra <amodra@gmail.com> 99 100 * powerpc.cc (xlate_pcrel_opt): New function. 101 (Target_powerpc::Relocate::relocate): Optimise PCREL34 and 102 GOT_PCREL34 sequences marked with PCREL_OPT. 103 1042019-07-13 Alan Modra <amodra@gmail.com> 105 106 * powerpc.cc (Powerpc_relobj::make_got_relative): New function. 107 (relative_value_is_known): New functions. 108 (Target_powerpc::Relocate::relocate): Edit code using 109 GOT16_HA, GOT16_LO_DS, and GOT_PCREL34 relocs. 110 1112019-07-13 Alan Modra <amodra@gmail.com> 112 113 * powerpc.cc (Target_powerpc): Add powerxx_stubs_ and accessor 114 functions. 115 (Target_powerpc::maybe_skip_tls_get_addr_call): Handle PLT_PCREL34 116 and PLT_PCREL34_NOTOC relocs. 117 (Powerpc_relocate_functions): Add addr34, addr34_hi, addr34_ha, 118 addr28, addr16_higher34, addr16_highera34, addr16_highest34, 119 addr16_highest34a functions. 120 (li_11_0, ori_11_11_0, sldi_11_11_34): Define. 121 (paddi_12_pc, pld_12_pc, pnop): Define. 122 (d34, ha34): New inline functions. 123 (Stub_table::add_plt_call_entry): Handle powerxx_stubs. 124 (Stub_table::add_eh_frame): Likewise. 125 (build_powerxx_offset): New function. 126 (Stub_table::plt_call_size): Handle powerxx_stubs. 127 (Stub_table::branch_stub_size): Likewise. 128 (Stub_table::do_write): Likewise. 129 (Target_powerpc::Scan::get_reference_flags): Handle new relocs. 130 (Target_powerpc::Scan::reloc_needs_plt_for_ifunc: Likewise. 131 (Target_powerpc::Scan::local, global, relocate): Likewise. 132 1332019-07-13 Alan Modra <amodra@gmail.com> 134 135 * ehframe.cc (Fde::operator==): Delete. 136 (Cie::remove_fde): Delete. 137 (Eh_frame::remove_ehframe_for_plt): Delete fde_data and fde_length 138 parameters. Remove all post-map plt FDEs. 139 * ehframe.h (Fde:post_map): Make const, add variant to compare plt. 140 (Fde::operator==): Delete. 141 (Cie::remove_fde): Implement here. 142 (Cie::last_fde): New accessor. 143 (Eh_frame::remove_ehframe_for_plt): Update prototype. 144 * layout.cc (Layout::remove_eh_frame_for_plt): Delete fde_data and 145 fde_length parameters. 146 * layout.h (Layout::remove_eh_frame_for_plt): Update prototype. 147 * powerpc.cc (Stub_table::tls_get_addr_opt_bctrl_): Delete. 148 (Stub_table::plt_fde_len_, plt_fde_, init_plt_fde): Delete. 149 (Stub_table::add_plt_call_entry): Don't set tls_get_addr_opt_bctrl_. 150 (eh_advance): New function. 151 (stub_sort): New function. 152 (Stub_table::add_eh_frame): Emit eh_frame for notoc plt calls and 153 branches as well as __tls_get_addr_opt plt call stub. 154 (Stub_table::remove_eh_frame): Update to suit. 155 1562019-07-13 Alan Modra <amodra@gmail.com> 157 158 * powerpc.cc (Target_powerpc::maybe_skip_tls_get_addr_call): Handle 159 notoc calls. 160 (is_branch_reloc): Template on size. Return true for REL24_NOTOC. 161 Update all callers. 162 (max_branch_delta): Likewise. 163 (Target_powerpc::Branch_info::make_stub): Add a stub for notoc 164 calls to functions needing a valid toc pointer. 165 (Target_powerpc::do_relax): Layout stubs again if any need resize. 166 (add_12_11_12, addi_12_11, addis_12_11, ldx_12_11_12, ori_12_12_0), 167 (oris_12_12_0, sldi_12_12_32): Define. 168 (Stub_table::Plt_stub_ent): Add notoc_ and iter_ fields. 169 (Stub_table::Branch_stub_key, Branch_stub_key_hash): Rename from 170 Branch_stub_ent and Branch_stub_ent hash. Remove save_res_ from key. 171 (Stub_table::Branch_stub_ent): New struct. 172 (class Stub_table): Add need_resize and resizing vars. 173 (Stub_table::need_resize, branch_size): New accessors. 174 (Stub_table::set_resizing): New function. 175 (Stub_table::add_plt_call_entry): Handle notoc calls and resizing 176 on seeing such or a tocsave stubs after a normal stub using the 177 same sym. 178 (Stub_table::add_long_branch_entry): Similarly. 179 (Stub_table::find_long_branch_entry): Return a Branch_stub_ent*. 180 (Stub_table::define_stub_syms): Adjust 181 (Stub_table::build_tls_opt_head, build_tls_opt_tail): New functions. 182 (build_notoc_offset): New function. 183 (Stub_table::plt_call_size): Move out of line. Handle notoc calls. 184 (Stub_table::branch_stub_size): Similarly. 185 (Stub_table::do_write): Separate loop for ELFv2 stubs, handling 186 notoc calls. Simplify ELFv1 loop. Output notoc branch stubs. 187 Use build_tls_opt_head and build_tls_opt_tail. 188 (Target_powerpc::Scan::get_reference_flags): Handle REL24_NOTOC. 189 (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Likewise, 190 and PLTSEQ_NOTOC and PLTCALL_NOTOC. 191 (Target_powerpc::Scan::local, global, relocate): Likewise. 192 1932019-06-28 Alan Modra <amodra@gmail.com> 194 195 * powerpc.cc (Target_powerpc::Relocate::relocate): Don't look 196 at next/previous reloc when relnum is -1. 197 1982019-06-28 Alan Modra <amodra@gmail.com> 199 200 * powerpc.cc (Stub_table::plt_error): New function. 201 (Stub_table::do_write): Use it. 202 (Output_data_glink::do_write): Don't segfault emitting linkage 203 table error. 204 2052019-06-28 Alan Modra <amodra@gmail.com> 206 207 * powerpc.cc (Target_powerpc::Scan::get_reference_flags): Handle 208 REL16_HIGH* relocs. 209 (Target_powerpc::Scan::local): Likewise. 210 (Target_powerpc::Scan::global): Likewise. 211 (Target_powerpc::Relocate::relocate): Likewise. 212 2132019-06-10 Martin Liska <mliska@suse.cz> 214 215 * errors.h: Include string. 216 2172019-05-10 Joshua Oreman <oremanj@hudson-trading.com> 218 219 PR gold/21066 220 * gc.h (gc_process_relocs): Track relocations in .eh_frame sections 221 when ICF is enabled, even though the .eh_frame sections themselves 222 are not foldable. 223 * icf.cc (get_section_contents): Change arguments to permit operation 224 on just part of a section. Include extra identity regions in the 225 referring section's contents recursively. 226 (match_sections): Lock object here instead of in get_section_contents 227 so that get_section_contents can operate recursively. 228 (Icf::add_ehframe_links): New method. 229 (Icf::find_identical_sections): Pass .eh_frame sections to 230 add_ehframe_links(). Increase default iteration count from 2 to 3 231 because handling exception info typically requires one extra iteration. 232 * icf.h (Icf::extra_identity_list_): New data member with accessor. 233 (is_section_foldable_candidate): Include .gcc_except_table sections. 234 * options.h: Update documentation for new default ICF iteration count. 235 * testsuite/Makefile.am (icf_test_pr21066): New test case. 236 * testsuite/Makefile.in: Regenerate. 237 * testsuite/icf_test_pr21066.cc: New source file. 238 * testsuite/icf_test_pr21066.sh: New test script. 239 2402019-02-19 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com> 241 242 PR gold/23870 243 * aarch64.cc (Target_aarch64::Scan::global): Check if a symbol with 244 R_AARCH64_MOVW_.ABS_* relocations requires a PLT entry. 245 * testsuite/Makefile.am: Add aarch64_pr23870 test case. 246 * testsuite/Makefile.in: Regenerate. 247 * testsuite/aarch64_pr23870_bar.c: New file. 248 * testsuite/aarch64_pr23870_foo.c: New file. 249 * testsuite/aarch64_pr23870_main.S: New file. 250 2512019-02-12 Nick Clifton <nickc@redhat.com> 252 253 * po/fr.po: Updated French translation. 254 2552019-01-21 Nick Clifton <nickc@redhat.com> 256 257 * po/uk.po: Updated Ukranian translation. 258 2592019-01-19 Nick Clifton <nickc@redhat.com> 260 261 * po/gold.pot: Regenerate. 262 2632018-06-24 Nick Clifton <nickc@redhat.com> 264 265 2.32 branch created. 266 2672019-01-09 Andrew Paprocki <andrew@ishiboo.com> 268 269 * configure: Regenerate. 270 2712019-01-01 Alan Modra <amodra@gmail.com> 272 273 Update year range in copyright notice of all files. 274 275For older changes see ChangeLog-2018 276 277Copyright (C) 2019 Free Software Foundation, Inc. 278 279Copying and distribution of this file, with or without modification, 280are permitted in any medium without royalty provided the copyright 281notice and this notice are preserved. 282 283Local Variables: 284mode: change-log 285left-margin: 8 286fill-column: 74 287version-control: never 288End: 289