diff -Naur -X exclude-files ac_cur/arch/um/Makefile ac/arch/um/Makefile
--- ac_cur/arch/um/Makefile	Sat Sep 15 15:56:11 2001
+++ ac/arch/um/Makefile	Sat Sep 15 16:46:07 2001
@@ -20,8 +20,6 @@
 LINK_PROFILE = $(PROFILE) -Wl,--wrap,__monstartup
 endif
 
-CFLAGS := $(subst -fno-common,,$(CFLAGS))
-
 SUBDIRS += $(ARCH_DIR)/fs $(ARCH_DIR)/drivers $(ARCH_DIR)/kernel \
 	$(ARCH_DIR)/sys-$(SUBARCH)
 
@@ -36,8 +34,11 @@
 
 NESTING = 0
 
+ARCH_INCLUDE = $(ARCH_DIR)/include
+
 CFLAGS += $(DEBUG) $(PROFILE) $(ARCH_CFLAGS) -D__arch_um__ \
-	-DSUBARCH=\"$(SUBARCH)\" -DNESTING=$(NESTING) -D_LARGEFILE64_SOURCE
+	-DSUBARCH=\"$(SUBARCH)\" -DNESTING=$(NESTING) -D_LARGEFILE64_SOURCE \
+	-I$(ARCH_INCLUDE) -Derrno=kernel_errno
 
 LINKFLAGS += -r
 
@@ -51,7 +52,6 @@
 
 ARCH_SYMLINKS = include/asm-um/arch arch/um/include/sysdep $(SYMLINK_HEADERS)
 
-
 linux: $(ARCH_SYMLINKS) $(ARCH_DIR)/main.o vmlinux $(ARCH_DIR)/link.ld
 	mv vmlinux vmlinux.o
 	$(CC) -Wl,-T,$(ARCH_DIR)/link.ld $(LINK_PROFILE) -o linux -static \
@@ -59,7 +59,8 @@
 	rm -f $(ARCH_DIR)/link.ld
 
 USER_CFLAGS := $(patsubst -I%,,$(CFLAGS))
-USER_CFLAGS := $(patsubst -D__KERNEL__,,$(USER_CFLAGS)) -I../include
+USER_CFLAGS := $(patsubst -Derrno=kernel_errno,,$(USER_CFLAGS))
+USER_CFLAGS := $(patsubst -D__KERNEL__,,$(USER_CFLAGS)) -I$(ARCH_INCLUDE)
 
 $(ARCH_DIR)/main.o: $(ARCH_DIR)/main.c
 	$(CC) -D__KERNEL__ $(USER_CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
@@ -90,4 +91,4 @@
 arch/um/include/sysdep:
 	cd $(TOPDIR)/arch/um/include && ln -sf sysdep-$(SUBARCH) sysdep
 
-export SUBARCH
+export SUBARCH USER_CFLAGS
diff -Naur -X exclude-files ac_cur/arch/um/config.in ac/arch/um/config.in
--- ac_cur/arch/um/config.in	Sat Sep 15 15:56:11 2001
+++ ac/arch/um/config.in	Sat Sep 15 16:46:07 2001
@@ -68,6 +68,13 @@
    source net/Config.in
 fi
 
+mainmenu_option next_comment
+comment 'Network drivers'
+if [ "$CONFIG_NET" = "y" ]; then
+   source drivers/net/Config.in
+fi
+endmenu
+
 if [ "$CONFIG_NET" = "y" ]; then
    mainmenu_option next_comment
    comment 'Network device support'
diff -Naur -X exclude-files ac_cur/arch/um/defconfig ac/arch/um/defconfig
--- ac_cur/arch/um/defconfig	Sat Sep 15 15:56:11 2001
+++ ac/arch/um/defconfig	Sat Sep 15 16:52:59 2001
@@ -92,6 +92,69 @@
 # CONFIG_NET_SCHED is not set
 
 #
+# Network drivers
+#
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+CONFIG_DUMMY=y
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=y
+CONFIG_ETHERTAP=y
+
+#
+# Ethernet (10 or 100Mbit)
+#
+# CONFIG_NET_ETHERNET is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+# CONFIG_DL2K is not set
+# CONFIG_MYRI_SBUS 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_PLIP is not set
+CONFIG_PPP=y
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+# CONFIG_PPP_ASYNC is not set
+# CONFIG_PPP_SYNC_TTY is not set
+# CONFIG_PPP_DEFLATE is not set
+# CONFIG_PPP_BSDCOMP is not set
+# CONFIG_PPPOE is not set
+CONFIG_SLIP=y
+# CONFIG_SLIP_COMPRESSED is not set
+# CONFIG_SLIP_SMART is not set
+# CONFIG_SLIP_MODE_SLIP6 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
+
+#
 # Network device support
 #
 CONFIG_NETDEVICES=y
@@ -112,6 +175,7 @@
 CONFIG_REISERFS_FS=m
 # CONFIG_REISERFS_CHECK 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
@@ -129,6 +193,7 @@
 CONFIG_MINIX_FS=m
 # CONFIG_VXFS_FS is not set
 # CONFIG_NTFS_FS is not set
+# CONFIG_NTFS_RW is not set
 # CONFIG_HPFS_FS is not set
 CONFIG_PROC_FS=y
 CONFIG_DEVFS_FS=y
@@ -136,22 +201,36 @@
 # 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 is not set
 CONFIG_EXT2_FS=y
 # CONFIG_SYSV_FS 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 is not set
+# CONFIG_NFS_V3 is not set
+# CONFIG_ROOT_NFS is not set
 # CONFIG_NFSD is not set
+# CONFIG_NFSD_V3 is not set
 # CONFIG_SUNRPC is not set
 # CONFIG_LOCKD is not set
 # 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_NLS is not set
+# CONFIG_NCPFS_EXTRAS is not set
 
 #
 # Partition Types
diff -Naur -X exclude-files ac_cur/arch/um/drivers/Makefile ac/arch/um/drivers/Makefile
--- ac_cur/arch/um/drivers/Makefile	Sat Sep 15 15:56:11 2001
+++ ac/arch/um/drivers/Makefile	Sat Sep 15 16:46:07 2001
@@ -8,11 +8,6 @@
 obj-y = 
 obj-m =
 
-EXTRA_CFLAGS = -I../include
-
-USER_CFLAGS := $(patsubst -I%,,$(CFLAGS))
-USER_CFLAGS := $(patsubst -D__KERNEL__,,$(USER_CFLAGS)) $(EXTRA_CFLAGS)
-
 CFLAGS_stdio_console.o := $(CFLAGS)
 CFLAGS_stdio_console_user.o := $(USER_CFLAGS)
 CFLAGS_ssl.o := $(CFLAGS)
diff -Naur -X exclude-files ac_cur/arch/um/fs/hostfs/Makefile ac/arch/um/fs/hostfs/Makefile
--- ac_cur/arch/um/fs/hostfs/Makefile	Sat Sep 15 15:56:11 2001
+++ ac/arch/um/fs/hostfs/Makefile	Sat Sep 15 16:46:07 2001
@@ -15,10 +15,7 @@
   STAT64_INO_FIELD := st_ino
 endif
 
-EXTRA_CFLAGS += -I../../include
-USER_CFLAGS := $(patsubst -I%,,$(CFLAGS))
-USER_CFLAGS := $(patsubst -D__KERNEL__,,$(USER_CFLAGS)) \
-	-DSTAT64_INO_FIELD=$(STAT64_INO_FIELD)
+USER_CFLAGS := $(USER_CFLAGS) -DSTAT64_INO_FIELD=$(STAT64_INO_FIELD)
 
 O_TARGET :=
 obj-y = 
diff -Naur -X exclude-files ac_cur/arch/um/kernel/Makefile ac/arch/um/kernel/Makefile
--- ac_cur/arch/um/kernel/Makefile	Sat Sep 15 15:56:11 2001
+++ ac/arch/um/kernel/Makefile	Sat Sep 15 16:46:07 2001
@@ -8,11 +8,6 @@
 
 OX_OBJS = ksyms.o process_kern.o signal_kern.o user_syms.o
 
-EXTRA_CFLAGS += -I../include
-
-USER_CFLAGS := $(patsubst -I%,,$(CFLAGS))
-USER_CFLAGS := $(patsubst -D__KERNEL__,,$(USER_CFLAGS)) $(EXTRA_CFLAGS)
-
 UNMAP_CFLAGS := $(patsubst -pg -DPROFILING,,$(USER_CFLAGS))
 UNMAP_CFLAGS := $(patsubst -fprofile-arcs -ftest-coverage,,$(UNMAP_CFLAGS))
 
diff -Naur -X exclude-files ac_cur/arch/um/link.ld.in ac/arch/um/link.ld.in
--- ac_cur/arch/um/link.ld.in	Sat Sep 15 15:56:11 2001
+++ ac/arch/um/link.ld.in	Sat Sep 15 16:46:07 2001
@@ -5,41 +5,6 @@
 SECTIONS
 {
   . = START() + SIZEOF_HEADERS;
-  /* Read-only sections, merged into text segment: */
-  .interp     : { *(.interp) 	}
-  .hash          : { *(.hash)		}
-  .dynsym        : { *(.dynsym)		}
-  .dynstr        : { *(.dynstr)		}
-  .gnu.version   : { *(.gnu.version)	}
-  .gnu.version_d   : { *(.gnu.version_d)	}
-  .gnu.version_r   : { *(.gnu.version_r)	}
-  .rel.text      :
-    { *(.rel.text) *(.rel.gnu.linkonce.t*) }
-  .rela.text     :
-    { *(.rela.text) *(.rela.gnu.linkonce.t*) }
-  .rel.data      :
-    { *(.rel.data) *(.rel.gnu.linkonce.d*) }
-  .rela.data     :
-    { *(.rela.data) *(.rela.gnu.linkonce.d*) }
-  .rel.rodata    :
-    { *(.rel.rodata) *(.rel.gnu.linkonce.r*) }
-  .rela.rodata   :
-    { *(.rela.rodata) *(.rela.gnu.linkonce.r*) }
-  .rel.got       : { *(.rel.got)		}
-  .rela.got      : { *(.rela.got)		}
-  .rel.ctors     : { *(.rel.ctors)	}
-  .rela.ctors    : { *(.rela.ctors)	}
-  .rel.dtors     : { *(.rel.dtors)	}
-  .rela.dtors    : { *(.rela.dtors)	}
-  .rel.init      : { *(.rel.init)	}
-  .rela.init     : { *(.rela.init)	}
-  .rel.fini      : { *(.rel.fini)	}
-  .rela.fini     : { *(.rela.fini)	}
-  .rel.bss       : { *(.rel.bss)		}
-  .rela.bss      : { *(.rela.bss)		}
-  .rel.plt       : { *(.rel.plt)		}
-  .rela.plt      : { *(.rela.plt)		}
-  .plt      : { *(.plt)	}
   .remap : { arch/um/kernel/unmap_fin.o (.text) }
 
   . = ALIGN(4096);		/* Init code and data */
@@ -137,30 +102,4 @@
   .stab.index 0 : { *(.stab.index) }
   .stab.indexstr 0 : { *(.stab.indexstr) }
   .comment 0 : { *(.comment) }
-  /* DWARF debug sections.
-     Symbols in the DWARF debugging sections are relative to the beginning
-     of the section so we begin them at 0.  */
-  /* DWARF 1 */
-  .debug          0 : { *(.debug) }
-  .line           0 : { *(.line) }
-  /* GNU DWARF 1 extensions */
-  .debug_srcinfo  0 : { *(.debug_srcinfo) }
-  .debug_sfnames  0 : { *(.debug_sfnames) }
-  /* DWARF 1.1 and DWARF 2 */
-  .debug_aranges  0 : { *(.debug_aranges) }
-  .debug_pubnames 0 : { *(.debug_pubnames) }
-  /* DWARF 2 */
-  .debug_info     0 : { *(.debug_info) }
-  .debug_abbrev   0 : { *(.debug_abbrev) }
-  .debug_line     0 : { *(.debug_line) }
-  .debug_frame    0 : { *(.debug_frame) }
-  .debug_str      0 : { *(.debug_str) }
-  .debug_loc      0 : { *(.debug_loc) }
-  .debug_macinfo  0 : { *(.debug_macinfo) }
-  /* SGI/MIPS DWARF 2 extensions */
-  .debug_weaknames 0 : { *(.debug_weaknames) }
-  .debug_funcnames 0 : { *(.debug_funcnames) }
-  .debug_typenames 0 : { *(.debug_typenames) }
-  .debug_varnames  0 : { *(.debug_varnames) }
-  /* These must appear regardless of  .  */
 }
diff -Naur -X exclude-files ac_cur/arch/um/ptproxy/Makefile ac/arch/um/ptproxy/Makefile
--- ac_cur/arch/um/ptproxy/Makefile	Sat Sep 15 15:56:11 2001
+++ ac/arch/um/ptproxy/Makefile	Sat Sep 15 16:46:07 2001
@@ -2,9 +2,7 @@
 
 OBJS = proxy.o ptrace.o sysdep.o wait.o
 
-USER_CFLAGS := $(patsubst -I%,,$(CFLAGS))
 USER_CFLAGS := $(patsubst -U$(SUBARCH),,$(USER_CFLAGS))
-USER_CFLAGS := $(patsubst -D__KERNEL__,,$(USER_CFLAGS)) -I../include
 
 all: $(LIB)
 
diff -Naur -X exclude-files ac_cur/arch/um/sys-i386/Makefile ac/arch/um/sys-i386/Makefile
--- ac_cur/arch/um/sys-i386/Makefile	Sat Sep 15 15:56:11 2001
+++ ac/arch/um/sys-i386/Makefile	Sat Sep 15 16:46:07 2001
@@ -4,11 +4,6 @@
        sigcontext.o syscalls.o
 OX_OBJS = ksyms.o
 
-EXTRA_CFLAGS = -I../include
-
-USER_CFLAGS := $(patsubst -I%,,$(CFLAGS))
-USER_CFLAGS := $(patsubst -D__KERNEL__,,$(USER_CFLAGS)) $(EXTRA_CFLAGS)
-
 SYMLINKS = semaphore.c old-checksum.c checksum.S
 
 all: $(OBJ)
diff -Naur -X exclude-files ac_cur/arch/um/sys-ppc/Makefile ac/arch/um/sys-ppc/Makefile
--- ac_cur/arch/um/sys-ppc/Makefile	Sat Sep 15 15:56:11 2001
+++ ac/arch/um/sys-ppc/Makefile	Sat Sep 15 16:46:07 2001
@@ -6,11 +6,6 @@
 OBJS = ptrace.o sigcontext.o semaphore.o checksum.o miscthings.o misc.o \
 	ptrace_user.o
 
-EXTRA_CFLAGS = -I../include -I$(TOPDIR)/include
-
-USER_CFLAGS := $(patsubst -I%,,$(CFLAGS))
-USER_CFLAGS := $(patsubst -D__KERNEL__,,$(USER_CFLAGS)) $(EXTRA_CFLAGS)
-
 EXTRA_AFLAGS := -DCONFIG_ALL_PPC -I. -I$(TOPDIR)/arch/ppc/kernel
 
 all: $(OBJ)