Re: [PATCH] scripts - use $OBJDUMP to get correct objdump (cross compile)

From: Keith Owens
Date: Tue Sep 20 2005 - 03:32:36 EST


On Mon, 19 Sep 2005 22:06:45 +0100,
Ben Dooks <ben-linux@xxxxxxxxx> wrote:
>The scripts for `make buildcheck` are executing
>objdump straight, which is wrong if the system
>is using `make CROSS_COMPILE=....`.
>
>Change the scripts to use $OBJDUMP passed from
>the Makefile's environment, so that the correct
>objdump is used, and the symbols are printed
>correctly

Those scripts are meant to work even when they are invoked by hand,
without OBJDUMP being defined in the environment. This is the correct
fix.

Signed-off-by: Keith Owens <kaos@xxxxxxxxxx>

Index: linux/scripts/namespace.pl
===================================================================
--- linux.orig/scripts/namespace.pl 2005-08-29 09:41:01.000000000 +1000
+++ linux/scripts/namespace.pl 2005-09-20 18:25:12.124090186 +1000
@@ -67,11 +67,17 @@ use strict;
use File::Find;

my $nm = "/usr/bin/nm -p";
-my $objdump = "/usr/bin/objdump -s -j .comment";
my $srctree = "";
my $objtree = "";
$srctree = "$ENV{'srctree'}/" if (exists($ENV{'srctree'}));
$objtree = "$ENV{'objtree'}/" if (exists($ENV{'objtree'}));
+my $objdump;
+if (exists($ENV{'OBJDUMP'})) {
+ $objdump = $ENV{'OBJDUMP'};
+} else {
+ $objdump = 'objdump';
+}
+$objdump .= ' -s -j .comment';

if ($#ARGV != -1) {
print STDERR "usage: $0 takes no parameters\n";
Index: linux/scripts/reference_discarded.pl
===================================================================
--- linux.orig/scripts/reference_discarded.pl 2005-09-20 16:36:32.095627904 +1000
+++ linux/scripts/reference_discarded.pl 2005-09-20 18:22:00.117517858 +1000
@@ -14,11 +14,17 @@ my $object;
my $line;
my $ignore;
my $errorcount;
+my $objdump;
+if (exists($ENV{'OBJDUMP'})) {
+ $objdump = $ENV{'OBJDUMP'};
+} else {
+ $objdump = 'objdump';
+}

$| = 1;

# printf("Finding objects, ");
-open(OBJDUMP_LIST, "find . -name '*.o' | xargs objdump -h |") || die "getting objdump list failed";
+open(OBJDUMP_LIST, "find . -name '*.o' | xargs $objdump -h |") || die "getting objdump list failed";
while (defined($line = <OBJDUMP_LIST>)) {
chomp($line);
if ($line =~ /:\s+file format/) {
@@ -74,7 +80,7 @@ foreach $object (keys(%object)) {
$errorcount = 0;
foreach $object (keys(%object)) {
my $from;
- open(OBJDUMP, "objdump -r $object|") || die "cannot objdump -r $object";
+ open(OBJDUMP, "$objdump -r $object|") || die "cannot objdump -r $object";
while (defined($line = <OBJDUMP>)) {
chomp($line);
if ($line =~ /RELOCATION RECORDS FOR /) {
Index: linux/scripts/reference_init.pl
===================================================================
--- linux.orig/scripts/reference_init.pl 2005-09-20 16:36:32.095627904 +1000
+++ linux/scripts/reference_init.pl 2005-09-20 18:24:14.060854489 +1000
@@ -22,11 +22,17 @@ my %object;
my $object;
my $line;
my $ignore;
+my $objdump;
+if (exists($ENV{'OBJDUMP'})) {
+ $objdump = $ENV{'OBJDUMP'};
+} else {
+ $objdump = 'objdump';
+}

$| = 1;

printf("Finding objects, ");
-open(OBJDUMP_LIST, "find . -name '*.o' | xargs objdump -h |") || die "getting objdump list failed";
+open(OBJDUMP_LIST, "find . -name '*.o' | xargs $objdump -h |") || die "getting objdump list failed";
while (defined($line = <OBJDUMP_LIST>)) {
chomp($line);
if ($line =~ /:\s+file format/) {
@@ -81,7 +87,7 @@ printf("ignoring %d conglomerate(s)\n",
printf("Scanning objects\n");
foreach $object (sort(keys(%object))) {
my $from;
- open(OBJDUMP, "objdump -r $object|") || die "cannot objdump -r $object";
+ open(OBJDUMP, "$objdump -r $object|") || die "cannot objdump -r $object";
while (defined($line = <OBJDUMP>)) {
chomp($line);
if ($line =~ /RELOCATION RECORDS FOR /) {

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/