Strange problems linking 2.1.119 without TCP/IP

Andrzej Krzysztofowicz (ankry@green.mif.pg.gda.pl)
Tue, 1 Sep 1998 12:42:48 +0200 (CEST)


Hi,
I noticed 2.1.119 kernel linking problems with CONFIG_INET not set:
******************************************************************
[...]
ld -m elf_i386 -T /usr/src/linux-2.1.117/arch/i386/vmlinux.lds -e stext arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o init/version.o \
arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o \
fs/filesystems.a \
net/network.a \
drivers/block/block.a drivers/char/char.a drivers/misc/misc.a drivers/net/net.a drivers/video/video.a \
/usr/src/linux-2.1.117/arch/i386/lib/lib.a /usr/src/linux-2.1.117/lib/lib.a /usr/src/linux-2.1.117/arch/i386/lib/lib.a \
-o vmlinux
drivers/net/net.a(loopback.o): In function `loopback_xmit':
loopback.o(.text+0xa4): undefined reference to `eth_type_trans'
drivers/net/net.a(loopback.o): In function `loopback_init':
loopback.o(.text.init+0x23): undefined reference to `eth_header'
loopback.o(.text.init+0x2d): undefined reference to `eth_header_cache'
loopback.o(.text.init+0x37): undefined reference to `eth_header_cache_update'
loopback.o(.text.init+0x5b): undefined reference to `eth_rebuild_header'
make: *** [vmlinux] Error 1
*********************************************************************

It's very strange as:

[root@kufel linux]# nm net/network.a|grep eth_header
00000000 T eth_header
000002f0 T eth_header_cache
00000380 T eth_header_cache_update
000002d0 T eth_header_parse

Also replacing "net/network.a" in Makefile directly by
"net/socket.o net/protocols.o net/core/core.o net/ethernet/ethernet.o \
net/sched/sched.o net/802/802.o net/unix/unix.o"
i.e. all object files it should include, causes that errors disappear.

Can anybody explain that ?

gcc 2.7.2.3
binutils 2.9.1.0.4
glibc-2.0.7

My .config:

# CONFIG_EXPERIMENTAL is not set
#
# CONFIG_M386 is not set
CONFIG_M486=y
# CONFIG_M586 is not set
# CONFIG_M686 is not set
# CONFIG_MATH_EMULATION is not set
#
# CONFIG_MODULES is not set
#
CONFIG_NET=y
# CONFIG_PCI is not set
# CONFIG_MCA is not set
# CONFIG_SYSVIPC is not set
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_SYSCTL is not set
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_PARPORT is not set
#
# CONFIG_PNP is not set
#
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_IDE=y
#
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_BLK_DEV_IDECD is not set
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_IDE_CHIPSETS is not set
#
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_XD is not set
CONFIG_PARIDE_PARPORT=y
# CONFIG_PARIDE is not set
# CONFIG_BLK_DEV_HD is not set
#
# CONFIG_PACKET is not set
# CONFIG_NETLINK is not set
# CONFIG_FIREWALL is not set
# CONFIG_NET_ALIAS is not set
# CONFIG_FILTER is not set
CONFIG_UNIX=y
# CONFIG_INET is not set
#
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
#
# CONFIG_SCSI is not set
#
# CONFIG_NETDEVICES is not set
#
# CONFIG_HAMRADIO is not set
#
# CONFIG_ISDN is not set
#
# CONFIG_CD_NO_IDESCSI is not set
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
# CONFIG_SERIAL_CONSOLE is not set
# CONFIG_SERIAL_EXTENDED is not set
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_UNIX98_PTYS is not set
# CONFIG_MOUSE is not set
# CONFIG_QIC02_TAPE is not set
# CONFIG_APM is not set
# CONFIG_WATCHDOG is not set
# CONFIG_RTC is not set
# CONFIG_VIDEO_DEV is not set
# CONFIG_NVRAM is not set
# CONFIG_JOYSTICK is not set
#
# CONFIG_FTAPE is not set
#
# CONFIG_QUOTA is not set
# CONFIG_MINIX_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_ISO9660_FS is not set
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
# CONFIG_UMSDOS_FS is not set
# CONFIG_VFAT_FS is not set
CONFIG_PROC_FS=y
# CONFIG_HPFS_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_UFS_FS is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_NLS=y
#
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_1 is not set
CONFIG_NLS_ISO8859_2=y
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_KOI8_R is not set
#
CONFIG_VGA_CONSOLE=y
#
# CONFIG_SOUND is not set
#
# CONFIG_MAGIC_SYSRQ is not set

--
=======================================================================
  Andrzej M. Krzysztofowicz               ankry@mif.pg.gda.pl
  phone (48)(58) 347 14 61
Faculty of Applied Phys. & Math.,   Technical University of Gdansk

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html