aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ChangeLog6
-rw-r--r--ld/testsuite/ld-selective/3.cc8
-rw-r--r--ld/testsuite/ld-selective/4.cc6
-rw-r--r--ld/testsuite/ld-selective/5.cc6
4 files changed, 25 insertions, 1 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 4edfd21..4bafd34 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2003-04-29 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * ld-selective/3.cc (start): New function.
+ * ld-selective/4.cc: Likewise.
+ * ld-selective/5.cc: Likewise.
+
2003-04-28 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp (picflag): Set PIC flag for compiler.
diff --git a/ld/testsuite/ld-selective/3.cc b/ld/testsuite/ld-selective/3.cc
index 79d5e96..c40bf35 100644
--- a/ld/testsuite/ld-selective/3.cc
+++ b/ld/testsuite/ld-selective/3.cc
@@ -14,7 +14,8 @@ struct B : public A
void B::foo() { } // keep
-void _start() __asm__("_start"); // keep
+void _start() __asm__("_start"); // keep
+void start() __asm__("start"); // some toolchains use this name.
A a; // keep
B b;
@@ -32,6 +33,11 @@ void _start()
#endif
}
+void start ()
+{
+ _start ();
+}
+
// In addition, keep A's virtual table.
// We'll wind up keeping `b' and thus B's virtual table because
diff --git a/ld/testsuite/ld-selective/4.cc b/ld/testsuite/ld-selective/4.cc
index 02864a7..f4fc21c 100644
--- a/ld/testsuite/ld-selective/4.cc
+++ b/ld/testsuite/ld-selective/4.cc
@@ -15,6 +15,7 @@ struct B : public A
void B::foo() { } // lose
void _start() __asm__("_start"); // keep
+void start() __asm__("start"); // some toolchains use this name.
A a; // keep
B b;
@@ -25,4 +26,9 @@ void _start()
getme()->bar();
}
+void start ()
+{
+ _start ();
+}
+
extern "C" void __main() { }
diff --git a/ld/testsuite/ld-selective/5.cc b/ld/testsuite/ld-selective/5.cc
index f5289f8..2c974d9 100644
--- a/ld/testsuite/ld-selective/5.cc
+++ b/ld/testsuite/ld-selective/5.cc
@@ -15,6 +15,7 @@ struct B : public A
void B::foo() { } // lose
void _start() __asm__("_start"); // keep
+void start() __asm__("start"); // some toolchains use this name.
A a; // keep
B b;
@@ -29,4 +30,9 @@ void _start()
getme()->bar();
}
+void start ()
+{
+ _start ();
+}
+
extern "C" void __main() { }