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.
722 lines
24 KiB
Plaintext
722 lines
24 KiB
Plaintext
2014-07-29 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
* emulparams/elf32bmip.sh: Add .MIPS.abiflags.
|
||
* emulparams/elf32bmipn32-defs.sh: Likewise.
|
||
* emulparams/elf64bmip-defs.sh: Likewise.
|
||
|
||
2014-07-27 Anthony Green <green@moxielogic.com>
|
||
|
||
* Makefile.am (ALL_EMULATION_SOURCES): Add moxiebox support.
|
||
(emoxiebox.c): Build.
|
||
* configure.tgt (targ_extra_ofiles): Add moxie-*-moxiebox*.
|
||
* emulparams/moxiebox.sh (TEXT_START_ADDR): New file.
|
||
* Makefile.in: Rebuilt.
|
||
|
||
2014-07-17 Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
|
||
|
||
* emulparams/elf32or1k_linux.sh (TEXT_START_ADDR): Increase from
|
||
0x0 to first page boundary at 0x2000.
|
||
|
||
2014-07-10 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
* emultempl/xtensaelf.em (is_inconsistent_linkonce_section):
|
||
correctly handle missing dot in section name after
|
||
".gnu.linkonce.prop.".
|
||
|
||
2014-07-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
|
||
|
||
* scripttempl/avr.sc: Remove KEEP for .data and
|
||
force .bss VMA to end of .data VMA.
|
||
|
||
2014-07-08 Will Newton <will.newton@linaro.org>
|
||
|
||
* emulparams/armelf_linux.sh (TEXT_START_ADDR): Increase
|
||
alignment to 64kB boundary.
|
||
|
||
2014-07-04 Alan Modra <amodra@gmail.com>
|
||
|
||
* configure.ac: Update "configure.in" comments.
|
||
* configure: Regenerate.
|
||
|
||
2014-07-04 Alan Modra <amodra@gmail.com>
|
||
|
||
* configure.ac: Rename from configure.in.
|
||
* Makefile.in: Regenerate.
|
||
* config.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.
|
||
|
||
2014-07-03 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 17068
|
||
* ldlang.c (load_symbols): Always check flags.reload.
|
||
(open_input_bfds): Always reload --as-needed shared libraries,
|
||
not just when rescanning.
|
||
* ldlang.h (struct lang_input_statement_flags): Update reload comment.
|
||
* plugin.c (plugin_should_reload): Assume shared library arg.
|
||
* plugin.h (plugin_should_reload): Update comment.
|
||
|
||
2014-07-01 Alan Modra <amodra@gmail.com>
|
||
|
||
* emultempl/ppc64elf.em (stub_added): Delete.
|
||
(gld${EMULATION_NAME}_finish): Call ppc64_elf_build_stubs even when
|
||
none of the usual stubs have been added. Only change entry_section
|
||
for ELFv1.
|
||
|
||
2014-07-01 Alan Modra <amodra@gmail.com>
|
||
|
||
* sysdep.h: Don't include limits.h and sys/param.h. Don't
|
||
include unistd.h twice.
|
||
(LD_PATHMAX): Don't define.
|
||
* ldlang.c (lang_common): Don't use UINT_MAX.
|
||
|
||
2014-07-01 Barney Stratford <barney_stratford@fastmail.fm>
|
||
Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
|
||
Pitchumani Sivanupandi <pitchumani.s@atmel.com>
|
||
Soundararajan <Sounderarajan.D@atmel.com>
|
||
|
||
* Makefile.am (ALL_EMULATION_SOURCES): Add avrtiny emulation source.
|
||
(eavrtiny.c): Add rules for avrtiny emulation source.
|
||
* Makefile.in: Regenerate.
|
||
* configure.tgt: Add avrtiny to avr target emulations.
|
||
* scripttempl/avrtiny.sc: New file. Linker script template for
|
||
avrtiny arch.
|
||
* emulparams/avrtiny.sh: New file. Emulation parameters for
|
||
avrtiny arch.
|
||
|
||
2014-06-30 Ulrich Drepper <drepper@gmail.com>
|
||
|
||
* lexsup.c (parse_args): Check whether provided SONAME is empty
|
||
string. If yes, warn and ignore it. Don't overwrite valid SONAME
|
||
with empty string.
|
||
|
||
2014-06-26 Linda Zhang <lindasc@qq.com>
|
||
|
||
* emultempl/pe.em: Initialise insert_timestamp to true.
|
||
Add a --no-insert-timestamp command line option.
|
||
* emultempl/pep.em: Likewise.
|
||
* ld.texinfo: Document that --insert-timestamp is enabled by
|
||
default and that it now has an inverse command line option.
|
||
* NEWS: Mention the new behaviour.
|
||
|
||
2014-06-25 Nick Clifton <nickc@redhat.com>
|
||
|
||
* Makefile.am (ALL_EMULATION_SOURCES): Move ei386pep.c from
|
||
here...
|
||
(ALL_64_EMULATION_SOURCES): ... to here.
|
||
(ALL_EMUL_EXTRA_OFILES): Move pep-dll.o from here...
|
||
(ALL_64_EMUL_EXTRA_OFILES): New. ... to here.
|
||
* configure.in (EMUL_EXTRA_OFILES): Include
|
||
ALL_64_EMUL_EXTRA_OFILES when making a 64-bit enabled build.
|
||
* Makefile.in: Regenerate.
|
||
* configure: Regenerate.
|
||
|
||
2014-06-18 Andreas Tobler <andreast@fgznet.ch>
|
||
|
||
* configure.tgt (arm*-*-freebsd*): Update targ_extra_emuls.
|
||
(arm*b-*-freebsd*): Add target.
|
||
* emulparams/armelfb_fbsd.sh: Added.
|
||
* emulparams/armelf_fbsd.sh: Updated.
|
||
* Makefile.am (ALL_EMULATION_SOURCES): Add earmelfb_fbsd.c.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2014-06-16 Alan Modra <amodra@gmail.com>
|
||
|
||
* scripttempl/elf.sc: Edit out __rela_iplt symbol assignments from
|
||
.rel sections, and __rel_iplt from .rela sections.
|
||
* scripttempl/nds32elf.sc: Likewise.
|
||
* Makefile.am (ends32*.c) Depend on nds32elf.sc.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2014-06-13 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 17047
|
||
* ldlang.c (output_bfd_hash_table_free_fn): Delete.
|
||
(open_output): Don't set it..
|
||
* ldmain.c (ld_cleanup): ..or call it.
|
||
|
||
2014-06-13 Alan Modra <amodra@gmail.com>
|
||
|
||
* emultempl/cr16elf.em, * emultempl/elf32.em, * emultempl/genelf.em,
|
||
* emultempl/m68kcoff.em, * emultempl/m68kelf.em,
|
||
* emultempl/nds32elf.em, * emultempl/pe.em, * emultempl/pep.em,
|
||
* ldlang.c, * ldmain.c, * pe-dll.c: Update for bfd.link_next change.
|
||
|
||
2014-06-13 Alan Modra <amodra@gmail.com>
|
||
|
||
* Makefile.am (ALL_EMULATION_SOURCES): Add enios2elf.c, enios2linux.c.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2014-06-07 Alan Modra <amodra@gmail.com>
|
||
|
||
* ldexp.c (exp_fold_tree_1 <etree_provide>): Make PROVIDEd
|
||
linker script symbol value override a built-in linker symbol.
|
||
|
||
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-06-02 Alan Modra <amodra@gmail.com>
|
||
|
||
* emulparams/elf32bfin.sh: Rename from bfin.sh.
|
||
* emulparams/elf32bfinfd.sh: Update to suit.
|
||
* emulparams/msp430.sh: Rename from msp430all.sh. Remove
|
||
MSP430_NAME and msp430X vars.
|
||
* emulparams/msp430X.sh: New.
|
||
* emulparams/score3_elf.sh: Rename from scoreelf.sh. Remove
|
||
SCORE_NAME and score7_elf ARCH setting.
|
||
* emulparams/score7_elf.sh: New.
|
||
* Makefile.am (eelf32bfin.c, eelf32bfinfd.c): Update dependencies.
|
||
(emsp430.c, emsp430X.c, escore3_elf.c, escore7_elf.c): Likewise.
|
||
* Makefile.in: Regenerate.
|
||
* genscripts.sh: Delete customizer_script param.
|
||
|
||
2014-05-28 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* Makefile.am: Change all rules with ${GENSCRIPTS}
|
||
invocations to be just dependencies.
|
||
($(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES))
|
||
(run-genscripts): New rules.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2014-05-27 DJ Delorie <dj@redhat.com>
|
||
|
||
* ld/ldemul.h (extra_map_file_text): New field.
|
||
(ldemul_extra_map_file_text): Declare.
|
||
* ld/ldemul.c (ldemul_extra_map_file_text): Define.
|
||
* ld/ldlang.c (lang_map): Call it.
|
||
|
||
* ld/emultempl/rxelf.em: Add extra_map_file_text hook.
|
||
* ld/emultempl/aix.em: Add NULL extra_map_file_text hook.
|
||
* ld/emultempl/armcoff.em: Likewise.
|
||
* ld/emultempl/beos.em: Likewise.
|
||
* ld/emultempl/elf32.em: Likewise.
|
||
* ld/emultempl/generic.em: Likewise.
|
||
* ld/emultempl/gld960.em: Likewise.
|
||
* ld/emultempl/gld960c.em: Likewise.
|
||
* ld/emultempl/linux.em: Likewise.
|
||
* ld/emultempl/lnk960.em: Likewise.
|
||
* ld/emultempl/m68kcoff.em: Likewise.
|
||
* ld/emultempl/pe.em: Likewise.
|
||
* ld/emultempl/pep.em: Likewise.
|
||
* ld/emultempl/sunos.em: Likewise.
|
||
* ld/emultempl/ticoff.em: Likewise.
|
||
* ld/emultempl/vanilla.em: Likewise.
|
||
|
||
2014-05-24 Alan Modra <amodra@gmail.com>
|
||
|
||
* ldlang.c (base): Move variable to..
|
||
* mri.c: ..here, and make static.
|
||
* ldlang.h (base): Delete declaration.
|
||
|
||
2014-05-20 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* Makefile.am (ALL_EMULATION_SOURCES): Add missing eelf32mbel_linux.c.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2014-05-20 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 16952
|
||
* emulparams/elf32ppccommon.sh (_SDA_BASE_, _SDA2_BASE_): Delete.
|
||
* emultempl/ppc32elf.em (ppc_before_allocation): Call
|
||
ppc_elf_maybe_strip_sdata_syms.
|
||
* ldlang.c (size_input_section): Correct output_offset value
|
||
for excluded input sections.
|
||
|
||
2014-05-16 John Marino <binutils@marino.st>
|
||
|
||
* configure.tgt: Add /lib to dragonfly NATIVE_LIB_DIRS.
|
||
|
||
2014-05-11 Chung-Lin Tang <cltang@codesourcery.com>
|
||
|
||
* emulparams/nios2linux.sh (OTHER_GOT_SYMBOLS): Wrap _gp in HIDDEN(),
|
||
and gp in PROVIDE_HIDDEN.
|
||
|
||
2014-05-10 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
* ldlang.c (lang_finish): Don't call bfd_link_hash_table_free here.
|
||
(output_bfd_hash_table_free_fn): New variable.
|
||
(open_output): Save the _bfd_link_hash_table_free function for the
|
||
output_bfd into output_bfd_hash_table_free_fn.
|
||
* ldmain.c (ld_cleanup): If set, call output_bfd_hash_table_free_fn
|
||
on link_info.hash.
|
||
* ldlang.h (output_bfd_hash_table_free_fn): Declare.
|
||
|
||
2014-05-02 Alan Modra <amodra@gmail.com>
|
||
|
||
* emultempl/metagelf.em: Update bfd target vector naming.
|
||
* emultempl/nios2elf.em: Likewise.
|
||
* emultempl/spuelf.em: Likewise.
|
||
* emultempl/tic6xdsbt.em: Likewise.
|
||
|
||
2014-04-22 Christian Svensson <blue@cmd.nu>
|
||
|
||
* Makefile.am: Remove openrisc and or32 support. Add support for or1k.
|
||
* configure.tgt: Likewise.
|
||
* emulparams/elf32or1k.sh: New file.
|
||
* emulparams/elf32or1k_linux.sh: New file.
|
||
* emulparams/elf32openrisc.sh: Delete.
|
||
* emulparams/or32.sh: Delete.
|
||
* emulparams/or32elf.sh: Delete.
|
||
* scripttempl/or32.sc: Delete.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2014-04-21 Richard Henderson <rth@redhat.com>
|
||
|
||
* emultempl/alphaelf.em (alpha_after_parse): Enable 2 relax passes.
|
||
|
||
2014-04-16 Steve Ellcey <sellcey@mips.com>
|
||
|
||
* emultempl/elf32.em: Include safe-ctype.h.
|
||
|
||
2014-04-16 Steve Ellcey <sellcey@mips.com>
|
||
|
||
* ldbuildid.c (generate_build_id): Add ATTRIBUTE_UNUSED to size arg.
|
||
|
||
2014-04-09 Nick Clifton <nickc@redhat.com>
|
||
|
||
* Makefile.am (default-manifest.o): Remove rule.
|
||
(EMUL_EXTRA_BINARIES): Delete.
|
||
(ALL_EMUL_EXTRA_BINARIES): Delete.
|
||
(ld_new_DEPENDENCIES): Remove EMUL_EXTRA_BINARIES.
|
||
(install-data-local): Remove EMUL_EXTRA_BINARIES.
|
||
* Makefile.in: Regenerate.
|
||
* configure.in (all_emul_extra_binaries): Delete.
|
||
(EMUL_EXTRA_BINARIES): Remove.
|
||
* configure: Regenerate.
|
||
* configure.tgt (target_extra_binaries): Delete.
|
||
* emultempl/default-manifest.rc: Delete.
|
||
* ld.texinfo: Remove discussion of default manifest.
|
||
* emulparams/i386pe.sh (DEFAULT_MANIFEST): Delete.
|
||
* emulparams/i386pep.sh (DEFAULT_MANIFEST): Delete.
|
||
|
||
2014-04-09 Alan Modra <amodra@gmail.com>
|
||
|
||
* emultempl/spuelf.em: Include safe-ctype.h, remove duplicate errno.h.
|
||
* emultempl/nds32elf.em: Include bfd_stdint.h.
|
||
* po/POTFILES.in: Regenerate.
|
||
|
||
2014-04-09 Alan Modra <amodra@gmail.com>
|
||
|
||
* emultempl/ppc32elf.em (no_zero_padding, ppc_finish): New functions.
|
||
(LDEMUL_FINISH): Define.
|
||
|
||
2014-04-08 Nick Clifton <nickc@redhat.com>
|
||
|
||
* scripttempl/pe.sc (R_RSRC): Remove default manifest.
|
||
* scripttempl/pep.sc (R_RSRC): Remove default manifest.
|
||
|
||
2014-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
|
||
|
||
* emultempl/elf32.em (id_note_section_size, read_hex, write_build_id):
|
||
Move code for parsing build-id option and calculating the build-id to...
|
||
* ldbuildid.c: New file.
|
||
* ldbuildid.h: New file.
|
||
* Makefile.am (CFILES, HFILES, OFILES, ld_new_SOURCES): Add new
|
||
files.
|
||
* Makefile.in: Regenerate.
|
||
* ld.texinfo: Update --build-id description to mention COFF
|
||
support.
|
||
* NEWS: Mention support for COFF build ids.
|
||
* emultempl/pe.em (gld${EMULATION_NAME}_handle_option):
|
||
(pecoff_checksum_contents, write_build_id, setup_build_id)
|
||
(gld_${EMULATION_NAME}_after_open): Handle and implement
|
||
build-id option.
|
||
* emultempl/pep.em: Likewise.
|
||
|
||
2014-04-04 Cary Coutant <ccoutant@google.com>
|
||
|
||
PR gold/16804
|
||
* ld.texinfo: Document optional comma following output section
|
||
command and overlay command.
|
||
|
||
2014-04-04 Alan Modra <amodra@gmail.com>
|
||
|
||
* ldlang.c (lang_size_sections_1 <lang_input_section_enum>): Use
|
||
current "fill", not "output_section_statement->fill".
|
||
|
||
2014-03-31 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR ld/16744
|
||
* emultempl/elf32.em (_after_open): Create a .note.GNU-stack
|
||
section when performing a relocatable link with -z [no]execstack
|
||
specified.
|
||
|
||
2014-03-27 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/16756
|
||
* ldmain.c (symbol_warning): New function.
|
||
(warning_callback): Use it. Scan all input files for a reference
|
||
to SYMBOL.
|
||
|
||
2014-03-21 Christopher Faylor <me.cygwin2013@cgf.cx>
|
||
|
||
* ld.texinfo: Document change in handling of --enable-auto-image-base.
|
||
* emultempl/pe.em (pe_auto_image_base): Set to default base.
|
||
(gld_${EMULATION_NAME}_list_options): Change usage message to reflect
|
||
optional --enable-auto-image-base argument.
|
||
(gld${EMULATION_NAME}_handle_option): Handle optional
|
||
--enable-auto-image-base argument.
|
||
(compute_dll_image_base): Eliminate constant. Use pe_auto_image_base.
|
||
|
||
2014-03-19 Nick Clifton <nickc@redhat.com>
|
||
|
||
* Makefile.am (default-manifest.o): Use WINDRES_FOR_TARGET.
|
||
* Makefile.in: Regenerate.
|
||
* emultempl/default-manifest.rc: Fix typo.
|
||
* scripttempl/pe.sc (R_RSRC): Fix default-manifest exclusion.
|
||
(.rsrc): Add SUBALIGN(4). Remove SORT.
|
||
* scripttempl/pep.sc: Likewise.
|
||
|
||
2014-03-17 Christopher Faylor <me.cygwin2014@cgf.cx>
|
||
|
||
* Makefile.am: Use host version of windres.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2014-03-14 Romain Geissler <romain.geissler@amadeus.com>
|
||
Alan Modra <amodra@gmail.com>
|
||
|
||
* ldlang.h (full_name_provided): New input flag.
|
||
* ldlang.c (new_afile): Don't use lang_input_file_is_search_file_enum
|
||
for -l:namespec. Instead use lang_input_file_is_l_enum with
|
||
full_name_provided flag.
|
||
* ldlfile.c (ldfile_open_file_search): Don't complete lib name if
|
||
full_name_provided flag is set.
|
||
* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
|
||
Handle full_name_provided libraries. Tidy EXTRA_SHLIB_EXTENSION
|
||
support. Set DT_NEEDED for -l:namespec as namespec.
|
||
* emultempl/aix.em (ppc_after_open_output): Handle full_name_provided.
|
||
* emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive):
|
||
Don't handle full_name_provided libraries.
|
||
* emultempl/pe.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
|
||
* emultempl/pep.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
|
||
* emultempl/vms.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
|
||
|
||
2014-03-12 Alan Modra <amodra@gmail.com>
|
||
|
||
* Makefile.in: Regenerate.
|
||
|
||
2014-03-05 Alan Modra <amodra@gmail.com>
|
||
|
||
Update copyright years.
|
||
|
||
2014-03-04 Nick Clifton <nickc@redhat.com>
|
||
|
||
* Makefile.am (ALL_EMUL_EXTRA_BINARIES): Remove default-manifest.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2014-02-27 Yuri Gribov <y.gribov@samsung.com>
|
||
|
||
* emultempl/armelf.em (OPTION_LONG_PLT): Define.
|
||
(PARSE_AND_LIST_LONGOPTS): Add long-plt.
|
||
(PARSE_AND_LIST_OPTIONS): Likewise.
|
||
(PARSE_AND_LIST_ARGS_CASES): Handle long-plt.
|
||
* ld.texinfo: Document --long-plt.
|
||
|
||
2014-02-27 Alan Modra <amodra@gmail.com>
|
||
|
||
* emulparams/elf32ppcvxworks.sh: Source plt_unwind.sh and
|
||
use ppc32elf.em.
|
||
* emultempl/ppc32elf.em (ppc_after_open): Don't compile for
|
||
vxworks.
|
||
(LDEMUL_AFTER_OPEN): Don't set for vxworks.
|
||
(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Exclude
|
||
-secure-plt, -bss-plt and -sdata-got when vxworks.
|
||
|
||
2014-02-27 Nick Clifton <nickc@redhat.com>
|
||
|
||
* configure.in (all_emul_extra_binaries): New variable. Populated
|
||
by invoking configure.tgt.
|
||
(EMUL_EXTRA_BINARIES): New substitution.
|
||
* configure: Regenerate.
|
||
* configure.tgt (target_extra_binaries): New variable. Set to
|
||
default-manifest.o for Cygwin and MinGW targets.
|
||
* Makefile.am (EMUL_EXTRA_BINARIES): New variable. Initialised
|
||
by the configure script.
|
||
(ALL_EMUL_EXTRA_BINARIES): New variable.
|
||
(default-manifest.o): New rule to build the default manifest.
|
||
(ld_new_DEPENDENCIES): Add EMUL_EXTRA_BINARIES.
|
||
(install-data-local): Add EMUL_EXTRA_BINARIES.
|
||
* Makefile.in: Regenerate.
|
||
* ld.texinfo: Document default manifest support.
|
||
* emulparams/i386pe.sh (DEFAULT_MANIFEST): Define.
|
||
* emulparams/i386pep.sh (DEFAULT_MANIFEST): Define.
|
||
* emultempl/default-manifest.rc: New file.
|
||
* scripttempl/pe.sc (R_RSRC): Include DEFAULT_MANIFEST, if defined.
|
||
* scripttempl/pep.sc (R_RSRC): Likewise.
|
||
|
||
2014-02-26 Dan Mick <dan.mick@inktank.com>
|
||
|
||
PR ld/16569
|
||
* ldcref.c (cref_sort_array): Compare unmangled names unless
|
||
demanglng has been requiested.
|
||
(output_one_cref): Output unmangled name unless demangling has
|
||
been requested.
|
||
|
||
2014-02-19 Igor Zamyatin <igor.zamyatin@intel.com>
|
||
H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): New.
|
||
|
||
2014-02-19 Alan Modra <amodra@gmail.com>
|
||
|
||
* emultempl/ppc64elf.em (params): Init new field.
|
||
(ppc_create_output_section_statements): Set params.save_restore_funcs
|
||
default.
|
||
(PARSE_AND_LIST_*): Add support for --save-restore-funcs and
|
||
--no-save-restore-funcs.
|
||
|
||
2014-02-17 Alan Modra <amodra@gmail.com>
|
||
|
||
* emultemps/ppc64elf.em (params): New static struct replacing
|
||
various other static vars. Adjust code throughout file.
|
||
|
||
2014-02-17 Alan Modra <amodra@gmail.com>
|
||
|
||
* emultempl/ppc32elf.em (ppc_after_open_output): Really enable
|
||
ppc476 workaround for ld -r.
|
||
|
||
2014-02-12 Alan Modra <amodra@gmail.com>
|
||
|
||
* emultempl/ppc32elf.em (pagesize): New static var.
|
||
(ppc_after_open_output): Set params.pagesize_p2 from pagesize.
|
||
(PARSE_AND_LIST_ARGS_CASES): Adjust to use pagesize.
|
||
|
||
2014-02-11 Andrew Pinski <apinski@cavium.com>
|
||
|
||
* emulparams/aarch64linux32.sh (LIBPATH_SUFFIX): Change to ilp32.
|
||
(ELF_INTERPRETER_NAME): Define.
|
||
* emulparams/aarch64linux32b.sh (ELF_INTERPRETER_NAME): Define.
|
||
|
||
2014-02-10 Alan Modra <amodra@gmail.com>
|
||
|
||
* po/ld.pot: Regenerate.
|
||
|
||
2014-02-03 Alan Modra <amodra@gmail.com>
|
||
|
||
* emultempl/ppc32elf.em (no_tls_get_addr_opt, emit_stub_syms)
|
||
plt_style): Delete. Adjust all refs to instead use..
|
||
(params): ..this. New variable.
|
||
(ppc_after_open_output): New function. Tweak params and pass to
|
||
ppc_elf_link_params.
|
||
(ppc_after_open): Adjust ppc_elf_select_plt_layout call.
|
||
(ppc_before_allocation): Adjust ppc_elf_tls_setup call. Enable
|
||
relaxation for ppc476 workaround.
|
||
(PARSE_AND_LIST_*): Add --{no-,}ppc476-workaround support.
|
||
(LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
|
||
|
||
2014-02-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* ld/ld.texinfo: Change ALIGN_WITH_INPUT documentation.
|
||
* ld/ldlang.c (lang_size_sections_1): Add dotdelta
|
||
variable which reflects the VMA change due to alignment
|
||
requirements. Use dotdelta do change the LMA if
|
||
ALIGN_WITH_INPUT is requested.
|
||
|
||
2014-02-01 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
* emultempl/mmix-elfnmmo.em (mmix_after_allocation): Fix typo in
|
||
call to bfd_set_section_vma exposed by recent bfd_set_section_vma
|
||
change.
|
||
|
||
2014-01-30 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* Makefile.am (enios2elf.c, enios2linux.c): Update dependencies.
|
||
* Makefile.in: Regenerated.
|
||
* emulparams/nios2elf.sh (EXTRA_EM_FILE): Set.
|
||
* emulparams/nios2linux.sh (EXTRA_EM_FILE): Set.
|
||
* emultempl/nios2elf.em: New file.
|
||
* gen-doc.texi (NIOSII): Set.
|
||
* ld.texinfo (NIOSII): Set.
|
||
|
||
2014-01-28 Nick Clifton <nickc@redhat.com>
|
||
|
||
* Makefile.am: Remove obsolete MSP430 emulations.
|
||
* configure.tgt: Likewise.
|
||
* emulparams/msp430all.sh: Likewise.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2014-01-24 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/16498
|
||
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Improve
|
||
orphaned TLS section handling.
|
||
|
||
2014-01-24 Alan Modra <amodra@gmail.com>
|
||
|
||
* ldlang.c (lang_output_section_find_by_flags): Be careful to
|
||
test look->bfd_section->flags if available rather than
|
||
look->flags. Separate SEC_THREAD_LOCAL handling from
|
||
SEC_READONLY loop, and rewrite.
|
||
|
||
2014-01-22 Alan Modra <amodra@gmail.com>
|
||
|
||
* ldlang.c (asneeded_list_head, asneeded_list_tail): New vars.
|
||
(lang_init): Initialise them.
|
||
(lang_print_asneeded): New function.
|
||
(lang_process): Call lang_print_asneeded.
|
||
* ldlang.h (struct asneeded_minfo): New.
|
||
(asneeded_list_tail): Declare.
|
||
* ldmain.c (add_archive_element): Improve archive map heading.
|
||
* ldmisc.c (minfo): Stash --as-needed info.
|
||
|
||
2014-01-22 Alan Modra <amodra@gmail.com>
|
||
|
||
* ld.h (struct map_symbol_def): Move to..
|
||
* ldlang.h: ..here.
|
||
* ldlang.c (print_assignment): Don't set expld.assign_name to dot.
|
||
|
||
2014-01-22 Alan Modra <amodra@gmail.com>
|
||
|
||
* ld.texinfo (Output Section Discarding): Mention assigning to dot
|
||
as a way of keeping otherwise empty sections.
|
||
* ldexp.c (is_dot, is_value, is_sym_value, is_dot_ne_0,
|
||
is_dot_plus_0, is_align_conditional): New predicates.
|
||
(exp_fold_tree_1): Set SEC_KEEP when assigning to dot inside an
|
||
output section, except for some special cases.
|
||
* scripttempl/elfmicroblaze.sc: Use canonical form to align at
|
||
end of .heap and .stack.
|
||
|
||
2014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
||
|
||
* emulparams/aarch64linuxb.sh (ELF_INTERPRETER_NAME): Define.
|
||
|
||
2014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
||
|
||
* emulparams/aarch64linux.sh (ELF_INTERPRETER_NAME): Define.
|
||
|
||
2014-01-20 Alan Modra <amodra@gmail.com>
|
||
|
||
* ldlang.h (struct lang_definedness_hash_entry): Add by_object and
|
||
by_script. Make iteration a single bit field.
|
||
(lang_track_definedness, lang_symbol_definition_iteration): Delete.
|
||
(lang_symbol_defined): Declare.
|
||
* ldlang.c (lang_statement_iteration): Expand comment a little.
|
||
(lang_init <lang_definedness_table>): Make it bigger.
|
||
(lang_track_definedness, lang_symbol_definition): Delete.
|
||
(lang_definedness_newfunc): Update.
|
||
(lang_symbol_defined): New function.
|
||
(lang_update_definedness): Create entries here. Do track whether
|
||
script definition of symbol is valid, even when also defined in
|
||
an object file.
|
||
* ldexp.c (fold_name <DEFINED>): Update.
|
||
(fold_name <NAME>): Allow self-assignment for absolute symbols
|
||
defined in a linker script.
|
||
|
||
2014-01-20 Guy Martin <gmsoft@tuxicoman.be>
|
||
Alan Modra <amodra@gmail.com>
|
||
|
||
* ldlang.h (lang_output_section_get): Define.
|
||
* ldlang.c (lang_output_section_get): Likewise.
|
||
(init_os): Set the output_section userdata to the output
|
||
section statement.
|
||
* emultempl/hppaelf.em: Use lang_output_section_get instead of
|
||
lang_output_section_find where applicable.
|
||
* emultempl/aarch64elf.em: Likewise.
|
||
* emultempl/aix.em: Likewise.
|
||
* emultempl/armelf.em: Likewise.
|
||
* emultempl/m68hc1xelf.em: Likewise.
|
||
* emultempl/metagelf.em: Likewise.
|
||
* emultempl/mipself.em: Likewise.
|
||
* emultempl/ppc64elf.em: Likewise.
|
||
* emultempl/spuelf.em: Likewise.
|
||
|
||
2014-01-17 Alan Modra <amodra@gmail.com>
|
||
|
||
* genscripts.sh (COMPILE_IN): Don't set if already set.
|
||
* emulparams/nds32elf.sh: Don't clear EMULATION_LIBPATH, set
|
||
COMPILE_IN=no.
|
||
* emulparams/nds32elf16m.sh: Likewise.
|
||
* emulparams/nds32elf_linux.sh: Likewise.
|
||
* emultempl/aix.em: Test COMPILE_IN value is "yes".
|
||
* emultempl/armcoff.em: Likewise.
|
||
* emultempl/elf32.em: Likewise.
|
||
* emultempl/generic.em: Likewise.
|
||
* emultempl/gld960.em: Likewise.
|
||
* emultempl/gld960c.em: Likewise.
|
||
* emultempl/linux.em: Likewise.
|
||
* emultempl/lnk960.em: Likewise.
|
||
* emultempl/m68kcoff.em: Likewise.
|
||
* emultempl/sunos.em: Likewise.
|
||
* emultempl/ticoff.em: Likewise.
|
||
|
||
2014-01-16 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/16456
|
||
* genscripts.sh: Don't search directory with LIBPATH_SUFFIX_SKIP
|
||
suffix.
|
||
* emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX_SKIP): Set to 64
|
||
for elf32_x86_64 emulation.
|
||
* emulparams/elf_i386.sh (LIBPATH_SUFFIX_SKIP): Set to 64
|
||
for elf_i386 emulation.
|
||
|
||
2014-01-16 Alan Modra <amodra@gmail.com>
|
||
|
||
* ld.h (fat_section_userdata_type, get_userdata): Move to..
|
||
* ldlang.h (input_section_userdata_type, get_userdata): ..here.
|
||
* ldlang.c (init_map_userdata): Delete. Fold into..
|
||
(sort_def_symbol): ..here. Don't attach input section userdata
|
||
to output sections or global bfd sections.
|
||
(lang_map): Don't pre-allocate input section userdata.
|
||
(init_os): Don't allocate userdata for output sections.
|
||
(print_all_symbols): Update.
|
||
|
||
2014-01-15 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
|
||
Silence uninitialized warning on ehdr_start_save with older
|
||
GCC.
|
||
|
||
2014-01-15 Alan Modra <amodra@gmail.com>
|
||
|
||
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Define
|
||
__ehdr_start before size_dynamic_sections and restore afterwards.
|
||
|
||
2014-01-10 Alan Modra <amodra@gmail.com>
|
||
|
||
PR ld/14207
|
||
PR ld/16322
|
||
PR binutils/16323
|
||
* ldlang.c (lang_size_sections): Remove unneeded RELRO base
|
||
adjust. Tidy comments.
|
||
* ld.texinfo (DATA_SEGMENT_RELRO_END): Correct description.
|
||
|
||
2014-01-10 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* emulparams/crislinux.sh (COMMONPAGESIZE): Define.
|
||
|
||
2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/14207
|
||
PR ld/16322
|
||
PR binutils/16323
|
||
* ldlang.c (lang_size_sections): Properly align RELRO base.
|
||
|
||
2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* ldver.c (ldversion): Update copyright year to 2014.
|
||
|
||
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:
|