lkml.org 
[lkml]   [2005]   [Mar]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subjectunresolved symbols still in 2.4.30-rc2 (usbserial needs symbol tty_ldisc_ref and tty_ldisc_deref which are EXPORT_SYMBOL_GPL)



    I've been noticing that I'm still getting some "unresolved symbols"
    with the 2.4.30 pre and rc series.

    # insmod /lib/modules/2.4.30-rc2/kernel/drivers/usb/serial/usbserial.o
    /lib/modules/2.4.30-rc2/kernel/drivers/usb/serial/usbserial.o: unresolved
    symbol tty_ldisc_ref
    /lib/modules/2.4.30-rc2/kernel/drivers/usb/serial/usbserial.o: unresolved
    symbol tty_ldisc_deref

    I see that the symbols are defined in the system.map

    grep -i ' T .*tty_ldisc_.*ref' System.map
    c01daae8 T tty_ldisc_ref_wait
    c01dab6c T tty_ldisc_ref
    c01dab8c T tty_ldisc_deref

    grep 'tty_ldisc_.*ref' /proc/ksyms
    shows that the name changes in /proc/ksyms to:
    c01daae8 tty_ldisc_ref_wait_R__ver_tty_ldisc_ref_wait
    c01dab6c tty_ldisc_ref_R__ver_tty_ldisc_ref
    c01dab8c tty_ldisc_deref_R__ver_tty_ldisc_deref


    # nm -og /lib/modules/2.4.30-rc2/kernel/drivers/usb/serial/usbserial.o | grep
    'tty_ldisc_.*ref'
    /lib/modules/2.4.30-rc2/kernel/drivers/usb/serial/usbserial.o: U
    tty_ldisc_deref
    /lib/modules/2.4.30-rc2/kernel/drivers/usb/serial/usbserial.o: U
    tty_ldisc_ref

    If I just look at the symbol tty_ldisc_deref I find that
    usbserial is the only module I am using that is referencing in.
    find $PWD -name '*.o' | xargs nm -og | grep tty_ldisc_dere
    /lib/modules/2.4.30-rc2/kernel/drivers/usb/serial/usbserial.o: U
    tty_ldisc_deref

    grepping around in the kernel tree I see it exported from tty_io.c as:
    EXPORT_SYMBOL_GPL(tty_ldisc_deref);

    Why are some of the tty_ symbols exported _GPL, and others not?

    Shouldn't I be able to build the usbserial driver as a module?
    CONFIG_USB_SERIAL=m

    I just checked and ALL the modules I'm loading are GPL
    find /lib/modules/2.4.30-rc2 -name '*.o' | xargs modinfo -f
    '%{license}:%{filename}\n'

    ....
    GPL:/lib/modules/2.4.30-rc2/kernel/drivers/usb/serial/usbserial.o
    ...


    cat /proc/version
    Linux version 2.4.30-rc2 (dcd@dd) (gcc version egcs-2.91.66.1 19990314/Linux
    (egcs-1.1.2 release)) #1 Sat Mar 26 08:52:31 PST 2005

    ver_linux reports:
    Gnu C egcs-2.91.66.1
    Gnu make 3.79.1
    binutils 2.10
    util-linux 2.10o
    mount 2.10o
    modutils 2.4.2
    e2fsprogs 1.25
    Linux C Library 5.4.44
    ldd: version 1.9.9
    Linux C++ Library 27.2.1
    Linux C++ Library 27.2.1
    Procps 1.01
    Net-tools 1.51
    Kbd 0.89
    Sh-utils 2.0
    Modules Loaded usb-uhci usbcore 3c59x


    processor : 0
    vendor_id : GenuineIntel
    cpu family : 6
    model : 5
    model name : Pentium II (Deschutes)
    stepping : 1
    cpu MHz : 397.333
    cache size : 512 KB
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 2
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat
    pse36 mmx fxsr
    bogomips : 792.98


    # grep = .config

    CONFIG_X86=y
    CONFIG_UID16=y
    CONFIG_EXPERIMENTAL=y
    CONFIG_MODULES=y
    CONFIG_MODVERSIONS=y
    CONFIG_KMOD=y
    CONFIG_M686=y
    CONFIG_X86_WP_WORKS_OK=y
    CONFIG_X86_INVLPG=y
    CONFIG_X86_CMPXCHG=y
    CONFIG_X86_XADD=y
    CONFIG_X86_BSWAP=y
    CONFIG_X86_POPAD_OK=y
    CONFIG_RWSEM_XCHGADD_ALGORITHM=y
    CONFIG_X86_L1_CACHE_SHIFT=5
    CONFIG_X86_HAS_TSC=y
    CONFIG_X86_GOOD_APIC=y
    CONFIG_X86_PGE=y
    CONFIG_X86_USE_PPRO_CHECKSUM=y
    CONFIG_X86_PPRO_FENCE=y
    CONFIG_X86_F00F_WORKS_OK=y
    CONFIG_X86_MCE=y
    CONFIG_NOHIGHMEM=y
    CONFIG_X86_TSC=y
    CONFIG_NET=y
    CONFIG_PCI=y
    CONFIG_PCI_GOANY=y
    CONFIG_PCI_BIOS=y
    CONFIG_PCI_DIRECT=y
    CONFIG_ISA=y
    CONFIG_PCI_NAMES=y
    CONFIG_SYSVIPC=y
    CONFIG_SYSCTL=y
    CONFIG_KCORE_ELF=y
    CONFIG_BINFMT_AOUT=y
    CONFIG_BINFMT_ELF=y
    CONFIG_BINFMT_MISC=m
    CONFIG_PM=y
    CONFIG_PARPORT=m
    CONFIG_PARPORT_PC=m
    CONFIG_PARPORT_PC_CML1=m
    CONFIG_PNP=m
    CONFIG_ISAPNP=m
    CONFIG_BLK_DEV_FD=y
    CONFIG_BLK_DEV_LOOP=y
    CONFIG_BLK_DEV_RAM=m
    CONFIG_BLK_DEV_RAM_SIZE=4096
    CONFIG_BLK_STATS=y
    CONFIG_PACKET=y
    CONFIG_NETLINK_DEV=y
    CONFIG_UNIX=y
    CONFIG_INET=y
    CONFIG_PHONE=m
    CONFIG_IDE=y
    CONFIG_BLK_DEV_IDE=y
    CONFIG_BLK_DEV_IDEDISK=y
    CONFIG_BLK_DEV_IDECD=y
    CONFIG_BLK_DEV_CMD640=y
    CONFIG_BLK_DEV_CMD640_ENHANCED=y
    CONFIG_BLK_DEV_IDEPCI=y
    CONFIG_IDEPCI_SHARE_IRQ=y
    CONFIG_BLK_DEV_IDEDMA_PCI=y
    CONFIG_BLK_DEV_IDEDMA=y
    CONFIG_BLK_DEV_RZ1000=y
    CONFIG_NETDEVICES=y
    CONFIG_DUMMY=m
    CONFIG_NET_ETHERNET=y
    CONFIG_NET_VENDOR_3COM=y
    CONFIG_EL3=y
    CONFIG_VORTEX=m
    CONFIG_VT=y
    CONFIG_VT_CONSOLE=y
    CONFIG_SERIAL=y
    CONFIG_SERIAL_NONSTANDARD=y
    CONFIG_CYCLADES=m
    CONFIG_UNIX98_PTYS=y
    CONFIG_UNIX98_PTY_COUNT=256
    CONFIG_MOUSE=y
    CONFIG_PSMOUSE=y
    CONFIG_NVRAM=m
    CONFIG_RTC=m
    CONFIG_VIDEO_DEV=m
    CONFIG_AUTOFS_FS=y
    CONFIG_REISERFS_FS=y
    CONFIG_EXT3_FS=y
    CONFIG_JBD=y
    CONFIG_JBD_DEBUG=y
    CONFIG_FAT_FS=m
    CONFIG_MSDOS_FS=m
    CONFIG_VFAT_FS=m
    CONFIG_RAMFS=y
    CONFIG_ISO9660_FS=m
    CONFIG_JOLIET=y
    CONFIG_ZISOFS=y
    CONFIG_JFS_FS=y
    CONFIG_JFS_DEBUG=y
    CONFIG_JFS_STATISTICS=y
    CONFIG_MINIX_FS=m
    CONFIG_PROC_FS=y
    CONFIG_DEVPTS_FS=y
    CONFIG_EXT2_FS=y
    CONFIG_NFS_FS=y
    CONFIG_NFS_V3=y
    CONFIG_NFSD=y
    CONFIG_NFSD_V3=y
    CONFIG_SUNRPC=y
    CONFIG_LOCKD=y
    CONFIG_LOCKD_V4=y
    CONFIG_SMB_FS=m
    CONFIG_SMB_UNIX=y
    CONFIG_ZISOFS_FS=m
    CONFIG_MSDOS_PARTITION=y
    CONFIG_SMB_NLS=y
    CONFIG_NLS=y
    CONFIG_NLS_DEFAULT="iso8859-1"
    CONFIG_NLS_CODEPAGE_437=y
    CONFIG_NLS_ISO8859_1=y
    CONFIG_VGA_CONSOLE=y
    CONFIG_VIDEO_SELECT=y
    CONFIG_SOUND=m
    CONFIG_SOUND_OSS=m
    CONFIG_SOUND_CS4232=m
    CONFIG_SOUND_VMIDI=m
    CONFIG_SOUND_SB=m
    CONFIG_SOUND_YM3812=m
    CONFIG_USB=m
    CONFIG_USB_DEBUG=y
    CONFIG_USB_DEVICEFS=y
    CONFIG_USB_UHCI=m
    CONFIG_USB_UHCI_ALT=m
    CONFIG_USB_STV680=m
    CONFIG_USB_SERIAL=m
    CONFIG_USB_SERIAL_GENERIC=y
    CONFIG_USB_SERIAL_BELKIN=m
    CONFIG_USB_SERIAL_VISOR=m
    CONFIG_USB_SERIAL_PL2303=m
    CONFIG_DEBUG_KERNEL=y
    CONFIG_DEBUG_STACKOVERFLOW=y
    CONFIG_MAGIC_SYSRQ=y
    CONFIG_LOG_BUF_SHIFT=0
    CONFIG_ZLIB_INFLATE=m
    CONFIG_ZLIB_DEFLATE=m
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-04-06 13:30    [W:0.030 / U:31.680 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site