From: Kazu Hirata Date: Tue, 2 May 2006 15:06:35 +0000 (+0000) Subject: re PR target/27387 (Thumb thunk is not PIC) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3abde0f150c4c0e74fba39eb6f7a269ca28ef7b7;p=gcc.git re PR target/27387 (Thumb thunk is not PIC) 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. From-SVN: r113468 --- diff --git a/gcc/testsuite/gcc.target/arm/pr27387.C b/gcc/testsuite/gcc.target/arm/pr27387.C new file mode 100644 index 00000000000..5ffce10ba11 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/pr27387.C @@ -0,0 +1,26 @@ +/* PR target/90000 + We used to generate a non-PIC thunk on thumb even with -fPIC. + Make sure that won't happen anymore. */ + +/* { dg-do compile } */ +/* { dg-require-effective-target arm32 } */ +/* { dg-options "-mthumb -fPIC" } */ + +struct A { + virtual void f (); +}; + +struct B { + virtual void g (); +}; + +struct C : public A, public B { + virtual void g(); +}; + +void +C::g() +{ +} + +/* { dg-final { scan-assembler "LTHUNKPC" } } */ diff --git a/gcc/testsuite/gcc.target/arm/pr90000.C b/gcc/testsuite/gcc.target/arm/pr90000.C deleted file mode 100644 index 5ffce10ba11..00000000000 --- a/gcc/testsuite/gcc.target/arm/pr90000.C +++ /dev/null @@ -1,26 +0,0 @@ -/* PR target/90000 - We used to generate a non-PIC thunk on thumb even with -fPIC. - Make sure that won't happen anymore. */ - -/* { dg-do compile } */ -/* { dg-require-effective-target arm32 } */ -/* { dg-options "-mthumb -fPIC" } */ - -struct A { - virtual void f (); -}; - -struct B { - virtual void g (); -}; - -struct C : public A, public B { - virtual void g(); -}; - -void -C::g() -{ -} - -/* { dg-final { scan-assembler "LTHUNKPC" } } */