diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-selective/3.cc | 8 | ||||
-rw-r--r-- | ld/testsuite/ld-selective/4.cc | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-selective/5.cc | 6 |
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() { } |