Subject: Re: Shared library support for ARM ELF
To: None <port-arm@netbsd.org>
From: Matt Thomas <matt@3am-software.com>
List: port-arm
Date: 07/22/2001 15:03:18
Are there any ABI changes that should be made as we switch to ELF?

Bigger jmp_buf?
any additional routines in libarm32?  Should that be renamed libarm?
Do those routines do the right thing on arm26?

One of the other issues is I want to merge the arm26 and arm32
pcb.h files.  However they are quite different.  There are two ways
of doing this.  1) is to have a struct pcb_arm32 and struct pcb_arm26
and make struct pcb look like:

struct pcb {
	int	pcb_flags;
#define PCB_FMT26		0x0002
	struct trapframe *pcb_tf;
	union {
		struct pcb_arm32 u_32;
		struct pcb_arm26 u_26;
	} pcb_u;
};

followed by a lot of defines like
#define pcb_XX		pcb_u.u_32.pcb32_XX

But that's ugly.

Even better would be to get them shared completely.  But since they
are drastically different, that might be difficult.  arm26 seems to
use its own version of fp_state_t called fpframe.  arm32 uses
fpe_sp_state_t.  Both have different switch frames.

Comments?
--
Matt Thomas               Internet:   matt@3am-software.com
3am Software Foundry      WWW URL:    http://www.3am-software.com/bio/matt/
Cupertino, CA             Disclaimer: I avow all knowledge of this message