This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Add ARM linker option --no-wchar-size-warning


The ARM linker has an option --no-enum-size-warning to avoid warning
when linking objects whose EABI attributes specify different enum
sizes, to be used in cases where the different sizes do not in fact
affect the ABI used between the objects.

This patch adds a similar option --no-wchar-size-warning for the
wchar_t mismatch diagnostic.  To match the enum diagnostic, the
diagnostic is changed from an error to a warning, and is made to
detail the particular wchar_t sizes involved in each object.
Testcases are added for the various combinations of wchar_t sizes in
input objects, with and without the new option.

Tested with no regressions with cross to arm-none-eabi.  OK to commit?

bfd:
2008-07-09  Joseph Myers  <joseph@codesourcery.com>

	* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add new parameter.
	* bfd-in2.h: Regenerate.
	* elf32-arm.c (struct elf_arm_obj_tdata): Add field
	no_wchar_size_warning.
	(bfd_elf32_arm_set_target_relocs): Add new parameter
	no_wchar_warn.
	(elf32_arm_merge_eabi_attributes): Give a warning, not an error,
	for conflicting wchar_t attributes.  Do not warn if
	--no-wchar-size-warning.  Make diagnostic text more specific.

ld:
2008-07-09  Joseph Myers  <joseph@codesourcery.com>

	* ld.texinfo (--no-wchar-size-warning): Document new ARM option.
	* emultempl/armelf.em (no_wchar_size_warning): New.
	(arm_elf_create_output_section_statements): Pass
	no_wchar_size_warning to arm_elf_create_output_section_statements.
	(OPTION_NO_WCHAR_SIZE_WARNING): New.
	(PARSE_AND_LIST_LONGOPTS): Add no-wchar-size-warning.
	(PARSE_AND_LIST_OPTIONS): List --no-wchar-size-warning.
	(PARSE_AND_LIST_ARGS_CASES): Handle --no-wchar-size-warning.

ld/testsuite:
2008-07-09  Joseph Myers  <joseph@codesourcery.com>

	* ld-arm/attr-merge-wchar-0.s,ld-arm/attr-merge-wchar-2.s,
	ld-arm/attr-merge-wchar-4.s, ld-arm/attr-merge-wchar-00-nowarn.d,
	ld-arm/attr-merge-wchar-00.d, ld-arm/attr-merge-wchar-02-nowarn.d,
	ld-arm/attr-merge-wchar-02.d, ld-arm/attr-merge-wchar-04-nowarn.d,
	ld-arm/attr-merge-wchar-04.d, ld-arm/attr-merge-wchar-20-nowarn.d,
	ld-arm/attr-merge-wchar-20.d, ld-arm/attr-merge-wchar-22-nowarn.d,
	ld-arm/attr-merge-wchar-22.d, ld-arm/attr-merge-wchar-24-nowarn.d,
	ld-arm/attr-merge-wchar-24.d, ld-arm/attr-merge-wchar-40-nowarn.d,
	ld-arm/attr-merge-wchar-40.d, ld-arm/attr-merge-wchar-42-nowarn.d,
	ld-arm/attr-merge-wchar-42.d, ld-arm/attr-merge-wchar-44-nowarn.d,
	ld-arm/attr-merge-wchar-44.d: New.
	* ld-arm/arm-elf.exp: Run new tests.

Index: bfd/bfd-in.h
===================================================================
RCS file: /cvs/src/src/bfd/bfd-in.h,v
retrieving revision 1.137
diff -u -r1.137 bfd-in.h
--- bfd/bfd-in.h	30 Jun 2008 20:51:58 -0000	1.137
+++ bfd/bfd-in.h	9 Jul 2008 21:47:44 -0000
@@ -860,7 +860,7 @@
 
 void bfd_elf32_arm_set_target_relocs
   (bfd *, struct bfd_link_info *, int, char *, int, int, bfd_arm_vfp11_fix,
-   int, int);
+   int, int, int);
 
 extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking
   (bfd *, struct bfd_link_info *);
Index: bfd/bfd-in2.h
===================================================================
RCS file: /cvs/src/src/bfd/bfd-in2.h,v
retrieving revision 1.447
diff -u -r1.447 bfd-in2.h
--- bfd/bfd-in2.h	30 Jun 2008 20:51:58 -0000	1.447
+++ bfd/bfd-in2.h	9 Jul 2008 21:47:45 -0000
@@ -867,7 +867,7 @@
 
 void bfd_elf32_arm_set_target_relocs
   (bfd *, struct bfd_link_info *, int, char *, int, int, bfd_arm_vfp11_fix,
-   int, int);
+   int, int, int);
 
 extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking
   (bfd *, struct bfd_link_info *);
Index: bfd/elf32-arm.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-arm.c,v
retrieving revision 1.151
diff -u -r1.151 elf32-arm.c
--- bfd/elf32-arm.c	7 Jul 2008 16:02:32 -0000	1.151
+++ bfd/elf32-arm.c	9 Jul 2008 21:47:47 -0000
@@ -2167,6 +2167,9 @@
 
   /* Zero to warn when linking objects with incompatible enum sizes.  */
   int no_enum_size_warning;
+
+  /* Zero to warn when linking objects with incompatible wchar_t sizes.  */
+  int no_wchar_size_warning;
 };
 
 #define elf_arm_tdata(bfd) \
@@ -5264,7 +5267,8 @@
                                  int fix_v4bx,
 				 int use_blx,
                                  bfd_arm_vfp11_fix vfp11_fix,
-				 int no_enum_warn, int pic_veneer)
+				 int no_enum_warn, int no_wchar_warn,
+				 int pic_veneer)
 {
   struct elf32_arm_link_hash_table *globals;
 
@@ -5289,6 +5293,7 @@
 
   BFD_ASSERT (is_arm_elf (output_bfd));
   elf_arm_tdata (output_bfd)->no_enum_size_warning = no_enum_warn;
+  elf_arm_tdata (output_bfd)->no_wchar_size_warning = no_wchar_warn;
 }
 
 /* Replace the target offset of a Thumb bl or b.w instruction.  */
@@ -8308,13 +8313,14 @@
 	    out_attr[i].i = in_attr[i].i;
 	  break;
 	case Tag_ABI_PCS_wchar_t:
-	  if (out_attr[i].i && in_attr[i].i && out_attr[i].i != in_attr[i].i)
+	  if (out_attr[i].i && in_attr[i].i && out_attr[i].i != in_attr[i].i
+	      && !elf_arm_tdata (obfd)->no_wchar_size_warning)
 	    {
 	      _bfd_error_handler
-		(_("ERROR: %B: Conflicting definitions of wchar_t"), ibfd);
-	      return FALSE;
+		(_("warning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may fail"),
+		 ibfd, in_attr[i].i, out_attr[i].i);
 	    }
-	  if (in_attr[i].i)
+	  else if (in_attr[i].i && !out_attr[i].i)
 	    out_attr[i].i = in_attr[i].i;
 	  break;
 	case Tag_ABI_align8_needed:
Index: ld/ld.texinfo
===================================================================
RCS file: /cvs/src/src/ld/ld.texinfo,v
retrieving revision 1.218
diff -u -r1.218 ld.texinfo
--- ld/ld.texinfo	6 Jul 2008 13:38:36 -0000	1.218
+++ ld/ld.texinfo	9 Jul 2008 21:47:49 -0000
@@ -5709,6 +5709,14 @@
 using enumeration values fitted into the smallest possible space will
 not be diagnosed.
 
+@cindex NO_WCHAR_SIZE_WARNING
+@kindex --no-wchar-size-warning
+The @option{--no-wchar-size-warning} switch prevents the linker from
+warning when linking object files that specify incompatible EABI
+@code{wchar_t} size attributes.  For example, with this switch enabled,
+linking of an object file using 32-bit @code{wchar_t} values with another
+using 16-bit @code{wchar_t} values will not be diagnosed.
+
 @cindex PIC_VENEER
 @kindex --pic-veneer
 The @samp{--pic-veneer} switch makes the linker use PIC sequences for
Index: ld/emultempl/armelf.em
===================================================================
RCS file: /cvs/src/src/ld/emultempl/armelf.em,v
retrieving revision 1.64
diff -u -r1.64 armelf.em
--- ld/emultempl/armelf.em	7 Jul 2008 00:46:51 -0000	1.64
+++ ld/emultempl/armelf.em	9 Jul 2008 21:47:49 -0000
@@ -39,6 +39,7 @@
 static int use_blx = 0;
 static bfd_arm_vfp11_fix vfp11_denorm_fix = BFD_ARM_VFP11_FIX_DEFAULT;
 static int no_enum_size_warning = 0;
+static int no_wchar_size_warning = 0;
 static int pic_veneer = 0;
 
 static void
@@ -452,6 +453,7 @@
 				   target1_is_rel,
 				   target2_type, fix_v4bx, use_blx,
 				   vfp11_denorm_fix, no_enum_size_warning,
+				   no_wchar_size_warning,
 				   pic_veneer);
 
   stub_file = lang_add_input_file ("linker stubs",
@@ -509,6 +511,7 @@
 #define OPTION_PIC_VENEER		310
 #define OPTION_FIX_V4BX_INTERWORKING	311
 #define OPTION_STUBGROUP_SIZE           312
+#define OPTION_NO_WCHAR_SIZE_WARNING	313
 '
 
 PARSE_AND_LIST_SHORTOPTS=p
@@ -527,6 +530,7 @@
   { "no-enum-size-warning", no_argument, NULL, OPTION_NO_ENUM_SIZE_WARNING},
   { "pic-veneer", no_argument, NULL, OPTION_PIC_VENEER},
   { "stub-group-size", required_argument, NULL, OPTION_STUBGROUP_SIZE },
+  { "no-wchar-size-warning", no_argument, NULL, OPTION_NO_WCHAR_SIZE_WARNING},
 '
 
 PARSE_AND_LIST_OPTIONS='
@@ -541,6 +545,8 @@
   fprintf (file, _("  --vfp11-denorm-fix          Specify how to fix VFP11 denorm erratum\n"));
   fprintf (file, _("  --no-enum-size-warning      Don'\''t warn about objects with incompatible"
 		   "                                enum sizes\n"));
+  fprintf (file, _("  --no-wchar-size-warning     Don'\''t warn about objects with incompatible"
+		   "                                wchar_t sizes\n"));
   fprintf (file, _("  --pic-veneer                Always generate PIC interworking veneers\n"));
   fprintf (file, _("\
    --stub-group-size=N   Maximum size of a group of input sections that can be\n\
@@ -605,6 +611,10 @@
       no_enum_size_warning = 1;
       break;
 
+    case OPTION_NO_WCHAR_SIZE_WARNING:
+      no_wchar_size_warning = 1;
+      break;
+
     case OPTION_PIC_VENEER:
       pic_veneer = 1;
       break;
Index: ld/testsuite/ld-arm/arm-elf.exp
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-arm/arm-elf.exp,v
retrieving revision 1.39
diff -u -r1.39 arm-elf.exp
--- ld/testsuite/ld-arm/arm-elf.exp	7 Jul 2008 19:00:21 -0000	1.39
+++ ld/testsuite/ld-arm/arm-elf.exp	9 Jul 2008 21:47:49 -0000
@@ -283,6 +283,24 @@
 }
 
 run_ld_link_tests $armeabitests
+run_dump_test "attr-merge-wchar-00"
+run_dump_test "attr-merge-wchar-02"
+run_dump_test "attr-merge-wchar-04"
+run_dump_test "attr-merge-wchar-20"
+run_dump_test "attr-merge-wchar-22"
+run_dump_test "attr-merge-wchar-24"
+run_dump_test "attr-merge-wchar-40"
+run_dump_test "attr-merge-wchar-42"
+run_dump_test "attr-merge-wchar-44"
+run_dump_test "attr-merge-wchar-00-nowarn"
+run_dump_test "attr-merge-wchar-02-nowarn"
+run_dump_test "attr-merge-wchar-04-nowarn"
+run_dump_test "attr-merge-wchar-20-nowarn"
+run_dump_test "attr-merge-wchar-22-nowarn"
+run_dump_test "attr-merge-wchar-24-nowarn"
+run_dump_test "attr-merge-wchar-40-nowarn"
+run_dump_test "attr-merge-wchar-42-nowarn"
+run_dump_test "attr-merge-wchar-44-nowarn"
 run_dump_test "farcall-thumb-thumb"
 run_dump_test "farcall-thumb-thumb-pic-veneer"
 run_dump_test "farcall-thumb-thumb-m-pic-veneer"
Index: ld/testsuite/ld-arm/attr-merge-wchar-0.s
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-0.s
diff -N ld/testsuite/ld-arm/attr-merge-wchar-0.s
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-0.s	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,11 @@
+	.cpu arm7tdmi
+	.fpu softvfp
+	.eabi_attribute 20, 1
+	.eabi_attribute 21, 1
+	.eabi_attribute 23, 3
+	.eabi_attribute 24, 1
+	.eabi_attribute 25, 1
+	.eabi_attribute 26, 1
+	.eabi_attribute 30, 6
+	.eabi_attribute 18, 0
+	.file	"attr-merge-wchar-0.s"
Index: ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d
diff -N ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,17 @@
+#source: attr-merge-wchar-0.s
+#source: attr-merge-wchar-0.s
+#as:
+#ld: -r --no-wchar-size-warning
+#readelf: -A
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "ARM7TDMI"
+  Tag_CPU_arch: v4T
+  Tag_ABI_FP_denormal: Needed
+  Tag_ABI_FP_exceptions: Needed
+  Tag_ABI_FP_number_model: IEEE 754
+  Tag_ABI_align8_needed: Yes
+  Tag_ABI_align8_preserved: Yes, except leaf SP
+  Tag_ABI_enum_size: small
+  Tag_ABI_optimization_goals: Aggressive Debug
Index: ld/testsuite/ld-arm/attr-merge-wchar-00.d
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-00.d
diff -N ld/testsuite/ld-arm/attr-merge-wchar-00.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-00.d	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,17 @@
+#source: attr-merge-wchar-0.s
+#source: attr-merge-wchar-0.s
+#as:
+#ld: -r
+#readelf: -A
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "ARM7TDMI"
+  Tag_CPU_arch: v4T
+  Tag_ABI_FP_denormal: Needed
+  Tag_ABI_FP_exceptions: Needed
+  Tag_ABI_FP_number_model: IEEE 754
+  Tag_ABI_align8_needed: Yes
+  Tag_ABI_align8_preserved: Yes, except leaf SP
+  Tag_ABI_enum_size: small
+  Tag_ABI_optimization_goals: Aggressive Debug
Index: ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d
diff -N ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,18 @@
+#source: attr-merge-wchar-0.s
+#source: attr-merge-wchar-2.s
+#as:
+#ld: -r --no-wchar-size-warning
+#readelf: -A
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "ARM7TDMI"
+  Tag_CPU_arch: v4T
+  Tag_ABI_PCS_wchar_t: 2
+  Tag_ABI_FP_denormal: Needed
+  Tag_ABI_FP_exceptions: Needed
+  Tag_ABI_FP_number_model: IEEE 754
+  Tag_ABI_align8_needed: Yes
+  Tag_ABI_align8_preserved: Yes, except leaf SP
+  Tag_ABI_enum_size: small
+  Tag_ABI_optimization_goals: Aggressive Debug
Index: ld/testsuite/ld-arm/attr-merge-wchar-02.d
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-02.d
diff -N ld/testsuite/ld-arm/attr-merge-wchar-02.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-02.d	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,18 @@
+#source: attr-merge-wchar-0.s
+#source: attr-merge-wchar-2.s
+#as:
+#ld: -r
+#readelf: -A
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "ARM7TDMI"
+  Tag_CPU_arch: v4T
+  Tag_ABI_PCS_wchar_t: 2
+  Tag_ABI_FP_denormal: Needed
+  Tag_ABI_FP_exceptions: Needed
+  Tag_ABI_FP_number_model: IEEE 754
+  Tag_ABI_align8_needed: Yes
+  Tag_ABI_align8_preserved: Yes, except leaf SP
+  Tag_ABI_enum_size: small
+  Tag_ABI_optimization_goals: Aggressive Debug
Index: ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d
diff -N ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,18 @@
+#source: attr-merge-wchar-0.s
+#source: attr-merge-wchar-4.s
+#as:
+#ld: -r --no-wchar-size-warning
+#readelf: -A
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "ARM7TDMI"
+  Tag_CPU_arch: v4T
+  Tag_ABI_PCS_wchar_t: 4
+  Tag_ABI_FP_denormal: Needed
+  Tag_ABI_FP_exceptions: Needed
+  Tag_ABI_FP_number_model: IEEE 754
+  Tag_ABI_align8_needed: Yes
+  Tag_ABI_align8_preserved: Yes, except leaf SP
+  Tag_ABI_enum_size: small
+  Tag_ABI_optimization_goals: Aggressive Debug
Index: ld/testsuite/ld-arm/attr-merge-wchar-04.d
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-04.d
diff -N ld/testsuite/ld-arm/attr-merge-wchar-04.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-04.d	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,18 @@
+#source: attr-merge-wchar-0.s
+#source: attr-merge-wchar-4.s
+#as:
+#ld: -r
+#readelf: -A
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "ARM7TDMI"
+  Tag_CPU_arch: v4T
+  Tag_ABI_PCS_wchar_t: 4
+  Tag_ABI_FP_denormal: Needed
+  Tag_ABI_FP_exceptions: Needed
+  Tag_ABI_FP_number_model: IEEE 754
+  Tag_ABI_align8_needed: Yes
+  Tag_ABI_align8_preserved: Yes, except leaf SP
+  Tag_ABI_enum_size: small
+  Tag_ABI_optimization_goals: Aggressive Debug
Index: ld/testsuite/ld-arm/attr-merge-wchar-2.s
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-2.s
diff -N ld/testsuite/ld-arm/attr-merge-wchar-2.s
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-2.s	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,11 @@
+	.cpu arm7tdmi
+	.fpu softvfp
+	.eabi_attribute 20, 1
+	.eabi_attribute 21, 1
+	.eabi_attribute 23, 3
+	.eabi_attribute 24, 1
+	.eabi_attribute 25, 1
+	.eabi_attribute 26, 1
+	.eabi_attribute 30, 6
+	.eabi_attribute 18, 2
+	.file	"attr-merge-wchar-2.s"
Index: ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d
diff -N ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,18 @@
+#source: attr-merge-wchar-2.s
+#source: attr-merge-wchar-0.s
+#as:
+#ld: -r --no-wchar-size-warning
+#readelf: -A
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "ARM7TDMI"
+  Tag_CPU_arch: v4T
+  Tag_ABI_PCS_wchar_t: 2
+  Tag_ABI_FP_denormal: Needed
+  Tag_ABI_FP_exceptions: Needed
+  Tag_ABI_FP_number_model: IEEE 754
+  Tag_ABI_align8_needed: Yes
+  Tag_ABI_align8_preserved: Yes, except leaf SP
+  Tag_ABI_enum_size: small
+  Tag_ABI_optimization_goals: Aggressive Debug
Index: ld/testsuite/ld-arm/attr-merge-wchar-20.d
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-20.d
diff -N ld/testsuite/ld-arm/attr-merge-wchar-20.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-20.d	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,18 @@
+#source: attr-merge-wchar-2.s
+#source: attr-merge-wchar-0.s
+#as:
+#ld: -r
+#readelf: -A
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "ARM7TDMI"
+  Tag_CPU_arch: v4T
+  Tag_ABI_PCS_wchar_t: 2
+  Tag_ABI_FP_denormal: Needed
+  Tag_ABI_FP_exceptions: Needed
+  Tag_ABI_FP_number_model: IEEE 754
+  Tag_ABI_align8_needed: Yes
+  Tag_ABI_align8_preserved: Yes, except leaf SP
+  Tag_ABI_enum_size: small
+  Tag_ABI_optimization_goals: Aggressive Debug
Index: ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d
diff -N ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,18 @@
+#source: attr-merge-wchar-2.s
+#source: attr-merge-wchar-2.s
+#as:
+#ld: -r --no-wchar-size-warning
+#readelf: -A
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "ARM7TDMI"
+  Tag_CPU_arch: v4T
+  Tag_ABI_PCS_wchar_t: 2
+  Tag_ABI_FP_denormal: Needed
+  Tag_ABI_FP_exceptions: Needed
+  Tag_ABI_FP_number_model: IEEE 754
+  Tag_ABI_align8_needed: Yes
+  Tag_ABI_align8_preserved: Yes, except leaf SP
+  Tag_ABI_enum_size: small
+  Tag_ABI_optimization_goals: Aggressive Debug
Index: ld/testsuite/ld-arm/attr-merge-wchar-22.d
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-22.d
diff -N ld/testsuite/ld-arm/attr-merge-wchar-22.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-22.d	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,18 @@
+#source: attr-merge-wchar-2.s
+#source: attr-merge-wchar-2.s
+#as:
+#ld: -r
+#readelf: -A
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "ARM7TDMI"
+  Tag_CPU_arch: v4T
+  Tag_ABI_PCS_wchar_t: 2
+  Tag_ABI_FP_denormal: Needed
+  Tag_ABI_FP_exceptions: Needed
+  Tag_ABI_FP_number_model: IEEE 754
+  Tag_ABI_align8_needed: Yes
+  Tag_ABI_align8_preserved: Yes, except leaf SP
+  Tag_ABI_enum_size: small
+  Tag_ABI_optimization_goals: Aggressive Debug
Index: ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d
diff -N ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,18 @@
+#source: attr-merge-wchar-2.s
+#source: attr-merge-wchar-4.s
+#as:
+#ld: -r --no-wchar-size-warning
+#readelf: -A
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "ARM7TDMI"
+  Tag_CPU_arch: v4T
+  Tag_ABI_PCS_wchar_t: 2
+  Tag_ABI_FP_denormal: Needed
+  Tag_ABI_FP_exceptions: Needed
+  Tag_ABI_FP_number_model: IEEE 754
+  Tag_ABI_align8_needed: Yes
+  Tag_ABI_align8_preserved: Yes, except leaf SP
+  Tag_ABI_enum_size: small
+  Tag_ABI_optimization_goals: Aggressive Debug
Index: ld/testsuite/ld-arm/attr-merge-wchar-24.d
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-24.d
diff -N ld/testsuite/ld-arm/attr-merge-wchar-24.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-24.d	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,5 @@
+#source: attr-merge-wchar-2.s
+#source: attr-merge-wchar-4.s
+#as:
+#ld: -r
+#warning: warning: .* uses 4-byte wchar_t yet the output is to use 2-byte wchar_t; use of wchar_t values across objects may fail
Index: ld/testsuite/ld-arm/attr-merge-wchar-4.s
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-4.s
diff -N ld/testsuite/ld-arm/attr-merge-wchar-4.s
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-4.s	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,11 @@
+	.cpu arm7tdmi
+	.fpu softvfp
+	.eabi_attribute 20, 1
+	.eabi_attribute 21, 1
+	.eabi_attribute 23, 3
+	.eabi_attribute 24, 1
+	.eabi_attribute 25, 1
+	.eabi_attribute 26, 1
+	.eabi_attribute 30, 6
+	.eabi_attribute 18, 4
+	.file	"attr-merge-wchar-4.s"
Index: ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d
diff -N ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,18 @@
+#source: attr-merge-wchar-4.s
+#source: attr-merge-wchar-0.s
+#as:
+#ld: -r --no-wchar-size-warning
+#readelf: -A
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "ARM7TDMI"
+  Tag_CPU_arch: v4T
+  Tag_ABI_PCS_wchar_t: 4
+  Tag_ABI_FP_denormal: Needed
+  Tag_ABI_FP_exceptions: Needed
+  Tag_ABI_FP_number_model: IEEE 754
+  Tag_ABI_align8_needed: Yes
+  Tag_ABI_align8_preserved: Yes, except leaf SP
+  Tag_ABI_enum_size: small
+  Tag_ABI_optimization_goals: Aggressive Debug
Index: ld/testsuite/ld-arm/attr-merge-wchar-40.d
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-40.d
diff -N ld/testsuite/ld-arm/attr-merge-wchar-40.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-40.d	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,18 @@
+#source: attr-merge-wchar-4.s
+#source: attr-merge-wchar-0.s
+#as:
+#ld: -r
+#readelf: -A
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "ARM7TDMI"
+  Tag_CPU_arch: v4T
+  Tag_ABI_PCS_wchar_t: 4
+  Tag_ABI_FP_denormal: Needed
+  Tag_ABI_FP_exceptions: Needed
+  Tag_ABI_FP_number_model: IEEE 754
+  Tag_ABI_align8_needed: Yes
+  Tag_ABI_align8_preserved: Yes, except leaf SP
+  Tag_ABI_enum_size: small
+  Tag_ABI_optimization_goals: Aggressive Debug
Index: ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d
diff -N ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,18 @@
+#source: attr-merge-wchar-4.s
+#source: attr-merge-wchar-2.s
+#as:
+#ld: -r --no-wchar-size-warning
+#readelf: -A
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "ARM7TDMI"
+  Tag_CPU_arch: v4T
+  Tag_ABI_PCS_wchar_t: 4
+  Tag_ABI_FP_denormal: Needed
+  Tag_ABI_FP_exceptions: Needed
+  Tag_ABI_FP_number_model: IEEE 754
+  Tag_ABI_align8_needed: Yes
+  Tag_ABI_align8_preserved: Yes, except leaf SP
+  Tag_ABI_enum_size: small
+  Tag_ABI_optimization_goals: Aggressive Debug
Index: ld/testsuite/ld-arm/attr-merge-wchar-42.d
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-42.d
diff -N ld/testsuite/ld-arm/attr-merge-wchar-42.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-42.d	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,5 @@
+#source: attr-merge-wchar-4.s
+#source: attr-merge-wchar-2.s
+#as:
+#ld: -r
+#warning: warning: .* uses 2-byte wchar_t yet the output is to use 4-byte wchar_t; use of wchar_t values across objects may fail
Index: ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d
diff -N ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,18 @@
+#source: attr-merge-wchar-4.s
+#source: attr-merge-wchar-4.s
+#as:
+#ld: -r --no-wchar-size-warning
+#readelf: -A
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "ARM7TDMI"
+  Tag_CPU_arch: v4T
+  Tag_ABI_PCS_wchar_t: 4
+  Tag_ABI_FP_denormal: Needed
+  Tag_ABI_FP_exceptions: Needed
+  Tag_ABI_FP_number_model: IEEE 754
+  Tag_ABI_align8_needed: Yes
+  Tag_ABI_align8_preserved: Yes, except leaf SP
+  Tag_ABI_enum_size: small
+  Tag_ABI_optimization_goals: Aggressive Debug
Index: ld/testsuite/ld-arm/attr-merge-wchar-44.d
===================================================================
RCS file: ld/testsuite/ld-arm/attr-merge-wchar-44.d
diff -N ld/testsuite/ld-arm/attr-merge-wchar-44.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-arm/attr-merge-wchar-44.d	9 Jul 2008 21:47:49 -0000
@@ -0,0 +1,18 @@
+#source: attr-merge-wchar-4.s
+#source: attr-merge-wchar-4.s
+#as:
+#ld: -r
+#readelf: -A
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "ARM7TDMI"
+  Tag_CPU_arch: v4T
+  Tag_ABI_PCS_wchar_t: 4
+  Tag_ABI_FP_denormal: Needed
+  Tag_ABI_FP_exceptions: Needed
+  Tag_ABI_FP_number_model: IEEE 754
+  Tag_ABI_align8_needed: Yes
+  Tag_ABI_align8_preserved: Yes, except leaf SP
+  Tag_ABI_enum_size: small
+  Tag_ABI_optimization_goals: Aggressive Debug

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]