[IRCServices] Segmentation Error at startup with database load

Michael Felt mamfelt at acm.org
Mon Jun 14 08:23:45 PDT 2004


Thanks for your answer.

As it has been about 15 or 16 years since I have done any serious assembly 
programming, and GNU is very new to me, I am a bit curious about why this 
particular solution is chosen.

What I usedto do years ago was define a struct, similiar to the way device 
drivers are/were added (maybe they do that differently today too) - in 
which one of the fields would be a pointer to a function. As I think of it, 
it is still pretty standard to include a pointer to a function to ioctl.

Would there be any interest in my looking a different way of doing this? Or 
will you prefer to do some inline assembly (ala SPARC)?

If interested I can send your cc "assembly" output to see what the compiler 
is turning it into. I havent made a real study of xlC and/or gcc assembly 
conventions. But I am certainly willing.

It is certainly frustrating to see everything there, but just not being 
returned properly.

At 11:02 AM 6/14/2004, you wrote:
>      This looks like the GCC __builtin_apply() bug I reported to the GCC
>team a while back (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8028).  The
>configure script should detect and work around this, though; I'm not sure
>why not.  I'll take a closer look at this report and see if I can figure
>the problem out.
>
> >I am wondering what the constant 64 means in:
> >extsyms.c:
> >
> >static void *__dblocal_##func##_stub(void) {                            \
> >     __dblocal_##func##_stub0();                                         \
> >     __builtin_return(__builtin_apply((void *)__dblocal_##func,          \
> >                      __builtin_apply_args(), 64));                      \
> >}                                                                       \
>
>      This is more suited to the -coding list, but 64 is the argument space
>reserved for the called function--I use 64 as an arbitrary value larger
>than anything that will actually be passed.  See the GCC documentation for
>details on how __builtin_apply() works.

Thanks again. Should I be posting to the -coding list - rather than here?


>   --Andrew Church
>     achurch at achurch.org
>     http://achurch.org/
>
>------------------------------------------------------------------
>To unsubscribe or change your subscription options, visit:
>http://www.ircservices.za.net/mailman/listinfo/ircservices