As Roland and I discussed on IRC, it would be nice if using _ELFUTILS_PREREQ invoked some symbol versioning too, so that compiling a package against newer elfutils would pull up the rpm dependencies with it.
For example, I'd like to write compatibility code around commit de69d52 for whether attr_integrate is handled -- if the compile-time check decides that elfutils is new enough, then rpm needs to make sure that the user gets the update too.
I don't know the magic to make that happen, but Roland wanted me to send a reminder to the list. :)
Thanks!
Josh
As Roland and I discussed on IRC, it would be nice if using _ELFUTILS_PREREQ invoked some symbol versioning too, so that compiling a package against newer elfutils would pull up the rpm dependencies with it.
It's not a generic issue about _ELFUTILS_PREREQ.
For example, I'd like to write compatibility code around commit de69d52 for whether attr_integrate is handled -- if the compile-time check decides that elfutils is new enough, then rpm needs to make sure that the user gets the update too.
It's just about new symbol versions for these changed functions.
I don't know the magic to make that happen, but Roland wanted me to send a reminder to the list. :)
I'll poke at it now.
I've done it in commit ebfb648. Please verify that when linking against the new libdw.so your references now get bound to ELFUTILS_0.143 definitions for the functions changed in commit de69d52.
Thanks, Roland
On 08/09/2009 03:42 PM, Roland McGrath wrote:
I've done it in commit ebfb648. Please verify that when linking against the new libdw.so your references now get bound to ELFUTILS_0.143 definitions for the functions changed in commit de69d52.
Looks good -- I now see:
$ nm ./stap | grep dwarf_decl_ U dwarf_decl_file@@ELFUTILS_0.143 U dwarf_decl_line@@ELFUTILS_0.143
Thanks,
Josh
On 08/09/2009 03:42 PM, Roland McGrath wrote:
I've done it in commit ebfb648. Please verify that when linking against the new libdw.so your references now get bound to ELFUTILS_0.143 definitions for the functions changed in commit de69d52.
Looks good -- I now see:
$ nm ./stap | grep dwarf_decl_ U dwarf_decl_file@@ELFUTILS_0.143 U dwarf_decl_line@@ELFUTILS_0.143
Cool. What I've done for these is just two symbol versions for the same entry points. Old binaries that call the old symbol version will get the new dwarf_attr_integrate behavior too. But new binaries can rely on it when compiled against >= 0.143, and their dependencies will make sure they require libraries with the new behavior.
Thanks, Roland
elfutils-devel@lists.fedorahosted.org