rawhide report: 20080130 changes
Roland McGrath
roland at redhat.com
Wed Jan 30 20:59:16 UTC 2008
> This was caused by the update to file-4.23.
This was an upstream code change between 4.21 and 4.23, for which there is
no proper explanation I can find. Also, it wasn't changed for 64-bit ELF
files. This change should be reverted upstream.
In file-4.23/src/readelf.c, file_tryelf was changed to check e_type and
call doshn only for ET_EXEC and ET_DYN files. It really ought to just call
it for any type except ET_CORE, without listing the individual ones, like
it used to do. It is also perfectly fine to call dophn_exec for any file
with e_phnum != 0, without checking its type other than for ET_CORE.
The change was probably meant to call dophn_exec for ET_DYN too, which
64-bit still does not do. You'd get that just by not checking the type.
It would also be less error prone not to duplicate the logic for 32/64.
Instead, it can just call a shared function with the values from e_* fields.
Thanks,
Roland
More information about the fedora-devel-list
mailing list