r286727 breaks geom_md.ko loading
Gleb Smirnoff
glebius at FreeBSD.org
Wed Sep 16 13:50:07 UTC 2015
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.
-------------- next part --------------
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
More information about the freebsd-current
mailing list