Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Sep 2015 16:50:03 +0300
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        marcel@FreeBSD.org, Steve Kiernan <stevek@juniper.net>, brooks@FreeBSD.org, current@FreeBSD.org
Subject:   Re: r286727 breaks geom_md.ko loading
Message-ID:  <20150916135003.GM1023@glebius.int.ru>
In-Reply-To: <20150916134249.GG67105@kib.kiev.ua>
References:  <20150916000019.GH1023@FreeBSD.org> <20150916051005.GF67105@kib.kiev.ua> <20150916131515.GL1023@glebius.int.ru> <20150916134249.GG67105@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help

--M/SuVGWktc5uNpra
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Wed, Sep 16, 2015 at 04:42:49PM +0300, Konstantin Belousov wrote:
K> On Wed, Sep 16, 2015 at 04:15:15PM +0300, Gleb Smirnoff wrote:
K> > On Wed, Sep 16, 2015 at 08:10:05AM +0300, Konstantin Belousov wrote:
K> > K> >   There is regression after r286727. Our dynamic kernel linker doesn't
K> > K> > support weak symbols, so the geom_md.ko can no longer be loaded dynamically
K> > K> > neither from loader nor at runtime. Having it statically in kernel is
K> > K> > the only working option.
K> > K> 
K> > K> Perhaps, something could be fixed in the dynamic linker ?
K> > K> 
K> > K> I checked both i386 and amd64, and on both arches I can load geom_md.ko.
K> > K> On the other hand, I do not use preloaded mfs images.  Can you explain
K> > K> how to reproduce the issue, and what linker is affected ?  Note that we
K> > K> have two kernel dynamic linkers, one is used on amd64 and mips, second one
K> > K> is for all other architectures.
K> > 
K> > To reproduce you need just a vanilla head, a kernel that doesn't have
K> > 'device md' in it, and run kldload geom_md.ko. Does that work for you?
K> 
K> Yes, it does, both on amd64 and i386.  You did not said which architecture
K> exposes your problem.  Post your kernel config.

It is amd64. Here is config.

-- 
Totus tuus, Glebius.

--M/SuVGWktc5uNpra
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=THINKPAD_X1

cpu		HAMMER
ident		THINKPAD_X1

makeoptions	DEBUG=-g
makeoptions	WITH_CTF=1

options 	SCHED_ULE		# ULE scheduler
options 	PREEMPTION		# Enable kernel thread preemption
options 	INET			# InterNETworking
options 	INET6			# IPv6 communications protocols
options 	SCTP			# Stream Control Transmission Protocol
options 	FFS			# Berkeley Fast Filesystem
options 	SOFTUPDATES		# Enable FFS soft updates support
options 	UFS_ACL			# Support for access control lists
options 	UFS_DIRHASH		# Improve performance on big directories
options 	UFS_GJOURNAL		# Enable gjournal-based UFS journaling
options 	MD_ROOT			# MD is a potential root device
options 	NFSCL			# New Network Filesystem Client
options 	NFSD			# New Network Filesystem Server
options 	NFSLOCKD		# Network Lock Manager
options 	NFS_ROOT		# NFS usable as /, requires NFSCL
options 	MSDOSFS			# MSDOS Filesystem
options 	CD9660			# ISO 9660 Filesystem
options 	PROCFS			# Process filesystem (requires PSEUDOFS)
options 	PSEUDOFS		# Pseudo-filesystem framework
options 	GEOM_PART_GPT		# GUID Partition Tables.
options 	GEOM_LABEL		# Provides labelization
options 	COMPAT_FREEBSD32	# Compatible with i386 binaries
options 	SCSI_DELAY=5000		# Delay (in ms) before probing SCSI
options 	KTRACE			# ktrace(1) support
options 	STACK			# stack(9) support
options 	SYSVSHM			# SYSV-style shared memory
options 	SYSVMSG			# SYSV-style message queues
options 	SYSVSEM			# SYSV-style semaphores
options 	_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options 	PRINTF_BUFR_SIZE=128	# Prevent printf output being interspersed.
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
options 	HWPMC_HOOKS		# Necessary kernel hooks for hwpmc(4)
options 	KDTRACE_FRAME		# Ensure frames are compiled in
options 	KDTRACE_HOOKS		# Kernel DTrace hooks
options		DDB_CTF
options 	INCLUDE_CONFIG_FILE     # Include this file in kernel

options 	KDB			# Enable kernel debugger support.
options 	DDB			# Support DDB.
options 	GDB			# Support remote GDB.

# Make an SMP-capable kernel by default
options 	SMP			# Symmetric MultiProcessor Kernel

# CPU frequency control
device		cpufreq

# Bus support.
device		acpi
options		ACPI_DMAR
device		pci

# ATA controllers
device		ahci		# AHCI-compatible SATA controllers
device		ata		# Legacy ATA/SATA controllers
options 	ATA_STATIC_ID	# Static device numbering

# ATA/SCSI peripherals
device		scbus		# SCSI bus (required for ATA/SCSI)
device		da		# Direct Access (disks)
device		cd		# CD
device		pass		# Passthrough device (direct ATA/SCSI access)

# atkbdc0 controls both the keyboard and the PS/2 mouse
device		atkbdc		# AT keyboard controller
device		atkbd		# AT keyboard
device		psm		# PS/2 mouse
device		kbdmux		# keyboard multiplexer

device		vt
device		vt_vga

device		agp		# support several AGP chipsets

# Serial (COM) ports
device		uart		# Generic UART driver

# Wireless NIC cards
device		wlan		# 802.11 support
options 	IEEE80211_DEBUG	# enable debug msgs
options 	IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
options 	IEEE80211_SUPPORT_MESH	# enable 802.11s draft support
device		wlan_wep	# 802.11 WEP support
device		wlan_ccmp	# 802.11 CCMP support
device		wlan_tkip	# 802.11 TKIP support
device		wlan_amrr	# AMRR transmit rate control algorithm
device		iwn		# Intel 4965/1000/5000/6000 wireless NICs.

# Pseudo devices.
device		loop		# Network loopback
device		random		# Entropy device
device		ether		# Ethernet support
device		vlan		# 802.1Q VLAN support
device		tun		# Packet tunnel.
device		pty		# BSD-style compatibility pseudo ttys
device		firmware	# firmware assist module
device		bpf		# Berkeley packet filter

# Sound support
device		sound		# Generic sound driver (required)
device		snd_hda		# Intel High Definition Audio

device		coretemp

device		crypto
device		cryptodev
device		aesni

--M/SuVGWktc5uNpra--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150916135003.GM1023>