delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1997/01/16/23:57:30

From: jqb AT netcom DOT com (Jim Balter)
Subject: Re: Why is cygwin.dll?
16 Jan 1997 23:57:30 -0800 :
Approved: cygnus DOT gnu-win32 AT cygnus DOT com
Distribution: cygnus
Message-ID: <32DF1A72.A85.cygnus.gnu-win32@netcom.com>
References: <009AE7AE DOT 8D3AAE80 DOT 7373 AT ifk20 DOT mach DOT uni-karlsruhe DOT de>
Mime-Version: 1.0
X-Mailer: Mozilla 3.01Gold (WinNT; I)
Original-To: dahms AT ifk20 DOT mach DOT uni-karlsruhe DOT de
Original-CC: gnu-win32 AT cygnus DOT com
Original-Sender: owner-gnu-win32 AT cygnus DOT com

dahms AT ifk20 DOT mach DOT uni-karlsruhe DOT de wrote:
> 
> Hi, you wrote:
> 
> : Silly me; you and Barry Roberts are of course right to point out the
> : very significant shared memory aspect that I omitted to mention.
> : A staticly linked executable can of course only share among multiple
> : instances of itself; no pages are shared across executables
> : (static library routines won't even be at the same location within a
> : page).  I used to live and breath unix kernel paging code; too much time
> : out of those trenches, I guess :-)
> 
> I'm not sure if my English is good enough to understand whether the last
> remark means "yes" or "no",

Sorry; I get wordy.  I think I meant yes.  Whichever "agree" is . :-)

> since modern unixes (like linux, but also VMS)
> do both sharing and demand paging, but then, you might have worked on one
> of those really old ones 8-)

I think I saw my first unix in '74, but I wasn't writing kernel code
(drivers) 'til 1977, unix V.6 on pdp-11/40 with 28K,
Mashey shell (the one before the Bourne shell), before the invention of
environment variables, before typedef was added to C and a =+ b was
switched around to a += b, the kernel used pointers and ints pretty much
interchangeably without error messages, etc.  Is that really old
enough? :-)

> : Paging brings up an interesting issue: a well-organized shared library
> : can reduce memory usage and paging by localizing functions on the same
> : page that end to call each other.  I don't know how many people bother
> : to do this, or if there are automated tools (there ought to be).
> 
> For analyzing maybe gprof? But I don't know how to force ld to a specific
> order, if possible at all on the various platforms, or even a portable one.

I was thinking something more static, just a call tree.  And I was
assuming that the linker would load modules in the order named.

> Not to mention alignment and cache issues...

I don't see the issue; I'm just talking about the library being
organized in some order better than alphabetical or random.

--
<J Q B>
-
For help on using this list, send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019