From: Brian C. <Bri...@su...> - 2003-01-20 14:42:02
|
Okay, I updated the patch again. This patch takes into account David Schleef's comments. I added "__GNUC__" ifdef's to the various __asm__ code for all compiler types, since you don't want to use gcc+'s inline assembly extensions if not using gcc. Forte does support inline, it just doesn't work well with __gst_debug_register_funcptr. This is because the Forte compiler only supports inline static functions. Since __gst_debug_register_funcptr is non-static, it needs to be defined as non-inline for Forte. I updated the patch to use the Forte #ifndef __sun rather than #ifdef __GNUC__, so this is cleaner. Since this is just a debug function, it probably isn't worth making this a static inline function in all functions that require GST_DEBUG_FUNCPTR. David also pointed out that the non-gcc version of CURRENT_STACK_FRAME should be the preferred method of getting the stack frame anyway. I didn't go ahead and make this change, since I felt that decision would be better left to someone that is more intimate with that part of the code. My patch for now is just to make the code compile on Forte. David pointed out that he thought that the entire gstarch.h could be surrounded by an #ifdef __GNUC__. However, note that Forte is falling into the "USE_MAKECONTEXT" #elif case, so not the *entire* file could be included with an #ifdef __GNUC__. :) Again I'll leave this change to someone more intimate with the code, if this is desired. This patch also addresses the compile issue that Christian Frederik pointed out, so it should work better for everyone. :) I'm using the #ifndef __sun rather than #ifdef __GNUC__, since this is a Forte specific issue. Brian > Updated patch. I found out that the previous patch I sent had a problem > which caused it to fail on patching configure.ac. I've heard that this > patch works better. :) > > Brian > > > > The attached patch makes gstreamer build fine with Forte! Finally got > > all the issues sorted. Could this patch be applied to gstreamer head? > > > > Brian > > > > > > Note: things still aren't working 100% with Forte. Running "make check" > > fails as follows. > > > > --make check output start-- > > > > make[5]: Entering directory > > `/export/home/build/gnome/future/gstreamer/libs/ext/cothreads/tests' > > 0: calling the pthread function directly > > 0: spawning a new cothread > > > > (process:3848): Cothreads-CRITICAL **: mmap failed, captain > > > > Cothreads-ERROR **: could not allocate a new cothread stack > > aborting... > > FAIL: cothreads > > 0: spawning a new cothread (iteration 1) > > FAIL: dynamic > > =================== > > 2 of 2 tests failed > > =================== > > > > --make check output end-- > > > > Brian > > > Brian Brian |