Commit Graph

4669 Commits

Author SHA1 Message Date
Alan Modra
06116013f8 dlltool fixes for commit 68bbe11833
For some reason, dlltool supports mcore-elf input files.

	* dlltool.c (filter_symbols): Drop symbols with NULL names.
	(identify_member_contains_symname): Don't consider symbols
	with NULL names.
2024-10-04 22:07:22 +09:30
Jan Beulich
af16469a90 MAINTAINERS: move M R Swami Reddy to Past Maintainers
He/she cannot be reached at the given address anymore, and the name is
apparently too common to identify the person to attempt to establish
another contact. Sadly this orphans the CR16 and CRx ports.
2024-10-04 09:34:11 +02:00
Jan Beulich
4b59d30c84 MAINTAINERS: move Matt Thomas to Past Maintainers
Matt cannot be reached at the @netbsd.org address anymore, and I was
unable to find another one, even with the help of the NetBSD community
(where his resigning was announced over 4 years ago [1]).

[1] http://mail-index.netbsd.org/netbsd-announce/2020/05/07/msg000314.html
2024-10-04 09:33:49 +02:00
Alan Modra
c6bf8c475a Enable dlltool --leading-underscore for targets other than x86
This also makes the dlltool tests run more PE targets, finding that
sh-pe dlltool reports "Machine 'sh' not supported".  I guess no one
cares about that.

	PR19459
	* dlltool.c (asm_prefix): Remove "mach" parameter.  Return
	leading_underscore independent of machine.
	(ASM_PREFIX): Adjust.
	* testsuite/binutils-all/dlltool.exp: Run on any target
	satisfying is_pecoff_format for which dlltool is built.
	Revert commit 0398b8d6c8.  Remove target_xfail.
2024-10-03 12:31:46 +09:30
Alan Modra
45a7f5a29d dlltool leading_underscore
This patch tidies dlltool code dealing with adding a leading
underscore to generated symbol names.  There should be no functional
change here, but there could be if we ever have a bfd target with
symbol_leading_char something other than '_' or 0.

	* dlltool.c (leading_underscore): Change from an int to a
        char*.  Update all uses.  If neither --leading-underscore or
        --no=leading-underscore is given, set leading_underscore to a
        string with first char returned by bfd_get_target_info as the
        target's symbol underscoring.
2024-10-03 12:31:45 +09:30
Alan Modra
d2ea1a9411 nm: don't try to print line numbers for symbols without names
It doesn't make much sense trying to print line numbers for what are
usually broken symbols, and there is a possibility of a segfault if
we pass strcmp a NULL.
2024-10-03 12:31:45 +09:30
Alan Modra
d0285cdf58 Re: dlltool: file name too long
Allow for "snnnnn.o" suffix when testing against NAME_MAX, and tidy
TMP_STUB handling by overwriting a prior nnnnn.o string rather than
copying the entire name.

	* dlltool.c (TMP_STUB): Add "nnnnn.o" to format.
	(make_one_lib_file): Localise variables.  Don't copy TMP_STUB,
	overwrite suffix instead.
	(gen_lib_file): Similarly.
	(main): Allow for max suffix when testing against NAME_MAX.
2024-10-01 08:35:49 +09:30
Alan Modra
f6abafcd91 Move uses_elf_em to ld-lib.exp
and add a missing entry from uses_genelf.

binutils/
	* testsuite/lib/binutils-common.exp (uses_elf_em): Delete.
ld/
	* testsuite/lib/ld-lib.exp (uses_genelf): Add moxie-*-moxiebox.
	(uses_elf_em): New.
2024-09-28 15:45:50 +09:30
Frank Ch. Eigler
3babc2e220 binutils testsuite: canonicalize subtest names in debuginfod.exp
Previous code included the full $srcdir pathnames in the individual
subtest PASS/FAIL names, which makes it difficult to compute
comparisons or regressions between test runs on different machines.
This version switches to the basename only, which are common.

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
2024-09-24 21:50:41 -04:00
Alan Modra
f2a15e7cde get_type_abbrev_from_form tidy
* dwarf.c (get_type_abbrev_from_form): Make uvalue param a
	uint64_t.  Localise variables.  Don't bother clearing *data_return
	and *addrev_num_return for a NULL return value.
2024-08-29 21:05:57 +09:30
Jiaying Song
a253bea899 dlltool: file name too long
During the execution of the command: i686-w64-mingw32-dlltool
--input-def $def_filepath --output-delaylib $filepath --dllname qemu.exe
An error occurred:
i686-w64-mingw32-dlltool: failed to open temporary head file: ..._w64_mingw32_nativesdk_qemu_8_2_2_build_plugins_libqemu_plugin_api_a_h.s

Due to the path length exceeding the Linux system's file name length
limit (NAME_MAX=255), the temporary file name generated by the
i686-w64-mingw32-dlltool command becomes too long to open. To address
this, a new temporary file name prefix is generated using tmp_prefix =
prefix_encode ("d", getpid()), ensuring that the file name does not
exceed the system's length limit.

Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
Reviewed-by: Alan Modra <amodra@gmail.com>
2024-08-28 22:29:40 +09:30
Alan Modra
57a3845126 dlltool.c formatting
Mostly whitespace fixes, some removal of excess parens.
2024-08-28 22:19:38 +09:30
Nick Clifton
73fbc50f4b Remove Walter Lee as maintainer for Tile Gx and Tile Pro 2024-08-19 16:34:29 +01:00
Nick Clifton
baeb0a958c Update release readme after making 2.43.1 release 2024-08-17 19:14:44 +01:00
Alan Modra
cfe96ff03a PR32072 dlltool.c initializer-string is too long
PR 32072
	* dlltool.c: Delete unneeded forward function declaraions.
	Make buffers used by dlltmp static.
	(prefix_encode): Avoid warning.  Use stpcpy.
2024-08-13 12:50:17 +09:30
Nick Clifton
b59d8eafd8 Update release-README after completing the 2.43 release. 2024-08-04 17:47:49 +01:00
Nick Clifton
05d193cacd Updated Bulgarian translation for the binutils/ directory 2024-08-02 15:40:14 +01:00
Aapo Rantalainen
f938391534 Fix typo in --help output of the strings program.
PR 31940
2024-08-02 15:14:27 +01:00
Alan Modra
479c611636 skip_attr_bytes assertion (data) <= (end) fail
get_type_abbrev_from_form is lax in not limiting data for a uleb to
the current CU, because DW_FORM_ref_addr allows access to other CU's
data.  This can lead to an assertion fail when skipping or reading
attributes in get_type_signedness.

	* dwarf.c (get_type_abbrev_from_form): Limit uleb data to map end
	for ref_addr, cu_end otherwise.
2024-08-01 21:52:34 +09:30
Nick Clifton
8896efce13 Updated translations for the bfd, binutils, gas, ld and opcodes directories 2024-07-29 11:57:25 +01:00
Pali Rohár
fb2a924990 PR 31728 testcases 2024-07-29 20:01:06 +09:30
YunQiang Su
08e6af1bac microMIPS: Add MT ASE instruction set support
Add the MT ASE instruction operand types and encodings to the microMIPS
opcode table and enable the assembly of these instructions in GAS from
MIPSr2 onwards.  Update the binutils and GAS testsuites accordingly.

References:

"MIPS Architecture for Programmers, Volume IV-f: The MIPS MT Module for
the microMIPS32 Architecture", MIPS Technologies, Inc., Document Number:
MD00768, Revision 1.12, July 16, 2013

Co-Authored-By: Maciej W. Rozycki <macro@redhat.com>
2024-07-26 18:01:09 +01:00
Nick Clifton
ad43ae7635 Fix "Untranslated plural in readelf.c"
PR 32002
2024-07-26 16:42:03 +01:00
Pali Roh?r
91b999864f Improve objdump's display of PE header information.
PR 31953
2024-07-23 08:52:21 +01:00
H.J. Lu
e1b9d58e85 Correct version for binutils 2.43 NEWS entries.
Change 2.42 to 2.43 for binutils 2.43 NEWS entries.

binutils/

	* NEWS: Change 2.42 to 2.43 for 2.43 NEWS entries.

ld/

	* NEWS: Change 2.42 to 2.43 for 2.43 NEWS entries.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
2024-07-20 13:52:50 -07:00
Nick Clifton
9f26b04c3e Update after creating 2.43 branch 2024-07-20 13:46:23 +01:00
Nick Clifton
cff16e125a Change version to 2.43.50 2024-07-20 13:16:33 +01:00
Nick Clifton
b33c4f8f82 Add markers for 2.43 branch/release 2024-07-20 12:43:19 +01:00
Alan Modra
237c05a65f Re: binutils: Add a test for strip with build notes
The new test wasn't being run, and failed due to relocations against
.gnu.build.attributes being stripped by default strip behaviour.
We probably should be keeping these relocations, but I haven't made
that change here.
BTW, the new test fails on ia64-hpux but that's just a repeat of the
existing note-5 fail.

	PR 31999
	* testsuite/binutils-all/strip-16.d: strip with --strip-unneeded
	and --merge-notes.
	* testsuite/binutils-all/objcopy.exp: Run the new test.  Sort
	other strip tests.
2024-07-20 13:54:00 +09:30
H.J. Lu
3f55acd0ec binutils: Add a test for strip with build notes
Add a test for strip with build notes.

	PR binutils/31999
	* testsuite/binutils-all/strip-16.d: New.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
2024-07-19 18:59:53 -07:00
Alan Modra
964be70df7 PR31999 strip [.gnu.build.attributes]: failed
PR 31999
	* objcopy.c (merge_gnu_build_notes): Always set *new_size.
2024-07-20 10:11:25 +09:30
Maciej W. Rozycki
0ffc724699 MIPS/opcodes: Mark MT thread context move assembly idioms as aliases
A number of instructions in the regular MIPS opcode table are assembly
idioms for the MT thread context move MFTR and MTTR instructions, so
mark them as aliases accordingly.  Add suitable test cases, which also
cover the PAUSE assembly idiom.
2024-07-19 19:01:53 +01:00
Vladimir Mezentsev
f769dcdb01 gprofng: add release notes for 2.43
ChangeLog
2024-07-10  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>.

	* binutils/NEWS (gprofng): Add release notes for 2.43
2024-07-11 21:27:10 -07:00
Alan Modra
66e545391e Re: LoongArch: Add DT_RELR support
Fix commit d89ecf33ab testsuite breakage.

	* testsuite/lib/binutils-common.exp (supports_dt_relr): Correct.
2024-07-06 18:22:06 +09:30
Alan Modra
428c21e99a objcopy bfd_map_over_sections and global status
This patch started life as a relatively simple change to fix some
unimportant objcopy memory leaks, but expanded into a larger patch
when I was annoyed by the awkwardness of passing data when using
bfd_map_over_sections.  A simple loop over sections is much more
convenient, and we really don't need the abstraction layer.  Sections
in a list isn't going to disappear any time soon.

The patch also removes use of the global "status" variable by all but
the top-level functions called from main.

	* objcopy.c (filter_symbols): Return success as a bool.  Pass
	symcount as a pointer, updated on return.
	(merge_gnu_build_notes): Similarly return a bool and add newsize
	param with updated smaller section size.
	(setup_bfd_headers): Return bool success rather than setting
	"status" on failure.
	(setup_section): Likewise.
	(copy_relocations_in_section, copy_section): Likewise, and adjust
	params.
	(mark_symbols_used_in_relocations): Likewise, and free memory
	on failure path.  Don't call bfd_fatal.
	(get_sections): Delete function.
	(copy_object): Don't use bfd_map_over_sections, instead use a
	loop allowing easy detection of failure status.  Free memory on
	error paths.
	(copy_archive): Return bool success rather than setting "status"
	on failure.
	(copy_file): Set "status" here.
	* testsuite/binutils-all/strip-13.d: Adjust to suit.
2024-07-06 10:41:29 +09:30
Xi Ruoyao
d89ecf33ab LoongArch: Add DT_RELR support
The logic is same as a71d876801 ("aarch64: Add DT_RELR support").

As LoongArch does not have -z dynamic-undefined-weak, we don't need to
consider UNDEFWEAK_NO_DYNAMIC_RELOC.

The linker relaxation adds another layer of complexity.  When we delete
bytes in a section during relaxation, we need to fix up the offset in
the to-be-packed relative relocations against this section.

Signed-off-by: Xi Ruoyao <xry111@xry111.site>
2024-07-05 12:11:11 +08:00
Claudiu Zissulescu
7fafb57457 MAINTAINERS: Update my e-mail address
Signed-off-by: Claudiu Zissulescu <claziss@gmail.com>
2024-07-01 10:58:17 +03:00
Alan Modra
79674bfc36 PR31941 objcopy --globalize-symbol
I think FILE symbols are special, and I can't see why anyone would
want them to be made global.  The fact that no one has reported this
bug since commit 7b4a0685e8 in 2005 supports that claim.

	PR 31941
	* objcopy.c (filter_symbols): Don't allow BSF_FILE symbols to
	be made global.
2024-07-01 11:04:31 +09:30
Marcus Nilsson
ebe3f6d0f1 objcopy: Allow making symbol global and weak on same invocation
Previously objcopy had to be run twice in order to make a local symbol
weak, first once to globalize it, and once again to mark it as weak.

	* objcopy.c (filter_symbols): Weaken symbols after making
	local/global changes.
	* testsuite/binutils-all/symbols-5.d,
	* testsuite/binutils-all/symbols-5.s: New test.
2024-07-01 07:19:47 +09:30
Alan Modra
4b8c2aaf2d Assertion `(data) <= (end)' failed in read_bases
* dwarf.c (skip_attribute): Don't increment data past end.
	Use SKIP_{S,U}LEB rather than READ_{S,U}LEB.
2024-06-30 14:41:37 +09:30
H.J. Lu
67b1d28b52 Set BFD_DECOMPRESS when reading build-id debuglink
We should set BFD_DECOMPRESS to decompress sections unless dumping the
section contents when reading build-id debuglink.

	PR binutils/31925
	* objdump.c (open_debug_file): Set BFD_DECOMPRESS to decompress
	sections unless dumping the section contents.
	* testsuite/binutils-all/objdump.exp (test_build_id_debuglink):
	Add a compress option.
	Run test_build_id_debuglink with none and zlib.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
2024-06-27 14:22:25 -07:00
Pali Roh?r
973563710c Improve comments describing the Import Directory Table
PR 31728
2024-06-27 12:17:27 +01:00
Nick Clifton
057a2b4c4b Revert: 35fd2ddeb1
PR 20814
2024-06-26 13:17:25 +01:00
Szabolcs Nagy
22a8698b56 aarch64: Add DT_RELR tests for ILP32 ABI 2024-06-25 11:07:51 +01:00
Nick Clifton
e13c4e5890 Updated Spanish translations for the bfd and binutils sub-directories 2024-06-24 15:03:22 +01:00
Alan Modra
56f3903369 Revert "Remove LIBINTL_DEP"
This reverts commit e874cbd387.
The patch was wrong.  LIBINTL_DEP is needed with an in-tree gettext.
2024-06-20 21:15:27 +09:30
Alan Modra
e874cbd387 Remove LIBINTL_DEP
The intl directory in the source no longer exists.  LIBINTL_DEP is
thus always empty.  Remove references to it.

config/
	* gettext-sister.m4: Don't AC_SUBST LIBINTL_DEP.
bfd/
	* Makefile.in: Regenerate.
	* configure: Regenerate.
binutils/
	* Makefile.am (*_DEPENDENCIES): Remove LIBINTL_DEP.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
gas/
	* Makefile.am (as_new_DEPENDENCIES): Remove LIBINTL_DEP.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
gdb/
	* Makefile.in (INTL_DEPS): Don't set or reference.
	* configure: Regenerate.
gdbserver/
	* Makefile.in (INTL_DEPS): Don't set or reference.
gdbsupport/
	* Makefile.in: Regenerate.
	* configure: Regenerate.
gold/
	* Makefile.am (deps_var): Remove LIBINTL_DEP.
	(incremental_dump_DEPENDENCIES, dwp_DEPENDENCIES): Likewise.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.am (DEPENDENCIES): Remove LIBINTL_DEP.
	* testsuite/Makefile.in: Regenerate.
gprof/
	* Makefile.am (gprof_DEPENDENCIES): Remove LIBINTL_DEP.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
ld/
	* Makefile.am (ld_new_DEPENDENCIES): Remove LIBINTL_DEP.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
libctf/
	* Makefile.in: Regenerate.
	* configure: Regenerate.
opcodes/
	* configure.ac (BUILD_LIBS): Remove LIBINTL.
	(BUILD_LIB_DEPS): Remove LIBINTL_DEP.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
2024-06-20 18:33:28 +09:30
Jan Beulich
28c812b349 readelf: rename recently added testsuite files
Files named *.0 are somewhat odd for testsuite expectations. Rename the
one such file to *.r with a suitable base name suffix, and have its
sibling follow suit in this latter regard.
2024-06-18 13:23:36 +02:00
Maciej W. Rozycki
38362a0c63 binutils/testsuite: Add a helper for relative path construction
Implement a helper to construct a relative path between two locations in
the filesystem, for example to make a path from the source to the object
directory for the case where a tool has been set up to look at a given
path and there is a need to point it elsewhere, but an absolute path
will not work.  The helper works on normalized paths internally, so the
result is correct even in the presence of symlinks as intermediate path
components.

So given "/path/to/src/gas/testsuite/gas/all" as the FROM argument and
then "/path/to/obj/gas/testsuite/tmpdir/none.s" as the TO argument the
helper will return "../../../../../obj/gas/testsuite/tmpdir/none.s" in
the absence of symlinks.
2024-06-17 23:28:20 +01:00
Alan Modra
1b19566b18 PR31898 bug in processing DW_RLE_startx_endx
PR 31898
	* dwarf.c (display_debug_rnglists_list): Correct fetch of "end"
	indexed address.  Remove excess parens.
2024-06-17 15:57:50 +09:30