On Thu, 20 Mar 2025 17:02:06 -0500 Sahil Gupta s.gupta@arista.com wrote:
Hi Steven,
Hi,
Sorry for the really late reply. I'm cleaning out my inbox and just noticed this email.
On 6.12.0, sorttable is unable to sort 64-bit ELFs on 32-bit hosts because of the parsing of the start_mcount_loc and stop_mcount_loc values in get_mcount_loc():
*_start = strtoul(start_buff, NULL, 16);
and
*_stop = strtoul(stop_buff, NULL, 16);
This code makes the (often correct) assumption that the host and the target have the same architecture, however it runs into issues when compiling for a 64-bit target on a 32-bit host, as unsigned long is shorter than the pointer width. As a result, I've noticed that both start and stop max out at 2^32 - 1.
It seems that commit 4acda8ed fixes this issue inadvertently by directly extracting them from the ELF using the correct width. I'm wondering if it is possible to backport this as well as the other sorttable refactors to 6.12.0 since they fix this issue.
I think this is a good reason to mark that commit as stable and backport it to 6.12.
-- Steve
Sounds good, many thanks.
Sahil
linux-stable-mirror@lists.linaro.org