Bug 27387 - Thumb thunk is not PIC
Summary: Thumb thunk is not PIC
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: unknown
: P3 normal
Target Milestone: 4.1.1
Assignee: Kazu Hirata
URL:
Keywords: wrong-code
Depends on:
Blocks:
 
Reported: 2006-05-02 14:09 UTC by Kazu Hirata
Modified: 2007-05-30 15:02 UTC (History)
1 user (show)

See Also:
Host:
Target: arm-none-eabi
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kazu Hirata 2006-05-02 14:09:30 UTC
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.
Comment 1 Kazu Hirata 2006-05-02 15:04:57 UTC
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

Comment 2 Kazu Hirata 2006-05-02 15:06:42 UTC
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

Comment 3 Kazu Hirata 2006-05-02 15:13:09 UTC
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

Comment 4 Kazu Hirata 2006-05-02 15:17:31 UTC
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

Comment 5 Kazu Hirata 2006-05-02 15:26:12 UTC
Just checked in a patch.
Comment 6 Andrew Pinski 2007-05-30 05:03:52 UTC
(In reply to comment #5)
> Just checked in a patch.

This testcase does not work as you put it into the C testsuite.
Comment 7 Kazu Hirata 2007-05-30 15:02:13 UTC
Doh, I'll post a patch to move the testcase to an appropriate directory.