All of lore.kernel.org
 help / color / mirror / Atom feed
From: Karl MacMillan <kmacmillan@mentalrootkit.com>
To: Stephen Bennett <spb@gentoo.org>
Cc: Joshua Brindle <jbrindle@tresys.com>,
	selinux@tycho.nsa.gov, Stephen Smalley <sds@tycho.nsa.gov>
Subject: Re: SELinux userspace infrastructure language
Date: Wed, 06 Jun 2007 12:30:01 -0400	[thread overview]
Message-ID: <1181147401.5358.1.camel@localhost.localdomain> (raw)
In-Reply-To: <20070606171904.30916713@maya>

On Wed, 2007-06-06 at 17:19 +0100, Stephen Bennett wrote:
> On Wed, 6 Jun 2007 11:28:04 -0400
> "Joshua Brindle" <jbrindle@tresys.com> wrote:
> 
> > >>> Not certain what you mean - you mean the private variables? You
> > >>> can use the PIMPL idiom - http://www.codepedia.com/1/CppPimpl -
> > >>> but I'm not convinced it's worth the pain. After the care we took
> > >>> to hide implementation in libsepol we didn't really make changes
> > >>> that would have broken in the ABI. 
> > >>> 
> > >> 
> > 
> > How painful is it? The examples on that page don't look too bad, and
> > they claim it reduces compile time (something you've already griped
> > about)
> 
> It's not painful really, even for very small or very large classes. If
> you're using it a lot in a given library it's not too hard to add a few
> templated utility classes to make life somewhat easier either.
> 

Can you give an example of what those templated classes do?

> > So are we going to have to pad it to be able to add stuff later on?
> > Would adding something in the public part shift the private part down
> > in a way that would break the ABI? This worries me a bit, I know QT
> > does padding to handle this but I haven't looked at what they do
> > specifically.
> 
> The public part should consist solely of one or two pointers --one to
> the private implementation part, and possibly one to the vtable if it
> has virtual functions. That sort of ABI is extremely resilient, and
> members (both data and functions) can be added without breaking it.

Hmm - I thought that adding a member function (virtual or non-virtual)
changed the ABI. Is there some technique for addressing that problem?

Karl


--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.

  reply	other threads:[~2007-06-06 16:30 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-31 17:35 SELinux userspace infrastructure language Joshua Brindle
2007-05-31 17:47 ` Karl MacMillan
2007-05-31 17:54   ` Joshua Brindle
2007-05-31 19:31     ` Karl MacMillan
2007-06-04 22:24       ` Karl MacMillan
2007-06-05  0:52         ` Joshua Brindle
2007-06-04 16:49           ` Karl MacMillan
2007-06-05 14:19             ` Stephen Smalley
2007-06-05 15:13               ` Karl MacMillan
2007-06-06 12:42                 ` Stephen Smalley
2007-06-06 14:51                   ` Karl MacMillan
2007-06-05 23:18             ` Joshua Brindle
2007-06-06 14:48               ` Karl MacMillan
2007-06-06 14:59                 ` Joshua Brindle
2007-06-06 15:18                   ` Karl MacMillan
2007-06-06 15:28                     ` Joshua Brindle
2007-06-06 16:19                       ` Stephen Bennett
2007-06-06 16:30                         ` Karl MacMillan [this message]
2007-06-06 17:07                           ` Stephen Bennett
2007-05-31 19:45     ` Stephen Bennett
2007-06-01  4:10       ` James Antill
2007-06-01 11:40         ` Stephen Bennett
2007-06-01 11:47           ` Stephen Bennett
2007-06-01 14:49         ` Karl MacMillan
2007-06-01 15:17           ` Joshua Brindle
2007-06-04 21:30       ` Help with semanage Hasan Rezaul-CHR010
2007-06-04 21:40         ` Stephen Smalley
2007-06-04 22:12           ` Hasan Rezaul-CHR010
2007-06-05 13:07             ` Stephen Smalley
2007-06-05 16:34               ` Hasan Rezaul-CHR010
2007-06-05 17:36                 ` Stephen Smalley
2007-06-05 17:51                   ` Stephen Smalley
2007-05-31 18:00   ` SELinux userspace infrastructure language Chad Sellers
2007-05-31 19:13     ` Karl MacMillan
     [not found]       ` <20070531205635.3b85f72b@maya>
     [not found]         ` <1180641092.22021.30.camel@localhost.localdomain>
     [not found]           ` <1180641428.22021.34.camel@localhost.localdomain>
2007-05-31 20:28             ` Stephen Bennett

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=1181147401.5358.1.camel@localhost.localdomain \
    --to=kmacmillan@mentalrootkit.com \
    --cc=jbrindle@tresys.com \
    --cc=sds@tycho.nsa.gov \
    --cc=selinux@tycho.nsa.gov \
    --cc=spb@gentoo.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.