1. You're using Solaris 11 Express and not Solaris 11 GA or even a patched version of Solaris 11. A lot has changed since the Express version and even more since the GA release. You should be testing this on the latest and greatest, otherwise you might as well go with older Linux distros as well.
2. If you're going to use GCC, you can install a newer version from OpenCSW or sunfreeware. Otherwise, you should use the native Solaris Studio compiler and optimize for 64bit.
3. For your libraries, you should do an "apples to apples" comparison which means using the same versions. Again, you can either look on OpenCSW or sunfreeware or you can compile newer versions.
4. Lastly, what is the validity of the benchmarks? Things like Himeno, SciMark, etc. don't exactly simulate real workloads or use cases. Also when you do NAS tests.. is it with NFSv3, NFSv4? If the benchmarks were designed and optimized for Linux, it's not exactly a good comparison. There are plenty of generic benchmarks like filebench, vdbench, iperf, etc. that are more meaningful. If you have the $$, the java and web benchmarks from SPEC are not bad either.