<p>I picked the same name as in the <code>ld -r</code> PR but may need to be adapted and documentation adapted to work more with <code>whole-archive</code> only.<br>
It is one of the reason to split it out to focus on this discussion only without the other issues :)</p>
<p>It should point to archives that must be linked as "libraries" without <code>--whole-archive</code>.<br>
There are modules which are real libraries that cannot be linked by considering all objects.</p>
<p>The issue is that the documentation does not name them but only describe a usage:</p>
<pre><code>      --whole-archive
           For each archive mentioned on the command line after the --whole-archive option, include every object file in the archive in
           the link, rather than searching the archive for the required object files.  This is normally used to turn an archive file into
           a shared library, forcing every object to be included in the resulting shared library.  This option may be used more than
           once.

           Two notes when using this option from gcc: First, gcc doesn't know about this option, so you have to use -Wl,-whole-archive.
           Second, don't forget to use -Wl,-no-whole-archive after your list of archives, because gcc will add its own list of archives
           to your link and you may not want this flag to affect those as well.
</code></pre>
<p>All help on naming these with references is welcome.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/RIOT-OS/RIOT/pull/11111#issuecomment-471545364">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AEn7YCRNHLiq9h1XOokK7D-GdEnndWuXks5vVl7cgaJpZM4be_fV">mute the thread</a>.<img src="https://github.com/notifications/beacon/AEn7YCpLn3OE7DfELaAA0h0VntWu0JWLks5vVl7cgaJpZM4be_fV.gif" height="1" width="1" alt="" /></p>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/RIOT-OS/RIOT","title":"RIOT-OS/RIOT","subtitle":"GitHub repository","main_image_url":"https://github.githubassets.com/images/email/message_cards/header.png","avatar_image_url":"https://github.githubassets.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/RIOT-OS/RIOT"}},"updates":{"snippets":[{"icon":"PERSON","message":"@cladmi in #11111: I picked the same name as in the `ld -r` PR but may need to be adapted and documentation adapted to work more with `whole-archive` only.\r\nIt is one of the reason to split it out to focus on this discussion only without the other issues :)\r\n\r\nIt should point to archives that must be linked as \"libraries\" without `--whole-archive`.\r\nThere are modules which are real libraries that cannot be linked by considering all objects.\r\n\r\nThe issue is that the documentation does not name them but only describe a usage:\r\n\r\n```\r\n      --whole-archive\r\n           For each archive mentioned on the command line after the --whole-archive option, include every object file in the archive in\r\n           the link, rather than searching the archive for the required object files.  This is normally used to turn an archive file into\r\n           a shared library, forcing every object to be included in the resulting shared library.  This option may be used more than\r\n           once.\r\n\r\n           Two notes when using this option from gcc: First, gcc doesn't know about this option, so you have to use -Wl,-whole-archive.\r\n           Second, don't forget to use -Wl,-no-whole-archive after your list of archives, because gcc will add its own list of archives\r\n           to your link and you may not want this flag to affect those as well.\r\n```\r\n\r\nAll help on naming these with references is welcome."}],"action":{"name":"View Pull Request","url":"https://github.com/RIOT-OS/RIOT/pull/11111#issuecomment-471545364"}}}</script>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/RIOT-OS/RIOT/pull/11111#issuecomment-471545364",
"url": "https://github.com/RIOT-OS/RIOT/pull/11111#issuecomment-471545364",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>