aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gold/ChangeLog5
-rw-r--r--gold/testsuite/initpri1.c20
2 files changed, 20 insertions, 5 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 81e4c6f..8ca9b56 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,8 @@
+2009-09-26 Ian Lance Taylor <iant@google.com>
+
+ * testsuite/initpri1.c: Don't try to use constructor priorities if
+ compiling with gcc before 4.3.
+
2009-09-22 Mikolaj Zalewski <mikolajz@google.com>
* testsuite/retain_symbols_file_test.sh (check_present): Change
diff --git a/gold/testsuite/initpri1.c b/gold/testsuite/initpri1.c
index 28c6c91..1c5252d 100644
--- a/gold/testsuite/initpri1.c
+++ b/gold/testsuite/initpri1.c
@@ -1,6 +1,6 @@
/* initpri1.c -- test constructor priorities.
- Copyright 2007, 2008 Free Software Foundation, Inc.
+ Copyright 2007, 2008, 2009 Free Software Foundation, Inc.
Copied from the gcc testsuite, where the test was contributed by
Mark Mitchell <mark@codesourcery.com>.
@@ -19,14 +19,16 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
- MA 02110-1301, USA.
+ MA 02110-1301, USA. */
- This is a test of a common symbol in the main program and a
- versioned symbol in a shared library. The common symbol in the
- main program should override the shared library symbol. */
+/* This tests that the linker handles constructor and destructor
+ priorities correctly. */
#include <stdlib.h>
+/* Constructor priorities in attributes were added in gcc 4.3. */
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)
+
int i;
int j;
@@ -93,3 +95,11 @@ int main (void) {
abort ();
return 0;
}
+
+#else /* !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)) */
+
+int main (void) {
+ exit (0);
+}
+
+#endif /* !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)) */