| To: | linux-mips@linux-mips.org, linux-kernel@vger.kernel.org |
|---|---|
| Subject: | [PATCH v2 3/6] add an endian argument to scripts/recordmcount.pl |
| From: | wuzhangjin@gmail.com |
| Date: | Fri, 29 May 2009 23:04:50 +0800 |
| Cc: | Wu Zhangjin <wuzj@lemote.com>, Steven Rostedt <rostedt@goodmis.org>, Ralf Baechle <ralf@linux-mips.org>, Ingo Molnar <mingo@elte.hu>, Andrew Morton <akpm@linux-foundation.org>, Frederic Weisbecker <fweisbec@gmail.com>, Thomas Gleixner <tglx@linutronix.de>, Nicholas Mc Guire <der.herr@hofr.at> |
| Dkim-signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:date :message-id:x-mailer:in-reply-to:references; bh=xD+EfyvJ1cJ95VWtO9dUklc0lDMhIT4QpIx5YI2E1jI=; b=nNm1sTN8ycfYOiZ6+xPUBNV4OXAyekpfth+ONY44ryJuITsUANks95Lns6hk6yTDE8 dg4/+BbCrnacMZO2uZjF8XPVVOT7KzQA/DcEmOPT2RKYP+4apdlvDG6gVv7c6T2E3vh/ E0cwKRR5yVnJ+O/gd9VNfqCG/LHPAKG+jmwd0= |
| Domainkey-signature: | a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; b=unrhXlGN9Z5FZGRPKACBCwUTx+H8Xh3bQvLsdQ2xdt0Eor+d7QCdGnWV3c90hQKuh9 zX+i3Nv9Ui5yyLlnGSQT+p2ydQqmbPZ/1ENB6sCDsrpioNA5kaC80oS+1Qj1ADwvdNQn VgAQGxisuibRG49Q7KCKreho24MHcCDOVdxHA= |
| In-reply-to: | <cover.1243604390.git.wuzj@lemote.com> |
| Original-recipient: | rfc822;linux-mips@linux-mips.org |
| References: | <cover.1243604390.git.wuzj@lemote.com> |
| Sender: | linux-mips-bounce@linux-mips.org |
From: Wu Zhangjin <wuzj@lemote.com>
mips architecture need this argument to handle big/little endian
differently.
Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Wu Zhangjin <wuzj@lemote.com>
---
scripts/Makefile.build | 1 +
scripts/recordmcount.pl | 21 +++++++++++++++------
2 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 5c4b7a4..548d575 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -207,6 +207,7 @@ endif
ifdef CONFIG_FTRACE_MCOUNT_RECORD
cmd_record_mcount = perl $(srctree)/scripts/recordmcount.pl "$(ARCH)" \
+ "$(if $(CONFIG_CPU_BIG_ENDIAN),big,little)" \
"$(if $(CONFIG_64BIT),64,32)" \
"$(OBJDUMP)" "$(OBJCOPY)" "$(CC)" "$(LD)" "$(NM)" "$(RM)" "$(MV)" \
"$(if $(part-of-module),1,0)" "$(@)";
diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl
index a5d2ace..57a2b6a 100755
--- a/scripts/recordmcount.pl
+++ b/scripts/recordmcount.pl
@@ -100,13 +100,13 @@ $P =~ s@.*/@@g;
my $V = '0.1';
-if ($#ARGV < 7) {
- print "usage: $P arch bits objdump objcopy cc ld nm rm mv is_module
inputfile\n";
+if ($#ARGV < 8) {
+ print "usage: $P arch endian bits objdump objcopy cc ld nm rm mv
is_module inputfile\n";
print "version: $V\n";
exit(1);
}
-my ($arch, $bits, $objdump, $objcopy, $cc,
+my ($arch, $endian, $bits, $objdump, $objcopy, $cc,
$ld, $nm, $rm, $mv, $is_module, $inputfile) = @ARGV;
# This file refers to mcount and shouldn't be ftraced, so lets' ignore it
@@ -216,9 +216,18 @@ if ($arch eq "x86_64") {
} elsif ($arch eq "mips") {
$mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\s_mcount\$";
- $ld .= " -melf".$bits."btsmip";
+ $objdump .= " -Melf-trad".$endian."mips ";
- $cc .= " -mno-abicalls -fno-pic ";
+ if ($endian eq "big") {
+ $endian = " -EB ";
+ $ld .= " -melf".$bits."btsmip";
+ } else {
+ $endian = " -EL ";
+ $ld .= " -melf".$bits."ltsmip";
+ }
+
+ $cc .= " -mno-abicalls -fno-pic -mabi=" . $bits . $endian;
+ $ld .= $endian;
if ($bits == 64) {
$type = ".dword";
--
1.6.0.4
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | [PATCH v2 2/6] mips dynamic function tracer support, wuzhangjin |
|---|---|
| Next by Date: | [PATCH v2 4/6] mips function graph tracer support, wuzhangjin |
| Previous by Thread: | Re: [PATCH v2 2/6] mips dynamic function tracer support, Wang Liming |
| Next by Thread: | Re: [PATCH v2 3/6] add an endian argument to scripts/recordmcount.pl, Steven Rostedt |
| Indexes: | [Date] [Thread] [Top] [All Lists] |