Existe-t-il un moyen de forcer la section de code de lieu gcc
ou ld
à la fin du fichier au format ELF de sortie? Peut-être que je peux les forcer à ne produire aucune autre section sauf .text
si, par exemple, je n'ai rien dans .data, .rodata, .bss
et d'autres sections?Permuter les sections dans ELF
2
A
Répondre
0
La version minimale du script qui a fonctionné pour moi ressemblait à:
ENTRY(_start)
SECTIONS
{
.data : { *(.data) }
.bss : { *(.bss) *(COMMON) }
.text : { *(.text) }
}
Mais après que je l'ai fait quelques recherches (docs here) J'ai remplacé par ce script par défaut (ld --verbose
). Ensuite, je viens de placer la section de code à la toute fin du script verbeux et cela a parfaitement fonctionné.
Vous pouvez faire n'importe quoi en écrivant un script de liaison personnalisé * * Lisez le manuel pour plus de détails. – fuz
Comme dit Fuz avec des scripts de linker. Je serais curieux de connaître la situation particulière que vous avez où vous voulez faire cela? –
@MichaelPetch Je veux ajouter du code juste après la section de code d'ELF. C'est juste une architecture d'application spécifique qui génère un code d'opération mais ne peut pas l'assembler par elle-même, elle a donc besoin d'un ELF pré-compilé, et s'y attache ensuite. Merci pour la réponse d'ailleurs! –