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

Re: status of circulars dependencies in unstable



Hi,

On 2010年06月06日 15:21, Bill Allombert wrote:

Today circular dependencies in unstable reached an all-time low.

Excellent.

* libc6 libgcc1

This one is tricky, because it is an accurate reflection of the ELF headers. The gcc and glibc build processes actually jump through a lot of hoops to generate two libraries that have a circular dependency.

libgcc uses

- abort(), which is short and could be pulled in from libc_pic if we don't mind the code duplication

- memcpy() and memset(), which can be trivially reimplemented or pulled in from libc_pic

- malloc()/free()/realloc()/calloc(), which can be trivially implemented using mmap()/munmap()/memset() if chunks allocated here need not be freed by libc's free().

The other symbols from libgcc are weak references to pthread functions (i.e. no dependency there), and dl_iterate_phdr() from ld.so, which is supplied implicitly and ignored by dpkg-shlibdeps.

   Simon


Reply to: