binutils221: final solution to start/stop label generation
During discussion on binutils mail list about preserving the
__start_* and __stop_* section labels, Dimitry Andric indicated that
FreeBSD had the same exact issue when they recently upgraded to
binutils 2.17.50. The solution they chose was to declare these section
labels as global symbols, and the stock version of ld will retain them.
This commit implements the FreeBSD solution. Besides the obvious
benefit of having minimalist shared objects, it also "fixes" binutils
2.20 which, until this commit, failed to generate the start/stop section
labels.
Commit
f070647cc5317c4924be4dd60563fc39c18094cf has been reverted to
convert binutils 2.21 to a completely stock ld. Some whitespace cleanup
of linker_set.h was done while modifying __MAKE_SET macro.