All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anton Vorontsov <avorontsov@ru.mvista.com>
To: Steven Rostedt <srostedt@redhat.com>
Cc: linux-rt-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	linuxppc-dev@ozlabs.org, Paul Mackerras <paulus@samba.org>,
	Ingo Molnar <mingo@elte.hu>
Subject: Re: [PATCH 2/3] powerpc: Make it possible to safely select CONFIG_FRAME_POINTER
Date: Thu, 5 Feb 2009 04:12:04 +0300	[thread overview]
Message-ID: <20090205011204.GA25628@oksana.dev.rtsoft.ru> (raw)
In-Reply-To: <1233794154.16878.20.camel@localhost.localdomain>

On Wed, Feb 04, 2009 at 07:35:54PM -0500, Steven Rostedt wrote:
> 
> On Thu, 2009-02-05 at 11:31 +1100, Benjamin Herrenschmidt wrote:
> > On Wed, 2009-02-04 at 18:08 +0300, Anton Vorontsov wrote:
> > > Remove -fno-omit-frame-pointer flag from CFLAGS.
> > > Remove -fno-omit-frame-pointer workarounds.
> > 
> > But what about -pg -requires -fno-omit-frame-pointer ?
> 
> I don't think it requires -fno-omit-frame-pointer. It is just
> incompatible with -fomit-frame-pointer.

Yep, -fno-omit-frame-poiner isn't needed for -pg.

I explained this in http://lkml.org/lkml/2009/2/3/342 :

| Ah...
|
| $ gcc -pg -fomit-frame-pointer -S c.c
| gcc: -pg and -fomit-frame-pointer are incompatible
|
| It's hard-coded in gcc, in the code that don't know about
| architecture details.
|
| But on PowerPC -O1 implies -fomit-frame-pointer, that is
|
| gcc -pg -O1 -fno-omit-frame-pointer
| and
| gcc -pg -O1
|
| produce different outputs. Thus -pg -O should be the same
| as "-pg -O -fomit-framepointer".

That is,

`gcc -O -pg -fno-omit-frame-pointer -S` output:

main:
        mflr 0
        stw 0,4(1)
        bl _mcount
        stwu 1,-16(1)
        mflr 0
        stw 0,20(1)
        stw 31,12(1)
        mr 31,1
        li 3,0
        lwz 11,0(1)
        lwz 0,4(11)
        mtlr 0
        lwz 31,-4(11)
        mr 1,11
        blr

^^ -pg works (_mcount call), but r31 wasted.

Now `gcc -O -pg -S` output:

main:
        mflr 0
        stw 0,4(1)
        bl _mcount
        stwu 1,-16(1)
        mflr 0
        stw 0,20(1)
        li 3,0
        lwz 0,20(1)
        mtlr 0
        addi 1,1,16
        blr

^^ _mcount is still there, and r31 isn't used.

-- 
Anton Vorontsov
email: cbouatmailru@gmail.com
irc://irc.freenode.net/bd2

WARNING: multiple messages have this Message-ID (diff)
From: Anton Vorontsov <avorontsov@ru.mvista.com>
To: Steven Rostedt <srostedt@redhat.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Ingo Molnar <mingo@elte.hu>, Paul Mackerras <paulus@samba.org>,
	linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org,
	linux-rt-users@vger.kernel.org
Subject: Re: [PATCH 2/3] powerpc: Make it possible to safely select CONFIG_FRAME_POINTER
Date: Thu, 5 Feb 2009 04:12:04 +0300	[thread overview]
Message-ID: <20090205011204.GA25628@oksana.dev.rtsoft.ru> (raw)
In-Reply-To: <1233794154.16878.20.camel@localhost.localdomain>

On Wed, Feb 04, 2009 at 07:35:54PM -0500, Steven Rostedt wrote:
> 
> On Thu, 2009-02-05 at 11:31 +1100, Benjamin Herrenschmidt wrote:
> > On Wed, 2009-02-04 at 18:08 +0300, Anton Vorontsov wrote:
> > > Remove -fno-omit-frame-pointer flag from CFLAGS.
> > > Remove -fno-omit-frame-pointer workarounds.
> > 
> > But what about -pg -requires -fno-omit-frame-pointer ?
> 
> I don't think it requires -fno-omit-frame-pointer. It is just
> incompatible with -fomit-frame-pointer.

Yep, -fno-omit-frame-poiner isn't needed for -pg.

I explained this in http://lkml.org/lkml/2009/2/3/342 :

| Ah...
|
| $ gcc -pg -fomit-frame-pointer -S c.c
| gcc: -pg and -fomit-frame-pointer are incompatible
|
| It's hard-coded in gcc, in the code that don't know about
| architecture details.
|
| But on PowerPC -O1 implies -fomit-frame-pointer, that is
|
| gcc -pg -O1 -fno-omit-frame-pointer
| and
| gcc -pg -O1
|
| produce different outputs. Thus -pg -O should be the same
| as "-pg -O -fomit-framepointer".

That is,

`gcc -O -pg -fno-omit-frame-pointer -S` output:

main:
        mflr 0
        stw 0,4(1)
        bl _mcount
        stwu 1,-16(1)
        mflr 0
        stw 0,20(1)
        stw 31,12(1)
        mr 31,1
        li 3,0
        lwz 11,0(1)
        lwz 0,4(11)
        mtlr 0
        lwz 31,-4(11)
        mr 1,11
        blr

^^ -pg works (_mcount call), but r31 wasted.

Now `gcc -O -pg -S` output:

main:
        mflr 0
        stw 0,4(1)
        bl _mcount
        stwu 1,-16(1)
        mflr 0
        stw 0,20(1)
        li 3,0
        lwz 0,20(1)
        mtlr 0
        addi 1,1,16
        blr

^^ _mcount is still there, and r31 isn't used.

-- 
Anton Vorontsov
email: cbouatmailru@gmail.com
irc://irc.freenode.net/bd2

  reply	other threads:[~2009-02-05  1:12 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-31 19:06 [PATCH] ftrace: On PowerPC we don't need frame pointers for CALLER_ADDRs Anton Vorontsov
2009-01-31 19:06 ` Anton Vorontsov
2009-02-02  0:35 ` Benjamin Herrenschmidt
2009-02-02  0:35   ` Benjamin Herrenschmidt
2009-02-02 14:04   ` Steven Rostedt
2009-02-02 14:04     ` Steven Rostedt
2009-02-03 14:56     ` [PATCH v2] " Anton Vorontsov
2009-02-03 14:56       ` Anton Vorontsov
2009-02-03 16:06       ` Ingo Molnar
2009-02-03 16:06         ` Ingo Molnar
2009-02-03 16:19         ` Anton Vorontsov
2009-02-03 16:19           ` Anton Vorontsov
2009-02-03 16:32           ` Steven Rostedt
2009-02-03 16:32             ` Steven Rostedt
2009-02-03 18:59             ` Anton Vorontsov
2009-02-03 18:59               ` Anton Vorontsov
2009-02-04  0:34               ` Benjamin Herrenschmidt
2009-02-04  0:34                 ` Benjamin Herrenschmidt
2009-02-04 15:07           ` Anton Vorontsov
2009-02-04 15:07             ` Anton Vorontsov
2009-02-04 15:08             ` [PATCH 1/3] Makefile: Include arch Makefiles as late as possible Anton Vorontsov
2009-02-04 15:08               ` Anton Vorontsov
2009-02-04 15:08               ` Anton Vorontsov
2009-02-04 21:26               ` Ingo Molnar
2009-02-04 21:26               ` Ingo Molnar
2009-02-04 21:26               ` Ingo Molnar
2009-02-04 21:26               ` Ingo Molnar
2009-02-04 21:26                 ` Ingo Molnar
2009-02-11  3:51                 ` Benjamin Herrenschmidt
2009-02-11  3:51                 ` Benjamin Herrenschmidt
2009-02-11  3:51                   ` Benjamin Herrenschmidt
2009-02-11 13:23                   ` Ingo Molnar
2009-02-11 13:23                     ` Ingo Molnar
2009-02-11 14:11                     ` Steven Rostedt
2009-02-11 14:11                     ` Steven Rostedt
2009-02-11 14:11                     ` Steven Rostedt
2009-02-11 14:11                       ` Steven Rostedt
2009-02-11 14:11                     ` Steven Rostedt
2009-02-14 19:58                   ` Sam Ravnborg
2009-02-14 19:58                     ` Sam Ravnborg
2009-02-11  3:51                 ` Benjamin Herrenschmidt
2009-02-11  3:51                 ` Benjamin Herrenschmidt
2009-02-14 19:57                 ` Sam Ravnborg
2009-02-14 19:57                   ` Sam Ravnborg
2009-02-14 22:03                   ` Ingo Molnar
2009-02-14 22:03                     ` Ingo Molnar
2009-02-15  0:19                     ` Benjamin Herrenschmidt
2009-02-15  0:19                     ` Benjamin Herrenschmidt
2009-02-15  0:19                     ` Benjamin Herrenschmidt
2009-02-15  0:19                     ` Benjamin Herrenschmidt
2009-02-15  0:19                       ` Benjamin Herrenschmidt
2009-02-15  8:09                       ` Ingo Molnar
2009-02-15  8:09                         ` Ingo Molnar
2009-02-16 14:20                   ` Anton Vorontsov
2009-02-16 14:20                     ` Anton Vorontsov
2009-02-16 14:20                     ` Anton Vorontsov
2009-02-16 14:53                     ` Anton Vorontsov
2009-02-16 14:53                       ` Anton Vorontsov
2009-02-16 20:04                       ` Sam Ravnborg
2009-02-16 20:04                         ` Sam Ravnborg
2009-02-16 16:08                     ` Anton Vorontsov
2009-02-16 16:08                       ` Anton Vorontsov
2009-02-16 17:22                       ` Ingo Molnar
2009-02-16 17:22                         ` Ingo Molnar
2009-02-04 15:08             ` [PATCH 2/3] powerpc: Make it possible to safely select CONFIG_FRAME_POINTER Anton Vorontsov
2009-02-04 15:08               ` Anton Vorontsov
2009-02-05  0:31               ` Benjamin Herrenschmidt
2009-02-05  0:31               ` Benjamin Herrenschmidt
2009-02-05  0:31               ` Benjamin Herrenschmidt
2009-02-05  0:31               ` Benjamin Herrenschmidt
2009-02-05  0:31                 ` Benjamin Herrenschmidt
2009-02-05  0:35                 ` Steven Rostedt
2009-02-05  0:35                   ` Steven Rostedt
2009-02-05  1:12                   ` Anton Vorontsov [this message]
2009-02-05  1:12                     ` Anton Vorontsov
2009-02-05  1:15                   ` Benjamin Herrenschmidt
2009-02-05  1:15                   ` Benjamin Herrenschmidt
2009-02-05  1:15                     ` Benjamin Herrenschmidt
2009-02-05  1:15                     ` Benjamin Herrenschmidt
2009-02-05  1:30                     ` Anton Vorontsov
2009-02-05  1:30                       ` Anton Vorontsov
2009-02-05 15:45                       ` Anton Vorontsov
2009-02-05 15:45                         ` Anton Vorontsov
2009-02-05  1:15                   ` Benjamin Herrenschmidt
2009-02-05  1:15                   ` Benjamin Herrenschmidt
2009-02-04 15:08             ` [PATCH 3/3] tracing: Tracers that use CALLER_ADDR macros should select FRAME_POINTER Anton Vorontsov
2009-02-04 15:08               ` Anton Vorontsov
2009-02-04 15:26               ` Frédéric Weisbecker
2009-02-04 15:26                 ` Frédéric Weisbecker
2009-02-04 15:26                 ` Frédéric Weisbecker
2009-02-04 15:31                 ` Steven Rostedt
2009-02-04 15:31                 ` Steven Rostedt
2009-02-04 15:31                   ` Steven Rostedt
2009-02-04 15:31                   ` Steven Rostedt
2009-02-04 15:31                 ` Steven Rostedt
2009-02-04 15:31                 ` Steven Rostedt
2009-02-04 15:36                 ` Anton Vorontsov
2009-02-04 15:36                   ` Anton Vorontsov
2009-02-04 15:36                   ` Anton Vorontsov
2009-02-04 16:50                   ` Frédéric Weisbecker
2009-02-04 16:50                     ` Frédéric Weisbecker
2009-02-04 16:50                     ` Frédéric Weisbecker
2009-02-04  8:17       ` [PATCH v2] ftrace: On PowerPC we don't need frame pointers forCALLER_ADDRs Usha Rani Konudula
2009-02-04  8:17         ` Usha Rani Konudula
2009-02-04  8:37         ` Usha Rani Konudula
2009-02-04  8:37           ` Usha Rani Konudula

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090205011204.GA25628@oksana.dev.rtsoft.ru \
    --to=avorontsov@ru.mvista.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=mingo@elte.hu \
    --cc=paulus@samba.org \
    --cc=srostedt@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.