gcl-devel
[Top][All Lists]
Advanced

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

Re: [Gcl-devel] Re: gcl/maxima on hppa


From: LaMont Jones
Subject: Re: [Gcl-devel] Re: gcl/maxima on hppa
Date: Thu, 1 Aug 2002 17:37:43 -0600
User-agent: Mutt/1.3.24i

On Thu, Aug 01, 2002 at 06:48:58PM -0400, Camm Maguire wrote:
> Greetings, and thank you for this!
> At first glance, this appears to solve the gc issue on hppa!  There
> may be a residual difficulty, but I won't be sure until the Debian
> autobuilder finishes compiling the upload I just made.  
> 
> In any case, I would appreciate a version 'which foo can call' as you
> mention below.  

Note that .end marks the end of file for the assembler, so you shouldn't
include that if you're just doing inline assembly...  And the .import
should not be needed if the function you're importing is in the same
file.

As someone pointed out to me, the architecture neutral version 'which foo
can call' is:
    #include <setjmp.h>
        jmp_buf registers;
        setjmp(registers);
and then use that.  But that would trash the application if it uses setjmp.
So....

/* the calling sequence */
struct regs {
        void *callee_saves[16];
};
void hppa_save_regs(struct regs);

/* the code */

        .code
        .export hppa_save_regs, entry
        .proc
        .callinfo
        .label  hppa_save_regs
        .entry

        stw     %r3,0(%arg0)
        stw     %r4,4(%arg0)
        stw     %r5,8(%arg0)
        stw     %r6,12(%arg0)
        stw     %r7,16(%arg0)
        stw     %r8,20(%arg0)
        stw     %r9,24(%arg0)
        stw     %r10,28(%arg0)
        stw     %r11,32(%arg0)
        stw     %r12,36(%arg0)
        stw     %r13,40(%arg0)
        stw     %r14,44(%arg0)
        stw     %r15,48(%arg0)
        stw     %r16,52(%arg0)
        stw     %r17,56(%arg0)
        bv      0(%rp)
        stw     %r18,60(%arg0)

        .exit
        .procend
        .end



reply via email to

[Prev in Thread] Current Thread [Next in Thread]