Forum: Compiler & IDEs Linkerskript: hash? dynsym? ...


von Marcus Else (Gast)


Lesenswert?

Hallo,

im Standard-Linkerskript msp430x149.x sind Sections mit den Namen:

.hash
.dynsym
...
.rel.text
...
.rela.data
...

und ähnliche definiert. Wozu sind die?

Was bedeuten die .stab bzw. was sind stabs?

fragt

Marcus

von nobody0 (Gast)


Lesenswert?

Wenn ich mich richtig erinnere, sind in text die persistenten Variablen,
beispielsweise volatile-Variablen, in data die nicht persistenten
Variablen usw..

von Jörg Wunsch (Gast)


Lesenswert?

Uch, och, nein, `volatile' hat mit Persistenz gar nichts zu tun.

Nach .text und .data hatte Marcus ja auch gar nicht gefragt, die sind
wohl ausreichend in der avr-libc Doku abgedeckt.

Bezüglich all der Dinge über die verschiedenen Debug-Infos habe ich
vor paar Tagen das hier geschrieben:

http://www.avrfreaks.net/phpBB2/viewtopic.php?p=102368#102368

Die gefragten sections wie .hash und .dynstr werden meines Wissens vom
AVR-GCC nicht benutzt.  Vermutlich sind sie durch kopieren eines
Template-Linkerscripts entstanden, da müßtest Du wohl Marek
Michalkiewicz fragen.  Wenn Du Dir die Scripts genau anguckst, da
steht zwar drüber, daß die ins Textsegment gemergt würden, aber weiter
unten wird das Textsegment aus ganz anderen sections zusammengenagelt,
d. h. diese .hash, .dynstr usw. werden effektiv ignoriert.

von Marcus Else (Gast)


Lesenswert?

Hallo Jörg!
Vielen Dank für die Antwort!

"Nach .text und .data hatte Marcus ja auch gar nicht gefragt, die
sind
wohl ausreichend in der avr-libc Doku abgedeckt."

Genau!

"Die gefragten sections wie .hash und .dynstr werden meines Wissens
vom AVR-GCC nicht benutzt."

Bei mir geht es um den MSPGCC, aber ich schätze, daß dort das gleiche
gilt.

Das Linkermapfile scheint an den erwähnten Sections nur eine reine
Abschrift des Linkerskripts zu sein. Es ist dort nicht mit Leben
gefüllt, also ein weiteres Indiz, daß der MSPGCC diese Sections nicht
nutzt.

Viele Grüße
von
Marcus

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.