From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17413 invoked by alias); 16 Jun 2005 21:22:21 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 17195 invoked by uid 22791); 16 Jun 2005 21:22:12 -0000 Received: from [202.80.36.21] (HELO steven) (202.80.36.21) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Thu, 16 Jun 2005 21:22:12 +0000 Received: from sakuraindustries.com (localhost [127.0.0.1]) by steven (Postfix) with ESMTP id AC753129C7F; Fri, 17 Jun 2005 08:22:13 -1100 (GMT+11) Message-ID: <42B322E5.4080403@sakuraindustries.com> Date: Thu, 16 Jun 2005 21:22:00 -0000 From: Steven Johnson User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.6) Gecko/20040115 MIME-Version: 1.0 To: Daniel Jacobowitz Cc: gdb@sources.redhat.com Subject: Re: Unwinding stack past main() when it has another name References: <200506152247.07232.rodda@kde.org> <200506160112.58152.rodda@kde.org> <20050615163658.GA18795@nevyn.them.org> <200506161743.00708.rodda@kde.org> <20050616132242.GA5480@nevyn.them.org> In-Reply-To: <20050616132242.GA5480@nevyn.them.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2005-06/txt/msg00177.txt.bz2 Daniel Jacobowitz wrote: >The fact that we stop at _start is a feature, so hopefully you can rely >on that in the future. > >For some non-C languages we get the name of the main function from >debug information, but for C it's always main() > > This isnt always the case for embedded targets. There is no RULE that C programs must have a main() function. It may be that most do by convention, but they dont have to. In fact, main() can be a pain for small embedded targets because it wants a return value and arguments, which mean nothing for a program that isnt "launched" by a user on demand, but the C compiler detects the special function name main() and objects if it doesnt have the standard format. Programs dont even need to have an entry point called _start. It all depends on how you set up your link map. Steven Johnson