+2008-12-16 Roland McGrath <roland@redhat.com>
+
+ * dwfl_module_build_id.c (dwfl_module_build_id): Define with alias and
+ symver magic to bind to ELFUTILS_0.138.
+ (_BUG_COMPAT_dwfl_module_build_id): New function, bug compatible
+ wrapper for ELFUTILS_0.130 version set.
+
2008-12-15 Roland McGrath <roland@redhat.com>
* derelocate.c (dwfl_module_relocate_address): Apply main.bias, not
}
int
-dwfl_module_build_id (Dwfl_Module *mod,
- const unsigned char **bits, GElf_Addr *vaddr)
+__dwfl_module_build_id (Dwfl_Module *mod,
+ const unsigned char **bits, GElf_Addr *vaddr)
{
if (mod == NULL)
return -1;
*vaddr = mod->build_id_vaddr;
return mod->build_id_len;
}
-INTDEF (dwfl_module_build_id)
+extern __typeof__ (dwfl_module_build_id) INTUSE(dwfl_module_build_id)
+ __attribute__ ((alias ("__dwfl_module_build_id")));
+asm (".symver "
+ "__dwfl_module_build_id, dwfl_module_build_id@@ELFUTILS_0.138");
+
+int
+_BUG_COMPAT_dwfl_module_build_id (Dwfl_Module *mod,
+ const unsigned char **bits, GElf_Addr *vaddr)
+{
+ int result = INTUSE(dwfl_module_build_id) (mod, bits, vaddr);
+ if (result > 0)
+ *vaddr += (result + 3) & -4;
+ return result;
+}
+asm (".symver "
+ "_BUG_COMPAT_dwfl_module_build_id, dwfl_module_build_id@ELFUTILS_0.130");