Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[PATCH] perf: use default compiler mode by default

0 views
Skip to first unread message

Michael S. Tsirkin

unread,
Nov 22, 2009, 7:20:03 AM11/22/09
to
gcc with no flags typically is a sane default for systems to use, and
looking at the running kernel is probably broken for cross-builds
anyway, so let's not do this. Add EXTRA_CFLAGS so that users can
override default gcc mode if they want to.

Signed-off-by: Michael S. Tsirkin <m...@redhat.com>
---
tools/perf/Makefile | 20 +++-----------------
1 files changed, 3 insertions(+), 17 deletions(-)

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index d0bdaf2..ab35b0f 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -148,6 +148,8 @@ all::
# broken, or spawning external process is slower than built-in grep perf has).
#
# Define LDFLAGS=-static to build a static binary.
+#
+# Define EXTRA_CFLAGS=-m64 or EXTRA_CFLAGS=-m32 as appropriate for cross-builds.

PERF-VERSION-FILE: .FORCE-PERF-VERSION-FILE
@$(SHELL_PATH) util/PERF-VERSION-GEN
@@ -160,22 +162,6 @@ uname_R := $(shell sh -c 'uname -r 2>/dev/null || echo not')
uname_P := $(shell sh -c 'uname -p 2>/dev/null || echo not')
uname_V := $(shell sh -c 'uname -v 2>/dev/null || echo not')

-#
-# Add -m32 for cross-builds:
-#
-ifdef NO_64BIT
- MBITS := -m32
-else
- #
- # If we're on a 64-bit kernel (except ia64), use -m64:
- #
- ifneq ($(uname_M),ia64)
- ifneq ($(patsubst %64,%,$(uname_M)),$(uname_M))
- MBITS := -m64
- endif
- endif
-endif
-
# CFLAGS and LDFLAGS are for the users to override from the command line.

#
@@ -212,7 +198,7 @@ ifndef PERF_DEBUG
CFLAGS_OPTIMIZE = -O6
endif

-CFLAGS = $(MBITS) -ggdb3 -Wall -Wextra -std=gnu99 -Werror $(CFLAGS_OPTIMIZE) -D_FORTIFY_SOURCE=2 $(EXTRA_WARNINGS)
+CFLAGS = -ggdb3 -Wall -Wextra -std=gnu99 -Werror $(CFLAGS_OPTIMIZE) -D_FORTIFY_SOURCE=2 $(EXTRA_WARNINGS) $(EXTRA_CFLAGS)
EXTLIBS = -lpthread -lrt -lelf -lm
ALL_CFLAGS = $(CFLAGS)
ALL_LDFLAGS = $(LDFLAGS)
--
1.6.5.2.143.g8cc62
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Ingo Molnar

unread,
Nov 22, 2009, 8:00:02 AM11/22/09
to

iirc PowerPC had some trouble in this area. Paulus?

Ingo

Arjan van de Ven

unread,
Nov 22, 2009, 12:20:01 PM11/22/09
to
On Sun, 22 Nov 2009 14:13:35 +0200

"Michael S. Tsirkin" <m...@redhat.com> wrote:

> gcc with no flags typically is a sane default for systems to use, and
> looking at the running kernel is probably broken for cross-builds
> anyway, so let's not do this. Add EXTRA_CFLAGS so that users can
> override default gcc mode if they want to.
>


yes please; current perf breaks if you compile it in a 32 bit chroot on
a 64 bit system....

--
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org

Ingo Molnar

unread,
Nov 23, 2009, 2:00:02 AM11/23/09
to

* Arjan van de Ven <ar...@infradead.org> wrote:

> On Sun, 22 Nov 2009 14:13:35 +0200
> "Michael S. Tsirkin" <m...@redhat.com> wrote:
>
> > gcc with no flags typically is a sane default for systems to use, and
> > looking at the running kernel is probably broken for cross-builds
> > anyway, so let's not do this. Add EXTRA_CFLAGS so that users can
> > override default gcc mode if they want to.
>
> yes please; current perf breaks if you compile it in a 32 bit chroot
> on a 64 bit system....

ok - applied the patch with your ack.

I'd still like to hear back from Paulus whether PowerPC is affected
negatively - IIRC it was PowerPC where we got the -m64 from originally.

Thanks,

Ingo

tip-bot for Michael S. Tsirkin

unread,
Nov 23, 2009, 2:10:02 AM11/23/09
to
Commit-ID: 81516c5fc83a13a1d12f466aa7e14f5fd62a63ce
Gitweb: http://git.kernel.org/tip/81516c5fc83a13a1d12f466aa7e14f5fd62a63ce
Author: Michael S. Tsirkin <m...@redhat.com>
AuthorDate: Sun, 22 Nov 2009 14:13:35 +0200
Committer: Ingo Molnar <mi...@elte.hu>
CommitDate: Mon, 23 Nov 2009 07:55:57 +0100

perf: Use default compiler mode by default

gcc with no flags typically is a sane default for systems to
use, and looking at the running kernel is probably broken for
cross-builds anyway, so let's not do this. Add EXTRA_CFLAGS so
that users can override default gcc mode if they want to.

Signed-off-by: Michael S. Tsirkin <m...@redhat.com>

Acked-by: Arjan van de Ven <ar...@infradead.org>
Cc: Peter Zijlstra <a.p.zi...@chello.nl>
Cc: Paul Mackerras <pau...@samba.org>
Cc: Frederic Weisbecker <fwei...@gmail.com>
Cc: Arnaldo Carvalho de Melo <ac...@redhat.com>
LKML-Reference: <20091122121...@redhat.com>
Signed-off-by: Ingo Molnar <mi...@elte.hu>


---
tools/perf/Makefile | 20 +++-----------------
1 files changed, 3 insertions(+), 17 deletions(-)

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index fce4c3f..3ef6621 100644

Paul Mackerras

unread,
Nov 23, 2009, 6:20:02 AM11/23/09
to
Ingo Molnar writes:

> I'd still like to hear back from Paulus whether PowerPC is affected
> negatively - IIRC it was PowerPC where we got the -m64 from originally.

It seems that a 32-bit perf now works on a 64-bit kernel on powerpc,
so I don't have any hard objection to this patch. (For some reason,
perf top isn't getting any samples, so I'll have to chase that.)

Many distros on powerpc default to 32-bit userspace on 64-bit
machines, since that has a slight performance and size benefit for
most programs. I expect perf is better as a 64-bit binary, since it
does a lot of 64-bit arithmetic, so users of those distros on 64-bit
machines would need to do "make EXTRA_CFLAGS=-m64".

Paul.

0 new messages