From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26928 invoked by alias); 31 Aug 2004 03:57:29 -0000 Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org Received: (qmail 26917 invoked from network); 31 Aug 2004 03:57:28 -0000 Received: from unknown (HELO mproxy.gmail.com) (64.233.170.203) by sourceware.org with SMTP; 31 Aug 2004 03:57:28 -0000 Received: by mproxy.gmail.com with SMTP id 77so122175rnl for ; Mon, 30 Aug 2004 20:57:28 -0700 (PDT) Received: by 10.38.83.80 with SMTP id g80mr668426rnb; Mon, 30 Aug 2004 20:57:28 -0700 (PDT) Received: by 10.38.77.76 with HTTP; Mon, 30 Aug 2004 20:57:28 -0700 (PDT) Message-ID: <4217037d040830205772574bf2@mail.gmail.com> Date: Tue, 31 Aug 2004 05:10:00 -0000 From: Kugan Vivekanandarajah Reply-To: Kugan Vivekanandarajah To: gcc-help@gcc.gnu.org Subject: constructing cfg from linked binary for arm Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-SW-Source: 2004-08/txt/msg00291.txt.bz2 [Might be off topic for this list, but I could not find any list which discusses the arm gcc backend] To study the program behavior, after being linked (which will be used for application specific architecture tuning), I need to construct a control flow graph for the whole program. My target architecture is arm. I have following questions 1) Can function return take place with any other instruction other than the following? And also, can I assume that this instructions will be used only for function return a. mov pc, lr b. ldmdb fp, {r4, fp, sp, pc} 2) Instructions like the following: what is the genral use of them? a. ldr pc, [r4]. #4 b. mov pc, r8 Can I get these informations by looking arm.md file used in GCC. How des gcc generates code based on this md file. Any points, links or documents about this will be very helpful Thanks in advance, -kgn