From: Christophe Lyon Date: Fri, 1 Sep 2023 13:52:49 +0000 (+0000) Subject: arm: Make 'conflicting CPU architectures' error message more user-friendly X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b3a1e48614c3ae9a9be09e32183b9a57c93e1f88;p=binutils-gdb.git arm: Make 'conflicting CPU architectures' error message more user-friendly Error messages such as "conflicting CPU architectures 10/16" are not very to understand, so this patch replaces the numbers with the description they actually mean: "conflicting CPU architectures ARM v7E-M vs Pre v4" 2023-09-01 Christophe Lyon bfd/ * elf32-arm.c (tag_cpu_arch_combine): Add name_table parameter and use it. (elf32_arm_merge_eabi_attributes): Update call to tag_cpu_arch_combine. ld/ * testsuite/ld-arm/attr-merge-9.out: Update expected error message. * testsuite/ld-arm/attr-merge-arch-2.d: Likewise. --- diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 3b7cee3de1c..f3ad270a6a0 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -14119,7 +14119,7 @@ set_secondary_compatible_arch (bfd *abfd, int arch) static int tag_cpu_arch_combine (bfd *ibfd, int oldtag, int *secondary_compat_out, - int newtag, int secondary_compat) + int newtag, int secondary_compat, const char* name_table[]) { #define T(X) TAG_CPU_ARCH_##X int tagl, tagh, result; @@ -14436,8 +14436,8 @@ tag_cpu_arch_combine (bfd *ibfd, int oldtag, int *secondary_compat_out, if (result == -1) { - _bfd_error_handler (_("error: %pB: conflicting CPU architectures %d/%d"), - ibfd, oldtag, newtag); + _bfd_error_handler (_("error: conflicting CPU architectures %s vs %s in %pB"), + name_table[oldtag], name_table[newtag], ibfd); return -1; } @@ -14632,7 +14632,8 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, struct bfd_link_info *info) arch_attr = tag_cpu_arch_combine (ibfd, out_attr[i].i, &secondary_compat_out, in_attr[i].i, - secondary_compat); + secondary_compat, + name_table); /* Return with error if failed to merge. */ if (arch_attr == -1) diff --git a/ld/testsuite/ld-arm/attr-merge-9.out b/ld/testsuite/ld-arm/attr-merge-9.out index 6c3e5f36c17..552a80ab4d1 100644 --- a/ld/testsuite/ld-arm/attr-merge-9.out +++ b/ld/testsuite/ld-arm/attr-merge-9.out @@ -1,2 +1,2 @@ -.*: error: .*: conflicting CPU architectures 10/16 +.*: error: conflicting CPU architectures ARM v7 vs ARM v8-M.baseline in .* .*: failed to merge target specific data of file tmpdir/attr-merge-9b.o diff --git a/ld/testsuite/ld-arm/attr-merge-arch-2.d b/ld/testsuite/ld-arm/attr-merge-arch-2.d index f7de02cf240..cebea49acbe 100644 --- a/ld/testsuite/ld-arm/attr-merge-arch-2.d +++ b/ld/testsuite/ld-arm/attr-merge-arch-2.d @@ -2,4 +2,4 @@ #source: attr-merge-arch-2b.s #as: #ld: -e main -#error: conflicting CPU architectures 13/0 +#error: conflicting CPU architectures ARM v7E-M vs Pre v4 in .*