Re: UB Audio Drivers and the AudioReflector blitter lib
Re: UB Audio Drivers and the AudioReflector blitter lib
- Subject: Re: UB Audio Drivers and the AudioReflector blitter lib
- From: Nick <email@hidden>
- Date: Thu, 16 Feb 2006 15:24:46 +0000
Well spotted!
I've run into the same problem.. I switched to using the _Portable
functions on Intel because even with the same build settings as the
AudioReflectorDriver I'm experiencing kernel panics. So far no
crashes with the portable code, but plenty with the SSE code.
I haven't been able to find a way to reproduce the crashes on demand
though - has anyone else?
I've included the output of Xcode's build to demonstrate - maybe
someone can spot something wrong with this?
CompileC build/NovationUSBCoreAudio.build/Development/FloatSupport.build/Objects-normal/i386/PCMBlitterLibX86.o /Developer/Examples/CoreAudio/HAL/AudioReflectorDriver/PCMBlitterLibX86.cpp normal i386 c++ com.apple.compilers.gcc.4_0
cd /Users/nick/trunk/NovationUSBDriver/MacOSX/Audio
/usr/bin/gcc-4.0 -x c++ -arch i386 -pipe -Wno-trigraphs -fno-exceptions -fno-rtti -fpascal-strings -fasm-blocks -g -O3 -DKERNEL=1 -DKERNEL_PRIVATE=1 -fmessage-length=0 -Wno-invalid-offsetof -mmacosx-version-min=10.4 -I/Users/nick/trunk/NovationUSBDriver/MacOSX/Audio/build/NovationUSBCoreAudio.build/Development/FloatSupport.build/FloatSupport.hmap -F/Users/nick/trunk/NovationUSBDriver/MacOSX/Audio/build/Development -I/Users/nick/trunk/NovationUSBDriver/MacOSX/Audio/build/Development/include -I/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/Kernel.framework/Headers -I/Users/nick/trunk/NovationUSBDriver/MacOSX/Audio/build/NovationUSBCoreAudio.build/Development/FloatSupport.build/DerivedSources -fno-schedule-insns -fno-schedule-insns2 -static -findirect-virtual-calls -mlong-branch -isysroot /Developer/SDKs/MacOSX10.4u.sdk -c /Developer/Examples/CoreAudio/HAL/AudioReflectorDriver/PCMBlitterLibX86.cpp -o /Users/nick/trunk/NovationUSBDriver/MacOSX/Audio/build/NovationUSBCoreAudio.build/Development/FloatSupport.build/Objects-normal/i386/PCMBlitterLibX86.o
Regards,
Nick
On 22 Jan 2006, at 03:36, B.J. Buchalter wrote:
Hi Folks,
Just a quick warning to anyone using the Float <-> Int blitter lib
from the
AudioReflector driver on Intel.
AFAICT, you MUST have GCC 4's optimization level set to -O3 when
you compile
the Intel (x86) version. If you don't, it appears that the code
generated
can attempt to access aligned data on an unaligned stack. In the
kernel,
this causes a kernel panic; I have seen this when the watchdog fires
(although the main I/O path does not seem to trigger this). This
seems to
come from the unoptimized code stuffing a constant vector onto the
unaligned
stack.
So, if you are using this code, I would recommend carefully copying
over the
target configuration settings from the AudioReflectorDriver
Project. Of
course, the AudioReflectorDriver is set up to be built as a native
binary,
but not as a UB, so you will have to deal with the UB configuration
stuff
for KEXTs independently from the other configuration settings.
Bill or Jeff, does this need a Radar? Seems very bad that the
compiler can
generate code (or the system can generate a stack) that can cause a
bus
error storing a constant...
Best regards,
B.J. Buchalter
Metric Halo
5 Donovan Drive
Hopewell Junction, NY 12533 USA
tel +1 845 223-6112
fax +1 603 250-2451
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40yahoo.co.uk
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden