Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Apr 2001 09:44:36 -0700 (PDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Doug Rabson <dfr@nlsystems.com>
Cc:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   RE: cvs commit: src/sys/ia64/ia64 vm_machdep.c
Message-ID:  <XFMail.010419094436.jhb@FreeBSD.org>
In-Reply-To: <Pine.BSF.4.33.0104191702380.91843-100000@herring.nlsystems.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On 19-Apr-01 Doug Rabson wrote:
> On Thu, 19 Apr 2001, John Baldwin wrote:
> 
>>
>> On 19-Apr-01 Doug Rabson wrote:
>> > dfr         2001/04/19 05:35:48 PDT
>> >
>> >   Modified files:
>> >     sys/ia64/ia64        vm_machdep.c
>> >   Log:
>> >   Don't unwrap the function descriptor used as the callout argument to
>> >   fork_exit(). The MI version of fork_exit() needs a real function
>> >   descriptor, not a simple function pointer.
>>
>> Oh, whoops.  Looks like I need to read up on ia64 calling conventions some
>> more
>> before doing low-level ia64 hacking in the future.  Does fork_trampoline()
>> actually work right?
> 
> It does now. Basically 'function pointers' on ia64 are actually pointers
> to a little two-element structure with the real function pointer and a
> value for 'gp'. This allows shared libraries/kernel modules to have their
> own global object table.
> 
> With a slight adjustment to imgact_elf.c to fall back to the right ABI, I
> can get to single user mode again.

Very, very cool!  Now it's time to get signal handling working. :)  It would
also be nice if we could get an updated toolchain so we don't need the ELFABI
hack as well.

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.010419094436.jhb>