gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] Can't build cvs HEAD (with --enable-ansi)


From: Camm Maguire
Subject: Re: [Gcl-devel] Can't build cvs HEAD (with --enable-ansi)
Date: 29 Sep 2005 22:23:35 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings!

Paul, could you try just removing the declaration for logl from pltd.h
and restarting make from the top directory?  I am going to have to
think of something more robust here.  the issue is that the compiler
can write code directly referencing symbols in external libraries, like
libc and libm, and needs to be able to assign addresses to these
symbols at object module load time.  If the symbol already exists in
the base c code, then the bfd table of the image will have an
appropriate trampoline address.  If not, we need to make sure the
base c code references the symbol by making explicit reference to it
in plt.c, we then hope to either find the symbol in the map file
output by ld, or in the symbol table of the executable.  as there are
no hard and fast rules here, and the behavior has changed on us
before, we are retaining the code to look for the address in several
places like this.  The symbols generated can depend on optimization
level and architecture, and, as we see here, os version.

The question is, can we dispense with the map lookup, which only works
in some instances anyway, chuck plt.c, use instead a static C
reference to the C functions we need, and then hope that this will
always force addresses to be placed in the symbol table of the
executable. 

Take care,
-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]