351cdf24d2
Specification: https://dmz-portal.mips.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking include/ * elf/mips.h (PT_MIPS_ABIFLAGS, SHT_MIPS_ABIFLAGS): Define. (Val_GNU_MIPS_ABI_FP_OLD_64): Rename from Val_GNU_MIPS_ABI_FP_64. (Val_GNU_MIPS_ABI_FP_64): Redefine. (Val_GNU_MIPS_ABI_FP_XX): Define. (Elf_External_ABIFlags_v0, Elf_Internal_ABIFlags_v0): New structures. (AFL_REG_NONE, AFL_REG_32, AFL_REG_64, AFL_REG_128): Define. (AFL_ASE_DSP, AFL_ASE_DSPR2, AFL_ASE_EVA, AFL_ASE_MCU): Likewise. (AFL_ASE_MDMX, AFL_ASE_MIPS3D, AFL_ASE_MT, AFL_ASE_SMARTMIPS): Likewise. (AFL_ASE_VIRT, AFL_ASE_MSA, AFL_ASE_MIPS16): Likewise. (AFL_ASE_MICROMIPS, AFL_ASE_XPA): Likewise. (AFL_EXT_XLR, AFL_EXT_OCTEON2, AFL_EXT_OCTEONP): Likewise. (AFL_EXT_LOONGSON_3A, AFL_EXT_OCTEON, AFL_EXT_5900): Likewise. (AFL_EXT_4650, AFL_EXT_4010, AFL_EXT_4100, AFL_EXT_3900): Likewise. (AFL_EXT_10000, AFL_EXT_SB1, AFL_EXT_4111, AFL_EXT_4120): Likewise. (AFL_EXT_5400, AFL_EXT_5500, AFL_EXT_LOONGSON_2E): Likewise. (AFL_EXT_LOONGSON_2F): Likewise. (bfd_mips_elf_swap_abiflags_v0_in): Prototype. (bfd_mips_elf_swap_abiflags_v0_out): Likewise. (bfd_mips_isa_ext): Likewise. bfd/ * elfxx-mips.c (ABI_O32_P, MIPS_ELF_ABIFLAGS_SECTION_NAME_P): New macro. (mips_elf_obj_tdata): Add abiflags and abiflags_valid fields. (bfd_mips_elf_swap_abiflags_v0_in): New function. (bfd_mips_elf_swap_abiflags_v0_out): Likewise. (_bfd_mips_elf_section_from_shdr): Handle SHT_MIPS_ABIFLAGS. (_bfd_mips_elf_fake_sections): Likewise. (_bfd_mips_elf_always_size_sections): Handle .MIPS.abiflags. (_bfd_mips_elf_additional_program_headers): Account for new PT_MIPS_ABIFLAGS program header. (_bfd_mips_elf_modify_segment_map): Create PT_MIPS_ABIFLAGS segment and associate with .MIPS.abiflags. (_bfd_mips_elf_gc_mark_extra_sections): New function. (bfd_mips_isa_ext, update_mips_abiflags_isa): New static function. (infer_mips_abiflags): Likewise. (_bfd_mips_elf_final_link): Handle .MIPS.abiflags. (mips_32bit_flags_p): Moved higher. (mips_elf_merge_obj_attributes, _bfd_mips_fp_abi_string): Error checking for FP ABIs. (_bfd_mips_elf_merge_private_bfd_data): Restructure and add abiflags checks. Check EF_MIPS_FP64 flag consistency. (print_mips_ases, print_mips_isa_ext): New static function. (print_mips_fp_abi_value, get_mips_reg_size): Likewise. (_bfd_mips_elf_print_private_bfd_data): Display abiflags data. (_bfd_mips_post_process_headers): Set EI_ABIVERSION = 3 for Val_GNU_MIPS_ABI_FP_64 or Val_GNU_MIPS_ABI_FP_64A. * elfxx-mips.h (_bfd_mips_elf_gc_mark_extra_sections): New prototype. * elf32-mips.c (elf_backend_gc_mark_extra_sections): Implement. * elfn32-mips.c (elf_backend_gc_mark_extra_sections): Implement. * elf64-mips.c (elf_backend_gc_mark_extra_sections): Implement. binutils/ * readelf.c (get_mips_segment_type): Display name for PT_MIPS_ABIFLAGS. (get_mips_section_type_name): Display name for SHT_MIPS_ABIFLAGS. (display_mips_gnu_attribute): Abstracted fp abi printing to... (print_mips_fp_abi_value): New static function. Handle new FP ABIs. (print_mips_ases, print_mips_isa_ext): New static functions. (get_mips_reg_size): Likewise. (process_mips_specific): Display abiflags data. elfcpp/ * elfcpp.h (PT_MIPS_ABIFLAGS): New program header type. gas/ * config/tc-mips.c (mips_flags_frag): New static global. (struct mips_set_options): Add oddspreg field. (file_mips_opts, mips_opts): Initialize oddspreg. (ISA_HAS_ODD_SINGLE_FPR): Add CPU argument and update for R5900 and Loongson-3a. (enum options, md_longopts, md_parse_option): Add -mfpxx, -modd-spreg and -mno-odd-spreg options. (md_begin): Create .MIPS.abiflags section. (fpabi_incompatible_with, fpabi_requires): New static function. (check_fpabi): Likewise. (mips_check_options): Handle fp=xx and oddspreg restrictions. (file_mips_check_options): Set oddspreg by default for fp=xx. (mips_oddfpreg_ok): Re-write function. (check_regno): Check odd numbered registers regardless of FPR size. For fp != 32 use as_bad instead of as_warn. (match_float_constant): Rewrite check regarding FP register width. Add support for generating constants when MXHC1 is present. Handle fp=xx to comply with the ABI. (macro): Update M_LI_DD similarly to match_float_constant. Generate MTHC1 when available. Check that correct code can be generated for fp=xx and fp=64 ABIs. (parse_code_option, s_mipsset): Add fp=xx, oddspreg and nooddspreg options. (mips_convert_ase_flags): New static function. (mips_elf_final_processing): Use fpabi == Val_GNU_MIPS_ABI_FP_OLD_64 to determine when to add the EF_MIPS_FP64 flag. Populate the .MIPS.abiflags section. (md_mips_end): Update .gnu_attribute based on command line and .module as applicable. Use check_fpabi to ensure .gnu.attribute and command line/.module options are consistent. * doc/as.texinfo: Add missing -mgp64/-mfp64 options and document new -mfpxx, -modd-spreg and -mno-odd-spreg options. * doc/c-mips.texi: Document -mfpxx, -modd-spreg, -mno-odd-spreg, gnu_attribute values and FP ABIs. ld/ * emulparams/elf32bmip.sh: Add .MIPS.abiflags. * emulparams/elf32bmipn32-defs.sh: Likewise. * emulparams/elf64bmip-defs.sh: Likewise. opcodes/ * micromips-opc.c (COD, LCD) New macros. (cfc1, ctc1): Remove FP_S attribute. (dmfc1, mfc1, mfhc1): Add LCD attribute. (dmtc1, mtc1, mthc1): Add COD attribute. * mips-opc.c (cfc1, cftc1, ctc, cttc1): Remove FP_S attribute. binutils/testsuite/ * binutils-all/readelf.s: Account for .MIPS.abiflags and .gnu.attributes. * binutils-all/readelf.ss-tmips: Likewise. * binutils-all/strip-3.d: Likewise. gas/testsuite/ * gas/mips/attr-gnu-4-0.d: New. * gas/mips/attr-gnu-4-0.s: Likewise. * gas/mips/attr-gnu-4-1-mfp32.l: Likewise. * gas/mips/attr-gnu-4-1-mfp32.s: Likewise. * gas/mips/attr-gnu-4-1-mfp64.l: Likewise. * gas/mips/attr-gnu-4-1-mfp64.s: Likewise. * gas/mips/attr-gnu-4-1-mfpxx.s: Likewise. * gas/mips/attr-gnu-4-1-msingle-float.l: Likewise. * gas/mips/attr-gnu-4-1-msingle-float.s: Likewise. * gas/mips/attr-gnu-4-1-msoft-float.l: Likewise. * gas/mips/attr-gnu-4-1-msoft-float.s: Likewise. * gas/mips/attr-gnu-4-1.d: Likewise. * gas/mips/attr-gnu-4-1.s: Likewise. * gas/mips/attr-gnu-4-2-mdouble-float.l: Likewise. * gas/mips/attr-gnu-4-2-mdouble-float.s: Likewise. * gas/mips/attr-gnu-4-2-msoft-float.l: Likewise. * gas/mips/attr-gnu-4-2-msoft-float.s: Likewise. * gas/mips/attr-gnu-4-2.d: Likewise. * gas/mips/attr-gnu-4-2.s: Likewise. * gas/mips/attr-gnu-4-3-mhard-float.l: Likewise. * gas/mips/attr-gnu-4-3-mhard-float.s: Likewise. * gas/mips/attr-gnu-4-3.d: Likewise. * gas/mips/attr-gnu-4-3.s: Likewise. * gas/mips/attr-gnu-4-4.l: Likewise. * gas/mips/attr-gnu-4-4.s: Likewise. * gas/mips/attr-gnu-4-5-64.l: Likewise. * gas/mips/attr-gnu-4-5-64.s: Likewise. * gas/mips/attr-gnu-4-5.d: Likewise. * gas/mips/attr-gnu-4-5.l: Likewise. * gas/mips/attr-gnu-4-5.s: Likewise. * gas/mips/attr-gnu-4-6-64.l: Likewise. * gas/mips/attr-gnu-4-6-64.s: Likewise. * gas/mips/attr-gnu-4-6.d: Likewise. * gas/mips/attr-gnu-4-6.l: Likewise. * gas/mips/attr-gnu-4-6.s: Likewise. * gas/mips/attr-gnu-4-6-msingle-float.l: Likewise. * gas/mips/attr-gnu-4-6-msingle-float.s: Likewise. * gas/mips/attr-gnu-4-6-msoft-float.l: Likewise. * gas/mips/attr-gnu-4-6-msoft-float.s: Likewise. * gas/mips/attr-gnu-4-6-noodd.l: Likewise. * gas/mips/attr-gnu-4-6-noodd.s: Likewise. * gas/mips/attr-gnu-4-7-64.l: Likewise. * gas/mips/attr-gnu-4-7-64.s: Likewise. * gas/mips/attr-gnu-4-7-msingle-float.l: Likewise. * gas/mips/attr-gnu-4-7-msingle-float.s: Likewise. * gas/mips/attr-gnu-4-7-msoft-float.l: Likewise. * gas/mips/attr-gnu-4-7-msoft-float.s: Likewise. * gas/mips/attr-gnu-4-7-odd.l: Likewise. * gas/mips/attr-gnu-4-7-odd.s: Likewise. * gas/mips/attr-gnu-4-7.d: Likewise. * gas/mips/attr-gnu-4-7.l: Likewise. * gas/mips/attr-gnu-4-7.s: Likewise. * gas/mips/attr-none-double.d: Likewise. * gas/mips/attr-none-o32-fp64.d: Likewise. * gas/mips/attr-none-o32-fp64-nooddspreg.d * gas/mips/attr-none-o32-fpxx.d: Likewise. * gas/mips/attr-none-single-float.d: Likewise. * gas/mips/attr-none-soft-float.d: Likewise. * gas/mips/elf_arch_mips32r3.d: Likewise. * gas/mips/elf_arch_mips32r5.d: Likewise. * gas/mips/elf_arch_mips64r3.d: Likewise. * gas/mips/elf_arch_mips64r5.d: Likewise. * gas/mips/li-d.d: Likewise. * gas/mips/li-d.s: Likewise. * gas/mips/module-check-warn.l: Likewise. * gas/mips/module-check-warn.s: Likewise. * gas/mips/module-check.d: Likewise. * gas/mips/module-check.s: Likewise. * gas/mips/module-mfp32.d: Likewise. * gas/mips/module-mfp32.s: Likewise. * gas/mips/module-mfp64.d: Likewise. * gas/mips/module-mfp64.s: Likewise. * gas/mips/module-mfp64-noodd.d: Likewise. * gas/mips/module-mfp64-noodd.s: Likewise. * gas/mips/module-mfpxx.d: Likewise. * gas/mips/module-mfpxx.s: Likewise. * gas/mips/module-msingle-float.d: Likewise. * gas/mips/module-msingle-float.s: Likewise. * gas/mips/module-msoft-float.d: Likewise. * gas/mips/module-msoft-float.s: Likewise. * gas/mips/module-set-mfpxx.d: Likewise. * gas/mips/module-set-mfpxx.s: Likewise. * gas/mips/fpxx-oddfpreg.d: Likewise. * gas/mips/fpxx-oddfpreg.l: Likewise. * gas/mips/fpxx-oddfpreg.s: Likewise. * gas/mips/no-odd-spreg.d: Likewise. * gas/mips/odd-spreg.d: Likewise. * gas/elf/section2.e-mips: Adjust expected output. * gas/mips/attr-gnu-abi-fp-1.d: Likewise. * gas/mips/attr-gnu-abi-msa-1.d: Likewise. * gas/mips/call-nonpic-1.d: Likewise. * gas/mips/elf_arch_mips1.d: Likewise. * gas/mips/elf_arch_mips2.d: Likewise. * gas/mips/elf_arch_mips3.d: Likewise. * gas/mips/elf_arch_mips32.d: Likewise. * gas/mips/elf_arch_mips32r2.d: Likewise. * gas/mips/elf_arch_mips4.d: Likewise. * gas/mips/elf_arch_mips5.d: Likewise. * gas/mips/elf_arch_mips64.d: Likewise. * gas/mips/elf_arch_mips64r2.d: Likewise. * gas/mips/elf_ase_micromips-2.d: Likewise. * gas/mips/elf_ase_micromips.d: Likewise. * gas/mips/elf_ase_mips16-2.d: Likewise. * gas/mips/elf_ase_mips16.d: Likewise. * gas/mips/module-defer-warn1.d: Likewise. * gas/mips/module-override.d: Likewise. * gas/mips/n32-consec.d: Likewise. * gas/mips/nan-2008-1.d: Likewise. * gas/mips/nan-2008-2.d: Likewise. * gas/mips/nan-2008-3.d: Likewise. * gas/mips/nan-2008-4.d: Likewise. * gas/mips/nan-legacy-1.d: Likewise. * gas/mips/nan-legacy-2.d: Likewise. * gas/mips/nan-legacy-3.d: Likewise. * gas/mips/nan-legacy-4.d: Likewise. * gas/mips/nan-legacy-5.d: Likewise. * gas/mips/tmips16-e.d: Likewise. * gas/mips/tmips16-f.d: Likewise. * gas/mips/tmipsel16-e.d: Likewise. * gas/mips/tmipsel16-f.d: Likewise. * gas/testsuite/gas/mips/mips.exp: Add new tests. ld/testsuite/ * ld-mips-elf/abiflags-strip1-ph.d: New. * ld-mips-elf/abiflags-strip2-ph.d: Likewise. * ld-mips-elf/abiflags-strip3-ph.d: Likewise. * ld-mips-elf/abiflags-strip4-ph.d: Likewise. * ld-mips-elf/abiflags-strip5-ph.d: Likewise. * ld-mips-elf/abiflags-strip6-ph.d: Likewise. * ld-mips-elf/abiflags-strip7-ph.d: Likewise. * ld-mips-elf/abiflags-strip8-ph.d: Likewise. * ld-mips-elf/abiflags-strip9-ph.d: Likewise. * ld-mips-elf/attr-gnu-4-0-n32-ph.d: Likewise. * ld-mips-elf/attr-gnu-4-0-n64-ph.d: Likewise. * ld-mips-elf/attr-gnu-4-0-ph.d: Likewise. * ld-mips-elf/attr-gnu-4-06.d: Likewise. * ld-mips-elf/attr-gnu-4-07.d: Likewise. * ld-mips-elf/attr-gnu-4-08.d: Likewise. * ld-mips-elf/attr-gnu-4-1-n32-ph.d: Likewise. * ld-mips-elf/attr-gnu-4-1-n64-ph.d: Likewise. * ld-mips-elf/attr-gnu-4-1-ph.d: Likewise. * ld-mips-elf/attr-gnu-4-16.d: Likewise. * ld-mips-elf/attr-gnu-4-17.d: Likewise. * ld-mips-elf/attr-gnu-4-18.d: Likewise. * ld-mips-elf/attr-gnu-4-2-n32-ph.d: Likewise. * ld-mips-elf/attr-gnu-4-2-n64-ph.d: Likewise. * ld-mips-elf/attr-gnu-4-2-ph.d: Likewise. * ld-mips-elf/attr-gnu-4-26.d: Likewise. * ld-mips-elf/attr-gnu-4-27.d: Likewise. * ld-mips-elf/attr-gnu-4-28.d: Likewise. * ld-mips-elf/attr-gnu-4-3-n32-ph.d: Likewise. * ld-mips-elf/attr-gnu-4-3-n64-ph.d: Likewise. * ld-mips-elf/attr-gnu-4-3-ph.d: Likewise. * ld-mips-elf/attr-gnu-4-36.d: Likewise. * ld-mips-elf/attr-gnu-4-37.d: Likewise. * ld-mips-elf/attr-gnu-4-38.d: Likewise. * ld-mips-elf/attr-gnu-4-4-ph.d: Likewise. * ld-mips-elf/attr-gnu-4-46.d: Likewise. * ld-mips-elf/attr-gnu-4-47.d: Likewise. * ld-mips-elf/attr-gnu-4-48.d: Likewise. * ld-mips-elf/attr-gnu-4-5-ph.d: Likewise. * ld-mips-elf/attr-gnu-4-50.d: Likewise. * ld-mips-elf/attr-gnu-4-52.d: Likewise. * ld-mips-elf/attr-gnu-4-53.d: Likewise. * ld-mips-elf/attr-gnu-4-54.d: Likewise. * ld-mips-elf/attr-gnu-4-55.d: Likewise. * ld-mips-elf/attr-gnu-4-56.d: Likewise. * ld-mips-elf/attr-gnu-4-57.d: Likewise. * ld-mips-elf/attr-gnu-4-58.d: Likewise. * ld-mips-elf/attr-gnu-4-6-ph.d: Likewise. * ld-mips-elf/attr-gnu-4-6.s: Likewise. * ld-mips-elf/attr-gnu-4-60.d: Likewise. * ld-mips-elf/attr-gnu-4-61.d: Likewise. * ld-mips-elf/attr-gnu-4-62.d: Likewise. * ld-mips-elf/attr-gnu-4-63.d: Likewise. * ld-mips-elf/attr-gnu-4-64.d: Likewise. * ld-mips-elf/attr-gnu-4-65.d: Likewise. * ld-mips-elf/attr-gnu-4-66.d: Likewise. * ld-mips-elf/attr-gnu-4-67.d: Likewise. * ld-mips-elf/attr-gnu-4-68.d: Likewise. * ld-mips-elf/attr-gnu-4-7-ph.d: Likewise. * ld-mips-elf/attr-gnu-4-7.s: Likewise. * ld-mips-elf/attr-gnu-4-70.d: Likewise. * ld-mips-elf/attr-gnu-4-71.d: Likewise. * ld-mips-elf/attr-gnu-4-72.d: Likewise. * ld-mips-elf/attr-gnu-4-73.d: Likewise. * ld-mips-elf/attr-gnu-4-74.d: Likewise. * ld-mips-elf/attr-gnu-4-75.d: Likewise. * ld-mips-elf/attr-gnu-4-76.d: Likewise. * ld-mips-elf/attr-gnu-4-77.d: Likewise. * ld-mips-elf/attr-gnu-4-78.d: Likewise. * ld-mips-elf/attr-gnu-4-8.s: Likewise. * ld-mips-elf/attr-gnu-4-81.d: Likewise. * ld-mips-elf/empty.s: Likewise. * ld-mips-elf/attr-gnu-4-00.d: Adjust expected output. * ld-mips-elf/attr-gnu-4-01.d: Likewise. * ld-mips-elf/attr-gnu-4-02.d: Likewise. * ld-mips-elf/attr-gnu-4-03.d: Likewise. * ld-mips-elf/attr-gnu-4-04.d: Likewise. * ld-mips-elf/attr-gnu-4-05.d: Likewise. * ld-mips-elf/attr-gnu-4-10.d: Likewise. * ld-mips-elf/attr-gnu-4-11.d: Likewise. * ld-mips-elf/attr-gnu-4-14.d: Likewise. * ld-mips-elf/attr-gnu-4-15.d: Likewise. * ld-mips-elf/attr-gnu-4-2.s: Likewise. * ld-mips-elf/attr-gnu-4-20.d: Likewise. * ld-mips-elf/attr-gnu-4-22.d: Likewise. * ld-mips-elf/attr-gnu-4-24.d: Likewise. * ld-mips-elf/attr-gnu-4-25.d: Likewise. * ld-mips-elf/attr-gnu-4-3.s: Likewise. * ld-mips-elf/attr-gnu-4-30.d: Likewise. * ld-mips-elf/attr-gnu-4-33.d: Likewise. * ld-mips-elf/attr-gnu-4-34.d: Likewise. * ld-mips-elf/attr-gnu-4-35.d: Likewise. * ld-mips-elf/attr-gnu-4-40.d: Likewise. * ld-mips-elf/attr-gnu-4-41.d: Likewise. * ld-mips-elf/attr-gnu-4-42.d: Likewise. * ld-mips-elf/attr-gnu-4-43.d: Likewise. * ld-mips-elf/attr-gnu-4-44.d: Likewise. * ld-mips-elf/attr-gnu-4-45.d: Likewise. * ld-mips-elf/attr-gnu-4-5.s: Likewise. * ld-mips-elf/attr-gnu-4-51.d: Likewise. * ld-mips-elf/attr-gnu-8-00.d: Likewise. * ld-mips-elf/attr-gnu-8-01.d: Likewise. * ld-mips-elf/attr-gnu-8-02.d: Likewise. * ld-mips-elf/attr-gnu-8-10.d: Likewise. * ld-mips-elf/attr-gnu-8-11.d: Likewise. * ld-mips-elf/attr-gnu-8-20.d: Likewise. * ld-mips-elf/attr-gnu-8-22.d: Likewise. * ld-mips-elf/jalx-2.dd: Likewise. * ld-mips-elf/mips16-pic-1.gd: Likewise. * ld-mips-elf/mips16-pic-2.gd: Likewise. * ld-mips-elf/mips16-pic-3.gd: Likewise. * ld-mips-elf/mips16-pic-4a.gd: Likewise. * ld-mips-elf/multi-got-no-shared.d: Likewise. * ld-mips-elf/nan-2008.d: Likewise. * ld-mips-elf/nan-legacy.d: Rework test. * ld-mips-elf/pic-and-nonpic-3a.gd: Likewise. * ld-mips-elf/pic-and-nonpic-3b.gd: Likewise. * ld-mips-elf/pic-and-nonpic-5b.gd: Likewise. * ld-mips-elf/pic-and-nonpic-6.ld: Likewise. * ld-mips-elf/rel32-n32.d: Likewise. * ld-mips-elf/rel32-o32.d: Likewise. * ld-mips-elf/rel64.d: Likewise. * ld-mips-elf/tls-multi-got-1.r: Likewise. * ld-elf/group.ld: Discard .MIPS.abiflags and .gnu.attributes. * ld-elf/orphan-region.ld: Likewise. * ld-elf/orphan.ld: Likewise. * ld-mips-elf/compressed-plt-1.ld: Likewise. * ld-mips-elf/dyn-sec64.ld: Likewise. * ld-mips-elf/got-dump-1.ld: Likewise. * ld-mips-elf/got-dump-2.ld: Likewise. * ld-mips-elf/got-page-1.ld: Likewise. * ld-mips-elf/mips-dyn.ld: Likewise. * ld-mips-elf/mips-lib.ld: Likewise. * ld-mips-elf/pic-and-nonpic-3a.ld: Likewise. * ld-mips-elf/pic-and-nonpic-3b.ld: Likewise. * ld-mips-elf/pic-and-nonpic-4b.ld: Likewise. * ld-mips-elf/pic-and-nonpic-5b.ld: Likewise. * ld-mips-elf/region1.t: Likewise. * ld-mips-elf/stub-dynsym-1.ld: Likewise. * ld-mips-elf/tls-hidden3.ld: Likewise. * ld-mips-elf/vxworks1.ld: Likewise. * ld-scripts/overlay-size.t: Likewise. * ld-mips-elf/elf-rel-got-n32-embed.d: Remove .MIPS.abiflags from objects. * ld-mips-elf/elf-rel-got-n32.d: Likewise. * ld-mips-elf/elf-rel-got-n64-embed.d: Likewise. * ld-mips-elf/elf-rel-got-n64-linux.d: Likewise. * ld-mips-elf/elf-rel-got-n64.d: Likewise. * ld-mips-elf/elf-rel-xgot-n32.d: Likewise. * ld-mips-elf/elf-rel-xgot-n32-embed.d: Likewise. * ld-mips-elf/elf-rel-xgot-n64.d: Likewise. * ld-mips-elf/elf-rel-xgot-n64-linux.d: Likewise. * ld-mips-elf/elf-rel-xgot-n64-embed.d: Likewise. * ld-mips-elf/mips-elf.exp: Add new tests.
320 lines
9.5 KiB
Text
320 lines
9.5 KiB
Text
2014-07-29 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
* readelf.c (get_mips_segment_type): Display name for PT_MIPS_ABIFLAGS.
|
||
(get_mips_section_type_name): Display name for SHT_MIPS_ABIFLAGS.
|
||
(display_mips_gnu_attribute): Abstracted fp abi printing to...
|
||
(print_mips_fp_abi_value): New static function. Handle new FP ABIs.
|
||
(print_mips_ases, print_mips_isa_ext): New static functions.
|
||
(get_mips_reg_size): Likewise.
|
||
(process_mips_specific): Display abiflags data.
|
||
|
||
2014-07-28 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 13227
|
||
* nm.c (filter_symbols): Warn on __gnu_lto_slim.
|
||
|
||
2014-07-07 Nick Clifton <nickc@redhat.com>
|
||
|
||
* readelf.c (get_symbol_type): Revert accidental change to
|
||
detection of thumb function symbols.
|
||
|
||
2014-07-04 Alan Modra <amodra@gmail.com>
|
||
|
||
* configure.ac: Rename from configure.in.
|
||
* Makefile.in: Regenerate.
|
||
* config.in: Regenerate.
|
||
* doc/Makefile.in: Regenerate.
|
||
|
||
2014-07-04 Alan Modra <amodra@gmail.com>
|
||
|
||
* configure.in: Include bfd/version.m4.
|
||
(AC_INIT, AM_INIT_AUTOMAKE): Use modern form.
|
||
(BFD_VERSION): Delete.
|
||
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Remove bfd/configure.in.
|
||
* configure: Regenerate.
|
||
* Makefile.in: Regenerate.
|
||
* doc/Makefile.in: Regenerate.
|
||
|
||
2014-07-03 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* doc/binutils.texi: Clarify addr2line output.
|
||
|
||
2014-07-01 Alan Modra <amodra@gmail.com>
|
||
|
||
* objdump.c (dump_bfd_header): Don't print HAS_LOAD_PAGE.
|
||
|
||
2014-06-26 Erik Akermann <kurterikackermann@gmail.com>
|
||
|
||
* strings.c: Add -w/--include-all-whitespace option to include any
|
||
whitespace character in the displayed strings.
|
||
* NEWS: Mention the new feature.
|
||
* doc/binutils.texi (strings): Document the new command line
|
||
option.
|
||
|
||
2014-06-26 Nick Clifton <nickc@redhat.com>
|
||
|
||
* readelf.c (process_note_sections): If there are no note sections
|
||
try processing note segments instead.
|
||
|
||
2014-06-17 Anton Lavrentiwev <lavr@ncbi.nim.nih.gov>
|
||
|
||
PR binutils/16923
|
||
* rcparse.y (fixedverinfo): Prevent large version numbers from
|
||
corrupting other values.
|
||
|
||
2014-06-09 Romain Chastenet <romain.chastenet@free.fr>
|
||
|
||
PR binutils/16252
|
||
* dwarf.c (display_debug_frames): Remember the state of the
|
||
cfa_offset, cfa_reg, ra and cfa_exp field
|
||
|
||
2014-06-05 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
|
||
bfd's development.sh.
|
||
* Makefile.in, configure: Regenerate.
|
||
|
||
2014-05-16 Jon Turney <jon.turney@dronecode.org.uk>
|
||
|
||
* objcopy.c (is_nondebug_keep_contents_section): New function.
|
||
(setup_section): Use it.
|
||
|
||
2014-05-16 Kaushik Phata <Kaushik.Phatak@kpit.com>
|
||
|
||
* readelf.c (get_machine_flags): Handle RL78 64-bit doubles flag.
|
||
|
||
2014-05-02 Alan Modra <amodra@gmail.com>
|
||
|
||
* emul_aix.c: Update bfd target vector naming.
|
||
* testsuite/binutils-all/objcopy.exp: Likewise.
|
||
|
||
2014-04-24 Christian Svensson <blue@cmd.nu>
|
||
|
||
* MAINTAINERS: Add myself and Stefan as OR1K maintainers.
|
||
|
||
2014-04-23 Andrew Bennett <andrew.bennett@imgtec.com>
|
||
|
||
* doc/binutils.texi: Document the disassemble MIPS XPA instructions
|
||
command line option.
|
||
|
||
2014-04-22 Christian Svensson <blue@cmd.nu>
|
||
|
||
* readelf.c: Remove openrisc and or32 support. Add support for or1k.
|
||
|
||
2014-04-18 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* od-macho.c (dump_section_map): Adjust as load commands
|
||
are now chained.
|
||
(dump_load_command, dump_section_content): Likewise.
|
||
|
||
2014-04-16 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* od-macho.c (OPT_DYLD_INFO): New macro.
|
||
(options): Add entry for dyld_info.
|
||
(mach_o_help): Likewise.
|
||
(load_and_dump, dump_dyld_info_rebase, dump_dyld_info_bind)
|
||
(dump_dyld_info_export_1, dump_dyld_info_export): New functions.
|
||
(bfd_mach_o_dyld_rebase_type_name): New array.
|
||
(export_info_data): New struct.
|
||
(dump_dyld_info): Add verbose argument. Dump rebase, bind and
|
||
exports data.
|
||
(dump_load_command): Adjust dump_dyld_info call.
|
||
(mach_o_dump): Handle dyld_info.
|
||
|
||
2014-04-16 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* od-macho.c (dump_header): Display sizeofcmds in decimal too.
|
||
(dump_segment): Reformat output.
|
||
(dump_dyld_info): Also display end offsets.
|
||
(dump_load_command): Add IDX argument, display commands size
|
||
and offset, reformat display.
|
||
(dump_load_commands): Adjust for added argument.
|
||
|
||
2014-04-07 Alan Modra <amodra@gmail.com>
|
||
|
||
PR binutils/16811
|
||
* objcopy.c (copy_object): Error if no sections.
|
||
|
||
2014-04-03 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||
|
||
PR binutils/14698
|
||
ar.c: Set plugin_target early if plugins are supported.
|
||
nm.c: Likewise.
|
||
|
||
2014-04-03 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* od-macho.c (printf_uint64): New function.
|
||
(dump_load_command, dump_obj_compact_unwind): Use it.
|
||
(dump_exe_compact_unwind): Display personality functions.
|
||
|
||
2014-04-02 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* od-macho.c (OPT_TWOLEVEL_HINTS): New macro.
|
||
(options): Add entry for twolevel_hints.
|
||
(dump_data_in_code): Fix error message.
|
||
(dump_twolevel_hints): New function.
|
||
(dump_load_command): Handle prebound dylib, prebind cksum
|
||
and twolevel hints.
|
||
(mach_o_dump): Handle twolevel hints.
|
||
|
||
2014-04-01 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* od-macho.c (OPT_DATA_IN_CODE): New macro.
|
||
(options): Add entry for data in code.
|
||
(mach_o_help): Ditto.
|
||
(data_in_code_kind_name): New array.
|
||
(dump_data_in_code): New function.
|
||
(dump_load_command): Handle data in code.
|
||
(mach_o_dump): Ditto.
|
||
(dump_header): Display a terminal newline.
|
||
|
||
2014-03-27 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* od-macho.c (dump_load_command): Display value for
|
||
BFD_MACH_O_LC_DYLD_ENVIRONMENT. Handle BFD_MACH_O_LC_DATA_IN_CODE
|
||
and BFD_MACH_O_LC_DYLIB_CODE_SIGN_DRS.
|
||
|
||
2014-03-27 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* od-macho.c (OPT_FUNCTION_STARTS): New macro.
|
||
(options): Add entry for function_starts.
|
||
(mach_o_help): Ditto.
|
||
(disp_segment_prot): New function.
|
||
(dump_section_map): Call disp_segment_prot.
|
||
(dump_function_starts): New function.
|
||
(dump_obj_compact_unwind): Fix ouput indentation.
|
||
(dump_exe_compact_unwind): Fix ouput indentation.
|
||
(mach_o_dump): Handle function_starts.
|
||
|
||
2014-03-26 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* od-macho.c (bfd_mach_o_cpu_name): Add BFD_MACH_O_CPU_TYPE_ARM64.
|
||
|
||
2014-03-24 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* objdump.c (load_specific_debug_section): Set address of section.
|
||
|
||
2014-03-24 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* od-macho.c (dump_unwind_encoding_x86): Set the factor.
|
||
(dump_exe_compact_unwind): Change the condition. Improve
|
||
indentation.
|
||
|
||
2014-03-20 Nick Clifton <nickc@redhat.com>
|
||
|
||
* readelf.c (process_version_sections): Fix off-by-one error in
|
||
previous delta.
|
||
|
||
2014-03-19 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR binutils/16723
|
||
* readelf.c (process_version_sections): Prevent an infinite loop
|
||
when the vn_next field is zero but there are still entries to be
|
||
processed.
|
||
|
||
2014-03-17 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* od-macho.c (dump_section_header): Renames of dump_section.
|
||
(dump_segment): Adjust after renaming.
|
||
(OPT_COMPACT_UNWIND): Define.
|
||
(options): Add compact unwind.
|
||
(mach_o_help): Document compact_unwind.
|
||
(unwind_x86_64_regs, unwind_x86_regs): New arrays.
|
||
(dump_unwind_encoding_x86, dump_unwind_encoding)
|
||
(dump_obj_compact_unwind, dump_exe_compact_unwind)
|
||
(dump_section_content): New functions.
|
||
(mach_o_dump): Handle compact unwind.
|
||
|
||
2014-03-17 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* od-macho.c (dump_load_command): Handle lazy load dylib.
|
||
|
||
2014-03-14 Anthony Green <green@moxielogic.com>
|
||
|
||
* objcopy.c (copy_object): Check fwrite return code.
|
||
|
||
2014-03-14 Meador Inge <meadori@codesourcery.com>
|
||
|
||
* dwarf.c (strnlen): Move prototype ...
|
||
* sysdep.h (strnlen): ... to here.
|
||
|
||
2014-03-12 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR binutils/16652
|
||
* doc/binutils.texi (ar cmdline): Move --plugin command line
|
||
option to after the command option.
|
||
|
||
2014-03-12 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
|
||
|
||
PR binutils/16567
|
||
* deflex.l: Add noinput and nounput options.
|
||
|
||
2014-03-12 Alan Modra <amodra@gmail.com>
|
||
|
||
* Makefile.in: Regenerate.
|
||
* doc/Makefile.in: Regenerate.
|
||
|
||
2014-03-06 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR binutils/16664
|
||
* readelf.c (process_attributes): Add checks for corrupt
|
||
attribute section names.
|
||
|
||
2014-03-05 Alan Modra <amodra@gmail.com>
|
||
|
||
Update copyright years.
|
||
|
||
2014-03-03 Alan Modra <amodra@gmail.com>
|
||
|
||
* README: Add "Copyright Notices" paragraph.
|
||
|
||
2014-02-11 Cary Coutant <ccoutant@google.com>
|
||
|
||
* binutils/dwarf.c (read_and_display_attr_value): Don't warn
|
||
for zero-length attribute value.
|
||
|
||
2014-02-10 Alan Modra <amodra@gmail.com>
|
||
|
||
* po/binutils.pot: Regenerate.
|
||
|
||
2014-02-06 Andrew Pinski <apinski@cavium.com>
|
||
|
||
* readelf.c (get_machine_flags): Handle E_MIPS_MACH_OCTEON3 case.
|
||
|
||
2014-02-06 Cary Coutant <ccoutant@google.com>
|
||
|
||
PR binutils/16444
|
||
* readelf.c (print_gnu_note): Add support for NT_GNU_GOLD_VERSION.
|
||
|
||
2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* version.c (print_version): Update copyright year to 2014.
|
||
|
||
2014-01-07 Tom Tromey <tromey@redhat.com>
|
||
|
||
* bucomm.c (fatal, non_fatal): Replace obsolete VA_* macros with
|
||
stdarg macros.
|
||
* dlltool.c (inform): Replace obsolete VA_* macros with stdarg
|
||
macros.
|
||
* dllwrap.c (inform, warn): Replace obsolete VA_* macros with
|
||
stdarg macros.
|
||
|
||
2014-01-07 Tom Tromey <tromey@redhat.com>
|
||
|
||
* coffgrok.h (coff_ofile): Don't use PARAMS.
|
||
* nlmheader.y (strerror): Don't use PARAMS.
|
||
|
||
For older changes see ChangeLog-2013
|
||
|
||
Copyright (C) 2014 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
End:
|