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