• R/O
  • HTTP
  • SSH
  • HTTPS

List of commits

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

GNU Binutils with patches for OS216


users/hjl/pr25355/binutils-2_34-branch
RSS
Rev. Time Author
6653965 users/hjl/pr25355/binutils-2_34-branch 2020-02-13 23:40:27 H.J. Lu

plugin: Search bfd-plugins directories only once

try_load_plugin is updated to take either plugin name or plugin entry.
load_plugin is updated to search bfd-plugins directories first to build
a list of plugins and call try_load_plugin with each plugin on the list.
When --plugin is used, the plugin list only has one entry.

* plugin.c (try_load_plugin): Make plugin_list_iter an argument
and use it if it isn't NULL. Remove has_plugin_p argument. Add
a build_list_p argument. Don't search plugin_list. Short circuit
when building the plugin list.
(has_plugin): Renamed to has_plugin_list.
(bfd_plugin_set_plugin): Don't set has_plugin.
(bfd_plugin_specified_p): Check plugin_list instead.
(build_plugin_list): New function.
(load_plugin): Call build_plugin_list and use plugin_list.

(cherry picked from commit 99845b3b77ed1248b6fb94707f88868bde358ccc)

b1f7345 2020-02-13 23:39:50 H.J. Lu

Plugin: Treat each object as independent

Since plugin treats each object as independent, we must do a fresh dlopen
of plugin for each object.

PR binutils/25355
* plugin.c (try_claim): Always clean up for LTO wrapper.
(try_load_plugin): Treat each object as independent. Create a
copy for plugin name.

(cherry picked from commit 22fe7df8c964c23f5760ecf9653af86ede8b5030)

d8e60c8 2020-02-13 23:38:36 H.J. Lu

Clear plugin_data memory

Clear plugin_data memory since it may be uninitialized.

* plugin.c (add_symbols): Clear plugin_data memory.

(cherry picked from commit 1d07a805c8ffb611b1ee21b30dd16f10ff8b11bf)

de00a5c 2020-02-13 23:37:46 H.J. Lu

Use GCC LTO wrapper to get real symbols from LTO IR objects

GCC LTO wrapper is needed to extract real symbols from LTO IR objects.
This patch does the following:

1. Set up GCC LTO wrapper for each LTO IR object.
2. Run GCC LTO wrapper to get the real object.
3. Extract symbol info from the real object.
4. Cleanup afterwards.

bfd/

PR binutils/25355
* configure.ac (HAVE_EXECUTABLE_SUFFIX): New AC_DEFINE.
(EXECUTABLE_SUFFIX): Likewise.
* config.in: Regenerated.
* configure: Likewise.
* plugin.c (bfd_plugin_close_and_cleanup): Removed.
(plugin_list_entry): Add all_symbols_read, cleanup_handler,
gcc, lto_wrapper, resolution_file, resolution_option, gcc_env,
real_bfd, real_nsyms, real_syms, lto_nsyms and lto_syms.
(get_lto_wrapper): New.
(setup_lto_wrapper_env): Likewise.
(current_plugin): Likewise.
(register_all_symbols_read): Likewise.
(register_cleanup): Likewise.
(get_symbols): Likewise.
(add_input_file): Likewise.
(bfd_plugin_close_and_cleanup): Likewise.
(claim_file): Removed.
(register_claim_file): Set current_plugin->claim_file.
(add_symbols): Make a copy of LTO symbols. Set lto_nsyms and
lto_syms in current_plugin.
(try_claim): Use current_plugin->claim_file. Call LTO plugin
all_symbols_read handler. Copy real symbols to plugin_data.
Call LTO plugin cleanup handler. Clean up for LTO wrapper.
(try_load_plugin): Don't reuse the previous plugin for LTO
wrapper. Set up GCC LTO wrapper if possible. Don't set
plugin_list_iter->claim_file.
(bfd_plugin_canonicalize_symtab): Use real LTO symbols if
possible.
* plugin.h (plugin_data_struct): Add real_bfd, real_nsyms and
real_syms.

ld/

PR binutils/25355
* testsuite/ld-plugin/lto.exp: Run PR binutils/25355 test.
* testsuite/ld-plugin/pr25355.c: New file.
* testsuite/ld-plugin/pr25355.d: Likewise.
* testsuite/lib/ld-lib.exp (run_cc_link_tests): Support compile
only dump.

(cherry picked from commit 0aa99dcd70bce68f8efef310350a6294e1143382)

727f687 2020-02-13 09:01:45 GDB Administrator

Automatic date update in version.in

e485a45 2020-02-12 09:02:01 GDB Administrator

Automatic date update in version.in

82f439d 2020-02-12 00:55:25 Nick Clifton

Import a fix from the mainline sources that prevents a potential illegal memory access when parsing PE binaries.

PR 25447
* coffgen.c (_bfd_coff_close_and_cleanup): Do not clear the keep
syms and keep strings flags as these may have been set in order to
prevent a bogus call to free.

0a71006 2020-02-11 21:43:41 Nick Clifton

Fix building elf43-msp430.c on a 32-bit host.

* elf32-msp430.c (msp430_final_link_relocate): Always use longs
for addresses in print statements.
(msp430_elf_relax_delete_bytes): Likewise.
(msp430_elf_relax_add_words): Likewise.
(msp430_elf_relax_section): Likewise.

98ef1b4 2020-02-11 09:01:58 GDB Administrator

Automatic date update in version.in

def23c1 2020-02-11 06:13:37 Jozef Lawrynowicz

MSP430: Enable relaxation of jump instructions to hard-coded pcrel offsets

This patch fixes execution failures which occur when the BR in a
sequence such as:
J<cond> 1f
BR
1:
is relaxed to a JMP, and the pc-relative offset for the destination of
the J<cond> instruction is hard-coded to be 2 words ahead of the
instruction.
The hard-coded offset will cause execution to jump 1 word ahead of where
it should actually go.

Instead we now detect the hard-coded offset is one we inserted earlier,
and invert the condition, allowing us to remove the BR entirely.

bfd/ChangeLog:

2020-02-10 Jozef Lawrynowicz <jozef.l@mittosystems.com>

* elf32-msp430.c (msp430_elf_relax_section): Before relaxing a branch,
check if previous instruction matches a conditional jump inserted
earlier. Invert conditional jump and delete branch in this case.

(cherry picked from commit ac4280dad035bb98fba999c174314435aefdf1a0)

0736195 2020-02-11 06:11:05 Jozef Lawrynowicz

MSP430: Enable relaxation of relocs in JMP instructions

This patch fixes relocation overflows caused by an inability to relax
unconditional JMP instructions to BR instructions.

bfd/ChangeLog:

2020-02-10 Jozef Lawrynowicz <jozef.l@mittosystems.com>

* elf32-msp430.c (msp430_elf_relax_add_two_words): Rename to
msp430_elf_relax_add_words. Support insertion of either one or two
words.
(msp430_elf_relax_section): Catch opcode of 0x3c00 when relocation
needs to be grown. Handle insertion of branch instruction to replace
jump.

(cherry picked from commit 8d6cb116f47b5edb2a7c2fa540fcb9dbcd3effc2)

0339717 2020-02-11 06:05:26 Jozef Lawrynowicz

MSP430: Add printf statements to assist with debugging during relaxation

bfd/ChangeLog:

2020-02-10 Jozef Lawrynowicz <jozef.l@mittosystems.com>

* elf32-msp430.c (msp430_final_link_relocate): Add printf statements for
debugging relocations.
(msp430_elf_relax_delete_bytes): Likewise.
(msp430_elf_relax_add_two_words): Likewise.
(msp430_elf_relax_section): Likewise.

(cherry picked from commit d60f54486a99e6b702cccdb16b3429f3524021fd)

924adcb 2020-02-11 01:50:08 H.J. Lu

x86: Accept Intel64 only instruction by default

Commit d835a58baae720 disabled sysenter/sysenter in 64-bit mode by
default. By default, assembler should accept common, Intel64 only
and AMD64 ISAs since there are no conflicts.

gas/

PR gas/25516
* config/tc-i386.c (intel64): Renamed to ...
(isa64): This.
(match_template): Accept Intel64 only instruction by default.
(i386_displacement): Updated.
(md_parse_option): Updated.
* c-i386.texi: Update -mamd64/-mintel64 documentation.
* testsuite/gas/i386/i386.exp: Run x86-64-sysenter. Pass
-mamd64 to x86-64-sysenter-amd.
* testsuite/gas/i386/x86-64-sysenter.d: New file.

opcodes/

PR gas/25516
* i386-gen.c (opcode_modifiers): Replace AMD64 and Intel64
with ISA64.
* i386-opc.h (AMD64): Removed.
(Intel64): Likewose.
(AMD64): New.
(INTEL64): Likewise.
(INTEL64ONLY): Likewise.
(i386_opcode_modifier): Replace amd64 and intel64 with isa64.
* i386-opc.tbl (Amd64): New.
(Intel64): Likewise.
(Intel64Only): Likewise.
Replace AMD64 with Amd64. Update sysenter/sysenter with
Cpu64 and Intel64Only. Remove AMD64 from sysenter/sysenter.
* i386-tbl.h: Regenerated.

(cherry picked from commit 4b5aaf5f6992319c2c72e080a1a55842640b8732)

ac1d3fb 2020-02-10 21:18:01 Richard Sandiford

aarch64: Fix MOVPRFX markup for bf16 conversions

bfcvt converts a .S input to a .H output, so any predicated movprfx
needs to operate on .S rather than .H. In common with SVE2 narrowing
top operations, bfcvtnt doesn't accept movprfx.

2020-02-10 Richard Sandiford <richard.sandiford@arm.com>

opcodes/
* aarch64-tbl.h (aarch64_opcode): Set C_MAX_ELEM for SVE bfcvt.
Remove C_SCAN_MOVPRFX for SVE bfcvtnt.

gas/
* testsuite/gas/aarch64/sve-bfloat-movprfx.s: Use .h rather than
.s for the movprfx.
* testsuite/gas/aarch64/sve-bfloat-movprfx.d: Update accordingly.
* testsuite/gas/aarch64/sve-movprfx_28.d,
* testsuite/gas/aarch64/sve-movprfx_28.l,
* testsuite/gas/aarch64/sve-movprfx_28.s: New test.

c219338 2020-02-10 09:02:02 GDB Administrator

Automatic date update in version.in

dbcc9fc 2020-02-09 09:02:37 GDB Administrator

Automatic date update in version.in

0465a2e 2020-02-08 09:01:55 GDB Administrator

Automatic date update in version.in

daa2cb0 2020-02-07 09:02:24 GDB Administrator

Automatic date update in version.in

7dc03c5 2020-02-07 00:54:49 H.J. Lu

[2.34] Mention x86 assembler options to align branches

* NEWS: Mention x86 assembler options to align branches for
binutils 2.34.

(cherry picked from commit 5eb617a71463fa6810cd14f57adfe7a1efc93a96)

cb4495a 2020-02-06 09:01:49 GDB Administrator

Automatic date update in version.in

296e436 2020-02-05 09:01:44 GDB Administrator

Automatic date update in version.in

b96b3ce 2020-02-04 09:02:15 GDB Administrator

Automatic date update in version.in

c11235a 2020-02-03 09:02:12 GDB Administrator

Automatic date update in version.in

5bfa825 2020-02-02 09:01:50 GDB Administrator

Automatic date update in version.in

871ac46 2020-02-01 22:02:47 Nick Clifton

Re-enable development.

d7f734b binutils-2_34 2020-02-01 20:58:46 Nick Clifton

Set version to 2.34, turn off development, add changelog entries

7e57459 2020-02-01 09:02:01 GDB Administrator

Automatic date update in version.in

8d4447e 2020-02-01 02:17:37 Andre Vieira

arm: PR gas/25472 Enable DSP instructions with +mve

We noticed +mve was not enabling DSP instructions as it should, reported in PR
25472.
The MVE architecture extension for Armv8.1-M Mainline implies DSP extensions.
This patch reflects that in the '+mve' command line option.

gas/ChangeLog:
2020-01-31 Andre Vieira <andre.simoesdiasvieira@arm.com>

Backport from mainline.
2020-01-31 Andre Vieira <andre.simoesdiasvieira@arm.com>

PR gas/25472
* config/tc-arm.c (armv8m_main_ext_table): Refactored +dsp adding.
(armv8_1m_main_ext_table): Refactored +dsp adding and enabled dsp for
+mve.
* testsuite/gas/arm/mve_dsp.d: New test.

7e1a4f5 2020-02-01 01:45:04 Nick Clifton

Fix compile time build problem building the s390 assembler.

* config/tc-s390.c (s390_elf_suffix): Return ELF_SUFFIX_NONE
rather than BFD_RELOC_NONE.

f23bd98 2020-02-01 01:39:18 Srinath Parvathaneni

[ARM]: Add support for vldmia/vldmdb/vstmia/vstmdb instructions in MVE.

This patch adds support for assembly instructions vldmia, vldmdb, vstmia
and vstmdb in MVE. This instructions are already supported for Armv8-M
Floating-point Extension.

gas/ChangeLog:

2020-01-31 Srinath Parvathaneni <srinath.parvathaneni@arm.com>

* config/tc-arm.c (fldmias): Moved inside "THUMB_VARIANT & arm_ext_v6t2"
to support VLDMIA instruction for MVE.
(fldmdbs): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VLDMDB
instruction for MVE.
(fstmias): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VSTMIA
instruction for MVE.
(fstmdbs): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VSTMDB
instruction for MVE.
* testsuite/gas/arm/mve-ldst.d: New test.
* testsuite/gas/arm/mve-ldst.s: Likewise.