[IRCServices] Segmentation Error at startup with database load

Andrew Church achurch at achurch.org
Mon Jun 14 18:02:25 PDT 2004


     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.

  --Andrew Church
    achurch at achurch.org
    http://achurch.org/