On Sat, 8 Dec 2001, Jordan Breeding wrote: > Hello, > > I recently grabbed the linux-2.4.17-pre6 source and patched in the > "alsa-2001-11-29-1-linux-2.5.1pre3.patch" from ftp.alsa-project.org and > easily fixed all the rejected sections of the patch. I then copied all > the pertinent ALSA 0.9.0beta10 files into my source tree so that I could > have ALSA 0.9.0beta10. I previously tried the patch to use 0.9.0beta10 > but the structure of the patch had changed drastically and sequencer > support no longer compiled at all as well as the fact that once I booted > up without sequencer support ALSA reported that it found no devices even > though I have an SBLive! which works with the 0.9.0beta9 patch. So > anyway I have also recently upgraded my binutils and thought 2.4.17-pre6 > would be nice because of it's __devexit_p() approach to the binutils > problem. __devexit_p() did solve my problems with the actual ALSA
This macro is not used anywhere in the Linux kernel tree. > driver for my EMU10k1 (SBLive!) card but the sequencer support (I have > both ALSA sequencer and the OSS API Sequencer support enabled) errors > during linking with the standard .text.exit messages from the problem > with the new binutils now actually throwing away the symbols which linux > asks it to during linking. Here is the message from my `make bzImage`: > > make[2]: Nothing to be done for `all_targets'. > make[2]: Leaving directory `/usr/src/linux/arch/i386/lib' > make[1]: Leaving directory `/usr/src/linux/arch/i386/lib' > ld -m elf_i386 -T /usr/src/linux/arch/i386/vmlinux.lds -e stext > arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o > init/version.o \ > --start-group \ > arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o > mm/mm.o fs/fs.o ipc/ipc.o \ > drivers/acpi/acpi.o drivers/char/char.o drivers/block/block.o > drivers/misc/misc.o drivers/net/net.o drivers/media/media.o > drivers/char/agp/agp.o drivers/char/drm/drm.o drivers/ide/idedriver.o > drivers/scsi/scsidrv.o drivers/cdrom/driver.o > drivers/sound/sounddrivers.o drivers/pci/driver.o drivers/video/video.o > drivers/usb/usbdrv.o drivers/input/inputdrv.o drivers/i2c/i2c.o \ > net/network.o \ > /usr/src/linux/arch/i386/lib/lib.a /usr/src/linux/lib/lib.a > /usr/src/linux/arch/i386/lib/lib.a \ > --end-group \ > -o vmlinux > drivers/sound/sounddrivers.o(.data+0x3754): undefined reference to > `local symbols in discarded section .text.exit' > make: *** [vmlinux] Error 1 > > This type of error is normally found on drivers with a "remove:" > statement such as the ALSA driver for the emu10k1 and you can simply > change > > remove: function_which_belongs_here, > > to > > remove: __devexit_p(function_which_belongs_here), > > and then everything will work, however the file > drivers/sound/alsa/seq/oss/seq_oss.c in my kernel tree does not include > a "remove:" statement and I have tried changing "release:" as well as > making everything use __devinit/__devexit instead of __init/__exit but > none of these things made any difference. Can anyone offer some advice > to get sequencer support to work when build directly into the kernel > with the latest binutils? Thanks in advance. I am not on the list so > please CC: me, thanks. Try this patch: Index: seq_oss.c =================================================================== RCS file: /cvsroot/alsa/alsa-driver/kernel/seq/oss/seq_oss.c,v retrieving revision 1.36 diff -u -r1.36 seq_oss.c --- seq_oss.c 2001/10/12 10:43:19 1.36 +++ seq_oss.c 2001/12/09 09:35:52 @@ -296,7 +296,7 @@ return 0; } -static void __exit +static void unregister_proc(void) { #ifdef CONFIG_PROC_FS Jaroslav ----- Jaroslav Kysela <[EMAIL PROTECTED]> SuSE Linux http://www.suse.com ALSA Project http://www.alsa-project.org _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel