From: Brian C. <Bri...@su...> - 2003-01-20 16:16:13
|
Crud. I found a bug in my patch. Fixed it and sending again. Sorry for being such a bother. Brian > 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 Brian |