From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15455 invoked by alias); 21 Feb 2002 08:20:16 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 15314 invoked from network); 21 Feb 2002 08:20:13 -0000 Received: from unknown (HELO potter.sfbay.redhat.com) (209.249.29.60) by sources.redhat.com with SMTP; 21 Feb 2002 08:20:13 -0000 Received: from dot.sfbay.redhat.com (dot.sfbay.redhat.com [205.180.230.224]) by potter.sfbay.redhat.com (8.11.6/8.11.6) with ESMTP id g1L8FIh12874; Thu, 21 Feb 2002 00:15:19 -0800 Received: (from rth@localhost) by dot.sfbay.redhat.com (8.11.6/8.11.6) id g1L8KAH19016; Thu, 21 Feb 2002 00:20:10 -0800 X-Authentication-Warning: dot.sfbay.redhat.com: rth set sender to rth@redhat.com using -f Date: Thu, 21 Feb 2002 00:52:00 -0000 From: Richard Henderson To: John David Anglin Cc: gcc@gcc.gnu.org Subject: Re: Help! DW function pointer encoding for PA Message-ID: <20020221002010.C18952@redhat.com> Mail-Followup-To: Richard Henderson , John David Anglin , gcc@gcc.gnu.org References: <200202210734.g1L7YGvu020317@hiauly1.hia.nrc.ca> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <200202210734.g1L7YGvu020317@hiauly1.hia.nrc.ca>; from dave@hiauly1.hia.nrc.ca on Thu, Feb 21, 2002 at 02:34:16AM -0500 X-SW-Source: 2002-02/txt/msg01184.txt.bz2 On Thu, Feb 21, 2002 at 02:34:16AM -0500, John David Anglin wrote: > When I munge the address in ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX to make it > look like a plabel, then the FDE search fails. ] @findex ASM_PREFERRED_EH_DATA_FORMAT ] @item ASM_PREFERRED_EH_DATA_FORMAT(@var{code}, @var{global}) ] This macro chooses the encoding of pointers embedded in the exception ] handling sections. If at all possible, this should be defined such ] that the exception handling section will not require dynamic relocations, ] and so may be read-only. ] ] @var{code} is 0 for data, 1 for code labels, 2 for function pointers. ] @var{global} is true if the symbol may be affected by dynamic relocations. ] The macro should return a combination of the @code{DW_EH_PE_*} defines ] as found in @file{dwarf2.h}. Note CODE==1 vs CODE==2. You should be able to distinguish your two cases based on this. If absolutely necessary, pass type information from ASM_PREFERRED_EH_DATA_FORMAT to ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX via bits >= 0x100, ie bits that won't appear in the output file. Note that ia64 has the same sort of function descriptor vs FDE code label sorts of issues. r~