AVRGCC porblem linkovani

Martin Locker locker na vosrk.cz
Úterý Květen 13 21:58:16 CEST 2014


Díky za svělé vysvětlení problému.


Alespoň teď chápu co se za tím skrývá-



Martin L.


----- Původní zpráva ----- 
> Odesilatel: "Jan Waclawek" <konfera na efton.sk> 
> Příjemce: HW-news <hw-list na list.hw.cz> 
> Datum: 13/05/2014 21:10 
> Předmět: Re: Re[2]: AVRGCC porblem linkovani 
> 
> Tych problemov veducich k "relocation truncated to fit" je viacero, takze
> sa to blbo gugli. Niektore z nich boli priamo v linkeri, napr.
> https://sourceware.org/bugzilla/show_bug.cgi?id=13410 , tie su uz zvacsa
> fixnute, aj ked Vy zrejme pouzivate starsiu verziu linkera; ale podla
> prejavov tieto nie su Vas problem.
> 
> Vas problem ma hlbsie, a takmer neodstranitelne korene
> (http://savannah.nongnu.org/bugs/?func=detailitem&item_id=33698) : v
> knizniciach projektu avr-libc, kam patri aj libm, sa rozsiahlo pouziva
> explicitne rjmp/rcall na volanie/skakanie na ine funkcie v ramci tej istej
> kniznice. Tieto instrukcie "nedociahnu" mimo rozsah +-4kB. To by nevadilo,
> kedze kniznica je mensia ako 4kB, kebyze sa nemohlo stat niekolko veci:
> 
> - za urcitych okolnosti linker volne poprehadzuje funkcie a premiesa ich aj
> s funkciami z inych kniznic resp. s uzivatelskymi funkciami; toto suvisi s
> individualnymi sections pre jednotlive funkcie a nie je to Vas pripad
> 
> - linkeru nevadi existencia viacerych funkcii s rovnakym menom a pouzije
> prvu, na ktoru narazi, a ak sa pred kniznicou linkuje nejaka ina kniznica,
> ktora obsahuje funkciu s rovnakym menom ako je ciel rjmp/rcall, tento sa
> linkuje na tuto "cudziu" funkciu ktora moze byt "pridaleko". Toto je prave
> Vas pripad - avr-g++ sa pokusa linkovat stdlib++, ktory vsak pre avr
> neexistuje, a je z nie prilis pochopitelnych dovodov nahradzana libgcc (to
> je vstavana kniznica do gcc), v ktorom sa prave nachadzaju
> neoptimalizovane verzie niektorych funkcii, ktore su v libm (uloha libm je
> prave ta, "prebit" tie neoptimalne "defaultne" implementacie z libgcc).
> 
> >Díky za pomoc, i kdy¾ samotný parametr -lm nepomohl. Na nìjakém foru jsem dohledal, ¾e je nutné je¹tì pou¾ít
> >avr-gcc místo avr-g++.
> 
> avr-gcc linkuje ako prve kniznice, ktore su mu explicitne predpisane, preto
> to pomohlo. Sice len symptomaticky (lebo hore popisana pricina ostava),
> ale splna to ucel - funkcny program... ;-)
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=28718
> ("zabudovany", ale tiez symptomaticky fix je v
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54461 )
> 
> wek
> 
> 
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list





Další informace o konferenci Hw-list