8.3.1 Start-group/End-group Options
The --start-group archives,
--end-group
option marks the start and end of a group of library archives.
The archives
should be a list of library
archive files (.a
extension) or -l
options. The specified archives are searched repeatedly until no new undefined references
are created. Normally, an archive is searched only once in the order that it is specified
on the command line. If a symbol in that archive is needed to resolve an undefined symbol
referred to by an object in an archive that appears later on the command line, the linker
would not be able to resolve that reference. By grouping the archives, they will all be
searched repeatedly until all possible references are resolved. Using this option has a
significant performance cost. It is best to use it only when there are unavoidable circular
references between two or more archives.