From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19406 invoked by alias); 18 Jul 2003 21:19:01 -0000 Mailing-List: contact binutils-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sources.redhat.com Received: (qmail 19398 invoked from network); 18 Jul 2003 21:19:00 -0000 Received: from unknown (HELO mail-in.hq.tensilica.com) (65.205.227.29) by sources.redhat.com with SMTP; 18 Jul 2003 21:19:00 -0000 Received: from egret.hq.tensilica.com (IDENT:x8nMFVT/P20h+i4YjnRm/btwHfc4CNt4@egret.hq.tensilica.com [192.168.11.80]) by mail-in.hq.tensilica.com (8.11.6/8.9.3) with ESMTP id h6ILIx623072; Fri, 18 Jul 2003 14:18:59 -0700 Received: from localhost (localhost [[UNIX: localhost]]) by egret.hq.tensilica.com (8.11.6/8.11.6) id h6ILIxv13404; Fri, 18 Jul 2003 14:18:59 -0700 Content-Type: text/plain; charset="iso-8859-1" From: Bob Wilson Organization: Tensilica, Inc. To: Richard Henderson Subject: Re: [RFC] unify dynamic_symbol_p implementations Date: Fri, 18 Jul 2003 21:19:00 -0000 User-Agent: KMail/1.4.1 Cc: binutils@sources.redhat.com References: <200307181202.40668.bwilson@tensilica.com> <200307181309.14142.bwilson@tensilica.com> <20030718205624.GE5202@redhat.com> In-Reply-To: <20030718205624.GE5202@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-Id: <200307181418.59182.bwilson@tensilica.com> X-SW-Source: 2003-07/txt/msg00362.txt.bz2 Yup, I was missing something :-) Maybe it is still OK, though. It doesn't end up in .rodata. GCC's default_elf_select_rtx_section() function in varasm.c puts it in .data.rel.ro. I had never even heard of this section before, but it seems to exist for something like this case. Help? On Friday 18 July 2003 13:56, Richard Henderson wrote: > On Fri, Jul 18, 2003 at 01:09:14PM -0700, Bob Wilson wrote: > > The R_XTENSA_32 reloc used for the function address turns into an > > R_XTENSA_GLOB_DAT reloc in the executable. The runtime linker > > resolves this reloc at startup. Am I missing something? > > Really? Even with > > extern void foo(void); > static void (* const bar) (void) = foo; > > Doesn't bar wind up in .rodata? And if so, it really shouldn't > have a dynamic relocation against it.