This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: 64-bit Solaris and shared libraries
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Anthony Green <green at redhat dot com>
- Cc: binutils at sources dot redhat dot com, gcc at gcc dot gnu dot org
- Date: Sat, 29 Mar 2003 09:27:44 +0100
- Subject: Re: 64-bit Solaris and shared libraries
- References: <1048907231.2638.47.camel@escape>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Fri, Mar 28, 2003 at 07:07:11PM -0800, Anthony Green wrote:
> 64-bit Solaris systems require 0 in e_flags of the ELF header (implying
> RMO code).
0 is TSO.
> gas currently defaults to TSO for sparc64, so you can't use
By default RMO.
> gcc to create a working .so without also using -Wa,-TSO.
>
> Should gas be changed to always default to TSO? Or should GCC pass -TSO
> to the assembler was suggested here:
I think this is what should be done. Add -TSO if no -Wa,-PSO or -Wa,-RMO
is specified on the command line to sparc64-solaris specs.
>
> http://gcc.gnu.org/ml/gcc-bugs/2002-09/msg00742.html
>
> Modifying gas certainly seems like a safe choice.
But unnecessarily punishes all other sparc64 OSes - there is just one
sparc64 gas for Slowlaris, Linux, *BSD, ...
Most of the code out there certainly can work as RMO, and e.g. thread
libraries implementing synchronization primitives has to use membar
anyway so that they do work in all 3 models.
Jakub