[binutils-gdb] Fix elf_gnu_ifunc_resolve_by_got buglet
sergiodj+buildbot@sergiodj.net
sergiodj+buildbot@sergiodj.net
Thu Apr 26 14:27:00 GMT 2018
*** TEST RESULTS FOR COMMIT 28f4fa4d0540ac6a23930202f39782167667e373 ***
Author: Pedro Alves <palves@redhat.com>
Branch: master
Commit: 28f4fa4d0540ac6a23930202f39782167667e373
Fix elf_gnu_ifunc_resolve_by_got buglet
The next patch will add a call to elf_gnu_ifunc_resolve_by_got that
trips on a latent buglet -- the function is writing to its output
parameter even if the address wasn't found, confusing the caller. The
function's intro comment says:
/* Try to find the target resolved function entry address of a STT_GNU_IFUNC
function NAME. If the address is found it is stored to *ADDR_P (if ADDR_P
is not NULL) and the function returns 1. It returns 0 otherwise.
So fix the function accordingly.
gdb/ChangeLog:
2018-04-26 Pedro Alves <palves@redhat.com>
* elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
unless we actually resolved the ifunc.
More information about the Gdb-testers
mailing list