Comment 9 for bug 1574213

Revision history for this message
Pawel Kraszewski (linuxpedia.pl) wrote :

I run one more iteration on a clean system - prelink is somehow altering MMAP/WAIT4 arguments of application. In prelinked version calls look like that:

mmap(<HEX>, 3967488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = <HEX>

in nonprelinked, respective call looks like that:

mmap(NULL, 3967488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = <HEX>

Look at the #1 argument - in prelinked it tries to force specific address, in nonprelinked it takes the default.

Major divergence appears here:

Prelinked (not working):
wait4(22031, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL)

Unprelined (working):
wait4(31256, 0x7ffde8467074, 0, NULL)