www.mikrocontroller.net

Forum: Compiler & IDEs ld: could not find output section .bss...


Autor: Martin #### (martin-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.
Ich versuche gerade etwas mit avr-gcc zu compilieren.
Ich bekomme jedoch folgende Fehlermeldung:
could not find output section .bss for input section .bss

und:
final link failed: Nonrepresentable section on output

Diese Meldungen wirft linker ld raus.
Kann mir jemand vielleicht sagen was das bedeutet ?

Wäre sehr dankbar  für die Antwort auf diese Frage.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Reich' uns mal bitte die Kommandozeilen von Compiler und Linker
nach, die du benutzt hast.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche GCC Version benutzt du? Wie sieht das Linker Control Script
(*.ld) aus und hast du eventuell eine leere .data Section vor der .bss
section und ein Alignment-Problem? Ein Stück Minimalprogrammcode bei
dem das Problem auftritt, wäre auch nicht schlecht.

Autor: Martin #### (martin-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also Kommandozeilen sehen wie folgt aus:

/*hier keine probleme*/
avr-gcc -Wall -mmcu=atmega16 -Os -c bsp1.c
/*hier die besagte Fehlermeldung*/
avr-gcc -Wall -mmcu=atmega16 -o bsp1.out -Wl,-Map,bsp1.map bsp1.o

/*Noch mal ganze Fehlermeldung*/
/opt/cross/lib64/gcc/avr/4.0.2/../../../../avr/bin/ld: bsp1.out: could
not find output section .bss for input section .bss

/opt/cross/lib64/gcc/avr/4.0.2/../../../../avr/bin/ld: final link
failed: Nonrepresentable section on output

make: *** [bsp1.out] Fehler 1

Autor: Martin #### (martin-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Welche GCC Version
4.0.2
>>>Wie sieht das Linker Control Script (*.ld)
Tut mir leid, ich habe keine sollche Datei, die irgendwie so heisst
(*.ld)

>>hast du eventuell eine leere .data Section vor der .bss
section und ein Alignment-Problem?
Oh, tut mir leid aber jetzt verstehe kein Wort. Ich wusste nicht das
ich eine .data Section habe uns chon gar nicht ob sie leer ist oder
nicht.
Ich weiss leider nicht was ein Alignment-Problem ist, also ich weiss es
nicht ob ich ihn habe.

>>Ein Stück Minimalprogrammcode
int main()
{

    return 0;
}
Schon bei solchem code tritt der Fehler auf.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, die haben bei AVR andere Endungen *.x* und stehen im zentralen
avr/lib/ldscripts Verzeichnis. Ich denke nicht, dass dann du dort eine
Abweichung zur Standardinstallation hast. Das Alignment-Problem bei
leeren Sections habe ich wahrscheinlich falsch vom WinARM her im
Hinterkopf. Es wäre interessant, ob dies bei deinem avr-gcc normal
funktioniert:
const int dummyData = 1234;  // dummyData in .data anlegen
int dummyBss;                // dummyBss in .bss (.comm) anlegen

int main()
{
  return 0;
}

Du benutzt den avr-gcc unter Linux?

Es gibt ähnliche Fehlerberichte im AVRFreaks AVR GCC Forum:
http://www.avrfreaks.net/index.php?name=PNphpBB2&f...

Das Problem dort konnte von den zwei Betroffenen durch eine
Neuinstallation aus einer aktuelleren Distribution behoben werden.

Autor: Martin #### (martin-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antwort Stefan

Die *.x* Dateien sind da wo sie sein sollen, aber ob sie auch korrekt
sind?
>>Es wäre interessant ob dies bei deinem avr-gcc..
Also inzwischen habe ich avr-gcc aus den Quellen kompiliert (quellen
von 3.4.2 hatte ich noch auf der Festplatte).
Diese Version hat damit kein Problem (scheint so jedenfalls, hex-Datei
wird erstellt, und es gibt keine Warnungen)
>>Du benutzt den avr-gcc unter Linux?
Ja.
Es ist also einfach so, dass es mit der Installation was nicht stimmt.
Bei mir war es genau das gleiche Problem wie unter dem Link
beschrieben. Ich habe halt ein paar Monate nichts mit AVRs gemacht,
heute wollte ich mir auf die schnelle avr-gcc instalieren. Habe mir
schnell Packete zusammengesucht und installiert, aber ausgerechnet die
Kaputten.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube mich zu erinnern, dass das ein Problem mit GCC 4.0.x
sein könnte.  Wenn du einen 4.xer nehmen willst, nimm 4.1.x, die
tun ordentlich.

Autor: Martin #### (martin-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja kann schon sein, bei neueren Packete mit avr-gcc-4.1.2, die ich
gerade installiert habe, scheint alles in Ordnung zu sein.
Danke für die Antworten.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.