[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#330279: gcc-4.0: #pragma GCC visibility isn't properly handled for builtin functions



Package: gcc-4.0
Version: 4.0.1-9
Severity: important


This is upstream bug #20297
(http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20297)
and got triggered while building mozilla-firefox 1.5beta1 on powerpc
(see bug #330015). While a workaround is possible (use
-fvisibility=hidden instead of the system wrappers) it is still
annoying to have to workaround such bugs.

This simple source code triggers the bug:

glandium@bruckner:~$ cat bugtest.c
#pragma GCC visibility push(hidden)
#pragma GCC visibility push(default)
#include <string.h>
#pragma GCC visibility pop

__attribute__ ((visibility ("default"))) void Func() {
        char c[100];
        memset(c, 0, sizeof(c));
}

glandium@bruckner:~$ gcc -fPIC -o bugtest.so bugtest.c
/usr/lib/gcc/powerpc-linux-gnu/4.0.2/../../../../lib/crt1.o:(.rodata+0x4): undefined reference to `main'
/tmp/ccJ1TFae.o: In function `Func':
bugtest.c:(.text+0x28): undefined reference to `memset@@GLIBC_2.0'
collect2: ld returned 1 exit status



Reply to: