This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

glibc source from cvs fails to compile.


The latest glibc from cvs has failed to compile atleast a week now and here are the errors when attempting to compile.

make[3]: Leaving directory `/tmp/glibc-2.4/elf'
gcc -nostdlib -nostartfiles -shared \
-Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -Wl,-z,defs -Wl,--verbose 2>&1 | \
LC_ALL=C \
sed -e '/^=========/,/^=========/!d;/^=========/d' \
-e 's/\. = 0 + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \
> /tmp/glibc-build/elf/ld.so.lds
gcc -nostdlib -nostartfiles -shared -o /tmp/glibc-build/elf/ld.so \
-Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -Wl,-z,defs \
/tmp/glibc-build/elf/librtld.os -Wl,--version-script=/tmp/glibc-build/ld.map \
-Wl,-soname=ld-linux.so.2 -T /tmp/glibc-build/elf/ld.so.lds
/tmp/glibc-build/elf/librtld.os: In function `add_dependency':
/tmp/glibc-2.4/elf/dl-lookup.c:106: undefined reference to `__sync_fetch_and_add_4'
/tmp/glibc-2.4/elf/dl-lookup.c:110: undefined reference to `__sync_val_compare_and_swap_4'
/tmp/glibc-build/elf/librtld.os: In function `_dl_profile_fixup':
/tmp/glibc-2.4/elf/dl-runtime.c:196: undefined reference to `__sync_val_compare_and_swap_4'
/tmp/glibc-2.4/elf/dl-runtime.c:205: undefined reference to `__sync_fetch_and_add_4'
/tmp/glibc-build/elf/librtld.os: In function `_dl_fixup':
/tmp/glibc-2.4/elf/dl-runtime.c:102: undefined reference to `__sync_val_compare_and_swap_4'
/tmp/glibc-2.4/elf/dl-runtime.c:110: undefined reference to `__sync_fetch_and_add_4'
/tmp/glibc-build/elf/librtld.os: In function `dl_open_worker':
/tmp/glibc-2.4/elf/dl-open.c:424: undefined reference to `__sync_val_compare_and_swap_4'
/tmp/glibc-2.4/elf/dl-open.c:426: undefined reference to `__sync_fetch_and_add_4'
/tmp/glibc-build/elf/librtld.os: In function `_dl_close_worker':
/tmp/glibc-2.4/elf/dl-close.c:406: undefined reference to `__sync_val_compare_and_swap_4'
/tmp/glibc-2.4/elf/dl-close.c:408: undefined reference to `__sync_fetch_and_add_4'
collect2: ld returned 1 exit status
make[2]: *** [/tmp/glibc-build/elf/ld.so] Error 1
make[2]: Leaving directory `/tmp/glibc-2.4/elf'
make[1]: *** [elf/subdir_lib] Error 2
make[1]: Leaving directory `/tmp/glibc-2.4'
make: *** [all] Error 2



Looking through the change, I think it might be the following that breaks it.


2007-01-15  Ulrich Drepper  <drepper@redhat.com>
* elf/dl-lookup.c (add_dependency): If scope map is locked, unlock
        it before getting dl_load_lock and then relock.
        (_dl_lookup_symbol_x): Pass flags to add_dependency.
        When rerunning _dl_lookup_symbol_x, compute symbol_scope again in
        case we unlocked the scope.
        * elf/dl-runtime.c (_dl_fixup): Pass DL_LOOKUP_SCOPE_LOCK to
        _dl_lookup_symbol_x in case we locked the scope.
        (_dl_profile_fixup): Likewise.
        * elf/dl-sym.c (do_sym): In flags passed to call_dl_lookup, also
        set DL_LOOKUP_SCOPE_LOCK.x


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]