diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/arch/i386/config.in linux-final/arch/i386/config.in --- linux-2.4.17-pre2/arch/i386/config.in Sat Dec 1 04:15:59 2001 +++ linux-final/arch/i386/config.in Sun Dec 2 13:41:55 2001 @@ -409,4 +409,6 @@ bool ' Verbose BUG() reporting (adds 70K)' CONFIG_DEBUG_BUGVERBOSE fi +bool 'Memory-intensive final production compile' CONFIG_FINAL + endmenu diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/arch/i386/kernel/Makefile linux-final/arch/i386/kernel/Makefile --- linux-2.4.17-pre2/arch/i386/kernel/Makefile Fri Nov 9 22:21:21 2001 +++ linux-final/arch/i386/kernel/Makefile Sun Dec 2 14:45:29 2001 @@ -14,12 +14,18 @@ O_TARGET := kernel.o -export-objs := mca.o mtrr.o msr.o cpuid.o microcode.o i386_ksyms.o +export-objs := mca.o mtrr.o msr.o cpuid.o microcode.o + +ifdef CONFIG_FINAL +obj-y := i386_all.o entry.o +export-objs += i386_all.o +else +export-objs += i386_ksyms.o obj-y := process.o semaphore.o signal.o entry.o traps.o irq.o vm86.o \ ptrace.o i8259.o ioport.o ldt.o setup.o time.o sys_i386.o \ pci-dma.o i386_ksyms.o i387.o bluesmoke.o dmi_scan.o - +endif ifdef CONFIG_PCI obj-y += pci-i386.o diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/arch/i386/kernel/i386_all.c linux-final/arch/i386/kernel/i386_all.c --- linux-2.4.17-pre2/arch/i386/kernel/i386_all.c Thu Jan 1 00:00:00 1970 +++ linux-final/arch/i386/kernel/i386_all.c Sun Dec 2 14:45:33 2001 @@ -0,0 +1,18 @@ +#include "bluesmoke.c" +#include "dmi_scan.c" +#include "i386_ksyms.c" +#include "i387.c" +#include "i8259.c" +#include "ioport.c" +#include "irq.c" +#include "ldt.c" +#include "pci-dma.c" +#include "process.c" +#include "ptrace.c" +#include "semaphore.c" +#include "setup.c" +#include "signal.c" +#include "sys_i386.c" +#include "time.c" +#include "traps.c" +#include "vm86.c" diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/drivers/net/tulip/Makefile linux-final/drivers/net/tulip/Makefile --- linux-2.4.17-pre2/drivers/net/tulip/Makefile Fri Nov 9 21:45:35 2001 +++ linux-final/drivers/net/tulip/Makefile Sun Dec 2 14:06:37 2001 @@ -9,9 +9,14 @@ O_TARGET := tulip.o +ifdef CONFIG_FINAL +obj-y := tulip_all.o +else obj-y := eeprom.o interrupt.o media.o \ timer.o tulip_core.o \ 21142.o pnic.o pnic2.o +endif + obj-m := $(O_TARGET) include $(TOPDIR)/Rules.make diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/drivers/net/tulip/tulip_all.c linux-final/drivers/net/tulip/tulip_all.c --- linux-2.4.17-pre2/drivers/net/tulip/tulip_all.c Thu Jan 1 00:00:00 1970 +++ linux-final/drivers/net/tulip/tulip_all.c Sun Dec 2 14:06:20 2001 @@ -0,0 +1,8 @@ +#include "21142.c" +#include "eeprom.c" +#include "interrupt.c" +#include "media.c" +#include "pnic2.c" +#include "pnic.c" +#include "timer.c" +#include "tulip_core.c" diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/fs/ext2/Makefile linux-final/fs/ext2/Makefile --- linux-2.4.17-pre2/fs/ext2/Makefile Thu Oct 11 15:05:18 2001 +++ linux-final/fs/ext2/Makefile Sun Dec 2 13:56:02 2001 @@ -9,8 +9,13 @@ O_TARGET := ext2.o +ifdef CONFIG_FINAL +obj-y := ext2_all.o +else obj-y := balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o \ ioctl.o namei.o super.o symlink.o +endif + obj-m := $(O_TARGET) include $(TOPDIR)/Rules.make diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/fs/ext2/ext2_all.c linux-final/fs/ext2/ext2_all.c --- linux-2.4.17-pre2/fs/ext2/ext2_all.c Thu Jan 1 00:00:00 1970 +++ linux-final/fs/ext2/ext2_all.c Sun Dec 2 13:55:36 2001 @@ -0,0 +1,11 @@ +#include "balloc.c" +#include "bitmap.c" +#include "dir.c" +#include "file.c" +#include "fsync.c" +#include "ialloc.c" +#include "inode.c" +#include "ioctl.c" +#include "namei.c" +#include "super.c" +#include "symlink.c" diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/fs/reiserfs/Makefile linux-final/fs/reiserfs/Makefile --- linux-2.4.17-pre2/fs/reiserfs/Makefile Wed Nov 21 17:56:28 2001 +++ linux-final/fs/reiserfs/Makefile Sun Dec 2 14:03:43 2001 @@ -8,8 +8,13 @@ # Note 2! The CFLAGS definitions are now in the main makefile... O_TARGET := reiserfs.o + +ifdef CONFIG_FINAL +obj-y := reiserfs_all.o +else obj-y := bitmap.o do_balan.o namei.o inode.o file.o dir.o fix_node.o super.o prints.o objectid.o \ lbalance.o ibalance.o stree.o hashes.o buffer2.o tail_conversion.o journal.o resize.o tail_conversion.o version.o item_ops.o ioctl.o procfs.o +endif obj-m := $(O_TARGET) diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/fs/reiserfs/reiserfs_all.c linux-final/fs/reiserfs/reiserfs_all.c --- linux-2.4.17-pre2/fs/reiserfs/reiserfs_all.c Thu Jan 1 00:00:00 1970 +++ linux-final/fs/reiserfs/reiserfs_all.c Sun Dec 2 14:13:02 2001 @@ -0,0 +1,22 @@ +#include "bitmap.c" +#include "buffer2.c" +#include "dir.c" +#include "do_balan.c" +#include "file.c" +#include "fix_node.c" +#include "hashes.c" +#include "ibalance.c" +#include "inode.c" +#include "ioctl.c" +#include "item_ops.c" +#include "journal.c" +#include "lbalance.c" +#include "namei.c" +#include "objectid.c" +#include "prints.c" +#include "procfs.c" +#include "resize.c" +#include "stree.c" +#include "super.c" +#include "tail_conversion.c" +#include "version.c" diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/fs/reiserfs/version.c linux-final/fs/reiserfs/version.c --- linux-2.4.17-pre2/fs/reiserfs/version.c Mon Jan 15 20:42:32 2001 +++ linux-final/fs/reiserfs/version.c Sun Dec 2 14:19:33 2001 @@ -2,6 +2,6 @@ * Copyright 2000 by Hans Reiser, licensing governed by reiserfs/README */ -char *reiserfs_get_version_string(void) { +const char *reiserfs_get_version_string(void) { return "ReiserFS version 3.6.25" ; } diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/include/linux/reiserfs_fs.h linux-final/include/linux/reiserfs_fs.h --- linux-2.4.17-pre2/include/linux/reiserfs_fs.h Fri Nov 9 22:18:25 2001 +++ linux-final/include/linux/reiserfs_fs.h Sun Dec 2 14:19:28 2001 @@ -2089,7 +2089,7 @@ __u32 r5_hash (const signed char *msg, int len); /* version.c */ -const char *reiserfs_get_version_string(void) CONSTF; +const char *reiserfs_get_version_string(void); /* the ext2 bit routines adjust for big or little endian as ** appropriate for the arch, so in our laziness we use them rather diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/include/linux/sched.h linux-final/include/linux/sched.h --- linux-2.4.17-pre2/include/linux/sched.h Thu Nov 22 19:46:19 2001 +++ linux-final/include/linux/sched.h Sun Dec 2 13:54:25 2001 @@ -589,7 +589,7 @@ extern void FASTCALL(interruptible_sleep_on(wait_queue_head_t *q)); extern long FASTCALL(interruptible_sleep_on_timeout(wait_queue_head_t *q, signed long timeout)); -extern int FASTCALL(wake_up_process(struct task_struct * tsk)); +extern inline int FASTCALL(wake_up_process(struct task_struct * tsk)); #define wake_up(x) __wake_up((x),TASK_UNINTERRUPTIBLE | TASK_INTERRUPTIBLE, 1) #define wake_up_nr(x, nr) __wake_up((x),TASK_UNINTERRUPTIBLE | TASK_INTERRUPTIBLE, nr) diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/include/linux/sysrq.h linux-final/include/linux/sysrq.h --- linux-2.4.17-pre2/include/linux/sysrq.h Sun Sep 30 19:26:42 2001 +++ linux-final/include/linux/sysrq.h Sun Dec 2 14:02:32 2001 @@ -10,6 +10,8 @@ * overhauled to use key registration * based upon discusions in irc://irc.openprojects.net/#kernelnewbies */ +#ifndef __LINUX_SYSRQ_H__ +#define __LINUX_SYSRQ_H__ #include @@ -117,3 +119,5 @@ #else #define CHECK_EMERGENCY_SYNC #endif + +#endif /* __LINUX_SYSRQ_H__ */ diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/kernel/Makefile linux-final/kernel/Makefile --- linux-2.4.17-pre2/kernel/Makefile Mon Sep 17 04:22:40 2001 +++ linux-final/kernel/Makefile Sun Dec 2 13:51:51 2001 @@ -9,12 +9,17 @@ O_TARGET := kernel.o +ifdef CONFIG_FINAL +export-objs = kernel_all.o ksyms.o pm.o +obj-y = kernel_all.o +else export-objs = signal.o sys.o kmod.o context.o ksyms.o pm.o exec_domain.o printk.o obj-y = sched.o dma.o fork.o exec_domain.o panic.o printk.o \ module.o exit.o itimer.o info.o time.o softirq.o resource.o \ sysctl.o acct.o capability.o ptrace.o timer.o user.o \ signal.o sys.o kmod.o context.o +endif obj-$(CONFIG_UID16) += uid16.o obj-$(CONFIG_MODULES) += ksyms.o diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/kernel/kernel_all.c linux-final/kernel/kernel_all.c --- linux-2.4.17-pre2/kernel/kernel_all.c Thu Jan 1 00:00:00 1970 +++ linux-final/kernel/kernel_all.c Sun Dec 2 13:54:37 2001 @@ -0,0 +1,23 @@ +#include "acct.c" +#include "capability.c" +#include "context.c" +#include "dma.c" +#include "exec_domain.c" +#include "exit.c" +#include "fork.c" +#include "info.c" +#include "itimer.c" +#include "kmod.c" +#include "module.c" +#include "panic.c" +#include "printk.c" +#include "ptrace.c" +#include "resource.c" +#include "sched.c" +#include "signal.c" +#include "softirq.c" +#include "sys.c" +#include "sysctl.c" +#include "time.c" +#include "timer.c" +#include "user.c" diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/kernel/sysctl.c linux-final/kernel/sysctl.c --- linux-2.4.17-pre2/kernel/sysctl.c Mon Nov 26 13:29:17 2001 +++ linux-final/kernel/sysctl.c Sun Dec 2 13:43:55 2001 @@ -45,7 +45,8 @@ extern int bdf_prm[], bdflush_min[], bdflush_max[]; extern int sysctl_overcommit_memory; extern int max_threads; -extern int nr_queued_signals, max_queued_signals; +extern atomic_t nr_queued_signals; +extern int max_queued_signals; extern int sysrq_enabled; extern int core_uses_pid; extern int cad_pid; diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/net/ipv4/Makefile linux-final/net/ipv4/Makefile --- linux-2.4.17-pre2/net/ipv4/Makefile Tue Oct 30 23:08:12 2001 +++ linux-final/net/ipv4/Makefile Sun Dec 2 14:22:51 2001 @@ -11,12 +11,16 @@ export-objs = ipip.o ip_gre.o +ifdef CONFIG_FINAL +obj-y := ipv4_all.o +else obj-y := utils.o route.o inetpeer.o proc.o protocol.o \ ip_input.o ip_fragment.o ip_forward.o ip_options.o \ ip_output.o ip_sockglue.o \ tcp.o tcp_input.o tcp_output.o tcp_timer.o tcp_ipv4.o tcp_minisocks.o \ raw.o udp.o arp.o icmp.o devinet.o af_inet.o igmp.o \ sysctl_net_ipv4.o fib_frontend.o fib_semantics.o fib_hash.o +endif obj-$(CONFIG_IP_MULTIPLE_TABLES) += fib_rules.o obj-$(CONFIG_IP_ROUTE_NAT) += ip_nat_dumb.o diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/net/ipv4/ip_output.c linux-final/net/ipv4/ip_output.c --- linux-2.4.17-pre2/net/ipv4/ip_output.c Wed Oct 17 21:16:39 2001 +++ linux-final/net/ipv4/ip_output.c Sun Dec 2 14:27:07 2001 @@ -40,6 +40,7 @@ * Detlev Wengorz : Copy protocol for fragments. */ +#include #include #include #include @@ -110,11 +111,13 @@ /* Don't just hand NF_HOOK skb->dst->output, in case netfilter hook changes route */ +#ifndef CONFIG_FINAL static inline int output_maybe_reroute(struct sk_buff *skb) { return skb->dst->output(skb); } +#endif /* * Add an ip header to a skbuff and send it out. diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/net/ipv4/ipv4_all.c linux-final/net/ipv4/ipv4_all.c --- linux-2.4.17-pre2/net/ipv4/ipv4_all.c Thu Jan 1 00:00:00 1970 +++ linux-final/net/ipv4/ipv4_all.c Sun Dec 2 14:24:39 2001 @@ -0,0 +1,28 @@ +#include "af_inet.c" +#include "arp.c" +#include "devinet.c" +#include "fib_frontend.c" +#include "fib_hash.c" +#include "fib_semantics.c" +#include "icmp.c" +#include "igmp.c" +#include "inetpeer.c" +#include "ip_forward.c" +#include "ip_fragment.c" +#include "ip_input.c" +#include "ip_options.c" +#include "ip_output.c" +#include "ip_sockglue.c" +#include "proc.c" +#include "protocol.c" +#include "raw.c" +#include "route.c" +#include "sysctl_net_ipv4.c" +#include "tcp.c" +#include "tcp_input.c" +#include "tcp_ipv4.c" +#include "tcp_minisocks.c" +#include "tcp_output.c" +#include "tcp_timer.c" +#include "udp.c" +#include "utils.c" diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/net/ipv6/Makefile linux-final/net/ipv6/Makefile --- linux-2.4.17-pre2/net/ipv6/Makefile Fri Dec 29 22:07:24 2000 +++ linux-final/net/ipv6/Makefile Sun Dec 2 14:29:07 2001 @@ -9,11 +9,15 @@ O_TARGET := ipv6.o +ifdef CONFIG_FINAL +obj-y := ipv6_all.o +else obj-y := af_inet6.o ip6_output.o ip6_input.o addrconf.o sit.o \ route.o ip6_fib.o ipv6_sockglue.o ndisc.o udp.o raw.o \ protocol.o icmp.o mcast.o reassembly.o tcp_ipv6.o \ exthdrs.o sysctl_net_ipv6.o datagram.o proc.o \ ip6_flowlabel.o +endif obj-m := $(O_TARGET) diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/net/ipv6/ipv6_all.c linux-final/net/ipv6/ipv6_all.c --- linux-2.4.17-pre2/net/ipv6/ipv6_all.c Thu Jan 1 00:00:00 1970 +++ linux-final/net/ipv6/ipv6_all.c Sun Dec 2 14:30:43 2001 @@ -0,0 +1,21 @@ +#include "addrconf.c" +#include "af_inet6.c" +#include "datagram.c" +#include "exthdrs.c" +#include "icmp.c" +#include "ip6_fib.c" +#include "ip6_flowlabel.c" +#include "ip6_input.c" +#include "ip6_output.c" +#include "ipv6_sockglue.c" +#include "mcast.c" +#include "ndisc.c" +#include "proc.c" +#include "protocol.c" +#include "raw.c" +#include "reassembly.c" +#include "route.c" +#include "sit.c" +#include "sysctl_net_ipv6.c" +#include "tcp_ipv6.c" +#include "udp.c" diff -Naur -X /g/g/lib/dontdiff linux-2.4.17-pre2/net/ipv6/proc.c linux-final/net/ipv6/proc.c --- linux-2.4.17-pre2/net/ipv6/proc.c Mon Jul 10 05:30:41 2000 +++ linux-final/net/ipv6/proc.c Sun Dec 2 14:33:35 2001 @@ -37,7 +37,7 @@ return res; } -int afinet6_get_info(char *buffer, char **start, off_t offset, int length, int dummy) +int afinet6_get_info(char *buffer, char **start, off_t offset, int length) { int len = 0; len += sprintf(buffer+len, "TCP6: inuse %d\n",