GNU GCC, linker --gc-sections Dokumentation?

OP #6915150
Lesenswert?
• ▲
▼
Hi,
Große Verwirrung hier.
Ich habe mir die Compiler/Linker Flags bei meinem STM32CubeIDE 
generierten STM32 ARM Cortex-M4 Projekt mal näher angesehen. Startup 
Datei und Linkerscript werden von ST bereitgestellt. Toolchain: GNU GCC 
mit ARM

Der Linker bekommt u.a. folgendes Flag:
1
-Wl,--gc-sections

Ich würde gerne in der GNU GCC Dokumentation nähere Informationen über 
--gc-sections nachlesen, kann aber die Informationen beim besten Willen 
nicht finden.

Das einzige, was mir Google gibt von der GCC Webseite:
https://gcc.gnu.org/onlinedocs/gnat_ugn/Compilation-options.html

Bezieht sich aber nur auf GNAT?

In der eigentlichen GCC Dokumentation unter den Linkerflags steht nichts 
über gc-sections:
https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html#Link-Options

Zur Info:
Ich verwende das Linkerscript von ST mittel -T Option.


Zu meiner eigentlichen Frage/Verwirrung:
Wieso kann ich auf der GCC Webseite keine Informationen über 
--gc-sections bekommen?

Vielen Dank,
Beitrag #6915296 wurde von einem Moderator gelöscht.
#6915449
Lesenswert?
• ▲
▼
Alex -. schrieb:
> Der Linker bekommt u.a. folgendes Flag:-Wl,--gc-sections
>
> Ich würde gerne in der GNU GCC Dokumentation nähere Informationen über
> --gc-sections nachlesen, kann aber die Informationen beim besten Willen
> nicht finden.

Du hast doch schon rausgefunden, dass es eine Linker-Option ist. Die 
stehen in der Linker-Doku, nicht in der von GCC.
OP #6915459
Lesenswert?
• ▲
▼
@jemand:
Vielen Dank für die Links.

Rolf M. schrieb:
> Du hast doch schon rausgefunden, dass es eine Linker-Option ist. Die
> stehen in der Linker-Doku, nicht in der von GCC.

Und genau deswegen bin ich verwirrt, weil ich bis dato dachte, dass der 
GCC Linker Teil von der GCC Toolchain sei. Entsprechend würde ich 
erwarten, dass die Doku zum Linker ebenfalls auf der GCC Webseite zu 
finden sei.

Mich hat es jedenfalls verwirrt, dass Kapitel 3.15 der GCC Doku auf die 
Link Optionen eingeht, ebenfalls das -Wl Argument erwähnt, aber 
keinerlei die verschiedenen Optionen erwähnt, oder auf ein anderes 
Dokument hinweist (das vom Linker, wo auch immer dieses Dokument zu 
finden ist).
https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html

Die Zusammenhänge muss man erstmal kennen, dann ergeben sie sicherlich 
Sinn :)
#6915485
Lesenswert?
• ▲
▼
Alex -. schrieb:
> Rolf M. schrieb:
>> Du hast doch schon rausgefunden, dass es eine Linker-Option ist. Die
>> stehen in der Linker-Doku, nicht in der von GCC.
>
> Und genau deswegen bin ich verwirrt, weil ich bis dato dachte, dass der
> GCC Linker Teil von der GCC Toolchain sei.

GCC ist nur ein Compiler, keine Toolchain. Und den "GCC Linker" gibt es 
nicht. Compiler und Linker sind Teile der Toolchain, aber eben separate 
Teile.

> Mich hat es jedenfalls verwirrt, dass Kapitel 3.15 der GCC Doku auf die
> Link Optionen eingeht, ebenfalls das -Wl Argument erwähnt, aber
> keinerlei die verschiedenen Optionen erwähnt, oder auf ein anderes
> Dokument hinweist (das vom Linker, wo auch immer dieses Dokument zu
> finden ist).

Die Verwirrung kommt vielleicht daher, dass man den Linker meist nicht 
direkt, sondern über den Compiler aufruft. Die Option -Wl ist eine 
Compiler-Option. Sie sagt dem Compiler: "Gibt alles, was danach kommt, 
an den Linker weiter". Das, was man dort dann angibt, steht aber 
dementsprechend in der Doku des Linkers.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.