When emerging alsa-driver-1.0.8_rc2 using gcc 3.4.3 as compiler, I got the following error: CC [M] /mnt/backup/vartmp/portage/alsa-driver-1.0.8_rc2/work/alsa-driver-1.0.8rc2/pci/echoaudio/darla20.o In file included from /mnt/backup/vartmp/portage/alsa-driver-1.0.8_rc2/work/alsa-driver-1.0.8rc2/pci/echoaudio/darla20.c:109: /mnt/backup/vartmp/portage/alsa-driver-1.0.8_rc2/work/alsa-driver-1.0.8rc2/pci/echoaudio/echoaudio_dsp.c: In function `load_firmware': /mnt/backup/vartmp/portage/alsa-driver-1.0.8_rc2/work/alsa-driver-1.0.8rc2/pci/echoaudio/echoaudio.h:424: sorry, unimplemented: inlining failed in call to 'free_firmware': function body not available /mnt/backup/vartmp/portage/alsa-driver-1.0.8_rc2/work/alsa-driver-1.0.8rc2/pci/echoaudio/echoaudio_dsp.c:544: sorry, unimplemented: called from here Previous versions of alsa driver don't work either. Tried 1.0.8 rc1 and 1.0.7, neither will compile. The errors are varied. Reproducible: Always Steps to Reproduce: 1.ACCEPT_KEYWORDS=~x86 emerge alsa-driver 2. 3. Actual Results: <snip> CC [M] /mnt/backup/vartmp/portage/alsa-driver-1.0.8_rc2/work/alsa-driver-1.0.8rc2/pci/echoaudio/darla20.o In file included from /mnt/backup/vartmp/portage/alsa-driver-1.0.8_rc2/work/alsa-driver-1.0.8rc2/pci/echoaudio/darla20.c:109: /mnt/backup/vartmp/portage/alsa-driver-1.0.8_rc2/work/alsa-driver-1.0.8rc2/pci/echoaudio/echoaudio_dsp.c: In function `load_firmware': /mnt/backup/vartmp/portage/alsa-driver-1.0.8_rc2/work/alsa-driver-1.0.8rc2/pci/echoaudio/echoaudio.h:424: sorry, unimplemented: inlining failed in call to 'free_firmware': function body not available /mnt/backup/vartmp/portage/alsa-driver-1.0.8_rc2/work/alsa-driver-1.0.8rc2/pci/echoaudio/echoaudio_dsp.c:544: sorry, unimplemented: called from here <snip> Expected Results: Compile cleanly kernel 2.6.10
Created attachment 48421 [details, diff] replace inlined free_firmware by a macro The inlined function free_firmware is using a function from the kernel-source .. looks like this isn't possible with the new gcc. Since free_firmware is just 2 lines long it should be easily replaced by a macro.
IIRC 'static inline' functions are invalid (and always have been?)
Newest alsa-driver in ~x86, 1.0.9_rc3, works with GCC 3.4.