This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [rfc] Replace x86 register macros
- From: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- To: deuling at de dot ibm dot com (Markus Deuling)
- Cc: gdb-patches at sourceware dot org (GDB Patches), drow at false dot org (Daniel Jacobowitz)
- Date: Tue, 4 Mar 2008 01:31:40 +0100 (CET)
- Subject: Re: [rfc] Replace x86 register macros
Markus Deuling wrote:
> thanks both for your input. I reworked the patch now. Tested on x86 without regressions
> Maybe someone can run a test on amd64 as I don't have such a machine?
I've tested this on amd64-linux with no regressions.
> +#define I387_ST0_REGNUM(tdep) (tdep->st0_regnum)
> +#define I387_NUM_XMM_REGS(tdep) (tdep->num_xmm_regs)
> +#define I387_MM0_REGNUM(tdep) (tdep->mm0_regnum)
You need to put parentheses around "tdep" to protect against
macro evaluation issues ...
> +#define I387_FCTRL_REGNUM(tdep) (I387_ST0_REGNUM(tdep) + 8)
> +#define I387_FSTAT_REGNUM(tdep) (I387_FCTRL_REGNUM(tdep)+ 1)
> +#define I387_FTAG_REGNUM(tdep) (I387_FCTRL_REGNUM(tdep)+ 2)
> +#define I387_FISEG_REGNUM(tdep) (I387_FCTRL_REGNUM(tdep)+ 3)
> +#define I387_FIOFF_REGNUM(tdep) (I387_FCTRL_REGNUM(tdep)+ 4)
> +#define I387_FOSEG_REGNUM(tdep) (I387_FCTRL_REGNUM(tdep)+ 5)
> +#define I387_FOOFF_REGNUM(tdep) (I387_FCTRL_REGNUM(tdep)+ 6)
> +#define I387_FOP_REGNUM(tdep) (I387_FCTRL_REGNUM(tdep)+ 7)
> +#define I387_XMM0_REGNUM(tdep) (I387_ST0_REGNUM(tdep)+ 16)
> +#define I387_MXCSR_REGNUM(tdep) (I387_XMM0_REGNUM(tdep) \
> ++ I387_NUM_XMM_REGS(tdep))
Formatting (whitespace and indentation) is a bit odd here.
Also, you've forgotten to adapt a couple of uses of the I387_
macros in win32-nat.c.
Otherwise, this looks fine to me.
Thanks,
Ulrich
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com