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

Bogdan-Constantin Popescu bogdan.popescu0905 at gmail.com
Tue Mar 24 13:52:00 EET 2015


2015-03-24 13:30 GMT+02:00 Adrian Sendroiu <molecula2788 at gmail.com>:
> 2015-03-24 17:33 GMT+08:00 Bogdan-Constantin Popescu via so
> <so at cursuri.cs.pub.ro>:
>> 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
>> _______________________________________________
>> http://ocw.cs.pub.ro/courses/so/info/lista-discutii
>
> Poți modifica linia din Makefile care compilează X.c?

Da.


More information about the so mailing list