From: Sam Ravnborg <sam@ravnborg.org>
To: lkml <linux-kernel@vger.kernel.org>
Cc: Sam Ravnborg <sam@mars.ravnborg.org>, Sam Ravnborg <sam@ravnborg.org>
Subject: [PATCH 46/46] kbuild: remove obsoleted scripts/reference_* files
Date: Tue, 21 Mar 2006 17:20:57 +0100 [thread overview]
Message-ID: <1142958057783-git-send-email-sam@ravnborg.org> (raw)
In-Reply-To: <11429580571883-git-send-email-sam@ravnborg.org>
The checks performed by scripts/reference_* has been moved to modpost.
Remove the files and their reference in top-level Makefile.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
---
Makefile | 6 --
scripts/reference_discarded.pl | 112 ----------------------------------------
scripts/reference_init.pl | 108 ---------------------------------------
3 files changed, 0 insertions(+), 226 deletions(-)
delete mode 100644 scripts/reference_discarded.pl
delete mode 100644 scripts/reference_init.pl
eae0f536f640bb95f2ad437a57c40c7d5683d1ac
diff --git a/Makefile b/Makefile
index 0c223df..6df94f9 100644
--- a/Makefile
+++ b/Makefile
@@ -1028,8 +1028,6 @@ help:
@echo ' kernelversion - Output the version stored in Makefile'
@echo ''
@echo 'Static analysers'
- @echo ' buildcheck - List dangling references to vmlinux discarded sections'
- @echo ' and init sections from non-init sections'
@echo ' checkstack - Generate a list of stack hogs'
@echo ' namespacecheck - Name space analysis on compiled kernel'
@echo ''
@@ -1255,10 +1253,6 @@ versioncheck:
-name '*.[hcS]' -type f -print | sort \
| xargs $(PERL) -w scripts/checkversion.pl
-buildcheck:
- $(PERL) $(srctree)/scripts/reference_discarded.pl
- $(PERL) $(srctree)/scripts/reference_init.pl
-
namespacecheck:
$(PERL) $(srctree)/scripts/namespace.pl
diff --git a/scripts/reference_discarded.pl b/scripts/reference_discarded.pl
deleted file mode 100644
index 4ee6ab2..0000000
--- a/scripts/reference_discarded.pl
+++ /dev/null
@@ -1,112 +0,0 @@
-#!/usr/bin/perl -w
-#
-# reference_discarded.pl (C) Keith Owens 2001 <kaos@ocs.com.au>
-#
-# Released under GPL V2.
-#
-# List dangling references to vmlinux discarded sections.
-
-use strict;
-die($0 . " takes no arguments\n") if($#ARGV >= 0);
-
-my %object;
-my $object;
-my $line;
-my $ignore;
-my $errorcount;
-
-$| = 1;
-
-# printf("Finding objects, ");
-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/) {
- ($object = $line) =~ s/:.*//;
- $object{$object}->{'module'} = 0;
- $object{$object}->{'size'} = 0;
- $object{$object}->{'off'} = 0;
- }
- if ($line =~ /^\s*\d+\s+\.modinfo\s+/) {
- $object{$object}->{'module'} = 1;
- }
- if ($line =~ /^\s*\d+\s+\.comment\s+/) {
- ($object{$object}->{'size'}, $object{$object}->{'off'}) = (split(' ', $line))[2,5];
- }
-}
-close(OBJDUMP_LIST);
-# printf("%d objects, ", scalar keys(%object));
-$ignore = 0;
-foreach $object (keys(%object)) {
- if ($object{$object}->{'module'}) {
- ++$ignore;
- delete($object{$object});
- }
-}
-# printf("ignoring %d module(s)\n", $ignore);
-
-# Ignore conglomerate objects, they have been built from multiple objects and we
-# only care about the individual objects. If an object has more than one GCC:
-# string in the comment section then it is conglomerate. This does not filter
-# out conglomerates that consist of exactly one object, can't be helped.
-
-# printf("Finding conglomerates, ");
-$ignore = 0;
-foreach $object (keys(%object)) {
- if (exists($object{$object}->{'off'})) {
- my ($off, $size, $comment, $l);
- $off = hex($object{$object}->{'off'});
- $size = hex($object{$object}->{'size'});
- open(OBJECT, "<$object") || die "cannot read $object";
- seek(OBJECT, $off, 0) || die "seek to $off in $object failed";
- $l = read(OBJECT, $comment, $size);
- die "read $size bytes from $object .comment failed" if ($l != $size);
- close(OBJECT);
- if ($comment =~ /GCC\:.*GCC\:/m || $object =~ /built-in\.o/) {
- ++$ignore;
- delete($object{$object});
- }
- }
-}
-# printf("ignoring %d conglomerate(s)\n", $ignore);
-
-# printf("Scanning objects\n");
-
-# Keith Ownes <kaos@sgi.com> commented:
-# For our future {in}sanity, add a comment that this is the ppc .opd
-# section, not the ia64 .opd section.
-# ia64 .opd should not point to discarded sections.
-$errorcount = 0;
-foreach $object (keys(%object)) {
- my $from;
- open(OBJDUMP, "objdump -r $object|") || die "cannot objdump -r $object";
- while (defined($line = <OBJDUMP>)) {
- chomp($line);
- if ($line =~ /RELOCATION RECORDS FOR /) {
- ($from = $line) =~ s/.*\[([^]]*).*/$1/;
- }
- if (($line =~ /\.text\.exit$/ ||
- $line =~ /\.exit\.text$/ ||
- $line =~ /\.data\.exit$/ ||
- $line =~ /\.exit\.data$/ ||
- $line =~ /\.exitcall\.exit$/) &&
- ($from !~ /\.text\.exit$/ &&
- $from !~ /\.exit\.text$/ &&
- $from !~ /\.data\.exit$/ &&
- $from !~ /\.opd$/ &&
- $from !~ /\.exit\.data$/ &&
- $from !~ /\.altinstructions$/ &&
- $from !~ /\.pdr$/ &&
- $from !~ /\.debug_.*$/ &&
- $from !~ /\.exitcall\.exit$/ &&
- $from !~ /\.eh_frame$/ &&
- $from !~ /\.stab$/)) {
- printf("Error: %s %s refers to %s\n", $object, $from, $line);
- $errorcount = $errorcount + 1;
- }
- }
- close(OBJDUMP);
-}
-# printf("Done\n");
-
-exit(0);
diff --git a/scripts/reference_init.pl b/scripts/reference_init.pl
deleted file mode 100644
index 7f6960b..0000000
--- a/scripts/reference_init.pl
+++ /dev/null
@@ -1,108 +0,0 @@
-#!/usr/bin/perl -w
-#
-# reference_init.pl (C) Keith Owens 2002 <kaos@ocs.com.au>
-#
-# List references to vmlinux init sections from non-init sections.
-
-# Unfortunately I had to exclude references from read only data to .init
-# sections, almost all of these are false positives, they are created by
-# gcc. The downside of excluding rodata is that there really are some
-# user references from rodata to init code, e.g. drivers/video/vgacon.c
-#
-# const struct consw vga_con = {
-# con_startup: vgacon_startup,
-#
-# where vgacon_startup is __init. If you want to wade through the false
-# positives, take out the check for rodata.
-
-use strict;
-die($0 . " takes no arguments\n") if($#ARGV >= 0);
-
-my %object;
-my $object;
-my $line;
-my $ignore;
-
-$| = 1;
-
-printf("Finding objects, ");
-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/) {
- ($object = $line) =~ s/:.*//;
- $object{$object}->{'module'} = 0;
- $object{$object}->{'size'} = 0;
- $object{$object}->{'off'} = 0;
- }
- if ($line =~ /^\s*\d+\s+\.modinfo\s+/) {
- $object{$object}->{'module'} = 1;
- }
- if ($line =~ /^\s*\d+\s+\.comment\s+/) {
- ($object{$object}->{'size'}, $object{$object}->{'off'}) = (split(' ', $line))[2,5];
- }
-}
-close(OBJDUMP_LIST);
-printf("%d objects, ", scalar keys(%object));
-$ignore = 0;
-foreach $object (keys(%object)) {
- if ($object{$object}->{'module'}) {
- ++$ignore;
- delete($object{$object});
- }
-}
-printf("ignoring %d module(s)\n", $ignore);
-
-# Ignore conglomerate objects, they have been built from multiple objects and we
-# only care about the individual objects. If an object has more than one GCC:
-# string in the comment section then it is conglomerate. This does not filter
-# out conglomerates that consist of exactly one object, can't be helped.
-
-printf("Finding conglomerates, ");
-$ignore = 0;
-foreach $object (keys(%object)) {
- if (exists($object{$object}->{'off'})) {
- my ($off, $size, $comment, $l);
- $off = hex($object{$object}->{'off'});
- $size = hex($object{$object}->{'size'});
- open(OBJECT, "<$object") || die "cannot read $object";
- seek(OBJECT, $off, 0) || die "seek to $off in $object failed";
- $l = read(OBJECT, $comment, $size);
- die "read $size bytes from $object .comment failed" if ($l != $size);
- close(OBJECT);
- if ($comment =~ /GCC\:.*GCC\:/m || $object =~ /built-in\.o/) {
- ++$ignore;
- delete($object{$object});
- }
- }
-}
-printf("ignoring %d conglomerate(s)\n", $ignore);
-
-printf("Scanning objects\n");
-foreach $object (sort(keys(%object))) {
- my $from;
- open(OBJDUMP, "objdump -r $object|") || die "cannot objdump -r $object";
- while (defined($line = <OBJDUMP>)) {
- chomp($line);
- if ($line =~ /RELOCATION RECORDS FOR /) {
- ($from = $line) =~ s/.*\[([^]]*).*/$1/;
- }
- if (($line =~ /\.init$/ || $line =~ /\.init\./) &&
- ($from !~ /\.init$/ &&
- $from !~ /\.init\./ &&
- $from !~ /\.stab$/ &&
- $from !~ /\.rodata$/ &&
- $from !~ /\.text\.lock$/ &&
- $from !~ /\.pci_fixup_header$/ &&
- $from !~ /\.pci_fixup_final$/ &&
- $from !~ /\.pdr$/ &&
- $from !~ /\__param$/ &&
- $from !~ /\.altinstructions/ &&
- $from !~ /\.eh_frame/ &&
- $from !~ /\.debug_/)) {
- printf("Error: %s %s refers to %s\n", $object, $from, $line);
- }
- }
- close(OBJDUMP);
-}
-printf("Done\n");
--
1.0.GIT
next prev parent reply other threads:[~2006-03-21 16:21 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <11429580554104-git-send-email-sam@ravnborg.org>
2006-03-21 16:20 ` [PATCH 22/46] kbuild: do not warn when unwind sections references .init/.exit sections Sam Ravnborg
2006-03-21 16:20 ` [PATCH 23/46] kbuild: version.h should depend on .kernelrelease Sam Ravnborg
2006-03-21 16:20 ` [PATCH 24/46] kbuild: Add copyright to modpost.c Sam Ravnborg
2006-03-21 16:20 ` [PATCH 25/46] kbuild: ignore all generated files for make allmodconfig (x86_64) Sam Ravnborg
2006-03-21 16:20 ` [PATCH 26/46] kbuild: whitelist false section mismatch warnings Sam Ravnborg
2006-03-21 16:20 ` [PATCH 27/46] kbuild: make namespace.pl CROSS_COMPILE happy Sam Ravnborg
2006-03-21 16:20 ` [PATCH 28/46] kbuild: small update of allnoconfig description Sam Ravnborg
2006-03-21 16:20 ` [PATCH 29/46] kbuild: kill trailing whitespace in modpost & friends Sam Ravnborg
2006-03-21 16:20 ` [PATCH 30/46] kbuild: kill false positives from section mismatch warnings for powerpc Sam Ravnborg
2006-03-21 16:20 ` [PATCH 31/46] kbuild: fix section mismatch check for unwind on IA64 Sam Ravnborg
2006-03-21 16:20 ` [PATCH 32/46] kbuild: in the section mismatch check try harder to find symbols Sam Ravnborg
2006-03-21 16:20 ` [PATCH 33/46] kbuild: fix make dir/file.xx when asm symlink is missing Sam Ravnborg
2006-03-21 16:20 ` [PATCH 34/46] kbuild: when warning symbols exported twice now tell user this is the problem Sam Ravnborg
2006-03-21 16:20 ` [PATCH 35/46] kbuild: change kbuild to not rely on incorrect GNU make behavior Sam Ravnborg
2006-03-21 16:20 ` [PATCH 36/46] kbuild: Fix bug in crc symbol generating of kernel and modules Sam Ravnborg
2006-03-21 16:20 ` [PATCH 37/46] kbuild: replace PHONY with FORCE Sam Ravnborg
2006-03-21 16:20 ` [PATCH 38/46] kbuild: in makefile.txt note that Makefile is preferred name for kbuild files Sam Ravnborg
2006-03-21 16:20 ` [PATCH 39/46] kbuild: fix genksyms build error Sam Ravnborg
2006-03-21 16:20 ` [PATCH 40/46] kbuild: Lindent genksyms.c Sam Ravnborg
2006-03-21 16:20 ` [PATCH 41/46] kbuild: clean-up genksyms Sam Ravnborg
2006-03-21 16:20 ` [PATCH 42/46] kbuild: add -fverbose-asm to i386 Makefile Sam Ravnborg
2006-03-21 16:20 ` [PATCH 43/46] Kconfig: remove the CONFIG_CC_ALIGN_* options Sam Ravnborg
2006-03-21 16:20 ` [PATCH 44/46] kconfig: fix time ordering of writes to .kconfig.d and include/linux/autoconf.h Sam Ravnborg
2006-03-21 16:20 ` [PATCH 45/46] kbuild: fix make help & make *pkg Sam Ravnborg
2006-03-21 16:20 ` Sam Ravnborg [this message]
2006-03-21 17:28 ` [PATCH 35/46] kbuild: change kbuild to not rely on incorrect GNU make behavior Jan-Benedict Glaw
2006-03-21 17:37 ` Paul D. Smith
2006-03-21 17:53 ` Sam Ravnborg
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=1142958057783-git-send-email-sam@ravnborg.org \
--to=sam@ravnborg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sam@mars.ravnborg.org \
/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.