> Novější jádra namapují procesu stránku, na které se nachází vstup a výstup ze syscallu.
Jenže KAM ji mapují? Hledal jsem v hlavičkách pro glibc a nic jsem nenašel. Je to pevná virtuální adresa, která nezávisí na verzi kernelu? Jaká?
Jak se taková stránka volá, když i386 neumí pro "call" a "jmp" jiný operand než pc-relativní? To každé místo, kde v kódu volám kernel generuje relokaci? Pro programy to sice nevadí, ale co volání kernelu z -f PIC kódu? To tam bude navíc další jump instrukce s indirekcí přes GOT? Každý nepřímý skok na AMD i Intelu flushuje pipelie. Nebylo by lepší mít vsyscall stránku namapovanou na začátku každé knihovny?
Názor k článku
Programujeme v jazyce Assembler v Linuxu: Úvod
Zdenek (neregistrovaný)
23. 7. 2004 11:15

