From: "H.J. Lu" <hjl.tools@gmail.com>
To: Richard Henderson <rth@redhat.com>
Cc: GCC Patches <gcc-patches@gcc.gnu.org>,
Richard Biener <richard.guenther@gmail.com>
Subject: Re: [PATCH v2 13/13] Add hook for modifying debug info for address spaces
Date: Wed, 21 Oct 2015 14:57:00 -0000 [thread overview]
Message-ID: <CAMe9rOq0URCa03gv9rLB=BajgkeTg9vjvb58Cri9t5Vz-mQM2A@mail.gmail.com> (raw)
In-Reply-To: <1445376433-14658-14-git-send-email-rth@redhat.com>
On Tue, Oct 20, 2015 at 2:27 PM, Richard Henderson <rth@redhat.com> wrote:
> ---
> gcc/config/i386/i386.c | 21 +++++++++++++++++++++
> gcc/doc/tm.texi | 7 +++++++
> gcc/doc/tm.texi.in | 2 ++
> gcc/dwarf2out.c | 48 +++++++++++++++++++++++++++++-------------------
> gcc/target.def | 10 ++++++++++
> gcc/targhooks.c | 8 ++++++++
> gcc/targhooks.h | 1 +
> 7 files changed, 78 insertions(+), 19 deletions(-)
>
> diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
> index 8f833d1..9fb0fac 100644
> --- a/gcc/config/i386/i386.c
> +++ b/gcc/config/i386/i386.c
> @@ -53707,6 +53707,27 @@ ix86_addr_space_convert (rtx op, tree from_type, tree to_type)
> #undef TARGET_ADDR_SPACE_CONVERT
> #define TARGET_ADDR_SPACE_CONVERT ix86_addr_space_convert
>
> +static int
> +ix86_addr_space_debug (addr_space_t as)
> +{
> + /* Represent debugging for address spaces with DW_AT_segment,
> + and the dwarf register for fsbase/gsbase. */
> + if (as == ADDR_SPACE_SEG_TLS)
> + as = DEFAULT_TLS_SEG_REG;
> +
> + /* ??? These register numbers are defined in the x86-64 abi,
> + but there is no corresponding definition for the i386 abi.
> + That said, {58,59} appear to be reserved, so perhaps best
> + to use the same numbers in the 32-bit abi. */
> + if (as == ADDR_SPACE_SEG_FS)
> + return ~58; /* dwarf fsbase */
> + else if (as == ADDR_SPACE_SEG_GS)
> + return ~59; /* dwarf gsbase */
> + gcc_unreachable ();
> +}
This is wrong for i386 psABI. Please use the DWARF register
numbers listed in Table 2.14: DWARF Register Number Mapping
in Intel386 psABI:
https://github.com/hjl-tools/x86-psABI/wiki/X86-psABI
Segment Register ES 40 %es
Segment Register CS 41 %cs
Segment Register SS 42 %ss
Segment Register DS 43 %ds
Segment Register FS 44 %fs
Segment Register GS 45 %gs
--
H.J.
next prev parent reply other threads:[~2015-10-21 14:53 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-20 21:27 [PATCH v2 00/13] Address space support for x86 Richard Henderson
2015-10-20 21:28 ` [PATCH v2 06/13] i386: Replace ix86_address_seg with addr_space_t Richard Henderson
2015-10-20 21:28 ` [PATCH v2 02/13] Relax ADDR_SPACE_GENERIC_P checks for default address space hooks Richard Henderson
2015-10-21 14:02 ` Jeff Law
2015-10-21 20:50 ` Richard Henderson
2015-10-20 21:28 ` [PATCH v2 05/13] i386: Add address spaces for fs/gs segments Richard Henderson
2015-10-20 21:28 ` [PATCH v2 01/13] Change default of non-overlapping address space conversion Richard Henderson
2015-10-21 14:03 ` Jeff Law
2015-10-20 21:28 ` [PATCH v2 04/13] i386: Disallow address spaces with string insns Richard Henderson
2015-10-20 21:28 ` [PATCH v2 09/13] Fix PR 66768 Richard Henderson
2015-10-21 13:56 ` Jeff Law
2015-10-21 17:55 ` Richard Henderson
2015-10-20 21:28 ` [PATCH v2 10/13] Avoid CSE of MEMs in different address spaces Richard Henderson
2015-10-21 13:49 ` Jeff Law
2015-10-21 17:12 ` Richard Henderson
2015-10-22 7:48 ` Richard Biener
2015-10-20 21:28 ` [PATCH v2 08/13] Add TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID Richard Henderson
2015-10-21 13:59 ` Jeff Law
2015-10-21 20:51 ` Richard Henderson
2015-10-21 21:29 ` Jeff Law
2015-10-22 3:27 ` Sandra Loosemore
2015-10-22 7:59 ` Richard Biener
2015-10-23 17:08 ` Sandra Loosemore
2015-10-22 19:17 ` Richard Henderson
2015-10-20 21:28 ` [PATCH v2 07/13] i386: Add address space for tls Richard Henderson
2015-10-20 21:28 ` [PATCH v2 12/13] Document the x86 address spaces Richard Henderson
2015-10-22 4:59 ` Sandra Loosemore
2015-10-22 20:30 ` Richard Henderson
2015-10-23 17:16 ` Sandra Loosemore
2015-10-20 21:28 ` [PATCH v2 11/13] Test case for conversion from __seg_tls:0 Richard Henderson
2015-11-09 14:46 ` Richard Biener
2015-11-09 17:55 ` Thomas Schwinge
2015-10-20 21:28 ` [PATCH v2 13/13] Add hook for modifying debug info for address spaces Richard Henderson
2015-10-21 13:55 ` Jeff Law
2015-10-21 14:57 ` H.J. Lu [this message]
2015-10-21 17:23 ` Richard Henderson
2015-10-21 17:25 ` H.J. Lu
2015-10-21 17:51 ` Richard Henderson
2015-10-21 18:36 ` H.J. Lu
2015-10-21 16:22 ` Ulrich Weigand
2015-10-21 19:13 ` Richard Henderson
2015-10-22 14:19 ` Ulrich Weigand
2015-10-20 21:34 ` [PATCH v2 03/13] i386: Handle address spaces in movabs patterns Richard Henderson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAMe9rOq0URCa03gv9rLB=BajgkeTg9vjvb58Cri9t5Vz-mQM2A@mail.gmail.com' \
--to=hjl.tools@gmail.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=richard.guenther@gmail.com \
--cc=rth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).