Quindi x86-64 ha gli indirizzamenti relativi al RIP che rendono i codici PIC facili da scrivere e le rilocazioni necessarie molto meno. Perché le delocalizzazioni sono ancora necessarie allora su x86-64? Per quali caratteristiche? Posso provare a esplorare con objdump
ma quali modelli di codice C/C++ compilare per vedere?con indirizzamento RIP, perché x86-64 ha ancora bisogno di riposizionamenti?
9
A
risposta
7
This article spiega meglio di me, ma fondamentalmente le variabili globali in una libreria condivisa.
Problemi correlati
- 1. TFS TFS ha ancora bisogno di file .vspcc?
- 2. Perché Idris ha bisogno di essere reciproco?
- 3. Perché questa proprietà ha bisogno di "conservare"?
- 4. Perché il web ha bisogno di HTTP?
- 5. Perché C ha bisogno di matrici se ha puntatori?
- 6. Perché C++ 1 * ha ancora bisogno della parola chiave template al posto della duck Full Typing
- 7. Abbiamo ancora bisogno di AsyncEnumerator di Richter?
- 8. Perché il C++ ha bisogno di sinonimi di operatore?
- 9. Ho ancora bisogno di utilizzare l'istruzione preparata
- 10. , ma ho ancora bisogno di intestazioni?
- 11. Perché un tag `a` ha bisogno di` tabindex = 0`?
- 12. Babele ha bisogno di es6-shim?
- 13. Perché iconv di PHP ha bisogno di setlocale?
- 14. Perché f = (+) non ha bisogno di un'annotazione di tipo?
- 15. Perché non posso salvare il valore di rip?
- 16. Perché Lucene QueryParser ha bisogno di un analizzatore
- 17. Perché Qt ha bisogno di allocare oggetti figlio nell'heap?
- 18. std :: condition_variable perché ha bisogno di uno std :: mutex
- 19. Perché munmap ha bisogno di una lunghezza come parametro?
- 20. Perché removeChild ha bisogno di un nodo genitore?
- 21. Perché VARCHAR ha bisogno di specificare la lunghezza?
- 22. Perché il webpack ha bisogno di un'estensione vuota
- 23. SchemaChange ha bisogno di Reindex
- 24. perché abbiamo bisogno di np.squeeze()?
- 25. condiviso spazio di indirizzamento biblioteca
- 26. Spring MVC and Servlets 3.0 - Hai ancora bisogno di web.xml?
- 27. Il gelsomino ha bisogno di sinon.js?
- 28. Programma collegato staticamente ad una libreria ma ha ancora bisogno di dll per eseguire
- 29. L'operatore C++ 0x T + (const T &, T &&), ha ancora bisogno di muoversi?
- 30. Perché Rust ha bisogno della sintassi `if let`?
Vedere anche le sezioni relative alle delocalizzazioni in ["Come scrivere librerie condivise"] (http://www.akkadia.org/drepper/dsohowto.pdf) di Ulrich Drepper. – Eugene