linker script

Jun 08, 2005 1 Replies

hi, I am working with linker scripts for the first time.I want to understand the linker script that the tool generates for my code. what does *(.gnu.linkonce.t*) mean? Thanx



.gnu. means it's a GNU extension.

.linkonce. means the linker will collect all sections with the same name, compare the contents, and only include one of each set of matching sections in the output. I.e. if each object had a .gnu.linkonce.text.foo47 and they were all the same, the final executable would only have one copy of it.

The .t* means, essentially, all the text (executable code) sections. .d* would be data, .b* would be bss, etc. The "*" is a wildcard which matches anything.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required