aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorSam Ravnborg <sam@mars.ravnborg.org>2004-11-04 01:40:52 +0100
committerSam Ravnborg <sam@mars.ravnborg.org>2004-11-04 01:40:52 +0100
commit78c72fc2b44a399eae6535feb582176c0b47b8a3 (patch)
tree1992a7002913fdcd61b76006c90ffcfbc39483a2 /scripts
parent0a266a899690d37e8fe6f60b9d50e6075d7c29b8 (diff)
parent242ee42016330f04f01d2e41ce780728856a822d (diff)
downloadhistory-78c72fc2b44a399eae6535feb582176c0b47b8a3.tar.gz
Merge mars.ravnborg.org:/home/sam/bk/linux-2.6
into mars.ravnborg.org:/home/sam/bk/to-akpm
Diffstat (limited to 'scripts')
-rw-r--r--scripts/Makefile.build2
-rw-r--r--scripts/Makefile.clean2
-rw-r--r--scripts/basic/fixdep.c8
-rw-r--r--scripts/gen_initramfs_list.sh23
-rw-r--r--scripts/kallsyms.c12
-rw-r--r--scripts/kconfig/Makefile13
-rwxr-xr-xscripts/kernel-doc146
-rw-r--r--scripts/lxdialog/Makefile4
-rw-r--r--scripts/lxdialog/dialog.h3
-rw-r--r--scripts/mod/modpost.c2
10 files changed, 155 insertions, 60 deletions
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 9ed771f0284661..d2263a3594d2a1 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -10,7 +10,7 @@ __build:
# Read .config if it exist, otherwise ignore
-include .config
-include $(obj)/Makefile
+include $(if $(wildcard $(obj)/Kbuild), $(obj)/Kbuild, $(obj)/Makefile)
include scripts/Makefile.lib
diff --git a/scripts/Makefile.clean b/scripts/Makefile.clean
index b02ab1fb28e38d..ff3e87dbf38741 100644
--- a/scripts/Makefile.clean
+++ b/scripts/Makefile.clean
@@ -7,7 +7,7 @@ src := $(obj)
.PHONY: __clean
__clean:
-include $(obj)/Makefile
+include $(if $(wildcard $(obj)/Kbuild), $(obj)/Kbuild, $(obj)/Makefile)
# Figure out what we need to build from the various variables
# ==========================================================================
diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c
index 56e4a3d9a8a7c9..7f42c5d8a5a2f7 100644
--- a/scripts/basic/fixdep.c
+++ b/scripts/basic/fixdep.c
@@ -225,10 +225,10 @@ void parse_config_file(signed char *map, size_t len)
signed char *p, *q;
for (; m < end; m++) {
- if (*m == INT_CONF) { p = (char *) m ; goto conf; }
- if (*m == INT_ONFI) { p = (char *) m-1; goto conf; }
- if (*m == INT_NFIG) { p = (char *) m-2; goto conf; }
- if (*m == INT_FIG_) { p = (char *) m-3; goto conf; }
+ if (*m == INT_CONF) { p = (signed char *) m ; goto conf; }
+ if (*m == INT_ONFI) { p = (signed char *) m-1; goto conf; }
+ if (*m == INT_NFIG) { p = (signed char *) m-2; goto conf; }
+ if (*m == INT_FIG_) { p = (signed char *) m-3; goto conf; }
continue;
conf:
if (p > map + len - 7)
diff --git a/scripts/gen_initramfs_list.sh b/scripts/gen_initramfs_list.sh
index 1d415792ac7811..2a697c37135ed2 100644
--- a/scripts/gen_initramfs_list.sh
+++ b/scripts/gen_initramfs_list.sh
@@ -37,6 +37,18 @@ filetype() {
return 0
}
+print_mtime() {
+ local argv1="$1"
+ local my_mtime="0"
+
+ if [ -e "${argv1}" ]; then
+ my_mtime=$(find "${argv1}" -printf "%T@\n" | sort -r | head -n 1)
+ fi
+
+ echo "# Last modified: ${my_mtime}"
+ echo
+}
+
parse() {
local location="$1"
local name="${location/${srcdir}//}"
@@ -77,16 +89,19 @@ parse() {
return 0
}
-if [ -z $1 ]; then
+if [ -z "$1" ]; then
simple_initramfs
-elif [ -f $1 ]; then
- cat $1
-elif [ -d $1 ]; then
+elif [ -f "$1" ]; then
+ print_mtime "$1"
+ cat "$1"
+elif [ -d "$1" ]; then
srcdir=$(echo "$1" | sed -e 's://*:/:g')
dirlist=$(find "${srcdir}" -printf "%p %m %U %G\n" 2>/dev/null)
# If $dirlist is only one line, then the directory is empty
if [ "$(echo "${dirlist}" | wc -l)" -gt 1 ]; then
+ print_mtime "$1"
+
echo "${dirlist}" | \
while read x; do
parse ${x}
diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
index b66b5e47e80ceb..c07ccfad031982 100644
--- a/scripts/kallsyms.c
+++ b/scripts/kallsyms.c
@@ -132,7 +132,17 @@ read_symbol(FILE *in, struct sym_entry *s)
_sinittext = s->addr;
else if (strcmp(str, "_einittext") == 0)
_einittext = s->addr;
- else if (toupper(s->type) == 'A' || toupper(s->type) == 'U' ||
+ else if (toupper(s->type) == 'A')
+ {
+ /* Keep these useful absolute symbols */
+ if (strcmp(str, "__kernel_syscall_via_break") &&
+ strcmp(str, "__kernel_syscall_via_epc") &&
+ strcmp(str, "__kernel_sigtramp") &&
+ strcmp(str, "__gp"))
+ return -1;
+
+ }
+ else if (toupper(s->type) == 'U' ||
is_arm_mapping_symbol(str))
return -1;
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 6377641dd59926..b26d545124e4af 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -38,7 +38,12 @@ allmodconfig: $(obj)/conf
$< -m arch/$(ARCH)/Kconfig
defconfig: $(obj)/conf
+ifeq ($(KBUILD_DEFCONFIG),)
$< -d arch/$(ARCH)/Kconfig
+else
+ @echo *** Default configuration is based on '$(KBUILD_DEFCONFIG)'
+ $(Q)$< -D arch/$(ARCH)/configs/$(KBUILD_DEFCONFIG) arch/$(ARCH)/Kconfig
+endif
%_defconfig: $(obj)/conf
$(Q)$< -D arch/$(ARCH)/configs/$@ arch/$(ARCH)/Kconfig
@@ -65,11 +70,9 @@ help:
# Based on GTK which needs to be installed to compile it
# object files used by all kconfig flavours
-libkconfig-objs := zconf.tab.o
-
hostprogs-y := conf mconf qconf gconf
-conf-objs := conf.o libkconfig.so
-mconf-objs := mconf.o libkconfig.so
+conf-objs := conf.o zconf.tab.o
+mconf-objs := mconf.o zconf.tab.o
ifeq ($(MAKECMDGOALS),xconfig)
qconf-target := 1
@@ -88,7 +91,7 @@ ifeq ($(gconf-target),1)
gconf-objs := gconf.o kconfig_load.o
endif
-clean-files := libkconfig.so lkc_defs.h qconf.moc .tmp_qtcheck \
+clean-files := lkc_defs.h qconf.moc .tmp_qtcheck \
.tmp_gtkcheck zconf.tab.c zconf.tab.h lex.zconf.c
# generated files seem to need this to find local include files
diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index 767cb2365a8236..c814321b11fb95 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -105,10 +105,7 @@ use strict;
# enums and typedefs. Instead of the function name you must write the name
# of the declaration; the struct/union/enum/typedef must always precede
# the name. Nesting of declarations is not supported.
-# Use the argument mechanism to document members or constants. In
-# structs and unions you must declare one member per declaration
-# (comma-separated members are not allowed - the parser does not support
-# this).
+# Use the argument mechanism to document members or constants.
# e.g.
# /**
# * struct my_struct - short description
@@ -455,7 +452,10 @@ sub output_struct_html(%) {
print "<h2>".$args{'type'}." ".$args{'struct'}."</h2>\n";
print "<b>".$args{'type'}." ".$args{'struct'}."</b> {<br>\n";
foreach $parameter (@{$args{'parameterlist'}}) {
- ($args{'parameterdescs'}{$parameter} ne $undescribed) || next;
+ my $parameter_name = $parameter;
+ $parameter_name =~ s/\[.*//;
+
+ ($args{'parameterdescs'}{$parameter_name} ne $undescribed) || next;
$type = $args{'parametertypes'}{$parameter};
if ($type =~ m/([^\(]*\(\*)\s*\)\s*\(([^\)]*)\)/) {
# pointer-to-function
@@ -471,10 +471,13 @@ sub output_struct_html(%) {
print "<h3>Members</h3>\n";
print "<dl>\n";
foreach $parameter (@{$args{'parameterlist'}}) {
- ($args{'parameterdescs'}{$parameter} ne $undescribed) || next;
+ my $parameter_name = $parameter;
+ $parameter_name =~ s/\[.*//;
+
+ ($args{'parameterdescs'}{$parameter_name} ne $undescribed) || next;
print "<dt><b>".$parameter."</b>\n";
print "<dd>";
- output_highlight($args{'parameterdescs'}{$parameter});
+ output_highlight($args{'parameterdescs'}{$parameter_name});
}
print "</dl>\n";
output_section_html(@_);
@@ -510,10 +513,13 @@ sub output_function_html(%) {
print "<h3>Arguments</h3>\n";
print "<dl>\n";
foreach $parameter (@{$args{'parameterlist'}}) {
- ($args{'parameterdescs'}{$parameter} ne $undescribed) || next;
+ my $parameter_name = $parameter;
+ $parameter_name =~ s/\[.*//;
+
+ ($args{'parameterdescs'}{$parameter_name} ne $undescribed) || next;
print "<dt><b>".$parameter."</b>\n";
print "<dd>";
- output_highlight($args{'parameterdescs'}{$parameter});
+ output_highlight($args{'parameterdescs'}{$parameter_name});
}
print "</dl>\n";
output_section_html(@_);
@@ -605,10 +611,13 @@ sub output_function_sgml(%) {
if ($#{$args{'parameterlist'}} >= 0) {
print " <variablelist>\n";
foreach $parameter (@{$args{'parameterlist'}}) {
+ my $parameter_name = $parameter;
+ $parameter_name =~ s/\[.*//;
+
print " <varlistentry>\n <term><parameter>$parameter</parameter></term>\n";
print " <listitem>\n <para>\n";
$lineprefix=" ";
- output_highlight($args{'parameterdescs'}{$parameter});
+ output_highlight($args{'parameterdescs'}{$parameter_name});
print " </para>\n </listitem>\n </varlistentry>\n";
}
print " </variablelist>\n";
@@ -647,8 +656,11 @@ sub output_struct_sgml(%) {
print " <programlisting>\n";
print $args{'type'}." ".$args{'struct'}." {\n";
foreach $parameter (@{$args{'parameterlist'}}) {
- defined($args{'parameterdescs'}{$parameter}) || next;
- ($args{'parameterdescs'}{$parameter} ne $undescribed) || next;
+ my $parameter_name = $parameter;
+ $parameter_name =~ s/\[.*//;
+
+ defined($args{'parameterdescs'}{$parameter_name}) || next;
+ ($args{'parameterdescs'}{$parameter_name} ne $undescribed) || next;
$type = $args{'parametertypes'}{$parameter};
if ($type =~ m/([^\(]*\(\*)\s*\)\s*\(([^\)]*)\)/) {
# pointer-to-function
@@ -668,12 +680,15 @@ sub output_struct_sgml(%) {
print " <variablelist>\n";
foreach $parameter (@{$args{'parameterlist'}}) {
- defined($args{'parameterdescs'}{$parameter}) || next;
- ($args{'parameterdescs'}{$parameter} ne $undescribed) || next;
+ my $parameter_name = $parameter;
+ $parameter_name =~ s/\[.*//;
+
+ defined($args{'parameterdescs'}{$parameter_name}) || next;
+ ($args{'parameterdescs'}{$parameter_name} ne $undescribed) || next;
print " <varlistentry>";
print " <term>$parameter</term>\n";
print " <listitem><para>\n";
- output_highlight($args{'parameterdescs'}{$parameter});
+ output_highlight($args{'parameterdescs'}{$parameter_name});
print " </para></listitem>\n";
print " </varlistentry>\n";
}
@@ -728,10 +743,13 @@ sub output_enum_sgml(%) {
print " <title>Constants</title>\n";
print " <variablelist>\n";
foreach $parameter (@{$args{'parameterlist'}}) {
+ my $parameter_name = $parameter;
+ $parameter_name =~ s/\[.*//;
+
print " <varlistentry>";
print " <term>$parameter</term>\n";
print " <listitem><para>\n";
- output_highlight($args{'parameterdescs'}{$parameter});
+ output_highlight($args{'parameterdescs'}{$parameter_name});
print " </para></listitem>\n";
print " </varlistentry>\n";
}
@@ -842,10 +860,13 @@ sub output_function_gnome {
print "<colspec colwidth=\"8*\">\n";
print "<tbody>\n";
foreach $parameter (@{$args{'parameterlist'}}) {
+ my $parameter_name = $parameter;
+ $parameter_name =~ s/\[.*//;
+
print " <row><entry align=\"right\"><parameter>$parameter</parameter></entry>\n";
print " <entry>\n";
$lineprefix=" ";
- output_highlight($args{'parameterdescs'}{$parameter});
+ output_highlight($args{'parameterdescs'}{$parameter_name});
print " </entry></row>\n";
}
print " </tbody></tgroup></informaltable>\n";
@@ -909,8 +930,11 @@ sub output_function_man(%) {
print ".SH ARGUMENTS\n";
foreach $parameter (@{$args{'parameterlist'}}) {
+ my $parameter_name = $parameter;
+ $parameter_name =~ s/\[.*//;
+
print ".IP \"".$parameter."\" 12\n";
- output_highlight($args{'parameterdescs'}{$parameter});
+ output_highlight($args{'parameterdescs'}{$parameter_name});
}
foreach $section (@{$args{'sectionlist'}}) {
print ".SH \"", uc $section, "\"\n";
@@ -947,8 +971,11 @@ sub output_enum_man(%) {
print ".SH Constants\n";
foreach $parameter (@{$args{'parameterlist'}}) {
+ my $parameter_name = $parameter;
+ $parameter_name =~ s/\[.*//;
+
print ".IP \"".$parameter."\" 12\n";
- output_highlight($args{'parameterdescs'}{$parameter});
+ output_highlight($args{'parameterdescs'}{$parameter_name});
}
foreach $section (@{$args{'sectionlist'}}) {
print ".SH \"$section\"\n";
@@ -971,7 +998,10 @@ sub output_struct_man(%) {
print $args{'type'}." ".$args{'struct'}." {\n";
foreach my $parameter (@{$args{'parameterlist'}}) {
- ($args{'parameterdescs'}{$parameter} ne $undescribed) || next;
+ my $parameter_name = $parameter;
+ $parameter_name =~ s/\[.*//;
+
+ ($args{'parameterdescs'}{$parameter_name} ne $undescribed) || next;
print "\n.br\n";
$type = $args{'parametertypes'}{$parameter};
if ($type =~ m/([^\(]*\(\*)\s*\)\s*\(([^\)]*)\)/) {
@@ -989,9 +1019,12 @@ sub output_struct_man(%) {
print ".SH Arguments\n";
foreach $parameter (@{$args{'parameterlist'}}) {
- ($args{'parameterdescs'}{$parameter} ne $undescribed) || next;
+ my $parameter_name = $parameter;
+ $parameter_name =~ s/\[.*//;
+
+ ($args{'parameterdescs'}{$parameter_name} ne $undescribed) || next;
print ".IP \"".$parameter."\" 12\n";
- output_highlight($args{'parameterdescs'}{$parameter});
+ output_highlight($args{'parameterdescs'}{$parameter_name});
}
foreach $section (@{$args{'sectionlist'}}) {
print ".SH \"$section\"\n";
@@ -1058,7 +1091,10 @@ sub output_function_text(%) {
print "Arguments:\n\n";
foreach $parameter (@{$args{'parameterlist'}}) {
- print $parameter."\n\t".$args{'parameterdescs'}{$parameter}."\n";
+ my $parameter_name = $parameter;
+ $parameter_name =~ s/\[.*//;
+
+ print $parameter."\n\t".$args{'parameterdescs'}{$parameter_name}."\n";
}
output_section_text(@_);
}
@@ -1123,7 +1159,10 @@ sub output_struct_text(%) {
print $args{'type'}." ".$args{'struct'}.":\n\n";
print $args{'type'}." ".$args{'struct'}." {\n";
foreach $parameter (@{$args{'parameterlist'}}) {
- ($args{'parameterdescs'}{$parameter} ne $undescribed) || next;
+ my $parameter_name = $parameter;
+ $parameter_name =~ s/\[.*//;
+
+ ($args{'parameterdescs'}{$parameter_name} ne $undescribed) || next;
$type = $args{'parametertypes'}{$parameter};
if ($type =~ m/([^\(]*\(\*)\s*\)\s*\(([^\)]*)\)/) {
# pointer-to-function
@@ -1138,9 +1177,12 @@ sub output_struct_text(%) {
print "Members:\n\n";
foreach $parameter (@{$args{'parameterlist'}}) {
- ($args{'parameterdescs'}{$parameter} ne $undescribed) || next;
+ my $parameter_name = $parameter;
+ $parameter_name =~ s/\[.*//;
+
+ ($args{'parameterdescs'}{$parameter_name} ne $undescribed) || next;
print "$parameter\n\t";
- print $args{'parameterdescs'}{$parameter}."\n";
+ print $args{'parameterdescs'}{$parameter_name}."\n";
}
print "\n";
output_section_text(@_);
@@ -1318,26 +1360,45 @@ sub create_parameterlist($$$) {
$param = $1;
$type = $arg;
$type =~ s/([^\(]+\(\*)$param/$1/;
+ push_parameter($param, $type, $file);
} else {
- # evil magic to get fixed array parameters to work
- $arg =~ s/(.+\s+)(.+)\[.*/$1* $2/;
- my @args = split('\s', $arg);
-
- $param = pop @args;
- if ($param =~ m/^(\*+)(.*)/) {
- $param = $2;
- push @args, $1;
- }
- elsif ($param =~ m/(.*?)\s*:\s*(\d+)/) {
- $param = $1;
- push @args, ":$2";
+ $arg =~ s/\s*:\s*/:/g;
+ $arg =~ s/\s*\[/\[/g;
+
+ my @args = split('\s*,\s*', $arg);
+ if ($args[0] =~ m/\*/) {
+ $args[0] =~ s/(\*+)\s*/ $1/;
+ }
+ my @first_arg = split('\s+', shift @args);
+ unshift(@args, pop @first_arg);
+ $type = join " ", @first_arg;
+
+ foreach $param (@args) {
+ if ($param =~ m/^(\*+)\s*(.*)/) {
+ push_parameter($2, "$type $1", $file);
+ }
+ elsif ($param =~ m/(.*?):(\d+)/) {
+ push_parameter($1, "$type:$2", $file)
+ }
+ else {
+ push_parameter($param, $type, $file);
+ }
}
- $type = join " ", @args;
}
+ }
+}
+
+sub push_parameter($$$) {
+ my $param = shift;
+ my $type = shift;
+ my $file = shift;
+
+ my $param_name = $param;
+ $param_name =~ s/\[.*//;
if ($type eq "" && $param eq "...")
{
- $type="...";
+ $type="";
$param="...";
$parameterdescs{"..."} = "variable arguments";
}
@@ -1347,8 +1408,8 @@ sub create_parameterlist($$$) {
$param="void";
$parameterdescs{void} = "no arguments";
}
- if (defined $type && $type && !defined $parameterdescs{$param}) {
- $parameterdescs{$param} = $undescribed;
+ if (defined $type && $type && !defined $parameterdescs{$param_name}) {
+ $parameterdescs{$param_name} = $undescribed;
if (($type eq 'function') || ($type eq 'enum')) {
print STDERR "Warning(${file}:$.): Function parameter ".
@@ -1362,7 +1423,6 @@ sub create_parameterlist($$$) {
push @parameterlist, $param;
$parametertypes{$param} = $type;
- }
}
##
diff --git a/scripts/lxdialog/Makefile b/scripts/lxdialog/Makefile
index cdc4024a8830ee..a45a13fb26ed7a 100644
--- a/scripts/lxdialog/Makefile
+++ b/scripts/lxdialog/Makefile
@@ -1,5 +1,9 @@
HOST_EXTRACFLAGS := -DLOCALE
+ifeq ($(shell uname),SunOS)
+HOST_LOADLIBES := -lcurses
+else
HOST_LOADLIBES := -lncurses
+endif
ifeq (/usr/include/ncurses/ncurses.h, $(wildcard /usr/include/ncurses/ncurses.h))
HOST_EXTRACFLAGS += -I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"
diff --git a/scripts/lxdialog/dialog.h b/scripts/lxdialog/dialog.h
index 0e30d00d0b25ca..c571548daa8200 100644
--- a/scripts/lxdialog/dialog.h
+++ b/scripts/lxdialog/dialog.h
@@ -26,6 +26,9 @@
#include <stdlib.h>
#include <string.h>
+#ifdef __sun__
+#define CURS_MACROS
+#endif
#include CURSES_LOC
/*
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 74cb1c0c8e75b4..347549c35d6c24 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -219,7 +219,7 @@ get_next_line(unsigned long *pos, void *file, unsigned long size)
static char line[4096];
int skip = 1;
size_t len = 0;
- signed char *p = (char *)file + *pos;
+ signed char *p = (signed char *)file + *pos;
char *s = line;
for (; *pos < size ; (*pos)++)