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

Reply via email to