[so] Plasare funcții din obiect într-o secțiune specifică

Bogdan-Constantin Popescu bogdan.popescu0905 at gmail.com
Tue Mar 24 11:33:59 EET 2015


Salut,

Este posibil să mut o parte din funcțiile din cod într-o secțiune specifică
unui executabil? Dacă da, cum? Eu am încercat (fără succes) să scriu un
script personalizat pentru linker.

Pentru o aplicație compilată cu gcc, am mai multe fișere sursă, printre care
și X.c. Fiecare obiect se compilează din sursa asociată (din X.c obțin X.o),
iar linkerul obține un executabil.

Am nevoie ca 2 funcții din X.c să ajungă într-o secțiune specifică în cadrul
executabilului, să zicem .magic_section. Motivul pentru care vreau asta e
că secțiunea .magic_section va fi încărcată de loader într-o altă zonă
de memorie față de restul secțiunilor.

Problema mea este că nu pot modifica sursa X.c deloc, altfel aș fi folosit
un flag specific precum __attribute__ ((section ("magic_section"))) pentru
funcții și cred că obțineam mai ușor ce doresc.

Am citit câte ceva în documentația pentru linker și am scris un script
personalizat, însă nu am reușit să specific pentru un anumit simbol în ce
secțiune să fie pus, ci doar să mut o secțiune cu totul.

Dacă aveți și alte idei în afară de personalizare pentru linker,
le accept bucuros :)

Bogdan


More information about the so mailing list