Port-alpha archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: static link csh/tcsh dumps core

On Sat, 09 Mar 2013 15:08:25 +0100, Martin Husemann wrote:

> I looked at the uLibc source and it does not store/restore register 29
> (aka $gp). All documents describing the register set I found claim
> it would not be preserved accross function calls - which is kind of
> natural for its intended usage.
> Still sounds like a gcc bug to me.
> Martin

I found this in section 2.3.1 of 
"Digital UNIX Calling Standard for Alpha Systems"
Part Number: AA-PY8AC-TE

$29    Global pointer (GP) register. For a standard-conforming procedure, 
       this register must contain the calling procedure's global offset table 
       (GOT) segment pointer value at the time of a call and must contain 
       the calling procedure's GOT segment pointer value or the called 
       procedure's GOT segment pointer value upon return. This register 
       must be treated as scratch by the calling procedure. (See Section 
       2.5 and Section 3.2.2 for details.) 

There is a lot more useful info in that document, if you are writing
assembly code you definitely need to download it.


Home | Main Index | Thread Index | Old Index