X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=3acaa571c0c79f2fb007c81b444890bf2d4d149f;hb=3f75e1d67fe871db85d46618b95d0dc92291577d;hp=4c6c6941591b3a41f4fcf11c6f9c83850204e104;hpb=d541518bec90502134ea6b348cb2d4f3363d1c70;p=binutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 4c6c6941591..3acaa571c0c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,200 @@ +2020-12-16 Alan Modra + + * elflink.c (elf_flags_to_names): Constify. + +2020-12-16 Alan Modra + + * libxcoff.h (struct xcoff_backend_data_rec): Constify + _xcoff_glink_code. + (XCOFF_RELOC_FUNCTION_ARGS, XCOFF_COMPLAIN_FUNCTION_ARGS): Delete. + (xcoff_reloc_function, xcoff_complain_function): New typedef. + (xcoff_calculate_relocation, xcoff_complain_overflow), + (xcoff_reloc_type_noop, xcoff_reloc_type_fail), + (xcoff_reloc_type_pos, xcoff_reloc_type_neg), + (xcoff_reloc_type_rel, xcoff_reloc_type_toc), + (xcoff_reloc_type_ba, xcoff_reloc_type_crel): Update declaration. + * coff-rs6000.c (xcoff_reloc_type_br): Declare using typedef. + (xcoff_complain_overflow_dont_func): Likewise. + (xcoff_complain_overflow_bitfield_func): Likewise. + (xcoff_complain_overflow_signed_func): Likewise. + (xcoff_complain_overflow_unsigned_func): Likewise. + (xcoff_calculate_relocation, xcoff_complain_overflow): Constify. + (xcoff_glink_code): Constify. + * coff64-rs6000.c (xcoff64_reloc_type_br): Declare using typedef. + (xcoff64_calculate_relocation, xcoff64_glink_code): Constify. + +2020-12-16 Alan Modra + + * elf32-xtensa.c (narrowable, widenable): Constify. + * xtensa-modules.c: Constify many arrays. + +2020-12-16 Alan Modra + + * elf64-ppc.c (synthetic_opd): Constify. + +2020-12-16 Alan Modra + + * arc-plt.h (plt_versions): Constify. + * elf32-arc.c (arc_get_plt_version): Constify return pointer, + adjust uses throughout. + +2020-12-16 Alan Modra + + * coffcode.h (pelength, peheader): Delete static variables. + (coff_apply_checksum): Instead, define them as auto vars, and pass.. + (coff_read_word, coff_compute_checksum): ..to here. Delete + unnecessary forward declarations. + * pei-x86_64.c (pdata_count): Delete static variable. + (struct pex64_paps): New. + (pex64_print_all_pdata_sections, pex64_bfd_print_pdata): Pass + a pex64_paps for counting. + * peicode.h (jtab): Constify. + +2020-12-15 Vivek Das Mohapatra + + * elflink.c (bfd_elf_size_dynamic_sections): Call + _bfd_elf_add_dynamic_entry to add a DT_GNU_FLAGS_1 section. + +2020-12-14 Alan Modra + + * elf-bfd.h (struct elf_obj_tdata): Add being_created. + * elf.c (bfd_section_from_shdr): Delete static vars for loop + detection. Use new tdata variable instead. + * elfcode.h (elf_object_p): Allocate being_created. + +2020-12-10 Nelson Chu + + * elfxx-riscv.c (riscv_ext_dont_care_version): New function. Return + TRUE if we don't care the versions of the extensions. These extensions + are added to the subset list for special purposes, with the explicit + versions or the RISCV_UNKNOWN_VERSION versions. + (riscv_parse_add_subset): If we do care the versions of the extension, + and the versions are unknown, then report errors for the non-implicit + extensions, and return directly for the implicit one. + (riscv_arch_str1): Do not output i extension after e, and the extensions + which versions are unknown. + +2020-12-07 Siddhesh Poyarekar + + PR 26945 + * opncls.c (bfd_fdopenw): New function. + * bfd-in2.h: Regenerate. + +2020-12-07 Alan Modra + + * elf32-csky.c (csky_relocate_contents): Correct negate test. + * cpu-ns32k.c (_bfd_do_ns32k_reloc_contents): Likewise. + * elf32-nds32.c (nds32_relocate_contents): Likewise. + +2020-12-05 Maciej W. Rozycki + + * elf32-vax.c (elf_vax_check_relocs) : Use + SYMBOL_REFERENCES_LOCAL rather than `h->forced_local' to check + whether the symbol referred is local or not. + +2020-12-04 H.J. Lu + + PR ld/27016 + * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Convert load + to mov only for GOTPCRELX relocations. + +2020-12-04 Alan Modra + + PR 26978 + * elflink.c (_bfd_elf_add_default_symbol): Handle the case where + a new weak sym@@ver should be overridden by an existing sym@ver. + (elf_link_add_object_symbols): Don't _bfd_elf_add_default_symbol + for a new weak sym@ver when sym@@ver already exists. + * linker.c (link_action): Choose MIND for previous indirect, + current def, rather than MDEF. + (_bfd_generic_link_add_one_symbol ): Handle redefinition of + weak indirect symbol. + +2020-12-01 Nelson Chu + + * elfxx-riscv.c (riscv_parse_prefixed_ext): Use riscv_compare_subsets + to check the Z* extensions' order. + +2020-12-01 Nelson Chu + + * elfxx-riscv.c (riscv_parse_add_subset): Allow to add g with + RISCV_UNKNOWN_VERSION versions. + (riscv_parse_std_ext): Add g to the subset list, we only use it + to add the implicit extensions, but won't output it to arch string. + (riscv_parse_add_implicit_subsets): Add implicit zicsr and zifencei + for g extension. + (riscv_arch_str1): Do not output g to the arch string. + * elfxx-riscv.h (RISCV_UNKNOWN_VERSION): Moved to include/opcode/riscv.h. + +2020-12-01 Nelson Chu + + * elfnn-riscv.c (riscv_merge_std_ext): Updated since + riscv_lookup_subset is changed. + * elfxx-riscv.c (riscv_ext_order): New Array used to compare the + extensions' order quickly. + (riscv_init_ext_order): New function. Init the riscv_ext_order + according to the riscv_supported_std_ext and parse_config[i].class + automatically. + (riscv_compare_subsets): New function. Similar to the strcmp, but + compare the subsets with the specific order. + (riscv_lookup_subset): Return TRUE and set `current` to the subset + if it is found. Otherwise, return FALSE and set `current` to the + place where we should insert the subset. + (riscv_add_implicit_subset): New function. Search the list first, + and then find the right place to add the implicit_subset. + (riscv_parse_add_subset): Since We have to add all arch string + extensions first, and then start to add their implicit extensions. + We can add arch string extensions in order by the original + riscv_add_subset, and then add the implicit subsets by the + riscv_add_implicit_subset. Besides, do not add the implicit + extensions if we failed to find their default versions. + (riscv_parse_std_ext): Updated. + (riscv_parse_add_implicit_subsets): New function. Add all implicit + extensions according to the arch string extensions. + (riscv_parse_subset): Call riscv_init_ext_order and + riscv_parse_add_implicit_subsets, before and after parsing the + arch string. Remove parts of the ISA conflict checking since + the implicit extensions are added. + * elfxx-riscv.h (riscv_lookup_subset): Updated. + +2020-12-01 Nelson Chu + + * elfxx-riscv.c (riscv_lookup_subset): Moved to front. + (riscv_add_subset): Likewise. + (riscv_release_subset_list): Likewise. + (riscv_parse_add_subset): New function. Find and check the + versions before adding them by riscv_add_subset. + (riscv_parsing_subset_version): Remove use_default_version + and change the version type from unsigned to int. Set the + versions to RISCV_UNKNOWN_VERSION if we can not find them + in the arch string. + (riscv_parse_std_ext): Updated. + (riscv_parse_prefixed_ext): Updated. Since we use as_bad + rather than as_fatal to report more errors, return NULL + string if the parsed end_of_version is NULL, too. + (riscv_parse_subset): Use a new boolean, no_conflict, to + report more errors when we have more than one ISA conflicts. + * elfxx-riscv.h (RISCV_DONT_CARE_VERSION): Changed to + RISCV_UNKNOWN_VERSION. + (riscv_lookup_subset_version): Removed. + (riscv_parse_subset_t): Updated. + +2020-12-01 Nelson Chu + + * elfxx-riscv.c (riscv_parse_std_ext): Stop parsing standard + extensions when parsed h keyword. + (riscv_get_prefix_class): Support prefixed h class. + (riscv_std_h_ext_strtab): Likewise. + (riscv_ext_h_valid_p): Likewise. + (parse_config): Likewise. + (riscv_std_z_ext_strtab): Add zifencei. + * elfxx-riscv.h (riscv_isa_ext_class): Add RV_ISA_CLASS_H. + +2020-12-01 Nelson Chu + + * elfxx-riscv.c (riscv_parse_subset): ISA string cannot contain + any uppercase letter. + 2020-12-01 Nelson Chu * elfxx-riscv.c: Re-indent codes, unify and improve the error