bk://linux-sam.bkbits.net/kbuild sam@mars.ravnborg.org|ChangeSet|20041103224052|49455 sam # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/11/04 13:28:30-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-kbuild # # arch/i386/kernel/traps.c # 2004/11/04 13:28:27-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/03 23:40:52+01:00 sam@mars.ravnborg.org # Merge mars.ravnborg.org:/home/sam/bk/linux-2.6 # into mars.ravnborg.org:/home/sam/bk/to-akpm # # scripts/Makefile.build # 2004/11/03 23:40:43+01:00 sam@mars.ravnborg.org +0 -0 # Auto merged # # ChangeSet # 2004/11/03 21:52:01+01:00 azarah@nosferatu.za.org # kbuild: check timestamps on files for initramfs # # Add a comment to gen_initramfs_list.sh output that contains the # numeric mtime of the last modified file in the source directory, # or the mtime of the source list. This should cause the initramfs # image to be rebuild if a file in the source directory changed, or # the source list (if that was used rather than a directory as source). # # # Signed-off-by: Martin Schlemmer # Signed-off-by: Sam Ravnborg # # scripts/gen_initramfs_list.sh # 2004/11/03 21:51:27+01:00 azarah@nosferatu.za.org +19 -4 # kbuild: check timestamps on files for initramfs # # Add a comment to gen_initramfs_list.sh output that contains the # numeric mtime of the last modified file in the source directory, # or the mtime of the source list. This should cause the initramfs # image to be rebuild if a file in the source directory changed, or # the source list (if that was used rather than a directory as source). # # # Signed-off-by: Martin Schlemmer # Signed-off-by: Sam Ravnborg # # ChangeSet # 2004/11/03 21:51:06+01:00 adobriyan@mail.ru # kernel-doc: don't print ... twice in variadic functions # # Signed-off-by: Alexey Dobriyan # Signed-off-by: Sam Ravnborg # # scripts/kernel-doc # 2004/11/03 21:50:28+01:00 adobriyan@mail.ru +1 -1 # kernel-doc: don't print ... twice in variadic functions # # Signed-off-by: Alexey Dobriyan # Signed-off-by: Sam Ravnborg # # ChangeSet # 2004/11/03 21:50:05+01:00 adobriyan@mail.ru # kernel-doc: print arrays in declarations correctly # # Do not convert arrays into pointers while generating documentation for them. # # I.e, print # # struct sk_buff { # char cb[40]; # }; # # as "char cb[40]", not "char * cb". # # Signed-off-by: Alexey Dobriyan # Signed-off-by: Sam Ravnborg # # scripts/kernel-doc # 2004/11/03 21:49:44+01:00 adobriyan@mail.ru +73 -27 # kernel-doc: print arrays in declarations correctly # # Do not convert arrays into pointers while generating documentation for them. # # I.e, print # # struct sk_buff { # char cb[40]; # }; # # as "char cb[40]", not "char * cb". # # Signed-off-by: Alexey Dobriyan # Signed-off-by: Sam Ravnborg # # ChangeSet # 2004/11/03 21:49:24+01:00 adobriyan@mail.ru # kernel-doc: support for comma-separated members in structs and unions # # Fix the following warnings # # $ make sgmldocs # ... # Warning(include/linux/skbuff.h:283): No description found for parameter 'len,data_len,mac_len,csum' # Warning(include/linux/skbuff.h:283): No description found for parameter 'local_df,cloned,pkt_type,ip_summed' # Warning(include/linux/skbuff.h:283): No description found for parameter 'protocol,security' # ... # Warning(include/linux/skbuff.h:283): No description found for # parameter 'head,*data,*tail,*end' # ... # # by adding support for comma-separated members in structs and unions. # # Signed-off-by: Alexey Dobriyan # Signed-off-by: Sam Ravnborg # # scripts/kernel-doc # 2004/11/03 21:49:05+01:00 adobriyan@mail.ru +30 -16 # kernel-doc: support for comma-separated members in structs and unions # # Fix the following warnings # # $ make sgmldocs # ... # Warning(include/linux/skbuff.h:283): No description found for parameter 'len,data_len,mac_len,csum' # Warning(include/linux/skbuff.h:283): No description found for parameter 'local_df,cloned,pkt_type,ip_summed' # Warning(include/linux/skbuff.h:283): No description found for parameter 'protocol,security' # ... # Warning(include/linux/skbuff.h:283): No description found for # parameter 'head,*data,*tail,*end' # ... # # by adding support for comma-separated members in structs and unions. # # Signed-off-by: Alexey Dobriyan # Signed-off-by: Sam Ravnborg # # ChangeSet # 2004/11/03 21:48:44+01:00 sam@mars.ravnborg.org # ppc: fix building arch/ppc/boot/lib/ with make O= # # arch/ppc/boot/lib/ reuses zlib_inflate from lib/zlib_inflate but kbuild # does not support two different places utilising the same .o file. It results # in recompile for each build because options to compiler changes etc. # So the trick used here is to make a copy of the required .c files. # # Acked-by: Tom Rini # Signed-off-by: Sam Ravnborg # # arch/ppc/boot/lib/Makefile # 2004/11/03 21:48:25+01:00 sam@mars.ravnborg.org +17 -4 # ppc: fix building arch/ppc/boot/lib/ with make O= # # arch/ppc/boot/lib/ reuses zlib_inflate from lib/zlib_inflate but kbuild # does not support two different places utilising the same .o file. It results # in recompile for each build because options to compiler changes etc. # So the trick used here is to make a copy of the required .c files. # # Acked-by: Tom Rini # Signed-off-by: Sam Ravnborg # # ChangeSet # 2004/11/03 21:47:44+01:00 sam@mars.ravnborg.org # kconfig: drop usage of shared libraries # # Drop usage of shared libraries. # It breaks on several non-i386 build environemnts - especially the ones popular for embedded development. # This is a minimal version. # Based on idea from Bertrand Marquis and patch from Dan Kegel. # # Signed-off-by: Sam Ravnborg # # scripts/kconfig/Makefile # 2004/11/03 21:47:25+01:00 sam@mars.ravnborg.org +3 -5 # kconfig: drop usage of shared libraries # # Drop usage of shared libraries. # It breaks on several non-i386 build environemnts - especially the ones popular for embedded development. # This is a minimal version. # Based on idea from Bertrand Marquis and patch from Dan Kegel. # # Signed-off-by: Sam Ravnborg # # ChangeSet # 2004/11/03 21:40:43+01:00 sam@mars.ravnborg.org # kbuild: Prefer Kbuild as name of the kbuild files # # The kbuild syntax is unique and does only have very few things in common with # usual Makefile syntax. So to avoid confusion make the filename 'Kbuild' be # the preferred name as replacement for 'Makefile'. # No global renaming planned to take place for now, but new stuff expected to use # the new 'Kbuild' filename. # # Signed-off-by: Sam Ravnborg # # scripts/Makefile.clean # 2004/11/03 21:40:00+01:00 sam@mars.ravnborg.org +1 -1 # kbuild: Prefer Kbuild as name of the kbuild files # # The kbuild syntax is unique and does only have very few things in common with # usual Makefile syntax. So to avoid confusion make the filename 'Kbuild' be # the preferred name as replacement for 'Makefile'. # No global renaming planned to take place for now, but new stuff expected to use # the new 'Kbuild' filename. # # Signed-off-by: Sam Ravnborg # # scripts/Makefile.build # 2004/11/03 21:40:00+01:00 sam@mars.ravnborg.org +1 -1 # kbuild: Prefer Kbuild as name of the kbuild files # # The kbuild syntax is unique and does only have very few things in common with # usual Makefile syntax. So to avoid confusion make the filename 'Kbuild' be # the preferred name as replacement for 'Makefile'. # No global renaming planned to take place for now, but new stuff expected to use # the new 'Kbuild' filename. # # Signed-off-by: Sam Ravnborg # # Documentation/kbuild/makefiles.txt # 2004/11/03 21:40:00+01:00 sam@mars.ravnborg.org +5 -2 # kbuild: Prefer Kbuild as name of the kbuild files # # The kbuild syntax is unique and does only have very few things in common with # usual Makefile syntax. So to avoid confusion make the filename 'Kbuild' be # the preferred name as replacement for 'Makefile'. # No global renaming planned to take place for now, but new stuff expected to use # the new 'Kbuild' filename. # # Signed-off-by: Sam Ravnborg # # ChangeSet # 2004/10/31 02:49:03+02:00 james4765@verizon.net # Re: More patches to arch/sparc/Kconfig [2 of 5] # # Fixes typo in help in openpromfs. # # From: Jim Nelson # Acked-by: William Lee Irwin III # Signed-off-by: Sam Ravnborg # # arch/sparc/Kconfig # 2004/10/19 00:38:05+02:00 james4765@verizon.net +4 -1 # Re: More patches to arch/sparc/Kconfig [2 of 5] # # ChangeSet # 2004/10/31 02:46:14+02:00 james4765@verizon.net # More patches to arch/sparc/Kconfig [4 of 5] # # Makes sun4 default to "N" - most SPARC32 systems did not use these. # # From: Jim Nelson # Acked-by: William Lee Irwin III # Signed-off-by: Sam Ravnborg # # arch/sparc/Kconfig # 2004/10/16 16:09:58+02:00 james4765@verizon.net +1 -0 # More patches to arch/sparc/Kconfig [4 of 5] # # ChangeSet # 2004/10/31 02:45:50+02:00 james4765@verizon.net # More patches to arch/sparc/Kconfig [5 of 5] # # Fixes x86-specific bootloader help in printer config. # # From: Jim Nelson # Acked-by: William Lee Irwin III # Signed-off-by: Sam Ravnborg # # arch/sparc/Kconfig # 2004/10/16 16:15:30+02:00 james4765@verizon.net +3 -3 # More patches to arch/sparc/Kconfig [5 of 5] # # ChangeSet # 2004/10/31 02:45:26+02:00 james4765@verizon.net # More patches to arch/sparc/Kconfig [3 of 5] # # Fixes x86-specific bootloader help in serial console. # # From: Jim Nelson # Acked-by: William Lee Irwin III # Signed-off-by: Sam Ravnborg # # arch/sparc/Kconfig # 2004/10/16 16:18:36+02:00 james4765@verizon.net +3 -3 # More patches to arch/sparc/Kconfig [3 of 5] # # ChangeSet # 2004/10/31 02:45:02+02:00 james4765@verizon.net # Patch to arch/sparc/Kconfig [1 of 5] # # Fixes x86-specific help in SPARC32 SMP support help. # # From: Jim Nelson # Acked-by: William Lee Irwin III # Signed-off-by: Sam Ravnborg # # arch/sparc/Kconfig # 2004/10/16 16:02:11+02:00 james4765@verizon.net +2 -8 # Patch to arch/sparc/Kconfig [1 of 5] # # ChangeSet # 2004/10/31 02:23:45+02:00 sam@mars.ravnborg.org # Do not recompile if localversion changes # # Changing localversion causes a few files to be recompiled, namely those who # include . Replace with in a few places. # Long term solution is to split up in two files. # # Signed-off-by: Sam Ravnborg # # sound/core/info.c # 2004/10/31 02:23:26+02:00 sam@mars.ravnborg.org +2 -2 # Do not use UTS_RELEASE direct - use system_utsname.release # # arch/i386/kernel/traps.c # 2004/10/31 02:23:26+02:00 sam@mars.ravnborg.org +2 -2 # Do not use UTS_RELEASE direct - use system_utsname.release # # arch/i386/kernel/process.c # 2004/10/31 02:23:26+02:00 sam@mars.ravnborg.org +3 -2 # Do not use UTS_RELEASE direct - use system_utsname.release # # ChangeSet # 2004/10/31 02:05:58+02:00 sam@mars.ravnborg.org # kbuild: allow architectures to specify defconfig file with KBUILD_DEFCONFIG # # For some architectures is does not make sense to maintain a single default # configuration - arm is a good example here. # KBUILD_DEFCONFIG is introduced allowing relevant architectures to point out # a configuration kept in arch/$(ARCH)/configs as the configuration # to be used when executing 'make defconfig'. # This patch selects versatile_defconfig as the default configuration for arm. # # The reason to keep defconfig is that is has proved valuable in many testing # scenarios when one are doing a cross architecture build of the kernel to # do a simple compile-time check of some changes. # # Signed-off-by: Sam Ravnborg # # scripts/kconfig/Makefile # 2004/10/31 02:05:38+02:00 sam@mars.ravnborg.org +5 -0 # Introduce support for KBUILD_DEFCONFIG # # arch/arm/Makefile # 2004/10/31 02:05:38+02:00 sam@mars.ravnborg.org +4 -0 # Use versatile_defconfig as default configuration for arm. # # Makefile # 2004/10/31 02:05:38+02:00 sam@mars.ravnborg.org +6 -0 # Introduce KBUILD_DEFCONFIG # # BitKeeper/deleted/.del-defconfig~a0790bbb7ef0057d # 2004/10/31 02:00:22+02:00 sam@mars.ravnborg.org +0 -0 # Delete: arch/arm/defconfig # # ChangeSet # 2004/10/31 01:38:28+02:00 trini@kernel.crashing.org # kbuild: additional warning fixes on Solaris 9 # # A coworker of mine give them a look-over and spotted a few # places where I missed changing some casts. # # Signed-off-by: Tom Rini # Signed-off-by: Sam Ravnborg # # scripts/mod/modpost.c # 2004/10/30 02:00:00+02:00 trini@kernel.crashing.org +1 -1 # kbuild: additional warning fixes on Solaris 9 # # scripts/basic/fixdep.c # 2004/10/30 02:00:00+02:00 trini@kernel.crashing.org +4 -4 # kbuild: additional warning fixes on Solaris 9 # # ChangeSet # 2004/10/31 01:28:31+02:00 sam@mars.ravnborg.org # m32r: misc kbuild cleanups # # o Remove unused LDFLAGS_BLOB assignement (from Brian Gerst) # o Use implicit rule for vmlinux.lds (from Al viro) # # Signed-off-by: Sam Ravnborg # # arch/m32r/boot/compressed/Makefile # 2004/10/31 01:28:12+02:00 sam@mars.ravnborg.org +0 -3 # Use implicit rules to generate vmlinux.lds # # arch/m32r/Makefile # 2004/10/31 01:28:12+02:00 sam@mars.ravnborg.org +0 -1 # Delete unused LDFLAGS_BLOB assignment # # # ChangeSet # 2004/10/31 01:14:43+02:00 kaos@sgi.com # kbuild: Include useful absolute symbols in kallsyms # # Some absolute symbols are useful, they can even appear in back traces. # Tweak kallsyms to retain the useful absolute symbols. # # This list is from ia64, add absolute symbols from other architectures # as required. # # Signed-off-by: Keith Owens # Signed-off-by: Sam Ravnborg # # scripts/kallsyms.c # 2004/10/31 01:12:45+02:00 kaos@sgi.com +11 -1 # kbuild: Include useful absolute symbols in kallsyms # # ChangeSet # 2004/10/31 00:18:21+02:00 bunk@stusta.de # kbuild: Documentation/kbuild/makefiles.txt: check_gcc -> cc-option # # It's not good to show the obsolete check_gcc in an example. # # Signed-off-by: Adrian Bunk # Signed-off-by: Sam Ravnborg # # Documentation/kbuild/makefiles.txt # 2004/10/27 20:03:24+02:00 bunk@stusta.de +9 -7 # kbuild: Documentation/kbuild/makefiles.txt: check_gcc -> cc-option # # ChangeSet # 2004/10/31 00:16:03+02:00 trini@kernel.crashing.org # kconfig: Fix menuconfig on Solaris # # The following two bits are needed to get it working (not as colorful as on # Linux, but it functions) for me. First, unless CURS_MACROS is defined, # scroll(x) doesn't get expanded to wscrl(x, 1). I did some quick # grepping on Cygwin and Linux (debian/unstable) and didn't see # CURS_MACROS show up anywhere else, but to be safe I put it inside of # __sun__. Next this uses libcurses instead of libncurses otherwise we # get a bunch of undefined refs to w32attrset, w32addch, acs32map and few # more. # # Signed-off-by: Tom Rini # Signed-off-by: Sam Ravnborg # # scripts/lxdialog/dialog.h # 2004/10/30 02:00:00+02:00 trini@kernel.crashing.org +3 -0 # kconfig: Fix menuconfig on Solaris # # scripts/lxdialog/Makefile # 2004/10/30 02:00:00+02:00 trini@kernel.crashing.org +4 -0 # kconfig: Fix menuconfig on Solaris # # ChangeSet # 2004/10/31 00:12:39+02:00 dwm@austin.ibm.com # ppc64: install outside of source tree # # Rationale: # When building outside source tree, install.sh is looked for in the # obj side. # # Status: tested on ppc64 builds # # Signed-off-by: Doug Maxey # Signed-off-by: Sam Ravnborg # # arch/ppc64/boot/Makefile # 2004/10/11 21:15:58+02:00 dwm@austin.ibm.com +1 -1 # ppc64: install outside of source tree # diff -Nru a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt --- a/Documentation/kbuild/makefiles.txt 2004-11-04 20:19:48 -08:00 +++ b/Documentation/kbuild/makefiles.txt 2004-11-04 20:19:48 -08:00 @@ -6,7 +6,7 @@ === 1 Overview === 2 Who does what - === 3 The kbuild Makefiles + === 3 The kbuild files --- 3.1 Goal definitions --- 3.2 Built-in object goals - obj-y --- 3.3 Loadable module goals - obj-m @@ -101,11 +101,14 @@ This document is aimed towards normal developers and arch developers. -=== 3 The kbuild Makefiles +=== 3 The kbuild files Most Makefiles within the kernel are kbuild Makefiles that use the kbuild infrastructure. This chapter introduce the syntax used in the kbuild makefiles. +The preferred name for the kbuild files is 'Kbuild' but 'Makefile' will +continue to be supported. All new developmen is expected to use the +Kbuild filename. Section 3.1 "Goal definitions" is a quick intro, further chapters provide more details, with real examples. @@ -707,15 +710,17 @@ probe supported options: #arch/i386/Makefile - check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc \ - /dev/null\ > /dev/null 2>&1; then echo "$(1)"; \ - else echo "$(2)"; fi) - cflags-$(CONFIG_MCYRIXIII) += $(call check_gcc,\ - -march=c3,-march=i486) - CFLAGS += $(cflags-y) + ... + cflags-$(CONFIG_MPENTIUMII) += $(call cc-option,\ + -march=pentium2,-march=i686) + ... + # Disable unit-at-a-time mode ... + CFLAGS += $(call cc-option,-fno-unit-at-a-time) + ... + - The above examples both utilise the trick that a config option expands + The first examples utilises the trick that a config option expands to 'y' when selected. CFLAGS_KERNEL $(CC) options specific for built-in diff -Nru a/Makefile b/Makefile --- a/Makefile 2004-11-04 20:19:48 -08:00 +++ b/Makefile 2004-11-04 20:19:48 -08:00 @@ -440,6 +440,12 @@ # *config targets only - make sure prerequisites are updated, and descend # in scripts/kconfig to make the *config target +# Read arch specific Makefile to set KBUILD_DEFCONFIG as needed. +# KBUILD_DEFCONFIG may point out an alternative default configuration +# used for 'make defconfig' +include $(srctree)/arch/$(ARCH)/Makefile +export KBUILD_DEFCONFIG + config: scripts_basic outputmakefile FORCE $(Q)$(MAKE) $(build)=scripts/kconfig $@ %config: scripts_basic outputmakefile FORCE diff -Nru a/arch/arm/Makefile b/arch/arm/Makefile --- a/arch/arm/Makefile 2004-11-04 20:19:48 -08:00 +++ b/arch/arm/Makefile 2004-11-04 20:19:48 -08:00 @@ -13,6 +13,10 @@ GZFLAGS :=-9 #CFLAGS +=-pipe +# Do not use arch/arm/defconfig - it's always outdated. +# Select a platform tht is kept up-to-date +KBUILD_DEFCONFIG := versatile_defconfig + ifeq ($(CONFIG_FRAME_POINTER),y) CFLAGS +=-fno-omit-frame-pointer -mapcs -mno-sched-prolog endif diff -Nru a/arch/arm/defconfig b/arch/arm/defconfig --- a/arch/arm/defconfig 2004-11-04 20:19:48 -08:00 +++ /dev/null Wed Dec 31 16:00:00 196900 @@ -1,510 +0,0 @@ -# -# Automatically generated make config: don't edit -# -CONFIG_ARM=y -# CONFIG_EISA is not set -# CONFIG_SBUS is not set -# CONFIG_MCA is not set -CONFIG_UID16=y - -# -# Code maturity level options -# -CONFIG_EXPERIMENTAL=y -# CONFIG_OBSOLETE is not set - -# -# Loadable module support -# -# CONFIG_MODULES is not set - -# -# System Type -# -# CONFIG_ARCH_ARCA5K is not set -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_FOOTBRIDGE is not set -CONFIG_ARCH_INTEGRATOR=y -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_CLPS711X is not set - -# -# Archimedes/A5000 Implementations -# - -# -# Footbridge Implementations -# - -# -# SA11x0 Implementations -# - -# -# CLPS711X/EP721X Implementations -# -# CONFIG_ARCH_ACORN is not set -# CONFIG_FOOTBRIDGE is not set -# CONFIG_FOOTBRIDGE_HOST is not set -# CONFIG_FOOTBRIDGE_ADDIN is not set -CONFIG_CPU_32=y -# CONFIG_CPU_26 is not set - -# -# Processor Type -# -CONFIG_CPU_32v4=y -CONFIG_CPU_ARM720=y -CONFIG_CPU_ARM920=y -CONFIG_CPU_ARM920_CPU_IDLE=y -CONFIG_CPU_ARM920_I_CACHE_ON=y -CONFIG_CPU_ARM920_D_CACHE_ON=y -# CONFIG_CPU_ARM920_WRITETHROUGH is not set -# CONFIG_DISCONTIGMEM is not set - -# -# General setup -# -# CONFIG_ANGELBOOT is not set -CONFIG_PCI_INTEGRATOR=y -CONFIG_PCI=y -# CONFIG_ISA is not set -# CONFIG_ISA_DMA is not set -CONFIG_PCI_NAMES=y -# CONFIG_HOTPLUG is not set -# CONFIG_PCMCIA is not set -CONFIG_NET=y -CONFIG_SYSVIPC=y -# CONFIG_BSD_PROCESS_ACCT is not set -CONFIG_SYSCTL=y -CONFIG_NWFPE=y -CONFIG_KCORE_ELF=y -# CONFIG_KCORE_AOUT is not set -CONFIG_BINFMT_AOUT=y -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_MISC is not set -# CONFIG_PM is not set -# CONFIG_ARTHUR is not set -CONFIG_CMDLINE="root=1f04 mem=32M" -CONFIG_LEDS=y -CONFIG_LEDS_TIMER=y -CONFIG_LEDS_CPU=y -CONFIG_ALIGNMENT_TRAP=y - -# -# Parallel port support -# -# CONFIG_PARPORT is not set - -# -# Memory Technology Devices (MTD) -# -CONFIG_MTD=y -# CONFIG_MTD_DOC1000 is not set -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOCPROBE is not set -# CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_PMC551 is not set -# CONFIG_MTD_MTDRAM is not set - -# -# MTD drivers for mapped chips -# -CONFIG_MTD_CFI=y -CONFIG_MTD_CFI_INTELEXT=y -# CONFIG_MTD_CFI_AMDSTD is not set -# CONFIG_MTD_JEDEC is not set -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_PHYSMAP is not set - -# -# Drivers for chip mappings -# -# CONFIG_MTD_MIXMEM is not set -# CONFIG_MTD_NORA is not set -# CONFIG_MTD_OCTAGON is not set -# CONFIG_MTD_PNC2000 is not set -# CONFIG_MTD_RPXLITE is not set -# CONFIG_MTD_VMAX is not set - -# -# User modules and translation layers for MTD devices -# -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLOCK=y -# CONFIG_FTL is not set -# CONFIG_NFTL is not set -CONFIG_MTD_ARM=y - -# -# Plug and Play configuration -# -# CONFIG_PNP is not set -# CONFIG_ISAPNP is not set - -# -# Block devices -# -# CONFIG_BLK_DEV_FD is not set -# CONFIG_BLK_DEV_XD is not set -# CONFIG_PARIDE is not set -# CONFIG_BLK_CPQ_DA is not set -# CONFIG_BLK_CPQ_CISS_DA is not set -# CONFIG_BLK_DEV_DAC960 is not set -# CONFIG_BLK_DEV_LOOP is not set -# CONFIG_BLK_DEV_NBD is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_SIZE=4096 -# CONFIG_BLK_DEV_INITRD is not set - -# -# Networking options -# -# CONFIG_PACKET is not set -# CONFIG_NETLINK is not set -# CONFIG_NETFILTER is not set -# CONFIG_FILTER is not set -CONFIG_UNIX=y -CONFIG_INET=y -# CONFIG_IP_MULTICAST is not set -# CONFIG_IP_ADVANCED_ROUTER is not set -CONFIG_IP_PNP=y -CONFIG_IP_PNP_BOOTP=y -# CONFIG_IP_PNP_RARP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE is not set -# CONFIG_INET_ECN is not set -# CONFIG_SYN_COOKIES is not set -# CONFIG_IPV6 is not set -# CONFIG_KHTTPD is not set -# CONFIG_ATM is not set - -# -# -# -# CONFIG_IPX is not set -# CONFIG_ATALK is not set -# CONFIG_DECNET is not set -# CONFIG_BRIDGE is not set -# CONFIG_X25 is not set -# CONFIG_LAPB is not set -# CONFIG_LLC is not set -# CONFIG_NET_DIVERT is not set -# CONFIG_ECONET is not set -# CONFIG_WAN_ROUTER is not set -# CONFIG_NET_HW_FLOWCONTROL is not set - -# -# QoS and/or fair queueing -# -# CONFIG_NET_SCHED is not set - -# -# Network device support -# -CONFIG_NETDEVICES=y - -# -# ARCnet devices -# -# CONFIG_ARCNET is not set -# CONFIG_DUMMY is not set -# CONFIG_BONDING is not set -# CONFIG_EQUALIZER is not set -# CONFIG_TUN is not set -# CONFIG_NET_SB1000 is not set - -# -# Ethernet (10 or 100Mbit) -# -CONFIG_NET_ETHERNET=y -# CONFIG_NET_VENDOR_3COM is not set -# CONFIG_LANCE is not set -# CONFIG_NET_VENDOR_SMC is not set -# CONFIG_NET_VENDOR_RACAL is not set -# CONFIG_AT1700 is not set -# CONFIG_DEPCA is not set -# CONFIG_HP100 is not set -# CONFIG_NET_ISA is not set -CONFIG_NET_PCI=y -# CONFIG_PCNET32 is not set -# CONFIG_ADAPTEC_STARFIRE is not set -# CONFIG_APRICOT is not set -# CONFIG_CS89x0 is not set -CONFIG_TULIP=y -# CONFIG_DE4X5 is not set -# CONFIG_DGRS is not set -# CONFIG_DM9102 is not set -CONFIG_EEPRO100=y -CONFIG_EEPRO100_PM=y -# CONFIG_LNE390 is not set -# CONFIG_NATSEMI is not set -# CONFIG_NE2K_PCI is not set -# CONFIG_NE3210 is not set -# CONFIG_ES3210 is not set -# CONFIG_8139TOO is not set -# CONFIG_RTL8129 is not set -# CONFIG_SIS900 is not set -# CONFIG_EPIC100 is not set -# CONFIG_SUNDANCE is not set -# CONFIG_TLAN is not set -# CONFIG_VIA_RHINE is not set -# CONFIG_WINBOND_840 is not set -# CONFIG_HAPPYMEAL is not set -# CONFIG_NET_POCKET is not set - -# -# Ethernet (1000 Mbit) -# -# CONFIG_ACENIC is not set -# CONFIG_HAMACHI is not set -# CONFIG_YELLOWFIN is not set -# CONFIG_SK98LIN is not set -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set -# CONFIG_PPP is not set -# CONFIG_SLIP is not set - -# -# Wireless LAN (non-hamradio) -# -# CONFIG_NET_RADIO is not set - -# -# Token Ring devices -# -# CONFIG_TR is not set -# CONFIG_NET_FC is not set -# CONFIG_RCPCI is not set -# CONFIG_SHAPER is not set - -# -# Wan interfaces -# -# CONFIG_WAN is not set - -# -# Amateur Radio support -# -# CONFIG_HAMRADIO is not set - -# -# IrDA (infrared) support -# -# CONFIG_IRDA is not set - -# -# ATA/IDE/MFM/RLL support -# -# CONFIG_IDE is not set -# CONFIG_BLK_DEV_HD is not set - -# -# SCSI support -# -# CONFIG_SCSI is not set - -# -# IEEE 1394 (FireWire) support -# -# CONFIG_IEEE1394 is not set - -# -# I2O device support -# -# CONFIG_I2O is not set -# CONFIG_I2O_PCI is not set -# CONFIG_I2O_BLOCK is not set -# CONFIG_I2O_LAN is not set -# CONFIG_I2O_SCSI is not set -# CONFIG_I2O_PROC is not set - -# -# ISDN subsystem -# -# CONFIG_ISDN is not set - -# -# Input core support -# -# CONFIG_INPUT is not set - -# -# Character devices -# -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -# CONFIG_SERIAL is not set -# CONFIG_SERIAL_EXTENDED is not set -# CONFIG_SERIAL_NONSTANDARD is not set -CONFIG_SERIAL_AMBA=y -CONFIG_SERIAL_INTEGRATOR=y -CONFIG_SERIAL_AMBA_CONSOLE=y -CONFIG_UNIX98_PTYS=y -CONFIG_UNIX98_PTY_COUNT=256 - -# -# I2C support -# -# CONFIG_I2C is not set - -# -# Mice -# -# CONFIG_BUSMOUSE is not set -CONFIG_MOUSE=y -CONFIG_PSMOUSE=y -# CONFIG_82C710_MOUSE is not set -# CONFIG_PC110_PAD is not set - -# -# Joysticks -# -# CONFIG_JOYSTICK is not set - -# -# Input core support is needed for joysticks -# -# CONFIG_QIC02_TAPE is not set - -# -# Watchdog Cards -# -# CONFIG_WATCHDOG is not set -# CONFIG_INTEL_RNG is not set -# CONFIG_NVRAM is not set -# CONFIG_RTC is not set -# CONFIG_DTLK is not set -# CONFIG_R3964 is not set -# CONFIG_APPLICOM is not set - -# -# Ftape, the floppy tape device driver -# -# CONFIG_FTAPE is not set -# CONFIG_AGP is not set -# CONFIG_DRM is not set - -# -# Multimedia devices -# -# CONFIG_VIDEO_DEV is not set - -# -# File systems -# -# CONFIG_QUOTA is not set -# CONFIG_AUTOFS_FS is not set -# CONFIG_AUTOFS4_FS is not set -# CONFIG_ADFS_FS is not set -# CONFIG_ADFS_FS_RW is not set -# CONFIG_AFFS_FS is not set -# CONFIG_HFS_FS is not set -# CONFIG_BFS_FS is not set -# CONFIG_FAT_FS is not set -# CONFIG_MSDOS_FS is not set -# CONFIG_UMSDOS_FS is not set -# CONFIG_VFAT_FS is not set -# CONFIG_EFS_FS is not set -# CONFIG_JFFS_FS is not set -# CONFIG_CRAMFS is not set -# CONFIG_RAMFS is not set -# CONFIG_ISO9660_FS is not set -# CONFIG_JOLIET is not set -# CONFIG_MINIX_FS is not set -# CONFIG_NTFS_FS is not set -# CONFIG_NTFS_DEBUG is not set -# CONFIG_NTFS_RW is not set -# CONFIG_HPFS_FS is not set -CONFIG_PROC_FS=y -# CONFIG_DEVFS_FS is not set -# CONFIG_DEVFS_MOUNT is not set -# CONFIG_DEVFS_DEBUG is not set -CONFIG_DEVPTS_FS=y -# CONFIG_QNX4FS_FS is not set -# CONFIG_QNX4FS_RW is not set -CONFIG_ROMFS_FS=y -CONFIG_EXT2_FS=y -# CONFIG_SYSV_FS is not set -# CONFIG_SYSV_FS_WRITE is not set -# CONFIG_UDF_FS is not set -# CONFIG_UDF_RW is not set -# CONFIG_UFS_FS is not set -# CONFIG_UFS_FS_WRITE is not set - -# -# Network File Systems -# -# CONFIG_CODA_FS is not set -CONFIG_NFS_FS=y -# CONFIG_NFS_V3 is not set -CONFIG_ROOT_NFS=y -# CONFIG_NFSD is not set -# CONFIG_NFSD_V3 is not set -CONFIG_SUNRPC=y -CONFIG_LOCKD=y -# CONFIG_SMB_FS is not set -# CONFIG_NCP_FS is not set -# CONFIG_NCPFS_PACKET_SIGNING is not set -# CONFIG_NCPFS_IOCTL_LOCKING is not set -# CONFIG_NCPFS_STRONG is not set -# CONFIG_NCPFS_NFS_NS is not set -# CONFIG_NCPFS_OS2_NS is not set -# CONFIG_NCPFS_SMALLDOS is not set -# CONFIG_NCPFS_MOUNT_SUBDIR is not set -# CONFIG_NCPFS_NDS_DOMAINS is not set -# CONFIG_NCPFS_NLS is not set -# CONFIG_NCPFS_EXTRAS is not set - -# -# Partition Types -# -CONFIG_PARTITION_ADVANCED=y -# CONFIG_ACORN_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set -# CONFIG_MSDOS_PARTITION is not set -# CONFIG_SGI_PARTITION is not set -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set -# CONFIG_NLS is not set - -# -# Console drivers -# -CONFIG_KMI_KEYB=y -CONFIG_PC_KEYMAP=y -CONFIG_VGA_CONSOLE=y -# CONFIG_FB is not set - -# -# Frame-buffer support -# -# CONFIG_FB is not set - -# -# Sound -# -# CONFIG_SOUND is not set - -# -# USB support -# -# CONFIG_USB is not set - -# -# Kernel hacking -# -CONFIG_FRAME_POINTER=y -CONFIG_DEBUG_ERRORS=y -CONFIG_DEBUG_USER=y -# CONFIG_DEBUG_INFO is not set -CONFIG_MAGIC_SYSRQ=y -CONFIG_DEBUG_LL=y diff -Nru a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c --- a/arch/i386/kernel/process.c 2004-11-04 20:19:48 -08:00 +++ b/arch/i386/kernel/process.c 2004-11-04 20:19:48 -08:00 @@ -28,7 +28,7 @@ #include #include #include -#include +#include #include #include #include @@ -230,7 +230,8 @@ if (regs->xcs & 3) printk(" ESP: %04x:%08lx",0xffff & regs->xss,regs->esp); - printk(" EFLAGS: %08lx %s (%s)\n",regs->eflags, print_tainted(),UTS_RELEASE); + printk(" EFLAGS: %08lx %s (%s)\n", + regs->eflags, print_tainted(), system_utsname.release); printk("EAX: %08lx EBX: %08lx ECX: %08lx EDX: %08lx\n", regs->eax,regs->ebx,regs->ecx,regs->edx); printk("ESI: %08lx EDI: %08lx EBP: %08lx", diff -Nru a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c --- a/arch/i386/kernel/traps.c 2004-11-04 20:19:48 -08:00 +++ b/arch/i386/kernel/traps.c 2004-11-04 20:19:48 -08:00 @@ -25,7 +25,7 @@ #include #include #include -#include +#include #include #ifdef CONFIG_EISA @@ -218,7 +218,7 @@ printk("CPU: %d\nEIP: %04x:[<%08lx>] %s VLI\nEFLAGS: %08lx" " (%s) \n", smp_processor_id(), 0xffff & regs->xcs, regs->eip, - print_tainted(), regs->eflags, UTS_RELEASE); + print_tainted(), regs->eflags, system_utsname.release); print_symbol("EIP is at %s\n", regs->eip); printk("eax: %08lx ebx: %08lx ecx: %08lx edx: %08lx\n", regs->eax, regs->ebx, regs->ecx, regs->edx); diff -Nru a/arch/m32r/Makefile b/arch/m32r/Makefile --- a/arch/m32r/Makefile 2004-11-04 20:19:48 -08:00 +++ b/arch/m32r/Makefile 2004-11-04 20:19:48 -08:00 @@ -5,7 +5,6 @@ LDFLAGS := OBJCOPYFLAGS := -O binary -R .note -R .comment -S LDFLAGS_vmlinux := -e startup_32 -LDFLAGS_BLOB := --format binary --oformat elf32-m32r CFLAGS += -pipe -fno-schedule-insns CFLAGS_KERNEL += -mmodel=medium diff -Nru a/arch/m32r/boot/compressed/Makefile b/arch/m32r/boot/compressed/Makefile --- a/arch/m32r/boot/compressed/Makefile 2004-11-04 20:19:48 -08:00 +++ b/arch/m32r/boot/compressed/Makefile 2004-11-04 20:19:48 -08:00 @@ -28,9 +28,6 @@ $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE $(call if_changed,gzip) -$(obj)/vmlinux.lds: $(obj)/vmlinux.lds.S FORCE - $(CPP) $(EXTRA_AFLAGS) -C -P -I include $< >$@ - LDFLAGS_piggy.o := -r --format binary --oformat elf32-m32r-linux -T OBJCOPYFLAGS += -R .empty_zero_page diff -Nru a/arch/ppc/boot/lib/Makefile b/arch/ppc/boot/lib/Makefile --- a/arch/ppc/boot/lib/Makefile 2004-11-04 20:19:48 -08:00 +++ b/arch/ppc/boot/lib/Makefile 2004-11-04 20:19:48 -08:00 @@ -2,9 +2,22 @@ # Makefile for some libs needed by zImage. # -CFLAGS_kbd.o += -Idrivers/char +CFLAGS_kbd.o := -Idrivers/char +CFLAGS_vreset.o := -I$(srctree)/arch/ppc/boot/include -lib-y := $(addprefix ../../../../lib/zlib_inflate/, \ - infblock.o infcodes.o inffast.o inflate.o inftrees.o infutil.o) -lib-y += div64.o +zlib := infblock.c infcodes.c inffast.c inflate.c inftrees.c infutil.c + +lib-y += $(zlib:.c=.o) div64.o lib-$(CONFIG_VGA_CONSOLE) += vreset.o kbd.o + + +# zlib files needs header from their original place +EXTRA_CFLAGS += -Ilib/zlib_inflate + +quiet_cmd_copy_zlib = COPY $@ + cmd_copy_zlib = cat $< > $@ + +$(addprefix $(obj)/,$(zlib)): $(obj)/%: $(srctree)/lib/zlib_inflate/% + $(call cmd,copy_zlib) + +clean-files := $(zlib) diff -Nru a/arch/ppc64/boot/Makefile b/arch/ppc64/boot/Makefile --- a/arch/ppc64/boot/Makefile 2004-11-04 20:19:48 -08:00 +++ b/arch/ppc64/boot/Makefile 2004-11-04 20:19:48 -08:00 @@ -118,6 +118,6 @@ >> $(obj)/imagesize.c install: $(CONFIGURE) $(obj)/$(BOOTIMAGE) - sh -x $(src)/install.sh "$(KERNELRELEASE)" "$(obj)/$(BOOTIMAGE)" "$(INSTALL_PATH)" + sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" "$(obj)/$(BOOTIMAGE)" "$(INSTALL_PATH)" clean-files := $(addprefix $(objtree)/, $(obj-boot) vmlinux.strip) diff -Nru a/arch/sparc/Kconfig b/arch/sparc/Kconfig --- a/arch/sparc/Kconfig 2004-11-04 20:19:48 -08:00 +++ b/arch/sparc/Kconfig 2004-11-04 20:19:48 -08:00 @@ -86,8 +86,8 @@ depends on BROKEN ---help--- This enables support for systems with more than one CPU. If you have - a system with only one CPU, like most personal computers, say N. If - you have a system with more than one CPU, say Y. + a system with only one CPU, say N. If you have a system with more + than one CPU, say Y. If you say N here, the kernel will run on single and multiprocessor machines, but will use only one CPU of a multiprocessor machine. If @@ -95,17 +95,11 @@ singleprocessor machines. On a singleprocessor machine, the kernel will run faster if you say N here. - Note that if you say Y here and choose architecture "586" or - "Pentium" under "Processor family", the kernel will not work on 486 - architectures. Similarly, multiprocessor kernels for the "PPro" - architecture may not work on all Pentium based boards. - People using multiprocessor machines who say Y here should also say Y to "Enhanced Real Time Clock Support", below. The "Advanced Power Management" code will be disabled if you say Y here. See also the , - , and the SMP-HOWTO available at . @@ -189,10 +183,10 @@ (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyS1". (Try "man bootparam" or see the documentation of - your boot loader (lilo or loadlin) about how to pass options to the - kernel at boot time.) + your boot loader (silo) about how to pass options to the kernel at + boot time.) - If you don't have a VGA card installed and you say Y here, the + If you don't have a graphics card installed and you say Y here, the kernel will automatically use the first serial line, /dev/ttyS0, as system console. @@ -223,6 +217,7 @@ config SUN4 bool "Support for SUN4 machines (disables SUN4[CDM] support)" depends on !SMP + default n help Say Y here if, and only if, your machine is a sun4. Note that a kernel compiled with this option will run only on sun4. @@ -249,7 +244,10 @@ -t openpromfs none /proc/openprom". To compile the /proc/openprom support as a module, choose M here: the - module will be called openpromfs. If unsure, choose M. + module will be called openpromfs. + + Only choose N if you know in advance that you will not need to modify + OpenPROM settings on the running system. source "fs/Kconfig.binfmt" @@ -282,9 +280,9 @@ If you have several parallel ports, you can specify which ports to use with the "lp" kernel command line option. (Try "man bootparam" - or see the documentation of your boot loader (lilo or loadlin) about - how to pass options to the kernel at boot time.) The syntax of the - "lp" command line option can be found in . + or see the documentation of your boot loader (silo) about how to pass + options to the kernel at boot time.) The syntax of the "lp" command + line option can be found in . If you have more than 8 printers, you need to increase the LP_NO macro in lp.c and the PARPORT_MAX macro in parport.h. diff -Nru a/scripts/Makefile.build b/scripts/Makefile.build --- a/scripts/Makefile.build 2004-11-04 20:19:48 -08:00 +++ b/scripts/Makefile.build 2004-11-04 20:19:48 -08:00 @@ -10,7 +10,7 @@ # 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 -Nru a/scripts/Makefile.clean b/scripts/Makefile.clean --- a/scripts/Makefile.clean 2004-11-04 20:19:48 -08:00 +++ b/scripts/Makefile.clean 2004-11-04 20:19:48 -08:00 @@ -7,7 +7,7 @@ .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 -Nru a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c --- a/scripts/basic/fixdep.c 2004-11-04 20:19:48 -08:00 +++ b/scripts/basic/fixdep.c 2004-11-04 20:19:48 -08:00 @@ -225,10 +225,10 @@ 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 -Nru a/scripts/gen_initramfs_list.sh b/scripts/gen_initramfs_list.sh --- a/scripts/gen_initramfs_list.sh 2004-11-04 20:19:48 -08:00 +++ b/scripts/gen_initramfs_list.sh 2004-11-04 20:19:48 -08:00 @@ -37,6 +37,18 @@ 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 @@ 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 -Nru a/scripts/kallsyms.c b/scripts/kallsyms.c --- a/scripts/kallsyms.c 2004-11-04 20:19:48 -08:00 +++ b/scripts/kallsyms.c 2004-11-04 20:19:48 -08:00 @@ -132,7 +132,17 @@ _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 -Nru a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile --- a/scripts/kconfig/Makefile 2004-11-04 20:19:48 -08:00 +++ b/scripts/kconfig/Makefile 2004-11-04 20:19:48 -08:00 @@ -38,7 +38,12 @@ $< -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 @@ # 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 @@ 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 -Nru a/scripts/kernel-doc b/scripts/kernel-doc --- a/scripts/kernel-doc 2004-11-04 20:19:48 -08:00 +++ b/scripts/kernel-doc 2004-11-04 20:19:48 -08:00 @@ -105,10 +105,7 @@ # 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 @@ print "

".$args{'type'}." ".$args{'struct'}."

\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 @@ -471,10 +471,13 @@ print "

Members

\n"; print "
\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"; print "
"; - output_highlight($args{'parameterdescs'}{$parameter}); + output_highlight($args{'parameterdescs'}{$parameter_name}); } print "
\n"; output_section_html(@_); @@ -510,10 +513,13 @@ print "

Arguments

\n"; print "
\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"; print "
"; - output_highlight($args{'parameterdescs'}{$parameter}); + output_highlight($args{'parameterdescs'}{$parameter_name}); } print "
\n"; output_section_html(@_); @@ -605,10 +611,13 @@ if ($#{$args{'parameterlist'}} >= 0) { print " \n"; foreach $parameter (@{$args{'parameterlist'}}) { + my $parameter_name = $parameter; + $parameter_name =~ s/\[.*//; + print " \n $parameter\n"; print " \n \n"; $lineprefix=" "; - output_highlight($args{'parameterdescs'}{$parameter}); + output_highlight($args{'parameterdescs'}{$parameter_name}); print " \n \n \n"; } print " \n"; @@ -647,8 +656,11 @@ print " \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 @@ print " \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 " "; print " $parameter\n"; print " \n"; - output_highlight($args{'parameterdescs'}{$parameter}); + output_highlight($args{'parameterdescs'}{$parameter_name}); print " \n"; print " \n"; } @@ -728,10 +743,13 @@ print " Constants\n"; print " \n"; foreach $parameter (@{$args{'parameterlist'}}) { + my $parameter_name = $parameter; + $parameter_name =~ s/\[.*//; + print " "; print " $parameter\n"; print " \n"; - output_highlight($args{'parameterdescs'}{$parameter}); + output_highlight($args{'parameterdescs'}{$parameter_name}); print " \n"; print " \n"; } @@ -842,10 +860,13 @@ print "\n"; print "\n"; foreach $parameter (@{$args{'parameterlist'}}) { + my $parameter_name = $parameter; + $parameter_name =~ s/\[.*//; + print " $parameter\n"; print " \n"; $lineprefix=" "; - output_highlight($args{'parameterdescs'}{$parameter}); + output_highlight($args{'parameterdescs'}{$parameter_name}); print " \n"; } print " \n"; @@ -909,8 +930,11 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ $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 @@ $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 @@ push @parameterlist, $param; $parametertypes{$param} = $type; - } } ## diff -Nru a/scripts/lxdialog/Makefile b/scripts/lxdialog/Makefile --- a/scripts/lxdialog/Makefile 2004-11-04 20:19:48 -08:00 +++ b/scripts/lxdialog/Makefile 2004-11-04 20:19:48 -08:00 @@ -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="" diff -Nru a/scripts/lxdialog/dialog.h b/scripts/lxdialog/dialog.h --- a/scripts/lxdialog/dialog.h 2004-11-04 20:19:48 -08:00 +++ b/scripts/lxdialog/dialog.h 2004-11-04 20:19:48 -08:00 @@ -26,6 +26,9 @@ #include #include +#ifdef __sun__ +#define CURS_MACROS +#endif #include CURSES_LOC /* diff -Nru a/scripts/mod/modpost.c b/scripts/mod/modpost.c --- a/scripts/mod/modpost.c 2004-11-04 20:19:48 -08:00 +++ b/scripts/mod/modpost.c 2004-11-04 20:19:48 -08:00 @@ -219,7 +219,7 @@ 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)++) diff -Nru a/sound/core/info.c b/sound/core/info.c --- a/sound/core/info.c 2004-11-04 20:19:48 -08:00 +++ b/sound/core/info.c 2004-11-04 20:19:48 -08:00 @@ -28,7 +28,7 @@ #include #include #include -#include +#include #include #include #include @@ -959,7 +959,7 @@ static void snd_info_version_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - static char *kernel_version = UTS_RELEASE; + static char *kernel_version = system_utsname.release; snd_iprintf(buffer, "Advanced Linux Sound Architecture Driver Version " CONFIG_SND_VERSION CONFIG_SND_DATE ".\n"