From patchwork Fri May 20 10:13:46 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greta Yorsh X-Patchwork-Id: 96578 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 7A861B6F8B for ; Fri, 20 May 2011 20:14:11 +1000 (EST) Received: (qmail 25643 invoked by alias); 20 May 2011 10:14:10 -0000 Received: (qmail 25633 invoked by uid 22791); 20 May 2011 10:14:09 -0000 X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL, BAYES_00, MSGID_MULTIPLE_AT, RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from service87.mimecast.com (HELO service87.mimecast.com) (94.185.240.25) by sourceware.org (qpsmtpd/0.43rc1) with SMTP; Fri, 20 May 2011 10:13:55 +0000 Received: from cam-owa1.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.21]) by service87.mimecast.com; Fri, 20 May 2011 11:13:53 +0100 Received: from E103079 ([10.1.255.212]) by cam-owa1.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.0); Fri, 20 May 2011 11:13:57 +0100 From: "Greta Yorsh" To: Subject: [PATCH] cleanup: local label prefix Date: Fri, 20 May 2011 11:13:46 +0100 Message-ID: <000001cc16d6$9b6ac560$d2405020$@Yorsh@arm.com> MIME-Version: 1.0 x-cr-hashedpuzzle: tvs= Cwfg C5jw C8ms EMzj EWBW FBFH FQNi FxSq F4Qh IzMA KWbf K+Ho LFCI LZUh L1gD; 1; ZwBjAGMALQBwAGEAdABjAGgAZQBzAEAAZwBjAGMALgBnAG4AdQAuAG8AcgBnAA==; Sosha1_v1; 7; {0AF91B6B-81D5-4132-BECB-1366186C452E}; ZwByAGUAdABhAC4AeQBvAHIAcwBoAEAAYQByAG0ALgBjAG8AbQA=; Fri, 20 May 2011 10:13:44 GMT; WwBQAEEAVABDAEgAXQAgAGMAbABlAGEAbgB1AHAAOgAgAGwAbwBjAGEAbAAgAGwAYQBiAGUAbAAgAHAAcgBlAGYAaQB4AA== x-cr-puzzleid: {0AF91B6B-81D5-4132-BECB-1366186C452E} X-MC-Unique: 111052011135300801 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org This patch replaces a hardcoded "." of local label prefix with LOCAL_LABEL_PREFIX macro in the ARM backend (generating a "trampoline" in thumb mode). The patch also contains a new test to make sure that the local label ".Ltrampoline_start:" is generated correctly. No regressions on arm-none-eabi. -- Greta gcc/Changelog: 2011-05-13 Greta Yorsh * config/arm/arm.c: Replace hardcoded "." of local label prefix with LOCAL_LABEL_PREFIX macro. gcc/testsuite/ChangeLog: 2011-05-13 Greta Yorsh * gcc.target/arm/trampoline-1.c: New test, to make sure the local label ".Ltrampoline" is generated correctly. diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 4f9c2aa..6216b49 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -2066,7 +2066,7 @@ arm_asm_trampoline_template (FILE *f) { ASM_OUTPUT_ALIGN (f, 2); fprintf (f, "\t.code\t16\n"); - fprintf (f, ".Ltrampoline_start:\n"); + fprintf (f, "%sLtrampoline_start:\n", LOCAL_LABEL_PREFIX); asm_fprintf (f, "\tpush\t{r0, r1}\n"); asm_fprintf (f, "\tldr\tr0, [%r, #8]\n", PC_REGNUM); asm_fprintf (f, "\tmov\t%r, r0\n", STATIC_CHAIN_REGNUM); diff --git a/gcc/testsuite/gcc.target/arm/trampoline-1.c b/gcc/testsuite/gcc.target/arm/trampoline-1.c new file mode 100644 index 0000000..212e7ee --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/trampoline-1.c @@ -0,0 +1,19 @@ +/* { dg-options "-mcpu=arm7tdmi -mthumb" } */ +/* { dg-do compile } */ +/* { dg-require-effective-target arm_eabi } */ +/* { dg-require-effective-target arm_thumb1_ok } */ + +void +foo(int a) +{ + int + gee(void) + { + return a; + } + extern int bar(int (*)(void)); + bar(&gee); + +} + +/* { dg-final { scan-assembler ".Ltrampoline_start:" } } */