aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2023-09-01 13:52:49 +0000
committerChristophe Lyon <christophe.lyon@linaro.org>2023-09-04 12:34:30 +0000
commitb3a1e48614c3ae9a9be09e32183b9a57c93e1f88 (patch)
treee09b0987fd1e36ed5f1d75af5a5a7580c65f32a5
parent1b9a9c30a073c9be8ae12faf195021e843ba9757 (diff)
downloadgdb-b3a1e48614c3ae9a9be09e32183b9a57c93e1f88.zip
gdb-b3a1e48614c3ae9a9be09e32183b9a57c93e1f88.tar.gz
gdb-b3a1e48614c3ae9a9be09e32183b9a57c93e1f88.tar.bz2
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 <christophe.lyon@linaro.org> 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.
-rw-r--r--bfd/elf32-arm.c9
-rw-r--r--ld/testsuite/ld-arm/attr-merge-9.out2
-rw-r--r--ld/testsuite/ld-arm/attr-merge-arch-2.d2
3 files changed, 7 insertions, 6 deletions
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 3b7cee3..f3ad270 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 6c3e5f3..552a80a 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 f7de02c..cebea49 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 .*