aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-07-24Bump version to 2.29binutils-2_29Tristan Gingold14-62/+91
bfd/ 2017-07-24 Tristan Gingold <gingold@adacore.com> * version.m4: Bump version to 2.29 * configure: Regenerate. binutils/ 2017-07-24 Tristan Gingold <gingold@adacore.com> * configure: Regenerate. gas/ 2017-07-24 Tristan Gingold <gingold@adacore.com> * configure: Regenerate. gprof/ 2017-07-24 Tristan Gingold <gingold@adacore.com> * configure: Regenerate. ld/ 2017-07-24 Tristan Gingold <gingold@adacore.com> * configure: Regenerate. opcodes/ 2017-07-24 Tristan Gingold <gingold@adacore.com> * configure: Regenerate.
2017-07-24Automatic date update in version.inGDB Administrator1-1/+1
2017-07-23Correct eh_frame info for __glink_PLTresolveAlan Modra4-3/+15
My PPC64_OPT_LOCALENTRY patch of June 1, git commit f378ab099d, and the later gold change, git commit 7ee7ff7015, added an insn in __glink_PLTresolve which needs a corresponding adjustment in the eh_frame info for asynchronous exceptions to unwind correctly. It would have been OK for both ABIs to use +5 for the advance before restore of LR, since we can put the DW_CFA_restore_extended on any insn after the actual restore and before the r12/r0 copy is clobbered, but it's slightly better to delay as much as possible. There are then more addresses where fewer CFA program insns are executed. bfd/ * elf64-ppc.c (ppc64_elf_size_stubs): Correct advance to restore of LR. gold/ * powerpc.cc (glink_eh_frame_fde_64v2): Correct advance to restore of LR. (glink_eh_frame_fde_64v1): Advance to restore of LR at latest possible insn.
2017-07-23Automatic date update in version.inGDB Administrator1-1/+1
2017-07-22Automatic date update in version.inGDB Administrator1-1/+1
2017-07-21Updated French translation for the binutils subdirectory.Nick Clifton2-1826/+4102
* po/fr.po: Updated French translation.
2017-07-21Automatic date update in version.inGDB Administrator1-1/+1
2017-07-20Update German translation for the opcodes library.Nick Clifton2-466/+890
* po/de.po: Updated German translation.
2017-07-20Automatic date update in version.inGDB Administrator1-1/+1
2017-07-19Automatic date update in version.inGDB Administrator1-1/+1
2017-07-18Update translations.Nick Clifton117-40295/+81814
bfd * po/es.po: Updated translation. * po/fi.po: Likewise. * po/fr.po: Likewise. * po/id.po: Likewise. * po/ja.po: Likewise. * po/ro.po: Likewise. * po/ru.po: Likewise. * po/sr.po: Likewise. * po/sv.po: Likewise. * po/tr.po: Likewise. * po/uk.po: Likewise. * po/vi.po: Likewise. * po/zh_CN.po: Likewise. * po/hr.po: New translation. * configure.ac (ALL_LINGUAS): Add hr. * configure: Regenerate. gold * po/es.po: Updated translation. * po/fi.po: Likewise. * po/fr.po: Likewise. * po/id.po: Likewise. * po/it.po: Likewise. * po/vi.po: Likewise. * po/zh_CN.po: Likewise. * po/ja.po: New translation. * po/sv.po: Likewise. * po/uk.po: Likewise. ld * po/bg.po: Updated translation. * po/da.po: Likewise. * po/es.po: Likewise. * po/fi.po: Likewise. * po/fr.po: Likewise. * po/id.po: Likewise. * po/it.po: Likewise. * po/ja.po: Likewise. * po/tr.po: Likewise. * po/uk.po: Likewise. * po/vi.po: Likewise. * po/zh_CN.po: Likewise. * po/zh_TW.po: Likewise. * po/ru.po: New translation. * po/de.po: Likewise. * configure.ac (ALL_LINGUAS): Add ru and de. * configure: Regenerate. binutils* po/bg.po: Updated translation. * po/ca.po: Likewise. * po/da.po: Likewise. * po/es.po: Likewise. * po/fi.po: Likewise. * po/fr.po: Likewise. * po/hr.po: Likewise. * po/id.po: Likewise. * po/it.po: Likewise. * po/ja.po: Likewise. * po/ro.po: Likewise. * po/ru.po: Likewise. * po/sk.po: Likewise. * po/sr.po: Likewise. * po/sv.po: Likewise. * po/tr.po: Likewise. * po/uk.po: Likewise. * po/vi.po: Likewise. * po/zh_CN.po: Likewise. * po/zh_TW.po: Likewise. gas * po/es.po: Updated translation. * po/fi.po: Likewise. * po/fr.po: Likewise. * po/id.po: Likewise. * po/ja.po: Likewise. * po/ru.po: Likewise. * po/sv.po: Likewise. * po/tr.po: Likewise. * po/uk.po: Likewise. * po/zh_CN.po: Likewise. gprof * po/bg.po: Updated translation. * po/da.po: Likewise. * po/de.po: Likewise. * po/eo.po: Likewise. * po/es.po: Likewise. * po/fi.po: Likewise. * po/fr.po: Likewise. * po/ga.po: Likewise. * po/hu.po: Likewise. * po/id.po: Likewise. * po/it.po: Likewise. * po/ja.po: Likewise. * po/ms.po: Likewise. * po/nl.po: Likewise. * po/pt_BR.po: Likewise. * po/ro.po: Likewise. * po/ru.po: Likewise. * po/sr.po: Likewise. * po/sv.po: Likewise. * po/tr.po: Likewise. * po/uk.po: Likewise. * po/vi.po: Likewise. opcodes * po/da.po: Updated translation. * po/de.po: Likewise. * po/es.po: Likewise. * po/fi.po: Likewise. * po/fr.po: Likewise. * po/id.po: Likewise. * po/it.po: Likewise. * po/nl.po: Likewise. * po/pt_BR.po: Likewise. * po/ro.po: Likewise. * po/sv.po: Likewise. * po/tr.po: Likewise. * po/uk.po: Likewise. * po/vi.po: Likewise. * po/zh_CN.po: Likewise.
2017-07-18Automatic date update in version.inGDB Administrator1-1/+1
2017-07-17Support single digit GCC versionH.J. Lu2-1/+7
On Fedora 26, "g++ -dumpversion" displays "7", instead of "7.1.1". Update selective.exp to support single digit GCC version. Also remove duplicated [4-9] version check. * testsuite/ld-selective/selective.exp: Support single digit GCC version. (cherry picked from commit 61a0857c0fb512ce6a2ba4315a37fcce744f6045)
2017-07-17x86-64: Limit PIC check to shared library buildH.J. Lu7-3/+49
When building an executable, undefined symbols are error and undefined weak symbols are resolved to zero. We only need to check PIC for building a shared library. bfd/ PR ld/21782 * elf64-x86-64.c (elf_x86_64_relocate_section): Limit PIC check to shared library. ld/ PR ld/21782 * testsuite/ld-x86-64/pie3-nacl.d: New file. * testsuite/ld-x86-64/pie3.d: Likewise. * testsuite/ld-x86-64/pie3.s: Likewise. * testsuite/ld-x86-64/x86-64.exp: Run pie3 and pie3-nacl. (cherry picked from commit c5bb8910e80c6cd80c63541f86471c18375c8198)
2017-07-17Correct previous fix to ar, so that it now only comaplains about a lack of ↵Nick Clifton2-3/+12
input files if not running in MRI mode. PR 21433 * ar.c (main): Skip check for no files on the command line when running in MRI mode.
2017-07-17Automatic date update in version.inGDB Administrator1-1/+1
2017-07-16__tls_get_addr_opt GOT entriesAlan Modra3-70/+10
My 2017-01-24 patch (commit f0158f44) wrongly applied an optimization of GOT entries for the __tls_get_addr_opt stub, to shared libraries. When the TLS segment layout is known, as it is for the executable and shared libraries loaded at initial program start, powerpc supports a __tls_get_addr optimization. On the first call to __tls_get_addr for a given __tls_index GOT entry, the DTPMOD word is set to zero and the DTPREL word to the thread pointer offset to the thread variable. This allows the __tls_get_addr_opt stub to return that value immediately without making a call into glibc for any subsequent __tls_get_addr calls using that __tls_index GOT entry. That's all fine, but I thought I'd be clever and when the thread variable is local, set up the GOT entry as if __tls_get_addr had already been called. Which is good only for the executable, since ld cannot know the TLS layout for shared libraries. Of course, if this only applies to executables there isn't much point to the optimization. Normally, GD and LD code in an executable will be converted to IE or LE, losing the __tls_get_addr call. So the only time it will trigger is with --no-tls-optimize. Thus, revert all support. * elf64-ppc.c (ppc64_elf_relocate_section): Don't optimize __tls_index GOT entries when using __tls_get_addr_opt stub. * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2017-07-16Automatic date update in version.inGDB Administrator1-1/+1
2017-07-15Automatic date update in version.inGDB Administrator1-1/+1
2017-07-14PR ld/21529: Use a linker script to limit output with the test caseMaciej W. Rozycki3-1/+11
Complement commit d9409498813c ("Add a testcase for PR ld/21529") and use a linker script to prevent an inter-segment gap arranged by the default linker script associated with some targets such as `rx-elf': $ ld -e main -o tmpdir/dump-elf tmpdir/pr21529.o $ readelf -l tmpdir/dump-elf Elf file type is EXEC (Executable file) Entry point 0x10000004 There are 2 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x001000 0x10000000 0x10000000 0x00008 0x00008 R E 0x1000 LOAD 0x001ffc 0xbffffffc 0xbffffffc 0x00004 0x00004 RW 0x1000 Section to Segment mapping: Segment Sections... 00 .text 01 .stack $ and converted to padding with the use of the binary BFD for output from producing unreasonably large files. ld/ * testsuite/ld-unique/pr21529.ld: New test linker script. * testsuite/ld-unique/pr21529.d: Use it. (cherry picked from commit 211b0bed95b3f6b177a541ec52302b8febd6b49c)
2017-07-14Automatic date update in version.inGDB Administrator1-1/+1
2017-07-13Automatic date update in version.inGDB Administrator1-1/+1
2017-07-12Fixing for PR gold/21491 - Errata workaround can produce broken images.Han Shen2-90/+144
The problem is caused by the fact that gold is relocating the stubs for an entire output section when it processes the relocations for a particular input section that happened to be designated as the stub table "owner". The Relocate_task for that input section may or may not run before the Relocate_task for another input section that contains the code that needs the erratum fix, but doesn't "own" the stub table. If it runs before (or might even race with) that other task, it ends up with a copy of the unrelocated original instruction. In other words - when calling fix_errata() from do_relocate_sections(), gold is going through the list of errata stubs that are associated only with that object. This routine updates the stored original instruction and replaces it in the output view with a branch to the stub. Later, as gold is going through the object file's input sections, it then checks for stub tables "owned" by each input section, and writes out all the stubs from that stub table, regardless of what object file each stub is associated with. Fixed by relocating the erratum stub only after the corresponding errata spot is fixed. That is to have fix_errata() call Stub_table::relocate_erratum_stub() for each stub. gold/ChangeLog 2017-07-06 Han Shen <shenhan@google.com> PR gold/21491 * aarch64.cc (Erratum_stub::invalidate_erratum_stub): New method. (Erratum_stub::is_invalidated_erratum_stub): New method. (Stub_table::relocate_reloc_stub): Renamed from "relocate_stub". (Stub_table::relocate_reloc_stubs): Renamed from "relocate_stubs". (Stub_table::relocate_erratum_stub): New method. (AArch64_relobj::fix_errata_and_relocate_erratum_stubs): Renamed from "fix_errata". (Target_aarch64::relocate_reloc_stub): Renamed from "relocate_stub".
2017-07-12Fix compile time warnings when using gcc 7.1.1Nick Clifton10-26/+63
bfd * elf32-xtensa.c (elf_xtensa_get_plt_section): Increase length of plt_name buffer. (elf_xtensa_get_gotplt_section): Increase length of got_name buffer. * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add a default return of FALSE. * mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc): Add a default return of FALSE. binutils * dwarf.c (dwarf_vmatoa_1): Do not pass a NULL string pointer to sprintf. * srconv.c (walk_tree_type): Initialise the spare field of the IT_dty structure. gas * config/tc-pru.c (md_assemble): Add continue statement after handling 'E' operand character. * config/tc-v850.c (md_assemble): Initialise the 'insn' variable.
2017-07-12Automatic date update in version.inGDB Administrator1-1/+1
2017-07-11[AArch64] Use "#pass" instead of "#..." to filter multiple linesJiong Wang2-2/+6
ld/ * testsuite/ld-aarch64/dt_textrel.d: Use "#pass" instead of ".*" to filter out remaining lines.
2017-07-11Automatic date update in version.inGDB Administrator1-1/+1
2017-07-10Fix compile time warning when building for powerpc-aix target.Nick Clifton2-0/+7
* coffcode.h (coff_slurp_symbol_table): Do not include an entry for C_AIX_WEAKEXT if it has the same value as C_WEAKEXT.
2017-07-10Automatic date update in version.inGDB Administrator1-1/+1
2017-07-09Automatic date update in version.inGDB Administrator1-1/+1
2017-07-08Automatic date update in version.inGDB Administrator1-1/+1
2017-07-07MIPS/LD: Fix a segfault from ELF `e_flags' access with non-ELF output BFDMaciej W. Rozycki6-6/+36
Fix a commit 861fb55ab50a ("Defer allocation of R_MIPS_REL32 GOT slots"), <https://sourceware.org/ml/binutils/2008-08/msg00096.html>, regression and a more recent: FAIL: ld-unique/pr21529 new LD test case failure, observed with all the relevant MIPS targets whenever the linker is invoked with one or more ELF inputs and the output format set to `binary'. The culprit is a segmentation fault caused in `mips_before_allocation' by a null pointer dereference, where an attempt is made to access the ELF file header's `e_flags' member, for the purpose of determining whether to produce a PLT and copy relocations, without first checking that the output BFD is ELF. The `e_flags' member is stored in BFD's private data pointed to by `tdep', which in the case of the `binary' BFD is null, causing the segmentation fault. With other non-ELF BFDs such as SREC `tdep' is not null and consequently no crash may happen and in that case random data will be interpreted as it was `e_flags'. Disable the access to `e_flags' then and all the associated checks and consequently never produce a PLT and copy relocations if output is not a MIPS ELF BFD, matching `_bfd_mips_elf_merge_private_bfd_data' that does not process `e_flags' in that case either and therefore does not let us decide here anyway if all the input objects included in the link are suitable for use with a PLT and copy relocations. ld/ * emultempl/mipself.em (mips_before_allocation): Avoid ELF processing if not MIPS ELF. * testsuite/ld-mips-elf/binary.d: New test. * testsuite/ld-mips-elf/binary.ld: New test linker script. * testsuite/ld-mips-elf/binary.s: New test source. * testsuite/ld-mips-elf/mips-elf.exp: Run the new test. (cherry picked from commit e54cb31aa33a124f746ff40c134e20e6d2bc6c34)
2017-07-07Make ppc476 testcases more robustAlan Modra4-9/+15
* testsuite/ld-powerpc/ppc476-shared.lnk: Align .bss. * testsuite/ld-powerpc/ppc476-shared.d: Adjust. * testsuite/ld-powerpc/ppc476-shared2.d: Adjust.
2017-07-07Move print_insn_XXX to an opcodes internal header, againAlan Modra4-3/+9
88c1242dc0a changed some generated files rather than the source. * cgen-dis.in: Include disassemble.h, not dis-asm.h. * m32c-dis.c: Regenerate. * mep-dis.c: Regenerate.
2017-07-07Add some missing xcoff supportAlan Modra2-1/+10
* coffcode.h (coff_slurp_symbol_table): Handle C_AIX_WEAKEXT.
2017-07-07Apply ld/Makefile.in patch to the correct fileAlan Modra2-0/+5
Makefile.in is generated. * Makefile.am (eelf64_s390.c): Depend on emultempl/s390.em.
2017-07-07Another _doprnt fix for %L handlingAlan Modra2-12/+20
* bfd.c (_doprnt): Replace "L" with "ll" when printing bfd_vma as long long. Move code replacing "ll" with "I64", and simplify.
2017-07-07Automatic date update in version.inGDB Administrator1-1/+1
2017-07-06Convert 'L' to 'l' when setting wide_width to 1H.J. Lu2-1/+9
When setting wide_width to 1, convert 'L' to 'l'. Otherwise, %Lx/%Lu/%Ld will be passed to fprintf which will treat the argument as long long. * bfd.c (_doprnt): Convert 'L' to 'l' when setting wide_width to 1. (cherry picked from commit a0b7b105236d5bc65e8d3a35f1b4f34bcc5e3705)
2017-07-05Fix build with GCC 4.2H.J. Lu4-13/+27
Fix GCC 4.2 warnings like: cc1: warnings being treated as errors binutils-gdb/bfd/dwarf2.c:1844: warning: declaration of ‘time’ shadows a global declaration /usr/include/time.h:187: warning: shadowed declaration is here binutils-gdb/bfd/dwarf2.c: In function ‘line_info_add_file_name’: binutils-gdb/bfd/dwarf2.c:1854: warning: declaration of ‘time’ shadows a global declaration /usr/include/time.h:187: warning: shadowed declaration is here bfd/ * dwarf2.c (line_info_add_include_dir_stub): Replace time with xtime. (line_info_add_file_name): Likewise. (decode_line_info): Likewise. binutils/ * dwarf.c (display_debug_names): Replace index with xindex. (cherry picked from commit 1d827a720c9659cc8d54059ccc3efae24b875c03)
2017-07-05[Patch ARM] Support MVFR2 VFP Coprocessor register for ARMv8-ARamana Radhakrishnan7-0/+32
This patch adds support mvfr2 control registers for armv8-a as this was missed from the original port to armv8-a (documented at G6.2.109 in (Issue B.a) of the ARM-ARM. This was discovered by an internal user of the GNU toolchain. I'd like to backport this to the binutils 2.28 and binutils 2.29 release branch if possible (with suitable testing and basically checking removing the armv8-r parts). Tristan - are you ok with the backports ? Applied to trunk. regards Ramana 2017-07-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * gas/config/tc-arm.c (arm_regs): Add MVFR2. (do_vmrs): Constraint for MVFR2 and armv8. (do_vmsr): Likewise. * gas/testsuite/gas/arm/armv8-a+fp.d: Update. * gas/testsuite/gas/arm/armv8-ar+fp.s: Likewise. * gas/testsuite/gas/arm/armv8-r+fp.d: Likewise. * gas/testsuite/gas/arm/vfp-bad.s: Likewise. * gas/testsuite/gas/arm/vfp-bad.l: Likewise. * opcodes/arm-dis.c: Support MVFR2 in disassembly with vmrs and vmsr.
2017-07-04Bump release.Tristan Gingold13-61/+86
bfd/ 2017-07-04 Tristan Gingold <gingold@adacore.com> * version.m4: Bump version to 2.28.90 * configure: Regenerate. binutils/ 2017-07-04 Tristan Gingold <gingold@adacore.com> * configure: Regenerate. gas/ 2017-07-04 Tristan Gingold <gingold@adacore.com> * configure: Regenerate. gprof/ 2017-07-04 Tristan Gingold <gingold@adacore.com> * configure: Regenerate. ld/ 2017-07-04 Tristan Gingold <gingold@adacore.com> * configure: Regenerate. opcodes/ 2017-07-04 Tristan Gingold <gingold@adacore.com> * configure: Regenerate.
2017-07-04Add markers.Tristan Gingold7-0/+19
binutils/ 2017-07-04 Tristan Gingold <gingold@adacore.com> * NEWS: Add marker for 2.29. gas/ 2017-07-04 Tristan Gingold <gingold@adacore.com> * NEWS: Add marker for 2.29. ld/ 2017-07-04 Tristan Gingold <gingold@adacore.com> * NEWS: Add marker for 2.29.
2017-07-04[AArch64] Remove useless and incorrect assertionJiong Wang2-7/+5
The outer caller elf_link_output_extsym in elflink.c is a traverse function on all external symbol, and it will only call *finish_dynamic_symbol if some conditions is meet. It is executed conditionally. If the condition to trigger that assertion is satisified, it then won't satify the outer check in finish_dynamic_symbol, so *finish_dynamic_symbol won't be called that the assertion is expected to be dead code. If elf_link_output_extsym is a traverse function that unconditionally called on external symbols decided to be exported, then an assertion to make sure these symbols are in sane status might make sense. bfd/ * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Remove the sanity check at the head of this function.
2017-07-04[binutils patch] DWARF-5: Extend bfd/dwarf2.c parse_comp_unit()Jan Kratochvil2-71/+399
bfd/ 2017-07-04 Jan Kratochvil <jan.kratochvil@redhat.com> * dwarf2.c (struct dwarf2_debug): Add fields dwarf_line_str_buffer and dwarf_line_str_size. (struct attr_abbrev): Add field implicit_const. (dwarf_debug_sections): Add .debug_line_str. (enum dwarf_debug_section_enum): Add debug_line_str and debug_max. (dwarf_debug_section_assert): Add static assertion. (read_indirect_line_string): New. (read_abbrevs): Support DW_FORM_implicit_const. (is_str_attr): Support DW_FORM_line_strp. (read_attribute_value): Support DW_FORM_line_strp and DW_FORM_implicit_const. (read_attribute): Support DW_FORM_implicit_const. (line_info_add_include_dir, line_info_add_include_dir_stub): (line_info_add_file_name, read_formatted_entries): New. (decode_line_info, parse_comp_unit): Support DWARF 5. (_bfd_dwarf2_cleanup_debug_info): Free dwarf_line_str_buffer.
2017-07-04Automatic date update in version.inGDB Administrator1-1/+1
2017-07-03bfd: partial revert commit EC1ACAB (prevent all but undef weak symbols to ↵Egeyar Bagcioglu2-7/+5
become dynamic in sparc). bfd/ChangeLog: 2017-07-03 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com> * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Remove the abort statement that was put for symbols that are not dynamic.
2017-07-03Regenerate pot files.Tristan Gingold10-3402/+4257
2017-07-03strings: remove section/file size checkAlan Modra2-57/+28
This reverts most of 06803313754, 2005-07-05 Dmitry V. Levin change adding a check that section size doesn't exceed file size. As we've seen recently with mmo tests, decoded section size can easily exceed file size with formats that encode section data. I've also changed "strings" to use bfd_malloc_and_get_section, so that "strings" won't die on a malloc failure. I think it's better to continue on looking at other sections after failing to dump a section with fuzzed size. The testcases at https://bugzilla.altlinux.org/show_bug.cgi?id=5871 on a 32-bit host now produce $ strings -d --target=a.out-i386 /tmp/bfdkiller.dat strings: error: /tmp/bfdkiller.dat(.text) is too large (0xffffffff bytes) strings: /tmp/bfdkiller.dat: Reading section .text failed: Memory exhausted strings: /tmp/bfdkiller.dat: Reading section .data failed: File truncated org.ec $ strings -d --target=a.out-i386 /tmp/eclipse-state strings: /tmp/eclipse-state: Reading section .text failed: File truncated org.eclipse.osgi System Bundle [snip] * strings.c (filename_and_size_t): Delete. (strings_a_section): Don't check section size against file size. Use bdf_malloc_and_get_section. Report an error on failures. Replace arg param with filename and got_a_section param. (got_a_section): Move to.. (strings_object_file): ..an auto var here. Iterate over sections rather than calling bfd_map_over_sections. Adjust strings_a_section call.
2017-07-03Support %Lx, %Lu, %Ld in _bfd_error_handler formatAlan Modra5-46/+82
One way to print 64-bit bfd_vma or bfd_size_type values on 32-bit hosts is to cast the value to long long and use the 'll' modifier in printf format strings. However, that's awkward because we also support the Microsoft C library printf that uses 'I64' as a modifier instead, and having variants of translated strings would not endear us to the translation project. So, rewrite the 'll' modifier in _doprint for Microsoft. Even with that capability it's not so nice for 32-bit code to need casts to long long, so this patch makes 'L' a modifier for bfd_vma rather than an alias for 'll'. I've then used the new 'L' modifier to fix selected format strings. * bfd.c (_doprnt): Rewrite "ll" and "L" modifiers to "I64" for __MSVCRT__. Support "L" modifier for bfd_vma. Formatting. * elf.c (setup_group): Use "Lx" to print sh_size. (_bfd_elf_setup_sections): Remove unnecessary cast and print unknown section type in hex. (copy_special_section_fields): Style fix. (bfd_section_from_shdr): Correct format for sh_link. Use a common error message for all the variants of unrecognized section types. (assign_file_positions_for_load_sections): Use "Lx" for lma adjust error message. (assign_file_positions_for_non_load_sections): Formatting. (rewrite_elf_program_header): Formatting. Use "Lx" for bfd_vma values in error messages. * elfcode.h (elf_slurp_reloc_table_from_section): Cast ELF_R_SYM value to type expected by format. * elflink.c (elf_link_read_relocs_from_section): Use "Lx" in error messages. (elf_link_add_object_symbols): Use "Lu" for symbol sizes. (elf_link_input_bfd): Use "Lx" for r_info. (bfd_elf_gc_record_vtinherit): Use "Lx" for offset.