httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dean Gaudet <dgau...@arctic.org>
Subject Re: [PATCH] Hide symbols to avoid namespace conflicts (take 2)
Date Tue, 03 Mar 1998 19:39:22 GMT
On Tue, 3 Mar 1998, Ralf S. Engelschall wrote:

> Hmmm... I don't know what 'start' actually is. Seems it is together with 'end'
> one of the standard compiler symbols, because I found them under Solaris, too.
> I've added it to the exclusion list. BUT, nevertheless it doesn't make
> problems or hurts something. Because as long as we do not use this symbol in
> our sources it doesn' hurt is.

A (unix) executable is linked so that:

start
    all your text sections fit here (code)
etext
    all your data sections fit here (statically initialized data)
edata
    all your bss sections fit here (uninitialized data -- zero filled data)
end

If you do "nm foo | sort" you'll see this arrangement.  The same is probably
true on WIN32, it depends on the compiler/linker though.  Naturally shared
text doesn't go in there, it goes elsewhere in the memory map.

One way around all of this is to use nm on each of our .o and .a files,
then you're guaranteed to get only stuff we define rather than stuff
which is put into the executable.

Dean


Mime
View raw message