2017-09-27 7 views
0

Je travaille sur le lecteur elf, je ne pouvais pas comprendre le but de "sh_addralign" de l'elf doc. il est dit ci-dessousComment utiliser le sh_addralign?

Certaines sections ont des contraintes d'alignement d'adresse. Pour par exemple, si une section contient un double mot, le système doit assurer l'alignement du double mot pour toute la section. C'est-à-dire que la valeur de sh_addr doit être congruente à 0, modulo la valeur de sh_addralign. Actuellement, seulement 0 et les puissances intégrales positives de deux sont autorisées. Les valeurs 0 et 1 signifient que la section n'a aucune contrainte d'alignement. "

Quelqu'un peut-il expliquer s'il vous plaît me avec quelques calcualation? Et pourquoi il est important?

+1

Si vous ne comprenez pas l'utilité de l'alignement (en général) alors peut-être commencer votre recherche là-bas d'abord? Ensuite, son utilisation dans un fichier ELF devrait devenir assez évidente. –

Répondre

0

Je travaille sur le lecteur elfe, je ne pouvais pas comprendre le but de « sh_addralign »

pour un lecteur ELF , sh_addralign ne sert à rien.

Son seul but est de dire l'éditeur de liens (qui écrit ELF) qu'il doit faire en sorte que le contenu de la section soit correctement aligné en mémoire.

+0

J'essaie de manipuler le contenu de relocalisation de .plt.got. cette section a sh_addralign = 3 et sh_entsize = 0, donc j'essaie de comprendre comment sh_addralign fonctionne pour détecter les données du contenu de la section .. merci pour la réponse .. – vigneshbalu