2_22-branch'.
Cherrypick from master 2011-10-08 16:51:11 UTC H.J. Lu <hjl.tools@gmail.com> 'Preserve the maximum alignment/size for common symbols.':
ld/testsuite/ld-elf/pr13250-1.c
ld/testsuite/ld-elf/pr13250-2.c
ld/testsuite/ld-elf/pr13250-3.c
--- /dev/null
+int common1[8];
+void
+foo ()
+{
+ int i;
+ for (i = 0; i < sizeof (common1)/ sizeof (common1[0]); i++)
+ common1[i] = -1;
+}
--- /dev/null
+extern int common1[8];
+
+extern void foo ();
+
+int
+bar ()
+{
+ foo ();
+ return common1[4];
+}
--- /dev/null
+#include <stdio.h>
+#include <stdlib.h>
+
+int common1[1];
+char common2[2];
+
+extern int bar ();
+
+int
+main ()
+{
+ int i;
+ if (bar () != -1)
+ abort ();
+ if (common1[0] != -1)
+ abort ();
+ for (i = 0; i < sizeof (common2)/ sizeof (common2[0]); i++)
+ if (common2[i] != 0)
+ abort ();
+ printf ("PASS\n");
+ return 0;
+}