This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] 64-bit support for Irix 6


If you mean mips_push_arguments, then that is already part of the
multi-arch vector.

Umm... no it isn't.  I can see why you think it is
(set_gdbarch_push_arguments is called), but the call to
PUSH_ARGUMENTS is still going thru the macro in tm-mips.h.
I think the macro can be yanked.  Not sure why it has remained.

Just don't forget that any changes to that function
should be multi-arch friendly.

So I can use code similar to what is already there
(eg.  "if (tdep->mips_abi == MIPS_ABI_N32)")
rather than splitting the function into variously
mips_n32_push_argument etc.?
Adding ``if (.. == MIPS_ABI_N32)'' wouldn't be multi-arch unfriendly.

However, it would definitly be GDB developer/maintainer unfriendly. The MIPS is held up as an example of how to not implement the push arguments function.

If the MIPS doesn't support your new ABI then I think you are way better off creating a new mips_ABI_push_arguments() function and model its implementation on the Arm. Even cloning mips_push_arguments() and then stripping out all the irrelenvant guff would be better.

That way you would be sure it didn't break any of the other ABIs.

enjoy,
Andrew



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]