------- Comment #9 from sebor at roguewave dot com  2006-05-17 21:35 -------
Here's what I learned from Sun:

Here is the test case from that bug report:

   [Makefile]
main: main.o libshibby.so
        gcc -L. -lshibby -Wl,-R. -o main main.o
main.o: main.c
        gcc -c -o main.o main.c
libshibby.so: shibby.c
        gcc -c shibby.c -fPIC -o shibby.o
        /usr/ccs/bin/ld -G -dy -z text -Y P,/usr/ccs/lib:/usr/lib \
                        -Qy -o libshibby.so shibby.o
clean:
        rm *.o *.so
[main.c]
int main(int argc, char *argv[])
{
    shibby();
    return 0;
}
[shibby.c]
#include <ucontext.h>
static void foo()
{
    printstack(1);
}
void shibby()
{
    foo();
}

Here is the workaround:
Making the function calling printstack() global
instead of static will avoid this situation.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27629

Reply via email to