Message ID | Pine.LNX.4.64.1403220011340.19717@digraph.polyomino.org.uk |
---|---|
State | New |
Headers | show |
On Sat, 22 Mar 2014, Joseph S. Myers wrote: > with no GCC_3.0 version, and the symbols that should be in such a version > appearing in GLIBC_2.0 instead. But for an i686 build (on a different > system) I do see the GCC_3.0 version. And I also see it for a powerpc32 > build on the same system as the mips64el-linux-gnu build, so it appears to > be something about the configured host / set of symbols / symbol versions > rather than a build environment issue. Specifically, it's something to do with MIPS omitting versions between GLIBC_2.0 and GLIBC_2.2. If you add sysdeps/i386/shlib-versions reading i.86-.*-linux.* libc=6 GLIBC_2.0 GLIBC_2.2 then you get the symbols wrongly moved from GCC_3.0 to GLIBC_2.0 on an i686-pc-linux-gnu build (I don't know if the build completes, but the broken libc.map is generated).
Sorry about that. I'll try to start debugging this tomorrow (Tuesday, US/Pacific). But I might not find enough time to do it before next week. If the mips breakage seems urgent, then it should be viable to revert my change. I'll start playing with the case you suggested for a modified i386 build and hope that fixing that covers the real mips case. I haven't found easily installable mips cross tools for the system where I do most of my libc debugging (based on Ubuntu 12.04.4). Thanks, Roland
diff --git a/elf/Versions b/elf/Versions index 2383992..23deda9 100644 --- a/elf/Versions +++ b/elf/Versions @@ -12,6 +12,9 @@ libc { dl_iterate_phdr; } %ifdef EXPORT_UNWIND_FIND_FDE + # Needed for SHLIB_COMPAT calls using this version. + GLIBC_2.2.5 { + } GCC_3.0 { __deregister_frame_info_bases; __register_frame_info_bases; __register_frame_info_table_bases; _Unwind_Find_FDE;