The thunk for Thumb is not PIC even with -mthumb -fPIC. struct A { virtual void f (); }; struct B { virtual void g (); }; struct C : public A, public B { virtual void g(); }; void C::g() { } I've got a patch.
Subject: Bug 27387 Author: kazu Date: Tue May 2 15:04:52 2006 New Revision: 113467 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113467 Log: gcc/ PR target/27387 * arm.c (arm_output_mi_thunk): Use pc-relative addressing when -mthumb -fPIC are used. testsuite/ PR target/27387 * gcc.target/arm/arm.exp: New. * gcc.target/arm/pr27387.C: Likewise. Added: trunk/gcc/testsuite/gcc.target/arm/ trunk/gcc/testsuite/gcc.target/arm/arm.exp trunk/gcc/testsuite/gcc.target/arm/pr90000.C Modified: trunk/gcc/ChangeLog trunk/gcc/config/arm/arm.c trunk/gcc/testsuite/ChangeLog
Subject: Bug 27387 Author: kazu Date: Tue May 2 15:06:35 2006 New Revision: 113468 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113468 Log: gcc/ PR target/27387 * arm.c (arm_output_mi_thunk): Use pc-relative addressing when -mthumb -fPIC are used. testsuite/ PR target/27387 * gcc.target/arm/arm.exp: New. * gcc.target/arm/pr27387.C: Likewise. Added: trunk/gcc/testsuite/gcc.target/arm/pr27387.C - copied unchanged from r113467, trunk/gcc/testsuite/gcc.target/arm/pr90000.C Removed: trunk/gcc/testsuite/gcc.target/arm/pr90000.C
Subject: Bug 27387 Author: kazu Date: Tue May 2 15:13:02 2006 New Revision: 113470 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113470 Log: gcc/ PR target/27387 * arm.c (arm_output_mi_thunk): Use pc-relative addressing when -mthumb -fPIC are used. testsuite/ PR target/27387 * gcc.target/arm/arm.exp: New. * gcc.target/arm/pr27387.C: Likewise. Added: branches/gcc-4_1-branch/gcc/testsuite/gcc.target/arm/ branches/gcc-4_1-branch/gcc/testsuite/gcc.target/arm/arm.exp branches/gcc-4_1-branch/gcc/testsuite/gcc.target/arm/pr27387.C Modified: branches/gcc-4_1-branch/gcc/ChangeLog branches/gcc-4_1-branch/gcc/config/arm/arm.c branches/gcc-4_1-branch/gcc/testsuite/ChangeLog
Subject: Bug 27387 Author: kazu Date: Tue May 2 15:17:25 2006 New Revision: 113471 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113471 Log: Backport: 2006-05-02 Kazu Hirata <kazu@codesourcery.com> PR target/27387 * arm.c (arm_output_mi_thunk): Use pc-relative addressing when -mthumb -fPIC are used. 2006-05-02 Kazu Hirata <kazu@codesourcery.com> PR target/27387 * gcc.target/arm/arm.exp: New. * gcc.target/arm/pr27387.C: Likewise. Added: branches/csl/sourcerygxx-4_1/gcc/testsuite/gcc.target/arm/ branches/csl/sourcerygxx-4_1/gcc/testsuite/gcc.target/arm/arm.exp branches/csl/sourcerygxx-4_1/gcc/testsuite/gcc.target/arm/pr27387.C Modified: branches/csl/sourcerygxx-4_1/ChangeLog.csl branches/csl/sourcerygxx-4_1/gcc/config/arm/arm.c
Just checked in a patch.
(In reply to comment #5) > Just checked in a patch. This testcase does not work as you put it into the C testsuite.
Doh, I'll post a patch to move the testcase to an appropriate directory.