From: Kai Tietz <Kai.Tietz@onevision.com>
To: Jan Hubicka <hubicka@ucw.cz>
Cc: gcc-patches@gcc.gnu.org
Subject: Re: PING: PING: patch: ICE in legitimize_pic_address for x86_64 mingw target
Date: Wed, 01 Aug 2007 09:03:00 -0000 [thread overview]
Message-ID: <OF5F052C5E.76BC7621-ONC125732A.0030FCD2-C125732A.0031C395@onevision.de> (raw)
In-Reply-To: <20070731213647.GA28848@atrey.karlin.mff.cuni.cz>
Hi Jan,
Jan Hubicka wrote on 31.07.2007 23:36:47:
> > Hi,
> >
> > there is an ICE for __declspec(dllimport) imported variables. The
checking
> > of pic seems to be to early in legitimize_address. The check for
> > TARGET_DLLIMPORT_DECL_ATTRIBUTES should be done infront AFAICS. I
> > bootstraped it for x86_64-pc-mingw32 and i686-pc-mignew32 and it seems
to
> > work fine for me.
> > I tested this patch for i686-pc-cygwin and x86_64-pc-mingw32 and I saw
no
> > regressions.
>
> Hi,
> the patch looks fine, however I think you need to check range of
> CONST_INT operand:
> if (GET_CODE (x) == CONST
> && GET_CODE (XEXP (x, 0)) == PLUS
> && GET_CODE (XEXP (XEXP (x, 0), 0)) == SYMBOL_REF
> && SYMBOL_REF_DLLIMPORT_P (XEXP (XEXP (x, 0), 0)))
>
> so the offset won't end up exceeding 32bit encoding. Does Windows ABI
> guarantee some constant value? (GCC can generate constant offset that
> points off the symbol's object memory area itself when simplifying more
> complex memory references)
AFAIK there are no quaranteed constant values beside the gs/fs-segment
area in the 64-bit ABI of MS.
So I think the case described by you won't occure, but may I missed
something.
The MS ABI defines base relocations 64-bit wide. There is no 32-bit base
relocation for this target. They have to be PC-relative. But this target
defines PC-relative relocations with 8, 32, and 64 bit width. So I don't
expect problems there.
Cheers,
i.A. Kai Tietz
| (\_/) This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| (")_(") world domination.
------------------------------------------------------------------------------------------
OneVision Software Entwicklungs GmbH & Co. KG
Dr.-Leo-Ritter-Straße 9 - 93049 Regensburg
Tel: +49.(0)941.78004.0 - Fax: +49.(0)941.78004.489 - www.OneVision.com
Commerzbank Regensburg - BLZ 750 400 62 - Konto 6011050
Handelsregister: HRA 6744, Amtsgericht Regensburg
Komplementärin: OneVision Software Entwicklungs Verwaltungs GmbH
Dr.-Leo-Ritter-Straße 9 – 93049 Regensburg
Handelsregister: HRB 8932, Amtsgericht Regensburg - Geschäftsführer:
Ulrike Döhler, Manuela Kluger
next prev parent reply other threads:[~2007-08-01 9:03 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-30 11:19 Kai Tietz
2007-07-31 21:44 ` Jan Hubicka
2007-08-01 9:03 ` Kai Tietz [this message]
2007-08-01 10:00 ` Jan Hubicka
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=OF5F052C5E.76BC7621-ONC125732A.0030FCD2-C125732A.0031C395@onevision.de \
--to=kai.tietz@onevision.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=hubicka@ucw.cz \
/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).