Subject: port-arm/22015: ld has internal error when loading kernel module on evbarm
To: None <gnats-bugs@gnats.netbsd.org>
From: None <s.heitmann@lake.com.au>
List: netbsd-bugs
Date: 06/30/2003 06:50:33
>Number:         22015
>Category:       port-arm
>Synopsis:       ld has internal error when loading kernel module on evbarm
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-arm-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jun 30 06:51:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     stewart heitmann
>Release:        1.6R for evbarm/LUBBOCK with Hiroyuki Bessho's Dec 2002 patches for LUBBOCK
>Organization:
Lake Technology Ltd
>Environment:
NetBSD dbpxa250 1.6R NetBSD 1.6R (LUBBOCK) #63: Mon Jun 30 11:49:01 EST 2003  stewart@copernicus:/usr/home/stewart/NetBSD/sys/arch/evbarm/compile/obj/LUBBOCK evbarm
>Description:
Attempting to load any kernel module results in the following error:

# modload -d -v /usr/lkm/msdosfs.o
ld -R /netbsd -e msdosfs_lkmentry -o /usr/lkm/msdosfs -Ttext 0x0 /usr/lkm/msdosfs.o
ld: internal error: aborting at /usr/home/stewart/NetBSD/gnu/dist/toolchain/ld/ldlang.c line 3847 in lang_place_orphans
ld: please report this bug
modload: can't prelink `/usr/lkm/msdosfs.o' creating `/usr/lkm/msdosfs'

and another example

# modload -d -v /usr/lkm/mfs.o
ld -R /netbsd -e mfs_lkmentry -o /usr/lkm/mfs -Ttext 0x0 /usr/lkm/mfs.o
ld: Warning: size of symbol `mfs_close' changed from 220 to 216 in /usr/lkm/mfs.o
ld: Warning: size of symbol `mfs_mountroot' changed from 512 to 504 in /usr/lkm/mfs.o
ld: Warning: size of symbol `mfs_start' changed from 528 to 408 in /usr/lkm/mfs.o
ld: Warning: size of symbol `mfs_mount' changed from 700 to 704 in /usr/lkm/mfs.o
ld: Warning: size of symbol `mfs_statfs' changed from 64 to 72 in /usr/lkm/mfs.old: Warning: size of symbol `mfs_inactive' changed from 132 to 100 in /usr/lkm/mfs.o
ld: Warning: size of symbol `mfs_bmap' changed from 76 to 72 in /usr/lkm/mfs.o
ld: Warning: size of symbol `mfs_doio' changed from 124 to 116 in /usr/lkm/mfs.old: internal error: aborting at /usr/home/stewart/NetBSD/gnu/dist/toolchain/ld/ldlang.c line 3847 in lang_place_orphans
ld: please report this bug
modload: can't prelink `/usr/lkm/mfs.o' creating `/usr/lkm/mfs'
>How-To-Repeat:
as above. 
my kernel config file is:

#
#	LUBBOCK -- Intel LUBBOCK Evaluation Board Kernel
#

include	"arch/evbarm/conf/std.lubbock"

# estimated number of users

maxusers	32

#options INTR_DEBUG

# Standard system options

options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
#options 	NTP		# NTP phase/frequency locked loop

# CPU options

options 	CPU_XSCALE_PXA2X0	# Support the XScale core
options		XSCALE_CACHE_WRITE_THROUGH
makeoptions	COPTS="-O2 -march=armv5 -mtune=xscale"

# Architecture options

# File systems

file-system	FFS		# UFS
#file-system	LFS		# log-structured file system
file-system	MFS		# memory file system
file-system	NFS		# Network file system
#file-system 	ADOSFS		# AmigaDOS-compatible file system
#file-system 	EXT2FS		# second extended file system (linux)
#file-system	CD9660		# ISO 9660 + Rock Ridge file system
#file-system	MSDOSFS		# MS-DOS file system
#file-system	FDESC		# /dev/fd
#file-system	KERNFS		# /kern
#file-system	NULLFS		# loopback file system
#file-system	PORTAL		# portal filesystem (still experimental)
#file-system	PROCFS		# /proc
#file-system	UMAPFS		# NULLFS + uid and gid remapping
#file-system	UNION		# union file system

# File system options
#options 	QUOTA		# UFS quotas
#options 	FFS_EI		# FFS Endian Independant support
#options 	NFSSERVER
#options 	SOFTDEP

# Networking options

#options 	GATEWAY		# packet forwarding
options 	INET		# IP + ICMP + TCP + UDP
#options 	INET6		# IPV6
#options 	IPSEC		# IP security
#options 	IPSEC_ESP	# IP security (encryption part; define w/ IPSEC)
#options 	IPSEC_DEBUG	# debug for IP security
#options 	MROUTING	# IP multicast routing
#options 	NS		# XNS
#options 	NSIP		# XNS tunneling over IP
#options 	ISO,TPIP	# OSI
#options 	EON		# OSI tunneling over IP
#options 	CCITT,LLC,HDLC	# X.25
#options 	NETATALK	# AppleTalk networking
#options 	PFIL_HOOKS	# pfil(9) packet filter hooks
#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
#options 	PPP_DEFLATE	# Deflate compression support for PPP
#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG

options 	NFS_BOOT_BOOTP
#options 	NFS_BOOT_DHCP
#options 	NFS_BOOT_BOOTPARAM

# Compatibility options

#options 	COMPAT_43	# 4.3BSD compatibility.
options 	COMPAT_15	# NetBSD 1.5 compatibility.
#options 	COMPAT_14	# NetBSD 1.4 compatibility.
#options 	COMPAT_13	# NetBSD 1.3 compatibility.
#options 	COMPAT_12	# NetBSD 1.2 compatibility.
#options 	COMPAT_11	# NetBSD 1.1 compatibility.
#options 	COMPAT_10	# NetBSD 1.0 compatibility.
#options 	COMPAT_09	# NetBSD 0.9 compatibility.
#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.

# Shared memory options

#options 	SYSVMSG		# System V-like message queues
#options 	SYSVSEM		# System V-like semaphores
#options 	SEMMNI=10	# number of semaphore identifiers
#options 	SEMMNS=60	# number of semaphores in system
#options 	SEMUME=10	# max number of undo entries per process
#options 	SEMMNU=30	# number of undo structures in system
#options 	SYSVSHM		# System V-like memory sharing
#options 	SHMMAXPGS=1024	# 1024 pages is the default

# Device options

##options 	MEMORY_DISK_HOOKS	# boottime setup of ramdisk
##options 	MEMORY_DISK_SERVER=1    # disable system server for userspace memory disks
##options 	MEMORY_DISK_IS_ROOT	# use memory disk as root
##options 	MEMORY_DISK_ROOT_SIZE=16384   # (8192K) size in blocks (max possible)

# Miscellaneous kernel options
#options 	KTRACE		# system call tracing, a la ktrace(1)
options 	LKM	    	# loadable kernel modules
#options 	KMEMSTATS	# kernel memory statistics
#options 	SCSIVERBOSE	# Verbose SCSI errors
options 	PCIVERBOSE	# Verbose PCI descriptions
#options 	MIIVERBOSE	# Verbose MII autoconfuration messages
#options 	DDB_KEYCODE=0x40
#options 	USERCONF	# userconf(4) support

# Development and Debugging options

#options 	DIAGNOSTIC	# internally consistency checks
#options 	DEBUG
#options 	PMAP_DEBUG	# Enable pmap_debug_level code
#options 	IPKDB		# remote kernel debugging
#options 	VERBOSE_INIT_ARM # verbose bootstraping messages
#options 	DDB		# in-kernel debugger
#options 	DDB_HISTORY_SIZE=100	# Enable history editing in DDB
#options 	KGDB
#options  	DEBUG_KGDB
##makeoptions	DEBUG="-g"	# compile full symbol table
#options 	SYMTAB_SPACE=200000
options     INSECURE    # allow LKM loads in multi-user mode

#config		netbsd		root on ? type ?
config		netbsd		root on sm0 type nfs

# The main bus device
mainbus0	at root

# The boot cpu
cpu0		at mainbus?

# integrated peripherals
pxaip0	at mainbus?

# cotulla integrated 16550 UARTs
options COM_PXA2X0
com0	at pxaip?  index 0      # Full Function UART
##com1	at pxaip?  index 1 	# BlueTootth UART
#com2	at pxaip?  index 2	# Standard UART (for IrDA)
options FFUARTCONSOLE
options BTUARTCONSOLE
##options KGDB_DEVNAME="\"btuart\""   # ffuart or btuart
##options KGDB_DEVRATE=115200

# On-board device support
obio0		at pxaip? intr 8
sm0		at obio? addr 0x0c000000 intr 3 	# on-board SMC 91C96
#options LUBBOCK_SMC91C96_16BIT

# LCD
##lcd0		at obio?
##wsdisplay*	at lcd? console ?
##options FONT_SONY8x16
##options 	WSEMUL_VT100		# VT100 / VT220 emulation

# SA1111 companion chip
##sacc0	at obio? addr 0x10000000 intr 1

##sacpcic* at sacc?
##pcmcia*	at sacpcic?

##sackbc0 at sacc0 addr 0x0a00 intr 21
##sackbc1 at sacc0 addr 0x0c00 intr 18

##pckbd* at sackbc0 slot 0         # slot is bogus but needed.
##wskbd* 		at pckbd? # console ?
#pms* at sackbc1 slot 0
#wsmouse*	at pms? mux 0

#
# Networking devices
#
##ne*	at pcmcia? function ?		# NE2000-compatible Ethernet
##ep*	at pcmcia? function ?		# 3Com 3c589 and 3c562 Ethernet

# PCMCIA serial interfaces
##com*	at pcmcia? function ?		# Modems and serial cards

# Pseudo-Devices

# disk/mass storage pseudo-devices
pseudo-device	md		1	# memory disk device (ramdisk)
#pseudo-device	vnd		4	# disk-like interface to files

# network pseudo-devices
pseudo-device	bpfilter	4	# Berkeley packet filter
pseudo-device	loop			# network loopback

# miscellaneous pseudo-devices
##pseudo-device	pty			# pseudo-terminals
pseudo-device	rnd			# /dev/random and in-kernel generator (needed by ssh)

##pseudo-device	wsmux			# mouse & keyboard multiplexor




>Fix:
no known fix
>Release-Note:
>Audit-Trail:
>Unformatted: