[Gc] [bdwgc] 7.2alpha6 fails to compile with clang (#14)
Hans Aberg
haberg-1 at telia.com
Sun Mar 4 03:55:34 PST 2012
On 4 Mar 2012, at 11:50, Ivan Maidanski wrote:
> I've added a workaround for the bug to "release" branch - please test it.
> (I've post the alternate solution to "master" branch on Monday after testing.)
It compiled, from 'git clone --branch "release" ...', and all 10 'make check' tests passed, though I got 3 warnings (below), and linker comments (even further below).
Hans
--------
libtool: compile: /usr/bin/clang -DHAVE_CONFIG_H -I./include -I../bdwgc/include -I./libatomic_ops/src -I../bdwgc/libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT dyn_load.lo -MD -MP -MF .deps/dyn_load.Tpo -c ../bdwgc/dyn_load.c -fno-common -DPIC -o .libs/dyn_load.o
../bdwgc/dyn_load.c:1379:37: warning: incompatible pointer types passing 'void (const struct mach_header_64 *, intptr_t)' to parameter of type
'void (*)(const struct mach_header *, intptr_t)' [-Wincompatible-pointer-types]
_dyld_register_func_for_add_image(GC_dyld_image_add);
^~~~~~~~~~~~~~~~~
/usr/include/mach-o/dyld.h:61:54: note: passing argument to parameter 'func' here
extern void _dyld_register_func_for_add_image(void (*func)(const struct mach_header* mh, intptr_t vmaddr_slide)) ...
^
../bdwgc/dyn_load.c:1380:40: warning: incompatible pointer types passing 'void (const struct mach_header_64 *, intptr_t)' to parameter of type
'void (*)(const struct mach_header *, intptr_t)' [-Wincompatible-pointer-types]
_dyld_register_func_for_remove_image(GC_dyld_image_remove);
^~~~~~~~~~~~~~~~~~~~
/usr/include/mach-o/dyld.h:62:57: note: passing argument to parameter 'func' here
extern void _dyld_register_func_for_remove_image(void (*func)(const struct mach_header* mh, intptr_t vmaddr_slide)) ...
^
../bdwgc/dyn_load.c:1403:12: warning: '_dyld_bind_fully_image_containing_address' is deprecated [-Wdeprecated-declarations]
if (!_dyld_bind_fully_image_containing_address(
^
3 warnings generated.
--------
libtool: link: ar cru .libs/libgc.a allchblk.o alloc.o blacklst.o checksums.o dbg_mlc.o dyn_load.o finalize.o gc_dlopen.o gcj_mlc.o headers.o malloc.o mallocx.o mark.o mark_rts.o misc.o new_hblk.o obj_map.o os_dep.o pcr_interface.o ptr_chck.o real_malloc.o reclaim.o specific.o stubborn.o typd_mlc.o backgraph.o thread_local_alloc.o pthread_start.o pthread_support.o pthread_stop_world.o darwin_stop_world.o atomic_ops.o mach_dep.o
/usr/bin/ranlib: file: .libs/libgc.a(checksums.o) has no symbols
/usr/bin/ranlib: file: .libs/libgc.a(gc_dlopen.o) has no symbols
/usr/bin/ranlib: file: .libs/libgc.a(pcr_interface.o) has no symbols
/usr/bin/ranlib: file: .libs/libgc.a(real_malloc.o) has no symbols
/usr/bin/ranlib: file: .libs/libgc.a(specific.o) has no symbols
/usr/bin/ranlib: file: .libs/libgc.a(backgraph.o) has no symbols
/usr/bin/ranlib: file: .libs/libgc.a(pthread_stop_world.o) has no symbols
libtool: link: ranlib .libs/libgc.a
ranlib: file: .libs/libgc.a(checksums.o) has no symbols
ranlib: file: .libs/libgc.a(gc_dlopen.o) has no symbols
ranlib: file: .libs/libgc.a(pcr_interface.o) has no symbols
ranlib: file: .libs/libgc.a(real_malloc.o) has no symbols
ranlib: file: .libs/libgc.a(specific.o) has no symbols
ranlib: file: .libs/libgc.a(backgraph.o) has no symbols
ranlib: file: .libs/libgc.a(pthread_stop_world.o) has no symbols
libtool: link: ( cd ".libs" && rm -f "libgc.la" && ln -s "../libgc.la" "libgc.la" )
/bin/sh ./libtool --tag=CC --mode=compile /usr/bin/clang -DHAVE_CONFIG_H -I./include -I../bdwgc/include -I./libatomic_ops/src -I../bdwgc/libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT cordbscs.lo -MD -MP -MF .deps/cordbscs.Tpo -c -o cordbscs.lo `test -f 'cord/cordbscs.c' || echo '../bdwgc/'`cord/cordbscs.c
--------
More information about the Gc
mailing list