From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cagney To: Kevin Buettner Cc: gdb@sources.redhat.com Subject: Re: How to add core addresses (or LM_ADDR problems revisited) Date: Tue, 02 Oct 2001 19:59:00 -0000 Message-id: <3BBA7ED7.50205@cygnus.com> References: <1011003013114.ZM22147@ocotillo.lan> X-SW-Source: 2001-10/msg00038.html Kevin, This has an interesting interaction with Michael's harvard proposal. A CORE_ADDR, in core-gdb (er ..) could be represented as a ``struct value *'' where TARGET_SPACE_PTR_BIT (src space, dest space) determines the modulo / mask in any computation. However, while their functionality might appear to overlap, I don't think they should be tied together. Looking at the proposal: > CORE_ADDR > core_addr_add (CORE_ADDR addr1, CORE_ADDR addr2) Thinking of C, I suspect two operators are required: CORE_ADDR core_addr_add (CORE_ADDR addr, LONGEST offset); LONGEST core_addr_sub (CORE_ADDR a1, CORE_ADDR a2); Don't forget that the MIPS expects sign extension so that will need to be handled from day one. I suspect core_addr_add() and core_addr_sub() are the things to multi-arch. Any way, yes, I think this is long overdue! Andrew PS: The comment should suggest gdbarch_data() not gdbarch_swap() :-)