diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/checkstack.pl | 5 | ||||
-rwxr-xr-x | scripts/checksyscalls.sh | 2 | ||||
-rw-r--r-- | scripts/mod/file2alias.c | 19 | ||||
-rwxr-xr-x | scripts/namespace.pl | 8 |
4 files changed, 29 insertions, 5 deletions
diff --git a/scripts/checkstack.pl b/scripts/checkstack.pl index f7844f6aa487..663158627155 100755 --- a/scripts/checkstack.pl +++ b/scripts/checkstack.pl | |||
@@ -12,6 +12,7 @@ | |||
12 | # sh64 port by Paul Mundt | 12 | # sh64 port by Paul Mundt |
13 | # Random bits by Matt Mackall <mpm@selenic.com> | 13 | # Random bits by Matt Mackall <mpm@selenic.com> |
14 | # M68k port by Geert Uytterhoeven and Andreas Schwab | 14 | # M68k port by Geert Uytterhoeven and Andreas Schwab |
15 | # AVR32 port by Haavard Skinnemoen <hskinnemoen@atmel.com> | ||
15 | # | 16 | # |
16 | # Usage: | 17 | # Usage: |
17 | # objdump -d vmlinux | stackcheck.pl [arch] | 18 | # objdump -d vmlinux | stackcheck.pl [arch] |
@@ -37,6 +38,10 @@ my (@stack, $re, $x, $xs); | |||
37 | if ($arch eq 'arm') { | 38 | if ($arch eq 'arm') { |
38 | #c0008ffc: e24dd064 sub sp, sp, #100 ; 0x64 | 39 | #c0008ffc: e24dd064 sub sp, sp, #100 ; 0x64 |
39 | $re = qr/.*sub.*sp, sp, #(([0-9]{2}|[3-9])[0-9]{2})/o; | 40 | $re = qr/.*sub.*sp, sp, #(([0-9]{2}|[3-9])[0-9]{2})/o; |
41 | } elsif ($arch eq 'avr32') { | ||
42 | #8000008a: 20 1d sub sp,4 | ||
43 | #80000ca8: fa cd 05 b0 sub sp,sp,1456 | ||
44 | $re = qr/^.*sub.*sp.*,([0-9]{1,8})/o; | ||
40 | } elsif ($arch =~ /^i[3456]86$/) { | 45 | } elsif ($arch =~ /^i[3456]86$/) { |
41 | #c0105234: 81 ec ac 05 00 00 sub $0x5ac,%esp | 46 | #c0105234: 81 ec ac 05 00 00 sub $0x5ac,%esp |
42 | $re = qr/^.*[as][du][db] \$(0x$x{1,8}),\%esp$/o; | 47 | $re = qr/^.*[as][du][db] \$(0x$x{1,8}),\%esp$/o; |
diff --git a/scripts/checksyscalls.sh b/scripts/checksyscalls.sh index 0dcc01ce45a6..366f8c7f62bf 100755 --- a/scripts/checksyscalls.sh +++ b/scripts/checksyscalls.sh | |||
@@ -119,5 +119,5 @@ sed -n -e '/^\#define/ { s/[^_]*__NR_\([^[:space:]]*\).*/\ | |||
119 | \#endif/p }' $1 | 119 | \#endif/p }' $1 |
120 | } | 120 | } |
121 | 121 | ||
122 | (ignore_list && syscall_list ${srctree}/include/asm-i386/unistd.h) | \ | 122 | (ignore_list && syscall_list ${srctree}/include/asm-x86/unistd_32.h) | \ |
123 | $* -E -x c - > /dev/null | 123 | $* -E -x c - > /dev/null |
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index 895ba3ac6208..36e3754db53a 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c | |||
@@ -484,6 +484,21 @@ static int do_parisc_entry(const char *filename, struct parisc_device_id *id, | |||
484 | return 1; | 484 | return 1; |
485 | } | 485 | } |
486 | 486 | ||
487 | /* Looks like: sdio:cNvNdN. */ | ||
488 | static int do_sdio_entry(const char *filename, | ||
489 | struct sdio_device_id *id, char *alias) | ||
490 | { | ||
491 | id->class = TO_NATIVE(id->class); | ||
492 | id->vendor = TO_NATIVE(id->vendor); | ||
493 | id->device = TO_NATIVE(id->device); | ||
494 | |||
495 | strcpy(alias, "sdio:"); | ||
496 | ADD(alias, "c", id->class != (__u8)SDIO_ANY_ID, id->class); | ||
497 | ADD(alias, "v", id->vendor != (__u16)SDIO_ANY_ID, id->vendor); | ||
498 | ADD(alias, "d", id->device != (__u16)SDIO_ANY_ID, id->device); | ||
499 | return 1; | ||
500 | } | ||
501 | |||
487 | /* Looks like: ssb:vNidNrevN. */ | 502 | /* Looks like: ssb:vNidNrevN. */ |
488 | static int do_ssb_entry(const char *filename, | 503 | static int do_ssb_entry(const char *filename, |
489 | struct ssb_device_id *id, char *alias) | 504 | struct ssb_device_id *id, char *alias) |
@@ -614,6 +629,10 @@ void handle_moddevtable(struct module *mod, struct elf_info *info, | |||
614 | do_table(symval, sym->st_size, | 629 | do_table(symval, sym->st_size, |
615 | sizeof(struct parisc_device_id), "parisc", | 630 | sizeof(struct parisc_device_id), "parisc", |
616 | do_parisc_entry, mod); | 631 | do_parisc_entry, mod); |
632 | else if (sym_is(symname, "__mod_sdio_device_table")) | ||
633 | do_table(symval, sym->st_size, | ||
634 | sizeof(struct sdio_device_id), "sdio", | ||
635 | do_sdio_entry, mod); | ||
617 | else if (sym_is(symname, "__mod_ssb_device_table")) | 636 | else if (sym_is(symname, "__mod_ssb_device_table")) |
618 | do_table(symval, sym->st_size, | 637 | do_table(symval, sym->st_size, |
619 | sizeof(struct ssb_device_id), "ssb", | 638 | sizeof(struct ssb_device_id), "ssb", |
diff --git a/scripts/namespace.pl b/scripts/namespace.pl index f34373853ef8..c6e88c652c2f 100755 --- a/scripts/namespace.pl +++ b/scripts/namespace.pl | |||
@@ -105,7 +105,7 @@ sub linux_objects | |||
105 | if (/.*\.o$/ && | 105 | if (/.*\.o$/ && |
106 | ! ( | 106 | ! ( |
107 | m:/built-in.o$: | 107 | m:/built-in.o$: |
108 | || m:arch/i386/kernel/vsyscall-syms.o$: | 108 | || m:arch/x86/kernel/vsyscall-syms.o$: |
109 | || m:arch/ia64/ia32/ia32.o$: | 109 | || m:arch/ia64/ia32/ia32.o$: |
110 | || m:arch/ia64/kernel/gate-syms.o$: | 110 | || m:arch/ia64/kernel/gate-syms.o$: |
111 | || m:arch/ia64/lib/__divdi3.o$: | 111 | || m:arch/ia64/lib/__divdi3.o$: |
@@ -328,9 +328,9 @@ sub list_multiply_defined | |||
328 | } | 328 | } |
329 | # Special case for i386 entry code | 329 | # Special case for i386 entry code |
330 | if ($#{$def{$name}} == 1 && $name =~ /^__kernel_/ && | 330 | if ($#{$def{$name}} == 1 && $name =~ /^__kernel_/ && |
331 | $def{$name}[0] eq "arch/i386/kernel/vsyscall-int80.o" && | 331 | $def{$name}[0] eq "arch/x86/kernel/vsyscall-int80_32.o" && |
332 | $def{$name}[1] eq "arch/i386/kernel/vsyscall-sysenter.o") { | 332 | $def{$name}[1] eq "arch/x86/kernel/vsyscall-sysenter_32.o") { |
333 | &drop_def("arch/i386/kernel/vsyscall-sysenter.o", $name); | 333 | &drop_def("arch/x86/kernel/vsyscall-sysenter_32.o", $name); |
334 | next; | 334 | next; |
335 | } | 335 | } |
336 | printf "$name is multiply defined in :-\n"; | 336 | printf "$name is multiply defined in :-\n"; |