This is the mail archive of the 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]

[RFC] Linux-specific ppc32 ABI


GDB currently handles stack frame creation when calling inferior
functions for SYSV/ppc32 through the ppc_sysv_abi_push_dummy_call(...)
method. GDB on Linux/ppc32 relies on this function as well since it
doesn't have an explicit implementation in ppc-linux-tdep.c.

The problem is that the implementation for
ppc_sysv_abi_push_dummy_call(...) has a problem that needs to be fixed,
related to the size of float parameters that are meant to be stored in
the stack during parameter passing in a function.

The question is, would it be safe to assume that SYSV would comply with
Linux ABI's especifications for ppc32, so it would only be necessary to
change the SYSV implementation, or would it be a better idea to just
write new Linux-specific code in ppc-linux-tdep.c?

The only difference between these two functions would be the fix for
float parameter passing through the stack and the place they're located:
"ppc-linux-tdep.c" vs "ppc-sysv-tdep.c".

I presume it's better to just write new Linux-specific code in case we
need to treat those ABI's differently in the future.

What do you think?

Luis Machado
Software Engineer 
IBM Linux Technology Center

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