From: Mark Kettenis <mark.kettenis@xs4all.nl>
To: drow@false.org
Cc: dits365@gmail.com, gdb@sources.redhat.com
Subject: Re: What exactly does "info sharedlibrary" command show?
Date: Tue, 29 Aug 2006 21:08:00 -0000 [thread overview]
Message-ID: <200608292107.k7TL7tab029171@elgar.sibelius.xs4all.nl> (raw)
In-Reply-To: <20060829201206.GA28907@nevyn.them.org> (message from Daniel Jacobowitz on Tue, 29 Aug 2006 16:12:06 -0400)
> Date: Tue, 29 Aug 2006 16:12:06 -0400
> From: Daniel Jacobowitz <drow@false.org>
>
> Right. As I said, I knew that there were systems where you were
> limited to the first segment for this purpose, though I didn't know W^X
> used this.
We play tricks we the i386's segment registers to accomplish this. We
set up a segment descriptor for %cs that doesn't map the complete
virtual address space. Then we have to make sure that all executable
segments fall into the region covered by that segment descriptor and
all writable sections are outside that region.
> > > Right now we say it occupies 0x00002aaaaabdf2d0 to 0x00002aaaaacc1a10.
> >
> > I like this though, since I mostly search the list for code addresses.
>
> Really? Even if I'm searching for code addresses, I dislike this,
> because it has more noise and fewer significant bits.
>
> Given this I have a hard time finding anything visually:
>
> 0x00002aaaaabd6910 0x00002aaaaabf1e58 Yes /lib/libreadline.so.5
> 0x00002aaaaad20ef0 0x00002aaaaad43cc8 Yes /usr/lib/libncurses.so.5
> 0x00002aaaaae61dd0 0x00002aaaaaea22b8 Yes /lib/libm.so.6
> 0x00002aaaaafe2000 0x00002aaaaafe2978 Yes /lib/libdl.so.2
> 0x00002aaaab1002d0 0x00002aaaab1e2a10 Yes /lib/libc.so.6
> 0x00002aaaaaaaba80 0x00002aaaaaabc857 Yes /lib64/ld-linux-x86-64.so.2
> 0x00002aaaab50a8e0 0x00002aaaab50dce8 Yes /lib/libthread_db.so.1
>
> I find this much easier:
>
> 0x00002aaaaabd6000 0x00002aaaaabf2000 Yes /lib/libreadline.so.5
> 0x00002aaaaad20000 0x00002aaaaad44000 Yes /usr/lib/libncurses.so.5
> 0x00002aaaaae61000 0x00002aaaaaea3000 Yes /lib/libm.so.6
> 0x00002aaaaafe2000 0x00002aaaaafe3000 Yes /lib/libdl.so.2
> 0x00002aaaab100000 0x00002aaaab1e3000 Yes /lib/libc.so.6
> 0x00002aaaaaaab000 0x00002aaaaaabd000 Yes /lib64/ld-linux-x86-64.so.2
> 0x00002aaaab50a000 0x00002aaaab50e000 Yes /lib/libthread_db.so.1
Yup, if you can guarantee that the first segment indeed includes all
the .text code, the latter is much better.
> But, it's not a big deal. If you actually prefer the way it is now,
> I guess I'll leave it alone after all.
>
> > True. Somehow we should make the load address of a shared library
> > available.
>
> Should we use segments in "info files" when available?
Not sure. For me, the sections are much more useful, and the segments
wouldn't really add much information.
next prev parent reply other threads:[~2006-08-29 21:08 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-29 12:03 chen free
2006-08-29 12:40 ` Daniel Jacobowitz
2006-08-29 19:15 ` Mark Kettenis
2006-08-29 19:28 ` Daniel Jacobowitz
2006-08-29 20:06 ` Mark Kettenis
2006-08-29 20:12 ` Daniel Jacobowitz
2006-08-29 21:05 ` Steve Eaton
2006-08-29 21:17 ` Daniel Jacobowitz
2006-08-29 21:08 ` Mark Kettenis [this message]
2006-08-29 21:24 ` Daniel Jacobowitz
2006-08-30 5:22 ` chen free
2006-08-30 12:39 ` Daniel Jacobowitz
2006-08-30 13:24 ` chen free
2006-08-29 12:47 ` Frederic RISS
2006-08-29 13:00 ` chen free
2006-08-29 13:20 ` Frederic RISS
2006-08-29 13:36 ` chen free
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=200608292107.k7TL7tab029171@elgar.sibelius.xs4all.nl \
--to=mark.kettenis@xs4all.nl \
--cc=dits365@gmail.com \
--cc=drow@false.org \
--cc=gdb@sources.redhat.com \
/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