|
From: Florian K. <fl...@ei...> - 2015-04-21 12:20:07
|
On 21.04.2015 11:09, Christian Borntraeger wrote: > Several ways of fixing this > (a) using -march=z9-109 or later avoids literal pool (this system introduced extended immidiate values). This will happen anyway on recent distros (z9 was introduced 10 years ago, so most distros > have a default compiler option for z9 or later) > > (b) further increase func size. Increasing FN_SIZE sounds better than fiddling with compiler options. > Now: This actually shows, that the mmap PROT_WRITE | PROT_EXEC is wrong. Strictly > speaking we __need__ PROT_READ as well. It just does not matter as PROT_EXEC implies > PROT_READ on a page table level. You cannot execute an instruction without reading it first from somewhere. So, to me, specifying PROT_READ in addition to PROT_EXEC is redundant. We should leave the prot bits as is because they gave rise to r15075. In other words, this is a testcase for that change. Florian |