How to fetch proper source for libc
I'm tracking a memory leak that appears to stem from regexec().
elf@florence ~...coastal/ssem > apt-cache policy libc6
libc6:
Installed: 2.3.1-5
Candidate: 2.3.1-5
Version Table:
*** 2.3.1-5 0
500 file: unstable/main Packages
100 /var/lib/dpkg/status
2.2.5-6 0
500 file: woody/main Packages
2.1.3-24 0
500 http://security.debian.org potato/updates/main Packages
However, when I fetch source I get version 2.2.5
elf@florence ~...coastal/ssem > apt-get source libc6
Reading Package Lists... Done
Building Dependency Tree... Done
Need to get 0B/11.8MB of source archives.
dpkg-source: extracting glibc in glibc-2.2.5
Odd, but I assume apt is doing the right thing.
My memory allocator saves a stack backtrace for each allocation so I
can pinpoint the culprit. The call stack looks like this:
regexec
re_search_internal
set_regs
proceed_next_node
re_node_set_insert
malloc
Note that this program is statically linked so that I can see all of
the symbols.
On building the library from source (2.2.5), these symbols are not
present. If I unpack 2.3.1 source I don't see the symbols in
posix/regex.c. Finally, I forced libc6-dev to reinstall the most
recent unstable version. The symbols are definitely still present in
/usr/lib/libc.a.
Any suggestions?
- Marc Singer
Reply to: