9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: David Gordon Hogan <dhog@plan9.bell-labs.com>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] dhog the corruptor!
Date: Tue, 13 Nov 2001 18:04:46 -0500	[thread overview]
Message-ID: <20011113230455.25131199B9@mail.cse.psu.edu> (raw)

[-- Attachment #1: Type: text/plain, Size: 321 bytes --]

Brucee's implementation just patches the call to point to the
correct destination.  You don't have to walk any machine code.
The (modified) linker emits a known call instruction, and relocation
information which says where it is and what symbol to patch
it with.  Symbol lookup is done in a highly controlled way.


[-- Attachment #2: Type: message/rfc822, Size: 2504 bytes --]

From: George Michaelson <ggm@apnic.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] dhog the corruptor!
Date: Wed, 14 Nov 2001 08:59:29 +1000
Message-ID: <24453.1005692369@apnic.net>


One thing I've often wondered about is why dynamic linking methods leave
the indirect call around. I discussed this with a smarter person and he
seemed to think the cost of walking the machinecode to find out the base
call, and write in the binary the direct references was too high.

But surely for inner-loop code, or critical frequent call code, it would
be worth avoiding call(indirect-lookup(real-function-name(args...))) all
the time?

So would a plan9 with dynamic linkage live with stacks of indirection or
does it straight-path to the real code?

cheers
	-George
--
George Michaelson       |  APNIC
Email: ggm@apnic.net    |  PO Box 2131 Milton QLD 4064
Phone: +61 7 3367 0490  |  Australia
  Fax: +61 7 3367 0482  |  http://www.apnic.net


             reply	other threads:[~2001-11-13 23:04 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-13 23:04 David Gordon Hogan [this message]
2001-11-13 23:28 ` Quinn Dunkan
2001-11-13 23:38 ` Chris Hollis-Locke
  -- strict thread matches above, loose matches on Subject: below --
2001-11-14  9:26 forsyth
2001-11-16 11:56 ` Boyd Roberts
2001-11-13 23:54 forsyth
2001-11-13 23:53 David Gordon Hogan
2001-11-13 23:50 David Gordon Hogan
2001-11-14  0:34 ` Quinn Dunkan
2001-11-14  4:46   ` Lucio De Re
2001-11-16 11:52   ` Boyd Roberts
2001-11-13 22:53 anothy
2001-11-13 22:59 ` George Michaelson
2001-11-13 22:32 David Gordon Hogan
2001-11-13 22:09 anothy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20011113230455.25131199B9@mail.cse.psu.edu \
    --to=dhog@plan9.bell-labs.com \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).