From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cagney To: Fernando Nasser Cc: gdb-patches@sources.redhat.com, Nick Clifton Subject: Re: RFA: [buildsym.c] Turn off unused addr bits in linetable Date: Thu, 15 Mar 2001 17:58:00 -0000 Message-id: <3AB1733B.FEC3833E@cygnus.com> References: <3AAD70B6.A9C16F36@redhat.com> <3AAE3502.BFFE90D2@cygnus.com> <3AAE5652.8EDD98FA@redhat.com> <3AB15D24.AA6457B9@redhat.com> X-SW-Source: 2001-03/msg00265.html Fernando Nasser wrote: > > Andrew, > > I looked at all the targets that define ADDR_BITS_REMOVE() (which are > arm, h8500, m88k, mips, pa, w65, z8k and sh) and all that define > BREAKPOINT_FROM_PC() (which are arm, mips, mcore and mn10300, as far as > I can tell). > > I am convinced that this is the right thing to do. I really wonder, in > some cases, how could it have worked without it (maybe the stub or the > OS cleared the bits for us). I suspect that it is like the 32 bit MIPS - no one was sure how it should work. Only when the decision that the 32 bit MIPS was have all addresses converted to cannonical form (i.e. sign extend them) did a heap of problems get flushed. I'd lace your patch with comments explaining how the table contains cannonical addresses and those addresses don't contain any stray magic bits. That way the next person will know where the error is when they find a comparison is doing strange things because the addresses don't quite match. > Anyway, there is only one way of knowing it for sure. The only thing we > know right now is that ARM is broken without it. > > OK to commit? I withdraw my objection. I think the maintainer had already approved it. Thanks for investigating this! Andrew PS: A multi-arch footnote (Hi nick :-): At some stage or another, an additional interface into BFD is going to be needed so that GDB can ask BFD what the architecture/machine tupple for a given address is. Details are for much later. This is just a little flag :-)