This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
PATCH: Correct formatting of ARM error messages
- From: mitchell at codesourcery dot com (Mark Mitchell)
- To: binutils at sourceware dot org
- Date: Sat, 28 Mar 2009 16:22:12 -0700 (PDT)
- Subject: PATCH: Correct formatting of ARM error messages
- Reply-to: mark at codesourcery dot com
The ARM BFD files have historically used "ERROR:" to report error
messages, in contrast to the GNU standard "error:". This patch is a
mechanical replacement of "ERROR" with "error". Daniel Jacobowitze
approved this patch off-list, and I've now applied it, after checking
for any binutils test failures in an arm-eabi configuration.
--
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713
2009-03-28 Mark Mitchell <mark@codesourcery.com>
* coff-arm.c (coff_arm_merge_private_bfd_data): Use "error:", not
"ERROR:", in error messages.
* cpu-arm.c (bfd_arm_merge_machines): Likewise.
* elf-attrs.c (_bfd_elf_merge_object_attributes): Likewise.
* elf32-arm.c (tag_cpu_arch_combine): Likewise.
(elf32_arm_merge_eabi_attributes): Likewise.
(elf32_arm_merge_private_bfd_data): Likewise.
Index: coff-arm.c
===================================================================
RCS file: /cvs/src/src/bfd/coff-arm.c,v
retrieving revision 1.74
diff -c -5 -p -r1.74 coff-arm.c
*** coff-arm.c 18 Jul 2008 11:30:22 -0000 1.74
--- coff-arm.c 28 Mar 2009 23:17:58 -0000
*************** coff_arm_merge_private_bfd_data (bfd * i
*** 2206,2216 ****
/* If the src and dest have different APCS flag bits set, fail. */
if (APCS_26_FLAG (obfd) != APCS_26_FLAG (ibfd))
{
_bfd_error_handler
/* xgettext: c-format */
! (_("ERROR: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"),
ibfd, obfd,
APCS_26_FLAG (ibfd) ? 26 : 32,
APCS_26_FLAG (obfd) ? 26 : 32
);
--- 2206,2216 ----
/* If the src and dest have different APCS flag bits set, fail. */
if (APCS_26_FLAG (obfd) != APCS_26_FLAG (ibfd))
{
_bfd_error_handler
/* xgettext: c-format */
! (_("error: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"),
ibfd, obfd,
APCS_26_FLAG (ibfd) ? 26 : 32,
APCS_26_FLAG (obfd) ? 26 : 32
);
*************** coff_arm_merge_private_bfd_data (bfd * i
*** 2222,2235 ****
{
const char *msg;
if (APCS_FLOAT_FLAG (ibfd))
/* xgettext: c-format */
! msg = _("ERROR: %B passes floats in float registers, whereas %B passes them in integer registers");
else
/* xgettext: c-format */
! msg = _("ERROR: %B passes floats in integer registers, whereas %B passes them in float registers");
_bfd_error_handler (msg, ibfd, obfd);
bfd_set_error (bfd_error_wrong_format);
return FALSE;
--- 2222,2235 ----
{
const char *msg;
if (APCS_FLOAT_FLAG (ibfd))
/* xgettext: c-format */
! msg = _("error: %B passes floats in float registers, whereas %B passes them in integer registers");
else
/* xgettext: c-format */
! msg = _("error: %B passes floats in integer registers, whereas %B passes them in float registers");
_bfd_error_handler (msg, ibfd, obfd);
bfd_set_error (bfd_error_wrong_format);
return FALSE;
*************** coff_arm_merge_private_bfd_data (bfd * i
*** 2239,2252 ****
{
const char * msg;
if (PIC_FLAG (ibfd))
/* xgettext: c-format */
! msg = _("ERROR: %B is compiled as position independent code, whereas target %B is absolute position");
else
/* xgettext: c-format */
! msg = _("ERROR: %B is compiled as absolute position code, whereas target %B is position independent");
_bfd_error_handler (msg, ibfd, obfd);
bfd_set_error (bfd_error_wrong_format);
return FALSE;
}
--- 2239,2252 ----
{
const char * msg;
if (PIC_FLAG (ibfd))
/* xgettext: c-format */
! msg = _("error: %B is compiled as position independent code, whereas target %B is absolute position");
else
/* xgettext: c-format */
! msg = _("error: %B is compiled as absolute position code, whereas target %B is position independent");
_bfd_error_handler (msg, ibfd, obfd);
bfd_set_error (bfd_error_wrong_format);
return FALSE;
}
Index: cpu-arm.c
===================================================================
RCS file: /cvs/src/src/bfd/cpu-arm.c,v
retrieving revision 1.25
diff -c -5 -p -r1.25 cpu-arm.c
*** cpu-arm.c 3 Jul 2007 14:26:40 -0000 1.25
--- cpu-arm.c 28 Mar 2009 23:17:58 -0000
*************** bfd_arm_merge_machines (bfd *ibfd, bfd *
*** 185,206 ****
&& (out == bfd_mach_arm_XScale
|| out == bfd_mach_arm_iWMMXt
|| out == bfd_mach_arm_iWMMXt2))
{
_bfd_error_handler (_("\
! ERROR: %B is compiled for the EP9312, whereas %B is compiled for XScale"),
ibfd, obfd);
bfd_set_error (bfd_error_wrong_format);
return FALSE;
}
else if (out == bfd_mach_arm_ep9312
&& (in == bfd_mach_arm_XScale
|| in == bfd_mach_arm_iWMMXt
|| in == bfd_mach_arm_iWMMXt2))
{
_bfd_error_handler (_("\
! ERROR: %B is compiled for the EP9312, whereas %B is compiled for XScale"),
obfd, ibfd);
bfd_set_error (bfd_error_wrong_format);
return FALSE;
}
else if (in > out)
--- 185,206 ----
&& (out == bfd_mach_arm_XScale
|| out == bfd_mach_arm_iWMMXt
|| out == bfd_mach_arm_iWMMXt2))
{
_bfd_error_handler (_("\
! error: %B is compiled for the EP9312, whereas %B is compiled for XScale"),
ibfd, obfd);
bfd_set_error (bfd_error_wrong_format);
return FALSE;
}
else if (out == bfd_mach_arm_ep9312
&& (in == bfd_mach_arm_XScale
|| in == bfd_mach_arm_iWMMXt
|| in == bfd_mach_arm_iWMMXt2))
{
_bfd_error_handler (_("\
! error: %B is compiled for the EP9312, whereas %B is compiled for XScale"),
obfd, ibfd);
bfd_set_error (bfd_error_wrong_format);
return FALSE;
}
else if (in > out)
Index: elf-attrs.c
===================================================================
RCS file: /cvs/src/src/bfd/elf-attrs.c,v
retrieving revision 1.7
diff -c -5 -p -r1.7 elf-attrs.c
*** elf-attrs.c 29 Jan 2009 16:35:03 -0000 1.7
--- elf-attrs.c 28 Mar 2009 23:17:58 -0000
*************** _bfd_elf_merge_object_attributes (bfd *i
*** 562,580 ****
out_attr = &elf_known_obj_attributes (obfd)[vendor][Tag_compatibility];
if (in_attr->i > 0 && strcmp (in_attr->s, "gnu") != 0)
{
_bfd_error_handler
! (_("ERROR: %B: Must be processed by '%s' toolchain"),
ibfd, in_attr->s);
return FALSE;
}
if (in_attr->i != out_attr->i
|| (in_attr->i != 0 && strcmp (in_attr->s, out_attr->s) != 0))
{
! _bfd_error_handler (_("ERROR: %B: Object tag '%d, %s' is "
"incompatible with tag '%d, %s'"),
ibfd,
in_attr->i, in_attr->s ? in_attr->s : "",
out_attr->i, out_attr->s ? out_attr->s : "");
return FALSE;
--- 562,580 ----
out_attr = &elf_known_obj_attributes (obfd)[vendor][Tag_compatibility];
if (in_attr->i > 0 && strcmp (in_attr->s, "gnu") != 0)
{
_bfd_error_handler
! (_("error: %B: Must be processed by '%s' toolchain"),
ibfd, in_attr->s);
return FALSE;
}
if (in_attr->i != out_attr->i
|| (in_attr->i != 0 && strcmp (in_attr->s, out_attr->s) != 0))
{
! _bfd_error_handler (_("error: %B: Object tag '%d, %s' is "
"incompatible with tag '%d, %s'"),
ibfd,
in_attr->i, in_attr->s ? in_attr->s : "",
out_attr->i, out_attr->s ? out_attr->s : "");
return FALSE;
Index: elf32-arm.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-arm.c,v
retrieving revision 1.182
diff -c -5 -p -r1.182 elf32-arm.c
*** elf32-arm.c 17 Mar 2009 14:50:48 -0000 1.182
--- elf32-arm.c 28 Mar 2009 23:17:58 -0000
*************** tag_cpu_arch_combine (bfd *ibfd, int old
*** 8514,8524 ****
/* Check we've not got a higher architecture than we know about. */
if (oldtag >= MAX_TAG_CPU_ARCH || newtag >= MAX_TAG_CPU_ARCH)
{
! _bfd_error_handler (_("ERROR: %B: Unknown CPU architecture"), ibfd);
return -1;
}
/* Override old tag if we have a Tag_also_compatible_with on the output. */
--- 8514,8524 ----
/* Check we've not got a higher architecture than we know about. */
if (oldtag >= MAX_TAG_CPU_ARCH || newtag >= MAX_TAG_CPU_ARCH)
{
! _bfd_error_handler (_("error: %B: Unknown CPU architecture"), ibfd);
return -1;
}
/* Override old tag if we have a Tag_also_compatible_with on the output. */
*************** tag_cpu_arch_combine (bfd *ibfd, int old
*** 8552,8562 ****
else
*secondary_compat_out = -1;
if (result == -1)
{
! _bfd_error_handler (_("ERROR: %B: Conflicting CPU architectures %d/%d"),
ibfd, oldtag, newtag);
return -1;
}
return result;
--- 8552,8562 ----
else
*secondary_compat_out = -1;
if (result == -1)
{
! _bfd_error_handler (_("error: %B: Conflicting CPU architectures %d/%d"),
ibfd, oldtag, newtag);
return -1;
}
return result;
*************** elf32_arm_merge_eabi_attributes (bfd *ib
*** 8603,8613 ****
if (out_attr[Tag_ABI_FP_number_model].i == 0)
out_attr[Tag_ABI_VFP_args].i = in_attr[Tag_ABI_VFP_args].i;
else if (in_attr[Tag_ABI_FP_number_model].i != 0)
{
_bfd_error_handler
! (_("ERROR: %B uses VFP register arguments, %B does not"),
ibfd, obfd);
result = FALSE;
}
}
--- 8603,8613 ----
if (out_attr[Tag_ABI_FP_number_model].i == 0)
out_attr[Tag_ABI_VFP_args].i = in_attr[Tag_ABI_VFP_args].i;
else if (in_attr[Tag_ABI_FP_number_model].i != 0)
{
_bfd_error_handler
! (_("error: %B uses VFP register arguments, %B does not"),
ibfd, obfd);
result = FALSE;
}
}
*************** elf32_arm_merge_eabi_attributes (bfd *ib
*** 8719,8729 ****
{
/* This error message should be enabled once all non-conformant
binaries in the toolchain have had the attributes set
properly.
_bfd_error_handler
! (_("ERROR: %B: 8-byte data alignment conflicts with %B"),
obfd, ibfd);
result = FALSE; */
}
/* Fall through. */
case Tag_ABI_FP_denormal:
--- 8719,8729 ----
{
/* This error message should be enabled once all non-conformant
binaries in the toolchain have had the attributes set
properly.
_bfd_error_handler
! (_("error: %B: 8-byte data alignment conflicts with %B"),
obfd, ibfd);
result = FALSE; */
}
/* Fall through. */
case Tag_ABI_FP_denormal:
*************** elf32_arm_merge_eabi_attributes (bfd *ib
*** 8753,8763 ****
&& (out_attr[i].i == 'A' || out_attr[i].i == 'R')))
; /* Do nothing. */
else
{
_bfd_error_handler
! (_("ERROR: %B: Conflicting architecture profiles %c/%c"),
ibfd,
in_attr[i].i ? in_attr[i].i : '0',
out_attr[i].i ? out_attr[i].i : '0');
result = FALSE;
}
--- 8753,8763 ----
&& (out_attr[i].i == 'A' || out_attr[i].i == 'R')))
; /* Do nothing. */
else
{
_bfd_error_handler
! (_("error: %B: Conflicting architecture profiles %c/%c"),
ibfd,
in_attr[i].i ? in_attr[i].i : '0',
out_attr[i].i ? out_attr[i].i : '0');
result = FALSE;
}
*************** elf32_arm_merge_eabi_attributes (bfd *ib
*** 8786,8796 ****
if (in_attr[i].i != out_attr[i].i
&& out_attr[i].i != AEABI_R9_unused
&& in_attr[i].i != AEABI_R9_unused)
{
_bfd_error_handler
! (_("ERROR: %B: Conflicting use of R9"), ibfd);
result = FALSE;
}
if (out_attr[i].i == AEABI_R9_unused)
out_attr[i].i = in_attr[i].i;
break;
--- 8786,8796 ----
if (in_attr[i].i != out_attr[i].i
&& out_attr[i].i != AEABI_R9_unused
&& in_attr[i].i != AEABI_R9_unused)
{
_bfd_error_handler
! (_("error: %B: Conflicting use of R9"), ibfd);
result = FALSE;
}
if (out_attr[i].i == AEABI_R9_unused)
out_attr[i].i = in_attr[i].i;
break;
*************** elf32_arm_merge_eabi_attributes (bfd *ib
*** 8798,8808 ****
if (in_attr[i].i == AEABI_PCS_RW_data_SBrel
&& out_attr[Tag_ABI_PCS_R9_use].i != AEABI_R9_SB
&& out_attr[Tag_ABI_PCS_R9_use].i != AEABI_R9_unused)
{
_bfd_error_handler
! (_("ERROR: %B: SB relative addressing conflicts with use of R9"),
ibfd);
result = FALSE;
}
/* Use the smallest value specified. */
if (in_attr[i].i < out_attr[i].i)
--- 8798,8808 ----
if (in_attr[i].i == AEABI_PCS_RW_data_SBrel
&& out_attr[Tag_ABI_PCS_R9_use].i != AEABI_R9_SB
&& out_attr[Tag_ABI_PCS_R9_use].i != AEABI_R9_unused)
{
_bfd_error_handler
! (_("error: %B: SB relative addressing conflicts with use of R9"),
ibfd);
result = FALSE;
}
/* Use the smallest value specified. */
if (in_attr[i].i < out_attr[i].i)
*************** elf32_arm_merge_eabi_attributes (bfd *ib
*** 8854,8864 ****
break;
case Tag_ABI_WMMX_args:
if (in_attr[i].i != out_attr[i].i)
{
_bfd_error_handler
! (_("ERROR: %B uses iWMMXt register arguments, %B does not"),
ibfd, obfd);
result = FALSE;
}
break;
case Tag_compatibility:
--- 8854,8864 ----
break;
case Tag_ABI_WMMX_args:
if (in_attr[i].i != out_attr[i].i)
{
_bfd_error_handler
! (_("error: %B uses iWMMXt register arguments, %B does not"),
ibfd, obfd);
result = FALSE;
}
break;
case Tag_compatibility:
*************** elf32_arm_merge_eabi_attributes (bfd *ib
*** 8876,8886 ****
if (in_attr[i].i != 0 && out_attr[i].i != 0)
{
if (in_attr[i].i != out_attr[i].i)
{
_bfd_error_handler
! (_("ERROR: fp16 format mismatch between %B and %B"),
ibfd, obfd);
result = FALSE;
}
}
if (in_attr[i].i != 0)
--- 8876,8886 ----
if (in_attr[i].i != 0 && out_attr[i].i != 0)
{
if (in_attr[i].i != out_attr[i].i)
{
_bfd_error_handler
! (_("error: fp16 format mismatch between %B and %B"),
ibfd, obfd);
result = FALSE;
}
}
if (in_attr[i].i != 0)
*************** elf32_arm_merge_private_bfd_data (bfd *
*** 9080,9090 ****
reason to want it. */
if (EF_ARM_EABI_VERSION (in_flags) >= EF_ARM_EABI_VER4
&& !(ibfd->flags & DYNAMIC)
&& (in_flags & EF_ARM_BE8))
{
! _bfd_error_handler (_("ERROR: %B is already in final BE8 format"),
ibfd);
return FALSE;
}
if (!elf_flags_init (obfd))
--- 9080,9090 ----
reason to want it. */
if (EF_ARM_EABI_VERSION (in_flags) >= EF_ARM_EABI_VER4
&& !(ibfd->flags & DYNAMIC)
&& (in_flags & EF_ARM_BE8))
{
! _bfd_error_handler (_("error: %B is already in final BE8 format"),
ibfd);
return FALSE;
}
if (!elf_flags_init (obfd))
*************** elf32_arm_merge_private_bfd_data (bfd *
*** 9156,9166 ****
/* Complain about various flag mismatches. */
if (!elf32_arm_versions_compatible (EF_ARM_EABI_VERSION (in_flags),
EF_ARM_EABI_VERSION (out_flags)))
{
_bfd_error_handler
! (_("ERROR: Source object %B has EABI version %d, but target %B has EABI version %d"),
ibfd, obfd,
(in_flags & EF_ARM_EABIMASK) >> 24,
(out_flags & EF_ARM_EABIMASK) >> 24);
return FALSE;
}
--- 9156,9166 ----
/* Complain about various flag mismatches. */
if (!elf32_arm_versions_compatible (EF_ARM_EABI_VERSION (in_flags),
EF_ARM_EABI_VERSION (out_flags)))
{
_bfd_error_handler
! (_("error: Source object %B has EABI version %d, but target %B has EABI version %d"),
ibfd, obfd,
(in_flags & EF_ARM_EABIMASK) >> 24,
(out_flags & EF_ARM_EABIMASK) >> 24);
return FALSE;
}
*************** elf32_arm_merge_private_bfd_data (bfd *
*** 9172,9225 ****
&& EF_ARM_EABI_VERSION (in_flags) == EF_ARM_EABI_UNKNOWN)
{
if ((in_flags & EF_ARM_APCS_26) != (out_flags & EF_ARM_APCS_26))
{
_bfd_error_handler
! (_("ERROR: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"),
ibfd, obfd,
in_flags & EF_ARM_APCS_26 ? 26 : 32,
out_flags & EF_ARM_APCS_26 ? 26 : 32);
flags_compatible = FALSE;
}
if ((in_flags & EF_ARM_APCS_FLOAT) != (out_flags & EF_ARM_APCS_FLOAT))
{
if (in_flags & EF_ARM_APCS_FLOAT)
_bfd_error_handler
! (_("ERROR: %B passes floats in float registers, whereas %B passes them in integer registers"),
ibfd, obfd);
else
_bfd_error_handler
! (_("ERROR: %B passes floats in integer registers, whereas %B passes them in float registers"),
ibfd, obfd);
flags_compatible = FALSE;
}
if ((in_flags & EF_ARM_VFP_FLOAT) != (out_flags & EF_ARM_VFP_FLOAT))
{
if (in_flags & EF_ARM_VFP_FLOAT)
_bfd_error_handler
! (_("ERROR: %B uses VFP instructions, whereas %B does not"),
ibfd, obfd);
else
_bfd_error_handler
! (_("ERROR: %B uses FPA instructions, whereas %B does not"),
ibfd, obfd);
flags_compatible = FALSE;
}
if ((in_flags & EF_ARM_MAVERICK_FLOAT) != (out_flags & EF_ARM_MAVERICK_FLOAT))
{
if (in_flags & EF_ARM_MAVERICK_FLOAT)
_bfd_error_handler
! (_("ERROR: %B uses Maverick instructions, whereas %B does not"),
ibfd, obfd);
else
_bfd_error_handler
! (_("ERROR: %B does not use Maverick instructions, whereas %B does"),
ibfd, obfd);
flags_compatible = FALSE;
}
--- 9172,9225 ----
&& EF_ARM_EABI_VERSION (in_flags) == EF_ARM_EABI_UNKNOWN)
{
if ((in_flags & EF_ARM_APCS_26) != (out_flags & EF_ARM_APCS_26))
{
_bfd_error_handler
! (_("error: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"),
ibfd, obfd,
in_flags & EF_ARM_APCS_26 ? 26 : 32,
out_flags & EF_ARM_APCS_26 ? 26 : 32);
flags_compatible = FALSE;
}
if ((in_flags & EF_ARM_APCS_FLOAT) != (out_flags & EF_ARM_APCS_FLOAT))
{
if (in_flags & EF_ARM_APCS_FLOAT)
_bfd_error_handler
! (_("error: %B passes floats in float registers, whereas %B passes them in integer registers"),
ibfd, obfd);
else
_bfd_error_handler
! (_("error: %B passes floats in integer registers, whereas %B passes them in float registers"),
ibfd, obfd);
flags_compatible = FALSE;
}
if ((in_flags & EF_ARM_VFP_FLOAT) != (out_flags & EF_ARM_VFP_FLOAT))
{
if (in_flags & EF_ARM_VFP_FLOAT)
_bfd_error_handler
! (_("error: %B uses VFP instructions, whereas %B does not"),
ibfd, obfd);
else
_bfd_error_handler
! (_("error: %B uses FPA instructions, whereas %B does not"),
ibfd, obfd);
flags_compatible = FALSE;
}
if ((in_flags & EF_ARM_MAVERICK_FLOAT) != (out_flags & EF_ARM_MAVERICK_FLOAT))
{
if (in_flags & EF_ARM_MAVERICK_FLOAT)
_bfd_error_handler
! (_("error: %B uses Maverick instructions, whereas %B does not"),
ibfd, obfd);
else
_bfd_error_handler
! (_("error: %B does not use Maverick instructions, whereas %B does"),
ibfd, obfd);
flags_compatible = FALSE;
}
*************** elf32_arm_merge_private_bfd_data (bfd *
*** 9234,9248 ****
if ((in_flags & EF_ARM_APCS_FLOAT) != 0
|| (in_flags & EF_ARM_VFP_FLOAT) == 0)
{
if (in_flags & EF_ARM_SOFT_FLOAT)
_bfd_error_handler
! (_("ERROR: %B uses software FP, whereas %B uses hardware FP"),
ibfd, obfd);
else
_bfd_error_handler
! (_("ERROR: %B uses hardware FP, whereas %B uses software FP"),
ibfd, obfd);
flags_compatible = FALSE;
}
}
--- 9234,9248 ----
if ((in_flags & EF_ARM_APCS_FLOAT) != 0
|| (in_flags & EF_ARM_VFP_FLOAT) == 0)
{
if (in_flags & EF_ARM_SOFT_FLOAT)
_bfd_error_handler
! (_("error: %B uses software FP, whereas %B uses hardware FP"),
ibfd, obfd);
else
_bfd_error_handler
! (_("error: %B uses hardware FP, whereas %B uses software FP"),
ibfd, obfd);
flags_compatible = FALSE;
}
}