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 
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.

Jordan Breeding
[EMAIL PROTECTED]


_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to