6 Commits

Author SHA1 Message Date
Alan Modra
fd67aa1129 Update year range in copyright notice of binutils files
Adds two new external authors to etc/update-copyright.py to cover
bfd/ax_tls.m4, and adds gprofng to dirs handled automatically, then
updates copyright messages as follows:

1) Update cgen/utils.scm emitted copyrights.
2) Run "etc/update-copyright.py --this-year" with an extra external
   author I haven't committed, 'Kalray SA.', to cover gas testsuite
   files (which should have their copyright message removed).
3) Build with --enable-maintainer-mode --enable-cgen-maint=yes.
4) Check out */po/*.pot which we don't update frequently.
2024-01-04 22:58:12 +10:30
Alan Modra
fb9b7fbf17 nds32, sh, kvx: DT_JMPREL/DT_PLTRELSZ
As commit fa4f2d46f9 did for x86, there a few other targets that
wrongly use the output section rather than the dynamic section for
DT_JMPREL and others.

	* elfnn-kvx.c (elfNN_kvx_finish_dynamic_sections): Use input
	section for DT_JMPREL.
	* elf32-sh.c (sh_elf_finish_dynamic_sections): Use input
	section for DT_JMPREL and DT_PLTRELSZ.
	* elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise,
	and for DT_PLTGOT and when adjusting DT_RELA.
2023-08-24 15:54:39 +09:30
Paul Iannetta
835f16daa7 kvx: fix 32-bit build
bfd/
	* Makefile.am: Move elf32-kvx.lo from BFD32_BACKENDS to
	BFD64_BACKENDS.  Remove elfxx-kvx.lo from BFD32_BACKENDS.
	Remove elfxx-kvx.c from BFD32_BACKENDS_CFILES.
	* Makefile.in: Regenerate.
	* config.bfd: Adjust targ_defvec and targ_selvecs and gate them
	behind BFD64.
	* configure.ac: Add target_size=64 to kvx_elf64_*vec.
	* configure: Regenerate.
	* elfnn-kvx.c (elfNN_kvx_stub_name): Cast rel->r_addend to
	uint64_t to match format string.
	(elfNN_kvx_relocate_section): Similarly for r_offset, and
	use PRIx64 in format string.
	* targets.c (_bfd_target_vector <kvx_elf32_vec>): Move inside
	#ifdef BFD64.
ld/
	* Makefile.am: Move eelf32kvx.c from ALL_EMULATION_SOURCES to
	ALL_64_EMULATION_SOURCES.
	* Makefile.in: Regenerate.
2023-08-23 12:38:58 +09:30
Alan Modra
c5ed8c6376 kvx bfd signed calculations and _bfd_kvx_elf_resolve_relocation
It is generally a good idea to avoid signed arithmetic on values
extracted from object files, to avoid ubsan warnings on overflow.
This patch replaces some uses of bfd_signed_vma in the kvx backend
with bfd_vma, and removes _bfd_kvx_elf_resolve_relocation, a
do-nothing function.  In the process of making this patch I noticed
some dead code in the GOT entry handling, setting value to
got_entry_addr but using "off" in the _bfd_final_link_relocate call.
Since kvx_calculate_got_entry_vma also returns the GOT offset, I
presume the code is correct, but I've left the dead code and comment
there.

	* elfxx-kvx.h (_bfd_kvx_elf_resolve_relocation): Delete.
	* elfxx-kvx.c (kvx_signed_overflow): Rewrite using unsigned
	arithmetic.
	(_bfd_kvx_elf_resolve_relocation): Delete.
	* elfnn-kvx.c (kvx_relocate): Update for
	_bfd_kvx_elf_resolve_relocation removal.
	(elfNN_kvx_final_link_relocate): Likewise.  Don't use a signed
	addend.
2023-08-23 10:54:33 +09:30
Alan Modra
d530ba0af9 bfd kvx formatting fixes
Indentation, whitespace and comment fixes.

	* elfnn-kvx.c: Formatting.
	* elfxx-kvx.c: Formatting.
	(elfNN_kvx_final_link_relocate): Correct GOT entry comment.
2023-08-23 10:09:54 +09:30
Paul Iannetta
6e712424f5 kvx: New port. 2023-08-16 14:22:54 +01:00