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