From patchwork Thu Sep 30 06:28:58 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amerigo Wang X-Patchwork-Id: 218952 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id o8U6Pomm030770 for ; Thu, 30 Sep 2010 06:25:50 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754616Ab0I3GYy (ORCPT ); Thu, 30 Sep 2010 02:24:54 -0400 Received: from mx1.redhat.com ([209.132.183.28]:29035 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754426Ab0I3GYy (ORCPT ); Thu, 30 Sep 2010 02:24:54 -0400 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o8U6Oj4D032435 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 30 Sep 2010 02:24:45 -0400 Received: from cr0.nay.redhat.com (dhcp-65-177.nay.redhat.com [10.66.65.177]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o8U6OM0p001884; Thu, 30 Sep 2010 02:24:43 -0400 From: Amerigo Wang To: linux-kbuild@vger.kernel.org Cc: Amerigo Wang , Stephen Hemminger , Andrew Morton , Michal Marek , linux-kernel@vger.kernel.org Subject: [PATCH 4/4] Improve namespace.pl to get more correct result Date: Thu, 30 Sep 2010 14:28:58 +0800 Message-Id: <1285828138-5873-4-git-send-email-amwang@redhat.com> In-Reply-To: <1285828138-5873-1-git-send-email-amwang@redhat.com> References: <1285828138-5873-1-git-send-email-amwang@redhat.com> X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12 Sender: linux-kbuild-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter1.kernel.org [140.211.167.41]); Thu, 30 Sep 2010 06:25:50 +0000 (UTC) diff --git a/scripts/namespace.pl b/scripts/namespace.pl index bccf610..a71be6b 100755 --- a/scripts/namespace.pl +++ b/scripts/namespace.pl @@ -133,6 +133,12 @@ my %nameexception = ( '__nosave_begin' => 1, '__nosave_end' => 1, 'pg0' => 1, + 'vdso_enabled' => 1, + '__stack_chk_fail' => 1, + 'VDSO32_PRELINK' => 1, + 'VDSO32_vsyscall' => 1, + 'VDSO32_rt_sigreturn'=>1, + 'VDSO32_sigreturn' => 1, ); @@ -157,7 +163,8 @@ sub linux_objects if (/.*\.o$/ && ! ( m:/built-in.o$: - || m:arch/x86/kernel/vsyscall-syms.o$: + || m:arch/x86/vdso/: + || m:arch/x86/boot/: || m:arch/ia64/ia32/ia32.o$: || m:arch/ia64/kernel/gate-syms.o$: || m:arch/ia64/lib/__divdi3.o$: @@ -200,6 +207,7 @@ sub linux_objects || m:^.*/\.tmp_: || m:^\.tmp_: || m:/vmlinux-obj.o$: + || m:^tools/: ) ) { do_nm($basename, $_); @@ -355,20 +363,15 @@ sub list_multiply_defined foreach my $name (keys(%def)) { if ($#{$def{$name}} > 0) { # Special case for cond_syscall - if ($#{$def{$name}} == 1 && $name =~ /^sys_/) { + if ($#{$def{$name}} == 1 && + ($name =~ /^sys_/ || $name =~ /^compat_sys_/ || + $name =~ /^sys32_/)) { 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_/ && - $def{$name}[0] eq "arch/x86/kernel/vsyscall-int80_32.o" && - $def{$name}[1] eq "arch/x86/kernel/vsyscall-sysenter_32.o") { - &drop_def("arch/x86/kernel/vsyscall-sysenter_32.o", $name); - next; - } printf "$name is multiply defined in :-\n"; foreach my $module (@{$def{$name}}) {