diff options
| -rwxr-xr-x | scripts/namespace.pl | 103 |
1 files changed, 56 insertions, 47 deletions
diff --git a/scripts/namespace.pl b/scripts/namespace.pl index fb4e24560736..c8d0922c3b4f 100755 --- a/scripts/namespace.pl +++ b/scripts/namespace.pl | |||
| @@ -84,6 +84,58 @@ my %ksymtab = (); # names that appear in __ksymtab_ | |||
| 84 | my %ref = (); # $ref{$name} exists if there is a true external reference to $name | 84 | my %ref = (); # $ref{$name} exists if there is a true external reference to $name |
| 85 | my %export = (); # $export{$name} exists if there is an EXPORT_... of $name | 85 | my %export = (); # $export{$name} exists if there is an EXPORT_... of $name |
| 86 | 86 | ||
| 87 | my %nmexception = ( | ||
| 88 | 'fs/ext3/bitmap' => 1, | ||
| 89 | 'fs/ext4/bitmap' => 1, | ||
| 90 | 'arch/x86/lib/thunk_32' => 1, | ||
| 91 | 'arch/x86/lib/cmpxchg' => 1, | ||
| 92 | 'arch/x86/vdso/vdso32/note' => 1, | ||
| 93 | 'lib/irq_regs' => 1, | ||
| 94 | 'usr/initramfs_data' => 1, | ||
| 95 | 'drivers/scsi/aic94xx/aic94xx_dump' => 1, | ||
| 96 | 'drivers/scsi/libsas/sas_dump' => 1, | ||
| 97 | 'lib/dec_and_lock' => 1, | ||
| 98 | 'drivers/ide/ide-probe-mini' => 1, | ||
| 99 | 'usr/initramfs_data' => 1, | ||
| 100 | 'drivers/acpi/acpia/exdump' => 1, | ||
| 101 | 'drivers/acpi/acpia/rsdump' => 1, | ||
| 102 | 'drivers/acpi/acpia/nsdumpdv' => 1, | ||
| 103 | 'drivers/acpi/acpia/nsdump' => 1, | ||
| 104 | 'arch/ia64/sn/kernel/sn2/io' => 1, | ||
| 105 | 'arch/ia64/kernel/gate-data' => 1, | ||
| 106 | 'security/capability' => 1, | ||
| 107 | 'fs/ntfs/sysctl' => 1, | ||
| 108 | 'fs/jfs/jfs_debug' => 1, | ||
| 109 | ); | ||
| 110 | |||
| 111 | my %nameexception = ( | ||
| 112 | 'mod_use_count_' => 1, | ||
| 113 | '__initramfs_end' => 1, | ||
| 114 | '__initramfs_start' => 1, | ||
| 115 | '_einittext' => 1, | ||
| 116 | '_sinittext' => 1, | ||
| 117 | 'kallsyms_names' => 1, | ||
| 118 | 'kallsyms_num_syms' => 1, | ||
| 119 | 'kallsyms_addresses'=> 1, | ||
| 120 | '__this_module' => 1, | ||
| 121 | '_etext' => 1, | ||
| 122 | '_edata' => 1, | ||
| 123 | '_end' => 1, | ||
| 124 | '__bss_start' => 1, | ||
| 125 | '_text' => 1, | ||
| 126 | '_stext' => 1, | ||
| 127 | '__gp' => 1, | ||
| 128 | 'ia64_unw_start' => 1, | ||
| 129 | 'ia64_unw_end' => 1, | ||
| 130 | '__init_begin' => 1, | ||
| 131 | '__init_end' => 1, | ||
| 132 | '__bss_stop' => 1, | ||
| 133 | '__nosave_begin' => 1, | ||
| 134 | '__nosave_end' => 1, | ||
| 135 | 'pg0' => 1, | ||
| 136 | ); | ||
| 137 | |||
| 138 | |||
| 87 | &find(\&linux_objects, '.'); # find the objects and do_nm on them | 139 | &find(\&linux_objects, '.'); # find the objects and do_nm on them |
| 88 | &list_multiply_defined(); | 140 | &list_multiply_defined(); |
| 89 | &resolve_external_references(); | 141 | &resolve_external_references(); |
| @@ -270,27 +322,9 @@ sub do_nm | |||
| 270 | close($nmdata); | 322 | close($nmdata); |
| 271 | 323 | ||
| 272 | if ($#nmdata < 0) { | 324 | if ($#nmdata < 0) { |
| 273 | if ( | 325 | printf "No nm data for $fullname\n" |
| 274 | $fullname ne "lib/brlock.o" | 326 | unless $nmexception{$fullname}; |
| 275 | && $fullname ne "lib/dec_and_lock.o" | 327 | return; |
| 276 | && $fullname ne "fs/xfs/xfs_macros.o" | ||
| 277 | && $fullname ne "drivers/ide/ide-probe-mini.o" | ||
| 278 | && $fullname ne "usr/initramfs_data.o" | ||
| 279 | && $fullname ne "drivers/acpi/executer/exdump.o" | ||
| 280 | && $fullname ne "drivers/acpi/resources/rsdump.o" | ||
| 281 | && $fullname ne "drivers/acpi/namespace/nsdumpdv.o" | ||
| 282 | && $fullname ne "drivers/acpi/namespace/nsdump.o" | ||
| 283 | && $fullname ne "arch/ia64/sn/kernel/sn2/io.o" | ||
| 284 | && $fullname ne "arch/ia64/kernel/gate-data.o" | ||
| 285 | && $fullname ne "drivers/ieee1394/oui.o" | ||
| 286 | && $fullname ne "security/capability.o" | ||
| 287 | && $fullname ne "sound/core/wrappers.o" | ||
| 288 | && $fullname ne "fs/ntfs/sysctl.o" | ||
| 289 | && $fullname ne "fs/jfs/jfs_debug.o" | ||
| 290 | ) { | ||
| 291 | printf "No nm data for $fullname\n"; | ||
| 292 | } | ||
| 293 | return; | ||
| 294 | } | 328 | } |
| 295 | $nmdata{$fullname} = \@nmdata; | 329 | $nmdata{$fullname} = \@nmdata; |
| 296 | } | 330 | } |
| @@ -372,31 +406,7 @@ sub resolve_external_references | |||
| 372 | $ref{$name} = "" | 406 | $ref{$name} = "" |
| 373 | } | 407 | } |
| 374 | } | 408 | } |
| 375 | elsif ( $name ne "mod_use_count_" | 409 | elsif ( ! $nameexception{$name} |
| 376 | && $name ne "__initramfs_end" | ||
| 377 | && $name ne "__initramfs_start" | ||
| 378 | && $name ne "_einittext" | ||
| 379 | && $name ne "_sinittext" | ||
| 380 | && $name ne "kallsyms_names" | ||
| 381 | && $name ne "kallsyms_num_syms" | ||
| 382 | && $name ne "kallsyms_addresses" | ||
| 383 | && $name ne "__this_module" | ||
| 384 | && $name ne "_etext" | ||
| 385 | && $name ne "_edata" | ||
| 386 | && $name ne "_end" | ||
| 387 | && $name ne "__bss_start" | ||
| 388 | && $name ne "_text" | ||
| 389 | && $name ne "_stext" | ||
| 390 | && $name ne "__gp" | ||
| 391 | && $name ne "ia64_unw_start" | ||
| 392 | && $name ne "ia64_unw_end" | ||
| 393 | && $name ne "__init_begin" | ||
| 394 | && $name ne "__init_end" | ||
| 395 | && $name ne "__bss_stop" | ||
| 396 | && $name ne "__nosave_begin" | ||
| 397 | && $name ne "__nosave_end" | ||
| 398 | && $name ne "pg0" | ||
| 399 | && $name ne "__module_text_address" | ||
| 400 | && $name !~ /^__sched_text_/ | 410 | && $name !~ /^__sched_text_/ |
| 401 | && $name !~ /^__start_/ | 411 | && $name !~ /^__start_/ |
| 402 | && $name !~ /^__end_/ | 412 | && $name !~ /^__end_/ |
| @@ -407,7 +417,6 @@ sub resolve_external_references | |||
| 407 | && $name !~ /^__.*per_cpu_end/ | 417 | && $name !~ /^__.*per_cpu_end/ |
| 408 | && $name !~ /^__alt_instructions/ | 418 | && $name !~ /^__alt_instructions/ |
| 409 | && $name !~ /^__setup_/ | 419 | && $name !~ /^__setup_/ |
| 410 | && $name !~ /^jiffies/ | ||
| 411 | && $name !~ /^__mod_timer/ | 420 | && $name !~ /^__mod_timer/ |
| 412 | && $name !~ /^__mod_page_state/ | 421 | && $name !~ /^__mod_page_state/ |
| 413 | && $name !~ /^init_module/ | 422 | && $name !~ /^init_module/ |
