Following the lead of the Linux code, this patch passes the ld -z options as two separate args on Solaris, improving legibility. For lack of a variadic std::push_back, getAsNeededOption had to be changed to addAsNeededOption, matching other add*Options functions, changing callers accordingly. The additional args are also used in a WIP revision of the Solaris GNU ld patch D85309, which will allow runtime selection of the linker to use.
Tested on amd64-pc-solaris2.11 and x86_64-pc-linux-gnu.