Demontaż pliku binarnego ELF na systemie Ubuntu x86 Nie mogłem nie zauważyć, że sekcja kodu (.text) zaczyna się od wirtualnego adresu 0x8048000, a wszystkie adresy niższej pamięci wydają się być nieużywane.Dlaczego adresy pamięci wirtualnej dla plików binarnych linux zaczynają się od 0x8048000?
To wydaje się być raczej marnotrawstwem, a wszystkie Google pojawiają się jako folklore involving STACK_TOP lub ochrona przed dereferencjami o wartości zerowej. Ten drugi przypadek wygląda na to, że można go naprawić za pomocą pojedynczej strony zamiast pozostawić lukę 128 MB.
Moje pytanie brzmi - czy istnieje ostateczna odpowiedź na pytanie, dlaczego układ został poprawiony do tych wartości, czy jest to tylko arbitralny wybór?
Nie znam rzeczywistej odpowiedzi; ale może ten artykuł może pomóc lub przynajmniej dostarczyć interesującą lekturę! http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html –
możliwy duplikat [Dlaczego jest to wirtualny adres punktu wejścia ELF formularza 0x80xxxxx a nie zero 0x0?] (http: // stackoverflow .pl/questions/2187484/why-is-the-elf-execution-entry-point-virtual-address-of-the-form-0x80xxxxx-and-n) –