From: Amerigo Wang <amwang@redhat.com>
To: linux-kbuild@vger.kernel.org
Cc: Amerigo Wang <amwang@redhat.com>,
Stephen Hemminger <shemminger@vyatta.com>,
Andrew Morton <akpm@linux-foundation.org>,
Michal Marek <mmarek@suse.cz>,
linux-kernel@vger.kernel.org
Subject: [PATCH 3/4] Some bug fixes for namespace.pl
Date: Thu, 30 Sep 2010 14:28:57 +0800 [thread overview]
Message-ID: <1285828138-5873-3-git-send-email-amwang@redhat.com> (raw)
In-Reply-To: <1285828138-5873-1-git-send-email-amwang@redhat.com>
1. Teach namespace.pl to understand "V" and "v"
2. cond_syscalls are moved into kernel/sys_ni.c
Signed-off-by: Amerigo Wang <amwang@redhat.com>
---
scripts/namespace.pl | 17 ++++++++++-------
1 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/scripts/namespace.pl b/scripts/namespace.pl
index c8d0922..bccf610 100755
--- a/scripts/namespace.pl
+++ b/scripts/namespace.pl
@@ -266,6 +266,7 @@ sub do_nm
# T global label/procedure
# U external reference
# W weak external reference to text that has been resolved
+ # V similar to W, but the value of the weak symbol becomes zero with no error.
# a assembler equate
# b static variable, uninitialised
# d static variable, initialised
@@ -274,8 +275,9 @@ sub do_nm
# s static variable, uninitialised, small bss
# t static label/procedures
# w weak external reference to text that has not been resolved
+ # v similar to w
# ? undefined type, used a lot by modules
- if ($type !~ /^[ABCDGRSTUWabdgrstw?]$/) {
+ if ($type !~ /^[ABCDGRSTUWVabdgrstwv?]$/) {
printf STDERR "nm output for $fullname contains unknown type '$_'\n";
}
elsif ($name =~ /\./) {
@@ -286,7 +288,7 @@ sub do_nm
# binutils keeps changing the type for exported symbols, force it to R
$type = 'R' if ($name =~ /^__ksymtab/ || $name =~ /^__kstrtab/);
$name =~ s/_R[a-f0-9]{8}$//; # module versions adds this
- if ($type =~ /[ABCDGRSTW]/ &&
+ if ($type =~ /[ABCDGRSTWV]/ &&
$name ne 'init_module' &&
$name ne 'cleanup_module' &&
$name ne 'Using_Versions' &&
@@ -353,11 +355,12 @@ sub list_multiply_defined
foreach my $name (keys(%def)) {
if ($#{$def{$name}} > 0) {
# Special case for cond_syscall
- if ($#{$def{$name}} == 1 && $name =~ /^sys_/ &&
- ($def{$name}[0] eq "kernel/sys.o" ||
- $def{$name}[1] eq "kernel/sys.o")) {
- &drop_def("kernel/sys.o", $name);
- next;
+ if ($#{$def{$name}} == 1 && $name =~ /^sys_/) {
+ if($def{$name}[0] eq "kernel/sys_ni.o" ||
+ $def{$name}[1] eq "kernel/sys_ni.o") {
+ &drop_def("kernel/sys_ni.o", $name);
+ next;
+ }
}
# Special case for i386 entry code
if ($#{$def{$name}} == 1 && $name =~ /^__kernel_/ &&
--
1.6.5.2
next prev parent reply other threads:[~2010-09-30 6:24 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-30 6:28 [PATCH 1/4] Fix wrong source path in scripts/namespace.pl Amerigo Wang
2010-09-30 6:28 ` [PATCH 2/4] namespace.pl: update file exclusion list Amerigo Wang
2010-09-30 6:28 ` Amerigo Wang [this message]
2010-09-30 6:28 ` [PATCH 4/4] Improve namespace.pl to get more correct result Amerigo Wang
2010-09-30 7:01 ` [PATCH 1/4] Fix wrong source path in scripts/namespace.pl Stephen Hemminger
[not found] ` <20101001145618.613e3e1f@s6510>
2010-10-01 6:28 ` Cong Wang
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=1285828138-5873-3-git-send-email-amwang@redhat.com \
--to=amwang@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mmarek@suse.cz \
--cc=shemminger@vyatta.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox