Micsoda mintaszerű hibabejelentés, le a kalappal! Így kéne mindenkinek hibát bejelenteni.
Ettől függetlenül, a bugoddal kapcsolatban: biztos vagy benne, hogy rossz a végeredmény? Nem vagyok jártas az MSP430 architektúrában, de az ELF-nél előfordulhat, hogy az offszet már magában az utasításban van, ilyenkor teljesen normális, ha a RELA addendje 0. Legalábbis i386-on egész biztos futottam ilyenbe bele, anyáztam is, hogy egyszer az utasításban 0 van, az addendben meg az offszet, máskor meg az utasításban az offszet és az addendben 0. Ha jól emlékszem, akkor ott attól függött, hogy a GOT-ba miként került bele (ha publikus volt, akkor nem volt addend, mert a run-time linker dolga volt olyankor a relokálás, egyébként ha statikus, akkor meg volt addend, ha jól emlékszem. Mindesetre csak shared PIC esetén jött elő, ha volt PLT rekord is hozzá, egyébként az egész kérdéskör elő sem jött, erre biztosan emlékszem.)
Nekem egyébként nincs jó tapasztalatom a GNU fejlesztőkkel, egyszer egy olyan bugot jelentettem be, hogy inline esetén kioptimalizált valamit akkor is, ha volatile-nak volt megadva a változója. Sokáig ment a levelezés azon, hogy melyik kategóriába kéne rakni a bugot, míg végül nem lett az egészből semmi, inkább kézzel átmásoltam a kódot oda, ahová inline-olnia kellett volna a fordítónak (egyébként ez volt az, ssfn_utf8 hívás esetén nem léptette a pointert).
Ezzel szemben a Clang fejlesztőivel iszonyat jó tapasztalatom volt. Ott én is hasonló linker bugba futottam bele (ha jól rémlik, mindenképp szétszedte az adat és a kód relokációt külön szekciókba, és az istennek se akarta egybre rakni, pedig Solaris alatt olyan ELF kell, emiben egyben van a kétfajta relokáció. Valami ilyesmi volt.) Kicsit értetlenkedtek ott is, de amikor belinkeltem a Sun-os ELF doksit, azonnal javították.