а куда ваще можно писать в памяти? в rodata только? в .text нельзя? если у нас функа принимает адрес допустим куда ей записать
По дефолту ядро, когда грузит секцию text, вешает на неё флаги, разрешающие выполнение, и запрещающие писать
При загрузке rodata нельзя ни выполнять, ни писать
Писать можно или в data/bss (still no execute), или куда там либца твою хипу положит.
Хочешь и писать, и исполнять - юзай mmap